@docusaurus/theme-classic 2.0.0-beta.13 → 2.0.0-beta.15

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 (299) hide show
  1. package/README.md +1 -1
  2. package/lib/index.js +7 -16
  3. package/lib/theme-classic.d.ts +111 -188
  4. package/lib/translations.js +13 -4
  5. package/lib/validateThemeConfig.js +18 -4
  6. package/lib-next/theme/Admonition/index.js +101 -0
  7. package/lib-next/theme/BackToTopButton/styles.module.css +1 -1
  8. package/lib-next/theme/BlogListPaginator/index.js +12 -12
  9. package/lib-next/theme/BlogPostAuthor/index.js +1 -1
  10. package/lib-next/theme/BlogPostAuthors/index.js +12 -2
  11. package/lib-next/theme/BlogPostAuthors/styles.module.css +10 -0
  12. package/lib-next/theme/BlogPostItem/index.js +12 -15
  13. package/lib-next/theme/BlogPostPage/index.js +10 -7
  14. package/lib-next/theme/BlogPostPaginator/index.js +11 -15
  15. package/lib-next/theme/BlogSidebar/styles.module.css +2 -0
  16. package/lib-next/theme/CodeBlock/index.js +51 -10
  17. package/lib-next/theme/CodeBlock/styles.module.css +18 -7
  18. package/lib-next/theme/DocCard/styles.module.css +3 -3
  19. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +6 -3
  20. package/lib-next/theme/DocItem/index.js +9 -6
  21. package/lib-next/theme/DocItem/styles.module.css +2 -2
  22. package/lib-next/theme/DocPage/index.js +7 -3
  23. package/lib-next/theme/DocPage/styles.module.css +1 -0
  24. package/lib-next/theme/DocPaginator/index.js +11 -13
  25. package/lib-next/theme/DocSidebar/index.js +2 -2
  26. package/lib-next/theme/DocSidebar/styles.module.css +1 -0
  27. package/lib-next/theme/DocSidebarItem/index.js +43 -21
  28. package/lib-next/theme/DocSidebarItem/styles.module.css +1 -0
  29. package/lib-next/theme/DocSidebarItems/index.js +28 -0
  30. package/{lib/theme/DocSidebarItem → lib-next/theme/DocSidebarItems}/styles.module.css +1 -0
  31. package/lib-next/theme/DocVersionBanner/index.js +4 -1
  32. package/lib-next/theme/Footer/index.js +73 -35
  33. package/lib-next/theme/Footer/styles.module.css +2 -1
  34. package/lib-next/theme/Heading/index.js +39 -43
  35. package/lib-next/theme/Heading/styles.css +1 -1
  36. package/lib-next/theme/Layout/index.js +1 -2
  37. package/lib-next/theme/LayoutHead/index.js +5 -9
  38. package/lib-next/theme/LayoutProviders/index.js +6 -6
  39. package/lib-next/theme/MDXComponents/index.js +18 -31
  40. package/lib-next/theme/MDXComponents/styles.css +4 -0
  41. package/lib-next/theme/MDXPage/index.js +3 -10
  42. package/lib-next/theme/Navbar/index.js +6 -6
  43. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +4 -66
  44. package/lib-next/theme/NavbarItem/DocNavbarItem.js +5 -2
  45. package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +73 -0
  46. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +5 -3
  47. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +4 -1
  48. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +6 -7
  49. package/lib-next/theme/NavbarItem/NavbarNavLink.js +70 -0
  50. package/lib-next/theme/NavbarItem/index.js +1 -2
  51. package/lib-next/theme/{UserPreferencesContext.js → NavbarItem/utils.js} +3 -3
  52. package/lib-next/theme/PaginatorNavLink/index.js +20 -0
  53. package/lib-next/theme/SkipToContent/index.js +1 -1
  54. package/lib-next/theme/SkipToContent/styles.module.css +7 -0
  55. package/lib-next/theme/TOCCollapsible/styles.module.css +2 -2
  56. package/lib-next/theme/Tabs/__tests__/index.test.js +8 -6
  57. package/lib-next/theme/Tabs/index.js +20 -10
  58. package/lib-next/theme/Tag/styles.module.css +4 -4
  59. package/lib-next/theme/ThemedImage/index.js +2 -2
  60. package/lib-next/theme/Toggle/styles.module.css +16 -15
  61. package/lib-next/theme/prism-include-languages.js +10 -3
  62. package/package.json +17 -19
  63. package/src/index.ts +12 -26
  64. package/src/theme/Admonition/index.tsx +106 -0
  65. package/src/theme/BackToTopButton/styles.module.css +1 -1
  66. package/src/theme/BlogListPaginator/index.tsx +12 -12
  67. package/src/theme/BlogPostAuthor/index.tsx +1 -1
  68. package/src/theme/BlogPostAuthors/index.tsx +12 -2
  69. package/src/theme/BlogPostAuthors/styles.module.css +10 -0
  70. package/src/theme/BlogPostItem/index.tsx +13 -15
  71. package/src/theme/BlogPostPage/index.tsx +10 -7
  72. package/src/theme/BlogPostPaginator/index.tsx +11 -15
  73. package/src/theme/BlogSidebar/styles.module.css +2 -0
  74. package/src/theme/CodeBlock/index.tsx +52 -11
  75. package/src/theme/CodeBlock/styles.module.css +18 -7
  76. package/src/theme/DocCard/index.tsx +2 -2
  77. package/src/theme/DocCard/styles.module.css +3 -3
  78. package/src/theme/DocCardList/index.tsx +1 -1
  79. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +7 -3
  80. package/src/theme/DocItem/index.tsx +9 -6
  81. package/src/theme/DocItem/styles.module.css +2 -2
  82. package/src/theme/DocItemFooter/index.tsx +1 -1
  83. package/src/theme/DocPage/index.tsx +8 -4
  84. package/src/theme/DocPage/styles.module.css +1 -0
  85. package/src/theme/DocPaginator/index.tsx +13 -15
  86. package/src/theme/DocSidebar/index.tsx +3 -3
  87. package/src/theme/DocSidebar/styles.module.css +1 -0
  88. package/src/theme/DocSidebarItem/index.tsx +34 -23
  89. package/src/theme/DocSidebarItem/styles.module.css +1 -0
  90. package/src/theme/DocSidebarItems/index.tsx +32 -0
  91. package/{lib/theme/DocItemFooter → src/theme/DocSidebarItems}/styles.module.css +10 -8
  92. package/src/theme/DocVersionBanner/index.tsx +3 -3
  93. package/src/theme/Footer/index.tsx +84 -38
  94. package/src/theme/Footer/styles.module.css +2 -1
  95. package/src/theme/Heading/index.tsx +39 -47
  96. package/src/theme/Heading/styles.css +1 -1
  97. package/src/theme/Layout/index.tsx +1 -2
  98. package/src/theme/LayoutHead/index.tsx +4 -8
  99. package/src/theme/LayoutProviders/index.tsx +6 -6
  100. package/src/theme/MDXComponents/index.tsx +26 -37
  101. package/src/theme/MDXComponents/styles.css +4 -0
  102. package/src/theme/MDXPage/index.tsx +3 -11
  103. package/src/theme/Navbar/index.tsx +7 -7
  104. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +6 -62
  105. package/src/theme/NavbarItem/DocNavbarItem.tsx +8 -5
  106. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +84 -0
  107. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +9 -6
  108. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +2 -2
  109. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +6 -7
  110. package/src/theme/NavbarItem/NavbarNavLink.tsx +68 -0
  111. package/src/theme/NavbarItem/index.tsx +3 -5
  112. package/{lib-next/theme/hooks/styles.css → src/theme/NavbarItem/utils.ts} +3 -3
  113. package/src/theme/PaginatorNavLink/index.tsx +22 -0
  114. package/src/theme/SkipToContent/index.tsx +1 -1
  115. package/src/theme/SkipToContent/styles.module.css +7 -0
  116. package/src/theme/TOCCollapsible/styles.module.css +2 -2
  117. package/src/theme/TOCItems/index.tsx +2 -2
  118. package/src/theme/Tabs/index.tsx +25 -10
  119. package/src/theme/Tag/styles.module.css +4 -4
  120. package/src/theme/TagsListByLetter/index.tsx +1 -1
  121. package/src/theme/ThemedImage/index.tsx +2 -2
  122. package/src/theme/Toggle/index.tsx +1 -1
  123. package/src/theme/Toggle/styles.module.css +16 -15
  124. package/src/theme/prism-include-languages.ts +10 -3
  125. package/src/theme-classic.d.ts +111 -188
  126. package/src/translations.ts +36 -16
  127. package/src/validateThemeConfig.ts +25 -4
  128. package/babel.config.js +0 -35
  129. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  130. package/lib/__tests__/translations.test.js +0 -112
  131. package/lib/__tests__/validateThemeConfig.test.js +0 -607
  132. package/lib/theme/AnnouncementBar/index.js +0 -68
  133. package/lib/theme/AnnouncementBar/styles.module.css +0 -63
  134. package/lib/theme/BackToTopButton/index.js +0 -140
  135. package/lib/theme/BackToTopButton/styles.module.css +0 -42
  136. package/lib/theme/BlogArchivePage/index.js +0 -89
  137. package/lib/theme/BlogLayout/index.js +0 -51
  138. package/lib/theme/BlogListPage/index.js +0 -60
  139. package/lib/theme/BlogListPaginator/index.js +0 -63
  140. package/lib/theme/BlogPostAuthor/index.js +0 -51
  141. package/lib/theme/BlogPostAuthor/styles.module.css +0 -12
  142. package/lib/theme/BlogPostAuthors/index.js +0 -47
  143. package/lib/theme/BlogPostAuthors/styles.module.css +0 -11
  144. package/lib/theme/BlogPostItem/index.js +0 -152
  145. package/lib/theme/BlogPostItem/styles.module.css +0 -18
  146. package/lib/theme/BlogPostPage/index.js +0 -82
  147. package/lib/theme/BlogPostPaginator/index.js +0 -64
  148. package/lib/theme/BlogSidebar/index.js +0 -49
  149. package/lib/theme/BlogSidebar/styles.module.css +0 -44
  150. package/lib/theme/BlogTagsListPage/index.js +0 -40
  151. package/lib/theme/BlogTagsPostsPage/index.js +0 -86
  152. package/lib/theme/CodeBlock/index.js +0 -133
  153. package/lib/theme/CodeBlock/styles.module.css +0 -65
  154. package/lib/theme/Details/index.js +0 -30
  155. package/lib/theme/Details/styles.module.css +0 -13
  156. package/lib/theme/DocCard/index.js +0 -84
  157. package/lib/theme/DocCard/styles.module.css +0 -43
  158. package/lib/theme/DocCardList/index.js +0 -28
  159. package/lib/theme/DocCategoryGeneratedIndexPage/index.js +0 -57
  160. package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +0 -18
  161. package/lib/theme/DocItem/index.js +0 -112
  162. package/lib/theme/DocItem/styles.module.css +0 -22
  163. package/lib/theme/DocItemFooter/index.js +0 -79
  164. package/lib/theme/DocPage/index.js +0 -154
  165. package/lib/theme/DocPage/styles.module.css +0 -85
  166. package/lib/theme/DocPaginator/index.js +0 -62
  167. package/lib/theme/DocSidebar/index.js +0 -134
  168. package/lib/theme/DocSidebar/styles.module.css +0 -106
  169. package/lib/theme/DocSidebarItem/index.js +0 -209
  170. package/lib/theme/DocTagDocListPage/index.js +0 -89
  171. package/lib/theme/DocTagsListPage/index.js +0 -44
  172. package/lib/theme/DocVersionBadge/index.js +0 -34
  173. package/lib/theme/DocVersionBanner/index.js +0 -130
  174. package/lib/theme/EditThisPage/index.js +0 -33
  175. package/lib/theme/ErrorPageContent.js +0 -43
  176. package/lib/theme/Footer/index.js +0 -119
  177. package/lib/theme/Footer/styles.module.css +0 -15
  178. package/lib/theme/Heading/index.js +0 -71
  179. package/lib/theme/Heading/styles.css +0 -22
  180. package/lib/theme/Heading/styles.module.css +0 -19
  181. package/lib/theme/IconArrow/index.js +0 -28
  182. package/lib/theme/IconClose/index.js +0 -31
  183. package/lib/theme/IconEdit/index.js +0 -34
  184. package/lib/theme/IconEdit/styles.module.css +0 -11
  185. package/lib/theme/IconExternalLink/index.js +0 -30
  186. package/lib/theme/IconExternalLink/styles.module.css +0 -12
  187. package/lib/theme/IconLanguage/index.js +0 -29
  188. package/lib/theme/IconMenu/index.js +0 -30
  189. package/lib/theme/LastUpdated/index.js +0 -63
  190. package/lib/theme/Layout/index.js +0 -68
  191. package/lib/theme/Layout/styles.css +0 -27
  192. package/lib/theme/LayoutHead/index.js +0 -149
  193. package/lib/theme/LayoutProviders/index.js +0 -40
  194. package/lib/theme/Logo/index.js +0 -62
  195. package/lib/theme/MDXComponents/index.js +0 -106
  196. package/lib/theme/MDXComponents/styles.css +0 -11
  197. package/lib/theme/MDXPage/index.js +0 -67
  198. package/lib/theme/MDXPage/styles.module.css +0 -10
  199. package/lib/theme/Navbar/index.js +0 -267
  200. package/lib/theme/Navbar/styles.module.css +0 -27
  201. package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -113
  202. package/lib/theme/NavbarItem/DocNavbarItem.js +0 -62
  203. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -83
  204. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
  205. package/lib/theme/NavbarItem/DropdownNavbarItem.js +0 -155
  206. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +0 -68
  207. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +0 -11
  208. package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
  209. package/lib/theme/NavbarItem/index.js +0 -74
  210. package/lib/theme/NotFound.js +0 -57
  211. package/lib/theme/SearchBar.js +0 -15
  212. package/lib/theme/SearchMetadata/index.js +0 -33
  213. package/lib/theme/Seo/index.js +0 -52
  214. package/lib/theme/SkipToContent/index.js +0 -71
  215. package/lib/theme/SkipToContent/styles.module.css +0 -14
  216. package/lib/theme/TOC/index.js +0 -39
  217. package/lib/theme/TOC/styles.module.css +0 -23
  218. package/lib/theme/TOCCollapsible/index.js +0 -53
  219. package/lib/theme/TOCCollapsible/styles.module.css +0 -50
  220. package/lib/theme/TOCInline/index.js +0 -33
  221. package/lib/theme/TOCInline/styles.module.css +0 -12
  222. package/lib/theme/TOCItems/index.js +0 -78
  223. package/lib/theme/TabItem/index.js +0 -32
  224. package/lib/theme/Tabs/__tests__/index.test.js +0 -123
  225. package/lib/theme/Tabs/index.js +0 -173
  226. package/lib/theme/Tabs/styles.module.css +0 -10
  227. package/lib/theme/Tag/index.js +0 -40
  228. package/lib/theme/Tag/styles.module.css +0 -70
  229. package/lib/theme/TagsListByLetter/index.js +0 -48
  230. package/lib/theme/TagsListByLetter/styles.module.css +0 -11
  231. package/lib/theme/TagsListInline/index.js +0 -44
  232. package/lib/theme/TagsListInline/styles.module.css +0 -15
  233. package/lib/theme/ThemeContext.js +0 -21
  234. package/lib/theme/ThemeProvider/index.js +0 -43
  235. package/lib/theme/ThemedImage/index.js +0 -47
  236. package/lib/theme/ThemedImage/styles.module.css +0 -18
  237. package/lib/theme/Toggle/index.js +0 -91
  238. package/lib/theme/Toggle/styles.module.css +0 -105
  239. package/lib/theme/UserPreferencesContext.js +0 -18
  240. package/lib/theme/UserPreferencesProvider/index.js +0 -41
  241. package/lib/theme/hooks/styles.css +0 -10
  242. package/lib/theme/hooks/useDocs.js +0 -18
  243. package/lib/theme/hooks/useHideableNavbar.js +0 -74
  244. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  245. package/lib/theme/hooks/useLocationHash.js +0 -28
  246. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  247. package/lib/theme/hooks/usePrismTheme.js +0 -36
  248. package/lib/theme/hooks/useTabGroupChoice.js +0 -51
  249. package/lib/theme/hooks/useTheme.js +0 -97
  250. package/lib/theme/hooks/useThemeContext.js +0 -31
  251. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  252. package/lib/theme/hooks/useWindowSize.js +0 -68
  253. package/lib/theme/prism-include-languages.js +0 -40
  254. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  255. package/lib-next/__tests__/translations.test.js +0 -128
  256. package/lib-next/__tests__/validateThemeConfig.test.js +0 -607
  257. package/lib-next/admonitions.css +0 -35
  258. package/lib-next/deps.d.ts +0 -13
  259. package/lib-next/index.js +0 -227
  260. package/lib-next/prism-include-languages.js +0 -9
  261. package/lib-next/theme/ThemeContext.js +0 -9
  262. package/lib-next/theme/ThemeProvider/index.js +0 -28
  263. package/lib-next/theme/UserPreferencesProvider/index.js +0 -27
  264. package/lib-next/theme/hooks/useDocs.js +0 -10
  265. package/lib-next/theme/hooks/useHideableNavbar.js +0 -66
  266. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  267. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  268. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  269. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  270. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -39
  271. package/lib-next/theme/hooks/useTheme.js +0 -81
  272. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  273. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  274. package/lib-next/theme/hooks/useWindowSize.js +0 -59
  275. package/lib-next/theme-classic.d.ts +0 -806
  276. package/lib-next/translations.js +0 -141
  277. package/lib-next/types.d.ts +0 -11
  278. package/lib-next/validateThemeConfig.js +0 -344
  279. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  280. package/src/__tests__/translations.test.ts +0 -116
  281. package/src/__tests__/validateThemeConfig.test.js +0 -607
  282. package/src/theme/Tabs/__tests__/index.test.tsx +0 -129
  283. package/src/theme/ThemeContext.ts +0 -15
  284. package/src/theme/ThemeProvider/index.tsx +0 -28
  285. package/src/theme/UserPreferencesContext.ts +0 -12
  286. package/src/theme/UserPreferencesProvider/index.tsx +0 -30
  287. package/src/theme/hooks/styles.css +0 -10
  288. package/src/theme/hooks/useDocs.ts +0 -11
  289. package/src/theme/hooks/useHideableNavbar.ts +0 -72
  290. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  291. package/src/theme/hooks/useLocationHash.ts +0 -25
  292. package/src/theme/hooks/useLockBodyScroll.ts +0 -20
  293. package/src/theme/hooks/usePrismTheme.ts +0 -22
  294. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  295. package/src/theme/hooks/useTheme.ts +0 -91
  296. package/src/theme/hooks/useThemeContext.ts +0 -23
  297. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  298. package/src/theme/hooks/useWindowSize.ts +0 -69
  299. package/tsconfig.json +0 -11
@@ -6,7 +6,21 @@
6
6
  */
7
7
 
8
8
  declare module '@docusaurus/theme-classic' {
9
- export type Options = Partial<import('./index').PluginOptions>;
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;
10
24
  }
11
25
 
12
26
  declare module '@theme/AnnouncementBar' {
@@ -30,7 +44,8 @@ declare module '@theme/BlogListPaginator' {
30
44
  }
31
45
 
32
46
  declare module '@theme/BlogPostItem' {
33
- import type {FrontMatter, Assets, Metadata} from '@theme/BlogPostPage';
47
+ import type {FrontMatter, Metadata} from '@theme/BlogPostPage';
48
+ import type {Assets} from '@docusaurus/plugin-content-blog';
34
49
 
35
50
  export interface Props {
36
51
  readonly frontMatter: FrontMatter;
@@ -56,7 +71,8 @@ declare module '@theme/BlogPostAuthor' {
56
71
  }
57
72
 
58
73
  declare module '@theme/BlogPostAuthors' {
59
- import type {Metadata, Assets} from '@theme/BlogPostPage';
74
+ import type {Metadata} from '@theme/BlogPostPage';
75
+ import type {Assets} from '@docusaurus/plugin-content-blog';
60
76
 
61
77
  export interface Props {
62
78
  readonly authors: Metadata['authors'];
@@ -93,13 +109,14 @@ declare module '@theme/BlogLayout' {
93
109
  }
94
110
 
95
111
  declare module '@theme/CodeBlock' {
96
- import {ReactElement} from 'react';
112
+ import type {ReactElement} from 'react';
97
113
 
98
114
  export interface Props {
99
115
  readonly children: string | ReactElement;
100
116
  readonly className?: string;
101
117
  readonly metastring?: string;
102
118
  readonly title?: string;
119
+ readonly language?: string;
103
120
  }
104
121
 
105
122
  const CodeBlock: (props: Props) => JSX.Element;
@@ -109,13 +126,10 @@ declare module '@theme/CodeBlock' {
109
126
  declare module '@theme/DocPaginator' {
110
127
  import type {PropNavigation} from '@docusaurus/plugin-content-docs';
111
128
 
112
- type PageInfo = {readonly permalink: string; readonly title: string};
113
-
114
129
  // May be simpler to provide a {navigation: PropNavigation} prop?
115
130
  export interface Props extends PropNavigation {}
116
131
 
117
- const DocPaginator: (props: Props) => JSX.Element;
118
- export default DocPaginator;
132
+ export default function DocPaginator(props: Props): JSX.Element;
119
133
  }
120
134
 
121
135
  declare module '@theme/DocSidebar' {
@@ -137,23 +151,27 @@ declare module '@theme/DocSidebar' {
137
151
  declare module '@theme/DocSidebarItem' {
138
152
  import type {PropSidebarItem} from '@docusaurus/plugin-content-docs';
139
153
 
140
- type DocSidebarPropsBase = {
154
+ export interface Props {
141
155
  readonly activePath: string;
142
156
  readonly onItemClick?: (item: PropSidebarItem) => void;
143
157
  readonly level: number;
144
158
  readonly tabIndex?: number;
145
- };
146
-
147
- export interface Props extends DocSidebarPropsBase {
148
159
  readonly item: PropSidebarItem;
160
+ readonly index: number;
149
161
  }
150
- const DocSidebarItem: (props: Props) => JSX.Element;
151
- export default DocSidebarItem;
152
162
 
153
- export type DocSidebarItemsProps = DocSidebarPropsBase & {
163
+ export default function DocSidebarItem(props: Props): JSX.Element;
164
+ }
165
+
166
+ declare module '@theme/DocSidebarItems' {
167
+ import type {Props as DocSidebarItemProps} from '@theme/DocSidebarItem';
168
+ import type {PropSidebarItem} from '@docusaurus/plugin-content-docs';
169
+
170
+ export type Props = Omit<DocSidebarItemProps, 'item' | 'index'> & {
154
171
  readonly items: readonly PropSidebarItem[];
155
172
  };
156
- export const DocSidebarItems: (props: DocSidebarItemsProps) => JSX.Element;
173
+
174
+ export default function DocSidebarItems(props: Props): JSX.Element;
157
175
  }
158
176
 
159
177
  declare module '@theme/DocVersionSuggestions' {
@@ -170,7 +188,7 @@ declare module '@theme/EditThisPage' {
170
188
  }
171
189
 
172
190
  declare module '@theme/ErrorPageContent' {
173
- import ErrorComponent from '@theme/Error';
191
+ import type ErrorComponent from '@theme/Error';
174
192
 
175
193
  const ErrorPageContent: typeof ErrorComponent;
176
194
  export default ErrorPageContent;
@@ -184,111 +202,20 @@ declare module '@theme/Footer' {
184
202
  declare module '@theme/Heading' {
185
203
  import type {ComponentProps} from 'react';
186
204
 
187
- export type HeadingType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
188
- export interface Props extends ComponentProps<HeadingType> {}
189
-
190
- const Heading: (Tag: HeadingType) => (props: Props) => JSX.Element;
191
- export default Heading;
192
- export const MainHeading: (props: Props) => JSX.Element;
193
- }
194
-
195
- declare module '@theme/hooks/useHideableNavbar' {
196
- export type useHideableNavbarReturns = {
197
- readonly navbarRef: (node: HTMLElement | null) => void;
198
- readonly isNavbarVisible: boolean;
199
- };
200
-
201
- const useHideableNavbar: (hideOnScroll: boolean) => useHideableNavbarReturns;
202
- export default useHideableNavbar;
203
- }
204
-
205
- declare module '@theme/hooks/useLocationHash' {
206
- import type {Dispatch, SetStateAction} from 'react';
207
-
208
- export type useLocationHashReturns = readonly [
209
- string,
210
- Dispatch<SetStateAction<string>>,
211
- ];
212
-
213
- const useLocationHash: (initialHash: string) => useLocationHashReturns;
214
- export default useLocationHash;
215
- }
216
-
217
- declare module '@theme/hooks/useLockBodyScroll' {
218
- const useLockBodyScroll: (lock?: boolean) => void;
219
- export default useLockBodyScroll;
220
- }
221
-
222
- declare module '@theme/hooks/usePrismTheme' {
223
- import defaultTheme from 'prism-react-renderer/themes/palenight';
224
-
225
- const usePrismTheme: () => typeof defaultTheme;
226
- export default usePrismTheme;
227
- }
228
-
229
- declare module '@theme/hooks/useTabGroupChoice' {
230
- export type useTabGroupChoiceReturns = {
231
- readonly tabGroupChoices: {readonly [groupId: string]: string};
232
- readonly setTabGroupChoices: (groupId: string, newChoice: string) => void;
233
- };
234
-
235
- const useTabGroupChoice: () => useTabGroupChoiceReturns;
236
- export default useTabGroupChoice;
237
- }
238
-
239
- declare module '@theme/hooks/useTheme' {
240
- export type useThemeReturns = {
241
- readonly isDarkTheme: boolean;
242
- readonly setLightTheme: () => void;
243
- readonly setDarkTheme: () => void;
244
- };
245
-
246
- const useTheme: () => useThemeReturns;
247
- export default useTheme;
248
- }
249
-
250
- declare module '@theme/hooks/useThemeContext' {
251
- export type ThemeContextProps = {
252
- isDarkTheme: boolean;
253
- setLightTheme: () => void;
254
- setDarkTheme: () => void;
255
- };
256
-
257
- export default function useThemeContext(): ThemeContextProps;
258
- }
259
-
260
- declare module '@theme/hooks/useUserPreferencesContext' {
261
- export type UserPreferencesContextProps = {
262
- tabGroupChoices: {readonly [groupId: string]: string};
263
- setTabGroupChoices: (groupId: string, newChoice: string) => void;
264
- };
265
-
266
- export default function useUserPreferencesContext(): UserPreferencesContextProps;
267
- }
205
+ type HeadingType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
268
206
 
269
- declare module '@theme/hooks/useWindowSize' {
270
- export const windowSizes: {
271
- desktop: 'desktop';
272
- mobile: 'mobile';
273
- ssr: 'ssr';
274
- };
275
-
276
- export type WindowSize = keyof typeof windowSizes;
277
-
278
- export default function useWindowSize(): WindowSize;
279
- }
280
-
281
- declare module '@theme/hooks/useKeyboardNavigation' {
282
- const useKeyboardNavigation: () => void;
207
+ export interface Props extends ComponentProps<HeadingType> {
208
+ as: HeadingType;
209
+ }
283
210
 
284
- export default useKeyboardNavigation;
211
+ export default function Heading(props: Props): JSX.Element;
285
212
  }
286
213
 
287
214
  declare module '@theme/Layout' {
288
215
  import type {ReactNode} from 'react';
289
216
 
290
217
  export interface Props {
291
- readonly children: ReactNode;
218
+ readonly children?: ReactNode;
292
219
  readonly title?: string;
293
220
  readonly noFooter?: boolean;
294
221
  readonly description?: string;
@@ -303,8 +230,7 @@ declare module '@theme/Layout' {
303
230
  };
304
231
  }
305
232
 
306
- const Layout: (props: Props) => JSX.Element;
307
- export default Layout;
233
+ export default function Layout(props: Props): JSX.Element;
308
234
  }
309
235
 
310
236
  declare module '@theme/LayoutHead' {
@@ -312,8 +238,17 @@ declare module '@theme/LayoutHead' {
312
238
 
313
239
  export interface Props extends Omit<LayoutProps, 'children'> {}
314
240
 
315
- const LayoutHead: (props: Props) => JSX.Element;
316
- export default LayoutHead;
241
+ export default function LayoutHead(props: Props): JSX.Element;
242
+ }
243
+
244
+ declare module '@theme/LayoutProviders' {
245
+ import type {ReactNode} from 'react';
246
+
247
+ export interface Props {
248
+ readonly children: ReactNode;
249
+ }
250
+
251
+ export default function LayoutProviders(props: Props): JSX.Element;
317
252
  }
318
253
 
319
254
  declare module '@theme/SearchMetadata' {
@@ -372,18 +307,9 @@ declare module '@theme/Navbar' {
372
307
  }
373
308
 
374
309
  declare module '@theme/NavbarItem/DefaultNavbarItem' {
375
- import type {ReactNode} from 'react';
376
- import type {LinkProps} from '@docusaurus/Link';
310
+ import type {Props as NavbarNavLinkProps} from '@theme/NavbarItem/NavbarNavLink';
377
311
 
378
- export type NavLinkProps = LinkProps & {
379
- readonly activeBasePath?: string;
380
- readonly activeBaseRegex?: string;
381
- readonly exact?: boolean;
382
- readonly label?: ReactNode;
383
- readonly prependBaseUrlToHref?: string;
384
- };
385
-
386
- export type DesktopOrMobileNavBarItemProps = NavLinkProps & {
312
+ export type DesktopOrMobileNavBarItemProps = NavbarNavLinkProps & {
387
313
  readonly isDropdownItem?: boolean;
388
314
  readonly className?: string;
389
315
  readonly position?: 'left' | 'right';
@@ -393,17 +319,30 @@ declare module '@theme/NavbarItem/DefaultNavbarItem' {
393
319
  readonly mobile?: boolean;
394
320
  }
395
321
 
396
- export const NavLink: (props: NavLinkProps) => JSX.Element;
322
+ export default function DefaultNavbarItem(props: Props): JSX.Element;
323
+ }
324
+
325
+ declare module '@theme/NavbarItem/NavbarNavLink' {
326
+ import type {ReactNode} from 'react';
327
+ import type {LinkProps} from '@docusaurus/Link';
328
+
329
+ export type Props = LinkProps & {
330
+ readonly activeBasePath?: string;
331
+ readonly activeBaseRegex?: string;
332
+ readonly exact?: boolean;
333
+ readonly label?: ReactNode;
334
+ readonly prependBaseUrlToHref?: string;
335
+ };
397
336
 
398
- const DefaultNavbarItem: (props: Props) => JSX.Element;
399
- export default DefaultNavbarItem;
337
+ export default function NavbarNavLink(props: Props): JSX.Element;
400
338
  }
401
339
 
402
340
  declare module '@theme/NavbarItem/DropdownNavbarItem' {
403
- import type {NavLinkProps} from '@theme/NavbarItem/DefaultNavbarItem';
341
+ import type {Props as NavbarNavLinkProps} from '@theme/NavbarItem/NavbarNavLink';
342
+
404
343
  import type {LinkLikeNavbarItemProps} from '@theme/NavbarItem';
405
344
 
406
- export type DesktopOrMobileNavBarItemProps = NavLinkProps & {
345
+ export type DesktopOrMobileNavBarItemProps = NavbarNavLinkProps & {
407
346
  readonly position?: 'left' | 'right';
408
347
  readonly items: readonly LinkLikeNavbarItemProps[];
409
348
  readonly className?: string;
@@ -477,10 +416,23 @@ declare module '@theme/NavbarItem/DocNavbarItem' {
477
416
  export default DocsSidebarNavbarItem;
478
417
  }
479
418
 
419
+ declare module '@theme/NavbarItem/DocSidebarNavbarItem' {
420
+ import type {Props as DefaultNavbarItemProps} from '@theme/NavbarItem/DefaultNavbarItem';
421
+
422
+ export interface Props extends DefaultNavbarItemProps {
423
+ readonly sidebarId: string;
424
+ readonly docsPluginId?: string;
425
+ }
426
+
427
+ const DocSidebarNavbarItem: (props: Props) => JSX.Element;
428
+ export default DocSidebarNavbarItem;
429
+ }
430
+
480
431
  declare module '@theme/NavbarItem' {
481
432
  import type {ComponentProps} from 'react';
482
433
  import type {Props as DefaultNavbarItemProps} from '@theme/NavbarItem/DefaultNavbarItem';
483
434
  import type {Props as DocNavbarItemProps} from '@theme/NavbarItem/DocNavbarItem';
435
+ import type {Props as DocSidebarNavbarItemProps} from '@theme/NavbarItem/DocSidebarNavbarItem';
484
436
  import type {Props as DocsVersionNavbarItemProps} from '@theme/NavbarItem/DocsVersionNavbarItem';
485
437
  import type {Props as DropdownNavbarItemProps} from '@theme/NavbarItem/DropdownNavbarItem';
486
438
  import type {Props as DocsVersionDropdownNavbarItemProps} from '@theme/NavbarItem/DocsVersionDropdownNavbarItem';
@@ -490,7 +442,8 @@ declare module '@theme/NavbarItem' {
490
442
  export type LinkLikeNavbarItemProps =
491
443
  | ({readonly type?: 'default'} & DefaultNavbarItemProps)
492
444
  | ({readonly type: 'doc'} & DocNavbarItemProps)
493
- | ({readonly type: 'docsVersion'} & DocsVersionNavbarItemProps);
445
+ | ({readonly type: 'docsVersion'} & DocsVersionNavbarItemProps)
446
+ | ({readonly type: 'docSidebar'} & DocSidebarNavbarItemProps);
494
447
 
495
448
  export type Props = ComponentProps<'a'> & {
496
449
  readonly position?: 'left' | 'right';
@@ -512,6 +465,22 @@ declare module '@theme/NavbarItem' {
512
465
  export default NavbarItem;
513
466
  }
514
467
 
468
+ declare module '@theme/NavbarItem/utils' {
469
+ export function getInfimaActiveClassName(mobile?: boolean): string;
470
+ }
471
+
472
+ declare module '@theme/PaginatorNavLink' {
473
+ import type {ReactNode} from 'react';
474
+ import type {PropNavigationLink} from '@docusaurus/plugin-content-docs';
475
+
476
+ export interface Props extends Omit<PropNavigationLink, 'title'> {
477
+ readonly title: ReactNode;
478
+ readonly subLabel?: JSX.Element;
479
+ }
480
+
481
+ export default function PaginatorNavLink(props: Props): JSX.Element;
482
+ }
483
+
515
484
  declare module '@theme/SearchBar' {
516
485
  export default function SearchBar(): JSX.Element;
517
486
  }
@@ -526,6 +495,7 @@ declare module '@theme/TabItem' {
526
495
  readonly label?: string;
527
496
  readonly hidden?: boolean;
528
497
  readonly className?: string;
498
+ readonly attributes?: Record<string, unknown>;
529
499
  }
530
500
 
531
501
  const TabItem: (props: Props) => JSX.Element;
@@ -541,7 +511,11 @@ declare module '@theme/Tabs' {
541
511
  readonly block?: boolean;
542
512
  readonly children: readonly ReactElement<TabItemProps>[];
543
513
  readonly defaultValue?: string | null;
544
- readonly values?: readonly {value: string; label?: string}[];
514
+ readonly values?: readonly {
515
+ value: string;
516
+ label?: string;
517
+ attributes?: Record<string, unknown>;
518
+ }[];
545
519
  readonly groupId?: string;
546
520
  readonly className?: string;
547
521
  }
@@ -565,23 +539,12 @@ declare module '@theme/ThemedImage' {
565
539
  }
566
540
 
567
541
  declare module '@theme/Details' {
568
- import {Details, DetailsProps} from '@docusaurus/theme-common';
542
+ import {Details, type DetailsProps} from '@docusaurus/theme-common';
569
543
 
570
544
  export interface Props extends DetailsProps {}
571
545
  export default Details;
572
546
  }
573
547
 
574
- declare module '@theme/ThemeProvider' {
575
- import type {ReactNode} from 'react';
576
-
577
- export interface Props {
578
- readonly children: ReactNode;
579
- }
580
-
581
- const ThemeProvider: (props: Props) => JSX.Element;
582
- export default ThemeProvider;
583
- }
584
-
585
548
  declare module '@theme/TOCItems' {
586
549
  import type {TOCItem} from '@docusaurus/types';
587
550
 
@@ -662,46 +625,6 @@ declare module '@theme/Toggle' {
662
625
  export default Toggle;
663
626
  }
664
627
 
665
- declare module '@theme/UserPreferencesProvider' {
666
- import type {ReactNode} from 'react';
667
-
668
- export interface Props {
669
- readonly children: ReactNode;
670
- }
671
-
672
- const UserPreferencesProvider: (props: Props) => JSX.Element;
673
- export default UserPreferencesProvider;
674
- }
675
-
676
- declare module '@theme/LayoutProviders' {
677
- import type {ReactNode} from 'react';
678
-
679
- export interface Props {
680
- readonly children: ReactNode;
681
- }
682
-
683
- const LayoutProviders: (props: Props) => JSX.Element;
684
- export default LayoutProviders;
685
- }
686
-
687
- declare module '@theme/ThemeContext' {
688
- import type {Context} from 'react';
689
- import type {ThemeContextProps} from '@theme/hooks/useThemeContext';
690
-
691
- const ThemeContext: Context<ThemeContextProps | undefined>;
692
- export default ThemeContext;
693
- }
694
-
695
- declare module '@theme/UserPreferencesContext' {
696
- import type {Context} from 'react';
697
- import type {UserPreferencesContextProps} from '@theme/hooks/useUserPreferencesContext';
698
-
699
- const UserPreferencesContext: Context<
700
- UserPreferencesContextProps | undefined
701
- >;
702
- export default UserPreferencesContext;
703
- }
704
-
705
628
  declare module '@theme/Logo' {
706
629
  import type {ComponentProps} from 'react';
707
630
 
@@ -5,12 +5,14 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import {TranslationFile, TranslationFileContent} from '@docusaurus/types';
9
- import {
8
+ import type {TranslationFile, TranslationFileContent} from '@docusaurus/types';
9
+ import type {
10
10
  ThemeConfig,
11
11
  Navbar,
12
12
  NavbarItem,
13
13
  Footer,
14
+ MultiColumnFooter,
15
+ SimpleFooter,
14
16
  } from '@docusaurus/theme-common';
15
17
 
16
18
  import {keyBy, chain} from 'lodash';
@@ -69,10 +71,17 @@ function translateNavbar(
69
71
  };
70
72
  }
71
73
 
74
+ function isMultiColumnFooterLinks(
75
+ links: MultiColumnFooter['links'] | SimpleFooter['links'],
76
+ ): links is MultiColumnFooter['links'] {
77
+ return links.length > 0 && 'title' in links[0];
78
+ }
79
+
72
80
  function getFooterTranslationFile(footer: Footer): TranslationFileContent {
73
- // TODO POC code
74
81
  const footerLinkTitles: TranslationFileContent = chain(
75
- footer.links.filter((link) => !!link.title),
82
+ isMultiColumnFooterLinks(footer.links)
83
+ ? footer.links.filter((link) => !!link.title)
84
+ : [],
76
85
  )
77
86
  .keyBy((link) => `link.title.${link.title}`)
78
87
  .mapValues((link) => ({
@@ -82,7 +91,11 @@ function getFooterTranslationFile(footer: Footer): TranslationFileContent {
82
91
  .value();
83
92
 
84
93
  const footerLinkLabels: TranslationFileContent = chain(
85
- footer.links.flatMap((link) => link.items).filter((link) => !!link.label),
94
+ isMultiColumnFooterLinks(footer.links)
95
+ ? footer.links
96
+ .flatMap((link) => link.items)
97
+ .filter((link) => !!link.label)
98
+ : footer.links.filter((link) => !!link.label),
86
99
  )
87
100
  .keyBy((linkItem) => `link.item.label.${linkItem.label}`)
88
101
  .mapValues((linkItem) => ({
@@ -108,17 +121,24 @@ function translateFooter(
108
121
  footer: Footer,
109
122
  footerTranslations: TranslationFileContent,
110
123
  ): Footer {
111
- const links = footer.links.map((link) => ({
112
- ...link,
113
- title:
114
- footerTranslations[`link.title.${link.title}`]?.message ?? link.title,
115
- items: link.items.map((linkItem) => ({
116
- ...linkItem,
117
- label:
118
- footerTranslations[`link.item.label.${linkItem.label}`]?.message ??
119
- linkItem.label,
120
- })),
121
- }));
124
+ const links = isMultiColumnFooterLinks(footer.links)
125
+ ? footer.links.map((link) => ({
126
+ ...link,
127
+ title:
128
+ footerTranslations[`link.title.${link.title}`]?.message ?? link.title,
129
+ items: link.items.map((linkItem) => ({
130
+ ...linkItem,
131
+ label:
132
+ footerTranslations[`link.item.label.${linkItem.label}`]?.message ??
133
+ linkItem.label,
134
+ })),
135
+ }))
136
+ : footer.links.map((link) => ({
137
+ ...link,
138
+ label:
139
+ footerTranslations[`link.item.label.${link.label}`]?.message ??
140
+ link.label,
141
+ }));
122
142
 
123
143
  const copyright = footerTranslations.copyright?.message ?? footer.copyright;
124
144
 
@@ -41,6 +41,7 @@ const DEFAULT_CONFIG = {
41
41
  items: [],
42
42
  },
43
43
  hideableSidebar: false,
44
+ autoCollapseSidebarCategories: false,
44
45
  tableOfContents: {
45
46
  minHeadingLevel: 2,
46
47
  maxHeadingLevel: 3,
@@ -85,6 +86,12 @@ const DocItemSchema = NavbarItemBaseSchema.append({
85
86
  docsPluginId: Joi.string(),
86
87
  });
87
88
 
89
+ const DocSidebarItemSchema = NavbarItemBaseSchema.append({
90
+ type: Joi.string().equal('docSidebar').required(),
91
+ sidebarId: Joi.string().required(),
92
+ docsPluginId: Joi.string(),
93
+ });
94
+
88
95
  const itemWithType = (type: string | undefined) => {
89
96
  // because equal(undefined) is not supported :/
90
97
  const typeSchema = type
@@ -172,6 +179,10 @@ const NavbarItemSchema = Joi.object({
172
179
  is: itemWithType('doc'),
173
180
  then: DocItemSchema,
174
181
  },
182
+ {
183
+ is: itemWithType('docSidebar'),
184
+ then: DocSidebarItemSchema,
185
+ },
175
186
  {
176
187
  is: itemWithType('localeDropdown'),
177
188
  then: LocaleDropdownNavbarItemSchema,
@@ -266,8 +277,10 @@ const ThemeConfigSchema = Joi.object({
266
277
  metadata: Joi.array()
267
278
  .items(HtmlMetadataSchema)
268
279
  .default(DEFAULT_CONFIG.metadata),
280
+ // cSpell:ignore metadatas
269
281
  metadatas: Joi.any().forbidden().messages({
270
282
  'any.unknown':
283
+ // cSpell:ignore metadatas
271
284
  'themeConfig.metadatas has been renamed as themeConfig.metadata. See https://github.com/facebook/docusaurus/pull/5871',
272
285
  }),
273
286
  announcementBar: Joi.object({
@@ -311,13 +324,18 @@ const ThemeConfigSchema = Joi.object({
311
324
  href: Joi.string(),
312
325
  }),
313
326
  copyright: Joi.string(),
314
- links: Joi.array()
315
- .items(
327
+ links: Joi.alternatives(
328
+ Joi.array().items(
316
329
  Joi.object({
317
- title: Joi.string().allow(null),
330
+ title: Joi.string().allow(null).default(null),
318
331
  items: Joi.array().items(FooterLinkItemSchema).default([]),
319
332
  }),
320
- )
333
+ ),
334
+ Joi.array().items(FooterLinkItemSchema),
335
+ )
336
+ .messages({
337
+ 'alternatives.match': `The footer must be either simple or multi-column, and not a mix of the two. See: https://docusaurus.io/docs/api/themes/configuration#footer-links`,
338
+ })
321
339
  .default([]),
322
340
  }).optional(),
323
341
  prism: Joi.object({
@@ -337,6 +355,9 @@ const ThemeConfigSchema = Joi.object({
337
355
  .default(DEFAULT_CONFIG.prism)
338
356
  .unknown(),
339
357
  hideableSidebar: Joi.bool().default(DEFAULT_CONFIG.hideableSidebar),
358
+ autoCollapseSidebarCategories: Joi.bool().default(
359
+ DEFAULT_CONFIG.autoCollapseSidebarCategories,
360
+ ),
340
361
  sidebarCollapsible: Joi.forbidden().messages({
341
362
  'any.unknown':
342
363
  'The themeConfig.sidebarCollapsible has been moved to docs plugin options. See: https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-docs',
package/babel.config.js DELETED
@@ -1,35 +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
- module.exports = {
9
- env: {
10
- // USED FOR NODE/RUNTIME
11
- // maybe we should differenciate both cases because
12
- // we mostly need to transpile some features so that node does not crash...
13
- lib: {
14
- presets: [
15
- ['@babel/preset-typescript', {isTSX: true, allExtensions: true}],
16
- ],
17
- // Useful to transpile for older node versions
18
- plugins: [
19
- '@babel/plugin-transform-modules-commonjs',
20
- '@babel/plugin-proposal-nullish-coalescing-operator',
21
- '@babel/plugin-proposal-optional-chaining',
22
- ],
23
- },
24
-
25
- // USED FOR JS SWIZZLE
26
- // /lib-next folder is used as source to swizzle JS source code
27
- // This JS code is created from TS source code
28
- // This source code should look clean/human readable to be usable
29
- 'lib-next': {
30
- presets: [
31
- ['@babel/preset-typescript', {isTSX: true, allExtensions: true}],
32
- ],
33
- },
34
- },
35
- };