@docusaurus/theme-classic 2.0.0-beta.1 → 2.0.0-beta.10

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 (367) hide show
  1. package/README.md +1 -1
  2. package/lib/__tests__/validateThemeConfig.test.js +277 -3
  3. package/lib/admonitions.css +35 -0
  4. package/lib/deps.d.ts +13 -0
  5. package/lib/index.js +41 -16
  6. package/lib/prism-include-languages.js +9 -5
  7. package/lib/theme/AnnouncementBar/index.js +10 -16
  8. package/lib/theme/AnnouncementBar/styles.module.css +25 -30
  9. package/lib/theme/BackToTopButton/index.js +140 -0
  10. package/lib/theme/BackToTopButton/styles.module.css +42 -0
  11. package/lib/theme/BlogArchivePage/index.js +89 -0
  12. package/lib/theme/BlogLayout/index.js +51 -0
  13. package/lib/theme/BlogListPage/index.js +10 -21
  14. package/lib/theme/BlogPostAuthor/index.js +51 -0
  15. package/lib/theme/BlogPostAuthor/styles.module.css +12 -0
  16. package/lib/theme/BlogPostAuthors/index.js +47 -0
  17. package/lib/theme/BlogPostAuthors/styles.module.css +11 -0
  18. package/lib/theme/BlogPostItem/index.js +58 -67
  19. package/lib/theme/BlogPostPage/index.js +37 -24
  20. package/lib/theme/BlogSidebar/index.js +5 -7
  21. package/lib/theme/BlogSidebar/styles.module.css +2 -2
  22. package/lib/theme/BlogTagsListPage/index.js +8 -44
  23. package/lib/theme/BlogTagsPostsPage/index.js +24 -38
  24. package/lib/theme/CodeBlock/index.js +18 -138
  25. package/lib/theme/CodeBlock/styles.module.css +6 -9
  26. package/lib/theme/Details/index.js +30 -0
  27. package/lib/theme/Details/styles.module.css +13 -0
  28. package/lib/theme/DocCard/index.js +84 -0
  29. package/lib/theme/DocCard/styles.module.css +43 -0
  30. package/lib/theme/DocCardList/index.js +28 -0
  31. package/lib/theme/DocCategoryGeneratedIndexPage/index.js +57 -0
  32. package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  33. package/lib/theme/DocItem/index.js +29 -46
  34. package/lib/theme/DocItem/styles.module.css +5 -9
  35. package/lib/theme/DocItemFooter/index.js +79 -0
  36. package/lib/theme/DocItemFooter/styles.module.css +18 -0
  37. package/lib/theme/DocPage/index.js +35 -52
  38. package/lib/theme/DocPage/styles.module.css +8 -23
  39. package/lib/theme/DocPaginator/index.js +6 -7
  40. package/lib/theme/DocSidebar/index.js +53 -235
  41. package/lib/theme/DocSidebar/styles.module.css +0 -18
  42. package/lib/theme/DocSidebarItem/index.js +209 -0
  43. package/lib/theme/DocSidebarItem/styles.module.css +19 -0
  44. package/lib/theme/DocTagDocListPage/index.js +89 -0
  45. package/lib/theme/DocTagsListPage/index.js +44 -0
  46. package/lib/theme/DocVersionBadge/index.js +34 -0
  47. package/lib/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +39 -20
  48. package/lib/theme/EditThisPage/index.js +3 -1
  49. package/lib/theme/ErrorPageContent.js +43 -0
  50. package/lib/theme/Footer/index.js +16 -5
  51. package/lib/theme/Heading/index.js +17 -22
  52. package/lib/theme/Heading/styles.css +5 -6
  53. package/lib/theme/Heading/styles.module.css +9 -5
  54. package/lib/theme/IconArrow/index.js +2 -2
  55. package/lib/theme/IconClose/index.js +31 -0
  56. package/lib/theme/IconEdit/index.js +3 -3
  57. package/lib/theme/IconExternalLink/index.js +3 -3
  58. package/lib/theme/IconLanguage/index.js +3 -3
  59. package/lib/theme/IconMenu/index.js +3 -3
  60. package/lib/theme/LastUpdated/index.js +4 -2
  61. package/lib/theme/Layout/index.js +5 -1
  62. package/lib/theme/LayoutHead/index.js +22 -17
  63. package/lib/theme/LayoutProviders/index.js +11 -5
  64. package/lib/theme/Logo/index.js +16 -14
  65. package/lib/theme/MDXComponents/index.js +45 -4
  66. package/lib/theme/MDXComponents/styles.css +11 -0
  67. package/lib/theme/MDXPage/index.js +2 -1
  68. package/lib/theme/Navbar/index.js +162 -42
  69. package/lib/theme/Navbar/styles.module.css +10 -3
  70. package/lib/theme/NavbarItem/DefaultNavbarItem.js +27 -123
  71. package/lib/theme/NavbarItem/DocNavbarItem.js +7 -8
  72. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +19 -12
  73. package/lib/theme/NavbarItem/DropdownNavbarItem.js +155 -0
  74. package/lib/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +6 -10
  75. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  76. package/lib/theme/NavbarItem/index.js +31 -11
  77. package/lib/theme/{SearchMetadatas → SearchMetadata}/index.js +2 -2
  78. package/lib/theme/Seo/index.js +10 -7
  79. package/lib/theme/SkipToContent/index.js +12 -4
  80. package/lib/theme/SkipToContent/styles.module.css +1 -0
  81. package/lib/theme/TOC/index.js +9 -29
  82. package/lib/theme/TOC/styles.module.css +1 -1
  83. package/lib/theme/TOCCollapsible/index.js +53 -0
  84. package/lib/theme/TOCCollapsible/styles.module.css +50 -0
  85. package/lib/theme/TOCInline/index.js +7 -27
  86. package/lib/theme/TOCItems/index.js +78 -0
  87. package/lib/theme/Tabs/__tests__/index.test.js +123 -0
  88. package/lib/theme/Tabs/index.js +73 -50
  89. package/lib/theme/Tabs/styles.module.css +0 -13
  90. package/lib/theme/Tag/index.js +40 -0
  91. package/lib/theme/Tag/styles.module.css +70 -0
  92. package/lib/theme/TagsListByLetter/index.js +48 -0
  93. package/lib/theme/TagsListByLetter/styles.module.css +11 -0
  94. package/lib/theme/TagsListInline/index.js +44 -0
  95. package/lib/theme/TagsListInline/styles.module.css +15 -0
  96. package/lib/theme/ThemeProvider/index.js +8 -3
  97. package/lib/theme/ThemedImage/index.js +6 -7
  98. package/lib/theme/Toggle/index.js +41 -44
  99. package/lib/theme/Toggle/styles.module.css +91 -3
  100. package/lib/theme/UserPreferencesProvider/index.js +9 -12
  101. package/lib/theme/hooks/useHideableNavbar.js +14 -32
  102. package/lib/theme/hooks/useTabGroupChoice.js +2 -4
  103. package/lib/theme/hooks/useTheme.js +3 -5
  104. package/lib/theme/hooks/useWindowSize.js +33 -20
  105. package/lib/theme/prism-include-languages.js +4 -3
  106. package/lib/theme-classic.d.ts +806 -0
  107. package/lib/translations.js +4 -4
  108. package/lib/types.d.ts +0 -599
  109. package/lib/validateThemeConfig.js +230 -246
  110. package/lib-next/__tests__/validateThemeConfig.test.js +277 -3
  111. package/lib-next/admonitions.css +35 -0
  112. package/lib-next/deps.d.ts +13 -0
  113. package/lib-next/index.js +45 -13
  114. package/lib-next/prism-include-languages.js +0 -2
  115. package/lib-next/theme/AnnouncementBar/index.js +9 -18
  116. package/lib-next/theme/AnnouncementBar/styles.module.css +25 -30
  117. package/lib-next/theme/BackToTopButton/index.js +131 -0
  118. package/lib-next/theme/BackToTopButton/styles.module.css +42 -0
  119. package/lib-next/theme/BlogArchivePage/index.js +80 -0
  120. package/lib-next/theme/BlogLayout/index.js +40 -0
  121. package/lib-next/theme/BlogListPage/index.js +17 -25
  122. package/lib-next/theme/BlogPostAuthor/index.js +46 -0
  123. package/lib-next/theme/BlogPostAuthor/styles.module.css +12 -0
  124. package/lib-next/theme/BlogPostAuthors/index.js +34 -0
  125. package/lib-next/theme/BlogPostAuthors/styles.module.css +11 -0
  126. package/lib-next/theme/BlogPostItem/index.js +79 -86
  127. package/lib-next/theme/BlogPostPage/index.js +70 -35
  128. package/lib-next/theme/BlogSidebar/index.js +11 -13
  129. package/lib-next/theme/BlogSidebar/styles.module.css +2 -2
  130. package/lib-next/theme/BlogTagsListPage/index.js +14 -55
  131. package/lib-next/theme/BlogTagsPostsPage/index.js +29 -39
  132. package/lib-next/theme/CodeBlock/index.js +17 -149
  133. package/lib-next/theme/CodeBlock/styles.module.css +6 -9
  134. package/lib-next/theme/Details/index.js +20 -0
  135. package/lib-next/theme/Details/styles.module.css +13 -0
  136. package/lib-next/theme/DocCard/index.js +80 -0
  137. package/lib-next/theme/DocCard/styles.module.css +43 -0
  138. package/lib-next/theme/DocCardList/index.js +19 -0
  139. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +49 -0
  140. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  141. package/lib-next/theme/DocItem/index.js +40 -56
  142. package/lib-next/theme/DocItem/styles.module.css +5 -9
  143. package/lib-next/theme/DocItemFooter/index.js +79 -0
  144. package/lib-next/theme/DocItemFooter/styles.module.css +18 -0
  145. package/lib-next/theme/DocPage/index.js +46 -47
  146. package/lib-next/theme/DocPage/styles.module.css +8 -23
  147. package/lib-next/theme/DocPaginator/index.js +7 -11
  148. package/lib-next/theme/DocSidebar/index.js +69 -295
  149. package/lib-next/theme/DocSidebar/styles.module.css +0 -18
  150. package/lib-next/theme/DocSidebarItem/index.js +217 -0
  151. package/lib-next/theme/DocSidebarItem/styles.module.css +19 -0
  152. package/lib-next/theme/DocTagDocListPage/index.js +89 -0
  153. package/lib-next/theme/DocTagsListPage/index.js +38 -0
  154. package/lib-next/theme/DocVersionBadge/index.js +27 -0
  155. package/lib-next/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +51 -36
  156. package/lib-next/theme/EditThisPage/index.js +6 -1
  157. package/lib-next/theme/ErrorPageContent.js +35 -0
  158. package/lib-next/theme/Footer/index.js +27 -5
  159. package/lib-next/theme/Heading/index.js +25 -29
  160. package/lib-next/theme/Heading/styles.css +5 -6
  161. package/lib-next/theme/Heading/styles.module.css +9 -5
  162. package/lib-next/theme/IconArrow/index.js +2 -2
  163. package/lib-next/theme/IconClose/index.js +23 -0
  164. package/lib-next/theme/IconEdit/index.js +2 -2
  165. package/lib-next/theme/IconExternalLink/index.js +2 -2
  166. package/lib-next/theme/IconLanguage/index.js +2 -2
  167. package/lib-next/theme/IconMenu/index.js +2 -2
  168. package/lib-next/theme/LastUpdated/index.js +3 -2
  169. package/lib-next/theme/Layout/index.js +3 -1
  170. package/lib-next/theme/LayoutHead/index.js +18 -23
  171. package/lib-next/theme/LayoutProviders/index.js +17 -6
  172. package/lib-next/theme/Logo/index.js +25 -21
  173. package/lib-next/theme/MDXComponents/index.js +34 -7
  174. package/lib-next/theme/MDXComponents/styles.css +11 -0
  175. package/lib-next/theme/MDXPage/index.js +10 -2
  176. package/lib-next/theme/Navbar/index.js +193 -56
  177. package/lib-next/theme/Navbar/styles.module.css +10 -3
  178. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +45 -147
  179. package/lib-next/theme/NavbarItem/DocNavbarItem.js +7 -7
  180. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +31 -19
  181. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +159 -0
  182. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +4 -12
  183. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  184. package/lib-next/theme/NavbarItem/index.js +25 -12
  185. package/lib-next/theme/{SearchMetadatas → SearchMetadata}/index.js +1 -1
  186. package/lib-next/theme/Seo/index.js +11 -7
  187. package/lib-next/theme/SkipToContent/index.js +7 -8
  188. package/lib-next/theme/SkipToContent/styles.module.css +1 -0
  189. package/lib-next/theme/TOC/index.js +12 -36
  190. package/lib-next/theme/TOC/styles.module.css +1 -1
  191. package/lib-next/theme/TOCCollapsible/index.js +54 -0
  192. package/lib-next/theme/TOCCollapsible/styles.module.css +50 -0
  193. package/lib-next/theme/TOCInline/index.js +10 -28
  194. package/lib-next/theme/TOCItems/index.js +85 -0
  195. package/lib-next/theme/Tabs/__tests__/index.test.js +142 -0
  196. package/lib-next/theme/Tabs/index.js +91 -43
  197. package/lib-next/theme/Tabs/styles.module.css +0 -13
  198. package/lib-next/theme/Tag/index.js +27 -0
  199. package/lib-next/theme/Tag/styles.module.css +70 -0
  200. package/lib-next/theme/TagsListByLetter/index.js +42 -0
  201. package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
  202. package/lib-next/theme/TagsListInline/index.js +31 -0
  203. package/lib-next/theme/TagsListInline/styles.module.css +15 -0
  204. package/lib-next/theme/ThemeProvider/index.js +10 -7
  205. package/lib-next/theme/ThemedImage/index.js +7 -8
  206. package/lib-next/theme/Toggle/index.js +34 -37
  207. package/lib-next/theme/Toggle/styles.module.css +91 -3
  208. package/lib-next/theme/UserPreferencesProvider/index.js +9 -10
  209. package/lib-next/theme/hooks/useHideableNavbar.js +31 -44
  210. package/lib-next/theme/hooks/useTabGroupChoice.js +2 -4
  211. package/lib-next/theme/hooks/useTheme.js +4 -5
  212. package/lib-next/theme/hooks/useWindowSize.js +34 -20
  213. package/lib-next/theme/prism-include-languages.js +2 -1
  214. package/lib-next/theme-classic.d.ts +806 -0
  215. package/lib-next/translations.js +6 -10
  216. package/lib-next/types.d.ts +0 -599
  217. package/lib-next/validateThemeConfig.js +141 -114
  218. package/package.json +28 -25
  219. package/src/__tests__/validateThemeConfig.test.js +277 -3
  220. package/src/admonitions.css +35 -0
  221. package/src/deps.d.ts +13 -0
  222. package/src/index.ts +55 -22
  223. package/src/{prism-include-languages.js → prism-include-languages.ts} +0 -0
  224. package/src/theme/AnnouncementBar/index.tsx +10 -17
  225. package/src/theme/AnnouncementBar/styles.module.css +25 -30
  226. package/src/theme/BackToTopButton/index.tsx +142 -0
  227. package/src/theme/BackToTopButton/styles.module.css +42 -0
  228. package/src/theme/BlogArchivePage/index.tsx +91 -0
  229. package/src/theme/BlogLayout/index.tsx +44 -0
  230. package/src/theme/BlogListPage/index.tsx +18 -25
  231. package/src/theme/BlogPostAuthor/index.tsx +49 -0
  232. package/src/theme/BlogPostAuthor/styles.module.css +12 -0
  233. package/src/theme/BlogPostAuthors/index.tsx +39 -0
  234. package/src/theme/BlogPostAuthors/styles.module.css +11 -0
  235. package/src/theme/BlogPostItem/index.tsx +70 -80
  236. package/src/theme/BlogPostPage/index.tsx +72 -35
  237. package/src/theme/BlogSidebar/index.tsx +11 -13
  238. package/src/theme/BlogSidebar/styles.module.css +2 -2
  239. package/src/theme/BlogTagsListPage/index.tsx +14 -57
  240. package/src/theme/BlogTagsPostsPage/index.tsx +29 -39
  241. package/src/theme/CodeBlock/index.tsx +21 -151
  242. package/src/theme/CodeBlock/styles.module.css +6 -9
  243. package/src/theme/Details/index.tsx +24 -0
  244. package/src/theme/Details/styles.module.css +13 -0
  245. package/src/theme/DocCard/index.tsx +100 -0
  246. package/src/theme/DocCard/styles.module.css +43 -0
  247. package/src/theme/DocCardList/index.tsx +27 -0
  248. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +53 -0
  249. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  250. package/src/theme/DocItem/index.tsx +43 -56
  251. package/src/theme/DocItem/styles.module.css +5 -9
  252. package/src/theme/DocItemFooter/index.tsx +91 -0
  253. package/src/theme/DocItemFooter/styles.module.css +18 -0
  254. package/src/theme/DocPage/index.tsx +44 -42
  255. package/src/theme/DocPage/styles.module.css +8 -23
  256. package/src/theme/DocPaginator/index.tsx +9 -13
  257. package/src/theme/DocSidebar/index.tsx +80 -307
  258. package/src/theme/DocSidebar/styles.module.css +0 -18
  259. package/src/theme/DocSidebarItem/index.tsx +242 -0
  260. package/src/theme/DocSidebarItem/styles.module.css +19 -0
  261. package/src/theme/DocTagDocListPage/index.tsx +89 -0
  262. package/src/theme/DocTagsListPage/index.tsx +41 -0
  263. package/src/theme/DocVersionBadge/index.tsx +30 -0
  264. package/src/theme/{DocVersionSuggestions → DocVersionBanner}/index.tsx +74 -44
  265. package/src/theme/EditThisPage/index.tsx +6 -1
  266. package/src/theme/ErrorPageContent.tsx +41 -0
  267. package/src/theme/Footer/index.tsx +30 -6
  268. package/src/theme/Heading/index.tsx +25 -31
  269. package/src/theme/Heading/styles.css +5 -6
  270. package/src/theme/Heading/styles.module.css +9 -5
  271. package/src/theme/IconArrow/index.tsx +2 -2
  272. package/src/theme/IconClose/index.tsx +26 -0
  273. package/src/theme/IconEdit/index.tsx +2 -2
  274. package/src/theme/IconExternalLink/index.tsx +2 -5
  275. package/src/theme/IconLanguage/index.tsx +2 -6
  276. package/src/theme/IconMenu/index.tsx +3 -3
  277. package/src/theme/LastUpdated/index.tsx +3 -2
  278. package/src/theme/Layout/index.tsx +3 -1
  279. package/src/theme/LayoutHead/index.tsx +18 -17
  280. package/src/theme/LayoutProviders/index.tsx +17 -6
  281. package/src/theme/Logo/index.tsx +21 -17
  282. package/src/theme/MDXComponents/index.tsx +39 -5
  283. package/src/theme/MDXComponents/styles.css +11 -0
  284. package/src/theme/MDXPage/index.tsx +10 -2
  285. package/src/theme/Navbar/index.tsx +203 -61
  286. package/src/theme/Navbar/styles.module.css +10 -3
  287. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +42 -154
  288. package/src/theme/NavbarItem/DocNavbarItem.tsx +12 -16
  289. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +33 -21
  290. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  291. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +181 -0
  292. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +8 -9
  293. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  294. package/src/theme/NavbarItem/index.tsx +41 -16
  295. package/src/theme/{SearchMetadatas → SearchMetadata}/index.tsx +2 -2
  296. package/src/theme/Seo/index.tsx +7 -4
  297. package/src/theme/SkipToContent/index.tsx +7 -8
  298. package/src/theme/SkipToContent/styles.module.css +1 -0
  299. package/src/theme/TOC/index.tsx +12 -41
  300. package/src/theme/TOC/styles.module.css +1 -1
  301. package/src/theme/TOCCollapsible/index.tsx +58 -0
  302. package/src/theme/TOCCollapsible/styles.module.css +50 -0
  303. package/src/theme/TOCInline/index.tsx +13 -32
  304. package/src/theme/TOCItems/index.tsx +96 -0
  305. package/src/theme/Tabs/__tests__/index.test.tsx +129 -0
  306. package/src/theme/Tabs/index.tsx +93 -49
  307. package/src/theme/Tabs/styles.module.css +0 -13
  308. package/src/theme/Tag/index.tsx +31 -0
  309. package/src/theme/Tag/styles.module.css +70 -0
  310. package/src/theme/TagsListByLetter/index.tsx +45 -0
  311. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  312. package/src/theme/TagsListInline/index.tsx +35 -0
  313. package/src/theme/TagsListInline/styles.module.css +15 -0
  314. package/src/theme/ThemeProvider/index.tsx +6 -2
  315. package/src/theme/ThemedImage/index.tsx +8 -8
  316. package/src/theme/Toggle/index.tsx +36 -43
  317. package/src/theme/Toggle/styles.module.css +91 -3
  318. package/src/theme/UserPreferencesProvider/index.tsx +9 -11
  319. package/src/theme/hooks/useHideableNavbar.ts +32 -45
  320. package/src/theme/hooks/useTabGroupChoice.ts +4 -4
  321. package/src/theme/hooks/useTheme.ts +4 -5
  322. package/src/theme/hooks/useWindowSize.ts +38 -20
  323. package/src/theme/prism-include-languages.ts +3 -2
  324. package/src/theme-classic.d.ts +806 -0
  325. package/src/translations.ts +8 -10
  326. package/src/types.d.ts +0 -599
  327. package/src/{validateThemeConfig.js → validateThemeConfig.ts} +151 -94
  328. package/tsconfig.json +1 -2
  329. package/codeTranslations/README.md +0 -20
  330. package/codeTranslations/ar.json +0 -57
  331. package/codeTranslations/base.json +0 -112
  332. package/codeTranslations/bn.json +0 -56
  333. package/codeTranslations/da.json +0 -57
  334. package/codeTranslations/de.json +0 -57
  335. package/codeTranslations/es.json +0 -57
  336. package/codeTranslations/fa.json +0 -57
  337. package/codeTranslations/fil.json +0 -57
  338. package/codeTranslations/fr.json +0 -57
  339. package/codeTranslations/he.json +0 -57
  340. package/codeTranslations/hi.json +0 -57
  341. package/codeTranslations/ja.json +0 -57
  342. package/codeTranslations/ko.json +0 -57
  343. package/codeTranslations/pl.json +0 -57
  344. package/codeTranslations/pt-BR.json +0 -57
  345. package/codeTranslations/pt-PT.json +0 -57
  346. package/codeTranslations/ru.json +0 -57
  347. package/codeTranslations/tr.json +0 -57
  348. package/codeTranslations/vi.json +0 -57
  349. package/codeTranslations/zh-Hans.json +0 -57
  350. package/codeTranslations/zh-Hant.json +0 -57
  351. package/lib/theme/Toggle/styles.css +0 -103
  352. package/lib/theme/hooks/useAnnouncementBar.js +0 -63
  353. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  354. package/lib/theme/hooks/useScrollPosition.js +0 -49
  355. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  356. package/lib-next/theme/Toggle/styles.css +0 -103
  357. package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
  358. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  359. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  360. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  361. package/src/theme/Toggle/styles.css +0 -103
  362. package/src/theme/hooks/useAnnouncementBar.ts +0 -58
  363. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  364. package/src/theme/hooks/useScrollPosition.ts +0 -45
  365. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  366. package/update-code-translations.js +0 -239
  367. package/update-code-translations.test.js +0 -33
@@ -0,0 +1,19 @@
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
+ @media (min-width: 997px) {
9
+ .menuLinkText {
10
+ cursor: initial;
11
+ }
12
+ .menuLinkText:hover {
13
+ background: none;
14
+ }
15
+
16
+ .menuLinkText.hasHref {
17
+ cursor: pointer;
18
+ }
19
+ }
@@ -0,0 +1,89 @@
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
+
10
+ import Layout from '@theme/Layout';
11
+ import Link from '@docusaurus/Link';
12
+ import {ThemeClassNames, usePluralForm} from '@docusaurus/theme-common';
13
+ import type {PropTagDocListDoc} from '@docusaurus/plugin-content-docs';
14
+ import Translate, {translate} from '@docusaurus/Translate';
15
+ import type {Props} from '@theme/DocTagDocListPage';
16
+
17
+ // Very simple pluralization: probably good enough for now
18
+ function useNDocsTaggedPlural() {
19
+ const {selectMessage} = usePluralForm();
20
+ return (count: number) =>
21
+ selectMessage(
22
+ count,
23
+ translate(
24
+ {
25
+ id: 'theme.docs.tagDocListPageTitle.nDocsTagged',
26
+ description:
27
+ 'Pluralized label for "{count} docs tagged". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',
28
+ message: 'One doc tagged|{count} docs tagged',
29
+ },
30
+ {count},
31
+ ),
32
+ );
33
+ }
34
+
35
+ function DocItem({doc}: {doc: PropTagDocListDoc}): JSX.Element {
36
+ return (
37
+ <article className="margin-vert--lg">
38
+ <Link to={doc.permalink}>
39
+ <h2>{doc.title}</h2>
40
+ </Link>
41
+ {doc.description && <p>{doc.description}</p>}
42
+ </article>
43
+ );
44
+ }
45
+
46
+ export default function DocTagDocListPage({tag}: Props): JSX.Element {
47
+ const nDocsTaggedPlural = useNDocsTaggedPlural();
48
+ const title = translate(
49
+ {
50
+ id: 'theme.docs.tagDocListPageTitle',
51
+ description: 'The title of the page for a docs tag',
52
+ message: '{nDocsTagged} with "{tagName}"',
53
+ },
54
+ {nDocsTagged: nDocsTaggedPlural(tag.docs.length), tagName: tag.name},
55
+ );
56
+
57
+ return (
58
+ <Layout
59
+ title={title}
60
+ wrapperClassName={ThemeClassNames.wrapper.docsPages}
61
+ pageClassName={ThemeClassNames.page.docsTagDocListPage}
62
+ searchMetadata={{
63
+ // assign unique search tag to exclude this page from search results!
64
+ tag: 'doc_tag_doc_list',
65
+ }}>
66
+ <div className="container margin-vert--lg">
67
+ <div className="row">
68
+ <main className="col col--8 col--offset-2">
69
+ <header className="margin-bottom--xl">
70
+ <h1>{title}</h1>
71
+ <Link href={tag.allTagsPath}>
72
+ <Translate
73
+ id="theme.tags.tagsPageLink"
74
+ description="The label of the link targeting the tag list page">
75
+ View All Tags
76
+ </Translate>
77
+ </Link>
78
+ </header>
79
+ <section className="margin-vert--lg">
80
+ {tag.docs.map((doc) => (
81
+ <DocItem key={doc.id} doc={doc} />
82
+ ))}
83
+ </section>
84
+ </main>
85
+ </div>
86
+ </div>
87
+ </Layout>
88
+ );
89
+ }
@@ -0,0 +1,41 @@
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
+
10
+ import Layout from '@theme/Layout';
11
+ import {
12
+ ThemeClassNames,
13
+ translateTagsPageTitle,
14
+ } from '@docusaurus/theme-common';
15
+ import TagsListByLetter from '@theme/TagsListByLetter';
16
+ import type {Props} from '@theme/DocTagsListPage';
17
+
18
+ function DocTagsListPage({tags}: Props): JSX.Element {
19
+ const title = translateTagsPageTitle();
20
+ return (
21
+ <Layout
22
+ title={title}
23
+ wrapperClassName={ThemeClassNames.wrapper.docsPages}
24
+ pageClassName={ThemeClassNames.page.docsTagsListPage}
25
+ searchMetadata={{
26
+ // assign unique search tag to exclude this page from search results!
27
+ tag: 'doc_tags_list',
28
+ }}>
29
+ <div className="container margin-vert--lg">
30
+ <div className="row">
31
+ <main className="col col--8 col--offset-2">
32
+ <h1>{title}</h1>
33
+ <TagsListByLetter tags={tags} />
34
+ </main>
35
+ </div>
36
+ </div>
37
+ </Layout>
38
+ );
39
+ }
40
+
41
+ export default DocTagsListPage;
@@ -0,0 +1,30 @@
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 {ThemeClassNames, useDocsVersion} from '@docusaurus/theme-common';
10
+ import clsx from 'clsx';
11
+ import type {Props} from '@theme/DocVersionBadge';
12
+
13
+ export default function DocVersionBadge({
14
+ className,
15
+ }: Props): JSX.Element | null {
16
+ const versionMetadata = useDocsVersion();
17
+ if (versionMetadata.badge) {
18
+ return (
19
+ <span
20
+ className={clsx(
21
+ className,
22
+ ThemeClassNames.docs.docVersionBadge,
23
+ 'badge badge--secondary',
24
+ )}>
25
+ Version: {versionMetadata.label}
26
+ </span>
27
+ );
28
+ }
29
+ return null;
30
+ }
@@ -5,31 +5,44 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React from 'react';
8
+ import React, {ComponentType} from 'react';
9
9
  import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
10
10
  import Link from '@docusaurus/Link';
11
11
  import Translate from '@docusaurus/Translate';
12
12
  import {
13
13
  useActivePlugin,
14
- useActiveVersion,
15
14
  useDocVersionSuggestions,
15
+ GlobalVersion,
16
16
  } from '@theme/hooks/useDocs';
17
- import {useDocsPreferredVersion} from '@docusaurus/theme-common';
17
+ import {
18
+ ThemeClassNames,
19
+ useDocsPreferredVersion,
20
+ useDocsVersion,
21
+ } from '@docusaurus/theme-common';
22
+
23
+ import type {Props} from '@theme/DocVersionBanner';
24
+ import clsx from 'clsx';
25
+ import type {
26
+ VersionBanner,
27
+ PropVersionMetadata,
28
+ } from '@docusaurus/plugin-content-docs';
29
+
30
+ type BannerLabelComponentProps = {
31
+ siteTitle: string;
32
+ versionMetadata: PropVersionMetadata;
33
+ };
18
34
 
19
35
  function UnreleasedVersionLabel({
20
36
  siteTitle,
21
- versionLabel,
22
- }: {
23
- siteTitle: string;
24
- versionLabel: string;
25
- }) {
37
+ versionMetadata,
38
+ }: BannerLabelComponentProps) {
26
39
  return (
27
40
  <Translate
28
41
  id="theme.docs.versions.unreleasedVersionLabel"
29
42
  description="The label used to tell the user that he's browsing an unreleased doc version"
30
43
  values={{
31
44
  siteTitle,
32
- versionLabel: <b>{versionLabel}</b>,
45
+ versionLabel: <b>{versionMetadata.label}</b>,
33
46
  }}>
34
47
  {
35
48
  'This is unreleased documentation for {siteTitle} {versionLabel} version.'
@@ -40,18 +53,15 @@ function UnreleasedVersionLabel({
40
53
 
41
54
  function UnmaintainedVersionLabel({
42
55
  siteTitle,
43
- versionLabel,
44
- }: {
45
- siteTitle: string;
46
- versionLabel: string;
47
- }) {
56
+ versionMetadata,
57
+ }: BannerLabelComponentProps) {
48
58
  return (
49
59
  <Translate
50
60
  id="theme.docs.versions.unmaintainedVersionLabel"
51
61
  description="The label used to tell the user that he's browsing an unmaintained doc version"
52
62
  values={{
53
63
  siteTitle,
54
- versionLabel: <b>{versionLabel}</b>,
64
+ versionLabel: <b>{versionMetadata.label}</b>,
55
65
  }}>
56
66
  {
57
67
  'This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.'
@@ -60,6 +70,20 @@ function UnmaintainedVersionLabel({
60
70
  );
61
71
  }
62
72
 
73
+ const BannerLabelComponents: Record<
74
+ VersionBanner,
75
+ ComponentType<BannerLabelComponentProps>
76
+ > = {
77
+ unreleased: UnreleasedVersionLabel,
78
+ unmaintained: UnmaintainedVersionLabel,
79
+ };
80
+
81
+ function BannerLabel(props: BannerLabelComponentProps) {
82
+ const BannerLabelComponent =
83
+ BannerLabelComponents[props.versionMetadata.banner!];
84
+ return <BannerLabelComponent {...props} />;
85
+ }
86
+
63
87
  function LatestVersionSuggestionLabel({
64
88
  versionLabel,
65
89
  to,
@@ -72,7 +96,7 @@ function LatestVersionSuggestionLabel({
72
96
  return (
73
97
  <Translate
74
98
  id="theme.docs.versions.latestVersionSuggestionLabel"
75
- description="The label userd to tell the user that he's browsing an unmaintained doc version"
99
+ description="The label used to tell the user to check the latest version"
76
100
  values={{
77
101
  versionLabel,
78
102
  latestVersionLink: (
@@ -94,27 +118,24 @@ function LatestVersionSuggestionLabel({
94
118
  );
95
119
  }
96
120
 
97
- const getVersionMainDoc = (version) =>
98
- version.docs.find((doc) => doc.id === version.mainDocId);
99
-
100
- function DocVersionSuggestions(): JSX.Element {
121
+ function DocVersionBannerEnabled({
122
+ className,
123
+ versionMetadata,
124
+ }: Props & {
125
+ versionMetadata: PropVersionMetadata;
126
+ }): JSX.Element {
101
127
  const {
102
128
  siteConfig: {title: siteTitle},
103
129
  } = useDocusaurusContext();
104
- const {pluginId} = useActivePlugin({failfast: true});
130
+ const {pluginId} = useActivePlugin({failfast: true})!;
105
131
 
106
- const {savePreferredVersionName} = useDocsPreferredVersion(pluginId);
132
+ const getVersionMainDoc = (version: GlobalVersion) =>
133
+ version.docs.find((doc) => doc.id === version.mainDocId)!;
107
134
 
108
- const activeVersion = useActiveVersion(pluginId);
109
- const {
110
- latestDocSuggestion,
111
- latestVersionSuggestion,
112
- } = useDocVersionSuggestions(pluginId);
135
+ const {savePreferredVersionName} = useDocsPreferredVersion(pluginId);
113
136
 
114
- // No suggestion to be made
115
- if (!latestVersionSuggestion) {
116
- return <></>;
117
- }
137
+ const {latestDocSuggestion, latestVersionSuggestion} =
138
+ useDocVersionSuggestions(pluginId);
118
139
 
119
140
  // try to link to same doc in latest version (not always possible)
120
141
  // fallback to main doc of latest version
@@ -122,19 +143,15 @@ function DocVersionSuggestions(): JSX.Element {
122
143
  latestDocSuggestion ?? getVersionMainDoc(latestVersionSuggestion);
123
144
 
124
145
  return (
125
- <div className="alert alert--warning margin-bottom--md" role="alert">
146
+ <div
147
+ className={clsx(
148
+ className,
149
+ ThemeClassNames.docs.docVersionBanner,
150
+ 'alert alert--warning margin-bottom--md',
151
+ )}
152
+ role="alert">
126
153
  <div>
127
- {activeVersion.name === 'current' ? (
128
- <UnreleasedVersionLabel
129
- siteTitle={siteTitle}
130
- versionLabel={activeVersion.label}
131
- />
132
- ) : (
133
- <UnmaintainedVersionLabel
134
- siteTitle={siteTitle}
135
- versionLabel={activeVersion.label}
136
- />
137
- )}
154
+ <BannerLabel siteTitle={siteTitle} versionMetadata={versionMetadata} />
138
155
  </div>
139
156
  <div className="margin-top--md">
140
157
  <LatestVersionSuggestionLabel
@@ -147,4 +164,17 @@ function DocVersionSuggestions(): JSX.Element {
147
164
  );
148
165
  }
149
166
 
150
- export default DocVersionSuggestions;
167
+ export default function DocVersionBanner({
168
+ className,
169
+ }: Props): JSX.Element | null {
170
+ const versionMetadata = useDocsVersion();
171
+ if (versionMetadata.banner) {
172
+ return (
173
+ <DocVersionBannerEnabled
174
+ className={className}
175
+ versionMetadata={versionMetadata}
176
+ />
177
+ );
178
+ }
179
+ return null;
180
+ }
@@ -10,10 +10,15 @@ import Translate from '@docusaurus/Translate';
10
10
 
11
11
  import type {Props} from '@theme/EditThisPage';
12
12
  import IconEdit from '@theme/IconEdit';
13
+ import {ThemeClassNames} from '@docusaurus/theme-common';
13
14
 
14
15
  export default function EditThisPage({editUrl}: Props): JSX.Element {
15
16
  return (
16
- <a href={editUrl} target="_blank" rel="noreferrer noopener">
17
+ <a
18
+ href={editUrl}
19
+ target="_blank"
20
+ rel="noreferrer noopener"
21
+ className={ThemeClassNames.common.editThisPage}>
17
22
  <IconEdit />
18
23
  <Translate
19
24
  id="theme.common.editThisPage"
@@ -0,0 +1,41 @@
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 Translate from '@docusaurus/Translate';
10
+ import type {Props} from '@theme/Error';
11
+
12
+ export default function ErrorPageContent({
13
+ error,
14
+ tryAgain,
15
+ }: Props): JSX.Element {
16
+ return (
17
+ <main className="container margin-vert--xl">
18
+ <div className="row">
19
+ <div className="col col--6 col--offset-3">
20
+ <h1 className="hero__title">
21
+ <Translate
22
+ id="theme.ErrorPageContent.title"
23
+ description="The title of the fallback page when the page crashed">
24
+ This page crashed.
25
+ </Translate>
26
+ </h1>
27
+ <p>{error.message}</p>
28
+ <div>
29
+ <button type="button" onClick={tryAgain}>
30
+ <Translate
31
+ id="theme.ErrorPageContent.tryAgain"
32
+ description="The label of the button to try again when the page crashed">
33
+ Try again
34
+ </Translate>
35
+ </button>
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </main>
40
+ );
41
+ }
@@ -11,8 +11,10 @@ import clsx from 'clsx';
11
11
  import Link from '@docusaurus/Link';
12
12
  import {FooterLinkItem, useThemeConfig} from '@docusaurus/theme-common';
13
13
  import useBaseUrl from '@docusaurus/useBaseUrl';
14
+ import isInternalUrl from '@docusaurus/isInternalUrl';
14
15
  import styles from './styles.module.css';
15
16
  import ThemedImage, {Props as ThemedImageProps} from '@theme/ThemedImage';
17
+ import IconExternalLink from '@theme/IconExternalLink';
16
18
 
17
19
  function FooterLink({
18
20
  to,
@@ -35,17 +37,34 @@ function FooterLink({
35
37
  to: toUrl,
36
38
  })}
37
39
  {...props}>
38
- {label}
40
+ {href && !isInternalUrl(href) ? (
41
+ <span>
42
+ {label}
43
+ <IconExternalLink />
44
+ </span>
45
+ ) : (
46
+ label
47
+ )}
39
48
  </Link>
40
49
  );
41
50
  }
42
51
 
43
- const FooterLogo = ({
52
+ function FooterLogo({
44
53
  sources,
45
54
  alt,
46
- }: Pick<ThemedImageProps, 'sources' | 'alt'>) => (
47
- <ThemedImage className="footer__logo" alt={alt} sources={sources} />
48
- );
55
+ width,
56
+ height,
57
+ }: Pick<ThemedImageProps, 'sources' | 'alt' | 'width' | 'height'>) {
58
+ return (
59
+ <ThemedImage
60
+ className="footer__logo"
61
+ alt={alt}
62
+ sources={sources}
63
+ width={width}
64
+ height={height}
65
+ />
66
+ );
67
+ }
49
68
 
50
69
  function Footer(): JSX.Element | null {
51
70
  const {footer} = useThemeConfig();
@@ -106,7 +125,12 @@ function Footer(): JSX.Element | null {
106
125
  <div className="margin-bottom--sm">
107
126
  {logo.href ? (
108
127
  <Link href={logo.href} className={styles.footerLogoLink}>
109
- <FooterLogo alt={logo.alt} sources={sources} />
128
+ <FooterLogo
129
+ alt={logo.alt}
130
+ sources={sources}
131
+ width={logo.width}
132
+ height={logo.height}
133
+ />
110
134
  </Link>
111
135
  ) : (
112
136
  <FooterLogo alt={logo.alt} sources={sources} />
@@ -5,8 +5,6 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- /* eslint-disable jsx-a11y/anchor-has-content, jsx-a11y/anchor-is-valid */
9
-
10
8
  import React from 'react';
11
9
  import clsx from 'clsx';
12
10
  import type {HeadingType, Props} from '@theme/Heading';
@@ -18,23 +16,21 @@ import styles from './styles.module.css';
18
16
 
19
17
  type HeadingComponent = (props: Props) => JSX.Element;
20
18
 
21
- export const MainHeading: HeadingComponent = function MainHeading({...props}) {
22
- return (
23
- <header>
24
- <h1
25
- {...props}
26
- id={undefined} // h1 headings do not need an id because they don't appear in the TOC
27
- className={styles.h1Heading}>
28
- {props.children}
29
- </h1>
30
- </header>
31
- );
32
- };
19
+ // eslint-disable-next-line react/function-component-definition
20
+ export const MainHeading: HeadingComponent = ({...props}) => (
21
+ <header>
22
+ <h1
23
+ {...props}
24
+ id={undefined} // h1 headings do not need an id because they don't appear in the TOC
25
+ >
26
+ {props.children}
27
+ </h1>
28
+ </header>
29
+ );
33
30
 
34
- const createAnchorHeading = (
35
- Tag: HeadingType,
36
- ): ((props: Props) => JSX.Element) =>
37
- function TargetComponent({id, ...props}) {
31
+ const createAnchorHeading =
32
+ (Tag: HeadingType) =>
33
+ ({id, ...props}: Props) => {
38
34
  const {
39
35
  navbar: {hideOnScroll},
40
36
  } = useThemeConfig();
@@ -44,17 +40,16 @@ const createAnchorHeading = (
44
40
  }
45
41
 
46
42
  return (
47
- <Tag {...props}>
48
- <a
49
- aria-hidden="true"
50
- tabIndex={-1}
51
- className={clsx('anchor', {
52
- [styles.enhancedAnchor]: !hideOnScroll,
53
- })}
54
- id={id}
55
- />
43
+ <Tag
44
+ {...props}
45
+ className={clsx('anchor', {
46
+ [styles.anchorWithHideOnScrollNavbar]: hideOnScroll,
47
+ [styles.anchorWithStickyNavbar]: !hideOnScroll,
48
+ })}
49
+ id={id}>
56
50
  {props.children}
57
51
  <a
52
+ aria-hidden="true"
58
53
  className="hash-link"
59
54
  href={`#${id}`}
60
55
  title={translate({
@@ -62,14 +57,13 @@ const createAnchorHeading = (
62
57
  message: 'Direct link to heading',
63
58
  description: 'Title for link to heading',
64
59
  })}>
65
- #
60
+ &#8203;
66
61
  </a>
67
62
  </Tag>
68
63
  );
69
64
  };
70
65
 
71
- const Heading = (headingType: HeadingType): ((props: Props) => JSX.Element) => {
72
- return headingType === 'h1' ? MainHeading : createAnchorHeading(headingType);
73
- };
66
+ const Heading = (headingType: HeadingType): ((props: Props) => JSX.Element) =>
67
+ headingType === 'h1' ? MainHeading : createAnchorHeading(headingType);
74
68
 
75
69
  export default Heading;
@@ -5,16 +5,15 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- .anchor {
9
- display: block;
10
- position: relative;
11
- top: -0.5rem;
12
- }
13
-
14
8
  .hash-link {
15
9
  opacity: 0;
16
10
  padding-left: 0.5rem;
17
11
  transition: opacity var(--ifm-transition-fast);
12
+ user-select: none;
13
+ }
14
+
15
+ .hash-link:before {
16
+ content: '#';
18
17
  }
19
18
 
20
19
  .hash-link:focus,
@@ -5,11 +5,15 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- .enhancedAnchor {
9
- top: calc(var(--ifm-navbar-height) * -1 - 0.5rem);
8
+ /*
9
+ When the navbar is sticky, ensure that on anchor click,
10
+ the browser does not scroll that anchor behind the navbar
11
+ See https://twitter.com/JoshWComeau/status/1332015868725891076
12
+ */
13
+ .anchorWithStickyNavbar {
14
+ scroll-margin-top: calc(var(--ifm-navbar-height) + 0.5rem);
10
15
  }
11
16
 
12
- .h1Heading {
13
- font-size: 3rem;
14
- margin-bottom: calc(var(--ifm-leading-desktop) * var(--ifm-leading));
17
+ .anchorWithHideOnScrollNavbar {
18
+ scroll-margin-top: 0.5rem;
15
19
  }
@@ -8,7 +8,7 @@
8
8
  import React from 'react';
9
9
  import type {Props} from '@theme/IconArrow';
10
10
 
11
- const IconArrow = (props: Props): JSX.Element => {
11
+ function IconArrow(props: Props): JSX.Element {
12
12
  return (
13
13
  <svg width="20" height="20" aria-hidden="true" {...props}>
14
14
  <g fill="#7a7a7a">
@@ -17,6 +17,6 @@ const IconArrow = (props: Props): JSX.Element => {
17
17
  </g>
18
18
  </svg>
19
19
  );
20
- };
20
+ }
21
21
 
22
22
  export default IconArrow;
@@ -0,0 +1,26 @@
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 type {Props} from '@theme/IconClose';
10
+
11
+ export default function IconClose({
12
+ width = 21,
13
+ height = 21,
14
+ color = 'currentColor',
15
+ strokeWidth = 1.2,
16
+ className,
17
+ ...restProps
18
+ }: Props): JSX.Element {
19
+ return (
20
+ <svg viewBox="0 0 15 15" width={width} height={height} {...restProps}>
21
+ <g stroke={color} strokeWidth={strokeWidth}>
22
+ <path d="M.75.75l13.5 13.5M14.25.75L.75 14.25" />
23
+ </g>
24
+ </svg>
25
+ );
26
+ }