@docusaurus/theme-classic 2.0.0-beta.12faed89d → 2.0.0-beta.13
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/README.md +1 -1
- package/lib/__tests__/validateThemeConfig.test.js +277 -3
- package/lib/admonitions.css +35 -0
- package/lib/deps.d.ts +13 -0
- package/lib/index.js +16 -15
- package/lib/prism-include-languages.js +9 -5
- package/lib/theme/AnnouncementBar/index.js +8 -12
- package/lib/theme/AnnouncementBar/styles.module.css +23 -32
- package/lib/theme/BackToTopButton/index.js +140 -0
- package/lib/theme/BackToTopButton/styles.module.css +42 -0
- package/lib/theme/BlogArchivePage/index.js +89 -0
- package/lib/theme/BlogLayout/index.js +51 -0
- package/lib/theme/BlogListPage/index.js +10 -21
- package/lib/theme/BlogPostAuthor/index.js +51 -0
- package/lib/theme/BlogPostAuthor/styles.module.css +12 -0
- package/lib/theme/BlogPostAuthors/index.js +47 -0
- package/lib/theme/BlogPostAuthors/styles.module.css +11 -0
- package/lib/theme/BlogPostItem/index.js +58 -67
- package/lib/theme/BlogPostPage/index.js +37 -24
- package/lib/theme/BlogSidebar/index.js +5 -7
- package/lib/theme/BlogSidebar/styles.module.css +2 -2
- package/lib/theme/BlogTagsListPage/index.js +8 -44
- package/lib/theme/BlogTagsPostsPage/index.js +24 -38
- package/lib/theme/CodeBlock/index.js +18 -138
- package/lib/theme/CodeBlock/styles.module.css +6 -9
- package/lib/theme/Details/index.js +30 -0
- package/lib/theme/Details/styles.module.css +13 -0
- package/lib/theme/DocCard/index.js +84 -0
- package/lib/theme/DocCard/styles.module.css +43 -0
- package/lib/theme/DocCardList/index.js +28 -0
- package/lib/theme/DocCategoryGeneratedIndexPage/index.js +57 -0
- package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
- package/lib/theme/DocItem/index.js +22 -48
- package/lib/theme/DocItem/styles.module.css +2 -11
- package/lib/theme/DocItemFooter/index.js +79 -0
- package/lib/theme/DocItemFooter/styles.module.css +18 -0
- package/lib/theme/DocPage/index.js +35 -20
- package/lib/theme/DocPaginator/index.js +6 -7
- package/lib/theme/DocSidebar/index.js +23 -22
- package/lib/theme/DocSidebarItem/index.js +84 -50
- package/lib/theme/DocSidebarItem/styles.module.css +4 -0
- package/lib/theme/DocTagDocListPage/index.js +89 -0
- package/lib/theme/DocTagsListPage/index.js +44 -0
- package/lib/theme/DocVersionBadge/index.js +34 -0
- package/lib/theme/DocVersionBanner/index.js +12 -10
- package/lib/theme/EditThisPage/index.js +3 -1
- package/lib/theme/ErrorPageContent.js +43 -0
- package/lib/theme/Footer/index.js +8 -4
- package/lib/theme/Heading/index.js +17 -22
- package/lib/theme/Heading/styles.css +5 -6
- package/lib/theme/Heading/styles.module.css +9 -5
- package/lib/theme/IconArrow/index.js +2 -2
- package/lib/theme/IconClose/index.js +31 -0
- package/lib/theme/IconEdit/index.js +3 -3
- package/lib/theme/IconExternalLink/index.js +3 -3
- package/lib/theme/IconLanguage/index.js +3 -3
- package/lib/theme/IconMenu/index.js +3 -3
- package/lib/theme/LastUpdated/index.js +4 -2
- package/lib/theme/Layout/index.js +5 -1
- package/lib/theme/LayoutHead/index.js +22 -17
- package/lib/theme/LayoutProviders/index.js +7 -5
- package/lib/theme/Logo/index.js +16 -14
- package/lib/theme/MDXComponents/index.js +45 -4
- package/lib/theme/MDXComponents/styles.css +11 -0
- package/lib/theme/MDXPage/index.js +2 -1
- package/lib/theme/Navbar/index.js +46 -27
- package/lib/theme/Navbar/styles.module.css +3 -39
- package/lib/theme/NavbarItem/DefaultNavbarItem.js +27 -124
- package/lib/theme/NavbarItem/DocNavbarItem.js +7 -8
- package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +19 -12
- package/lib/theme/NavbarItem/DropdownNavbarItem.js +155 -0
- package/lib/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +6 -10
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/lib/theme/NavbarItem/index.js +31 -11
- package/lib/theme/{SearchMetadatas → SearchMetadata}/index.js +2 -2
- package/lib/theme/Seo/index.js +10 -7
- package/lib/theme/TOC/index.js +9 -30
- package/lib/theme/TOC/styles.module.css +1 -1
- package/lib/theme/TOCCollapsible/index.js +7 -5
- package/lib/theme/TOCCollapsible/styles.module.css +1 -0
- package/lib/theme/TOCInline/index.js +7 -27
- package/lib/theme/TOCItems/index.js +78 -0
- package/lib/theme/Tabs/__tests__/index.test.js +123 -0
- package/lib/theme/Tabs/index.js +73 -50
- package/lib/theme/Tabs/styles.module.css +0 -13
- package/lib/theme/Tag/index.js +40 -0
- package/lib/theme/Tag/styles.module.css +70 -0
- package/lib/theme/TagsListByLetter/index.js +48 -0
- package/lib/theme/TagsListByLetter/styles.module.css +11 -0
- package/lib/theme/TagsListInline/index.js +44 -0
- package/lib/theme/TagsListInline/styles.module.css +15 -0
- package/lib/theme/ThemeProvider/index.js +8 -3
- package/lib/theme/ThemedImage/index.js +5 -7
- package/lib/theme/Toggle/index.js +41 -44
- package/lib/theme/Toggle/styles.module.css +91 -3
- package/lib/theme/UserPreferencesProvider/index.js +8 -3
- package/lib/theme/hooks/useHideableNavbar.js +14 -32
- package/lib/theme/hooks/useTheme.js +3 -5
- package/lib/theme/hooks/useWindowSize.js +2 -7
- package/lib/theme/prism-include-languages.js +4 -3
- package/lib/theme-classic.d.ts +806 -0
- package/lib/translations.js +4 -4
- package/lib/types.d.ts +0 -629
- package/lib/validateThemeConfig.js +230 -248
- package/lib-next/__tests__/validateThemeConfig.test.js +277 -3
- package/lib-next/admonitions.css +35 -0
- package/lib-next/deps.d.ts +13 -0
- package/lib-next/index.js +16 -10
- package/lib-next/prism-include-languages.js +0 -2
- package/lib-next/theme/AnnouncementBar/index.js +7 -12
- package/lib-next/theme/AnnouncementBar/styles.module.css +23 -32
- package/lib-next/theme/BackToTopButton/index.js +131 -0
- package/lib-next/theme/BackToTopButton/styles.module.css +42 -0
- package/lib-next/theme/BlogArchivePage/index.js +80 -0
- package/lib-next/theme/BlogLayout/index.js +40 -0
- package/lib-next/theme/BlogListPage/index.js +17 -25
- package/lib-next/theme/BlogPostAuthor/index.js +46 -0
- package/lib-next/theme/BlogPostAuthor/styles.module.css +12 -0
- package/lib-next/theme/BlogPostAuthors/index.js +34 -0
- package/lib-next/theme/BlogPostAuthors/styles.module.css +11 -0
- package/lib-next/theme/BlogPostItem/index.js +79 -86
- package/lib-next/theme/BlogPostPage/index.js +70 -35
- package/lib-next/theme/BlogSidebar/index.js +11 -13
- package/lib-next/theme/BlogSidebar/styles.module.css +2 -2
- package/lib-next/theme/BlogTagsListPage/index.js +14 -55
- package/lib-next/theme/BlogTagsPostsPage/index.js +29 -39
- package/lib-next/theme/CodeBlock/index.js +17 -149
- package/lib-next/theme/CodeBlock/styles.module.css +6 -9
- package/lib-next/theme/Details/index.js +20 -0
- package/lib-next/theme/Details/styles.module.css +13 -0
- package/lib-next/theme/DocCard/index.js +80 -0
- package/lib-next/theme/DocCard/styles.module.css +43 -0
- package/lib-next/theme/DocCardList/index.js +19 -0
- package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +49 -0
- package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
- package/lib-next/theme/DocItem/index.js +30 -59
- package/lib-next/theme/DocItem/styles.module.css +2 -11
- package/lib-next/theme/DocItemFooter/index.js +79 -0
- package/lib-next/theme/DocItemFooter/styles.module.css +18 -0
- package/lib-next/theme/DocPage/index.js +46 -23
- package/lib-next/theme/DocPaginator/index.js +7 -11
- package/lib-next/theme/DocSidebar/index.js +37 -43
- package/lib-next/theme/DocSidebarItem/index.js +115 -65
- package/lib-next/theme/DocSidebarItem/styles.module.css +4 -0
- package/lib-next/theme/DocTagDocListPage/index.js +89 -0
- package/lib-next/theme/DocTagsListPage/index.js +38 -0
- package/lib-next/theme/DocVersionBadge/index.js +27 -0
- package/lib-next/theme/DocVersionBanner/index.js +28 -14
- package/lib-next/theme/EditThisPage/index.js +6 -1
- package/lib-next/theme/ErrorPageContent.js +35 -0
- package/lib-next/theme/Footer/index.js +17 -4
- package/lib-next/theme/Heading/index.js +25 -29
- package/lib-next/theme/Heading/styles.css +5 -6
- package/lib-next/theme/Heading/styles.module.css +9 -5
- package/lib-next/theme/IconArrow/index.js +2 -2
- package/lib-next/theme/IconClose/index.js +23 -0
- package/lib-next/theme/IconEdit/index.js +2 -2
- package/lib-next/theme/IconExternalLink/index.js +2 -2
- package/lib-next/theme/IconLanguage/index.js +2 -2
- package/lib-next/theme/IconMenu/index.js +2 -2
- package/lib-next/theme/LastUpdated/index.js +3 -2
- package/lib-next/theme/Layout/index.js +3 -1
- package/lib-next/theme/LayoutHead/index.js +18 -23
- package/lib-next/theme/LayoutProviders/index.js +8 -5
- package/lib-next/theme/Logo/index.js +25 -21
- package/lib-next/theme/MDXComponents/index.js +34 -7
- package/lib-next/theme/MDXComponents/styles.css +11 -0
- package/lib-next/theme/MDXPage/index.js +10 -2
- package/lib-next/theme/Navbar/index.js +62 -34
- package/lib-next/theme/Navbar/styles.module.css +3 -39
- package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +45 -143
- package/lib-next/theme/NavbarItem/DocNavbarItem.js +7 -7
- package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +31 -19
- package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +159 -0
- package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +4 -12
- package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/lib-next/theme/NavbarItem/index.js +25 -12
- package/lib-next/theme/{SearchMetadatas → SearchMetadata}/index.js +1 -1
- package/lib-next/theme/Seo/index.js +11 -7
- package/lib-next/theme/TOC/index.js +12 -36
- package/lib-next/theme/TOC/styles.module.css +1 -1
- package/lib-next/theme/TOCCollapsible/index.js +13 -4
- package/lib-next/theme/TOCCollapsible/styles.module.css +1 -0
- package/lib-next/theme/TOCInline/index.js +10 -28
- package/lib-next/theme/TOCItems/index.js +85 -0
- package/lib-next/theme/Tabs/__tests__/index.test.js +142 -0
- package/lib-next/theme/Tabs/index.js +91 -43
- package/lib-next/theme/Tabs/styles.module.css +0 -13
- package/lib-next/theme/Tag/index.js +27 -0
- package/lib-next/theme/Tag/styles.module.css +70 -0
- package/lib-next/theme/TagsListByLetter/index.js +42 -0
- package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
- package/lib-next/theme/TagsListInline/index.js +31 -0
- package/lib-next/theme/TagsListInline/styles.module.css +15 -0
- package/lib-next/theme/ThemeProvider/index.js +10 -7
- package/lib-next/theme/ThemedImage/index.js +5 -5
- package/lib-next/theme/Toggle/index.js +34 -37
- package/lib-next/theme/Toggle/styles.module.css +91 -3
- package/lib-next/theme/UserPreferencesProvider/index.js +9 -6
- package/lib-next/theme/hooks/useHideableNavbar.js +31 -44
- package/lib-next/theme/hooks/useTheme.js +4 -5
- package/lib-next/theme/hooks/useWindowSize.js +2 -6
- package/lib-next/theme/prism-include-languages.js +2 -1
- package/lib-next/theme-classic.d.ts +806 -0
- package/lib-next/translations.js +6 -10
- package/lib-next/types.d.ts +0 -629
- package/lib-next/validateThemeConfig.js +141 -116
- package/package.json +27 -24
- package/src/__tests__/validateThemeConfig.test.js +277 -3
- package/src/admonitions.css +35 -0
- package/src/deps.d.ts +13 -0
- package/src/index.ts +23 -17
- package/src/{prism-include-languages.js → prism-include-languages.ts} +0 -0
- package/src/theme/AnnouncementBar/index.tsx +8 -12
- package/src/theme/AnnouncementBar/styles.module.css +23 -32
- package/src/theme/BackToTopButton/index.tsx +142 -0
- package/src/theme/BackToTopButton/styles.module.css +42 -0
- package/src/theme/BlogArchivePage/index.tsx +91 -0
- package/src/theme/BlogLayout/index.tsx +44 -0
- package/src/theme/BlogListPage/index.tsx +18 -25
- package/src/theme/BlogPostAuthor/index.tsx +49 -0
- package/src/theme/BlogPostAuthor/styles.module.css +12 -0
- package/src/theme/BlogPostAuthors/index.tsx +39 -0
- package/src/theme/BlogPostAuthors/styles.module.css +11 -0
- package/src/theme/BlogPostItem/index.tsx +70 -80
- package/src/theme/BlogPostPage/index.tsx +72 -35
- package/src/theme/BlogSidebar/index.tsx +11 -13
- package/src/theme/BlogSidebar/styles.module.css +2 -2
- package/src/theme/BlogTagsListPage/index.tsx +14 -57
- package/src/theme/BlogTagsPostsPage/index.tsx +29 -39
- package/src/theme/CodeBlock/index.tsx +21 -151
- package/src/theme/CodeBlock/styles.module.css +6 -9
- package/src/theme/Details/index.tsx +24 -0
- package/src/theme/Details/styles.module.css +13 -0
- package/src/theme/DocCard/index.tsx +100 -0
- package/src/theme/DocCard/styles.module.css +43 -0
- package/src/theme/DocCardList/index.tsx +27 -0
- package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +53 -0
- package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
- package/src/theme/DocItem/index.tsx +30 -60
- package/src/theme/DocItem/styles.module.css +2 -11
- package/src/theme/DocItemFooter/index.tsx +91 -0
- package/src/theme/DocItemFooter/styles.module.css +18 -0
- package/src/theme/DocPage/index.tsx +44 -22
- package/src/theme/DocPaginator/index.tsx +9 -13
- package/src/theme/DocSidebar/index.tsx +38 -39
- package/src/theme/DocSidebarItem/index.tsx +108 -49
- package/src/theme/DocSidebarItem/styles.module.css +4 -0
- package/src/theme/DocTagDocListPage/index.tsx +89 -0
- package/src/theme/DocTagsListPage/index.tsx +41 -0
- package/src/theme/DocVersionBadge/index.tsx +30 -0
- package/src/theme/DocVersionBanner/index.tsx +48 -21
- package/src/theme/EditThisPage/index.tsx +6 -1
- package/src/theme/ErrorPageContent.tsx +41 -0
- package/src/theme/Footer/index.tsx +20 -5
- package/src/theme/Heading/index.tsx +25 -31
- package/src/theme/Heading/styles.css +5 -6
- package/src/theme/Heading/styles.module.css +9 -5
- package/src/theme/IconArrow/index.tsx +2 -2
- package/src/theme/IconClose/index.tsx +26 -0
- package/src/theme/IconEdit/index.tsx +2 -2
- package/src/theme/IconExternalLink/index.tsx +2 -5
- package/src/theme/IconLanguage/index.tsx +2 -6
- package/src/theme/IconMenu/index.tsx +3 -3
- package/src/theme/LastUpdated/index.tsx +3 -2
- package/src/theme/Layout/index.tsx +3 -1
- package/src/theme/LayoutHead/index.tsx +18 -17
- package/src/theme/LayoutProviders/index.tsx +8 -5
- package/src/theme/Logo/index.tsx +21 -17
- package/src/theme/MDXComponents/index.tsx +39 -5
- package/src/theme/MDXComponents/styles.css +11 -0
- package/src/theme/MDXPage/index.tsx +10 -2
- package/src/theme/Navbar/index.tsx +62 -35
- package/src/theme/Navbar/styles.module.css +3 -39
- package/src/theme/NavbarItem/DefaultNavbarItem.tsx +42 -149
- package/src/theme/NavbarItem/DocNavbarItem.tsx +12 -16
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +33 -21
- package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
- package/src/theme/NavbarItem/DropdownNavbarItem.tsx +181 -0
- package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +8 -9
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/src/theme/NavbarItem/index.tsx +41 -16
- package/src/theme/{SearchMetadatas → SearchMetadata}/index.tsx +2 -2
- package/src/theme/Seo/index.tsx +7 -4
- package/src/theme/TOC/index.tsx +13 -35
- package/src/theme/TOC/styles.module.css +1 -1
- package/src/theme/TOCCollapsible/index.tsx +13 -4
- package/src/theme/TOCCollapsible/styles.module.css +1 -0
- package/src/theme/TOCInline/index.tsx +13 -32
- package/src/theme/TOCItems/index.tsx +96 -0
- package/src/theme/Tabs/__tests__/index.test.tsx +129 -0
- package/src/theme/Tabs/index.tsx +93 -49
- package/src/theme/Tabs/styles.module.css +0 -13
- package/src/theme/Tag/index.tsx +31 -0
- package/src/theme/Tag/styles.module.css +70 -0
- package/src/theme/TagsListByLetter/index.tsx +45 -0
- package/src/theme/TagsListByLetter/styles.module.css +11 -0
- package/src/theme/TagsListInline/index.tsx +35 -0
- package/src/theme/TagsListInline/styles.module.css +15 -0
- package/src/theme/ThemeProvider/index.tsx +6 -2
- package/src/theme/ThemedImage/index.tsx +5 -5
- package/src/theme/Toggle/index.tsx +36 -43
- package/src/theme/Toggle/styles.module.css +91 -3
- package/src/theme/UserPreferencesProvider/index.tsx +9 -6
- package/src/theme/hooks/useHideableNavbar.ts +32 -45
- package/src/theme/hooks/useTabGroupChoice.ts +2 -2
- package/src/theme/hooks/useTheme.ts +4 -5
- package/src/theme/hooks/useWindowSize.ts +2 -7
- package/src/theme/prism-include-languages.ts +3 -2
- package/src/theme-classic.d.ts +806 -0
- package/src/translations.ts +8 -10
- package/src/types.d.ts +0 -629
- package/src/{validateThemeConfig.js → validateThemeConfig.ts} +151 -96
- package/tsconfig.json +1 -2
- package/codeTranslations/README.md +0 -20
- package/codeTranslations/ar.json +0 -56
- package/codeTranslations/base.json +0 -110
- package/codeTranslations/bn.json +0 -56
- package/codeTranslations/da.json +0 -56
- package/codeTranslations/de.json +0 -56
- package/codeTranslations/es.json +0 -56
- package/codeTranslations/fa.json +0 -56
- package/codeTranslations/fil.json +0 -56
- package/codeTranslations/fr.json +0 -56
- package/codeTranslations/he.json +0 -56
- package/codeTranslations/hi.json +0 -56
- package/codeTranslations/ja.json +0 -56
- package/codeTranslations/ko.json +0 -56
- package/codeTranslations/pl.json +0 -56
- package/codeTranslations/pt-BR.json +0 -56
- package/codeTranslations/pt-PT.json +0 -56
- package/codeTranslations/ru.json +0 -56
- package/codeTranslations/tr.json +0 -56
- package/codeTranslations/vi.json +0 -56
- package/codeTranslations/zh-Hans.json +0 -56
- package/codeTranslations/zh-Hant.json +0 -56
- package/lib/theme/Toggle/styles.css +0 -103
- package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
- package/lib/theme/hooks/useScrollPosition.js +0 -49
- package/lib/theme/hooks/useTOCHighlight.js +0 -87
- package/lib-next/theme/Toggle/styles.css +0 -103
- package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
- package/lib-next/theme/hooks/useScrollPosition.js +0 -38
- package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
- package/src/theme/Toggle/styles.css +0 -103
- package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
- package/src/theme/hooks/useScrollPosition.ts +0 -45
- package/src/theme/hooks/useTOCHighlight.ts +0 -98
- package/update-code-translations.js +0 -242
- package/update-code-translations.test.js +0 -33
|
@@ -7,46 +7,31 @@
|
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import clsx from 'clsx';
|
|
10
|
-
|
|
11
|
-
import {useActivePlugin, useVersions} from '@theme/hooks/useDocs';
|
|
12
10
|
import useWindowSize from '@theme/hooks/useWindowSize';
|
|
13
11
|
import DocPaginator from '@theme/DocPaginator';
|
|
14
12
|
import DocVersionBanner from '@theme/DocVersionBanner';
|
|
13
|
+
import DocVersionBadge from '@theme/DocVersionBadge';
|
|
15
14
|
import Seo from '@theme/Seo';
|
|
16
|
-
import LastUpdated from '@theme/LastUpdated';
|
|
17
15
|
import type {Props} from '@theme/DocItem';
|
|
16
|
+
import DocItemFooter from '@theme/DocItemFooter';
|
|
18
17
|
import TOC from '@theme/TOC';
|
|
19
18
|
import TOCCollapsible from '@theme/TOCCollapsible';
|
|
20
|
-
import EditThisPage from '@theme/EditThisPage';
|
|
21
19
|
import {MainHeading} from '@theme/Heading';
|
|
22
|
-
|
|
23
20
|
import styles from './styles.module.css';
|
|
21
|
+
import {ThemeClassNames} from '@docusaurus/theme-common';
|
|
24
22
|
|
|
25
|
-
function DocItem(props: Props): JSX.Element {
|
|
26
|
-
const {content: DocContent
|
|
23
|
+
export default function DocItem(props: Props): JSX.Element {
|
|
24
|
+
const {content: DocContent} = props;
|
|
27
25
|
const {metadata, frontMatter} = DocContent;
|
|
28
26
|
const {
|
|
29
27
|
image,
|
|
30
28
|
keywords,
|
|
31
29
|
hide_title: hideTitle,
|
|
32
30
|
hide_table_of_contents: hideTableOfContents,
|
|
31
|
+
toc_min_heading_level: tocMinHeadingLevel,
|
|
32
|
+
toc_max_heading_level: tocMaxHeadingLevel,
|
|
33
33
|
} = frontMatter;
|
|
34
|
-
const {
|
|
35
|
-
description,
|
|
36
|
-
title,
|
|
37
|
-
editUrl,
|
|
38
|
-
lastUpdatedAt,
|
|
39
|
-
formattedLastUpdatedAt,
|
|
40
|
-
lastUpdatedBy,
|
|
41
|
-
} = metadata;
|
|
42
|
-
|
|
43
|
-
const {pluginId} = useActivePlugin({failfast: true});
|
|
44
|
-
const versions = useVersions(pluginId);
|
|
45
|
-
|
|
46
|
-
// If site is not versioned or only one version is included
|
|
47
|
-
// we don't show the version badge
|
|
48
|
-
// See https://github.com/facebook/docusaurus/issues/3362
|
|
49
|
-
const showVersionBadge = versions.length > 1;
|
|
34
|
+
const {description, title} = metadata;
|
|
50
35
|
|
|
51
36
|
// We only add a title if:
|
|
52
37
|
// - user asks to hide it with frontmatter
|
|
@@ -56,15 +41,11 @@ function DocItem(props: Props): JSX.Element {
|
|
|
56
41
|
|
|
57
42
|
const windowSize = useWindowSize();
|
|
58
43
|
|
|
59
|
-
const
|
|
60
|
-
!hideTableOfContents &&
|
|
61
|
-
DocContent.toc &&
|
|
62
|
-
(windowSize === 'mobile' || windowSize === 'ssr');
|
|
44
|
+
const canRenderTOC =
|
|
45
|
+
!hideTableOfContents && DocContent.toc && DocContent.toc.length > 0;
|
|
63
46
|
|
|
64
47
|
const renderTocDesktop =
|
|
65
|
-
|
|
66
|
-
DocContent.toc &&
|
|
67
|
-
(windowSize === 'desktop' || windowSize === 'ssr');
|
|
48
|
+
canRenderTOC && (windowSize === 'desktop' || windowSize === 'ssr');
|
|
68
49
|
|
|
69
50
|
return (
|
|
70
51
|
<>
|
|
@@ -75,23 +56,25 @@ function DocItem(props: Props): JSX.Element {
|
|
|
75
56
|
className={clsx('col', {
|
|
76
57
|
[styles.docItemCol]: !hideTableOfContents,
|
|
77
58
|
})}>
|
|
78
|
-
<DocVersionBanner
|
|
59
|
+
<DocVersionBanner />
|
|
79
60
|
<div className={styles.docItemContainer}>
|
|
80
61
|
<article>
|
|
81
|
-
|
|
82
|
-
<span className="badge badge--secondary">
|
|
83
|
-
Version: {versionMetadata.label}
|
|
84
|
-
</span>
|
|
85
|
-
)}
|
|
62
|
+
<DocVersionBadge />
|
|
86
63
|
|
|
87
|
-
{
|
|
64
|
+
{canRenderTOC && (
|
|
88
65
|
<TOCCollapsible
|
|
89
66
|
toc={DocContent.toc}
|
|
90
|
-
|
|
67
|
+
minHeadingLevel={tocMinHeadingLevel}
|
|
68
|
+
maxHeadingLevel={tocMaxHeadingLevel}
|
|
69
|
+
className={clsx(
|
|
70
|
+
ThemeClassNames.docs.docTocMobile,
|
|
71
|
+
styles.tocMobile,
|
|
72
|
+
)}
|
|
91
73
|
/>
|
|
92
74
|
)}
|
|
93
75
|
|
|
94
|
-
<div
|
|
76
|
+
<div
|
|
77
|
+
className={clsx(ThemeClassNames.docs.docMarkdown, 'markdown')}>
|
|
95
78
|
{/*
|
|
96
79
|
Title can be declared inside md content or declared through frontmatter and added manually
|
|
97
80
|
To make both cases consistent, the added title is added under the same div.markdown block
|
|
@@ -102,36 +85,23 @@ function DocItem(props: Props): JSX.Element {
|
|
|
102
85
|
<DocContent />
|
|
103
86
|
</div>
|
|
104
87
|
|
|
105
|
-
{
|
|
106
|
-
<footer className="row docusaurus-mt-lg">
|
|
107
|
-
<div className="col">
|
|
108
|
-
{editUrl && <EditThisPage editUrl={editUrl} />}
|
|
109
|
-
</div>
|
|
110
|
-
|
|
111
|
-
<div className={clsx('col', styles.lastUpdated)}>
|
|
112
|
-
{(lastUpdatedAt || lastUpdatedBy) && (
|
|
113
|
-
<LastUpdated
|
|
114
|
-
lastUpdatedAt={lastUpdatedAt}
|
|
115
|
-
formattedLastUpdatedAt={formattedLastUpdatedAt}
|
|
116
|
-
lastUpdatedBy={lastUpdatedBy}
|
|
117
|
-
/>
|
|
118
|
-
)}
|
|
119
|
-
</div>
|
|
120
|
-
</footer>
|
|
121
|
-
)}
|
|
88
|
+
<DocItemFooter {...props} />
|
|
122
89
|
</article>
|
|
123
90
|
|
|
124
|
-
<DocPaginator metadata={metadata} />
|
|
91
|
+
<DocPaginator previous={metadata.previous} next={metadata.next} />
|
|
125
92
|
</div>
|
|
126
93
|
</div>
|
|
127
94
|
{renderTocDesktop && (
|
|
128
95
|
<div className="col col--3">
|
|
129
|
-
<TOC
|
|
96
|
+
<TOC
|
|
97
|
+
toc={DocContent.toc}
|
|
98
|
+
minHeadingLevel={tocMinHeadingLevel}
|
|
99
|
+
maxHeadingLevel={tocMaxHeadingLevel}
|
|
100
|
+
className={ThemeClassNames.docs.docTocDesktop}
|
|
101
|
+
/>
|
|
130
102
|
</div>
|
|
131
103
|
)}
|
|
132
104
|
</div>
|
|
133
105
|
</>
|
|
134
106
|
);
|
|
135
107
|
}
|
|
136
|
-
|
|
137
|
-
export default DocItem;
|
|
@@ -5,25 +5,16 @@
|
|
|
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
|
-
|
|
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;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
18
|
/* Prevent hydration FOUC, as the mobile TOC needs to be server-rendered */
|
|
28
19
|
.tocMobile {
|
|
29
20
|
display: none;
|
|
@@ -0,0 +1,91 @@
|
|
|
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
|
+
|
|
11
|
+
import LastUpdated from '@theme/LastUpdated';
|
|
12
|
+
import type {Props} from '@theme/DocItem';
|
|
13
|
+
import EditThisPage from '@theme/EditThisPage';
|
|
14
|
+
import TagsListInline, {
|
|
15
|
+
Props as TagsListInlineProps,
|
|
16
|
+
} from '@theme/TagsListInline';
|
|
17
|
+
|
|
18
|
+
import styles from './styles.module.css';
|
|
19
|
+
import {ThemeClassNames} from '@docusaurus/theme-common';
|
|
20
|
+
|
|
21
|
+
function TagsRow(props: TagsListInlineProps) {
|
|
22
|
+
return (
|
|
23
|
+
<div
|
|
24
|
+
className={clsx(
|
|
25
|
+
ThemeClassNames.docs.docFooterTagsRow,
|
|
26
|
+
'row margin-bottom--sm',
|
|
27
|
+
)}>
|
|
28
|
+
<div className="col">
|
|
29
|
+
<TagsListInline {...props} />
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
type EditMetaRowProps = Pick<
|
|
36
|
+
Props['content']['metadata'],
|
|
37
|
+
'editUrl' | 'lastUpdatedAt' | 'lastUpdatedBy' | 'formattedLastUpdatedAt'
|
|
38
|
+
>;
|
|
39
|
+
function EditMetaRow({
|
|
40
|
+
editUrl,
|
|
41
|
+
lastUpdatedAt,
|
|
42
|
+
lastUpdatedBy,
|
|
43
|
+
formattedLastUpdatedAt,
|
|
44
|
+
}: EditMetaRowProps) {
|
|
45
|
+
return (
|
|
46
|
+
<div className={clsx(ThemeClassNames.docs.docFooterEditMetaRow, 'row')}>
|
|
47
|
+
<div className="col">{editUrl && <EditThisPage editUrl={editUrl} />}</div>
|
|
48
|
+
|
|
49
|
+
<div className={clsx('col', styles.lastUpdated)}>
|
|
50
|
+
{(lastUpdatedAt || lastUpdatedBy) && (
|
|
51
|
+
<LastUpdated
|
|
52
|
+
lastUpdatedAt={lastUpdatedAt}
|
|
53
|
+
formattedLastUpdatedAt={formattedLastUpdatedAt}
|
|
54
|
+
lastUpdatedBy={lastUpdatedBy}
|
|
55
|
+
/>
|
|
56
|
+
)}
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export default function DocItemFooter(props: Props): JSX.Element | null {
|
|
63
|
+
const {content: DocContent} = props;
|
|
64
|
+
const {metadata} = DocContent;
|
|
65
|
+
const {editUrl, lastUpdatedAt, formattedLastUpdatedAt, lastUpdatedBy, tags} =
|
|
66
|
+
metadata;
|
|
67
|
+
|
|
68
|
+
const canDisplayTagsRow = tags.length > 0;
|
|
69
|
+
const canDisplayEditMetaRow = !!(editUrl || lastUpdatedAt || lastUpdatedBy);
|
|
70
|
+
|
|
71
|
+
const canDisplayFooter = canDisplayTagsRow || canDisplayEditMetaRow;
|
|
72
|
+
|
|
73
|
+
if (!canDisplayFooter) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return (
|
|
78
|
+
<footer
|
|
79
|
+
className={clsx(ThemeClassNames.docs.docFooter, 'docusaurus-mt-lg')}>
|
|
80
|
+
{canDisplayTagsRow && <TagsRow tags={tags} />}
|
|
81
|
+
{canDisplayEditMetaRow && (
|
|
82
|
+
<EditMetaRow
|
|
83
|
+
editUrl={editUrl}
|
|
84
|
+
lastUpdatedAt={lastUpdatedAt}
|
|
85
|
+
lastUpdatedBy={lastUpdatedBy}
|
|
86
|
+
formattedLastUpdatedAt={formattedLastUpdatedAt}
|
|
87
|
+
/>
|
|
88
|
+
)}
|
|
89
|
+
</footer>
|
|
90
|
+
);
|
|
91
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -8,9 +8,8 @@
|
|
|
8
8
|
import React, {ReactNode, useState, useCallback} from 'react';
|
|
9
9
|
import {MDXProvider} from '@mdx-js/react';
|
|
10
10
|
|
|
11
|
-
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
12
11
|
import renderRoutes from '@docusaurus/renderRoutes';
|
|
13
|
-
import type {PropVersionMetadata} from '@docusaurus/plugin-content-docs
|
|
12
|
+
import type {PropVersionMetadata} from '@docusaurus/plugin-content-docs';
|
|
14
13
|
import Layout from '@theme/Layout';
|
|
15
14
|
import DocSidebar from '@theme/DocSidebar';
|
|
16
15
|
import MDXComponents from '@theme/MDXComponents';
|
|
@@ -18,32 +17,36 @@ import NotFound from '@theme/NotFound';
|
|
|
18
17
|
import type {DocumentRoute} from '@theme/DocItem';
|
|
19
18
|
import type {Props} from '@theme/DocPage';
|
|
20
19
|
import IconArrow from '@theme/IconArrow';
|
|
20
|
+
import BackToTopButton from '@theme/BackToTopButton';
|
|
21
21
|
import {matchPath} from '@docusaurus/router';
|
|
22
22
|
import {translate} from '@docusaurus/Translate';
|
|
23
23
|
|
|
24
24
|
import clsx from 'clsx';
|
|
25
25
|
import styles from './styles.module.css';
|
|
26
|
-
import {
|
|
26
|
+
import {
|
|
27
|
+
ThemeClassNames,
|
|
28
|
+
docVersionSearchTag,
|
|
29
|
+
DocsSidebarProvider,
|
|
30
|
+
useDocsSidebar,
|
|
31
|
+
DocsVersionProvider,
|
|
32
|
+
} from '@docusaurus/theme-common';
|
|
33
|
+
import Head from '@docusaurus/Head';
|
|
27
34
|
|
|
28
35
|
type DocPageContentProps = {
|
|
29
36
|
readonly currentDocRoute: DocumentRoute;
|
|
30
37
|
readonly versionMetadata: PropVersionMetadata;
|
|
31
38
|
readonly children: ReactNode;
|
|
39
|
+
readonly sidebarName: string | undefined;
|
|
32
40
|
};
|
|
33
41
|
|
|
34
42
|
function DocPageContent({
|
|
35
43
|
currentDocRoute,
|
|
36
44
|
versionMetadata,
|
|
37
45
|
children,
|
|
46
|
+
sidebarName,
|
|
38
47
|
}: DocPageContentProps): JSX.Element {
|
|
39
|
-
const
|
|
48
|
+
const sidebar = useDocsSidebar();
|
|
40
49
|
const {pluginId, version} = versionMetadata;
|
|
41
|
-
|
|
42
|
-
const sidebarName = currentDocRoute.sidebar;
|
|
43
|
-
const sidebar = sidebarName
|
|
44
|
-
? versionMetadata.docsSidebars[sidebarName]
|
|
45
|
-
: undefined;
|
|
46
|
-
|
|
47
50
|
const [hiddenSidebarContainer, setHiddenSidebarContainer] = useState(false);
|
|
48
51
|
const [hiddenSidebar, setHiddenSidebar] = useState(false);
|
|
49
52
|
const toggleSidebar = useCallback(() => {
|
|
@@ -51,19 +54,20 @@ function DocPageContent({
|
|
|
51
54
|
setHiddenSidebar(false);
|
|
52
55
|
}
|
|
53
56
|
|
|
54
|
-
setHiddenSidebarContainer(!
|
|
57
|
+
setHiddenSidebarContainer((value) => !value);
|
|
55
58
|
}, [hiddenSidebar]);
|
|
56
59
|
|
|
57
60
|
return (
|
|
58
61
|
<Layout
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
searchMetadatas={{
|
|
62
|
+
wrapperClassName={ThemeClassNames.wrapper.docsPages}
|
|
63
|
+
pageClassName={ThemeClassNames.page.docsDocPage}
|
|
64
|
+
searchMetadata={{
|
|
63
65
|
version,
|
|
64
66
|
tag: docVersionSearchTag(pluginId, version),
|
|
65
67
|
}}>
|
|
66
68
|
<div className={styles.docPage}>
|
|
69
|
+
<BackToTopButton />
|
|
70
|
+
|
|
67
71
|
{sidebar && (
|
|
68
72
|
<aside
|
|
69
73
|
className={clsx(styles.docSidebarContainer, {
|
|
@@ -88,7 +92,6 @@ function DocPageContent({
|
|
|
88
92
|
}
|
|
89
93
|
sidebar={sidebar}
|
|
90
94
|
path={currentDocRoute.path}
|
|
91
|
-
sidebarCollapsible={siteConfig.themeConfig.sidebarCollapsible}
|
|
92
95
|
onCollapse={toggleSidebar}
|
|
93
96
|
isHidden={hiddenSidebar}
|
|
94
97
|
/>
|
|
@@ -148,14 +151,33 @@ function DocPage(props: Props): JSX.Element {
|
|
|
148
151
|
matchPath(location.pathname, docRoute),
|
|
149
152
|
);
|
|
150
153
|
if (!currentDocRoute) {
|
|
151
|
-
return <NotFound
|
|
154
|
+
return <NotFound />;
|
|
152
155
|
}
|
|
156
|
+
|
|
157
|
+
// For now, the sidebarName is added as route config: not ideal!
|
|
158
|
+
const sidebarName = currentDocRoute.sidebar;
|
|
159
|
+
|
|
160
|
+
const sidebar = sidebarName
|
|
161
|
+
? versionMetadata.docsSidebars[sidebarName]
|
|
162
|
+
: null;
|
|
163
|
+
|
|
153
164
|
return (
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
165
|
+
<>
|
|
166
|
+
<Head>
|
|
167
|
+
{/* TODO we should add a core addRoute({htmlClassName}) generic plugin option */}
|
|
168
|
+
<html className={versionMetadata.className} />
|
|
169
|
+
</Head>
|
|
170
|
+
<DocsVersionProvider version={versionMetadata}>
|
|
171
|
+
<DocsSidebarProvider sidebar={sidebar}>
|
|
172
|
+
<DocPageContent
|
|
173
|
+
currentDocRoute={currentDocRoute}
|
|
174
|
+
versionMetadata={versionMetadata}
|
|
175
|
+
sidebarName={sidebarName}>
|
|
176
|
+
{renderRoutes(docRoutes, {versionMetadata})}
|
|
177
|
+
</DocPageContent>
|
|
178
|
+
</DocsSidebarProvider>
|
|
179
|
+
</DocsVersionProvider>
|
|
180
|
+
</>
|
|
159
181
|
);
|
|
160
182
|
}
|
|
161
183
|
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import Link from '@docusaurus/Link';
|
|
10
10
|
import Translate, {translate} from '@docusaurus/Translate';
|
|
11
|
-
import type {
|
|
11
|
+
import type {PropNavigation} from '@docusaurus/plugin-content-docs';
|
|
12
12
|
|
|
13
|
-
function DocPaginator(props:
|
|
14
|
-
const {
|
|
13
|
+
function DocPaginator(props: PropNavigation): JSX.Element {
|
|
14
|
+
const {previous, next} = props;
|
|
15
15
|
|
|
16
16
|
return (
|
|
17
17
|
<nav
|
|
@@ -22,10 +22,8 @@ function DocPaginator(props: Props): JSX.Element {
|
|
|
22
22
|
description: 'The ARIA label for the docs pagination',
|
|
23
23
|
})}>
|
|
24
24
|
<div className="pagination-nav__item">
|
|
25
|
-
{
|
|
26
|
-
<Link
|
|
27
|
-
className="pagination-nav__link"
|
|
28
|
-
to={metadata.previous.permalink}>
|
|
25
|
+
{previous && (
|
|
26
|
+
<Link className="pagination-nav__link" to={previous.permalink}>
|
|
29
27
|
<div className="pagination-nav__sublabel">
|
|
30
28
|
<Translate
|
|
31
29
|
id="theme.docs.paginator.previous"
|
|
@@ -34,14 +32,14 @@ function DocPaginator(props: Props): JSX.Element {
|
|
|
34
32
|
</Translate>
|
|
35
33
|
</div>
|
|
36
34
|
<div className="pagination-nav__label">
|
|
37
|
-
« {
|
|
35
|
+
« {previous.title}
|
|
38
36
|
</div>
|
|
39
37
|
</Link>
|
|
40
38
|
)}
|
|
41
39
|
</div>
|
|
42
40
|
<div className="pagination-nav__item pagination-nav__item--next">
|
|
43
|
-
{
|
|
44
|
-
<Link className="pagination-nav__link" to={
|
|
41
|
+
{next && (
|
|
42
|
+
<Link className="pagination-nav__link" to={next.permalink}>
|
|
45
43
|
<div className="pagination-nav__sublabel">
|
|
46
44
|
<Translate
|
|
47
45
|
id="theme.docs.paginator.next"
|
|
@@ -49,9 +47,7 @@ function DocPaginator(props: Props): JSX.Element {
|
|
|
49
47
|
Next
|
|
50
48
|
</Translate>
|
|
51
49
|
</div>
|
|
52
|
-
<div className="pagination-nav__label">
|
|
53
|
-
{metadata.next.title} »
|
|
54
|
-
</div>
|
|
50
|
+
<div className="pagination-nav__label">{next.title} »</div>
|
|
55
51
|
</Link>
|
|
56
52
|
)}
|
|
57
53
|
</div>
|
|
@@ -12,9 +12,10 @@ import {
|
|
|
12
12
|
useAnnouncementBar,
|
|
13
13
|
MobileSecondaryMenuFiller,
|
|
14
14
|
MobileSecondaryMenuComponent,
|
|
15
|
+
ThemeClassNames,
|
|
16
|
+
useScrollPosition,
|
|
15
17
|
} from '@docusaurus/theme-common';
|
|
16
18
|
import useWindowSize from '@theme/hooks/useWindowSize';
|
|
17
|
-
import useScrollPosition from '@theme/hooks/useScrollPosition';
|
|
18
19
|
import Logo from '@theme/Logo';
|
|
19
20
|
import IconArrow from '@theme/IconArrow';
|
|
20
21
|
import {translate} from '@docusaurus/Translate';
|
|
@@ -24,17 +25,21 @@ import type {Props} from '@theme/DocSidebar';
|
|
|
24
25
|
import styles from './styles.module.css';
|
|
25
26
|
|
|
26
27
|
function useShowAnnouncementBar() {
|
|
27
|
-
const {
|
|
28
|
-
const [showAnnouncementBar, setShowAnnouncementBar] = useState(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
const {isActive} = useAnnouncementBar();
|
|
29
|
+
const [showAnnouncementBar, setShowAnnouncementBar] = useState(isActive);
|
|
30
|
+
|
|
31
|
+
useScrollPosition(
|
|
32
|
+
({scrollY}) => {
|
|
33
|
+
if (isActive) {
|
|
34
|
+
setShowAnnouncementBar(scrollY === 0);
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
[isActive],
|
|
38
|
+
);
|
|
39
|
+
return isActive && showAnnouncementBar;
|
|
35
40
|
}
|
|
36
41
|
|
|
37
|
-
function HideableSidebarButton({onClick}) {
|
|
42
|
+
function HideableSidebarButton({onClick}: {onClick: React.MouseEventHandler}) {
|
|
38
43
|
return (
|
|
39
44
|
<button
|
|
40
45
|
type="button"
|
|
@@ -58,19 +63,12 @@ function HideableSidebarButton({onClick}) {
|
|
|
58
63
|
);
|
|
59
64
|
}
|
|
60
65
|
|
|
61
|
-
function DocSidebarDesktop({
|
|
62
|
-
path,
|
|
63
|
-
sidebar,
|
|
64
|
-
sidebarCollapsible,
|
|
65
|
-
onCollapse,
|
|
66
|
-
isHidden,
|
|
67
|
-
}: Props) {
|
|
66
|
+
function DocSidebarDesktop({path, sidebar, onCollapse, isHidden}: Props) {
|
|
68
67
|
const showAnnouncementBar = useShowAnnouncementBar();
|
|
69
68
|
const {
|
|
70
69
|
navbar: {hideOnScroll},
|
|
71
70
|
hideableSidebar,
|
|
72
71
|
} = useThemeConfig();
|
|
73
|
-
const {isClosed: isAnnouncementBarClosed} = useAnnouncementBar();
|
|
74
72
|
|
|
75
73
|
return (
|
|
76
74
|
<div
|
|
@@ -81,15 +79,10 @@ function DocSidebarDesktop({
|
|
|
81
79
|
{hideOnScroll && <Logo tabIndex={-1} className={styles.sidebarLogo} />}
|
|
82
80
|
<nav
|
|
83
81
|
className={clsx('menu thin-scrollbar', styles.menu, {
|
|
84
|
-
[styles.menuWithAnnouncementBar]:
|
|
85
|
-
!isAnnouncementBarClosed && showAnnouncementBar,
|
|
82
|
+
[styles.menuWithAnnouncementBar]: showAnnouncementBar,
|
|
86
83
|
})}>
|
|
87
|
-
<ul className=
|
|
88
|
-
<DocSidebarItems
|
|
89
|
-
items={sidebar}
|
|
90
|
-
collapsible={sidebarCollapsible}
|
|
91
|
-
activePath={path}
|
|
92
|
-
/>
|
|
84
|
+
<ul className={clsx(ThemeClassNames.docs.docSidebarMenu, 'menu__list')}>
|
|
85
|
+
<DocSidebarItems items={sidebar} activePath={path} level={1} />
|
|
93
86
|
</ul>
|
|
94
87
|
</nav>
|
|
95
88
|
{hideableSidebar && <HideableSidebarButton onClick={onCollapse} />}
|
|
@@ -97,23 +90,29 @@ function DocSidebarDesktop({
|
|
|
97
90
|
);
|
|
98
91
|
}
|
|
99
92
|
|
|
93
|
+
// eslint-disable-next-line react/function-component-definition
|
|
100
94
|
const DocSidebarMobileSecondaryMenu: MobileSecondaryMenuComponent<Props> = ({
|
|
101
95
|
toggleSidebar,
|
|
102
96
|
sidebar,
|
|
103
|
-
sidebarCollapsible,
|
|
104
97
|
path,
|
|
105
|
-
}) =>
|
|
106
|
-
|
|
107
|
-
<
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
98
|
+
}) => (
|
|
99
|
+
<ul className={clsx(ThemeClassNames.docs.docSidebarMenu, 'menu__list')}>
|
|
100
|
+
<DocSidebarItems
|
|
101
|
+
items={sidebar}
|
|
102
|
+
activePath={path}
|
|
103
|
+
onItemClick={(item) => {
|
|
104
|
+
// Mobile sidebar should only be closed if the category has a link
|
|
105
|
+
if (item.type === 'category' && item.href) {
|
|
106
|
+
toggleSidebar();
|
|
107
|
+
}
|
|
108
|
+
if (item.type === 'link') {
|
|
109
|
+
toggleSidebar();
|
|
110
|
+
}
|
|
111
|
+
}}
|
|
112
|
+
level={1}
|
|
113
|
+
/>
|
|
114
|
+
</ul>
|
|
115
|
+
);
|
|
117
116
|
|
|
118
117
|
function DocSidebarMobile(props: Props) {
|
|
119
118
|
return (
|