@docusaurus/theme-classic 2.0.0-beta.16 → 2.0.0-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/admonitions.css +4 -0
- package/lib/default.css +3038 -0
- package/lib/getSwizzleConfig.js +177 -36
- package/lib/index.js +10 -15
- package/lib/nprogress.css +41 -0
- package/lib/nprogress.js +46 -0
- package/lib/theme-classic.d.ts +600 -76
- package/lib/translations.js +12 -2
- package/lib/validateThemeConfig.js +77 -28
- package/lib-next/theme/BackToTopButton/index.js +6 -104
- package/lib-next/theme/BlogArchivePage/index.js +14 -10
- package/lib-next/theme/BlogLayout/index.js +1 -5
- package/lib-next/theme/BlogListPage/index.js +34 -13
- package/lib-next/theme/BlogListPaginator/index.js +25 -28
- package/lib-next/theme/BlogPostAuthor/index.js +16 -7
- package/lib-next/theme/BlogPostItem/index.js +6 -6
- package/lib-next/theme/BlogPostItem/styles.module.css +9 -0
- package/lib-next/theme/BlogPostPage/index.js +56 -45
- package/lib-next/theme/BlogPostPaginator/index.js +25 -28
- package/lib-next/theme/BlogSidebar/Desktop/index.js +41 -0
- package/lib-next/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +1 -2
- package/lib-next/theme/BlogSidebar/Mobile/index.js +36 -0
- package/lib-next/theme/BlogSidebar/index.js +11 -31
- package/lib-next/theme/BlogTagsListPage/index.js +17 -14
- package/lib-next/theme/BlogTagsPostsPage/index.js +43 -38
- package/lib-next/theme/CodeBlock/Container/index.js +29 -0
- package/lib-next/theme/CodeBlock/Container/styles.module.css +14 -0
- package/lib-next/theme/CodeBlock/Content/Element.js +23 -0
- package/lib-next/theme/CodeBlock/Content/String.js +104 -0
- package/lib-next/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +39 -29
- package/lib-next/theme/CodeBlock/CopyButton/index.js +61 -0
- package/lib-next/theme/CodeBlock/CopyButton/styles.module.css +47 -0
- package/lib-next/theme/CodeBlock/Line/index.js +49 -0
- package/lib-next/theme/CodeBlock/Line/styles.module.css +51 -0
- package/lib-next/theme/CodeBlock/WordWrapButton/index.js +40 -0
- package/lib-next/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
- package/lib-next/theme/CodeBlock/index.js +26 -164
- package/lib-next/theme/ColorModeToggle/index.js +62 -0
- package/lib-next/theme/ColorModeToggle/styles.module.css +35 -0
- package/lib-next/theme/Details/index.js +1 -1
- package/lib-next/theme/DocBreadcrumbs/index.js +63 -19
- package/lib-next/theme/DocBreadcrumbs/styles.module.css +8 -15
- package/lib-next/theme/DocCard/index.js +17 -15
- package/lib-next/theme/DocCard/styles.module.css +8 -17
- package/lib-next/theme/DocCardList/index.js +20 -6
- package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +30 -9
- package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +8 -0
- package/lib-next/theme/DocItem/index.js +85 -67
- package/lib-next/theme/DocItem/styles.module.css +6 -0
- package/lib-next/theme/DocPage/Layout/Main/index.js +29 -0
- package/lib-next/theme/DocPage/Layout/Main/styles.module.css +28 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/index.js +68 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
- package/lib-next/theme/DocPage/Layout/index.js +34 -0
- package/lib-next/theme/{BlogPostAuthor/styles.module.css → DocPage/Layout/index.module.css} +6 -3
- package/lib-next/theme/DocPage/index.js +30 -149
- package/lib-next/theme/DocPaginator/index.js +25 -28
- package/lib-next/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
- package/lib-next/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
- package/lib-next/theme/DocSidebar/Desktop/Content/index.js +46 -0
- package/lib-next/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
- package/lib-next/theme/DocSidebar/Desktop/index.js +36 -0
- package/lib-next/theme/DocSidebar/Desktop/styles.module.css +50 -0
- package/lib-next/theme/DocSidebar/Mobile/index.js +49 -0
- package/lib-next/theme/DocSidebar/index.js +6 -113
- package/lib-next/theme/DocSidebarItem/Category.js +197 -0
- package/lib-next/theme/DocSidebarItem/Html.js +27 -0
- package/lib-next/theme/DocSidebarItem/{styles.module.css → Html.module.css} +0 -0
- package/lib-next/theme/DocSidebarItem/Link.js +53 -0
- package/lib-next/theme/DocSidebarItem/Link.module.css +10 -0
- package/lib-next/theme/DocSidebarItem/index.js +4 -245
- package/lib-next/theme/DocSidebarItems/index.js +1 -6
- package/lib-next/theme/DocTagDocListPage/index.js +40 -33
- package/lib-next/theme/DocTagsListPage/index.js +21 -16
- package/lib-next/theme/DocVersionBanner/index.js +2 -2
- package/lib-next/theme/Footer/Copyright/index.js +18 -0
- package/lib-next/theme/Footer/Layout/index.js +26 -0
- package/lib-next/theme/Footer/LinkItem/index.js +33 -0
- package/lib-next/theme/Footer/Links/MultiColumn/index.js +47 -0
- package/lib-next/theme/Footer/Links/Simple/index.js +41 -0
- package/lib-next/theme/Footer/Links/index.js +17 -0
- package/lib-next/theme/Footer/Logo/index.js +38 -0
- package/lib-next/theme/Footer/{styles.module.css → Logo/styles.module.css} +0 -0
- package/lib-next/theme/Footer/index.js +11 -163
- package/lib-next/theme/Heading/index.js +10 -24
- package/lib-next/theme/IconDarkMode/index.js +17 -0
- package/lib-next/theme/IconExternalLink/styles.module.css +0 -2
- package/lib-next/theme/IconHome/index.js +17 -0
- package/lib-next/theme/IconLanguage/index.js +3 -3
- package/lib-next/theme/IconLightMode/index.js +17 -0
- package/lib-next/theme/LastUpdated/index.js +1 -0
- package/lib-next/theme/Layout/index.js +15 -10
- package/lib-next/theme/LayoutProviders/index.js +5 -4
- package/lib-next/theme/MDXComponents/A.js +11 -0
- package/lib-next/theme/MDXComponents/Code.js +28 -0
- package/lib-next/theme/MDXComponents/Details.js +20 -0
- package/lib-next/theme/MDXComponents/Head.js +26 -0
- package/lib-next/theme/MDXComponents/Heading.js +11 -0
- package/lib-next/theme/MDXComponents/Img.js +24 -0
- package/{src/theme/MDXComponents/styles.css → lib-next/theme/MDXComponents/Img.module.css} +1 -6
- package/lib-next/theme/MDXComponents/Pre.js +18 -0
- package/lib-next/theme/MDXComponents/Ul.js +21 -0
- package/lib-next/theme/MDXComponents/index.js +22 -57
- package/lib-next/theme/MDXContent/index.js +12 -0
- package/lib-next/theme/MDXPage/index.js +33 -28
- package/lib-next/theme/Navbar/ColorModeToggle/index.js +25 -0
- package/lib-next/theme/Navbar/Content/index.js +75 -0
- package/lib-next/theme/Navbar/Content/styles.module.css +15 -0
- package/lib-next/theme/Navbar/Layout/index.js +54 -0
- package/{src/theme/Navbar → lib-next/theme/Navbar/Layout}/styles.module.css +0 -13
- package/lib-next/theme/Navbar/Logo/index.js +17 -0
- package/lib-next/theme/Navbar/MobileSidebar/Header/index.js +33 -0
- package/lib-next/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
- package/lib-next/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
- package/lib-next/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
- package/lib-next/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
- package/lib-next/theme/Navbar/MobileSidebar/index.js +31 -0
- package/lib-next/theme/Navbar/Search/index.js +11 -0
- package/lib-next/theme/Navbar/Search/styles.module.css +20 -0
- package/lib-next/theme/Navbar/index.js +6 -271
- package/lib-next/theme/NavbarItem/ComponentTypes.js +27 -0
- package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +2 -6
- package/lib-next/theme/NavbarItem/DocNavbarItem.js +11 -28
- package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +10 -42
- package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +25 -29
- package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +2 -9
- package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +14 -3
- package/lib-next/theme/NavbarItem/HtmlNavbarItem.js +30 -0
- package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +5 -10
- package/lib-next/theme/NavbarItem/NavbarNavLink.js +49 -35
- package/lib-next/theme/NavbarItem/SearchNavbarItem.js +6 -1
- package/lib-next/theme/NavbarItem/index.js +4 -23
- package/lib-next/theme/NavbarItem/utils.js +2 -1
- package/lib-next/theme/NotFound.js +38 -33
- package/lib-next/theme/PaginatorNavLink/index.js +8 -2
- package/lib-next/theme/SearchMetadata/index.js +9 -0
- package/lib-next/theme/{LayoutHead → SiteMetadata}/index.js +19 -33
- package/lib-next/theme/SkipToContent/index.js +3 -29
- package/lib-next/theme/TOCCollapsible/CollapseButton.js +29 -0
- package/{src/theme/TOCCollapsible/styles.module.css → lib-next/theme/TOCCollapsible/CollapseButton.module.css} +1 -22
- package/lib-next/theme/TOCCollapsible/index.js +4 -16
- package/lib-next/theme/TOCCollapsible/index.module.css +31 -0
- package/lib-next/theme/TOCItems/Tree.js +40 -0
- package/lib-next/theme/TOCItems/index.js +3 -34
- package/lib-next/theme/TabItem/index.js +3 -1
- package/lib-next/theme/TabItem/styles.module.css +10 -0
- package/lib-next/theme/Tabs/__tests__/index.test.js +8 -8
- package/lib-next/theme/Tabs/index.js +5 -5
- package/lib-next/theme/Tabs/styles.module.css +4 -0
- package/lib-next/theme/Tag/index.js +6 -7
- package/lib-next/theme/TagsListInline/index.js +1 -1
- package/lib-next/theme/ThemedImage/index.js +3 -3
- package/package.json +25 -20
- package/src/admonitions.css +4 -0
- package/src/getSwizzleConfig.ts +173 -22
- package/src/index.ts +14 -15
- package/src/nprogress.css +41 -0
- package/src/nprogress.ts +31 -0
- package/src/theme/BackToTopButton/index.tsx +5 -114
- package/src/theme/BlogArchivePage/index.tsx +18 -17
- package/src/theme/BlogLayout/index.tsx +1 -5
- package/src/theme/BlogListPage/index.tsx +32 -13
- package/src/theme/BlogListPaginator/index.tsx +25 -28
- package/src/theme/BlogPostAuthor/index.tsx +14 -8
- package/src/theme/BlogPostItem/index.tsx +6 -6
- package/src/theme/BlogPostItem/styles.module.css +9 -0
- package/src/theme/BlogPostPage/index.tsx +55 -48
- package/src/theme/BlogPostPaginator/index.tsx +25 -28
- package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
- package/src/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +1 -2
- package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
- package/src/theme/BlogSidebar/index.tsx +10 -31
- package/src/theme/BlogTagsListPage/index.tsx +17 -14
- package/src/theme/BlogTagsPostsPage/index.tsx +46 -36
- package/src/theme/CodeBlock/Container/index.tsx +35 -0
- package/src/theme/CodeBlock/Container/styles.module.css +14 -0
- package/src/theme/CodeBlock/Content/Element.tsx +30 -0
- package/src/theme/CodeBlock/Content/String.tsx +111 -0
- package/src/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +39 -29
- package/src/theme/CodeBlock/CopyButton/index.tsx +67 -0
- package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
- package/src/theme/CodeBlock/Line/index.tsx +48 -0
- package/src/theme/CodeBlock/Line/styles.module.css +51 -0
- package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
- package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
- package/src/theme/CodeBlock/index.tsx +29 -165
- package/src/theme/ColorModeToggle/index.tsx +67 -0
- package/src/theme/ColorModeToggle/styles.module.css +35 -0
- package/src/theme/Details/index.tsx +1 -1
- package/src/theme/DocBreadcrumbs/index.tsx +65 -16
- package/src/theme/DocBreadcrumbs/styles.module.css +8 -15
- package/src/theme/DocCard/index.tsx +24 -17
- package/src/theme/DocCard/styles.module.css +8 -17
- package/src/theme/DocCardList/index.tsx +19 -10
- package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +34 -7
- package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +8 -0
- package/src/theme/DocItem/index.tsx +72 -56
- package/src/theme/DocItem/styles.module.css +6 -0
- package/src/theme/DocPage/Layout/Main/index.tsx +37 -0
- package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
- package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
- package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
- package/src/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
- package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
- package/src/theme/{BlogPostAuthor/styles.module.css → DocPage/Layout/index.module.css} +6 -3
- package/src/theme/DocPage/Layout/index.tsx +39 -0
- package/src/theme/DocPage/index.tsx +30 -160
- package/src/theme/DocPaginator/index.tsx +25 -28
- package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
- package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
- package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
- package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
- package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
- package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
- package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
- package/src/theme/DocSidebar/index.tsx +6 -121
- package/src/theme/DocSidebarItem/Category.tsx +210 -0
- package/src/theme/DocSidebarItem/{styles.module.css → Html.module.css} +0 -0
- package/src/theme/DocSidebarItem/Html.tsx +34 -0
- package/src/theme/DocSidebarItem/Link.module.css +10 -0
- package/src/theme/DocSidebarItem/Link.tsx +58 -0
- package/src/theme/DocSidebarItem/index.tsx +4 -260
- package/src/theme/DocSidebarItems/index.tsx +1 -6
- package/src/theme/DocTagDocListPage/index.tsx +40 -33
- package/src/theme/DocTagsListPage/index.tsx +21 -16
- package/src/theme/DocVersionBanner/index.tsx +5 -6
- package/src/theme/Footer/Copyright/index.tsx +20 -0
- package/src/theme/Footer/Layout/index.tsx +34 -0
- package/src/theme/Footer/LinkItem/index.tsx +36 -0
- package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
- package/src/theme/Footer/Links/Simple/index.tsx +42 -0
- package/src/theme/Footer/Links/index.tsx +21 -0
- package/src/theme/Footer/Logo/index.tsx +41 -0
- package/src/theme/Footer/{styles.module.css → Logo/styles.module.css} +0 -0
- package/src/theme/Footer/index.tsx +12 -186
- package/src/theme/Heading/index.tsx +10 -22
- package/src/theme/IconDarkMode/index.tsx +20 -0
- package/src/theme/IconExternalLink/styles.module.css +0 -2
- package/src/theme/IconHome/index.tsx +20 -0
- package/src/theme/IconLanguage/index.tsx +3 -3
- package/src/theme/IconLightMode/index.tsx +20 -0
- package/src/theme/LastUpdated/index.tsx +1 -0
- package/src/theme/Layout/index.tsx +15 -10
- package/src/theme/LayoutProviders/index.tsx +5 -4
- package/src/theme/MDXComponents/A.tsx +14 -0
- package/src/theme/MDXComponents/Code.tsx +37 -0
- package/src/theme/MDXComponents/Details.tsx +25 -0
- package/src/theme/MDXComponents/Head.tsx +29 -0
- package/src/theme/MDXComponents/Heading.tsx +14 -0
- package/{lib-next/theme/MDXComponents/styles.css → src/theme/MDXComponents/Img.module.css} +1 -6
- package/src/theme/MDXComponents/Img.tsx +26 -0
- package/src/theme/MDXComponents/Pre.tsx +22 -0
- package/src/theme/MDXComponents/Ul.tsx +24 -0
- package/src/theme/MDXComponents/index.tsx +23 -66
- package/src/theme/MDXContent/index.tsx +15 -0
- package/src/theme/MDXPage/index.tsx +33 -28
- package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
- package/src/theme/Navbar/Content/index.tsx +86 -0
- package/src/theme/Navbar/Content/styles.module.css +15 -0
- package/src/theme/Navbar/Layout/index.tsx +57 -0
- package/{lib-next/theme/Navbar → src/theme/Navbar/Layout}/styles.module.css +0 -13
- package/src/theme/Navbar/Logo/index.tsx +19 -0
- package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
- package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
- package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
- package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +38 -0
- package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
- package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
- package/src/theme/Navbar/Search/index.tsx +15 -0
- package/src/theme/Navbar/Search/styles.module.css +20 -0
- package/src/theme/Navbar/index.tsx +6 -286
- package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
- package/src/theme/NavbarItem/DefaultNavbarItem.tsx +2 -2
- package/src/theme/NavbarItem/DocNavbarItem.tsx +13 -32
- package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +9 -49
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +26 -33
- package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +3 -10
- package/src/theme/NavbarItem/DropdownNavbarItem.tsx +15 -3
- package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +5 -9
- package/src/theme/NavbarItem/NavbarNavLink.tsx +41 -29
- package/src/theme/NavbarItem/SearchNavbarItem.tsx +6 -1
- package/src/theme/NavbarItem/index.tsx +9 -39
- package/src/theme/NavbarItem/utils.ts +5 -2
- package/src/theme/NotFound.tsx +38 -33
- package/src/theme/PaginatorNavLink/index.tsx +8 -2
- package/src/theme/SearchMetadata/index.tsx +9 -0
- package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +19 -33
- package/src/theme/SkipToContent/index.tsx +3 -29
- package/{lib-next/theme/TOCCollapsible/styles.module.css → src/theme/TOCCollapsible/CollapseButton.module.css} +1 -22
- package/src/theme/TOCCollapsible/CollapseButton.tsx +35 -0
- package/src/theme/TOCCollapsible/index.module.css +31 -0
- package/src/theme/TOCCollapsible/index.tsx +4 -17
- package/src/theme/TOCItems/Tree.tsx +46 -0
- package/src/theme/TOCItems/index.tsx +2 -41
- package/src/theme/TabItem/index.tsx +7 -1
- package/src/theme/TabItem/styles.module.css +10 -0
- package/src/theme/Tabs/index.tsx +8 -9
- package/src/theme/Tabs/styles.module.css +4 -0
- package/src/theme/Tag/index.tsx +6 -8
- package/src/theme/TagsListInline/index.tsx +1 -1
- package/src/theme/ThemedImage/index.tsx +4 -3
- package/src/theme-classic.d.ts +600 -76
- package/src/translations.ts +12 -6
- package/src/validateThemeConfig.ts +90 -39
- package/lib/types.d.ts +0 -11
- package/lib-next/theme/DocPage/styles.module.css +0 -86
- package/lib-next/theme/DocSidebar/styles.module.css +0 -107
- package/lib-next/theme/Seo/index.js +0 -40
- package/lib-next/theme/Toggle/index.js +0 -100
- package/lib-next/theme/Toggle/styles.module.css +0 -106
- package/src/theme/DocPage/styles.module.css +0 -86
- package/src/theme/DocSidebar/styles.module.css +0 -107
- package/src/theme/Seo/index.tsx +0 -49
- package/src/theme/Toggle/index.tsx +0 -117
- package/src/theme/Toggle/styles.module.css +0 -106
- package/src/types.d.ts +0 -11
|
@@ -0,0 +1,32 @@
|
|
|
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 type {Props} from '@theme/NavbarItem/HtmlNavbarItem';
|
|
12
|
+
|
|
13
|
+
export default function HtmlNavbarItem({
|
|
14
|
+
value,
|
|
15
|
+
className,
|
|
16
|
+
mobile = false,
|
|
17
|
+
isDropdownItem = false,
|
|
18
|
+
}: Props): JSX.Element {
|
|
19
|
+
const Comp = isDropdownItem ? 'li' : 'div';
|
|
20
|
+
return (
|
|
21
|
+
<Comp
|
|
22
|
+
className={clsx(
|
|
23
|
+
{
|
|
24
|
+
navbar__item: !mobile && !isDropdownItem,
|
|
25
|
+
'menu__list-item': mobile,
|
|
26
|
+
},
|
|
27
|
+
className,
|
|
28
|
+
)}
|
|
29
|
+
dangerouslySetInnerHTML={{__html: value}}
|
|
30
|
+
/>
|
|
31
|
+
);
|
|
32
|
+
}
|
|
@@ -27,10 +27,6 @@ export default function LocaleDropdownNavbarItem({
|
|
|
27
27
|
} = useDocusaurusContext();
|
|
28
28
|
const alternatePageUtils = useAlternatePageUtils();
|
|
29
29
|
|
|
30
|
-
function getLocaleLabel(locale: string) {
|
|
31
|
-
return localeConfigs[locale].label;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
30
|
const localeItems = locales.map((locale): LinkLikeNavbarItemProps => {
|
|
35
31
|
const to = `pathname://${alternatePageUtils.createUrl({
|
|
36
32
|
locale,
|
|
@@ -38,7 +34,7 @@ export default function LocaleDropdownNavbarItem({
|
|
|
38
34
|
})}`;
|
|
39
35
|
return {
|
|
40
36
|
isNavLink: true,
|
|
41
|
-
label:
|
|
37
|
+
label: localeConfigs[locale]!.label,
|
|
42
38
|
to,
|
|
43
39
|
target: '_self',
|
|
44
40
|
autoAddBaseUrl: false,
|
|
@@ -55,17 +51,17 @@ export default function LocaleDropdownNavbarItem({
|
|
|
55
51
|
id: 'theme.navbar.mobileLanguageDropdown.label',
|
|
56
52
|
description: 'The label for the mobile language switcher dropdown',
|
|
57
53
|
})
|
|
58
|
-
:
|
|
54
|
+
: localeConfigs[currentLocale]!.label;
|
|
59
55
|
|
|
60
56
|
return (
|
|
61
57
|
<DropdownNavbarItem
|
|
62
58
|
{...props}
|
|
63
59
|
mobile={mobile}
|
|
64
60
|
label={
|
|
65
|
-
|
|
61
|
+
<>
|
|
66
62
|
<IconLanguage className={styles.iconLanguage} />
|
|
67
|
-
|
|
68
|
-
|
|
63
|
+
{dropdownLabel}
|
|
64
|
+
</>
|
|
69
65
|
}
|
|
70
66
|
items={items}
|
|
71
67
|
/>
|
|
@@ -21,6 +21,7 @@ export default function NavbarNavLink({
|
|
|
21
21
|
to,
|
|
22
22
|
href,
|
|
23
23
|
label,
|
|
24
|
+
html,
|
|
24
25
|
activeClassName = '',
|
|
25
26
|
prependBaseUrlToHref,
|
|
26
27
|
...props
|
|
@@ -33,36 +34,47 @@ export default function NavbarNavLink({
|
|
|
33
34
|
const isExternalLink = label && href && !isInternalUrl(href);
|
|
34
35
|
const isDropdownLink = activeClassName === dropdownLinkActiveClass;
|
|
35
36
|
|
|
37
|
+
// Link content is set through html XOR label
|
|
38
|
+
const linkContentProps = html
|
|
39
|
+
? {dangerouslySetInnerHTML: {__html: html}}
|
|
40
|
+
: {
|
|
41
|
+
children: (
|
|
42
|
+
<>
|
|
43
|
+
{label}
|
|
44
|
+
{isExternalLink && (
|
|
45
|
+
<IconExternalLink
|
|
46
|
+
{...(isDropdownLink && {width: 12, height: 12})}
|
|
47
|
+
/>
|
|
48
|
+
)}
|
|
49
|
+
</>
|
|
50
|
+
),
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
if (href) {
|
|
54
|
+
return (
|
|
55
|
+
<Link
|
|
56
|
+
href={prependBaseUrlToHref ? normalizedHref : href}
|
|
57
|
+
{...props}
|
|
58
|
+
{...linkContentProps}
|
|
59
|
+
/>
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
|
|
36
63
|
return (
|
|
37
64
|
<Link
|
|
38
|
-
{
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
? isRegexpStringMatch(activeBaseRegex, location.pathname)
|
|
53
|
-
: location.pathname.startsWith(activeBaseUrl),
|
|
54
|
-
}
|
|
55
|
-
: null),
|
|
56
|
-
})}
|
|
57
|
-
{...props}>
|
|
58
|
-
{isExternalLink ? (
|
|
59
|
-
<span>
|
|
60
|
-
{label}
|
|
61
|
-
<IconExternalLink {...(isDropdownLink && {width: 12, height: 12})} />
|
|
62
|
-
</span>
|
|
63
|
-
) : (
|
|
64
|
-
label
|
|
65
|
-
)}
|
|
66
|
-
</Link>
|
|
65
|
+
to={toUrl}
|
|
66
|
+
isNavLink
|
|
67
|
+
activeClassName={
|
|
68
|
+
!props.className?.includes(activeClassName) ? activeClassName : ''
|
|
69
|
+
}
|
|
70
|
+
{...((activeBasePath || activeBaseRegex) && {
|
|
71
|
+
isActive: (_match, location) =>
|
|
72
|
+
activeBaseRegex
|
|
73
|
+
? isRegexpStringMatch(activeBaseRegex, location.pathname)
|
|
74
|
+
: location.pathname.startsWith(activeBaseUrl),
|
|
75
|
+
})}
|
|
76
|
+
{...props}
|
|
77
|
+
{...linkContentProps}
|
|
78
|
+
/>
|
|
67
79
|
);
|
|
68
80
|
}
|
|
@@ -8,11 +8,16 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import type {Props} from '@theme/NavbarItem/SearchNavbarItem';
|
|
10
10
|
import SearchBar from '@theme/SearchBar';
|
|
11
|
+
import NavbarSearch from '@theme/Navbar/Search';
|
|
11
12
|
|
|
12
13
|
export default function SearchNavbarItem({mobile}: Props): JSX.Element | null {
|
|
13
14
|
if (mobile) {
|
|
14
15
|
return null;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
return
|
|
18
|
+
return (
|
|
19
|
+
<NavbarSearch>
|
|
20
|
+
<SearchBar />
|
|
21
|
+
</NavbarSearch>
|
|
22
|
+
);
|
|
18
23
|
}
|
|
@@ -6,56 +6,26 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
|
-
import
|
|
10
|
-
import DropdownNavbarItem, {
|
|
11
|
-
type Props as DropdownNavbarItemProps,
|
|
12
|
-
} from '@theme/NavbarItem/DropdownNavbarItem';
|
|
13
|
-
import LocaleDropdownNavbarItem from '@theme/NavbarItem/LocaleDropdownNavbarItem';
|
|
14
|
-
import SearchNavbarItem from '@theme/NavbarItem/SearchNavbarItem';
|
|
9
|
+
import {type Props as DropdownNavbarItemProps} from '@theme/NavbarItem/DropdownNavbarItem';
|
|
15
10
|
import type {Types, Props} from '@theme/NavbarItem';
|
|
16
11
|
|
|
17
|
-
|
|
18
|
-
Exclude<Types, undefined>,
|
|
19
|
-
// Not really worth typing, as we pass all props down immediately
|
|
20
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
21
|
-
() => (props: any) => JSX.Element
|
|
22
|
-
> = {
|
|
23
|
-
default: () => DefaultNavbarItem,
|
|
24
|
-
localeDropdown: () => LocaleDropdownNavbarItem,
|
|
25
|
-
search: () => SearchNavbarItem,
|
|
26
|
-
dropdown: () => DropdownNavbarItem,
|
|
12
|
+
import ComponentTypes from '@theme/NavbarItem/ComponentTypes';
|
|
27
13
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
docsVersion: () => require('@theme/NavbarItem/DocsVersionNavbarItem').default,
|
|
32
|
-
docsVersionDropdown: () =>
|
|
33
|
-
require('@theme/NavbarItem/DocsVersionDropdownNavbarItem').default,
|
|
34
|
-
doc: () => require('@theme/NavbarItem/DocNavbarItem').default,
|
|
35
|
-
docSidebar: () => require('@theme/NavbarItem/DocSidebarNavbarItem').default,
|
|
36
|
-
/* eslint-enable @typescript-eslint/no-var-requires, global-require */
|
|
37
|
-
} as const;
|
|
38
|
-
|
|
39
|
-
type NavbarItemComponentType = keyof typeof NavbarItemComponents;
|
|
40
|
-
|
|
41
|
-
const getNavbarItemComponent = (type: NavbarItemComponentType) => {
|
|
42
|
-
const navbarItemComponentFn = NavbarItemComponents[type];
|
|
43
|
-
if (!navbarItemComponentFn) {
|
|
14
|
+
const getNavbarItemComponent = (type: NonNullable<Types>) => {
|
|
15
|
+
const component = ComponentTypes[type];
|
|
16
|
+
if (!component) {
|
|
44
17
|
throw new Error(`No NavbarItem component found for type "${type}".`);
|
|
45
18
|
}
|
|
46
|
-
return
|
|
19
|
+
return component;
|
|
47
20
|
};
|
|
48
21
|
|
|
49
|
-
function getComponentType(
|
|
50
|
-
type: Types,
|
|
51
|
-
isDropdown: boolean,
|
|
52
|
-
): NavbarItemComponentType {
|
|
22
|
+
function getComponentType(type: Types, isDropdown: boolean) {
|
|
53
23
|
// Backward compatibility: navbar item with no type set
|
|
54
24
|
// but containing dropdown items should use the type "dropdown"
|
|
55
25
|
if (!type || type === 'default') {
|
|
56
26
|
return isDropdown ? 'dropdown' : 'default';
|
|
57
27
|
}
|
|
58
|
-
return type as
|
|
28
|
+
return type as NonNullable<Types>;
|
|
59
29
|
}
|
|
60
30
|
|
|
61
31
|
export default function NavbarItem({type, ...props}: Props): JSX.Element {
|
|
@@ -64,5 +34,5 @@ export default function NavbarItem({type, ...props}: Props): JSX.Element {
|
|
|
64
34
|
(props as DropdownNavbarItemProps).items !== undefined,
|
|
65
35
|
);
|
|
66
36
|
const NavbarItemComponent = getNavbarItemComponent(componentType);
|
|
67
|
-
return <NavbarItemComponent {...props} />;
|
|
37
|
+
return <NavbarItemComponent {...(props as never)} />;
|
|
68
38
|
}
|
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
/* eslint-disable import/no-named-export */
|
|
9
|
+
|
|
10
|
+
export const getInfimaActiveClassName = (
|
|
11
|
+
mobile?: boolean,
|
|
12
|
+
): `${'menu' | 'navbar'}__link--active` =>
|
|
10
13
|
mobile ? 'menu__link--active' : 'navbar__link--active';
|
package/src/theme/NotFound.tsx
CHANGED
|
@@ -8,42 +8,47 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import Layout from '@theme/Layout';
|
|
10
10
|
import Translate, {translate} from '@docusaurus/Translate';
|
|
11
|
+
import {PageMetadata} from '@docusaurus/theme-common';
|
|
11
12
|
|
|
12
13
|
export default function NotFound(): JSX.Element {
|
|
13
14
|
return (
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
15
|
+
<>
|
|
16
|
+
<PageMetadata
|
|
17
|
+
title={translate({
|
|
18
|
+
id: 'theme.NotFound.title',
|
|
19
|
+
message: 'Page Not Found',
|
|
20
|
+
})}
|
|
21
|
+
/>
|
|
22
|
+
<Layout>
|
|
23
|
+
<main className="container margin-vert--xl">
|
|
24
|
+
<div className="row">
|
|
25
|
+
<div className="col col--6 col--offset-3">
|
|
26
|
+
<h1 className="hero__title">
|
|
27
|
+
<Translate
|
|
28
|
+
id="theme.NotFound.title"
|
|
29
|
+
description="The title of the 404 page">
|
|
30
|
+
Page Not Found
|
|
31
|
+
</Translate>
|
|
32
|
+
</h1>
|
|
33
|
+
<p>
|
|
34
|
+
<Translate
|
|
35
|
+
id="theme.NotFound.p1"
|
|
36
|
+
description="The first paragraph of the 404 page">
|
|
37
|
+
We could not find what you were looking for.
|
|
38
|
+
</Translate>
|
|
39
|
+
</p>
|
|
40
|
+
<p>
|
|
41
|
+
<Translate
|
|
42
|
+
id="theme.NotFound.p2"
|
|
43
|
+
description="The 2nd paragraph of the 404 page">
|
|
44
|
+
Please contact the owner of the site that linked you to the
|
|
45
|
+
original URL and let them know their link is broken.
|
|
46
|
+
</Translate>
|
|
47
|
+
</p>
|
|
48
|
+
</div>
|
|
44
49
|
</div>
|
|
45
|
-
</
|
|
46
|
-
</
|
|
47
|
-
|
|
50
|
+
</main>
|
|
51
|
+
</Layout>
|
|
52
|
+
</>
|
|
48
53
|
);
|
|
49
54
|
}
|
|
@@ -6,13 +6,19 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
9
10
|
import Link from '@docusaurus/Link';
|
|
10
11
|
import type {Props} from '@theme/PaginatorNavLink';
|
|
11
12
|
|
|
12
13
|
export default function PaginatorNavLink(props: Props): JSX.Element {
|
|
13
|
-
const {permalink, title, subLabel} = props;
|
|
14
|
+
const {permalink, title, subLabel, isNext} = props;
|
|
14
15
|
return (
|
|
15
|
-
<Link
|
|
16
|
+
<Link
|
|
17
|
+
className={clsx(
|
|
18
|
+
'pagination-nav__link',
|
|
19
|
+
isNext ? 'pagination-nav__link--next' : 'pagination-nav__link--prev',
|
|
20
|
+
)}
|
|
21
|
+
to={permalink}>
|
|
16
22
|
{subLabel && <div className="pagination-nav__sublabel">{subLabel}</div>}
|
|
17
23
|
<div className="pagination-nav__label">{title}</div>
|
|
18
24
|
</Link>
|
|
@@ -26,6 +26,15 @@ export default function SearchMetadata({
|
|
|
26
26
|
|
|
27
27
|
return (
|
|
28
28
|
<Head>
|
|
29
|
+
{/*
|
|
30
|
+
Docusaurus metadata, used by third-party search plugin
|
|
31
|
+
See https://github.com/cmfcmf/docusaurus-search-local/issues/99
|
|
32
|
+
*/}
|
|
33
|
+
{locale && <meta name="docusaurus_locale" content={locale} />}
|
|
34
|
+
{version && <meta name="docusaurus_version" content={version} />}
|
|
35
|
+
{tag && <meta name="docusaurus_tag" content={tag} />}
|
|
36
|
+
|
|
37
|
+
{/* Algolia DocSearch metadata */}
|
|
29
38
|
{language && <meta name="docsearch:language" content={language} />}
|
|
30
39
|
{version && <meta name="docsearch:version" content={version} />}
|
|
31
40
|
{tag && <meta name="docsearch:docusaurus_tag" content={tag} />}
|
|
@@ -9,19 +9,18 @@ import React from 'react';
|
|
|
9
9
|
import Head from '@docusaurus/Head';
|
|
10
10
|
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
11
11
|
import useBaseUrl from '@docusaurus/useBaseUrl';
|
|
12
|
-
import type {Props} from '@theme/Layout';
|
|
13
12
|
import SearchMetadata from '@theme/SearchMetadata';
|
|
14
|
-
import Seo from '@theme/Seo';
|
|
15
13
|
import {
|
|
14
|
+
PageMetadata,
|
|
16
15
|
DEFAULT_SEARCH_TAG,
|
|
17
|
-
useTitleFormatter,
|
|
18
16
|
useAlternatePageUtils,
|
|
19
17
|
useThemeConfig,
|
|
20
18
|
keyboardFocusedClassName,
|
|
21
19
|
} from '@docusaurus/theme-common';
|
|
22
20
|
import {useLocation} from '@docusaurus/router';
|
|
23
21
|
|
|
24
|
-
//
|
|
22
|
+
// TODO move to SiteMetadataDefaults or theme-common ?
|
|
23
|
+
// Useful for i18n/SEO
|
|
25
24
|
// See https://developers.google.com/search/docs/advanced/crawling/localized-versions
|
|
26
25
|
// See https://github.com/facebook/docusaurus/issues/3317
|
|
27
26
|
function AlternateLangHeaders(): JSX.Element {
|
|
@@ -66,6 +65,7 @@ function useDefaultCanonicalUrl() {
|
|
|
66
65
|
return siteUrl + useBaseUrl(pathname);
|
|
67
66
|
}
|
|
68
67
|
|
|
68
|
+
// TODO move to SiteMetadataDefaults or theme-common ?
|
|
69
69
|
function CanonicalUrlHeaders({permalink}: {permalink?: string}) {
|
|
70
70
|
const {
|
|
71
71
|
siteConfig: {url: siteUrl},
|
|
@@ -83,56 +83,42 @@ function CanonicalUrlHeaders({permalink}: {permalink?: string}) {
|
|
|
83
83
|
);
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
export default function
|
|
86
|
+
export default function SiteMetadata(): JSX.Element {
|
|
87
87
|
const {
|
|
88
|
-
|
|
89
|
-
i18n: {currentLocale, localeConfigs},
|
|
88
|
+
i18n: {currentLocale},
|
|
90
89
|
} = useDocusaurusContext();
|
|
90
|
+
|
|
91
|
+
// TODO maybe move these 2 themeConfig to siteConfig?
|
|
92
|
+
// These seems useful for other themes as well
|
|
91
93
|
const {metadata, image: defaultImage} = useThemeConfig();
|
|
92
|
-
const {title, description, image, keywords, searchMetadata} = props;
|
|
93
|
-
const faviconUrl = useBaseUrl(favicon);
|
|
94
|
-
const pageTitle = useTitleFormatter(title);
|
|
95
|
-
const {htmlLang, direction: htmlDir} = localeConfigs[currentLocale];
|
|
96
94
|
|
|
97
95
|
return (
|
|
98
96
|
<>
|
|
99
97
|
<Head>
|
|
100
|
-
<html lang={htmlLang} dir={htmlDir} />
|
|
101
|
-
{favicon && <link rel="icon" href={faviconUrl} />}
|
|
102
|
-
<title>{pageTitle}</title>
|
|
103
|
-
<meta property="og:title" content={pageTitle} />
|
|
104
98
|
<meta name="twitter:card" content="summary_large_image" />
|
|
105
99
|
{/* The keyboard focus class name need to be applied when SSR so links
|
|
106
100
|
are outlined when JS is disabled */}
|
|
107
101
|
<body className={keyboardFocusedClassName} />
|
|
108
102
|
</Head>
|
|
109
103
|
|
|
110
|
-
{
|
|
111
|
-
{defaultImage && <Seo image={defaultImage} />}
|
|
112
|
-
{image && <Seo image={image} />}
|
|
113
|
-
|
|
114
|
-
<Seo description={description} keywords={keywords} />
|
|
104
|
+
{defaultImage && <PageMetadata image={defaultImage} />}
|
|
115
105
|
|
|
116
106
|
<CanonicalUrlHeaders />
|
|
117
107
|
|
|
118
108
|
<AlternateLangHeaders />
|
|
119
109
|
|
|
120
|
-
<SearchMetadata
|
|
121
|
-
tag={DEFAULT_SEARCH_TAG}
|
|
122
|
-
locale={currentLocale}
|
|
123
|
-
{...searchMetadata}
|
|
124
|
-
/>
|
|
110
|
+
<SearchMetadata tag={DEFAULT_SEARCH_TAG} locale={currentLocale} />
|
|
125
111
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
>
|
|
112
|
+
{/*
|
|
113
|
+
It's important to have an additional <Head> element here, as it allows
|
|
114
|
+
react-helmet to override default metadata values set in previous <Head>
|
|
115
|
+
like "twitter:card". In same Head, the same meta would appear twice
|
|
116
|
+
instead of overriding.
|
|
117
|
+
*/}
|
|
118
|
+
<Head>
|
|
133
119
|
{/* Yes, "metadatum" is the grammatically correct term */}
|
|
134
120
|
{metadata.map((metadatum, i) => (
|
|
135
|
-
<meta key={
|
|
121
|
+
<meta key={i} {...metadatum} />
|
|
136
122
|
))}
|
|
137
123
|
</Head>
|
|
138
124
|
</>
|
|
@@ -5,40 +5,14 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import React
|
|
9
|
-
import {useHistory} from '@docusaurus/router';
|
|
8
|
+
import React from 'react';
|
|
10
9
|
import Translate from '@docusaurus/Translate';
|
|
11
|
-
import {
|
|
10
|
+
import {useSkipToContent} from '@docusaurus/theme-common';
|
|
12
11
|
|
|
13
12
|
import styles from './styles.module.css';
|
|
14
13
|
|
|
15
|
-
function programmaticFocus(el: HTMLElement) {
|
|
16
|
-
el.setAttribute('tabindex', '-1');
|
|
17
|
-
el.focus();
|
|
18
|
-
el.removeAttribute('tabindex');
|
|
19
|
-
}
|
|
20
|
-
|
|
21
14
|
export default function SkipToContent(): JSX.Element {
|
|
22
|
-
const containerRef =
|
|
23
|
-
const {action} = useHistory();
|
|
24
|
-
const handleSkip = (e: React.MouseEvent<HTMLAnchorElement>) => {
|
|
25
|
-
e.preventDefault();
|
|
26
|
-
|
|
27
|
-
const targetElement: HTMLElement | null =
|
|
28
|
-
document.querySelector('main:first-of-type') ||
|
|
29
|
-
document.querySelector('.main-wrapper');
|
|
30
|
-
|
|
31
|
-
if (targetElement) {
|
|
32
|
-
programmaticFocus(targetElement);
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
useLocationChange(({location}) => {
|
|
37
|
-
if (containerRef.current && !location.hash && action === 'PUSH') {
|
|
38
|
-
programmaticFocus(containerRef.current);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
|
|
15
|
+
const {containerRef, handleSkip} = useSkipToContent();
|
|
42
16
|
return (
|
|
43
17
|
<div ref={containerRef} role="region">
|
|
44
18
|
{/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
|
|
@@ -5,12 +5,6 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
.tocCollapsible {
|
|
9
|
-
background-color: var(--ifm-menu-color-background-active);
|
|
10
|
-
border-radius: var(--ifm-global-radius);
|
|
11
|
-
margin: 1rem 0;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
8
|
.tocCollapsibleButton {
|
|
15
9
|
font-size: inherit;
|
|
16
10
|
display: flex;
|
|
@@ -30,21 +24,6 @@
|
|
|
30
24
|
transition: transform var(--ifm-transition-fast);
|
|
31
25
|
}
|
|
32
26
|
|
|
33
|
-
.
|
|
34
|
-
border-left: none;
|
|
35
|
-
border-top: 1px solid var(--ifm-color-emphasis-300);
|
|
36
|
-
padding: 0.2rem 0;
|
|
37
|
-
font-size: 15px;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.tocCollapsibleContent ul li {
|
|
41
|
-
margin: 0.4rem 0.8rem;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.tocCollapsibleContent a {
|
|
45
|
-
display: block;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.tocCollapsibleExpanded .tocCollapsibleButton::after {
|
|
27
|
+
.tocCollapsibleButtonExpanded::after {
|
|
49
28
|
transform: none;
|
|
50
29
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import Translate from '@docusaurus/Translate';
|
|
11
|
+
import styles from './CollapseButton.module.css';
|
|
12
|
+
import type {Props} from '@theme/TOCCollapsible/CollapseButton';
|
|
13
|
+
|
|
14
|
+
export default function TOCCollapsibleCollapseButton({
|
|
15
|
+
collapsed,
|
|
16
|
+
...props
|
|
17
|
+
}: Props): JSX.Element {
|
|
18
|
+
return (
|
|
19
|
+
<button
|
|
20
|
+
type="button"
|
|
21
|
+
{...props}
|
|
22
|
+
className={clsx(
|
|
23
|
+
'clean-btn',
|
|
24
|
+
styles.tocCollapsibleButton,
|
|
25
|
+
!collapsed && styles.tocCollapsibleButtonExpanded,
|
|
26
|
+
props.className,
|
|
27
|
+
)}>
|
|
28
|
+
<Translate
|
|
29
|
+
id="theme.TOCCollapsible.toggleButtonLabel"
|
|
30
|
+
description="The label used by the button on the collapsible TOC component">
|
|
31
|
+
On this page
|
|
32
|
+
</Translate>
|
|
33
|
+
</button>
|
|
34
|
+
);
|
|
35
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
.tocCollapsible {
|
|
9
|
+
background-color: var(--ifm-menu-color-background-active);
|
|
10
|
+
border-radius: var(--ifm-global-radius);
|
|
11
|
+
margin: 1rem 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.tocCollapsibleContent > ul {
|
|
15
|
+
border-left: none;
|
|
16
|
+
border-top: 1px solid var(--ifm-color-emphasis-300);
|
|
17
|
+
padding: 0.2rem 0;
|
|
18
|
+
font-size: 15px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.tocCollapsibleContent ul li {
|
|
22
|
+
margin: 0.4rem 0.8rem;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.tocCollapsibleContent a {
|
|
26
|
+
display: block;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.tocCollapsibleExpanded {
|
|
30
|
+
transform: none;
|
|
31
|
+
}
|