@docusaurus/theme-classic 2.0.0-beta.15d451942 → 2.0.0-beta.16

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 (407) hide show
  1. package/README.md +2 -2
  2. package/lib/admonitions.css +35 -0
  3. package/lib/deps.d.ts +13 -0
  4. package/lib/getSwizzleConfig.js +102 -0
  5. package/lib/index.js +59 -43
  6. package/lib/prism-include-languages.js +9 -5
  7. package/lib/theme-classic.d.ts +755 -0
  8. package/lib/translations.js +40 -34
  9. package/lib/types.d.ts +0 -589
  10. package/lib/validateThemeConfig.js +247 -246
  11. package/lib-next/theme/Admonition/index.js +101 -0
  12. package/lib-next/theme/AnnouncementBar/index.js +10 -22
  13. package/lib-next/theme/AnnouncementBar/styles.module.css +26 -35
  14. package/lib-next/theme/BackToTopButton/index.js +131 -0
  15. package/lib-next/theme/BackToTopButton/styles.module.css +44 -0
  16. package/lib-next/theme/BlogArchivePage/index.js +80 -0
  17. package/lib-next/theme/BlogLayout/index.js +37 -0
  18. package/lib-next/theme/BlogListPage/index.js +18 -29
  19. package/lib-next/theme/BlogListPaginator/index.js +13 -16
  20. package/lib-next/theme/BlogPostAuthor/index.js +40 -0
  21. package/{lib/theme/IconEdit → lib-next/theme/BlogPostAuthor}/styles.module.css +4 -3
  22. package/lib-next/theme/BlogPostAuthors/index.js +44 -0
  23. package/lib-next/theme/BlogPostAuthors/styles.module.css +21 -0
  24. package/lib-next/theme/BlogPostItem/index.js +110 -95
  25. package/lib-next/theme/BlogPostItem/styles.module.css +5 -1
  26. package/lib-next/theme/BlogPostPage/index.js +75 -43
  27. package/lib-next/theme/BlogPostPaginator/index.js +13 -20
  28. package/lib-next/theme/BlogSidebar/index.js +23 -16
  29. package/lib-next/theme/BlogSidebar/styles.module.css +8 -8
  30. package/lib-next/theme/BlogTagsListPage/index.js +16 -66
  31. package/lib-next/theme/BlogTagsPostsPage/index.js +47 -59
  32. package/lib-next/theme/CodeBlock/index.js +73 -162
  33. package/lib-next/theme/CodeBlock/styles.module.css +18 -13
  34. package/lib-next/theme/Details/index.js +21 -0
  35. package/lib-next/theme/Details/styles.module.css +13 -0
  36. package/lib-next/theme/DocBreadcrumbs/index.js +76 -0
  37. package/lib-next/theme/DocBreadcrumbs/styles.module.css +26 -0
  38. package/lib-next/theme/DocCard/index.js +91 -0
  39. package/lib-next/theme/DocCard/styles.module.css +43 -0
  40. package/lib-next/theme/DocCardList/index.js +19 -0
  41. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +54 -0
  42. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  43. package/lib-next/theme/DocItem/index.js +64 -69
  44. package/lib-next/theme/DocItem/styles.module.css +7 -13
  45. package/lib-next/theme/DocItemFooter/index.js +79 -0
  46. package/{lib/theme/Layout/styles.css → lib-next/theme/DocItemFooter/styles.module.css} +8 -11
  47. package/lib-next/theme/DocPage/index.js +59 -33
  48. package/lib-next/theme/DocPage/styles.module.css +14 -26
  49. package/lib-next/theme/DocPaginator/index.js +16 -25
  50. package/lib-next/theme/DocSidebar/index.js +72 -285
  51. package/lib-next/theme/DocSidebar/styles.module.css +5 -36
  52. package/lib-next/theme/DocSidebarItem/index.js +264 -0
  53. package/lib-next/theme/DocSidebarItem/styles.module.css +13 -0
  54. package/lib-next/theme/DocSidebarItems/index.js +28 -0
  55. package/lib-next/theme/DocTagDocListPage/index.js +89 -0
  56. package/lib-next/theme/DocTagsListPage/index.js +35 -0
  57. package/lib-next/theme/DocVersionBadge/index.js +34 -0
  58. package/lib-next/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +54 -36
  59. package/lib-next/theme/EditThisPage/index.js +6 -1
  60. package/lib-next/theme/ErrorPageContent.js +35 -0
  61. package/lib-next/theme/Footer/index.js +105 -41
  62. package/lib-next/theme/Footer/styles.module.css +2 -1
  63. package/lib-next/theme/Heading/index.js +40 -33
  64. package/lib-next/theme/Heading/styles.module.css +27 -2
  65. package/lib-next/theme/IconArrow/index.js +3 -6
  66. package/lib-next/theme/IconClose/index.js +23 -0
  67. package/lib-next/theme/IconEdit/index.js +5 -10
  68. package/lib-next/theme/IconExternalLink/index.js +23 -0
  69. package/{lib/theme/BlogPostItem → lib-next/theme/IconExternalLink}/styles.module.css +4 -6
  70. package/lib-next/theme/IconLanguage/index.js +3 -6
  71. package/lib-next/theme/IconMenu/index.js +8 -9
  72. package/lib-next/theme/LastUpdated/index.js +35 -39
  73. package/lib-next/theme/Layout/index.js +5 -7
  74. package/lib-next/theme/Layout/styles.css +6 -0
  75. package/lib-next/theme/LayoutHead/index.js +27 -32
  76. package/lib-next/theme/LayoutProviders/index.js +21 -10
  77. package/lib-next/theme/Logo/index.js +21 -16
  78. package/lib-next/theme/MDXComponents/index.js +45 -30
  79. package/lib-next/theme/{hooks → MDXComponents}/styles.css +7 -2
  80. package/lib-next/theme/MDXPage/index.js +22 -28
  81. package/{lib/theme/LastUpdated → lib-next/theme/MDXPage}/styles.module.css +2 -2
  82. package/lib-next/theme/Navbar/index.js +199 -64
  83. package/lib-next/theme/Navbar/styles.module.css +11 -4
  84. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +36 -185
  85. package/lib-next/theme/NavbarItem/DocNavbarItem.js +31 -14
  86. package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +73 -0
  87. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +38 -24
  88. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +4 -1
  89. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +156 -0
  90. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +12 -13
  91. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  92. package/lib-next/theme/NavbarItem/NavbarNavLink.js +70 -0
  93. package/lib-next/theme/NavbarItem/index.js +27 -15
  94. package/lib-next/theme/{UserPreferencesContext.js → NavbarItem/utils.js} +3 -3
  95. package/lib-next/theme/NotFound.js +7 -6
  96. package/lib-next/theme/PaginatorNavLink/index.js +17 -0
  97. package/lib-next/theme/SearchBar.js +1 -1
  98. package/lib-next/theme/SearchMetadata/index.js +25 -0
  99. package/lib-next/theme/Seo/index.js +11 -7
  100. package/lib-next/theme/SkipToContent/index.js +9 -8
  101. package/lib-next/theme/SkipToContent/styles.module.css +8 -3
  102. package/lib-next/theme/TOC/index.js +12 -39
  103. package/lib-next/theme/TOC/styles.module.css +2 -2
  104. package/lib-next/theme/TOCCollapsible/index.js +54 -0
  105. package/lib-next/theme/TOCCollapsible/styles.module.css +50 -0
  106. package/lib-next/theme/TOCInline/index.js +10 -31
  107. package/lib-next/theme/TOCItems/index.js +85 -0
  108. package/lib-next/theme/TabItem/index.js +1 -4
  109. package/lib-next/theme/Tabs/__tests__/index.test.js +146 -0
  110. package/lib-next/theme/Tabs/index.js +108 -50
  111. package/lib-next/theme/Tabs/styles.module.css +0 -13
  112. package/lib-next/theme/Tag/index.js +24 -0
  113. package/lib-next/theme/Tag/styles.module.css +70 -0
  114. package/lib-next/theme/TagsListByLetter/index.js +40 -0
  115. package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
  116. package/lib-next/theme/TagsListInline/index.js +31 -0
  117. package/lib-next/theme/TagsListInline/styles.module.css +15 -0
  118. package/lib-next/theme/ThemedImage/index.js +9 -13
  119. package/lib-next/theme/ThemedImage/styles.module.css +9 -2
  120. package/lib-next/theme/Toggle/index.js +65 -60
  121. package/lib-next/theme/Toggle/styles.module.css +30 -38
  122. package/lib-next/theme/prism-include-languages.js +17 -15
  123. package/package.json +31 -30
  124. package/src/admonitions.css +35 -0
  125. package/src/deps.d.ts +13 -0
  126. package/src/getSwizzleConfig.ts +101 -0
  127. package/src/index.ts +68 -66
  128. package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
  129. package/src/theme/Admonition/index.tsx +106 -0
  130. package/src/theme/AnnouncementBar/index.tsx +11 -20
  131. package/src/theme/AnnouncementBar/styles.module.css +26 -35
  132. package/src/theme/BackToTopButton/index.tsx +143 -0
  133. package/src/theme/BackToTopButton/styles.module.css +44 -0
  134. package/src/theme/BlogArchivePage/index.tsx +91 -0
  135. package/src/theme/BlogLayout/index.tsx +42 -0
  136. package/src/theme/BlogListPage/index.tsx +19 -28
  137. package/src/theme/BlogListPaginator/index.tsx +13 -15
  138. package/src/theme/BlogPostAuthor/index.tsx +44 -0
  139. package/src/theme/{LastUpdated → BlogPostAuthor}/styles.module.css +4 -2
  140. package/src/theme/BlogPostAuthors/index.tsx +49 -0
  141. package/src/theme/BlogPostAuthors/styles.module.css +21 -0
  142. package/src/theme/BlogPostItem/index.tsx +101 -91
  143. package/src/theme/BlogPostItem/styles.module.css +5 -1
  144. package/src/theme/BlogPostPage/index.tsx +77 -42
  145. package/src/theme/BlogPostPaginator/index.tsx +13 -19
  146. package/src/theme/BlogSidebar/index.tsx +23 -16
  147. package/src/theme/BlogSidebar/styles.module.css +8 -8
  148. package/src/theme/BlogTagsListPage/index.tsx +16 -66
  149. package/src/theme/BlogTagsPostsPage/index.tsx +43 -61
  150. package/src/theme/CodeBlock/index.tsx +77 -164
  151. package/src/theme/CodeBlock/styles.module.css +18 -13
  152. package/src/theme/Details/index.tsx +25 -0
  153. package/src/theme/Details/styles.module.css +13 -0
  154. package/src/theme/DocBreadcrumbs/index.tsx +91 -0
  155. package/src/theme/DocBreadcrumbs/styles.module.css +26 -0
  156. package/src/theme/DocCard/index.tsx +109 -0
  157. package/src/theme/DocCard/styles.module.css +43 -0
  158. package/src/theme/DocCardList/index.tsx +27 -0
  159. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +59 -0
  160. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  161. package/src/theme/DocItem/index.tsx +66 -68
  162. package/src/theme/DocItem/styles.module.css +7 -13
  163. package/src/theme/DocItemFooter/index.tsx +91 -0
  164. package/src/theme/DocItemFooter/styles.module.css +18 -0
  165. package/src/theme/DocPage/index.tsx +58 -34
  166. package/src/theme/DocPage/styles.module.css +14 -26
  167. package/src/theme/DocPaginator/index.tsx +16 -24
  168. package/src/theme/DocSidebar/index.tsx +83 -297
  169. package/src/theme/DocSidebar/styles.module.css +5 -36
  170. package/src/theme/DocSidebarItem/index.tsx +283 -0
  171. package/src/theme/DocSidebarItem/styles.module.css +13 -0
  172. package/src/theme/DocSidebarItems/index.tsx +32 -0
  173. package/src/theme/DocTagDocListPage/index.tsx +89 -0
  174. package/src/theme/DocTagsListPage/index.tsx +39 -0
  175. package/src/theme/DocVersionBadge/index.tsx +35 -0
  176. package/src/theme/{DocVersionSuggestions → DocVersionBanner}/index.tsx +77 -47
  177. package/src/theme/EditThisPage/index.tsx +6 -1
  178. package/src/theme/ErrorPageContent.tsx +41 -0
  179. package/src/theme/Footer/index.tsx +119 -45
  180. package/src/theme/Footer/styles.module.css +2 -1
  181. package/src/theme/Heading/index.tsx +41 -35
  182. package/src/theme/Heading/styles.module.css +27 -2
  183. package/src/theme/IconArrow/index.tsx +3 -5
  184. package/src/theme/IconClose/index.tsx +26 -0
  185. package/src/theme/IconEdit/index.tsx +8 -9
  186. package/src/theme/IconExternalLink/index.tsx +30 -0
  187. package/{lib/theme/Heading → src/theme/IconExternalLink}/styles.module.css +4 -2
  188. package/src/theme/IconLanguage/index.tsx +4 -6
  189. package/src/theme/IconMenu/index.tsx +4 -9
  190. package/src/theme/LastUpdated/index.tsx +35 -39
  191. package/src/theme/Layout/index.tsx +5 -6
  192. package/src/theme/Layout/styles.css +6 -0
  193. package/src/theme/LayoutHead/index.tsx +26 -25
  194. package/src/theme/LayoutProviders/index.tsx +21 -10
  195. package/src/theme/Logo/index.tsx +21 -15
  196. package/src/theme/MDXComponents/index.tsx +56 -32
  197. package/{lib/theme/hooks → src/theme/MDXComponents}/styles.css +7 -2
  198. package/src/theme/MDXPage/index.tsx +23 -28
  199. package/{lib-next/theme/LastUpdated → src/theme/MDXPage}/styles.module.css +2 -2
  200. package/src/theme/Navbar/index.tsx +208 -68
  201. package/src/theme/Navbar/styles.module.css +11 -4
  202. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +37 -194
  203. package/src/theme/NavbarItem/DocNavbarItem.tsx +33 -15
  204. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +84 -0
  205. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +44 -28
  206. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  207. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +181 -0
  208. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +16 -10
  209. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  210. package/src/theme/NavbarItem/NavbarNavLink.tsx +68 -0
  211. package/src/theme/NavbarItem/index.tsx +42 -19
  212. package/src/theme/NavbarItem/utils.ts +10 -0
  213. package/src/theme/NotFound.tsx +7 -5
  214. package/src/theme/PaginatorNavLink/index.tsx +20 -0
  215. package/src/theme/SearchBar.tsx +2 -1
  216. package/src/theme/SearchMetadata/index.tsx +34 -0
  217. package/src/theme/Seo/index.tsx +7 -4
  218. package/src/theme/SkipToContent/index.tsx +9 -8
  219. package/src/theme/SkipToContent/styles.module.css +8 -3
  220. package/src/theme/TOC/index.tsx +13 -44
  221. package/src/theme/TOC/styles.module.css +2 -2
  222. package/src/theme/TOCCollapsible/index.tsx +58 -0
  223. package/src/theme/TOCCollapsible/styles.module.css +50 -0
  224. package/src/theme/TOCInline/index.tsx +14 -35
  225. package/src/theme/TOCItems/index.tsx +100 -0
  226. package/src/theme/TabItem/index.tsx +5 -3
  227. package/src/theme/Tabs/index.tsx +115 -56
  228. package/src/theme/Tabs/styles.module.css +0 -13
  229. package/src/theme/Tag/index.tsx +29 -0
  230. package/src/theme/Tag/styles.module.css +70 -0
  231. package/src/theme/TagsListByLetter/index.tsx +43 -0
  232. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  233. package/src/theme/TagsListInline/index.tsx +35 -0
  234. package/src/theme/TagsListInline/styles.module.css +15 -0
  235. package/src/theme/ThemedImage/index.tsx +10 -12
  236. package/src/theme/ThemedImage/styles.module.css +9 -2
  237. package/src/theme/Toggle/index.tsx +66 -62
  238. package/src/theme/Toggle/styles.module.css +30 -38
  239. package/src/theme/prism-include-languages.ts +20 -15
  240. package/src/theme-classic.d.ts +755 -0
  241. package/src/translations.ts +74 -54
  242. package/src/types.d.ts +0 -589
  243. package/{lib-next/validateThemeConfig.js → src/validateThemeConfig.ts} +184 -104
  244. package/babel.config.js +0 -35
  245. package/codeTranslations/README.md +0 -20
  246. package/codeTranslations/ar.json +0 -55
  247. package/codeTranslations/base.json +0 -108
  248. package/codeTranslations/da.json +0 -55
  249. package/codeTranslations/de.json +0 -55
  250. package/codeTranslations/es.json +0 -55
  251. package/codeTranslations/fa.json +0 -55
  252. package/codeTranslations/fil.json +0 -55
  253. package/codeTranslations/fr.json +0 -55
  254. package/codeTranslations/he.json +0 -55
  255. package/codeTranslations/hi.json +0 -55
  256. package/codeTranslations/ja.json +0 -55
  257. package/codeTranslations/ko.json +0 -55
  258. package/codeTranslations/pl.json +0 -55
  259. package/codeTranslations/pt-BR.json +0 -55
  260. package/codeTranslations/pt-PT.json +0 -55
  261. package/codeTranslations/ru.json +0 -55
  262. package/codeTranslations/tr.json +0 -55
  263. package/codeTranslations/vi.json +0 -55
  264. package/codeTranslations/zh-Hans.json +0 -55
  265. package/codeTranslations/zh-Hant.json +0 -55
  266. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  267. package/lib/__tests__/translations.test.js +0 -112
  268. package/lib/__tests__/validateThemeConfig.test.js +0 -333
  269. package/lib/theme/AnnouncementBar/index.js +0 -74
  270. package/lib/theme/AnnouncementBar/styles.module.css +0 -72
  271. package/lib/theme/BlogListPage/index.js +0 -71
  272. package/lib/theme/BlogListPaginator/index.js +0 -63
  273. package/lib/theme/BlogPostItem/index.js +0 -152
  274. package/lib/theme/BlogPostPage/index.js +0 -75
  275. package/lib/theme/BlogPostPaginator/index.js +0 -64
  276. package/lib/theme/BlogSidebar/index.js +0 -43
  277. package/lib/theme/BlogSidebar/styles.module.css +0 -46
  278. package/lib/theme/BlogTagsListPage/index.js +0 -81
  279. package/lib/theme/BlogTagsPostsPage/index.js +0 -104
  280. package/lib/theme/CodeBlock/index.js +0 -253
  281. package/lib/theme/CodeBlock/styles.module.css +0 -71
  282. package/lib/theme/DocItem/index.js +0 -120
  283. package/lib/theme/DocItem/styles.module.css +0 -28
  284. package/lib/theme/DocPage/index.js +0 -141
  285. package/lib/theme/DocPage/styles.module.css +0 -98
  286. package/lib/theme/DocPaginator/index.js +0 -63
  287. package/lib/theme/DocSidebar/index.js +0 -307
  288. package/lib/theme/DocSidebar/styles.module.css +0 -138
  289. package/lib/theme/DocVersionSuggestions/index.js +0 -111
  290. package/lib/theme/EditThisPage/index.js +0 -31
  291. package/lib/theme/Footer/index.js +0 -108
  292. package/lib/theme/Footer/styles.module.css +0 -15
  293. package/lib/theme/Heading/index.js +0 -60
  294. package/lib/theme/Heading/styles.css +0 -23
  295. package/lib/theme/IconArrow/index.js +0 -28
  296. package/lib/theme/IconEdit/index.js +0 -34
  297. package/lib/theme/IconLanguage/index.js +0 -29
  298. package/lib/theme/IconMenu/index.js +0 -31
  299. package/lib/theme/LastUpdated/index.js +0 -65
  300. package/lib/theme/Layout/index.js +0 -64
  301. package/lib/theme/LayoutHead/index.js +0 -144
  302. package/lib/theme/LayoutProviders/index.js +0 -34
  303. package/lib/theme/Logo/index.js +0 -59
  304. package/lib/theme/MDXComponents/index.js +0 -65
  305. package/lib/theme/MDXPage/index.js +0 -68
  306. package/lib/theme/Navbar/index.js +0 -147
  307. package/lib/theme/Navbar/styles.module.css +0 -20
  308. package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -195
  309. package/lib/theme/NavbarItem/DocNavbarItem.js +0 -55
  310. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -75
  311. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
  312. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
  313. package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
  314. package/lib/theme/NavbarItem/index.js +0 -54
  315. package/lib/theme/NotFound.js +0 -50
  316. package/lib/theme/SearchBar.js +0 -15
  317. package/lib/theme/SearchMetadatas/index.js +0 -33
  318. package/lib/theme/Seo/index.js +0 -49
  319. package/lib/theme/SkipToContent/index.js +0 -61
  320. package/lib/theme/SkipToContent/styles.module.css +0 -16
  321. package/lib/theme/TOC/index.js +0 -59
  322. package/lib/theme/TOC/styles.module.css +0 -23
  323. package/lib/theme/TOCInline/index.js +0 -53
  324. package/lib/theme/TOCInline/styles.module.css +0 -12
  325. package/lib/theme/TabItem/index.js +0 -32
  326. package/lib/theme/Tabs/index.js +0 -150
  327. package/lib/theme/Tabs/styles.module.css +0 -23
  328. package/lib/theme/ThemeContext.js +0 -21
  329. package/lib/theme/ThemeProvider/index.js +0 -38
  330. package/lib/theme/ThemedImage/index.js +0 -48
  331. package/lib/theme/ThemedImage/styles.module.css +0 -11
  332. package/lib/theme/Toggle/index.js +0 -106
  333. package/lib/theme/Toggle/styles.module.css +0 -114
  334. package/lib/theme/UserPreferencesContext.js +0 -18
  335. package/lib/theme/UserPreferencesProvider/index.js +0 -44
  336. package/lib/theme/hooks/useAnnouncementBar.js +0 -63
  337. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  338. package/lib/theme/hooks/useDocs.js +0 -18
  339. package/lib/theme/hooks/useHideableNavbar.js +0 -92
  340. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  341. package/lib/theme/hooks/useLocationHash.js +0 -28
  342. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  343. package/lib/theme/hooks/usePrismTheme.js +0 -36
  344. package/lib/theme/hooks/useScrollPosition.js +0 -49
  345. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  346. package/lib/theme/hooks/useTabGroupChoice.js +0 -53
  347. package/lib/theme/hooks/useTheme.js +0 -99
  348. package/lib/theme/hooks/useThemeContext.js +0 -31
  349. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  350. package/lib/theme/hooks/useWindowSize.js +0 -55
  351. package/lib/theme/prism-include-languages.js +0 -39
  352. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  353. package/lib-next/__tests__/translations.test.js +0 -128
  354. package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
  355. package/lib-next/index.js +0 -198
  356. package/lib-next/theme/Heading/styles.css +0 -23
  357. package/lib-next/theme/SearchMetadatas/index.js +0 -20
  358. package/lib-next/theme/ThemeContext.js +0 -9
  359. package/lib-next/theme/ThemeProvider/index.js +0 -25
  360. package/lib-next/theme/UserPreferencesProvider/index.js +0 -28
  361. package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
  362. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  363. package/lib-next/theme/hooks/useDocs.js +0 -10
  364. package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
  365. package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
  366. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  367. package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
  368. package/lib-next/theme/hooks/usePrismTheme.js +0 -20
  369. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  370. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  371. package/lib-next/theme/hooks/useTabGroupChoice.js +0 -41
  372. package/lib-next/theme/hooks/useTheme.js +0 -82
  373. package/lib-next/theme/hooks/useThemeContext.js +0 -22
  374. package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
  375. package/lib-next/theme/hooks/useWindowSize.js +0 -45
  376. package/lib-next/translations.js +0 -145
  377. package/lib-next/types.d.ts +0 -600
  378. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  379. package/src/__tests__/translations.test.ts +0 -116
  380. package/src/__tests__/validateThemeConfig.test.js +0 -333
  381. package/src/prism-include-languages.js +0 -11
  382. package/src/theme/Heading/styles.css +0 -23
  383. package/src/theme/SearchMetadatas/index.tsx +0 -28
  384. package/src/theme/ThemeContext.ts +0 -15
  385. package/src/theme/ThemeProvider/index.tsx +0 -24
  386. package/src/theme/UserPreferencesContext.ts +0 -12
  387. package/src/theme/UserPreferencesProvider/index.tsx +0 -32
  388. package/src/theme/hooks/styles.css +0 -10
  389. package/src/theme/hooks/useAnnouncementBar.ts +0 -58
  390. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  391. package/src/theme/hooks/useDocs.ts +0 -11
  392. package/src/theme/hooks/useHideableNavbar.ts +0 -85
  393. package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
  394. package/src/theme/hooks/useLocationHash.ts +0 -25
  395. package/src/theme/hooks/useLockBodyScroll.ts +0 -20
  396. package/src/theme/hooks/usePrismTheme.ts +0 -22
  397. package/src/theme/hooks/useScrollPosition.ts +0 -45
  398. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  399. package/src/theme/hooks/useTabGroupChoice.ts +0 -46
  400. package/src/theme/hooks/useTheme.ts +0 -92
  401. package/src/theme/hooks/useThemeContext.ts +0 -23
  402. package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
  403. package/src/theme/hooks/useWindowSize.ts +0 -51
  404. package/src/validateThemeConfig.js +0 -317
  405. package/tsconfig.json +0 -12
  406. package/update-code-translations.js +0 -239
  407. package/update-code-translations.test.js +0 -33
@@ -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
+ }
@@ -9,10 +9,17 @@ import React from 'react';
9
9
  import clsx from 'clsx';
10
10
 
11
11
  import Link from '@docusaurus/Link';
12
- import {FooterLinkItem, useThemeConfig} from '@docusaurus/theme-common';
12
+ import {
13
+ type FooterLinkItem,
14
+ useThemeConfig,
15
+ type MultiColumnFooter,
16
+ type SimpleFooter,
17
+ } from '@docusaurus/theme-common';
13
18
  import useBaseUrl from '@docusaurus/useBaseUrl';
19
+ import isInternalUrl from '@docusaurus/isInternalUrl';
14
20
  import styles from './styles.module.css';
15
- import ThemedImage, {Props as ThemedImageProps} from '@theme/ThemedImage';
21
+ import ThemedImage, {type Props as ThemedImageProps} from '@theme/ThemedImage';
22
+ import IconExternalLink from '@theme/IconExternalLink';
16
23
 
17
24
  function FooterLink({
18
25
  to,
@@ -35,17 +42,97 @@ function FooterLink({
35
42
  to: toUrl,
36
43
  })}
37
44
  {...props}>
38
- {label}
45
+ {href && !isInternalUrl(href) ? (
46
+ <span>
47
+ {label}
48
+ <IconExternalLink />
49
+ </span>
50
+ ) : (
51
+ label
52
+ )}
39
53
  </Link>
40
54
  );
41
55
  }
42
56
 
43
- const FooterLogo = ({
57
+ function FooterLogo({
44
58
  sources,
45
59
  alt,
46
- }: Pick<ThemedImageProps, 'sources' | 'alt'>) => (
47
- <ThemedImage className="footer__logo" alt={alt} sources={sources} />
48
- );
60
+ width,
61
+ height,
62
+ }: Pick<ThemedImageProps, 'sources' | 'alt' | 'width' | 'height'>) {
63
+ return (
64
+ <ThemedImage
65
+ className="footer__logo"
66
+ alt={alt}
67
+ sources={sources}
68
+ width={width}
69
+ height={height}
70
+ />
71
+ );
72
+ }
73
+
74
+ function MultiColumnLinks({links}: {links: MultiColumnFooter['links']}) {
75
+ return (
76
+ <>
77
+ {links.map((linkItem, i) => (
78
+ <div key={i} className="col footer__col">
79
+ <div className="footer__title">{linkItem.title}</div>
80
+ <ul className="footer__items">
81
+ {linkItem.items.map((item, key) =>
82
+ item.html ? (
83
+ <li
84
+ key={key}
85
+ className="footer__item"
86
+ // Developer provided the HTML, so assume it's safe.
87
+ // eslint-disable-next-line react/no-danger
88
+ dangerouslySetInnerHTML={{
89
+ __html: item.html,
90
+ }}
91
+ />
92
+ ) : (
93
+ <li key={item.href || item.to} className="footer__item">
94
+ <FooterLink {...item} />
95
+ </li>
96
+ ),
97
+ )}
98
+ </ul>
99
+ </div>
100
+ ))}
101
+ </>
102
+ );
103
+ }
104
+
105
+ function SimpleLinks({links}: {links: SimpleFooter['links']}) {
106
+ return (
107
+ <div className="footer__links">
108
+ {links.map((item, key) => (
109
+ <React.Fragment key={key}>
110
+ {item.html ? (
111
+ <span
112
+ className="footer__link-item"
113
+ // Developer provided the HTML, so assume it's safe.
114
+ // eslint-disable-next-line react/no-danger
115
+ dangerouslySetInnerHTML={{
116
+ __html: item.html,
117
+ }}
118
+ />
119
+ ) : (
120
+ <FooterLink {...item} />
121
+ )}
122
+ {links.length !== key + 1 && (
123
+ <span className="footer__link-separator">·</span>
124
+ )}
125
+ </React.Fragment>
126
+ ))}
127
+ </div>
128
+ );
129
+ }
130
+
131
+ function isMultiColumnFooterLinks(
132
+ links: MultiColumnFooter['links'] | SimpleFooter['links'],
133
+ ): links is MultiColumnFooter['links'] {
134
+ return 'title' in links[0];
135
+ }
49
136
 
50
137
  function Footer(): JSX.Element | null {
51
138
  const {footer} = useThemeConfig();
@@ -65,51 +152,38 @@ function Footer(): JSX.Element | null {
65
152
  className={clsx('footer', {
66
153
  'footer--dark': footer.style === 'dark',
67
154
  })}>
68
- <div className="container">
69
- {links && links.length > 0 && (
70
- <div className="row footer__links">
71
- {links.map((linkItem, i) => (
72
- <div key={i} className="col footer__col">
73
- {linkItem.title != null ? (
74
- <div className="footer__title">{linkItem.title}</div>
75
- ) : null}
76
- {linkItem.items != null &&
77
- Array.isArray(linkItem.items) &&
78
- linkItem.items.length > 0 ? (
79
- <ul className="footer__items">
80
- {linkItem.items.map((item, key) =>
81
- item.html ? (
82
- <li
83
- key={key}
84
- className="footer__item"
85
- // Developer provided the HTML, so assume it's safe.
86
- // eslint-disable-next-line react/no-danger
87
- dangerouslySetInnerHTML={{
88
- __html: item.html,
89
- }}
90
- />
91
- ) : (
92
- <li key={item.href || item.to} className="footer__item">
93
- <FooterLink {...item} />
94
- </li>
95
- ),
96
- )}
97
- </ul>
98
- ) : null}
99
- </div>
100
- ))}
101
- </div>
102
- )}
155
+ <div className="container container-fluid">
156
+ {links &&
157
+ links.length > 0 &&
158
+ (isMultiColumnFooterLinks(links) ? (
159
+ <div className="row footer__links">
160
+ <MultiColumnLinks links={links} />
161
+ </div>
162
+ ) : (
163
+ <div className="footer__links text--center">
164
+ <SimpleLinks links={links} />
165
+ </div>
166
+ ))}
103
167
  {(logo || copyright) && (
104
168
  <div className="footer__bottom text--center">
105
169
  {logo && (logo.src || logo.srcDark) && (
106
170
  <div className="margin-bottom--sm">
107
171
  {logo.href ? (
108
172
  <Link href={logo.href} className={styles.footerLogoLink}>
109
- <FooterLogo alt={logo.alt} sources={sources} />
173
+ <FooterLogo
174
+ alt={logo.alt}
175
+ sources={sources}
176
+ width={logo.width}
177
+ height={logo.height}
178
+ />
110
179
  </Link>
111
180
  ) : (
112
- <FooterLogo alt={logo.alt} sources={sources} />
181
+ <FooterLogo
182
+ alt={logo.alt}
183
+ sources={sources}
184
+ width={logo.width}
185
+ height={logo.height}
186
+ />
113
187
  )}
114
188
  </div>
115
189
  )}
@@ -130,4 +204,4 @@ function Footer(): JSX.Element | null {
130
204
  );
131
205
  }
132
206
 
133
- export default Footer;
207
+ export default React.memo(Footer);
@@ -7,7 +7,8 @@
7
7
 
8
8
  .footerLogoLink {
9
9
  opacity: 0.5;
10
- transition: opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default);
10
+ transition: opacity var(--ifm-transition-fast)
11
+ var(--ifm-transition-timing-default);
11
12
  }
12
13
 
13
14
  .footerLogoLink:hover {
@@ -5,50 +5,56 @@
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
- import type {HeadingType, Props} from '@theme/Heading';
10
+ import type {Props} from '@theme/Heading';
13
11
  import {translate} from '@docusaurus/Translate';
14
12
  import {useThemeConfig} from '@docusaurus/theme-common';
15
13
 
16
- import './styles.css';
17
14
  import styles from './styles.module.css';
18
15
 
19
- const Heading = (Tag: HeadingType): ((props: Props) => JSX.Element) =>
20
- function TargetComponent({id, ...props}) {
21
- const {
22
- navbar: {hideOnScroll},
23
- } = useThemeConfig();
16
+ function AnchorHeading({as: As, id, ...props}: Props) {
17
+ const {
18
+ navbar: {hideOnScroll},
19
+ } = useThemeConfig();
20
+
21
+ if (!id) {
22
+ return <As {...props} />;
23
+ }
24
24
 
25
- if (!id) {
26
- return <Tag {...props} />;
27
- }
25
+ return (
26
+ <As
27
+ {...props}
28
+ className={clsx('anchor', {
29
+ [styles.anchorWithHideOnScrollNavbar]: hideOnScroll,
30
+ [styles.anchorWithStickyNavbar]: !hideOnScroll,
31
+ })}
32
+ id={id}>
33
+ {props.children}
34
+ <a
35
+ className="hash-link"
36
+ href={`#${id}`}
37
+ title={translate({
38
+ id: 'theme.common.headingLinkTitle',
39
+ message: 'Direct link to heading',
40
+ description: 'Title for link to heading',
41
+ })}>
42
+ &#8203;
43
+ </a>
44
+ </As>
45
+ );
46
+ }
28
47
 
48
+ export default function Heading({as, ...props}: Props): JSX.Element {
49
+ if (as === 'h1') {
29
50
  return (
30
- <Tag {...props}>
31
- <a
32
- aria-hidden="true"
33
- tabIndex={-1}
34
- className={clsx('anchor', {
35
- [styles.enhancedAnchor]: !hideOnScroll,
36
- })}
37
- id={id}
38
- />
51
+ <h1
52
+ {...props}
53
+ id={undefined} // h1 headings do not need an id because they don't appear in the TOC
54
+ >
39
55
  {props.children}
40
- <a
41
- className="hash-link"
42
- href={`#${id}`}
43
- title={translate({
44
- id: 'theme.common.headingLinkTitle',
45
- message: 'Direct link to heading',
46
- description: 'Title for link to heading',
47
- })}>
48
- #
49
- </a>
50
- </Tag>
56
+ </h1>
51
57
  );
52
- };
53
-
54
- export default Heading;
58
+ }
59
+ return <AnchorHeading as={as} {...props} />;
60
+ }
@@ -5,6 +5,31 @@
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);
15
+ }
16
+
17
+ .anchorWithHideOnScrollNavbar {
18
+ scroll-margin-top: 0.5rem;
19
+ }
20
+
21
+ :global(.hash-link) {
22
+ opacity: 0;
23
+ padding-left: 0.5rem;
24
+ transition: opacity var(--ifm-transition-fast);
25
+ user-select: none;
26
+ }
27
+
28
+ :global(.hash-link::before) {
29
+ content: '#';
30
+ }
31
+
32
+ :global(.hash-link:focus),
33
+ :global(*:hover > .hash-link) {
34
+ opacity: 1;
10
35
  }
@@ -8,15 +8,13 @@
8
8
  import React from 'react';
9
9
  import type {Props} from '@theme/IconArrow';
10
10
 
11
- const IconArrow = (props: Props): JSX.Element => {
11
+ export default function IconArrow(props: Props): JSX.Element {
12
12
  return (
13
- <svg width="20" height="20" role="img" {...props}>
13
+ <svg width="20" height="20" aria-hidden="true" {...props}>
14
14
  <g fill="#7a7a7a">
15
15
  <path d="M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0" />
16
16
  <path d="M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0" />
17
17
  </g>
18
18
  </svg>
19
19
  );
20
- };
21
-
22
- export default IconArrow;
20
+ }
@@ -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
+ }
@@ -12,23 +12,22 @@ import type {Props} from '@theme/IconEdit';
12
12
 
13
13
  import styles from './styles.module.css';
14
14
 
15
- const IconEdit = ({className, ...restProps}: Props): JSX.Element => {
15
+ export default function IconEdit({
16
+ className,
17
+ ...restProps
18
+ }: Props): JSX.Element {
16
19
  return (
17
20
  <svg
18
21
  fill="currentColor"
19
- height="1.2em"
20
- width="1.2em"
21
- preserveAspectRatio="xMidYMid meet"
22
- role="img"
22
+ height="20"
23
+ width="20"
23
24
  viewBox="0 0 40 40"
24
25
  className={clsx(styles.iconEdit, className)}
25
- aria-label="Edit page"
26
+ aria-hidden="true"
26
27
  {...restProps}>
27
28
  <g>
28
29
  <path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z" />
29
30
  </g>
30
31
  </svg>
31
32
  );
32
- };
33
-
34
- export default IconEdit;
33
+ }
@@ -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 type {Props} from '@theme/IconExternalLink';
10
+
11
+ import styles from './styles.module.css';
12
+
13
+ export default function IconExternalLink({
14
+ width = 13.5,
15
+ height = 13.5,
16
+ }: Props): JSX.Element {
17
+ return (
18
+ <svg
19
+ width={width}
20
+ height={height}
21
+ aria-hidden="true"
22
+ viewBox="0 0 24 24"
23
+ className={styles.iconExternalLink}>
24
+ <path
25
+ fill="currentColor"
26
+ d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"
27
+ />
28
+ </svg>
29
+ );
30
+ }
@@ -5,6 +5,8 @@
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
+ .iconExternalLink {
9
+ margin-left: 0.3rem;
10
+ position: relative;
11
+ top: 1px;
10
12
  }
@@ -8,17 +8,17 @@
8
8
  import React from 'react';
9
9
  import type {Props} from '@theme/IconLanguage';
10
10
 
11
- const IconLanguage = ({
11
+ export default function IconLanguage({
12
12
  width = 20,
13
13
  height = 20,
14
14
  ...props
15
- }: Props): JSX.Element => {
15
+ }: Props): JSX.Element {
16
16
  return (
17
17
  <svg
18
- xmlns="http://www.w3.org/2000/svg"
19
18
  viewBox="0 0 20 20"
20
19
  width={width}
21
20
  height={height}
21
+ aria-hidden="true"
22
22
  {...props}>
23
23
  <path
24
24
  fill="currentColor"
@@ -26,6 +26,4 @@ const IconLanguage = ({
26
26
  />
27
27
  </svg>
28
28
  );
29
- };
30
-
31
- export default IconLanguage;
29
+ }
@@ -8,23 +8,20 @@
8
8
  import React from 'react';
9
9
  import type {Props} from '@theme/IconMenu';
10
10
 
11
- const IconMenu = ({
11
+ export default function IconMenu({
12
12
  width = 30,
13
13
  height = 30,
14
14
  className,
15
15
  ...restProps
16
- }: Props): JSX.Element => {
16
+ }: Props): JSX.Element {
17
17
  return (
18
18
  <svg
19
- aria-label="Menu"
20
19
  className={className}
21
20
  width={width}
22
21
  height={height}
23
22
  viewBox="0 0 30 30"
24
- role="img"
25
- focusable="false"
23
+ aria-hidden="true"
26
24
  {...restProps}>
27
- <title>Menu</title>
28
25
  <path
29
26
  stroke="currentColor"
30
27
  strokeLinecap="round"
@@ -34,6 +31,4 @@ const IconMenu = ({
34
31
  />
35
32
  </svg>
36
33
  );
37
- };
38
-
39
- export default IconMenu;
34
+ }