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

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/deps.d.ts +13 -0
  4. package/lib/getSwizzleConfig.js +102 -0
  5. package/lib/index.js +59 -43
  6. package/lib/prism-include-languages.js +9 -5
  7. package/lib/theme-classic.d.ts +755 -0
  8. package/lib/translations.js +40 -34
  9. package/lib/types.d.ts +0 -589
  10. package/lib/validateThemeConfig.js +247 -246
  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 +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 +40 -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/lib-next/theme/BlogPostAuthors/styles.module.css +21 -0
  24. package/lib-next/theme/BlogPostItem/index.js +110 -95
  25. package/lib-next/theme/BlogPostItem/styles.module.css +5 -1
  26. package/lib-next/theme/BlogPostPage/index.js +75 -43
  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 +16 -66
  31. package/lib-next/theme/BlogTagsPostsPage/index.js +47 -59
  32. package/lib-next/theme/CodeBlock/index.js +73 -162
  33. package/lib-next/theme/CodeBlock/styles.module.css +18 -13
  34. package/lib-next/theme/Details/index.js +21 -0
  35. package/lib-next/theme/Details/styles.module.css +13 -0
  36. package/lib-next/theme/DocBreadcrumbs/index.js +76 -0
  37. package/lib-next/theme/DocBreadcrumbs/styles.module.css +26 -0
  38. package/lib-next/theme/DocCard/index.js +91 -0
  39. package/lib-next/theme/DocCard/styles.module.css +43 -0
  40. package/lib-next/theme/DocCardList/index.js +19 -0
  41. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +54 -0
  42. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  43. package/lib-next/theme/DocItem/index.js +64 -69
  44. package/lib-next/theme/DocItem/styles.module.css +7 -13
  45. package/lib-next/theme/DocItemFooter/index.js +79 -0
  46. package/{lib/theme/Layout/styles.css → lib-next/theme/DocItemFooter/styles.module.css} +8 -11
  47. package/lib-next/theme/DocPage/index.js +59 -33
  48. package/lib-next/theme/DocPage/styles.module.css +14 -26
  49. package/lib-next/theme/DocPaginator/index.js +16 -25
  50. package/lib-next/theme/DocSidebar/index.js +72 -285
  51. package/lib-next/theme/DocSidebar/styles.module.css +5 -36
  52. package/lib-next/theme/DocSidebarItem/index.js +264 -0
  53. package/lib-next/theme/DocSidebarItem/styles.module.css +13 -0
  54. package/lib-next/theme/DocSidebarItems/index.js +28 -0
  55. package/lib-next/theme/DocTagDocListPage/index.js +89 -0
  56. package/lib-next/theme/DocTagsListPage/index.js +35 -0
  57. package/lib-next/theme/DocVersionBadge/index.js +34 -0
  58. package/lib-next/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +54 -36
  59. package/lib-next/theme/EditThisPage/index.js +6 -1
  60. package/lib-next/theme/ErrorPageContent.js +35 -0
  61. package/lib-next/theme/Footer/index.js +105 -41
  62. package/lib-next/theme/Footer/styles.module.css +2 -1
  63. package/lib-next/theme/Heading/index.js +40 -33
  64. package/lib-next/theme/Heading/styles.module.css +27 -2
  65. package/lib-next/theme/IconArrow/index.js +3 -6
  66. package/lib-next/theme/IconClose/index.js +23 -0
  67. package/lib-next/theme/IconEdit/index.js +5 -10
  68. package/lib-next/theme/IconExternalLink/index.js +23 -0
  69. package/{lib/theme/BlogPostItem → lib-next/theme/IconExternalLink}/styles.module.css +4 -6
  70. package/lib-next/theme/IconLanguage/index.js +3 -6
  71. package/lib-next/theme/IconMenu/index.js +8 -9
  72. package/lib-next/theme/LastUpdated/index.js +35 -39
  73. package/lib-next/theme/Layout/index.js +5 -7
  74. package/lib-next/theme/Layout/styles.css +6 -0
  75. package/lib-next/theme/LayoutHead/index.js +27 -32
  76. package/lib-next/theme/LayoutProviders/index.js +21 -10
  77. package/lib-next/theme/Logo/index.js +21 -16
  78. package/lib-next/theme/MDXComponents/index.js +45 -30
  79. package/lib-next/theme/{hooks → MDXComponents}/styles.css +7 -2
  80. package/lib-next/theme/MDXPage/index.js +22 -28
  81. package/{lib/theme/LastUpdated → lib-next/theme/MDXPage}/styles.module.css +2 -2
  82. package/lib-next/theme/Navbar/index.js +199 -64
  83. package/lib-next/theme/Navbar/styles.module.css +11 -4
  84. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +36 -185
  85. package/lib-next/theme/NavbarItem/DocNavbarItem.js +31 -14
  86. package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +73 -0
  87. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +38 -24
  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-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  92. package/lib-next/theme/NavbarItem/NavbarNavLink.js +70 -0
  93. package/lib-next/theme/NavbarItem/index.js +27 -15
  94. package/lib-next/theme/{UserPreferencesContext.js → NavbarItem/utils.js} +3 -3
  95. package/lib-next/theme/NotFound.js +7 -6
  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 +25 -0
  99. package/lib-next/theme/Seo/index.js +11 -7
  100. package/lib-next/theme/SkipToContent/index.js +9 -8
  101. package/lib-next/theme/SkipToContent/styles.module.css +8 -3
  102. package/lib-next/theme/TOC/index.js +12 -39
  103. package/lib-next/theme/TOC/styles.module.css +2 -2
  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/TagsListByLetter/styles.module.css +11 -0
  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 +9 -13
  119. package/lib-next/theme/ThemedImage/styles.module.css +9 -2
  120. package/lib-next/theme/Toggle/index.js +65 -60
  121. package/lib-next/theme/Toggle/styles.module.css +30 -38
  122. package/lib-next/theme/prism-include-languages.js +17 -15
  123. package/package.json +31 -30
  124. package/src/admonitions.css +35 -0
  125. package/src/deps.d.ts +13 -0
  126. package/src/getSwizzleConfig.ts +101 -0
  127. package/src/index.ts +68 -66
  128. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  129. package/src/theme/Admonition/index.tsx +106 -0
  130. package/src/theme/AnnouncementBar/index.tsx +11 -20
  131. package/src/theme/AnnouncementBar/styles.module.css +26 -35
  132. package/src/theme/BackToTopButton/index.tsx +143 -0
  133. package/src/theme/BackToTopButton/styles.module.css +44 -0
  134. package/src/theme/BlogArchivePage/index.tsx +91 -0
  135. package/src/theme/BlogLayout/index.tsx +42 -0
  136. package/src/theme/BlogListPage/index.tsx +19 -28
  137. package/src/theme/BlogListPaginator/index.tsx +13 -15
  138. package/src/theme/BlogPostAuthor/index.tsx +44 -0
  139. package/src/theme/{LastUpdated → BlogPostAuthor}/styles.module.css +4 -2
  140. package/src/theme/BlogPostAuthors/index.tsx +49 -0
  141. package/src/theme/BlogPostAuthors/styles.module.css +21 -0
  142. package/src/theme/BlogPostItem/index.tsx +101 -91
  143. package/src/theme/BlogPostItem/styles.module.css +5 -1
  144. package/src/theme/BlogPostPage/index.tsx +77 -42
  145. package/src/theme/BlogPostPaginator/index.tsx +13 -19
  146. package/src/theme/BlogSidebar/index.tsx +23 -16
  147. package/src/theme/BlogSidebar/styles.module.css +8 -8
  148. package/src/theme/BlogTagsListPage/index.tsx +16 -66
  149. package/src/theme/BlogTagsPostsPage/index.tsx +43 -61
  150. package/src/theme/CodeBlock/index.tsx +77 -164
  151. package/src/theme/CodeBlock/styles.module.css +18 -13
  152. package/src/theme/Details/index.tsx +25 -0
  153. package/src/theme/Details/styles.module.css +13 -0
  154. package/src/theme/DocBreadcrumbs/index.tsx +91 -0
  155. package/src/theme/DocBreadcrumbs/styles.module.css +26 -0
  156. package/src/theme/DocCard/index.tsx +109 -0
  157. package/src/theme/DocCard/styles.module.css +43 -0
  158. package/src/theme/DocCardList/index.tsx +27 -0
  159. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +59 -0
  160. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  161. package/src/theme/DocItem/index.tsx +66 -68
  162. package/src/theme/DocItem/styles.module.css +7 -13
  163. package/src/theme/DocItemFooter/index.tsx +91 -0
  164. package/src/theme/DocItemFooter/styles.module.css +18 -0
  165. package/src/theme/DocPage/index.tsx +58 -34
  166. package/src/theme/DocPage/styles.module.css +14 -26
  167. package/src/theme/DocPaginator/index.tsx +16 -24
  168. package/src/theme/DocSidebar/index.tsx +83 -297
  169. package/src/theme/DocSidebar/styles.module.css +5 -36
  170. package/src/theme/DocSidebarItem/index.tsx +283 -0
  171. package/src/theme/DocSidebarItem/styles.module.css +13 -0
  172. package/src/theme/DocSidebarItems/index.tsx +32 -0
  173. package/src/theme/DocTagDocListPage/index.tsx +89 -0
  174. package/src/theme/DocTagsListPage/index.tsx +39 -0
  175. package/src/theme/DocVersionBadge/index.tsx +35 -0
  176. package/src/theme/{DocVersionSuggestions → DocVersionBanner}/index.tsx +77 -47
  177. package/src/theme/EditThisPage/index.tsx +6 -1
  178. package/src/theme/ErrorPageContent.tsx +41 -0
  179. package/src/theme/Footer/index.tsx +119 -45
  180. package/src/theme/Footer/styles.module.css +2 -1
  181. package/src/theme/Heading/index.tsx +41 -35
  182. package/src/theme/Heading/styles.module.css +27 -2
  183. package/src/theme/IconArrow/index.tsx +3 -5
  184. package/src/theme/IconClose/index.tsx +26 -0
  185. package/src/theme/IconEdit/index.tsx +8 -9
  186. package/src/theme/IconExternalLink/index.tsx +30 -0
  187. package/{lib/theme/Heading → src/theme/IconExternalLink}/styles.module.css +4 -2
  188. package/src/theme/IconLanguage/index.tsx +4 -6
  189. package/src/theme/IconMenu/index.tsx +4 -9
  190. package/src/theme/LastUpdated/index.tsx +35 -39
  191. package/src/theme/Layout/index.tsx +5 -6
  192. package/src/theme/Layout/styles.css +6 -0
  193. package/src/theme/LayoutHead/index.tsx +26 -25
  194. package/src/theme/LayoutProviders/index.tsx +21 -10
  195. package/src/theme/Logo/index.tsx +21 -15
  196. package/src/theme/MDXComponents/index.tsx +56 -32
  197. package/{lib/theme/hooks → src/theme/MDXComponents}/styles.css +7 -2
  198. package/src/theme/MDXPage/index.tsx +23 -28
  199. package/{lib-next/theme/LastUpdated → src/theme/MDXPage}/styles.module.css +2 -2
  200. package/src/theme/Navbar/index.tsx +208 -68
  201. package/src/theme/Navbar/styles.module.css +11 -4
  202. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +37 -194
  203. package/src/theme/NavbarItem/DocNavbarItem.tsx +33 -15
  204. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +84 -0
  205. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +44 -28
  206. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  207. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +181 -0
  208. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +16 -10
  209. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  210. package/src/theme/NavbarItem/NavbarNavLink.tsx +68 -0
  211. package/src/theme/NavbarItem/index.tsx +42 -19
  212. package/src/theme/NavbarItem/utils.ts +10 -0
  213. package/src/theme/NotFound.tsx +7 -5
  214. package/src/theme/PaginatorNavLink/index.tsx +20 -0
  215. package/src/theme/SearchBar.tsx +2 -1
  216. package/src/theme/SearchMetadata/index.tsx +34 -0
  217. package/src/theme/Seo/index.tsx +7 -4
  218. package/src/theme/SkipToContent/index.tsx +9 -8
  219. package/src/theme/SkipToContent/styles.module.css +8 -3
  220. package/src/theme/TOC/index.tsx +13 -44
  221. package/src/theme/TOC/styles.module.css +2 -2
  222. package/src/theme/TOCCollapsible/index.tsx +58 -0
  223. package/src/theme/TOCCollapsible/styles.module.css +50 -0
  224. package/src/theme/TOCInline/index.tsx +14 -35
  225. package/src/theme/TOCItems/index.tsx +100 -0
  226. package/src/theme/TabItem/index.tsx +5 -3
  227. package/src/theme/Tabs/index.tsx +115 -56
  228. package/src/theme/Tabs/styles.module.css +0 -13
  229. package/src/theme/Tag/index.tsx +29 -0
  230. package/src/theme/Tag/styles.module.css +70 -0
  231. package/src/theme/TagsListByLetter/index.tsx +43 -0
  232. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  233. package/src/theme/TagsListInline/index.tsx +35 -0
  234. package/src/theme/TagsListInline/styles.module.css +15 -0
  235. package/src/theme/ThemedImage/index.tsx +10 -12
  236. package/src/theme/ThemedImage/styles.module.css +9 -2
  237. package/src/theme/Toggle/index.tsx +66 -62
  238. package/src/theme/Toggle/styles.module.css +30 -38
  239. package/src/theme/prism-include-languages.ts +20 -15
  240. package/src/theme-classic.d.ts +755 -0
  241. package/src/translations.ts +74 -54
  242. package/src/types.d.ts +0 -589
  243. package/{lib-next/validateThemeConfig.js → src/validateThemeConfig.ts} +184 -104
  244. package/babel.config.js +0 -35
  245. package/codeTranslations/README.md +0 -20
  246. package/codeTranslations/ar.json +0 -55
  247. package/codeTranslations/base.json +0 -108
  248. package/codeTranslations/da.json +0 -55
  249. package/codeTranslations/de.json +0 -55
  250. package/codeTranslations/es.json +0 -55
  251. package/codeTranslations/fa.json +0 -55
  252. package/codeTranslations/fil.json +0 -55
  253. package/codeTranslations/fr.json +0 -55
  254. package/codeTranslations/he.json +0 -55
  255. package/codeTranslations/hi.json +0 -55
  256. package/codeTranslations/ja.json +0 -55
  257. package/codeTranslations/ko.json +0 -55
  258. package/codeTranslations/pl.json +0 -55
  259. package/codeTranslations/pt-BR.json +0 -55
  260. package/codeTranslations/pt-PT.json +0 -55
  261. package/codeTranslations/ru.json +0 -55
  262. package/codeTranslations/tr.json +0 -55
  263. package/codeTranslations/vi.json +0 -55
  264. package/codeTranslations/zh-Hans.json +0 -55
  265. package/codeTranslations/zh-Hant.json +0 -55
  266. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  267. package/lib/__tests__/translations.test.js +0 -112
  268. package/lib/__tests__/validateThemeConfig.test.js +0 -333
  269. package/lib/theme/AnnouncementBar/index.js +0 -74
  270. package/lib/theme/AnnouncementBar/styles.module.css +0 -72
  271. package/lib/theme/BlogListPage/index.js +0 -71
  272. package/lib/theme/BlogListPaginator/index.js +0 -63
  273. package/lib/theme/BlogPostItem/index.js +0 -152
  274. package/lib/theme/BlogPostPage/index.js +0 -75
  275. package/lib/theme/BlogPostPaginator/index.js +0 -64
  276. package/lib/theme/BlogSidebar/index.js +0 -43
  277. package/lib/theme/BlogSidebar/styles.module.css +0 -46
  278. package/lib/theme/BlogTagsListPage/index.js +0 -81
  279. package/lib/theme/BlogTagsPostsPage/index.js +0 -104
  280. package/lib/theme/CodeBlock/index.js +0 -253
  281. package/lib/theme/CodeBlock/styles.module.css +0 -71
  282. package/lib/theme/DocItem/index.js +0 -120
  283. package/lib/theme/DocItem/styles.module.css +0 -28
  284. package/lib/theme/DocPage/index.js +0 -141
  285. package/lib/theme/DocPage/styles.module.css +0 -98
  286. package/lib/theme/DocPaginator/index.js +0 -63
  287. package/lib/theme/DocSidebar/index.js +0 -307
  288. package/lib/theme/DocSidebar/styles.module.css +0 -138
  289. package/lib/theme/DocVersionSuggestions/index.js +0 -111
  290. package/lib/theme/EditThisPage/index.js +0 -31
  291. package/lib/theme/Footer/index.js +0 -108
  292. package/lib/theme/Footer/styles.module.css +0 -15
  293. package/lib/theme/Heading/index.js +0 -60
  294. package/lib/theme/Heading/styles.css +0 -23
  295. package/lib/theme/IconArrow/index.js +0 -28
  296. package/lib/theme/IconEdit/index.js +0 -34
  297. package/lib/theme/IconLanguage/index.js +0 -29
  298. package/lib/theme/IconMenu/index.js +0 -31
  299. package/lib/theme/LastUpdated/index.js +0 -65
  300. package/lib/theme/Layout/index.js +0 -64
  301. package/lib/theme/LayoutHead/index.js +0 -144
  302. package/lib/theme/LayoutProviders/index.js +0 -34
  303. package/lib/theme/Logo/index.js +0 -59
  304. package/lib/theme/MDXComponents/index.js +0 -65
  305. package/lib/theme/MDXPage/index.js +0 -68
  306. package/lib/theme/Navbar/index.js +0 -147
  307. package/lib/theme/Navbar/styles.module.css +0 -20
  308. package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -195
  309. package/lib/theme/NavbarItem/DocNavbarItem.js +0 -55
  310. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -75
  311. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
  312. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  313. package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
  314. package/lib/theme/NavbarItem/index.js +0 -54
  315. package/lib/theme/NotFound.js +0 -50
  316. package/lib/theme/SearchBar.js +0 -15
  317. package/lib/theme/SearchMetadatas/index.js +0 -33
  318. package/lib/theme/Seo/index.js +0 -49
  319. package/lib/theme/SkipToContent/index.js +0 -61
  320. package/lib/theme/SkipToContent/styles.module.css +0 -16
  321. package/lib/theme/TOC/index.js +0 -59
  322. package/lib/theme/TOC/styles.module.css +0 -23
  323. package/lib/theme/TOCInline/index.js +0 -53
  324. package/lib/theme/TOCInline/styles.module.css +0 -12
  325. package/lib/theme/TabItem/index.js +0 -32
  326. package/lib/theme/Tabs/index.js +0 -150
  327. package/lib/theme/Tabs/styles.module.css +0 -23
  328. package/lib/theme/ThemeContext.js +0 -21
  329. package/lib/theme/ThemeProvider/index.js +0 -38
  330. package/lib/theme/ThemedImage/index.js +0 -48
  331. package/lib/theme/ThemedImage/styles.module.css +0 -11
  332. package/lib/theme/Toggle/index.js +0 -106
  333. package/lib/theme/Toggle/styles.module.css +0 -114
  334. package/lib/theme/UserPreferencesContext.js +0 -18
  335. package/lib/theme/UserPreferencesProvider/index.js +0 -44
  336. package/lib/theme/hooks/useAnnouncementBar.js +0 -63
  337. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  338. package/lib/theme/hooks/useDocs.js +0 -18
  339. package/lib/theme/hooks/useHideableNavbar.js +0 -92
  340. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  341. package/lib/theme/hooks/useLocationHash.js +0 -28
  342. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  343. package/lib/theme/hooks/usePrismTheme.js +0 -36
  344. package/lib/theme/hooks/useScrollPosition.js +0 -49
  345. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  346. package/lib/theme/hooks/useTabGroupChoice.js +0 -53
  347. package/lib/theme/hooks/useTheme.js +0 -99
  348. package/lib/theme/hooks/useThemeContext.js +0 -31
  349. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  350. package/lib/theme/hooks/useWindowSize.js +0 -55
  351. package/lib/theme/prism-include-languages.js +0 -39
  352. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  353. package/lib-next/__tests__/translations.test.js +0 -128
  354. package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
  355. package/lib-next/index.js +0 -198
  356. package/lib-next/theme/Heading/styles.css +0 -23
  357. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  358. package/lib-next/theme/ThemeContext.js +0 -9
  359. package/lib-next/theme/ThemeProvider/index.js +0 -25
  360. package/lib-next/theme/UserPreferencesProvider/index.js +0 -28
  361. package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
  362. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  363. package/lib-next/theme/hooks/useDocs.js +0 -10
  364. package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
  365. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  366. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  367. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  368. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  369. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  370. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  371. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -41
  372. package/lib-next/theme/hooks/useTheme.js +0 -82
  373. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  374. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  375. package/lib-next/theme/hooks/useWindowSize.js +0 -45
  376. package/lib-next/translations.js +0 -145
  377. package/lib-next/types.d.ts +0 -600
  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/UserPreferencesContext.ts +0 -12
  387. package/src/theme/UserPreferencesProvider/index.tsx +0 -32
  388. package/src/theme/hooks/styles.css +0 -10
  389. package/src/theme/hooks/useAnnouncementBar.ts +0 -58
  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 -239
  407. package/update-code-translations.test.js +0 -33
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import React from 'react';
8
+ import Link from '@docusaurus/Link';
9
+ import {findFirstCategoryLink, useDocById} from '@docusaurus/theme-common';
10
+ import clsx from 'clsx';
11
+ import styles from './styles.module.css';
12
+ import isInternalUrl from '@docusaurus/isInternalUrl';
13
+ import {translate} from '@docusaurus/Translate';
14
+
15
+ function CardContainer({href, children}) {
16
+ const className = clsx(
17
+ 'card margin-bottom--lg padding--lg',
18
+ styles.cardContainer,
19
+ href && styles.cardContainerLink,
20
+ );
21
+ return href ? (
22
+ <Link href={href} className={className}>
23
+ {children}
24
+ </Link>
25
+ ) : (
26
+ <div className={className}>{children}</div>
27
+ );
28
+ }
29
+
30
+ function CardLayout({href, icon, title, description}) {
31
+ return (
32
+ <CardContainer href={href}>
33
+ <h2 className={clsx('text--truncate', styles.cardTitle)} title={title}>
34
+ {icon} {title}
35
+ </h2>
36
+ <div
37
+ className={clsx('text--truncate', styles.cardDescription)}
38
+ title={description}>
39
+ {description}
40
+ </div>
41
+ </CardContainer>
42
+ );
43
+ }
44
+
45
+ function CardCategory({item}) {
46
+ const href = findFirstCategoryLink(item);
47
+ return (
48
+ <CardLayout
49
+ href={href}
50
+ icon="🗃️"
51
+ title={item.label}
52
+ description={translate(
53
+ {
54
+ message: '{count} items',
55
+ id: 'theme.docs.DocCard.categoryDescription',
56
+ description:
57
+ 'The default description for a category card in the generated index about how many items this category includes',
58
+ },
59
+ {
60
+ count: item.items.length,
61
+ },
62
+ )}
63
+ />
64
+ );
65
+ }
66
+
67
+ function CardLink({item}) {
68
+ const icon = isInternalUrl(item.href) ? '📄️' : '🔗';
69
+ const doc = useDocById(item.docId ?? undefined);
70
+ return (
71
+ <CardLayout
72
+ href={item.href}
73
+ icon={icon}
74
+ title={item.label}
75
+ description={doc?.description}
76
+ />
77
+ );
78
+ }
79
+
80
+ export default function DocCard({item}) {
81
+ switch (item.type) {
82
+ case 'link':
83
+ return <CardLink item={item} />;
84
+
85
+ case 'category':
86
+ return <CardCategory item={item} />;
87
+
88
+ default:
89
+ throw new Error(`unknown item type ${JSON.stringify(item)}`);
90
+ }
91
+ }
@@ -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
+ .cardContainer {
9
+ height: 8rem;
10
+ color: var(--ifm-color-emphasis-800);
11
+ --ifm-link-color: var(--ifm-color-emphasis-800);
12
+ --ifm-link-hover-color: var(--ifm-color-emphasis-800);
13
+ --ifm-link-hover-decoration: none;
14
+
15
+ /* box-shadow: var(--ifm-global-shadow-lw); */
16
+ box-shadow: 0 1.5px 3px 0 rgb(0 0 0 / 15%);
17
+ border: 1px solid var(--ifm-color-emphasis-200);
18
+ transition: box-shadow var(--ifm-transition-fast) ease,
19
+ background-color var(--ifm-transition-fast) ease;
20
+ }
21
+
22
+ .cardContainer.cardContainerLink:hover {
23
+ /* box-shadow: var(--ifm-global-shadow-md); */
24
+ box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%);
25
+ }
26
+
27
+ [data-theme='dark'] .cardContainer.cardContainerLink:hover {
28
+ --ifm-card-background-color: #2d2d2d; /* original, non-hovered color is #242526 */
29
+ }
30
+
31
+ .cardContainer:not(.cardContainerLink) {
32
+ cursor: not-allowed;
33
+ }
34
+
35
+ .cardTitle {
36
+ font-size: 1.2rem;
37
+ min-height: 1.2rem;
38
+ }
39
+
40
+ .cardDescription {
41
+ font-size: 0.8rem;
42
+ min-height: 0.8rem;
43
+ }
@@ -0,0 +1,19 @@
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 DocCard from '@theme/DocCard';
9
+ export default function DocCardList({items}) {
10
+ return (
11
+ <div className="row">
12
+ {items.map((item, index) => (
13
+ <article key={index} className="col col--6">
14
+ <DocCard item={item} />
15
+ </article>
16
+ ))}
17
+ </div>
18
+ );
19
+ }
@@ -0,0 +1,54 @@
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 {useCurrentSidebarCategory} from '@docusaurus/theme-common';
9
+ import DocCardList from '@theme/DocCardList';
10
+ import DocPaginator from '@theme/DocPaginator';
11
+ import Seo from '@theme/Seo';
12
+ import DocVersionBanner from '@theme/DocVersionBanner';
13
+ import DocVersionBadge from '@theme/DocVersionBadge';
14
+ import DocBreadcrumbs from '@theme/DocBreadcrumbs';
15
+ import Heading from '@theme/Heading';
16
+ import useBaseUrl from '@docusaurus/useBaseUrl';
17
+ import styles from './styles.module.css';
18
+ export default function DocCategoryGeneratedIndexPage({
19
+ categoryGeneratedIndex,
20
+ }) {
21
+ const category = useCurrentSidebarCategory();
22
+ return (
23
+ <>
24
+ <Seo
25
+ title={categoryGeneratedIndex.title}
26
+ description={categoryGeneratedIndex.description}
27
+ keywords={categoryGeneratedIndex.keywords} // TODO `require` this?
28
+ image={useBaseUrl(categoryGeneratedIndex.image)}
29
+ />
30
+ <div className={styles.generatedIndexPage}>
31
+ <DocVersionBanner />
32
+ <DocBreadcrumbs />
33
+ <DocVersionBadge />
34
+ <header>
35
+ <Heading as="h1" className={styles.title}>
36
+ {categoryGeneratedIndex.title}
37
+ </Heading>
38
+ {categoryGeneratedIndex.description && (
39
+ <p>{categoryGeneratedIndex.description}</p>
40
+ )}
41
+ </header>
42
+ <main className="margin-top--lg">
43
+ <DocCardList items={category.items} />
44
+ </main>
45
+ <footer className="margin-top--lg">
46
+ <DocPaginator
47
+ previous={categoryGeneratedIndex.navigation.previous}
48
+ next={categoryGeneratedIndex.navigation.next}
49
+ />
50
+ </footer>
51
+ </div>
52
+ </>
53
+ );
54
+ }
@@ -0,0 +1,18 @@
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
+ @media (min-width: 997px) {
9
+ .generatedIndexPage {
10
+ max-width: 75% !important;
11
+ }
12
+ }
13
+
14
+ /* Duplicated from .markdown h1 */
15
+ .title {
16
+ --ifm-h1-font-size: 3rem;
17
+ margin-bottom: calc(1.25 * var(--ifm-leading));
18
+ }
@@ -5,54 +5,45 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React from 'react';
8
+ import clsx from 'clsx';
8
9
  import DocPaginator from '@theme/DocPaginator';
9
- import DocVersionSuggestions from '@theme/DocVersionSuggestions';
10
+ import DocVersionBanner from '@theme/DocVersionBanner';
11
+ import DocVersionBadge from '@theme/DocVersionBadge';
10
12
  import Seo from '@theme/Seo';
11
- import LastUpdated from '@theme/LastUpdated';
13
+ import DocItemFooter from '@theme/DocItemFooter';
12
14
  import TOC from '@theme/TOC';
13
- import EditThisPage from '@theme/EditThisPage';
14
- import clsx from 'clsx';
15
+ import TOCCollapsible from '@theme/TOCCollapsible';
16
+ import Heading from '@theme/Heading';
15
17
  import styles from './styles.module.css';
16
- import {
17
- useActivePlugin,
18
- useVersions,
19
- useActiveVersion,
20
- } from '@theme/hooks/useDocs';
21
-
22
- function DocItem(props) {
18
+ import {ThemeClassNames, useWindowSize} from '@docusaurus/theme-common';
19
+ import DocBreadcrumbs from '@theme/DocBreadcrumbs';
20
+ export default function DocItem(props) {
23
21
  const {content: DocContent} = props;
24
- const {metadata, frontMatter} = DocContent;
22
+ const {metadata, frontMatter, assets} = DocContent;
25
23
  const {
26
- image,
27
24
  keywords,
28
25
  hide_title: hideTitle,
29
26
  hide_table_of_contents: hideTableOfContents,
27
+ toc_min_heading_level: tocMinHeadingLevel,
28
+ toc_max_heading_level: tocMaxHeadingLevel,
30
29
  } = frontMatter;
31
- const {
32
- description,
33
- title,
34
- editUrl,
35
- lastUpdatedAt,
36
- formattedLastUpdatedAt,
37
- lastUpdatedBy,
38
- } = metadata;
39
- const {pluginId} = useActivePlugin({
40
- failfast: true,
41
- });
42
- const versions = useVersions(pluginId);
43
- const version = useActiveVersion(pluginId); // If site is not versioned or only one version is included
44
- // we don't show the version badge
45
- // See https://github.com/facebook/docusaurus/issues/3362
30
+ const {description, title} = metadata;
31
+ const image = assets.image ?? frontMatter.image; // We only add a title if:
32
+ // - user asks to hide it with front matter
33
+ // - the markdown content does not already contain a top-level h1 heading
46
34
 
47
- const showVersionBadge = versions.length > 1; // For meta title, using frontMatter.title in priority over a potential # title found in markdown
48
- // See https://github.com/facebook/docusaurus/issues/4665#issuecomment-825831367
49
-
50
- const metaTitle = frontMatter.title || title;
35
+ const shouldAddTitle =
36
+ !hideTitle && typeof DocContent.contentTitle === 'undefined';
37
+ const windowSize = useWindowSize();
38
+ const canRenderTOC =
39
+ !hideTableOfContents && DocContent.toc && DocContent.toc.length > 0;
40
+ const renderTocDesktop =
41
+ canRenderTOC && (windowSize === 'desktop' || windowSize === 'ssr');
51
42
  return (
52
43
  <>
53
44
  <Seo
54
45
  {...{
55
- title: metaTitle,
46
+ title,
56
47
  description,
57
48
  keywords,
58
49
  image,
@@ -64,54 +55,58 @@ function DocItem(props) {
64
55
  className={clsx('col', {
65
56
  [styles.docItemCol]: !hideTableOfContents,
66
57
  })}>
67
- <DocVersionSuggestions />
58
+ <DocVersionBanner />
68
59
  <div className={styles.docItemContainer}>
69
60
  <article>
70
- {showVersionBadge && (
71
- <div>
72
- <span className="badge badge--secondary">
73
- Version: {version.label}
74
- </span>
75
- </div>
76
- )}
77
- {!hideTitle && (
78
- <header>
79
- <h1 className={styles.docTitle}>{title}</h1>
80
- </header>
61
+ <DocBreadcrumbs />
62
+ <DocVersionBadge />
63
+
64
+ {canRenderTOC && (
65
+ <TOCCollapsible
66
+ toc={DocContent.toc}
67
+ minHeadingLevel={tocMinHeadingLevel}
68
+ maxHeadingLevel={tocMaxHeadingLevel}
69
+ className={clsx(
70
+ ThemeClassNames.docs.docTocMobile,
71
+ styles.tocMobile,
72
+ )}
73
+ />
81
74
  )}
82
- <div className="markdown">
75
+
76
+ <div
77
+ className={clsx(ThemeClassNames.docs.docMarkdown, 'markdown')}>
78
+ {/*
79
+ Title can be declared inside md content or declared through
80
+ front matter and added manually. To make both cases consistent,
81
+ the added title is added under the same div.markdown block
82
+ See https://github.com/facebook/docusaurus/pull/4882#issuecomment-853021120
83
+ */}
84
+ {shouldAddTitle && (
85
+ <header>
86
+ <Heading as="h1">{title}</Heading>
87
+ </header>
88
+ )}
89
+
83
90
  <DocContent />
84
91
  </div>
92
+
93
+ <DocItemFooter {...props} />
85
94
  </article>
86
- {(editUrl || lastUpdatedAt || lastUpdatedBy) && (
87
- <div className="margin-vert--xl">
88
- <div className="row">
89
- <div className="col">
90
- {editUrl && <EditThisPage editUrl={editUrl} />}
91
- </div>
92
- {(lastUpdatedAt || lastUpdatedBy) && (
93
- <LastUpdated
94
- lastUpdatedAt={lastUpdatedAt}
95
- formattedLastUpdatedAt={formattedLastUpdatedAt}
96
- lastUpdatedBy={lastUpdatedBy}
97
- />
98
- )}
99
- </div>
100
- </div>
101
- )}
102
- <div className="margin-vert--lg">
103
- <DocPaginator metadata={metadata} />
104
- </div>
95
+
96
+ <DocPaginator previous={metadata.previous} next={metadata.next} />
105
97
  </div>
106
98
  </div>
107
- {!hideTableOfContents && DocContent.toc && (
99
+ {renderTocDesktop && (
108
100
  <div className="col col--3">
109
- <TOC toc={DocContent.toc} />
101
+ <TOC
102
+ toc={DocContent.toc}
103
+ minHeadingLevel={tocMinHeadingLevel}
104
+ maxHeadingLevel={tocMaxHeadingLevel}
105
+ className={ThemeClassNames.docs.docTocDesktop}
106
+ />
110
107
  </div>
111
108
  )}
112
109
  </div>
113
110
  </>
114
111
  );
115
112
  }
116
-
117
- export default DocItem;
@@ -5,24 +5,18 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- .docTitle {
9
- font-size: 3rem;
10
- margin-bottom: calc(var(--ifm-leading-desktop) * var(--ifm-leading));
8
+ .docItemContainer header + *,
9
+ .docItemContainer article > *:first-child {
10
+ margin-top: 0;
11
11
  }
12
12
 
13
- .docItemContainer {
14
- margin: 0 auto;
15
- padding: 0 0.5rem;
16
- }
17
-
18
- @media only screen and (min-width: 997px) {
13
+ @media (min-width: 997px) {
19
14
  .docItemCol {
20
15
  max-width: 75% !important;
21
16
  }
22
- }
23
17
 
24
- @media only screen and (max-width: 996px) {
25
- .docItemContainer {
26
- padding: 0 0.3rem;
18
+ /* Prevent hydration FOUC, as the mobile TOC needs to be server-rendered */
19
+ .tocMobile {
20
+ display: none;
27
21
  }
28
22
  }
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import React from 'react';
8
+ import clsx from 'clsx';
9
+ import LastUpdated from '@theme/LastUpdated';
10
+ import EditThisPage from '@theme/EditThisPage';
11
+ import TagsListInline from '@theme/TagsListInline';
12
+ import styles from './styles.module.css';
13
+ import {ThemeClassNames} from '@docusaurus/theme-common';
14
+
15
+ function TagsRow(props) {
16
+ return (
17
+ <div
18
+ className={clsx(
19
+ ThemeClassNames.docs.docFooterTagsRow,
20
+ 'row margin-bottom--sm',
21
+ )}>
22
+ <div className="col">
23
+ <TagsListInline {...props} />
24
+ </div>
25
+ </div>
26
+ );
27
+ }
28
+
29
+ function EditMetaRow({
30
+ editUrl,
31
+ lastUpdatedAt,
32
+ lastUpdatedBy,
33
+ formattedLastUpdatedAt,
34
+ }) {
35
+ return (
36
+ <div className={clsx(ThemeClassNames.docs.docFooterEditMetaRow, 'row')}>
37
+ <div className="col">{editUrl && <EditThisPage editUrl={editUrl} />}</div>
38
+
39
+ <div className={clsx('col', styles.lastUpdated)}>
40
+ {(lastUpdatedAt || lastUpdatedBy) && (
41
+ <LastUpdated
42
+ lastUpdatedAt={lastUpdatedAt}
43
+ formattedLastUpdatedAt={formattedLastUpdatedAt}
44
+ lastUpdatedBy={lastUpdatedBy}
45
+ />
46
+ )}
47
+ </div>
48
+ </div>
49
+ );
50
+ }
51
+
52
+ export default function DocItemFooter(props) {
53
+ const {content: DocContent} = props;
54
+ const {metadata} = DocContent;
55
+ const {editUrl, lastUpdatedAt, formattedLastUpdatedAt, lastUpdatedBy, tags} =
56
+ metadata;
57
+ const canDisplayTagsRow = tags.length > 0;
58
+ const canDisplayEditMetaRow = !!(editUrl || lastUpdatedAt || lastUpdatedBy);
59
+ const canDisplayFooter = canDisplayTagsRow || canDisplayEditMetaRow;
60
+
61
+ if (!canDisplayFooter) {
62
+ return null;
63
+ }
64
+
65
+ return (
66
+ <footer
67
+ className={clsx(ThemeClassNames.docs.docFooter, 'docusaurus-mt-lg')}>
68
+ {canDisplayTagsRow && <TagsRow tags={tags} />}
69
+ {canDisplayEditMetaRow && (
70
+ <EditMetaRow
71
+ editUrl={editUrl}
72
+ lastUpdatedAt={lastUpdatedAt}
73
+ lastUpdatedBy={lastUpdatedBy}
74
+ formattedLastUpdatedAt={formattedLastUpdatedAt}
75
+ />
76
+ )}
77
+ </footer>
78
+ );
79
+ }
@@ -5,17 +5,14 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- html,
9
- body {
10
- height: 100%;
8
+ .lastUpdated {
9
+ margin-top: 0.2rem;
10
+ font-style: italic;
11
+ font-size: smaller;
11
12
  }
12
13
 
13
- #__docusaurus {
14
- min-height: 100%;
15
- display: flex;
16
- flex-direction: column;
17
- }
18
-
19
- .main-wrapper {
20
- flex: 1 0 auto;
14
+ @media (min-width: 997px) {
15
+ .lastUpdated {
16
+ text-align: right;
17
+ }
21
18
  }