@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
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ // eslint-disable-next-line import/no-named-export
9
+ export const getInfimaActiveClassName = (mobile?: boolean): string =>
10
+ mobile ? 'menu__link--active' : 'navbar__link--active';
@@ -9,7 +9,7 @@ import React from 'react';
9
9
  import Layout from '@theme/Layout';
10
10
  import Translate, {translate} from '@docusaurus/Translate';
11
11
 
12
- function NotFound(): JSX.Element {
12
+ export default function NotFound(): JSX.Element {
13
13
  return (
14
14
  <Layout
15
15
  title={translate({
@@ -47,5 +47,3 @@ function NotFound(): JSX.Element {
47
47
  </Layout>
48
48
  );
49
49
  }
50
-
51
- export default NotFound;
@@ -0,0 +1,20 @@
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 React from 'react';
9
+ import Link from '@docusaurus/Link';
10
+ import type {Props} from '@theme/PaginatorNavLink';
11
+
12
+ export default function PaginatorNavLink(props: Props): JSX.Element {
13
+ const {permalink, title, subLabel} = props;
14
+ return (
15
+ <Link className="pagination-nav__link" to={permalink}>
16
+ {subLabel && <div className="pagination-nav__sublabel">{subLabel}</div>}
17
+ <div className="pagination-nav__label">{title}</div>
18
+ </Link>
19
+ );
20
+ }
@@ -6,7 +6,8 @@
6
6
  */
7
7
 
8
8
  // By default, the classic theme does not provide any SearchBar implementation
9
- // If you swizzled this file, it is your responsibility to provide an implementation
9
+ // If you swizzled this, it is your responsibility to provide an implementation
10
10
  // Tip: swizzle the SearchBar from the Algolia theme for inspiration:
11
11
  // npm run swizzle @docusaurus/theme-search-algolia SearchBar
12
+
12
13
  export {default} from '@docusaurus/Noop';
@@ -0,0 +1,43 @@
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 React from 'react';
9
+
10
+ import Head from '@docusaurus/Head';
11
+ import type {Props} from '@theme/SearchMetadata';
12
+
13
+ // Note: we bias toward using Algolia metadata on purpose
14
+ // Not doing so leads to confusion in the community,
15
+ // as it requires to first crawl the site with the Algolia plugin enabled first
16
+ // - https://github.com/facebook/docusaurus/issues/6693
17
+ // - https://github.com/facebook/docusaurus/issues/4555
18
+ export default function SearchMetadata({
19
+ locale,
20
+ version,
21
+ tag,
22
+ }: Props): JSX.Element {
23
+ // Seems safe to consider here the locale is the language, as the existing
24
+ // docsearch:language filter is afaik a regular string-based filter
25
+ const language = locale;
26
+
27
+ return (
28
+ <Head>
29
+ {/*
30
+ Docusaurus metadata, used by third-party search plugin
31
+ See https://github.com/cmfcmf/docusaurus-search-local/issues/99
32
+ */}
33
+ {locale && <meta name="docusaurus_locale" content={locale} />}
34
+ {version && <meta name="docusaurus_version" content={version} />}
35
+ {tag && <meta name="docusaurus_tag" content={tag} />}
36
+
37
+ {/* Algolia DocSearch metadata */}
38
+ {language && <meta name="docsearch:language" content={language} />}
39
+ {version && <meta name="docsearch:version" content={version} />}
40
+ {tag && <meta name="docsearch:docusaurus_tag" content={tag} />}
41
+ </Head>
42
+ );
43
+ }
@@ -7,8 +7,8 @@
7
7
 
8
8
  import React from 'react';
9
9
  import Head from '@docusaurus/Head';
10
- import {useThemeConfig, useTitleFormatter} from '@docusaurus/theme-common';
11
- import useBaseUrl from '@docusaurus/useBaseUrl';
10
+ import {useTitleFormatter} from '@docusaurus/theme-common';
11
+ import {useBaseUrlUtils} from '@docusaurus/useBaseUrl';
12
12
 
13
13
  import type {Props} from '@theme/Seo';
14
14
 
@@ -17,10 +17,11 @@ export default function Seo({
17
17
  description,
18
18
  keywords,
19
19
  image,
20
+ children,
20
21
  }: Props): JSX.Element {
21
- const {image: defaultImage} = useThemeConfig();
22
22
  const pageTitle = useTitleFormatter(title);
23
- const pageImage = useBaseUrl(image || defaultImage, {absolute: true});
23
+ const {withBaseUrl} = useBaseUrlUtils();
24
+ const pageImage = image ? withBaseUrl(image, {absolute: true}) : undefined;
24
25
 
25
26
  return (
26
27
  <Head>
@@ -41,6 +42,8 @@ export default function Seo({
41
42
 
42
43
  {pageImage && <meta property="og:image" content={pageImage} />}
43
44
  {pageImage && <meta name="twitter:image" content={pageImage} />}
45
+
46
+ {children}
44
47
  </Head>
45
48
  );
46
49
  }
@@ -18,7 +18,7 @@ function programmaticFocus(el: HTMLElement) {
18
18
  el.removeAttribute('tabindex');
19
19
  }
20
20
 
21
- function SkipToContent(): JSX.Element {
21
+ export default function SkipToContent(): JSX.Element {
22
22
  const containerRef = useRef<HTMLDivElement>(null);
23
23
  const {action} = useHistory();
24
24
  const handleSkip = (e: React.MouseEvent<HTMLAnchorElement>) => {
@@ -34,13 +34,13 @@ function SkipToContent(): JSX.Element {
34
34
  };
35
35
 
36
36
  useLocationChange(({location}) => {
37
- if (containerRef.current && !location.hash && action !== 'POP') {
37
+ if (containerRef.current && !location.hash && action === 'PUSH') {
38
38
  programmaticFocus(containerRef.current);
39
39
  }
40
40
  });
41
41
 
42
42
  return (
43
- <div ref={containerRef}>
43
+ <div ref={containerRef} role="region">
44
44
  {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
45
45
  <a href="#" className={styles.skipToContent} onClick={handleSkip}>
46
46
  <Translate
@@ -52,5 +52,3 @@ function SkipToContent(): JSX.Element {
52
52
  </div>
53
53
  );
54
54
  }
55
-
56
- export default SkipToContent;
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
1
8
  .skipToContent {
2
9
  position: fixed;
3
10
  top: 1rem;
@@ -7,54 +7,23 @@
7
7
 
8
8
  import React from 'react';
9
9
  import clsx from 'clsx';
10
- import useTOCHighlight from '@theme/hooks/useTOCHighlight';
11
- import type {TOCProps} from '@theme/TOC';
10
+ import type {Props} from '@theme/TOC';
11
+ import TOCItems from '@theme/TOCItems';
12
12
  import styles from './styles.module.css';
13
- import {TOCItem} from '@docusaurus/types';
14
13
 
15
- const LINK_CLASS_NAME = 'table-of-contents__link';
16
- const ACTIVE_LINK_CLASS_NAME = 'table-of-contents__link--active';
17
- const TOP_OFFSET = 100;
14
+ // Using a custom className
15
+ // This prevents TOCInline/TOCCollapsible getting highlighted by mistake
16
+ const LINK_CLASS_NAME = 'table-of-contents__link toc-highlight';
17
+ const LINK_ACTIVE_CLASS_NAME = 'table-of-contents__link--active';
18
18
 
19
- /* eslint-disable jsx-a11y/control-has-associated-label */
20
- function Headings({
21
- toc,
22
- isChild,
23
- }: {
24
- toc: readonly TOCItem[];
25
- isChild?: boolean;
26
- }) {
27
- if (!toc.length) {
28
- return null;
29
- }
19
+ export default function TOC({className, ...props}: Props): JSX.Element {
30
20
  return (
31
- <ul
32
- className={
33
- isChild ? '' : 'table-of-contents table-of-contents__left-border'
34
- }>
35
- {toc.map((heading) => (
36
- <li key={heading.id}>
37
- <a
38
- href={`#${heading.id}`}
39
- className={LINK_CLASS_NAME}
40
- // Developer provided the HTML, so assume it's safe.
41
- // eslint-disable-next-line react/no-danger
42
- dangerouslySetInnerHTML={{__html: heading.value}}
43
- />
44
- <Headings isChild toc={heading.children} />
45
- </li>
46
- ))}
47
- </ul>
48
- );
49
- }
50
-
51
- function TOC({toc}: TOCProps): JSX.Element {
52
- useTOCHighlight(LINK_CLASS_NAME, ACTIVE_LINK_CLASS_NAME, TOP_OFFSET);
53
- return (
54
- <div className={clsx(styles.tableOfContents, 'thin-scrollbar')}>
55
- <Headings toc={toc} />
21
+ <div className={clsx(styles.tableOfContents, 'thin-scrollbar', className)}>
22
+ <TOCItems
23
+ {...props}
24
+ linkClassName={LINK_CLASS_NAME}
25
+ linkActiveClassName={LINK_ACTIVE_CLASS_NAME}
26
+ />
56
27
  </div>
57
28
  );
58
29
  }
59
-
60
- export default TOC;
@@ -12,7 +12,7 @@
12
12
  top: calc(var(--ifm-navbar-height) + 1rem);
13
13
  }
14
14
 
15
- @media only screen and (max-width: 996px) {
15
+ @media (max-width: 996px) {
16
16
  .tableOfContents {
17
17
  display: none;
18
18
  }
@@ -0,0 +1,58 @@
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 React from 'react';
9
+ import clsx from 'clsx';
10
+ import Translate from '@docusaurus/Translate';
11
+ import {useCollapsible, Collapsible} from '@docusaurus/theme-common';
12
+ import styles from './styles.module.css';
13
+ import TOCItems from '@theme/TOCItems';
14
+ import type {Props} from '@theme/TOCCollapsible';
15
+
16
+ export default function TOCCollapsible({
17
+ toc,
18
+ className,
19
+ minHeadingLevel,
20
+ maxHeadingLevel,
21
+ }: Props): JSX.Element {
22
+ const {collapsed, toggleCollapsed} = useCollapsible({
23
+ initialState: true,
24
+ });
25
+
26
+ return (
27
+ <div
28
+ className={clsx(
29
+ styles.tocCollapsible,
30
+ {
31
+ [styles.tocCollapsibleExpanded]: !collapsed,
32
+ },
33
+ className,
34
+ )}>
35
+ <button
36
+ type="button"
37
+ className={clsx('clean-btn', styles.tocCollapsibleButton)}
38
+ onClick={toggleCollapsed}>
39
+ <Translate
40
+ id="theme.TOCCollapsible.toggleButtonLabel"
41
+ description="The label used by the button on the collapsible TOC component">
42
+ On this page
43
+ </Translate>
44
+ </button>
45
+
46
+ <Collapsible
47
+ lazy
48
+ className={styles.tocCollapsibleContent}
49
+ collapsed={collapsed}>
50
+ <TOCItems
51
+ toc={toc}
52
+ minHeadingLevel={minHeadingLevel}
53
+ maxHeadingLevel={maxHeadingLevel}
54
+ />
55
+ </Collapsible>
56
+ </div>
57
+ );
58
+ }
@@ -0,0 +1,50 @@
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
+ .tocCollapsible {
9
+ background-color: var(--ifm-menu-color-background-active);
10
+ border-radius: var(--ifm-global-radius);
11
+ margin: 1rem 0;
12
+ }
13
+
14
+ .tocCollapsibleButton {
15
+ font-size: inherit;
16
+ display: flex;
17
+ justify-content: space-between;
18
+ align-items: center;
19
+ padding: 0.4rem 0.8rem;
20
+ width: 100%;
21
+ }
22
+
23
+ .tocCollapsibleButton::after {
24
+ content: '';
25
+ background: var(--ifm-menu-link-sublist-icon) 50% 50% / 2rem 2rem no-repeat;
26
+ filter: var(--ifm-menu-link-sublist-icon-filter);
27
+ height: 1.25rem;
28
+ width: 1.25rem;
29
+ transform: rotate(180deg);
30
+ transition: transform var(--ifm-transition-fast);
31
+ }
32
+
33
+ .tocCollapsibleContent > ul {
34
+ border-left: none;
35
+ border-top: 1px solid var(--ifm-color-emphasis-300);
36
+ padding: 0.2rem 0;
37
+ font-size: 15px;
38
+ }
39
+
40
+ .tocCollapsibleContent ul li {
41
+ margin: 0.4rem 0.8rem;
42
+ }
43
+
44
+ .tocCollapsibleContent a {
45
+ display: block;
46
+ }
47
+
48
+ .tocCollapsibleExpanded .tocCollapsibleButton::after {
49
+ transform: none;
50
+ }
@@ -6,45 +6,24 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
- import clsx from 'clsx';
10
- import type {TOCInlineProps} from '@theme/TOCInline';
9
+ import type {Props} from '@theme/TOCInline';
11
10
  import styles from './styles.module.css';
12
- import {TOCItem} from '@docusaurus/types';
11
+ import TOCItems from '@theme/TOCItems';
13
12
 
14
- /* eslint-disable jsx-a11y/control-has-associated-label */
15
- function HeadingsInline({
13
+ export default function TOCInline({
16
14
  toc,
17
- isChild,
18
- }: {
19
- toc: readonly TOCItem[];
20
- isChild?: boolean;
21
- }) {
22
- if (!toc.length) {
23
- return null;
24
- }
15
+ minHeadingLevel,
16
+ maxHeadingLevel,
17
+ }: Props): JSX.Element {
25
18
  return (
26
- <ul className={isChild ? '' : 'table-of-contents'}>
27
- {toc.map((heading) => (
28
- <li key={heading.id}>
29
- <a
30
- href={`#${heading.id}`}
31
- // Developer provided the HTML, so assume it's safe.
32
- // eslint-disable-next-line react/no-danger
33
- dangerouslySetInnerHTML={{__html: heading.value}}
34
- />
35
- <HeadingsInline isChild toc={heading.children} />
36
- </li>
37
- ))}
38
- </ul>
39
- );
40
- }
41
-
42
- function TOCInline({toc}: TOCInlineProps): JSX.Element {
43
- return (
44
- <div className={clsx(styles.tableOfContentsInline)}>
45
- <HeadingsInline toc={toc} />
19
+ <div className={styles.tableOfContentsInline}>
20
+ <TOCItems
21
+ toc={toc}
22
+ minHeadingLevel={minHeadingLevel}
23
+ maxHeadingLevel={maxHeadingLevel}
24
+ className="table-of-contents"
25
+ linkClassName={null}
26
+ />
46
27
  </div>
47
28
  );
48
29
  }
49
-
50
- export default TOCInline;
@@ -0,0 +1,100 @@
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 React, {useMemo} from 'react';
9
+ import type {Props} from '@theme/TOCItems';
10
+ import {
11
+ type TOCHighlightConfig,
12
+ type TOCTreeNode,
13
+ useThemeConfig,
14
+ useTOCHighlight,
15
+ useFilteredAndTreeifiedTOC,
16
+ } from '@docusaurus/theme-common';
17
+
18
+ // Recursive component rendering the toc tree
19
+ /* eslint-disable jsx-a11y/control-has-associated-label */
20
+ function TOCItemList({
21
+ toc,
22
+ className,
23
+ linkClassName,
24
+ isChild,
25
+ }: {
26
+ readonly toc: readonly TOCTreeNode[];
27
+ readonly className: string;
28
+ readonly linkClassName: string | null;
29
+ readonly isChild?: boolean;
30
+ }): JSX.Element | null {
31
+ if (!toc.length) {
32
+ return null;
33
+ }
34
+ return (
35
+ <ul className={isChild ? undefined : className}>
36
+ {toc.map((heading) => (
37
+ <li key={heading.id}>
38
+ <a
39
+ href={`#${heading.id}`}
40
+ className={linkClassName ?? undefined}
41
+ // Developer provided the HTML, so assume it's safe.
42
+ // eslint-disable-next-line react/no-danger
43
+ dangerouslySetInnerHTML={{__html: heading.value}}
44
+ />
45
+ <TOCItemList
46
+ isChild
47
+ toc={heading.children}
48
+ className={className}
49
+ linkClassName={linkClassName}
50
+ />
51
+ </li>
52
+ ))}
53
+ </ul>
54
+ );
55
+ }
56
+
57
+ export default function TOCItems({
58
+ toc,
59
+ className = 'table-of-contents table-of-contents__left-border',
60
+ linkClassName = 'table-of-contents__link',
61
+ linkActiveClassName = undefined,
62
+ minHeadingLevel: minHeadingLevelOption,
63
+ maxHeadingLevel: maxHeadingLevelOption,
64
+ ...props
65
+ }: Props): JSX.Element | null {
66
+ const themeConfig = useThemeConfig();
67
+
68
+ const minHeadingLevel =
69
+ minHeadingLevelOption ?? themeConfig.tableOfContents.minHeadingLevel;
70
+ const maxHeadingLevel =
71
+ maxHeadingLevelOption ?? themeConfig.tableOfContents.maxHeadingLevel;
72
+
73
+ const tocTree = useFilteredAndTreeifiedTOC({
74
+ toc,
75
+ minHeadingLevel,
76
+ maxHeadingLevel,
77
+ });
78
+
79
+ const tocHighlightConfig: TOCHighlightConfig | undefined = useMemo(() => {
80
+ if (linkClassName && linkActiveClassName) {
81
+ return {
82
+ linkClassName,
83
+ linkActiveClassName,
84
+ minHeadingLevel,
85
+ maxHeadingLevel,
86
+ };
87
+ }
88
+ return undefined;
89
+ }, [linkClassName, linkActiveClassName, minHeadingLevel, maxHeadingLevel]);
90
+ useTOCHighlight(tocHighlightConfig);
91
+
92
+ return (
93
+ <TOCItemList
94
+ toc={tocTree}
95
+ className={className}
96
+ linkClassName={linkClassName}
97
+ {...props}
98
+ />
99
+ );
100
+ }
@@ -8,12 +8,14 @@
8
8
  import React from 'react';
9
9
  import type {Props} from '@theme/TabItem';
10
10
 
11
- function TabItem({children, hidden, className}: Props): JSX.Element {
11
+ export default function TabItem({
12
+ children,
13
+ hidden,
14
+ className,
15
+ }: Props): JSX.Element {
12
16
  return (
13
17
  <div role="tabpanel" {...{hidden, className}}>
14
18
  {children}
15
19
  </div>
16
20
  );
17
21
  }
18
-
19
- export default TabItem;