@docusaurus/theme-classic 2.0.0-beta.21 → 2.0.0-beta.22

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 (240) hide show
  1. package/lib/getSwizzleConfig.js +5 -5
  2. package/lib/index.js +4 -2
  3. package/lib/theme/Admonition/index.d.ts +1 -1
  4. package/lib/theme/Admonition/index.js +139 -57
  5. package/lib/{admonitions.css → theme/Admonition/styles.module.css} +14 -15
  6. package/lib/theme/AnnouncementBar/index.js +3 -2
  7. package/lib/theme/BackToTopButton/index.js +2 -1
  8. package/lib/theme/BlogListPage/index.js +2 -11
  9. package/lib/theme/BlogPostItem/Container/index.d.ts +9 -0
  10. package/lib/theme/BlogPostItem/Container/index.js +26 -0
  11. package/lib/theme/BlogPostItem/Content/index.d.ts +9 -0
  12. package/lib/theme/BlogPostItem/Content/index.js +23 -0
  13. package/lib/theme/BlogPostItem/Footer/ReadMoreLink/index.d.ts +9 -0
  14. package/lib/theme/BlogPostItem/Footer/ReadMoreLink/index.js +38 -0
  15. package/lib/theme/BlogPostItem/Footer/index.d.ts +8 -0
  16. package/lib/theme/BlogPostItem/Footer/index.js +52 -0
  17. package/lib/theme/BlogPostItem/Footer/styles.module.css +10 -0
  18. package/lib/theme/BlogPostItem/Header/Author/index.d.ts +9 -0
  19. package/lib/theme/{BlogPostAuthor → BlogPostItem/Header/Author}/index.js +3 -2
  20. package/lib/theme/BlogPostItem/Header/Authors/index.d.ts +9 -0
  21. package/{src/theme/BlogPostAuthors/index.tsx → lib/theme/BlogPostItem/Header/Authors/index.js} +9 -10
  22. package/lib/theme/{BlogPostAuthors → BlogPostItem/Header/Authors}/styles.module.css +0 -0
  23. package/lib/theme/{BlogPostAuthors → BlogPostItem/Header/Info}/index.d.ts +2 -2
  24. package/lib/theme/BlogPostItem/Header/Info/index.js +60 -0
  25. package/lib/theme/BlogPostItem/Header/Info/styles.module.css +10 -0
  26. package/lib/theme/BlogPostItem/Header/Title/index.d.ts +9 -0
  27. package/lib/theme/BlogPostItem/Header/Title/index.js +27 -0
  28. package/{src/theme/BlogPostItem → lib/theme/BlogPostItem/Header/Title}/styles.module.css +2 -10
  29. package/lib/theme/BlogPostItem/Header/index.d.ts +8 -0
  30. package/lib/theme/BlogPostItem/Header/index.js +19 -0
  31. package/lib/theme/BlogPostItem/index.d.ts +1 -1
  32. package/lib/theme/BlogPostItem/index.js +16 -142
  33. package/lib/theme/BlogPostItems/index.d.ts +9 -0
  34. package/lib/theme/BlogPostItems/index.js +27 -0
  35. package/lib/theme/BlogPostPage/Metadata/index.d.ts +8 -0
  36. package/lib/theme/BlogPostPage/Metadata/index.js +41 -0
  37. package/lib/theme/BlogPostPage/index.js +21 -60
  38. package/lib/theme/BlogTagsListPage/index.js +1 -1
  39. package/lib/theme/BlogTagsPostsPage/index.d.ts +1 -1
  40. package/lib/theme/BlogTagsPostsPage/index.js +36 -30
  41. package/lib/theme/CodeBlock/Container/index.js +2 -5
  42. package/lib/theme/CodeBlock/Content/String.js +2 -3
  43. package/lib/theme/CodeBlock/CopyButton/index.js +1 -0
  44. package/lib/theme/CodeBlock/Line/styles.module.css +7 -7
  45. package/lib/theme/ColorModeToggle/index.js +2 -2
  46. package/lib/theme/DocBreadcrumbs/index.js +3 -3
  47. package/lib/theme/DocCard/index.js +4 -1
  48. package/lib/theme/DocCardList/index.js +2 -2
  49. package/lib/theme/DocItem/Content/index.d.ts +9 -0
  50. package/lib/theme/DocItem/Content/index.js +44 -0
  51. package/lib/theme/DocItem/Footer/index.d.ts +8 -0
  52. package/lib/theme/{DocItemFooter → DocItem/Footer}/index.js +3 -3
  53. package/lib/theme/{DocItemFooter → DocItem/Footer}/styles.module.css +0 -0
  54. package/lib/theme/{BlogPostAuthor → DocItem/Layout}/index.d.ts +2 -2
  55. package/lib/theme/DocItem/Layout/index.js +59 -0
  56. package/lib/theme/DocItem/Layout/styles.module.css +17 -0
  57. package/lib/theme/DocItem/Metadata/index.d.ts +8 -0
  58. package/lib/theme/DocItem/Metadata/index.js +20 -0
  59. package/lib/theme/{DocItemFooter → DocItem/Paginator}/index.d.ts +5 -3
  60. package/lib/theme/DocItem/Paginator/index.js +17 -0
  61. package/lib/theme/DocItem/TOC/Desktop/index.d.ts +8 -0
  62. package/lib/theme/DocItem/TOC/Desktop/index.js +21 -0
  63. package/lib/theme/DocItem/TOC/Mobile/index.d.ts +8 -0
  64. package/lib/theme/DocItem/TOC/Mobile/index.js +23 -0
  65. package/lib/theme/DocItem/{styles.module.css → TOC/Mobile/styles.module.css} +0 -9
  66. package/lib/theme/DocItem/index.js +13 -106
  67. package/lib/theme/DocPage/Layout/Main/index.js +1 -1
  68. package/lib/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +1 -1
  69. package/lib/theme/DocPage/Layout/Sidebar/index.js +2 -1
  70. package/lib/theme/DocPage/Layout/index.js +1 -1
  71. package/lib/theme/DocPage/index.js +2 -3
  72. package/lib/theme/DocSidebar/Desktop/CollapseButton/index.js +1 -1
  73. package/lib/theme/DocSidebar/Desktop/Content/index.js +2 -2
  74. package/lib/theme/DocSidebar/Mobile/index.js +1 -1
  75. package/lib/theme/DocSidebarItem/Category/index.js +6 -4
  76. package/lib/theme/DocSidebarItem/Link/index.js +3 -2
  77. package/lib/theme/DocSidebarItems/index.js +1 -1
  78. package/lib/theme/DocVersionBadge/index.js +2 -1
  79. package/lib/theme/DocVersionBanner/index.js +2 -2
  80. package/lib/theme/EditThisPage/index.js +1 -1
  81. package/lib/theme/Footer/LinkItem/index.js +1 -1
  82. package/lib/theme/Footer/Logo/index.js +7 -2
  83. package/lib/theme/{IconArrow → Icon/Arrow}/index.d.ts +1 -1
  84. package/lib/theme/{IconArrow → Icon/Arrow}/index.js +0 -0
  85. package/lib/theme/{IconClose → Icon/Close}/index.d.ts +1 -1
  86. package/lib/theme/{IconClose → Icon/Close}/index.js +0 -0
  87. package/lib/theme/{IconDarkMode → Icon/DarkMode}/index.d.ts +1 -1
  88. package/lib/theme/{IconDarkMode → Icon/DarkMode}/index.js +0 -0
  89. package/lib/theme/{IconEdit → Icon/Edit}/index.d.ts +1 -1
  90. package/lib/theme/{IconEdit → Icon/Edit}/index.js +0 -0
  91. package/lib/theme/{IconEdit → Icon/Edit}/styles.module.css +0 -0
  92. package/lib/theme/{IconExternalLink → Icon/ExternalLink}/index.d.ts +1 -1
  93. package/lib/theme/{IconExternalLink → Icon/ExternalLink}/index.js +0 -0
  94. package/lib/theme/{IconExternalLink → Icon/ExternalLink}/styles.module.css +0 -0
  95. package/lib/theme/{IconHome → Icon/Home}/index.d.ts +1 -1
  96. package/lib/theme/{IconHome → Icon/Home}/index.js +0 -0
  97. package/lib/theme/{IconLanguage → Icon/Language}/index.d.ts +1 -1
  98. package/lib/theme/{IconLanguage → Icon/Language}/index.js +0 -0
  99. package/lib/theme/{IconLightMode → Icon/LightMode}/index.d.ts +1 -1
  100. package/lib/theme/{IconLightMode → Icon/LightMode}/index.js +0 -0
  101. package/lib/theme/{IconMenu → Icon/Menu}/index.d.ts +1 -1
  102. package/lib/theme/{IconMenu → Icon/Menu}/index.js +0 -0
  103. package/lib/theme/Layout/Provider/index.d.ts +9 -0
  104. package/lib/theme/Layout/Provider/index.js +29 -0
  105. package/lib/theme/Layout/index.d.ts +0 -1
  106. package/lib/theme/Layout/index.js +12 -10
  107. package/{src/theme/Layout/styles.css → lib/theme/Layout/styles.module.css} +10 -12
  108. package/lib/theme/Logo/index.js +35 -17
  109. package/lib/theme/MDXComponents/Code.js +1 -1
  110. package/lib/theme/MDXComponents/index.js +2 -0
  111. package/lib/theme/MDXPage/index.js +6 -4
  112. package/lib/theme/Navbar/Content/index.js +2 -2
  113. package/lib/theme/Navbar/Layout/index.js +2 -2
  114. package/lib/theme/Navbar/MobileSidebar/Header/index.js +2 -2
  115. package/lib/theme/Navbar/MobileSidebar/Layout/index.js +1 -1
  116. package/lib/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +2 -1
  117. package/lib/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +2 -1
  118. package/lib/theme/Navbar/MobileSidebar/Toggle/index.js +2 -2
  119. package/lib/theme/Navbar/MobileSidebar/index.js +1 -1
  120. package/lib/theme/NavbarItem/DocNavbarItem.js +1 -1
  121. package/lib/theme/NavbarItem/DocSidebarNavbarItem.js +1 -1
  122. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +2 -4
  123. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +1 -1
  124. package/lib/theme/NavbarItem/DropdownNavbarItem.js +2 -3
  125. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +2 -2
  126. package/lib/theme/NavbarItem/NavbarNavLink.js +1 -1
  127. package/lib/theme/SiteMetadata/index.js +2 -3
  128. package/lib/theme/SkipToContent/index.js +1 -1
  129. package/lib/theme/TOCItems/index.js +2 -2
  130. package/lib/theme/Tabs/index.js +2 -2
  131. package/lib/validateThemeConfig.js +13 -18
  132. package/package.json +19 -15
  133. package/src/getSwizzleConfig.ts +5 -5
  134. package/src/index.ts +4 -2
  135. package/src/theme/Admonition/index.tsx +161 -58
  136. package/src/{admonitions.css → theme/Admonition/styles.module.css} +14 -15
  137. package/src/theme/AnnouncementBar/index.tsx +3 -2
  138. package/src/theme/BackToTopButton/index.tsx +2 -1
  139. package/src/theme/BlogListPage/index.tsx +2 -11
  140. package/src/theme/BlogPostItem/Container/index.tsx +32 -0
  141. package/src/theme/BlogPostItem/Content/index.tsx +29 -0
  142. package/src/theme/BlogPostItem/Footer/ReadMoreLink/index.tsx +44 -0
  143. package/src/theme/BlogPostItem/Footer/index.tsx +60 -0
  144. package/src/theme/BlogPostItem/Footer/styles.module.css +10 -0
  145. package/src/theme/{BlogPostAuthor → BlogPostItem/Header/Author}/index.tsx +8 -3
  146. package/{lib/theme/BlogPostAuthors/index.js → src/theme/BlogPostItem/Header/Authors/index.tsx} +14 -3
  147. package/src/theme/{BlogPostAuthors → BlogPostItem/Header/Authors}/styles.module.css +0 -0
  148. package/src/theme/BlogPostItem/Header/Info/index.tsx +71 -0
  149. package/src/theme/BlogPostItem/Header/Info/styles.module.css +10 -0
  150. package/src/theme/BlogPostItem/Header/Title/index.tsx +33 -0
  151. package/{lib/theme/BlogPostItem → src/theme/BlogPostItem/Header/Title}/styles.module.css +2 -10
  152. package/src/theme/BlogPostItem/Header/index.tsx +21 -0
  153. package/src/theme/BlogPostItem/index.tsx +19 -145
  154. package/src/theme/BlogPostItems/index.tsx +30 -0
  155. package/src/theme/BlogPostPage/Metadata/index.tsx +44 -0
  156. package/src/theme/BlogPostPage/index.tsx +29 -62
  157. package/src/theme/BlogTagsListPage/index.tsx +1 -1
  158. package/src/theme/BlogTagsPostsPage/index.tsx +42 -35
  159. package/src/theme/CodeBlock/Container/index.tsx +3 -6
  160. package/src/theme/CodeBlock/Content/String.tsx +2 -3
  161. package/src/theme/CodeBlock/CopyButton/index.tsx +1 -0
  162. package/src/theme/CodeBlock/Line/styles.module.css +7 -7
  163. package/src/theme/ColorModeToggle/index.tsx +2 -2
  164. package/src/theme/DocBreadcrumbs/index.tsx +3 -3
  165. package/src/theme/DocCard/index.tsx +4 -1
  166. package/src/theme/DocCardList/index.tsx +2 -2
  167. package/src/theme/DocItem/Content/index.tsx +48 -0
  168. package/src/theme/{DocItemFooter → DocItem/Footer}/index.tsx +4 -5
  169. package/src/theme/{DocItemFooter → DocItem/Footer}/styles.module.css +0 -0
  170. package/src/theme/DocItem/Layout/index.tsx +68 -0
  171. package/src/theme/DocItem/Layout/styles.module.css +17 -0
  172. package/src/theme/DocItem/Metadata/index.tsx +22 -0
  173. package/src/theme/DocItem/Paginator/index.tsx +19 -0
  174. package/src/theme/DocItem/TOC/Desktop/index.tsx +24 -0
  175. package/src/theme/DocItem/TOC/Mobile/index.tsx +27 -0
  176. package/src/theme/DocItem/{styles.module.css → TOC/Mobile/styles.module.css} +0 -9
  177. package/src/theme/DocItem/index.tsx +13 -115
  178. package/src/theme/DocPage/Layout/Main/index.tsx +1 -1
  179. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +1 -1
  180. package/src/theme/DocPage/Layout/Sidebar/index.tsx +2 -1
  181. package/src/theme/DocPage/Layout/index.tsx +1 -1
  182. package/src/theme/DocPage/index.tsx +2 -3
  183. package/src/theme/DocPaginator/index.tsx +0 -1
  184. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +1 -1
  185. package/src/theme/DocSidebar/Desktop/Content/index.tsx +2 -2
  186. package/src/theme/DocSidebar/Mobile/index.tsx +1 -1
  187. package/src/theme/DocSidebarItem/Category/index.tsx +6 -4
  188. package/src/theme/DocSidebarItem/Link/index.tsx +3 -2
  189. package/src/theme/DocSidebarItems/index.tsx +1 -1
  190. package/src/theme/DocVersionBadge/index.tsx +2 -1
  191. package/src/theme/DocVersionBanner/index.tsx +2 -3
  192. package/src/theme/EditThisPage/index.tsx +1 -1
  193. package/src/theme/Footer/LinkItem/index.tsx +1 -1
  194. package/src/theme/Footer/Logo/index.tsx +7 -2
  195. package/src/theme/{IconArrow → Icon/Arrow}/index.tsx +1 -1
  196. package/src/theme/{IconClose → Icon/Close}/index.tsx +1 -1
  197. package/src/theme/{IconDarkMode → Icon/DarkMode}/index.tsx +1 -1
  198. package/src/theme/{IconEdit → Icon/Edit}/index.tsx +1 -1
  199. package/src/theme/{IconEdit → Icon/Edit}/styles.module.css +0 -0
  200. package/src/theme/{IconExternalLink → Icon/ExternalLink}/index.tsx +1 -1
  201. package/src/theme/{IconExternalLink → Icon/ExternalLink}/styles.module.css +0 -0
  202. package/src/theme/{IconHome → Icon/Home}/index.tsx +1 -1
  203. package/src/theme/{IconLanguage → Icon/Language}/index.tsx +1 -1
  204. package/src/theme/{IconLightMode → Icon/LightMode}/index.tsx +1 -1
  205. package/src/theme/{IconMenu → Icon/Menu}/index.tsx +1 -1
  206. package/src/theme/Layout/Provider/index.tsx +33 -0
  207. package/src/theme/Layout/index.tsx +12 -10
  208. package/{lib/theme/Layout/styles.css → src/theme/Layout/styles.module.css} +10 -12
  209. package/src/theme/Logo/index.tsx +49 -19
  210. package/src/theme/MDXComponents/Code.tsx +5 -2
  211. package/src/theme/MDXComponents/Details.tsx +2 -1
  212. package/src/theme/MDXComponents/Head.tsx +3 -5
  213. package/src/theme/MDXComponents/Pre.tsx +2 -1
  214. package/src/theme/MDXComponents/index.tsx +2 -0
  215. package/src/theme/MDXPage/index.tsx +6 -4
  216. package/src/theme/Navbar/Content/index.tsx +2 -2
  217. package/src/theme/Navbar/Layout/index.tsx +2 -2
  218. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +2 -2
  219. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +1 -1
  220. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +2 -1
  221. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +2 -1
  222. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +2 -2
  223. package/src/theme/Navbar/MobileSidebar/index.tsx +1 -1
  224. package/src/theme/NavbarItem/DocNavbarItem.tsx +1 -1
  225. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +1 -1
  226. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +2 -4
  227. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +1 -1
  228. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +2 -3
  229. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +2 -2
  230. package/src/theme/NavbarItem/NavbarNavLink.tsx +1 -1
  231. package/src/theme/NavbarItem/index.tsx +1 -1
  232. package/src/theme/SiteMetadata/index.tsx +2 -3
  233. package/src/theme/SkipToContent/index.tsx +1 -1
  234. package/src/theme/TOCItems/index.tsx +3 -3
  235. package/src/theme/Tabs/index.tsx +2 -2
  236. package/src/theme-classic.d.ts +128 -36
  237. package/src/validateThemeConfig.ts +14 -18
  238. package/lib/theme/LayoutProviders/index.d.ts +0 -9
  239. package/lib/theme/LayoutProviders/index.js +0 -33
  240. package/src/theme/LayoutProviders/index.tsx +0 -36
@@ -7,7 +7,7 @@
7
7
 
8
8
  import React from 'react';
9
9
  import {useActiveDocContext} from '@docusaurus/plugin-content-docs/client';
10
- import {useLayoutDocsSidebar} from '@docusaurus/theme-common';
10
+ import {useLayoutDocsSidebar} from '@docusaurus/theme-common/internal';
11
11
  import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem';
12
12
  import type {Props} from '@theme/NavbarItem/DocSidebarNavbarItem';
13
13
 
@@ -10,10 +10,8 @@ import {
10
10
  useVersions,
11
11
  useActiveDocContext,
12
12
  } from '@docusaurus/plugin-content-docs/client';
13
- import {
14
- useDocsPreferredVersion,
15
- useDocsVersionCandidates,
16
- } from '@docusaurus/theme-common';
13
+ import {useDocsPreferredVersion} from '@docusaurus/theme-common';
14
+ import {useDocsVersionCandidates} from '@docusaurus/theme-common/internal';
17
15
  import {translate} from '@docusaurus/Translate';
18
16
  import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem';
19
17
  import DropdownNavbarItem from '@theme/NavbarItem/DropdownNavbarItem';
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import React from 'react';
9
- import {useDocsVersionCandidates} from '@docusaurus/theme-common';
9
+ import {useDocsVersionCandidates} from '@docusaurus/theme-common/internal';
10
10
  import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem';
11
11
  import type {Props} from '@theme/NavbarItem/DocsVersionNavbarItem';
12
12
  import type {GlobalVersion} from '@docusaurus/plugin-content-docs/client';
@@ -8,12 +8,11 @@
8
8
  import React, {useState, useRef, useEffect} from 'react';
9
9
  import clsx from 'clsx';
10
10
  import {
11
- isSamePath,
11
+ isRegexpStringMatch,
12
12
  useCollapsible,
13
13
  Collapsible,
14
- isRegexpStringMatch,
15
- useLocalPathname,
16
14
  } from '@docusaurus/theme-common';
15
+ import {isSamePath, useLocalPathname} from '@docusaurus/theme-common/internal';
17
16
  import NavbarNavLink from '@theme/NavbarItem/NavbarNavLink';
18
17
  import NavbarItem, {type LinkLikeNavbarItemProps} from '@theme/NavbarItem';
19
18
  import type {
@@ -7,10 +7,10 @@
7
7
 
8
8
  import React from 'react';
9
9
  import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
10
- import {useAlternatePageUtils} from '@docusaurus/theme-common';
10
+ import {useAlternatePageUtils} from '@docusaurus/theme-common/internal';
11
11
  import {translate} from '@docusaurus/Translate';
12
12
  import DropdownNavbarItem from '@theme/NavbarItem/DropdownNavbarItem';
13
- import IconLanguage from '@theme/IconLanguage';
13
+ import IconLanguage from '@theme/Icon/Language';
14
14
  import type {LinkLikeNavbarItemProps} from '@theme/NavbarItem';
15
15
  import type {Props} from '@theme/NavbarItem/LocaleDropdownNavbarItem';
16
16
 
@@ -10,7 +10,7 @@ import Link from '@docusaurus/Link';
10
10
  import useBaseUrl from '@docusaurus/useBaseUrl';
11
11
  import isInternalUrl from '@docusaurus/isInternalUrl';
12
12
  import {isRegexpStringMatch} from '@docusaurus/theme-common';
13
- import IconExternalLink from '@theme/IconExternalLink';
13
+ import IconExternalLink from '@theme/Icon/ExternalLink';
14
14
  import type {Props} from '@theme/NavbarItem/NavbarNavLink';
15
15
 
16
16
  export default function NavbarNavLink({
@@ -24,5 +24,5 @@ export default function NavbarItem({type, ...props}: Props): JSX.Element {
24
24
  if (!NavbarItemComponent) {
25
25
  throw new Error(`No NavbarItem component found for type "${type}".`);
26
26
  }
27
- return <NavbarItemComponent {...(props as never)} />;
27
+ return <NavbarItemComponent {...(props as any)} />;
28
28
  }
@@ -9,13 +9,12 @@ import React from 'react';
9
9
  import Head from '@docusaurus/Head';
10
10
  import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
11
11
  import useBaseUrl from '@docusaurus/useBaseUrl';
12
+ import {PageMetadata, useThemeConfig} from '@docusaurus/theme-common';
12
13
  import {
13
- PageMetadata,
14
14
  DEFAULT_SEARCH_TAG,
15
15
  useAlternatePageUtils,
16
- useThemeConfig,
17
16
  keyboardFocusedClassName,
18
- } from '@docusaurus/theme-common';
17
+ } from '@docusaurus/theme-common/internal';
19
18
  import {useLocation} from '@docusaurus/router';
20
19
  import SearchMetadata from '@theme/SearchMetadata';
21
20
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  import React from 'react';
9
9
  import Translate from '@docusaurus/Translate';
10
- import {useSkipToContent} from '@docusaurus/theme-common';
10
+ import {useSkipToContent} from '@docusaurus/theme-common/internal';
11
11
 
12
12
  import styles from './styles.module.css';
13
13
 
@@ -6,12 +6,12 @@
6
6
  */
7
7
 
8
8
  import React, {useMemo} from 'react';
9
+ import {useThemeConfig} from '@docusaurus/theme-common';
9
10
  import {
10
- type TOCHighlightConfig,
11
- useThemeConfig,
12
11
  useTOCHighlight,
13
12
  useFilteredAndTreeifiedTOC,
14
- } from '@docusaurus/theme-common';
13
+ type TOCHighlightConfig,
14
+ } from '@docusaurus/theme-common/internal';
15
15
  import TOCItemTree from '@theme/TOCItems/Tree';
16
16
  import type {Props} from '@theme/TOCItems';
17
17
 
@@ -13,11 +13,11 @@ import React, {
13
13
  } from 'react';
14
14
  import clsx from 'clsx';
15
15
  import useIsBrowser from '@docusaurus/useIsBrowser';
16
+ import {duplicates} from '@docusaurus/theme-common';
16
17
  import {
17
18
  useScrollPositionBlocker,
18
- duplicates,
19
19
  useTabGroupChoice,
20
- } from '@docusaurus/theme-common';
20
+ } from '@docusaurus/theme-common/internal';
21
21
  import type {Props} from '@theme/Tabs';
22
22
  import type {Props as TabItemProps} from '@theme/TabItem';
23
23
 
@@ -42,7 +42,7 @@ declare module '@theme/Admonition' {
42
42
  readonly children: ReactNode;
43
43
  readonly type: 'note' | 'tip' | 'danger' | 'info' | 'caution';
44
44
  readonly icon?: ReactNode;
45
- readonly title?: string;
45
+ readonly title?: ReactNode;
46
46
  }
47
47
  export default function Admonition(props: Props): JSX.Element;
48
48
  }
@@ -95,41 +95,103 @@ declare module '@theme/BlogSidebar' {
95
95
  }
96
96
 
97
97
  declare module '@theme/BlogPostItem' {
98
- import type {FrontMatter, Metadata} from '@theme/BlogPostPage';
99
- import type {Assets} from '@docusaurus/plugin-content-blog';
98
+ import type {ReactNode} from 'react';
100
99
 
101
100
  export interface Props {
102
- readonly frontMatter: FrontMatter;
103
- readonly assets: Assets;
104
- readonly metadata: Metadata;
105
- readonly truncated?: string | boolean;
106
- readonly isBlogPostPage?: boolean;
107
- readonly children: JSX.Element;
101
+ children: ReactNode;
102
+ className?: string;
108
103
  }
109
104
 
110
105
  export default function BlogPostItem(props: Props): JSX.Element;
111
106
  }
112
107
 
113
- declare module '@theme/BlogPostAuthor' {
114
- import type {Metadata} from '@theme/BlogPostPage';
108
+ declare module '@theme/BlogPostItems' {
109
+ import type {ComponentType, ReactNode} from 'react';
110
+ import type {PropBlogPostContent} from '@docusaurus/plugin-content-blog';
111
+
112
+ export interface Props {
113
+ items: readonly {content: PropBlogPostContent}[];
114
+ component?: ComponentType<{children: ReactNode}>;
115
+ }
116
+
117
+ export default function BlogPostItem(props: Props): JSX.Element;
118
+ }
119
+
120
+ declare module '@theme/BlogPostItem/Container' {
121
+ import type {ReactNode} from 'react';
122
+
123
+ export interface Props {
124
+ children: ReactNode;
125
+ className?: string;
126
+ }
127
+
128
+ export default function BlogPostItemContainer(props: Props): JSX.Element;
129
+ }
130
+
131
+ declare module '@theme/BlogPostItem/Header' {
132
+ export default function BlogPostItemHeader(): JSX.Element;
133
+ }
134
+
135
+ declare module '@theme/BlogPostItem/Header/Title' {
136
+ export interface Props {
137
+ className?: string;
138
+ }
139
+
140
+ export default function BlogPostItemHeaderTitle(props: Props): JSX.Element;
141
+ }
142
+
143
+ declare module '@theme/BlogPostItem/Header/Info' {
144
+ export interface Props {
145
+ className?: string;
146
+ }
147
+
148
+ export default function BlogPostItemHeaderInfo(): JSX.Element;
149
+ }
150
+
151
+ declare module '@theme/BlogPostItem/Header/Author' {
152
+ import type {PropBlogPostContent} from '@docusaurus/plugin-content-blog';
153
+
154
+ export interface Props {
155
+ readonly author: PropBlogPostContent['metadata']['authors'][number];
156
+ readonly className?: string;
157
+ }
158
+
159
+ export default function BlogPostItemHeaderAuthor(props: Props): JSX.Element;
160
+ }
115
161
 
162
+ declare module '@theme/BlogPostItem/Header/Authors' {
116
163
  export interface Props {
117
- readonly author: Metadata['authors'][number];
164
+ readonly className?: string;
118
165
  }
119
166
 
120
- export default function BlogPostAuthor(props: Props): JSX.Element;
167
+ export default function BlogPostItemHeaderAuthors(props: Props): JSX.Element;
121
168
  }
122
169
 
123
- declare module '@theme/BlogPostAuthors' {
124
- import type {Metadata} from '@theme/BlogPostPage';
125
- import type {Assets} from '@docusaurus/plugin-content-blog';
170
+ declare module '@theme/BlogPostItem/Content' {
171
+ import type {ReactNode} from 'react';
126
172
 
127
173
  export interface Props {
128
- readonly authors: Metadata['authors'];
129
- readonly assets: Assets;
174
+ children: ReactNode;
175
+ className?: string;
130
176
  }
131
177
 
132
- export default function BlogPostAuthors(props: Props): JSX.Element;
178
+ export default function BlogPostItemContent(props: Props): JSX.Element;
179
+ }
180
+
181
+ declare module '@theme/BlogPostItem/Footer' {
182
+ export default function BlogPostItemFooter(): JSX.Element | null;
183
+ }
184
+
185
+ declare module '@theme/BlogPostItem/Footer/ReadMoreLink' {
186
+ import type {Props as LinkProps} from '@docusaurus/Link';
187
+
188
+ export type Props = LinkProps & {
189
+ blogPostTitle: string;
190
+ };
191
+
192
+ export default function BlogPostItemFooterReadMoreLink(
193
+ props: Props,
194
+ ): JSX.Element | null;
133
195
  }
134
196
 
135
197
  declare module '@theme/BlogPostPaginator' {
@@ -261,10 +323,40 @@ declare module '@theme/DocCardList' {
261
323
  export default function DocCardList(props: Props): JSX.Element;
262
324
  }
263
325
 
264
- declare module '@theme/DocItemFooter' {
265
- import type {Props} from '@theme/DocItem';
326
+ declare module '@theme/DocItem/Layout' {
327
+ export interface Props {
328
+ readonly children: JSX.Element;
329
+ }
330
+
331
+ export default function DocItemLayout(props: Props): JSX.Element;
332
+ }
333
+
334
+ declare module '@theme/DocItem/Metadata' {
335
+ export default function DocItemMetadata(): JSX.Element;
336
+ }
337
+
338
+ declare module '@theme/DocItem/Content' {
339
+ export interface Props {
340
+ readonly children: JSX.Element;
341
+ }
342
+
343
+ export default function DocItemContent(props: Props): JSX.Element;
344
+ }
345
+
346
+ declare module '@theme/DocItem/TOC/Mobile' {
347
+ export default function DocItemTOCMobile(): JSX.Element;
348
+ }
349
+
350
+ declare module '@theme/DocItem/TOC/Desktop' {
351
+ export default function DocItemTOCDesktop(): JSX.Element;
352
+ }
353
+
354
+ declare module '@theme/DocItem/Paginator' {
355
+ export default function DocItemPaginator(): JSX.Element;
356
+ }
266
357
 
267
- export default function DocItemFooter(props: Props): JSX.Element;
358
+ declare module '@theme/DocItem/Footer' {
359
+ export default function DocItemFooter(): JSX.Element;
268
360
  }
269
361
 
270
362
  declare module '@theme/DocPage/Layout' {
@@ -328,8 +420,6 @@ declare module '@theme/DocSidebar' {
328
420
  readonly sidebar: readonly PropSidebarItem[];
329
421
  readonly onCollapse: () => void;
330
422
  readonly isHidden: boolean;
331
- // MobileSecondaryFilter expects Record<string, unknown>
332
- readonly [key: string]: unknown;
333
423
  }
334
424
 
335
425
  export default function DocSidebar(props: Props): JSX.Element;
@@ -568,14 +658,14 @@ declare module '@theme/Layout' {
568
658
  export default function Layout(props: Props): JSX.Element;
569
659
  }
570
660
 
571
- declare module '@theme/LayoutProviders' {
661
+ declare module '@theme/Layout/Provider' {
572
662
  import type {ReactNode} from 'react';
573
663
 
574
664
  export interface Props {
575
665
  readonly children: ReactNode;
576
666
  }
577
667
 
578
- export default function LayoutProviders(props: Props): JSX.Element;
668
+ export default function LayoutProvider(props: Props): JSX.Element;
579
669
  }
580
670
 
581
671
  declare module '@theme/SearchMetadata' {
@@ -677,6 +767,7 @@ declare module '@theme/MDXComponents' {
677
767
  import type MDXDetails from '@theme/MDXComponents/Details';
678
768
  import type MDXUl from '@theme/MDXComponents/Ul';
679
769
  import type MDXImg from '@theme/MDXComponents/Img';
770
+ import type Admonition from '@theme/Admonition';
680
771
 
681
772
  export type MDXComponentsObject = {
682
773
  readonly head: typeof MDXHead;
@@ -692,6 +783,7 @@ declare module '@theme/MDXComponents' {
692
783
  readonly h4: (props: ComponentProps<'h4'>) => JSX.Element;
693
784
  readonly h5: (props: ComponentProps<'h5'>) => JSX.Element;
694
785
  readonly h6: (props: ComponentProps<'h6'>) => JSX.Element;
786
+ readonly admonition: typeof Admonition;
695
787
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
696
788
  [tagName: string]: ComponentType<any>;
697
789
  };
@@ -1073,7 +1165,7 @@ declare module '@theme/TOCItems' {
1073
1165
  }
1074
1166
 
1075
1167
  declare module '@theme/TOCItems/Tree' {
1076
- import type {TOCTreeNode} from '@docusaurus/theme-common';
1168
+ import type {TOCTreeNode} from '@docusaurus/theme-common/internal';
1077
1169
 
1078
1170
  export interface Props {
1079
1171
  readonly toc: readonly TOCTreeNode[];
@@ -1164,7 +1256,7 @@ declare module '@theme/Logo' {
1164
1256
  export default function Logo(props: Props): JSX.Element;
1165
1257
  }
1166
1258
 
1167
- declare module '@theme/IconArrow' {
1259
+ declare module '@theme/Icon/Arrow' {
1168
1260
  import type {ComponentProps} from 'react';
1169
1261
 
1170
1262
  export interface Props extends ComponentProps<'svg'> {}
@@ -1172,7 +1264,7 @@ declare module '@theme/IconArrow' {
1172
1264
  export default function IconArrow(props: Props): JSX.Element;
1173
1265
  }
1174
1266
 
1175
- declare module '@theme/IconDarkMode' {
1267
+ declare module '@theme/Icon/DarkMode' {
1176
1268
  import type {ComponentProps} from 'react';
1177
1269
 
1178
1270
  export interface Props extends ComponentProps<'svg'> {}
@@ -1180,7 +1272,7 @@ declare module '@theme/IconDarkMode' {
1180
1272
  export default function IconDarkMode(props: Props): JSX.Element;
1181
1273
  }
1182
1274
 
1183
- declare module '@theme/IconEdit' {
1275
+ declare module '@theme/Icon/Edit' {
1184
1276
  import type {ComponentProps} from 'react';
1185
1277
 
1186
1278
  export interface Props extends ComponentProps<'svg'> {}
@@ -1188,7 +1280,7 @@ declare module '@theme/IconEdit' {
1188
1280
  export default function IconEdit(props: Props): JSX.Element;
1189
1281
  }
1190
1282
 
1191
- declare module '@theme/IconHome' {
1283
+ declare module '@theme/Icon/Home' {
1192
1284
  import type {ComponentProps} from 'react';
1193
1285
 
1194
1286
  export interface Props extends ComponentProps<'svg'> {}
@@ -1196,7 +1288,7 @@ declare module '@theme/IconHome' {
1196
1288
  export default function IconHome(props: Props): JSX.Element;
1197
1289
  }
1198
1290
 
1199
- declare module '@theme/IconLightMode' {
1291
+ declare module '@theme/Icon/LightMode' {
1200
1292
  import type {ComponentProps} from 'react';
1201
1293
 
1202
1294
  export interface Props extends ComponentProps<'svg'> {}
@@ -1204,7 +1296,7 @@ declare module '@theme/IconLightMode' {
1204
1296
  export default function IconLightMode(props: Props): JSX.Element;
1205
1297
  }
1206
1298
 
1207
- declare module '@theme/IconMenu' {
1299
+ declare module '@theme/Icon/Menu' {
1208
1300
  import type {ComponentProps} from 'react';
1209
1301
 
1210
1302
  export interface Props extends ComponentProps<'svg'> {}
@@ -1212,7 +1304,7 @@ declare module '@theme/IconMenu' {
1212
1304
  export default function IconMenu(props: Props): JSX.Element;
1213
1305
  }
1214
1306
 
1215
- declare module '@theme/IconClose' {
1307
+ declare module '@theme/Icon/Close' {
1216
1308
  import type {ComponentProps} from 'react';
1217
1309
 
1218
1310
  export interface Props extends ComponentProps<'svg'> {}
@@ -1220,7 +1312,7 @@ declare module '@theme/IconClose' {
1220
1312
  export default function IconClose(props: Props): JSX.Element;
1221
1313
  }
1222
1314
 
1223
- declare module '@theme/IconLanguage' {
1315
+ declare module '@theme/Icon/Language' {
1224
1316
  import type {ComponentProps} from 'react';
1225
1317
 
1226
1318
  export interface Props extends ComponentProps<'svg'> {}
@@ -1228,7 +1320,7 @@ declare module '@theme/IconLanguage' {
1228
1320
  export default function IconLanguage(props: Props): JSX.Element;
1229
1321
  }
1230
1322
 
1231
- declare module '@theme/IconExternalLink' {
1323
+ declare module '@theme/Icon/ExternalLink' {
1232
1324
  import type {ComponentProps} from 'react';
1233
1325
 
1234
1326
  export interface Props extends ComponentProps<'svg'> {}
@@ -300,6 +300,18 @@ const CustomCssSchema = Joi.alternatives()
300
300
  .try(Joi.array().items(Joi.string().required()), Joi.string().required())
301
301
  .optional();
302
302
 
303
+ const LogoSchema = Joi.object({
304
+ alt: Joi.string().allow(''),
305
+ src: Joi.string().required(),
306
+ srcDark: Joi.string(),
307
+ width: Joi.alternatives().try(Joi.string(), Joi.number()),
308
+ height: Joi.alternatives().try(Joi.string(), Joi.number()),
309
+ href: Joi.string(),
310
+ target: Joi.string(),
311
+ style: Joi.object(),
312
+ className: Joi.string(),
313
+ });
314
+
303
315
  export const ThemeConfigSchema = Joi.object<ThemeConfig>({
304
316
  // TODO temporary (@alpha-58)
305
317
  // @ts-expect-error: forbidden
@@ -344,27 +356,11 @@ export const ThemeConfigSchema = Joi.object<ThemeConfig>({
344
356
  .items(NavbarItemSchema)
345
357
  .default(DEFAULT_CONFIG.navbar.items),
346
358
  title: Joi.string().allow('', null),
347
- logo: Joi.object({
348
- alt: Joi.string().allow(''),
349
- src: Joi.string().required(),
350
- srcDark: Joi.string(),
351
- width: Joi.alternatives().try(Joi.string(), Joi.number()),
352
- height: Joi.alternatives().try(Joi.string(), Joi.number()),
353
- href: Joi.string(),
354
- target: Joi.string(),
355
- }),
359
+ logo: LogoSchema,
356
360
  }).default(DEFAULT_CONFIG.navbar),
357
361
  footer: Joi.object({
358
362
  style: Joi.string().equal('dark', 'light').default('light'),
359
- logo: Joi.object({
360
- alt: Joi.string().allow(''),
361
- src: Joi.string().required(),
362
- srcDark: Joi.string(),
363
- // TODO infer this from reading the image
364
- width: Joi.alternatives().try(Joi.string(), Joi.number()),
365
- height: Joi.alternatives().try(Joi.string(), Joi.number()),
366
- href: Joi.string(),
367
- }),
363
+ logo: LogoSchema,
368
364
  copyright: Joi.string(),
369
365
  links: Joi.alternatives(
370
366
  Joi.array().items(
@@ -1,9 +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
- /// <reference types="react" />
8
- import type { Props } from '@theme/LayoutProviders';
9
- export default function LayoutProviders({ children }: Props): JSX.Element;
@@ -1,33 +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
- import React from 'react';
8
- import {
9
- ColorModeProvider,
10
- TabGroupChoiceProvider,
11
- AnnouncementBarProvider,
12
- DocsPreferredVersionContextProvider,
13
- ScrollControllerProvider,
14
- NavbarProvider,
15
- PluginHtmlClassNameProvider,
16
- } from '@docusaurus/theme-common';
17
- export default function LayoutProviders({children}) {
18
- return (
19
- <ColorModeProvider>
20
- <AnnouncementBarProvider>
21
- <TabGroupChoiceProvider>
22
- <ScrollControllerProvider>
23
- <DocsPreferredVersionContextProvider>
24
- <PluginHtmlClassNameProvider>
25
- <NavbarProvider>{children}</NavbarProvider>
26
- </PluginHtmlClassNameProvider>
27
- </DocsPreferredVersionContextProvider>
28
- </ScrollControllerProvider>
29
- </TabGroupChoiceProvider>
30
- </AnnouncementBarProvider>
31
- </ColorModeProvider>
32
- );
33
- }
@@ -1,36 +0,0 @@
1
- /**
2
- * Copyright (c) Facebook, Inc. and its affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- import React from 'react';
9
- import {
10
- ColorModeProvider,
11
- TabGroupChoiceProvider,
12
- AnnouncementBarProvider,
13
- DocsPreferredVersionContextProvider,
14
- ScrollControllerProvider,
15
- NavbarProvider,
16
- PluginHtmlClassNameProvider,
17
- } from '@docusaurus/theme-common';
18
- import type {Props} from '@theme/LayoutProviders';
19
-
20
- export default function LayoutProviders({children}: Props): JSX.Element {
21
- return (
22
- <ColorModeProvider>
23
- <AnnouncementBarProvider>
24
- <TabGroupChoiceProvider>
25
- <ScrollControllerProvider>
26
- <DocsPreferredVersionContextProvider>
27
- <PluginHtmlClassNameProvider>
28
- <NavbarProvider>{children}</NavbarProvider>
29
- </PluginHtmlClassNameProvider>
30
- </DocsPreferredVersionContextProvider>
31
- </ScrollControllerProvider>
32
- </TabGroupChoiceProvider>
33
- </AnnouncementBarProvider>
34
- </ColorModeProvider>
35
- );
36
- }