@docusaurus/theme-classic 2.0.0-beta.15d451942 → 2.0.0-beta.18

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 (488) hide show
  1. package/README.md +2 -2
  2. package/lib/admonitions.css +35 -0
  3. package/lib/deps.d.ts +13 -0
  4. package/lib/getSwizzleConfig.js +236 -0
  5. package/lib/index.js +63 -52
  6. package/lib/prism-include-languages.js +9 -5
  7. package/lib/theme-classic.d.ts +997 -0
  8. package/lib/translations.js +52 -36
  9. package/lib/types.d.ts +0 -589
  10. package/lib/validateThemeConfig.js +242 -250
  11. package/lib-next/theme/Admonition/index.js +101 -0
  12. package/lib-next/theme/AnnouncementBar/index.js +10 -22
  13. package/lib-next/theme/AnnouncementBar/styles.module.css +26 -35
  14. package/lib-next/theme/BackToTopButton/index.js +129 -0
  15. package/lib-next/theme/BackToTopButton/styles.module.css +44 -0
  16. package/lib-next/theme/BlogArchivePage/index.js +84 -0
  17. package/lib-next/theme/BlogLayout/index.js +37 -0
  18. package/lib-next/theme/BlogListPage/index.js +45 -35
  19. package/lib-next/theme/BlogListPaginator/index.js +13 -16
  20. package/lib-next/theme/BlogPostAuthor/index.js +52 -0
  21. package/lib-next/theme/BlogPostAuthor/styles.module.css +12 -0
  22. package/lib-next/theme/BlogPostAuthors/index.js +44 -0
  23. package/lib-next/theme/BlogPostAuthors/styles.module.css +21 -0
  24. package/lib-next/theme/BlogPostItem/index.js +112 -97
  25. package/lib-next/theme/BlogPostItem/styles.module.css +5 -1
  26. package/lib-next/theme/BlogPostPage/index.js +84 -41
  27. package/lib-next/theme/BlogPostPaginator/index.js +13 -20
  28. package/lib-next/theme/BlogSidebar/index.js +23 -16
  29. package/lib-next/theme/BlogSidebar/styles.module.css +8 -8
  30. package/lib-next/theme/BlogTagsListPage/index.js +24 -70
  31. package/lib-next/theme/BlogTagsPostsPage/index.js +57 -62
  32. package/lib-next/theme/CodeBlock/CopyButton/index.js +60 -0
  33. package/lib-next/theme/CodeBlock/CopyButton/styles.module.css +66 -0
  34. package/lib-next/theme/CodeBlock/index.js +74 -195
  35. package/lib-next/theme/CodeBlock/styles.module.css +13 -28
  36. package/lib-next/theme/ColorModeToggle/index.js +62 -0
  37. package/lib-next/theme/ColorModeToggle/styles.module.css +35 -0
  38. package/lib-next/theme/Details/index.js +21 -0
  39. package/lib-next/theme/Details/styles.module.css +13 -0
  40. package/lib-next/theme/DocBreadcrumbs/index.js +93 -0
  41. package/{lib/theme/Heading → lib-next/theme/DocBreadcrumbs}/styles.module.css +3 -2
  42. package/lib-next/theme/DocCard/index.js +93 -0
  43. package/lib-next/theme/DocCard/styles.module.css +34 -0
  44. package/lib-next/theme/DocCardList/index.js +31 -0
  45. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +75 -0
  46. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  47. package/lib-next/theme/DocItem/index.js +99 -86
  48. package/lib-next/theme/DocItem/styles.module.css +7 -13
  49. package/lib-next/theme/DocItemFooter/index.js +79 -0
  50. package/{lib/theme/Layout/styles.css → lib-next/theme/DocItemFooter/styles.module.css} +8 -11
  51. package/lib-next/theme/DocPage/index.js +124 -99
  52. package/lib-next/theme/DocPage/styles.module.css +14 -30
  53. package/lib-next/theme/DocPaginator/index.js +16 -25
  54. package/lib-next/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
  55. package/lib-next/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +44 -0
  56. package/lib-next/theme/DocSidebar/Desktop/Content/index.js +46 -0
  57. package/{lib/theme/Footer → lib-next/theme/DocSidebar/Desktop/Content}/styles.module.css +8 -6
  58. package/lib-next/theme/DocSidebar/Desktop/index.js +34 -0
  59. package/lib-next/theme/DocSidebar/Desktop/styles.module.css +50 -0
  60. package/lib-next/theme/DocSidebar/Mobile/index.js +49 -0
  61. package/lib-next/theme/DocSidebar/index.js +13 -333
  62. package/lib-next/theme/DocSidebarItem/index.js +265 -0
  63. package/lib-next/theme/DocSidebarItem/styles.module.css +17 -0
  64. package/lib-next/theme/DocSidebarItems/index.js +28 -0
  65. package/lib-next/theme/DocTagDocListPage/index.js +96 -0
  66. package/lib-next/theme/DocTagsListPage/index.js +40 -0
  67. package/lib-next/theme/DocVersionBadge/index.js +34 -0
  68. package/lib-next/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +54 -36
  69. package/lib-next/theme/EditThisPage/index.js +6 -1
  70. package/lib-next/theme/ErrorPageContent.js +35 -0
  71. package/lib-next/theme/Footer/Copyright/index.js +18 -0
  72. package/lib-next/theme/Footer/Layout/index.js +26 -0
  73. package/lib-next/theme/Footer/LinkItem/index.js +33 -0
  74. package/lib-next/theme/Footer/Links/MultiColumn/index.js +47 -0
  75. package/lib-next/theme/Footer/Links/Simple/index.js +41 -0
  76. package/lib-next/theme/Footer/Links/index.js +17 -0
  77. package/lib-next/theme/Footer/Logo/index.js +38 -0
  78. package/{src/theme/Footer → lib-next/theme/Footer/Logo}/styles.module.css +2 -1
  79. package/lib-next/theme/Footer/index.js +12 -100
  80. package/lib-next/theme/Heading/index.js +42 -33
  81. package/lib-next/theme/Heading/styles.module.css +27 -2
  82. package/lib-next/theme/IconArrow/index.js +3 -6
  83. package/lib-next/theme/IconClose/index.js +23 -0
  84. package/lib-next/theme/IconDarkMode/index.js +17 -0
  85. package/lib-next/theme/IconEdit/index.js +5 -10
  86. package/lib-next/theme/IconExternalLink/index.js +23 -0
  87. package/lib-next/theme/{LastUpdated → IconExternalLink}/styles.module.css +2 -2
  88. package/lib-next/theme/IconLanguage/index.js +5 -8
  89. package/lib-next/theme/IconLightMode/index.js +17 -0
  90. package/lib-next/theme/IconMenu/index.js +8 -9
  91. package/lib-next/theme/LastUpdated/index.js +35 -39
  92. package/lib-next/theme/Layout/index.js +19 -16
  93. package/lib-next/theme/Layout/styles.css +6 -0
  94. package/lib-next/theme/LayoutProviders/index.js +22 -10
  95. package/lib-next/theme/Logo/index.js +21 -16
  96. package/lib-next/theme/{ThemeContext.js → MDXComponents/A.js} +4 -2
  97. package/lib-next/theme/MDXComponents/Code.js +28 -0
  98. package/lib-next/theme/MDXComponents/Details.js +20 -0
  99. package/lib-next/theme/MDXComponents/Head.js +26 -0
  100. package/lib-next/theme/{hooks/styles.css → MDXComponents/Heading.js} +4 -3
  101. package/lib-next/theme/MDXComponents/Img.js +24 -0
  102. package/{lib/theme/LastUpdated/styles.module.css → lib-next/theme/MDXComponents/Img.module.css} +2 -2
  103. package/lib-next/theme/MDXComponents/Pre.js +18 -0
  104. package/lib-next/theme/MDXComponents/Ul.js +23 -0
  105. package/lib-next/theme/MDXComponents/Ul.module.css +11 -0
  106. package/lib-next/theme/MDXComponents/index.js +22 -42
  107. package/lib-next/theme/MDXContent/index.js +12 -0
  108. package/lib-next/theme/MDXPage/index.js +38 -39
  109. package/{lib/theme/IconEdit → lib-next/theme/MDXPage}/styles.module.css +2 -3
  110. package/lib-next/theme/Navbar/ColorModeToggle/index.js +25 -0
  111. package/lib-next/theme/Navbar/Content/index.js +70 -0
  112. package/lib-next/theme/Navbar/Content/styles.module.css +15 -0
  113. package/lib-next/theme/Navbar/Layout/index.js +54 -0
  114. package/{src/theme/Navbar → lib-next/theme/Navbar/Layout}/styles.module.css +1 -7
  115. package/lib-next/theme/Navbar/Logo/index.js +17 -0
  116. package/lib-next/theme/Navbar/MobileSidebar/Header/index.js +33 -0
  117. package/lib-next/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
  118. package/lib-next/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
  119. package/lib-next/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
  120. package/lib-next/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
  121. package/lib-next/theme/Navbar/MobileSidebar/index.js +31 -0
  122. package/lib-next/theme/Navbar/index.js +7 -137
  123. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +33 -186
  124. package/lib-next/theme/NavbarItem/DocNavbarItem.js +31 -14
  125. package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +73 -0
  126. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +38 -24
  127. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +4 -1
  128. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +164 -0
  129. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +12 -13
  130. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  131. package/lib-next/theme/NavbarItem/NavbarNavLink.js +66 -0
  132. package/lib-next/theme/NavbarItem/index.js +27 -15
  133. package/lib-next/theme/{UserPreferencesContext.js → NavbarItem/utils.js} +3 -3
  134. package/lib-next/theme/NotFound.js +40 -34
  135. package/lib-next/theme/PaginatorNavLink/index.js +17 -0
  136. package/lib-next/theme/SearchBar.js +1 -1
  137. package/lib-next/theme/SearchMetadata/index.js +34 -0
  138. package/lib-next/theme/{LayoutHead → SiteMetadata}/index.js +25 -45
  139. package/lib-next/theme/SkipToContent/index.js +9 -8
  140. package/lib-next/theme/SkipToContent/styles.module.css +8 -3
  141. package/lib-next/theme/TOC/index.js +12 -39
  142. package/lib-next/theme/TOC/styles.module.css +2 -2
  143. package/lib-next/theme/TOCCollapsible/index.js +52 -0
  144. package/lib-next/theme/TOCCollapsible/styles.module.css +50 -0
  145. package/lib-next/theme/TOCInline/index.js +10 -31
  146. package/lib-next/theme/TOCItems/index.js +85 -0
  147. package/lib-next/theme/TabItem/index.js +1 -4
  148. package/lib-next/theme/Tabs/__tests__/index.test.js +146 -0
  149. package/lib-next/theme/Tabs/index.js +108 -50
  150. package/lib-next/theme/Tabs/styles.module.css +0 -13
  151. package/lib-next/theme/Tag/index.js +24 -0
  152. package/lib-next/theme/Tag/styles.module.css +70 -0
  153. package/lib-next/theme/TagsListByLetter/index.js +40 -0
  154. package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
  155. package/lib-next/theme/TagsListInline/index.js +31 -0
  156. package/{lib/theme/BlogPostItem → lib-next/theme/TagsListInline}/styles.module.css +5 -4
  157. package/lib-next/theme/ThemedImage/index.js +10 -14
  158. package/lib-next/theme/ThemedImage/styles.module.css +9 -2
  159. package/lib-next/theme/prism-include-languages.js +17 -15
  160. package/package.json +32 -31
  161. package/src/admonitions.css +35 -0
  162. package/src/deps.d.ts +13 -0
  163. package/src/getSwizzleConfig.ts +244 -0
  164. package/src/index.ts +72 -72
  165. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  166. package/src/theme/Admonition/index.tsx +106 -0
  167. package/src/theme/AnnouncementBar/index.tsx +11 -20
  168. package/src/theme/AnnouncementBar/styles.module.css +26 -35
  169. package/src/theme/BackToTopButton/index.tsx +141 -0
  170. package/src/theme/BackToTopButton/styles.module.css +44 -0
  171. package/src/theme/BlogArchivePage/index.tsx +92 -0
  172. package/src/theme/BlogLayout/index.tsx +42 -0
  173. package/src/theme/BlogListPage/index.tsx +45 -35
  174. package/src/theme/BlogListPaginator/index.tsx +13 -15
  175. package/src/theme/BlogPostAuthor/index.tsx +54 -0
  176. package/src/theme/BlogPostAuthor/styles.module.css +12 -0
  177. package/src/theme/BlogPostAuthors/index.tsx +49 -0
  178. package/src/theme/BlogPostAuthors/styles.module.css +21 -0
  179. package/src/theme/BlogPostItem/index.tsx +103 -93
  180. package/src/theme/BlogPostItem/styles.module.css +5 -1
  181. package/src/theme/BlogPostPage/index.tsx +84 -42
  182. package/src/theme/BlogPostPaginator/index.tsx +13 -19
  183. package/src/theme/BlogSidebar/index.tsx +23 -16
  184. package/src/theme/BlogSidebar/styles.module.css +8 -8
  185. package/src/theme/BlogTagsListPage/index.tsx +24 -70
  186. package/src/theme/BlogTagsPostsPage/index.tsx +54 -65
  187. package/src/theme/CodeBlock/CopyButton/index.tsx +66 -0
  188. package/src/theme/CodeBlock/CopyButton/styles.module.css +66 -0
  189. package/src/theme/CodeBlock/index.tsx +77 -196
  190. package/src/theme/CodeBlock/styles.module.css +13 -28
  191. package/src/theme/ColorModeToggle/index.tsx +67 -0
  192. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  193. package/src/theme/Details/index.tsx +25 -0
  194. package/src/theme/Details/styles.module.css +13 -0
  195. package/src/theme/DocBreadcrumbs/index.tsx +110 -0
  196. package/src/theme/DocBreadcrumbs/styles.module.css +11 -0
  197. package/src/theme/DocCard/index.tsx +116 -0
  198. package/src/theme/DocCard/styles.module.css +34 -0
  199. package/src/theme/DocCardList/index.tsx +38 -0
  200. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +86 -0
  201. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  202. package/src/theme/DocItem/index.tsx +93 -79
  203. package/src/theme/DocItem/styles.module.css +7 -13
  204. package/src/theme/DocItemFooter/index.tsx +91 -0
  205. package/src/theme/DocItemFooter/styles.module.css +18 -0
  206. package/src/theme/DocPage/index.tsx +124 -101
  207. package/src/theme/DocPage/styles.module.css +14 -30
  208. package/src/theme/DocPaginator/index.tsx +16 -24
  209. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
  210. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +44 -0
  211. package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
  212. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +17 -0
  213. package/src/theme/DocSidebar/Desktop/index.tsx +38 -0
  214. package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
  215. package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
  216. package/src/theme/DocSidebar/index.tsx +14 -343
  217. package/src/theme/DocSidebarItem/index.tsx +282 -0
  218. package/src/theme/DocSidebarItem/styles.module.css +17 -0
  219. package/src/theme/DocSidebarItems/index.tsx +32 -0
  220. package/src/theme/DocTagDocListPage/index.tsx +97 -0
  221. package/src/theme/DocTagsListPage/index.tsx +44 -0
  222. package/src/theme/DocVersionBadge/index.tsx +35 -0
  223. package/src/theme/{DocVersionSuggestions → DocVersionBanner}/index.tsx +76 -47
  224. package/src/theme/EditThisPage/index.tsx +6 -1
  225. package/src/theme/ErrorPageContent.tsx +41 -0
  226. package/src/theme/Footer/Copyright/index.tsx +20 -0
  227. package/src/theme/Footer/Layout/index.tsx +34 -0
  228. package/src/theme/Footer/LinkItem/index.tsx +36 -0
  229. package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
  230. package/src/theme/Footer/Links/Simple/index.tsx +42 -0
  231. package/src/theme/Footer/Links/index.tsx +21 -0
  232. package/src/theme/Footer/Logo/index.tsx +41 -0
  233. package/{lib-next/theme/Footer → src/theme/Footer/Logo}/styles.module.css +2 -1
  234. package/src/theme/Footer/index.tsx +13 -113
  235. package/src/theme/Heading/index.tsx +43 -35
  236. package/src/theme/Heading/styles.module.css +27 -2
  237. package/src/theme/IconArrow/index.tsx +3 -5
  238. package/src/theme/IconClose/index.tsx +26 -0
  239. package/src/theme/IconDarkMode/index.tsx +20 -0
  240. package/src/theme/IconEdit/index.tsx +8 -9
  241. package/src/theme/IconExternalLink/index.tsx +30 -0
  242. package/src/theme/IconExternalLink/styles.module.css +10 -0
  243. package/src/theme/IconLanguage/index.tsx +6 -8
  244. package/src/theme/IconLightMode/index.tsx +20 -0
  245. package/src/theme/IconMenu/index.tsx +4 -9
  246. package/src/theme/LastUpdated/index.tsx +35 -39
  247. package/src/theme/Layout/index.tsx +19 -15
  248. package/src/theme/Layout/styles.css +6 -0
  249. package/src/theme/LayoutProviders/index.tsx +22 -10
  250. package/src/theme/Logo/index.tsx +21 -15
  251. package/src/theme/{ThemeContext.ts → MDXComponents/A.tsx} +5 -6
  252. package/src/theme/MDXComponents/Code.tsx +37 -0
  253. package/src/theme/MDXComponents/Details.tsx +26 -0
  254. package/src/theme/MDXComponents/Head.tsx +29 -0
  255. package/src/theme/MDXComponents/Heading.tsx +14 -0
  256. package/src/theme/{LastUpdated/styles.module.css → MDXComponents/Img.module.css} +2 -2
  257. package/src/theme/MDXComponents/Img.tsx +26 -0
  258. package/src/theme/MDXComponents/Pre.tsx +22 -0
  259. package/src/theme/MDXComponents/Ul.module.css +11 -0
  260. package/src/theme/MDXComponents/Ul.tsx +28 -0
  261. package/src/theme/MDXComponents/index.tsx +23 -42
  262. package/src/theme/MDXContent/index.tsx +15 -0
  263. package/src/theme/MDXPage/index.tsx +39 -39
  264. package/src/theme/MDXPage/styles.module.css +10 -0
  265. package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
  266. package/src/theme/Navbar/Content/index.tsx +81 -0
  267. package/src/theme/Navbar/Content/styles.module.css +15 -0
  268. package/src/theme/Navbar/Layout/index.tsx +57 -0
  269. package/{lib/theme/Navbar → src/theme/Navbar/Layout}/styles.module.css +1 -7
  270. package/src/theme/Navbar/Logo/index.tsx +19 -0
  271. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
  272. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
  273. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
  274. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +38 -0
  275. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  276. package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
  277. package/src/theme/Navbar/index.tsx +7 -147
  278. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +37 -194
  279. package/src/theme/NavbarItem/DocNavbarItem.tsx +33 -15
  280. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +84 -0
  281. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +44 -28
  282. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  283. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +190 -0
  284. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +17 -11
  285. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  286. package/src/theme/NavbarItem/NavbarNavLink.tsx +64 -0
  287. package/src/theme/NavbarItem/index.tsx +41 -19
  288. package/src/theme/NavbarItem/utils.ts +10 -0
  289. package/src/theme/NotFound.tsx +40 -33
  290. package/src/theme/PaginatorNavLink/index.tsx +20 -0
  291. package/src/theme/SearchBar.tsx +2 -1
  292. package/src/theme/SearchMetadata/index.tsx +43 -0
  293. package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +25 -38
  294. package/src/theme/SkipToContent/index.tsx +9 -8
  295. package/src/theme/SkipToContent/styles.module.css +8 -3
  296. package/src/theme/TOC/index.tsx +13 -44
  297. package/src/theme/TOC/styles.module.css +2 -2
  298. package/src/theme/TOCCollapsible/index.tsx +56 -0
  299. package/src/theme/TOCCollapsible/styles.module.css +50 -0
  300. package/src/theme/TOCInline/index.tsx +14 -35
  301. package/src/theme/TOCItems/index.tsx +100 -0
  302. package/src/theme/TabItem/index.tsx +5 -3
  303. package/src/theme/Tabs/index.tsx +117 -59
  304. package/src/theme/Tabs/styles.module.css +0 -13
  305. package/src/theme/Tag/index.tsx +29 -0
  306. package/src/theme/Tag/styles.module.css +70 -0
  307. package/src/theme/TagsListByLetter/index.tsx +43 -0
  308. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  309. package/src/theme/TagsListInline/index.tsx +35 -0
  310. package/src/theme/TagsListInline/styles.module.css +15 -0
  311. package/src/theme/ThemedImage/index.tsx +12 -13
  312. package/src/theme/ThemedImage/styles.module.css +9 -2
  313. package/src/theme/prism-include-languages.ts +20 -15
  314. package/src/theme-classic.d.ts +997 -0
  315. package/src/translations.ts +84 -58
  316. package/src/types.d.ts +0 -589
  317. package/src/validateThemeConfig.ts +381 -0
  318. package/babel.config.js +0 -35
  319. package/codeTranslations/README.md +0 -20
  320. package/codeTranslations/ar.json +0 -55
  321. package/codeTranslations/base.json +0 -108
  322. package/codeTranslations/da.json +0 -55
  323. package/codeTranslations/de.json +0 -55
  324. package/codeTranslations/es.json +0 -55
  325. package/codeTranslations/fa.json +0 -55
  326. package/codeTranslations/fil.json +0 -55
  327. package/codeTranslations/fr.json +0 -55
  328. package/codeTranslations/he.json +0 -55
  329. package/codeTranslations/hi.json +0 -55
  330. package/codeTranslations/ja.json +0 -55
  331. package/codeTranslations/ko.json +0 -55
  332. package/codeTranslations/pl.json +0 -55
  333. package/codeTranslations/pt-BR.json +0 -55
  334. package/codeTranslations/pt-PT.json +0 -55
  335. package/codeTranslations/ru.json +0 -55
  336. package/codeTranslations/tr.json +0 -55
  337. package/codeTranslations/vi.json +0 -55
  338. package/codeTranslations/zh-Hans.json +0 -55
  339. package/codeTranslations/zh-Hant.json +0 -55
  340. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  341. package/lib/__tests__/translations.test.js +0 -112
  342. package/lib/__tests__/validateThemeConfig.test.js +0 -333
  343. package/lib/theme/AnnouncementBar/index.js +0 -74
  344. package/lib/theme/AnnouncementBar/styles.module.css +0 -72
  345. package/lib/theme/BlogListPage/index.js +0 -71
  346. package/lib/theme/BlogListPaginator/index.js +0 -63
  347. package/lib/theme/BlogPostItem/index.js +0 -152
  348. package/lib/theme/BlogPostPage/index.js +0 -75
  349. package/lib/theme/BlogPostPaginator/index.js +0 -64
  350. package/lib/theme/BlogSidebar/index.js +0 -43
  351. package/lib/theme/BlogSidebar/styles.module.css +0 -46
  352. package/lib/theme/BlogTagsListPage/index.js +0 -81
  353. package/lib/theme/BlogTagsPostsPage/index.js +0 -104
  354. package/lib/theme/CodeBlock/index.js +0 -253
  355. package/lib/theme/CodeBlock/styles.module.css +0 -71
  356. package/lib/theme/DocItem/index.js +0 -120
  357. package/lib/theme/DocItem/styles.module.css +0 -28
  358. package/lib/theme/DocPage/index.js +0 -141
  359. package/lib/theme/DocPage/styles.module.css +0 -98
  360. package/lib/theme/DocPaginator/index.js +0 -63
  361. package/lib/theme/DocSidebar/index.js +0 -307
  362. package/lib/theme/DocSidebar/styles.module.css +0 -138
  363. package/lib/theme/DocVersionSuggestions/index.js +0 -111
  364. package/lib/theme/EditThisPage/index.js +0 -31
  365. package/lib/theme/Footer/index.js +0 -108
  366. package/lib/theme/Heading/index.js +0 -60
  367. package/lib/theme/Heading/styles.css +0 -23
  368. package/lib/theme/IconArrow/index.js +0 -28
  369. package/lib/theme/IconEdit/index.js +0 -34
  370. package/lib/theme/IconLanguage/index.js +0 -29
  371. package/lib/theme/IconMenu/index.js +0 -31
  372. package/lib/theme/LastUpdated/index.js +0 -65
  373. package/lib/theme/Layout/index.js +0 -64
  374. package/lib/theme/LayoutHead/index.js +0 -144
  375. package/lib/theme/LayoutProviders/index.js +0 -34
  376. package/lib/theme/Logo/index.js +0 -59
  377. package/lib/theme/MDXComponents/index.js +0 -65
  378. package/lib/theme/MDXPage/index.js +0 -68
  379. package/lib/theme/Navbar/index.js +0 -147
  380. package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -195
  381. package/lib/theme/NavbarItem/DocNavbarItem.js +0 -55
  382. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -75
  383. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
  384. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  385. package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
  386. package/lib/theme/NavbarItem/index.js +0 -54
  387. package/lib/theme/NotFound.js +0 -50
  388. package/lib/theme/SearchBar.js +0 -15
  389. package/lib/theme/SearchMetadatas/index.js +0 -33
  390. package/lib/theme/Seo/index.js +0 -49
  391. package/lib/theme/SkipToContent/index.js +0 -61
  392. package/lib/theme/SkipToContent/styles.module.css +0 -16
  393. package/lib/theme/TOC/index.js +0 -59
  394. package/lib/theme/TOC/styles.module.css +0 -23
  395. package/lib/theme/TOCInline/index.js +0 -53
  396. package/lib/theme/TOCInline/styles.module.css +0 -12
  397. package/lib/theme/TabItem/index.js +0 -32
  398. package/lib/theme/Tabs/index.js +0 -150
  399. package/lib/theme/Tabs/styles.module.css +0 -23
  400. package/lib/theme/ThemeContext.js +0 -21
  401. package/lib/theme/ThemeProvider/index.js +0 -38
  402. package/lib/theme/ThemedImage/index.js +0 -48
  403. package/lib/theme/ThemedImage/styles.module.css +0 -11
  404. package/lib/theme/Toggle/index.js +0 -106
  405. package/lib/theme/Toggle/styles.module.css +0 -114
  406. package/lib/theme/UserPreferencesContext.js +0 -18
  407. package/lib/theme/UserPreferencesProvider/index.js +0 -44
  408. package/lib/theme/hooks/styles.css +0 -10
  409. package/lib/theme/hooks/useAnnouncementBar.js +0 -63
  410. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  411. package/lib/theme/hooks/useDocs.js +0 -18
  412. package/lib/theme/hooks/useHideableNavbar.js +0 -92
  413. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  414. package/lib/theme/hooks/useLocationHash.js +0 -28
  415. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  416. package/lib/theme/hooks/usePrismTheme.js +0 -36
  417. package/lib/theme/hooks/useScrollPosition.js +0 -49
  418. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  419. package/lib/theme/hooks/useTabGroupChoice.js +0 -53
  420. package/lib/theme/hooks/useTheme.js +0 -99
  421. package/lib/theme/hooks/useThemeContext.js +0 -31
  422. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  423. package/lib/theme/hooks/useWindowSize.js +0 -55
  424. package/lib/theme/prism-include-languages.js +0 -39
  425. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  426. package/lib-next/__tests__/translations.test.js +0 -128
  427. package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
  428. package/lib-next/index.js +0 -198
  429. package/lib-next/theme/DocSidebar/styles.module.css +0 -138
  430. package/lib-next/theme/Heading/styles.css +0 -23
  431. package/lib-next/theme/Navbar/styles.module.css +0 -20
  432. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  433. package/lib-next/theme/Seo/index.js +0 -36
  434. package/lib-next/theme/ThemeProvider/index.js +0 -25
  435. package/lib-next/theme/Toggle/index.js +0 -95
  436. package/lib-next/theme/Toggle/styles.module.css +0 -114
  437. package/lib-next/theme/UserPreferencesProvider/index.js +0 -28
  438. package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
  439. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  440. package/lib-next/theme/hooks/useDocs.js +0 -10
  441. package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
  442. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  443. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  444. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  445. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  446. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  447. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  448. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -41
  449. package/lib-next/theme/hooks/useTheme.js +0 -82
  450. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  451. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  452. package/lib-next/theme/hooks/useWindowSize.js +0 -45
  453. package/lib-next/translations.js +0 -145
  454. package/lib-next/types.d.ts +0 -600
  455. package/lib-next/validateThemeConfig.js +0 -317
  456. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  457. package/src/__tests__/translations.test.ts +0 -116
  458. package/src/__tests__/validateThemeConfig.test.js +0 -333
  459. package/src/prism-include-languages.js +0 -11
  460. package/src/theme/DocSidebar/styles.module.css +0 -138
  461. package/src/theme/Heading/styles.css +0 -23
  462. package/src/theme/SearchMetadatas/index.tsx +0 -28
  463. package/src/theme/Seo/index.tsx +0 -46
  464. package/src/theme/ThemeProvider/index.tsx +0 -24
  465. package/src/theme/Toggle/index.tsx +0 -113
  466. package/src/theme/Toggle/styles.module.css +0 -114
  467. package/src/theme/UserPreferencesContext.ts +0 -12
  468. package/src/theme/UserPreferencesProvider/index.tsx +0 -32
  469. package/src/theme/hooks/styles.css +0 -10
  470. package/src/theme/hooks/useAnnouncementBar.ts +0 -58
  471. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  472. package/src/theme/hooks/useDocs.ts +0 -11
  473. package/src/theme/hooks/useHideableNavbar.ts +0 -85
  474. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  475. package/src/theme/hooks/useLocationHash.ts +0 -25
  476. package/src/theme/hooks/useLockBodyScroll.ts +0 -20
  477. package/src/theme/hooks/usePrismTheme.ts +0 -22
  478. package/src/theme/hooks/useScrollPosition.ts +0 -45
  479. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  480. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  481. package/src/theme/hooks/useTheme.ts +0 -92
  482. package/src/theme/hooks/useThemeContext.ts +0 -23
  483. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  484. package/src/theme/hooks/useWindowSize.ts +0 -51
  485. package/src/validateThemeConfig.js +0 -317
  486. package/tsconfig.json +0 -12
  487. package/update-code-translations.js +0 -239
  488. package/update-code-translations.test.js +0 -33
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@docusaurus/theme-classic",
3
- "version": "2.0.0-beta.15d451942",
3
+ "version": "2.0.0-beta.18",
4
4
  "description": "Classic theme for Docusaurus",
5
5
  "main": "lib/index.js",
6
- "types": "src/types.d.ts",
6
+ "types": "src/theme-classic.d.ts",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -14,49 +14,50 @@
14
14
  },
15
15
  "license": "MIT",
16
16
  "scripts": {
17
- "build": "tsc --noEmit && yarn babel:lib && yarn babel:lib-next && yarn prettier:lib-next",
18
- "watch": "concurrently -n \"lib,lib-next\" --kill-others \"yarn babel:lib --watch\" \"yarn babel:lib-next --watch\"",
17
+ "build": "tsc --noEmit && yarn babel:lib && yarn babel:lib-next && yarn format:lib-next",
18
+ "watch": "concurrently --names \"lib,lib-next,tsc\" --kill-others \"yarn babel:lib --watch\" \"yarn babel:lib-next --watch\" \"yarn tsc --watch\"",
19
19
  "babel:lib": "cross-env BABEL_ENV=lib babel src -d lib --extensions \".tsx,.ts\" --ignore \"**/*.d.ts\" --copy-files",
20
20
  "babel:lib-next": "cross-env BABEL_ENV=lib-next babel src -d lib-next --extensions \".tsx,.ts\" --ignore \"**/*.d.ts\" --copy-files",
21
- "prettier": "prettier --config ../../.prettierrc --ignore-path ../../.prettierignore --write \"**/*.{js,ts,jsx,tsc}\"",
22
- "prettier:lib-next": "prettier --config ../../.prettierrc --write \"lib-next/**/*.{js,ts,jsx,tsc}\"",
23
- "update-code-translations": "node -e 'require(\"./update-code-translations.js\").run()'"
21
+ "format:lib-next": "prettier --config ../../.prettierrc --write \"lib-next/**/*.{js,ts,jsx,tsc}\""
24
22
  },
25
23
  "dependencies": {
26
- "@docusaurus/core": "2.0.0-beta.15d451942",
27
- "@docusaurus/plugin-content-blog": "2.0.0-beta.15d451942",
28
- "@docusaurus/plugin-content-docs": "2.0.0-beta.15d451942",
29
- "@docusaurus/plugin-content-pages": "2.0.0-beta.15d451942",
30
- "@docusaurus/theme-common": "2.0.0-beta.15d451942",
31
- "@docusaurus/types": "2.0.0-beta.15d451942",
32
- "@docusaurus/utils": "2.0.0-beta.15d451942",
33
- "@docusaurus/utils-validation": "2.0.0-beta.15d451942",
34
- "@mdx-js/mdx": "^1.6.21",
35
- "@mdx-js/react": "^1.6.21",
36
- "chalk": "^4.1.1",
24
+ "@docusaurus/core": "2.0.0-beta.18",
25
+ "@docusaurus/plugin-content-blog": "2.0.0-beta.18",
26
+ "@docusaurus/plugin-content-docs": "2.0.0-beta.18",
27
+ "@docusaurus/plugin-content-pages": "2.0.0-beta.18",
28
+ "@docusaurus/theme-common": "2.0.0-beta.18",
29
+ "@docusaurus/theme-translations": "2.0.0-beta.18",
30
+ "@docusaurus/utils": "2.0.0-beta.18",
31
+ "@docusaurus/utils-common": "2.0.0-beta.18",
32
+ "@docusaurus/utils-validation": "2.0.0-beta.18",
33
+ "@mdx-js/react": "^1.6.22",
37
34
  "clsx": "^1.1.1",
38
35
  "copy-text-to-clipboard": "^3.0.1",
39
- "fs-extra": "^10.0.0",
40
- "globby": "^11.0.2",
41
- "infima": "0.2.0-alpha.24",
42
- "lodash": "^4.17.20",
43
- "parse-numeric-range": "^1.2.0",
44
- "postcss": "^8.2.15",
45
- "prism-react-renderer": "^1.2.1",
46
- "prismjs": "^1.23.0",
47
- "prop-types": "^15.7.2",
36
+ "infima": "0.2.0-alpha.38",
37
+ "lodash": "^4.17.21",
38
+ "postcss": "^8.4.12",
39
+ "prism-react-renderer": "^1.3.1",
40
+ "prismjs": "^1.27.0",
48
41
  "react-router-dom": "^5.2.0",
49
- "rtlcss": "^3.1.2"
42
+ "rtlcss": "^3.5.0"
50
43
  },
51
44
  "devDependencies": {
52
- "@docusaurus/module-type-aliases": "2.0.0-beta.15d451942"
45
+ "@docusaurus/module-type-aliases": "2.0.0-beta.18",
46
+ "@docusaurus/types": "2.0.0-beta.18",
47
+ "@types/mdx-js__react": "^1.5.5",
48
+ "@types/prismjs": "^1.26.0",
49
+ "@types/rtlcss": "^3.1.2",
50
+ "cross-env": "^7.0.3",
51
+ "fs-extra": "^10.0.1",
52
+ "react-test-renderer": "^17.0.2",
53
+ "utility-types": "^3.10.0"
53
54
  },
54
55
  "peerDependencies": {
55
56
  "react": "^16.8.4 || ^17.0.0",
56
57
  "react-dom": "^16.8.4 || ^17.0.0"
57
58
  },
58
59
  "engines": {
59
- "node": ">=12.13.0"
60
+ "node": ">=14"
60
61
  },
61
- "gitHead": "dfceae8bd3e8b42ba8fc14f1449d861046c26143"
62
+ "gitHead": "1a945d06993d53376e61bed2c942799fe07dc336"
62
63
  }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ .admonition h5 {
9
+ margin-top: 0;
10
+ margin-bottom: 8px;
11
+ text-transform: uppercase;
12
+ }
13
+
14
+ .admonition-icon {
15
+ display: inline-block;
16
+ vertical-align: middle;
17
+ margin-right: 0.4em;
18
+ }
19
+
20
+ .admonition-icon svg {
21
+ display: inline-block;
22
+ width: 22px;
23
+ height: 22px;
24
+ stroke-width: 0;
25
+ fill: var(--ifm-alert-foreground-color);
26
+ stroke: var(--ifm-alert-foreground-color);
27
+ }
28
+
29
+ .admonition-content > :last-child {
30
+ margin-bottom: 0;
31
+ }
32
+
33
+ .admonition {
34
+ margin-bottom: 1em;
35
+ }
package/src/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,244 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import type {SwizzleConfig} from '@docusaurus/types';
9
+
10
+ /* eslint sort-keys: "error" */
11
+
12
+ export default function getSwizzleConfig(): SwizzleConfig {
13
+ return {
14
+ components: {
15
+ CodeBlock: {
16
+ actions: {
17
+ eject: 'safe',
18
+ wrap: 'safe',
19
+ },
20
+ description:
21
+ 'The component used to render multi-line code blocks, generally used in Markdown files.',
22
+ },
23
+ ColorModeToggle: {
24
+ actions: {
25
+ eject: 'safe',
26
+ wrap: 'safe',
27
+ },
28
+ description:
29
+ 'The color mode toggle to switch between light and dark mode.',
30
+ },
31
+ DocSidebar: {
32
+ actions: {
33
+ eject: 'unsafe', // too much technical code in sidebar, not very safe atm
34
+ wrap: 'safe',
35
+ },
36
+ description: 'The sidebar component on docs pages',
37
+ },
38
+ Footer: {
39
+ actions: {
40
+ eject: 'safe',
41
+ wrap: 'safe',
42
+ },
43
+ description: "The footer component of you site's layout",
44
+ },
45
+ 'Footer/Copyright': {
46
+ actions: {
47
+ eject: 'safe',
48
+ wrap: 'safe',
49
+ },
50
+ description: 'The footer copyright',
51
+ },
52
+ 'Footer/Layout': {
53
+ actions: {
54
+ eject: 'safe',
55
+ wrap: 'safe',
56
+ },
57
+ description: 'The footer main layout component',
58
+ },
59
+ 'Footer/LinkItem': {
60
+ actions: {
61
+ eject: 'safe',
62
+ wrap: 'safe',
63
+ },
64
+ description: 'The footer link item component',
65
+ },
66
+ 'Footer/Links': {
67
+ actions: {
68
+ eject: 'safe',
69
+ wrap: 'safe',
70
+ },
71
+ description: 'The footer component rendering the footer links',
72
+ },
73
+ 'Footer/Links/MultiColumn': {
74
+ actions: {
75
+ eject: 'safe',
76
+ wrap: 'safe',
77
+ },
78
+ description:
79
+ 'The footer component rendering the footer links with a multi-column layout',
80
+ },
81
+ 'Footer/Links/Simple': {
82
+ actions: {
83
+ eject: 'safe',
84
+ wrap: 'safe',
85
+ },
86
+ description:
87
+ 'The footer component rendering the footer links with a simple layout (single row)',
88
+ },
89
+ 'Footer/Logo': {
90
+ actions: {
91
+ eject: 'safe',
92
+ wrap: 'safe',
93
+ },
94
+ description: 'The footer logo',
95
+ },
96
+ IconArrow: {
97
+ actions: {
98
+ eject: 'safe',
99
+ wrap: 'safe',
100
+ },
101
+ description: 'The arrow icon component',
102
+ },
103
+ IconDarkMode: {
104
+ actions: {
105
+ eject: 'safe',
106
+ wrap: 'safe',
107
+ },
108
+ description: 'The dark mode icon component.',
109
+ },
110
+ IconEdit: {
111
+ actions: {
112
+ eject: 'safe',
113
+ wrap: 'safe',
114
+ },
115
+ description: 'The edit icon component',
116
+ },
117
+ IconLightMode: {
118
+ actions: {
119
+ eject: 'safe',
120
+ wrap: 'safe',
121
+ },
122
+ description: 'The light mode icon component.',
123
+ },
124
+ IconMenu: {
125
+ actions: {
126
+ eject: 'safe',
127
+ wrap: 'safe',
128
+ },
129
+ description: 'The menu icon component',
130
+ },
131
+ MDXComponents: {
132
+ actions: {
133
+ eject: 'safe',
134
+ wrap: 'forbidden', /// TODO allow wrapping objects???
135
+ },
136
+ description:
137
+ 'The MDX components to use for rendering MDX files. Meant to be ejected.',
138
+ },
139
+ 'MDXComponents/A': {
140
+ actions: {
141
+ eject: 'safe',
142
+ wrap: 'safe',
143
+ },
144
+ description:
145
+ '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:
153
+ 'The component used to render <code> tags and Markdown code blocks in MDX',
154
+ },
155
+ 'MDXComponents/Details': {
156
+ actions: {
157
+ eject: 'safe',
158
+ wrap: 'safe',
159
+ },
160
+ description: 'The component used to render <details> tags in MDX',
161
+ },
162
+ 'MDXComponents/Head': {
163
+ actions: {
164
+ eject: 'forbidden',
165
+ wrap: 'forbidden',
166
+ },
167
+ description:
168
+ 'Technical component used to assign metadata (generally for SEO purpose) to the current MDX document',
169
+ },
170
+ 'MDXComponents/Heading': {
171
+ actions: {
172
+ eject: 'safe',
173
+ wrap: 'safe',
174
+ },
175
+ description:
176
+ 'The component used to render heading tags (<h1>, <h2>...) and Markdown headings in MDX',
177
+ },
178
+ 'MDXComponents/Img': {
179
+ actions: {
180
+ eject: 'safe',
181
+ wrap: 'safe',
182
+ },
183
+ description:
184
+ 'The component used to render <img> tags and Markdown images in MDX',
185
+ },
186
+ 'MDXComponents/Pre': {
187
+ actions: {
188
+ eject: 'safe',
189
+ wrap: 'safe',
190
+ },
191
+ description: 'The component used to render <pre> tags in MDX',
192
+ },
193
+ 'MDXComponents/Ul': {
194
+ actions: {
195
+ eject: 'safe',
196
+ wrap: 'safe',
197
+ },
198
+ description:
199
+ 'The component used to render <ul> tags and Markdown unordered lists in MDX',
200
+ },
201
+ MDXContent: {
202
+ actions: {
203
+ eject: 'safe',
204
+ wrap: 'safe',
205
+ },
206
+ description:
207
+ 'A component wrapping all MDX content and providing the MDXComponents to the MDX context',
208
+ },
209
+ // TODO should probably not even appear here
210
+ 'NavbarItem/utils': {
211
+ actions: {
212
+ eject: 'forbidden',
213
+ wrap: 'forbidden',
214
+ },
215
+ },
216
+ NotFound: {
217
+ actions: {
218
+ eject: 'safe',
219
+ wrap: 'safe',
220
+ },
221
+ description:
222
+ '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:
232
+ 'The search bar component of your site, appearing in the navbar.',
233
+ },
234
+ 'prism-include-languages': {
235
+ actions: {
236
+ eject: 'safe',
237
+ wrap: 'forbidden', // not a component!
238
+ },
239
+ description:
240
+ 'The Prism languages to include for code block syntax highlighting. Meant to be ejected.',
241
+ },
242
+ },
243
+ };
244
+ }
package/src/index.ts CHANGED
@@ -5,28 +5,29 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import {DocusaurusContext, Plugin} from '@docusaurus/types';
9
- import {ThemeConfig} from '@docusaurus/theme-common';
8
+ import type {LoadContext, Plugin} from '@docusaurus/types';
9
+ import type {ThemeConfig} from '@docusaurus/theme-common';
10
10
  import {getTranslationFiles, translateThemeConfig} from './translations';
11
- import path from 'path';
12
- import Module from 'module';
13
- import type {AcceptedPlugin, Result, Plugin as PostCssPlugin} from 'postcss';
11
+ import {createRequire} from 'module';
12
+ import type {Plugin as PostCssPlugin} from 'postcss';
14
13
  import rtlcss from 'rtlcss';
15
- import {readDefaultCodeTranslationMessages} from '@docusaurus/utils';
14
+ import {readDefaultCodeTranslationMessages} from '@docusaurus/theme-translations';
15
+ import type {Options} from '@docusaurus/theme-classic';
16
+ import type webpack from 'webpack';
16
17
 
17
- const createRequire = Module.createRequire || Module.createRequireFromPath;
18
18
  const requireFromDocusaurusCore = createRequire(
19
19
  require.resolve('@docusaurus/core/package.json'),
20
20
  );
21
- const ContextReplacementPlugin = requireFromDocusaurusCore(
22
- 'webpack/lib/ContextReplacementPlugin',
23
- );
21
+ const ContextReplacementPlugin: typeof webpack.ContextReplacementPlugin =
22
+ requireFromDocusaurusCore('webpack/lib/ContextReplacementPlugin');
24
23
 
25
24
  // Need to be inlined to prevent dark mode FOUC
26
- // Make sure that the 'storageKey' is the same as the one in `/theme/hooks/useTheme.js`
27
- const storageKey = 'theme';
28
- const noFlashColorMode = ({defaultMode, respectPrefersColorScheme}) => {
29
- return `(function() {
25
+ // Make sure the key is the same as the one in `/theme/hooks/useTheme.js`
26
+ const ThemeStorageKey = 'theme';
27
+ const noFlashColorMode = ({
28
+ defaultMode,
29
+ respectPrefersColorScheme,
30
+ }: ThemeConfig['colorMode']) => `(function() {
30
31
  var defaultMode = '${defaultMode}';
31
32
  var respectPrefersColorScheme = ${respectPrefersColorScheme};
32
33
 
@@ -37,7 +38,7 @@ const noFlashColorMode = ({defaultMode, respectPrefersColorScheme}) => {
37
38
  function getStoredTheme() {
38
39
  var theme = null;
39
40
  try {
40
- theme = localStorage.getItem('${storageKey}');
41
+ theme = localStorage.getItem('${ThemeStorageKey}');
41
42
  } catch (err) {}
42
43
  return theme;
43
44
  }
@@ -61,66 +62,82 @@ const noFlashColorMode = ({defaultMode, respectPrefersColorScheme}) => {
61
62
  }
62
63
  }
63
64
  })();`;
64
- };
65
65
 
66
- function getInfimaCSSFile(direction) {
66
+ // Duplicated constant. Unfortunately we can't import it from theme-common, as
67
+ // we need to support older nodejs versions without ESM support
68
+ // TODO: import from theme-common once we only support Node.js with ESM support
69
+ // + move all those announcementBar stuff there too
70
+ export const AnnouncementBarDismissStorageKey =
71
+ 'docusaurus.announcement.dismiss';
72
+ const AnnouncementBarDismissDataAttribute =
73
+ 'data-announcement-bar-initially-dismissed';
74
+ // We always render the announcement bar html on the server, to prevent layout
75
+ // shifts on React hydration. The theme can use CSS + the data attribute to hide
76
+ // the announcement bar asap (before React hydration)
77
+ const AnnouncementBarInlineJavaScript = `
78
+ (function() {
79
+ function isDismissed() {
80
+ try {
81
+ return localStorage.getItem('${AnnouncementBarDismissStorageKey}') === 'true';
82
+ } catch (err) {}
83
+ return false;
84
+ }
85
+ document.documentElement.setAttribute('${AnnouncementBarDismissDataAttribute}', isDismissed());
86
+ })();`;
87
+
88
+ function getInfimaCSSFile(direction: string) {
67
89
  return `infima/dist/css/default/default${
68
90
  direction === 'rtl' ? '-rtl' : ''
69
91
  }.css`;
70
92
  }
71
93
 
72
- type PluginOptions = {
73
- customCss?: string;
74
- };
75
-
76
94
  export default function docusaurusThemeClassic(
77
- context: DocusaurusContext, // TODO: LoadContext is missing some of properties
78
- options: PluginOptions,
95
+ context: LoadContext,
96
+ options: Options,
79
97
  ): Plugin<void> {
80
98
  const {
81
- siteConfig: {themeConfig: roughlyTypedThemeConfig},
82
99
  i18n: {currentLocale, localeConfigs},
83
100
  } = context;
84
- const themeConfig = (roughlyTypedThemeConfig || {}) as ThemeConfig;
85
- const {colorMode, prism: {additionalLanguages = []} = {}} = themeConfig;
86
- const {customCss} = options || {};
87
- const {direction} = localeConfigs[currentLocale];
101
+ const themeConfig = context.siteConfig.themeConfig as ThemeConfig;
102
+ const {
103
+ announcementBar,
104
+ colorMode,
105
+ prism: {additionalLanguages},
106
+ } = themeConfig;
107
+ const {customCss} = options ?? {};
108
+ const {direction} = localeConfigs[currentLocale]!;
88
109
 
89
110
  return {
90
111
  name: 'docusaurus-theme-classic',
91
112
 
92
- /*
93
- Does not seem needed: webpack can already hot reload theme files
94
- getPathsToWatch() {
95
- return [
96
- path.join(__dirname, '..', 'lib'),
97
- path.join(__dirname, '..', 'lib-next'),
98
- ];
99
- },
100
- */
101
-
102
113
  getThemePath() {
103
- return path.join(__dirname, '..', 'lib-next', 'theme');
114
+ return '../lib-next/theme';
104
115
  },
105
116
 
106
117
  getTypeScriptThemePath() {
107
- return path.resolve(__dirname, '..', 'src', 'theme');
118
+ return '../src/theme';
108
119
  },
109
120
 
110
121
  getTranslationFiles: async () => getTranslationFiles({themeConfig}),
111
- translateThemeConfig,
112
122
 
113
- getDefaultCodeTranslationMessages: () => {
123
+ translateThemeConfig: (params) =>
124
+ translateThemeConfig({
125
+ themeConfig: params.themeConfig as ThemeConfig,
126
+ translationFiles: params.translationFiles,
127
+ }),
128
+
129
+ getDefaultCodeTranslationMessages() {
114
130
  return readDefaultCodeTranslationMessages({
115
- dirPath: path.resolve(__dirname, '..', 'codeTranslations'),
116
131
  locale: currentLocale,
132
+ name: 'theme-common',
117
133
  });
118
134
  },
119
135
 
120
136
  getClientModules() {
121
137
  const modules = [
122
138
  require.resolve(getInfimaCSSFile(direction)),
123
- path.resolve(__dirname, './prism-include-languages'),
139
+ './prism-include-languages',
140
+ './admonitions.css',
124
141
  ];
125
142
 
126
143
  if (customCss) {
@@ -140,11 +157,10 @@ export default function docusaurusThemeClassic(
140
157
  .join('|');
141
158
 
142
159
  return {
143
- ignoreWarnings: [
144
- // See https://github.com/facebook/docusaurus/pull/3382
145
- (e) => e.message.includes("Can't resolve '@theme-init/hooks/useDocs"),
146
- ],
147
160
  plugins: [
161
+ // This allows better optimization by only bundling those components
162
+ // that the user actually needs, because the modules are dynamically
163
+ // required and can't be known during compile time.
148
164
  new ContextReplacementPlugin(
149
165
  /prismjs[\\/]components$/,
150
166
  new RegExp(`^./(${prismLanguages})$`),
@@ -153,18 +169,18 @@ export default function docusaurusThemeClassic(
153
169
  };
154
170
  },
155
171
 
156
- configurePostCss(postCssOptions: {plugins: AcceptedPlugin[]}) {
172
+ configurePostCss(postCssOptions) {
157
173
  if (direction === 'rtl') {
158
174
  const resolvedInfimaFile = require.resolve(getInfimaCSSFile(direction));
159
175
  const plugin: PostCssPlugin = {
160
176
  postcssPlugin: 'RtlCssPlugin',
161
- prepare: (result: Result) => {
177
+ prepare: (result) => {
162
178
  const file = result.root?.source?.input?.file;
163
179
  // Skip Infima as we are using the its RTL version.
164
180
  if (file === resolvedInfimaFile) {
165
181
  return {};
166
182
  }
167
- return rtlcss(result.root);
183
+ return rtlcss(result.root as unknown as rtlcss.ConfigOptions);
168
184
  },
169
185
  };
170
186
  postCssOptions.plugins.push(plugin);
@@ -178,10 +194,10 @@ export default function docusaurusThemeClassic(
178
194
  preBodyTags: [
179
195
  {
180
196
  tagName: 'script',
181
- attributes: {
182
- type: 'text/javascript',
183
- },
184
- innerHTML: noFlashColorMode(colorMode),
197
+ innerHTML: `
198
+ ${noFlashColorMode(colorMode)}
199
+ ${announcementBar ? AnnouncementBarInlineJavaScript : ''}
200
+ `,
185
201
  },
186
202
  ],
187
203
  };
@@ -189,21 +205,5 @@ export default function docusaurusThemeClassic(
189
205
  };
190
206
  }
191
207
 
192
- const swizzleAllowedComponents = [
193
- 'CodeBlock',
194
- 'DocSidebar',
195
- 'Footer',
196
- 'NotFound',
197
- 'SearchBar',
198
- 'IconArrow',
199
- 'IconEdit',
200
- 'IconMenu',
201
- 'hooks/useTheme',
202
- 'prism-include-languages',
203
- ];
204
-
205
- export function getSwizzleComponentList(): string[] {
206
- return swizzleAllowedComponents;
207
- }
208
-
208
+ export {default as getSwizzleConfig} from './getSwizzleConfig';
209
209
  export {validateThemeConfig} from './validateThemeConfig';