@docusaurus/theme-classic 2.0.0-beta.0f144213d → 2.0.0-beta.11
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/__tests__/validateThemeConfig.test.js +277 -3
- 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/theme/AnnouncementBar/index.js +8 -12
- package/lib/theme/AnnouncementBar/styles.module.css +23 -32
- package/lib/theme/BackToTopButton/index.js +140 -0
- package/lib/theme/BackToTopButton/styles.module.css +42 -0
- package/lib/theme/BlogArchivePage/index.js +89 -0
- package/lib/theme/BlogLayout/index.js +51 -0
- package/lib/theme/BlogListPage/index.js +10 -21
- package/lib/theme/BlogPostAuthor/index.js +51 -0
- package/lib/theme/BlogPostAuthor/styles.module.css +12 -0
- package/lib/theme/BlogPostAuthors/index.js +47 -0
- package/lib/theme/BlogPostAuthors/styles.module.css +11 -0
- package/lib/theme/BlogPostItem/index.js +58 -67
- package/lib/theme/BlogPostPage/index.js +37 -24
- package/lib/theme/BlogSidebar/index.js +5 -7
- package/lib/theme/BlogSidebar/styles.module.css +2 -2
- package/lib/theme/BlogTagsListPage/index.js +8 -44
- package/lib/theme/BlogTagsPostsPage/index.js +24 -38
- package/lib/theme/CodeBlock/index.js +18 -138
- package/lib/theme/CodeBlock/styles.module.css +6 -9
- package/lib/theme/Details/index.js +30 -0
- package/lib/theme/Details/styles.module.css +13 -0
- package/lib/theme/DocCard/index.js +84 -0
- package/lib/theme/DocCard/styles.module.css +43 -0
- package/lib/theme/DocCardList/index.js +28 -0
- package/lib/theme/DocCategoryGeneratedIndexPage/index.js +57 -0
- package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
- package/lib/theme/DocItem/index.js +29 -46
- package/lib/theme/DocItem/styles.module.css +5 -9
- package/lib/theme/DocItemFooter/index.js +79 -0
- package/lib/theme/DocItemFooter/styles.module.css +18 -0
- package/lib/theme/DocPage/index.js +35 -54
- package/lib/theme/DocPage/styles.module.css +5 -0
- package/lib/theme/DocPaginator/index.js +6 -7
- package/lib/theme/DocSidebar/index.js +52 -224
- package/lib/theme/DocSidebar/styles.module.css +0 -18
- package/lib/theme/DocSidebarItem/index.js +209 -0
- package/lib/theme/DocSidebarItem/styles.module.css +19 -0
- package/lib/theme/DocTagDocListPage/index.js +89 -0
- package/lib/theme/DocTagsListPage/index.js +44 -0
- package/lib/theme/DocVersionBadge/index.js +34 -0
- package/lib/theme/DocVersionBanner/index.js +12 -10
- package/lib/theme/EditThisPage/index.js +3 -1
- package/lib/theme/ErrorPageContent.js +43 -0
- package/lib/theme/Footer/index.js +8 -4
- package/lib/theme/Heading/index.js +17 -22
- package/lib/theme/Heading/styles.css +5 -6
- package/lib/theme/Heading/styles.module.css +9 -5
- package/lib/theme/IconArrow/index.js +2 -2
- package/lib/theme/IconClose/index.js +31 -0
- package/lib/theme/IconEdit/index.js +3 -3
- package/lib/theme/IconExternalLink/index.js +3 -3
- package/lib/theme/IconLanguage/index.js +3 -3
- package/lib/theme/IconMenu/index.js +3 -3
- package/lib/theme/LastUpdated/index.js +4 -2
- package/lib/theme/Layout/index.js +5 -1
- package/lib/theme/LayoutHead/index.js +22 -17
- package/lib/theme/LayoutProviders/index.js +7 -3
- package/lib/theme/Logo/index.js +16 -14
- package/lib/theme/MDXComponents/index.js +45 -4
- package/lib/theme/MDXComponents/styles.css +11 -0
- package/lib/theme/MDXPage/index.js +2 -1
- package/lib/theme/Navbar/index.js +162 -42
- package/lib/theme/Navbar/styles.module.css +10 -3
- package/lib/theme/NavbarItem/DefaultNavbarItem.js +27 -123
- package/lib/theme/NavbarItem/DocNavbarItem.js +7 -8
- package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +19 -12
- package/lib/theme/NavbarItem/DropdownNavbarItem.js +155 -0
- package/lib/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +6 -10
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/lib/theme/NavbarItem/index.js +31 -11
- package/lib/theme/{SearchMetadatas → SearchMetadata}/index.js +2 -2
- package/lib/theme/Seo/index.js +10 -7
- package/lib/theme/SkipToContent/index.js +5 -2
- package/lib/theme/TOC/index.js +9 -29
- package/lib/theme/TOC/styles.module.css +1 -1
- package/lib/theme/TOCCollapsible/index.js +53 -0
- package/lib/theme/TOCCollapsible/styles.module.css +50 -0
- package/lib/theme/TOCInline/index.js +7 -27
- package/lib/theme/TOCItems/index.js +78 -0
- package/lib/theme/Tabs/__tests__/index.test.js +123 -0
- package/lib/theme/Tabs/index.js +73 -50
- package/lib/theme/Tabs/styles.module.css +0 -13
- package/lib/theme/Tag/index.js +40 -0
- package/lib/theme/Tag/styles.module.css +70 -0
- package/lib/theme/TagsListByLetter/index.js +48 -0
- package/lib/theme/TagsListByLetter/styles.module.css +11 -0
- package/lib/theme/TagsListInline/index.js +44 -0
- package/lib/theme/TagsListInline/styles.module.css +15 -0
- package/lib/theme/ThemeProvider/index.js +8 -3
- package/lib/theme/ThemedImage/index.js +5 -7
- package/lib/theme/Toggle/index.js +41 -44
- package/lib/theme/Toggle/styles.module.css +91 -3
- package/lib/theme/UserPreferencesProvider/index.js +8 -3
- package/lib/theme/hooks/useHideableNavbar.js +14 -32
- package/lib/theme/hooks/useTheme.js +3 -5
- package/lib/theme/hooks/useWindowSize.js +33 -20
- package/lib/theme/prism-include-languages.js +4 -3
- package/lib/theme-classic.d.ts +806 -0
- package/lib/translations.js +4 -4
- package/lib/types.d.ts +0 -587
- package/lib/validateThemeConfig.js +230 -246
- package/lib-next/__tests__/validateThemeConfig.test.js +277 -3
- package/lib-next/admonitions.css +35 -0
- package/lib-next/deps.d.ts +13 -0
- package/lib-next/index.js +16 -10
- package/lib-next/prism-include-languages.js +0 -2
- 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-next/theme/BlogPostAuthor/styles.module.css +12 -0
- package/lib-next/theme/BlogPostAuthors/index.js +34 -0
- package/lib-next/theme/BlogPostAuthors/styles.module.css +11 -0
- 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 +17 -149
- package/lib-next/theme/CodeBlock/styles.module.css +6 -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-next/theme/DocItemFooter/styles.module.css +18 -0
- package/lib-next/theme/DocPage/index.js +46 -49
- package/lib-next/theme/DocPage/styles.module.css +5 -0
- package/lib-next/theme/DocPaginator/index.js +7 -11
- 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-next/theme/DocSidebarItem/styles.module.css +19 -0
- 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 +17 -4
- package/lib-next/theme/Heading/index.js +25 -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-next/theme/MDXComponents/styles.css +11 -0
- 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 +159 -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 +3 -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 +91 -43
- 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/lib-next/theme-classic.d.ts +806 -0
- package/lib-next/translations.js +6 -10
- package/lib-next/types.d.ts +0 -587
- package/lib-next/validateThemeConfig.js +141 -114
- package/package.json +28 -25
- package/src/__tests__/validateThemeConfig.test.js +277 -3
- package/src/admonitions.css +35 -0
- package/src/deps.d.ts +13 -0
- package/src/index.ts +23 -17
- package/src/{prism-include-languages.js → prism-include-languages.ts} +0 -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/src/theme/BlogPostAuthor/styles.module.css +12 -0
- 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 +21 -151
- package/src/theme/CodeBlock/styles.module.css +6 -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/src/theme/DocItemFooter/styles.module.css +18 -0
- package/src/theme/DocPage/index.tsx +44 -42
- package/src/theme/DocPage/styles.module.css +5 -0
- package/src/theme/DocPaginator/index.tsx +9 -13
- 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/src/theme/DocSidebarItem/styles.module.css +19 -0
- 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 +20 -5
- package/src/theme/Heading/index.tsx +25 -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 +181 -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 +3 -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/__tests__/index.test.tsx +129 -0
- package/src/theme/Tabs/index.tsx +93 -49
- 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 +806 -0
- package/src/translations.ts +8 -10
- package/src/types.d.ts +0 -587
- package/src/{validateThemeConfig.js → validateThemeConfig.ts} +151 -94
- package/tsconfig.json +1 -2
- 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/theme/Toggle/styles.css +0 -103
- package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
- package/lib/theme/hooks/useScrollPosition.js +0 -49
- package/lib/theme/hooks/useTOCHighlight.js +0 -87
- package/lib-next/theme/Toggle/styles.css +0 -103
- package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
- package/lib-next/theme/hooks/useScrollPosition.js +0 -38
- package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
- package/src/theme/Toggle/styles.css +0 -103
- package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
- package/src/theme/hooks/useScrollPosition.ts +0 -45
- package/src/theme/hooks/useTOCHighlight.ts +0 -98
- package/update-code-translations.js +0 -240
- package/update-code-translations.test.js +0 -33
|
@@ -91,6 +91,10 @@ describe('themeConfig', () => {
|
|
|
91
91
|
},
|
|
92
92
|
copyright: `Copyright © ${new Date().getFullYear()} Facebook, Inc. Built with Docusaurus.`,
|
|
93
93
|
},
|
|
94
|
+
tableOfContents: {
|
|
95
|
+
minHeadingLevel: 2,
|
|
96
|
+
maxHeadingLevel: 5,
|
|
97
|
+
},
|
|
94
98
|
};
|
|
95
99
|
expect(testValidateThemeConfig(userConfig)).toEqual({
|
|
96
100
|
...DEFAULT_CONFIG,
|
|
@@ -108,7 +112,6 @@ describe('themeConfig', () => {
|
|
|
108
112
|
position: 'left',
|
|
109
113
|
docId: 'intro',
|
|
110
114
|
label: 'Introduction',
|
|
111
|
-
activeSidebarClassName: 'custom-class',
|
|
112
115
|
},
|
|
113
116
|
// Regular link
|
|
114
117
|
{
|
|
@@ -134,6 +137,23 @@ describe('themeConfig', () => {
|
|
|
134
137
|
},
|
|
135
138
|
],
|
|
136
139
|
},
|
|
140
|
+
// Dropdown with name
|
|
141
|
+
{
|
|
142
|
+
type: 'dropdown',
|
|
143
|
+
label: 'Tools',
|
|
144
|
+
position: 'left',
|
|
145
|
+
items: [
|
|
146
|
+
{
|
|
147
|
+
type: 'doc',
|
|
148
|
+
docId: 'npm',
|
|
149
|
+
label: 'NPM',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
to: '/yarn',
|
|
153
|
+
label: 'Yarn',
|
|
154
|
+
},
|
|
155
|
+
],
|
|
156
|
+
},
|
|
137
157
|
// Doc version dropdown
|
|
138
158
|
{
|
|
139
159
|
type: 'docsVersionDropdown',
|
|
@@ -141,8 +161,7 @@ describe('themeConfig', () => {
|
|
|
141
161
|
dropdownActiveClassDisabled: true,
|
|
142
162
|
dropdownItemsBefore: [
|
|
143
163
|
{
|
|
144
|
-
href:
|
|
145
|
-
'https://www.npmjs.com/package/docusaurus?activeTab=versions',
|
|
164
|
+
href: 'https://www.npmjs.com/package/docusaurus?activeTab=versions',
|
|
146
165
|
label: 'Versions on npm',
|
|
147
166
|
className: 'npm-styled',
|
|
148
167
|
target: '_self',
|
|
@@ -181,6 +200,112 @@ describe('themeConfig', () => {
|
|
|
181
200
|
});
|
|
182
201
|
});
|
|
183
202
|
|
|
203
|
+
test('should reject unknown navbar item type', () => {
|
|
204
|
+
const config = {
|
|
205
|
+
navbar: {
|
|
206
|
+
items: [
|
|
207
|
+
{
|
|
208
|
+
type: 'joke',
|
|
209
|
+
position: 'left',
|
|
210
|
+
label: 'haha',
|
|
211
|
+
},
|
|
212
|
+
],
|
|
213
|
+
},
|
|
214
|
+
};
|
|
215
|
+
expect(() =>
|
|
216
|
+
testValidateThemeConfig(config),
|
|
217
|
+
).toThrowErrorMatchingInlineSnapshot(`"Bad navbar item type joke"`);
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
test('should reject nested dropdowns', () => {
|
|
221
|
+
const config = {
|
|
222
|
+
navbar: {
|
|
223
|
+
items: [
|
|
224
|
+
{
|
|
225
|
+
position: 'left',
|
|
226
|
+
label: 'Nested',
|
|
227
|
+
items: [
|
|
228
|
+
{
|
|
229
|
+
label: 'Still a dropdown',
|
|
230
|
+
items: [
|
|
231
|
+
{
|
|
232
|
+
label: 'Should reject this',
|
|
233
|
+
to: '/rejected',
|
|
234
|
+
},
|
|
235
|
+
],
|
|
236
|
+
},
|
|
237
|
+
],
|
|
238
|
+
},
|
|
239
|
+
],
|
|
240
|
+
},
|
|
241
|
+
};
|
|
242
|
+
expect(() =>
|
|
243
|
+
testValidateThemeConfig(config),
|
|
244
|
+
).toThrowErrorMatchingInlineSnapshot(`"Nested dropdowns are not allowed"`);
|
|
245
|
+
});
|
|
246
|
+
|
|
247
|
+
test('should reject nested dropdowns', () => {
|
|
248
|
+
const config = {
|
|
249
|
+
navbar: {
|
|
250
|
+
items: [
|
|
251
|
+
{
|
|
252
|
+
position: 'left',
|
|
253
|
+
label: 'Nested',
|
|
254
|
+
items: [{type: 'docsVersionDropdown'}],
|
|
255
|
+
},
|
|
256
|
+
],
|
|
257
|
+
},
|
|
258
|
+
};
|
|
259
|
+
expect(() =>
|
|
260
|
+
testValidateThemeConfig(config),
|
|
261
|
+
).toThrowErrorMatchingInlineSnapshot(`"Nested dropdowns are not allowed"`);
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
test('should reject position attribute within dropdown', () => {
|
|
265
|
+
const config = {
|
|
266
|
+
navbar: {
|
|
267
|
+
items: [
|
|
268
|
+
{
|
|
269
|
+
position: 'left',
|
|
270
|
+
label: 'Dropdown',
|
|
271
|
+
items: [
|
|
272
|
+
{
|
|
273
|
+
label: 'Hi',
|
|
274
|
+
position: 'left',
|
|
275
|
+
to: '/link',
|
|
276
|
+
},
|
|
277
|
+
],
|
|
278
|
+
},
|
|
279
|
+
],
|
|
280
|
+
},
|
|
281
|
+
};
|
|
282
|
+
expect(() =>
|
|
283
|
+
testValidateThemeConfig(config),
|
|
284
|
+
).toThrowErrorMatchingInlineSnapshot(
|
|
285
|
+
`"\\"navbar.items[0].items[0].position\\" is not allowed"`,
|
|
286
|
+
);
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
test('should give friendly error when href and to coexist', () => {
|
|
290
|
+
const config = {
|
|
291
|
+
navbar: {
|
|
292
|
+
items: [
|
|
293
|
+
{
|
|
294
|
+
position: 'left',
|
|
295
|
+
label: 'Nested',
|
|
296
|
+
to: '/link',
|
|
297
|
+
href: 'http://example.com/link',
|
|
298
|
+
},
|
|
299
|
+
],
|
|
300
|
+
},
|
|
301
|
+
};
|
|
302
|
+
expect(() =>
|
|
303
|
+
testValidateThemeConfig(config),
|
|
304
|
+
).toThrowErrorMatchingInlineSnapshot(
|
|
305
|
+
`"One and only one between \\"to\\" and \\"href\\" should be provided"`,
|
|
306
|
+
);
|
|
307
|
+
});
|
|
308
|
+
|
|
184
309
|
test('should allow empty alt tags for the logo image in the header', () => {
|
|
185
310
|
const altTagConfig = {
|
|
186
311
|
navbar: {
|
|
@@ -220,6 +345,27 @@ describe('themeConfig', () => {
|
|
|
220
345
|
});
|
|
221
346
|
});
|
|
222
347
|
|
|
348
|
+
test('should allow width and height specification for logo ', () => {
|
|
349
|
+
const altTagConfig = {
|
|
350
|
+
navbar: {
|
|
351
|
+
logo: {
|
|
352
|
+
alt: '',
|
|
353
|
+
src: '/arbitrary-logo.png',
|
|
354
|
+
srcDark: '/arbitrary-dark-logo.png',
|
|
355
|
+
width: '20px',
|
|
356
|
+
height: '20%',
|
|
357
|
+
},
|
|
358
|
+
},
|
|
359
|
+
};
|
|
360
|
+
expect(testValidateThemeConfig(altTagConfig)).toEqual({
|
|
361
|
+
...DEFAULT_CONFIG,
|
|
362
|
+
navbar: {
|
|
363
|
+
...DEFAULT_CONFIG.navbar,
|
|
364
|
+
...altTagConfig.navbar,
|
|
365
|
+
},
|
|
366
|
+
});
|
|
367
|
+
});
|
|
368
|
+
|
|
223
369
|
test('should accept valid prism config', () => {
|
|
224
370
|
const prismConfig = {
|
|
225
371
|
prism: {
|
|
@@ -331,3 +477,131 @@ describe('themeConfig', () => {
|
|
|
331
477
|
});
|
|
332
478
|
});
|
|
333
479
|
});
|
|
480
|
+
|
|
481
|
+
describe('themeConfig tableOfContents', () => {
|
|
482
|
+
test('toc undefined', () => {
|
|
483
|
+
const tableOfContents = undefined;
|
|
484
|
+
expect(testValidateThemeConfig({tableOfContents})).toEqual({
|
|
485
|
+
...DEFAULT_CONFIG,
|
|
486
|
+
tableOfContents: {
|
|
487
|
+
minHeadingLevel: DEFAULT_CONFIG.tableOfContents.minHeadingLevel,
|
|
488
|
+
maxHeadingLevel: DEFAULT_CONFIG.tableOfContents.maxHeadingLevel,
|
|
489
|
+
},
|
|
490
|
+
});
|
|
491
|
+
});
|
|
492
|
+
|
|
493
|
+
test('toc empty', () => {
|
|
494
|
+
const tableOfContents = {};
|
|
495
|
+
expect(testValidateThemeConfig({tableOfContents})).toEqual({
|
|
496
|
+
...DEFAULT_CONFIG,
|
|
497
|
+
tableOfContents: {
|
|
498
|
+
minHeadingLevel: DEFAULT_CONFIG.tableOfContents.minHeadingLevel,
|
|
499
|
+
maxHeadingLevel: DEFAULT_CONFIG.tableOfContents.maxHeadingLevel,
|
|
500
|
+
},
|
|
501
|
+
});
|
|
502
|
+
});
|
|
503
|
+
|
|
504
|
+
test('toc with min', () => {
|
|
505
|
+
const tableOfContents = {
|
|
506
|
+
minHeadingLevel: 3,
|
|
507
|
+
};
|
|
508
|
+
expect(testValidateThemeConfig({tableOfContents})).toEqual({
|
|
509
|
+
...DEFAULT_CONFIG,
|
|
510
|
+
tableOfContents: {
|
|
511
|
+
minHeadingLevel: 3,
|
|
512
|
+
maxHeadingLevel: DEFAULT_CONFIG.tableOfContents.maxHeadingLevel,
|
|
513
|
+
},
|
|
514
|
+
});
|
|
515
|
+
});
|
|
516
|
+
|
|
517
|
+
test('toc with max', () => {
|
|
518
|
+
const tableOfContents = {
|
|
519
|
+
maxHeadingLevel: 5,
|
|
520
|
+
};
|
|
521
|
+
expect(testValidateThemeConfig({tableOfContents})).toEqual({
|
|
522
|
+
...DEFAULT_CONFIG,
|
|
523
|
+
tableOfContents: {
|
|
524
|
+
minHeadingLevel: DEFAULT_CONFIG.tableOfContents.minHeadingLevel,
|
|
525
|
+
maxHeadingLevel: 5,
|
|
526
|
+
},
|
|
527
|
+
});
|
|
528
|
+
});
|
|
529
|
+
|
|
530
|
+
test('toc with min 2.5', () => {
|
|
531
|
+
const tableOfContents = {
|
|
532
|
+
minHeadingLevel: 2.5,
|
|
533
|
+
};
|
|
534
|
+
expect(() =>
|
|
535
|
+
testValidateThemeConfig({tableOfContents}),
|
|
536
|
+
).toThrowErrorMatchingInlineSnapshot(
|
|
537
|
+
`"\\"tableOfContents.minHeadingLevel\\" must be an integer"`,
|
|
538
|
+
);
|
|
539
|
+
});
|
|
540
|
+
|
|
541
|
+
test('toc with max 2.5', () => {
|
|
542
|
+
const tableOfContents = {
|
|
543
|
+
maxHeadingLevel: 2.5,
|
|
544
|
+
};
|
|
545
|
+
expect(() =>
|
|
546
|
+
testValidateThemeConfig({tableOfContents}),
|
|
547
|
+
).toThrowErrorMatchingInlineSnapshot(
|
|
548
|
+
`"\\"tableOfContents.maxHeadingLevel\\" must be an integer"`,
|
|
549
|
+
);
|
|
550
|
+
});
|
|
551
|
+
|
|
552
|
+
test('toc with min 1', () => {
|
|
553
|
+
const tableOfContents = {
|
|
554
|
+
minHeadingLevel: 1,
|
|
555
|
+
};
|
|
556
|
+
expect(() =>
|
|
557
|
+
testValidateThemeConfig({tableOfContents}),
|
|
558
|
+
).toThrowErrorMatchingInlineSnapshot(
|
|
559
|
+
`"\\"tableOfContents.minHeadingLevel\\" must be greater than or equal to 2"`,
|
|
560
|
+
);
|
|
561
|
+
});
|
|
562
|
+
|
|
563
|
+
test('toc with min 7', () => {
|
|
564
|
+
const tableOfContents = {
|
|
565
|
+
minHeadingLevel: 7,
|
|
566
|
+
};
|
|
567
|
+
expect(() =>
|
|
568
|
+
testValidateThemeConfig({tableOfContents}),
|
|
569
|
+
).toThrowErrorMatchingInlineSnapshot(
|
|
570
|
+
`"\\"tableOfContents.minHeadingLevel\\" must be less than or equal to ref:maxHeadingLevel"`,
|
|
571
|
+
);
|
|
572
|
+
});
|
|
573
|
+
|
|
574
|
+
test('toc with max 1', () => {
|
|
575
|
+
const tableOfContents = {
|
|
576
|
+
maxHeadingLevel: 1,
|
|
577
|
+
};
|
|
578
|
+
expect(() =>
|
|
579
|
+
testValidateThemeConfig({tableOfContents}),
|
|
580
|
+
).toThrowErrorMatchingInlineSnapshot(
|
|
581
|
+
`"\\"tableOfContents.maxHeadingLevel\\" must be greater than or equal to 2"`,
|
|
582
|
+
);
|
|
583
|
+
});
|
|
584
|
+
|
|
585
|
+
test('toc with max 7', () => {
|
|
586
|
+
const tableOfContents = {
|
|
587
|
+
maxHeadingLevel: 7,
|
|
588
|
+
};
|
|
589
|
+
expect(() =>
|
|
590
|
+
testValidateThemeConfig({tableOfContents}),
|
|
591
|
+
).toThrowErrorMatchingInlineSnapshot(
|
|
592
|
+
`"\\"tableOfContents.maxHeadingLevel\\" must be less than or equal to 6"`,
|
|
593
|
+
);
|
|
594
|
+
});
|
|
595
|
+
|
|
596
|
+
test('toc with bad min 5 + max 3', () => {
|
|
597
|
+
const tableOfContents = {
|
|
598
|
+
minHeadingLevel: 5,
|
|
599
|
+
maxHeadingLevel: 3,
|
|
600
|
+
};
|
|
601
|
+
expect(() =>
|
|
602
|
+
testValidateThemeConfig({tableOfContents}),
|
|
603
|
+
).toThrowErrorMatchingInlineSnapshot(
|
|
604
|
+
`"\\"tableOfContents.minHeadingLevel\\" must be less than or equal to ref:maxHeadingLevel"`,
|
|
605
|
+
);
|
|
606
|
+
});
|
|
607
|
+
});
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
.admonition h5 {
|
|
9
|
+
margin-top: 0;
|
|
10
|
+
margin-bottom: 8px;
|
|
11
|
+
text-transform: uppercase;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.admonition-icon {
|
|
15
|
+
display: inline-block;
|
|
16
|
+
vertical-align: middle;
|
|
17
|
+
margin-right: 0.4em;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.admonition-icon svg {
|
|
21
|
+
display: inline-block;
|
|
22
|
+
width: 22px;
|
|
23
|
+
height: 22px;
|
|
24
|
+
stroke-width: 0;
|
|
25
|
+
fill: var(--ifm-alert-foreground-color);
|
|
26
|
+
stroke: var(--ifm-alert-foreground-color);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.admonition-content > :last-child {
|
|
30
|
+
margin-bottom: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.admonition {
|
|
34
|
+
margin-bottom: 1em;
|
|
35
|
+
}
|
package/src/deps.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
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
|
+
declare module 'prism-react-renderer/prism' {
|
|
9
|
+
import type * as PrismNamespace from 'prismjs';
|
|
10
|
+
|
|
11
|
+
const Prism: typeof PrismNamespace;
|
|
12
|
+
export default Prism;
|
|
13
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -5,16 +5,15 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {DocusaurusContext, Plugin} from '@docusaurus/types';
|
|
8
|
+
import {DocusaurusContext, Plugin, PostCssOptions} from '@docusaurus/types';
|
|
9
9
|
import type {ThemeConfig} from '@docusaurus/theme-common';
|
|
10
10
|
import {getTranslationFiles, translateThemeConfig} from './translations';
|
|
11
11
|
import path from 'path';
|
|
12
|
-
import
|
|
13
|
-
import type {
|
|
12
|
+
import {createRequire} from 'module';
|
|
13
|
+
import type {Plugin as PostCssPlugin} from 'postcss';
|
|
14
14
|
import rtlcss from 'rtlcss';
|
|
15
|
-
import {readDefaultCodeTranslationMessages} from '@docusaurus/
|
|
15
|
+
import {readDefaultCodeTranslationMessages} from '@docusaurus/theme-translations';
|
|
16
16
|
|
|
17
|
-
const createRequire = Module.createRequire || Module.createRequireFromPath;
|
|
18
17
|
const requireFromDocusaurusCore = createRequire(
|
|
19
18
|
require.resolve('@docusaurus/core/package.json'),
|
|
20
19
|
);
|
|
@@ -25,8 +24,10 @@ const ContextReplacementPlugin = requireFromDocusaurusCore(
|
|
|
25
24
|
// Need to be inlined to prevent dark mode FOUC
|
|
26
25
|
// Make sure that the 'storageKey' is the same as the one in `/theme/hooks/useTheme.js`
|
|
27
26
|
const ThemeStorageKey = 'theme';
|
|
28
|
-
const noFlashColorMode = ({
|
|
29
|
-
|
|
27
|
+
const noFlashColorMode = ({
|
|
28
|
+
defaultMode,
|
|
29
|
+
respectPrefersColorScheme,
|
|
30
|
+
}: ThemeConfig['colorMode']) => `(function() {
|
|
30
31
|
var defaultMode = '${defaultMode}';
|
|
31
32
|
var respectPrefersColorScheme = ${respectPrefersColorScheme};
|
|
32
33
|
|
|
@@ -61,7 +62,6 @@ const noFlashColorMode = ({defaultMode, respectPrefersColorScheme}) => {
|
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
64
|
})();`;
|
|
64
|
-
};
|
|
65
65
|
|
|
66
66
|
// Duplicated constant. Unfortunately we can't import it from theme-common, as we need to support older nodejs versions without ESM support
|
|
67
67
|
// TODO: import from theme-common once we only support Node.js with ESM support
|
|
@@ -83,14 +83,14 @@ const AnnouncementBarInlineJavaScript = `
|
|
|
83
83
|
document.documentElement.setAttribute('${AnnouncementBarDismissDataAttribute}', isDismissed());
|
|
84
84
|
})();`;
|
|
85
85
|
|
|
86
|
-
function getInfimaCSSFile(direction) {
|
|
86
|
+
function getInfimaCSSFile(direction: string) {
|
|
87
87
|
return `infima/dist/css/default/default${
|
|
88
88
|
direction === 'rtl' ? '-rtl' : ''
|
|
89
89
|
}.css`;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
type PluginOptions = {
|
|
93
|
-
customCss?: string;
|
|
92
|
+
export type PluginOptions = {
|
|
93
|
+
customCss?: string | string[];
|
|
94
94
|
};
|
|
95
95
|
|
|
96
96
|
export default function docusaurusThemeClassic(
|
|
@@ -132,12 +132,17 @@ export default function docusaurusThemeClassic(
|
|
|
132
132
|
},
|
|
133
133
|
|
|
134
134
|
getTranslationFiles: async () => getTranslationFiles({themeConfig}),
|
|
135
|
-
translateThemeConfig,
|
|
136
135
|
|
|
137
|
-
|
|
136
|
+
translateThemeConfig: (params) =>
|
|
137
|
+
translateThemeConfig({
|
|
138
|
+
themeConfig: params.themeConfig as ThemeConfig,
|
|
139
|
+
translationFiles: params.translationFiles,
|
|
140
|
+
}),
|
|
141
|
+
|
|
142
|
+
getDefaultCodeTranslationMessages() {
|
|
138
143
|
return readDefaultCodeTranslationMessages({
|
|
139
|
-
dirPath: path.resolve(__dirname, '..', 'codeTranslations'),
|
|
140
144
|
locale: currentLocale,
|
|
145
|
+
name: 'theme-common',
|
|
141
146
|
});
|
|
142
147
|
},
|
|
143
148
|
|
|
@@ -145,6 +150,7 @@ export default function docusaurusThemeClassic(
|
|
|
145
150
|
const modules = [
|
|
146
151
|
require.resolve(getInfimaCSSFile(direction)),
|
|
147
152
|
path.resolve(__dirname, './prism-include-languages'),
|
|
153
|
+
path.resolve(__dirname, './admonitions.css'),
|
|
148
154
|
];
|
|
149
155
|
|
|
150
156
|
if (customCss) {
|
|
@@ -177,18 +183,18 @@ export default function docusaurusThemeClassic(
|
|
|
177
183
|
};
|
|
178
184
|
},
|
|
179
185
|
|
|
180
|
-
configurePostCss(postCssOptions:
|
|
186
|
+
configurePostCss(postCssOptions: PostCssOptions) {
|
|
181
187
|
if (direction === 'rtl') {
|
|
182
188
|
const resolvedInfimaFile = require.resolve(getInfimaCSSFile(direction));
|
|
183
189
|
const plugin: PostCssPlugin = {
|
|
184
190
|
postcssPlugin: 'RtlCssPlugin',
|
|
185
|
-
prepare: (result
|
|
191
|
+
prepare: (result) => {
|
|
186
192
|
const file = result.root?.source?.input?.file;
|
|
187
193
|
// Skip Infima as we are using the its RTL version.
|
|
188
194
|
if (file === resolvedInfimaFile) {
|
|
189
195
|
return {};
|
|
190
196
|
}
|
|
191
|
-
return rtlcss(result.root);
|
|
197
|
+
return rtlcss(result.root as unknown as rtlcss.ConfigOptions);
|
|
192
198
|
},
|
|
193
199
|
};
|
|
194
200
|
postCssOptions.plugins.push(plugin);
|
|
File without changes
|
|
@@ -9,32 +9,28 @@ import React from 'react';
|
|
|
9
9
|
import clsx from 'clsx';
|
|
10
10
|
import {useThemeConfig, useAnnouncementBar} from '@docusaurus/theme-common';
|
|
11
11
|
import {translate} from '@docusaurus/Translate';
|
|
12
|
+
import IconClose from '@theme/IconClose';
|
|
12
13
|
|
|
13
14
|
import styles from './styles.module.css';
|
|
14
15
|
|
|
15
16
|
function AnnouncementBar(): JSX.Element | null {
|
|
16
|
-
const {
|
|
17
|
+
const {isActive, close} = useAnnouncementBar();
|
|
17
18
|
const {announcementBar} = useThemeConfig();
|
|
18
19
|
|
|
19
|
-
if (!
|
|
20
|
+
if (!isActive) {
|
|
20
21
|
return null;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
const {content, backgroundColor, textColor, isCloseable} = announcementBar
|
|
24
|
-
|
|
25
|
-
if (!content || (isCloseable && isClosed)) {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
24
|
+
const {content, backgroundColor, textColor, isCloseable} = announcementBar!;
|
|
28
25
|
|
|
29
26
|
return (
|
|
30
27
|
<div
|
|
31
28
|
className={styles.announcementBar}
|
|
32
29
|
style={{backgroundColor, color: textColor}}
|
|
33
30
|
role="banner">
|
|
31
|
+
{isCloseable && <div className={styles.announcementBarPlaceholder} />}
|
|
34
32
|
<div
|
|
35
|
-
className={
|
|
36
|
-
[styles.announcementBarCloseable]: isCloseable,
|
|
37
|
-
})}
|
|
33
|
+
className={styles.announcementBarContent}
|
|
38
34
|
// Developer provided the HTML, so assume it's safe.
|
|
39
35
|
// eslint-disable-next-line react/no-danger
|
|
40
36
|
dangerouslySetInnerHTML={{__html: content}}
|
|
@@ -42,14 +38,14 @@ function AnnouncementBar(): JSX.Element | null {
|
|
|
42
38
|
{isCloseable ? (
|
|
43
39
|
<button
|
|
44
40
|
type="button"
|
|
45
|
-
className={clsx(
|
|
41
|
+
className={clsx('clean-btn close', styles.announcementBarClose)}
|
|
46
42
|
onClick={close}
|
|
47
43
|
aria-label={translate({
|
|
48
44
|
id: 'theme.AnnouncementBar.closeButtonAriaLabel',
|
|
49
45
|
message: 'Close',
|
|
50
46
|
description: 'The ARIA label for close button of announcement bar',
|
|
51
47
|
})}>
|
|
52
|
-
<
|
|
48
|
+
<IconClose width={14} height={14} strokeWidth={3.1} />
|
|
53
49
|
</button>
|
|
54
50
|
) : null}
|
|
55
51
|
</div>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
.announcementBar {
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
display: flex;
|
|
14
|
+
align-items: center;
|
|
15
15
|
height: var(--docusaurus-announcement-bar-height);
|
|
16
16
|
background-color: var(--ifm-color-white);
|
|
17
17
|
color: var(--ifm-color-black);
|
|
@@ -22,47 +22,27 @@ html[data-announcement-bar-initially-dismissed='true'] .announcementBar {
|
|
|
22
22
|
display: none;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
display: none;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
@media screen and (min-width: 1024px) {
|
|
32
|
-
:root {
|
|
33
|
-
--docusaurus-announcement-bar-height: 30px;
|
|
34
|
-
}
|
|
25
|
+
.announcementBarPlaceholder {
|
|
26
|
+
flex: 0 0 10px;
|
|
35
27
|
}
|
|
36
28
|
|
|
37
29
|
.announcementBarClose {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
font-size: 1.25rem;
|
|
43
|
-
height: 100%;
|
|
30
|
+
flex: 0 0 30px;
|
|
31
|
+
align-self: stretch;
|
|
32
|
+
padding: 0;
|
|
33
|
+
line-height: 0;
|
|
44
34
|
}
|
|
45
35
|
|
|
46
36
|
.announcementBarContent {
|
|
37
|
+
flex: 1 1 auto;
|
|
47
38
|
font-size: 85%;
|
|
48
|
-
width: 100%;
|
|
49
39
|
text-align: center;
|
|
50
40
|
padding: 5px 0;
|
|
51
41
|
}
|
|
52
42
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
@media screen and (max-width: 576px) {
|
|
58
|
-
.announcementBarClose {
|
|
59
|
-
width: 35px;
|
|
60
|
-
}
|
|
61
|
-
.announcementBarContent {
|
|
62
|
-
width: auto;
|
|
63
|
-
}
|
|
64
|
-
.announcementBarCloseable {
|
|
65
|
-
margin-right: 35px;
|
|
43
|
+
@media print {
|
|
44
|
+
.announcementBar {
|
|
45
|
+
display: none;
|
|
66
46
|
}
|
|
67
47
|
}
|
|
68
48
|
|
|
@@ -70,3 +50,14 @@ html[data-announcement-bar-initially-dismissed='true'] .announcementBar {
|
|
|
70
50
|
color: inherit;
|
|
71
51
|
text-decoration: underline;
|
|
72
52
|
}
|
|
53
|
+
|
|
54
|
+
@media (min-width: 997px) {
|
|
55
|
+
:root {
|
|
56
|
+
--docusaurus-announcement-bar-height: 30px;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.announcementBarPlaceholder,
|
|
60
|
+
.announcementBarClose {
|
|
61
|
+
flex-basis: 50px;
|
|
62
|
+
}
|
|
63
|
+
}
|