@docusaurus/theme-classic 2.0.0-beta.138b4c997 → 2.0.0-beta.14

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 (349) hide show
  1. package/README.md +1 -1
  2. package/lib/admonitions.css +35 -0
  3. package/lib/deps.d.ts +13 -0
  4. package/lib/index.js +16 -15
  5. package/lib/prism-include-languages.js +9 -5
  6. package/{lib-next/types.d.ts → lib/theme-classic.d.ts} +374 -150
  7. package/lib/translations.js +16 -7
  8. package/lib/types.d.ts +0 -587
  9. package/lib/validateThemeConfig.js +232 -246
  10. package/lib-next/theme/Admonition/index.js +101 -0
  11. package/lib-next/theme/AnnouncementBar/index.js +7 -12
  12. package/lib-next/theme/AnnouncementBar/styles.module.css +23 -32
  13. package/lib-next/theme/BackToTopButton/index.js +131 -0
  14. package/lib-next/theme/BackToTopButton/styles.module.css +42 -0
  15. package/lib-next/theme/BlogArchivePage/index.js +80 -0
  16. package/lib-next/theme/BlogLayout/index.js +40 -0
  17. package/lib-next/theme/BlogListPage/index.js +17 -25
  18. package/lib-next/theme/BlogPostAuthor/index.js +46 -0
  19. package/{lib/theme/MDXPage → lib-next/theme/BlogPostAuthor}/styles.module.css +4 -2
  20. package/lib-next/theme/BlogPostAuthors/index.js +34 -0
  21. package/{lib/theme/IconExternalLink → lib-next/theme/BlogPostAuthors}/styles.module.css +3 -4
  22. package/lib-next/theme/BlogPostItem/index.js +79 -86
  23. package/lib-next/theme/BlogPostPage/index.js +70 -35
  24. package/lib-next/theme/BlogSidebar/index.js +11 -13
  25. package/lib-next/theme/BlogSidebar/styles.module.css +2 -2
  26. package/lib-next/theme/BlogTagsListPage/index.js +14 -55
  27. package/lib-next/theme/BlogTagsPostsPage/index.js +29 -39
  28. package/lib-next/theme/CodeBlock/index.js +23 -149
  29. package/lib-next/theme/CodeBlock/styles.module.css +12 -9
  30. package/lib-next/theme/Details/index.js +20 -0
  31. package/lib-next/theme/Details/styles.module.css +13 -0
  32. package/lib-next/theme/DocCard/index.js +80 -0
  33. package/lib-next/theme/DocCard/styles.module.css +43 -0
  34. package/lib-next/theme/DocCardList/index.js +19 -0
  35. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +49 -0
  36. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  37. package/lib-next/theme/DocItem/index.js +40 -51
  38. package/lib-next/theme/DocItem/styles.module.css +5 -9
  39. package/lib-next/theme/DocItemFooter/index.js +79 -0
  40. package/{lib/theme/DocItem → lib-next/theme/DocItemFooter}/styles.module.css +1 -9
  41. package/lib-next/theme/DocPage/index.js +46 -49
  42. package/lib-next/theme/DocPage/styles.module.css +5 -6
  43. package/lib-next/theme/DocPaginator/index.js +5 -33
  44. package/lib-next/theme/DocPaginatorNavLink/index.js +36 -0
  45. package/lib-next/theme/DocSidebar/index.js +65 -285
  46. package/lib-next/theme/DocSidebar/styles.module.css +0 -18
  47. package/lib-next/theme/DocSidebarItem/index.js +217 -0
  48. package/{lib/theme/ThemedImage → lib-next/theme/DocSidebarItem}/styles.module.css +10 -9
  49. package/lib-next/theme/DocTagDocListPage/index.js +89 -0
  50. package/lib-next/theme/DocTagsListPage/index.js +38 -0
  51. package/lib-next/theme/DocVersionBadge/index.js +27 -0
  52. package/lib-next/theme/DocVersionBanner/index.js +28 -14
  53. package/lib-next/theme/EditThisPage/index.js +6 -1
  54. package/lib-next/theme/ErrorPageContent.js +35 -0
  55. package/lib-next/theme/Footer/index.js +100 -40
  56. package/lib-next/theme/Heading/index.js +24 -29
  57. package/lib-next/theme/Heading/styles.css +5 -6
  58. package/lib-next/theme/Heading/styles.module.css +9 -5
  59. package/lib-next/theme/IconArrow/index.js +2 -2
  60. package/lib-next/theme/IconClose/index.js +23 -0
  61. package/lib-next/theme/IconEdit/index.js +2 -2
  62. package/lib-next/theme/IconExternalLink/index.js +2 -2
  63. package/lib-next/theme/IconLanguage/index.js +2 -2
  64. package/lib-next/theme/IconMenu/index.js +2 -2
  65. package/lib-next/theme/LastUpdated/index.js +3 -2
  66. package/lib-next/theme/Layout/index.js +3 -1
  67. package/lib-next/theme/LayoutHead/index.js +18 -23
  68. package/lib-next/theme/LayoutProviders/index.js +9 -3
  69. package/lib-next/theme/Logo/index.js +25 -21
  70. package/lib-next/theme/MDXComponents/index.js +34 -7
  71. package/{lib/theme/hooks → lib-next/theme/MDXComponents}/styles.css +3 -2
  72. package/lib-next/theme/MDXPage/index.js +10 -2
  73. package/lib-next/theme/Navbar/index.js +193 -56
  74. package/lib-next/theme/Navbar/styles.module.css +10 -3
  75. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +45 -147
  76. package/lib-next/theme/NavbarItem/DocNavbarItem.js +7 -7
  77. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +31 -19
  78. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +158 -0
  79. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +4 -12
  80. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  81. package/lib-next/theme/NavbarItem/index.js +25 -12
  82. package/lib-next/theme/{SearchMetadatas → SearchMetadata}/index.js +1 -1
  83. package/lib-next/theme/Seo/index.js +11 -7
  84. package/lib-next/theme/SkipToContent/index.js +5 -2
  85. package/lib-next/theme/TOC/index.js +12 -36
  86. package/lib-next/theme/TOC/styles.module.css +1 -1
  87. package/lib-next/theme/TOCCollapsible/index.js +54 -0
  88. package/lib-next/theme/TOCCollapsible/styles.module.css +50 -0
  89. package/lib-next/theme/TOCInline/index.js +10 -28
  90. package/lib-next/theme/TOCItems/index.js +85 -0
  91. package/lib-next/theme/Tabs/__tests__/index.test.js +142 -0
  92. package/lib-next/theme/Tabs/index.js +103 -48
  93. package/lib-next/theme/Tabs/styles.module.css +0 -13
  94. package/lib-next/theme/Tag/index.js +27 -0
  95. package/lib-next/theme/Tag/styles.module.css +70 -0
  96. package/lib-next/theme/TagsListByLetter/index.js +42 -0
  97. package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
  98. package/lib-next/theme/TagsListInline/index.js +31 -0
  99. package/lib-next/theme/TagsListInline/styles.module.css +15 -0
  100. package/lib-next/theme/ThemeProvider/index.js +10 -7
  101. package/lib-next/theme/ThemedImage/index.js +5 -5
  102. package/lib-next/theme/Toggle/index.js +34 -37
  103. package/lib-next/theme/Toggle/styles.module.css +91 -3
  104. package/lib-next/theme/UserPreferencesProvider/index.js +9 -6
  105. package/lib-next/theme/hooks/useHideableNavbar.js +31 -44
  106. package/lib-next/theme/hooks/useTheme.js +4 -5
  107. package/lib-next/theme/hooks/useWindowSize.js +34 -20
  108. package/lib-next/theme/prism-include-languages.js +2 -1
  109. package/package.json +27 -25
  110. package/src/admonitions.css +35 -0
  111. package/src/deps.d.ts +13 -0
  112. package/src/index.ts +23 -20
  113. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  114. package/src/theme/Admonition/index.tsx +106 -0
  115. package/src/theme/AnnouncementBar/index.tsx +8 -12
  116. package/src/theme/AnnouncementBar/styles.module.css +23 -32
  117. package/src/theme/BackToTopButton/index.tsx +142 -0
  118. package/src/theme/BackToTopButton/styles.module.css +42 -0
  119. package/src/theme/BlogArchivePage/index.tsx +91 -0
  120. package/src/theme/BlogLayout/index.tsx +44 -0
  121. package/src/theme/BlogListPage/index.tsx +18 -25
  122. package/src/theme/BlogPostAuthor/index.tsx +49 -0
  123. package/{lib/theme/IconEdit → src/theme/BlogPostAuthor}/styles.module.css +4 -3
  124. package/src/theme/BlogPostAuthors/index.tsx +39 -0
  125. package/src/theme/BlogPostAuthors/styles.module.css +11 -0
  126. package/src/theme/BlogPostItem/index.tsx +70 -80
  127. package/src/theme/BlogPostPage/index.tsx +72 -35
  128. package/src/theme/BlogSidebar/index.tsx +11 -13
  129. package/src/theme/BlogSidebar/styles.module.css +2 -2
  130. package/src/theme/BlogTagsListPage/index.tsx +14 -57
  131. package/src/theme/BlogTagsPostsPage/index.tsx +29 -39
  132. package/src/theme/CodeBlock/index.tsx +27 -151
  133. package/src/theme/CodeBlock/styles.module.css +12 -9
  134. package/src/theme/Details/index.tsx +24 -0
  135. package/src/theme/Details/styles.module.css +13 -0
  136. package/src/theme/DocCard/index.tsx +100 -0
  137. package/src/theme/DocCard/styles.module.css +43 -0
  138. package/src/theme/DocCardList/index.tsx +27 -0
  139. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +53 -0
  140. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  141. package/src/theme/DocItem/index.tsx +43 -51
  142. package/src/theme/DocItem/styles.module.css +5 -9
  143. package/src/theme/DocItemFooter/index.tsx +91 -0
  144. package/{lib/theme/BlogPostItem → src/theme/DocItemFooter}/styles.module.css +8 -8
  145. package/src/theme/DocPage/index.tsx +44 -42
  146. package/src/theme/DocPage/styles.module.css +5 -6
  147. package/src/theme/DocPaginator/index.tsx +5 -33
  148. package/src/theme/DocPaginatorNavLink/index.tsx +38 -0
  149. package/src/theme/DocSidebar/index.tsx +76 -297
  150. package/src/theme/DocSidebar/styles.module.css +0 -18
  151. package/src/theme/DocSidebarItem/index.tsx +242 -0
  152. package/{lib/theme/Footer → src/theme/DocSidebarItem}/styles.module.css +10 -6
  153. package/src/theme/DocTagDocListPage/index.tsx +89 -0
  154. package/src/theme/DocTagsListPage/index.tsx +41 -0
  155. package/src/theme/DocVersionBadge/index.tsx +30 -0
  156. package/src/theme/DocVersionBanner/index.tsx +48 -21
  157. package/src/theme/EditThisPage/index.tsx +6 -1
  158. package/src/theme/ErrorPageContent.tsx +41 -0
  159. package/src/theme/Footer/index.tsx +113 -43
  160. package/src/theme/Heading/index.tsx +24 -31
  161. package/src/theme/Heading/styles.css +5 -6
  162. package/src/theme/Heading/styles.module.css +9 -5
  163. package/src/theme/IconArrow/index.tsx +2 -2
  164. package/src/theme/IconClose/index.tsx +26 -0
  165. package/src/theme/IconEdit/index.tsx +2 -2
  166. package/src/theme/IconExternalLink/index.tsx +2 -5
  167. package/src/theme/IconLanguage/index.tsx +2 -6
  168. package/src/theme/IconMenu/index.tsx +3 -3
  169. package/src/theme/LastUpdated/index.tsx +3 -2
  170. package/src/theme/Layout/index.tsx +3 -1
  171. package/src/theme/LayoutHead/index.tsx +18 -17
  172. package/src/theme/LayoutProviders/index.tsx +9 -3
  173. package/src/theme/Logo/index.tsx +21 -17
  174. package/src/theme/MDXComponents/index.tsx +39 -5
  175. package/src/theme/MDXComponents/styles.css +11 -0
  176. package/src/theme/MDXPage/index.tsx +10 -2
  177. package/src/theme/Navbar/index.tsx +203 -61
  178. package/src/theme/Navbar/styles.module.css +10 -3
  179. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +42 -154
  180. package/src/theme/NavbarItem/DocNavbarItem.tsx +12 -16
  181. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +33 -21
  182. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  183. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +180 -0
  184. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +8 -9
  185. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  186. package/src/theme/NavbarItem/index.tsx +41 -16
  187. package/src/theme/{SearchMetadatas → SearchMetadata}/index.tsx +2 -2
  188. package/src/theme/Seo/index.tsx +7 -4
  189. package/src/theme/SkipToContent/index.tsx +5 -2
  190. package/src/theme/TOC/index.tsx +12 -41
  191. package/src/theme/TOC/styles.module.css +1 -1
  192. package/src/theme/TOCCollapsible/index.tsx +58 -0
  193. package/src/theme/TOCCollapsible/styles.module.css +50 -0
  194. package/src/theme/TOCInline/index.tsx +13 -32
  195. package/src/theme/TOCItems/index.tsx +96 -0
  196. package/src/theme/Tabs/index.tsx +110 -54
  197. package/src/theme/Tabs/styles.module.css +0 -13
  198. package/src/theme/Tag/index.tsx +31 -0
  199. package/src/theme/Tag/styles.module.css +70 -0
  200. package/src/theme/TagsListByLetter/index.tsx +45 -0
  201. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  202. package/src/theme/TagsListInline/index.tsx +35 -0
  203. package/src/theme/TagsListInline/styles.module.css +15 -0
  204. package/src/theme/ThemeProvider/index.tsx +6 -2
  205. package/src/theme/ThemedImage/index.tsx +5 -5
  206. package/src/theme/Toggle/index.tsx +36 -43
  207. package/src/theme/Toggle/styles.module.css +91 -3
  208. package/src/theme/UserPreferencesProvider/index.tsx +9 -6
  209. package/src/theme/hooks/useHideableNavbar.ts +32 -45
  210. package/src/theme/hooks/useTabGroupChoice.ts +2 -2
  211. package/src/theme/hooks/useTheme.ts +4 -5
  212. package/src/theme/hooks/useWindowSize.ts +38 -20
  213. package/src/theme/prism-include-languages.ts +3 -2
  214. package/src/theme-classic.d.ts +822 -0
  215. package/src/translations.ts +41 -23
  216. package/src/types.d.ts +0 -587
  217. package/src/{validateThemeConfig.js → validateThemeConfig.ts} +160 -98
  218. package/babel.config.js +0 -35
  219. package/codeTranslations/README.md +0 -20
  220. package/codeTranslations/ar.json +0 -57
  221. package/codeTranslations/base.json +0 -112
  222. package/codeTranslations/bn.json +0 -56
  223. package/codeTranslations/da.json +0 -57
  224. package/codeTranslations/de.json +0 -57
  225. package/codeTranslations/es.json +0 -57
  226. package/codeTranslations/fa.json +0 -57
  227. package/codeTranslations/fil.json +0 -57
  228. package/codeTranslations/fr.json +0 -57
  229. package/codeTranslations/he.json +0 -57
  230. package/codeTranslations/hi.json +0 -57
  231. package/codeTranslations/ja.json +0 -57
  232. package/codeTranslations/ko.json +0 -57
  233. package/codeTranslations/pl.json +0 -57
  234. package/codeTranslations/pt-BR.json +0 -57
  235. package/codeTranslations/pt-PT.json +0 -57
  236. package/codeTranslations/ru.json +0 -57
  237. package/codeTranslations/tr.json +0 -57
  238. package/codeTranslations/vi.json +0 -57
  239. package/codeTranslations/zh-Hans.json +0 -57
  240. package/codeTranslations/zh-Hant.json +0 -57
  241. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  242. package/lib/__tests__/translations.test.js +0 -112
  243. package/lib/__tests__/validateThemeConfig.test.js +0 -333
  244. package/lib/theme/AnnouncementBar/index.js +0 -72
  245. package/lib/theme/AnnouncementBar/styles.module.css +0 -72
  246. package/lib/theme/BlogListPage/index.js +0 -71
  247. package/lib/theme/BlogListPaginator/index.js +0 -63
  248. package/lib/theme/BlogPostItem/index.js +0 -161
  249. package/lib/theme/BlogPostPage/index.js +0 -69
  250. package/lib/theme/BlogPostPaginator/index.js +0 -64
  251. package/lib/theme/BlogSidebar/index.js +0 -51
  252. package/lib/theme/BlogSidebar/styles.module.css +0 -44
  253. package/lib/theme/BlogTagsListPage/index.js +0 -76
  254. package/lib/theme/BlogTagsPostsPage/index.js +0 -100
  255. package/lib/theme/CodeBlock/index.js +0 -253
  256. package/lib/theme/CodeBlock/styles.module.css +0 -68
  257. package/lib/theme/DocItem/index.js +0 -129
  258. package/lib/theme/DocPage/index.js +0 -173
  259. package/lib/theme/DocPage/styles.module.css +0 -86
  260. package/lib/theme/DocPaginator/index.js +0 -63
  261. package/lib/theme/DocSidebar/index.js +0 -306
  262. package/lib/theme/DocSidebar/styles.module.css +0 -124
  263. package/lib/theme/DocVersionBanner/index.js +0 -128
  264. package/lib/theme/EditThisPage/index.js +0 -31
  265. package/lib/theme/Footer/index.js +0 -108
  266. package/lib/theme/Heading/index.js +0 -76
  267. package/lib/theme/Heading/styles.css +0 -23
  268. package/lib/theme/Heading/styles.module.css +0 -15
  269. package/lib/theme/IconArrow/index.js +0 -28
  270. package/lib/theme/IconEdit/index.js +0 -34
  271. package/lib/theme/IconExternalLink/index.js +0 -30
  272. package/lib/theme/IconLanguage/index.js +0 -29
  273. package/lib/theme/IconMenu/index.js +0 -30
  274. package/lib/theme/LastUpdated/index.js +0 -61
  275. package/lib/theme/Layout/index.js +0 -64
  276. package/lib/theme/Layout/styles.css +0 -27
  277. package/lib/theme/LayoutHead/index.js +0 -144
  278. package/lib/theme/LayoutProviders/index.js +0 -36
  279. package/lib/theme/Logo/index.js +0 -60
  280. package/lib/theme/MDXComponents/index.js +0 -65
  281. package/lib/theme/MDXPage/index.js +0 -66
  282. package/lib/theme/Navbar/index.js +0 -147
  283. package/lib/theme/Navbar/styles.module.css +0 -20
  284. package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -209
  285. package/lib/theme/NavbarItem/DocNavbarItem.js +0 -63
  286. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -76
  287. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
  288. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  289. package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
  290. package/lib/theme/NavbarItem/index.js +0 -54
  291. package/lib/theme/NotFound.js +0 -57
  292. package/lib/theme/SearchBar.js +0 -15
  293. package/lib/theme/SearchMetadatas/index.js +0 -33
  294. package/lib/theme/Seo/index.js +0 -49
  295. package/lib/theme/SkipToContent/index.js +0 -63
  296. package/lib/theme/SkipToContent/styles.module.css +0 -14
  297. package/lib/theme/TOC/index.js +0 -59
  298. package/lib/theme/TOC/styles.module.css +0 -23
  299. package/lib/theme/TOCInline/index.js +0 -53
  300. package/lib/theme/TOCInline/styles.module.css +0 -12
  301. package/lib/theme/TabItem/index.js +0 -32
  302. package/lib/theme/Tabs/index.js +0 -150
  303. package/lib/theme/Tabs/styles.module.css +0 -23
  304. package/lib/theme/ThemeContext.js +0 -21
  305. package/lib/theme/ThemeProvider/index.js +0 -38
  306. package/lib/theme/ThemedImage/index.js +0 -49
  307. package/lib/theme/Toggle/index.js +0 -94
  308. package/lib/theme/Toggle/styles.css +0 -103
  309. package/lib/theme/Toggle/styles.module.css +0 -17
  310. package/lib/theme/UserPreferencesContext.js +0 -18
  311. package/lib/theme/UserPreferencesProvider/index.js +0 -36
  312. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  313. package/lib/theme/hooks/useDocs.js +0 -18
  314. package/lib/theme/hooks/useHideableNavbar.js +0 -92
  315. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  316. package/lib/theme/hooks/useLocationHash.js +0 -28
  317. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  318. package/lib/theme/hooks/usePrismTheme.js +0 -36
  319. package/lib/theme/hooks/useScrollPosition.js +0 -49
  320. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  321. package/lib/theme/hooks/useTabGroupChoice.js +0 -51
  322. package/lib/theme/hooks/useTheme.js +0 -99
  323. package/lib/theme/hooks/useThemeContext.js +0 -31
  324. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  325. package/lib/theme/hooks/useWindowSize.js +0 -55
  326. package/lib/theme/prism-include-languages.js +0 -39
  327. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  328. package/lib-next/__tests__/translations.test.js +0 -128
  329. package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
  330. package/lib-next/index.js +0 -221
  331. package/lib-next/theme/Toggle/styles.css +0 -103
  332. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  333. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  334. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  335. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  336. package/lib-next/translations.js +0 -145
  337. package/lib-next/validateThemeConfig.js +0 -317
  338. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  339. package/src/__tests__/translations.test.ts +0 -116
  340. package/src/__tests__/validateThemeConfig.test.js +0 -333
  341. package/src/prism-include-languages.js +0 -11
  342. package/src/theme/Toggle/styles.css +0 -103
  343. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  344. package/src/theme/hooks/useLocationHash.ts +0 -25
  345. package/src/theme/hooks/useScrollPosition.ts +0 -45
  346. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  347. package/tsconfig.json +0 -12
  348. package/update-code-translations.js +0 -240
  349. package/update-code-translations.test.js +0 -33
@@ -1,116 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`getTranslationFiles should return translation files matching snapshot 1`] = `
4
- Array [
5
- Object {
6
- "content": Object {
7
- "item.label.Dropdown": Object {
8
- "description": "Navbar item with label Dropdown",
9
- "message": "Dropdown",
10
- },
11
- "item.label.Dropdown item 1": Object {
12
- "description": "Navbar item with label Dropdown item 1",
13
- "message": "Dropdown item 1",
14
- },
15
- "item.label.Dropdown item 2": Object {
16
- "description": "Navbar item with label Dropdown item 2",
17
- "message": "Dropdown item 2",
18
- },
19
- "title": Object {
20
- "description": "The title in the navbar",
21
- "message": "navbar title",
22
- },
23
- },
24
- "path": "navbar",
25
- },
26
- Object {
27
- "content": Object {
28
- "copyright": Object {
29
- "description": "The footer copyright",
30
- "message": "Copyright FB",
31
- },
32
- "link.item.label.Link 1": Object {
33
- "description": "The label of footer link with label=Link 1 linking to https://facebook.com",
34
- "message": "Link 1",
35
- },
36
- "link.item.label.Link 2": Object {
37
- "description": "The label of footer link with label=Link 2 linking to https://facebook.com",
38
- "message": "Link 2",
39
- },
40
- "link.item.label.Link 3": Object {
41
- "description": "The label of footer link with label=Link 3 linking to https://facebook.com",
42
- "message": "Link 3",
43
- },
44
- "link.title.Footer link column 1": Object {
45
- "description": "The title of the footer links column with title=Footer link column 1 in the footer",
46
- "message": "Footer link column 1",
47
- },
48
- "link.title.Footer link column 2": Object {
49
- "description": "The title of the footer links column with title=Footer link column 2 in the footer",
50
- "message": "Footer link column 2",
51
- },
52
- },
53
- "path": "footer",
54
- },
55
- ]
56
- `;
57
-
58
- exports[`translateThemeConfig should return translated themeConfig matching snapshot 1`] = `
59
- Object {
60
- "announcementBar": Object {},
61
- "colorMode": Object {},
62
- "docs": Object {
63
- "versionPersistence": "none",
64
- },
65
- "footer": Object {
66
- "copyright": "Copyright FB (translated)",
67
- "links": Array [
68
- Object {
69
- "items": Array [
70
- Object {
71
- "label": "Link 1 (translated)",
72
- "to": "https://facebook.com",
73
- },
74
- Object {
75
- "label": "Link 2 (translated)",
76
- "to": "https://facebook.com",
77
- },
78
- ],
79
- "title": "Footer link column 1 (translated)",
80
- },
81
- Object {
82
- "items": Array [
83
- Object {
84
- "label": "Link 3 (translated)",
85
- "to": "https://facebook.com",
86
- },
87
- ],
88
- "title": "Footer link column 2 (translated)",
89
- },
90
- ],
91
- "style": "light",
92
- },
93
- "hideableSidebar": true,
94
- "navbar": Object {
95
- "hideOnScroll": false,
96
- "items": Array [
97
- Object {
98
- "items": Array [
99
- Object {
100
- "items": Array [],
101
- "label": "Dropdown item 1 (translated)",
102
- },
103
- Object {
104
- "items": Array [],
105
- "label": "Dropdown item 2 (translated)",
106
- },
107
- ],
108
- "label": "Dropdown (translated)",
109
- },
110
- ],
111
- "style": "dark",
112
- "title": "navbar title (translated)",
113
- },
114
- "prism": Object {},
115
- }
116
- `;
@@ -1,116 +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 {getTranslationFiles, translateThemeConfig} from '../translations';
9
- import {ThemeConfig} from '@docusaurus/theme-common';
10
- import {updateTranslationFileMessages} from '@docusaurus/utils';
11
-
12
- const ThemeConfigSample: ThemeConfig = {
13
- colorMode: {},
14
- announcementBar: {},
15
- prism: {},
16
- docs: {
17
- versionPersistence: 'none',
18
- },
19
- hideableSidebar: true,
20
- navbar: {
21
- title: 'navbar title',
22
- style: 'dark',
23
- hideOnScroll: false,
24
- items: [
25
- {
26
- label: 'Dropdown',
27
- items: [
28
- {label: 'Dropdown item 1', items: []},
29
- {label: 'Dropdown item 2', items: []},
30
- ],
31
- },
32
- ],
33
- },
34
- footer: {
35
- copyright: 'Copyright FB',
36
- style: 'light',
37
- links: [
38
- {
39
- title: 'Footer link column 1',
40
- items: [
41
- {label: 'Link 1', to: 'https://facebook.com'},
42
- {label: 'Link 2', to: 'https://facebook.com'},
43
- ],
44
- },
45
- {
46
- title: 'Footer link column 2',
47
- items: [{label: 'Link 3', to: 'https://facebook.com'}],
48
- },
49
- ],
50
- },
51
- };
52
-
53
- function getSampleTranslationFiles() {
54
- return getTranslationFiles({
55
- themeConfig: ThemeConfigSample,
56
- });
57
- }
58
-
59
- function getSampleTranslationFilesTranslated() {
60
- const translationFiles = getSampleTranslationFiles();
61
- return translationFiles.map((translationFile) =>
62
- updateTranslationFileMessages(
63
- translationFile,
64
- (message) => `${message} (translated)`,
65
- ),
66
- );
67
- }
68
-
69
- describe('getTranslationFiles', () => {
70
- test('should return translation files matching snapshot', () => {
71
- expect(getSampleTranslationFiles()).toMatchSnapshot();
72
- });
73
- });
74
-
75
- describe('translateThemeConfig', () => {
76
- test('should not translate anything if translation files are untranslated', () => {
77
- const translationFiles = getSampleTranslationFiles();
78
- expect(
79
- translateThemeConfig({
80
- themeConfig: ThemeConfigSample,
81
- translationFiles,
82
- }),
83
- ).toEqual(ThemeConfigSample);
84
- });
85
-
86
- test('should return translated themeConfig matching snapshot', () => {
87
- const translationFiles = getSampleTranslationFilesTranslated();
88
- expect(
89
- translateThemeConfig({
90
- themeConfig: ThemeConfigSample,
91
- translationFiles,
92
- }),
93
- ).toMatchSnapshot();
94
- });
95
- });
96
-
97
- describe('getTranslationFiles and translateThemeConfig isomorphism', () => {
98
- function verifyIsomorphism(themeConfig: ThemeConfig) {
99
- const translationFiles = getTranslationFiles({themeConfig});
100
- const translatedThemeConfig = translateThemeConfig({
101
- themeConfig,
102
- translationFiles,
103
- });
104
- expect(translatedThemeConfig).toEqual(themeConfig);
105
- }
106
-
107
- test('should be verified for main sample', () => {
108
- verifyIsomorphism(ThemeConfigSample);
109
- });
110
-
111
- // undefined footer should not make the translation code crash
112
- // See https://github.com/facebook/docusaurus/issues/3936
113
- test('should be verified for sample without footer', () => {
114
- verifyIsomorphism({...ThemeConfigSample, footer: undefined});
115
- });
116
- });
@@ -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
- });
@@ -1,11 +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 Prism from 'prism-react-renderer/prism';
9
- import prismIncludeLanguages from '@theme/prism-include-languages';
10
-
11
- prismIncludeLanguages(Prism);
@@ -1,103 +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
- /**
9
- * Styles for React Toggle
10
- * copied over because we want to allow user to swizzle it and modify the css
11
- * and also to make sure its compatible with our dark mode
12
- * https://github.com/aaronshaf/react-toggle/blob/master/style.css
13
- */
14
- .react-toggle {
15
- touch-action: pan-x;
16
- position: relative;
17
- cursor: pointer;
18
- user-select: none;
19
- -webkit-tap-highlight-color: transparent;
20
- }
21
-
22
- .react-toggle-screenreader-only {
23
- border: 0;
24
- clip: rect(0 0 0 0);
25
- height: 1px;
26
- margin: -1px;
27
- overflow: hidden;
28
- position: absolute;
29
- width: 1px;
30
- }
31
-
32
- .react-toggle--disabled {
33
- cursor: not-allowed;
34
- }
35
-
36
- .react-toggle-track {
37
- width: 50px;
38
- height: 24px;
39
- border-radius: 30px;
40
- background-color: #4d4d4d;
41
- transition: all 0.2s ease;
42
- }
43
-
44
- .react-toggle-track-check {
45
- position: absolute;
46
- width: 14px;
47
- height: 10px;
48
- top: 0px;
49
- bottom: 0px;
50
- margin: auto 0;
51
- left: 8px;
52
- opacity: 0;
53
- transition: opacity 0.25s ease;
54
- }
55
-
56
- [data-theme='dark'] .react-toggle .react-toggle-track-check,
57
- .react-toggle--checked .react-toggle-track-check {
58
- opacity: 1;
59
- transition: opacity 0.25s ease;
60
- }
61
-
62
- .react-toggle-track-x {
63
- position: absolute;
64
- width: 10px;
65
- height: 10px;
66
- top: 0px;
67
- bottom: 0px;
68
- margin: auto 0;
69
- right: 10px;
70
- opacity: 1;
71
- transition: opacity 0.25s ease;
72
- }
73
-
74
- [data-theme='dark'] .react-toggle .react-toggle-track-x,
75
- .react-toggle--checked .react-toggle-track-x {
76
- opacity: 0;
77
- }
78
-
79
- .react-toggle-thumb {
80
- position: absolute;
81
- top: 1px;
82
- left: 1px;
83
- width: 22px;
84
- height: 22px;
85
- border: 1px solid #4d4d4d;
86
- border-radius: 50%;
87
- background-color: #fafafa;
88
- transition: all 0.25s ease;
89
- }
90
-
91
- [data-theme='dark'] .react-toggle .react-toggle-thumb,
92
- .react-toggle--checked .react-toggle-thumb {
93
- left: 27px;
94
- }
95
-
96
- .react-toggle--focus .react-toggle-thumb,
97
- .react-toggle:hover .react-toggle-thumb {
98
- box-shadow: 0px 0px 2px 3px var(--ifm-color-primary);
99
- }
100
-
101
- .react-toggle:active:not(.react-toggle--disabled) .react-toggle-thumb {
102
- box-shadow: 0px 0px 5px 5px var(--ifm-color-primary);
103
- }