@docusaurus/theme-classic 2.0.0-beta.15a2b59f9 → 2.0.0-beta.17

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 (407) hide show
  1. package/README.md +2 -2
  2. package/lib/admonitions.css +35 -0
  3. package/{lib-next/theme/Toggle/styles.module.css → lib/deps.d.ts} +5 -9
  4. package/lib/getSwizzleConfig.js +125 -0
  5. package/lib/index.js +36 -41
  6. package/lib/prism-include-languages.js +9 -5
  7. package/lib/theme-classic.d.ts +771 -0
  8. package/lib/translations.js +40 -34
  9. package/lib/types.d.ts +0 -587
  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 +8 -16
  13. package/lib-next/theme/AnnouncementBar/styles.module.css +23 -32
  14. package/lib-next/theme/BackToTopButton/index.js +131 -0
  15. package/lib-next/theme/BackToTopButton/styles.module.css +44 -0
  16. package/lib-next/theme/BlogArchivePage/index.js +80 -0
  17. package/lib-next/theme/BlogLayout/index.js +37 -0
  18. package/lib-next/theme/BlogListPage/index.js +18 -29
  19. package/lib-next/theme/BlogListPaginator/index.js +13 -16
  20. package/lib-next/theme/BlogPostAuthor/index.js +52 -0
  21. package/{lib/theme/IconEdit → lib-next/theme/BlogPostAuthor}/styles.module.css +4 -3
  22. package/lib-next/theme/BlogPostAuthors/index.js +44 -0
  23. package/{src/theme/Toggle → lib-next/theme/BlogPostAuthors}/styles.module.css +11 -7
  24. package/lib-next/theme/BlogPostItem/index.js +94 -96
  25. package/lib-next/theme/BlogPostPage/index.js +75 -39
  26. package/lib-next/theme/BlogPostPaginator/index.js +12 -19
  27. package/lib-next/theme/BlogSidebar/index.js +11 -13
  28. package/lib-next/theme/BlogSidebar/styles.module.css +4 -2
  29. package/lib-next/theme/BlogTagsListPage/index.js +15 -59
  30. package/lib-next/theme/BlogTagsPostsPage/index.js +33 -41
  31. package/lib-next/theme/CodeBlock/index.js +64 -154
  32. package/lib-next/theme/CodeBlock/styles.module.css +17 -9
  33. package/lib-next/theme/ColorModeToggle/index.js +83 -0
  34. package/lib-next/theme/ColorModeToggle/styles.module.css +51 -0
  35. package/lib-next/theme/Details/index.js +21 -0
  36. package/lib-next/theme/Details/styles.module.css +13 -0
  37. package/lib-next/theme/DocBreadcrumbs/index.js +76 -0
  38. package/lib-next/theme/DocBreadcrumbs/styles.module.css +26 -0
  39. package/lib-next/theme/DocCard/index.js +91 -0
  40. package/lib-next/theme/DocCard/styles.module.css +43 -0
  41. package/lib-next/theme/DocCardList/index.js +19 -0
  42. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +54 -0
  43. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  44. package/lib-next/theme/DocItem/index.js +53 -58
  45. package/lib-next/theme/DocItem/styles.module.css +6 -10
  46. package/lib-next/theme/DocItemFooter/index.js +79 -0
  47. package/{lib/theme/DocItem → lib-next/theme/DocItemFooter}/styles.module.css +1 -9
  48. package/lib-next/theme/DocPage/index.js +54 -55
  49. package/lib-next/theme/DocPage/styles.module.css +9 -3
  50. package/lib-next/theme/DocPaginator/index.js +15 -24
  51. package/lib-next/theme/DocSidebar/index.js +65 -286
  52. package/lib-next/theme/DocSidebar/styles.module.css +5 -22
  53. package/lib-next/theme/DocSidebarItem/index.js +264 -0
  54. package/{lib/theme/BlogPostItem → lib-next/theme/DocSidebarItem}/styles.module.css +5 -10
  55. package/lib-next/theme/DocSidebarItems/index.js +28 -0
  56. package/lib-next/theme/DocTagDocListPage/index.js +89 -0
  57. package/lib-next/theme/DocTagsListPage/index.js +35 -0
  58. package/lib-next/theme/DocVersionBadge/index.js +34 -0
  59. package/lib-next/theme/DocVersionBanner/index.js +32 -15
  60. package/lib-next/theme/EditThisPage/index.js +6 -1
  61. package/lib-next/theme/ErrorPageContent.js +35 -0
  62. package/lib-next/theme/Footer/index.js +95 -40
  63. package/lib-next/theme/Footer/styles.module.css +2 -1
  64. package/lib-next/theme/Heading/index.js +39 -48
  65. package/lib-next/theme/Heading/styles.module.css +25 -5
  66. package/lib-next/theme/IconArrow/index.js +2 -5
  67. package/lib-next/theme/IconClose/index.js +23 -0
  68. package/lib-next/theme/IconDarkMode/index.js +17 -0
  69. package/lib-next/theme/IconEdit/index.js +2 -5
  70. package/lib-next/theme/IconExternalLink/index.js +2 -5
  71. package/lib-next/theme/IconLanguage/index.js +5 -8
  72. package/lib-next/theme/IconLightMode/index.js +17 -0
  73. package/lib-next/theme/IconMenu/index.js +7 -5
  74. package/lib-next/theme/LastUpdated/index.js +3 -2
  75. package/lib-next/theme/Layout/index.js +5 -7
  76. package/lib-next/theme/LayoutHead/index.js +27 -32
  77. package/lib-next/theme/LayoutProviders/index.js +15 -9
  78. package/lib-next/theme/Logo/index.js +25 -24
  79. package/lib-next/theme/MDXComponents/index.js +59 -30
  80. package/{src/theme/hooks → lib-next/theme/MDXComponents}/styles.css +7 -2
  81. package/lib-next/theme/MDXPage/index.js +10 -12
  82. package/lib-next/theme/Navbar/index.js +199 -64
  83. package/lib-next/theme/Navbar/styles.module.css +10 -3
  84. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +35 -201
  85. package/lib-next/theme/NavbarItem/DocNavbarItem.js +11 -8
  86. package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +73 -0
  87. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +34 -20
  88. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +4 -1
  89. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +156 -0
  90. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +12 -13
  91. package/{lib/theme/hooks/styles.css → lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css} +3 -2
  92. package/lib-next/theme/NavbarItem/NavbarNavLink.js +70 -0
  93. package/lib-next/theme/NavbarItem/index.js +26 -14
  94. package/lib-next/theme/{UserPreferencesContext.js → NavbarItem/utils.js} +3 -3
  95. package/lib-next/theme/NotFound.js +1 -4
  96. package/lib-next/theme/PaginatorNavLink/index.js +17 -0
  97. package/lib-next/theme/SearchBar.js +1 -1
  98. package/lib-next/theme/SearchMetadata/index.js +34 -0
  99. package/lib-next/theme/Seo/index.js +11 -7
  100. package/lib-next/theme/SkipToContent/index.js +3 -5
  101. package/lib-next/theme/SkipToContent/styles.module.css +7 -0
  102. package/lib-next/theme/TOC/index.js +12 -39
  103. package/lib-next/theme/TOC/styles.module.css +1 -1
  104. package/lib-next/theme/TOCCollapsible/index.js +54 -0
  105. package/lib-next/theme/TOCCollapsible/styles.module.css +50 -0
  106. package/lib-next/theme/TOCInline/index.js +10 -31
  107. package/lib-next/theme/TOCItems/index.js +85 -0
  108. package/lib-next/theme/TabItem/index.js +1 -4
  109. package/lib-next/theme/Tabs/__tests__/index.test.js +146 -0
  110. package/lib-next/theme/Tabs/index.js +108 -50
  111. package/lib-next/theme/Tabs/styles.module.css +0 -13
  112. package/lib-next/theme/Tag/index.js +24 -0
  113. package/lib-next/theme/Tag/styles.module.css +70 -0
  114. package/lib-next/theme/TagsListByLetter/index.js +40 -0
  115. package/lib-next/theme/{hooks/styles.css → TagsListByLetter/styles.module.css} +3 -2
  116. package/lib-next/theme/TagsListInline/index.js +31 -0
  117. package/lib-next/theme/TagsListInline/styles.module.css +15 -0
  118. package/lib-next/theme/ThemedImage/index.js +7 -10
  119. package/lib-next/theme/ThemedImage/styles.module.css +2 -2
  120. package/lib-next/theme/prism-include-languages.js +17 -15
  121. package/package.json +31 -31
  122. package/src/admonitions.css +35 -0
  123. package/src/deps.d.ts +13 -0
  124. package/src/getSwizzleConfig.ts +123 -0
  125. package/src/index.ts +39 -61
  126. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  127. package/src/theme/Admonition/index.tsx +106 -0
  128. package/src/theme/AnnouncementBar/index.tsx +9 -15
  129. package/src/theme/AnnouncementBar/styles.module.css +23 -32
  130. package/src/theme/BackToTopButton/index.tsx +143 -0
  131. package/src/theme/BackToTopButton/styles.module.css +44 -0
  132. package/src/theme/BlogArchivePage/index.tsx +91 -0
  133. package/src/theme/BlogLayout/index.tsx +42 -0
  134. package/src/theme/BlogListPage/index.tsx +19 -28
  135. package/src/theme/BlogListPaginator/index.tsx +13 -15
  136. package/src/theme/BlogPostAuthor/index.tsx +54 -0
  137. package/{lib/theme/MDXPage → src/theme/BlogPostAuthor}/styles.module.css +4 -2
  138. package/src/theme/BlogPostAuthors/index.tsx +49 -0
  139. package/src/theme/BlogPostAuthors/styles.module.css +21 -0
  140. package/src/theme/BlogPostItem/index.tsx +84 -90
  141. package/src/theme/BlogPostPage/index.tsx +77 -38
  142. package/src/theme/BlogPostPaginator/index.tsx +12 -18
  143. package/src/theme/BlogSidebar/index.tsx +11 -13
  144. package/src/theme/BlogSidebar/styles.module.css +4 -2
  145. package/src/theme/BlogTagsListPage/index.tsx +15 -60
  146. package/src/theme/BlogTagsPostsPage/index.tsx +32 -40
  147. package/src/theme/CodeBlock/index.tsx +68 -156
  148. package/src/theme/CodeBlock/styles.module.css +17 -9
  149. package/src/theme/ColorModeToggle/index.tsx +92 -0
  150. package/src/theme/ColorModeToggle/styles.module.css +51 -0
  151. package/src/theme/Details/index.tsx +25 -0
  152. package/src/theme/Details/styles.module.css +13 -0
  153. package/src/theme/DocBreadcrumbs/index.tsx +91 -0
  154. package/src/theme/DocBreadcrumbs/styles.module.css +26 -0
  155. package/src/theme/DocCard/index.tsx +109 -0
  156. package/src/theme/DocCard/styles.module.css +43 -0
  157. package/src/theme/DocCardList/index.tsx +27 -0
  158. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +59 -0
  159. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  160. package/src/theme/DocItem/index.tsx +56 -58
  161. package/src/theme/DocItem/styles.module.css +6 -10
  162. package/src/theme/DocItemFooter/index.tsx +91 -0
  163. package/{lib/theme/Toggle → src/theme/DocItemFooter}/styles.module.css +9 -8
  164. package/src/theme/DocPage/index.tsx +53 -49
  165. package/src/theme/DocPage/styles.module.css +9 -3
  166. package/src/theme/DocPaginator/index.tsx +15 -23
  167. package/src/theme/DocSidebar/index.tsx +76 -298
  168. package/src/theme/DocSidebar/styles.module.css +5 -22
  169. package/src/theme/DocSidebarItem/index.tsx +283 -0
  170. package/src/theme/DocSidebarItem/styles.module.css +13 -0
  171. package/src/theme/DocSidebarItems/index.tsx +32 -0
  172. package/src/theme/DocTagDocListPage/index.tsx +89 -0
  173. package/src/theme/DocTagsListPage/index.tsx +39 -0
  174. package/src/theme/DocVersionBadge/index.tsx +35 -0
  175. package/src/theme/DocVersionBanner/index.tsx +49 -22
  176. package/src/theme/EditThisPage/index.tsx +6 -1
  177. package/src/theme/ErrorPageContent.tsx +41 -0
  178. package/src/theme/Footer/index.tsx +109 -44
  179. package/src/theme/Footer/styles.module.css +2 -1
  180. package/src/theme/Heading/index.tsx +38 -53
  181. package/src/theme/Heading/styles.module.css +25 -5
  182. package/src/theme/IconArrow/index.tsx +2 -4
  183. package/src/theme/IconClose/index.tsx +26 -0
  184. package/src/theme/IconDarkMode/index.tsx +20 -0
  185. package/src/theme/IconEdit/index.tsx +5 -4
  186. package/src/theme/IconExternalLink/index.tsx +3 -5
  187. package/src/theme/IconLanguage/index.tsx +6 -8
  188. package/src/theme/IconLightMode/index.tsx +20 -0
  189. package/src/theme/IconMenu/index.tsx +3 -5
  190. package/src/theme/LastUpdated/index.tsx +3 -2
  191. package/src/theme/Layout/index.tsx +5 -6
  192. package/src/theme/LayoutHead/index.tsx +26 -25
  193. package/src/theme/LayoutProviders/index.tsx +15 -9
  194. package/src/theme/Logo/index.tsx +21 -19
  195. package/src/theme/MDXComponents/index.tsx +70 -32
  196. package/{lib/theme/IconExternalLink/styles.module.css → src/theme/MDXComponents/styles.css} +7 -4
  197. package/src/theme/MDXPage/index.tsx +10 -12
  198. package/src/theme/Navbar/index.tsx +208 -68
  199. package/src/theme/Navbar/styles.module.css +10 -3
  200. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +37 -207
  201. package/src/theme/NavbarItem/DocNavbarItem.tsx +17 -18
  202. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +84 -0
  203. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +39 -24
  204. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  205. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +181 -0
  206. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +16 -10
  207. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  208. package/src/theme/NavbarItem/NavbarNavLink.tsx +68 -0
  209. package/src/theme/NavbarItem/index.tsx +41 -18
  210. package/src/theme/NavbarItem/utils.ts +10 -0
  211. package/src/theme/NotFound.tsx +1 -3
  212. package/src/theme/PaginatorNavLink/index.tsx +20 -0
  213. package/src/theme/SearchBar.tsx +2 -1
  214. package/src/theme/SearchMetadata/index.tsx +43 -0
  215. package/src/theme/Seo/index.tsx +7 -4
  216. package/src/theme/SkipToContent/index.tsx +3 -5
  217. package/src/theme/SkipToContent/styles.module.css +7 -0
  218. package/src/theme/TOC/index.tsx +13 -44
  219. package/src/theme/TOC/styles.module.css +1 -1
  220. package/src/theme/TOCCollapsible/index.tsx +58 -0
  221. package/src/theme/TOCCollapsible/styles.module.css +50 -0
  222. package/src/theme/TOCInline/index.tsx +14 -35
  223. package/src/theme/TOCItems/index.tsx +100 -0
  224. package/src/theme/TabItem/index.tsx +5 -3
  225. package/src/theme/Tabs/index.tsx +115 -56
  226. package/src/theme/Tabs/styles.module.css +0 -13
  227. package/src/theme/Tag/index.tsx +29 -0
  228. package/src/theme/Tag/styles.module.css +70 -0
  229. package/src/theme/TagsListByLetter/index.tsx +43 -0
  230. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  231. package/src/theme/TagsListInline/index.tsx +35 -0
  232. package/src/theme/TagsListInline/styles.module.css +15 -0
  233. package/src/theme/ThemedImage/index.tsx +7 -9
  234. package/src/theme/ThemedImage/styles.module.css +2 -2
  235. package/src/theme/prism-include-languages.ts +20 -15
  236. package/src/theme-classic.d.ts +771 -0
  237. package/src/translations.ts +74 -54
  238. package/src/types.d.ts +0 -587
  239. package/src/validateThemeConfig.ts +381 -0
  240. package/babel.config.js +0 -35
  241. package/codeTranslations/README.md +0 -20
  242. package/codeTranslations/ar.json +0 -57
  243. package/codeTranslations/base.json +0 -112
  244. package/codeTranslations/bn.json +0 -56
  245. package/codeTranslations/da.json +0 -57
  246. package/codeTranslations/de.json +0 -57
  247. package/codeTranslations/es.json +0 -57
  248. package/codeTranslations/fa.json +0 -57
  249. package/codeTranslations/fil.json +0 -57
  250. package/codeTranslations/fr.json +0 -57
  251. package/codeTranslations/he.json +0 -57
  252. package/codeTranslations/hi.json +0 -57
  253. package/codeTranslations/ja.json +0 -57
  254. package/codeTranslations/ko.json +0 -57
  255. package/codeTranslations/pl.json +0 -57
  256. package/codeTranslations/pt-BR.json +0 -57
  257. package/codeTranslations/pt-PT.json +0 -57
  258. package/codeTranslations/ru.json +0 -57
  259. package/codeTranslations/tr.json +0 -57
  260. package/codeTranslations/vi.json +0 -57
  261. package/codeTranslations/zh-Hans.json +0 -57
  262. package/codeTranslations/zh-Hant.json +0 -57
  263. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  264. package/lib/__tests__/translations.test.js +0 -112
  265. package/lib/__tests__/validateThemeConfig.test.js +0 -333
  266. package/lib/theme/AnnouncementBar/index.js +0 -72
  267. package/lib/theme/AnnouncementBar/styles.module.css +0 -72
  268. package/lib/theme/BlogListPage/index.js +0 -71
  269. package/lib/theme/BlogListPaginator/index.js +0 -63
  270. package/lib/theme/BlogPostItem/index.js +0 -161
  271. package/lib/theme/BlogPostPage/index.js +0 -69
  272. package/lib/theme/BlogPostPaginator/index.js +0 -64
  273. package/lib/theme/BlogSidebar/index.js +0 -51
  274. package/lib/theme/BlogSidebar/styles.module.css +0 -44
  275. package/lib/theme/BlogTagsListPage/index.js +0 -76
  276. package/lib/theme/BlogTagsPostsPage/index.js +0 -100
  277. package/lib/theme/CodeBlock/index.js +0 -253
  278. package/lib/theme/CodeBlock/styles.module.css +0 -68
  279. package/lib/theme/DocItem/index.js +0 -129
  280. package/lib/theme/DocPage/index.js +0 -173
  281. package/lib/theme/DocPage/styles.module.css +0 -80
  282. package/lib/theme/DocPaginator/index.js +0 -63
  283. package/lib/theme/DocSidebar/index.js +0 -309
  284. package/lib/theme/DocSidebar/styles.module.css +0 -124
  285. package/lib/theme/DocVersionBanner/index.js +0 -128
  286. package/lib/theme/EditThisPage/index.js +0 -31
  287. package/lib/theme/Footer/index.js +0 -115
  288. package/lib/theme/Footer/styles.module.css +0 -15
  289. package/lib/theme/Heading/index.js +0 -76
  290. package/lib/theme/Heading/styles.css +0 -23
  291. package/lib/theme/Heading/styles.module.css +0 -15
  292. package/lib/theme/IconArrow/index.js +0 -28
  293. package/lib/theme/IconEdit/index.js +0 -34
  294. package/lib/theme/IconExternalLink/index.js +0 -30
  295. package/lib/theme/IconLanguage/index.js +0 -29
  296. package/lib/theme/IconMenu/index.js +0 -30
  297. package/lib/theme/LastUpdated/index.js +0 -61
  298. package/lib/theme/Layout/index.js +0 -64
  299. package/lib/theme/Layout/styles.css +0 -27
  300. package/lib/theme/LayoutHead/index.js +0 -144
  301. package/lib/theme/LayoutProviders/index.js +0 -36
  302. package/lib/theme/Logo/index.js +0 -60
  303. package/lib/theme/MDXComponents/index.js +0 -65
  304. package/lib/theme/MDXPage/index.js +0 -66
  305. package/lib/theme/Navbar/index.js +0 -147
  306. package/lib/theme/Navbar/styles.module.css +0 -20
  307. package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -209
  308. package/lib/theme/NavbarItem/DocNavbarItem.js +0 -63
  309. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -76
  310. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
  311. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  312. package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
  313. package/lib/theme/NavbarItem/index.js +0 -54
  314. package/lib/theme/NotFound.js +0 -57
  315. package/lib/theme/SearchBar.js +0 -15
  316. package/lib/theme/SearchMetadatas/index.js +0 -33
  317. package/lib/theme/Seo/index.js +0 -49
  318. package/lib/theme/SkipToContent/index.js +0 -71
  319. package/lib/theme/SkipToContent/styles.module.css +0 -14
  320. package/lib/theme/TOC/index.js +0 -59
  321. package/lib/theme/TOC/styles.module.css +0 -23
  322. package/lib/theme/TOCInline/index.js +0 -53
  323. package/lib/theme/TOCInline/styles.module.css +0 -12
  324. package/lib/theme/TabItem/index.js +0 -32
  325. package/lib/theme/Tabs/index.js +0 -150
  326. package/lib/theme/Tabs/styles.module.css +0 -23
  327. package/lib/theme/ThemeContext.js +0 -21
  328. package/lib/theme/ThemeProvider/index.js +0 -38
  329. package/lib/theme/ThemedImage/index.js +0 -49
  330. package/lib/theme/ThemedImage/styles.module.css +0 -18
  331. package/lib/theme/Toggle/index.js +0 -94
  332. package/lib/theme/Toggle/styles.css +0 -103
  333. package/lib/theme/UserPreferencesContext.js +0 -18
  334. package/lib/theme/UserPreferencesProvider/index.js +0 -36
  335. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  336. package/lib/theme/hooks/useDocs.js +0 -18
  337. package/lib/theme/hooks/useHideableNavbar.js +0 -92
  338. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  339. package/lib/theme/hooks/useLocationHash.js +0 -28
  340. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  341. package/lib/theme/hooks/usePrismTheme.js +0 -36
  342. package/lib/theme/hooks/useScrollPosition.js +0 -49
  343. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  344. package/lib/theme/hooks/useTabGroupChoice.js +0 -51
  345. package/lib/theme/hooks/useTheme.js +0 -99
  346. package/lib/theme/hooks/useThemeContext.js +0 -31
  347. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  348. package/lib/theme/hooks/useWindowSize.js +0 -55
  349. package/lib/theme/prism-include-languages.js +0 -39
  350. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  351. package/lib-next/__tests__/translations.test.js +0 -128
  352. package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
  353. package/lib-next/index.js +0 -221
  354. package/lib-next/theme/Heading/styles.css +0 -23
  355. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  356. package/lib-next/theme/ThemeContext.js +0 -9
  357. package/lib-next/theme/ThemeProvider/index.js +0 -25
  358. package/lib-next/theme/Toggle/index.js +0 -80
  359. package/lib-next/theme/Toggle/styles.css +0 -103
  360. package/lib-next/theme/UserPreferencesProvider/index.js +0 -24
  361. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  362. package/lib-next/theme/hooks/useDocs.js +0 -10
  363. package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
  364. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  365. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  366. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  367. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  368. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  369. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  370. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -39
  371. package/lib-next/theme/hooks/useTheme.js +0 -82
  372. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  373. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  374. package/lib-next/theme/hooks/useWindowSize.js +0 -45
  375. package/lib-next/translations.js +0 -145
  376. package/lib-next/types.d.ts +0 -598
  377. package/lib-next/validateThemeConfig.js +0 -317
  378. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  379. package/src/__tests__/translations.test.ts +0 -116
  380. package/src/__tests__/validateThemeConfig.test.js +0 -333
  381. package/src/prism-include-languages.js +0 -11
  382. package/src/theme/Heading/styles.css +0 -23
  383. package/src/theme/SearchMetadatas/index.tsx +0 -28
  384. package/src/theme/ThemeContext.ts +0 -15
  385. package/src/theme/ThemeProvider/index.tsx +0 -24
  386. package/src/theme/Toggle/index.tsx +0 -100
  387. package/src/theme/Toggle/styles.css +0 -103
  388. package/src/theme/UserPreferencesContext.ts +0 -12
  389. package/src/theme/UserPreferencesProvider/index.tsx +0 -27
  390. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  391. package/src/theme/hooks/useDocs.ts +0 -11
  392. package/src/theme/hooks/useHideableNavbar.ts +0 -85
  393. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  394. package/src/theme/hooks/useLocationHash.ts +0 -25
  395. package/src/theme/hooks/useLockBodyScroll.ts +0 -20
  396. package/src/theme/hooks/usePrismTheme.ts +0 -22
  397. package/src/theme/hooks/useScrollPosition.ts +0 -45
  398. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  399. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  400. package/src/theme/hooks/useTheme.ts +0 -92
  401. package/src/theme/hooks/useThemeContext.ts +0 -23
  402. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  403. package/src/theme/hooks/useWindowSize.ts +0 -51
  404. package/src/validateThemeConfig.js +0 -317
  405. package/tsconfig.json +0 -12
  406. package/update-code-translations.js +0 -240
  407. package/update-code-translations.test.js +0 -33
@@ -1,333 +0,0 @@
1
- /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- import {merge} from 'lodash';
9
-
10
- const {ThemeConfigSchema, DEFAULT_CONFIG} = require('../validateThemeConfig');
11
-
12
- const {normalizeThemeConfig} = require('@docusaurus/utils-validation');
13
- const theme = require('prism-react-renderer/themes/github');
14
- const darkTheme = require('prism-react-renderer/themes/dracula');
15
-
16
- function testValidateThemeConfig(partialThemeConfig) {
17
- return normalizeThemeConfig(ThemeConfigSchema, {
18
- ...DEFAULT_CONFIG,
19
- ...partialThemeConfig,
20
- });
21
- }
22
-
23
- function testOk(partialThemeConfig) {
24
- expect(
25
- testValidateThemeConfig({...DEFAULT_CONFIG, ...partialThemeConfig}),
26
- ).toEqual({
27
- ...DEFAULT_CONFIG,
28
- ...partialThemeConfig,
29
- });
30
- }
31
-
32
- describe('themeConfig', () => {
33
- test('should accept valid theme config', () => {
34
- const userConfig = {
35
- prism: {
36
- theme,
37
- darkTheme,
38
- defaultLanguage: 'javascript',
39
- additionalLanguages: ['kotlin', 'java'],
40
- },
41
- announcementBar: {
42
- id: 'supportus',
43
- content: 'pls support',
44
- backgroundColor: '#fff',
45
- textColor: '#000',
46
- isCloseable: true,
47
- },
48
- image: 'img/docusaurus-soc.png',
49
- navbar: {
50
- style: 'primary',
51
- hideOnScroll: true,
52
- title: 'Docusaurus',
53
- logo: {
54
- alt: 'Docusaurus Logo',
55
- src: 'img/docusaurus.svg',
56
- srcDark: 'img/docusaurus_keytar.svg',
57
- },
58
- items: [
59
- {
60
- type: 'docsVersionDropdown',
61
- position: 'left',
62
- dropdownItemsBefore: [],
63
- dropdownItemsAfter: [],
64
- },
65
- {
66
- to: 'docs/next/support',
67
- label: 'Community',
68
- position: 'left',
69
- activeBaseRegex: `docs/next/(support|team|resources)`,
70
- 'aria-label': 'Community',
71
- },
72
- ],
73
- },
74
- footer: {
75
- style: 'dark',
76
- links: [
77
- {
78
- title: 'Learn',
79
- items: [
80
- {
81
- label: 'Introduction',
82
- to: 'docs',
83
- },
84
- ],
85
- },
86
- ],
87
- logo: {
88
- alt: 'Facebook Open Source Logo',
89
- src: 'img/oss_logo.png',
90
- href: 'https://opensource.facebook.com',
91
- },
92
- copyright: `Copyright © ${new Date().getFullYear()} Facebook, Inc. Built with Docusaurus.`,
93
- },
94
- };
95
- expect(testValidateThemeConfig(userConfig)).toEqual({
96
- ...DEFAULT_CONFIG,
97
- ...userConfig,
98
- });
99
- });
100
-
101
- test('should allow possible types of navbar items', () => {
102
- const config = {
103
- navbar: {
104
- items: [
105
- // Doc link
106
- {
107
- type: 'doc',
108
- position: 'left',
109
- docId: 'intro',
110
- label: 'Introduction',
111
- activeSidebarClassName: 'custom-class',
112
- },
113
- // Regular link
114
- {
115
- to: '/guide/',
116
- label: 'Guide',
117
- position: 'left',
118
- activeBaseRegex: '/guide/',
119
- },
120
- // Regular dropdown
121
- {
122
- label: 'Community',
123
- position: 'right',
124
- items: [
125
- {
126
- label: 'Facebook',
127
- href: 'https://.facebook.com/',
128
- target: '_self',
129
- },
130
- {
131
- label: 'GitHub',
132
- href: 'https://github.com/facebook/docusaurus',
133
- className: 'github-link',
134
- },
135
- ],
136
- },
137
- // Doc version dropdown
138
- {
139
- type: 'docsVersionDropdown',
140
- position: 'right',
141
- dropdownActiveClassDisabled: true,
142
- dropdownItemsBefore: [
143
- {
144
- href:
145
- 'https://www.npmjs.com/package/docusaurus?activeTab=versions',
146
- label: 'Versions on npm',
147
- className: 'npm-styled',
148
- target: '_self',
149
- },
150
- ],
151
- dropdownItemsAfter: [
152
- {
153
- to: '/versions',
154
- label: 'All versions',
155
- className: 'all_vers',
156
- },
157
- ],
158
- },
159
- // External link with custom data attribute
160
- {
161
- href: 'https://github.com/facebook/docusaurus',
162
- position: 'right',
163
- className: 'header-github-link',
164
- 'aria-label': 'GitHub repository',
165
- },
166
- // Docs version
167
- {
168
- type: 'docsVersion',
169
- position: 'left',
170
- label: 'Current version',
171
- },
172
- ],
173
- },
174
- };
175
- expect(testValidateThemeConfig(config)).toEqual({
176
- ...DEFAULT_CONFIG,
177
- navbar: {
178
- ...DEFAULT_CONFIG.navbar,
179
- ...config.navbar,
180
- },
181
- });
182
- });
183
-
184
- test('should allow empty alt tags for the logo image in the header', () => {
185
- const altTagConfig = {
186
- navbar: {
187
- logo: {
188
- alt: '',
189
- src: '/arbitrary-logo.png',
190
- },
191
- hideOnScroll: false,
192
- },
193
- };
194
- expect(testValidateThemeConfig(altTagConfig)).toEqual({
195
- ...DEFAULT_CONFIG,
196
- navbar: {
197
- ...DEFAULT_CONFIG.navbar,
198
- ...altTagConfig.navbar,
199
- },
200
- });
201
- });
202
-
203
- test('should allow empty alt tags for the logo image in the footer', () => {
204
- const partialConfig = {
205
- footer: {
206
- logo: {
207
- alt: '',
208
- src: '/arbitrary-logo.png',
209
- },
210
- },
211
- };
212
- const normalizedConfig = testValidateThemeConfig(partialConfig);
213
-
214
- expect(normalizedConfig).toEqual({
215
- ...normalizedConfig,
216
- footer: {
217
- ...normalizedConfig.footer,
218
- ...partialConfig.footer,
219
- },
220
- });
221
- });
222
-
223
- test('should accept valid prism config', () => {
224
- const prismConfig = {
225
- prism: {
226
- additionalLanguages: ['kotlin', 'java'],
227
- },
228
- };
229
- expect(testValidateThemeConfig(prismConfig)).toEqual({
230
- ...DEFAULT_CONFIG,
231
- ...prismConfig,
232
- });
233
- });
234
-
235
- describe('customCss config', () => {
236
- test('should accept customCss undefined', () => {
237
- testOk({
238
- customCss: undefined,
239
- });
240
- });
241
-
242
- test('should accept customCss string', () => {
243
- testOk({
244
- customCss: './path/to/cssFile.css',
245
- });
246
- });
247
-
248
- test('should accept customCss string array', () => {
249
- testOk({
250
- customCss: ['./path/to/cssFile.css', './path/to/cssFile2.css'],
251
- });
252
- });
253
-
254
- test('should reject customCss number', () => {
255
- expect(() =>
256
- testValidateThemeConfig({
257
- customCss: 42,
258
- }),
259
- ).toThrowErrorMatchingInlineSnapshot(
260
- `"\\"customCss\\" must be one of [array, string]"`,
261
- );
262
- });
263
- });
264
-
265
- describe('color mode config', () => {
266
- const withDefaultValues = (colorMode) =>
267
- merge({}, DEFAULT_CONFIG.colorMode, colorMode);
268
-
269
- test('minimal config', () => {
270
- const colorMode = {
271
- switchConfig: {
272
- darkIcon: '🌙',
273
- },
274
- };
275
- expect(testValidateThemeConfig({colorMode})).toEqual({
276
- ...DEFAULT_CONFIG,
277
- colorMode: withDefaultValues(colorMode),
278
- });
279
- });
280
-
281
- test('max config', () => {
282
- const colorMode = {
283
- defaultMode: 'dark',
284
- disableSwitch: false,
285
- respectPrefersColorScheme: true,
286
- switchConfig: {
287
- darkIcon: '🌙',
288
- darkIconStyle: {
289
- marginTop: '1px',
290
- marginLeft: '2px',
291
- },
292
- lightIcon: '☀️',
293
- lightIconStyle: {
294
- marginLeft: '1px',
295
- },
296
- },
297
- };
298
- expect(testValidateThemeConfig({colorMode})).toEqual({
299
- ...DEFAULT_CONFIG,
300
- colorMode: withDefaultValues(colorMode),
301
- });
302
- });
303
-
304
- test('undefined config', () => {
305
- const colorMode = undefined;
306
- expect(testValidateThemeConfig({colorMode})).toEqual({
307
- ...DEFAULT_CONFIG,
308
- colorMode: withDefaultValues(colorMode),
309
- });
310
- });
311
-
312
- test('empty config', () => {
313
- const colorMode = {};
314
- expect(testValidateThemeConfig({colorMode})).toEqual({
315
- ...DEFAULT_CONFIG,
316
- colorMode: {
317
- ...DEFAULT_CONFIG.colorMode,
318
- ...colorMode,
319
- },
320
- });
321
- });
322
-
323
- test('empty switch config', () => {
324
- const colorMode = {
325
- switchConfig: {},
326
- };
327
- expect(testValidateThemeConfig({colorMode})).toEqual({
328
- ...DEFAULT_CONFIG,
329
- colorMode: withDefaultValues(colorMode),
330
- });
331
- });
332
- });
333
- });
package/lib-next/index.js DELETED
@@ -1,221 +0,0 @@
1
- /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- import {getTranslationFiles, translateThemeConfig} from './translations';
8
- import path from 'path';
9
- import Module from 'module';
10
- import rtlcss from 'rtlcss';
11
- import {readDefaultCodeTranslationMessages} from '@docusaurus/utils';
12
- const createRequire = Module.createRequire || Module.createRequireFromPath;
13
- const requireFromDocusaurusCore = createRequire(
14
- require.resolve('@docusaurus/core/package.json'),
15
- );
16
- const ContextReplacementPlugin = requireFromDocusaurusCore(
17
- 'webpack/lib/ContextReplacementPlugin',
18
- ); // Need to be inlined to prevent dark mode FOUC
19
- // Make sure that the 'storageKey' is the same as the one in `/theme/hooks/useTheme.js`
20
-
21
- const ThemeStorageKey = 'theme';
22
-
23
- const noFlashColorMode = ({defaultMode, respectPrefersColorScheme}) => {
24
- return `(function() {
25
- var defaultMode = '${defaultMode}';
26
- var respectPrefersColorScheme = ${respectPrefersColorScheme};
27
-
28
- function setDataThemeAttribute(theme) {
29
- document.documentElement.setAttribute('data-theme', theme);
30
- }
31
-
32
- function getStoredTheme() {
33
- var theme = null;
34
- try {
35
- theme = localStorage.getItem('${ThemeStorageKey}');
36
- } catch (err) {}
37
- return theme;
38
- }
39
-
40
- var storedTheme = getStoredTheme();
41
- if (storedTheme !== null) {
42
- setDataThemeAttribute(storedTheme);
43
- } else {
44
- if (
45
- respectPrefersColorScheme &&
46
- window.matchMedia('(prefers-color-scheme: dark)').matches
47
- ) {
48
- setDataThemeAttribute('dark');
49
- } else if (
50
- respectPrefersColorScheme &&
51
- window.matchMedia('(prefers-color-scheme: light)').matches
52
- ) {
53
- setDataThemeAttribute('light');
54
- } else {
55
- setDataThemeAttribute(defaultMode === 'dark' ? 'dark' : 'light');
56
- }
57
- }
58
- })();`;
59
- }; // Duplicated constant. Unfortunately we can't import it from theme-common, as we need to support older nodejs versions without ESM support
60
- // TODO: import from theme-common once we only support Node.js with ESM support
61
- // + move all those announcementBar stuff there too
62
-
63
- export const AnnouncementBarDismissStorageKey =
64
- 'docusaurus.announcement.dismiss';
65
- const AnnouncementBarDismissDataAttribute =
66
- 'data-announcement-bar-initially-dismissed'; // We always render the announcement bar html on the server, to prevent layout shifts on React hydration
67
- // The theme can use CSS + the data attribute to hide the announcement bar asap (before React hydration)
68
-
69
- const AnnouncementBarInlineJavaScript = `
70
- (function() {
71
- function isDismissed() {
72
- try {
73
- return localStorage.getItem('${AnnouncementBarDismissStorageKey}') === 'true';
74
- } catch (err) {}
75
- return false;
76
- }
77
- document.documentElement.setAttribute('${AnnouncementBarDismissDataAttribute}', isDismissed());
78
- })();`;
79
-
80
- function getInfimaCSSFile(direction) {
81
- return `infima/dist/css/default/default${
82
- direction === 'rtl' ? '-rtl' : ''
83
- }.css`;
84
- }
85
-
86
- export default function docusaurusThemeClassic(
87
- context, // TODO: LoadContext is missing some of properties
88
- options,
89
- ) {
90
- const {
91
- siteConfig: {themeConfig: roughlyTypedThemeConfig},
92
- i18n: {currentLocale, localeConfigs},
93
- } = context;
94
- const themeConfig = roughlyTypedThemeConfig || {};
95
- const {
96
- announcementBar,
97
- colorMode,
98
- prism: {additionalLanguages = []} = {},
99
- } = themeConfig;
100
- const {customCss} = options || {};
101
- const {direction} = localeConfigs[currentLocale];
102
- return {
103
- name: 'docusaurus-theme-classic',
104
-
105
- /*
106
- Does not seem needed: webpack can already hot reload theme files
107
- getPathsToWatch() {
108
- return [
109
- path.join(__dirname, '..', 'lib'),
110
- path.join(__dirname, '..', 'lib-next'),
111
- ];
112
- },
113
- */
114
- getThemePath() {
115
- return path.join(__dirname, '..', 'lib-next', 'theme');
116
- },
117
-
118
- getTypeScriptThemePath() {
119
- return path.resolve(__dirname, '..', 'src', 'theme');
120
- },
121
-
122
- getTranslationFiles: async () =>
123
- getTranslationFiles({
124
- themeConfig,
125
- }),
126
- translateThemeConfig,
127
- getDefaultCodeTranslationMessages: () => {
128
- return readDefaultCodeTranslationMessages({
129
- dirPath: path.resolve(__dirname, '..', 'codeTranslations'),
130
- locale: currentLocale,
131
- });
132
- },
133
-
134
- getClientModules() {
135
- const modules = [
136
- require.resolve(getInfimaCSSFile(direction)),
137
- path.resolve(__dirname, './prism-include-languages'),
138
- ];
139
-
140
- if (customCss) {
141
- if (Array.isArray(customCss)) {
142
- modules.push(...customCss);
143
- } else {
144
- modules.push(customCss);
145
- }
146
- }
147
-
148
- return modules;
149
- },
150
-
151
- configureWebpack() {
152
- const prismLanguages = additionalLanguages
153
- .map((lang) => `prism-${lang}`)
154
- .join('|');
155
- return {
156
- ignoreWarnings: [
157
- // See https://github.com/facebook/docusaurus/pull/3382
158
- (e) => e.message.includes("Can't resolve '@theme-init/hooks/useDocs"),
159
- ],
160
- plugins: [
161
- new ContextReplacementPlugin(
162
- /prismjs[\\/]components$/,
163
- new RegExp(`^./(${prismLanguages})$`),
164
- ),
165
- ],
166
- };
167
- },
168
-
169
- configurePostCss(postCssOptions) {
170
- if (direction === 'rtl') {
171
- const resolvedInfimaFile = require.resolve(getInfimaCSSFile(direction));
172
-
173
- const plugin = {
174
- postcssPlugin: 'RtlCssPlugin',
175
- prepare: (result) => {
176
- const file = result.root?.source?.input?.file; // Skip Infima as we are using the its RTL version.
177
-
178
- if (file === resolvedInfimaFile) {
179
- return {};
180
- }
181
-
182
- return rtlcss(result.root);
183
- },
184
- };
185
- postCssOptions.plugins.push(plugin);
186
- }
187
-
188
- return postCssOptions;
189
- },
190
-
191
- injectHtmlTags() {
192
- return {
193
- preBodyTags: [
194
- {
195
- tagName: 'script',
196
- innerHTML: `
197
- ${noFlashColorMode(colorMode)}
198
- ${announcementBar ? AnnouncementBarInlineJavaScript : ''}
199
- `,
200
- },
201
- ],
202
- };
203
- },
204
- };
205
- }
206
- const swizzleAllowedComponents = [
207
- 'CodeBlock',
208
- 'DocSidebar',
209
- 'Footer',
210
- 'NotFound',
211
- 'SearchBar',
212
- 'IconArrow',
213
- 'IconEdit',
214
- 'IconMenu',
215
- 'hooks/useTheme',
216
- 'prism-include-languages',
217
- ];
218
- export function getSwizzleComponentList() {
219
- return swizzleAllowedComponents;
220
- }
221
- export {validateThemeConfig} from './validateThemeConfig';
@@ -1,23 +0,0 @@
1
- /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- .anchor {
9
- display: block;
10
- position: relative;
11
- top: -0.5rem;
12
- }
13
-
14
- .hash-link {
15
- opacity: 0;
16
- padding-left: 0.5rem;
17
- transition: opacity var(--ifm-transition-fast);
18
- }
19
-
20
- .hash-link:focus,
21
- *:hover > .hash-link {
22
- opacity: 1;
23
- }
@@ -1,20 +0,0 @@
1
- /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- import React from 'react';
8
- import Head from '@docusaurus/Head';
9
- // Note: we don't couple this to Algolia/DocSearch on purpose
10
- // We may want to support other search engine plugins too
11
- // Search plugins should swizzle/override this comp to add their behavior
12
- export default function SearchMetadatas({locale, version, tag}) {
13
- return (
14
- <Head>
15
- {locale && <meta name="docusaurus_locale" content={locale} />}
16
- {version && <meta name="docusaurus_version" content={version} />}
17
- {tag && <meta name="docusaurus_tag" content={tag} />}
18
- </Head>
19
- );
20
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- import React from 'react';
8
- const ThemeContext = React.createContext(undefined);
9
- export default ThemeContext;
@@ -1,25 +0,0 @@
1
- /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- import React from 'react';
8
- import useTheme from '@theme/hooks/useTheme';
9
- import ThemeContext from '@theme/ThemeContext';
10
-
11
- function ThemeProvider(props) {
12
- const {isDarkTheme, setLightTheme, setDarkTheme} = useTheme();
13
- return (
14
- <ThemeContext.Provider
15
- value={{
16
- isDarkTheme,
17
- setLightTheme,
18
- setDarkTheme,
19
- }}>
20
- {props.children}
21
- </ThemeContext.Provider>
22
- );
23
- }
24
-
25
- export default ThemeProvider;