@docusaurus/theme-classic 2.0.0-beta.8bda3b2db → 2.0.0-beta.9

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 (310) hide show
  1. package/README.md +1 -1
  2. package/codeTranslations/ar.json +12 -7
  3. package/codeTranslations/base.json +17 -7
  4. package/codeTranslations/bn.json +11 -5
  5. package/codeTranslations/cs.json +62 -0
  6. package/codeTranslations/da.json +8 -3
  7. package/codeTranslations/de.json +8 -3
  8. package/codeTranslations/es.json +15 -10
  9. package/codeTranslations/fa.json +31 -26
  10. package/codeTranslations/fil.json +8 -3
  11. package/codeTranslations/fr.json +8 -3
  12. package/codeTranslations/he.json +9 -4
  13. package/codeTranslations/hi.json +9 -4
  14. package/codeTranslations/ja.json +8 -3
  15. package/codeTranslations/ko.json +8 -3
  16. package/codeTranslations/pl.json +8 -3
  17. package/codeTranslations/pt-BR.json +16 -11
  18. package/codeTranslations/pt-PT.json +8 -3
  19. package/codeTranslations/ru.json +10 -5
  20. package/codeTranslations/sr.json +62 -0
  21. package/codeTranslations/tr.json +9 -4
  22. package/codeTranslations/vi.json +10 -5
  23. package/codeTranslations/zh-Hans.json +9 -4
  24. package/codeTranslations/zh-Hant.json +9 -4
  25. package/lib/__tests__/validateThemeConfig.test.js +277 -3
  26. package/lib/admonitions.css +35 -0
  27. package/lib/index.js +31 -8
  28. package/lib/prism-include-languages.js +9 -5
  29. package/lib/theme/AnnouncementBar/index.js +10 -16
  30. package/lib/theme/AnnouncementBar/styles.module.css +25 -30
  31. package/lib/theme/BackToTopButton/index.js +140 -0
  32. package/lib/theme/BackToTopButton/styles.module.css +42 -0
  33. package/lib/theme/BlogArchivePage/index.js +89 -0
  34. package/lib/theme/BlogLayout/index.js +51 -0
  35. package/lib/theme/BlogListPage/index.js +10 -21
  36. package/lib/theme/BlogPostAuthor/index.js +51 -0
  37. package/lib/theme/BlogPostAuthor/styles.module.css +12 -0
  38. package/lib/theme/BlogPostAuthors/index.js +47 -0
  39. package/lib/theme/BlogPostAuthors/styles.module.css +11 -0
  40. package/lib/theme/BlogPostItem/index.js +58 -67
  41. package/lib/theme/BlogPostPage/index.js +37 -24
  42. package/lib/theme/BlogSidebar/styles.module.css +2 -2
  43. package/lib/theme/BlogTagsListPage/index.js +8 -44
  44. package/lib/theme/BlogTagsPostsPage/index.js +24 -38
  45. package/lib/theme/CodeBlock/index.js +45 -41
  46. package/lib/theme/CodeBlock/styles.module.css +6 -9
  47. package/lib/theme/Details/index.js +30 -0
  48. package/lib/theme/Details/styles.module.css +13 -0
  49. package/lib/theme/DocItem/index.js +29 -45
  50. package/lib/theme/DocItem/styles.module.css +5 -9
  51. package/lib/theme/DocItemFooter/index.js +79 -0
  52. package/lib/theme/DocItemFooter/styles.module.css +18 -0
  53. package/lib/theme/DocPage/index.js +25 -49
  54. package/lib/theme/DocPage/styles.module.css +8 -23
  55. package/lib/theme/DocSidebar/index.js +45 -227
  56. package/lib/theme/DocSidebar/styles.module.css +0 -18
  57. package/lib/theme/DocSidebarItem/index.js +177 -0
  58. package/lib/theme/DocSidebarItem/styles.module.css +15 -0
  59. package/lib/theme/DocTagDocListPage/index.js +89 -0
  60. package/lib/theme/DocTagsListPage/index.js +44 -0
  61. package/lib/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +37 -18
  62. package/lib/theme/EditThisPage/index.js +3 -1
  63. package/lib/theme/Footer/index.js +13 -4
  64. package/lib/theme/Heading/index.js +7 -9
  65. package/lib/theme/Heading/styles.css +4 -6
  66. package/lib/theme/Heading/styles.module.css +9 -5
  67. package/lib/theme/IconClose/index.js +31 -0
  68. package/lib/theme/LastUpdated/index.js +4 -2
  69. package/lib/theme/LayoutHead/index.js +13 -11
  70. package/lib/theme/LayoutProviders/index.js +11 -5
  71. package/lib/theme/Logo/index.js +14 -12
  72. package/lib/theme/MDXComponents/index.js +45 -4
  73. package/lib/theme/MDXComponents/styles.css +11 -0
  74. package/lib/theme/MDXPage/index.js +2 -1
  75. package/lib/theme/Navbar/index.js +164 -42
  76. package/lib/theme/Navbar/styles.module.css +10 -3
  77. package/lib/theme/NavbarItem/DefaultNavbarItem.js +27 -123
  78. package/lib/theme/NavbarItem/DocNavbarItem.js +6 -5
  79. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +19 -12
  80. package/lib/theme/NavbarItem/DropdownNavbarItem.js +155 -0
  81. package/lib/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +5 -6
  82. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  83. package/lib/theme/NavbarItem/index.js +31 -11
  84. package/lib/theme/Seo/index.js +10 -7
  85. package/lib/theme/SkipToContent/index.js +9 -3
  86. package/lib/theme/SkipToContent/styles.module.css +1 -0
  87. package/lib/theme/TOC/index.js +9 -29
  88. package/lib/theme/TOC/styles.module.css +1 -1
  89. package/lib/theme/TOCCollapsible/index.js +53 -0
  90. package/lib/theme/TOCCollapsible/styles.module.css +50 -0
  91. package/lib/theme/TOCInline/index.js +7 -27
  92. package/lib/theme/TOCItems/index.js +78 -0
  93. package/lib/theme/Tabs/__tests__/index.test.js +123 -0
  94. package/lib/theme/Tabs/index.js +73 -50
  95. package/lib/theme/Tabs/styles.module.css +0 -13
  96. package/lib/theme/Tag/index.js +40 -0
  97. package/lib/theme/Tag/styles.module.css +70 -0
  98. package/lib/theme/TagsListByLetter/index.js +48 -0
  99. package/lib/theme/TagsListByLetter/styles.module.css +11 -0
  100. package/lib/theme/TagsListInline/index.js +44 -0
  101. package/lib/theme/TagsListInline/styles.module.css +15 -0
  102. package/lib/theme/ThemedImage/index.js +4 -5
  103. package/lib/theme/Toggle/index.js +23 -18
  104. package/lib/theme/Toggle/styles.module.css +91 -0
  105. package/lib/theme/UserPreferencesProvider/index.js +1 -9
  106. package/lib/theme/hooks/useHideableNavbar.js +14 -32
  107. package/lib/theme/hooks/useTabGroupChoice.js +2 -4
  108. package/lib/theme/hooks/useTheme.js +2 -2
  109. package/lib/theme/hooks/useWindowSize.js +33 -20
  110. package/lib/theme/prism-include-languages.js +4 -3
  111. package/lib/translations.js +4 -4
  112. package/lib/types.d.ts +338 -138
  113. package/lib/validateThemeConfig.js +226 -245
  114. package/lib-next/__tests__/validateThemeConfig.test.js +277 -3
  115. package/lib-next/admonitions.css +35 -0
  116. package/lib-next/index.js +33 -7
  117. package/lib-next/prism-include-languages.js +0 -2
  118. package/lib-next/theme/AnnouncementBar/index.js +9 -18
  119. package/lib-next/theme/AnnouncementBar/styles.module.css +25 -30
  120. package/lib-next/theme/BackToTopButton/index.js +131 -0
  121. package/lib-next/theme/BackToTopButton/styles.module.css +42 -0
  122. package/lib-next/theme/BlogArchivePage/index.js +80 -0
  123. package/lib-next/theme/BlogLayout/index.js +40 -0
  124. package/lib-next/theme/BlogListPage/index.js +16 -24
  125. package/lib-next/theme/BlogPostAuthor/index.js +46 -0
  126. package/lib-next/theme/BlogPostAuthor/styles.module.css +12 -0
  127. package/lib-next/theme/BlogPostAuthors/index.js +34 -0
  128. package/lib-next/theme/BlogPostAuthors/styles.module.css +11 -0
  129. package/lib-next/theme/BlogPostItem/index.js +79 -86
  130. package/lib-next/theme/BlogPostPage/index.js +70 -35
  131. package/lib-next/theme/BlogSidebar/styles.module.css +2 -2
  132. package/lib-next/theme/BlogTagsListPage/index.js +13 -54
  133. package/lib-next/theme/BlogTagsPostsPage/index.js +28 -38
  134. package/lib-next/theme/CodeBlock/index.js +54 -53
  135. package/lib-next/theme/CodeBlock/styles.module.css +6 -9
  136. package/lib-next/theme/Details/index.js +20 -0
  137. package/lib-next/theme/Details/styles.module.css +13 -0
  138. package/lib-next/theme/DocItem/index.js +46 -55
  139. package/lib-next/theme/DocItem/styles.module.css +5 -9
  140. package/lib-next/theme/DocItemFooter/index.js +79 -0
  141. package/lib-next/theme/DocItemFooter/styles.module.css +18 -0
  142. package/lib-next/theme/DocPage/index.js +25 -43
  143. package/lib-next/theme/DocPage/styles.module.css +8 -23
  144. package/lib-next/theme/DocSidebar/index.js +59 -288
  145. package/lib-next/theme/DocSidebar/styles.module.css +0 -18
  146. package/lib-next/theme/DocSidebarItem/index.js +181 -0
  147. package/lib-next/theme/DocSidebarItem/styles.module.css +15 -0
  148. package/lib-next/theme/DocTagDocListPage/index.js +89 -0
  149. package/lib-next/theme/DocTagsListPage/index.js +38 -0
  150. package/lib-next/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +44 -36
  151. package/lib-next/theme/EditThisPage/index.js +6 -1
  152. package/lib-next/theme/Footer/index.js +24 -4
  153. package/lib-next/theme/Heading/index.js +10 -13
  154. package/lib-next/theme/Heading/styles.css +4 -6
  155. package/lib-next/theme/Heading/styles.module.css +9 -5
  156. package/lib-next/theme/IconClose/index.js +23 -0
  157. package/lib-next/theme/LastUpdated/index.js +3 -2
  158. package/lib-next/theme/LayoutHead/index.js +9 -15
  159. package/lib-next/theme/LayoutProviders/index.js +17 -6
  160. package/lib-next/theme/Logo/index.js +23 -19
  161. package/lib-next/theme/MDXComponents/index.js +34 -7
  162. package/lib-next/theme/MDXComponents/styles.css +11 -0
  163. package/lib-next/theme/MDXPage/index.js +10 -2
  164. package/lib-next/theme/Navbar/index.js +192 -56
  165. package/lib-next/theme/Navbar/styles.module.css +10 -3
  166. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +45 -147
  167. package/lib-next/theme/NavbarItem/DocNavbarItem.js +6 -5
  168. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +31 -19
  169. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +158 -0
  170. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +4 -8
  171. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  172. package/lib-next/theme/NavbarItem/index.js +25 -12
  173. package/lib-next/theme/Seo/index.js +11 -7
  174. package/lib-next/theme/SkipToContent/index.js +5 -6
  175. package/lib-next/theme/SkipToContent/styles.module.css +1 -0
  176. package/lib-next/theme/TOC/index.js +12 -36
  177. package/lib-next/theme/TOC/styles.module.css +1 -1
  178. package/lib-next/theme/TOCCollapsible/index.js +54 -0
  179. package/lib-next/theme/TOCCollapsible/styles.module.css +50 -0
  180. package/lib-next/theme/TOCInline/index.js +10 -28
  181. package/lib-next/theme/TOCItems/index.js +85 -0
  182. package/lib-next/theme/Tabs/__tests__/index.test.js +142 -0
  183. package/lib-next/theme/Tabs/index.js +91 -43
  184. package/lib-next/theme/Tabs/styles.module.css +0 -13
  185. package/lib-next/theme/Tag/index.js +27 -0
  186. package/lib-next/theme/Tag/styles.module.css +70 -0
  187. package/lib-next/theme/TagsListByLetter/index.js +42 -0
  188. package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
  189. package/lib-next/theme/TagsListInline/index.js +31 -0
  190. package/lib-next/theme/TagsListInline/styles.module.css +15 -0
  191. package/lib-next/theme/ThemedImage/index.js +5 -6
  192. package/lib-next/theme/Toggle/index.js +20 -15
  193. package/lib-next/theme/Toggle/styles.module.css +91 -0
  194. package/lib-next/theme/UserPreferencesProvider/index.js +0 -4
  195. package/lib-next/theme/hooks/useHideableNavbar.js +31 -44
  196. package/lib-next/theme/hooks/useTabGroupChoice.js +2 -4
  197. package/lib-next/theme/hooks/useTheme.js +2 -2
  198. package/lib-next/theme/hooks/useWindowSize.js +34 -20
  199. package/lib-next/theme/prism-include-languages.js +2 -1
  200. package/lib-next/translations.js +6 -10
  201. package/lib-next/types.d.ts +338 -138
  202. package/lib-next/validateThemeConfig.js +134 -110
  203. package/package.json +24 -19
  204. package/src/__tests__/validateThemeConfig.test.js +277 -3
  205. package/src/admonitions.css +35 -0
  206. package/src/index.ts +44 -14
  207. package/src/{prism-include-languages.js → prism-include-languages.ts} +0 -0
  208. package/src/theme/AnnouncementBar/index.tsx +10 -17
  209. package/src/theme/AnnouncementBar/styles.module.css +25 -30
  210. package/src/theme/BackToTopButton/index.tsx +142 -0
  211. package/src/theme/BackToTopButton/styles.module.css +42 -0
  212. package/src/theme/BlogArchivePage/index.tsx +91 -0
  213. package/src/theme/BlogLayout/index.tsx +44 -0
  214. package/src/theme/BlogListPage/index.tsx +17 -24
  215. package/src/theme/BlogPostAuthor/index.tsx +49 -0
  216. package/src/theme/BlogPostAuthor/styles.module.css +12 -0
  217. package/src/theme/BlogPostAuthors/index.tsx +36 -0
  218. package/src/theme/BlogPostAuthors/styles.module.css +11 -0
  219. package/src/theme/BlogPostItem/index.tsx +70 -80
  220. package/src/theme/BlogPostPage/index.tsx +72 -35
  221. package/src/theme/BlogSidebar/styles.module.css +2 -2
  222. package/src/theme/BlogTagsListPage/index.tsx +13 -56
  223. package/src/theme/BlogTagsPostsPage/index.tsx +28 -38
  224. package/src/theme/CodeBlock/index.tsx +70 -55
  225. package/src/theme/CodeBlock/styles.module.css +6 -9
  226. package/src/theme/Details/index.tsx +24 -0
  227. package/src/theme/Details/styles.module.css +13 -0
  228. package/src/theme/DocItem/index.tsx +49 -55
  229. package/src/theme/DocItem/styles.module.css +5 -9
  230. package/src/theme/DocItemFooter/index.tsx +91 -0
  231. package/src/theme/DocItemFooter/styles.module.css +18 -0
  232. package/src/theme/DocPage/index.tsx +24 -38
  233. package/src/theme/DocPage/styles.module.css +8 -23
  234. package/src/theme/DocSidebar/index.tsx +70 -300
  235. package/src/theme/DocSidebar/styles.module.css +0 -18
  236. package/src/theme/DocSidebarItem/index.tsx +206 -0
  237. package/src/theme/DocSidebarItem/styles.module.css +15 -0
  238. package/src/theme/DocTagDocListPage/index.tsx +89 -0
  239. package/src/theme/DocTagsListPage/index.tsx +41 -0
  240. package/src/theme/{DocVersionSuggestions → DocVersionBanner}/index.tsx +58 -44
  241. package/src/theme/EditThisPage/index.tsx +6 -1
  242. package/src/theme/Footer/index.tsx +26 -4
  243. package/src/theme/Heading/index.tsx +10 -13
  244. package/src/theme/Heading/styles.css +4 -6
  245. package/src/theme/Heading/styles.module.css +9 -5
  246. package/src/theme/IconClose/index.tsx +26 -0
  247. package/src/theme/LastUpdated/index.tsx +3 -2
  248. package/src/theme/LayoutHead/index.tsx +9 -9
  249. package/src/theme/LayoutProviders/index.tsx +17 -6
  250. package/src/theme/Logo/index.tsx +19 -15
  251. package/src/theme/MDXComponents/index.tsx +39 -5
  252. package/src/theme/MDXComponents/styles.css +11 -0
  253. package/src/theme/MDXPage/index.tsx +10 -2
  254. package/src/theme/Navbar/index.tsx +202 -61
  255. package/src/theme/Navbar/styles.module.css +10 -3
  256. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +42 -154
  257. package/src/theme/NavbarItem/DocNavbarItem.tsx +11 -14
  258. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +33 -21
  259. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  260. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +180 -0
  261. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +8 -7
  262. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  263. package/src/theme/NavbarItem/index.tsx +41 -16
  264. package/src/theme/Seo/index.tsx +7 -4
  265. package/src/theme/SkipToContent/index.tsx +5 -6
  266. package/src/theme/SkipToContent/styles.module.css +1 -0
  267. package/src/theme/TOC/index.tsx +12 -41
  268. package/src/theme/TOC/styles.module.css +1 -1
  269. package/src/theme/TOCCollapsible/index.tsx +58 -0
  270. package/src/theme/TOCCollapsible/styles.module.css +50 -0
  271. package/src/theme/TOCInline/index.tsx +13 -32
  272. package/src/theme/TOCItems/index.tsx +96 -0
  273. package/src/theme/Tabs/__tests__/index.test.tsx +129 -0
  274. package/src/theme/Tabs/index.tsx +93 -49
  275. package/src/theme/Tabs/styles.module.css +0 -13
  276. package/src/theme/Tag/index.tsx +31 -0
  277. package/src/theme/Tag/styles.module.css +70 -0
  278. package/src/theme/TagsListByLetter/index.tsx +45 -0
  279. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  280. package/src/theme/TagsListInline/index.tsx +35 -0
  281. package/src/theme/TagsListInline/styles.module.css +15 -0
  282. package/src/theme/ThemedImage/index.tsx +6 -6
  283. package/src/theme/Toggle/index.tsx +20 -15
  284. package/src/theme/Toggle/styles.module.css +91 -0
  285. package/src/theme/UserPreferencesProvider/index.tsx +0 -5
  286. package/src/theme/hooks/useContextualSearchFilters.ts +1 -1
  287. package/src/theme/hooks/useHideableNavbar.ts +32 -45
  288. package/src/theme/hooks/useTabGroupChoice.ts +4 -4
  289. package/src/theme/hooks/useTheme.ts +2 -2
  290. package/src/theme/hooks/useWindowSize.ts +38 -20
  291. package/src/theme/prism-include-languages.ts +3 -2
  292. package/src/translations.ts +6 -10
  293. package/src/types.d.ts +338 -138
  294. package/src/{validateThemeConfig.js → validateThemeConfig.ts} +144 -90
  295. package/tsconfig.json +1 -2
  296. package/update-code-translations.js +10 -6
  297. package/update-code-translations.test.js +1 -1
  298. package/update.js +151 -0
  299. package/lib/theme/Toggle/styles.css +0 -103
  300. package/lib/theme/hooks/useAnnouncementBar.js +0 -63
  301. package/lib/theme/hooks/useScrollPosition.js +0 -49
  302. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  303. package/lib-next/theme/Toggle/styles.css +0 -103
  304. package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
  305. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  306. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  307. package/src/theme/Toggle/styles.css +0 -103
  308. package/src/theme/hooks/useAnnouncementBar.ts +0 -58
  309. package/src/theme/hooks/useScrollPosition.ts +0 -45
  310. package/src/theme/hooks/useTOCHighlight.ts +0 -98
@@ -5,22 +5,18 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ .docItemContainer article > *:first-child,
8
9
  .docItemContainer header + * {
9
10
  margin-top: 0;
10
11
  }
11
12
 
12
- .lastUpdated {
13
- margin-top: 0.2rem;
14
- font-style: italic;
15
- font-size: smaller;
16
- }
17
-
18
- @media only screen and (min-width: 997px) {
13
+ @media (min-width: 997px) {
19
14
  .docItemCol {
20
15
  max-width: 75% !important;
21
16
  }
22
17
 
23
- .lastUpdated {
24
- text-align: right;
18
+ /* Prevent hydration FOUC, as the mobile TOC needs to be server-rendered */
19
+ .tocMobile {
20
+ display: none;
25
21
  }
26
22
  }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = DocItemFooter;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _clsx = _interopRequireDefault(require("clsx"));
11
+
12
+ var _LastUpdated = _interopRequireDefault(require("@theme/LastUpdated"));
13
+
14
+ var _EditThisPage = _interopRequireDefault(require("@theme/EditThisPage"));
15
+
16
+ var _TagsListInline = _interopRequireDefault(require("@theme/TagsListInline"));
17
+
18
+ var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
19
+
20
+ var _themeCommon = require("@docusaurus/theme-common");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ /**
25
+ * Copyright (c) Facebook, Inc. and its affiliates.
26
+ *
27
+ * This source code is licensed under the MIT license found in the
28
+ * LICENSE file in the root directory of this source tree.
29
+ */
30
+ function TagsRow(props) {
31
+ return <div className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docFooterTagsRow, 'row margin-bottom--sm')}>
32
+ <div className="col">
33
+ <_TagsListInline.default {...props} />
34
+ </div>
35
+ </div>;
36
+ }
37
+
38
+ function EditMetaRow({
39
+ editUrl,
40
+ lastUpdatedAt,
41
+ lastUpdatedBy,
42
+ formattedLastUpdatedAt
43
+ }) {
44
+ return <div className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docFooterEditMetaRow, 'row')}>
45
+ <div className="col">{editUrl && <_EditThisPage.default editUrl={editUrl} />}</div>
46
+
47
+ <div className={(0, _clsx.default)('col', _stylesModule.default.lastUpdated)}>
48
+ {(lastUpdatedAt || lastUpdatedBy) && <_LastUpdated.default lastUpdatedAt={lastUpdatedAt} formattedLastUpdatedAt={formattedLastUpdatedAt} lastUpdatedBy={lastUpdatedBy} />}
49
+ </div>
50
+ </div>;
51
+ }
52
+
53
+ function DocItemFooter(props) {
54
+ const {
55
+ content: DocContent
56
+ } = props;
57
+ const {
58
+ metadata
59
+ } = DocContent;
60
+ const {
61
+ editUrl,
62
+ lastUpdatedAt,
63
+ formattedLastUpdatedAt,
64
+ lastUpdatedBy,
65
+ tags
66
+ } = metadata;
67
+ const canDisplayTagsRow = tags.length > 0;
68
+ const canDisplayEditMetaRow = !!(editUrl || lastUpdatedAt || lastUpdatedBy);
69
+ const canDisplayFooter = canDisplayTagsRow || canDisplayEditMetaRow;
70
+
71
+ if (!canDisplayFooter) {
72
+ return <></>;
73
+ }
74
+
75
+ return <footer className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docFooter, 'docusaurus-mt-lg')}>
76
+ {canDisplayTagsRow && <TagsRow tags={tags} />}
77
+ {canDisplayEditMetaRow && <EditMetaRow editUrl={editUrl} lastUpdatedAt={lastUpdatedAt} lastUpdatedBy={lastUpdatedBy} formattedLastUpdatedAt={formattedLastUpdatedAt} />}
78
+ </footer>;
79
+ }
@@ -0,0 +1,18 @@
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
+ .lastUpdated {
9
+ margin-top: 0.2rem;
10
+ font-style: italic;
11
+ font-size: smaller;
12
+ }
13
+
14
+ @media (min-width: 997px) {
15
+ .lastUpdated {
16
+ text-align: right;
17
+ }
18
+ }
@@ -9,8 +9,6 @@ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _react2 = require("@mdx-js/react");
11
11
 
12
- var _useDocusaurusContext = _interopRequireDefault(require("@docusaurus/useDocusaurusContext"));
13
-
14
12
  var _renderRoutes = _interopRequireDefault(require("@docusaurus/renderRoutes"));
15
13
 
16
14
  var _Layout = _interopRequireDefault(require("@theme/Layout"));
@@ -23,6 +21,8 @@ var _NotFound = _interopRequireDefault(require("@theme/NotFound"));
23
21
 
24
22
  var _IconArrow = _interopRequireDefault(require("@theme/IconArrow"));
25
23
 
24
+ var _BackToTopButton = _interopRequireDefault(require("@theme/BackToTopButton"));
25
+
26
26
  var _router = require("@docusaurus/router");
27
27
 
28
28
  var _Translate = require("@docusaurus/Translate");
@@ -33,6 +33,8 @@ var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
33
33
 
34
34
  var _themeCommon = require("@docusaurus/theme-common");
35
35
 
36
+ var _Head = _interopRequireDefault(require("@docusaurus/Head"));
37
+
36
38
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
39
 
38
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -45,55 +47,17 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
45
47
  * This source code is licensed under the MIT license found in the
46
48
  * LICENSE file in the root directory of this source tree.
47
49
  */
48
- function getSidebar({
49
- versionMetadata,
50
- currentDocRoute
51
- }) {
52
- function addTrailingSlash(str) {
53
- return str.endsWith('/') ? str : `${str}/`;
54
- }
55
-
56
- function removeTrailingSlash(str) {
57
- return str.endsWith('/') ? str.slice(0, -1) : str;
58
- }
59
-
60
- const {
61
- permalinkToSidebar,
62
- docsSidebars
63
- } = versionMetadata; // With/without trailingSlash, we should always be able to get the appropriate sidebar
64
- // note: docs plugin permalinks currently never have trailing slashes
65
- // trailingSlash is handled globally at the framework level, not plugin level
66
-
67
- const sidebarName = permalinkToSidebar[currentDocRoute.path] || permalinkToSidebar[addTrailingSlash(currentDocRoute.path)] || permalinkToSidebar[removeTrailingSlash(currentDocRoute.path)];
68
- const sidebar = docsSidebars[sidebarName];
69
- return {
70
- sidebar,
71
- sidebarName
72
- };
73
- }
74
-
75
50
  function DocPageContent({
76
51
  currentDocRoute,
77
52
  versionMetadata,
78
53
  children
79
54
  }) {
80
- var _siteConfig$themeConf, _siteConfig$themeConf2;
81
-
82
- const {
83
- siteConfig,
84
- isClient
85
- } = (0, _useDocusaurusContext.default)();
86
55
  const {
87
56
  pluginId,
88
57
  version
89
58
  } = versionMetadata;
90
- const {
91
- sidebarName,
92
- sidebar
93
- } = getSidebar({
94
- versionMetadata,
95
- currentDocRoute
96
- });
59
+ const sidebarName = currentDocRoute.sidebar;
60
+ const sidebar = sidebarName ? versionMetadata.docsSidebars[sidebarName] : undefined;
97
61
  const [hiddenSidebarContainer, setHiddenSidebarContainer] = (0, _react.useState)(false);
98
62
  const [hiddenSidebar, setHiddenSidebar] = (0, _react.useState)(false);
99
63
  const toggleSidebar = (0, _react.useCallback)(() => {
@@ -101,13 +65,15 @@ function DocPageContent({
101
65
  setHiddenSidebar(false);
102
66
  }
103
67
 
104
- setHiddenSidebarContainer(!hiddenSidebarContainer);
68
+ setHiddenSidebarContainer(value => !value);
105
69
  }, [hiddenSidebar]);
106
- return <_Layout.default key={isClient} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.docPages} pageClassName={_themeCommon.ThemeClassNames.page.docPage} searchMetadatas={{
70
+ return <_Layout.default wrapperClassName={_themeCommon.ThemeClassNames.wrapper.docsPages} pageClassName={_themeCommon.ThemeClassNames.page.docsDocPage} searchMetadatas={{
107
71
  version,
108
72
  tag: (0, _themeCommon.docVersionSearchTag)(pluginId, version)
109
73
  }}>
110
74
  <div className={_stylesModule.default.docPage}>
75
+ <_BackToTopButton.default />
76
+
111
77
  {sidebar && <aside className={(0, _clsx.default)(_stylesModule.default.docSidebarContainer, {
112
78
  [_stylesModule.default.docSidebarContainerHidden]: hiddenSidebarContainer
113
79
  })} onTransitionEnd={e => {
@@ -121,7 +87,7 @@ function DocPageContent({
121
87
  }}>
122
88
  <_DocSidebar.default key={// Reset sidebar state on sidebar changes
123
89
  // See https://github.com/facebook/docusaurus/issues/3414
124
- sidebarName} sidebar={sidebar} path={currentDocRoute.path} sidebarCollapsible={(_siteConfig$themeConf = (_siteConfig$themeConf2 = siteConfig.themeConfig) === null || _siteConfig$themeConf2 === void 0 ? void 0 : _siteConfig$themeConf2.sidebarCollapsible) !== null && _siteConfig$themeConf !== void 0 ? _siteConfig$themeConf : true} onCollapse={toggleSidebar} isHidden={hiddenSidebar} />
90
+ sidebarName} sidebar={sidebar} path={currentDocRoute.path} onCollapse={toggleSidebar} isHidden={hiddenSidebar} />
125
91
 
126
92
  {hiddenSidebar && <div className={_stylesModule.default.collapsedDocSidebar} title={(0, _Translate.translate)({
127
93
  id: 'theme.docs.sidebar.expandButtonTitle',
@@ -159,12 +125,22 @@ function DocPage(props) {
159
125
  const currentDocRoute = docRoutes.find(docRoute => (0, _router.matchPath)(location.pathname, docRoute));
160
126
 
161
127
  if (!currentDocRoute) {
162
- return <_NotFound.default {...props} />;
128
+ return <_NotFound.default />;
163
129
  }
164
130
 
165
- return <DocPageContent currentDocRoute={currentDocRoute} versionMetadata={versionMetadata}>
166
- {(0, _renderRoutes.default)(docRoutes)}
167
- </DocPageContent>;
131
+ return <>
132
+ <_Head.default>
133
+ {
134
+ /* TODO we should add a core addRoute({htmlClassName}) generic plugin option */
135
+ }
136
+ <html className={versionMetadata.className} />
137
+ </_Head.default>
138
+ <DocPageContent currentDocRoute={currentDocRoute} versionMetadata={versionMetadata}>
139
+ {(0, _renderRoutes.default)(docRoutes, {
140
+ versionMetadata
141
+ })}
142
+ </DocPageContent>
143
+ </>;
168
144
  }
169
145
 
170
146
  var _default = DocPage;
@@ -7,6 +7,7 @@
7
7
 
8
8
  :root {
9
9
  --doc-sidebar-width: 300px;
10
+ --doc-sidebar-hidden-width: 30px;
10
11
  }
11
12
 
12
13
  :global(.docs-wrapper) {
@@ -19,6 +20,10 @@
19
20
  width: 100%;
20
21
  }
21
22
 
23
+ .docSidebarContainer {
24
+ display: none;
25
+ }
26
+
22
27
  @media (min-width: 997px) {
23
28
  .docMainContainer {
24
29
  flex-grow: 1;
@@ -26,10 +31,11 @@
26
31
  }
27
32
 
28
33
  .docMainContainerEnhanced {
29
- max-width: none;
34
+ max-width: calc(100% - var(--doc-sidebar-hidden-width));
30
35
  }
31
36
 
32
37
  .docSidebarContainer {
38
+ display: block;
33
39
  width: var(--doc-sidebar-width);
34
40
  margin-top: calc(-1 * var(--ifm-navbar-height));
35
41
  border-right: 1px solid var(--ifm-toc-border-color);
@@ -39,7 +45,7 @@
39
45
  }
40
46
 
41
47
  .docSidebarContainerHidden {
42
- width: 30px;
48
+ width: var(--doc-sidebar-hidden-width);
43
49
  cursor: pointer;
44
50
  }
45
51
 
@@ -77,24 +83,3 @@
77
83
  ) !important;
78
84
  }
79
85
  }
80
-
81
- @media (max-width: 996px) {
82
- .docSidebarContainer {
83
- margin-top: 0;
84
- }
85
- }
86
-
87
- @media (min-width: 997px) and (max-width: 1320px) {
88
- .docItemWrapper {
89
- max-width: calc(
90
- var(--ifm-container-width) - var(--doc-sidebar-width) -
91
- var(--ifm-spacing-horizontal) * 2
92
- );
93
- }
94
-
95
- .docItemWrapperEnhanced {
96
- max-width: calc(
97
- var(--ifm-container-width) - var(--ifm-spacing-horizontal) * 2
98
- );
99
- }
100
- }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = DocSidebar;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
@@ -11,28 +11,16 @@ var _clsx = _interopRequireDefault(require("clsx"));
11
11
 
12
12
  var _themeCommon = require("@docusaurus/theme-common");
13
13
 
14
- var _useUserPreferencesContext = _interopRequireDefault(require("@theme/hooks/useUserPreferencesContext"));
15
-
16
- var _useLockBodyScroll = _interopRequireDefault(require("@theme/hooks/useLockBodyScroll"));
17
-
18
- var _useWindowSize = _interopRequireWildcard(require("@theme/hooks/useWindowSize"));
19
-
20
- var _useScrollPosition = _interopRequireDefault(require("@theme/hooks/useScrollPosition"));
21
-
22
- var _Link = _interopRequireDefault(require("@docusaurus/Link"));
23
-
24
- var _isInternalUrl = _interopRequireDefault(require("@docusaurus/isInternalUrl"));
14
+ var _useWindowSize = _interopRequireDefault(require("@theme/hooks/useWindowSize"));
25
15
 
26
16
  var _Logo = _interopRequireDefault(require("@theme/Logo"));
27
17
 
28
18
  var _IconArrow = _interopRequireDefault(require("@theme/IconArrow"));
29
19
 
30
- var _IconMenu = _interopRequireDefault(require("@theme/IconMenu"));
31
-
32
- var _IconExternalLink = _interopRequireDefault(require("@theme/IconExternalLink"));
33
-
34
20
  var _Translate = require("@docusaurus/Translate");
35
21
 
22
+ var _DocSidebarItem = require("@theme/DocSidebarItem");
23
+
36
24
  var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
37
25
 
38
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -47,181 +35,19 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
47
35
  * This source code is licensed under the MIT license found in the
48
36
  * LICENSE file in the root directory of this source tree.
49
37
  */
50
- const MOBILE_TOGGLE_SIZE = 24;
51
-
52
- const isActiveSidebarItem = (item, activePath) => {
53
- if (item.type === 'link') {
54
- return (0, _themeCommon.isSamePath)(item.href, activePath);
55
- }
56
-
57
- if (item.type === 'category') {
58
- return item.items.some(subItem => isActiveSidebarItem(subItem, activePath));
59
- }
60
-
61
- return false;
62
- }; // Optimize sidebar at each "level"
63
- // TODO this item should probably not receive the "activePath" props
64
- // TODO this triggers whole sidebar re-renders on navigation
65
-
66
-
67
- const DocSidebarItems = (0, _react.memo)(function DocSidebarItems({
68
- items,
69
- ...props
70
- }) {
71
- return items.map((item, index) => <DocSidebarItem key={index} // sidebar is static, the index does not change
72
- item={item} {...props} />);
73
- });
74
-
75
- function DocSidebarItem(props) {
76
- switch (props.item.type) {
77
- case 'category':
78
- return <DocSidebarItemCategory {...props} />;
79
-
80
- case 'link':
81
- default:
82
- return <DocSidebarItemLink {...props} />;
83
- }
84
- }
85
-
86
- function DocSidebarItemCategory({
87
- item,
88
- onItemClick,
89
- collapsible,
90
- activePath,
91
- ...props
92
- }) {
93
- const {
94
- items,
95
- label
96
- } = item;
97
- const isActive = isActiveSidebarItem(item, activePath);
98
- const wasActive = (0, _themeCommon.usePrevious)(isActive); // active categories are always initialized as expanded
99
- // the default (item.collapsed) is only used for non-active categories
100
-
101
- const [collapsed, setCollapsed] = (0, _react.useState)(() => {
102
- if (!collapsible) {
103
- return false;
104
- }
105
-
106
- return isActive ? false : item.collapsed;
107
- });
108
- const menuListRef = (0, _react.useRef)(null);
109
- const [menuListHeight, setMenuListHeight] = (0, _react.useState)(undefined);
110
-
111
- const handleMenuListHeight = (calc = true) => {
112
- var _menuListRef$current;
113
-
114
- setMenuListHeight(calc ? `${(_menuListRef$current = menuListRef.current) === null || _menuListRef$current === void 0 ? void 0 : _menuListRef$current.scrollHeight}px` : undefined);
115
- }; // If we navigate to a category, it should automatically expand itself
116
-
117
-
118
- (0, _react.useEffect)(() => {
119
- const justBecameActive = isActive && !wasActive;
120
-
121
- if (justBecameActive && collapsed) {
122
- setCollapsed(false);
123
- }
124
- }, [isActive, wasActive, collapsed]);
125
- const handleItemClick = (0, _react.useCallback)(e => {
126
- e.preventDefault();
127
-
128
- if (!menuListHeight) {
129
- handleMenuListHeight();
130
- }
131
-
132
- setTimeout(() => setCollapsed(state => !state), 100);
133
- }, [menuListHeight]);
134
-
135
- if (items.length === 0) {
136
- return null;
137
- }
138
-
139
- return <li className={(0, _clsx.default)('menu__list-item', {
140
- 'menu__list-item--collapsed': collapsed
141
- })}>
142
- <a className={(0, _clsx.default)('menu__link', {
143
- 'menu__link--sublist': collapsible,
144
- 'menu__link--active': collapsible && isActive,
145
- [_stylesModule.default.menuLinkText]: !collapsible
146
- })} onClick={collapsible ? handleItemClick : undefined} href={collapsible ? '#!' : undefined} {...props}>
147
- {label}
148
- </a>
149
- <ul className="menu__list" ref={menuListRef} style={{
150
- height: menuListHeight
151
- }} onTransitionEnd={() => {
152
- if (!collapsed) {
153
- handleMenuListHeight(false);
154
- }
155
- }}>
156
- <DocSidebarItems items={items} tabIndex={collapsed ? '-1' : '0'} onItemClick={onItemClick} collapsible={collapsible} activePath={activePath} />
157
- </ul>
158
- </li>;
159
- }
160
-
161
- function DocSidebarItemLink({
162
- item,
163
- onItemClick,
164
- activePath,
165
- collapsible: _collapsible,
166
- ...props
167
- }) {
168
- const {
169
- href,
170
- label
171
- } = item;
172
- const isActive = isActiveSidebarItem(item, activePath);
173
- return <li className="menu__list-item" key={label}>
174
- <_Link.default className={(0, _clsx.default)('menu__link', {
175
- 'menu__link--active': isActive
176
- })} to={href} {...(0, _isInternalUrl.default)(href) && {
177
- isNavLink: true,
178
- exact: true,
179
- onClick: onItemClick
180
- }} {...props}>
181
- {(0, _isInternalUrl.default)(href) ? label : <span>
182
- {label}
183
- <_IconExternalLink.default />
184
- </span>}
185
- </_Link.default>
186
- </li>;
187
- }
188
-
189
38
  function useShowAnnouncementBar() {
190
39
  const {
191
- isAnnouncementBarClosed
192
- } = (0, _useUserPreferencesContext.default)();
193
- const [showAnnouncementBar, setShowAnnouncementBar] = (0, _react.useState)(!isAnnouncementBarClosed);
194
- (0, _useScrollPosition.default)(({
40
+ isActive
41
+ } = (0, _themeCommon.useAnnouncementBar)();
42
+ const [showAnnouncementBar, setShowAnnouncementBar] = (0, _react.useState)(isActive);
43
+ (0, _themeCommon.useScrollPosition)(({
195
44
  scrollY
196
45
  }) => {
197
- if (!isAnnouncementBarClosed) {
46
+ if (isActive) {
198
47
  setShowAnnouncementBar(scrollY === 0);
199
48
  }
200
- });
201
- return showAnnouncementBar;
202
- }
203
-
204
- function useResponsiveSidebar() {
205
- const [showResponsiveSidebar, setShowResponsiveSidebar] = (0, _react.useState)(false);
206
- (0, _useLockBodyScroll.default)(showResponsiveSidebar);
207
- const windowSize = (0, _useWindowSize.default)();
208
- (0, _react.useEffect)(() => {
209
- if (windowSize === _useWindowSize.windowSizes.desktop) {
210
- setShowResponsiveSidebar(false);
211
- }
212
- }, [windowSize]);
213
- const closeResponsiveSidebar = (0, _react.useCallback)(e => {
214
- e.target.blur();
215
- setShowResponsiveSidebar(false);
216
- }, [setShowResponsiveSidebar]);
217
- const toggleResponsiveSidebar = (0, _react.useCallback)(() => {
218
- setShowResponsiveSidebar(value => !value);
219
- }, [setShowResponsiveSidebar]);
220
- return {
221
- showResponsiveSidebar,
222
- closeResponsiveSidebar,
223
- toggleResponsiveSidebar
224
- };
49
+ }, [isActive]);
50
+ return isActive && showAnnouncementBar;
225
51
  }
226
52
 
227
53
  function HideableSidebarButton({
@@ -240,29 +66,9 @@ function HideableSidebarButton({
240
66
  </button>;
241
67
  }
242
68
 
243
- function ResponsiveSidebarButton({
244
- responsiveSidebarOpened,
245
- onClick
246
- }) {
247
- return <button aria-label={responsiveSidebarOpened ? (0, _Translate.translate)({
248
- id: 'theme.docs.sidebar.responsiveCloseButtonLabel',
249
- message: 'Close menu',
250
- description: 'The ARIA label for close button of mobile doc sidebar'
251
- }) : (0, _Translate.translate)({
252
- id: 'theme.docs.sidebar.responsiveOpenButtonLabel',
253
- message: 'Open menu',
254
- description: 'The ARIA label for open button of mobile doc sidebar'
255
- })} aria-haspopup="true" className="button button--secondary button--sm menu__button" type="button" onClick={onClick}>
256
- {responsiveSidebarOpened ? <span className={(0, _clsx.default)(_stylesModule.default.sidebarMenuIcon, _stylesModule.default.sidebarMenuCloseIcon)}>
257
- &times;
258
- </span> : <_IconMenu.default className={_stylesModule.default.sidebarMenuIcon} height={MOBILE_TOGGLE_SIZE} width={MOBILE_TOGGLE_SIZE} />}
259
- </button>;
260
- }
261
-
262
- function DocSidebar({
69
+ function DocSidebarDesktop({
263
70
  path,
264
71
  sidebar,
265
- sidebarCollapsible = true,
266
72
  onCollapse,
267
73
  isHidden
268
74
  }) {
@@ -273,36 +79,48 @@ function DocSidebar({
273
79
  },
274
80
  hideableSidebar
275
81
  } = (0, _themeCommon.useThemeConfig)();
276
- const {
277
- isAnnouncementBarClosed
278
- } = (0, _useUserPreferencesContext.default)();
279
- const {
280
- showResponsiveSidebar,
281
- closeResponsiveSidebar,
282
- toggleResponsiveSidebar
283
- } = useResponsiveSidebar();
284
82
  return <div className={(0, _clsx.default)(_stylesModule.default.sidebar, {
285
83
  [_stylesModule.default.sidebarWithHideableNavbar]: hideOnScroll,
286
84
  [_stylesModule.default.sidebarHidden]: isHidden
287
85
  })}>
288
86
  {hideOnScroll && <_Logo.default tabIndex={-1} className={_stylesModule.default.sidebarLogo} />}
289
- <nav className={(0, _clsx.default)('menu', 'menu--responsive', 'thin-scrollbar', _stylesModule.default.menu, {
290
- 'menu--show': showResponsiveSidebar,
291
- [_stylesModule.default.menuWithAnnouncementBar]: !isAnnouncementBarClosed && showAnnouncementBar
292
- })} aria-label={(0, _Translate.translate)({
293
- id: 'theme.docs.sidebar.navAriaLabel',
294
- message: 'Sidebar navigation',
295
- description: 'The ARIA label for documentation menu'
87
+ <nav className={(0, _clsx.default)('menu thin-scrollbar', _stylesModule.default.menu, {
88
+ [_stylesModule.default.menuWithAnnouncementBar]: showAnnouncementBar
296
89
  })}>
297
- <ResponsiveSidebarButton responsiveSidebarOpened={showResponsiveSidebar} onClick={toggleResponsiveSidebar} />
298
-
299
- <ul className="menu__list">
300
- <DocSidebarItems items={sidebar} onItemClick={closeResponsiveSidebar} collapsible={sidebarCollapsible} activePath={path} />
90
+ <ul className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docSidebarMenu, 'menu__list')}>
91
+ <_DocSidebarItem.DocSidebarItems items={sidebar} activePath={path} level={1} />
301
92
  </ul>
302
93
  </nav>
303
94
  {hideableSidebar && <HideableSidebarButton onClick={onCollapse} />}
304
95
  </div>;
305
96
  }
306
97
 
307
- var _default = DocSidebar;
308
- exports.default = _default;
98
+ const DocSidebarMobileSecondaryMenu = ({
99
+ toggleSidebar,
100
+ sidebar,
101
+ path
102
+ }) => {
103
+ return <ul className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docSidebarMenu, 'menu__list')}>
104
+ <_DocSidebarItem.DocSidebarItems items={sidebar} activePath={path} onItemClick={() => toggleSidebar()} level={1} />
105
+ </ul>;
106
+ };
107
+
108
+ function DocSidebarMobile(props) {
109
+ return <_themeCommon.MobileSecondaryMenuFiller component={DocSidebarMobileSecondaryMenu} props={props} />;
110
+ }
111
+
112
+ const DocSidebarDesktopMemo = _react.default.memo(DocSidebarDesktop);
113
+
114
+ const DocSidebarMobileMemo = _react.default.memo(DocSidebarMobile);
115
+
116
+ function DocSidebar(props) {
117
+ const windowSize = (0, _useWindowSize.default)(); // Desktop sidebar visible on hydration: need SSR rendering
118
+
119
+ const shouldRenderSidebarDesktop = windowSize === 'desktop' || windowSize === 'ssr'; // Mobile sidebar not visible on hydration: can avoid SSR rendering
120
+
121
+ const shouldRenderSidebarMobile = windowSize === 'mobile';
122
+ return <>
123
+ {shouldRenderSidebarDesktop && <DocSidebarDesktopMemo {...props} />}
124
+ {shouldRenderSidebarMobile && <DocSidebarMobileMemo {...props} />}
125
+ </>;
126
+ }
@@ -53,14 +53,6 @@
53
53
  padding: 0.5rem;
54
54
  }
55
55
 
56
- .menuLinkText {
57
- cursor: initial;
58
- }
59
-
60
- .menuLinkText:hover {
61
- background: none;
62
- }
63
-
64
56
  .menuWithAnnouncementBar {
65
57
  margin-bottom: var(--docusaurus-announcement-bar-height);
66
58
  }
@@ -112,13 +104,3 @@
112
104
  line-height: 0.9;
113
105
  width: 24px;
114
106
  }
115
-
116
- :global(.menu__list) :global(.menu__list) {
117
- overflow-y: hidden;
118
- will-change: height;
119
- transition: height var(--ifm-transition-fast) linear;
120
- }
121
-
122
- :global(.menu__list-item--collapsed) :global(.menu__list) {
123
- height: 0 !important;
124
- }