@docusaurus/theme-classic 2.0.0-beta.138b4c997 → 2.0.0-beta.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/admonitions.css +35 -0
- package/lib/deps.d.ts +13 -0
- package/lib/index.js +16 -15
- package/lib/prism-include-languages.js +9 -5
- package/{lib-next/types.d.ts → lib/theme-classic.d.ts} +374 -150
- package/lib/translations.js +16 -7
- package/lib/types.d.ts +0 -587
- package/lib/validateThemeConfig.js +232 -246
- package/lib-next/theme/Admonition/index.js +101 -0
- package/lib-next/theme/AnnouncementBar/index.js +7 -12
- package/lib-next/theme/AnnouncementBar/styles.module.css +23 -32
- package/lib-next/theme/BackToTopButton/index.js +131 -0
- package/lib-next/theme/BackToTopButton/styles.module.css +42 -0
- package/lib-next/theme/BlogArchivePage/index.js +80 -0
- package/lib-next/theme/BlogLayout/index.js +40 -0
- package/lib-next/theme/BlogListPage/index.js +17 -25
- package/lib-next/theme/BlogPostAuthor/index.js +46 -0
- package/{lib/theme/MDXPage → lib-next/theme/BlogPostAuthor}/styles.module.css +4 -2
- package/lib-next/theme/BlogPostAuthors/index.js +34 -0
- package/{lib/theme/IconExternalLink → lib-next/theme/BlogPostAuthors}/styles.module.css +3 -4
- package/lib-next/theme/BlogPostItem/index.js +79 -86
- package/lib-next/theme/BlogPostPage/index.js +70 -35
- package/lib-next/theme/BlogSidebar/index.js +11 -13
- package/lib-next/theme/BlogSidebar/styles.module.css +2 -2
- package/lib-next/theme/BlogTagsListPage/index.js +14 -55
- package/lib-next/theme/BlogTagsPostsPage/index.js +29 -39
- package/lib-next/theme/CodeBlock/index.js +23 -149
- package/lib-next/theme/CodeBlock/styles.module.css +12 -9
- package/lib-next/theme/Details/index.js +20 -0
- package/lib-next/theme/Details/styles.module.css +13 -0
- package/lib-next/theme/DocCard/index.js +80 -0
- package/lib-next/theme/DocCard/styles.module.css +43 -0
- package/lib-next/theme/DocCardList/index.js +19 -0
- package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +49 -0
- package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
- package/lib-next/theme/DocItem/index.js +40 -51
- package/lib-next/theme/DocItem/styles.module.css +5 -9
- package/lib-next/theme/DocItemFooter/index.js +79 -0
- package/{lib/theme/DocItem → lib-next/theme/DocItemFooter}/styles.module.css +1 -9
- package/lib-next/theme/DocPage/index.js +46 -49
- package/lib-next/theme/DocPage/styles.module.css +5 -6
- package/lib-next/theme/DocPaginator/index.js +5 -33
- package/lib-next/theme/DocPaginatorNavLink/index.js +36 -0
- package/lib-next/theme/DocSidebar/index.js +65 -285
- package/lib-next/theme/DocSidebar/styles.module.css +0 -18
- package/lib-next/theme/DocSidebarItem/index.js +217 -0
- package/{lib/theme/ThemedImage → lib-next/theme/DocSidebarItem}/styles.module.css +10 -9
- package/lib-next/theme/DocTagDocListPage/index.js +89 -0
- package/lib-next/theme/DocTagsListPage/index.js +38 -0
- package/lib-next/theme/DocVersionBadge/index.js +27 -0
- package/lib-next/theme/DocVersionBanner/index.js +28 -14
- package/lib-next/theme/EditThisPage/index.js +6 -1
- package/lib-next/theme/ErrorPageContent.js +35 -0
- package/lib-next/theme/Footer/index.js +100 -40
- package/lib-next/theme/Heading/index.js +24 -29
- package/lib-next/theme/Heading/styles.css +5 -6
- package/lib-next/theme/Heading/styles.module.css +9 -5
- package/lib-next/theme/IconArrow/index.js +2 -2
- package/lib-next/theme/IconClose/index.js +23 -0
- package/lib-next/theme/IconEdit/index.js +2 -2
- package/lib-next/theme/IconExternalLink/index.js +2 -2
- package/lib-next/theme/IconLanguage/index.js +2 -2
- package/lib-next/theme/IconMenu/index.js +2 -2
- package/lib-next/theme/LastUpdated/index.js +3 -2
- package/lib-next/theme/Layout/index.js +3 -1
- package/lib-next/theme/LayoutHead/index.js +18 -23
- package/lib-next/theme/LayoutProviders/index.js +9 -3
- package/lib-next/theme/Logo/index.js +25 -21
- package/lib-next/theme/MDXComponents/index.js +34 -7
- package/{lib/theme/hooks → lib-next/theme/MDXComponents}/styles.css +3 -2
- package/lib-next/theme/MDXPage/index.js +10 -2
- package/lib-next/theme/Navbar/index.js +193 -56
- package/lib-next/theme/Navbar/styles.module.css +10 -3
- package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +45 -147
- package/lib-next/theme/NavbarItem/DocNavbarItem.js +7 -7
- package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +31 -19
- package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +158 -0
- package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +4 -12
- package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/lib-next/theme/NavbarItem/index.js +25 -12
- package/lib-next/theme/{SearchMetadatas → SearchMetadata}/index.js +1 -1
- package/lib-next/theme/Seo/index.js +11 -7
- package/lib-next/theme/SkipToContent/index.js +5 -2
- package/lib-next/theme/TOC/index.js +12 -36
- package/lib-next/theme/TOC/styles.module.css +1 -1
- package/lib-next/theme/TOCCollapsible/index.js +54 -0
- package/lib-next/theme/TOCCollapsible/styles.module.css +50 -0
- package/lib-next/theme/TOCInline/index.js +10 -28
- package/lib-next/theme/TOCItems/index.js +85 -0
- package/lib-next/theme/Tabs/__tests__/index.test.js +142 -0
- package/lib-next/theme/Tabs/index.js +103 -48
- package/lib-next/theme/Tabs/styles.module.css +0 -13
- package/lib-next/theme/Tag/index.js +27 -0
- package/lib-next/theme/Tag/styles.module.css +70 -0
- package/lib-next/theme/TagsListByLetter/index.js +42 -0
- package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
- package/lib-next/theme/TagsListInline/index.js +31 -0
- package/lib-next/theme/TagsListInline/styles.module.css +15 -0
- package/lib-next/theme/ThemeProvider/index.js +10 -7
- package/lib-next/theme/ThemedImage/index.js +5 -5
- package/lib-next/theme/Toggle/index.js +34 -37
- package/lib-next/theme/Toggle/styles.module.css +91 -3
- package/lib-next/theme/UserPreferencesProvider/index.js +9 -6
- package/lib-next/theme/hooks/useHideableNavbar.js +31 -44
- package/lib-next/theme/hooks/useTheme.js +4 -5
- package/lib-next/theme/hooks/useWindowSize.js +34 -20
- package/lib-next/theme/prism-include-languages.js +2 -1
- package/package.json +27 -25
- package/src/admonitions.css +35 -0
- package/src/deps.d.ts +13 -0
- package/src/index.ts +23 -20
- package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
- package/src/theme/Admonition/index.tsx +106 -0
- package/src/theme/AnnouncementBar/index.tsx +8 -12
- package/src/theme/AnnouncementBar/styles.module.css +23 -32
- package/src/theme/BackToTopButton/index.tsx +142 -0
- package/src/theme/BackToTopButton/styles.module.css +42 -0
- package/src/theme/BlogArchivePage/index.tsx +91 -0
- package/src/theme/BlogLayout/index.tsx +44 -0
- package/src/theme/BlogListPage/index.tsx +18 -25
- package/src/theme/BlogPostAuthor/index.tsx +49 -0
- package/{lib/theme/IconEdit → src/theme/BlogPostAuthor}/styles.module.css +4 -3
- package/src/theme/BlogPostAuthors/index.tsx +39 -0
- package/src/theme/BlogPostAuthors/styles.module.css +11 -0
- package/src/theme/BlogPostItem/index.tsx +70 -80
- package/src/theme/BlogPostPage/index.tsx +72 -35
- package/src/theme/BlogSidebar/index.tsx +11 -13
- package/src/theme/BlogSidebar/styles.module.css +2 -2
- package/src/theme/BlogTagsListPage/index.tsx +14 -57
- package/src/theme/BlogTagsPostsPage/index.tsx +29 -39
- package/src/theme/CodeBlock/index.tsx +27 -151
- package/src/theme/CodeBlock/styles.module.css +12 -9
- package/src/theme/Details/index.tsx +24 -0
- package/src/theme/Details/styles.module.css +13 -0
- package/src/theme/DocCard/index.tsx +100 -0
- package/src/theme/DocCard/styles.module.css +43 -0
- package/src/theme/DocCardList/index.tsx +27 -0
- package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +53 -0
- package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
- package/src/theme/DocItem/index.tsx +43 -51
- package/src/theme/DocItem/styles.module.css +5 -9
- package/src/theme/DocItemFooter/index.tsx +91 -0
- package/{lib/theme/BlogPostItem → src/theme/DocItemFooter}/styles.module.css +8 -8
- package/src/theme/DocPage/index.tsx +44 -42
- package/src/theme/DocPage/styles.module.css +5 -6
- package/src/theme/DocPaginator/index.tsx +5 -33
- package/src/theme/DocPaginatorNavLink/index.tsx +38 -0
- package/src/theme/DocSidebar/index.tsx +76 -297
- package/src/theme/DocSidebar/styles.module.css +0 -18
- package/src/theme/DocSidebarItem/index.tsx +242 -0
- package/{lib/theme/Footer → src/theme/DocSidebarItem}/styles.module.css +10 -6
- package/src/theme/DocTagDocListPage/index.tsx +89 -0
- package/src/theme/DocTagsListPage/index.tsx +41 -0
- package/src/theme/DocVersionBadge/index.tsx +30 -0
- package/src/theme/DocVersionBanner/index.tsx +48 -21
- package/src/theme/EditThisPage/index.tsx +6 -1
- package/src/theme/ErrorPageContent.tsx +41 -0
- package/src/theme/Footer/index.tsx +113 -43
- package/src/theme/Heading/index.tsx +24 -31
- package/src/theme/Heading/styles.css +5 -6
- package/src/theme/Heading/styles.module.css +9 -5
- package/src/theme/IconArrow/index.tsx +2 -2
- package/src/theme/IconClose/index.tsx +26 -0
- package/src/theme/IconEdit/index.tsx +2 -2
- package/src/theme/IconExternalLink/index.tsx +2 -5
- package/src/theme/IconLanguage/index.tsx +2 -6
- package/src/theme/IconMenu/index.tsx +3 -3
- package/src/theme/LastUpdated/index.tsx +3 -2
- package/src/theme/Layout/index.tsx +3 -1
- package/src/theme/LayoutHead/index.tsx +18 -17
- package/src/theme/LayoutProviders/index.tsx +9 -3
- package/src/theme/Logo/index.tsx +21 -17
- package/src/theme/MDXComponents/index.tsx +39 -5
- package/src/theme/MDXComponents/styles.css +11 -0
- package/src/theme/MDXPage/index.tsx +10 -2
- package/src/theme/Navbar/index.tsx +203 -61
- package/src/theme/Navbar/styles.module.css +10 -3
- package/src/theme/NavbarItem/DefaultNavbarItem.tsx +42 -154
- package/src/theme/NavbarItem/DocNavbarItem.tsx +12 -16
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +33 -21
- package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
- package/src/theme/NavbarItem/DropdownNavbarItem.tsx +180 -0
- package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +8 -9
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/src/theme/NavbarItem/index.tsx +41 -16
- package/src/theme/{SearchMetadatas → SearchMetadata}/index.tsx +2 -2
- package/src/theme/Seo/index.tsx +7 -4
- package/src/theme/SkipToContent/index.tsx +5 -2
- package/src/theme/TOC/index.tsx +12 -41
- package/src/theme/TOC/styles.module.css +1 -1
- package/src/theme/TOCCollapsible/index.tsx +58 -0
- package/src/theme/TOCCollapsible/styles.module.css +50 -0
- package/src/theme/TOCInline/index.tsx +13 -32
- package/src/theme/TOCItems/index.tsx +96 -0
- package/src/theme/Tabs/index.tsx +110 -54
- package/src/theme/Tabs/styles.module.css +0 -13
- package/src/theme/Tag/index.tsx +31 -0
- package/src/theme/Tag/styles.module.css +70 -0
- package/src/theme/TagsListByLetter/index.tsx +45 -0
- package/src/theme/TagsListByLetter/styles.module.css +11 -0
- package/src/theme/TagsListInline/index.tsx +35 -0
- package/src/theme/TagsListInline/styles.module.css +15 -0
- package/src/theme/ThemeProvider/index.tsx +6 -2
- package/src/theme/ThemedImage/index.tsx +5 -5
- package/src/theme/Toggle/index.tsx +36 -43
- package/src/theme/Toggle/styles.module.css +91 -3
- package/src/theme/UserPreferencesProvider/index.tsx +9 -6
- package/src/theme/hooks/useHideableNavbar.ts +32 -45
- package/src/theme/hooks/useTabGroupChoice.ts +2 -2
- package/src/theme/hooks/useTheme.ts +4 -5
- package/src/theme/hooks/useWindowSize.ts +38 -20
- package/src/theme/prism-include-languages.ts +3 -2
- package/src/theme-classic.d.ts +822 -0
- package/src/translations.ts +41 -23
- package/src/types.d.ts +0 -587
- package/src/{validateThemeConfig.js → validateThemeConfig.ts} +160 -98
- package/babel.config.js +0 -35
- package/codeTranslations/README.md +0 -20
- package/codeTranslations/ar.json +0 -57
- package/codeTranslations/base.json +0 -112
- package/codeTranslations/bn.json +0 -56
- package/codeTranslations/da.json +0 -57
- package/codeTranslations/de.json +0 -57
- package/codeTranslations/es.json +0 -57
- package/codeTranslations/fa.json +0 -57
- package/codeTranslations/fil.json +0 -57
- package/codeTranslations/fr.json +0 -57
- package/codeTranslations/he.json +0 -57
- package/codeTranslations/hi.json +0 -57
- package/codeTranslations/ja.json +0 -57
- package/codeTranslations/ko.json +0 -57
- package/codeTranslations/pl.json +0 -57
- package/codeTranslations/pt-BR.json +0 -57
- package/codeTranslations/pt-PT.json +0 -57
- package/codeTranslations/ru.json +0 -57
- package/codeTranslations/tr.json +0 -57
- package/codeTranslations/vi.json +0 -57
- package/codeTranslations/zh-Hans.json +0 -57
- package/codeTranslations/zh-Hant.json +0 -57
- package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/lib/__tests__/translations.test.js +0 -112
- package/lib/__tests__/validateThemeConfig.test.js +0 -333
- package/lib/theme/AnnouncementBar/index.js +0 -72
- package/lib/theme/AnnouncementBar/styles.module.css +0 -72
- package/lib/theme/BlogListPage/index.js +0 -71
- package/lib/theme/BlogListPaginator/index.js +0 -63
- package/lib/theme/BlogPostItem/index.js +0 -161
- package/lib/theme/BlogPostPage/index.js +0 -69
- package/lib/theme/BlogPostPaginator/index.js +0 -64
- package/lib/theme/BlogSidebar/index.js +0 -51
- package/lib/theme/BlogSidebar/styles.module.css +0 -44
- package/lib/theme/BlogTagsListPage/index.js +0 -76
- package/lib/theme/BlogTagsPostsPage/index.js +0 -100
- package/lib/theme/CodeBlock/index.js +0 -253
- package/lib/theme/CodeBlock/styles.module.css +0 -68
- package/lib/theme/DocItem/index.js +0 -129
- package/lib/theme/DocPage/index.js +0 -173
- package/lib/theme/DocPage/styles.module.css +0 -86
- package/lib/theme/DocPaginator/index.js +0 -63
- package/lib/theme/DocSidebar/index.js +0 -306
- package/lib/theme/DocSidebar/styles.module.css +0 -124
- package/lib/theme/DocVersionBanner/index.js +0 -128
- package/lib/theme/EditThisPage/index.js +0 -31
- package/lib/theme/Footer/index.js +0 -108
- package/lib/theme/Heading/index.js +0 -76
- package/lib/theme/Heading/styles.css +0 -23
- package/lib/theme/Heading/styles.module.css +0 -15
- package/lib/theme/IconArrow/index.js +0 -28
- package/lib/theme/IconEdit/index.js +0 -34
- package/lib/theme/IconExternalLink/index.js +0 -30
- package/lib/theme/IconLanguage/index.js +0 -29
- package/lib/theme/IconMenu/index.js +0 -30
- package/lib/theme/LastUpdated/index.js +0 -61
- package/lib/theme/Layout/index.js +0 -64
- package/lib/theme/Layout/styles.css +0 -27
- package/lib/theme/LayoutHead/index.js +0 -144
- package/lib/theme/LayoutProviders/index.js +0 -36
- package/lib/theme/Logo/index.js +0 -60
- package/lib/theme/MDXComponents/index.js +0 -65
- package/lib/theme/MDXPage/index.js +0 -66
- package/lib/theme/Navbar/index.js +0 -147
- package/lib/theme/Navbar/styles.module.css +0 -20
- package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -209
- package/lib/theme/NavbarItem/DocNavbarItem.js +0 -63
- package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -76
- package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
- package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
- package/lib/theme/NavbarItem/index.js +0 -54
- package/lib/theme/NotFound.js +0 -57
- package/lib/theme/SearchBar.js +0 -15
- package/lib/theme/SearchMetadatas/index.js +0 -33
- package/lib/theme/Seo/index.js +0 -49
- package/lib/theme/SkipToContent/index.js +0 -63
- package/lib/theme/SkipToContent/styles.module.css +0 -14
- package/lib/theme/TOC/index.js +0 -59
- package/lib/theme/TOC/styles.module.css +0 -23
- package/lib/theme/TOCInline/index.js +0 -53
- package/lib/theme/TOCInline/styles.module.css +0 -12
- package/lib/theme/TabItem/index.js +0 -32
- package/lib/theme/Tabs/index.js +0 -150
- package/lib/theme/Tabs/styles.module.css +0 -23
- package/lib/theme/ThemeContext.js +0 -21
- package/lib/theme/ThemeProvider/index.js +0 -38
- package/lib/theme/ThemedImage/index.js +0 -49
- package/lib/theme/Toggle/index.js +0 -94
- package/lib/theme/Toggle/styles.css +0 -103
- package/lib/theme/Toggle/styles.module.css +0 -17
- package/lib/theme/UserPreferencesContext.js +0 -18
- package/lib/theme/UserPreferencesProvider/index.js +0 -36
- package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
- package/lib/theme/hooks/useDocs.js +0 -18
- package/lib/theme/hooks/useHideableNavbar.js +0 -92
- package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
- package/lib/theme/hooks/useLocationHash.js +0 -28
- package/lib/theme/hooks/useLockBodyScroll.js +0 -26
- package/lib/theme/hooks/usePrismTheme.js +0 -36
- package/lib/theme/hooks/useScrollPosition.js +0 -49
- package/lib/theme/hooks/useTOCHighlight.js +0 -87
- package/lib/theme/hooks/useTabGroupChoice.js +0 -51
- package/lib/theme/hooks/useTheme.js +0 -99
- package/lib/theme/hooks/useThemeContext.js +0 -31
- package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
- package/lib/theme/hooks/useWindowSize.js +0 -55
- package/lib/theme/prism-include-languages.js +0 -39
- package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/lib-next/__tests__/translations.test.js +0 -128
- package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
- package/lib-next/index.js +0 -221
- package/lib-next/theme/Toggle/styles.css +0 -103
- package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
- package/lib-next/theme/hooks/useLocationHash.js +0 -20
- package/lib-next/theme/hooks/useScrollPosition.js +0 -38
- package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
- package/lib-next/translations.js +0 -145
- package/lib-next/validateThemeConfig.js +0 -317
- package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/src/__tests__/translations.test.ts +0 -116
- package/src/__tests__/validateThemeConfig.test.js +0 -333
- package/src/prism-include-languages.js +0 -11
- package/src/theme/Toggle/styles.css +0 -103
- package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
- package/src/theme/hooks/useLocationHash.ts +0 -25
- package/src/theme/hooks/useScrollPosition.ts +0 -45
- package/src/theme/hooks/useTOCHighlight.ts +0 -98
- package/tsconfig.json +0 -12
- package/update-code-translations.js +0 -240
- package/update-code-translations.test.js +0 -33
|
@@ -0,0 +1,89 @@
|
|
|
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
|
+
import React from 'react';
|
|
8
|
+
import Layout from '@theme/Layout';
|
|
9
|
+
import Link from '@docusaurus/Link';
|
|
10
|
+
import {ThemeClassNames, usePluralForm} from '@docusaurus/theme-common';
|
|
11
|
+
import Translate, {translate} from '@docusaurus/Translate';
|
|
12
|
+
|
|
13
|
+
// Very simple pluralization: probably good enough for now
|
|
14
|
+
function useNDocsTaggedPlural() {
|
|
15
|
+
const {selectMessage} = usePluralForm();
|
|
16
|
+
return (count) =>
|
|
17
|
+
selectMessage(
|
|
18
|
+
count,
|
|
19
|
+
translate(
|
|
20
|
+
{
|
|
21
|
+
id: 'theme.docs.tagDocListPageTitle.nDocsTagged',
|
|
22
|
+
description:
|
|
23
|
+
'Pluralized label for "{count} docs tagged". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',
|
|
24
|
+
message: 'One doc tagged|{count} docs tagged',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
count,
|
|
28
|
+
},
|
|
29
|
+
),
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function DocItem({doc}) {
|
|
34
|
+
return (
|
|
35
|
+
<article className="margin-vert--lg">
|
|
36
|
+
<Link to={doc.permalink}>
|
|
37
|
+
<h2>{doc.title}</h2>
|
|
38
|
+
</Link>
|
|
39
|
+
{doc.description && <p>{doc.description}</p>}
|
|
40
|
+
</article>
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export default function DocTagDocListPage({tag}) {
|
|
45
|
+
const nDocsTaggedPlural = useNDocsTaggedPlural();
|
|
46
|
+
const title = translate(
|
|
47
|
+
{
|
|
48
|
+
id: 'theme.docs.tagDocListPageTitle',
|
|
49
|
+
description: 'The title of the page for a docs tag',
|
|
50
|
+
message: '{nDocsTagged} with "{tagName}"',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
nDocsTagged: nDocsTaggedPlural(tag.docs.length),
|
|
54
|
+
tagName: tag.name,
|
|
55
|
+
},
|
|
56
|
+
);
|
|
57
|
+
return (
|
|
58
|
+
<Layout
|
|
59
|
+
title={title}
|
|
60
|
+
wrapperClassName={ThemeClassNames.wrapper.docsPages}
|
|
61
|
+
pageClassName={ThemeClassNames.page.docsTagDocListPage}
|
|
62
|
+
searchMetadata={{
|
|
63
|
+
// assign unique search tag to exclude this page from search results!
|
|
64
|
+
tag: 'doc_tag_doc_list',
|
|
65
|
+
}}>
|
|
66
|
+
<div className="container margin-vert--lg">
|
|
67
|
+
<div className="row">
|
|
68
|
+
<main className="col col--8 col--offset-2">
|
|
69
|
+
<header className="margin-bottom--xl">
|
|
70
|
+
<h1>{title}</h1>
|
|
71
|
+
<Link href={tag.allTagsPath}>
|
|
72
|
+
<Translate
|
|
73
|
+
id="theme.tags.tagsPageLink"
|
|
74
|
+
description="The label of the link targeting the tag list page">
|
|
75
|
+
View All Tags
|
|
76
|
+
</Translate>
|
|
77
|
+
</Link>
|
|
78
|
+
</header>
|
|
79
|
+
<section className="margin-vert--lg">
|
|
80
|
+
{tag.docs.map((doc) => (
|
|
81
|
+
<DocItem key={doc.id} doc={doc} />
|
|
82
|
+
))}
|
|
83
|
+
</section>
|
|
84
|
+
</main>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
</Layout>
|
|
88
|
+
);
|
|
89
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
import React from 'react';
|
|
8
|
+
import Layout from '@theme/Layout';
|
|
9
|
+
import {
|
|
10
|
+
ThemeClassNames,
|
|
11
|
+
translateTagsPageTitle,
|
|
12
|
+
} from '@docusaurus/theme-common';
|
|
13
|
+
import TagsListByLetter from '@theme/TagsListByLetter';
|
|
14
|
+
|
|
15
|
+
function DocTagsListPage({tags}) {
|
|
16
|
+
const title = translateTagsPageTitle();
|
|
17
|
+
return (
|
|
18
|
+
<Layout
|
|
19
|
+
title={title}
|
|
20
|
+
wrapperClassName={ThemeClassNames.wrapper.docsPages}
|
|
21
|
+
pageClassName={ThemeClassNames.page.docsTagsListPage}
|
|
22
|
+
searchMetadata={{
|
|
23
|
+
// assign unique search tag to exclude this page from search results!
|
|
24
|
+
tag: 'doc_tags_list',
|
|
25
|
+
}}>
|
|
26
|
+
<div className="container margin-vert--lg">
|
|
27
|
+
<div className="row">
|
|
28
|
+
<main className="col col--8 col--offset-2">
|
|
29
|
+
<h1>{title}</h1>
|
|
30
|
+
<TagsListByLetter tags={tags} />
|
|
31
|
+
</main>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</Layout>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export default DocTagsListPage;
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
import React from 'react';
|
|
8
|
+
import {ThemeClassNames, useDocsVersion} from '@docusaurus/theme-common';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
export default function DocVersionBadge({className}) {
|
|
11
|
+
const versionMetadata = useDocsVersion();
|
|
12
|
+
|
|
13
|
+
if (versionMetadata.badge) {
|
|
14
|
+
return (
|
|
15
|
+
<span
|
|
16
|
+
className={clsx(
|
|
17
|
+
className,
|
|
18
|
+
ThemeClassNames.docs.docVersionBadge,
|
|
19
|
+
'badge badge--secondary',
|
|
20
|
+
)}>
|
|
21
|
+
Version: {versionMetadata.label}
|
|
22
|
+
</span>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
@@ -9,7 +9,12 @@ import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
|
9
9
|
import Link from '@docusaurus/Link';
|
|
10
10
|
import Translate from '@docusaurus/Translate';
|
|
11
11
|
import {useActivePlugin, useDocVersionSuggestions} from '@theme/hooks/useDocs';
|
|
12
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
ThemeClassNames,
|
|
14
|
+
useDocsPreferredVersion,
|
|
15
|
+
useDocsVersion,
|
|
16
|
+
} from '@docusaurus/theme-common';
|
|
17
|
+
import clsx from 'clsx';
|
|
13
18
|
|
|
14
19
|
function UnreleasedVersionLabel({siteTitle, versionMetadata}) {
|
|
15
20
|
return (
|
|
@@ -80,7 +85,7 @@ function LatestVersionSuggestionLabel({versionLabel, to, onClick}) {
|
|
|
80
85
|
);
|
|
81
86
|
}
|
|
82
87
|
|
|
83
|
-
function DocVersionBannerEnabled({versionMetadata}) {
|
|
88
|
+
function DocVersionBannerEnabled({className, versionMetadata}) {
|
|
84
89
|
const {
|
|
85
90
|
siteConfig: {title: siteTitle},
|
|
86
91
|
} = useDocusaurusContext();
|
|
@@ -92,16 +97,20 @@ function DocVersionBannerEnabled({versionMetadata}) {
|
|
|
92
97
|
version.docs.find((doc) => doc.id === version.mainDocId);
|
|
93
98
|
|
|
94
99
|
const {savePreferredVersionName} = useDocsPreferredVersion(pluginId);
|
|
95
|
-
const {
|
|
96
|
-
|
|
97
|
-
latestVersionSuggestion,
|
|
98
|
-
} = useDocVersionSuggestions(pluginId); // try to link to same doc in latest version (not always possible)
|
|
100
|
+
const {latestDocSuggestion, latestVersionSuggestion} =
|
|
101
|
+
useDocVersionSuggestions(pluginId); // try to link to same doc in latest version (not always possible)
|
|
99
102
|
// fallback to main doc of latest version
|
|
100
103
|
|
|
101
104
|
const latestVersionSuggestedDoc =
|
|
102
105
|
latestDocSuggestion ?? getVersionMainDoc(latestVersionSuggestion);
|
|
103
106
|
return (
|
|
104
|
-
<div
|
|
107
|
+
<div
|
|
108
|
+
className={clsx(
|
|
109
|
+
className,
|
|
110
|
+
ThemeClassNames.docs.docVersionBanner,
|
|
111
|
+
'alert alert--warning margin-bottom--md',
|
|
112
|
+
)}
|
|
113
|
+
role="alert">
|
|
105
114
|
<div>
|
|
106
115
|
<BannerLabel siteTitle={siteTitle} versionMetadata={versionMetadata} />
|
|
107
116
|
</div>
|
|
@@ -116,12 +125,17 @@ function DocVersionBannerEnabled({versionMetadata}) {
|
|
|
116
125
|
);
|
|
117
126
|
}
|
|
118
127
|
|
|
119
|
-
function DocVersionBanner({
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return
|
|
128
|
+
export default function DocVersionBanner({className}) {
|
|
129
|
+
const versionMetadata = useDocsVersion();
|
|
130
|
+
|
|
131
|
+
if (versionMetadata.banner) {
|
|
132
|
+
return (
|
|
133
|
+
<DocVersionBannerEnabled
|
|
134
|
+
className={className}
|
|
135
|
+
versionMetadata={versionMetadata}
|
|
136
|
+
/>
|
|
137
|
+
);
|
|
124
138
|
}
|
|
125
|
-
}
|
|
126
139
|
|
|
127
|
-
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
@@ -7,9 +7,14 @@
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import Translate from '@docusaurus/Translate';
|
|
9
9
|
import IconEdit from '@theme/IconEdit';
|
|
10
|
+
import {ThemeClassNames} from '@docusaurus/theme-common';
|
|
10
11
|
export default function EditThisPage({editUrl}) {
|
|
11
12
|
return (
|
|
12
|
-
<a
|
|
13
|
+
<a
|
|
14
|
+
href={editUrl}
|
|
15
|
+
target="_blank"
|
|
16
|
+
rel="noreferrer noopener"
|
|
17
|
+
className={ThemeClassNames.common.editThisPage}>
|
|
13
18
|
<IconEdit />
|
|
14
19
|
<Translate
|
|
15
20
|
id="theme.common.editThisPage"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import Translate from '@docusaurus/Translate';
|
|
9
|
+
export default function ErrorPageContent({error, tryAgain}) {
|
|
10
|
+
return (
|
|
11
|
+
<main className="container margin-vert--xl">
|
|
12
|
+
<div className="row">
|
|
13
|
+
<div className="col col--6 col--offset-3">
|
|
14
|
+
<h1 className="hero__title">
|
|
15
|
+
<Translate
|
|
16
|
+
id="theme.ErrorPageContent.title"
|
|
17
|
+
description="The title of the fallback page when the page crashed">
|
|
18
|
+
This page crashed.
|
|
19
|
+
</Translate>
|
|
20
|
+
</h1>
|
|
21
|
+
<p>{error.message}</p>
|
|
22
|
+
<div>
|
|
23
|
+
<button type="button" onClick={tryAgain}>
|
|
24
|
+
<Translate
|
|
25
|
+
id="theme.ErrorPageContent.tryAgain"
|
|
26
|
+
description="The label of the button to try again when the page crashed">
|
|
27
|
+
Try again
|
|
28
|
+
</Translate>
|
|
29
|
+
</button>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
</main>
|
|
34
|
+
);
|
|
35
|
+
}
|
|
@@ -9,8 +9,10 @@ import clsx from 'clsx';
|
|
|
9
9
|
import Link from '@docusaurus/Link';
|
|
10
10
|
import {useThemeConfig} from '@docusaurus/theme-common';
|
|
11
11
|
import useBaseUrl from '@docusaurus/useBaseUrl';
|
|
12
|
+
import isInternalUrl from '@docusaurus/isInternalUrl';
|
|
12
13
|
import styles from './styles.module.css';
|
|
13
14
|
import ThemedImage from '@theme/ThemedImage';
|
|
15
|
+
import IconExternalLink from '@theme/IconExternalLink';
|
|
14
16
|
|
|
15
17
|
function FooterLink({to, href, label, prependBaseUrlToHref, ...props}) {
|
|
16
18
|
const toUrl = useBaseUrl(to);
|
|
@@ -28,14 +30,89 @@ function FooterLink({to, href, label, prependBaseUrlToHref, ...props}) {
|
|
|
28
30
|
to: toUrl,
|
|
29
31
|
})}
|
|
30
32
|
{...props}>
|
|
31
|
-
{
|
|
33
|
+
{href && !isInternalUrl(href) ? (
|
|
34
|
+
<span>
|
|
35
|
+
{label}
|
|
36
|
+
<IconExternalLink />
|
|
37
|
+
</span>
|
|
38
|
+
) : (
|
|
39
|
+
label
|
|
40
|
+
)}
|
|
32
41
|
</Link>
|
|
33
42
|
);
|
|
34
43
|
}
|
|
35
44
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
45
|
+
function FooterLogo({sources, alt, width, height}) {
|
|
46
|
+
return (
|
|
47
|
+
<ThemedImage
|
|
48
|
+
className="footer__logo"
|
|
49
|
+
alt={alt}
|
|
50
|
+
sources={sources}
|
|
51
|
+
width={width}
|
|
52
|
+
height={height}
|
|
53
|
+
/>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function MultiColumnLinks({links}) {
|
|
58
|
+
return (
|
|
59
|
+
<>
|
|
60
|
+
{links.map((linkItem, i) => (
|
|
61
|
+
<div key={i} className="col footer__col">
|
|
62
|
+
<div className="footer__title">{linkItem.title}</div>
|
|
63
|
+
<ul className="footer__items">
|
|
64
|
+
{linkItem.items.map((item, key) =>
|
|
65
|
+
item.html ? (
|
|
66
|
+
<li
|
|
67
|
+
key={key}
|
|
68
|
+
className="footer__item" // Developer provided the HTML, so assume it's safe.
|
|
69
|
+
// eslint-disable-next-line react/no-danger
|
|
70
|
+
dangerouslySetInnerHTML={{
|
|
71
|
+
__html: item.html,
|
|
72
|
+
}}
|
|
73
|
+
/>
|
|
74
|
+
) : (
|
|
75
|
+
<li key={item.href || item.to} className="footer__item">
|
|
76
|
+
<FooterLink {...item} />
|
|
77
|
+
</li>
|
|
78
|
+
),
|
|
79
|
+
)}
|
|
80
|
+
</ul>
|
|
81
|
+
</div>
|
|
82
|
+
))}
|
|
83
|
+
</>
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function SimpleLinks({links}) {
|
|
88
|
+
return (
|
|
89
|
+
<div className="footer__links">
|
|
90
|
+
{links.map((item, key) => (
|
|
91
|
+
<>
|
|
92
|
+
{item.html ? (
|
|
93
|
+
<span
|
|
94
|
+
key={key}
|
|
95
|
+
className="footer__link-item" // Developer provided the HTML, so assume it's safe.
|
|
96
|
+
// eslint-disable-next-line react/no-danger
|
|
97
|
+
dangerouslySetInnerHTML={{
|
|
98
|
+
__html: item.html,
|
|
99
|
+
}}
|
|
100
|
+
/>
|
|
101
|
+
) : (
|
|
102
|
+
<FooterLink {...item} />
|
|
103
|
+
)}
|
|
104
|
+
{links.length !== key + 1 && (
|
|
105
|
+
<span className="footer__link-separator">·</span>
|
|
106
|
+
)}
|
|
107
|
+
</>
|
|
108
|
+
))}
|
|
109
|
+
</div>
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function isMultiColumnFooterLinks(links) {
|
|
114
|
+
return 'title' in links[0];
|
|
115
|
+
}
|
|
39
116
|
|
|
40
117
|
function Footer() {
|
|
41
118
|
const {footer} = useThemeConfig();
|
|
@@ -54,47 +131,30 @@ function Footer() {
|
|
|
54
131
|
className={clsx('footer', {
|
|
55
132
|
'footer--dark': footer.style === 'dark',
|
|
56
133
|
})}>
|
|
57
|
-
<div className="container">
|
|
58
|
-
{links &&
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
{linkItem.items.map((item, key) =>
|
|
70
|
-
item.html ? (
|
|
71
|
-
<li
|
|
72
|
-
key={key}
|
|
73
|
-
className="footer__item" // Developer provided the HTML, so assume it's safe.
|
|
74
|
-
// eslint-disable-next-line react/no-danger
|
|
75
|
-
dangerouslySetInnerHTML={{
|
|
76
|
-
__html: item.html,
|
|
77
|
-
}}
|
|
78
|
-
/>
|
|
79
|
-
) : (
|
|
80
|
-
<li key={item.href || item.to} className="footer__item">
|
|
81
|
-
<FooterLink {...item} />
|
|
82
|
-
</li>
|
|
83
|
-
),
|
|
84
|
-
)}
|
|
85
|
-
</ul>
|
|
86
|
-
) : null}
|
|
87
|
-
</div>
|
|
88
|
-
))}
|
|
89
|
-
</div>
|
|
90
|
-
)}
|
|
134
|
+
<div className="container container-fluid">
|
|
135
|
+
{links &&
|
|
136
|
+
links.length > 0 &&
|
|
137
|
+
(isMultiColumnFooterLinks(links) ? (
|
|
138
|
+
<div className="row footer__links">
|
|
139
|
+
<MultiColumnLinks links={links} />
|
|
140
|
+
</div>
|
|
141
|
+
) : (
|
|
142
|
+
<div className="footer__links text--center">
|
|
143
|
+
<SimpleLinks links={links} />
|
|
144
|
+
</div>
|
|
145
|
+
))}
|
|
91
146
|
{(logo || copyright) && (
|
|
92
147
|
<div className="footer__bottom text--center">
|
|
93
148
|
{logo && (logo.src || logo.srcDark) && (
|
|
94
149
|
<div className="margin-bottom--sm">
|
|
95
150
|
{logo.href ? (
|
|
96
151
|
<Link href={logo.href} className={styles.footerLogoLink}>
|
|
97
|
-
<FooterLogo
|
|
152
|
+
<FooterLogo
|
|
153
|
+
alt={logo.alt}
|
|
154
|
+
sources={sources}
|
|
155
|
+
width={logo.width}
|
|
156
|
+
height={logo.height}
|
|
157
|
+
/>
|
|
98
158
|
</Link>
|
|
99
159
|
) : (
|
|
100
160
|
<FooterLogo alt={logo.alt} sources={sources} />
|
|
@@ -117,4 +177,4 @@ function Footer() {
|
|
|
117
177
|
);
|
|
118
178
|
}
|
|
119
179
|
|
|
120
|
-
export default Footer;
|
|
180
|
+
export default React.memo(Footer);
|
|
@@ -4,29 +4,27 @@
|
|
|
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
|
-
|
|
8
|
-
/* eslint-disable jsx-a11y/anchor-has-content, jsx-a11y/anchor-is-valid */
|
|
9
7
|
import React from 'react';
|
|
10
8
|
import clsx from 'clsx';
|
|
11
9
|
import {translate} from '@docusaurus/Translate';
|
|
12
10
|
import {useThemeConfig} from '@docusaurus/theme-common';
|
|
13
11
|
import './styles.css';
|
|
14
12
|
import styles from './styles.module.css';
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
};
|
|
13
|
+
// eslint-disable-next-line react/function-component-definition
|
|
14
|
+
export const MainHeading = ({...props}) => (
|
|
15
|
+
<header>
|
|
16
|
+
<h1
|
|
17
|
+
{...props}
|
|
18
|
+
id={undefined} // h1 headings do not need an id because they don't appear in the TOC
|
|
19
|
+
>
|
|
20
|
+
{props.children}
|
|
21
|
+
</h1>
|
|
22
|
+
</header>
|
|
23
|
+
);
|
|
27
24
|
|
|
28
|
-
const createAnchorHeading =
|
|
29
|
-
|
|
25
|
+
const createAnchorHeading =
|
|
26
|
+
(Tag) =>
|
|
27
|
+
({id, ...props}) => {
|
|
30
28
|
const {
|
|
31
29
|
navbar: {hideOnScroll},
|
|
32
30
|
} = useThemeConfig();
|
|
@@ -36,15 +34,13 @@ const createAnchorHeading = (Tag) =>
|
|
|
36
34
|
}
|
|
37
35
|
|
|
38
36
|
return (
|
|
39
|
-
<Tag
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
id={id}
|
|
47
|
-
/>
|
|
37
|
+
<Tag
|
|
38
|
+
{...props}
|
|
39
|
+
className={clsx('anchor', {
|
|
40
|
+
[styles.anchorWithHideOnScrollNavbar]: hideOnScroll,
|
|
41
|
+
[styles.anchorWithStickyNavbar]: !hideOnScroll,
|
|
42
|
+
})}
|
|
43
|
+
id={id}>
|
|
48
44
|
{props.children}
|
|
49
45
|
<a
|
|
50
46
|
className="hash-link"
|
|
@@ -54,14 +50,13 @@ const createAnchorHeading = (Tag) =>
|
|
|
54
50
|
message: 'Direct link to heading',
|
|
55
51
|
description: 'Title for link to heading',
|
|
56
52
|
})}>
|
|
57
|
-
|
|
53
|
+
​
|
|
58
54
|
</a>
|
|
59
55
|
</Tag>
|
|
60
56
|
);
|
|
61
57
|
};
|
|
62
58
|
|
|
63
|
-
const Heading = (headingType) =>
|
|
64
|
-
|
|
65
|
-
};
|
|
59
|
+
const Heading = (headingType) =>
|
|
60
|
+
headingType === 'h1' ? MainHeading : createAnchorHeading(headingType);
|
|
66
61
|
|
|
67
62
|
export default Heading;
|
|
@@ -5,16 +5,15 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
.anchor {
|
|
9
|
-
display: block;
|
|
10
|
-
position: relative;
|
|
11
|
-
top: -0.5rem;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
8
|
.hash-link {
|
|
15
9
|
opacity: 0;
|
|
16
10
|
padding-left: 0.5rem;
|
|
17
11
|
transition: opacity var(--ifm-transition-fast);
|
|
12
|
+
user-select: none;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.hash-link:before {
|
|
16
|
+
content: '#';
|
|
18
17
|
}
|
|
19
18
|
|
|
20
19
|
.hash-link:focus,
|
|
@@ -5,11 +5,15 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
/*
|
|
9
|
+
When the navbar is sticky, ensure that on anchor click,
|
|
10
|
+
the browser does not scroll that anchor behind the navbar
|
|
11
|
+
See https://twitter.com/JoshWComeau/status/1332015868725891076
|
|
12
|
+
*/
|
|
13
|
+
.anchorWithStickyNavbar {
|
|
14
|
+
scroll-margin-top: calc(var(--ifm-navbar-height) + 0.5rem);
|
|
10
15
|
}
|
|
11
16
|
|
|
12
|
-
.
|
|
13
|
-
|
|
14
|
-
margin-bottom: calc(var(--ifm-leading-desktop) * var(--ifm-leading));
|
|
17
|
+
.anchorWithHideOnScrollNavbar {
|
|
18
|
+
scroll-margin-top: 0.5rem;
|
|
15
19
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React from 'react';
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
function IconArrow(props) {
|
|
10
10
|
return (
|
|
11
11
|
<svg width="20" height="20" aria-hidden="true" {...props}>
|
|
12
12
|
<g fill="#7a7a7a">
|
|
@@ -15,6 +15,6 @@ const IconArrow = (props) => {
|
|
|
15
15
|
</g>
|
|
16
16
|
</svg>
|
|
17
17
|
);
|
|
18
|
-
}
|
|
18
|
+
}
|
|
19
19
|
|
|
20
20
|
export default IconArrow;
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
import React from 'react';
|
|
8
|
+
export default function IconClose({
|
|
9
|
+
width = 21,
|
|
10
|
+
height = 21,
|
|
11
|
+
color = 'currentColor',
|
|
12
|
+
strokeWidth = 1.2,
|
|
13
|
+
className,
|
|
14
|
+
...restProps
|
|
15
|
+
}) {
|
|
16
|
+
return (
|
|
17
|
+
<svg viewBox="0 0 15 15" width={width} height={height} {...restProps}>
|
|
18
|
+
<g stroke={color} strokeWidth={strokeWidth}>
|
|
19
|
+
<path d="M.75.75l13.5 13.5M14.25.75L.75 14.25" />
|
|
20
|
+
</g>
|
|
21
|
+
</svg>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
@@ -8,7 +8,7 @@ import React from 'react';
|
|
|
8
8
|
import clsx from 'clsx';
|
|
9
9
|
import styles from './styles.module.css';
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
function IconEdit({className, ...restProps}) {
|
|
12
12
|
return (
|
|
13
13
|
<svg
|
|
14
14
|
fill="currentColor"
|
|
@@ -23,6 +23,6 @@ const IconEdit = ({className, ...restProps}) => {
|
|
|
23
23
|
</g>
|
|
24
24
|
</svg>
|
|
25
25
|
);
|
|
26
|
-
}
|
|
26
|
+
}
|
|
27
27
|
|
|
28
28
|
export default IconEdit;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import styles from './styles.module.css';
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
function IconExternalLink({width = 13.5, height = 13.5}) {
|
|
11
11
|
return (
|
|
12
12
|
<svg
|
|
13
13
|
width={width}
|
|
@@ -21,6 +21,6 @@ const IconExternalLink = ({width = 13.5, height = 13.5}) => {
|
|
|
21
21
|
/>
|
|
22
22
|
</svg>
|
|
23
23
|
);
|
|
24
|
-
}
|
|
24
|
+
}
|
|
25
25
|
|
|
26
26
|
export default IconExternalLink;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React from 'react';
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
function IconLanguage({width = 20, height = 20, ...props}) {
|
|
10
10
|
return (
|
|
11
11
|
<svg
|
|
12
12
|
viewBox="0 0 20 20"
|
|
@@ -20,6 +20,6 @@ const IconLanguage = ({width = 20, height = 20, ...props}) => {
|
|
|
20
20
|
/>
|
|
21
21
|
</svg>
|
|
22
22
|
);
|
|
23
|
-
}
|
|
23
|
+
}
|
|
24
24
|
|
|
25
25
|
export default IconLanguage;
|