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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (349) hide show
  1. package/README.md +1 -1
  2. package/lib/admonitions.css +35 -0
  3. package/lib/deps.d.ts +13 -0
  4. package/lib/index.js +16 -15
  5. package/lib/prism-include-languages.js +9 -5
  6. package/{lib-next/types.d.ts → lib/theme-classic.d.ts} +374 -150
  7. package/lib/translations.js +16 -7
  8. package/lib/types.d.ts +0 -587
  9. package/lib/validateThemeConfig.js +232 -246
  10. package/lib-next/theme/Admonition/index.js +101 -0
  11. package/lib-next/theme/AnnouncementBar/index.js +7 -12
  12. package/lib-next/theme/AnnouncementBar/styles.module.css +23 -32
  13. package/lib-next/theme/BackToTopButton/index.js +131 -0
  14. package/lib-next/theme/BackToTopButton/styles.module.css +42 -0
  15. package/lib-next/theme/BlogArchivePage/index.js +80 -0
  16. package/lib-next/theme/BlogLayout/index.js +40 -0
  17. package/lib-next/theme/BlogListPage/index.js +17 -25
  18. package/lib-next/theme/BlogPostAuthor/index.js +46 -0
  19. package/{lib/theme/MDXPage → lib-next/theme/BlogPostAuthor}/styles.module.css +4 -2
  20. package/lib-next/theme/BlogPostAuthors/index.js +34 -0
  21. package/{lib/theme/IconExternalLink → lib-next/theme/BlogPostAuthors}/styles.module.css +3 -4
  22. package/lib-next/theme/BlogPostItem/index.js +79 -86
  23. package/lib-next/theme/BlogPostPage/index.js +70 -35
  24. package/lib-next/theme/BlogSidebar/index.js +11 -13
  25. package/lib-next/theme/BlogSidebar/styles.module.css +2 -2
  26. package/lib-next/theme/BlogTagsListPage/index.js +14 -55
  27. package/lib-next/theme/BlogTagsPostsPage/index.js +29 -39
  28. package/lib-next/theme/CodeBlock/index.js +23 -149
  29. package/lib-next/theme/CodeBlock/styles.module.css +12 -9
  30. package/lib-next/theme/Details/index.js +20 -0
  31. package/lib-next/theme/Details/styles.module.css +13 -0
  32. package/lib-next/theme/DocCard/index.js +80 -0
  33. package/lib-next/theme/DocCard/styles.module.css +43 -0
  34. package/lib-next/theme/DocCardList/index.js +19 -0
  35. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +49 -0
  36. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  37. package/lib-next/theme/DocItem/index.js +40 -51
  38. package/lib-next/theme/DocItem/styles.module.css +5 -9
  39. package/lib-next/theme/DocItemFooter/index.js +79 -0
  40. package/{lib/theme/DocItem → lib-next/theme/DocItemFooter}/styles.module.css +1 -9
  41. package/lib-next/theme/DocPage/index.js +46 -49
  42. package/lib-next/theme/DocPage/styles.module.css +5 -6
  43. package/lib-next/theme/DocPaginator/index.js +5 -33
  44. package/lib-next/theme/DocPaginatorNavLink/index.js +36 -0
  45. package/lib-next/theme/DocSidebar/index.js +65 -285
  46. package/lib-next/theme/DocSidebar/styles.module.css +0 -18
  47. package/lib-next/theme/DocSidebarItem/index.js +217 -0
  48. package/{lib/theme/ThemedImage → lib-next/theme/DocSidebarItem}/styles.module.css +10 -9
  49. package/lib-next/theme/DocTagDocListPage/index.js +89 -0
  50. package/lib-next/theme/DocTagsListPage/index.js +38 -0
  51. package/lib-next/theme/DocVersionBadge/index.js +27 -0
  52. package/lib-next/theme/DocVersionBanner/index.js +28 -14
  53. package/lib-next/theme/EditThisPage/index.js +6 -1
  54. package/lib-next/theme/ErrorPageContent.js +35 -0
  55. package/lib-next/theme/Footer/index.js +100 -40
  56. package/lib-next/theme/Heading/index.js +24 -29
  57. package/lib-next/theme/Heading/styles.css +5 -6
  58. package/lib-next/theme/Heading/styles.module.css +9 -5
  59. package/lib-next/theme/IconArrow/index.js +2 -2
  60. package/lib-next/theme/IconClose/index.js +23 -0
  61. package/lib-next/theme/IconEdit/index.js +2 -2
  62. package/lib-next/theme/IconExternalLink/index.js +2 -2
  63. package/lib-next/theme/IconLanguage/index.js +2 -2
  64. package/lib-next/theme/IconMenu/index.js +2 -2
  65. package/lib-next/theme/LastUpdated/index.js +3 -2
  66. package/lib-next/theme/Layout/index.js +3 -1
  67. package/lib-next/theme/LayoutHead/index.js +18 -23
  68. package/lib-next/theme/LayoutProviders/index.js +9 -3
  69. package/lib-next/theme/Logo/index.js +25 -21
  70. package/lib-next/theme/MDXComponents/index.js +34 -7
  71. package/{lib/theme/hooks → lib-next/theme/MDXComponents}/styles.css +3 -2
  72. package/lib-next/theme/MDXPage/index.js +10 -2
  73. package/lib-next/theme/Navbar/index.js +193 -56
  74. package/lib-next/theme/Navbar/styles.module.css +10 -3
  75. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +45 -147
  76. package/lib-next/theme/NavbarItem/DocNavbarItem.js +7 -7
  77. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +31 -19
  78. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +158 -0
  79. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +4 -12
  80. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  81. package/lib-next/theme/NavbarItem/index.js +25 -12
  82. package/lib-next/theme/{SearchMetadatas → SearchMetadata}/index.js +1 -1
  83. package/lib-next/theme/Seo/index.js +11 -7
  84. package/lib-next/theme/SkipToContent/index.js +5 -2
  85. package/lib-next/theme/TOC/index.js +12 -36
  86. package/lib-next/theme/TOC/styles.module.css +1 -1
  87. package/lib-next/theme/TOCCollapsible/index.js +54 -0
  88. package/lib-next/theme/TOCCollapsible/styles.module.css +50 -0
  89. package/lib-next/theme/TOCInline/index.js +10 -28
  90. package/lib-next/theme/TOCItems/index.js +85 -0
  91. package/lib-next/theme/Tabs/__tests__/index.test.js +142 -0
  92. package/lib-next/theme/Tabs/index.js +103 -48
  93. package/lib-next/theme/Tabs/styles.module.css +0 -13
  94. package/lib-next/theme/Tag/index.js +27 -0
  95. package/lib-next/theme/Tag/styles.module.css +70 -0
  96. package/lib-next/theme/TagsListByLetter/index.js +42 -0
  97. package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
  98. package/lib-next/theme/TagsListInline/index.js +31 -0
  99. package/lib-next/theme/TagsListInline/styles.module.css +15 -0
  100. package/lib-next/theme/ThemeProvider/index.js +10 -7
  101. package/lib-next/theme/ThemedImage/index.js +5 -5
  102. package/lib-next/theme/Toggle/index.js +34 -37
  103. package/lib-next/theme/Toggle/styles.module.css +91 -3
  104. package/lib-next/theme/UserPreferencesProvider/index.js +9 -6
  105. package/lib-next/theme/hooks/useHideableNavbar.js +31 -44
  106. package/lib-next/theme/hooks/useTheme.js +4 -5
  107. package/lib-next/theme/hooks/useWindowSize.js +34 -20
  108. package/lib-next/theme/prism-include-languages.js +2 -1
  109. package/package.json +27 -25
  110. package/src/admonitions.css +35 -0
  111. package/src/deps.d.ts +13 -0
  112. package/src/index.ts +23 -20
  113. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  114. package/src/theme/Admonition/index.tsx +106 -0
  115. package/src/theme/AnnouncementBar/index.tsx +8 -12
  116. package/src/theme/AnnouncementBar/styles.module.css +23 -32
  117. package/src/theme/BackToTopButton/index.tsx +142 -0
  118. package/src/theme/BackToTopButton/styles.module.css +42 -0
  119. package/src/theme/BlogArchivePage/index.tsx +91 -0
  120. package/src/theme/BlogLayout/index.tsx +44 -0
  121. package/src/theme/BlogListPage/index.tsx +18 -25
  122. package/src/theme/BlogPostAuthor/index.tsx +49 -0
  123. package/{lib/theme/IconEdit → src/theme/BlogPostAuthor}/styles.module.css +4 -3
  124. package/src/theme/BlogPostAuthors/index.tsx +39 -0
  125. package/src/theme/BlogPostAuthors/styles.module.css +11 -0
  126. package/src/theme/BlogPostItem/index.tsx +70 -80
  127. package/src/theme/BlogPostPage/index.tsx +72 -35
  128. package/src/theme/BlogSidebar/index.tsx +11 -13
  129. package/src/theme/BlogSidebar/styles.module.css +2 -2
  130. package/src/theme/BlogTagsListPage/index.tsx +14 -57
  131. package/src/theme/BlogTagsPostsPage/index.tsx +29 -39
  132. package/src/theme/CodeBlock/index.tsx +27 -151
  133. package/src/theme/CodeBlock/styles.module.css +12 -9
  134. package/src/theme/Details/index.tsx +24 -0
  135. package/src/theme/Details/styles.module.css +13 -0
  136. package/src/theme/DocCard/index.tsx +100 -0
  137. package/src/theme/DocCard/styles.module.css +43 -0
  138. package/src/theme/DocCardList/index.tsx +27 -0
  139. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +53 -0
  140. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  141. package/src/theme/DocItem/index.tsx +43 -51
  142. package/src/theme/DocItem/styles.module.css +5 -9
  143. package/src/theme/DocItemFooter/index.tsx +91 -0
  144. package/{lib/theme/BlogPostItem → src/theme/DocItemFooter}/styles.module.css +8 -8
  145. package/src/theme/DocPage/index.tsx +44 -42
  146. package/src/theme/DocPage/styles.module.css +5 -6
  147. package/src/theme/DocPaginator/index.tsx +5 -33
  148. package/src/theme/DocPaginatorNavLink/index.tsx +38 -0
  149. package/src/theme/DocSidebar/index.tsx +76 -297
  150. package/src/theme/DocSidebar/styles.module.css +0 -18
  151. package/src/theme/DocSidebarItem/index.tsx +242 -0
  152. package/{lib/theme/Footer → src/theme/DocSidebarItem}/styles.module.css +10 -6
  153. package/src/theme/DocTagDocListPage/index.tsx +89 -0
  154. package/src/theme/DocTagsListPage/index.tsx +41 -0
  155. package/src/theme/DocVersionBadge/index.tsx +30 -0
  156. package/src/theme/DocVersionBanner/index.tsx +48 -21
  157. package/src/theme/EditThisPage/index.tsx +6 -1
  158. package/src/theme/ErrorPageContent.tsx +41 -0
  159. package/src/theme/Footer/index.tsx +113 -43
  160. package/src/theme/Heading/index.tsx +24 -31
  161. package/src/theme/Heading/styles.css +5 -6
  162. package/src/theme/Heading/styles.module.css +9 -5
  163. package/src/theme/IconArrow/index.tsx +2 -2
  164. package/src/theme/IconClose/index.tsx +26 -0
  165. package/src/theme/IconEdit/index.tsx +2 -2
  166. package/src/theme/IconExternalLink/index.tsx +2 -5
  167. package/src/theme/IconLanguage/index.tsx +2 -6
  168. package/src/theme/IconMenu/index.tsx +3 -3
  169. package/src/theme/LastUpdated/index.tsx +3 -2
  170. package/src/theme/Layout/index.tsx +3 -1
  171. package/src/theme/LayoutHead/index.tsx +18 -17
  172. package/src/theme/LayoutProviders/index.tsx +9 -3
  173. package/src/theme/Logo/index.tsx +21 -17
  174. package/src/theme/MDXComponents/index.tsx +39 -5
  175. package/src/theme/MDXComponents/styles.css +11 -0
  176. package/src/theme/MDXPage/index.tsx +10 -2
  177. package/src/theme/Navbar/index.tsx +203 -61
  178. package/src/theme/Navbar/styles.module.css +10 -3
  179. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +42 -154
  180. package/src/theme/NavbarItem/DocNavbarItem.tsx +12 -16
  181. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +33 -21
  182. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  183. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +180 -0
  184. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +8 -9
  185. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  186. package/src/theme/NavbarItem/index.tsx +41 -16
  187. package/src/theme/{SearchMetadatas → SearchMetadata}/index.tsx +2 -2
  188. package/src/theme/Seo/index.tsx +7 -4
  189. package/src/theme/SkipToContent/index.tsx +5 -2
  190. package/src/theme/TOC/index.tsx +12 -41
  191. package/src/theme/TOC/styles.module.css +1 -1
  192. package/src/theme/TOCCollapsible/index.tsx +58 -0
  193. package/src/theme/TOCCollapsible/styles.module.css +50 -0
  194. package/src/theme/TOCInline/index.tsx +13 -32
  195. package/src/theme/TOCItems/index.tsx +96 -0
  196. package/src/theme/Tabs/index.tsx +110 -54
  197. package/src/theme/Tabs/styles.module.css +0 -13
  198. package/src/theme/Tag/index.tsx +31 -0
  199. package/src/theme/Tag/styles.module.css +70 -0
  200. package/src/theme/TagsListByLetter/index.tsx +45 -0
  201. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  202. package/src/theme/TagsListInline/index.tsx +35 -0
  203. package/src/theme/TagsListInline/styles.module.css +15 -0
  204. package/src/theme/ThemeProvider/index.tsx +6 -2
  205. package/src/theme/ThemedImage/index.tsx +5 -5
  206. package/src/theme/Toggle/index.tsx +36 -43
  207. package/src/theme/Toggle/styles.module.css +91 -3
  208. package/src/theme/UserPreferencesProvider/index.tsx +9 -6
  209. package/src/theme/hooks/useHideableNavbar.ts +32 -45
  210. package/src/theme/hooks/useTabGroupChoice.ts +2 -2
  211. package/src/theme/hooks/useTheme.ts +4 -5
  212. package/src/theme/hooks/useWindowSize.ts +38 -20
  213. package/src/theme/prism-include-languages.ts +3 -2
  214. package/src/theme-classic.d.ts +822 -0
  215. package/src/translations.ts +41 -23
  216. package/src/types.d.ts +0 -587
  217. package/src/{validateThemeConfig.js → validateThemeConfig.ts} +160 -98
  218. package/babel.config.js +0 -35
  219. package/codeTranslations/README.md +0 -20
  220. package/codeTranslations/ar.json +0 -57
  221. package/codeTranslations/base.json +0 -112
  222. package/codeTranslations/bn.json +0 -56
  223. package/codeTranslations/da.json +0 -57
  224. package/codeTranslations/de.json +0 -57
  225. package/codeTranslations/es.json +0 -57
  226. package/codeTranslations/fa.json +0 -57
  227. package/codeTranslations/fil.json +0 -57
  228. package/codeTranslations/fr.json +0 -57
  229. package/codeTranslations/he.json +0 -57
  230. package/codeTranslations/hi.json +0 -57
  231. package/codeTranslations/ja.json +0 -57
  232. package/codeTranslations/ko.json +0 -57
  233. package/codeTranslations/pl.json +0 -57
  234. package/codeTranslations/pt-BR.json +0 -57
  235. package/codeTranslations/pt-PT.json +0 -57
  236. package/codeTranslations/ru.json +0 -57
  237. package/codeTranslations/tr.json +0 -57
  238. package/codeTranslations/vi.json +0 -57
  239. package/codeTranslations/zh-Hans.json +0 -57
  240. package/codeTranslations/zh-Hant.json +0 -57
  241. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  242. package/lib/__tests__/translations.test.js +0 -112
  243. package/lib/__tests__/validateThemeConfig.test.js +0 -333
  244. package/lib/theme/AnnouncementBar/index.js +0 -72
  245. package/lib/theme/AnnouncementBar/styles.module.css +0 -72
  246. package/lib/theme/BlogListPage/index.js +0 -71
  247. package/lib/theme/BlogListPaginator/index.js +0 -63
  248. package/lib/theme/BlogPostItem/index.js +0 -161
  249. package/lib/theme/BlogPostPage/index.js +0 -69
  250. package/lib/theme/BlogPostPaginator/index.js +0 -64
  251. package/lib/theme/BlogSidebar/index.js +0 -51
  252. package/lib/theme/BlogSidebar/styles.module.css +0 -44
  253. package/lib/theme/BlogTagsListPage/index.js +0 -76
  254. package/lib/theme/BlogTagsPostsPage/index.js +0 -100
  255. package/lib/theme/CodeBlock/index.js +0 -253
  256. package/lib/theme/CodeBlock/styles.module.css +0 -68
  257. package/lib/theme/DocItem/index.js +0 -129
  258. package/lib/theme/DocPage/index.js +0 -173
  259. package/lib/theme/DocPage/styles.module.css +0 -86
  260. package/lib/theme/DocPaginator/index.js +0 -63
  261. package/lib/theme/DocSidebar/index.js +0 -306
  262. package/lib/theme/DocSidebar/styles.module.css +0 -124
  263. package/lib/theme/DocVersionBanner/index.js +0 -128
  264. package/lib/theme/EditThisPage/index.js +0 -31
  265. package/lib/theme/Footer/index.js +0 -108
  266. package/lib/theme/Heading/index.js +0 -76
  267. package/lib/theme/Heading/styles.css +0 -23
  268. package/lib/theme/Heading/styles.module.css +0 -15
  269. package/lib/theme/IconArrow/index.js +0 -28
  270. package/lib/theme/IconEdit/index.js +0 -34
  271. package/lib/theme/IconExternalLink/index.js +0 -30
  272. package/lib/theme/IconLanguage/index.js +0 -29
  273. package/lib/theme/IconMenu/index.js +0 -30
  274. package/lib/theme/LastUpdated/index.js +0 -61
  275. package/lib/theme/Layout/index.js +0 -64
  276. package/lib/theme/Layout/styles.css +0 -27
  277. package/lib/theme/LayoutHead/index.js +0 -144
  278. package/lib/theme/LayoutProviders/index.js +0 -36
  279. package/lib/theme/Logo/index.js +0 -60
  280. package/lib/theme/MDXComponents/index.js +0 -65
  281. package/lib/theme/MDXPage/index.js +0 -66
  282. package/lib/theme/Navbar/index.js +0 -147
  283. package/lib/theme/Navbar/styles.module.css +0 -20
  284. package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -209
  285. package/lib/theme/NavbarItem/DocNavbarItem.js +0 -63
  286. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -76
  287. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
  288. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  289. package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
  290. package/lib/theme/NavbarItem/index.js +0 -54
  291. package/lib/theme/NotFound.js +0 -57
  292. package/lib/theme/SearchBar.js +0 -15
  293. package/lib/theme/SearchMetadatas/index.js +0 -33
  294. package/lib/theme/Seo/index.js +0 -49
  295. package/lib/theme/SkipToContent/index.js +0 -63
  296. package/lib/theme/SkipToContent/styles.module.css +0 -14
  297. package/lib/theme/TOC/index.js +0 -59
  298. package/lib/theme/TOC/styles.module.css +0 -23
  299. package/lib/theme/TOCInline/index.js +0 -53
  300. package/lib/theme/TOCInline/styles.module.css +0 -12
  301. package/lib/theme/TabItem/index.js +0 -32
  302. package/lib/theme/Tabs/index.js +0 -150
  303. package/lib/theme/Tabs/styles.module.css +0 -23
  304. package/lib/theme/ThemeContext.js +0 -21
  305. package/lib/theme/ThemeProvider/index.js +0 -38
  306. package/lib/theme/ThemedImage/index.js +0 -49
  307. package/lib/theme/Toggle/index.js +0 -94
  308. package/lib/theme/Toggle/styles.css +0 -103
  309. package/lib/theme/Toggle/styles.module.css +0 -17
  310. package/lib/theme/UserPreferencesContext.js +0 -18
  311. package/lib/theme/UserPreferencesProvider/index.js +0 -36
  312. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  313. package/lib/theme/hooks/useDocs.js +0 -18
  314. package/lib/theme/hooks/useHideableNavbar.js +0 -92
  315. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  316. package/lib/theme/hooks/useLocationHash.js +0 -28
  317. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  318. package/lib/theme/hooks/usePrismTheme.js +0 -36
  319. package/lib/theme/hooks/useScrollPosition.js +0 -49
  320. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  321. package/lib/theme/hooks/useTabGroupChoice.js +0 -51
  322. package/lib/theme/hooks/useTheme.js +0 -99
  323. package/lib/theme/hooks/useThemeContext.js +0 -31
  324. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  325. package/lib/theme/hooks/useWindowSize.js +0 -55
  326. package/lib/theme/prism-include-languages.js +0 -39
  327. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  328. package/lib-next/__tests__/translations.test.js +0 -128
  329. package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
  330. package/lib-next/index.js +0 -221
  331. package/lib-next/theme/Toggle/styles.css +0 -103
  332. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  333. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  334. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  335. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  336. package/lib-next/translations.js +0 -145
  337. package/lib-next/validateThemeConfig.js +0 -317
  338. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  339. package/src/__tests__/translations.test.ts +0 -116
  340. package/src/__tests__/validateThemeConfig.test.js +0 -333
  341. package/src/prism-include-languages.js +0 -11
  342. package/src/theme/Toggle/styles.css +0 -103
  343. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  344. package/src/theme/hooks/useLocationHash.ts +0 -25
  345. package/src/theme/hooks/useScrollPosition.ts +0 -45
  346. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  347. package/tsconfig.json +0 -12
  348. package/update-code-translations.js +0 -240
  349. package/update-code-translations.test.js +0 -33
@@ -5,102 +5,200 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- /* eslint-disable import/no-duplicates */
9
- /* eslint-disable spaced-comment */
10
- /// <reference types="@docusaurus/module-type-aliases" />
11
- /// <reference types="@docusaurus/plugin-content-blog" />
12
- /// <reference types="@docusaurus/plugin-content-docs" />
13
- /// <reference types="@docusaurus/plugin-content-pages" />
8
+ declare module '@docusaurus/theme-classic' {
9
+ export type Options = {
10
+ customCss?: string | string[];
11
+ };
12
+ }
13
+
14
+ declare module '@theme/Admonition' {
15
+ import type {ReactNode} from 'react';
16
+
17
+ export interface Props {
18
+ readonly children: ReactNode;
19
+ readonly type: 'note' | 'tip' | 'danger' | 'info' | 'caution';
20
+ readonly icon?: ReactNode;
21
+ readonly title?: string;
22
+ }
23
+ export default function Admonition(props: Props): JSX.Element;
24
+ }
14
25
 
15
26
  declare module '@theme/AnnouncementBar' {
16
27
  const AnnouncementBar: () => JSX.Element | null;
17
28
  export default AnnouncementBar;
18
29
  }
19
30
 
31
+ declare module '@theme/BackToTopButton' {
32
+ export default function BackToTopButton(): JSX.Element;
33
+ }
34
+
20
35
  declare module '@theme/BlogListPaginator' {
21
36
  import type {Metadata} from '@theme/BlogListPage';
22
37
 
23
- export type Props = {readonly metadata: Metadata};
38
+ export interface Props {
39
+ readonly metadata: Metadata;
40
+ }
24
41
 
25
42
  const BlogListPaginator: (props: Props) => JSX.Element;
26
43
  export default BlogListPaginator;
27
44
  }
28
45
 
29
46
  declare module '@theme/BlogPostItem' {
30
- import type {FrontMatter, Metadata} from '@theme/BlogPostPage';
47
+ import type {FrontMatter, Assets, Metadata} from '@theme/BlogPostPage';
31
48
 
32
- export type Props = {
49
+ export interface Props {
33
50
  readonly frontMatter: FrontMatter;
51
+ readonly assets: Assets;
34
52
  readonly metadata: Metadata;
35
53
  readonly truncated?: string | boolean;
36
54
  readonly isBlogPostPage?: boolean;
37
55
  readonly children: JSX.Element;
38
- };
56
+ }
39
57
 
40
58
  const BlogPostItem: (props: Props) => JSX.Element;
41
59
  export default BlogPostItem;
42
60
  }
43
61
 
62
+ declare module '@theme/BlogPostAuthor' {
63
+ import type {Metadata} from '@theme/BlogPostPage';
64
+
65
+ export interface Props {
66
+ readonly author: Metadata['authors'][number];
67
+ }
68
+
69
+ export default function BlogPostAuthor(props: Props): JSX.Element;
70
+ }
71
+
72
+ declare module '@theme/BlogPostAuthors' {
73
+ import type {Metadata, Assets} from '@theme/BlogPostPage';
74
+
75
+ export interface Props {
76
+ readonly authors: Metadata['authors'];
77
+ readonly assets: Assets;
78
+ }
79
+
80
+ export default function BlogPostAuthors(props: Props): JSX.Element;
81
+ }
82
+
44
83
  declare module '@theme/BlogPostPaginator' {
45
84
  type Item = {readonly title: string; readonly permalink: string};
46
85
 
47
- export type Props = {readonly nextItem?: Item; readonly prevItem?: Item};
86
+ export interface Props {
87
+ readonly nextItem?: Item;
88
+ readonly prevItem?: Item;
89
+ }
48
90
 
49
91
  const BlogPostPaginator: (props: Props) => JSX.Element;
50
92
  export default BlogPostPaginator;
51
93
  }
52
94
 
95
+ declare module '@theme/BlogLayout' {
96
+ import type {ReactNode} from 'react';
97
+ import type {Props as LayoutProps} from '@theme/Layout';
98
+ import type {BlogSidebar} from '@theme/BlogSidebar';
99
+
100
+ export interface Props extends LayoutProps {
101
+ readonly sidebar?: BlogSidebar;
102
+ readonly toc?: ReactNode;
103
+ }
104
+
105
+ const BlogLayout: (props: Props) => JSX.Element;
106
+ export default BlogLayout;
107
+ }
108
+
53
109
  declare module '@theme/CodeBlock' {
54
- export type Props = {
55
- readonly children: string;
110
+ import {ReactElement} from 'react';
111
+
112
+ export interface Props {
113
+ readonly children: string | ReactElement;
56
114
  readonly className?: string;
57
115
  readonly metastring?: string;
58
116
  readonly title?: string;
59
- };
117
+ }
60
118
 
61
119
  const CodeBlock: (props: Props) => JSX.Element;
62
120
  export default CodeBlock;
63
121
  }
64
122
 
65
123
  declare module '@theme/DocPaginator' {
66
- type PageInfo = {readonly permalink: string; readonly title: string};
124
+ import type {PropNavigation} from '@docusaurus/plugin-content-docs';
67
125
 
68
- export type Props = {
69
- readonly metadata: {readonly previous?: PageInfo; readonly next?: PageInfo};
70
- };
126
+ // May be simpler to provide a {navigation: PropNavigation} prop?
127
+ export interface Props extends PropNavigation {}
128
+
129
+ export default function DocPaginator(props: Props): JSX.Element;
130
+ }
71
131
 
72
- const DocPaginator: (props: Props) => JSX.Element;
73
- export default DocPaginator;
132
+ declare module '@theme/DocPaginatorNavLink' {
133
+ import type {PropNavigationLink} from '@docusaurus/plugin-content-docs';
134
+
135
+ // May be simpler to provide a {navigation: PropNavigation} prop?
136
+ export interface Props {
137
+ navLink: PropNavigationLink;
138
+ next?: boolean;
139
+ }
140
+
141
+ export default function DocPaginatorNavLink(props: Props): JSX.Element;
74
142
  }
75
143
 
76
144
  declare module '@theme/DocSidebar' {
77
- import type {PropSidebarItem} from '@docusaurus/plugin-content-docs-types';
145
+ import type {PropSidebarItem} from '@docusaurus/plugin-content-docs';
78
146
 
79
- export type Props = {
147
+ export interface Props {
80
148
  readonly path: string;
81
149
  readonly sidebar: readonly PropSidebarItem[];
82
- readonly sidebarCollapsible?: boolean;
83
150
  readonly onCollapse: () => void;
84
151
  readonly isHidden: boolean;
85
- };
152
+ // MobileSecondaryFilter expects Record<string, unknown>
153
+ readonly [key: string]: unknown;
154
+ }
86
155
 
87
156
  const DocSidebar: (props: Props) => JSX.Element;
88
157
  export default DocSidebar;
89
158
  }
90
159
 
160
+ declare module '@theme/DocSidebarItem' {
161
+ import type {PropSidebarItem} from '@docusaurus/plugin-content-docs';
162
+
163
+ type DocSidebarPropsBase = {
164
+ readonly activePath: string;
165
+ readonly onItemClick?: (item: PropSidebarItem) => void;
166
+ readonly level: number;
167
+ readonly tabIndex?: number;
168
+ };
169
+
170
+ export interface Props extends DocSidebarPropsBase {
171
+ readonly item: PropSidebarItem;
172
+ }
173
+ const DocSidebarItem: (props: Props) => JSX.Element;
174
+ export default DocSidebarItem;
175
+
176
+ export type DocSidebarItemsProps = DocSidebarPropsBase & {
177
+ readonly items: readonly PropSidebarItem[];
178
+ };
179
+ export const DocSidebarItems: (props: DocSidebarItemsProps) => JSX.Element;
180
+ }
181
+
91
182
  declare module '@theme/DocVersionSuggestions' {
92
183
  const DocVersionSuggestions: () => JSX.Element;
93
184
  export default DocVersionSuggestions;
94
185
  }
95
186
 
96
187
  declare module '@theme/EditThisPage' {
97
- export type Props = {
188
+ export interface Props {
98
189
  readonly editUrl: string;
99
- };
190
+ }
100
191
  const EditThisPage: (props: Props) => JSX.Element;
101
192
  export default EditThisPage;
102
193
  }
103
194
 
195
+ declare module '@theme/ErrorPageContent' {
196
+ import ErrorComponent from '@theme/Error';
197
+
198
+ const ErrorPageContent: typeof ErrorComponent;
199
+ export default ErrorPageContent;
200
+ }
201
+
104
202
  declare module '@theme/Footer' {
105
203
  const Footer: () => JSX.Element | null;
106
204
  export default Footer;
@@ -110,7 +208,7 @@ declare module '@theme/Heading' {
110
208
  import type {ComponentProps} from 'react';
111
209
 
112
210
  export type HeadingType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
113
- export type Props = ComponentProps<HeadingType>;
211
+ export interface Props extends ComponentProps<HeadingType> {}
114
212
 
115
213
  const Heading: (Tag: HeadingType) => (props: Props) => JSX.Element;
116
214
  export default Heading;
@@ -127,18 +225,6 @@ declare module '@theme/hooks/useHideableNavbar' {
127
225
  export default useHideableNavbar;
128
226
  }
129
227
 
130
- declare module '@theme/hooks/useLocationHash' {
131
- import type {Dispatch, SetStateAction} from 'react';
132
-
133
- export type useLocationHashReturns = readonly [
134
- string,
135
- Dispatch<SetStateAction<string>>,
136
- ];
137
-
138
- const useLocationHash: (initialHash: string) => useLocationHashReturns;
139
- export default useLocationHash;
140
- }
141
-
142
228
  declare module '@theme/hooks/useLockBodyScroll' {
143
229
  const useLockBodyScroll: (lock?: boolean) => void;
144
230
  export default useLockBodyScroll;
@@ -151,16 +237,6 @@ declare module '@theme/hooks/usePrismTheme' {
151
237
  export default usePrismTheme;
152
238
  }
153
239
 
154
- declare module '@theme/hooks/useScrollPosition' {
155
- export type ScrollPosition = {scrollX: number; scrollY: number};
156
-
157
- const useScrollPosition: (
158
- effect?: (position: ScrollPosition, lastPosition: ScrollPosition) => void,
159
- deps?: unknown[],
160
- ) => void;
161
- export default useScrollPosition;
162
- }
163
-
164
240
  declare module '@theme/hooks/useTabGroupChoice' {
165
241
  export type useTabGroupChoiceReturns = {
166
242
  readonly tabGroupChoices: {readonly [groupId: string]: string};
@@ -192,14 +268,6 @@ declare module '@theme/hooks/useThemeContext' {
192
268
  export default function useThemeContext(): ThemeContextProps;
193
269
  }
194
270
 
195
- declare module '@theme/hooks/useTOCHighlight' {
196
- export default function useTOCHighlight(
197
- linkClassName: string,
198
- linkActiveClassName: string,
199
- topOffset: number,
200
- ): void;
201
- }
202
-
203
271
  declare module '@theme/hooks/useUserPreferencesContext' {
204
272
  export type UserPreferencesContextProps = {
205
273
  tabGroupChoices: {readonly [groupId: string]: string};
@@ -213,11 +281,12 @@ declare module '@theme/hooks/useWindowSize' {
213
281
  export const windowSizes: {
214
282
  desktop: 'desktop';
215
283
  mobile: 'mobile';
284
+ ssr: 'ssr';
216
285
  };
217
286
 
218
287
  export type WindowSize = keyof typeof windowSizes;
219
288
 
220
- export default function useWindowSize(): WindowSize | undefined;
289
+ export default function useWindowSize(): WindowSize;
221
290
  }
222
291
 
223
292
  declare module '@theme/hooks/useKeyboardNavigation' {
@@ -229,21 +298,21 @@ declare module '@theme/hooks/useKeyboardNavigation' {
229
298
  declare module '@theme/Layout' {
230
299
  import type {ReactNode} from 'react';
231
300
 
232
- export type Props = {
233
- children: ReactNode;
234
- title?: string;
235
- noFooter?: boolean;
236
- description?: string;
237
- image?: string;
238
- keywords?: string | string[];
239
- permalink?: string;
240
- wrapperClassName?: string;
241
- pageClassName?: string;
242
- searchMetadatas?: {
243
- version?: string;
244
- tag?: string;
301
+ export interface Props {
302
+ readonly children: ReactNode;
303
+ readonly title?: string;
304
+ readonly noFooter?: boolean;
305
+ readonly description?: string;
306
+ readonly image?: string;
307
+ readonly keywords?: string | string[];
308
+ readonly permalink?: string;
309
+ readonly wrapperClassName?: string;
310
+ readonly pageClassName?: string;
311
+ readonly searchMetadata?: {
312
+ readonly version?: string;
313
+ readonly tag?: string;
245
314
  };
246
- };
315
+ }
247
316
 
248
317
  const Layout: (props: Props) => JSX.Element;
249
318
  export default Layout;
@@ -252,29 +321,29 @@ declare module '@theme/Layout' {
252
321
  declare module '@theme/LayoutHead' {
253
322
  import type {Props as LayoutProps} from '@theme/Layout';
254
323
 
255
- export type Props = Omit<LayoutProps, 'children'>;
324
+ export interface Props extends Omit<LayoutProps, 'children'> {}
256
325
 
257
326
  const LayoutHead: (props: Props) => JSX.Element;
258
327
  export default LayoutHead;
259
328
  }
260
329
 
261
- declare module '@theme/SearchMetadatas' {
262
- export type Props = {
263
- locale?: string;
264
- version?: string;
265
- tag?: string;
266
- };
330
+ declare module '@theme/SearchMetadata' {
331
+ export interface Props {
332
+ readonly locale?: string;
333
+ readonly version?: string;
334
+ readonly tag?: string;
335
+ }
267
336
 
268
- const SearchMetadatas: (props: Props) => JSX.Element;
269
- export default SearchMetadatas;
337
+ const SearchMetadata: (props: Props) => JSX.Element;
338
+ export default SearchMetadata;
270
339
  }
271
340
 
272
341
  declare module '@theme/LastUpdated' {
273
- export type Props = {
274
- lastUpdatedAt?: number;
275
- formattedLastUpdatedAt?: string;
276
- lastUpdatedBy?: string;
277
- };
342
+ export interface Props {
343
+ readonly lastUpdatedAt?: number;
344
+ readonly formattedLastUpdatedAt?: string;
345
+ readonly lastUpdatedBy?: string;
346
+ }
278
347
 
279
348
  const LastUpdated: (props: Props) => JSX.Element;
280
349
  export default LastUpdated;
@@ -288,11 +357,14 @@ declare module '@theme/SkipToContent' {
288
357
  declare module '@theme/MDXComponents' {
289
358
  import type {ComponentProps} from 'react';
290
359
  import type CodeBlock from '@theme/CodeBlock';
360
+ import type Head from '@docusaurus/Head';
291
361
 
292
362
  export type MDXComponentsObject = {
363
+ readonly head: typeof Head;
293
364
  readonly code: typeof CodeBlock;
294
365
  readonly a: (props: ComponentProps<'a'>) => JSX.Element;
295
366
  readonly pre: typeof CodeBlock;
367
+ readonly details: (props: ComponentProps<'details'>) => JSX.Element;
296
368
  readonly h1: (props: ComponentProps<'h1'>) => JSX.Element;
297
369
  readonly h2: (props: ComponentProps<'h2'>) => JSX.Element;
298
370
  readonly h3: (props: ComponentProps<'h3'>) => JSX.Element;
@@ -311,64 +383,83 @@ declare module '@theme/Navbar' {
311
383
  }
312
384
 
313
385
  declare module '@theme/NavbarItem/DefaultNavbarItem' {
314
- import type {ComponentProps, ReactNode} from 'react';
315
-
316
- export type NavLinkProps = {
317
- activeBasePath?: string;
318
- activeBaseRegex?: string;
319
- to?: string;
320
- exact?: boolean;
321
- href?: string;
322
- label?: ReactNode;
323
- activeClassName?: string;
324
- prependBaseUrlToHref?: string;
325
- isActive?: () => boolean;
326
- } & ComponentProps<'a'>;
386
+ import type {ReactNode} from 'react';
387
+ import type {LinkProps} from '@docusaurus/Link';
388
+
389
+ export type NavLinkProps = LinkProps & {
390
+ readonly activeBasePath?: string;
391
+ readonly activeBaseRegex?: string;
392
+ readonly exact?: boolean;
393
+ readonly label?: ReactNode;
394
+ readonly prependBaseUrlToHref?: string;
395
+ };
327
396
 
328
397
  export type DesktopOrMobileNavBarItemProps = NavLinkProps & {
329
- readonly items?: readonly NavLinkProps[];
330
- readonly position?: 'left' | 'right';
398
+ readonly isDropdownItem?: boolean;
331
399
  readonly className?: string;
400
+ readonly position?: 'left' | 'right';
332
401
  };
333
402
 
334
- export type Props = DesktopOrMobileNavBarItemProps & {
403
+ export interface Props extends DesktopOrMobileNavBarItemProps {
335
404
  readonly mobile?: boolean;
336
- };
405
+ }
406
+
407
+ export const NavLink: (props: NavLinkProps) => JSX.Element;
337
408
 
338
409
  const DefaultNavbarItem: (props: Props) => JSX.Element;
339
410
  export default DefaultNavbarItem;
340
411
  }
341
412
 
413
+ declare module '@theme/NavbarItem/DropdownNavbarItem' {
414
+ import type {NavLinkProps} from '@theme/NavbarItem/DefaultNavbarItem';
415
+ import type {LinkLikeNavbarItemProps} from '@theme/NavbarItem';
416
+
417
+ export type DesktopOrMobileNavBarItemProps = NavLinkProps & {
418
+ readonly position?: 'left' | 'right';
419
+ readonly items: readonly LinkLikeNavbarItemProps[];
420
+ readonly className?: string;
421
+ };
422
+
423
+ export interface Props extends DesktopOrMobileNavBarItemProps {
424
+ readonly mobile?: boolean;
425
+ }
426
+
427
+ const DropdownNavbarItem: (props: Props) => JSX.Element;
428
+ export default DropdownNavbarItem;
429
+ }
430
+
342
431
  declare module '@theme/NavbarItem/SearchNavbarItem' {
343
- export type Props = {readonly mobile?: boolean};
432
+ export interface Props {
433
+ readonly mobile?: boolean;
434
+ }
344
435
 
345
436
  const SearchNavbarItem: (props: Props) => JSX.Element;
346
437
  export default SearchNavbarItem;
347
438
  }
348
439
 
349
440
  declare module '@theme/NavbarItem/LocaleDropdownNavbarItem' {
350
- import type {Props as DefaultNavbarItemProps} from '@theme/NavbarItem/DefaultNavbarItem';
351
- import type {NavLinkProps} from '@theme/NavbarItem/DefaultNavbarItem';
441
+ import type {Props as DropdownNavbarItemProps} from '@theme/NavbarItem/DropdownNavbarItem';
442
+ import type {LinkLikeNavbarItemProps} from '@theme/NavbarItem';
352
443
 
353
- export type Props = DefaultNavbarItemProps & {
354
- readonly dropdownItemsBefore: NavLinkProps[];
355
- readonly dropdownItemsAfter: NavLinkProps[];
356
- };
444
+ export interface Props extends DropdownNavbarItemProps {
445
+ readonly dropdownItemsBefore: LinkLikeNavbarItemProps[];
446
+ readonly dropdownItemsAfter: LinkLikeNavbarItemProps[];
447
+ }
357
448
 
358
449
  const LocaleDropdownNavbarItem: (props: Props) => JSX.Element;
359
450
  export default LocaleDropdownNavbarItem;
360
451
  }
361
452
 
362
453
  declare module '@theme/NavbarItem/DocsVersionDropdownNavbarItem' {
363
- import type {Props as DefaultNavbarItemProps} from '@theme/NavbarItem/DefaultNavbarItem';
364
- import type {NavLinkProps} from '@theme/NavbarItem/DefaultNavbarItem';
454
+ import type {Props as DropdownNavbarItemProps} from '@theme/NavbarItem/DropdownNavbarItem';
455
+ import type {LinkLikeNavbarItemProps} from '@theme/NavbarItem';
365
456
 
366
- export type Props = DefaultNavbarItemProps & {
457
+ export interface Props extends DropdownNavbarItemProps {
367
458
  readonly docsPluginId?: string;
368
459
  readonly dropdownActiveClassDisabled?: boolean;
369
- readonly dropdownItemsBefore: NavLinkProps[];
370
- readonly dropdownItemsAfter: NavLinkProps[];
371
- };
460
+ readonly dropdownItemsBefore: LinkLikeNavbarItemProps[];
461
+ readonly dropdownItemsAfter: LinkLikeNavbarItemProps[];
462
+ }
372
463
 
373
464
  const DocsVersionDropdownNavbarItem: (props: Props) => JSX.Element;
374
465
  export default DocsVersionDropdownNavbarItem;
@@ -377,7 +468,9 @@ declare module '@theme/NavbarItem/DocsVersionDropdownNavbarItem' {
377
468
  declare module '@theme/NavbarItem/DocsVersionNavbarItem' {
378
469
  import type {Props as DefaultNavbarItemProps} from '@theme/NavbarItem/DefaultNavbarItem';
379
470
 
380
- export type Props = DefaultNavbarItemProps & {readonly docsPluginId?: string};
471
+ export interface Props extends DefaultNavbarItemProps {
472
+ readonly docsPluginId?: string;
473
+ }
381
474
 
382
475
  const DocsVersionNavbarItem: (props: Props) => JSX.Element;
383
476
  export default DocsVersionNavbarItem;
@@ -386,43 +479,66 @@ declare module '@theme/NavbarItem/DocsVersionNavbarItem' {
386
479
  declare module '@theme/NavbarItem/DocNavbarItem' {
387
480
  import type {Props as DefaultNavbarItemProps} from '@theme/NavbarItem/DefaultNavbarItem';
388
481
 
389
- export type Props = DefaultNavbarItemProps & {
482
+ export interface Props extends DefaultNavbarItemProps {
390
483
  readonly docId: string;
391
- readonly activeSidebarClassName: string;
392
484
  readonly docsPluginId?: string;
393
- };
485
+ }
394
486
 
395
487
  const DocsSidebarNavbarItem: (props: Props) => JSX.Element;
396
488
  export default DocsSidebarNavbarItem;
397
489
  }
398
490
 
399
491
  declare module '@theme/NavbarItem' {
492
+ import type {ComponentProps} from 'react';
400
493
  import type {Props as DefaultNavbarItemProps} from '@theme/NavbarItem/DefaultNavbarItem';
401
- import type {Props as DocsVersionDropdownNavbarItemProps} from '@theme/NavbarItem/DocsVersionDropdownNavbarItem';
494
+ import type {Props as DocNavbarItemProps} from '@theme/NavbarItem/DocNavbarItem';
402
495
  import type {Props as DocsVersionNavbarItemProps} from '@theme/NavbarItem/DocsVersionNavbarItem';
496
+ import type {Props as DropdownNavbarItemProps} from '@theme/NavbarItem/DropdownNavbarItem';
497
+ import type {Props as DocsVersionDropdownNavbarItemProps} from '@theme/NavbarItem/DocsVersionDropdownNavbarItem';
498
+ import type {Props as LocaleDropdownNavbarItemProps} from '@theme/NavbarItem/LocaleDropdownNavbarItem';
403
499
  import type {Props as SearchNavbarItemProps} from '@theme/NavbarItem/SearchNavbarItem';
404
500
 
405
- export type Props =
406
- | ({readonly type?: 'default' | undefined} & DefaultNavbarItemProps)
407
- | ({
408
- readonly type: 'docsVersionDropdown';
409
- } & DocsVersionDropdownNavbarItemProps)
410
- | ({readonly type: 'docsVersion'} & DocsVersionNavbarItemProps)
411
- | ({readonly type: 'search'} & SearchNavbarItemProps);
501
+ export type LinkLikeNavbarItemProps =
502
+ | ({readonly type?: 'default'} & DefaultNavbarItemProps)
503
+ | ({readonly type: 'doc'} & DocNavbarItemProps)
504
+ | ({readonly type: 'docsVersion'} & DocsVersionNavbarItemProps);
505
+
506
+ export type Props = ComponentProps<'a'> & {
507
+ readonly position?: 'left' | 'right';
508
+ } & (
509
+ | LinkLikeNavbarItemProps
510
+ | ({readonly type?: 'dropdown'} & DropdownNavbarItemProps)
511
+ | ({
512
+ readonly type: 'docsVersionDropdown';
513
+ } & DocsVersionDropdownNavbarItemProps)
514
+ | ({readonly type: 'localeDropdown'} & LocaleDropdownNavbarItemProps)
515
+ | ({
516
+ readonly type: 'search';
517
+ } & SearchNavbarItemProps)
518
+ );
519
+
520
+ export type Types = Props['type'];
412
521
 
413
522
  const NavbarItem: (props: Props) => JSX.Element;
414
523
  export default NavbarItem;
415
524
  }
416
525
 
526
+ declare module '@theme/SearchBar' {
527
+ export default function SearchBar(): JSX.Element;
528
+ }
529
+
417
530
  declare module '@theme/TabItem' {
418
531
  import type {ReactNode} from 'react';
419
532
 
420
- export type Props = {
533
+ export interface Props {
421
534
  readonly children: ReactNode;
422
535
  readonly value: string;
536
+ readonly default?: boolean;
537
+ readonly label?: string;
423
538
  readonly hidden?: boolean;
424
539
  readonly className?: string;
425
- };
540
+ readonly attributes?: Record<string, unknown>;
541
+ }
426
542
 
427
543
  const TabItem: (props: Props) => JSX.Element;
428
544
  export default TabItem;
@@ -432,15 +548,19 @@ declare module '@theme/Tabs' {
432
548
  import type {ReactElement} from 'react';
433
549
  import type {Props as TabItemProps} from '@theme/TabItem';
434
550
 
435
- export type Props = {
551
+ export interface Props {
436
552
  readonly lazy?: boolean;
437
553
  readonly block?: boolean;
438
554
  readonly children: readonly ReactElement<TabItemProps>[];
439
- readonly defaultValue?: string;
440
- readonly values: readonly {value: string; label: string}[];
555
+ readonly defaultValue?: string | null;
556
+ readonly values?: readonly {
557
+ value: string;
558
+ label?: string;
559
+ attributes?: Record<string, unknown>;
560
+ }[];
441
561
  readonly groupId?: string;
442
562
  readonly className?: string;
443
- };
563
+ }
444
564
 
445
565
  const Tabs: (props: Props) => JSX.Element;
446
566
  export default Tabs;
@@ -449,33 +569,71 @@ declare module '@theme/Tabs' {
449
569
  declare module '@theme/ThemedImage' {
450
570
  import type {ComponentProps} from 'react';
451
571
 
452
- export type Props = {
572
+ export interface Props extends Omit<ComponentProps<'img'>, 'src'> {
453
573
  readonly sources: {
454
574
  readonly light: string;
455
575
  readonly dark: string;
456
576
  };
457
- } & Omit<ComponentProps<'img'>, 'src'>;
577
+ }
458
578
 
459
579
  const ThemedImage: (props: Props) => JSX.Element;
460
580
  export default ThemedImage;
461
581
  }
462
582
 
583
+ declare module '@theme/Details' {
584
+ import {Details, DetailsProps} from '@docusaurus/theme-common';
585
+
586
+ export interface Props extends DetailsProps {}
587
+ export default Details;
588
+ }
589
+
463
590
  declare module '@theme/ThemeProvider' {
464
591
  import type {ReactNode} from 'react';
465
592
 
466
- export type Props = {readonly children: ReactNode};
593
+ export interface Props {
594
+ readonly children: ReactNode;
595
+ }
467
596
 
468
597
  const ThemeProvider: (props: Props) => JSX.Element;
469
598
  export default ThemeProvider;
470
599
  }
471
600
 
601
+ declare module '@theme/TOCItems' {
602
+ import type {TOCItem} from '@docusaurus/types';
603
+
604
+ export type TOCItemsProps = {
605
+ readonly toc: readonly TOCItem[];
606
+ readonly minHeadingLevel?: number;
607
+ readonly maxHeadingLevel?: number;
608
+ readonly className?: string;
609
+ readonly linkClassName?: string | null;
610
+ readonly linkActiveClassName?: string;
611
+ };
612
+
613
+ export default function TOCItems(props: TOCItemsProps): JSX.Element;
614
+ }
615
+
472
616
  declare module '@theme/TOC' {
473
617
  import type {TOCItem} from '@docusaurus/types';
474
618
 
619
+ // minHeadingLevel only exists as a per-doc option,
620
+ // and won't have a default set by Joi. See TOC, TOCInline,
621
+ // TOCCollapsible for examples
475
622
  export type TOCProps = {
476
623
  readonly toc: readonly TOCItem[];
624
+ readonly minHeadingLevel?: number;
625
+ readonly maxHeadingLevel?: number;
626
+ readonly className?: string;
477
627
  };
478
628
 
629
+ export type TOCHeadingsProps = {
630
+ readonly toc: readonly TOCItem[];
631
+ readonly minHeadingLevel?: number;
632
+ readonly maxHeadingLevel?: number;
633
+ };
634
+
635
+ export const TOCHeadings: (props: TOCHeadingsProps) => JSX.Element;
636
+
479
637
  const TOC: (props: TOCProps) => JSX.Element;
480
638
  export default TOC;
481
639
  }
@@ -485,20 +643,36 @@ declare module '@theme/TOCInline' {
485
643
 
486
644
  export type TOCInlineProps = {
487
645
  readonly toc: readonly TOCItem[];
646
+ readonly minHeadingLevel?: number;
647
+ readonly maxHeadingLevel?: number;
488
648
  };
489
649
 
490
650
  const TOCInline: (props: TOCInlineProps) => JSX.Element;
491
651
  export default TOCInline;
492
652
  }
493
653
 
654
+ declare module '@theme/TOCCollapsible' {
655
+ import type {TOCItem} from '@docusaurus/types';
656
+
657
+ export type TOCCollapsibleProps = {
658
+ readonly className?: string;
659
+ readonly minHeadingLevel?: number;
660
+ readonly maxHeadingLevel?: number;
661
+ readonly toc: readonly TOCItem[];
662
+ };
663
+
664
+ const TOCCollapsible: (props: TOCCollapsibleProps) => JSX.Element;
665
+ export default TOCCollapsible;
666
+ }
667
+
494
668
  declare module '@theme/Toggle' {
495
669
  import type {SyntheticEvent} from 'react';
496
670
 
497
- export type Props = {
671
+ export interface Props {
498
672
  readonly className?: string;
499
673
  readonly checked: boolean;
500
674
  readonly onChange: (e: SyntheticEvent) => void;
501
- };
675
+ }
502
676
 
503
677
  const Toggle: (props: Props) => JSX.Element;
504
678
  export default Toggle;
@@ -507,7 +681,9 @@ declare module '@theme/Toggle' {
507
681
  declare module '@theme/UserPreferencesProvider' {
508
682
  import type {ReactNode} from 'react';
509
683
 
510
- export type Props = {readonly children: ReactNode};
684
+ export interface Props {
685
+ readonly children: ReactNode;
686
+ }
511
687
 
512
688
  const UserPreferencesProvider: (props: Props) => JSX.Element;
513
689
  export default UserPreferencesProvider;
@@ -516,7 +692,9 @@ declare module '@theme/UserPreferencesProvider' {
516
692
  declare module '@theme/LayoutProviders' {
517
693
  import type {ReactNode} from 'react';
518
694
 
519
- export type Props = {readonly children: ReactNode};
695
+ export interface Props {
696
+ readonly children: ReactNode;
697
+ }
520
698
 
521
699
  const LayoutProviders: (props: Props) => JSX.Element;
522
700
  export default LayoutProviders;
@@ -543,10 +721,10 @@ declare module '@theme/UserPreferencesContext' {
543
721
  declare module '@theme/Logo' {
544
722
  import type {ComponentProps} from 'react';
545
723
 
546
- export type Props = {
547
- imageClassName?: string;
548
- titleClassName?: string;
549
- } & ComponentProps<'a'>;
724
+ export interface Props extends ComponentProps<'a'> {
725
+ readonly imageClassName?: string;
726
+ readonly titleClassName?: string;
727
+ }
550
728
 
551
729
  const Logo: (props: Props) => JSX.Element;
552
730
  export default Logo;
@@ -555,7 +733,7 @@ declare module '@theme/Logo' {
555
733
  declare module '@theme/IconArrow' {
556
734
  import type {ComponentProps} from 'react';
557
735
 
558
- export type Props = ComponentProps<'svg'>;
736
+ export interface Props extends ComponentProps<'svg'> {}
559
737
 
560
738
  const IconArrow: (props: Props) => JSX.Element;
561
739
  export default IconArrow;
@@ -564,7 +742,7 @@ declare module '@theme/IconArrow' {
564
742
  declare module '@theme/IconEdit' {
565
743
  import type {ComponentProps} from 'react';
566
744
 
567
- export type Props = ComponentProps<'svg'>;
745
+ export interface Props extends ComponentProps<'svg'> {}
568
746
 
569
747
  const IconEdit: (props: Props) => JSX.Element;
570
748
  export default IconEdit;
@@ -573,16 +751,25 @@ declare module '@theme/IconEdit' {
573
751
  declare module '@theme/IconMenu' {
574
752
  import type {ComponentProps} from 'react';
575
753
 
576
- export type Props = ComponentProps<'svg'>;
754
+ export interface Props extends ComponentProps<'svg'> {}
577
755
 
578
756
  const IconMenu: (props: Props) => JSX.Element;
579
757
  export default IconMenu;
580
758
  }
581
759
 
760
+ declare module '@theme/IconClose' {
761
+ import type {ComponentProps} from 'react';
762
+
763
+ export interface Props extends ComponentProps<'svg'> {}
764
+
765
+ const IconClose: (props: Props) => JSX.Element;
766
+ export default IconClose;
767
+ }
768
+
582
769
  declare module '@theme/IconLanguage' {
583
770
  import type {ComponentProps} from 'react';
584
771
 
585
- export type Props = ComponentProps<'svg'>;
772
+ export interface Props extends ComponentProps<'svg'> {}
586
773
 
587
774
  const IconLanguage: (props: Props) => JSX.Element;
588
775
  export default IconLanguage;
@@ -591,8 +778,45 @@ declare module '@theme/IconLanguage' {
591
778
  declare module '@theme/IconExternalLink' {
592
779
  import type {ComponentProps} from 'react';
593
780
 
594
- export type Props = ComponentProps<'svg'>;
781
+ export interface Props extends ComponentProps<'svg'> {}
595
782
 
596
783
  const IconExternalLink: (props: Props) => JSX.Element;
597
784
  export default IconExternalLink;
598
785
  }
786
+
787
+ declare module '@theme/TagsListByLetter' {
788
+ export type TagsListItem = Readonly<{
789
+ name: string;
790
+ permalink: string;
791
+ count: number;
792
+ }>;
793
+ export interface Props {
794
+ readonly tags: readonly TagsListItem[];
795
+ }
796
+ export default function TagsListByLetter(props: Props): JSX.Element;
797
+ }
798
+
799
+ declare module '@theme/TagsListInline' {
800
+ export type Tag = Readonly<{label: string; permalink: string}>;
801
+ export interface Props {
802
+ readonly tags: readonly Tag[];
803
+ }
804
+ export default function TagsListInline(props: Props): JSX.Element;
805
+ }
806
+
807
+ declare module '@theme/Tag' {
808
+ import type {TagsListItem} from '@theme/TagsListByLetter';
809
+ import type {Optional} from 'utility-types';
810
+
811
+ export interface Props extends Optional<TagsListItem, 'count'> {}
812
+
813
+ export default function Tag(props: Props): JSX.Element;
814
+ }
815
+
816
+ declare module '@theme/prism-include-languages' {
817
+ import type * as PrismNamespace from 'prismjs';
818
+
819
+ export default function prismIncludeLanguages(
820
+ PrismObject: typeof PrismNamespace,
821
+ ): void;
822
+ }