@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
@@ -11,20 +11,20 @@ import {
11
11
  Navbar,
12
12
  NavbarItem,
13
13
  Footer,
14
+ MultiColumnFooter,
15
+ SimpleFooter,
14
16
  } from '@docusaurus/theme-common';
15
17
 
16
- import {keyBy, chain, flatten} from 'lodash';
18
+ import {keyBy, chain} from 'lodash';
17
19
  import {mergeTranslations} from '@docusaurus/utils';
18
20
 
19
21
  function getNavbarTranslationFile(navbar: Navbar): TranslationFileContent {
20
22
  // TODO handle properly all the navbar item types here!
21
23
  function flattenNavbarItems(items: NavbarItem[]): NavbarItem[] {
22
- const subItems = flatten(
23
- items.map((item) => {
24
- const allSubItems = flatten([item.items ?? []]);
25
- return flattenNavbarItems(allSubItems);
26
- }),
27
- );
24
+ const subItems = items.flatMap((item) => {
25
+ const allSubItems = [item.items ?? []].flat();
26
+ return flattenNavbarItems(allSubItems);
27
+ });
28
28
  return [...items, ...subItems];
29
29
  }
30
30
 
@@ -71,10 +71,17 @@ function translateNavbar(
71
71
  };
72
72
  }
73
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
+
74
80
  function getFooterTranslationFile(footer: Footer): TranslationFileContent {
75
- // TODO POC code
76
81
  const footerLinkTitles: TranslationFileContent = chain(
77
- footer.links.filter((link) => !!link.title),
82
+ isMultiColumnFooterLinks(footer.links)
83
+ ? footer.links.filter((link) => !!link.title)
84
+ : [],
78
85
  )
79
86
  .keyBy((link) => `link.title.${link.title}`)
80
87
  .mapValues((link) => ({
@@ -84,9 +91,11 @@ function getFooterTranslationFile(footer: Footer): TranslationFileContent {
84
91
  .value();
85
92
 
86
93
  const footerLinkLabels: TranslationFileContent = chain(
87
- flatten(footer.links.map((link) => link.items)).filter(
88
- (link) => !!link.label,
89
- ),
94
+ isMultiColumnFooterLinks(footer.links)
95
+ ? footer.links
96
+ .flatMap((link) => link.items)
97
+ .filter((link) => !!link.label)
98
+ : footer.links.filter((link) => !!link.label),
90
99
  )
91
100
  .keyBy((linkItem) => `link.item.label.${linkItem.label}`)
92
101
  .mapValues((linkItem) => ({
@@ -112,17 +121,24 @@ function translateFooter(
112
121
  footer: Footer,
113
122
  footerTranslations: TranslationFileContent,
114
123
  ): Footer {
115
- const links = footer.links.map((link) => ({
116
- ...link,
117
- title:
118
- footerTranslations[`link.title.${link.title}`]?.message ?? link.title,
119
- items: link.items.map((linkItem) => ({
120
- ...linkItem,
121
- label:
122
- footerTranslations[`link.item.label.${linkItem.label}`]?.message ??
123
- linkItem.label,
124
- })),
125
- }));
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
+ }));
126
142
 
127
143
  const copyright = footerTranslations.copyright?.message ?? footer.copyright;
128
144
 
@@ -155,6 +171,8 @@ export function translateThemeConfig({
155
171
  themeConfig,
156
172
  translationFiles,
157
173
  }: {
174
+ // Why partial? To make TS correctly figure out the contravariance in parameter.
175
+ // In practice it's always normalized
158
176
  themeConfig: ThemeConfig;
159
177
  translationFiles: TranslationFile[];
160
178
  }): ThemeConfig {
package/src/types.d.ts CHANGED
@@ -5,594 +5,7 @@
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
8
  /// <reference types="@docusaurus/module-type-aliases" />
11
9
  /// <reference types="@docusaurus/plugin-content-blog" />
12
10
  /// <reference types="@docusaurus/plugin-content-docs" />
13
11
  /// <reference types="@docusaurus/plugin-content-pages" />
14
-
15
- declare module '@theme/AnnouncementBar' {
16
- const AnnouncementBar: () => JSX.Element | null;
17
- export default AnnouncementBar;
18
- }
19
-
20
- declare module '@theme/BlogListPaginator' {
21
- import type {Metadata} from '@theme/BlogListPage';
22
-
23
- export type Props = {readonly metadata: Metadata};
24
-
25
- const BlogListPaginator: (props: Props) => JSX.Element;
26
- export default BlogListPaginator;
27
- }
28
-
29
- declare module '@theme/BlogPostItem' {
30
- import type {FrontMatter, Metadata} from '@theme/BlogPostPage';
31
-
32
- export type Props = {
33
- readonly frontMatter: FrontMatter;
34
- readonly metadata: Metadata;
35
- readonly truncated?: string | boolean;
36
- readonly isBlogPostPage?: boolean;
37
- readonly children: JSX.Element;
38
- };
39
-
40
- const BlogPostItem: (props: Props) => JSX.Element;
41
- export default BlogPostItem;
42
- }
43
-
44
- declare module '@theme/BlogPostPaginator' {
45
- type Item = {readonly title: string; readonly permalink: string};
46
-
47
- export type Props = {readonly nextItem?: Item; readonly prevItem?: Item};
48
-
49
- const BlogPostPaginator: (props: Props) => JSX.Element;
50
- export default BlogPostPaginator;
51
- }
52
-
53
- declare module '@theme/CodeBlock' {
54
- export type Props = {
55
- readonly children: string;
56
- readonly className?: string;
57
- readonly metastring?: string;
58
- readonly title?: string;
59
- };
60
-
61
- const CodeBlock: (props: Props) => JSX.Element;
62
- export default CodeBlock;
63
- }
64
-
65
- declare module '@theme/DocPaginator' {
66
- type PageInfo = {readonly permalink: string; readonly title: string};
67
-
68
- export type Props = {
69
- readonly metadata: {readonly previous?: PageInfo; readonly next?: PageInfo};
70
- };
71
-
72
- const DocPaginator: (props: Props) => JSX.Element;
73
- export default DocPaginator;
74
- }
75
-
76
- declare module '@theme/DocSidebar' {
77
- import type {PropSidebarItem} from '@docusaurus/plugin-content-docs-types';
78
-
79
- export type Props = {
80
- readonly path: string;
81
- readonly sidebar: readonly PropSidebarItem[];
82
- readonly sidebarCollapsible?: boolean;
83
- readonly onCollapse: () => void;
84
- readonly isHidden: boolean;
85
- };
86
-
87
- const DocSidebar: (props: Props) => JSX.Element;
88
- export default DocSidebar;
89
- }
90
-
91
- declare module '@theme/DocVersionSuggestions' {
92
- const DocVersionSuggestions: () => JSX.Element;
93
- export default DocVersionSuggestions;
94
- }
95
-
96
- declare module '@theme/EditThisPage' {
97
- export type Props = {
98
- readonly editUrl: string;
99
- };
100
- const EditThisPage: (props: Props) => JSX.Element;
101
- export default EditThisPage;
102
- }
103
-
104
- declare module '@theme/Footer' {
105
- const Footer: () => JSX.Element | null;
106
- export default Footer;
107
- }
108
-
109
- declare module '@theme/Heading' {
110
- import type {ComponentProps} from 'react';
111
-
112
- export type HeadingType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
113
- export type Props = ComponentProps<HeadingType>;
114
-
115
- const Heading: (Tag: HeadingType) => (props: Props) => JSX.Element;
116
- export default Heading;
117
- export const MainHeading: (props: Props) => JSX.Element;
118
- }
119
-
120
- declare module '@theme/hooks/useHideableNavbar' {
121
- export type useHideableNavbarReturns = {
122
- readonly navbarRef: (node: HTMLElement | null) => void;
123
- readonly isNavbarVisible: boolean;
124
- };
125
-
126
- const useHideableNavbar: (hideOnScroll: boolean) => useHideableNavbarReturns;
127
- export default useHideableNavbar;
128
- }
129
-
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
- declare module '@theme/hooks/useLockBodyScroll' {
143
- const useLockBodyScroll: (lock?: boolean) => void;
144
- export default useLockBodyScroll;
145
- }
146
-
147
- declare module '@theme/hooks/usePrismTheme' {
148
- import defaultTheme from 'prism-react-renderer/themes/palenight';
149
-
150
- const usePrismTheme: () => typeof defaultTheme;
151
- export default usePrismTheme;
152
- }
153
-
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
- declare module '@theme/hooks/useTabGroupChoice' {
165
- export type useTabGroupChoiceReturns = {
166
- readonly tabGroupChoices: {readonly [groupId: string]: string};
167
- readonly setTabGroupChoices: (groupId: string, newChoice: string) => void;
168
- };
169
-
170
- const useTabGroupChoice: () => useTabGroupChoiceReturns;
171
- export default useTabGroupChoice;
172
- }
173
-
174
- declare module '@theme/hooks/useTheme' {
175
- export type useThemeReturns = {
176
- readonly isDarkTheme: boolean;
177
- readonly setLightTheme: () => void;
178
- readonly setDarkTheme: () => void;
179
- };
180
-
181
- const useTheme: () => useThemeReturns;
182
- export default useTheme;
183
- }
184
-
185
- declare module '@theme/hooks/useThemeContext' {
186
- export type ThemeContextProps = {
187
- isDarkTheme: boolean;
188
- setLightTheme: () => void;
189
- setDarkTheme: () => void;
190
- };
191
-
192
- export default function useThemeContext(): ThemeContextProps;
193
- }
194
-
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
- declare module '@theme/hooks/useUserPreferencesContext' {
204
- export type UserPreferencesContextProps = {
205
- tabGroupChoices: {readonly [groupId: string]: string};
206
- setTabGroupChoices: (groupId: string, newChoice: string) => void;
207
- };
208
-
209
- export default function useUserPreferencesContext(): UserPreferencesContextProps;
210
- }
211
-
212
- declare module '@theme/hooks/useWindowSize' {
213
- export const windowSizes: {
214
- desktop: 'desktop';
215
- mobile: 'mobile';
216
- };
217
-
218
- export type WindowSize = keyof typeof windowSizes;
219
-
220
- export default function useWindowSize(): WindowSize | undefined;
221
- }
222
-
223
- declare module '@theme/hooks/useKeyboardNavigation' {
224
- const useKeyboardNavigation: () => void;
225
-
226
- export default useKeyboardNavigation;
227
- }
228
-
229
- declare module '@theme/Layout' {
230
- import type {ReactNode} from 'react';
231
-
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;
245
- };
246
- };
247
-
248
- const Layout: (props: Props) => JSX.Element;
249
- export default Layout;
250
- }
251
-
252
- declare module '@theme/LayoutHead' {
253
- import type {Props as LayoutProps} from '@theme/Layout';
254
-
255
- export type Props = Omit<LayoutProps, 'children'>;
256
-
257
- const LayoutHead: (props: Props) => JSX.Element;
258
- export default LayoutHead;
259
- }
260
-
261
- declare module '@theme/SearchMetadatas' {
262
- export type Props = {
263
- locale?: string;
264
- version?: string;
265
- tag?: string;
266
- };
267
-
268
- const SearchMetadatas: (props: Props) => JSX.Element;
269
- export default SearchMetadatas;
270
- }
271
-
272
- declare module '@theme/LastUpdated' {
273
- export type Props = {
274
- lastUpdatedAt?: number;
275
- formattedLastUpdatedAt?: string;
276
- lastUpdatedBy?: string;
277
- };
278
-
279
- const LastUpdated: (props: Props) => JSX.Element;
280
- export default LastUpdated;
281
- }
282
-
283
- declare module '@theme/SkipToContent' {
284
- const SkipToContent: () => JSX.Element;
285
- export default SkipToContent;
286
- }
287
-
288
- declare module '@theme/MDXComponents' {
289
- import type {ComponentProps} from 'react';
290
- import type CodeBlock from '@theme/CodeBlock';
291
-
292
- export type MDXComponentsObject = {
293
- readonly code: typeof CodeBlock;
294
- readonly a: (props: ComponentProps<'a'>) => JSX.Element;
295
- readonly pre: typeof CodeBlock;
296
- readonly h1: (props: ComponentProps<'h1'>) => JSX.Element;
297
- readonly h2: (props: ComponentProps<'h2'>) => JSX.Element;
298
- readonly h3: (props: ComponentProps<'h3'>) => JSX.Element;
299
- readonly h4: (props: ComponentProps<'h4'>) => JSX.Element;
300
- readonly h5: (props: ComponentProps<'h5'>) => JSX.Element;
301
- readonly h6: (props: ComponentProps<'h6'>) => JSX.Element;
302
- };
303
-
304
- const MDXComponents: MDXComponentsObject;
305
- export default MDXComponents;
306
- }
307
-
308
- declare module '@theme/Navbar' {
309
- const Navbar: () => JSX.Element;
310
- export default Navbar;
311
- }
312
-
313
- 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'>;
327
-
328
- export type DesktopOrMobileNavBarItemProps = NavLinkProps & {
329
- readonly items?: readonly NavLinkProps[];
330
- readonly position?: 'left' | 'right';
331
- readonly className?: string;
332
- };
333
-
334
- export type Props = DesktopOrMobileNavBarItemProps & {
335
- readonly mobile?: boolean;
336
- };
337
-
338
- const DefaultNavbarItem: (props: Props) => JSX.Element;
339
- export default DefaultNavbarItem;
340
- }
341
-
342
- declare module '@theme/NavbarItem/SearchNavbarItem' {
343
- export type Props = {readonly mobile?: boolean};
344
-
345
- const SearchNavbarItem: (props: Props) => JSX.Element;
346
- export default SearchNavbarItem;
347
- }
348
-
349
- declare module '@theme/NavbarItem/LocaleDropdownNavbarItem' {
350
- import type {Props as DefaultNavbarItemProps} from '@theme/NavbarItem/DefaultNavbarItem';
351
- import type {NavLinkProps} from '@theme/NavbarItem/DefaultNavbarItem';
352
-
353
- export type Props = DefaultNavbarItemProps & {
354
- readonly dropdownItemsBefore: NavLinkProps[];
355
- readonly dropdownItemsAfter: NavLinkProps[];
356
- };
357
-
358
- const LocaleDropdownNavbarItem: (props: Props) => JSX.Element;
359
- export default LocaleDropdownNavbarItem;
360
- }
361
-
362
- declare module '@theme/NavbarItem/DocsVersionDropdownNavbarItem' {
363
- import type {Props as DefaultNavbarItemProps} from '@theme/NavbarItem/DefaultNavbarItem';
364
- import type {NavLinkProps} from '@theme/NavbarItem/DefaultNavbarItem';
365
-
366
- export type Props = DefaultNavbarItemProps & {
367
- readonly docsPluginId?: string;
368
- readonly dropdownActiveClassDisabled?: boolean;
369
- readonly dropdownItemsBefore: NavLinkProps[];
370
- readonly dropdownItemsAfter: NavLinkProps[];
371
- };
372
-
373
- const DocsVersionDropdownNavbarItem: (props: Props) => JSX.Element;
374
- export default DocsVersionDropdownNavbarItem;
375
- }
376
-
377
- declare module '@theme/NavbarItem/DocsVersionNavbarItem' {
378
- import type {Props as DefaultNavbarItemProps} from '@theme/NavbarItem/DefaultNavbarItem';
379
-
380
- export type Props = DefaultNavbarItemProps & {readonly docsPluginId?: string};
381
-
382
- const DocsVersionNavbarItem: (props: Props) => JSX.Element;
383
- export default DocsVersionNavbarItem;
384
- }
385
-
386
- declare module '@theme/NavbarItem/DocNavbarItem' {
387
- import type {Props as DefaultNavbarItemProps} from '@theme/NavbarItem/DefaultNavbarItem';
388
-
389
- export type Props = DefaultNavbarItemProps & {
390
- readonly docId: string;
391
- readonly activeSidebarClassName: string;
392
- readonly docsPluginId?: string;
393
- };
394
-
395
- const DocsSidebarNavbarItem: (props: Props) => JSX.Element;
396
- export default DocsSidebarNavbarItem;
397
- }
398
-
399
- declare module '@theme/NavbarItem' {
400
- import type {Props as DefaultNavbarItemProps} from '@theme/NavbarItem/DefaultNavbarItem';
401
- import type {Props as DocsVersionDropdownNavbarItemProps} from '@theme/NavbarItem/DocsVersionDropdownNavbarItem';
402
- import type {Props as DocsVersionNavbarItemProps} from '@theme/NavbarItem/DocsVersionNavbarItem';
403
- import type {Props as SearchNavbarItemProps} from '@theme/NavbarItem/SearchNavbarItem';
404
-
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);
412
-
413
- const NavbarItem: (props: Props) => JSX.Element;
414
- export default NavbarItem;
415
- }
416
-
417
- declare module '@theme/TabItem' {
418
- import type {ReactNode} from 'react';
419
-
420
- export type Props = {
421
- readonly children: ReactNode;
422
- readonly value: string;
423
- readonly hidden?: boolean;
424
- readonly className?: string;
425
- };
426
-
427
- const TabItem: (props: Props) => JSX.Element;
428
- export default TabItem;
429
- }
430
-
431
- declare module '@theme/Tabs' {
432
- import type {ReactElement} from 'react';
433
- import type {Props as TabItemProps} from '@theme/TabItem';
434
-
435
- export type Props = {
436
- readonly lazy?: boolean;
437
- readonly block?: boolean;
438
- readonly children: readonly ReactElement<TabItemProps>[];
439
- readonly defaultValue?: string;
440
- readonly values: readonly {value: string; label: string}[];
441
- readonly groupId?: string;
442
- readonly className?: string;
443
- };
444
-
445
- const Tabs: (props: Props) => JSX.Element;
446
- export default Tabs;
447
- }
448
-
449
- declare module '@theme/ThemedImage' {
450
- import type {ComponentProps} from 'react';
451
-
452
- export type Props = {
453
- readonly sources: {
454
- readonly light: string;
455
- readonly dark: string;
456
- };
457
- } & Omit<ComponentProps<'img'>, 'src'>;
458
-
459
- const ThemedImage: (props: Props) => JSX.Element;
460
- export default ThemedImage;
461
- }
462
-
463
- declare module '@theme/ThemeProvider' {
464
- import type {ReactNode} from 'react';
465
-
466
- export type Props = {readonly children: ReactNode};
467
-
468
- const ThemeProvider: (props: Props) => JSX.Element;
469
- export default ThemeProvider;
470
- }
471
-
472
- declare module '@theme/TOC' {
473
- import type {TOCItem} from '@docusaurus/types';
474
-
475
- export type TOCProps = {
476
- readonly toc: readonly TOCItem[];
477
- };
478
-
479
- const TOC: (props: TOCProps) => JSX.Element;
480
- export default TOC;
481
- }
482
-
483
- declare module '@theme/TOCInline' {
484
- import type {TOCItem} from '@docusaurus/types';
485
-
486
- export type TOCInlineProps = {
487
- readonly toc: readonly TOCItem[];
488
- };
489
-
490
- const TOCInline: (props: TOCInlineProps) => JSX.Element;
491
- export default TOCInline;
492
- }
493
-
494
- declare module '@theme/Toggle' {
495
- import type {SyntheticEvent} from 'react';
496
-
497
- export type Props = {
498
- readonly className?: string;
499
- readonly checked: boolean;
500
- readonly onChange: (e: SyntheticEvent) => void;
501
- };
502
-
503
- const Toggle: (props: Props) => JSX.Element;
504
- export default Toggle;
505
- }
506
-
507
- declare module '@theme/UserPreferencesProvider' {
508
- import type {ReactNode} from 'react';
509
-
510
- export type Props = {readonly children: ReactNode};
511
-
512
- const UserPreferencesProvider: (props: Props) => JSX.Element;
513
- export default UserPreferencesProvider;
514
- }
515
-
516
- declare module '@theme/LayoutProviders' {
517
- import type {ReactNode} from 'react';
518
-
519
- export type Props = {readonly children: ReactNode};
520
-
521
- const LayoutProviders: (props: Props) => JSX.Element;
522
- export default LayoutProviders;
523
- }
524
-
525
- declare module '@theme/ThemeContext' {
526
- import type {Context} from 'react';
527
- import type {ThemeContextProps} from '@theme/hooks/useThemeContext';
528
-
529
- const ThemeContext: Context<ThemeContextProps | undefined>;
530
- export default ThemeContext;
531
- }
532
-
533
- declare module '@theme/UserPreferencesContext' {
534
- import type {Context} from 'react';
535
- import type {UserPreferencesContextProps} from '@theme/hooks/useUserPreferencesContext';
536
-
537
- const UserPreferencesContext: Context<
538
- UserPreferencesContextProps | undefined
539
- >;
540
- export default UserPreferencesContext;
541
- }
542
-
543
- declare module '@theme/Logo' {
544
- import type {ComponentProps} from 'react';
545
-
546
- export type Props = {
547
- imageClassName?: string;
548
- titleClassName?: string;
549
- } & ComponentProps<'a'>;
550
-
551
- const Logo: (props: Props) => JSX.Element;
552
- export default Logo;
553
- }
554
-
555
- declare module '@theme/IconArrow' {
556
- import type {ComponentProps} from 'react';
557
-
558
- export type Props = ComponentProps<'svg'>;
559
-
560
- const IconArrow: (props: Props) => JSX.Element;
561
- export default IconArrow;
562
- }
563
-
564
- declare module '@theme/IconEdit' {
565
- import type {ComponentProps} from 'react';
566
-
567
- export type Props = ComponentProps<'svg'>;
568
-
569
- const IconEdit: (props: Props) => JSX.Element;
570
- export default IconEdit;
571
- }
572
-
573
- declare module '@theme/IconMenu' {
574
- import type {ComponentProps} from 'react';
575
-
576
- export type Props = ComponentProps<'svg'>;
577
-
578
- const IconMenu: (props: Props) => JSX.Element;
579
- export default IconMenu;
580
- }
581
-
582
- declare module '@theme/IconLanguage' {
583
- import type {ComponentProps} from 'react';
584
-
585
- export type Props = ComponentProps<'svg'>;
586
-
587
- const IconLanguage: (props: Props) => JSX.Element;
588
- export default IconLanguage;
589
- }
590
-
591
- declare module '@theme/IconExternalLink' {
592
- import type {ComponentProps} from 'react';
593
-
594
- export type Props = ComponentProps<'svg'>;
595
-
596
- const IconExternalLink: (props: Props) => JSX.Element;
597
- export default IconExternalLink;
598
- }