@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.
- package/lib/admonitions.css +4 -0
- package/lib/default.css +3038 -0
- package/lib/getSwizzleConfig.js +177 -36
- package/lib/index.js +10 -15
- package/lib/nprogress.css +41 -0
- package/lib/nprogress.js +46 -0
- package/lib/theme-classic.d.ts +600 -76
- package/lib/translations.js +12 -2
- package/lib/validateThemeConfig.js +77 -28
- package/lib-next/theme/BackToTopButton/index.js +6 -104
- package/lib-next/theme/BlogArchivePage/index.js +14 -10
- package/lib-next/theme/BlogLayout/index.js +1 -5
- package/lib-next/theme/BlogListPage/index.js +34 -13
- package/lib-next/theme/BlogListPaginator/index.js +25 -28
- package/lib-next/theme/BlogPostAuthor/index.js +16 -7
- package/lib-next/theme/BlogPostItem/index.js +6 -6
- package/lib-next/theme/BlogPostItem/styles.module.css +9 -0
- package/lib-next/theme/BlogPostPage/index.js +56 -45
- package/lib-next/theme/BlogPostPaginator/index.js +25 -28
- package/lib-next/theme/BlogSidebar/Desktop/index.js +41 -0
- package/lib-next/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +1 -2
- package/lib-next/theme/BlogSidebar/Mobile/index.js +36 -0
- package/lib-next/theme/BlogSidebar/index.js +11 -31
- package/lib-next/theme/BlogTagsListPage/index.js +17 -14
- package/lib-next/theme/BlogTagsPostsPage/index.js +43 -38
- package/lib-next/theme/CodeBlock/Container/index.js +29 -0
- package/lib-next/theme/CodeBlock/Container/styles.module.css +14 -0
- package/lib-next/theme/CodeBlock/Content/Element.js +23 -0
- package/lib-next/theme/CodeBlock/Content/String.js +104 -0
- package/lib-next/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +39 -29
- package/lib-next/theme/CodeBlock/CopyButton/index.js +61 -0
- package/lib-next/theme/CodeBlock/CopyButton/styles.module.css +47 -0
- package/lib-next/theme/CodeBlock/Line/index.js +49 -0
- package/lib-next/theme/CodeBlock/Line/styles.module.css +51 -0
- package/lib-next/theme/CodeBlock/WordWrapButton/index.js +40 -0
- package/lib-next/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
- package/lib-next/theme/CodeBlock/index.js +26 -164
- package/lib-next/theme/ColorModeToggle/index.js +62 -0
- package/lib-next/theme/ColorModeToggle/styles.module.css +35 -0
- package/lib-next/theme/Details/index.js +1 -1
- package/lib-next/theme/DocBreadcrumbs/index.js +63 -19
- package/lib-next/theme/DocBreadcrumbs/styles.module.css +8 -15
- package/lib-next/theme/DocCard/index.js +17 -15
- package/lib-next/theme/DocCard/styles.module.css +8 -17
- package/lib-next/theme/DocCardList/index.js +20 -6
- package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +30 -9
- package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +8 -0
- package/lib-next/theme/DocItem/index.js +85 -67
- package/lib-next/theme/DocItem/styles.module.css +6 -0
- package/lib-next/theme/DocPage/Layout/Main/index.js +29 -0
- package/lib-next/theme/DocPage/Layout/Main/styles.module.css +28 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/index.js +68 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
- package/lib-next/theme/DocPage/Layout/index.js +34 -0
- package/lib-next/theme/{BlogPostAuthor/styles.module.css → DocPage/Layout/index.module.css} +6 -3
- package/lib-next/theme/DocPage/index.js +30 -149
- package/lib-next/theme/DocPaginator/index.js +25 -28
- package/lib-next/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
- package/lib-next/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
- package/lib-next/theme/DocSidebar/Desktop/Content/index.js +46 -0
- package/lib-next/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
- package/lib-next/theme/DocSidebar/Desktop/index.js +36 -0
- package/lib-next/theme/DocSidebar/Desktop/styles.module.css +50 -0
- package/lib-next/theme/DocSidebar/Mobile/index.js +49 -0
- package/lib-next/theme/DocSidebar/index.js +6 -113
- package/lib-next/theme/DocSidebarItem/Category.js +197 -0
- package/lib-next/theme/DocSidebarItem/Html.js +27 -0
- package/lib-next/theme/DocSidebarItem/{styles.module.css → Html.module.css} +0 -0
- package/lib-next/theme/DocSidebarItem/Link.js +53 -0
- package/lib-next/theme/DocSidebarItem/Link.module.css +10 -0
- package/lib-next/theme/DocSidebarItem/index.js +4 -245
- package/lib-next/theme/DocSidebarItems/index.js +1 -6
- package/lib-next/theme/DocTagDocListPage/index.js +40 -33
- package/lib-next/theme/DocTagsListPage/index.js +21 -16
- package/lib-next/theme/DocVersionBanner/index.js +2 -2
- package/lib-next/theme/Footer/Copyright/index.js +18 -0
- package/lib-next/theme/Footer/Layout/index.js +26 -0
- package/lib-next/theme/Footer/LinkItem/index.js +33 -0
- package/lib-next/theme/Footer/Links/MultiColumn/index.js +47 -0
- package/lib-next/theme/Footer/Links/Simple/index.js +41 -0
- package/lib-next/theme/Footer/Links/index.js +17 -0
- package/lib-next/theme/Footer/Logo/index.js +38 -0
- package/lib-next/theme/Footer/{styles.module.css → Logo/styles.module.css} +0 -0
- package/lib-next/theme/Footer/index.js +11 -163
- package/lib-next/theme/Heading/index.js +10 -24
- package/lib-next/theme/IconDarkMode/index.js +17 -0
- package/lib-next/theme/IconExternalLink/styles.module.css +0 -2
- package/lib-next/theme/IconHome/index.js +17 -0
- package/lib-next/theme/IconLanguage/index.js +3 -3
- package/lib-next/theme/IconLightMode/index.js +17 -0
- package/lib-next/theme/LastUpdated/index.js +1 -0
- package/lib-next/theme/Layout/index.js +15 -10
- package/lib-next/theme/LayoutProviders/index.js +5 -4
- package/lib-next/theme/MDXComponents/A.js +11 -0
- package/lib-next/theme/MDXComponents/Code.js +28 -0
- package/lib-next/theme/MDXComponents/Details.js +20 -0
- package/lib-next/theme/MDXComponents/Head.js +26 -0
- package/lib-next/theme/MDXComponents/Heading.js +11 -0
- package/lib-next/theme/MDXComponents/Img.js +24 -0
- package/{src/theme/MDXComponents/styles.css → lib-next/theme/MDXComponents/Img.module.css} +1 -6
- package/lib-next/theme/MDXComponents/Pre.js +18 -0
- package/lib-next/theme/MDXComponents/Ul.js +21 -0
- package/lib-next/theme/MDXComponents/index.js +22 -57
- package/lib-next/theme/MDXContent/index.js +12 -0
- package/lib-next/theme/MDXPage/index.js +33 -28
- package/lib-next/theme/Navbar/ColorModeToggle/index.js +25 -0
- package/lib-next/theme/Navbar/Content/index.js +75 -0
- package/lib-next/theme/Navbar/Content/styles.module.css +15 -0
- package/lib-next/theme/Navbar/Layout/index.js +54 -0
- package/{src/theme/Navbar → lib-next/theme/Navbar/Layout}/styles.module.css +0 -13
- package/lib-next/theme/Navbar/Logo/index.js +17 -0
- package/lib-next/theme/Navbar/MobileSidebar/Header/index.js +33 -0
- package/lib-next/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
- package/lib-next/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
- package/lib-next/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
- package/lib-next/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
- package/lib-next/theme/Navbar/MobileSidebar/index.js +31 -0
- package/lib-next/theme/Navbar/Search/index.js +11 -0
- package/lib-next/theme/Navbar/Search/styles.module.css +20 -0
- package/lib-next/theme/Navbar/index.js +6 -271
- package/lib-next/theme/NavbarItem/ComponentTypes.js +27 -0
- package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +2 -6
- package/lib-next/theme/NavbarItem/DocNavbarItem.js +11 -28
- package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +10 -42
- package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +25 -29
- package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +2 -9
- package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +14 -3
- package/lib-next/theme/NavbarItem/HtmlNavbarItem.js +30 -0
- package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +5 -10
- package/lib-next/theme/NavbarItem/NavbarNavLink.js +49 -35
- package/lib-next/theme/NavbarItem/SearchNavbarItem.js +6 -1
- package/lib-next/theme/NavbarItem/index.js +4 -23
- package/lib-next/theme/NavbarItem/utils.js +2 -1
- package/lib-next/theme/NotFound.js +38 -33
- package/lib-next/theme/PaginatorNavLink/index.js +8 -2
- package/lib-next/theme/SearchMetadata/index.js +9 -0
- package/lib-next/theme/{LayoutHead → SiteMetadata}/index.js +19 -33
- package/lib-next/theme/SkipToContent/index.js +3 -29
- package/lib-next/theme/TOCCollapsible/CollapseButton.js +29 -0
- package/{src/theme/TOCCollapsible/styles.module.css → lib-next/theme/TOCCollapsible/CollapseButton.module.css} +1 -22
- package/lib-next/theme/TOCCollapsible/index.js +4 -16
- package/lib-next/theme/TOCCollapsible/index.module.css +31 -0
- package/lib-next/theme/TOCItems/Tree.js +40 -0
- package/lib-next/theme/TOCItems/index.js +3 -34
- package/lib-next/theme/TabItem/index.js +3 -1
- package/lib-next/theme/TabItem/styles.module.css +10 -0
- package/lib-next/theme/Tabs/__tests__/index.test.js +8 -8
- package/lib-next/theme/Tabs/index.js +5 -5
- package/lib-next/theme/Tabs/styles.module.css +4 -0
- package/lib-next/theme/Tag/index.js +6 -7
- package/lib-next/theme/TagsListInline/index.js +1 -1
- package/lib-next/theme/ThemedImage/index.js +3 -3
- package/package.json +25 -20
- package/src/admonitions.css +4 -0
- package/src/getSwizzleConfig.ts +173 -22
- package/src/index.ts +14 -15
- package/src/nprogress.css +41 -0
- package/src/nprogress.ts +31 -0
- package/src/theme/BackToTopButton/index.tsx +5 -114
- package/src/theme/BlogArchivePage/index.tsx +18 -17
- package/src/theme/BlogLayout/index.tsx +1 -5
- package/src/theme/BlogListPage/index.tsx +32 -13
- package/src/theme/BlogListPaginator/index.tsx +25 -28
- package/src/theme/BlogPostAuthor/index.tsx +14 -8
- package/src/theme/BlogPostItem/index.tsx +6 -6
- package/src/theme/BlogPostItem/styles.module.css +9 -0
- package/src/theme/BlogPostPage/index.tsx +55 -48
- package/src/theme/BlogPostPaginator/index.tsx +25 -28
- package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
- package/src/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +1 -2
- package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
- package/src/theme/BlogSidebar/index.tsx +10 -31
- package/src/theme/BlogTagsListPage/index.tsx +17 -14
- package/src/theme/BlogTagsPostsPage/index.tsx +46 -36
- package/src/theme/CodeBlock/Container/index.tsx +35 -0
- package/src/theme/CodeBlock/Container/styles.module.css +14 -0
- package/src/theme/CodeBlock/Content/Element.tsx +30 -0
- package/src/theme/CodeBlock/Content/String.tsx +111 -0
- package/src/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +39 -29
- package/src/theme/CodeBlock/CopyButton/index.tsx +67 -0
- package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
- package/src/theme/CodeBlock/Line/index.tsx +48 -0
- package/src/theme/CodeBlock/Line/styles.module.css +51 -0
- package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
- package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
- package/src/theme/CodeBlock/index.tsx +29 -165
- package/src/theme/ColorModeToggle/index.tsx +67 -0
- package/src/theme/ColorModeToggle/styles.module.css +35 -0
- package/src/theme/Details/index.tsx +1 -1
- package/src/theme/DocBreadcrumbs/index.tsx +65 -16
- package/src/theme/DocBreadcrumbs/styles.module.css +8 -15
- package/src/theme/DocCard/index.tsx +24 -17
- package/src/theme/DocCard/styles.module.css +8 -17
- package/src/theme/DocCardList/index.tsx +19 -10
- package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +34 -7
- package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +8 -0
- package/src/theme/DocItem/index.tsx +72 -56
- package/src/theme/DocItem/styles.module.css +6 -0
- package/src/theme/DocPage/Layout/Main/index.tsx +37 -0
- package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
- package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
- package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
- package/src/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
- package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
- package/src/theme/{BlogPostAuthor/styles.module.css → DocPage/Layout/index.module.css} +6 -3
- package/src/theme/DocPage/Layout/index.tsx +39 -0
- package/src/theme/DocPage/index.tsx +30 -160
- package/src/theme/DocPaginator/index.tsx +25 -28
- package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
- package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
- package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
- package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
- package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
- package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
- package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
- package/src/theme/DocSidebar/index.tsx +6 -121
- package/src/theme/DocSidebarItem/Category.tsx +210 -0
- package/src/theme/DocSidebarItem/{styles.module.css → Html.module.css} +0 -0
- package/src/theme/DocSidebarItem/Html.tsx +34 -0
- package/src/theme/DocSidebarItem/Link.module.css +10 -0
- package/src/theme/DocSidebarItem/Link.tsx +58 -0
- package/src/theme/DocSidebarItem/index.tsx +4 -260
- package/src/theme/DocSidebarItems/index.tsx +1 -6
- package/src/theme/DocTagDocListPage/index.tsx +40 -33
- package/src/theme/DocTagsListPage/index.tsx +21 -16
- package/src/theme/DocVersionBanner/index.tsx +5 -6
- package/src/theme/Footer/Copyright/index.tsx +20 -0
- package/src/theme/Footer/Layout/index.tsx +34 -0
- package/src/theme/Footer/LinkItem/index.tsx +36 -0
- package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
- package/src/theme/Footer/Links/Simple/index.tsx +42 -0
- package/src/theme/Footer/Links/index.tsx +21 -0
- package/src/theme/Footer/Logo/index.tsx +41 -0
- package/src/theme/Footer/{styles.module.css → Logo/styles.module.css} +0 -0
- package/src/theme/Footer/index.tsx +12 -186
- package/src/theme/Heading/index.tsx +10 -22
- package/src/theme/IconDarkMode/index.tsx +20 -0
- package/src/theme/IconExternalLink/styles.module.css +0 -2
- package/src/theme/IconHome/index.tsx +20 -0
- package/src/theme/IconLanguage/index.tsx +3 -3
- package/src/theme/IconLightMode/index.tsx +20 -0
- package/src/theme/LastUpdated/index.tsx +1 -0
- package/src/theme/Layout/index.tsx +15 -10
- package/src/theme/LayoutProviders/index.tsx +5 -4
- package/src/theme/MDXComponents/A.tsx +14 -0
- package/src/theme/MDXComponents/Code.tsx +37 -0
- package/src/theme/MDXComponents/Details.tsx +25 -0
- package/src/theme/MDXComponents/Head.tsx +29 -0
- package/src/theme/MDXComponents/Heading.tsx +14 -0
- package/{lib-next/theme/MDXComponents/styles.css → src/theme/MDXComponents/Img.module.css} +1 -6
- package/src/theme/MDXComponents/Img.tsx +26 -0
- package/src/theme/MDXComponents/Pre.tsx +22 -0
- package/src/theme/MDXComponents/Ul.tsx +24 -0
- package/src/theme/MDXComponents/index.tsx +23 -66
- package/src/theme/MDXContent/index.tsx +15 -0
- package/src/theme/MDXPage/index.tsx +33 -28
- package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
- package/src/theme/Navbar/Content/index.tsx +86 -0
- package/src/theme/Navbar/Content/styles.module.css +15 -0
- package/src/theme/Navbar/Layout/index.tsx +57 -0
- package/{lib-next/theme/Navbar → src/theme/Navbar/Layout}/styles.module.css +0 -13
- package/src/theme/Navbar/Logo/index.tsx +19 -0
- package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
- package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
- package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
- package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +38 -0
- package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
- package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
- package/src/theme/Navbar/Search/index.tsx +15 -0
- package/src/theme/Navbar/Search/styles.module.css +20 -0
- package/src/theme/Navbar/index.tsx +6 -286
- package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
- package/src/theme/NavbarItem/DefaultNavbarItem.tsx +2 -2
- package/src/theme/NavbarItem/DocNavbarItem.tsx +13 -32
- package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +9 -49
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +26 -33
- package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +3 -10
- package/src/theme/NavbarItem/DropdownNavbarItem.tsx +15 -3
- package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +5 -9
- package/src/theme/NavbarItem/NavbarNavLink.tsx +41 -29
- package/src/theme/NavbarItem/SearchNavbarItem.tsx +6 -1
- package/src/theme/NavbarItem/index.tsx +9 -39
- package/src/theme/NavbarItem/utils.ts +5 -2
- package/src/theme/NotFound.tsx +38 -33
- package/src/theme/PaginatorNavLink/index.tsx +8 -2
- package/src/theme/SearchMetadata/index.tsx +9 -0
- package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +19 -33
- package/src/theme/SkipToContent/index.tsx +3 -29
- package/{lib-next/theme/TOCCollapsible/styles.module.css → src/theme/TOCCollapsible/CollapseButton.module.css} +1 -22
- package/src/theme/TOCCollapsible/CollapseButton.tsx +35 -0
- package/src/theme/TOCCollapsible/index.module.css +31 -0
- package/src/theme/TOCCollapsible/index.tsx +4 -17
- package/src/theme/TOCItems/Tree.tsx +46 -0
- package/src/theme/TOCItems/index.tsx +2 -41
- package/src/theme/TabItem/index.tsx +7 -1
- package/src/theme/TabItem/styles.module.css +10 -0
- package/src/theme/Tabs/index.tsx +8 -9
- package/src/theme/Tabs/styles.module.css +4 -0
- package/src/theme/Tag/index.tsx +6 -8
- package/src/theme/TagsListInline/index.tsx +1 -1
- package/src/theme/ThemedImage/index.tsx +4 -3
- package/src/theme-classic.d.ts +600 -76
- package/src/translations.ts +12 -6
- package/src/validateThemeConfig.ts +90 -39
- package/lib/types.d.ts +0 -11
- package/lib-next/theme/DocPage/styles.module.css +0 -86
- package/lib-next/theme/DocSidebar/styles.module.css +0 -107
- package/lib-next/theme/Seo/index.js +0 -40
- package/lib-next/theme/Toggle/index.js +0 -100
- package/lib-next/theme/Toggle/styles.module.css +0 -106
- package/src/theme/DocPage/styles.module.css +0 -86
- package/src/theme/DocSidebar/styles.module.css +0 -107
- package/src/theme/Seo/index.tsx +0 -49
- package/src/theme/Toggle/index.tsx +0 -117
- package/src/theme/Toggle/styles.module.css +0 -106
- package/src/types.d.ts +0 -11
|
@@ -0,0 +1,39 @@
|
|
|
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, {useState} from 'react';
|
|
9
|
+
import Layout from '@theme/Layout';
|
|
10
|
+
import BackToTopButton from '@theme/BackToTopButton';
|
|
11
|
+
import type {Props} from '@theme/DocPage/Layout';
|
|
12
|
+
import DocPageLayoutSidebar from '@theme/DocPage/Layout/Sidebar';
|
|
13
|
+
import DocPageLayoutMain from '@theme/DocPage/Layout/Main';
|
|
14
|
+
|
|
15
|
+
import styles from './index.module.css';
|
|
16
|
+
|
|
17
|
+
import {useDocsSidebar} from '@docusaurus/theme-common';
|
|
18
|
+
|
|
19
|
+
export default function DocPageLayout({children}: Props): JSX.Element {
|
|
20
|
+
const sidebar = useDocsSidebar();
|
|
21
|
+
const [hiddenSidebarContainer, setHiddenSidebarContainer] = useState(false);
|
|
22
|
+
return (
|
|
23
|
+
<Layout wrapperClassName={styles.docsWrapper}>
|
|
24
|
+
<BackToTopButton />
|
|
25
|
+
<div className={styles.docPage}>
|
|
26
|
+
{sidebar && (
|
|
27
|
+
<DocPageLayoutSidebar
|
|
28
|
+
sidebar={sidebar.items}
|
|
29
|
+
hiddenSidebarContainer={hiddenSidebarContainer}
|
|
30
|
+
setHiddenSidebarContainer={setHiddenSidebarContainer}
|
|
31
|
+
/>
|
|
32
|
+
)}
|
|
33
|
+
<DocPageLayoutMain hiddenSidebarContainer={hiddenSidebarContainer}>
|
|
34
|
+
{children}
|
|
35
|
+
</DocPageLayoutMain>
|
|
36
|
+
</div>
|
|
37
|
+
</Layout>
|
|
38
|
+
);
|
|
39
|
+
}
|
|
@@ -5,182 +5,52 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import React
|
|
9
|
-
import {MDXProvider} from '@mdx-js/react';
|
|
10
|
-
|
|
11
|
-
import renderRoutes from '@docusaurus/renderRoutes';
|
|
12
|
-
import type {PropVersionMetadata} from '@docusaurus/plugin-content-docs';
|
|
13
|
-
import Layout from '@theme/Layout';
|
|
14
|
-
import DocSidebar from '@theme/DocSidebar';
|
|
15
|
-
import MDXComponents from '@theme/MDXComponents';
|
|
8
|
+
import React from 'react';
|
|
16
9
|
import NotFound from '@theme/NotFound';
|
|
17
|
-
import type {DocumentRoute} from '@theme/DocItem';
|
|
18
10
|
import type {Props} from '@theme/DocPage';
|
|
19
|
-
import
|
|
20
|
-
import BackToTopButton from '@theme/BackToTopButton';
|
|
21
|
-
import {matchPath} from '@docusaurus/router';
|
|
22
|
-
import {translate} from '@docusaurus/Translate';
|
|
11
|
+
import DocPageLayout from '@theme/DocPage/Layout';
|
|
23
12
|
|
|
24
13
|
import clsx from 'clsx';
|
|
25
|
-
|
|
14
|
+
|
|
26
15
|
import {
|
|
16
|
+
HtmlClassNameProvider,
|
|
27
17
|
ThemeClassNames,
|
|
28
18
|
docVersionSearchTag,
|
|
29
19
|
DocsSidebarProvider,
|
|
30
|
-
useDocsSidebar,
|
|
31
20
|
DocsVersionProvider,
|
|
21
|
+
useDocRouteMetadata,
|
|
32
22
|
} from '@docusaurus/theme-common';
|
|
33
|
-
import
|
|
34
|
-
|
|
35
|
-
type DocPageContentProps = {
|
|
36
|
-
readonly currentDocRoute: DocumentRoute;
|
|
37
|
-
readonly versionMetadata: PropVersionMetadata;
|
|
38
|
-
readonly children: ReactNode;
|
|
39
|
-
readonly sidebarName: string | undefined;
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
function DocPageContent({
|
|
43
|
-
currentDocRoute,
|
|
44
|
-
versionMetadata,
|
|
45
|
-
children,
|
|
46
|
-
sidebarName,
|
|
47
|
-
}: DocPageContentProps): JSX.Element {
|
|
48
|
-
const sidebar = useDocsSidebar();
|
|
49
|
-
const {pluginId, version} = versionMetadata;
|
|
50
|
-
const [hiddenSidebarContainer, setHiddenSidebarContainer] = useState(false);
|
|
51
|
-
const [hiddenSidebar, setHiddenSidebar] = useState(false);
|
|
52
|
-
const toggleSidebar = useCallback(() => {
|
|
53
|
-
if (hiddenSidebar) {
|
|
54
|
-
setHiddenSidebar(false);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
setHiddenSidebarContainer((value) => !value);
|
|
58
|
-
}, [hiddenSidebar]);
|
|
59
|
-
|
|
60
|
-
return (
|
|
61
|
-
<Layout
|
|
62
|
-
wrapperClassName={ThemeClassNames.wrapper.docsPages}
|
|
63
|
-
pageClassName={ThemeClassNames.page.docsDocPage}
|
|
64
|
-
searchMetadata={{
|
|
65
|
-
version,
|
|
66
|
-
tag: docVersionSearchTag(pluginId, version),
|
|
67
|
-
}}>
|
|
68
|
-
<div className={styles.docPage}>
|
|
69
|
-
<BackToTopButton />
|
|
70
|
-
|
|
71
|
-
{sidebar && (
|
|
72
|
-
<aside
|
|
73
|
-
className={clsx(
|
|
74
|
-
ThemeClassNames.docs.docSidebarContainer,
|
|
75
|
-
styles.docSidebarContainer,
|
|
76
|
-
{
|
|
77
|
-
[styles.docSidebarContainerHidden]: hiddenSidebarContainer,
|
|
78
|
-
},
|
|
79
|
-
)}
|
|
80
|
-
onTransitionEnd={(e) => {
|
|
81
|
-
if (
|
|
82
|
-
!e.currentTarget.classList.contains(styles.docSidebarContainer)
|
|
83
|
-
) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (hiddenSidebarContainer) {
|
|
88
|
-
setHiddenSidebar(true);
|
|
89
|
-
}
|
|
90
|
-
}}>
|
|
91
|
-
<DocSidebar
|
|
92
|
-
key={
|
|
93
|
-
// Reset sidebar state on sidebar changes
|
|
94
|
-
// See https://github.com/facebook/docusaurus/issues/3414
|
|
95
|
-
sidebarName
|
|
96
|
-
}
|
|
97
|
-
sidebar={sidebar}
|
|
98
|
-
path={currentDocRoute.path}
|
|
99
|
-
onCollapse={toggleSidebar}
|
|
100
|
-
isHidden={hiddenSidebar}
|
|
101
|
-
/>
|
|
102
|
-
|
|
103
|
-
{hiddenSidebar && (
|
|
104
|
-
<div
|
|
105
|
-
className={styles.collapsedDocSidebar}
|
|
106
|
-
title={translate({
|
|
107
|
-
id: 'theme.docs.sidebar.expandButtonTitle',
|
|
108
|
-
message: 'Expand sidebar',
|
|
109
|
-
description:
|
|
110
|
-
'The ARIA label and title attribute for expand button of doc sidebar',
|
|
111
|
-
})}
|
|
112
|
-
aria-label={translate({
|
|
113
|
-
id: 'theme.docs.sidebar.expandButtonAriaLabel',
|
|
114
|
-
message: 'Expand sidebar',
|
|
115
|
-
description:
|
|
116
|
-
'The ARIA label and title attribute for expand button of doc sidebar',
|
|
117
|
-
})}
|
|
118
|
-
tabIndex={0}
|
|
119
|
-
role="button"
|
|
120
|
-
onKeyDown={toggleSidebar}
|
|
121
|
-
onClick={toggleSidebar}>
|
|
122
|
-
<IconArrow className={styles.expandSidebarButtonIcon} />
|
|
123
|
-
</div>
|
|
124
|
-
)}
|
|
125
|
-
</aside>
|
|
126
|
-
)}
|
|
127
|
-
<main
|
|
128
|
-
className={clsx(styles.docMainContainer, {
|
|
129
|
-
[styles.docMainContainerEnhanced]:
|
|
130
|
-
hiddenSidebarContainer || !sidebar,
|
|
131
|
-
})}>
|
|
132
|
-
<div
|
|
133
|
-
className={clsx(
|
|
134
|
-
'container padding-top--md padding-bottom--lg',
|
|
135
|
-
styles.docItemWrapper,
|
|
136
|
-
{
|
|
137
|
-
[styles.docItemWrapperEnhanced]: hiddenSidebarContainer,
|
|
138
|
-
},
|
|
139
|
-
)}>
|
|
140
|
-
<MDXProvider components={MDXComponents}>{children}</MDXProvider>
|
|
141
|
-
</div>
|
|
142
|
-
</main>
|
|
143
|
-
</div>
|
|
144
|
-
</Layout>
|
|
145
|
-
);
|
|
146
|
-
}
|
|
23
|
+
import SearchMetadata from '@theme/SearchMetadata';
|
|
147
24
|
|
|
148
25
|
export default function DocPage(props: Props): JSX.Element {
|
|
149
|
-
const {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
location,
|
|
153
|
-
} = props;
|
|
154
|
-
const currentDocRoute = docRoutes.find((docRoute) =>
|
|
155
|
-
matchPath(location.pathname, docRoute),
|
|
156
|
-
);
|
|
157
|
-
if (!currentDocRoute) {
|
|
26
|
+
const {versionMetadata} = props;
|
|
27
|
+
const currentDocRouteMetadata = useDocRouteMetadata(props);
|
|
28
|
+
if (!currentDocRouteMetadata) {
|
|
158
29
|
return <NotFound />;
|
|
159
30
|
}
|
|
160
|
-
|
|
161
|
-
// For now, the sidebarName is added as route config: not ideal!
|
|
162
|
-
const sidebarName = currentDocRoute.sidebar;
|
|
163
|
-
|
|
164
|
-
const sidebar = sidebarName
|
|
165
|
-
? versionMetadata.docsSidebars[sidebarName]
|
|
166
|
-
: null;
|
|
167
|
-
|
|
31
|
+
const {docElement, sidebarName, sidebarItems} = currentDocRouteMetadata;
|
|
168
32
|
return (
|
|
169
33
|
<>
|
|
170
|
-
<
|
|
171
|
-
{
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
34
|
+
<SearchMetadata
|
|
35
|
+
version={versionMetadata.version}
|
|
36
|
+
tag={docVersionSearchTag(
|
|
37
|
+
versionMetadata.pluginId,
|
|
38
|
+
versionMetadata.version,
|
|
39
|
+
)}
|
|
40
|
+
/>
|
|
41
|
+
<HtmlClassNameProvider
|
|
42
|
+
className={clsx(
|
|
43
|
+
// TODO: it should be removed from here
|
|
44
|
+
ThemeClassNames.wrapper.docsPages,
|
|
45
|
+
ThemeClassNames.page.docsDocPage,
|
|
46
|
+
props.versionMetadata.className,
|
|
47
|
+
)}>
|
|
48
|
+
<DocsVersionProvider version={versionMetadata}>
|
|
49
|
+
<DocsSidebarProvider name={sidebarName} items={sidebarItems}>
|
|
50
|
+
<DocPageLayout>{docElement}</DocPageLayout>
|
|
51
|
+
</DocsSidebarProvider>
|
|
52
|
+
</DocsVersionProvider>
|
|
53
|
+
</HtmlClassNameProvider>
|
|
184
54
|
</>
|
|
185
55
|
);
|
|
186
56
|
}
|
|
@@ -21,34 +21,31 @@ export default function DocPaginator(props: Props): JSX.Element {
|
|
|
21
21
|
message: 'Docs pages navigation',
|
|
22
22
|
description: 'The ARIA label for the docs pagination',
|
|
23
23
|
})}>
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
/>
|
|
50
|
-
)}
|
|
51
|
-
</div>
|
|
24
|
+
{previous && (
|
|
25
|
+
<PaginatorNavLink
|
|
26
|
+
{...previous}
|
|
27
|
+
subLabel={
|
|
28
|
+
<Translate
|
|
29
|
+
id="theme.docs.paginator.previous"
|
|
30
|
+
description="The label used to navigate to the previous doc">
|
|
31
|
+
Previous
|
|
32
|
+
</Translate>
|
|
33
|
+
}
|
|
34
|
+
/>
|
|
35
|
+
)}
|
|
36
|
+
{next && (
|
|
37
|
+
<PaginatorNavLink
|
|
38
|
+
{...next}
|
|
39
|
+
subLabel={
|
|
40
|
+
<Translate
|
|
41
|
+
id="theme.docs.paginator.next"
|
|
42
|
+
description="The label used to navigate to the next doc">
|
|
43
|
+
Next
|
|
44
|
+
</Translate>
|
|
45
|
+
}
|
|
46
|
+
isNext
|
|
47
|
+
/>
|
|
48
|
+
)}
|
|
52
49
|
</nav>
|
|
53
50
|
);
|
|
54
51
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
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 clsx from 'clsx';
|
|
10
|
+
import IconArrow from '@theme/IconArrow';
|
|
11
|
+
import {translate} from '@docusaurus/Translate';
|
|
12
|
+
import type {Props} from '@theme/DocSidebar/Desktop/CollapseButton';
|
|
13
|
+
|
|
14
|
+
import styles from './styles.module.css';
|
|
15
|
+
|
|
16
|
+
export default function CollapseButton({onClick}: Props): JSX.Element {
|
|
17
|
+
return (
|
|
18
|
+
<button
|
|
19
|
+
type="button"
|
|
20
|
+
title={translate({
|
|
21
|
+
id: 'theme.docs.sidebar.collapseButtonTitle',
|
|
22
|
+
message: 'Collapse sidebar',
|
|
23
|
+
description: 'The title attribute for collapse button of doc sidebar',
|
|
24
|
+
})}
|
|
25
|
+
aria-label={translate({
|
|
26
|
+
id: 'theme.docs.sidebar.collapseButtonAriaLabel',
|
|
27
|
+
message: 'Collapse sidebar',
|
|
28
|
+
description: 'The title attribute for collapse button of doc sidebar',
|
|
29
|
+
})}
|
|
30
|
+
className={clsx(
|
|
31
|
+
'button button--secondary button--outline',
|
|
32
|
+
styles.collapseSidebarButton,
|
|
33
|
+
)}
|
|
34
|
+
onClick={onClick}>
|
|
35
|
+
<IconArrow className={styles.collapseSidebarButtonIcon} />
|
|
36
|
+
</button>
|
|
37
|
+
);
|
|
38
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
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
|
+
:root {
|
|
9
|
+
--docusaurus-collapse-button-bg: transparent;
|
|
10
|
+
--docusaurus-collapse-button-bg-hover: rgb(0 0 0 / 10%);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
[data-theme='dark']:root {
|
|
14
|
+
--docusaurus-collapse-button-bg: rgb(255 255 255 / 5%);
|
|
15
|
+
--docusaurus-collapse-button-bg-hover: rgb(255 255 255 / 10%);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@media (min-width: 997px) {
|
|
19
|
+
.collapseSidebarButton {
|
|
20
|
+
display: block !important;
|
|
21
|
+
background-color: var(--docusaurus-collapse-button-bg);
|
|
22
|
+
height: 40px;
|
|
23
|
+
position: sticky;
|
|
24
|
+
bottom: 0;
|
|
25
|
+
border-radius: 0;
|
|
26
|
+
border: 1px solid var(--ifm-toc-border-color);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.collapseSidebarButtonIcon {
|
|
30
|
+
transform: rotate(180deg);
|
|
31
|
+
margin-top: 4px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
[dir='rtl'] .collapseSidebarButtonIcon {
|
|
35
|
+
transform: rotate(0);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.collapseSidebarButton:hover,
|
|
39
|
+
.collapseSidebarButton:focus {
|
|
40
|
+
background-color: var(--docusaurus-collapse-button-bg-hover);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.collapseSidebarButton {
|
|
45
|
+
display: none;
|
|
46
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
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, {useState} from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import {
|
|
11
|
+
ThemeClassNames,
|
|
12
|
+
useAnnouncementBar,
|
|
13
|
+
useScrollPosition,
|
|
14
|
+
} from '@docusaurus/theme-common';
|
|
15
|
+
import DocSidebarItems from '@theme/DocSidebarItems';
|
|
16
|
+
import type {Props} from '@theme/DocSidebar/Desktop/Content';
|
|
17
|
+
|
|
18
|
+
import styles from './styles.module.css';
|
|
19
|
+
|
|
20
|
+
function useShowAnnouncementBar() {
|
|
21
|
+
const {isActive} = useAnnouncementBar();
|
|
22
|
+
const [showAnnouncementBar, setShowAnnouncementBar] = useState(isActive);
|
|
23
|
+
|
|
24
|
+
useScrollPosition(
|
|
25
|
+
({scrollY}) => {
|
|
26
|
+
if (isActive) {
|
|
27
|
+
setShowAnnouncementBar(scrollY === 0);
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
[isActive],
|
|
31
|
+
);
|
|
32
|
+
return isActive && showAnnouncementBar;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export default function DocSidebarDesktopContent({
|
|
36
|
+
path,
|
|
37
|
+
sidebar,
|
|
38
|
+
className,
|
|
39
|
+
}: Props): JSX.Element {
|
|
40
|
+
const showAnnouncementBar = useShowAnnouncementBar();
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<nav
|
|
44
|
+
className={clsx(
|
|
45
|
+
'menu thin-scrollbar',
|
|
46
|
+
styles.menu,
|
|
47
|
+
showAnnouncementBar && styles.menuWithAnnouncementBar,
|
|
48
|
+
className,
|
|
49
|
+
)}>
|
|
50
|
+
<ul className={clsx(ThemeClassNames.docs.docSidebarMenu, 'menu__list')}>
|
|
51
|
+
<DocSidebarItems items={sidebar} activePath={path} level={1} />
|
|
52
|
+
</ul>
|
|
53
|
+
</nav>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
@media (min-width: 997px) {
|
|
9
|
+
.menu {
|
|
10
|
+
flex-grow: 1;
|
|
11
|
+
padding: 0.5rem;
|
|
12
|
+
}
|
|
13
|
+
@supports (scrollbar-gutter: stable) {
|
|
14
|
+
.menu {
|
|
15
|
+
padding: 0.5rem 0 0.5rem 0.5rem;
|
|
16
|
+
scrollbar-gutter: stable;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.menuWithAnnouncementBar {
|
|
21
|
+
margin-bottom: var(--docusaurus-announcement-bar-height);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
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 clsx from 'clsx';
|
|
10
|
+
import {useThemeConfig} from '@docusaurus/theme-common';
|
|
11
|
+
import Logo from '@theme/Logo';
|
|
12
|
+
import CollapseButton from '@theme/DocSidebar/Desktop/CollapseButton';
|
|
13
|
+
import Content from '@theme/DocSidebar/Desktop/Content';
|
|
14
|
+
import type {Props} from '@theme/DocSidebar/Desktop';
|
|
15
|
+
|
|
16
|
+
import styles from './styles.module.css';
|
|
17
|
+
|
|
18
|
+
function DocSidebarDesktop({path, sidebar, onCollapse, isHidden}: Props) {
|
|
19
|
+
const {
|
|
20
|
+
navbar: {hideOnScroll},
|
|
21
|
+
docs: {
|
|
22
|
+
sidebar: {hideable},
|
|
23
|
+
},
|
|
24
|
+
} = useThemeConfig();
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<div
|
|
28
|
+
className={clsx(
|
|
29
|
+
styles.sidebar,
|
|
30
|
+
hideOnScroll && styles.sidebarWithHideableNavbar,
|
|
31
|
+
isHidden && styles.sidebarHidden,
|
|
32
|
+
)}>
|
|
33
|
+
{hideOnScroll && <Logo tabIndex={-1} className={styles.sidebarLogo} />}
|
|
34
|
+
<Content path={path} sidebar={sidebar} />
|
|
35
|
+
{hideable && <CollapseButton onClick={onCollapse} />}
|
|
36
|
+
</div>
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export default React.memo(DocSidebarDesktop);
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
@media (min-width: 997px) {
|
|
9
|
+
.sidebar {
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
max-height: 100vh;
|
|
13
|
+
height: 100%;
|
|
14
|
+
position: sticky;
|
|
15
|
+
top: 0;
|
|
16
|
+
padding-top: var(--ifm-navbar-height);
|
|
17
|
+
width: var(--doc-sidebar-width);
|
|
18
|
+
transition: opacity 50ms ease;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.sidebarWithHideableNavbar {
|
|
22
|
+
padding-top: 0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.sidebarHidden {
|
|
26
|
+
opacity: 0;
|
|
27
|
+
height: 0;
|
|
28
|
+
overflow: hidden;
|
|
29
|
+
visibility: hidden;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.sidebarLogo {
|
|
33
|
+
display: flex !important;
|
|
34
|
+
align-items: center;
|
|
35
|
+
margin: 0 var(--ifm-navbar-padding-horizontal);
|
|
36
|
+
min-height: var(--ifm-navbar-height);
|
|
37
|
+
max-height: var(--ifm-navbar-height);
|
|
38
|
+
color: inherit !important;
|
|
39
|
+
text-decoration: none !important;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.sidebarLogo img {
|
|
43
|
+
margin-right: 0.5rem;
|
|
44
|
+
height: 2rem;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.sidebarLogo {
|
|
49
|
+
display: none;
|
|
50
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
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 clsx from 'clsx';
|
|
10
|
+
import {
|
|
11
|
+
NavbarSecondaryMenuFiller,
|
|
12
|
+
type NavbarSecondaryMenuComponent,
|
|
13
|
+
ThemeClassNames,
|
|
14
|
+
useNavbarMobileSidebar,
|
|
15
|
+
} from '@docusaurus/theme-common';
|
|
16
|
+
import DocSidebarItems from '@theme/DocSidebarItems';
|
|
17
|
+
import type {Props} from '@theme/DocSidebar/Mobile';
|
|
18
|
+
|
|
19
|
+
// eslint-disable-next-line react/function-component-definition
|
|
20
|
+
const DocSidebarMobileSecondaryMenu: NavbarSecondaryMenuComponent<Props> = ({
|
|
21
|
+
sidebar,
|
|
22
|
+
path,
|
|
23
|
+
}) => {
|
|
24
|
+
const mobileSidebar = useNavbarMobileSidebar();
|
|
25
|
+
return (
|
|
26
|
+
<ul className={clsx(ThemeClassNames.docs.docSidebarMenu, 'menu__list')}>
|
|
27
|
+
<DocSidebarItems
|
|
28
|
+
items={sidebar}
|
|
29
|
+
activePath={path}
|
|
30
|
+
onItemClick={(item) => {
|
|
31
|
+
// Mobile sidebar should only be closed if the category has a link
|
|
32
|
+
if (item.type === 'category' && item.href) {
|
|
33
|
+
mobileSidebar.toggle();
|
|
34
|
+
}
|
|
35
|
+
if (item.type === 'link') {
|
|
36
|
+
mobileSidebar.toggle();
|
|
37
|
+
}
|
|
38
|
+
}}
|
|
39
|
+
level={1}
|
|
40
|
+
/>
|
|
41
|
+
</ul>
|
|
42
|
+
);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
function DocSidebarMobile(props: Props) {
|
|
46
|
+
return (
|
|
47
|
+
<NavbarSecondaryMenuFiller
|
|
48
|
+
component={DocSidebarMobileSecondaryMenu}
|
|
49
|
+
props={props}
|
|
50
|
+
/>
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export default React.memo(DocSidebarMobile);
|