@docusaurus/theme-classic 2.0.0-beta.12faed89d → 2.0.0-beta.13

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 (350) hide show
  1. package/README.md +1 -1
  2. package/lib/__tests__/validateThemeConfig.test.js +277 -3
  3. package/lib/admonitions.css +35 -0
  4. package/lib/deps.d.ts +13 -0
  5. package/lib/index.js +16 -15
  6. package/lib/prism-include-languages.js +9 -5
  7. package/lib/theme/AnnouncementBar/index.js +8 -12
  8. package/lib/theme/AnnouncementBar/styles.module.css +23 -32
  9. package/lib/theme/BackToTopButton/index.js +140 -0
  10. package/lib/theme/BackToTopButton/styles.module.css +42 -0
  11. package/lib/theme/BlogArchivePage/index.js +89 -0
  12. package/lib/theme/BlogLayout/index.js +51 -0
  13. package/lib/theme/BlogListPage/index.js +10 -21
  14. package/lib/theme/BlogPostAuthor/index.js +51 -0
  15. package/lib/theme/BlogPostAuthor/styles.module.css +12 -0
  16. package/lib/theme/BlogPostAuthors/index.js +47 -0
  17. package/lib/theme/BlogPostAuthors/styles.module.css +11 -0
  18. package/lib/theme/BlogPostItem/index.js +58 -67
  19. package/lib/theme/BlogPostPage/index.js +37 -24
  20. package/lib/theme/BlogSidebar/index.js +5 -7
  21. package/lib/theme/BlogSidebar/styles.module.css +2 -2
  22. package/lib/theme/BlogTagsListPage/index.js +8 -44
  23. package/lib/theme/BlogTagsPostsPage/index.js +24 -38
  24. package/lib/theme/CodeBlock/index.js +18 -138
  25. package/lib/theme/CodeBlock/styles.module.css +6 -9
  26. package/lib/theme/Details/index.js +30 -0
  27. package/lib/theme/Details/styles.module.css +13 -0
  28. package/lib/theme/DocCard/index.js +84 -0
  29. package/lib/theme/DocCard/styles.module.css +43 -0
  30. package/lib/theme/DocCardList/index.js +28 -0
  31. package/lib/theme/DocCategoryGeneratedIndexPage/index.js +57 -0
  32. package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  33. package/lib/theme/DocItem/index.js +22 -48
  34. package/lib/theme/DocItem/styles.module.css +2 -11
  35. package/lib/theme/DocItemFooter/index.js +79 -0
  36. package/lib/theme/DocItemFooter/styles.module.css +18 -0
  37. package/lib/theme/DocPage/index.js +35 -20
  38. package/lib/theme/DocPaginator/index.js +6 -7
  39. package/lib/theme/DocSidebar/index.js +23 -22
  40. package/lib/theme/DocSidebarItem/index.js +84 -50
  41. package/lib/theme/DocSidebarItem/styles.module.css +4 -0
  42. package/lib/theme/DocTagDocListPage/index.js +89 -0
  43. package/lib/theme/DocTagsListPage/index.js +44 -0
  44. package/lib/theme/DocVersionBadge/index.js +34 -0
  45. package/lib/theme/DocVersionBanner/index.js +12 -10
  46. package/lib/theme/EditThisPage/index.js +3 -1
  47. package/lib/theme/ErrorPageContent.js +43 -0
  48. package/lib/theme/Footer/index.js +8 -4
  49. package/lib/theme/Heading/index.js +17 -22
  50. package/lib/theme/Heading/styles.css +5 -6
  51. package/lib/theme/Heading/styles.module.css +9 -5
  52. package/lib/theme/IconArrow/index.js +2 -2
  53. package/lib/theme/IconClose/index.js +31 -0
  54. package/lib/theme/IconEdit/index.js +3 -3
  55. package/lib/theme/IconExternalLink/index.js +3 -3
  56. package/lib/theme/IconLanguage/index.js +3 -3
  57. package/lib/theme/IconMenu/index.js +3 -3
  58. package/lib/theme/LastUpdated/index.js +4 -2
  59. package/lib/theme/Layout/index.js +5 -1
  60. package/lib/theme/LayoutHead/index.js +22 -17
  61. package/lib/theme/LayoutProviders/index.js +7 -5
  62. package/lib/theme/Logo/index.js +16 -14
  63. package/lib/theme/MDXComponents/index.js +45 -4
  64. package/lib/theme/MDXComponents/styles.css +11 -0
  65. package/lib/theme/MDXPage/index.js +2 -1
  66. package/lib/theme/Navbar/index.js +46 -27
  67. package/lib/theme/Navbar/styles.module.css +3 -39
  68. package/lib/theme/NavbarItem/DefaultNavbarItem.js +27 -124
  69. package/lib/theme/NavbarItem/DocNavbarItem.js +7 -8
  70. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +19 -12
  71. package/lib/theme/NavbarItem/DropdownNavbarItem.js +155 -0
  72. package/lib/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +6 -10
  73. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  74. package/lib/theme/NavbarItem/index.js +31 -11
  75. package/lib/theme/{SearchMetadatas → SearchMetadata}/index.js +2 -2
  76. package/lib/theme/Seo/index.js +10 -7
  77. package/lib/theme/TOC/index.js +9 -30
  78. package/lib/theme/TOC/styles.module.css +1 -1
  79. package/lib/theme/TOCCollapsible/index.js +7 -5
  80. package/lib/theme/TOCCollapsible/styles.module.css +1 -0
  81. package/lib/theme/TOCInline/index.js +7 -27
  82. package/lib/theme/TOCItems/index.js +78 -0
  83. package/lib/theme/Tabs/__tests__/index.test.js +123 -0
  84. package/lib/theme/Tabs/index.js +73 -50
  85. package/lib/theme/Tabs/styles.module.css +0 -13
  86. package/lib/theme/Tag/index.js +40 -0
  87. package/lib/theme/Tag/styles.module.css +70 -0
  88. package/lib/theme/TagsListByLetter/index.js +48 -0
  89. package/lib/theme/TagsListByLetter/styles.module.css +11 -0
  90. package/lib/theme/TagsListInline/index.js +44 -0
  91. package/lib/theme/TagsListInline/styles.module.css +15 -0
  92. package/lib/theme/ThemeProvider/index.js +8 -3
  93. package/lib/theme/ThemedImage/index.js +5 -7
  94. package/lib/theme/Toggle/index.js +41 -44
  95. package/lib/theme/Toggle/styles.module.css +91 -3
  96. package/lib/theme/UserPreferencesProvider/index.js +8 -3
  97. package/lib/theme/hooks/useHideableNavbar.js +14 -32
  98. package/lib/theme/hooks/useTheme.js +3 -5
  99. package/lib/theme/hooks/useWindowSize.js +2 -7
  100. package/lib/theme/prism-include-languages.js +4 -3
  101. package/lib/theme-classic.d.ts +806 -0
  102. package/lib/translations.js +4 -4
  103. package/lib/types.d.ts +0 -629
  104. package/lib/validateThemeConfig.js +230 -248
  105. package/lib-next/__tests__/validateThemeConfig.test.js +277 -3
  106. package/lib-next/admonitions.css +35 -0
  107. package/lib-next/deps.d.ts +13 -0
  108. package/lib-next/index.js +16 -10
  109. package/lib-next/prism-include-languages.js +0 -2
  110. package/lib-next/theme/AnnouncementBar/index.js +7 -12
  111. package/lib-next/theme/AnnouncementBar/styles.module.css +23 -32
  112. package/lib-next/theme/BackToTopButton/index.js +131 -0
  113. package/lib-next/theme/BackToTopButton/styles.module.css +42 -0
  114. package/lib-next/theme/BlogArchivePage/index.js +80 -0
  115. package/lib-next/theme/BlogLayout/index.js +40 -0
  116. package/lib-next/theme/BlogListPage/index.js +17 -25
  117. package/lib-next/theme/BlogPostAuthor/index.js +46 -0
  118. package/lib-next/theme/BlogPostAuthor/styles.module.css +12 -0
  119. package/lib-next/theme/BlogPostAuthors/index.js +34 -0
  120. package/lib-next/theme/BlogPostAuthors/styles.module.css +11 -0
  121. package/lib-next/theme/BlogPostItem/index.js +79 -86
  122. package/lib-next/theme/BlogPostPage/index.js +70 -35
  123. package/lib-next/theme/BlogSidebar/index.js +11 -13
  124. package/lib-next/theme/BlogSidebar/styles.module.css +2 -2
  125. package/lib-next/theme/BlogTagsListPage/index.js +14 -55
  126. package/lib-next/theme/BlogTagsPostsPage/index.js +29 -39
  127. package/lib-next/theme/CodeBlock/index.js +17 -149
  128. package/lib-next/theme/CodeBlock/styles.module.css +6 -9
  129. package/lib-next/theme/Details/index.js +20 -0
  130. package/lib-next/theme/Details/styles.module.css +13 -0
  131. package/lib-next/theme/DocCard/index.js +80 -0
  132. package/lib-next/theme/DocCard/styles.module.css +43 -0
  133. package/lib-next/theme/DocCardList/index.js +19 -0
  134. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +49 -0
  135. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  136. package/lib-next/theme/DocItem/index.js +30 -59
  137. package/lib-next/theme/DocItem/styles.module.css +2 -11
  138. package/lib-next/theme/DocItemFooter/index.js +79 -0
  139. package/lib-next/theme/DocItemFooter/styles.module.css +18 -0
  140. package/lib-next/theme/DocPage/index.js +46 -23
  141. package/lib-next/theme/DocPaginator/index.js +7 -11
  142. package/lib-next/theme/DocSidebar/index.js +37 -43
  143. package/lib-next/theme/DocSidebarItem/index.js +115 -65
  144. package/lib-next/theme/DocSidebarItem/styles.module.css +4 -0
  145. package/lib-next/theme/DocTagDocListPage/index.js +89 -0
  146. package/lib-next/theme/DocTagsListPage/index.js +38 -0
  147. package/lib-next/theme/DocVersionBadge/index.js +27 -0
  148. package/lib-next/theme/DocVersionBanner/index.js +28 -14
  149. package/lib-next/theme/EditThisPage/index.js +6 -1
  150. package/lib-next/theme/ErrorPageContent.js +35 -0
  151. package/lib-next/theme/Footer/index.js +17 -4
  152. package/lib-next/theme/Heading/index.js +25 -29
  153. package/lib-next/theme/Heading/styles.css +5 -6
  154. package/lib-next/theme/Heading/styles.module.css +9 -5
  155. package/lib-next/theme/IconArrow/index.js +2 -2
  156. package/lib-next/theme/IconClose/index.js +23 -0
  157. package/lib-next/theme/IconEdit/index.js +2 -2
  158. package/lib-next/theme/IconExternalLink/index.js +2 -2
  159. package/lib-next/theme/IconLanguage/index.js +2 -2
  160. package/lib-next/theme/IconMenu/index.js +2 -2
  161. package/lib-next/theme/LastUpdated/index.js +3 -2
  162. package/lib-next/theme/Layout/index.js +3 -1
  163. package/lib-next/theme/LayoutHead/index.js +18 -23
  164. package/lib-next/theme/LayoutProviders/index.js +8 -5
  165. package/lib-next/theme/Logo/index.js +25 -21
  166. package/lib-next/theme/MDXComponents/index.js +34 -7
  167. package/lib-next/theme/MDXComponents/styles.css +11 -0
  168. package/lib-next/theme/MDXPage/index.js +10 -2
  169. package/lib-next/theme/Navbar/index.js +62 -34
  170. package/lib-next/theme/Navbar/styles.module.css +3 -39
  171. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +45 -143
  172. package/lib-next/theme/NavbarItem/DocNavbarItem.js +7 -7
  173. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +31 -19
  174. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +159 -0
  175. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +4 -12
  176. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  177. package/lib-next/theme/NavbarItem/index.js +25 -12
  178. package/lib-next/theme/{SearchMetadatas → SearchMetadata}/index.js +1 -1
  179. package/lib-next/theme/Seo/index.js +11 -7
  180. package/lib-next/theme/TOC/index.js +12 -36
  181. package/lib-next/theme/TOC/styles.module.css +1 -1
  182. package/lib-next/theme/TOCCollapsible/index.js +13 -4
  183. package/lib-next/theme/TOCCollapsible/styles.module.css +1 -0
  184. package/lib-next/theme/TOCInline/index.js +10 -28
  185. package/lib-next/theme/TOCItems/index.js +85 -0
  186. package/lib-next/theme/Tabs/__tests__/index.test.js +142 -0
  187. package/lib-next/theme/Tabs/index.js +91 -43
  188. package/lib-next/theme/Tabs/styles.module.css +0 -13
  189. package/lib-next/theme/Tag/index.js +27 -0
  190. package/lib-next/theme/Tag/styles.module.css +70 -0
  191. package/lib-next/theme/TagsListByLetter/index.js +42 -0
  192. package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
  193. package/lib-next/theme/TagsListInline/index.js +31 -0
  194. package/lib-next/theme/TagsListInline/styles.module.css +15 -0
  195. package/lib-next/theme/ThemeProvider/index.js +10 -7
  196. package/lib-next/theme/ThemedImage/index.js +5 -5
  197. package/lib-next/theme/Toggle/index.js +34 -37
  198. package/lib-next/theme/Toggle/styles.module.css +91 -3
  199. package/lib-next/theme/UserPreferencesProvider/index.js +9 -6
  200. package/lib-next/theme/hooks/useHideableNavbar.js +31 -44
  201. package/lib-next/theme/hooks/useTheme.js +4 -5
  202. package/lib-next/theme/hooks/useWindowSize.js +2 -6
  203. package/lib-next/theme/prism-include-languages.js +2 -1
  204. package/lib-next/theme-classic.d.ts +806 -0
  205. package/lib-next/translations.js +6 -10
  206. package/lib-next/types.d.ts +0 -629
  207. package/lib-next/validateThemeConfig.js +141 -116
  208. package/package.json +27 -24
  209. package/src/__tests__/validateThemeConfig.test.js +277 -3
  210. package/src/admonitions.css +35 -0
  211. package/src/deps.d.ts +13 -0
  212. package/src/index.ts +23 -17
  213. package/src/{prism-include-languages.js → prism-include-languages.ts} +0 -0
  214. package/src/theme/AnnouncementBar/index.tsx +8 -12
  215. package/src/theme/AnnouncementBar/styles.module.css +23 -32
  216. package/src/theme/BackToTopButton/index.tsx +142 -0
  217. package/src/theme/BackToTopButton/styles.module.css +42 -0
  218. package/src/theme/BlogArchivePage/index.tsx +91 -0
  219. package/src/theme/BlogLayout/index.tsx +44 -0
  220. package/src/theme/BlogListPage/index.tsx +18 -25
  221. package/src/theme/BlogPostAuthor/index.tsx +49 -0
  222. package/src/theme/BlogPostAuthor/styles.module.css +12 -0
  223. package/src/theme/BlogPostAuthors/index.tsx +39 -0
  224. package/src/theme/BlogPostAuthors/styles.module.css +11 -0
  225. package/src/theme/BlogPostItem/index.tsx +70 -80
  226. package/src/theme/BlogPostPage/index.tsx +72 -35
  227. package/src/theme/BlogSidebar/index.tsx +11 -13
  228. package/src/theme/BlogSidebar/styles.module.css +2 -2
  229. package/src/theme/BlogTagsListPage/index.tsx +14 -57
  230. package/src/theme/BlogTagsPostsPage/index.tsx +29 -39
  231. package/src/theme/CodeBlock/index.tsx +21 -151
  232. package/src/theme/CodeBlock/styles.module.css +6 -9
  233. package/src/theme/Details/index.tsx +24 -0
  234. package/src/theme/Details/styles.module.css +13 -0
  235. package/src/theme/DocCard/index.tsx +100 -0
  236. package/src/theme/DocCard/styles.module.css +43 -0
  237. package/src/theme/DocCardList/index.tsx +27 -0
  238. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +53 -0
  239. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  240. package/src/theme/DocItem/index.tsx +30 -60
  241. package/src/theme/DocItem/styles.module.css +2 -11
  242. package/src/theme/DocItemFooter/index.tsx +91 -0
  243. package/src/theme/DocItemFooter/styles.module.css +18 -0
  244. package/src/theme/DocPage/index.tsx +44 -22
  245. package/src/theme/DocPaginator/index.tsx +9 -13
  246. package/src/theme/DocSidebar/index.tsx +38 -39
  247. package/src/theme/DocSidebarItem/index.tsx +108 -49
  248. package/src/theme/DocSidebarItem/styles.module.css +4 -0
  249. package/src/theme/DocTagDocListPage/index.tsx +89 -0
  250. package/src/theme/DocTagsListPage/index.tsx +41 -0
  251. package/src/theme/DocVersionBadge/index.tsx +30 -0
  252. package/src/theme/DocVersionBanner/index.tsx +48 -21
  253. package/src/theme/EditThisPage/index.tsx +6 -1
  254. package/src/theme/ErrorPageContent.tsx +41 -0
  255. package/src/theme/Footer/index.tsx +20 -5
  256. package/src/theme/Heading/index.tsx +25 -31
  257. package/src/theme/Heading/styles.css +5 -6
  258. package/src/theme/Heading/styles.module.css +9 -5
  259. package/src/theme/IconArrow/index.tsx +2 -2
  260. package/src/theme/IconClose/index.tsx +26 -0
  261. package/src/theme/IconEdit/index.tsx +2 -2
  262. package/src/theme/IconExternalLink/index.tsx +2 -5
  263. package/src/theme/IconLanguage/index.tsx +2 -6
  264. package/src/theme/IconMenu/index.tsx +3 -3
  265. package/src/theme/LastUpdated/index.tsx +3 -2
  266. package/src/theme/Layout/index.tsx +3 -1
  267. package/src/theme/LayoutHead/index.tsx +18 -17
  268. package/src/theme/LayoutProviders/index.tsx +8 -5
  269. package/src/theme/Logo/index.tsx +21 -17
  270. package/src/theme/MDXComponents/index.tsx +39 -5
  271. package/src/theme/MDXComponents/styles.css +11 -0
  272. package/src/theme/MDXPage/index.tsx +10 -2
  273. package/src/theme/Navbar/index.tsx +62 -35
  274. package/src/theme/Navbar/styles.module.css +3 -39
  275. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +42 -149
  276. package/src/theme/NavbarItem/DocNavbarItem.tsx +12 -16
  277. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +33 -21
  278. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  279. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +181 -0
  280. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +8 -9
  281. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  282. package/src/theme/NavbarItem/index.tsx +41 -16
  283. package/src/theme/{SearchMetadatas → SearchMetadata}/index.tsx +2 -2
  284. package/src/theme/Seo/index.tsx +7 -4
  285. package/src/theme/TOC/index.tsx +13 -35
  286. package/src/theme/TOC/styles.module.css +1 -1
  287. package/src/theme/TOCCollapsible/index.tsx +13 -4
  288. package/src/theme/TOCCollapsible/styles.module.css +1 -0
  289. package/src/theme/TOCInline/index.tsx +13 -32
  290. package/src/theme/TOCItems/index.tsx +96 -0
  291. package/src/theme/Tabs/__tests__/index.test.tsx +129 -0
  292. package/src/theme/Tabs/index.tsx +93 -49
  293. package/src/theme/Tabs/styles.module.css +0 -13
  294. package/src/theme/Tag/index.tsx +31 -0
  295. package/src/theme/Tag/styles.module.css +70 -0
  296. package/src/theme/TagsListByLetter/index.tsx +45 -0
  297. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  298. package/src/theme/TagsListInline/index.tsx +35 -0
  299. package/src/theme/TagsListInline/styles.module.css +15 -0
  300. package/src/theme/ThemeProvider/index.tsx +6 -2
  301. package/src/theme/ThemedImage/index.tsx +5 -5
  302. package/src/theme/Toggle/index.tsx +36 -43
  303. package/src/theme/Toggle/styles.module.css +91 -3
  304. package/src/theme/UserPreferencesProvider/index.tsx +9 -6
  305. package/src/theme/hooks/useHideableNavbar.ts +32 -45
  306. package/src/theme/hooks/useTabGroupChoice.ts +2 -2
  307. package/src/theme/hooks/useTheme.ts +4 -5
  308. package/src/theme/hooks/useWindowSize.ts +2 -7
  309. package/src/theme/prism-include-languages.ts +3 -2
  310. package/src/theme-classic.d.ts +806 -0
  311. package/src/translations.ts +8 -10
  312. package/src/types.d.ts +0 -629
  313. package/src/{validateThemeConfig.js → validateThemeConfig.ts} +151 -96
  314. package/tsconfig.json +1 -2
  315. package/codeTranslations/README.md +0 -20
  316. package/codeTranslations/ar.json +0 -56
  317. package/codeTranslations/base.json +0 -110
  318. package/codeTranslations/bn.json +0 -56
  319. package/codeTranslations/da.json +0 -56
  320. package/codeTranslations/de.json +0 -56
  321. package/codeTranslations/es.json +0 -56
  322. package/codeTranslations/fa.json +0 -56
  323. package/codeTranslations/fil.json +0 -56
  324. package/codeTranslations/fr.json +0 -56
  325. package/codeTranslations/he.json +0 -56
  326. package/codeTranslations/hi.json +0 -56
  327. package/codeTranslations/ja.json +0 -56
  328. package/codeTranslations/ko.json +0 -56
  329. package/codeTranslations/pl.json +0 -56
  330. package/codeTranslations/pt-BR.json +0 -56
  331. package/codeTranslations/pt-PT.json +0 -56
  332. package/codeTranslations/ru.json +0 -56
  333. package/codeTranslations/tr.json +0 -56
  334. package/codeTranslations/vi.json +0 -56
  335. package/codeTranslations/zh-Hans.json +0 -56
  336. package/codeTranslations/zh-Hant.json +0 -56
  337. package/lib/theme/Toggle/styles.css +0 -103
  338. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  339. package/lib/theme/hooks/useScrollPosition.js +0 -49
  340. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  341. package/lib-next/theme/Toggle/styles.css +0 -103
  342. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  343. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  344. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  345. package/src/theme/Toggle/styles.css +0 -103
  346. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  347. package/src/theme/hooks/useScrollPosition.ts +0 -45
  348. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  349. package/update-code-translations.js +0 -242
  350. package/update-code-translations.test.js +0 -33
@@ -3,12 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = Tabs;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
+ var _useIsBrowser = _interopRequireDefault(require("@docusaurus/useIsBrowser"));
11
+
10
12
  var _useUserPreferencesContext = _interopRequireDefault(require("@theme/hooks/useUserPreferencesContext"));
11
13
 
14
+ var _themeCommon = require("@docusaurus/theme-common");
15
+
12
16
  var _clsx = _interopRequireDefault(require("clsx"));
13
17
 
14
18
  var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
@@ -25,43 +29,66 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
25
29
  * This source code is licensed under the MIT license found in the
26
30
  * LICENSE file in the root directory of this source tree.
27
31
  */
28
- function isInViewport(element) {
29
- const {
30
- top,
31
- left,
32
- bottom,
33
- right
34
- } = element.getBoundingClientRect();
35
- const {
36
- innerHeight,
37
- innerWidth
38
- } = window;
39
- return top >= 0 && right <= innerWidth && bottom <= innerHeight && left >= 0;
32
+ // A very rough duck type, but good enough to guard against mistakes while
33
+ // allowing customization
34
+ function isTabItem(comp) {
35
+ return typeof comp.props.value !== 'undefined';
40
36
  }
41
37
 
42
- const keys = {
43
- left: 37,
44
- right: 39
45
- };
38
+ function TabsComponent(props) {
39
+ var _ref, _children$find, _children$;
46
40
 
47
- function Tabs(props) {
48
41
  const {
49
42
  lazy,
50
43
  block,
51
- defaultValue,
52
- values,
44
+ defaultValue: defaultValueProp,
45
+ values: valuesProp,
53
46
  groupId,
54
47
  className
55
48
  } = props;
49
+
50
+ const children = _react.Children.map(props.children, child => {
51
+ if ((0, _react.isValidElement)(child) && isTabItem(child)) {
52
+ return child;
53
+ } // child.type.name will give non-sensical values in prod because of
54
+ // minification, but we assume it won't throw in prod.
55
+
56
+
57
+ throw new Error(`Docusaurus error: Bad <Tabs> child <${// @ts-expect-error: guarding against unexpected cases
58
+ typeof child.type === 'string' ? child.type : child.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`);
59
+ });
60
+
61
+ const values = valuesProp !== null && valuesProp !== void 0 ? valuesProp : children.map(({
62
+ props: {
63
+ value,
64
+ label
65
+ }
66
+ }) => ({
67
+ value,
68
+ label
69
+ }));
70
+ const dup = (0, _themeCommon.duplicates)(values, (a, b) => a.value === b.value);
71
+
72
+ if (dup.length > 0) {
73
+ throw new Error(`Docusaurus error: Duplicate values "${dup.map(a => a.value).join(', ')}" found in <Tabs>. Every value needs to be unique.`);
74
+ } // When defaultValueProp is null, don't show a default tab
75
+
76
+
77
+ const defaultValue = defaultValueProp === null ? defaultValueProp : (_ref = defaultValueProp !== null && defaultValueProp !== void 0 ? defaultValueProp : (_children$find = children.find(child => child.props.default)) === null || _children$find === void 0 ? void 0 : _children$find.props.value) !== null && _ref !== void 0 ? _ref : (_children$ = children[0]) === null || _children$ === void 0 ? void 0 : _children$.props.value;
78
+
79
+ if (defaultValue !== null && !values.some(a => a.value === defaultValue)) {
80
+ throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${defaultValue}" but none of its children has the corresponding value. Available values are: ${values.map(a => a.value).join(', ')}. If you intend to show no default tab, use defaultValue={null} instead.`);
81
+ }
82
+
56
83
  const {
57
84
  tabGroupChoices,
58
85
  setTabGroupChoices
59
86
  } = (0, _useUserPreferencesContext.default)();
60
87
  const [selectedValue, setSelectedValue] = (0, _react.useState)(defaultValue);
61
-
62
- const children = _react.Children.toArray(props.children);
63
-
64
88
  const tabRefs = [];
89
+ const {
90
+ blockElementScrollPositionUntilNextRender
91
+ } = (0, _themeCommon.useScrollPositionBlocker)();
65
92
 
66
93
  if (groupId != null) {
67
94
  const relevantTabGroupChoice = tabGroupChoices[groupId];
@@ -72,44 +99,36 @@ function Tabs(props) {
72
99
  }
73
100
 
74
101
  const handleTabChange = event => {
75
- const selectedTab = event.currentTarget;
76
- const selectedTabIndex = tabRefs.indexOf(selectedTab);
77
- const selectedTabValue = values[selectedTabIndex].value;
78
- setSelectedValue(selectedTabValue);
79
-
80
- if (groupId != null) {
81
- setTabGroupChoices(groupId, selectedTabValue);
82
- setTimeout(() => {
83
- if (isInViewport(selectedTab)) {
84
- return;
85
- }
102
+ const newTab = event.currentTarget;
103
+ const newTabIndex = tabRefs.indexOf(newTab);
104
+ const newTabValue = values[newTabIndex].value;
86
105
 
87
- selectedTab.scrollIntoView({
88
- block: 'center',
89
- behavior: 'smooth'
90
- });
91
- selectedTab.classList.add(_stylesModule.default.tabItemActive);
92
- setTimeout(() => selectedTab.classList.remove(_stylesModule.default.tabItemActive), 2000);
93
- }, 150);
106
+ if (newTabValue !== selectedValue) {
107
+ blockElementScrollPositionUntilNextRender(newTab);
108
+ setSelectedValue(newTabValue);
109
+
110
+ if (groupId != null) {
111
+ setTabGroupChoices(groupId, newTabValue);
112
+ }
94
113
  }
95
114
  };
96
115
 
97
116
  const handleKeydown = event => {
98
117
  var _focusElement;
99
118
 
100
- let focusElement;
119
+ let focusElement = null;
101
120
 
102
- switch (event.keyCode) {
103
- case keys.right:
121
+ switch (event.key) {
122
+ case 'ArrowRight':
104
123
  {
105
- const nextTab = tabRefs.indexOf(event.target) + 1;
124
+ const nextTab = tabRefs.indexOf(event.currentTarget) + 1;
106
125
  focusElement = tabRefs[nextTab] || tabRefs[0];
107
126
  break;
108
127
  }
109
128
 
110
- case keys.left:
129
+ case 'ArrowLeft':
111
130
  {
112
- const prevTab = tabRefs.indexOf(event.target) - 1;
131
+ const prevTab = tabRefs.indexOf(event.currentTarget) - 1;
113
132
  focusElement = tabRefs[prevTab] || tabRefs[tabRefs.length - 1];
114
133
  break;
115
134
  }
@@ -131,7 +150,7 @@ function Tabs(props) {
131
150
  }) => <li role="tab" tabIndex={selectedValue === value ? 0 : -1} aria-selected={selectedValue === value} className={(0, _clsx.default)('tabs__item', _stylesModule.default.tabItem, {
132
151
  'tabs__item--active': selectedValue === value
133
152
  })} key={value} ref={tabControl => tabRefs.push(tabControl)} onKeyDown={handleKeydown} onFocus={handleTabChange} onClick={handleTabChange}>
134
- {label}
153
+ {label !== null && label !== void 0 ? label : value}
135
154
  </li>)}
136
155
  </ul>
137
156
 
@@ -146,5 +165,9 @@ function Tabs(props) {
146
165
  </div>;
147
166
  }
148
167
 
149
- var _default = Tabs;
150
- exports.default = _default;
168
+ function Tabs(props) {
169
+ const isBrowser = (0, _useIsBrowser.default)();
170
+ return <TabsComponent // Remount tabs after hydration
171
+ // Temporary fix for https://github.com/facebook/docusaurus/issues/5653
172
+ key={String(isBrowser)} {...props} />;
173
+ }
@@ -8,16 +8,3 @@
8
8
  .tabItem {
9
9
  margin-top: 0 !important;
10
10
  }
11
-
12
- .tabItemActive {
13
- animation: blink 0.5s ease-in-out 5;
14
- }
15
-
16
- @keyframes blink {
17
- 0% {
18
- background-color: var(--ifm-hover-overlay);
19
- }
20
- 100% {
21
- background-color: rgba(0, 0, 0, 0);
22
- }
23
- }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _clsx = _interopRequireDefault(require("clsx"));
11
+
12
+ var _Link = _interopRequireDefault(require("@docusaurus/Link"));
13
+
14
+ var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ /**
19
+ * Copyright (c) Facebook, Inc. and its affiliates.
20
+ *
21
+ * This source code is licensed under the MIT license found in the
22
+ * LICENSE file in the root directory of this source tree.
23
+ */
24
+ function Tag(props) {
25
+ const {
26
+ permalink,
27
+ name,
28
+ count
29
+ } = props;
30
+ return <_Link.default href={permalink} className={(0, _clsx.default)(_stylesModule.default.tag, {
31
+ [_stylesModule.default.tagRegular]: !count,
32
+ [_stylesModule.default.tagWithCount]: count
33
+ })}>
34
+ {name}
35
+ {count && <span>{count}</span>}
36
+ </_Link.default>;
37
+ }
38
+
39
+ var _default = Tag;
40
+ exports.default = _default;
@@ -0,0 +1,70 @@
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
+ :root {
9
+ --docusaurus-tag-list-border: var(--ifm-color-emphasis-300);
10
+ }
11
+
12
+ .tag {
13
+ border: 1px solid var(--docusaurus-tag-list-border);
14
+ transition: border var(--ifm-transition-fast);
15
+ }
16
+
17
+ .tag:hover {
18
+ --docusaurus-tag-list-border: var(--ifm-link-color);
19
+ text-decoration: none;
20
+ }
21
+
22
+ .tagRegular {
23
+ border-radius: 0.5rem;
24
+ padding: 0.3rem 0.5rem;
25
+ font-size: 90%;
26
+ }
27
+
28
+ .tagWithCount {
29
+ display: flex;
30
+ align-items: center;
31
+ position: relative;
32
+ padding: 0 0.5rem 0 1rem;
33
+ border-left: 0;
34
+ }
35
+
36
+ .tagWithCount:before,
37
+ .tagWithCount:after {
38
+ content: '';
39
+ position: absolute;
40
+ top: 50%;
41
+ border: 1px solid var(--docusaurus-tag-list-border);
42
+ transition: inherit;
43
+ }
44
+
45
+ .tagWithCount:before {
46
+ right: 100%;
47
+ transform: translate(50%, -50%) rotate(-45deg);
48
+ width: 1.18rem;
49
+ height: 1.18rem;
50
+ border-right: 0;
51
+ border-bottom: 0;
52
+ }
53
+
54
+ .tagWithCount:after {
55
+ left: 0;
56
+ transform: translateY(-50%);
57
+ width: 0.5rem;
58
+ height: 0.5rem;
59
+ border-radius: 50%;
60
+ }
61
+
62
+ .tagWithCount span {
63
+ background: var(--ifm-color-secondary);
64
+ color: var(--ifm-color-black);
65
+ font-size: 0.7rem;
66
+ line-height: 1.2;
67
+ border-radius: var(--ifm-global-radius);
68
+ padding: 0.1rem 0.4rem;
69
+ margin-left: 0.3rem;
70
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _Tag = _interopRequireDefault(require("@theme/Tag"));
11
+
12
+ var _themeCommon = require("@docusaurus/theme-common");
13
+
14
+ var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ /**
19
+ * Copyright (c) Facebook, Inc. and its affiliates.
20
+ *
21
+ * This source code is licensed under the MIT license found in the
22
+ * LICENSE file in the root directory of this source tree.
23
+ */
24
+ function TagLetterEntryItem({
25
+ letterEntry
26
+ }) {
27
+ return <article>
28
+ <h2>{letterEntry.letter}</h2>
29
+ <ul className="padding--none">
30
+ {letterEntry.tags.map(tag => <li key={tag.permalink} className={_stylesModule.default.tag}>
31
+ <_Tag.default {...tag} />
32
+ </li>)}
33
+ </ul>
34
+ <hr />
35
+ </article>;
36
+ }
37
+
38
+ function TagsListByLetter({
39
+ tags
40
+ }) {
41
+ const letterList = (0, _themeCommon.listTagsByLetters)(tags);
42
+ return <section className="margin-vert--lg">
43
+ {letterList.map(letterEntry => <TagLetterEntryItem key={letterEntry.letter} letterEntry={letterEntry} />)}
44
+ </section>;
45
+ }
46
+
47
+ var _default = TagsListByLetter;
48
+ exports.default = _default;
@@ -0,0 +1,11 @@
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
+ .tag {
9
+ display: inline-block;
10
+ margin: 0.5rem 0.5rem 0 1rem;
11
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = TagsListInline;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _clsx = _interopRequireDefault(require("clsx"));
11
+
12
+ var _Translate = _interopRequireDefault(require("@docusaurus/Translate"));
13
+
14
+ var _Tag = _interopRequireDefault(require("@theme/Tag"));
15
+
16
+ var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ /**
21
+ * Copyright (c) Facebook, Inc. and its affiliates.
22
+ *
23
+ * This source code is licensed under the MIT license found in the
24
+ * LICENSE file in the root directory of this source tree.
25
+ */
26
+ function TagsListInline({
27
+ tags
28
+ }) {
29
+ return <>
30
+ <b>
31
+ <_Translate.default id="theme.tags.tagsListLabel" description="The label alongside a tag list">
32
+ Tags:
33
+ </_Translate.default>
34
+ </b>
35
+ <ul className={(0, _clsx.default)(_stylesModule.default.tags, 'padding--none', 'margin-left--sm')}>
36
+ {tags.map(({
37
+ label,
38
+ permalink: tagPermalink
39
+ }) => <li key={tagPermalink} className={_stylesModule.default.tag}>
40
+ <_Tag.default name={label} permalink={tagPermalink} />
41
+ </li>)}
42
+ </ul>
43
+ </>;
44
+ }
@@ -0,0 +1,15 @@
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
+ .tags {
9
+ display: inline;
10
+ }
11
+
12
+ .tag {
13
+ margin: 0 0.4rem 0.5rem 0;
14
+ display: inline-block;
15
+ }
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _useTheme = _interopRequireDefault(require("@theme/hooks/useTheme"));
11
11
 
@@ -13,6 +13,10 @@ var _ThemeContext = _interopRequireDefault(require("@theme/ThemeContext"));
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
16
20
  /**
17
21
  * Copyright (c) Facebook, Inc. and its affiliates.
18
22
  *
@@ -25,11 +29,12 @@ function ThemeProvider(props) {
25
29
  setLightTheme,
26
30
  setDarkTheme
27
31
  } = (0, _useTheme.default)();
28
- return <_ThemeContext.default.Provider value={{
32
+ const contextValue = (0, _react.useMemo)(() => ({
29
33
  isDarkTheme,
30
34
  setLightTheme,
31
35
  setDarkTheme
32
- }}>
36
+ }), [isDarkTheme, setLightTheme, setDarkTheme]);
37
+ return <_ThemeContext.default.Provider value={contextValue}>
33
38
  {props.children}
34
39
  </_ThemeContext.default.Provider>;
35
40
  }
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _clsx = _interopRequireDefault(require("clsx"));
11
11
 
12
- var _useDocusaurusContext = _interopRequireDefault(require("@docusaurus/useDocusaurusContext"));
12
+ var _useIsBrowser = _interopRequireDefault(require("@docusaurus/useIsBrowser"));
13
13
 
14
14
  var _useThemeContext = _interopRequireDefault(require("@theme/hooks/useThemeContext"));
15
15
 
@@ -23,10 +23,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
23
23
  * This source code is licensed under the MIT license found in the
24
24
  * LICENSE file in the root directory of this source tree.
25
25
  */
26
- const ThemedImage = props => {
27
- const {
28
- isClient
29
- } = (0, _useDocusaurusContext.default)();
26
+ function ThemedImage(props) {
27
+ const isBrowser = (0, _useIsBrowser.default)();
30
28
  const {
31
29
  isDarkTheme
32
30
  } = (0, _useThemeContext.default)();
@@ -37,13 +35,13 @@ const ThemedImage = props => {
37
35
  ...propsRest
38
36
  } = props;
39
37
  const clientThemes = isDarkTheme ? ['dark'] : ['light'];
40
- const renderedSourceNames = isClient ? clientThemes : // We need to render both images on the server to avoid flash
38
+ const renderedSourceNames = isBrowser ? clientThemes : // We need to render both images on the server to avoid flash
41
39
  // See https://github.com/facebook/docusaurus/pull/3730
42
40
  ['light', 'dark'];
43
41
  return <>
44
42
  {renderedSourceNames.map(sourceName => <img key={sourceName} src={sources[sourceName]} alt={alt} className={(0, _clsx.default)(_stylesModule.default.themedImage, _stylesModule.default[`themedImage--${sourceName}`], className)} {...propsRest} />)}
45
43
  </>;
46
- };
44
+ }
47
45
 
48
46
  var _default = ThemedImage;
49
47
  exports.default = _default;
@@ -3,18 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = _default;
6
+ exports.default = Toggle;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _themeCommon = require("@docusaurus/theme-common");
11
11
 
12
- var _useDocusaurusContext = _interopRequireDefault(require("@docusaurus/useDocusaurusContext"));
12
+ var _useIsBrowser = _interopRequireDefault(require("@docusaurus/useIsBrowser"));
13
13
 
14
14
  var _clsx = _interopRequireDefault(require("clsx"));
15
15
 
16
- require("./styles.css");
17
-
18
16
  var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
19
17
 
20
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -29,66 +27,65 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
29
27
  * This source code is licensed under the MIT license found in the
30
28
  * LICENSE file in the root directory of this source tree.
31
29
  */
32
- const Dark = ({
33
- icon,
34
- style
35
- }) => <span className={(0, _clsx.default)(_stylesModule.default.toggle, _stylesModule.default.dark)} style={style}>
36
- {icon}
37
- </span>;
38
-
39
- const Light = ({
40
- icon,
41
- style
42
- }) => <span className={(0, _clsx.default)(_stylesModule.default.toggle, _stylesModule.default.light)} style={style}>
43
- {icon}
44
- </span>; // Based on react-toggle (https://github.com/aaronshaf/react-toggle/).
45
-
46
-
47
- const Toggle = (0, _react.memo)(({
30
+ // Based on react-toggle (https://github.com/aaronshaf/react-toggle/).
31
+ const ToggleComponent = (0, _react.memo)(({
48
32
  className,
49
- icons,
33
+ switchConfig,
50
34
  checked: defaultChecked,
51
35
  disabled,
52
36
  onChange
53
37
  }) => {
38
+ const {
39
+ darkIcon,
40
+ darkIconStyle,
41
+ lightIcon,
42
+ lightIconStyle
43
+ } = switchConfig;
54
44
  const [checked, setChecked] = (0, _react.useState)(defaultChecked);
55
45
  const [focused, setFocused] = (0, _react.useState)(false);
56
46
  const inputRef = (0, _react.useRef)(null);
57
- return <div className={(0, _clsx.default)('react-toggle', className, {
58
- 'react-toggle--checked': checked,
59
- 'react-toggle--focus': focused,
60
- 'react-toggle--disabled': disabled
47
+ return <div className={(0, _clsx.default)(_stylesModule.default.toggle, className, {
48
+ [_stylesModule.default.toggleChecked]: checked,
49
+ [_stylesModule.default.toggleFocused]: focused,
50
+ [_stylesModule.default.toggleDisabled]: disabled
61
51
  })}>
62
- <div className="react-toggle-track" role="button" tabIndex={-1} onClick={() => {
52
+ {
53
+ /* eslint-disable-next-line jsx-a11y/click-events-have-key-events */
54
+ }
55
+ <div className={_stylesModule.default.toggleTrack} role="button" tabIndex={-1} onClick={() => {
63
56
  var _inputRef$current;
64
57
 
65
58
  return (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.click();
66
59
  }}>
67
- <div className="react-toggle-track-check">{icons.checked}</div>
68
- <div className="react-toggle-track-x">{icons.unchecked}</div>
69
- <div className="react-toggle-thumb" />
60
+ <div className={_stylesModule.default.toggleTrackCheck}>
61
+ <span className={_stylesModule.default.toggleIcon} style={darkIconStyle}>
62
+ {darkIcon}
63
+ </span>
64
+ </div>
65
+ <div className={_stylesModule.default.toggleTrackX}>
66
+ <span className={_stylesModule.default.toggleIcon} style={lightIconStyle}>
67
+ {lightIcon}
68
+ </span>
69
+ </div>
70
+ <div className={_stylesModule.default.toggleTrackThumb} />
70
71
  </div>
71
72
 
72
- <input ref={inputRef} checked={checked} type="checkbox" className="react-toggle-screenreader-only" aria-label="Switch between dark and light mode" onChange={onChange} onClick={() => setChecked(!checked)} onFocus={() => setFocused(true)} onBlur={() => setFocused(false)} />
73
+ <input ref={inputRef} checked={checked} type="checkbox" className={_stylesModule.default.toggleScreenReader} aria-label="Switch between dark and light mode" onChange={onChange} onClick={() => setChecked(!checked)} onFocus={() => setFocused(true)} onBlur={() => setFocused(false)} onKeyDown={e => {
74
+ if (e.key === 'Enter') {
75
+ var _inputRef$current2;
76
+
77
+ (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.click();
78
+ }
79
+ }} />
73
80
  </div>;
74
81
  });
75
82
 
76
- function _default(props) {
83
+ function Toggle(props) {
77
84
  const {
78
85
  colorMode: {
79
- switchConfig: {
80
- darkIcon,
81
- darkIconStyle,
82
- lightIcon,
83
- lightIconStyle
84
- }
86
+ switchConfig
85
87
  }
86
88
  } = (0, _themeCommon.useThemeConfig)();
87
- const {
88
- isClient
89
- } = (0, _useDocusaurusContext.default)();
90
- return <Toggle disabled={!isClient} icons={{
91
- checked: <Dark icon={darkIcon} style={darkIconStyle} />,
92
- unchecked: <Light icon={lightIcon} style={lightIconStyle} />
93
- }} {...props} />;
89
+ const isBrowser = (0, _useIsBrowser.default)();
90
+ return <ToggleComponent switchConfig={switchConfig} disabled={!isBrowser} {...props} />;
94
91
  }