@docusaurus/theme-classic 2.0.0-beta.1 → 2.0.0-beta.10
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 +41 -16
- package/lib/prism-include-languages.js +9 -5
- package/lib/theme/AnnouncementBar/index.js +10 -16
- package/lib/theme/AnnouncementBar/styles.module.css +25 -30
- 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 +29 -46
- package/lib/theme/DocItem/styles.module.css +5 -9
- package/lib/theme/DocItemFooter/index.js +79 -0
- package/lib/theme/DocItemFooter/styles.module.css +18 -0
- package/lib/theme/DocPage/index.js +35 -52
- package/lib/theme/DocPage/styles.module.css +8 -23
- package/lib/theme/DocPaginator/index.js +6 -7
- package/lib/theme/DocSidebar/index.js +53 -235
- package/lib/theme/DocSidebar/styles.module.css +0 -18
- package/lib/theme/DocSidebarItem/index.js +209 -0
- package/lib/theme/DocSidebarItem/styles.module.css +19 -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/{DocVersionSuggestions → DocVersionBanner}/index.js +39 -20
- package/lib/theme/EditThisPage/index.js +3 -1
- package/lib/theme/ErrorPageContent.js +43 -0
- package/lib/theme/Footer/index.js +16 -5
- 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 +11 -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 +162 -42
- package/lib/theme/Navbar/styles.module.css +10 -3
- package/lib/theme/NavbarItem/DefaultNavbarItem.js +27 -123
- 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/SkipToContent/index.js +12 -4
- package/lib/theme/SkipToContent/styles.module.css +1 -0
- package/lib/theme/TOC/index.js +9 -29
- package/lib/theme/TOC/styles.module.css +1 -1
- package/lib/theme/TOCCollapsible/index.js +53 -0
- package/lib/theme/TOCCollapsible/styles.module.css +50 -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 +6 -7
- package/lib/theme/Toggle/index.js +41 -44
- package/lib/theme/Toggle/styles.module.css +91 -3
- package/lib/theme/UserPreferencesProvider/index.js +9 -12
- package/lib/theme/hooks/useHideableNavbar.js +14 -32
- package/lib/theme/hooks/useTabGroupChoice.js +2 -4
- package/lib/theme/hooks/useTheme.js +3 -5
- package/lib/theme/hooks/useWindowSize.js +33 -20
- 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 -599
- package/lib/validateThemeConfig.js +230 -246
- 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 +45 -13
- package/lib-next/prism-include-languages.js +0 -2
- package/lib-next/theme/AnnouncementBar/index.js +9 -18
- package/lib-next/theme/AnnouncementBar/styles.module.css +25 -30
- 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 +40 -56
- package/lib-next/theme/DocItem/styles.module.css +5 -9
- 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 -47
- package/lib-next/theme/DocPage/styles.module.css +8 -23
- package/lib-next/theme/DocPaginator/index.js +7 -11
- package/lib-next/theme/DocSidebar/index.js +69 -295
- package/lib-next/theme/DocSidebar/styles.module.css +0 -18
- package/lib-next/theme/DocSidebarItem/index.js +217 -0
- package/lib-next/theme/DocSidebarItem/styles.module.css +19 -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/{DocVersionSuggestions → DocVersionBanner}/index.js +51 -36
- package/lib-next/theme/EditThisPage/index.js +6 -1
- package/lib-next/theme/ErrorPageContent.js +35 -0
- package/lib-next/theme/Footer/index.js +27 -5
- 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 +17 -6
- 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 +193 -56
- package/lib-next/theme/Navbar/styles.module.css +10 -3
- package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +45 -147
- 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/SkipToContent/index.js +7 -8
- package/lib-next/theme/SkipToContent/styles.module.css +1 -0
- 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 +54 -0
- package/lib-next/theme/TOCCollapsible/styles.module.css +50 -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 +7 -8
- 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 -10
- package/lib-next/theme/hooks/useHideableNavbar.js +31 -44
- package/lib-next/theme/hooks/useTabGroupChoice.js +2 -4
- package/lib-next/theme/hooks/useTheme.js +4 -5
- package/lib-next/theme/hooks/useWindowSize.js +34 -20
- 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 -599
- package/lib-next/validateThemeConfig.js +141 -114
- package/package.json +28 -25
- 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 +55 -22
- package/src/{prism-include-languages.js → prism-include-languages.ts} +0 -0
- package/src/theme/AnnouncementBar/index.tsx +10 -17
- package/src/theme/AnnouncementBar/styles.module.css +25 -30
- 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 +43 -56
- package/src/theme/DocItem/styles.module.css +5 -9
- package/src/theme/DocItemFooter/index.tsx +91 -0
- package/src/theme/DocItemFooter/styles.module.css +18 -0
- package/src/theme/DocPage/index.tsx +44 -42
- package/src/theme/DocPage/styles.module.css +8 -23
- package/src/theme/DocPaginator/index.tsx +9 -13
- package/src/theme/DocSidebar/index.tsx +80 -307
- package/src/theme/DocSidebar/styles.module.css +0 -18
- package/src/theme/DocSidebarItem/index.tsx +242 -0
- package/src/theme/DocSidebarItem/styles.module.css +19 -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/{DocVersionSuggestions → DocVersionBanner}/index.tsx +74 -44
- package/src/theme/EditThisPage/index.tsx +6 -1
- package/src/theme/ErrorPageContent.tsx +41 -0
- package/src/theme/Footer/index.tsx +30 -6
- 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 +17 -6
- 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 +203 -61
- package/src/theme/Navbar/styles.module.css +10 -3
- package/src/theme/NavbarItem/DefaultNavbarItem.tsx +42 -154
- 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/SkipToContent/index.tsx +7 -8
- package/src/theme/SkipToContent/styles.module.css +1 -0
- package/src/theme/TOC/index.tsx +12 -41
- package/src/theme/TOC/styles.module.css +1 -1
- package/src/theme/TOCCollapsible/index.tsx +58 -0
- package/src/theme/TOCCollapsible/styles.module.css +50 -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 +8 -8
- package/src/theme/Toggle/index.tsx +36 -43
- package/src/theme/Toggle/styles.module.css +91 -3
- package/src/theme/UserPreferencesProvider/index.tsx +9 -11
- package/src/theme/hooks/useHideableNavbar.ts +32 -45
- package/src/theme/hooks/useTabGroupChoice.ts +4 -4
- package/src/theme/hooks/useTheme.ts +4 -5
- package/src/theme/hooks/useWindowSize.ts +38 -20
- 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 -599
- package/src/{validateThemeConfig.js → validateThemeConfig.ts} +151 -94
- package/tsconfig.json +1 -2
- package/codeTranslations/README.md +0 -20
- package/codeTranslations/ar.json +0 -57
- package/codeTranslations/base.json +0 -112
- package/codeTranslations/bn.json +0 -56
- package/codeTranslations/da.json +0 -57
- package/codeTranslations/de.json +0 -57
- package/codeTranslations/es.json +0 -57
- package/codeTranslations/fa.json +0 -57
- package/codeTranslations/fil.json +0 -57
- package/codeTranslations/fr.json +0 -57
- package/codeTranslations/he.json +0 -57
- package/codeTranslations/hi.json +0 -57
- package/codeTranslations/ja.json +0 -57
- package/codeTranslations/ko.json +0 -57
- package/codeTranslations/pl.json +0 -57
- package/codeTranslations/pt-BR.json +0 -57
- package/codeTranslations/pt-PT.json +0 -57
- package/codeTranslations/ru.json +0 -57
- package/codeTranslations/tr.json +0 -57
- package/codeTranslations/vi.json +0 -57
- package/codeTranslations/zh-Hans.json +0 -57
- package/codeTranslations/zh-Hant.json +0 -57
- package/lib/theme/Toggle/styles.css +0 -103
- package/lib/theme/hooks/useAnnouncementBar.js +0 -63
- 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/useAnnouncementBar.js +0 -49
- 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/useAnnouncementBar.ts +0 -58
- 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 -239
- package/update-code-translations.test.js +0 -33
|
@@ -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:
|
|
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:
|
|
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
|
-
}
|
|
@@ -25,7 +25,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
25
25
|
*/
|
|
26
26
|
function DocPaginator(props) {
|
|
27
27
|
const {
|
|
28
|
-
|
|
28
|
+
previous,
|
|
29
|
+
next
|
|
29
30
|
} = props;
|
|
30
31
|
return <nav className="pagination-nav docusaurus-mt-lg" aria-label={(0, _Translate.translate)({
|
|
31
32
|
id: 'theme.docs.paginator.navAriaLabel',
|
|
@@ -33,27 +34,25 @@ function DocPaginator(props) {
|
|
|
33
34
|
description: 'The ARIA label for the docs pagination'
|
|
34
35
|
})}>
|
|
35
36
|
<div className="pagination-nav__item">
|
|
36
|
-
{
|
|
37
|
+
{previous && <_Link.default className="pagination-nav__link" to={previous.permalink}>
|
|
37
38
|
<div className="pagination-nav__sublabel">
|
|
38
39
|
<_Translate.default id="theme.docs.paginator.previous" description="The label used to navigate to the previous doc">
|
|
39
40
|
Previous
|
|
40
41
|
</_Translate.default>
|
|
41
42
|
</div>
|
|
42
43
|
<div className="pagination-nav__label">
|
|
43
|
-
« {
|
|
44
|
+
« {previous.title}
|
|
44
45
|
</div>
|
|
45
46
|
</_Link.default>}
|
|
46
47
|
</div>
|
|
47
48
|
<div className="pagination-nav__item pagination-nav__item--next">
|
|
48
|
-
{
|
|
49
|
+
{next && <_Link.default className="pagination-nav__link" to={next.permalink}>
|
|
49
50
|
<div className="pagination-nav__sublabel">
|
|
50
51
|
<_Translate.default id="theme.docs.paginator.next" description="The label used to navigate to the next doc">
|
|
51
52
|
Next
|
|
52
53
|
</_Translate.default>
|
|
53
54
|
</div>
|
|
54
|
-
<div className="pagination-nav__label">
|
|
55
|
-
{metadata.next.title} »
|
|
56
|
-
</div>
|
|
55
|
+
<div className="pagination-nav__label">{next.title} »</div>
|
|
57
56
|
</_Link.default>}
|
|
58
57
|
</div>
|
|
59
58
|
</nav>;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
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
|
|
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,189 +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
|
-
function usePrevious(value) {
|
|
53
|
-
const ref = (0, _react.useRef)(value);
|
|
54
|
-
(0, _react.useEffect)(() => {
|
|
55
|
-
ref.current = value;
|
|
56
|
-
}, [value]);
|
|
57
|
-
return ref.current;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const isActiveSidebarItem = (item, activePath) => {
|
|
61
|
-
if (item.type === 'link') {
|
|
62
|
-
return (0, _themeCommon.isSamePath)(item.href, activePath);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
if (item.type === 'category') {
|
|
66
|
-
return item.items.some(subItem => isActiveSidebarItem(subItem, activePath));
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return false;
|
|
70
|
-
}; // Optimize sidebar at each "level"
|
|
71
|
-
// TODO this item should probably not receive the "activePath" props
|
|
72
|
-
// TODO this triggers whole sidebar re-renders on navigation
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
const DocSidebarItems = (0, _react.memo)(function DocSidebarItems({
|
|
76
|
-
items,
|
|
77
|
-
...props
|
|
78
|
-
}) {
|
|
79
|
-
return items.map((item, index) => <DocSidebarItem key={index} // sidebar is static, the index does not change
|
|
80
|
-
item={item} {...props} />);
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
function DocSidebarItem(props) {
|
|
84
|
-
switch (props.item.type) {
|
|
85
|
-
case 'category':
|
|
86
|
-
return <DocSidebarItemCategory {...props} />;
|
|
87
|
-
|
|
88
|
-
case 'link':
|
|
89
|
-
default:
|
|
90
|
-
return <DocSidebarItemLink {...props} />;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
function DocSidebarItemCategory({
|
|
95
|
-
item,
|
|
96
|
-
onItemClick,
|
|
97
|
-
collapsible,
|
|
98
|
-
activePath,
|
|
99
|
-
...props
|
|
100
|
-
}) {
|
|
101
|
-
const {
|
|
102
|
-
items,
|
|
103
|
-
label
|
|
104
|
-
} = item;
|
|
105
|
-
const isActive = isActiveSidebarItem(item, activePath);
|
|
106
|
-
const wasActive = usePrevious(isActive); // active categories are always initialized as expanded
|
|
107
|
-
// the default (item.collapsed) is only used for non-active categories
|
|
108
|
-
|
|
109
|
-
const [collapsed, setCollapsed] = (0, _react.useState)(() => {
|
|
110
|
-
if (!collapsible) {
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return isActive ? false : item.collapsed;
|
|
115
|
-
});
|
|
116
|
-
const menuListRef = (0, _react.useRef)(null);
|
|
117
|
-
const [menuListHeight, setMenuListHeight] = (0, _react.useState)(undefined);
|
|
118
|
-
|
|
119
|
-
const handleMenuListHeight = (calc = true) => {
|
|
120
|
-
var _menuListRef$current;
|
|
121
|
-
|
|
122
|
-
setMenuListHeight(calc ? `${(_menuListRef$current = menuListRef.current) === null || _menuListRef$current === void 0 ? void 0 : _menuListRef$current.scrollHeight}px` : undefined);
|
|
123
|
-
}; // If we navigate to a category, it should automatically expand itself
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
(0, _react.useEffect)(() => {
|
|
127
|
-
const justBecameActive = isActive && !wasActive;
|
|
128
|
-
|
|
129
|
-
if (justBecameActive && collapsed) {
|
|
130
|
-
setCollapsed(false);
|
|
131
|
-
}
|
|
132
|
-
}, [isActive, wasActive, collapsed]);
|
|
133
|
-
const handleItemClick = (0, _react.useCallback)(e => {
|
|
134
|
-
e.preventDefault();
|
|
135
|
-
|
|
136
|
-
if (!menuListHeight) {
|
|
137
|
-
handleMenuListHeight();
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
setTimeout(() => setCollapsed(state => !state), 100);
|
|
141
|
-
}, [menuListHeight]);
|
|
142
|
-
|
|
143
|
-
if (items.length === 0) {
|
|
144
|
-
return null;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
return <li className={(0, _clsx.default)('menu__list-item', {
|
|
148
|
-
'menu__list-item--collapsed': collapsed
|
|
149
|
-
})}>
|
|
150
|
-
<a className={(0, _clsx.default)('menu__link', {
|
|
151
|
-
'menu__link--sublist': collapsible,
|
|
152
|
-
'menu__link--active': collapsible && isActive,
|
|
153
|
-
[_stylesModule.default.menuLinkText]: !collapsible
|
|
154
|
-
})} onClick={collapsible ? handleItemClick : undefined} href={collapsible ? '#!' : undefined} {...props}>
|
|
155
|
-
{label}
|
|
156
|
-
</a>
|
|
157
|
-
<ul className="menu__list" ref={menuListRef} style={{
|
|
158
|
-
height: menuListHeight
|
|
159
|
-
}} onTransitionEnd={() => {
|
|
160
|
-
if (!collapsed) {
|
|
161
|
-
handleMenuListHeight(false);
|
|
162
|
-
}
|
|
163
|
-
}}>
|
|
164
|
-
<DocSidebarItems items={items} tabIndex={collapsed ? '-1' : '0'} onItemClick={onItemClick} collapsible={collapsible} activePath={activePath} />
|
|
165
|
-
</ul>
|
|
166
|
-
</li>;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
function DocSidebarItemLink({
|
|
170
|
-
item,
|
|
171
|
-
onItemClick,
|
|
172
|
-
activePath,
|
|
173
|
-
collapsible: _collapsible,
|
|
174
|
-
...props
|
|
175
|
-
}) {
|
|
176
|
-
const {
|
|
177
|
-
href,
|
|
178
|
-
label
|
|
179
|
-
} = item;
|
|
180
|
-
const isActive = isActiveSidebarItem(item, activePath);
|
|
181
|
-
return <li className="menu__list-item" key={label}>
|
|
182
|
-
<_Link.default className={(0, _clsx.default)('menu__link', {
|
|
183
|
-
'menu__link--active': isActive
|
|
184
|
-
})} to={href} {...(0, _isInternalUrl.default)(href) && {
|
|
185
|
-
isNavLink: true,
|
|
186
|
-
exact: true,
|
|
187
|
-
onClick: onItemClick
|
|
188
|
-
}} {...props}>
|
|
189
|
-
{(0, _isInternalUrl.default)(href) ? label : <span>
|
|
190
|
-
{label}
|
|
191
|
-
<_IconExternalLink.default />
|
|
192
|
-
</span>}
|
|
193
|
-
</_Link.default>
|
|
194
|
-
</li>;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
38
|
function useShowAnnouncementBar() {
|
|
198
39
|
const {
|
|
199
|
-
|
|
200
|
-
} = (0,
|
|
201
|
-
const [showAnnouncementBar, setShowAnnouncementBar] = (0, _react.useState)(
|
|
202
|
-
(0,
|
|
40
|
+
isActive
|
|
41
|
+
} = (0, _themeCommon.useAnnouncementBar)();
|
|
42
|
+
const [showAnnouncementBar, setShowAnnouncementBar] = (0, _react.useState)(isActive);
|
|
43
|
+
(0, _themeCommon.useScrollPosition)(({
|
|
203
44
|
scrollY
|
|
204
45
|
}) => {
|
|
205
|
-
if (
|
|
46
|
+
if (isActive) {
|
|
206
47
|
setShowAnnouncementBar(scrollY === 0);
|
|
207
48
|
}
|
|
208
|
-
});
|
|
209
|
-
return showAnnouncementBar;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
function useResponsiveSidebar() {
|
|
213
|
-
const [showResponsiveSidebar, setShowResponsiveSidebar] = (0, _react.useState)(false);
|
|
214
|
-
(0, _useLockBodyScroll.default)(showResponsiveSidebar);
|
|
215
|
-
const windowSize = (0, _useWindowSize.default)();
|
|
216
|
-
(0, _react.useEffect)(() => {
|
|
217
|
-
if (windowSize === _useWindowSize.windowSizes.desktop) {
|
|
218
|
-
setShowResponsiveSidebar(false);
|
|
219
|
-
}
|
|
220
|
-
}, [windowSize]);
|
|
221
|
-
const closeResponsiveSidebar = (0, _react.useCallback)(e => {
|
|
222
|
-
e.target.blur();
|
|
223
|
-
setShowResponsiveSidebar(false);
|
|
224
|
-
}, [setShowResponsiveSidebar]);
|
|
225
|
-
const toggleResponsiveSidebar = (0, _react.useCallback)(() => {
|
|
226
|
-
setShowResponsiveSidebar(value => !value);
|
|
227
|
-
}, [setShowResponsiveSidebar]);
|
|
228
|
-
return {
|
|
229
|
-
showResponsiveSidebar,
|
|
230
|
-
closeResponsiveSidebar,
|
|
231
|
-
toggleResponsiveSidebar
|
|
232
|
-
};
|
|
49
|
+
}, [isActive]);
|
|
50
|
+
return isActive && showAnnouncementBar;
|
|
233
51
|
}
|
|
234
52
|
|
|
235
53
|
function HideableSidebarButton({
|
|
@@ -248,29 +66,9 @@ function HideableSidebarButton({
|
|
|
248
66
|
</button>;
|
|
249
67
|
}
|
|
250
68
|
|
|
251
|
-
function
|
|
252
|
-
responsiveSidebarOpened,
|
|
253
|
-
onClick
|
|
254
|
-
}) {
|
|
255
|
-
return <button aria-label={responsiveSidebarOpened ? (0, _Translate.translate)({
|
|
256
|
-
id: 'theme.docs.sidebar.responsiveCloseButtonLabel',
|
|
257
|
-
message: 'Close menu',
|
|
258
|
-
description: 'The ARIA label for close button of mobile doc sidebar'
|
|
259
|
-
}) : (0, _Translate.translate)({
|
|
260
|
-
id: 'theme.docs.sidebar.responsiveOpenButtonLabel',
|
|
261
|
-
message: 'Open menu',
|
|
262
|
-
description: 'The ARIA label for open button of mobile doc sidebar'
|
|
263
|
-
})} aria-haspopup="true" className="button button--secondary button--sm menu__button" type="button" onClick={onClick}>
|
|
264
|
-
{responsiveSidebarOpened ? <span className={(0, _clsx.default)(_stylesModule.default.sidebarMenuIcon, _stylesModule.default.sidebarMenuCloseIcon)}>
|
|
265
|
-
×
|
|
266
|
-
</span> : <_IconMenu.default className={_stylesModule.default.sidebarMenuIcon} height={MOBILE_TOGGLE_SIZE} width={MOBILE_TOGGLE_SIZE} />}
|
|
267
|
-
</button>;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
function DocSidebar({
|
|
69
|
+
function DocSidebarDesktop({
|
|
271
70
|
path,
|
|
272
71
|
sidebar,
|
|
273
|
-
sidebarCollapsible = true,
|
|
274
72
|
onCollapse,
|
|
275
73
|
isHidden
|
|
276
74
|
}) {
|
|
@@ -281,36 +79,56 @@ function DocSidebar({
|
|
|
281
79
|
},
|
|
282
80
|
hideableSidebar
|
|
283
81
|
} = (0, _themeCommon.useThemeConfig)();
|
|
284
|
-
const {
|
|
285
|
-
isAnnouncementBarClosed
|
|
286
|
-
} = (0, _useUserPreferencesContext.default)();
|
|
287
|
-
const {
|
|
288
|
-
showResponsiveSidebar,
|
|
289
|
-
closeResponsiveSidebar,
|
|
290
|
-
toggleResponsiveSidebar
|
|
291
|
-
} = useResponsiveSidebar();
|
|
292
82
|
return <div className={(0, _clsx.default)(_stylesModule.default.sidebar, {
|
|
293
83
|
[_stylesModule.default.sidebarWithHideableNavbar]: hideOnScroll,
|
|
294
84
|
[_stylesModule.default.sidebarHidden]: isHidden
|
|
295
85
|
})}>
|
|
296
86
|
{hideOnScroll && <_Logo.default tabIndex={-1} className={_stylesModule.default.sidebarLogo} />}
|
|
297
|
-
<nav className={(0, _clsx.default)('menu
|
|
298
|
-
|
|
299
|
-
[_stylesModule.default.menuWithAnnouncementBar]: !isAnnouncementBarClosed && showAnnouncementBar
|
|
300
|
-
})} aria-label={(0, _Translate.translate)({
|
|
301
|
-
id: 'theme.docs.sidebar.navAriaLabel',
|
|
302
|
-
message: 'Sidebar navigation',
|
|
303
|
-
description: 'The ARIA label for documentation menu'
|
|
87
|
+
<nav className={(0, _clsx.default)('menu thin-scrollbar', _stylesModule.default.menu, {
|
|
88
|
+
[_stylesModule.default.menuWithAnnouncementBar]: showAnnouncementBar
|
|
304
89
|
})}>
|
|
305
|
-
<
|
|
306
|
-
|
|
307
|
-
<ul className="menu__list">
|
|
308
|
-
<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} />
|
|
309
92
|
</ul>
|
|
310
93
|
</nav>
|
|
311
94
|
{hideableSidebar && <HideableSidebarButton onClick={onCollapse} />}
|
|
312
95
|
</div>;
|
|
96
|
+
} // eslint-disable-next-line react/function-component-definition
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
const DocSidebarMobileSecondaryMenu = ({
|
|
100
|
+
toggleSidebar,
|
|
101
|
+
sidebar,
|
|
102
|
+
path
|
|
103
|
+
}) => <ul className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docSidebarMenu, 'menu__list')}>
|
|
104
|
+
<_DocSidebarItem.DocSidebarItems items={sidebar} activePath={path} onItemClick={item => {
|
|
105
|
+
// Mobile sidebar should only be closed if the category has a link
|
|
106
|
+
if (item.type === 'category' && item.href) {
|
|
107
|
+
toggleSidebar();
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (item.type === 'link') {
|
|
111
|
+
toggleSidebar();
|
|
112
|
+
}
|
|
113
|
+
}} level={1} />
|
|
114
|
+
</ul>;
|
|
115
|
+
|
|
116
|
+
function DocSidebarMobile(props) {
|
|
117
|
+
return <_themeCommon.MobileSecondaryMenuFiller component={DocSidebarMobileSecondaryMenu} props={props} />;
|
|
313
118
|
}
|
|
314
119
|
|
|
315
|
-
|
|
316
|
-
|
|
120
|
+
const DocSidebarDesktopMemo = _react.default.memo(DocSidebarDesktop);
|
|
121
|
+
|
|
122
|
+
const DocSidebarMobileMemo = _react.default.memo(DocSidebarMobile);
|
|
123
|
+
|
|
124
|
+
function DocSidebar(props) {
|
|
125
|
+
const windowSize = (0, _useWindowSize.default)(); // Desktop sidebar visible on hydration: need SSR rendering
|
|
126
|
+
|
|
127
|
+
const shouldRenderSidebarDesktop = windowSize === 'desktop' || windowSize === 'ssr'; // Mobile sidebar not visible on hydration: can avoid SSR rendering
|
|
128
|
+
|
|
129
|
+
const shouldRenderSidebarMobile = windowSize === 'mobile';
|
|
130
|
+
return <>
|
|
131
|
+
{shouldRenderSidebarDesktop && <DocSidebarDesktopMemo {...props} />}
|
|
132
|
+
{shouldRenderSidebarMobile && <DocSidebarMobileMemo {...props} />}
|
|
133
|
+
</>;
|
|
134
|
+
}
|
|
@@ -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
|
-
}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DocSidebarItems = void 0;
|
|
7
|
+
exports.default = DocSidebarItem;
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
|
|
11
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
12
|
+
|
|
13
|
+
var _themeCommon = require("@docusaurus/theme-common");
|
|
14
|
+
|
|
15
|
+
var _Link = _interopRequireDefault(require("@docusaurus/Link"));
|
|
16
|
+
|
|
17
|
+
var _isInternalUrl = _interopRequireDefault(require("@docusaurus/isInternalUrl"));
|
|
18
|
+
|
|
19
|
+
var _Translate = require("@docusaurus/Translate");
|
|
20
|
+
|
|
21
|
+
var _IconExternalLink = _interopRequireDefault(require("@theme/IconExternalLink"));
|
|
22
|
+
|
|
23
|
+
var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
|
|
24
|
+
|
|
25
|
+
var _useIsBrowser = _interopRequireDefault(require("@docusaurus/useIsBrowser"));
|
|
26
|
+
|
|
27
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
28
|
+
|
|
29
|
+
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); }
|
|
30
|
+
|
|
31
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
35
|
+
*
|
|
36
|
+
* This source code is licensed under the MIT license found in the
|
|
37
|
+
* LICENSE file in the root directory of this source tree.
|
|
38
|
+
*/
|
|
39
|
+
// Optimize sidebar at each "level"
|
|
40
|
+
// TODO this item should probably not receive the "activePath" props
|
|
41
|
+
// TODO this triggers whole sidebar re-renders on navigation
|
|
42
|
+
const DocSidebarItems = (0, _react.memo)(({
|
|
43
|
+
items,
|
|
44
|
+
...props
|
|
45
|
+
}) => <>
|
|
46
|
+
{items.map((item, index) => <DocSidebarItem key={index} // sidebar is static, the index does not change
|
|
47
|
+
item={item} {...props} />)}
|
|
48
|
+
</>);
|
|
49
|
+
exports.DocSidebarItems = DocSidebarItems;
|
|
50
|
+
|
|
51
|
+
function DocSidebarItem({
|
|
52
|
+
item,
|
|
53
|
+
...props
|
|
54
|
+
}) {
|
|
55
|
+
switch (item.type) {
|
|
56
|
+
case 'category':
|
|
57
|
+
if (item.items.length === 0) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return <DocSidebarItemCategory item={item} {...props} />;
|
|
62
|
+
|
|
63
|
+
case 'link':
|
|
64
|
+
default:
|
|
65
|
+
return <DocSidebarItemLink item={item} {...props} />;
|
|
66
|
+
}
|
|
67
|
+
} // If we navigate to a category and it becomes active, it should automatically expand itself
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
function useAutoExpandActiveCategory({
|
|
71
|
+
isActive,
|
|
72
|
+
collapsed,
|
|
73
|
+
setCollapsed
|
|
74
|
+
}) {
|
|
75
|
+
const wasActive = (0, _themeCommon.usePrevious)(isActive);
|
|
76
|
+
(0, _react.useEffect)(() => {
|
|
77
|
+
const justBecameActive = isActive && !wasActive;
|
|
78
|
+
|
|
79
|
+
if (justBecameActive && collapsed) {
|
|
80
|
+
setCollapsed(false);
|
|
81
|
+
}
|
|
82
|
+
}, [isActive, wasActive, collapsed, setCollapsed]);
|
|
83
|
+
} // When a collapsible category has no link, we still link it to its first child during SSR as a temporary fallback
|
|
84
|
+
// This allows to be able to navigate inside the category even when JS fails to load, is delayed or simply disabled
|
|
85
|
+
// React hydration becomes an optional progressive enhancement
|
|
86
|
+
// see https://github.com/facebookincubator/infima/issues/36#issuecomment-772543188
|
|
87
|
+
// see https://github.com/facebook/docusaurus/issues/3030
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
function useCategoryHrefWithSSRFallback(item) {
|
|
91
|
+
const isBrowser = (0, _useIsBrowser.default)();
|
|
92
|
+
return (0, _react.useMemo)(() => {
|
|
93
|
+
if (item.href) {
|
|
94
|
+
return item.href;
|
|
95
|
+
} // In these cases, it's not necessary to render a fallback
|
|
96
|
+
// We skip the "findFirstCategoryLink" computation
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
if (isBrowser || !item.collapsible) {
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
return (0, _themeCommon.findFirstCategoryLink)(item);
|
|
104
|
+
}, [item, isBrowser]);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function DocSidebarItemCategory({
|
|
108
|
+
item,
|
|
109
|
+
onItemClick,
|
|
110
|
+
activePath,
|
|
111
|
+
level,
|
|
112
|
+
...props
|
|
113
|
+
}) {
|
|
114
|
+
const {
|
|
115
|
+
items,
|
|
116
|
+
label,
|
|
117
|
+
collapsible,
|
|
118
|
+
className,
|
|
119
|
+
href
|
|
120
|
+
} = item;
|
|
121
|
+
const hrefWithSSRFallback = useCategoryHrefWithSSRFallback(item);
|
|
122
|
+
const isActive = (0, _themeCommon.isActiveSidebarItem)(item, activePath);
|
|
123
|
+
const {
|
|
124
|
+
collapsed,
|
|
125
|
+
setCollapsed,
|
|
126
|
+
toggleCollapsed
|
|
127
|
+
} = (0, _themeCommon.useCollapsible)({
|
|
128
|
+
// active categories are always initialized as expanded
|
|
129
|
+
// the default (item.collapsed) is only used for non-active categories
|
|
130
|
+
initialState: () => {
|
|
131
|
+
if (!collapsible) {
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return isActive ? false : item.collapsed;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
useAutoExpandActiveCategory({
|
|
139
|
+
isActive,
|
|
140
|
+
collapsed,
|
|
141
|
+
setCollapsed
|
|
142
|
+
});
|
|
143
|
+
return <li className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docSidebarItemCategory, _themeCommon.ThemeClassNames.docs.docSidebarItemCategoryLevel(level), 'menu__list-item', {
|
|
144
|
+
'menu__list-item--collapsed': collapsed
|
|
145
|
+
}, className)}>
|
|
146
|
+
<div className="menu__list-item-collapsible">
|
|
147
|
+
<_Link.default className={(0, _clsx.default)('menu__link', {
|
|
148
|
+
'menu__link--sublist': collapsible && !href,
|
|
149
|
+
'menu__link--active': isActive,
|
|
150
|
+
[_stylesModule.default.menuLinkText]: !collapsible,
|
|
151
|
+
[_stylesModule.default.hasHref]: !!hrefWithSSRFallback
|
|
152
|
+
})} onClick={collapsible ? e => {
|
|
153
|
+
onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(item);
|
|
154
|
+
|
|
155
|
+
if (href) {
|
|
156
|
+
setCollapsed(false);
|
|
157
|
+
} else {
|
|
158
|
+
e.preventDefault();
|
|
159
|
+
toggleCollapsed();
|
|
160
|
+
}
|
|
161
|
+
} : () => {
|
|
162
|
+
onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(item);
|
|
163
|
+
}} href={collapsible ? hrefWithSSRFallback !== null && hrefWithSSRFallback !== void 0 ? hrefWithSSRFallback : '#' : hrefWithSSRFallback} {...props}>
|
|
164
|
+
{label}
|
|
165
|
+
</_Link.default>
|
|
166
|
+
{href && collapsible && <button aria-label={(0, _Translate.translate)({
|
|
167
|
+
id: 'theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel',
|
|
168
|
+
message: "Toggle the collapsible sidebar category '{label}'",
|
|
169
|
+
description: 'The ARIA label to toggle the collapsible sidebar category'
|
|
170
|
+
}, {
|
|
171
|
+
label
|
|
172
|
+
})} type="button" className="clean-btn menu__caret" onClick={e => {
|
|
173
|
+
e.preventDefault();
|
|
174
|
+
toggleCollapsed();
|
|
175
|
+
}} />}
|
|
176
|
+
</div>
|
|
177
|
+
|
|
178
|
+
<_themeCommon.Collapsible lazy as="ul" className="menu__list" collapsed={collapsed}>
|
|
179
|
+
<DocSidebarItems items={items} tabIndex={collapsed ? -1 : 0} onItemClick={onItemClick} activePath={activePath} level={level + 1} />
|
|
180
|
+
</_themeCommon.Collapsible>
|
|
181
|
+
</li>;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
function DocSidebarItemLink({
|
|
185
|
+
item,
|
|
186
|
+
onItemClick,
|
|
187
|
+
activePath,
|
|
188
|
+
level,
|
|
189
|
+
...props
|
|
190
|
+
}) {
|
|
191
|
+
const {
|
|
192
|
+
href,
|
|
193
|
+
label,
|
|
194
|
+
className
|
|
195
|
+
} = item;
|
|
196
|
+
const isActive = (0, _themeCommon.isActiveSidebarItem)(item, activePath);
|
|
197
|
+
return <li className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docSidebarItemLink, _themeCommon.ThemeClassNames.docs.docSidebarItemLinkLevel(level), 'menu__list-item', className)} key={label}>
|
|
198
|
+
<_Link.default className={(0, _clsx.default)('menu__link', {
|
|
199
|
+
'menu__link--active': isActive
|
|
200
|
+
})} aria-current={isActive ? 'page' : undefined} to={href} {...(0, _isInternalUrl.default)(href) && {
|
|
201
|
+
onClick: onItemClick ? () => onItemClick(item) : undefined
|
|
202
|
+
}} {...props}>
|
|
203
|
+
{(0, _isInternalUrl.default)(href) ? label : <span>
|
|
204
|
+
{label}
|
|
205
|
+
<_IconExternalLink.default />
|
|
206
|
+
</span>}
|
|
207
|
+
</_Link.default>
|
|
208
|
+
</li>;
|
|
209
|
+
}
|