@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
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import React from 'react';
|
|
8
|
+
import clsx from 'clsx';
|
|
9
|
+
import styles from './styles.module.css';
|
|
8
10
|
export default function TabItem({children, hidden, className}) {
|
|
9
11
|
return (
|
|
10
12
|
<div
|
|
11
13
|
role="tabpanel"
|
|
14
|
+
className={clsx(styles.tabItem, className)}
|
|
12
15
|
{...{
|
|
13
16
|
hidden,
|
|
14
|
-
className,
|
|
15
17
|
}}>
|
|
16
18
|
{children}
|
|
17
19
|
</div>
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
ScrollControllerProvider,
|
|
14
14
|
} from '@docusaurus/theme-common';
|
|
15
15
|
describe('Tabs', () => {
|
|
16
|
-
|
|
16
|
+
it('rejects bad Tabs child', () => {
|
|
17
17
|
expect(() => {
|
|
18
18
|
renderer.create(
|
|
19
19
|
<Tabs>
|
|
@@ -22,10 +22,10 @@ describe('Tabs', () => {
|
|
|
22
22
|
</Tabs>,
|
|
23
23
|
);
|
|
24
24
|
}).toThrowErrorMatchingInlineSnapshot(
|
|
25
|
-
`"Docusaurus error: Bad <Tabs> child <div>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique
|
|
25
|
+
`"Docusaurus error: Bad <Tabs> child <div>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop."`,
|
|
26
26
|
);
|
|
27
27
|
});
|
|
28
|
-
|
|
28
|
+
it('rejects bad Tabs defaultValue', () => {
|
|
29
29
|
expect(() => {
|
|
30
30
|
renderer.create(
|
|
31
31
|
<Tabs defaultValue="bad">
|
|
@@ -34,10 +34,10 @@ describe('Tabs', () => {
|
|
|
34
34
|
</Tabs>,
|
|
35
35
|
);
|
|
36
36
|
}).toThrowErrorMatchingInlineSnapshot(
|
|
37
|
-
`"Docusaurus error: The <Tabs> has a defaultValue
|
|
37
|
+
`"Docusaurus error: The <Tabs> has a defaultValue "bad" but none of its children has the corresponding value. Available values are: v1, v2. If you intend to show no default tab, use defaultValue={null} instead."`,
|
|
38
38
|
);
|
|
39
39
|
});
|
|
40
|
-
|
|
40
|
+
it('rejects duplicate values', () => {
|
|
41
41
|
expect(() => {
|
|
42
42
|
renderer.create(
|
|
43
43
|
<Tabs>
|
|
@@ -50,10 +50,10 @@ describe('Tabs', () => {
|
|
|
50
50
|
</Tabs>,
|
|
51
51
|
);
|
|
52
52
|
}).toThrowErrorMatchingInlineSnapshot(
|
|
53
|
-
`"Docusaurus error: Duplicate values
|
|
53
|
+
`"Docusaurus error: Duplicate values "v1, v2" found in <Tabs>. Every value needs to be unique."`,
|
|
54
54
|
);
|
|
55
55
|
});
|
|
56
|
-
|
|
56
|
+
it('accepts valid Tabs config', () => {
|
|
57
57
|
expect(() => {
|
|
58
58
|
renderer.create(
|
|
59
59
|
<ScrollControllerProvider>
|
|
@@ -120,7 +120,7 @@ describe('Tabs', () => {
|
|
|
120
120
|
}).not.toThrow(); // TODO Better Jest infrastructure to mock the Layout
|
|
121
121
|
}); // https://github.com/facebook/docusaurus/issues/5729
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
it('accepts dynamic Tabs with number values', () => {
|
|
124
124
|
expect(() => {
|
|
125
125
|
const tabs = ['Apple', 'Banana', 'Carrot'];
|
|
126
126
|
renderer.create(
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import React, {useState, cloneElement,
|
|
7
|
+
import React, {useState, cloneElement, isValidElement} from 'react';
|
|
8
8
|
import useIsBrowser from '@docusaurus/useIsBrowser';
|
|
9
9
|
import {
|
|
10
10
|
useScrollPositionBlocker,
|
|
@@ -28,7 +28,7 @@ function TabsComponent(props) {
|
|
|
28
28
|
groupId,
|
|
29
29
|
className,
|
|
30
30
|
} = props;
|
|
31
|
-
const children = Children.map(props.children, (child) => {
|
|
31
|
+
const children = React.Children.map(props.children, (child) => {
|
|
32
32
|
if (isValidElement(child) && isTabItem(child)) {
|
|
33
33
|
return child;
|
|
34
34
|
} // child.type.name will give non-sensical values in prod because of
|
|
@@ -132,7 +132,7 @@ function TabsComponent(props) {
|
|
|
132
132
|
};
|
|
133
133
|
|
|
134
134
|
return (
|
|
135
|
-
<div className=
|
|
135
|
+
<div className={clsx('tabs-container', styles.tabList)}>
|
|
136
136
|
<ul
|
|
137
137
|
role="tablist"
|
|
138
138
|
aria-orientation="horizontal"
|
|
@@ -173,11 +173,11 @@ function TabsComponent(props) {
|
|
|
173
173
|
(tabItem) => tabItem.props.value === selectedValue,
|
|
174
174
|
)[0],
|
|
175
175
|
{
|
|
176
|
-
className: 'margin-
|
|
176
|
+
className: 'margin-top--md',
|
|
177
177
|
},
|
|
178
178
|
)
|
|
179
179
|
) : (
|
|
180
|
-
<div className="margin-
|
|
180
|
+
<div className="margin-top--md">
|
|
181
181
|
{children.map((tabItem, i) =>
|
|
182
182
|
cloneElement(tabItem, {
|
|
183
183
|
key: i,
|
|
@@ -8,16 +8,15 @@ import React from 'react';
|
|
|
8
8
|
import clsx from 'clsx';
|
|
9
9
|
import Link from '@docusaurus/Link';
|
|
10
10
|
import styles from './styles.module.css';
|
|
11
|
-
export default function Tag(
|
|
12
|
-
const {permalink, name, count} = props;
|
|
11
|
+
export default function Tag({permalink, label, count}) {
|
|
13
12
|
return (
|
|
14
13
|
<Link
|
|
15
14
|
href={permalink}
|
|
16
|
-
className={clsx(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
{
|
|
15
|
+
className={clsx(
|
|
16
|
+
styles.tag,
|
|
17
|
+
count ? styles.tagWithCount : styles.tagRegular,
|
|
18
|
+
)}>
|
|
19
|
+
{label}
|
|
21
20
|
{count && <span>{count}</span>}
|
|
22
21
|
</Link>
|
|
23
22
|
);
|
|
@@ -22,7 +22,7 @@ export default function TagsListInline({tags}) {
|
|
|
22
22
|
<ul className={clsx(styles.tags, 'padding--none', 'margin-left--sm')}>
|
|
23
23
|
{tags.map(({label, permalink: tagPermalink}) => (
|
|
24
24
|
<li key={tagPermalink} className={styles.tag}>
|
|
25
|
-
<Tag
|
|
25
|
+
<Tag label={label} permalink={tagPermalink} />
|
|
26
26
|
</li>
|
|
27
27
|
))}
|
|
28
28
|
</ul>
|
|
@@ -11,9 +11,9 @@ import {useColorMode} from '@docusaurus/theme-common';
|
|
|
11
11
|
import styles from './styles.module.css';
|
|
12
12
|
export default function ThemedImage(props) {
|
|
13
13
|
const isBrowser = useIsBrowser();
|
|
14
|
-
const {
|
|
15
|
-
const {sources, className, alt
|
|
16
|
-
const clientThemes =
|
|
14
|
+
const {colorMode} = useColorMode();
|
|
15
|
+
const {sources, className, alt, ...propsRest} = props;
|
|
16
|
+
const clientThemes = colorMode === 'dark' ? ['dark'] : ['light'];
|
|
17
17
|
const renderedSourceNames = isBrowser
|
|
18
18
|
? clientThemes // We need to render both images on the server to avoid flash
|
|
19
19
|
: // See https://github.com/facebook/docusaurus/pull/3730
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/theme-classic",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.19",
|
|
4
4
|
"description": "Classic theme for Docusaurus",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "src/theme-classic.d.ts",
|
|
@@ -21,34 +21,39 @@
|
|
|
21
21
|
"format:lib-next": "prettier --config ../../.prettierrc --write \"lib-next/**/*.{js,ts,jsx,tsc}\""
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@docusaurus/core": "2.0.0-beta.
|
|
25
|
-
"@docusaurus/plugin-content-blog": "2.0.0-beta.
|
|
26
|
-
"@docusaurus/plugin-content-docs": "2.0.0-beta.
|
|
27
|
-
"@docusaurus/plugin-content-pages": "2.0.0-beta.
|
|
28
|
-
"@docusaurus/theme-common": "2.0.0-beta.
|
|
29
|
-
"@docusaurus/theme-translations": "2.0.0-beta.
|
|
30
|
-
"@docusaurus/utils": "2.0.0-beta.
|
|
31
|
-
"@docusaurus/utils-common": "2.0.0-beta.
|
|
32
|
-
"@docusaurus/utils-validation": "2.0.0-beta.
|
|
24
|
+
"@docusaurus/core": "2.0.0-beta.19",
|
|
25
|
+
"@docusaurus/plugin-content-blog": "2.0.0-beta.19",
|
|
26
|
+
"@docusaurus/plugin-content-docs": "2.0.0-beta.19",
|
|
27
|
+
"@docusaurus/plugin-content-pages": "2.0.0-beta.19",
|
|
28
|
+
"@docusaurus/theme-common": "2.0.0-beta.19",
|
|
29
|
+
"@docusaurus/theme-translations": "2.0.0-beta.19",
|
|
30
|
+
"@docusaurus/utils": "2.0.0-beta.19",
|
|
31
|
+
"@docusaurus/utils-common": "2.0.0-beta.19",
|
|
32
|
+
"@docusaurus/utils-validation": "2.0.0-beta.19",
|
|
33
33
|
"@mdx-js/react": "^1.6.22",
|
|
34
34
|
"clsx": "^1.1.1",
|
|
35
35
|
"copy-text-to-clipboard": "^3.0.1",
|
|
36
|
-
"infima": "0.2.0-alpha.
|
|
36
|
+
"infima": "0.2.0-alpha.39",
|
|
37
37
|
"lodash": "^4.17.21",
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
38
|
+
"nprogress": "^0.2.0",
|
|
39
|
+
"postcss": "^8.4.13",
|
|
40
|
+
"prism-react-renderer": "^1.3.1",
|
|
41
|
+
"prismjs": "^1.28.0",
|
|
41
42
|
"react-router-dom": "^5.2.0",
|
|
42
|
-
"rtlcss": "^3.
|
|
43
|
+
"rtlcss": "^3.5.0"
|
|
43
44
|
},
|
|
44
45
|
"devDependencies": {
|
|
45
|
-
"@
|
|
46
|
-
"@
|
|
46
|
+
"@babel/cli": "^7.17.10",
|
|
47
|
+
"@babel/core": "^7.17.10",
|
|
48
|
+
"@babel/preset-typescript": "^7.16.7",
|
|
49
|
+
"@docusaurus/module-type-aliases": "2.0.0-beta.19",
|
|
50
|
+
"@docusaurus/types": "2.0.0-beta.19",
|
|
47
51
|
"@types/mdx-js__react": "^1.5.5",
|
|
52
|
+
"@types/nprogress": "^0.2.0",
|
|
48
53
|
"@types/prismjs": "^1.26.0",
|
|
49
|
-
"@types/rtlcss": "^3.1.
|
|
54
|
+
"@types/rtlcss": "^3.1.4",
|
|
50
55
|
"cross-env": "^7.0.3",
|
|
51
|
-
"fs-extra": "^10.0
|
|
56
|
+
"fs-extra": "^10.1.0",
|
|
52
57
|
"react-test-renderer": "^17.0.2",
|
|
53
58
|
"utility-types": "^3.10.0"
|
|
54
59
|
},
|
|
@@ -59,5 +64,5 @@
|
|
|
59
64
|
"engines": {
|
|
60
65
|
"node": ">=14"
|
|
61
66
|
},
|
|
62
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "a71e60a49cce93c1006ef10c41ac03187f057102"
|
|
63
68
|
}
|
package/src/admonitions.css
CHANGED
package/src/getSwizzleConfig.ts
CHANGED
|
@@ -7,95 +7,246 @@
|
|
|
7
7
|
|
|
8
8
|
import type {SwizzleConfig} from '@docusaurus/types';
|
|
9
9
|
|
|
10
|
+
/* eslint sort-keys: "error" */
|
|
11
|
+
|
|
10
12
|
export default function getSwizzleConfig(): SwizzleConfig {
|
|
11
13
|
return {
|
|
12
14
|
components: {
|
|
13
15
|
CodeBlock: {
|
|
14
16
|
actions: {
|
|
15
|
-
wrap: 'safe',
|
|
16
17
|
eject: 'safe',
|
|
18
|
+
wrap: 'safe',
|
|
17
19
|
},
|
|
18
20
|
description:
|
|
19
21
|
'The component used to render multi-line code blocks, generally used in Markdown files.',
|
|
20
22
|
},
|
|
23
|
+
ColorModeToggle: {
|
|
24
|
+
actions: {
|
|
25
|
+
eject: 'safe',
|
|
26
|
+
wrap: 'safe',
|
|
27
|
+
},
|
|
28
|
+
description:
|
|
29
|
+
'The color mode toggle to switch between light and dark mode.',
|
|
30
|
+
},
|
|
21
31
|
DocSidebar: {
|
|
22
32
|
actions: {
|
|
33
|
+
eject: 'unsafe', // Too much technical code in sidebar, not very safe atm
|
|
23
34
|
wrap: 'safe',
|
|
24
|
-
eject: 'unsafe', // too much technical code in sidebar, not very safe atm
|
|
25
35
|
},
|
|
26
36
|
description: 'The sidebar component on docs pages',
|
|
27
37
|
},
|
|
28
38
|
Footer: {
|
|
29
39
|
actions: {
|
|
40
|
+
eject: 'safe',
|
|
30
41
|
wrap: 'safe',
|
|
31
|
-
eject: 'unsafe', // TODO split footer into smaller parts
|
|
32
42
|
},
|
|
33
43
|
description: "The footer component of you site's layout",
|
|
34
44
|
},
|
|
35
|
-
|
|
45
|
+
'Footer/Copyright': {
|
|
36
46
|
actions: {
|
|
47
|
+
eject: 'safe',
|
|
37
48
|
wrap: 'safe',
|
|
49
|
+
},
|
|
50
|
+
description: 'The footer copyright',
|
|
51
|
+
},
|
|
52
|
+
'Footer/Layout': {
|
|
53
|
+
actions: {
|
|
38
54
|
eject: 'safe',
|
|
55
|
+
wrap: 'safe',
|
|
39
56
|
},
|
|
40
|
-
description:
|
|
41
|
-
'The global 404 page of your site, meant to be ejected and customized',
|
|
57
|
+
description: 'The footer main layout component',
|
|
42
58
|
},
|
|
43
|
-
|
|
59
|
+
'Footer/LinkItem': {
|
|
44
60
|
actions: {
|
|
61
|
+
eject: 'safe',
|
|
45
62
|
wrap: 'safe',
|
|
63
|
+
},
|
|
64
|
+
description: 'The footer link item component',
|
|
65
|
+
},
|
|
66
|
+
'Footer/Links': {
|
|
67
|
+
actions: {
|
|
46
68
|
eject: 'safe',
|
|
69
|
+
wrap: 'safe',
|
|
70
|
+
},
|
|
71
|
+
description: 'The footer component rendering the footer links',
|
|
72
|
+
},
|
|
73
|
+
'Footer/Links/MultiColumn': {
|
|
74
|
+
actions: {
|
|
75
|
+
eject: 'safe',
|
|
76
|
+
wrap: 'safe',
|
|
47
77
|
},
|
|
48
|
-
// TODO how to describe this one properly?
|
|
49
|
-
// By default it's an empty placeholder for the user to fill
|
|
50
78
|
description:
|
|
51
|
-
'The
|
|
79
|
+
'The footer component rendering the footer links with a multi-column layout',
|
|
52
80
|
},
|
|
53
|
-
|
|
81
|
+
'Footer/Links/Simple': {
|
|
54
82
|
actions: {
|
|
83
|
+
eject: 'safe',
|
|
55
84
|
wrap: 'safe',
|
|
85
|
+
},
|
|
86
|
+
description:
|
|
87
|
+
'The footer component rendering the footer links with a simple layout (single row)',
|
|
88
|
+
},
|
|
89
|
+
'Footer/Logo': {
|
|
90
|
+
actions: {
|
|
56
91
|
eject: 'safe',
|
|
92
|
+
wrap: 'safe',
|
|
93
|
+
},
|
|
94
|
+
description: 'The footer logo',
|
|
95
|
+
},
|
|
96
|
+
IconArrow: {
|
|
97
|
+
actions: {
|
|
98
|
+
eject: 'safe',
|
|
99
|
+
wrap: 'safe',
|
|
57
100
|
},
|
|
58
101
|
description: 'The arrow icon component',
|
|
59
102
|
},
|
|
60
|
-
|
|
103
|
+
IconDarkMode: {
|
|
61
104
|
actions: {
|
|
105
|
+
eject: 'safe',
|
|
62
106
|
wrap: 'safe',
|
|
107
|
+
},
|
|
108
|
+
description: 'The dark mode icon component.',
|
|
109
|
+
},
|
|
110
|
+
IconEdit: {
|
|
111
|
+
actions: {
|
|
63
112
|
eject: 'safe',
|
|
113
|
+
wrap: 'safe',
|
|
64
114
|
},
|
|
65
115
|
description: 'The edit icon component',
|
|
66
116
|
},
|
|
67
|
-
|
|
117
|
+
IconLightMode: {
|
|
68
118
|
actions: {
|
|
119
|
+
eject: 'safe',
|
|
69
120
|
wrap: 'safe',
|
|
121
|
+
},
|
|
122
|
+
description: 'The light mode icon component.',
|
|
123
|
+
},
|
|
124
|
+
IconMenu: {
|
|
125
|
+
actions: {
|
|
70
126
|
eject: 'safe',
|
|
127
|
+
wrap: 'safe',
|
|
71
128
|
},
|
|
72
129
|
description: 'The menu icon component',
|
|
73
130
|
},
|
|
74
|
-
|
|
75
|
-
'prism-include-languages': {
|
|
131
|
+
MDXComponents: {
|
|
76
132
|
actions: {
|
|
77
|
-
wrap: 'forbidden', // not a component!
|
|
78
133
|
eject: 'safe',
|
|
134
|
+
wrap: 'forbidden', /// TODO allow wrapping objects???
|
|
79
135
|
},
|
|
80
136
|
description:
|
|
81
|
-
'The
|
|
137
|
+
'The MDX components to use for rendering MDX files. Meant to be ejected.',
|
|
82
138
|
},
|
|
83
|
-
MDXComponents: {
|
|
139
|
+
'MDXComponents/A': {
|
|
84
140
|
actions: {
|
|
85
|
-
wrap: 'forbidden', /// TODO allow wrapping objects???
|
|
86
141
|
eject: 'safe',
|
|
142
|
+
wrap: 'safe',
|
|
87
143
|
},
|
|
88
144
|
description:
|
|
89
|
-
'The
|
|
145
|
+
'The component used to render <a> tags and Markdown links in MDX',
|
|
146
|
+
},
|
|
147
|
+
'MDXComponents/Code': {
|
|
148
|
+
actions: {
|
|
149
|
+
eject: 'safe',
|
|
150
|
+
wrap: 'safe',
|
|
151
|
+
},
|
|
152
|
+
description:
|
|
153
|
+
'The component used to render <code> tags and Markdown code blocks in MDX',
|
|
154
|
+
},
|
|
155
|
+
'MDXComponents/Details': {
|
|
156
|
+
actions: {
|
|
157
|
+
eject: 'safe',
|
|
158
|
+
wrap: 'safe',
|
|
159
|
+
},
|
|
160
|
+
description: 'The component used to render <details> tags in MDX',
|
|
161
|
+
},
|
|
162
|
+
'MDXComponents/Head': {
|
|
163
|
+
actions: {
|
|
164
|
+
eject: 'forbidden',
|
|
165
|
+
wrap: 'forbidden',
|
|
166
|
+
},
|
|
167
|
+
description:
|
|
168
|
+
'Technical component used to assign metadata (generally for SEO purpose) to the current MDX document',
|
|
169
|
+
},
|
|
170
|
+
'MDXComponents/Heading': {
|
|
171
|
+
actions: {
|
|
172
|
+
eject: 'safe',
|
|
173
|
+
wrap: 'safe',
|
|
174
|
+
},
|
|
175
|
+
description:
|
|
176
|
+
'The component used to render heading tags (<h1>, <h2>...) and Markdown headings in MDX',
|
|
177
|
+
},
|
|
178
|
+
'MDXComponents/Img': {
|
|
179
|
+
actions: {
|
|
180
|
+
eject: 'safe',
|
|
181
|
+
wrap: 'safe',
|
|
182
|
+
},
|
|
183
|
+
description:
|
|
184
|
+
'The component used to render <img> tags and Markdown images in MDX',
|
|
185
|
+
},
|
|
186
|
+
'MDXComponents/Pre': {
|
|
187
|
+
actions: {
|
|
188
|
+
eject: 'safe',
|
|
189
|
+
wrap: 'safe',
|
|
190
|
+
},
|
|
191
|
+
description: 'The component used to render <pre> tags in MDX',
|
|
192
|
+
},
|
|
193
|
+
'MDXComponents/Ul': {
|
|
194
|
+
actions: {
|
|
195
|
+
eject: 'safe',
|
|
196
|
+
wrap: 'safe',
|
|
197
|
+
},
|
|
198
|
+
description:
|
|
199
|
+
'The component used to render <ul> tags and Markdown unordered lists in MDX',
|
|
200
|
+
},
|
|
201
|
+
MDXContent: {
|
|
202
|
+
actions: {
|
|
203
|
+
eject: 'safe',
|
|
204
|
+
wrap: 'safe',
|
|
205
|
+
},
|
|
206
|
+
description:
|
|
207
|
+
'A component wrapping all MDX content and providing the MDXComponents to the MDX context',
|
|
208
|
+
},
|
|
209
|
+
'NavbarItem/ComponentTypes': {
|
|
210
|
+
actions: {
|
|
211
|
+
eject: 'safe',
|
|
212
|
+
wrap: 'forbidden',
|
|
213
|
+
},
|
|
214
|
+
description:
|
|
215
|
+
'The Navbar item components mapping. Can be ejected to add custom navbar item types. See https://github.com/facebook/docusaurus/issues/7227.',
|
|
90
216
|
},
|
|
91
|
-
|
|
92
217
|
// TODO should probably not even appear here
|
|
93
218
|
'NavbarItem/utils': {
|
|
94
219
|
actions: {
|
|
95
|
-
wrap: 'forbidden',
|
|
96
220
|
eject: 'forbidden',
|
|
221
|
+
wrap: 'forbidden',
|
|
97
222
|
},
|
|
98
223
|
},
|
|
224
|
+
NotFound: {
|
|
225
|
+
actions: {
|
|
226
|
+
eject: 'safe',
|
|
227
|
+
wrap: 'safe',
|
|
228
|
+
},
|
|
229
|
+
description:
|
|
230
|
+
'The global 404 page of your site, meant to be ejected and customized',
|
|
231
|
+
},
|
|
232
|
+
SearchBar: {
|
|
233
|
+
actions: {
|
|
234
|
+
eject: 'safe',
|
|
235
|
+
wrap: 'safe',
|
|
236
|
+
},
|
|
237
|
+
// TODO how to describe this one properly?
|
|
238
|
+
// By default it's an empty placeholder for the user to fill
|
|
239
|
+
description:
|
|
240
|
+
'The search bar component of your site, appearing in the navbar.',
|
|
241
|
+
},
|
|
242
|
+
'prism-include-languages': {
|
|
243
|
+
actions: {
|
|
244
|
+
eject: 'safe',
|
|
245
|
+
wrap: 'forbidden', // Not a component!
|
|
246
|
+
},
|
|
247
|
+
description:
|
|
248
|
+
'The Prism languages to include for code block syntax highlighting. Meant to be ejected.',
|
|
249
|
+
},
|
|
99
250
|
},
|
|
100
251
|
};
|
|
101
252
|
}
|
package/src/index.ts
CHANGED
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import type {LoadContext, Plugin
|
|
8
|
+
import type {LoadContext, Plugin} from '@docusaurus/types';
|
|
9
9
|
import type {ThemeConfig} from '@docusaurus/theme-common';
|
|
10
10
|
import {getTranslationFiles, translateThemeConfig} from './translations';
|
|
11
|
-
import path from 'path';
|
|
12
11
|
import {createRequire} from 'module';
|
|
13
12
|
import type {Plugin as PostCssPlugin} from 'postcss';
|
|
14
13
|
import rtlcss from 'rtlcss';
|
|
@@ -92,35 +91,34 @@ function getInfimaCSSFile(direction: string) {
|
|
|
92
91
|
}.css`;
|
|
93
92
|
}
|
|
94
93
|
|
|
95
|
-
export default function
|
|
94
|
+
export default function themeClassic(
|
|
96
95
|
context: LoadContext,
|
|
97
96
|
options: Options,
|
|
98
|
-
): Plugin<
|
|
97
|
+
): Plugin<undefined> {
|
|
99
98
|
const {
|
|
100
|
-
siteConfig: {themeConfig: roughlyTypedThemeConfig},
|
|
101
99
|
i18n: {currentLocale, localeConfigs},
|
|
102
100
|
} = context;
|
|
103
|
-
const themeConfig =
|
|
101
|
+
const themeConfig = context.siteConfig.themeConfig as ThemeConfig;
|
|
104
102
|
const {
|
|
105
103
|
announcementBar,
|
|
106
104
|
colorMode,
|
|
107
|
-
prism: {additionalLanguages
|
|
105
|
+
prism: {additionalLanguages},
|
|
108
106
|
} = themeConfig;
|
|
109
|
-
const {customCss} = options
|
|
110
|
-
const {direction} = localeConfigs[currentLocale]
|
|
107
|
+
const {customCss} = options ?? {};
|
|
108
|
+
const {direction} = localeConfigs[currentLocale]!;
|
|
111
109
|
|
|
112
110
|
return {
|
|
113
111
|
name: 'docusaurus-theme-classic',
|
|
114
112
|
|
|
115
113
|
getThemePath() {
|
|
116
|
-
return
|
|
114
|
+
return '../lib-next/theme';
|
|
117
115
|
},
|
|
118
116
|
|
|
119
117
|
getTypeScriptThemePath() {
|
|
120
|
-
return
|
|
118
|
+
return '../src/theme';
|
|
121
119
|
},
|
|
122
120
|
|
|
123
|
-
getTranslationFiles:
|
|
121
|
+
getTranslationFiles: () => getTranslationFiles({themeConfig}),
|
|
124
122
|
|
|
125
123
|
translateThemeConfig: (params) =>
|
|
126
124
|
translateThemeConfig({
|
|
@@ -138,8 +136,9 @@ export default function docusaurusThemeClassic(
|
|
|
138
136
|
getClientModules() {
|
|
139
137
|
const modules = [
|
|
140
138
|
require.resolve(getInfimaCSSFile(direction)),
|
|
141
|
-
|
|
142
|
-
|
|
139
|
+
'./prism-include-languages',
|
|
140
|
+
'./admonitions.css',
|
|
141
|
+
'./nprogress',
|
|
143
142
|
];
|
|
144
143
|
|
|
145
144
|
if (customCss) {
|
|
@@ -171,7 +170,7 @@ export default function docusaurusThemeClassic(
|
|
|
171
170
|
};
|
|
172
171
|
},
|
|
173
172
|
|
|
174
|
-
configurePostCss(postCssOptions
|
|
173
|
+
configurePostCss(postCssOptions) {
|
|
175
174
|
if (direction === 'rtl') {
|
|
176
175
|
const resolvedInfimaFile = require.resolve(getInfimaCSSFile(direction));
|
|
177
176
|
const plugin: PostCssPlugin = {
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
/**
|
|
9
|
+
* Styles for NProgress
|
|
10
|
+
* Copied over to remove unused styles for the spinner.
|
|
11
|
+
* https://github.com/rstacruz/nprogress/blob/master/nprogress.css
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
:root {
|
|
15
|
+
--docusaurus-progress-bar-color: var(--ifm-color-primary);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
#nprogress {
|
|
19
|
+
pointer-events: none;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
#nprogress .bar {
|
|
23
|
+
background: var(--docusaurus-progress-bar-color);
|
|
24
|
+
position: fixed;
|
|
25
|
+
z-index: 1031;
|
|
26
|
+
top: 0;
|
|
27
|
+
left: 0;
|
|
28
|
+
width: 100%;
|
|
29
|
+
height: 2px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
#nprogress .peg {
|
|
33
|
+
position: absolute;
|
|
34
|
+
right: 0;
|
|
35
|
+
width: 100px;
|
|
36
|
+
height: 100%;
|
|
37
|
+
box-shadow: 0 0 10px var(--docusaurus-progress-bar-color),
|
|
38
|
+
0 0 5px var(--docusaurus-progress-bar-color);
|
|
39
|
+
opacity: 1;
|
|
40
|
+
transform: rotate(3deg) translate(0, -4px);
|
|
41
|
+
}
|