@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
|
@@ -22,20 +22,15 @@ function CardContainer({
|
|
|
22
22
|
href,
|
|
23
23
|
children,
|
|
24
24
|
}: {
|
|
25
|
-
href
|
|
25
|
+
href: string;
|
|
26
26
|
children: ReactNode;
|
|
27
27
|
}): JSX.Element {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
);
|
|
33
|
-
return href ? (
|
|
34
|
-
<Link href={href} className={className}>
|
|
28
|
+
return (
|
|
29
|
+
<Link
|
|
30
|
+
href={href}
|
|
31
|
+
className={clsx('card padding--lg', styles.cardContainer)}>
|
|
35
32
|
{children}
|
|
36
33
|
</Link>
|
|
37
|
-
) : (
|
|
38
|
-
<div className={className}>{children}</div>
|
|
39
34
|
);
|
|
40
35
|
}
|
|
41
36
|
|
|
@@ -45,7 +40,7 @@ function CardLayout({
|
|
|
45
40
|
title,
|
|
46
41
|
description,
|
|
47
42
|
}: {
|
|
48
|
-
href
|
|
43
|
+
href: string;
|
|
49
44
|
icon: ReactNode;
|
|
50
45
|
title: string;
|
|
51
46
|
description?: string;
|
|
@@ -55,17 +50,29 @@ function CardLayout({
|
|
|
55
50
|
<h2 className={clsx('text--truncate', styles.cardTitle)} title={title}>
|
|
56
51
|
{icon} {title}
|
|
57
52
|
</h2>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
{description && (
|
|
54
|
+
<p
|
|
55
|
+
className={clsx('text--truncate', styles.cardDescription)}
|
|
56
|
+
title={description}>
|
|
57
|
+
{description}
|
|
58
|
+
</p>
|
|
59
|
+
)}
|
|
63
60
|
</CardContainer>
|
|
64
61
|
);
|
|
65
62
|
}
|
|
66
63
|
|
|
67
|
-
function CardCategory({
|
|
64
|
+
function CardCategory({
|
|
65
|
+
item,
|
|
66
|
+
}: {
|
|
67
|
+
item: PropSidebarItemCategory;
|
|
68
|
+
}): JSX.Element | null {
|
|
68
69
|
const href = findFirstCategoryLink(item);
|
|
70
|
+
|
|
71
|
+
// Unexpected: categories that don't have a link have been filtered upfront
|
|
72
|
+
if (!href) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
|
|
69
76
|
return (
|
|
70
77
|
<CardLayout
|
|
71
78
|
href={href}
|
|
@@ -6,38 +6,29 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
.cardContainer {
|
|
9
|
-
height: 8rem;
|
|
10
|
-
color: var(--ifm-color-emphasis-800);
|
|
11
9
|
--ifm-link-color: var(--ifm-color-emphasis-800);
|
|
12
|
-
--ifm-link-hover-color: var(--ifm-color-emphasis-
|
|
10
|
+
--ifm-link-hover-color: var(--ifm-color-emphasis-700);
|
|
13
11
|
--ifm-link-hover-decoration: none;
|
|
14
12
|
|
|
15
|
-
/* box-shadow: var(--ifm-global-shadow-lw); */
|
|
16
13
|
box-shadow: 0 1.5px 3px 0 rgb(0 0 0 / 15%);
|
|
17
14
|
border: 1px solid var(--ifm-color-emphasis-200);
|
|
18
|
-
transition:
|
|
19
|
-
|
|
15
|
+
transition: all var(--ifm-transition-fast) ease;
|
|
16
|
+
transition-property: border, box-shadow;
|
|
20
17
|
}
|
|
21
18
|
|
|
22
|
-
.cardContainer
|
|
23
|
-
|
|
24
|
-
box-shadow: 0
|
|
19
|
+
.cardContainer:hover {
|
|
20
|
+
border-color: var(--ifm-color-primary);
|
|
21
|
+
box-shadow: 0 3px 6px 0 rgb(0 0 0 / 20%);
|
|
25
22
|
}
|
|
26
23
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.cardContainer:not(.cardContainerLink) {
|
|
32
|
-
cursor: not-allowed;
|
|
24
|
+
.cardContainer *:last-child {
|
|
25
|
+
margin-bottom: 0;
|
|
33
26
|
}
|
|
34
27
|
|
|
35
28
|
.cardTitle {
|
|
36
29
|
font-size: 1.2rem;
|
|
37
|
-
min-height: 1.2rem;
|
|
38
30
|
}
|
|
39
31
|
|
|
40
32
|
.cardDescription {
|
|
41
33
|
font-size: 0.8rem;
|
|
42
|
-
min-height: 0.8rem;
|
|
43
34
|
}
|
|
@@ -6,22 +6,31 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
9
10
|
|
|
10
11
|
import DocCard from '@theme/DocCard';
|
|
11
12
|
import type {PropSidebarItem} from '@docusaurus/plugin-content-docs';
|
|
13
|
+
import {findFirstCategoryLink} from '@docusaurus/theme-common';
|
|
14
|
+
import type {Props} from '@theme/DocCardList';
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
// Filter categories that don't have a link.
|
|
17
|
+
function filterItems(items: PropSidebarItem[]): PropSidebarItem[] {
|
|
18
|
+
return items.filter((item) => {
|
|
19
|
+
if (item.type === 'category') {
|
|
20
|
+
return !!findFirstCategoryLink(item);
|
|
21
|
+
}
|
|
22
|
+
return true;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default function DocCardList({items, className}: Props): JSX.Element {
|
|
18
27
|
return (
|
|
19
|
-
<
|
|
20
|
-
{items.map((item, index) => (
|
|
21
|
-
<article key={index} className="col col--6">
|
|
22
|
-
<DocCard item={item} />
|
|
28
|
+
<section className={clsx('row', className)}>
|
|
29
|
+
{filterItems(items).map((item, index) => (
|
|
30
|
+
<article key={index} className="col col--6 margin-bottom--lg">
|
|
31
|
+
<DocCard key={index} item={item} />
|
|
23
32
|
</article>
|
|
24
33
|
))}
|
|
25
|
-
</
|
|
34
|
+
</section>
|
|
26
35
|
);
|
|
27
36
|
}
|
|
@@ -6,11 +6,13 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
PageMetadata,
|
|
11
|
+
useCurrentSidebarCategory,
|
|
12
|
+
} from '@docusaurus/theme-common';
|
|
10
13
|
import type {Props} from '@theme/DocCategoryGeneratedIndexPage';
|
|
11
14
|
import DocCardList from '@theme/DocCardList';
|
|
12
15
|
import DocPaginator from '@theme/DocPaginator';
|
|
13
|
-
import Seo from '@theme/Seo';
|
|
14
16
|
import DocVersionBanner from '@theme/DocVersionBanner';
|
|
15
17
|
import DocVersionBadge from '@theme/DocVersionBadge';
|
|
16
18
|
import DocBreadcrumbs from '@theme/DocBreadcrumbs';
|
|
@@ -19,13 +21,27 @@ import useBaseUrl from '@docusaurus/useBaseUrl';
|
|
|
19
21
|
|
|
20
22
|
import styles from './styles.module.css';
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
function DocCategoryGeneratedIndexPageMetadata({
|
|
25
|
+
categoryGeneratedIndex,
|
|
26
|
+
}: Props): JSX.Element {
|
|
27
|
+
return (
|
|
28
|
+
<PageMetadata
|
|
29
|
+
title={categoryGeneratedIndex.title}
|
|
30
|
+
description={categoryGeneratedIndex.description}
|
|
31
|
+
keywords={categoryGeneratedIndex.keywords}
|
|
32
|
+
// TODO `require` this?
|
|
33
|
+
image={useBaseUrl(categoryGeneratedIndex.image)}
|
|
34
|
+
/>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function DocCategoryGeneratedIndexPageContent({
|
|
23
39
|
categoryGeneratedIndex,
|
|
24
40
|
}: Props): JSX.Element {
|
|
25
41
|
const category = useCurrentSidebarCategory();
|
|
26
42
|
return (
|
|
27
43
|
<>
|
|
28
|
-
<
|
|
44
|
+
<PageMetadata
|
|
29
45
|
title={categoryGeneratedIndex.title}
|
|
30
46
|
description={categoryGeneratedIndex.description}
|
|
31
47
|
keywords={categoryGeneratedIndex.keywords}
|
|
@@ -44,9 +60,9 @@ export default function DocCategoryGeneratedIndexPage({
|
|
|
44
60
|
<p>{categoryGeneratedIndex.description}</p>
|
|
45
61
|
)}
|
|
46
62
|
</header>
|
|
47
|
-
<
|
|
48
|
-
<DocCardList items={category.items} />
|
|
49
|
-
</
|
|
63
|
+
<article className="margin-top--lg">
|
|
64
|
+
<DocCardList items={category.items} className={styles.list} />
|
|
65
|
+
</article>
|
|
50
66
|
<footer className="margin-top--lg">
|
|
51
67
|
<DocPaginator
|
|
52
68
|
previous={categoryGeneratedIndex.navigation.previous}
|
|
@@ -57,3 +73,14 @@ export default function DocCategoryGeneratedIndexPage({
|
|
|
57
73
|
</>
|
|
58
74
|
);
|
|
59
75
|
}
|
|
76
|
+
|
|
77
|
+
export default function DocCategoryGeneratedIndexPage(
|
|
78
|
+
props: Props,
|
|
79
|
+
): JSX.Element {
|
|
80
|
+
return (
|
|
81
|
+
<>
|
|
82
|
+
<DocCategoryGeneratedIndexPageMetadata {...props} />
|
|
83
|
+
<DocCategoryGeneratedIndexPageContent {...props} />
|
|
84
|
+
</>
|
|
85
|
+
);
|
|
86
|
+
}
|
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
.generatedIndexPage {
|
|
10
10
|
max-width: 75% !important;
|
|
11
11
|
}
|
|
12
|
+
|
|
13
|
+
.list article:nth-last-child(-n + 2) {
|
|
14
|
+
margin-bottom: 0 !important;
|
|
15
|
+
}
|
|
12
16
|
}
|
|
13
17
|
|
|
14
18
|
/* Duplicated from .markdown h1 */
|
|
@@ -16,3 +20,7 @@
|
|
|
16
20
|
--ifm-h1-font-size: 3rem;
|
|
17
21
|
margin-bottom: calc(1.25 * var(--ifm-leading));
|
|
18
22
|
}
|
|
23
|
+
|
|
24
|
+
.list article:last-child {
|
|
25
|
+
margin-bottom: 0 !important;
|
|
26
|
+
}
|
|
@@ -10,31 +10,44 @@ import clsx from 'clsx';
|
|
|
10
10
|
import DocPaginator from '@theme/DocPaginator';
|
|
11
11
|
import DocVersionBanner from '@theme/DocVersionBanner';
|
|
12
12
|
import DocVersionBadge from '@theme/DocVersionBadge';
|
|
13
|
-
import Seo from '@theme/Seo';
|
|
14
13
|
import type {Props} from '@theme/DocItem';
|
|
15
14
|
import DocItemFooter from '@theme/DocItemFooter';
|
|
16
15
|
import TOC from '@theme/TOC';
|
|
17
16
|
import TOCCollapsible from '@theme/TOCCollapsible';
|
|
18
17
|
import Heading from '@theme/Heading';
|
|
19
18
|
import styles from './styles.module.css';
|
|
20
|
-
import {
|
|
19
|
+
import {
|
|
20
|
+
PageMetadata,
|
|
21
|
+
HtmlClassNameProvider,
|
|
22
|
+
ThemeClassNames,
|
|
23
|
+
useWindowSize,
|
|
24
|
+
} from '@docusaurus/theme-common';
|
|
21
25
|
import DocBreadcrumbs from '@theme/DocBreadcrumbs';
|
|
26
|
+
import MDXContent from '@theme/MDXContent';
|
|
22
27
|
|
|
23
|
-
|
|
28
|
+
function DocItemMetadata(props: Props): JSX.Element {
|
|
24
29
|
const {content: DocContent} = props;
|
|
25
30
|
const {metadata, frontMatter, assets} = DocContent;
|
|
31
|
+
const {keywords} = frontMatter;
|
|
32
|
+
const {description, title} = metadata;
|
|
33
|
+
const image = assets.image ?? frontMatter.image;
|
|
34
|
+
|
|
35
|
+
return <PageMetadata {...{title, description, keywords, image}} />;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function DocItemContent(props: Props): JSX.Element {
|
|
39
|
+
const {content: DocContent} = props;
|
|
40
|
+
const {metadata, frontMatter} = DocContent;
|
|
26
41
|
const {
|
|
27
|
-
keywords,
|
|
28
42
|
hide_title: hideTitle,
|
|
29
43
|
hide_table_of_contents: hideTableOfContents,
|
|
30
44
|
toc_min_heading_level: tocMinHeadingLevel,
|
|
31
45
|
toc_max_heading_level: tocMaxHeadingLevel,
|
|
32
46
|
} = frontMatter;
|
|
33
|
-
const {
|
|
34
|
-
const image = assets.image ?? frontMatter.image;
|
|
47
|
+
const {title} = metadata;
|
|
35
48
|
|
|
36
49
|
// We only add a title if:
|
|
37
|
-
// - user
|
|
50
|
+
// - user doesn't ask to hide it with front matter
|
|
38
51
|
// - the markdown content does not already contain a top-level h1 heading
|
|
39
52
|
const shouldAddTitle =
|
|
40
53
|
!hideTitle && typeof DocContent.contentTitle === 'undefined';
|
|
@@ -48,66 +61,69 @@ export default function DocItem(props: Props): JSX.Element {
|
|
|
48
61
|
canRenderTOC && (windowSize === 'desktop' || windowSize === 'ssr');
|
|
49
62
|
|
|
50
63
|
return (
|
|
51
|
-
|
|
52
|
-
<
|
|
64
|
+
<div className="row">
|
|
65
|
+
<div className={clsx('col', !hideTableOfContents && styles.docItemCol)}>
|
|
66
|
+
<DocVersionBanner />
|
|
67
|
+
<div className={styles.docItemContainer}>
|
|
68
|
+
<article>
|
|
69
|
+
<DocBreadcrumbs />
|
|
70
|
+
<DocVersionBadge />
|
|
53
71
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
{canRenderTOC && (
|
|
66
|
-
<TOCCollapsible
|
|
67
|
-
toc={DocContent.toc}
|
|
68
|
-
minHeadingLevel={tocMinHeadingLevel}
|
|
69
|
-
maxHeadingLevel={tocMaxHeadingLevel}
|
|
70
|
-
className={clsx(
|
|
71
|
-
ThemeClassNames.docs.docTocMobile,
|
|
72
|
-
styles.tocMobile,
|
|
73
|
-
)}
|
|
74
|
-
/>
|
|
75
|
-
)}
|
|
72
|
+
{canRenderTOC && (
|
|
73
|
+
<TOCCollapsible
|
|
74
|
+
toc={DocContent.toc}
|
|
75
|
+
minHeadingLevel={tocMinHeadingLevel}
|
|
76
|
+
maxHeadingLevel={tocMaxHeadingLevel}
|
|
77
|
+
className={clsx(
|
|
78
|
+
ThemeClassNames.docs.docTocMobile,
|
|
79
|
+
styles.tocMobile,
|
|
80
|
+
)}
|
|
81
|
+
/>
|
|
82
|
+
)}
|
|
76
83
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
{/*
|
|
84
|
+
<div className={clsx(ThemeClassNames.docs.docMarkdown, 'markdown')}>
|
|
85
|
+
{/*
|
|
80
86
|
Title can be declared inside md content or declared through
|
|
81
87
|
front matter and added manually. To make both cases consistent,
|
|
82
88
|
the added title is added under the same div.markdown block
|
|
83
89
|
See https://github.com/facebook/docusaurus/pull/4882#issuecomment-853021120
|
|
84
90
|
*/}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
{shouldAddTitle && (
|
|
92
|
+
<header>
|
|
93
|
+
<Heading as="h1">{title}</Heading>
|
|
94
|
+
</header>
|
|
95
|
+
)}
|
|
96
|
+
<MDXContent>
|
|
91
97
|
<DocContent />
|
|
92
|
-
</
|
|
98
|
+
</MDXContent>
|
|
99
|
+
</div>
|
|
93
100
|
|
|
94
|
-
|
|
95
|
-
|
|
101
|
+
<DocItemFooter {...props} />
|
|
102
|
+
</article>
|
|
96
103
|
|
|
97
|
-
|
|
98
|
-
</div>
|
|
104
|
+
<DocPaginator previous={metadata.previous} next={metadata.next} />
|
|
99
105
|
</div>
|
|
100
|
-
{renderTocDesktop && (
|
|
101
|
-
<div className="col col--3">
|
|
102
|
-
<TOC
|
|
103
|
-
toc={DocContent.toc}
|
|
104
|
-
minHeadingLevel={tocMinHeadingLevel}
|
|
105
|
-
maxHeadingLevel={tocMaxHeadingLevel}
|
|
106
|
-
className={ThemeClassNames.docs.docTocDesktop}
|
|
107
|
-
/>
|
|
108
|
-
</div>
|
|
109
|
-
)}
|
|
110
106
|
</div>
|
|
111
|
-
|
|
107
|
+
{renderTocDesktop && (
|
|
108
|
+
<div className="col col--3">
|
|
109
|
+
<TOC
|
|
110
|
+
toc={DocContent.toc}
|
|
111
|
+
minHeadingLevel={tocMinHeadingLevel}
|
|
112
|
+
maxHeadingLevel={tocMaxHeadingLevel}
|
|
113
|
+
className={ThemeClassNames.docs.docTocDesktop}
|
|
114
|
+
/>
|
|
115
|
+
</div>
|
|
116
|
+
)}
|
|
117
|
+
</div>
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export default function DocItem(props: Props): JSX.Element {
|
|
122
|
+
const docHtmlClassName = `docs-doc-id-${props.content.metadata.unversionedId}`;
|
|
123
|
+
return (
|
|
124
|
+
<HtmlClassNameProvider className={docHtmlClassName}>
|
|
125
|
+
<DocItemMetadata {...props} />
|
|
126
|
+
<DocItemContent {...props} />
|
|
127
|
+
</HtmlClassNameProvider>
|
|
112
128
|
);
|
|
113
129
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
|
|
10
|
+
import {useDocsSidebar} from '@docusaurus/theme-common';
|
|
11
|
+
|
|
12
|
+
import clsx from 'clsx';
|
|
13
|
+
import styles from './styles.module.css';
|
|
14
|
+
import type {Props} from '@theme/DocPage/Layout/Main';
|
|
15
|
+
|
|
16
|
+
export default function DocPageLayoutMain({
|
|
17
|
+
hiddenSidebarContainer,
|
|
18
|
+
children,
|
|
19
|
+
}: Props): JSX.Element {
|
|
20
|
+
const sidebar = useDocsSidebar();
|
|
21
|
+
return (
|
|
22
|
+
<main
|
|
23
|
+
className={clsx(
|
|
24
|
+
styles.docMainContainer,
|
|
25
|
+
(hiddenSidebarContainer || !sidebar) && styles.docMainContainerEnhanced,
|
|
26
|
+
)}>
|
|
27
|
+
<div
|
|
28
|
+
className={clsx(
|
|
29
|
+
'container padding-top--md padding-bottom--lg',
|
|
30
|
+
styles.docItemWrapper,
|
|
31
|
+
hiddenSidebarContainer && styles.docItemWrapperEnhanced,
|
|
32
|
+
)}>
|
|
33
|
+
{children}
|
|
34
|
+
</div>
|
|
35
|
+
</main>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
.docMainContainer {
|
|
9
|
+
display: flex;
|
|
10
|
+
width: 100%;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@media (min-width: 997px) {
|
|
14
|
+
.docMainContainer {
|
|
15
|
+
flex-grow: 1;
|
|
16
|
+
max-width: calc(100% - var(--doc-sidebar-width));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.docMainContainerEnhanced {
|
|
20
|
+
max-width: calc(100% - var(--doc-sidebar-hidden-width));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.docItemWrapperEnhanced {
|
|
24
|
+
max-width: calc(
|
|
25
|
+
var(--ifm-container-width) + var(--doc-sidebar-width)
|
|
26
|
+
) !important;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import IconArrow from '@theme/IconArrow';
|
|
10
|
+
import {translate} from '@docusaurus/Translate';
|
|
11
|
+
import type {Props} from '@theme/DocPage/Layout/Sidebar/ExpandButton';
|
|
12
|
+
|
|
13
|
+
import styles from './styles.module.css';
|
|
14
|
+
|
|
15
|
+
export default function DocPageLayoutSidebarExpandButton({
|
|
16
|
+
toggleSidebar,
|
|
17
|
+
}: Props): JSX.Element {
|
|
18
|
+
return (
|
|
19
|
+
<div
|
|
20
|
+
className={styles.expandButton}
|
|
21
|
+
title={translate({
|
|
22
|
+
id: 'theme.docs.sidebar.expandButtonTitle',
|
|
23
|
+
message: 'Expand sidebar',
|
|
24
|
+
description:
|
|
25
|
+
'The ARIA label and title attribute for expand button of doc sidebar',
|
|
26
|
+
})}
|
|
27
|
+
aria-label={translate({
|
|
28
|
+
id: 'theme.docs.sidebar.expandButtonAriaLabel',
|
|
29
|
+
message: 'Expand sidebar',
|
|
30
|
+
description:
|
|
31
|
+
'The ARIA label and title attribute for expand button of doc sidebar',
|
|
32
|
+
})}
|
|
33
|
+
tabIndex={0}
|
|
34
|
+
role="button"
|
|
35
|
+
onKeyDown={toggleSidebar}
|
|
36
|
+
onClick={toggleSidebar}>
|
|
37
|
+
<IconArrow className={styles.expandButtonIcon} />
|
|
38
|
+
</div>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
@media (min-width: 997px) {
|
|
9
|
+
.expandButton {
|
|
10
|
+
position: sticky;
|
|
11
|
+
top: 0;
|
|
12
|
+
height: 100%;
|
|
13
|
+
max-height: 100vh;
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
justify-content: center;
|
|
17
|
+
transition: background-color var(--ifm-transition-fast) ease;
|
|
18
|
+
background-color: var(--docusaurus-collapse-button-bg);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.expandButton:hover,
|
|
22
|
+
.expandButton:focus {
|
|
23
|
+
background-color: var(--docusaurus-collapse-button-bg-hover);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.expandButtonIcon {
|
|
27
|
+
transform: rotate(0);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
[dir='rtl'] .expandButtonIcon {
|
|
31
|
+
transform: rotate(180deg);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -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
|
+
:root {
|
|
9
|
+
--doc-sidebar-width: 300px;
|
|
10
|
+
--doc-sidebar-hidden-width: 30px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.docSidebarContainer {
|
|
14
|
+
display: none;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@media (min-width: 997px) {
|
|
18
|
+
.docSidebarContainer {
|
|
19
|
+
display: block;
|
|
20
|
+
width: var(--doc-sidebar-width);
|
|
21
|
+
margin-top: calc(-1 * var(--ifm-navbar-height));
|
|
22
|
+
border-right: 1px solid var(--ifm-toc-border-color);
|
|
23
|
+
will-change: width;
|
|
24
|
+
transition: width var(--ifm-transition-fast) ease;
|
|
25
|
+
clip-path: inset(0);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.docSidebarContainerHidden {
|
|
29
|
+
width: var(--doc-sidebar-hidden-width);
|
|
30
|
+
cursor: pointer;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
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, {type ReactNode, useState, useCallback} from 'react';
|
|
9
|
+
import DocSidebar from '@theme/DocSidebar';
|
|
10
|
+
import {useLocation} from '@docusaurus/router';
|
|
11
|
+
import type {Props} from '@theme/DocPage/Layout/Sidebar';
|
|
12
|
+
import ExpandButton from '@theme/DocPage/Layout/Sidebar/ExpandButton';
|
|
13
|
+
|
|
14
|
+
import clsx from 'clsx';
|
|
15
|
+
import styles from './index.module.css';
|
|
16
|
+
|
|
17
|
+
import {ThemeClassNames, useDocsSidebar} from '@docusaurus/theme-common';
|
|
18
|
+
|
|
19
|
+
// Reset sidebar state when sidebar changes
|
|
20
|
+
// Use React key to unmount/remount the children
|
|
21
|
+
// See https://github.com/facebook/docusaurus/issues/3414
|
|
22
|
+
function ResetOnSidebarChange({children}: {children: ReactNode}) {
|
|
23
|
+
const sidebar = useDocsSidebar();
|
|
24
|
+
return (
|
|
25
|
+
<React.Fragment key={sidebar?.name ?? 'noSidebar'}>
|
|
26
|
+
{children}
|
|
27
|
+
</React.Fragment>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default function DocPageLayoutSidebar({
|
|
32
|
+
sidebar,
|
|
33
|
+
hiddenSidebarContainer,
|
|
34
|
+
setHiddenSidebarContainer,
|
|
35
|
+
}: Props): JSX.Element {
|
|
36
|
+
const {pathname} = useLocation();
|
|
37
|
+
|
|
38
|
+
const [hiddenSidebar, setHiddenSidebar] = useState(false);
|
|
39
|
+
const toggleSidebar = useCallback(() => {
|
|
40
|
+
if (hiddenSidebar) {
|
|
41
|
+
setHiddenSidebar(false);
|
|
42
|
+
}
|
|
43
|
+
setHiddenSidebarContainer((value) => !value);
|
|
44
|
+
}, [setHiddenSidebarContainer, hiddenSidebar]);
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<aside
|
|
48
|
+
className={clsx(
|
|
49
|
+
ThemeClassNames.docs.docSidebarContainer,
|
|
50
|
+
styles.docSidebarContainer,
|
|
51
|
+
hiddenSidebarContainer && styles.docSidebarContainerHidden,
|
|
52
|
+
)}
|
|
53
|
+
onTransitionEnd={(e) => {
|
|
54
|
+
if (!e.currentTarget.classList.contains(styles.docSidebarContainer!)) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (hiddenSidebarContainer) {
|
|
59
|
+
setHiddenSidebar(true);
|
|
60
|
+
}
|
|
61
|
+
}}>
|
|
62
|
+
<ResetOnSidebarChange>
|
|
63
|
+
<DocSidebar
|
|
64
|
+
sidebar={sidebar}
|
|
65
|
+
path={pathname}
|
|
66
|
+
onCollapse={toggleSidebar}
|
|
67
|
+
isHidden={hiddenSidebar}
|
|
68
|
+
/>
|
|
69
|
+
</ResetOnSidebarChange>
|
|
70
|
+
|
|
71
|
+
{hiddenSidebar && <ExpandButton toggleSidebar={toggleSidebar} />}
|
|
72
|
+
</aside>
|
|
73
|
+
);
|
|
74
|
+
}
|