@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
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import clsx from 'clsx';
|
|
10
|
-
import Translate from '@docusaurus/Translate';
|
|
11
10
|
import {useCollapsible, Collapsible} from '@docusaurus/theme-common';
|
|
12
|
-
import styles from './
|
|
11
|
+
import styles from './index.module.css';
|
|
13
12
|
import TOCItems from '@theme/TOCItems';
|
|
14
13
|
import type {Props} from '@theme/TOCCollapsible';
|
|
14
|
+
import CollapseButton from '@theme/TOCCollapsible/CollapseButton';
|
|
15
15
|
|
|
16
16
|
export default function TOCCollapsible({
|
|
17
17
|
toc,
|
|
@@ -22,27 +22,14 @@ export default function TOCCollapsible({
|
|
|
22
22
|
const {collapsed, toggleCollapsed} = useCollapsible({
|
|
23
23
|
initialState: true,
|
|
24
24
|
});
|
|
25
|
-
|
|
26
25
|
return (
|
|
27
26
|
<div
|
|
28
27
|
className={clsx(
|
|
29
28
|
styles.tocCollapsible,
|
|
30
|
-
|
|
31
|
-
[styles.tocCollapsibleExpanded]: !collapsed,
|
|
32
|
-
},
|
|
29
|
+
!collapsed && styles.tocCollapsibleExpanded,
|
|
33
30
|
className,
|
|
34
31
|
)}>
|
|
35
|
-
<
|
|
36
|
-
type="button"
|
|
37
|
-
className={clsx('clean-btn', styles.tocCollapsibleButton)}
|
|
38
|
-
onClick={toggleCollapsed}>
|
|
39
|
-
<Translate
|
|
40
|
-
id="theme.TOCCollapsible.toggleButtonLabel"
|
|
41
|
-
description="The label used by the button on the collapsible TOC component">
|
|
42
|
-
On this page
|
|
43
|
-
</Translate>
|
|
44
|
-
</button>
|
|
45
|
-
|
|
32
|
+
<CollapseButton collapsed={collapsed} onClick={toggleCollapsed} />
|
|
46
33
|
<Collapsible
|
|
47
34
|
lazy
|
|
48
35
|
className={styles.tocCollapsibleContent}
|
|
@@ -0,0 +1,46 @@
|
|
|
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 type {Props} from '@theme/TOCItems/Tree';
|
|
10
|
+
|
|
11
|
+
// Recursive component rendering the toc tree
|
|
12
|
+
function TOCItemTree({
|
|
13
|
+
toc,
|
|
14
|
+
className,
|
|
15
|
+
linkClassName,
|
|
16
|
+
isChild,
|
|
17
|
+
}: Props): JSX.Element | null {
|
|
18
|
+
if (!toc.length) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return (
|
|
22
|
+
<ul className={isChild ? undefined : className}>
|
|
23
|
+
{toc.map((heading) => (
|
|
24
|
+
<li key={heading.id}>
|
|
25
|
+
{/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}
|
|
26
|
+
<a
|
|
27
|
+
href={`#${heading.id}`}
|
|
28
|
+
className={linkClassName ?? undefined}
|
|
29
|
+
// Developer provided the HTML, so assume it's safe.
|
|
30
|
+
// eslint-disable-next-line react/no-danger
|
|
31
|
+
dangerouslySetInnerHTML={{__html: heading.value}}
|
|
32
|
+
/>
|
|
33
|
+
<TOCItemTree
|
|
34
|
+
isChild
|
|
35
|
+
toc={heading.children}
|
|
36
|
+
className={className}
|
|
37
|
+
linkClassName={linkClassName}
|
|
38
|
+
/>
|
|
39
|
+
</li>
|
|
40
|
+
))}
|
|
41
|
+
</ul>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Memo only the tree root is enough
|
|
46
|
+
export default React.memo(TOCItemTree);
|
|
@@ -7,53 +7,14 @@
|
|
|
7
7
|
|
|
8
8
|
import React, {useMemo} from 'react';
|
|
9
9
|
import type {Props} from '@theme/TOCItems';
|
|
10
|
+
import TOCItemTree from '@theme/TOCItems/Tree';
|
|
10
11
|
import {
|
|
11
12
|
type TOCHighlightConfig,
|
|
12
|
-
type TOCTreeNode,
|
|
13
13
|
useThemeConfig,
|
|
14
14
|
useTOCHighlight,
|
|
15
15
|
useFilteredAndTreeifiedTOC,
|
|
16
16
|
} from '@docusaurus/theme-common';
|
|
17
17
|
|
|
18
|
-
// Recursive component rendering the toc tree
|
|
19
|
-
/* eslint-disable jsx-a11y/control-has-associated-label */
|
|
20
|
-
function TOCItemList({
|
|
21
|
-
toc,
|
|
22
|
-
className,
|
|
23
|
-
linkClassName,
|
|
24
|
-
isChild,
|
|
25
|
-
}: {
|
|
26
|
-
readonly toc: readonly TOCTreeNode[];
|
|
27
|
-
readonly className: string;
|
|
28
|
-
readonly linkClassName: string | null;
|
|
29
|
-
readonly isChild?: boolean;
|
|
30
|
-
}): JSX.Element | null {
|
|
31
|
-
if (!toc.length) {
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
|
-
return (
|
|
35
|
-
<ul className={isChild ? undefined : className}>
|
|
36
|
-
{toc.map((heading) => (
|
|
37
|
-
<li key={heading.id}>
|
|
38
|
-
<a
|
|
39
|
-
href={`#${heading.id}`}
|
|
40
|
-
className={linkClassName ?? undefined}
|
|
41
|
-
// Developer provided the HTML, so assume it's safe.
|
|
42
|
-
// eslint-disable-next-line react/no-danger
|
|
43
|
-
dangerouslySetInnerHTML={{__html: heading.value}}
|
|
44
|
-
/>
|
|
45
|
-
<TOCItemList
|
|
46
|
-
isChild
|
|
47
|
-
toc={heading.children}
|
|
48
|
-
className={className}
|
|
49
|
-
linkClassName={linkClassName}
|
|
50
|
-
/>
|
|
51
|
-
</li>
|
|
52
|
-
))}
|
|
53
|
-
</ul>
|
|
54
|
-
);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
18
|
export default function TOCItems({
|
|
58
19
|
toc,
|
|
59
20
|
className = 'table-of-contents table-of-contents__left-border',
|
|
@@ -90,7 +51,7 @@ export default function TOCItems({
|
|
|
90
51
|
useTOCHighlight(tocHighlightConfig);
|
|
91
52
|
|
|
92
53
|
return (
|
|
93
|
-
<
|
|
54
|
+
<TOCItemTree
|
|
94
55
|
toc={tocTree}
|
|
95
56
|
className={className}
|
|
96
57
|
linkClassName={linkClassName}
|
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import type {Props} from '@theme/TabItem';
|
|
10
|
+
import clsx from 'clsx';
|
|
11
|
+
|
|
12
|
+
import styles from './styles.module.css';
|
|
10
13
|
|
|
11
14
|
export default function TabItem({
|
|
12
15
|
children,
|
|
@@ -14,7 +17,10 @@ export default function TabItem({
|
|
|
14
17
|
className,
|
|
15
18
|
}: Props): JSX.Element {
|
|
16
19
|
return (
|
|
17
|
-
<div
|
|
20
|
+
<div
|
|
21
|
+
role="tabpanel"
|
|
22
|
+
className={clsx(styles.tabItem, className)}
|
|
23
|
+
{...{hidden}}>
|
|
18
24
|
{children}
|
|
19
25
|
</div>
|
|
20
26
|
);
|
package/src/theme/Tabs/index.tsx
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
import React, {
|
|
9
9
|
useState,
|
|
10
10
|
cloneElement,
|
|
11
|
-
Children,
|
|
12
11
|
isValidElement,
|
|
13
12
|
type ReactElement,
|
|
14
13
|
} from 'react';
|
|
@@ -40,7 +39,7 @@ function TabsComponent(props: Props): JSX.Element {
|
|
|
40
39
|
groupId,
|
|
41
40
|
className,
|
|
42
41
|
} = props;
|
|
43
|
-
const children = Children.map(props.children, (child) => {
|
|
42
|
+
const children = React.Children.map(props.children, (child) => {
|
|
44
43
|
if (isValidElement(child) && isTabItem(child)) {
|
|
45
44
|
return child;
|
|
46
45
|
}
|
|
@@ -108,7 +107,7 @@ function TabsComponent(props: Props): JSX.Element {
|
|
|
108
107
|
) => {
|
|
109
108
|
const newTab = event.currentTarget;
|
|
110
109
|
const newTabIndex = tabRefs.indexOf(newTab);
|
|
111
|
-
const newTabValue = values[newTabIndex]
|
|
110
|
+
const newTabValue = values[newTabIndex]!.value;
|
|
112
111
|
|
|
113
112
|
if (newTabValue !== selectedValue) {
|
|
114
113
|
blockElementScrollPositionUntilNextRender(newTab);
|
|
@@ -126,12 +125,12 @@ function TabsComponent(props: Props): JSX.Element {
|
|
|
126
125
|
switch (event.key) {
|
|
127
126
|
case 'ArrowRight': {
|
|
128
127
|
const nextTab = tabRefs.indexOf(event.currentTarget) + 1;
|
|
129
|
-
focusElement = tabRefs[nextTab] || tabRefs[0]
|
|
128
|
+
focusElement = tabRefs[nextTab] || tabRefs[0]!;
|
|
130
129
|
break;
|
|
131
130
|
}
|
|
132
131
|
case 'ArrowLeft': {
|
|
133
132
|
const prevTab = tabRefs.indexOf(event.currentTarget) - 1;
|
|
134
|
-
focusElement = tabRefs[prevTab] || tabRefs[tabRefs.length - 1]
|
|
133
|
+
focusElement = tabRefs[prevTab] || tabRefs[tabRefs.length - 1]!;
|
|
135
134
|
break;
|
|
136
135
|
}
|
|
137
136
|
default:
|
|
@@ -142,7 +141,7 @@ function TabsComponent(props: Props): JSX.Element {
|
|
|
142
141
|
};
|
|
143
142
|
|
|
144
143
|
return (
|
|
145
|
-
<div className=
|
|
144
|
+
<div className={clsx('tabs-container', styles.tabList)}>
|
|
146
145
|
<ul
|
|
147
146
|
role="tablist"
|
|
148
147
|
aria-orientation="horizontal"
|
|
@@ -181,11 +180,11 @@ function TabsComponent(props: Props): JSX.Element {
|
|
|
181
180
|
cloneElement(
|
|
182
181
|
children.filter(
|
|
183
182
|
(tabItem) => tabItem.props.value === selectedValue,
|
|
184
|
-
)[0]
|
|
185
|
-
{className: 'margin-
|
|
183
|
+
)[0]!,
|
|
184
|
+
{className: 'margin-top--md'},
|
|
186
185
|
)
|
|
187
186
|
) : (
|
|
188
|
-
<div className="margin-
|
|
187
|
+
<div className="margin-top--md">
|
|
189
188
|
{children.map((tabItem, i) =>
|
|
190
189
|
cloneElement(tabItem, {
|
|
191
190
|
key: i,
|
package/src/theme/Tag/index.tsx
CHANGED
|
@@ -12,17 +12,15 @@ import type {Props} from '@theme/Tag';
|
|
|
12
12
|
|
|
13
13
|
import styles from './styles.module.css';
|
|
14
14
|
|
|
15
|
-
export default function Tag(
|
|
16
|
-
const {permalink, name, count} = props;
|
|
17
|
-
|
|
15
|
+
export default function Tag({permalink, label, count}: Props): JSX.Element {
|
|
18
16
|
return (
|
|
19
17
|
<Link
|
|
20
18
|
href={permalink}
|
|
21
|
-
className={clsx(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
{
|
|
19
|
+
className={clsx(
|
|
20
|
+
styles.tag,
|
|
21
|
+
count ? styles.tagWithCount : styles.tagRegular,
|
|
22
|
+
)}>
|
|
23
|
+
{label}
|
|
26
24
|
{count && <span>{count}</span>}
|
|
27
25
|
</Link>
|
|
28
26
|
);
|
|
@@ -26,7 +26,7 @@ export default function TagsListInline({tags}: Props): JSX.Element {
|
|
|
26
26
|
<ul className={clsx(styles.tags, 'padding--none', 'margin-left--sm')}>
|
|
27
27
|
{tags.map(({label, permalink: tagPermalink}) => (
|
|
28
28
|
<li key={tagPermalink} className={styles.tag}>
|
|
29
|
-
<Tag
|
|
29
|
+
<Tag label={label} permalink={tagPermalink} />
|
|
30
30
|
</li>
|
|
31
31
|
))}
|
|
32
32
|
</ul>
|
|
@@ -16,12 +16,13 @@ import styles from './styles.module.css';
|
|
|
16
16
|
|
|
17
17
|
export default function ThemedImage(props: Props): JSX.Element {
|
|
18
18
|
const isBrowser = useIsBrowser();
|
|
19
|
-
const {
|
|
20
|
-
const {sources, className, alt
|
|
19
|
+
const {colorMode} = useColorMode();
|
|
20
|
+
const {sources, className, alt, ...propsRest} = props;
|
|
21
21
|
|
|
22
22
|
type SourceName = keyof Props['sources'];
|
|
23
23
|
|
|
24
|
-
const clientThemes: SourceName[] =
|
|
24
|
+
const clientThemes: SourceName[] =
|
|
25
|
+
colorMode === 'dark' ? ['dark'] : ['light'];
|
|
25
26
|
|
|
26
27
|
const renderedSourceNames: SourceName[] = isBrowser
|
|
27
28
|
? clientThemes
|