@docusaurus/theme-classic 2.0.0-beta.15a2b59f9 → 2.0.0-beta.17
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 +2 -2
- package/lib/admonitions.css +35 -0
- package/{lib-next/theme/Toggle/styles.module.css → lib/deps.d.ts} +5 -9
- package/lib/getSwizzleConfig.js +125 -0
- package/lib/index.js +36 -41
- package/lib/prism-include-languages.js +9 -5
- package/lib/theme-classic.d.ts +771 -0
- package/lib/translations.js +40 -34
- package/lib/types.d.ts +0 -587
- package/lib/validateThemeConfig.js +242 -250
- package/lib-next/theme/Admonition/index.js +101 -0
- package/lib-next/theme/AnnouncementBar/index.js +8 -16
- 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 +44 -0
- package/lib-next/theme/BlogArchivePage/index.js +80 -0
- package/lib-next/theme/BlogLayout/index.js +37 -0
- package/lib-next/theme/BlogListPage/index.js +18 -29
- package/lib-next/theme/BlogListPaginator/index.js +13 -16
- package/lib-next/theme/BlogPostAuthor/index.js +52 -0
- package/{lib/theme/IconEdit → lib-next/theme/BlogPostAuthor}/styles.module.css +4 -3
- package/lib-next/theme/BlogPostAuthors/index.js +44 -0
- package/{src/theme/Toggle → lib-next/theme/BlogPostAuthors}/styles.module.css +11 -7
- package/lib-next/theme/BlogPostItem/index.js +94 -96
- package/lib-next/theme/BlogPostPage/index.js +75 -39
- package/lib-next/theme/BlogPostPaginator/index.js +12 -19
- package/lib-next/theme/BlogSidebar/index.js +11 -13
- package/lib-next/theme/BlogSidebar/styles.module.css +4 -2
- package/lib-next/theme/BlogTagsListPage/index.js +15 -59
- package/lib-next/theme/BlogTagsPostsPage/index.js +33 -41
- package/lib-next/theme/CodeBlock/index.js +64 -154
- package/lib-next/theme/CodeBlock/styles.module.css +17 -9
- package/lib-next/theme/ColorModeToggle/index.js +83 -0
- package/lib-next/theme/ColorModeToggle/styles.module.css +51 -0
- package/lib-next/theme/Details/index.js +21 -0
- package/lib-next/theme/Details/styles.module.css +13 -0
- package/lib-next/theme/DocBreadcrumbs/index.js +76 -0
- package/lib-next/theme/DocBreadcrumbs/styles.module.css +26 -0
- package/lib-next/theme/DocCard/index.js +91 -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 +54 -0
- package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
- package/lib-next/theme/DocItem/index.js +53 -58
- package/lib-next/theme/DocItem/styles.module.css +6 -10
- 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 +54 -55
- package/lib-next/theme/DocPage/styles.module.css +9 -3
- package/lib-next/theme/DocPaginator/index.js +15 -24
- package/lib-next/theme/DocSidebar/index.js +65 -286
- package/lib-next/theme/DocSidebar/styles.module.css +5 -22
- package/lib-next/theme/DocSidebarItem/index.js +264 -0
- package/{lib/theme/BlogPostItem → lib-next/theme/DocSidebarItem}/styles.module.css +5 -10
- package/lib-next/theme/DocSidebarItems/index.js +28 -0
- package/lib-next/theme/DocTagDocListPage/index.js +89 -0
- package/lib-next/theme/DocTagsListPage/index.js +35 -0
- package/lib-next/theme/DocVersionBadge/index.js +34 -0
- package/lib-next/theme/DocVersionBanner/index.js +32 -15
- package/lib-next/theme/EditThisPage/index.js +6 -1
- package/lib-next/theme/ErrorPageContent.js +35 -0
- package/lib-next/theme/Footer/index.js +95 -40
- package/lib-next/theme/Footer/styles.module.css +2 -1
- package/lib-next/theme/Heading/index.js +39 -48
- package/lib-next/theme/Heading/styles.module.css +25 -5
- package/lib-next/theme/IconArrow/index.js +2 -5
- package/lib-next/theme/IconClose/index.js +23 -0
- package/lib-next/theme/IconDarkMode/index.js +17 -0
- package/lib-next/theme/IconEdit/index.js +2 -5
- package/lib-next/theme/IconExternalLink/index.js +2 -5
- package/lib-next/theme/IconLanguage/index.js +5 -8
- package/lib-next/theme/IconLightMode/index.js +17 -0
- package/lib-next/theme/IconMenu/index.js +7 -5
- package/lib-next/theme/LastUpdated/index.js +3 -2
- package/lib-next/theme/Layout/index.js +5 -7
- package/lib-next/theme/LayoutHead/index.js +27 -32
- package/lib-next/theme/LayoutProviders/index.js +15 -9
- package/lib-next/theme/Logo/index.js +25 -24
- package/lib-next/theme/MDXComponents/index.js +59 -30
- package/{src/theme/hooks → lib-next/theme/MDXComponents}/styles.css +7 -2
- package/lib-next/theme/MDXPage/index.js +10 -12
- package/lib-next/theme/Navbar/index.js +199 -64
- package/lib-next/theme/Navbar/styles.module.css +10 -3
- package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +35 -201
- package/lib-next/theme/NavbarItem/DocNavbarItem.js +11 -8
- package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +73 -0
- package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +34 -20
- package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +4 -1
- package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +156 -0
- package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +12 -13
- package/{lib/theme/hooks/styles.css → lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css} +3 -2
- package/lib-next/theme/NavbarItem/NavbarNavLink.js +70 -0
- package/lib-next/theme/NavbarItem/index.js +26 -14
- package/lib-next/theme/{UserPreferencesContext.js → NavbarItem/utils.js} +3 -3
- package/lib-next/theme/NotFound.js +1 -4
- package/lib-next/theme/PaginatorNavLink/index.js +17 -0
- package/lib-next/theme/SearchBar.js +1 -1
- package/lib-next/theme/SearchMetadata/index.js +34 -0
- package/lib-next/theme/Seo/index.js +11 -7
- package/lib-next/theme/SkipToContent/index.js +3 -5
- package/lib-next/theme/SkipToContent/styles.module.css +7 -0
- package/lib-next/theme/TOC/index.js +12 -39
- 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 -31
- package/lib-next/theme/TOCItems/index.js +85 -0
- package/lib-next/theme/TabItem/index.js +1 -4
- package/lib-next/theme/Tabs/__tests__/index.test.js +146 -0
- package/lib-next/theme/Tabs/index.js +108 -50
- package/lib-next/theme/Tabs/styles.module.css +0 -13
- package/lib-next/theme/Tag/index.js +24 -0
- package/lib-next/theme/Tag/styles.module.css +70 -0
- package/lib-next/theme/TagsListByLetter/index.js +40 -0
- package/lib-next/theme/{hooks/styles.css → TagsListByLetter/styles.module.css} +3 -2
- package/lib-next/theme/TagsListInline/index.js +31 -0
- package/lib-next/theme/TagsListInline/styles.module.css +15 -0
- package/lib-next/theme/ThemedImage/index.js +7 -10
- package/lib-next/theme/ThemedImage/styles.module.css +2 -2
- package/lib-next/theme/prism-include-languages.js +17 -15
- package/package.json +31 -31
- package/src/admonitions.css +35 -0
- package/src/deps.d.ts +13 -0
- package/src/getSwizzleConfig.ts +123 -0
- package/src/index.ts +39 -61
- 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 +9 -15
- package/src/theme/AnnouncementBar/styles.module.css +23 -32
- package/src/theme/BackToTopButton/index.tsx +143 -0
- package/src/theme/BackToTopButton/styles.module.css +44 -0
- package/src/theme/BlogArchivePage/index.tsx +91 -0
- package/src/theme/BlogLayout/index.tsx +42 -0
- package/src/theme/BlogListPage/index.tsx +19 -28
- package/src/theme/BlogListPaginator/index.tsx +13 -15
- package/src/theme/BlogPostAuthor/index.tsx +54 -0
- package/{lib/theme/MDXPage → src/theme/BlogPostAuthor}/styles.module.css +4 -2
- package/src/theme/BlogPostAuthors/index.tsx +49 -0
- package/src/theme/BlogPostAuthors/styles.module.css +21 -0
- package/src/theme/BlogPostItem/index.tsx +84 -90
- package/src/theme/BlogPostPage/index.tsx +77 -38
- package/src/theme/BlogPostPaginator/index.tsx +12 -18
- package/src/theme/BlogSidebar/index.tsx +11 -13
- package/src/theme/BlogSidebar/styles.module.css +4 -2
- package/src/theme/BlogTagsListPage/index.tsx +15 -60
- package/src/theme/BlogTagsPostsPage/index.tsx +32 -40
- package/src/theme/CodeBlock/index.tsx +68 -156
- package/src/theme/CodeBlock/styles.module.css +17 -9
- package/src/theme/ColorModeToggle/index.tsx +92 -0
- package/src/theme/ColorModeToggle/styles.module.css +51 -0
- package/src/theme/Details/index.tsx +25 -0
- package/src/theme/Details/styles.module.css +13 -0
- package/src/theme/DocBreadcrumbs/index.tsx +91 -0
- package/src/theme/DocBreadcrumbs/styles.module.css +26 -0
- package/src/theme/DocCard/index.tsx +109 -0
- package/src/theme/DocCard/styles.module.css +43 -0
- package/src/theme/DocCardList/index.tsx +27 -0
- package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +59 -0
- package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
- package/src/theme/DocItem/index.tsx +56 -58
- package/src/theme/DocItem/styles.module.css +6 -10
- package/src/theme/DocItemFooter/index.tsx +91 -0
- package/{lib/theme/Toggle → src/theme/DocItemFooter}/styles.module.css +9 -8
- package/src/theme/DocPage/index.tsx +53 -49
- package/src/theme/DocPage/styles.module.css +9 -3
- package/src/theme/DocPaginator/index.tsx +15 -23
- package/src/theme/DocSidebar/index.tsx +76 -298
- package/src/theme/DocSidebar/styles.module.css +5 -22
- package/src/theme/DocSidebarItem/index.tsx +283 -0
- package/src/theme/DocSidebarItem/styles.module.css +13 -0
- package/src/theme/DocSidebarItems/index.tsx +32 -0
- package/src/theme/DocTagDocListPage/index.tsx +89 -0
- package/src/theme/DocTagsListPage/index.tsx +39 -0
- package/src/theme/DocVersionBadge/index.tsx +35 -0
- package/src/theme/DocVersionBanner/index.tsx +49 -22
- package/src/theme/EditThisPage/index.tsx +6 -1
- package/src/theme/ErrorPageContent.tsx +41 -0
- package/src/theme/Footer/index.tsx +109 -44
- package/src/theme/Footer/styles.module.css +2 -1
- package/src/theme/Heading/index.tsx +38 -53
- package/src/theme/Heading/styles.module.css +25 -5
- package/src/theme/IconArrow/index.tsx +2 -4
- package/src/theme/IconClose/index.tsx +26 -0
- package/src/theme/IconDarkMode/index.tsx +20 -0
- package/src/theme/IconEdit/index.tsx +5 -4
- package/src/theme/IconExternalLink/index.tsx +3 -5
- package/src/theme/IconLanguage/index.tsx +6 -8
- package/src/theme/IconLightMode/index.tsx +20 -0
- package/src/theme/IconMenu/index.tsx +3 -5
- package/src/theme/LastUpdated/index.tsx +3 -2
- package/src/theme/Layout/index.tsx +5 -6
- package/src/theme/LayoutHead/index.tsx +26 -25
- package/src/theme/LayoutProviders/index.tsx +15 -9
- package/src/theme/Logo/index.tsx +21 -19
- package/src/theme/MDXComponents/index.tsx +70 -32
- package/{lib/theme/IconExternalLink/styles.module.css → src/theme/MDXComponents/styles.css} +7 -4
- package/src/theme/MDXPage/index.tsx +10 -12
- package/src/theme/Navbar/index.tsx +208 -68
- package/src/theme/Navbar/styles.module.css +10 -3
- package/src/theme/NavbarItem/DefaultNavbarItem.tsx +37 -207
- package/src/theme/NavbarItem/DocNavbarItem.tsx +17 -18
- package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +84 -0
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +39 -24
- 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} +16 -10
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/src/theme/NavbarItem/NavbarNavLink.tsx +68 -0
- package/src/theme/NavbarItem/index.tsx +41 -18
- package/src/theme/NavbarItem/utils.ts +10 -0
- package/src/theme/NotFound.tsx +1 -3
- package/src/theme/PaginatorNavLink/index.tsx +20 -0
- package/src/theme/SearchBar.tsx +2 -1
- package/src/theme/SearchMetadata/index.tsx +43 -0
- package/src/theme/Seo/index.tsx +7 -4
- package/src/theme/SkipToContent/index.tsx +3 -5
- package/src/theme/SkipToContent/styles.module.css +7 -0
- package/src/theme/TOC/index.tsx +13 -44
- 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 +14 -35
- package/src/theme/TOCItems/index.tsx +100 -0
- package/src/theme/TabItem/index.tsx +5 -3
- package/src/theme/Tabs/index.tsx +115 -56
- package/src/theme/Tabs/styles.module.css +0 -13
- package/src/theme/Tag/index.tsx +29 -0
- package/src/theme/Tag/styles.module.css +70 -0
- package/src/theme/TagsListByLetter/index.tsx +43 -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/ThemedImage/index.tsx +7 -9
- package/src/theme/ThemedImage/styles.module.css +2 -2
- package/src/theme/prism-include-languages.ts +20 -15
- package/src/theme-classic.d.ts +771 -0
- package/src/translations.ts +74 -54
- package/src/types.d.ts +0 -587
- package/src/validateThemeConfig.ts +381 -0
- 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 -80
- package/lib/theme/DocPaginator/index.js +0 -63
- package/lib/theme/DocSidebar/index.js +0 -309
- 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 -115
- package/lib/theme/Footer/styles.module.css +0 -15
- 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 -71
- 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/ThemedImage/styles.module.css +0 -18
- package/lib/theme/Toggle/index.js +0 -94
- package/lib/theme/Toggle/styles.css +0 -103
- 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/Heading/styles.css +0 -23
- package/lib-next/theme/SearchMetadatas/index.js +0 -20
- package/lib-next/theme/ThemeContext.js +0 -9
- package/lib-next/theme/ThemeProvider/index.js +0 -25
- package/lib-next/theme/Toggle/index.js +0 -80
- package/lib-next/theme/Toggle/styles.css +0 -103
- package/lib-next/theme/UserPreferencesProvider/index.js +0 -24
- package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
- package/lib-next/theme/hooks/useDocs.js +0 -10
- package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
- package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
- package/lib-next/theme/hooks/useLocationHash.js +0 -20
- package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
- package/lib-next/theme/hooks/usePrismTheme.js +0 -20
- package/lib-next/theme/hooks/useScrollPosition.js +0 -38
- package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
- package/lib-next/theme/hooks/useTabGroupChoice.js +0 -39
- package/lib-next/theme/hooks/useTheme.js +0 -82
- package/lib-next/theme/hooks/useThemeContext.js +0 -22
- package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
- package/lib-next/theme/hooks/useWindowSize.js +0 -45
- package/lib-next/translations.js +0 -145
- package/lib-next/types.d.ts +0 -598
- 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/Heading/styles.css +0 -23
- package/src/theme/SearchMetadatas/index.tsx +0 -28
- package/src/theme/ThemeContext.ts +0 -15
- package/src/theme/ThemeProvider/index.tsx +0 -24
- package/src/theme/Toggle/index.tsx +0 -100
- package/src/theme/Toggle/styles.css +0 -103
- package/src/theme/UserPreferencesContext.ts +0 -12
- package/src/theme/UserPreferencesProvider/index.tsx +0 -27
- package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
- package/src/theme/hooks/useDocs.ts +0 -11
- package/src/theme/hooks/useHideableNavbar.ts +0 -85
- package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
- package/src/theme/hooks/useLocationHash.ts +0 -25
- package/src/theme/hooks/useLockBodyScroll.ts +0 -20
- package/src/theme/hooks/usePrismTheme.ts +0 -22
- package/src/theme/hooks/useScrollPosition.ts +0 -45
- package/src/theme/hooks/useTOCHighlight.ts +0 -98
- package/src/theme/hooks/useTabGroupChoice.ts +0 -46
- package/src/theme/hooks/useTheme.ts +0 -92
- package/src/theme/hooks/useThemeContext.ts +0 -23
- package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
- package/src/theme/hooks/useWindowSize.ts +0 -51
- package/src/validateThemeConfig.js +0 -317
- package/tsconfig.json +0 -12
- package/update-code-translations.js +0 -240
- package/update-code-translations.test.js +0 -33
|
@@ -0,0 +1,76 @@
|
|
|
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 {
|
|
9
|
+
ThemeClassNames,
|
|
10
|
+
useSidebarBreadcrumbs,
|
|
11
|
+
useHomePageRoute,
|
|
12
|
+
} from '@docusaurus/theme-common';
|
|
13
|
+
import styles from './styles.module.css';
|
|
14
|
+
import clsx from 'clsx';
|
|
15
|
+
import Link from '@docusaurus/Link';
|
|
16
|
+
import useBaseUrl from '@docusaurus/useBaseUrl'; // TODO move to design system folder
|
|
17
|
+
|
|
18
|
+
function BreadcrumbsItemLink({children, href}) {
|
|
19
|
+
const className = clsx('breadcrumbs__link', styles.breadcrumbsItemLink);
|
|
20
|
+
return href ? (
|
|
21
|
+
<Link className={className} href={href}>
|
|
22
|
+
{children}
|
|
23
|
+
</Link>
|
|
24
|
+
) : (
|
|
25
|
+
<span className={className}>{children}</span>
|
|
26
|
+
);
|
|
27
|
+
} // TODO move to design system folder
|
|
28
|
+
|
|
29
|
+
function BreadcrumbsItem({children, active}) {
|
|
30
|
+
return (
|
|
31
|
+
<li
|
|
32
|
+
className={clsx('breadcrumbs__item', {
|
|
33
|
+
'breadcrumbs__item--active': active,
|
|
34
|
+
})}>
|
|
35
|
+
{children}
|
|
36
|
+
</li>
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function HomeBreadcrumbItem() {
|
|
41
|
+
const homeHref = useBaseUrl('/');
|
|
42
|
+
return (
|
|
43
|
+
<BreadcrumbsItem>
|
|
44
|
+
<BreadcrumbsItemLink href={homeHref}>🏠</BreadcrumbsItemLink>
|
|
45
|
+
</BreadcrumbsItem>
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export default function DocBreadcrumbs() {
|
|
50
|
+
const breadcrumbs = useSidebarBreadcrumbs();
|
|
51
|
+
const homePageRoute = useHomePageRoute();
|
|
52
|
+
|
|
53
|
+
if (!breadcrumbs) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return (
|
|
58
|
+
<nav
|
|
59
|
+
className={clsx(
|
|
60
|
+
ThemeClassNames.docs.docBreadcrumbs,
|
|
61
|
+
styles.breadcrumbsContainer,
|
|
62
|
+
)}
|
|
63
|
+
aria-label="breadcrumbs">
|
|
64
|
+
<ul className="breadcrumbs">
|
|
65
|
+
{homePageRoute && <HomeBreadcrumbItem />}
|
|
66
|
+
{breadcrumbs.map((item, idx) => (
|
|
67
|
+
<BreadcrumbsItem key={idx} active={idx === breadcrumbs.length - 1}>
|
|
68
|
+
<BreadcrumbsItemLink href={item.href}>
|
|
69
|
+
{item.label}
|
|
70
|
+
</BreadcrumbsItemLink>
|
|
71
|
+
</BreadcrumbsItem>
|
|
72
|
+
))}
|
|
73
|
+
</ul>
|
|
74
|
+
</nav>
|
|
75
|
+
);
|
|
76
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
.breadcrumbsContainer {
|
|
9
|
+
margin-bottom: 0.4rem;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.breadcrumbsItemLink {
|
|
13
|
+
--ifm-breadcrumb-size-multiplier: 0.7 !important;
|
|
14
|
+
margin-bottom: 0.4rem;
|
|
15
|
+
background: var(--ifm-color-gray-100);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
html[data-theme='dark'] .breadcrumbsItemLink {
|
|
19
|
+
background-color: var(--ifm-color-gray-900);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@media (min-width: 997px) {
|
|
23
|
+
.breadcrumbsItemLink {
|
|
24
|
+
--ifm-breadcrumb-size-multiplier: 0.8;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
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 Link from '@docusaurus/Link';
|
|
9
|
+
import {findFirstCategoryLink, useDocById} from '@docusaurus/theme-common';
|
|
10
|
+
import clsx from 'clsx';
|
|
11
|
+
import styles from './styles.module.css';
|
|
12
|
+
import isInternalUrl from '@docusaurus/isInternalUrl';
|
|
13
|
+
import {translate} from '@docusaurus/Translate';
|
|
14
|
+
|
|
15
|
+
function CardContainer({href, children}) {
|
|
16
|
+
const className = clsx(
|
|
17
|
+
'card margin-bottom--lg padding--lg',
|
|
18
|
+
styles.cardContainer,
|
|
19
|
+
href && styles.cardContainerLink,
|
|
20
|
+
);
|
|
21
|
+
return href ? (
|
|
22
|
+
<Link href={href} className={className}>
|
|
23
|
+
{children}
|
|
24
|
+
</Link>
|
|
25
|
+
) : (
|
|
26
|
+
<div className={className}>{children}</div>
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function CardLayout({href, icon, title, description}) {
|
|
31
|
+
return (
|
|
32
|
+
<CardContainer href={href}>
|
|
33
|
+
<h2 className={clsx('text--truncate', styles.cardTitle)} title={title}>
|
|
34
|
+
{icon} {title}
|
|
35
|
+
</h2>
|
|
36
|
+
<div
|
|
37
|
+
className={clsx('text--truncate', styles.cardDescription)}
|
|
38
|
+
title={description}>
|
|
39
|
+
{description}
|
|
40
|
+
</div>
|
|
41
|
+
</CardContainer>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function CardCategory({item}) {
|
|
46
|
+
const href = findFirstCategoryLink(item);
|
|
47
|
+
return (
|
|
48
|
+
<CardLayout
|
|
49
|
+
href={href}
|
|
50
|
+
icon="🗃️"
|
|
51
|
+
title={item.label}
|
|
52
|
+
description={translate(
|
|
53
|
+
{
|
|
54
|
+
message: '{count} items',
|
|
55
|
+
id: 'theme.docs.DocCard.categoryDescription',
|
|
56
|
+
description:
|
|
57
|
+
'The default description for a category card in the generated index about how many items this category includes',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
count: item.items.length,
|
|
61
|
+
},
|
|
62
|
+
)}
|
|
63
|
+
/>
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function CardLink({item}) {
|
|
68
|
+
const icon = isInternalUrl(item.href) ? '📄️' : '🔗';
|
|
69
|
+
const doc = useDocById(item.docId ?? undefined);
|
|
70
|
+
return (
|
|
71
|
+
<CardLayout
|
|
72
|
+
href={item.href}
|
|
73
|
+
icon={icon}
|
|
74
|
+
title={item.label}
|
|
75
|
+
description={doc?.description}
|
|
76
|
+
/>
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export default function DocCard({item}) {
|
|
81
|
+
switch (item.type) {
|
|
82
|
+
case 'link':
|
|
83
|
+
return <CardLink item={item} />;
|
|
84
|
+
|
|
85
|
+
case 'category':
|
|
86
|
+
return <CardCategory item={item} />;
|
|
87
|
+
|
|
88
|
+
default:
|
|
89
|
+
throw new Error(`unknown item type ${JSON.stringify(item)}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
.cardContainer {
|
|
9
|
+
height: 8rem;
|
|
10
|
+
color: var(--ifm-color-emphasis-800);
|
|
11
|
+
--ifm-link-color: var(--ifm-color-emphasis-800);
|
|
12
|
+
--ifm-link-hover-color: var(--ifm-color-emphasis-800);
|
|
13
|
+
--ifm-link-hover-decoration: none;
|
|
14
|
+
|
|
15
|
+
/* box-shadow: var(--ifm-global-shadow-lw); */
|
|
16
|
+
box-shadow: 0 1.5px 3px 0 rgb(0 0 0 / 15%);
|
|
17
|
+
border: 1px solid var(--ifm-color-emphasis-200);
|
|
18
|
+
transition: box-shadow var(--ifm-transition-fast) ease,
|
|
19
|
+
background-color var(--ifm-transition-fast) ease;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.cardContainer.cardContainerLink:hover {
|
|
23
|
+
/* box-shadow: var(--ifm-global-shadow-md); */
|
|
24
|
+
box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
[data-theme='dark'] .cardContainer.cardContainerLink:hover {
|
|
28
|
+
--ifm-card-background-color: #2d2d2d; /* original, non-hovered color is #242526 */
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.cardContainer:not(.cardContainerLink) {
|
|
32
|
+
cursor: not-allowed;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.cardTitle {
|
|
36
|
+
font-size: 1.2rem;
|
|
37
|
+
min-height: 1.2rem;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.cardDescription {
|
|
41
|
+
font-size: 0.8rem;
|
|
42
|
+
min-height: 0.8rem;
|
|
43
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
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 DocCard from '@theme/DocCard';
|
|
9
|
+
export default function DocCardList({items}) {
|
|
10
|
+
return (
|
|
11
|
+
<div className="row">
|
|
12
|
+
{items.map((item, index) => (
|
|
13
|
+
<article key={index} className="col col--6">
|
|
14
|
+
<DocCard item={item} />
|
|
15
|
+
</article>
|
|
16
|
+
))}
|
|
17
|
+
</div>
|
|
18
|
+
);
|
|
19
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
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 {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
|
9
|
+
import DocCardList from '@theme/DocCardList';
|
|
10
|
+
import DocPaginator from '@theme/DocPaginator';
|
|
11
|
+
import Seo from '@theme/Seo';
|
|
12
|
+
import DocVersionBanner from '@theme/DocVersionBanner';
|
|
13
|
+
import DocVersionBadge from '@theme/DocVersionBadge';
|
|
14
|
+
import DocBreadcrumbs from '@theme/DocBreadcrumbs';
|
|
15
|
+
import Heading from '@theme/Heading';
|
|
16
|
+
import useBaseUrl from '@docusaurus/useBaseUrl';
|
|
17
|
+
import styles from './styles.module.css';
|
|
18
|
+
export default function DocCategoryGeneratedIndexPage({
|
|
19
|
+
categoryGeneratedIndex,
|
|
20
|
+
}) {
|
|
21
|
+
const category = useCurrentSidebarCategory();
|
|
22
|
+
return (
|
|
23
|
+
<>
|
|
24
|
+
<Seo
|
|
25
|
+
title={categoryGeneratedIndex.title}
|
|
26
|
+
description={categoryGeneratedIndex.description}
|
|
27
|
+
keywords={categoryGeneratedIndex.keywords} // TODO `require` this?
|
|
28
|
+
image={useBaseUrl(categoryGeneratedIndex.image)}
|
|
29
|
+
/>
|
|
30
|
+
<div className={styles.generatedIndexPage}>
|
|
31
|
+
<DocVersionBanner />
|
|
32
|
+
<DocBreadcrumbs />
|
|
33
|
+
<DocVersionBadge />
|
|
34
|
+
<header>
|
|
35
|
+
<Heading as="h1" className={styles.title}>
|
|
36
|
+
{categoryGeneratedIndex.title}
|
|
37
|
+
</Heading>
|
|
38
|
+
{categoryGeneratedIndex.description && (
|
|
39
|
+
<p>{categoryGeneratedIndex.description}</p>
|
|
40
|
+
)}
|
|
41
|
+
</header>
|
|
42
|
+
<main className="margin-top--lg">
|
|
43
|
+
<DocCardList items={category.items} />
|
|
44
|
+
</main>
|
|
45
|
+
<footer className="margin-top--lg">
|
|
46
|
+
<DocPaginator
|
|
47
|
+
previous={categoryGeneratedIndex.navigation.previous}
|
|
48
|
+
next={categoryGeneratedIndex.navigation.next}
|
|
49
|
+
/>
|
|
50
|
+
</footer>
|
|
51
|
+
</div>
|
|
52
|
+
</>
|
|
53
|
+
);
|
|
54
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
@media (min-width: 997px) {
|
|
9
|
+
.generatedIndexPage {
|
|
10
|
+
max-width: 75% !important;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* Duplicated from .markdown h1 */
|
|
15
|
+
.title {
|
|
16
|
+
--ifm-h1-font-size: 3rem;
|
|
17
|
+
margin-bottom: calc(1.25 * var(--ifm-leading));
|
|
18
|
+
}
|
|
@@ -5,47 +5,40 @@
|
|
|
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';
|
|
8
9
|
import DocPaginator from '@theme/DocPaginator';
|
|
9
10
|
import DocVersionBanner from '@theme/DocVersionBanner';
|
|
11
|
+
import DocVersionBadge from '@theme/DocVersionBadge';
|
|
10
12
|
import Seo from '@theme/Seo';
|
|
11
|
-
import
|
|
13
|
+
import DocItemFooter from '@theme/DocItemFooter';
|
|
12
14
|
import TOC from '@theme/TOC';
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import clsx from 'clsx';
|
|
15
|
+
import TOCCollapsible from '@theme/TOCCollapsible';
|
|
16
|
+
import Heading from '@theme/Heading';
|
|
16
17
|
import styles from './styles.module.css';
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
function DocItem(props) {
|
|
20
|
-
const {content: DocContent
|
|
21
|
-
const {metadata, frontMatter} = DocContent;
|
|
18
|
+
import {ThemeClassNames, useWindowSize} from '@docusaurus/theme-common';
|
|
19
|
+
import DocBreadcrumbs from '@theme/DocBreadcrumbs';
|
|
20
|
+
export default function DocItem(props) {
|
|
21
|
+
const {content: DocContent} = props;
|
|
22
|
+
const {metadata, frontMatter, assets} = DocContent;
|
|
22
23
|
const {
|
|
23
|
-
image,
|
|
24
24
|
keywords,
|
|
25
25
|
hide_title: hideTitle,
|
|
26
26
|
hide_table_of_contents: hideTableOfContents,
|
|
27
|
+
toc_min_heading_level: tocMinHeadingLevel,
|
|
28
|
+
toc_max_heading_level: tocMaxHeadingLevel,
|
|
27
29
|
} = frontMatter;
|
|
28
|
-
const {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
editUrl,
|
|
32
|
-
lastUpdatedAt,
|
|
33
|
-
formattedLastUpdatedAt,
|
|
34
|
-
lastUpdatedBy,
|
|
35
|
-
} = metadata;
|
|
36
|
-
const {pluginId} = useActivePlugin({
|
|
37
|
-
failfast: true,
|
|
38
|
-
});
|
|
39
|
-
const versions = useVersions(pluginId); // If site is not versioned or only one version is included
|
|
40
|
-
// we don't show the version badge
|
|
41
|
-
// See https://github.com/facebook/docusaurus/issues/3362
|
|
42
|
-
|
|
43
|
-
const showVersionBadge = versions.length > 1; // We only add a title if:
|
|
44
|
-
// - user asks to hide it with frontmatter
|
|
30
|
+
const {description, title} = metadata;
|
|
31
|
+
const image = assets.image ?? frontMatter.image; // We only add a title if:
|
|
32
|
+
// - user asks to hide it with front matter
|
|
45
33
|
// - the markdown content does not already contain a top-level h1 heading
|
|
46
34
|
|
|
47
35
|
const shouldAddTitle =
|
|
48
36
|
!hideTitle && typeof DocContent.contentTitle === 'undefined';
|
|
37
|
+
const windowSize = useWindowSize();
|
|
38
|
+
const canRenderTOC =
|
|
39
|
+
!hideTableOfContents && DocContent.toc && DocContent.toc.length > 0;
|
|
40
|
+
const renderTocDesktop =
|
|
41
|
+
canRenderTOC && (windowSize === 'desktop' || windowSize === 'ssr');
|
|
49
42
|
return (
|
|
50
43
|
<>
|
|
51
44
|
<Seo
|
|
@@ -62,56 +55,58 @@ function DocItem(props) {
|
|
|
62
55
|
className={clsx('col', {
|
|
63
56
|
[styles.docItemCol]: !hideTableOfContents,
|
|
64
57
|
})}>
|
|
65
|
-
<DocVersionBanner
|
|
58
|
+
<DocVersionBanner />
|
|
66
59
|
<div className={styles.docItemContainer}>
|
|
67
60
|
<article>
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
61
|
+
<DocBreadcrumbs />
|
|
62
|
+
<DocVersionBadge />
|
|
63
|
+
|
|
64
|
+
{canRenderTOC && (
|
|
65
|
+
<TOCCollapsible
|
|
66
|
+
toc={DocContent.toc}
|
|
67
|
+
minHeadingLevel={tocMinHeadingLevel}
|
|
68
|
+
maxHeadingLevel={tocMaxHeadingLevel}
|
|
69
|
+
className={clsx(
|
|
70
|
+
ThemeClassNames.docs.docTocMobile,
|
|
71
|
+
styles.tocMobile,
|
|
72
|
+
)}
|
|
73
|
+
/>
|
|
72
74
|
)}
|
|
73
75
|
|
|
74
|
-
<div
|
|
76
|
+
<div
|
|
77
|
+
className={clsx(ThemeClassNames.docs.docMarkdown, 'markdown')}>
|
|
75
78
|
{/*
|
|
76
|
-
Title can be declared inside md content or declared through
|
|
77
|
-
To make both cases consistent,
|
|
79
|
+
Title can be declared inside md content or declared through
|
|
80
|
+
front matter and added manually. To make both cases consistent,
|
|
81
|
+
the added title is added under the same div.markdown block
|
|
78
82
|
See https://github.com/facebook/docusaurus/pull/4882#issuecomment-853021120
|
|
79
83
|
*/}
|
|
80
|
-
{shouldAddTitle &&
|
|
84
|
+
{shouldAddTitle && (
|
|
85
|
+
<header>
|
|
86
|
+
<Heading as="h1">{title}</Heading>
|
|
87
|
+
</header>
|
|
88
|
+
)}
|
|
81
89
|
|
|
82
90
|
<DocContent />
|
|
83
91
|
</div>
|
|
84
92
|
|
|
85
|
-
{
|
|
86
|
-
<footer className="row docusaurus-mt-lg">
|
|
87
|
-
<div className="col">
|
|
88
|
-
{editUrl && <EditThisPage editUrl={editUrl} />}
|
|
89
|
-
</div>
|
|
90
|
-
|
|
91
|
-
<div className={clsx('col', styles.lastUpdated)}>
|
|
92
|
-
{(lastUpdatedAt || lastUpdatedBy) && (
|
|
93
|
-
<LastUpdated
|
|
94
|
-
lastUpdatedAt={lastUpdatedAt}
|
|
95
|
-
formattedLastUpdatedAt={formattedLastUpdatedAt}
|
|
96
|
-
lastUpdatedBy={lastUpdatedBy}
|
|
97
|
-
/>
|
|
98
|
-
)}
|
|
99
|
-
</div>
|
|
100
|
-
</footer>
|
|
101
|
-
)}
|
|
93
|
+
<DocItemFooter {...props} />
|
|
102
94
|
</article>
|
|
103
95
|
|
|
104
|
-
<DocPaginator metadata={metadata} />
|
|
96
|
+
<DocPaginator previous={metadata.previous} next={metadata.next} />
|
|
105
97
|
</div>
|
|
106
98
|
</div>
|
|
107
|
-
{
|
|
99
|
+
{renderTocDesktop && (
|
|
108
100
|
<div className="col col--3">
|
|
109
|
-
<TOC
|
|
101
|
+
<TOC
|
|
102
|
+
toc={DocContent.toc}
|
|
103
|
+
minHeadingLevel={tocMinHeadingLevel}
|
|
104
|
+
maxHeadingLevel={tocMaxHeadingLevel}
|
|
105
|
+
className={ThemeClassNames.docs.docTocDesktop}
|
|
106
|
+
/>
|
|
110
107
|
</div>
|
|
111
108
|
)}
|
|
112
109
|
</div>
|
|
113
110
|
</>
|
|
114
111
|
);
|
|
115
112
|
}
|
|
116
|
-
|
|
117
|
-
export default DocItem;
|
|
@@ -5,22 +5,18 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
.docItemContainer header +
|
|
8
|
+
.docItemContainer header + *,
|
|
9
|
+
.docItemContainer article > *:first-child {
|
|
9
10
|
margin-top: 0;
|
|
10
11
|
}
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
margin-top: 0.2rem;
|
|
14
|
-
font-style: italic;
|
|
15
|
-
font-size: smaller;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
@media only screen and (min-width: 997px) {
|
|
13
|
+
@media (min-width: 997px) {
|
|
19
14
|
.docItemCol {
|
|
20
15
|
max-width: 75% !important;
|
|
21
16
|
}
|
|
22
17
|
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
/* Prevent hydration FOUC, as the mobile TOC needs to be server-rendered */
|
|
19
|
+
.tocMobile {
|
|
20
|
+
display: none;
|
|
25
21
|
}
|
|
26
22
|
}
|
|
@@ -0,0 +1,79 @@
|
|
|
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 clsx from 'clsx';
|
|
9
|
+
import LastUpdated from '@theme/LastUpdated';
|
|
10
|
+
import EditThisPage from '@theme/EditThisPage';
|
|
11
|
+
import TagsListInline from '@theme/TagsListInline';
|
|
12
|
+
import styles from './styles.module.css';
|
|
13
|
+
import {ThemeClassNames} from '@docusaurus/theme-common';
|
|
14
|
+
|
|
15
|
+
function TagsRow(props) {
|
|
16
|
+
return (
|
|
17
|
+
<div
|
|
18
|
+
className={clsx(
|
|
19
|
+
ThemeClassNames.docs.docFooterTagsRow,
|
|
20
|
+
'row margin-bottom--sm',
|
|
21
|
+
)}>
|
|
22
|
+
<div className="col">
|
|
23
|
+
<TagsListInline {...props} />
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function EditMetaRow({
|
|
30
|
+
editUrl,
|
|
31
|
+
lastUpdatedAt,
|
|
32
|
+
lastUpdatedBy,
|
|
33
|
+
formattedLastUpdatedAt,
|
|
34
|
+
}) {
|
|
35
|
+
return (
|
|
36
|
+
<div className={clsx(ThemeClassNames.docs.docFooterEditMetaRow, 'row')}>
|
|
37
|
+
<div className="col">{editUrl && <EditThisPage editUrl={editUrl} />}</div>
|
|
38
|
+
|
|
39
|
+
<div className={clsx('col', styles.lastUpdated)}>
|
|
40
|
+
{(lastUpdatedAt || lastUpdatedBy) && (
|
|
41
|
+
<LastUpdated
|
|
42
|
+
lastUpdatedAt={lastUpdatedAt}
|
|
43
|
+
formattedLastUpdatedAt={formattedLastUpdatedAt}
|
|
44
|
+
lastUpdatedBy={lastUpdatedBy}
|
|
45
|
+
/>
|
|
46
|
+
)}
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export default function DocItemFooter(props) {
|
|
53
|
+
const {content: DocContent} = props;
|
|
54
|
+
const {metadata} = DocContent;
|
|
55
|
+
const {editUrl, lastUpdatedAt, formattedLastUpdatedAt, lastUpdatedBy, tags} =
|
|
56
|
+
metadata;
|
|
57
|
+
const canDisplayTagsRow = tags.length > 0;
|
|
58
|
+
const canDisplayEditMetaRow = !!(editUrl || lastUpdatedAt || lastUpdatedBy);
|
|
59
|
+
const canDisplayFooter = canDisplayTagsRow || canDisplayEditMetaRow;
|
|
60
|
+
|
|
61
|
+
if (!canDisplayFooter) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return (
|
|
66
|
+
<footer
|
|
67
|
+
className={clsx(ThemeClassNames.docs.docFooter, 'docusaurus-mt-lg')}>
|
|
68
|
+
{canDisplayTagsRow && <TagsRow tags={tags} />}
|
|
69
|
+
{canDisplayEditMetaRow && (
|
|
70
|
+
<EditMetaRow
|
|
71
|
+
editUrl={editUrl}
|
|
72
|
+
lastUpdatedAt={lastUpdatedAt}
|
|
73
|
+
lastUpdatedBy={lastUpdatedBy}
|
|
74
|
+
formattedLastUpdatedAt={formattedLastUpdatedAt}
|
|
75
|
+
/>
|
|
76
|
+
)}
|
|
77
|
+
</footer>
|
|
78
|
+
);
|
|
79
|
+
}
|
|
@@ -5,21 +5,13 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
.docItemContainer header + * {
|
|
9
|
-
margin-top: 0;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
8
|
.lastUpdated {
|
|
13
9
|
margin-top: 0.2rem;
|
|
14
10
|
font-style: italic;
|
|
15
11
|
font-size: smaller;
|
|
16
12
|
}
|
|
17
13
|
|
|
18
|
-
@media
|
|
19
|
-
.docItemCol {
|
|
20
|
-
max-width: 75% !important;
|
|
21
|
-
}
|
|
22
|
-
|
|
14
|
+
@media (min-width: 997px) {
|
|
23
15
|
.lastUpdated {
|
|
24
16
|
text-align: right;
|
|
25
17
|
}
|