@docusaurus/theme-classic 2.0.0-beta.8e9b829d9 → 2.0.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/codeTranslations/ar.json +12 -6
- package/codeTranslations/base.json +12 -0
- package/codeTranslations/bn.json +6 -0
- package/codeTranslations/cs.json +62 -0
- package/codeTranslations/da.json +6 -0
- package/codeTranslations/de.json +8 -2
- package/codeTranslations/es.json +10 -4
- package/codeTranslations/fa.json +9 -3
- package/codeTranslations/fil.json +6 -0
- package/codeTranslations/fr.json +6 -0
- package/codeTranslations/he.json +6 -0
- package/codeTranslations/hi.json +6 -0
- package/codeTranslations/ja.json +6 -0
- package/codeTranslations/ko.json +6 -0
- package/codeTranslations/pl.json +6 -0
- package/codeTranslations/pt-BR.json +8 -2
- package/codeTranslations/pt-PT.json +6 -0
- package/codeTranslations/ru.json +6 -0
- package/codeTranslations/sr.json +62 -0
- package/codeTranslations/tr.json +9 -3
- package/codeTranslations/vi.json +10 -4
- package/codeTranslations/zh-Hans.json +6 -0
- package/codeTranslations/zh-Hant.json +6 -0
- package/lib/__tests__/validateThemeConfig.test.js +154 -4
- package/lib/index.js +2 -3
- 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 +27 -13
- package/lib/theme/BackToTopButton/styles.module.css +17 -14
- package/lib/theme/BlogArchivePage/index.js +89 -0
- package/lib/theme/BlogLayout/index.js +2 -6
- package/lib/theme/BlogListPage/index.js +1 -1
- 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 +33 -4
- package/lib/theme/BlogSidebar/styles.module.css +2 -2
- package/lib/theme/BlogTagsListPage/index.js +3 -28
- package/lib/theme/BlogTagsPostsPage/index.js +5 -8
- package/lib/theme/CodeBlock/index.js +44 -37
- package/lib/theme/CodeBlock/styles.module.css +1 -2
- package/lib/theme/DocItem/index.js +15 -40
- package/lib/theme/DocItem/styles.module.css +2 -12
- package/lib/theme/DocItemFooter/index.js +79 -0
- package/lib/theme/DocItemFooter/styles.module.css +18 -0
- package/lib/theme/DocPage/index.js +18 -13
- package/lib/theme/DocSidebar/index.js +11 -16
- package/lib/theme/DocSidebarItem/index.js +12 -10
- package/lib/theme/DocTagDocListPage/index.js +89 -0
- package/lib/theme/DocTagsListPage/index.js +44 -0
- package/lib/theme/DocVersionBanner/index.js +6 -4
- package/lib/theme/EditThisPage/index.js +3 -1
- package/lib/theme/Footer/index.js +5 -3
- package/lib/theme/Heading/index.js +7 -9
- package/lib/theme/Heading/styles.css +4 -6
- package/lib/theme/Heading/styles.module.css +9 -5
- package/lib/theme/IconClose/index.js +31 -0
- package/lib/theme/LastUpdated/index.js +4 -2
- package/lib/theme/LayoutHead/index.js +13 -11
- package/lib/theme/LayoutProviders/index.js +7 -5
- package/lib/theme/Logo/index.js +14 -12
- package/lib/theme/MDXComponents/index.js +27 -1
- package/lib/theme/MDXComponents/styles.css +11 -0
- package/lib/theme/MDXPage/index.js +2 -1
- package/lib/theme/Navbar/index.js +20 -3
- package/lib/theme/Navbar/styles.module.css +5 -1
- package/lib/theme/NavbarItem/DefaultNavbarItem.js +12 -4
- package/lib/theme/NavbarItem/DocNavbarItem.js +5 -3
- package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +7 -1
- package/lib/theme/NavbarItem/DropdownNavbarItem.js +3 -3
- package/lib/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +3 -4
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/lib/theme/NavbarItem/index.js +5 -0
- 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 +5 -3
- 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/ThemedImage/index.js +3 -5
- package/lib/theme/Toggle/index.js +23 -18
- package/lib/theme/Toggle/styles.module.css +91 -0
- package/lib/theme/hooks/useHideableNavbar.js +14 -31
- package/lib/theme/hooks/useTheme.js +2 -2
- package/lib/theme/hooks/useWindowSize.js +2 -7
- package/lib/theme/prism-include-languages.js +4 -3
- package/lib/translations.js +4 -4
- package/lib/types.d.ts +216 -105
- package/lib/validateThemeConfig.js +215 -254
- package/lib-next/__tests__/validateThemeConfig.test.js +154 -4
- package/lib-next/index.js +1 -2
- 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 +37 -17
- package/lib-next/theme/BackToTopButton/styles.module.css +17 -14
- package/lib-next/theme/BlogArchivePage/index.js +80 -0
- package/lib-next/theme/BlogLayout/index.js +4 -7
- package/lib-next/theme/BlogListPage/index.js +1 -0
- 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 +55 -8
- package/lib-next/theme/BlogSidebar/styles.module.css +2 -2
- package/lib-next/theme/BlogTagsListPage/index.js +7 -39
- package/lib-next/theme/BlogTagsPostsPage/index.js +3 -4
- package/lib-next/theme/CodeBlock/index.js +53 -49
- package/lib-next/theme/CodeBlock/styles.module.css +1 -2
- package/lib-next/theme/DocItem/index.js +27 -45
- package/lib-next/theme/DocItem/styles.module.css +2 -12
- 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 +18 -14
- package/lib-next/theme/DocSidebar/index.js +18 -15
- package/lib-next/theme/DocSidebarItem/index.js +31 -11
- package/lib-next/theme/DocTagDocListPage/index.js +89 -0
- package/lib-next/theme/DocTagsListPage/index.js +38 -0
- package/lib-next/theme/DocVersionBanner/index.js +16 -9
- package/lib-next/theme/EditThisPage/index.js +6 -1
- package/lib-next/theme/Footer/index.js +14 -3
- package/lib-next/theme/Heading/index.js +10 -13
- package/lib-next/theme/Heading/styles.css +4 -6
- package/lib-next/theme/Heading/styles.module.css +9 -5
- package/lib-next/theme/IconClose/index.js +23 -0
- package/lib-next/theme/LastUpdated/index.js +3 -2
- package/lib-next/theme/LayoutHead/index.js +9 -15
- package/lib-next/theme/LayoutProviders/index.js +8 -5
- package/lib-next/theme/Logo/index.js +23 -19
- package/lib-next/theme/MDXComponents/index.js +20 -1
- 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 +27 -3
- package/lib-next/theme/Navbar/styles.module.css +5 -1
- package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +15 -4
- package/lib-next/theme/NavbarItem/DocNavbarItem.js +5 -3
- package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +12 -4
- package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +4 -6
- package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +2 -6
- package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/lib-next/theme/NavbarItem/index.js +2 -0
- 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 +12 -3
- 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/ThemedImage/index.js +3 -3
- package/lib-next/theme/Toggle/index.js +20 -15
- package/lib-next/theme/Toggle/styles.module.css +91 -0
- package/lib-next/theme/hooks/useHideableNavbar.js +31 -47
- package/lib-next/theme/hooks/useTheme.js +2 -2
- package/lib-next/theme/hooks/useWindowSize.js +2 -6
- package/lib-next/theme/prism-include-languages.js +2 -1
- package/lib-next/translations.js +6 -10
- package/lib-next/types.d.ts +216 -105
- package/lib-next/validateThemeConfig.js +40 -36
- package/package.json +23 -19
- package/src/__tests__/validateThemeConfig.test.js +154 -4
- package/src/index.ts +11 -9
- 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 +39 -17
- package/src/theme/BackToTopButton/styles.module.css +17 -14
- package/src/theme/BlogArchivePage/index.tsx +91 -0
- package/src/theme/BlogLayout/index.tsx +4 -8
- package/src/theme/BlogListPage/index.tsx +1 -0
- package/src/theme/BlogPostAuthor/index.tsx +49 -0
- package/src/theme/BlogPostAuthor/styles.module.css +12 -0
- package/src/theme/BlogPostAuthors/index.tsx +36 -0
- package/src/theme/BlogPostAuthors/styles.module.css +11 -0
- package/src/theme/BlogPostItem/index.tsx +70 -80
- package/src/theme/BlogPostPage/index.tsx +57 -8
- package/src/theme/BlogSidebar/styles.module.css +2 -2
- package/src/theme/BlogTagsListPage/index.tsx +7 -41
- package/src/theme/BlogTagsPostsPage/index.tsx +3 -4
- package/src/theme/CodeBlock/index.tsx +63 -47
- package/src/theme/CodeBlock/styles.module.css +1 -2
- package/src/theme/DocItem/index.tsx +27 -46
- package/src/theme/DocItem/styles.module.css +2 -12
- package/src/theme/DocItemFooter/index.tsx +91 -0
- package/src/theme/DocItemFooter/styles.module.css +18 -0
- package/src/theme/DocPage/index.tsx +16 -12
- package/src/theme/DocSidebar/index.tsx +20 -16
- package/src/theme/DocSidebarItem/index.tsx +29 -10
- package/src/theme/DocTagDocListPage/index.tsx +89 -0
- package/src/theme/DocTagsListPage/index.tsx +41 -0
- package/src/theme/DocVersionBanner/index.tsx +26 -15
- package/src/theme/EditThisPage/index.tsx +6 -1
- package/src/theme/Footer/index.tsx +16 -3
- package/src/theme/Heading/index.tsx +10 -13
- package/src/theme/Heading/styles.css +4 -6
- package/src/theme/Heading/styles.module.css +9 -5
- package/src/theme/IconClose/index.tsx +26 -0
- package/src/theme/LastUpdated/index.tsx +3 -2
- package/src/theme/LayoutHead/index.tsx +9 -9
- package/src/theme/LayoutProviders/index.tsx +8 -5
- package/src/theme/Logo/index.tsx +19 -15
- package/src/theme/MDXComponents/index.tsx +20 -1
- package/src/theme/MDXComponents/styles.css +11 -0
- package/src/theme/MDXPage/index.tsx +10 -2
- package/src/theme/Navbar/index.tsx +26 -2
- package/src/theme/Navbar/styles.module.css +5 -1
- package/src/theme/NavbarItem/DefaultNavbarItem.tsx +15 -4
- package/src/theme/NavbarItem/DocNavbarItem.tsx +9 -5
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +15 -6
- package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
- package/src/theme/NavbarItem/DropdownNavbarItem.tsx +4 -6
- package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +6 -5
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/src/theme/NavbarItem/index.tsx +6 -1
- package/src/theme/Seo/index.tsx +7 -4
- package/src/theme/TOC/index.tsx +13 -38
- package/src/theme/TOC/styles.module.css +1 -1
- package/src/theme/TOCCollapsible/index.tsx +8 -2
- 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/ThemedImage/index.tsx +3 -3
- package/src/theme/Toggle/index.tsx +20 -15
- package/src/theme/Toggle/styles.module.css +91 -0
- package/src/theme/hooks/useContextualSearchFilters.ts +1 -1
- package/src/theme/hooks/useHideableNavbar.ts +32 -47
- package/src/theme/hooks/useTabGroupChoice.ts +2 -2
- package/src/theme/hooks/useTheme.ts +2 -2
- package/src/theme/hooks/useWindowSize.ts +2 -7
- package/src/theme/prism-include-languages.ts +3 -2
- package/src/translations.ts +6 -10
- package/src/types.d.ts +216 -105
- package/src/{validateThemeConfig.js → validateThemeConfig.ts} +46 -12
- package/tsconfig.json +0 -1
- package/update-code-translations.js +5 -4
- package/update-code-translations.test.js +1 -1
- package/update.js +151 -0
- package/lib/theme/Toggle/styles.css +0 -103
- package/lib/theme/hooks/useScrollPosition.js +0 -51
- package/lib/theme/hooks/useTOCHighlight.js +0 -87
- package/lib-next/theme/Toggle/styles.css +0 -103
- package/lib-next/theme/hooks/useScrollPosition.js +0 -42
- package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
- package/src/theme/Toggle/styles.css +0 -103
- package/src/theme/hooks/useScrollPosition.ts +0 -52
- package/src/theme/hooks/useTOCHighlight.ts +0 -98
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
ul.contains-task-list {
|
|
9
|
+
padding-left: 0;
|
|
10
|
+
list-style: none;
|
|
11
|
+
}
|
|
@@ -34,6 +34,7 @@ function MDXPage(props) {
|
|
|
34
34
|
content: MDXPageContent
|
|
35
35
|
} = props;
|
|
36
36
|
const {
|
|
37
|
+
// TODO this frontmatter is not validated/normalized, it's the raw user-provided one. We should expose normalized one too!
|
|
37
38
|
frontMatter,
|
|
38
39
|
metadata
|
|
39
40
|
} = MDXPageContent;
|
|
@@ -55,7 +56,7 @@ function MDXPage(props) {
|
|
|
55
56
|
</_react2.MDXProvider>
|
|
56
57
|
</div>
|
|
57
58
|
{!hideTableOfContents && MDXPageContent.toc && <div className="col col--2">
|
|
58
|
-
<_TOC.default toc={MDXPageContent.toc} />
|
|
59
|
+
<_TOC.default toc={MDXPageContent.toc} minHeadingLevel={frontMatter.toc_min_heading_level} maxHeadingLevel={frontMatter.toc_max_heading_level} />
|
|
59
60
|
</div>}
|
|
60
61
|
</div>
|
|
61
62
|
</main>
|
|
@@ -33,6 +33,8 @@ var _Logo = _interopRequireDefault(require("@theme/Logo"));
|
|
|
33
33
|
|
|
34
34
|
var _IconMenu = _interopRequireDefault(require("@theme/IconMenu"));
|
|
35
35
|
|
|
36
|
+
var _IconClose = _interopRequireDefault(require("@theme/IconClose"));
|
|
37
|
+
|
|
36
38
|
var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
|
|
37
39
|
|
|
38
40
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -79,7 +81,19 @@ function useMobileSidebar() {
|
|
|
79
81
|
|
|
80
82
|
const shouldRender = windowSize === 'mobile'; // || windowSize === 'ssr';
|
|
81
83
|
|
|
82
|
-
const [shown, setShown] = (0, _react.useState)(false);
|
|
84
|
+
const [shown, setShown] = (0, _react.useState)(false); // Close mobile sidebar on navigation pop
|
|
85
|
+
// Most likely firing when using the Android back button (but not only)
|
|
86
|
+
|
|
87
|
+
(0, _themeCommon.useHistoryPopHandler)(() => {
|
|
88
|
+
if (shown) {
|
|
89
|
+
setShown(false); // Should we prevent the navigation here?
|
|
90
|
+
// See https://github.com/facebook/docusaurus/pull/5462#issuecomment-911699846
|
|
91
|
+
|
|
92
|
+
return false; // prevent pop navigation
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return undefined;
|
|
96
|
+
});
|
|
83
97
|
const toggle = (0, _react.useCallback)(() => {
|
|
84
98
|
setShown(s => !s);
|
|
85
99
|
}, []);
|
|
@@ -176,7 +190,10 @@ function NavbarMobileSidebar({
|
|
|
176
190
|
return <div className="navbar-sidebar">
|
|
177
191
|
<div className="navbar-sidebar__brand">
|
|
178
192
|
<_Logo.default className="navbar__brand" imageClassName="navbar__logo" titleClassName="navbar__title" />
|
|
179
|
-
{!colorModeToggle.disabled &&
|
|
193
|
+
{!colorModeToggle.disabled && <_Toggle.default className={_stylesModule.default.navbarSidebarToggle} checked={colorModeToggle.isDarkTheme} onChange={colorModeToggle.toggle} />}
|
|
194
|
+
<button type="button" className="clean-btn navbar-sidebar__close" onClick={toggleSidebar}>
|
|
195
|
+
<_IconClose.default color="var(--ifm-color-emphasis-600)" className={_stylesModule.default.navbarSidebarCloseSvg} />
|
|
196
|
+
</button>
|
|
180
197
|
</div>
|
|
181
198
|
|
|
182
199
|
<div className={(0, _clsx.default)('navbar-sidebar__items', {
|
|
@@ -188,7 +205,7 @@ function NavbarMobileSidebar({
|
|
|
188
205
|
</ul>
|
|
189
206
|
</div>
|
|
190
207
|
|
|
191
|
-
<div className="navbar-sidebar__item
|
|
208
|
+
<div className="navbar-sidebar__item menu">
|
|
192
209
|
{items.length > 0 && <button type="button" className="clean-btn navbar-sidebar__back" onClick={secondaryMenu.hide}>
|
|
193
210
|
<_Translate.default id="theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel" description="The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)">
|
|
194
211
|
← Back to main menu
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
/*
|
|
9
9
|
Hide toggle in small viewports
|
|
10
10
|
*/
|
|
11
|
-
@media
|
|
11
|
+
@media (max-width: 996px) {
|
|
12
12
|
.toggle {
|
|
13
13
|
display: none;
|
|
14
14
|
}
|
|
@@ -21,3 +21,7 @@ Hide toggle in small viewports
|
|
|
21
21
|
.navbarHidden {
|
|
22
22
|
transform: translate3d(0, calc(-100% - 2px), 0);
|
|
23
23
|
}
|
|
24
|
+
|
|
25
|
+
.navbarSidebarToggle {
|
|
26
|
+
margin-right: 1rem;
|
|
27
|
+
}
|
|
@@ -18,6 +18,10 @@ var _IconExternalLink = _interopRequireDefault(require("@theme/IconExternalLink"
|
|
|
18
18
|
|
|
19
19
|
var _isInternalUrl = _interopRequireDefault(require("@docusaurus/isInternalUrl"));
|
|
20
20
|
|
|
21
|
+
var _themeCommon = require("@docusaurus/theme-common");
|
|
22
|
+
|
|
23
|
+
var _index = require("./index");
|
|
24
|
+
|
|
21
25
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
26
|
|
|
23
27
|
/**
|
|
@@ -34,10 +38,12 @@ function NavLink({
|
|
|
34
38
|
to,
|
|
35
39
|
href,
|
|
36
40
|
label,
|
|
37
|
-
activeClassName = '
|
|
41
|
+
activeClassName = '',
|
|
38
42
|
prependBaseUrlToHref,
|
|
39
43
|
...props
|
|
40
44
|
}) {
|
|
45
|
+
var _props$className;
|
|
46
|
+
|
|
41
47
|
// TODO all this seems hacky
|
|
42
48
|
// {to: 'version'} should probably be forbidden, in favor of {to: '/version'}
|
|
43
49
|
const toUrl = (0, _useBaseUrl.default)(to);
|
|
@@ -51,10 +57,10 @@ function NavLink({
|
|
|
51
57
|
href: prependBaseUrlToHref ? normalizedHref : href
|
|
52
58
|
} : {
|
|
53
59
|
isNavLink: true,
|
|
54
|
-
activeClassName,
|
|
60
|
+
activeClassName: !((_props$className = props.className) !== null && _props$className !== void 0 && _props$className.includes(activeClassName)) ? activeClassName : '',
|
|
55
61
|
to: toUrl,
|
|
56
62
|
...(activeBasePath || activeBaseRegex ? {
|
|
57
|
-
isActive: (_match, location) => activeBaseRegex ?
|
|
63
|
+
isActive: (_match, location) => activeBaseRegex ? (0, _themeCommon.isRegexpStringMatch)(activeBaseRegex, location.pathname) : location.pathname.startsWith(activeBaseUrl)
|
|
58
64
|
} : null)
|
|
59
65
|
}} {...props}>
|
|
60
66
|
{isExternalLink ? <span>
|
|
@@ -97,8 +103,10 @@ function DefaultNavbarItem({
|
|
|
97
103
|
// Need to destructure position from props so that it doesn't get passed on.
|
|
98
104
|
...props
|
|
99
105
|
}) {
|
|
106
|
+
var _props$activeClassNam;
|
|
107
|
+
|
|
100
108
|
const Comp = mobile ? DefaultNavbarItemMobile : DefaultNavbarItemDesktop;
|
|
101
|
-
return <Comp {...props} />;
|
|
109
|
+
return <Comp {...props} activeClassName={(_props$activeClassNam = props.activeClassName) !== null && _props$activeClassNam !== void 0 ? _props$activeClassNam : (0, _index.getInfimaActiveClassName)(mobile)} />;
|
|
102
110
|
}
|
|
103
111
|
|
|
104
112
|
var _default = DefaultNavbarItem;
|
|
@@ -13,6 +13,8 @@ var _useDocs = require("@theme/hooks/useDocs");
|
|
|
13
13
|
|
|
14
14
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
15
15
|
|
|
16
|
+
var _index = require("./index");
|
|
17
|
+
|
|
16
18
|
var _themeCommon = require("@docusaurus/theme-common");
|
|
17
19
|
|
|
18
20
|
var _utilsCommon = require("@docusaurus/utils-common");
|
|
@@ -40,7 +42,6 @@ Available doc ids are:\n- ${docIds}`);
|
|
|
40
42
|
|
|
41
43
|
function DocNavbarItem({
|
|
42
44
|
docId,
|
|
43
|
-
activeSidebarClassName,
|
|
44
45
|
label: staticLabel,
|
|
45
46
|
docsPluginId,
|
|
46
47
|
...props
|
|
@@ -56,7 +57,8 @@ function DocNavbarItem({
|
|
|
56
57
|
|
|
57
58
|
const versions = (0, _utilsCommon.uniq)([activeVersion, preferredVersion, latestVersion].filter(Boolean));
|
|
58
59
|
const doc = getDocInVersions(versions, docId);
|
|
60
|
+
const activeDocInfimaClassName = (0, _index.getInfimaActiveClassName)(props.mobile);
|
|
59
61
|
return <_DefaultNavbarItem.default exact {...props} className={(0, _clsx.default)(props.className, {
|
|
60
|
-
[
|
|
61
|
-
})} label={staticLabel !== null && staticLabel !== void 0 ? staticLabel : doc.id} to={doc.path} />;
|
|
62
|
+
[activeDocInfimaClassName]: (activeDoc === null || activeDoc === void 0 ? void 0 : activeDoc.sidebar) && activeDoc.sidebar === doc.sidebar
|
|
63
|
+
})} activeClassName={activeDocInfimaClassName} label={staticLabel !== null && staticLabel !== void 0 ? staticLabel : doc.id} to={doc.path} />;
|
|
62
64
|
}
|
|
@@ -15,6 +15,8 @@ var _useDocs = require("@theme/hooks/useDocs");
|
|
|
15
15
|
|
|
16
16
|
var _themeCommon = require("@docusaurus/theme-common");
|
|
17
17
|
|
|
18
|
+
var _Translate = require("@docusaurus/Translate");
|
|
19
|
+
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
21
|
|
|
20
22
|
/**
|
|
@@ -64,7 +66,11 @@ function DocsVersionDropdownNavbarItem({
|
|
|
64
66
|
const items = getItems();
|
|
65
67
|
const dropdownVersion = (_ref = (_activeDocContext$act = activeDocContext.activeVersion) !== null && _activeDocContext$act !== void 0 ? _activeDocContext$act : preferredVersion) !== null && _ref !== void 0 ? _ref : latestVersion; // Mobile dropdown is handled a bit differently
|
|
66
68
|
|
|
67
|
-
const dropdownLabel = mobile && items ?
|
|
69
|
+
const dropdownLabel = mobile && items ? (0, _Translate.translate)({
|
|
70
|
+
id: 'theme.navbar.mobileVersionsDropdown.label',
|
|
71
|
+
message: 'Versions',
|
|
72
|
+
description: 'The label for the navbar versions dropdown on mobile view'
|
|
73
|
+
}) : dropdownVersion.label;
|
|
68
74
|
const dropdownTo = mobile && items ? undefined : getVersionMainDoc(dropdownVersion).path; // We don't want to render a version dropdown with 0 or 1 item
|
|
69
75
|
// If we build the site with a single docs version (onlyIncludeVersions: ['1.0.0'])
|
|
70
76
|
// We'd rather render a button instead of a dropdown
|
|
@@ -34,7 +34,7 @@ function isItemActive(item, localPathname) {
|
|
|
34
34
|
return true;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
if (
|
|
37
|
+
if ((0, _themeCommon.isRegexpStringMatch)(item.activeBaseRegex, localPathname)) {
|
|
38
38
|
return true;
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -80,7 +80,7 @@ function DropdownNavbarItemDesktop({
|
|
|
80
80
|
'dropdown--right': position === 'right',
|
|
81
81
|
'dropdown--show': showDropdown
|
|
82
82
|
})}>
|
|
83
|
-
<_DefaultNavbarItem.NavLink className={(0, _clsx.default)('
|
|
83
|
+
<_DefaultNavbarItem.NavLink className={(0, _clsx.default)('navbar__link', className)} {...props} onClick={props.to ? undefined : e => e.preventDefault()} onKeyDown={e => {
|
|
84
84
|
if (e.key === 'Enter') {
|
|
85
85
|
e.preventDefault();
|
|
86
86
|
setShowDropdown(!showDropdown);
|
|
@@ -127,7 +127,7 @@ function DropdownNavbarItemMobile({
|
|
|
127
127
|
if (containsActive) {
|
|
128
128
|
setCollapsed(!containsActive);
|
|
129
129
|
}
|
|
130
|
-
}, [localPathname, containsActive]);
|
|
130
|
+
}, [localPathname, containsActive, setCollapsed]);
|
|
131
131
|
return <li className={(0, _clsx.default)('menu__list-item', {
|
|
132
132
|
'menu__list-item--collapsed': collapsed
|
|
133
133
|
})}>
|
package/lib/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js}
RENAMED
|
@@ -15,6 +15,8 @@ var _useDocusaurusContext = _interopRequireDefault(require("@docusaurus/useDocus
|
|
|
15
15
|
|
|
16
16
|
var _themeCommon = require("@docusaurus/theme-common");
|
|
17
17
|
|
|
18
|
+
var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
|
|
19
|
+
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
21
|
|
|
20
22
|
/**
|
|
@@ -63,10 +65,7 @@ function LocaleDropdownNavbarItem({
|
|
|
63
65
|
|
|
64
66
|
const dropdownLabel = mobile ? 'Languages' : getLocaleLabel(currentLocale);
|
|
65
67
|
return <_DropdownNavbarItem.default {...props} href="#" mobile={mobile} label={<span>
|
|
66
|
-
<_IconLanguage.default
|
|
67
|
-
verticalAlign: 'text-bottom',
|
|
68
|
-
marginRight: 5
|
|
69
|
-
}} />
|
|
68
|
+
<_IconLanguage.default className={_stylesModule.default.iconLanguage} />
|
|
70
69
|
<span>{dropdownLabel}</span>
|
|
71
70
|
</span>} items={items} />;
|
|
72
71
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
.iconLanguage {
|
|
9
|
+
vertical-align: text-bottom;
|
|
10
|
+
margin-right: 5px;
|
|
11
|
+
}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = NavbarItem;
|
|
7
|
+
exports.getInfimaActiveClassName = void 0;
|
|
7
8
|
|
|
8
9
|
var _react = _interopRequireDefault(require("react"));
|
|
9
10
|
|
|
@@ -59,6 +60,10 @@ function getComponentType(type, isDropdown) {
|
|
|
59
60
|
return type;
|
|
60
61
|
}
|
|
61
62
|
|
|
63
|
+
const getInfimaActiveClassName = mobile => mobile ? 'menu__link--active' : 'navbar__link--active';
|
|
64
|
+
|
|
65
|
+
exports.getInfimaActiveClassName = getInfimaActiveClassName;
|
|
66
|
+
|
|
62
67
|
function NavbarItem({
|
|
63
68
|
type,
|
|
64
69
|
...props
|
package/lib/theme/Seo/index.js
CHANGED
|
@@ -11,7 +11,7 @@ var _Head = _interopRequireDefault(require("@docusaurus/Head"));
|
|
|
11
11
|
|
|
12
12
|
var _themeCommon = require("@docusaurus/theme-common");
|
|
13
13
|
|
|
14
|
-
var _useBaseUrl =
|
|
14
|
+
var _useBaseUrl = require("@docusaurus/useBaseUrl");
|
|
15
15
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
|
|
@@ -25,15 +25,16 @@ function Seo({
|
|
|
25
25
|
title,
|
|
26
26
|
description,
|
|
27
27
|
keywords,
|
|
28
|
-
image
|
|
28
|
+
image,
|
|
29
|
+
children
|
|
29
30
|
}) {
|
|
30
|
-
const {
|
|
31
|
-
image: defaultImage
|
|
32
|
-
} = (0, _themeCommon.useThemeConfig)();
|
|
33
31
|
const pageTitle = (0, _themeCommon.useTitleFormatter)(title);
|
|
34
|
-
const
|
|
32
|
+
const {
|
|
33
|
+
withBaseUrl
|
|
34
|
+
} = (0, _useBaseUrl.useBaseUrlUtils)();
|
|
35
|
+
const pageImage = image ? withBaseUrl(image, {
|
|
35
36
|
absolute: true
|
|
36
|
-
});
|
|
37
|
+
}) : undefined;
|
|
37
38
|
return <_Head.default>
|
|
38
39
|
{title && <title>{pageTitle}</title>}
|
|
39
40
|
{title && <meta property="og:title" content={pageTitle} />}
|
|
@@ -45,5 +46,7 @@ function Seo({
|
|
|
45
46
|
|
|
46
47
|
{pageImage && <meta property="og:image" content={pageImage} />}
|
|
47
48
|
{pageImage && <meta name="twitter:image" content={pageImage} />}
|
|
49
|
+
|
|
50
|
+
{children}
|
|
48
51
|
</_Head.default>;
|
|
49
52
|
}
|
package/lib/theme/TOC/index.js
CHANGED
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.TOCHeadings = TOCHeadings;
|
|
7
6
|
exports.default = void 0;
|
|
8
7
|
|
|
9
8
|
var _react = _interopRequireDefault(require("react"));
|
|
10
9
|
|
|
11
10
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
12
11
|
|
|
13
|
-
var
|
|
12
|
+
var _TOCItems = _interopRequireDefault(require("@theme/TOCItems"));
|
|
14
13
|
|
|
15
14
|
var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
|
|
16
15
|
|
|
@@ -22,37 +21,17 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
22
21
|
* This source code is licensed under the MIT license found in the
|
|
23
22
|
* LICENSE file in the root directory of this source tree.
|
|
24
23
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
function TOCHeadings({
|
|
31
|
-
toc,
|
|
32
|
-
isChild
|
|
33
|
-
}) {
|
|
34
|
-
if (!toc.length) {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return <ul className={isChild ? '' : 'table-of-contents table-of-contents__left-border'}>
|
|
39
|
-
{toc.map(heading => <li key={heading.id}>
|
|
40
|
-
<a href={`#${heading.id}`} className={LINK_CLASS_NAME} // Developer provided the HTML, so assume it's safe.
|
|
41
|
-
// eslint-disable-next-line react/no-danger
|
|
42
|
-
dangerouslySetInnerHTML={{
|
|
43
|
-
__html: heading.value
|
|
44
|
-
}} />
|
|
45
|
-
<TOCHeadings isChild toc={heading.children} />
|
|
46
|
-
</li>)}
|
|
47
|
-
</ul>;
|
|
48
|
-
}
|
|
24
|
+
// Using a custom className
|
|
25
|
+
// This prevents TOC highlighting to highlight TOCInline/TOCCollapsible by mistake
|
|
26
|
+
const LINK_CLASS_NAME = 'table-of-contents__link toc-highlight';
|
|
27
|
+
const LINK_ACTIVE_CLASS_NAME = 'table-of-contents__link--active';
|
|
49
28
|
|
|
50
29
|
function TOC({
|
|
51
|
-
|
|
30
|
+
className,
|
|
31
|
+
...props
|
|
52
32
|
}) {
|
|
53
|
-
(0,
|
|
54
|
-
|
|
55
|
-
<TOCHeadings toc={toc} />
|
|
33
|
+
return <div className={(0, _clsx.default)(_stylesModule.default.tableOfContents, 'thin-scrollbar', className)}>
|
|
34
|
+
<_TOCItems.default {...props} linkClassName={LINK_CLASS_NAME} linkActiveClassName={LINK_ACTIVE_CLASS_NAME} />
|
|
56
35
|
</div>;
|
|
57
36
|
}
|
|
58
37
|
|
|
@@ -15,7 +15,7 @@ var _themeCommon = require("@docusaurus/theme-common");
|
|
|
15
15
|
|
|
16
16
|
var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _TOCItems = _interopRequireDefault(require("@theme/TOCItems"));
|
|
19
19
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
21
|
|
|
@@ -27,7 +27,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
27
27
|
*/
|
|
28
28
|
function TOCCollapsible({
|
|
29
29
|
toc,
|
|
30
|
-
className
|
|
30
|
+
className,
|
|
31
|
+
minHeadingLevel,
|
|
32
|
+
maxHeadingLevel
|
|
31
33
|
}) {
|
|
32
34
|
const {
|
|
33
35
|
collapsed,
|
|
@@ -45,7 +47,7 @@ function TOCCollapsible({
|
|
|
45
47
|
</button>
|
|
46
48
|
|
|
47
49
|
<_themeCommon.Collapsible lazy className={_stylesModule.default.tocCollapsibleContent} collapsed={collapsed}>
|
|
48
|
-
<
|
|
50
|
+
<_TOCItems.default toc={toc} minHeadingLevel={minHeadingLevel} maxHeadingLevel={maxHeadingLevel} />
|
|
49
51
|
</_themeCommon.Collapsible>
|
|
50
52
|
</div>;
|
|
51
53
|
}
|
|
@@ -7,10 +7,10 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
|
10
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
|
-
|
|
12
10
|
var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
|
|
13
11
|
|
|
12
|
+
var _TOCItems = _interopRequireDefault(require("@theme/TOCItems"));
|
|
13
|
+
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -19,33 +19,13 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
19
19
|
* This source code is licensed under the MIT license found in the
|
|
20
20
|
* LICENSE file in the root directory of this source tree.
|
|
21
21
|
*/
|
|
22
|
-
|
|
23
|
-
/* eslint-disable jsx-a11y/control-has-associated-label */
|
|
24
|
-
function HeadingsInline({
|
|
25
|
-
toc,
|
|
26
|
-
isChild
|
|
27
|
-
}) {
|
|
28
|
-
if (!toc.length) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return <ul className={isChild ? '' : 'table-of-contents'}>
|
|
33
|
-
{toc.map(heading => <li key={heading.id}>
|
|
34
|
-
<a href={`#${heading.id}`} // Developer provided the HTML, so assume it's safe.
|
|
35
|
-
// eslint-disable-next-line react/no-danger
|
|
36
|
-
dangerouslySetInnerHTML={{
|
|
37
|
-
__html: heading.value
|
|
38
|
-
}} />
|
|
39
|
-
<HeadingsInline isChild toc={heading.children} />
|
|
40
|
-
</li>)}
|
|
41
|
-
</ul>;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
22
|
function TOCInline({
|
|
45
|
-
toc
|
|
23
|
+
toc,
|
|
24
|
+
minHeadingLevel,
|
|
25
|
+
maxHeadingLevel
|
|
46
26
|
}) {
|
|
47
|
-
return <div className={
|
|
48
|
-
<
|
|
27
|
+
return <div className={_stylesModule.default.tableOfContentsInline}>
|
|
28
|
+
<_TOCItems.default toc={toc} minHeadingLevel={minHeadingLevel} maxHeadingLevel={maxHeadingLevel} className="table-of-contents" linkClassName={null} />
|
|
49
29
|
</div>;
|
|
50
30
|
}
|
|
51
31
|
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = TOCItems;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _themeCommon = require("@docusaurus/theme-common");
|
|
11
|
+
|
|
12
|
+
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); }
|
|
13
|
+
|
|
14
|
+
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; }
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
18
|
+
*
|
|
19
|
+
* This source code is licensed under the MIT license found in the
|
|
20
|
+
* LICENSE file in the root directory of this source tree.
|
|
21
|
+
*/
|
|
22
|
+
// Recursive component rendering the toc tree
|
|
23
|
+
|
|
24
|
+
/* eslint-disable jsx-a11y/control-has-associated-label */
|
|
25
|
+
function TOCItemList({
|
|
26
|
+
toc,
|
|
27
|
+
className,
|
|
28
|
+
linkClassName,
|
|
29
|
+
isChild
|
|
30
|
+
}) {
|
|
31
|
+
if (!toc.length) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return <ul className={isChild ? undefined : className}>
|
|
36
|
+
{toc.map(heading => <li key={heading.id}>
|
|
37
|
+
<a href={`#${heading.id}`} className={linkClassName !== null && linkClassName !== void 0 ? linkClassName : undefined} // Developer provided the HTML, so assume it's safe.
|
|
38
|
+
// eslint-disable-next-line react/no-danger
|
|
39
|
+
dangerouslySetInnerHTML={{
|
|
40
|
+
__html: heading.value
|
|
41
|
+
}} />
|
|
42
|
+
<TOCItemList isChild toc={heading.children} className={className} linkClassName={linkClassName} />
|
|
43
|
+
</li>)}
|
|
44
|
+
</ul>;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function TOCItems({
|
|
48
|
+
toc,
|
|
49
|
+
className = 'table-of-contents table-of-contents__left-border',
|
|
50
|
+
linkClassName = 'table-of-contents__link',
|
|
51
|
+
linkActiveClassName = undefined,
|
|
52
|
+
minHeadingLevel: minHeadingLevelOption,
|
|
53
|
+
maxHeadingLevel: maxHeadingLevelOption,
|
|
54
|
+
...props
|
|
55
|
+
}) {
|
|
56
|
+
const themeConfig = (0, _themeCommon.useThemeConfig)();
|
|
57
|
+
const minHeadingLevel = minHeadingLevelOption !== null && minHeadingLevelOption !== void 0 ? minHeadingLevelOption : themeConfig.tableOfContents.minHeadingLevel;
|
|
58
|
+
const maxHeadingLevel = maxHeadingLevelOption !== null && maxHeadingLevelOption !== void 0 ? maxHeadingLevelOption : themeConfig.tableOfContents.maxHeadingLevel;
|
|
59
|
+
const tocFiltered = (0, _themeCommon.useTOCFilter)({
|
|
60
|
+
toc,
|
|
61
|
+
minHeadingLevel,
|
|
62
|
+
maxHeadingLevel
|
|
63
|
+
});
|
|
64
|
+
const tocHighlightConfig = (0, _react.useMemo)(() => {
|
|
65
|
+
if (linkClassName && linkActiveClassName) {
|
|
66
|
+
return {
|
|
67
|
+
linkClassName,
|
|
68
|
+
linkActiveClassName,
|
|
69
|
+
minHeadingLevel,
|
|
70
|
+
maxHeadingLevel
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return undefined;
|
|
75
|
+
}, [linkClassName, linkActiveClassName, minHeadingLevel, maxHeadingLevel]);
|
|
76
|
+
(0, _themeCommon.useTOCHighlight)(tocHighlightConfig);
|
|
77
|
+
return <TOCItemList toc={tocFiltered} className={className} linkClassName={linkClassName} {...props} />;
|
|
78
|
+
}
|