@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
@@ -1,253 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = CodeBlock;
7
-
8
- var _react = _interopRequireWildcard(require("react"));
9
-
10
- var _clsx = _interopRequireDefault(require("clsx"));
11
-
12
- var _prismReactRenderer = _interopRequireWildcard(require("prism-react-renderer"));
13
-
14
- var _copyTextToClipboard = _interopRequireDefault(require("copy-text-to-clipboard"));
15
-
16
- var _parseNumericRange = _interopRequireDefault(require("parse-numeric-range"));
17
-
18
- var _usePrismTheme = _interopRequireDefault(require("@theme/hooks/usePrismTheme"));
19
-
20
- var _Translate = _interopRequireWildcard(require("@docusaurus/Translate"));
21
-
22
- var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
23
-
24
- var _themeCommon = require("@docusaurus/theme-common");
25
-
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
- 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); }
29
-
30
- 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; }
31
-
32
- /**
33
- * Copyright (c) Facebook, Inc. and its affiliates.
34
- *
35
- * This source code is licensed under the MIT license found in the
36
- * LICENSE file in the root directory of this source tree.
37
- */
38
- const highlightLinesRangeRegex = /{([\d,-]+)}/;
39
-
40
- const getHighlightDirectiveRegex = (languages = ['js', 'jsBlock', 'jsx', 'python', 'html']) => {
41
- // supported types of comments
42
- const comments = {
43
- js: {
44
- start: '\\/\\/',
45
- end: ''
46
- },
47
- jsBlock: {
48
- start: '\\/\\*',
49
- end: '\\*\\/'
50
- },
51
- jsx: {
52
- start: '\\{\\s*\\/\\*',
53
- end: '\\*\\/\\s*\\}'
54
- },
55
- python: {
56
- start: '#',
57
- end: ''
58
- },
59
- html: {
60
- start: '<!--',
61
- end: '-->'
62
- }
63
- }; // supported directives
64
-
65
- const directives = ['highlight-next-line', 'highlight-start', 'highlight-end'].join('|'); // to be more reliable, the opening and closing comment must match
66
-
67
- const commentPattern = languages.map(lang => `(?:${comments[lang].start}\\s*(${directives})\\s*${comments[lang].end})`).join('|'); // white space is allowed, but otherwise it should be on it's own line
68
-
69
- return new RegExp(`^\\s*(?:${commentPattern})\\s*$`);
70
- }; // select comment styles based on language
71
-
72
-
73
- const highlightDirectiveRegex = lang => {
74
- switch (lang) {
75
- case 'js':
76
- case 'javascript':
77
- case 'ts':
78
- case 'typescript':
79
- return getHighlightDirectiveRegex(['js', 'jsBlock']);
80
-
81
- case 'jsx':
82
- case 'tsx':
83
- return getHighlightDirectiveRegex(['js', 'jsBlock', 'jsx']);
84
-
85
- case 'html':
86
- return getHighlightDirectiveRegex(['js', 'jsBlock', 'html']);
87
-
88
- case 'python':
89
- case 'py':
90
- return getHighlightDirectiveRegex(['python']);
91
-
92
- default:
93
- // all comment types
94
- return getHighlightDirectiveRegex();
95
- }
96
- };
97
-
98
- function CodeBlock({
99
- children,
100
- className: languageClassName,
101
- metastring,
102
- title
103
- }) {
104
- const {
105
- prism
106
- } = (0, _themeCommon.useThemeConfig)();
107
- const [showCopied, setShowCopied] = (0, _react.useState)(false);
108
- const [mounted, setMounted] = (0, _react.useState)(false); // The Prism theme on SSR is always the default theme but the site theme
109
- // can be in a different mode. React hydration doesn't update DOM styles
110
- // that come from SSR. Hence force a re-render after mounting to apply the
111
- // current relevant styles. There will be a flash seen of the original
112
- // styles seen using this current approach but that's probably ok. Fixing
113
- // the flash will require changing the theming approach and is not worth it
114
- // at this point.
115
-
116
- (0, _react.useEffect)(() => {
117
- setMounted(true);
118
- }, []); // TODO: the title is provided by MDX as props automatically
119
- // so we probably don't need to parse the metastring
120
- // (note: title="xyz" => title prop still has the quotes)
121
-
122
- const codeBlockTitle = (0, _themeCommon.parseCodeBlockTitle)(metastring) || title;
123
- const button = (0, _react.useRef)(null);
124
- let highlightLines = [];
125
- const prismTheme = (0, _usePrismTheme.default)(); // In case interleaved Markdown (e.g. when using CodeBlock as standalone component).
126
-
127
- const content = Array.isArray(children) ? children.join('') : children;
128
-
129
- if (metastring && highlightLinesRangeRegex.test(metastring)) {
130
- // Tested above
131
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
132
- const highlightLinesRange = metastring.match(highlightLinesRangeRegex)[1];
133
- highlightLines = (0, _parseNumericRange.default)(highlightLinesRange).filter(n => n > 0);
134
- }
135
-
136
- let language = languageClassName && // Force Prism's language union type to `any` because it does not contain all available languages
137
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
138
- languageClassName.replace(/language-/, '');
139
-
140
- if (!language && prism.defaultLanguage) {
141
- language = prism.defaultLanguage;
142
- } // only declaration OR directive highlight can be used for a block
143
-
144
-
145
- let code = content.replace(/\n$/, '');
146
-
147
- if (highlightLines.length === 0 && language !== undefined) {
148
- let range = '';
149
- const directiveRegex = highlightDirectiveRegex(language); // go through line by line
150
-
151
- const lines = content.replace(/\n$/, '').split('\n');
152
- let blockStart; // loop through lines
153
-
154
- for (let index = 0; index < lines.length;) {
155
- const line = lines[index]; // adjust for 0-index
156
-
157
- const lineNumber = index + 1;
158
- const match = line.match(directiveRegex);
159
-
160
- if (match !== null) {
161
- const directive = match.slice(1).reduce((final, item) => final || item, undefined);
162
-
163
- switch (directive) {
164
- case 'highlight-next-line':
165
- range += `${lineNumber},`;
166
- break;
167
-
168
- case 'highlight-start':
169
- blockStart = lineNumber;
170
- break;
171
-
172
- case 'highlight-end':
173
- range += `${blockStart}-${lineNumber - 1},`;
174
- break;
175
-
176
- default:
177
- break;
178
- }
179
-
180
- lines.splice(index, 1);
181
- } else {
182
- // lines without directives are unchanged
183
- index += 1;
184
- }
185
- }
186
-
187
- highlightLines = (0, _parseNumericRange.default)(range);
188
- code = lines.join('\n');
189
- }
190
-
191
- const handleCopyCode = () => {
192
- (0, _copyTextToClipboard.default)(code);
193
- setShowCopied(true);
194
- setTimeout(() => setShowCopied(false), 2000);
195
- };
196
-
197
- return <_prismReactRenderer.default {..._prismReactRenderer.defaultProps} key={String(mounted)} theme={prismTheme} code={code} language={language}>
198
- {({
199
- className,
200
- style,
201
- tokens,
202
- getLineProps,
203
- getTokenProps
204
- }) => <div className={_stylesModule.default.codeBlockContainer}>
205
- {codeBlockTitle && <div style={style} className={_stylesModule.default.codeBlockTitle}>
206
- {codeBlockTitle}
207
- </div>}
208
- <div className={(0, _clsx.default)(_stylesModule.default.codeBlockContent, language)}>
209
- <pre
210
- /* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */
211
- tabIndex={0} className={(0, _clsx.default)(className, _stylesModule.default.codeBlock, 'thin-scrollbar', {
212
- [_stylesModule.default.codeBlockWithTitle]: codeBlockTitle
213
- })} style={style}>
214
- <code className={_stylesModule.default.codeBlockLines}>
215
- {tokens.map((line, i) => {
216
- if (line.length === 1 && line[0].content === '') {
217
- line[0].content = '\n'; // eslint-disable-line no-param-reassign
218
- }
219
-
220
- const lineProps = getLineProps({
221
- line,
222
- key: i
223
- });
224
-
225
- if (highlightLines.includes(i + 1)) {
226
- lineProps.className += ' docusaurus-highlight-code-line';
227
- }
228
-
229
- return <span key={i} {...lineProps}>
230
- {line.map((token, key) => <span key={key} {...getTokenProps({
231
- token,
232
- key
233
- })} />)}
234
- </span>;
235
- })}
236
- </code>
237
- </pre>
238
-
239
- <button ref={button} type="button" aria-label={(0, _Translate.translate)({
240
- id: 'theme.CodeBlock.copyButtonAriaLabel',
241
- message: 'Copy code to clipboard',
242
- description: 'The ARIA label for copy code blocks button'
243
- })} className={(0, _clsx.default)(_stylesModule.default.copyButton, 'clean-btn')} onClick={handleCopyCode}>
244
- {showCopied ? <_Translate.default id="theme.CodeBlock.copied" description="The copied button label on code blocks">
245
- Copied
246
- </_Translate.default> : <_Translate.default id="theme.CodeBlock.copy" description="The copy button label on code blocks">
247
- Copy
248
- </_Translate.default>}
249
- </button>
250
- </div>
251
- </div>}
252
- </_prismReactRenderer.default>;
253
- }
@@ -1,68 +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
- .codeBlockContainer {
9
- margin-bottom: var(--ifm-leading);
10
- }
11
-
12
- .codeBlockContent {
13
- position: relative;
14
- /*rtl:ignore*/
15
- direction: ltr;
16
- }
17
-
18
- .codeBlockTitle {
19
- border-top-left-radius: var(--ifm-global-radius);
20
- border-top-right-radius: var(--ifm-global-radius);
21
- border-bottom: 1px solid var(--ifm-color-emphasis-300);
22
- font-size: var(--ifm-code-font-size);
23
- font-weight: 500;
24
- padding: 0.75rem var(--ifm-pre-padding);
25
- }
26
-
27
- .codeBlock {
28
- padding: 0;
29
- }
30
-
31
- .codeBlockWithTitle {
32
- border-top-left-radius: 0;
33
- border-top-right-radius: 0;
34
- }
35
-
36
- .copyButton {
37
- background: rgba(0, 0, 0, 0.3);
38
- border-radius: var(--ifm-global-radius);
39
- color: var(--ifm-color-white);
40
- opacity: 0;
41
- user-select: none;
42
- padding: 0.4rem 0.5rem;
43
- position: absolute;
44
- right: calc(var(--ifm-pre-padding) / 2);
45
- top: calc(var(--ifm-pre-padding) / 2);
46
- transition: opacity 200ms ease-in-out;
47
- }
48
-
49
- .codeBlockTitle:hover + .codeBlockContent .copyButton,
50
- .codeBlockContent:hover > .copyButton,
51
- .copyButton:focus {
52
- opacity: 1;
53
- }
54
-
55
- .codeBlockLines {
56
- font: inherit;
57
- float: left;
58
- min-width: 100%;
59
- padding: var(--ifm-pre-padding);
60
- display: flex;
61
- flex-direction: column;
62
- }
63
-
64
- @media print {
65
- .codeBlockLines {
66
- white-space: pre-wrap;
67
- }
68
- }
@@ -1,129 +0,0 @@
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 _DocPaginator = _interopRequireDefault(require("@theme/DocPaginator"));
11
-
12
- var _DocVersionBanner = _interopRequireDefault(require("@theme/DocVersionBanner"));
13
-
14
- var _Seo = _interopRequireDefault(require("@theme/Seo"));
15
-
16
- var _LastUpdated = _interopRequireDefault(require("@theme/LastUpdated"));
17
-
18
- var _TOC = _interopRequireDefault(require("@theme/TOC"));
19
-
20
- var _EditThisPage = _interopRequireDefault(require("@theme/EditThisPage"));
21
-
22
- var _Heading = require("@theme/Heading");
23
-
24
- var _clsx = _interopRequireDefault(require("clsx"));
25
-
26
- var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
27
-
28
- var _useDocs = require("@theme/hooks/useDocs");
29
-
30
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
- /**
33
- * Copyright (c) Facebook, Inc. and its affiliates.
34
- *
35
- * This source code is licensed under the MIT license found in the
36
- * LICENSE file in the root directory of this source tree.
37
- */
38
- function DocItem(props) {
39
- const {
40
- content: DocContent,
41
- versionMetadata
42
- } = props;
43
- const {
44
- metadata,
45
- frontMatter
46
- } = DocContent;
47
- const {
48
- image,
49
- keywords,
50
- hide_title: hideTitle,
51
- hide_table_of_contents: hideTableOfContents
52
- } = frontMatter;
53
- const {
54
- description,
55
- title,
56
- editUrl,
57
- lastUpdatedAt,
58
- formattedLastUpdatedAt,
59
- lastUpdatedBy
60
- } = metadata;
61
- const {
62
- pluginId
63
- } = (0, _useDocs.useActivePlugin)({
64
- failfast: true
65
- });
66
- const versions = (0, _useDocs.useVersions)(pluginId); // If site is not versioned or only one version is included
67
- // we don't show the version badge
68
- // See https://github.com/facebook/docusaurus/issues/3362
69
-
70
- const showVersionBadge = versions.length > 1; // We only add a title if:
71
- // - user asks to hide it with frontmatter
72
- // - the markdown content does not already contain a top-level h1 heading
73
-
74
- const shouldAddTitle = !hideTitle && typeof DocContent.contentTitle === 'undefined';
75
- return <>
76
- <_Seo.default {...{
77
- title,
78
- description,
79
- keywords,
80
- image
81
- }} />
82
-
83
- <div className="row">
84
- <div className={(0, _clsx.default)('col', {
85
- [_stylesModule.default.docItemCol]: !hideTableOfContents
86
- })}>
87
- <_DocVersionBanner.default versionMetadata={versionMetadata} />
88
- <div className={_stylesModule.default.docItemContainer}>
89
- <article>
90
- {showVersionBadge && <span className="badge badge--secondary">
91
- Version: {versionMetadata.label}
92
- </span>}
93
-
94
- <div className="markdown">
95
- {
96
- /*
97
- Title can be declared inside md content or declared through frontmatter and added manually
98
- To make both cases consistent, the added title is added under the same div.markdown block
99
- See https://github.com/facebook/docusaurus/pull/4882#issuecomment-853021120
100
- */
101
- }
102
- {shouldAddTitle && <_Heading.MainHeading>{title}</_Heading.MainHeading>}
103
-
104
- <DocContent />
105
- </div>
106
-
107
- {(editUrl || lastUpdatedAt || lastUpdatedBy) && <footer className="row docusaurus-mt-lg">
108
- <div className="col">
109
- {editUrl && <_EditThisPage.default editUrl={editUrl} />}
110
- </div>
111
-
112
- <div className={(0, _clsx.default)('col', _stylesModule.default.lastUpdated)}>
113
- {(lastUpdatedAt || lastUpdatedBy) && <_LastUpdated.default lastUpdatedAt={lastUpdatedAt} formattedLastUpdatedAt={formattedLastUpdatedAt} lastUpdatedBy={lastUpdatedBy} />}
114
- </div>
115
- </footer>}
116
- </article>
117
-
118
- <_DocPaginator.default metadata={metadata} />
119
- </div>
120
- </div>
121
- {!hideTableOfContents && DocContent.toc && <div className="col col--3">
122
- <_TOC.default toc={DocContent.toc} />
123
- </div>}
124
- </div>
125
- </>;
126
- }
127
-
128
- var _default = DocItem;
129
- exports.default = _default;
@@ -1,173 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _react = _interopRequireWildcard(require("react"));
9
-
10
- var _react2 = require("@mdx-js/react");
11
-
12
- var _useDocusaurusContext = _interopRequireDefault(require("@docusaurus/useDocusaurusContext"));
13
-
14
- var _renderRoutes = _interopRequireDefault(require("@docusaurus/renderRoutes"));
15
-
16
- var _Layout = _interopRequireDefault(require("@theme/Layout"));
17
-
18
- var _DocSidebar = _interopRequireDefault(require("@theme/DocSidebar"));
19
-
20
- var _MDXComponents = _interopRequireDefault(require("@theme/MDXComponents"));
21
-
22
- var _NotFound = _interopRequireDefault(require("@theme/NotFound"));
23
-
24
- var _IconArrow = _interopRequireDefault(require("@theme/IconArrow"));
25
-
26
- var _router = require("@docusaurus/router");
27
-
28
- var _Translate = require("@docusaurus/Translate");
29
-
30
- var _clsx = _interopRequireDefault(require("clsx"));
31
-
32
- var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
33
-
34
- var _themeCommon = require("@docusaurus/theme-common");
35
-
36
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
-
38
- 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); }
39
-
40
- 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; }
41
-
42
- /**
43
- * Copyright (c) Facebook, Inc. and its affiliates.
44
- *
45
- * This source code is licensed under the MIT license found in the
46
- * LICENSE file in the root directory of this source tree.
47
- */
48
- function getSidebar({
49
- versionMetadata,
50
- currentDocRoute
51
- }) {
52
- function addTrailingSlash(str) {
53
- return str.endsWith('/') ? str : `${str}/`;
54
- }
55
-
56
- function removeTrailingSlash(str) {
57
- return str.endsWith('/') ? str.slice(0, -1) : str;
58
- }
59
-
60
- const {
61
- permalinkToSidebar,
62
- docsSidebars
63
- } = versionMetadata; // With/without trailingSlash, we should always be able to get the appropriate sidebar
64
- // note: docs plugin permalinks currently never have trailing slashes
65
- // trailingSlash is handled globally at the framework level, not plugin level
66
-
67
- const sidebarName = permalinkToSidebar[currentDocRoute.path] || permalinkToSidebar[addTrailingSlash(currentDocRoute.path)] || permalinkToSidebar[removeTrailingSlash(currentDocRoute.path)];
68
- const sidebar = docsSidebars[sidebarName];
69
- return {
70
- sidebar,
71
- sidebarName
72
- };
73
- }
74
-
75
- function DocPageContent({
76
- currentDocRoute,
77
- versionMetadata,
78
- children
79
- }) {
80
- var _siteConfig$themeConf, _siteConfig$themeConf2;
81
-
82
- const {
83
- siteConfig,
84
- isClient
85
- } = (0, _useDocusaurusContext.default)();
86
- const {
87
- pluginId,
88
- version
89
- } = versionMetadata;
90
- const {
91
- sidebarName,
92
- sidebar
93
- } = getSidebar({
94
- versionMetadata,
95
- currentDocRoute
96
- });
97
- const [hiddenSidebarContainer, setHiddenSidebarContainer] = (0, _react.useState)(false);
98
- const [hiddenSidebar, setHiddenSidebar] = (0, _react.useState)(false);
99
- const toggleSidebar = (0, _react.useCallback)(() => {
100
- if (hiddenSidebar) {
101
- setHiddenSidebar(false);
102
- }
103
-
104
- setHiddenSidebarContainer(!hiddenSidebarContainer);
105
- }, [hiddenSidebar]);
106
- return <_Layout.default key={isClient} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.docPages} pageClassName={_themeCommon.ThemeClassNames.page.docPage} searchMetadatas={{
107
- version,
108
- tag: (0, _themeCommon.docVersionSearchTag)(pluginId, version)
109
- }}>
110
- <div className={_stylesModule.default.docPage}>
111
- {sidebar && <aside className={(0, _clsx.default)(_stylesModule.default.docSidebarContainer, {
112
- [_stylesModule.default.docSidebarContainerHidden]: hiddenSidebarContainer
113
- })} onTransitionEnd={e => {
114
- if (!e.currentTarget.classList.contains(_stylesModule.default.docSidebarContainer)) {
115
- return;
116
- }
117
-
118
- if (hiddenSidebarContainer) {
119
- setHiddenSidebar(true);
120
- }
121
- }}>
122
- <_DocSidebar.default key={// Reset sidebar state on sidebar changes
123
- // See https://github.com/facebook/docusaurus/issues/3414
124
- sidebarName} sidebar={sidebar} path={currentDocRoute.path} sidebarCollapsible={(_siteConfig$themeConf = (_siteConfig$themeConf2 = siteConfig.themeConfig) === null || _siteConfig$themeConf2 === void 0 ? void 0 : _siteConfig$themeConf2.sidebarCollapsible) !== null && _siteConfig$themeConf !== void 0 ? _siteConfig$themeConf : true} onCollapse={toggleSidebar} isHidden={hiddenSidebar} />
125
-
126
- {hiddenSidebar && <div className={_stylesModule.default.collapsedDocSidebar} title={(0, _Translate.translate)({
127
- id: 'theme.docs.sidebar.expandButtonTitle',
128
- message: 'Expand sidebar',
129
- description: 'The ARIA label and title attribute for expand button of doc sidebar'
130
- })} aria-label={(0, _Translate.translate)({
131
- id: 'theme.docs.sidebar.expandButtonAriaLabel',
132
- message: 'Expand sidebar',
133
- description: 'The ARIA label and title attribute for expand button of doc sidebar'
134
- })} tabIndex={0} role="button" onKeyDown={toggleSidebar} onClick={toggleSidebar}>
135
- <_IconArrow.default className={_stylesModule.default.expandSidebarButtonIcon} />
136
- </div>}
137
- </aside>}
138
- <main className={(0, _clsx.default)(_stylesModule.default.docMainContainer, {
139
- [_stylesModule.default.docMainContainerEnhanced]: hiddenSidebarContainer || !sidebar
140
- })}>
141
- <div className={(0, _clsx.default)('container padding-top--md padding-bottom--lg', _stylesModule.default.docItemWrapper, {
142
- [_stylesModule.default.docItemWrapperEnhanced]: hiddenSidebarContainer
143
- })}>
144
- <_react2.MDXProvider components={_MDXComponents.default}>{children}</_react2.MDXProvider>
145
- </div>
146
- </main>
147
- </div>
148
- </_Layout.default>;
149
- }
150
-
151
- function DocPage(props) {
152
- const {
153
- route: {
154
- routes: docRoutes
155
- },
156
- versionMetadata,
157
- location
158
- } = props;
159
- const currentDocRoute = docRoutes.find(docRoute => (0, _router.matchPath)(location.pathname, docRoute));
160
-
161
- if (!currentDocRoute) {
162
- return <_NotFound.default {...props} />;
163
- }
164
-
165
- return <DocPageContent currentDocRoute={currentDocRoute} versionMetadata={versionMetadata}>
166
- {(0, _renderRoutes.default)(docRoutes, {
167
- versionMetadata
168
- })}
169
- </DocPageContent>;
170
- }
171
-
172
- var _default = DocPage;
173
- exports.default = _default;