@docusaurus/theme-classic 2.0.0-beta.16 → 2.0.0-beta.19

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 (319) hide show
  1. package/lib/admonitions.css +4 -0
  2. package/lib/default.css +3038 -0
  3. package/lib/getSwizzleConfig.js +177 -36
  4. package/lib/index.js +10 -15
  5. package/lib/nprogress.css +41 -0
  6. package/lib/nprogress.js +46 -0
  7. package/lib/theme-classic.d.ts +600 -76
  8. package/lib/translations.js +12 -2
  9. package/lib/validateThemeConfig.js +77 -28
  10. package/lib-next/theme/BackToTopButton/index.js +6 -104
  11. package/lib-next/theme/BlogArchivePage/index.js +14 -10
  12. package/lib-next/theme/BlogLayout/index.js +1 -5
  13. package/lib-next/theme/BlogListPage/index.js +34 -13
  14. package/lib-next/theme/BlogListPaginator/index.js +25 -28
  15. package/lib-next/theme/BlogPostAuthor/index.js +16 -7
  16. package/lib-next/theme/BlogPostItem/index.js +6 -6
  17. package/lib-next/theme/BlogPostItem/styles.module.css +9 -0
  18. package/lib-next/theme/BlogPostPage/index.js +56 -45
  19. package/lib-next/theme/BlogPostPaginator/index.js +25 -28
  20. package/lib-next/theme/BlogSidebar/Desktop/index.js +41 -0
  21. package/lib-next/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +1 -2
  22. package/lib-next/theme/BlogSidebar/Mobile/index.js +36 -0
  23. package/lib-next/theme/BlogSidebar/index.js +11 -31
  24. package/lib-next/theme/BlogTagsListPage/index.js +17 -14
  25. package/lib-next/theme/BlogTagsPostsPage/index.js +43 -38
  26. package/lib-next/theme/CodeBlock/Container/index.js +29 -0
  27. package/lib-next/theme/CodeBlock/Container/styles.module.css +14 -0
  28. package/lib-next/theme/CodeBlock/Content/Element.js +23 -0
  29. package/lib-next/theme/CodeBlock/Content/String.js +104 -0
  30. package/lib-next/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +39 -29
  31. package/lib-next/theme/CodeBlock/CopyButton/index.js +61 -0
  32. package/lib-next/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  33. package/lib-next/theme/CodeBlock/Line/index.js +49 -0
  34. package/lib-next/theme/CodeBlock/Line/styles.module.css +51 -0
  35. package/lib-next/theme/CodeBlock/WordWrapButton/index.js +40 -0
  36. package/lib-next/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  37. package/lib-next/theme/CodeBlock/index.js +26 -164
  38. package/lib-next/theme/ColorModeToggle/index.js +62 -0
  39. package/lib-next/theme/ColorModeToggle/styles.module.css +35 -0
  40. package/lib-next/theme/Details/index.js +1 -1
  41. package/lib-next/theme/DocBreadcrumbs/index.js +63 -19
  42. package/lib-next/theme/DocBreadcrumbs/styles.module.css +8 -15
  43. package/lib-next/theme/DocCard/index.js +17 -15
  44. package/lib-next/theme/DocCard/styles.module.css +8 -17
  45. package/lib-next/theme/DocCardList/index.js +20 -6
  46. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +30 -9
  47. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +8 -0
  48. package/lib-next/theme/DocItem/index.js +85 -67
  49. package/lib-next/theme/DocItem/styles.module.css +6 -0
  50. package/lib-next/theme/DocPage/Layout/Main/index.js +29 -0
  51. package/lib-next/theme/DocPage/Layout/Main/styles.module.css +28 -0
  52. package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
  53. package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  54. package/lib-next/theme/DocPage/Layout/Sidebar/index.js +68 -0
  55. package/lib-next/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
  56. package/lib-next/theme/DocPage/Layout/index.js +34 -0
  57. package/lib-next/theme/{BlogPostAuthor/styles.module.css → DocPage/Layout/index.module.css} +6 -3
  58. package/lib-next/theme/DocPage/index.js +30 -149
  59. package/lib-next/theme/DocPaginator/index.js +25 -28
  60. package/lib-next/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
  61. package/lib-next/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  62. package/lib-next/theme/DocSidebar/Desktop/Content/index.js +46 -0
  63. package/lib-next/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  64. package/lib-next/theme/DocSidebar/Desktop/index.js +36 -0
  65. package/lib-next/theme/DocSidebar/Desktop/styles.module.css +50 -0
  66. package/lib-next/theme/DocSidebar/Mobile/index.js +49 -0
  67. package/lib-next/theme/DocSidebar/index.js +6 -113
  68. package/lib-next/theme/DocSidebarItem/Category.js +197 -0
  69. package/lib-next/theme/DocSidebarItem/Html.js +27 -0
  70. package/lib-next/theme/DocSidebarItem/{styles.module.css → Html.module.css} +0 -0
  71. package/lib-next/theme/DocSidebarItem/Link.js +53 -0
  72. package/lib-next/theme/DocSidebarItem/Link.module.css +10 -0
  73. package/lib-next/theme/DocSidebarItem/index.js +4 -245
  74. package/lib-next/theme/DocSidebarItems/index.js +1 -6
  75. package/lib-next/theme/DocTagDocListPage/index.js +40 -33
  76. package/lib-next/theme/DocTagsListPage/index.js +21 -16
  77. package/lib-next/theme/DocVersionBanner/index.js +2 -2
  78. package/lib-next/theme/Footer/Copyright/index.js +18 -0
  79. package/lib-next/theme/Footer/Layout/index.js +26 -0
  80. package/lib-next/theme/Footer/LinkItem/index.js +33 -0
  81. package/lib-next/theme/Footer/Links/MultiColumn/index.js +47 -0
  82. package/lib-next/theme/Footer/Links/Simple/index.js +41 -0
  83. package/lib-next/theme/Footer/Links/index.js +17 -0
  84. package/lib-next/theme/Footer/Logo/index.js +38 -0
  85. package/lib-next/theme/Footer/{styles.module.css → Logo/styles.module.css} +0 -0
  86. package/lib-next/theme/Footer/index.js +11 -163
  87. package/lib-next/theme/Heading/index.js +10 -24
  88. package/lib-next/theme/IconDarkMode/index.js +17 -0
  89. package/lib-next/theme/IconExternalLink/styles.module.css +0 -2
  90. package/lib-next/theme/IconHome/index.js +17 -0
  91. package/lib-next/theme/IconLanguage/index.js +3 -3
  92. package/lib-next/theme/IconLightMode/index.js +17 -0
  93. package/lib-next/theme/LastUpdated/index.js +1 -0
  94. package/lib-next/theme/Layout/index.js +15 -10
  95. package/lib-next/theme/LayoutProviders/index.js +5 -4
  96. package/lib-next/theme/MDXComponents/A.js +11 -0
  97. package/lib-next/theme/MDXComponents/Code.js +28 -0
  98. package/lib-next/theme/MDXComponents/Details.js +20 -0
  99. package/lib-next/theme/MDXComponents/Head.js +26 -0
  100. package/lib-next/theme/MDXComponents/Heading.js +11 -0
  101. package/lib-next/theme/MDXComponents/Img.js +24 -0
  102. package/{src/theme/MDXComponents/styles.css → lib-next/theme/MDXComponents/Img.module.css} +1 -6
  103. package/lib-next/theme/MDXComponents/Pre.js +18 -0
  104. package/lib-next/theme/MDXComponents/Ul.js +21 -0
  105. package/lib-next/theme/MDXComponents/index.js +22 -57
  106. package/lib-next/theme/MDXContent/index.js +12 -0
  107. package/lib-next/theme/MDXPage/index.js +33 -28
  108. package/lib-next/theme/Navbar/ColorModeToggle/index.js +25 -0
  109. package/lib-next/theme/Navbar/Content/index.js +75 -0
  110. package/lib-next/theme/Navbar/Content/styles.module.css +15 -0
  111. package/lib-next/theme/Navbar/Layout/index.js +54 -0
  112. package/{src/theme/Navbar → lib-next/theme/Navbar/Layout}/styles.module.css +0 -13
  113. package/lib-next/theme/Navbar/Logo/index.js +17 -0
  114. package/lib-next/theme/Navbar/MobileSidebar/Header/index.js +33 -0
  115. package/lib-next/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
  116. package/lib-next/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
  117. package/lib-next/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
  118. package/lib-next/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
  119. package/lib-next/theme/Navbar/MobileSidebar/index.js +31 -0
  120. package/lib-next/theme/Navbar/Search/index.js +11 -0
  121. package/lib-next/theme/Navbar/Search/styles.module.css +20 -0
  122. package/lib-next/theme/Navbar/index.js +6 -271
  123. package/lib-next/theme/NavbarItem/ComponentTypes.js +27 -0
  124. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +2 -6
  125. package/lib-next/theme/NavbarItem/DocNavbarItem.js +11 -28
  126. package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +10 -42
  127. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +25 -29
  128. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +2 -9
  129. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +14 -3
  130. package/lib-next/theme/NavbarItem/HtmlNavbarItem.js +30 -0
  131. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +5 -10
  132. package/lib-next/theme/NavbarItem/NavbarNavLink.js +49 -35
  133. package/lib-next/theme/NavbarItem/SearchNavbarItem.js +6 -1
  134. package/lib-next/theme/NavbarItem/index.js +4 -23
  135. package/lib-next/theme/NavbarItem/utils.js +2 -1
  136. package/lib-next/theme/NotFound.js +38 -33
  137. package/lib-next/theme/PaginatorNavLink/index.js +8 -2
  138. package/lib-next/theme/SearchMetadata/index.js +9 -0
  139. package/lib-next/theme/{LayoutHead → SiteMetadata}/index.js +19 -33
  140. package/lib-next/theme/SkipToContent/index.js +3 -29
  141. package/lib-next/theme/TOCCollapsible/CollapseButton.js +29 -0
  142. package/{src/theme/TOCCollapsible/styles.module.css → lib-next/theme/TOCCollapsible/CollapseButton.module.css} +1 -22
  143. package/lib-next/theme/TOCCollapsible/index.js +4 -16
  144. package/lib-next/theme/TOCCollapsible/index.module.css +31 -0
  145. package/lib-next/theme/TOCItems/Tree.js +40 -0
  146. package/lib-next/theme/TOCItems/index.js +3 -34
  147. package/lib-next/theme/TabItem/index.js +3 -1
  148. package/lib-next/theme/TabItem/styles.module.css +10 -0
  149. package/lib-next/theme/Tabs/__tests__/index.test.js +8 -8
  150. package/lib-next/theme/Tabs/index.js +5 -5
  151. package/lib-next/theme/Tabs/styles.module.css +4 -0
  152. package/lib-next/theme/Tag/index.js +6 -7
  153. package/lib-next/theme/TagsListInline/index.js +1 -1
  154. package/lib-next/theme/ThemedImage/index.js +3 -3
  155. package/package.json +25 -20
  156. package/src/admonitions.css +4 -0
  157. package/src/getSwizzleConfig.ts +173 -22
  158. package/src/index.ts +14 -15
  159. package/src/nprogress.css +41 -0
  160. package/src/nprogress.ts +31 -0
  161. package/src/theme/BackToTopButton/index.tsx +5 -114
  162. package/src/theme/BlogArchivePage/index.tsx +18 -17
  163. package/src/theme/BlogLayout/index.tsx +1 -5
  164. package/src/theme/BlogListPage/index.tsx +32 -13
  165. package/src/theme/BlogListPaginator/index.tsx +25 -28
  166. package/src/theme/BlogPostAuthor/index.tsx +14 -8
  167. package/src/theme/BlogPostItem/index.tsx +6 -6
  168. package/src/theme/BlogPostItem/styles.module.css +9 -0
  169. package/src/theme/BlogPostPage/index.tsx +55 -48
  170. package/src/theme/BlogPostPaginator/index.tsx +25 -28
  171. package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
  172. package/src/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +1 -2
  173. package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
  174. package/src/theme/BlogSidebar/index.tsx +10 -31
  175. package/src/theme/BlogTagsListPage/index.tsx +17 -14
  176. package/src/theme/BlogTagsPostsPage/index.tsx +46 -36
  177. package/src/theme/CodeBlock/Container/index.tsx +35 -0
  178. package/src/theme/CodeBlock/Container/styles.module.css +14 -0
  179. package/src/theme/CodeBlock/Content/Element.tsx +30 -0
  180. package/src/theme/CodeBlock/Content/String.tsx +111 -0
  181. package/src/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +39 -29
  182. package/src/theme/CodeBlock/CopyButton/index.tsx +67 -0
  183. package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  184. package/src/theme/CodeBlock/Line/index.tsx +48 -0
  185. package/src/theme/CodeBlock/Line/styles.module.css +51 -0
  186. package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
  187. package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  188. package/src/theme/CodeBlock/index.tsx +29 -165
  189. package/src/theme/ColorModeToggle/index.tsx +67 -0
  190. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  191. package/src/theme/Details/index.tsx +1 -1
  192. package/src/theme/DocBreadcrumbs/index.tsx +65 -16
  193. package/src/theme/DocBreadcrumbs/styles.module.css +8 -15
  194. package/src/theme/DocCard/index.tsx +24 -17
  195. package/src/theme/DocCard/styles.module.css +8 -17
  196. package/src/theme/DocCardList/index.tsx +19 -10
  197. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +34 -7
  198. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +8 -0
  199. package/src/theme/DocItem/index.tsx +72 -56
  200. package/src/theme/DocItem/styles.module.css +6 -0
  201. package/src/theme/DocPage/Layout/Main/index.tsx +37 -0
  202. package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
  203. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
  204. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  205. package/src/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
  206. package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
  207. package/src/theme/{BlogPostAuthor/styles.module.css → DocPage/Layout/index.module.css} +6 -3
  208. package/src/theme/DocPage/Layout/index.tsx +39 -0
  209. package/src/theme/DocPage/index.tsx +30 -160
  210. package/src/theme/DocPaginator/index.tsx +25 -28
  211. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
  212. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  213. package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
  214. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  215. package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
  216. package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
  217. package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
  218. package/src/theme/DocSidebar/index.tsx +6 -121
  219. package/src/theme/DocSidebarItem/Category.tsx +210 -0
  220. package/src/theme/DocSidebarItem/{styles.module.css → Html.module.css} +0 -0
  221. package/src/theme/DocSidebarItem/Html.tsx +34 -0
  222. package/src/theme/DocSidebarItem/Link.module.css +10 -0
  223. package/src/theme/DocSidebarItem/Link.tsx +58 -0
  224. package/src/theme/DocSidebarItem/index.tsx +4 -260
  225. package/src/theme/DocSidebarItems/index.tsx +1 -6
  226. package/src/theme/DocTagDocListPage/index.tsx +40 -33
  227. package/src/theme/DocTagsListPage/index.tsx +21 -16
  228. package/src/theme/DocVersionBanner/index.tsx +5 -6
  229. package/src/theme/Footer/Copyright/index.tsx +20 -0
  230. package/src/theme/Footer/Layout/index.tsx +34 -0
  231. package/src/theme/Footer/LinkItem/index.tsx +36 -0
  232. package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
  233. package/src/theme/Footer/Links/Simple/index.tsx +42 -0
  234. package/src/theme/Footer/Links/index.tsx +21 -0
  235. package/src/theme/Footer/Logo/index.tsx +41 -0
  236. package/src/theme/Footer/{styles.module.css → Logo/styles.module.css} +0 -0
  237. package/src/theme/Footer/index.tsx +12 -186
  238. package/src/theme/Heading/index.tsx +10 -22
  239. package/src/theme/IconDarkMode/index.tsx +20 -0
  240. package/src/theme/IconExternalLink/styles.module.css +0 -2
  241. package/src/theme/IconHome/index.tsx +20 -0
  242. package/src/theme/IconLanguage/index.tsx +3 -3
  243. package/src/theme/IconLightMode/index.tsx +20 -0
  244. package/src/theme/LastUpdated/index.tsx +1 -0
  245. package/src/theme/Layout/index.tsx +15 -10
  246. package/src/theme/LayoutProviders/index.tsx +5 -4
  247. package/src/theme/MDXComponents/A.tsx +14 -0
  248. package/src/theme/MDXComponents/Code.tsx +37 -0
  249. package/src/theme/MDXComponents/Details.tsx +25 -0
  250. package/src/theme/MDXComponents/Head.tsx +29 -0
  251. package/src/theme/MDXComponents/Heading.tsx +14 -0
  252. package/{lib-next/theme/MDXComponents/styles.css → src/theme/MDXComponents/Img.module.css} +1 -6
  253. package/src/theme/MDXComponents/Img.tsx +26 -0
  254. package/src/theme/MDXComponents/Pre.tsx +22 -0
  255. package/src/theme/MDXComponents/Ul.tsx +24 -0
  256. package/src/theme/MDXComponents/index.tsx +23 -66
  257. package/src/theme/MDXContent/index.tsx +15 -0
  258. package/src/theme/MDXPage/index.tsx +33 -28
  259. package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
  260. package/src/theme/Navbar/Content/index.tsx +86 -0
  261. package/src/theme/Navbar/Content/styles.module.css +15 -0
  262. package/src/theme/Navbar/Layout/index.tsx +57 -0
  263. package/{lib-next/theme/Navbar → src/theme/Navbar/Layout}/styles.module.css +0 -13
  264. package/src/theme/Navbar/Logo/index.tsx +19 -0
  265. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
  266. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
  267. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
  268. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +38 -0
  269. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  270. package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
  271. package/src/theme/Navbar/Search/index.tsx +15 -0
  272. package/src/theme/Navbar/Search/styles.module.css +20 -0
  273. package/src/theme/Navbar/index.tsx +6 -286
  274. package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
  275. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +2 -2
  276. package/src/theme/NavbarItem/DocNavbarItem.tsx +13 -32
  277. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +9 -49
  278. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +26 -33
  279. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +3 -10
  280. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +15 -3
  281. package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
  282. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +5 -9
  283. package/src/theme/NavbarItem/NavbarNavLink.tsx +41 -29
  284. package/src/theme/NavbarItem/SearchNavbarItem.tsx +6 -1
  285. package/src/theme/NavbarItem/index.tsx +9 -39
  286. package/src/theme/NavbarItem/utils.ts +5 -2
  287. package/src/theme/NotFound.tsx +38 -33
  288. package/src/theme/PaginatorNavLink/index.tsx +8 -2
  289. package/src/theme/SearchMetadata/index.tsx +9 -0
  290. package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +19 -33
  291. package/src/theme/SkipToContent/index.tsx +3 -29
  292. package/{lib-next/theme/TOCCollapsible/styles.module.css → src/theme/TOCCollapsible/CollapseButton.module.css} +1 -22
  293. package/src/theme/TOCCollapsible/CollapseButton.tsx +35 -0
  294. package/src/theme/TOCCollapsible/index.module.css +31 -0
  295. package/src/theme/TOCCollapsible/index.tsx +4 -17
  296. package/src/theme/TOCItems/Tree.tsx +46 -0
  297. package/src/theme/TOCItems/index.tsx +2 -41
  298. package/src/theme/TabItem/index.tsx +7 -1
  299. package/src/theme/TabItem/styles.module.css +10 -0
  300. package/src/theme/Tabs/index.tsx +8 -9
  301. package/src/theme/Tabs/styles.module.css +4 -0
  302. package/src/theme/Tag/index.tsx +6 -8
  303. package/src/theme/TagsListInline/index.tsx +1 -1
  304. package/src/theme/ThemedImage/index.tsx +4 -3
  305. package/src/theme-classic.d.ts +600 -76
  306. package/src/translations.ts +12 -6
  307. package/src/validateThemeConfig.ts +90 -39
  308. package/lib/types.d.ts +0 -11
  309. package/lib-next/theme/DocPage/styles.module.css +0 -86
  310. package/lib-next/theme/DocSidebar/styles.module.css +0 -107
  311. package/lib-next/theme/Seo/index.js +0 -40
  312. package/lib-next/theme/Toggle/index.js +0 -100
  313. package/lib-next/theme/Toggle/styles.module.css +0 -106
  314. package/src/theme/DocPage/styles.module.css +0 -86
  315. package/src/theme/DocSidebar/styles.module.css +0 -107
  316. package/src/theme/Seo/index.tsx +0 -49
  317. package/src/theme/Toggle/index.tsx +0 -117
  318. package/src/theme/Toggle/styles.module.css +0 -106
  319. package/src/types.d.ts +0 -11
@@ -13,26 +13,47 @@ import {
13
13
  import styles from './styles.module.css';
14
14
  import clsx from 'clsx';
15
15
  import Link from '@docusaurus/Link';
16
- import useBaseUrl from '@docusaurus/useBaseUrl'; // TODO move to design system folder
16
+ import useBaseUrl from '@docusaurus/useBaseUrl';
17
+ import {translate} from '@docusaurus/Translate';
18
+ import IconHome from '@theme/IconHome'; // TODO move to design system folder
19
+
20
+ function BreadcrumbsItemLink({children, href, isLast}) {
21
+ const className = 'breadcrumbs__link';
22
+
23
+ if (isLast) {
24
+ return (
25
+ <span className={className} itemProp="name">
26
+ {children}
27
+ </span>
28
+ );
29
+ }
17
30
 
18
- function BreadcrumbsItemLink({children, href}) {
19
- const className = clsx('breadcrumbs__link', styles.breadcrumbsItemLink);
20
31
  return href ? (
21
- <Link className={className} href={href}>
22
- {children}
23
- </Link>
32
+ <Link className={className} href={href} itemProp="item">
33
+ <span itemProp="name">{children}</span>
34
+ </Link> // TODO Google search console doesn't like breadcrumb items without href.
24
35
  ) : (
36
+ // The schema doesn't seem to require `id` for each `item`, although Google
37
+ // insist to infer one, even if it's invalid. Removing `itemProp="item
38
+ // name"` for now, since I don't know how to properly fix it.
39
+ // See https://github.com/facebook/docusaurus/issues/7241
25
40
  <span className={className}>{children}</span>
26
41
  );
27
42
  } // TODO move to design system folder
28
43
 
29
- function BreadcrumbsItem({children, active}) {
44
+ function BreadcrumbsItem({children, active, index, addMicrodata}) {
30
45
  return (
31
46
  <li
47
+ {...(addMicrodata && {
48
+ itemScope: true,
49
+ itemProp: 'itemListElement',
50
+ itemType: 'https://schema.org/ListItem',
51
+ })}
32
52
  className={clsx('breadcrumbs__item', {
33
53
  'breadcrumbs__item--active': active,
34
54
  })}>
35
55
  {children}
56
+ <meta itemProp="position" content={String(index + 1)} />
36
57
  </li>
37
58
  );
38
59
  }
@@ -40,9 +61,18 @@ function BreadcrumbsItem({children, active}) {
40
61
  function HomeBreadcrumbItem() {
41
62
  const homeHref = useBaseUrl('/');
42
63
  return (
43
- <BreadcrumbsItem>
44
- <BreadcrumbsItemLink href={homeHref}>🏠</BreadcrumbsItemLink>
45
- </BreadcrumbsItem>
64
+ <li className="breadcrumbs__item">
65
+ <Link
66
+ aria-label={translate({
67
+ id: 'theme.docs.breadcrumbs.home',
68
+ message: 'Home page',
69
+ description: 'The ARIA label for the home page in the breadcrumbs',
70
+ })}
71
+ className={clsx('breadcrumbs__link', styles.breadcrumbsItemLink)}
72
+ href={homeHref}>
73
+ <IconHome className={styles.breadcrumbHomeIcon} />
74
+ </Link>
75
+ </li>
46
76
  );
47
77
  }
48
78
 
@@ -60,16 +90,30 @@ export default function DocBreadcrumbs() {
60
90
  ThemeClassNames.docs.docBreadcrumbs,
61
91
  styles.breadcrumbsContainer,
62
92
  )}
63
- aria-label="breadcrumbs">
64
- <ul className="breadcrumbs">
93
+ aria-label={translate({
94
+ id: 'theme.docs.breadcrumbs.navAriaLabel',
95
+ message: 'Breadcrumbs',
96
+ description: 'The ARIA label for the breadcrumbs',
97
+ })}>
98
+ <ul
99
+ className="breadcrumbs"
100
+ itemScope
101
+ itemType="https://schema.org/BreadcrumbList">
65
102
  {homePageRoute && <HomeBreadcrumbItem />}
66
- {breadcrumbs.map((item, idx) => (
67
- <BreadcrumbsItem key={idx} active={idx === breadcrumbs.length - 1}>
68
- <BreadcrumbsItemLink href={item.href}>
69
- {item.label}
70
- </BreadcrumbsItemLink>
71
- </BreadcrumbsItem>
72
- ))}
103
+ {breadcrumbs.map((item, idx) => {
104
+ const isLast = idx === breadcrumbs.length - 1;
105
+ return (
106
+ <BreadcrumbsItem
107
+ key={idx}
108
+ active={isLast}
109
+ index={idx}
110
+ addMicrodata={!!item.href}>
111
+ <BreadcrumbsItemLink href={item.href} isLast={isLast}>
112
+ {item.label}
113
+ </BreadcrumbsItemLink>
114
+ </BreadcrumbsItem>
115
+ );
116
+ })}
73
117
  </ul>
74
118
  </nav>
75
119
  );
@@ -6,21 +6,14 @@
6
6
  */
7
7
 
8
8
  .breadcrumbsContainer {
9
- margin-bottom: 0.4rem;
9
+ --ifm-breadcrumb-size-multiplier: 0.8;
10
+ margin-bottom: 0.8rem;
10
11
  }
11
12
 
12
- .breadcrumbsItemLink {
13
- --ifm-breadcrumb-size-multiplier: 0.7 !important;
14
- margin-bottom: 0.4rem;
15
- background: var(--ifm-color-gray-100);
16
- }
17
-
18
- html[data-theme='dark'] .breadcrumbsItemLink {
19
- background-color: var(--ifm-color-gray-900);
20
- }
21
-
22
- @media (min-width: 997px) {
23
- .breadcrumbsItemLink {
24
- --ifm-breadcrumb-size-multiplier: 0.8;
25
- }
13
+ .breadcrumbHomeIcon {
14
+ position: relative;
15
+ top: 1px;
16
+ vertical-align: top;
17
+ height: 1.1rem;
18
+ width: 1.1rem;
26
19
  }
@@ -13,17 +13,12 @@ import isInternalUrl from '@docusaurus/isInternalUrl';
13
13
  import {translate} from '@docusaurus/Translate';
14
14
 
15
15
  function CardContainer({href, children}) {
16
- const className = clsx(
17
- 'card margin-bottom--lg padding--lg',
18
- styles.cardContainer,
19
- href && styles.cardContainerLink,
20
- );
21
- return href ? (
22
- <Link href={href} className={className}>
16
+ return (
17
+ <Link
18
+ href={href}
19
+ className={clsx('card padding--lg', styles.cardContainer)}>
23
20
  {children}
24
21
  </Link>
25
- ) : (
26
- <div className={className}>{children}</div>
27
22
  );
28
23
  }
29
24
 
@@ -33,17 +28,24 @@ function CardLayout({href, icon, title, description}) {
33
28
  <h2 className={clsx('text--truncate', styles.cardTitle)} title={title}>
34
29
  {icon} {title}
35
30
  </h2>
36
- <div
37
- className={clsx('text--truncate', styles.cardDescription)}
38
- title={description}>
39
- {description}
40
- </div>
31
+ {description && (
32
+ <p
33
+ className={clsx('text--truncate', styles.cardDescription)}
34
+ title={description}>
35
+ {description}
36
+ </p>
37
+ )}
41
38
  </CardContainer>
42
39
  );
43
40
  }
44
41
 
45
42
  function CardCategory({item}) {
46
- const href = findFirstCategoryLink(item);
43
+ const href = findFirstCategoryLink(item); // Unexpected: categories that don't have a link have been filtered upfront
44
+
45
+ if (!href) {
46
+ return null;
47
+ }
48
+
47
49
  return (
48
50
  <CardLayout
49
51
  href={href}
@@ -6,38 +6,29 @@
6
6
  */
7
7
 
8
8
  .cardContainer {
9
- height: 8rem;
10
- color: var(--ifm-color-emphasis-800);
11
9
  --ifm-link-color: var(--ifm-color-emphasis-800);
12
- --ifm-link-hover-color: var(--ifm-color-emphasis-800);
10
+ --ifm-link-hover-color: var(--ifm-color-emphasis-700);
13
11
  --ifm-link-hover-decoration: none;
14
12
 
15
- /* box-shadow: var(--ifm-global-shadow-lw); */
16
13
  box-shadow: 0 1.5px 3px 0 rgb(0 0 0 / 15%);
17
14
  border: 1px solid var(--ifm-color-emphasis-200);
18
- transition: box-shadow var(--ifm-transition-fast) ease,
19
- background-color var(--ifm-transition-fast) ease;
15
+ transition: all var(--ifm-transition-fast) ease;
16
+ transition-property: border, box-shadow;
20
17
  }
21
18
 
22
- .cardContainer.cardContainerLink:hover {
23
- /* box-shadow: var(--ifm-global-shadow-md); */
24
- box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%);
19
+ .cardContainer:hover {
20
+ border-color: var(--ifm-color-primary);
21
+ box-shadow: 0 3px 6px 0 rgb(0 0 0 / 20%);
25
22
  }
26
23
 
27
- [data-theme='dark'] .cardContainer.cardContainerLink:hover {
28
- --ifm-card-background-color: #2d2d2d; /* original, non-hovered color is #242526 */
29
- }
30
-
31
- .cardContainer:not(.cardContainerLink) {
32
- cursor: not-allowed;
24
+ .cardContainer *:last-child {
25
+ margin-bottom: 0;
33
26
  }
34
27
 
35
28
  .cardTitle {
36
29
  font-size: 1.2rem;
37
- min-height: 1.2rem;
38
30
  }
39
31
 
40
32
  .cardDescription {
41
33
  font-size: 0.8rem;
42
- min-height: 0.8rem;
43
34
  }
@@ -5,15 +5,29 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React from 'react';
8
+ import clsx from 'clsx';
8
9
  import DocCard from '@theme/DocCard';
9
- export default function DocCardList({items}) {
10
+ import {findFirstCategoryLink} from '@docusaurus/theme-common';
11
+
12
+ // Filter categories that don't have a link.
13
+ function filterItems(items) {
14
+ return items.filter((item) => {
15
+ if (item.type === 'category') {
16
+ return !!findFirstCategoryLink(item);
17
+ }
18
+
19
+ return true;
20
+ });
21
+ }
22
+
23
+ export default function DocCardList({items, className}) {
10
24
  return (
11
- <div className="row">
12
- {items.map((item, index) => (
13
- <article key={index} className="col col--6">
14
- <DocCard item={item} />
25
+ <section className={clsx('row', className)}>
26
+ {filterItems(items).map((item, index) => (
27
+ <article key={index} className="col col--6 margin-bottom--lg">
28
+ <DocCard key={index} item={item} />
15
29
  </article>
16
30
  ))}
17
- </div>
31
+ </section>
18
32
  );
19
33
  }
@@ -5,23 +5,35 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React from 'react';
8
- import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
8
+ import {
9
+ PageMetadata,
10
+ useCurrentSidebarCategory,
11
+ } from '@docusaurus/theme-common';
9
12
  import DocCardList from '@theme/DocCardList';
10
13
  import DocPaginator from '@theme/DocPaginator';
11
- import Seo from '@theme/Seo';
12
14
  import DocVersionBanner from '@theme/DocVersionBanner';
13
15
  import DocVersionBadge from '@theme/DocVersionBadge';
14
16
  import DocBreadcrumbs from '@theme/DocBreadcrumbs';
15
17
  import Heading from '@theme/Heading';
16
18
  import useBaseUrl from '@docusaurus/useBaseUrl';
17
19
  import styles from './styles.module.css';
18
- export default function DocCategoryGeneratedIndexPage({
19
- categoryGeneratedIndex,
20
- }) {
20
+
21
+ function DocCategoryGeneratedIndexPageMetadata({categoryGeneratedIndex}) {
22
+ return (
23
+ <PageMetadata
24
+ title={categoryGeneratedIndex.title}
25
+ description={categoryGeneratedIndex.description}
26
+ keywords={categoryGeneratedIndex.keywords} // TODO `require` this?
27
+ image={useBaseUrl(categoryGeneratedIndex.image)}
28
+ />
29
+ );
30
+ }
31
+
32
+ function DocCategoryGeneratedIndexPageContent({categoryGeneratedIndex}) {
21
33
  const category = useCurrentSidebarCategory();
22
34
  return (
23
35
  <>
24
- <Seo
36
+ <PageMetadata
25
37
  title={categoryGeneratedIndex.title}
26
38
  description={categoryGeneratedIndex.description}
27
39
  keywords={categoryGeneratedIndex.keywords} // TODO `require` this?
@@ -39,9 +51,9 @@ export default function DocCategoryGeneratedIndexPage({
39
51
  <p>{categoryGeneratedIndex.description}</p>
40
52
  )}
41
53
  </header>
42
- <main className="margin-top--lg">
43
- <DocCardList items={category.items} />
44
- </main>
54
+ <article className="margin-top--lg">
55
+ <DocCardList items={category.items} className={styles.list} />
56
+ </article>
45
57
  <footer className="margin-top--lg">
46
58
  <DocPaginator
47
59
  previous={categoryGeneratedIndex.navigation.previous}
@@ -52,3 +64,12 @@ export default function DocCategoryGeneratedIndexPage({
52
64
  </>
53
65
  );
54
66
  }
67
+
68
+ export default function DocCategoryGeneratedIndexPage(props) {
69
+ return (
70
+ <>
71
+ <DocCategoryGeneratedIndexPageMetadata {...props} />
72
+ <DocCategoryGeneratedIndexPageContent {...props} />
73
+ </>
74
+ );
75
+ }
@@ -9,6 +9,10 @@
9
9
  .generatedIndexPage {
10
10
  max-width: 75% !important;
11
11
  }
12
+
13
+ .list article:nth-last-child(-n + 2) {
14
+ margin-bottom: 0 !important;
15
+ }
12
16
  }
13
17
 
14
18
  /* Duplicated from .markdown h1 */
@@ -16,3 +20,7 @@
16
20
  --ifm-h1-font-size: 3rem;
17
21
  margin-bottom: calc(1.25 * var(--ifm-leading));
18
22
  }
23
+
24
+ .list article:last-child {
25
+ margin-bottom: 0 !important;
26
+ }
@@ -9,27 +9,49 @@ import clsx from 'clsx';
9
9
  import DocPaginator from '@theme/DocPaginator';
10
10
  import DocVersionBanner from '@theme/DocVersionBanner';
11
11
  import DocVersionBadge from '@theme/DocVersionBadge';
12
- import Seo from '@theme/Seo';
13
12
  import DocItemFooter from '@theme/DocItemFooter';
14
13
  import TOC from '@theme/TOC';
15
14
  import TOCCollapsible from '@theme/TOCCollapsible';
16
15
  import Heading from '@theme/Heading';
17
16
  import styles from './styles.module.css';
18
- import {ThemeClassNames, useWindowSize} from '@docusaurus/theme-common';
17
+ import {
18
+ PageMetadata,
19
+ HtmlClassNameProvider,
20
+ ThemeClassNames,
21
+ useWindowSize,
22
+ } from '@docusaurus/theme-common';
19
23
  import DocBreadcrumbs from '@theme/DocBreadcrumbs';
20
- export default function DocItem(props) {
24
+ import MDXContent from '@theme/MDXContent';
25
+
26
+ function DocItemMetadata(props) {
21
27
  const {content: DocContent} = props;
22
28
  const {metadata, frontMatter, assets} = DocContent;
29
+ const {keywords} = frontMatter;
30
+ const {description, title} = metadata;
31
+ const image = assets.image ?? frontMatter.image;
32
+ return (
33
+ <PageMetadata
34
+ {...{
35
+ title,
36
+ description,
37
+ keywords,
38
+ image,
39
+ }}
40
+ />
41
+ );
42
+ }
43
+
44
+ function DocItemContent(props) {
45
+ const {content: DocContent} = props;
46
+ const {metadata, frontMatter} = DocContent;
23
47
  const {
24
- keywords,
25
48
  hide_title: hideTitle,
26
49
  hide_table_of_contents: hideTableOfContents,
27
50
  toc_min_heading_level: tocMinHeadingLevel,
28
51
  toc_max_heading_level: tocMaxHeadingLevel,
29
52
  } = frontMatter;
30
- const {description, title} = metadata;
31
- const image = assets.image ?? frontMatter.image; // We only add a title if:
32
- // - user asks to hide it with front matter
53
+ const {title} = metadata; // We only add a title if:
54
+ // - user doesn't ask to hide it with front matter
33
55
  // - the markdown content does not already contain a top-level h1 heading
34
56
 
35
57
  const shouldAddTitle =
@@ -40,73 +62,69 @@ export default function DocItem(props) {
40
62
  const renderTocDesktop =
41
63
  canRenderTOC && (windowSize === 'desktop' || windowSize === 'ssr');
42
64
  return (
43
- <>
44
- <Seo
45
- {...{
46
- title,
47
- description,
48
- keywords,
49
- image,
50
- }}
51
- />
52
-
53
- <div className="row">
54
- <div
55
- className={clsx('col', {
56
- [styles.docItemCol]: !hideTableOfContents,
57
- })}>
58
- <DocVersionBanner />
59
- <div className={styles.docItemContainer}>
60
- <article>
61
- <DocBreadcrumbs />
62
- <DocVersionBadge />
65
+ <div className="row">
66
+ <div className={clsx('col', !hideTableOfContents && styles.docItemCol)}>
67
+ <DocVersionBanner />
68
+ <div className={styles.docItemContainer}>
69
+ <article>
70
+ <DocBreadcrumbs />
71
+ <DocVersionBadge />
63
72
 
64
- {canRenderTOC && (
65
- <TOCCollapsible
66
- toc={DocContent.toc}
67
- minHeadingLevel={tocMinHeadingLevel}
68
- maxHeadingLevel={tocMaxHeadingLevel}
69
- className={clsx(
70
- ThemeClassNames.docs.docTocMobile,
71
- styles.tocMobile,
72
- )}
73
- />
74
- )}
75
-
76
- <div
77
- className={clsx(ThemeClassNames.docs.docMarkdown, 'markdown')}>
78
- {/*
79
- Title can be declared inside md content or declared through
80
- front matter and added manually. To make both cases consistent,
81
- the added title is added under the same div.markdown block
82
- See https://github.com/facebook/docusaurus/pull/4882#issuecomment-853021120
83
- */}
84
- {shouldAddTitle && (
85
- <header>
86
- <Heading as="h1">{title}</Heading>
87
- </header>
73
+ {canRenderTOC && (
74
+ <TOCCollapsible
75
+ toc={DocContent.toc}
76
+ minHeadingLevel={tocMinHeadingLevel}
77
+ maxHeadingLevel={tocMaxHeadingLevel}
78
+ className={clsx(
79
+ ThemeClassNames.docs.docTocMobile,
80
+ styles.tocMobile,
88
81
  )}
82
+ />
83
+ )}
89
84
 
85
+ <div className={clsx(ThemeClassNames.docs.docMarkdown, 'markdown')}>
86
+ {/*
87
+ Title can be declared inside md content or declared through
88
+ front matter and added manually. To make both cases consistent,
89
+ the added title is added under the same div.markdown block
90
+ See https://github.com/facebook/docusaurus/pull/4882#issuecomment-853021120
91
+ */}
92
+ {shouldAddTitle && (
93
+ <header>
94
+ <Heading as="h1">{title}</Heading>
95
+ </header>
96
+ )}
97
+ <MDXContent>
90
98
  <DocContent />
91
- </div>
99
+ </MDXContent>
100
+ </div>
92
101
 
93
- <DocItemFooter {...props} />
94
- </article>
102
+ <DocItemFooter {...props} />
103
+ </article>
95
104
 
96
- <DocPaginator previous={metadata.previous} next={metadata.next} />
97
- </div>
105
+ <DocPaginator previous={metadata.previous} next={metadata.next} />
98
106
  </div>
99
- {renderTocDesktop && (
100
- <div className="col col--3">
101
- <TOC
102
- toc={DocContent.toc}
103
- minHeadingLevel={tocMinHeadingLevel}
104
- maxHeadingLevel={tocMaxHeadingLevel}
105
- className={ThemeClassNames.docs.docTocDesktop}
106
- />
107
- </div>
108
- )}
109
107
  </div>
110
- </>
108
+ {renderTocDesktop && (
109
+ <div className="col col--3">
110
+ <TOC
111
+ toc={DocContent.toc}
112
+ minHeadingLevel={tocMinHeadingLevel}
113
+ maxHeadingLevel={tocMaxHeadingLevel}
114
+ className={ThemeClassNames.docs.docTocDesktop}
115
+ />
116
+ </div>
117
+ )}
118
+ </div>
119
+ );
120
+ }
121
+
122
+ export default function DocItem(props) {
123
+ const docHtmlClassName = `docs-doc-id-${props.content.metadata.unversionedId}`;
124
+ return (
125
+ <HtmlClassNameProvider className={docHtmlClassName}>
126
+ <DocItemMetadata {...props} />
127
+ <DocItemContent {...props} />
128
+ </HtmlClassNameProvider>
111
129
  );
112
130
  }
@@ -20,3 +20,9 @@
20
20
  display: none;
21
21
  }
22
22
  }
23
+
24
+ @media print {
25
+ .tocMobile {
26
+ display: none;
27
+ }
28
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import React from 'react';
8
+ import {useDocsSidebar} from '@docusaurus/theme-common';
9
+ import clsx from 'clsx';
10
+ import styles from './styles.module.css';
11
+ export default function DocPageLayoutMain({hiddenSidebarContainer, children}) {
12
+ const sidebar = useDocsSidebar();
13
+ return (
14
+ <main
15
+ className={clsx(
16
+ styles.docMainContainer,
17
+ (hiddenSidebarContainer || !sidebar) && styles.docMainContainerEnhanced,
18
+ )}>
19
+ <div
20
+ className={clsx(
21
+ 'container padding-top--md padding-bottom--lg',
22
+ styles.docItemWrapper,
23
+ hiddenSidebarContainer && styles.docItemWrapperEnhanced,
24
+ )}>
25
+ {children}
26
+ </div>
27
+ </main>
28
+ );
29
+ }
@@ -0,0 +1,28 @@
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
+ .docMainContainer {
9
+ display: flex;
10
+ width: 100%;
11
+ }
12
+
13
+ @media (min-width: 997px) {
14
+ .docMainContainer {
15
+ flex-grow: 1;
16
+ max-width: calc(100% - var(--doc-sidebar-width));
17
+ }
18
+
19
+ .docMainContainerEnhanced {
20
+ max-width: calc(100% - var(--doc-sidebar-hidden-width));
21
+ }
22
+
23
+ .docItemWrapperEnhanced {
24
+ max-width: calc(
25
+ var(--ifm-container-width) + var(--doc-sidebar-width)
26
+ ) !important;
27
+ }
28
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import React from 'react';
8
+ import IconArrow from '@theme/IconArrow';
9
+ import {translate} from '@docusaurus/Translate';
10
+ import styles from './styles.module.css';
11
+ export default function DocPageLayoutSidebarExpandButton({toggleSidebar}) {
12
+ return (
13
+ <div
14
+ className={styles.expandButton}
15
+ title={translate({
16
+ id: 'theme.docs.sidebar.expandButtonTitle',
17
+ message: 'Expand sidebar',
18
+ description:
19
+ 'The ARIA label and title attribute for expand button of doc sidebar',
20
+ })}
21
+ aria-label={translate({
22
+ id: 'theme.docs.sidebar.expandButtonAriaLabel',
23
+ message: 'Expand sidebar',
24
+ description:
25
+ 'The ARIA label and title attribute for expand button of doc sidebar',
26
+ })}
27
+ tabIndex={0}
28
+ role="button"
29
+ onKeyDown={toggleSidebar}
30
+ onClick={toggleSidebar}>
31
+ <IconArrow className={styles.expandButtonIcon} />
32
+ </div>
33
+ );
34
+ }