@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
@@ -5,12 +5,12 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React from 'react';
8
- import Layout from '@theme/Layout';
9
- import BlogPostItem from '@theme/BlogPostItem';
10
8
  import Link from '@docusaurus/Link';
11
- import BlogSidebar from '@theme/BlogSidebar';
9
+ import BlogLayout from '@theme/BlogLayout';
10
+ import BlogPostItem from '@theme/BlogPostItem';
12
11
  import Translate, {translate} from '@docusaurus/Translate';
13
- import {ThemeClassNames, usePluralForm} from '@docusaurus/theme-common'; // Very simple pluralization: probably good enough for now
12
+ import {ThemeClassNames, usePluralForm} from '@docusaurus/theme-common';
13
+ import BlogListPaginator from '@theme/BlogListPaginator'; // Very simple pluralization: probably good enough for now
14
14
 
15
15
  function useBlogPostsPlural() {
16
16
  const {selectMessage} = usePluralForm();
@@ -31,8 +31,8 @@ function useBlogPostsPlural() {
31
31
  );
32
32
  }
33
33
 
34
- function BlogTagsPostPage(props) {
35
- const {metadata, items, sidebar} = props;
34
+ export default function BlogTagsPostsPage(props) {
35
+ const {metadata, items, sidebar, listMetadata} = props;
36
36
  const {allTagsPath, name: tagName, count} = metadata;
37
37
  const blogPostsPlural = useBlogPostsPlural();
38
38
  const title = translate(
@@ -47,46 +47,38 @@ function BlogTagsPostPage(props) {
47
47
  },
48
48
  );
49
49
  return (
50
- <Layout
50
+ <BlogLayout
51
51
  title={title}
52
52
  wrapperClassName={ThemeClassNames.wrapper.blogPages}
53
- pageClassName={ThemeClassNames.page.blogTagsPostPage}
54
- searchMetadatas={{
53
+ pageClassName={ThemeClassNames.page.blogTagPostListPage}
54
+ searchMetadata={{
55
55
  // assign unique search tag to exclude this page from search results!
56
56
  tag: 'blog_tags_posts',
57
- }}>
58
- <div className="container margin-vert--lg">
59
- <div className="row">
60
- <aside className="col col--3">
61
- <BlogSidebar sidebar={sidebar} />
62
- </aside>
63
- <main className="col col--7">
64
- <header className="margin-bottom--xl">
65
- <h1>{title}</h1>
57
+ }}
58
+ sidebar={sidebar}>
59
+ <header className="margin-bottom--xl">
60
+ <h1>{title}</h1>
66
61
 
67
- <Link href={allTagsPath}>
68
- <Translate
69
- id="theme.tags.tagsPageLink"
70
- description="The label of the link targeting the tag list page">
71
- View All Tags
72
- </Translate>
73
- </Link>
74
- </header>
62
+ <Link href={allTagsPath}>
63
+ <Translate
64
+ id="theme.tags.tagsPageLink"
65
+ description="The label of the link targeting the tag list page">
66
+ View All Tags
67
+ </Translate>
68
+ </Link>
69
+ </header>
75
70
 
76
- {items.map(({content: BlogPostContent}) => (
77
- <BlogPostItem
78
- key={BlogPostContent.metadata.permalink}
79
- frontMatter={BlogPostContent.frontMatter}
80
- metadata={BlogPostContent.metadata}
81
- truncated>
82
- <BlogPostContent />
83
- </BlogPostItem>
84
- ))}
85
- </main>
86
- </div>
87
- </div>
88
- </Layout>
71
+ {items.map(({content: BlogPostContent}) => (
72
+ <BlogPostItem
73
+ key={BlogPostContent.metadata.permalink}
74
+ frontMatter={BlogPostContent.frontMatter}
75
+ assets={BlogPostContent.assets}
76
+ metadata={BlogPostContent.metadata}
77
+ truncated>
78
+ <BlogPostContent />
79
+ </BlogPostItem>
80
+ ))}
81
+ <BlogListPaginator metadata={listMetadata} />
82
+ </BlogLayout>
89
83
  );
90
84
  }
91
-
92
- export default BlogTagsPostPage;
@@ -4,90 +4,26 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import React, {useEffect, useState, useRef} from 'react';
7
+ import React, {isValidElement, useEffect, useState} from 'react';
8
8
  import clsx from 'clsx';
9
9
  import Highlight, {defaultProps} from 'prism-react-renderer';
10
10
  import copy from 'copy-text-to-clipboard';
11
- import rangeParser from 'parse-numeric-range';
12
- import usePrismTheme from '@theme/hooks/usePrismTheme';
13
11
  import Translate, {translate} from '@docusaurus/Translate';
12
+ import {
13
+ useThemeConfig,
14
+ parseCodeBlockTitle,
15
+ parseLanguage,
16
+ parseLines,
17
+ ThemeClassNames,
18
+ usePrismTheme,
19
+ } from '@docusaurus/theme-common';
14
20
  import styles from './styles.module.css';
15
- import {useThemeConfig, parseCodeBlockTitle} from '@docusaurus/theme-common';
16
- const highlightLinesRangeRegex = /{([\d,-]+)}/;
17
-
18
- const getHighlightDirectiveRegex = (
19
- languages = ['js', 'jsBlock', 'jsx', 'python', 'html'],
20
- ) => {
21
- // supported types of comments
22
- const comments = {
23
- js: {
24
- start: '\\/\\/',
25
- end: '',
26
- },
27
- jsBlock: {
28
- start: '\\/\\*',
29
- end: '\\*\\/',
30
- },
31
- jsx: {
32
- start: '\\{\\s*\\/\\*',
33
- end: '\\*\\/\\s*\\}',
34
- },
35
- python: {
36
- start: '#',
37
- end: '',
38
- },
39
- html: {
40
- start: '<!--',
41
- end: '-->',
42
- },
43
- }; // supported directives
44
-
45
- const directives = [
46
- 'highlight-next-line',
47
- 'highlight-start',
48
- 'highlight-end',
49
- ].join('|'); // to be more reliable, the opening and closing comment must match
50
-
51
- const commentPattern = languages
52
- .map(
53
- (lang) =>
54
- `(?:${comments[lang].start}\\s*(${directives})\\s*${comments[lang].end})`,
55
- )
56
- .join('|'); // white space is allowed, but otherwise it should be on it's own line
57
-
58
- return new RegExp(`^\\s*(?:${commentPattern})\\s*$`);
59
- }; // select comment styles based on language
60
-
61
- const highlightDirectiveRegex = (lang) => {
62
- switch (lang) {
63
- case 'js':
64
- case 'javascript':
65
- case 'ts':
66
- case 'typescript':
67
- return getHighlightDirectiveRegex(['js', 'jsBlock']);
68
-
69
- case 'jsx':
70
- case 'tsx':
71
- return getHighlightDirectiveRegex(['js', 'jsBlock', 'jsx']);
72
-
73
- case 'html':
74
- return getHighlightDirectiveRegex(['js', 'jsBlock', 'html']);
75
-
76
- case 'python':
77
- case 'py':
78
- return getHighlightDirectiveRegex(['python']);
79
-
80
- default:
81
- // all comment types
82
- return getHighlightDirectiveRegex();
83
- }
84
- };
85
-
86
21
  export default function CodeBlock({
87
22
  children,
88
- className: languageClassName,
23
+ className: blockClassName = '',
89
24
  metastring,
90
25
  title,
26
+ language: languageProp,
91
27
  }) {
92
28
  const {prism} = useThemeConfig();
93
29
  const [showCopied, setShowCopied] = useState(false);
@@ -101,80 +37,47 @@ export default function CodeBlock({
101
37
 
102
38
  useEffect(() => {
103
39
  setMounted(true);
104
- }, []); // TODO: the title is provided by MDX as props automatically
105
- // so we probably don't need to parse the metastring
106
- // (note: title="xyz" => title prop still has the quotes)
40
+ }, []); // We still parse the metastring in case we want to support more syntax in the
41
+ // future. Note that MDX doesn't strip quotes when parsing metastring:
42
+ // "title=\"xyz\"" => title: "\"xyz\""
107
43
 
108
44
  const codeBlockTitle = parseCodeBlockTitle(metastring) || title;
109
- const button = useRef(null);
110
- let highlightLines = [];
111
- const prismTheme = usePrismTheme(); // In case interleaved Markdown (e.g. when using CodeBlock as standalone component).
45
+ const prismTheme = usePrismTheme(); // <pre> tags in markdown map to CodeBlocks and they may contain JSX children.
46
+ // When the children is not a simple string, we just return a styled block
47
+ // without actually highlighting.
48
+
49
+ if (React.Children.toArray(children).some((el) => isValidElement(el))) {
50
+ return (
51
+ <Highlight
52
+ {...defaultProps}
53
+ key={String(mounted)}
54
+ theme={prismTheme}
55
+ code=""
56
+ language={'text'}>
57
+ {({className, style}) => (
58
+ <pre
59
+ /* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */
60
+ tabIndex={0}
61
+ className={clsx(
62
+ className,
63
+ styles.codeBlockStandalone,
64
+ 'thin-scrollbar',
65
+ styles.codeBlockContainer,
66
+ blockClassName,
67
+ ThemeClassNames.common.codeBlock,
68
+ )}
69
+ style={style}>
70
+ <code className={styles.codeBlockLines}>{children}</code>
71
+ </pre>
72
+ )}
73
+ </Highlight>
74
+ );
75
+ } // The children is now guaranteed to be one/more plain strings
112
76
 
113
77
  const content = Array.isArray(children) ? children.join('') : children;
114
-
115
- if (metastring && highlightLinesRangeRegex.test(metastring)) {
116
- // Tested above
117
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
118
- const highlightLinesRange = metastring.match(highlightLinesRangeRegex)[1];
119
- highlightLines = rangeParser(highlightLinesRange).filter((n) => n > 0);
120
- }
121
-
122
- let language =
123
- languageClassName && // Force Prism's language union type to `any` because it does not contain all available languages
124
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
125
- languageClassName.replace(/language-/, '');
126
-
127
- if (!language && prism.defaultLanguage) {
128
- language = prism.defaultLanguage;
129
- } // only declaration OR directive highlight can be used for a block
130
-
131
- let code = content.replace(/\n$/, '');
132
-
133
- if (highlightLines.length === 0 && language !== undefined) {
134
- let range = '';
135
- const directiveRegex = highlightDirectiveRegex(language); // go through line by line
136
-
137
- const lines = content.replace(/\n$/, '').split('\n');
138
- let blockStart; // loop through lines
139
-
140
- for (let index = 0; index < lines.length; ) {
141
- const line = lines[index]; // adjust for 0-index
142
-
143
- const lineNumber = index + 1;
144
- const match = line.match(directiveRegex);
145
-
146
- if (match !== null) {
147
- const directive = match
148
- .slice(1)
149
- .reduce((final, item) => final || item, undefined);
150
-
151
- switch (directive) {
152
- case 'highlight-next-line':
153
- range += `${lineNumber},`;
154
- break;
155
-
156
- case 'highlight-start':
157
- blockStart = lineNumber;
158
- break;
159
-
160
- case 'highlight-end':
161
- range += `${blockStart}-${lineNumber - 1},`;
162
- break;
163
-
164
- default:
165
- break;
166
- }
167
-
168
- lines.splice(index, 1);
169
- } else {
170
- // lines without directives are unchanged
171
- index += 1;
172
- }
173
- }
174
-
175
- highlightLines = rangeParser(range);
176
- code = lines.join('\n');
177
- }
78
+ const language =
79
+ languageProp ?? parseLanguage(blockClassName) ?? prism.defaultLanguage;
80
+ const {highlightLines, code} = parseLines(content, metastring, language);
178
81
 
179
82
  const handleCopyCode = () => {
180
83
  copy(code);
@@ -188,9 +91,18 @@ export default function CodeBlock({
188
91
  key={String(mounted)}
189
92
  theme={prismTheme}
190
93
  code={code}
191
- language={language}>
94
+ language={language ?? 'text'}>
192
95
  {({className, style, tokens, getLineProps, getTokenProps}) => (
193
- <div className={styles.codeBlockContainer}>
96
+ <div
97
+ className={clsx(
98
+ styles.codeBlockContainer,
99
+ blockClassName,
100
+ {
101
+ [`language-${language}`]:
102
+ language && !blockClassName.includes(`language-${language}`),
103
+ },
104
+ ThemeClassNames.common.codeBlock,
105
+ )}>
194
106
  {codeBlockTitle && (
195
107
  <div style={style} className={styles.codeBlockTitle}>
196
108
  {codeBlockTitle}
@@ -200,14 +112,12 @@ export default function CodeBlock({
200
112
  <pre
201
113
  /* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */
202
114
  tabIndex={0}
203
- className={clsx(className, styles.codeBlock, 'thin-scrollbar', {
204
- [styles.codeBlockWithTitle]: codeBlockTitle,
205
- })}
115
+ className={clsx(className, styles.codeBlock, 'thin-scrollbar')}
206
116
  style={style}>
207
117
  <code className={styles.codeBlockLines}>
208
118
  {tokens.map((line, i) => {
209
- if (line.length === 1 && line[0].content === '') {
210
- line[0].content = '\n'; // eslint-disable-line no-param-reassign
119
+ if (line.length === 1 && line[0].content === '\n') {
120
+ line[0].content = '';
211
121
  }
212
122
 
213
123
  const lineProps = getLineProps({
@@ -215,7 +125,7 @@ export default function CodeBlock({
215
125
  key: i,
216
126
  });
217
127
 
218
- if (highlightLines.includes(i + 1)) {
128
+ if (highlightLines.includes(i)) {
219
129
  lineProps.className += ' docusaurus-highlight-code-line';
220
130
  }
221
131
 
@@ -230,6 +140,7 @@ export default function CodeBlock({
230
140
  })}
231
141
  />
232
142
  ))}
143
+ <br />
233
144
  </span>
234
145
  );
235
146
  })}
@@ -237,7 +148,6 @@ export default function CodeBlock({
237
148
  </pre>
238
149
 
239
150
  <button
240
- ref={button}
241
151
  type="button"
242
152
  aria-label={translate({
243
153
  id: 'theme.CodeBlock.copyButtonAriaLabel',
@@ -7,34 +7,43 @@
7
7
 
8
8
  .codeBlockContainer {
9
9
  margin-bottom: var(--ifm-leading);
10
+ border-radius: var(--ifm-global-radius);
11
+ box-shadow: var(--ifm-global-shadow-lw);
10
12
  }
11
13
 
12
14
  .codeBlockContent {
13
15
  position: relative;
14
- /*rtl:ignore*/
16
+ /* rtl:ignore */
15
17
  direction: ltr;
16
18
  }
17
19
 
18
20
  .codeBlockTitle {
19
- border-top-left-radius: var(--ifm-global-radius);
20
- border-top-right-radius: var(--ifm-global-radius);
21
21
  border-bottom: 1px solid var(--ifm-color-emphasis-300);
22
22
  font-size: var(--ifm-code-font-size);
23
23
  font-weight: 500;
24
24
  padding: 0.75rem var(--ifm-pre-padding);
25
+ border-top-left-radius: var(--ifm-global-radius);
26
+ border-top-right-radius: var(--ifm-global-radius);
25
27
  }
26
28
 
27
29
  .codeBlock {
30
+ margin: 0;
28
31
  padding: 0;
32
+ border-radius: var(--ifm-global-radius);
29
33
  }
30
34
 
31
- .codeBlockWithTitle {
35
+ .codeBlockTitle + .codeBlockContent .codeBlock {
32
36
  border-top-left-radius: 0;
33
37
  border-top-right-radius: 0;
34
38
  }
35
39
 
40
+ .codeBlockStandalone {
41
+ padding: 0;
42
+ border-radius: var(--ifm-global-radius);
43
+ }
44
+
36
45
  .copyButton {
37
- background: rgba(0, 0, 0, 0.3);
46
+ background: rgb(0 0 0 / 30%);
38
47
  border-radius: var(--ifm-global-radius);
39
48
  color: var(--ifm-color-white);
40
49
  opacity: 0;
@@ -46,19 +55,18 @@
46
55
  transition: opacity 200ms ease-in-out;
47
56
  }
48
57
 
49
- .codeBlockTitle:hover + .codeBlockContent .copyButton,
58
+ .copyButton:focus,
50
59
  .codeBlockContent:hover > .copyButton,
51
- .copyButton:focus {
60
+ .codeBlockTitle:hover + .codeBlockContent .copyButton {
52
61
  opacity: 1;
53
62
  }
54
63
 
55
64
  .codeBlockLines {
56
65
  font: inherit;
66
+ /* rtl:ignore */
57
67
  float: left;
58
68
  min-width: 100%;
59
69
  padding: var(--ifm-pre-padding);
60
- display: flex;
61
- flex-direction: column;
62
70
  }
63
71
 
64
72
  @media print {
@@ -0,0 +1,83 @@
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, {useState, useRef, useEffect} from 'react';
8
+ import useIsBrowser from '@docusaurus/useIsBrowser';
9
+ import {translate} from '@docusaurus/Translate';
10
+ import IconLightMode from '@theme/IconLightMode';
11
+ import IconDarkMode from '@theme/IconDarkMode';
12
+ import clsx from 'clsx';
13
+ import styles from './styles.module.css';
14
+
15
+ function ColorModeToggle({className, checked: defaultChecked, onChange}) {
16
+ const isBrowser = useIsBrowser();
17
+ const [checked, setChecked] = useState(defaultChecked);
18
+ const [focused, setFocused] = useState(false);
19
+ const inputRef = useRef(null);
20
+ useEffect(() => {
21
+ setChecked(defaultChecked);
22
+ }, [defaultChecked]);
23
+ return (
24
+ <div
25
+ className={clsx(styles.toggle, className, {
26
+ [styles.toggleChecked]: checked,
27
+ [styles.toggleFocused]: focused,
28
+ [styles.toggleDisabled]: !isBrowser,
29
+ })}>
30
+ {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}
31
+ <div
32
+ className={styles.toggleButton}
33
+ role="button"
34
+ tabIndex={-1}
35
+ onClick={() => inputRef.current?.click()}>
36
+ <IconLightMode
37
+ className={clsx(styles.toggleIcon, styles.lightToggleIcon)}
38
+ />
39
+ <IconDarkMode
40
+ className={clsx(styles.toggleIcon, styles.darkToggleIcon)}
41
+ />
42
+ </div>
43
+
44
+ <input
45
+ ref={inputRef}
46
+ checked={checked}
47
+ type="checkbox"
48
+ className={styles.toggleScreenReader}
49
+ aria-label={translate(
50
+ {
51
+ message: 'Switch between dark and light mode (currently {mode})',
52
+ id: 'theme.colorToggle.ariaLabel',
53
+ description: 'The ARIA label for the navbar color mode toggle',
54
+ },
55
+ {
56
+ mode: checked
57
+ ? translate({
58
+ message: 'dark mode',
59
+ id: 'theme.colorToggle.ariaLabel.mode.dark',
60
+ description: 'The name for the dark color mode',
61
+ })
62
+ : translate({
63
+ message: 'light mode',
64
+ id: 'theme.colorToggle.ariaLabel.mode.light',
65
+ description: 'The name for the light color mode',
66
+ }),
67
+ },
68
+ )}
69
+ onChange={onChange}
70
+ onClick={() => setChecked(!checked)}
71
+ onFocus={() => setFocused(true)}
72
+ onBlur={() => setFocused(false)}
73
+ onKeyDown={(e) => {
74
+ if (e.key === 'Enter') {
75
+ inputRef.current?.click();
76
+ }
77
+ }}
78
+ />
79
+ </div>
80
+ );
81
+ }
82
+
83
+ export default React.memo(ColorModeToggle);
@@ -0,0 +1,51 @@
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
+ .toggle {
9
+ position: relative;
10
+ width: 32px;
11
+ height: 32px;
12
+ }
13
+
14
+ .toggleScreenReader {
15
+ border: 0;
16
+ clip: rect(0 0 0 0);
17
+ height: 1px;
18
+ margin: -1px;
19
+ overflow: hidden;
20
+ position: absolute;
21
+ width: 1px;
22
+ }
23
+
24
+ .toggleDisabled {
25
+ cursor: not-allowed;
26
+ }
27
+
28
+ .toggleButton {
29
+ cursor: pointer;
30
+ user-select: none;
31
+ -webkit-tap-highlight-color: transparent;
32
+ align-items: center;
33
+ display: flex;
34
+ justify-content: center;
35
+ width: 100%;
36
+ height: 100%;
37
+ border-radius: 50%;
38
+ }
39
+
40
+ .toggleButton:hover {
41
+ background-color: #00000010;
42
+ }
43
+
44
+ [data-theme='dark'] .toggleButton:hover {
45
+ background-color: #ffffff20;
46
+ }
47
+
48
+ [data-theme='light'] .darkToggleIcon,
49
+ [data-theme='dark'] .lightToggleIcon {
50
+ display: none;
51
+ }
@@ -0,0 +1,21 @@
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 {Details as DetailsGeneric} from '@docusaurus/theme-common';
10
+ import styles from './styles.module.css'; // Should we have a custom details/summary comp in Infima instead of reusing
11
+ // alert classes?
12
+
13
+ const InfimaClasses = 'alert alert--info';
14
+ export default function Details({...props}) {
15
+ return (
16
+ <DetailsGeneric
17
+ {...props}
18
+ className={clsx(InfimaClasses, styles.details, props.className)}
19
+ />
20
+ );
21
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ .details {
9
+ --docusaurus-details-decoration-color: var(--ifm-alert-border-color);
10
+ --docusaurus-details-transition: transform var(--ifm-transition-fast) ease;
11
+ margin: 0 0 var(--ifm-spacing-vertical);
12
+ border: 1px solid var(--ifm-alert-border-color);
13
+ }