@docusaurus/theme-classic 2.0.0-beta.1decd6f80 → 2.0.0-beta.20
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 +39 -0
- package/lib/deps.d.ts +13 -0
- package/lib/getSwizzleConfig.js +243 -0
- package/lib/index.js +65 -54
- package/lib/nprogress.css +41 -0
- package/lib/nprogress.js +46 -0
- package/lib/prism-include-languages.js +9 -5
- package/lib/theme-classic.d.ts +1279 -0
- package/lib/translations.js +52 -36
- package/lib/validateThemeConfig.js +298 -248
- package/lib-next/theme/Admonition/index.js +101 -0
- package/lib-next/theme/AnnouncementBar/index.js +10 -22
- package/lib-next/theme/AnnouncementBar/styles.module.css +26 -35
- package/lib-next/theme/BackToTopButton/index.js +33 -0
- package/lib-next/theme/BackToTopButton/styles.module.css +44 -0
- package/lib-next/theme/BlogArchivePage/index.js +84 -0
- package/lib-next/theme/BlogLayout/index.js +33 -0
- package/lib-next/theme/BlogListPage/index.js +45 -35
- package/lib-next/theme/BlogListPaginator/index.js +27 -33
- package/lib-next/theme/BlogPostAuthor/index.js +49 -0
- package/lib-next/theme/BlogPostAuthors/index.js +44 -0
- package/lib-next/theme/BlogPostAuthors/styles.module.css +21 -0
- package/lib-next/theme/BlogPostItem/index.js +112 -97
- package/lib-next/theme/BlogPostItem/styles.module.css +14 -1
- package/lib-next/theme/BlogPostPage/index.js +84 -41
- package/lib-next/theme/BlogPostPaginator/index.js +28 -38
- package/lib-next/theme/BlogSidebar/Desktop/index.js +41 -0
- package/{lib/theme/BlogSidebar → lib-next/theme/BlogSidebar/Desktop}/styles.module.css +8 -9
- package/lib-next/theme/BlogSidebar/Mobile/index.js +36 -0
- package/lib-next/theme/BlogSidebar/index.js +11 -24
- package/lib-next/theme/BlogTagsListPage/index.js +24 -71
- package/lib-next/theme/BlogTagsPostsPage/index.js +55 -62
- package/lib-next/theme/CodeBlock/Container/index.js +29 -0
- package/lib-next/theme/CodeBlock/Container/styles.module.css +14 -0
- package/lib-next/theme/CodeBlock/Content/Element.js +23 -0
- package/lib-next/theme/CodeBlock/Content/String.js +104 -0
- package/{src/theme/CodeBlock → lib-next/theme/CodeBlock/Content}/styles.module.css +47 -32
- package/lib-next/theme/CodeBlock/CopyButton/index.js +61 -0
- package/lib-next/theme/CodeBlock/CopyButton/styles.module.css +47 -0
- package/lib-next/theme/CodeBlock/Line/index.js +49 -0
- package/lib-next/theme/CodeBlock/Line/styles.module.css +51 -0
- package/lib-next/theme/CodeBlock/WordWrapButton/index.js +40 -0
- package/lib-next/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
- package/lib-next/theme/CodeBlock/index.js +28 -255
- package/lib-next/theme/ColorModeToggle/index.js +62 -0
- package/lib-next/theme/ColorModeToggle/styles.module.css +35 -0
- package/lib-next/theme/Details/index.js +21 -0
- package/lib-next/theme/Details/styles.module.css +13 -0
- package/lib-next/theme/DocBreadcrumbs/index.js +120 -0
- package/{lib/theme/Heading/styles.css → lib-next/theme/DocBreadcrumbs/styles.module.css} +9 -13
- package/lib-next/theme/DocCard/index.js +93 -0
- package/lib-next/theme/DocCard/styles.module.css +34 -0
- package/lib-next/theme/DocCardList/index.js +33 -0
- package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +75 -0
- package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
- package/lib-next/theme/DocItem/index.js +99 -86
- package/lib-next/theme/DocItem/styles.module.css +12 -12
- package/lib-next/theme/DocItemFooter/index.js +79 -0
- package/{lib/theme/Layout/styles.css → lib-next/theme/DocItemFooter/styles.module.css} +8 -11
- package/lib-next/theme/DocPage/Layout/Main/index.js +29 -0
- package/lib-next/theme/DocPage/Layout/Main/styles.module.css +28 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/index.js +68 -0
- package/lib-next/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
- package/lib-next/theme/DocPage/Layout/index.js +34 -0
- package/{lib/theme/BlogPostItem/styles.module.css → lib-next/theme/DocPage/Layout/index.module.css} +5 -4
- package/lib-next/theme/DocPage/index.js +40 -133
- package/lib-next/theme/DocPaginator/index.js +29 -41
- package/lib-next/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
- package/lib-next/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
- package/lib-next/theme/DocSidebar/Desktop/Content/index.js +46 -0
- package/lib-next/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
- package/lib-next/theme/DocSidebar/Desktop/index.js +36 -0
- package/lib-next/theme/DocSidebar/Desktop/styles.module.css +50 -0
- package/lib-next/theme/DocSidebar/Mobile/index.js +49 -0
- package/lib-next/theme/DocSidebar/index.js +13 -333
- package/lib-next/theme/DocSidebarItem/Category.js +197 -0
- package/lib-next/theme/DocSidebarItem/Html.js +27 -0
- package/lib-next/theme/DocSidebarItem/Html.module.css +13 -0
- package/lib-next/theme/DocSidebarItem/Link.js +53 -0
- package/lib-next/theme/DocSidebarItem/Link.module.css +10 -0
- package/lib-next/theme/DocSidebarItem/index.js +23 -0
- package/lib-next/theme/DocSidebarItems/index.js +23 -0
- package/lib-next/theme/DocTagDocListPage/index.js +96 -0
- package/lib-next/theme/DocTagsListPage/index.js +40 -0
- package/lib-next/theme/DocVersionBadge/index.js +34 -0
- package/lib-next/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +55 -37
- package/lib-next/theme/EditThisPage/index.js +6 -1
- package/lib-next/theme/ErrorPageContent.js +35 -0
- package/lib-next/theme/Footer/Copyright/index.js +18 -0
- package/lib-next/theme/Footer/Layout/index.js +26 -0
- package/lib-next/theme/Footer/LinkItem/index.js +33 -0
- package/lib-next/theme/Footer/Links/MultiColumn/index.js +47 -0
- package/lib-next/theme/Footer/Links/Simple/index.js +41 -0
- package/lib-next/theme/Footer/Links/index.js +17 -0
- package/lib-next/theme/Footer/Logo/index.js +38 -0
- package/lib-next/theme/Footer/{styles.module.css → Logo/styles.module.css} +2 -1
- package/lib-next/theme/Footer/index.js +12 -100
- package/lib-next/theme/Heading/index.js +31 -38
- package/lib-next/theme/Heading/styles.module.css +27 -2
- package/lib-next/theme/IconArrow/index.js +3 -6
- 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 +5 -10
- package/lib-next/theme/IconExternalLink/index.js +23 -0
- package/lib-next/theme/{LastUpdated → IconExternalLink}/styles.module.css +2 -2
- package/lib-next/theme/IconHome/index.js +17 -0
- 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 +8 -9
- package/lib-next/theme/LastUpdated/index.js +36 -39
- package/lib-next/theme/Layout/index.js +19 -16
- package/lib-next/theme/Layout/styles.css +6 -0
- package/lib-next/theme/LayoutProviders/index.js +22 -10
- package/lib-next/theme/Logo/index.js +21 -16
- package/lib-next/theme/{ThemeContext.js → MDXComponents/A.js} +4 -2
- package/lib-next/theme/MDXComponents/Code.js +28 -0
- package/lib-next/theme/MDXComponents/Details.js +20 -0
- package/lib-next/theme/MDXComponents/Head.js +26 -0
- package/lib-next/theme/MDXComponents/Heading.js +11 -0
- package/lib-next/theme/MDXComponents/Img.js +24 -0
- package/{lib/theme/LastUpdated/styles.module.css → lib-next/theme/MDXComponents/Img.module.css} +2 -2
- package/lib-next/theme/MDXComponents/Pre.js +18 -0
- package/lib-next/theme/MDXComponents/Ul.js +21 -0
- package/lib-next/theme/MDXComponents/index.js +22 -42
- package/lib-next/theme/MDXContent/index.js +12 -0
- package/lib-next/theme/MDXPage/index.js +38 -39
- package/{lib/theme/IconEdit → lib-next/theme/MDXPage}/styles.module.css +2 -3
- package/lib-next/theme/Navbar/ColorModeToggle/index.js +25 -0
- package/lib-next/theme/Navbar/Content/index.js +75 -0
- package/lib-next/theme/Navbar/Content/styles.module.css +15 -0
- package/lib-next/theme/Navbar/Layout/index.js +54 -0
- package/{src/theme/Navbar → lib-next/theme/Navbar/Layout}/styles.module.css +1 -7
- package/lib-next/theme/Navbar/Logo/index.js +17 -0
- package/lib-next/theme/Navbar/MobileSidebar/Header/index.js +33 -0
- package/lib-next/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
- package/lib-next/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
- package/lib-next/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
- package/lib-next/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
- package/lib-next/theme/Navbar/MobileSidebar/index.js +31 -0
- package/lib-next/theme/Navbar/Search/index.js +11 -0
- package/lib-next/theme/Navbar/Search/styles.module.css +20 -0
- package/lib-next/theme/Navbar/index.js +7 -137
- package/lib-next/theme/NavbarItem/ComponentTypes.js +27 -0
- package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +33 -186
- package/lib-next/theme/NavbarItem/DocNavbarItem.js +14 -14
- package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +41 -0
- package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +55 -45
- package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +2 -6
- package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +167 -0
- package/lib-next/theme/NavbarItem/HtmlNavbarItem.js +30 -0
- package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +16 -22
- package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/lib-next/theme/NavbarItem/NavbarNavLink.js +84 -0
- package/lib-next/theme/NavbarItem/SearchNavbarItem.js +6 -1
- package/lib-next/theme/NavbarItem/index.js +18 -25
- package/lib-next/theme/NavbarItem/utils.js +10 -0
- package/lib-next/theme/NotFound.js +40 -34
- package/lib-next/theme/PaginatorNavLink/index.js +23 -0
- package/lib-next/theme/SearchBar.js +1 -1
- package/lib-next/theme/SearchMetadata/index.js +34 -0
- package/lib-next/theme/{LayoutHead → SiteMetadata}/index.js +31 -46
- package/lib-next/theme/SkipToContent/index.js +7 -32
- package/lib-next/theme/SkipToContent/styles.module.css +8 -3
- package/lib-next/theme/TOC/index.js +12 -39
- package/lib-next/theme/TOC/styles.module.css +2 -2
- package/lib-next/theme/TOCCollapsible/CollapseButton.js +29 -0
- package/lib-next/theme/TOCCollapsible/CollapseButton.module.css +29 -0
- package/lib-next/theme/TOCCollapsible/index.js +42 -0
- package/lib-next/theme/TOCCollapsible/index.module.css +31 -0
- package/lib-next/theme/TOCInline/index.js +10 -31
- package/lib-next/theme/TOCItems/Tree.js +40 -0
- package/lib-next/theme/TOCItems/index.js +54 -0
- package/lib-next/theme/TabItem/index.js +4 -5
- package/lib-next/theme/TabItem/styles.module.css +10 -0
- package/lib-next/theme/Tabs/__tests__/index.test.js +146 -0
- package/lib-next/theme/Tabs/index.js +111 -53
- package/lib-next/theme/Tabs/styles.module.css +4 -13
- package/lib-next/theme/Tag/index.js +23 -0
- package/lib-next/theme/Tag/styles.module.css +70 -0
- package/lib-next/theme/TagsListByLetter/index.js +40 -0
- package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
- package/lib-next/theme/TagsListInline/index.js +31 -0
- package/{lib/theme/Heading → lib-next/theme/TagsListInline}/styles.module.css +7 -2
- package/lib-next/theme/ThemedImage/index.js +10 -14
- package/lib-next/theme/ThemedImage/styles.module.css +9 -2
- package/lib-next/theme/prism-include-languages.js +17 -15
- package/package.json +37 -31
- package/src/admonitions.css +39 -0
- package/src/deps.d.ts +13 -0
- package/src/getSwizzleConfig.ts +252 -0
- package/src/index.ts +76 -75
- package/src/nprogress.css +41 -0
- package/src/nprogress.ts +31 -0
- 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 +11 -20
- package/src/theme/AnnouncementBar/styles.module.css +26 -35
- package/src/theme/BackToTopButton/index.tsx +34 -0
- package/src/theme/BackToTopButton/styles.module.css +44 -0
- package/src/theme/BlogArchivePage/index.tsx +92 -0
- package/src/theme/BlogLayout/index.tsx +38 -0
- package/src/theme/BlogListPage/index.tsx +45 -35
- package/src/theme/BlogListPaginator/index.tsx +27 -32
- package/src/theme/BlogPostAuthor/index.tsx +50 -0
- package/src/theme/BlogPostAuthors/index.tsx +49 -0
- package/src/theme/BlogPostAuthors/styles.module.css +21 -0
- package/src/theme/BlogPostItem/index.tsx +103 -93
- package/src/theme/BlogPostItem/styles.module.css +14 -1
- package/src/theme/BlogPostPage/index.tsx +84 -42
- package/src/theme/BlogPostPaginator/index.tsx +28 -37
- package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
- package/{lib-next/theme/BlogSidebar → src/theme/BlogSidebar/Desktop}/styles.module.css +8 -9
- package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
- package/src/theme/BlogSidebar/index.tsx +10 -24
- package/src/theme/BlogTagsListPage/index.tsx +24 -71
- package/src/theme/BlogTagsPostsPage/index.tsx +57 -65
- package/src/theme/CodeBlock/Container/index.tsx +35 -0
- package/src/theme/CodeBlock/Container/styles.module.css +14 -0
- package/src/theme/CodeBlock/Content/Element.tsx +30 -0
- package/src/theme/CodeBlock/Content/String.tsx +111 -0
- package/{lib/theme/CodeBlock → src/theme/CodeBlock/Content}/styles.module.css +47 -32
- package/src/theme/CodeBlock/CopyButton/index.tsx +67 -0
- package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
- package/src/theme/CodeBlock/Line/index.tsx +48 -0
- package/src/theme/CodeBlock/Line/styles.module.css +51 -0
- package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
- package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
- package/src/theme/CodeBlock/index.tsx +29 -252
- package/src/theme/ColorModeToggle/index.tsx +67 -0
- package/src/theme/ColorModeToggle/styles.module.css +35 -0
- package/src/theme/Details/index.tsx +25 -0
- package/src/theme/Details/styles.module.css +13 -0
- package/src/theme/DocBreadcrumbs/index.tsx +140 -0
- package/src/theme/{Heading/styles.css → DocBreadcrumbs/styles.module.css} +9 -13
- package/src/theme/DocCard/index.tsx +116 -0
- package/src/theme/DocCard/styles.module.css +34 -0
- package/src/theme/DocCardList/index.tsx +36 -0
- package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +86 -0
- package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +26 -0
- package/src/theme/DocItem/index.tsx +93 -79
- package/src/theme/DocItem/styles.module.css +12 -12
- package/src/theme/DocItemFooter/index.tsx +91 -0
- package/src/theme/DocItemFooter/styles.module.css +18 -0
- package/src/theme/DocPage/Layout/Main/index.tsx +37 -0
- package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
- package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
- package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
- package/src/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
- package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
- package/{lib-next/theme/hooks/styles.css → src/theme/DocPage/Layout/index.module.css} +7 -2
- package/src/theme/DocPage/Layout/index.tsx +39 -0
- package/src/theme/DocPage/index.tsx +40 -146
- package/src/theme/DocPaginator/index.tsx +29 -40
- package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
- package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
- package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
- package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
- package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
- package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
- package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
- package/src/theme/DocSidebar/index.tsx +14 -343
- package/src/theme/DocSidebarItem/Category.tsx +210 -0
- package/src/theme/DocSidebarItem/Html.module.css +13 -0
- package/src/theme/DocSidebarItem/Html.tsx +34 -0
- package/src/theme/DocSidebarItem/Link.module.css +10 -0
- package/src/theme/DocSidebarItem/Link.tsx +58 -0
- package/src/theme/DocSidebarItem/index.tsx +27 -0
- package/src/theme/DocSidebarItems/index.tsx +27 -0
- package/src/theme/DocTagDocListPage/index.tsx +96 -0
- package/src/theme/DocTagsListPage/index.tsx +44 -0
- package/src/theme/DocVersionBadge/index.tsx +35 -0
- package/src/theme/{DocVersionSuggestions → DocVersionBanner}/index.tsx +78 -49
- package/src/theme/EditThisPage/index.tsx +6 -1
- package/src/theme/ErrorPageContent.tsx +41 -0
- package/src/theme/Footer/Copyright/index.tsx +20 -0
- package/src/theme/Footer/Layout/index.tsx +34 -0
- package/src/theme/Footer/LinkItem/index.tsx +36 -0
- package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
- package/src/theme/Footer/Links/Simple/index.tsx +42 -0
- package/src/theme/Footer/Links/index.tsx +21 -0
- package/src/theme/Footer/Logo/index.tsx +41 -0
- package/{lib/theme/Footer → src/theme/Footer/Logo}/styles.module.css +2 -1
- package/src/theme/Footer/index.tsx +13 -113
- package/src/theme/Heading/index.tsx +33 -39
- package/src/theme/Heading/styles.module.css +27 -2
- package/src/theme/IconArrow/index.tsx +3 -5
- package/src/theme/IconClose/index.tsx +26 -0
- package/src/theme/IconDarkMode/index.tsx +20 -0
- package/src/theme/IconEdit/index.tsx +8 -9
- package/src/theme/IconExternalLink/index.tsx +30 -0
- package/src/theme/IconExternalLink/styles.module.css +10 -0
- package/src/theme/IconHome/index.tsx +20 -0
- package/src/theme/IconLanguage/index.tsx +6 -8
- package/src/theme/IconLightMode/index.tsx +20 -0
- package/src/theme/IconMenu/index.tsx +4 -9
- package/src/theme/LastUpdated/index.tsx +36 -39
- package/src/theme/Layout/index.tsx +19 -15
- package/src/theme/Layout/styles.css +6 -0
- package/src/theme/LayoutProviders/index.tsx +22 -10
- package/src/theme/Logo/index.tsx +21 -15
- package/src/theme/{ThemeContext.ts → MDXComponents/A.tsx} +5 -6
- package/src/theme/MDXComponents/Code.tsx +37 -0
- package/src/theme/MDXComponents/Details.tsx +25 -0
- package/src/theme/MDXComponents/Head.tsx +29 -0
- package/src/theme/MDXComponents/Heading.tsx +14 -0
- package/src/theme/{LastUpdated/styles.module.css → MDXComponents/Img.module.css} +2 -2
- package/src/theme/MDXComponents/Img.tsx +26 -0
- package/src/theme/MDXComponents/Pre.tsx +22 -0
- package/src/theme/MDXComponents/Ul.tsx +24 -0
- package/src/theme/MDXComponents/index.tsx +23 -42
- package/src/theme/MDXContent/index.tsx +15 -0
- package/src/theme/MDXPage/index.tsx +39 -39
- package/src/theme/MDXPage/styles.module.css +10 -0
- package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
- package/src/theme/Navbar/Content/index.tsx +86 -0
- package/src/theme/Navbar/Content/styles.module.css +15 -0
- package/src/theme/Navbar/Layout/index.tsx +57 -0
- package/{lib-next/theme/Navbar → src/theme/Navbar/Layout}/styles.module.css +1 -7
- package/src/theme/Navbar/Logo/index.tsx +19 -0
- package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
- package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
- package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
- package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +38 -0
- package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
- package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
- package/src/theme/Navbar/Search/index.tsx +15 -0
- package/src/theme/Navbar/Search/styles.module.css +20 -0
- package/src/theme/Navbar/index.tsx +7 -147
- package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
- package/src/theme/NavbarItem/DefaultNavbarItem.tsx +37 -194
- package/src/theme/NavbarItem/DocNavbarItem.tsx +17 -18
- package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +44 -0
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +60 -51
- package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +5 -8
- package/src/theme/NavbarItem/DropdownNavbarItem.tsx +193 -0
- package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
- package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +19 -17
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/src/theme/NavbarItem/NavbarNavLink.tsx +80 -0
- package/src/theme/NavbarItem/SearchNavbarItem.tsx +6 -1
- package/src/theme/NavbarItem/index.tsx +23 -30
- package/src/theme/NavbarItem/utils.ts +13 -0
- package/src/theme/NotFound.tsx +40 -33
- package/src/theme/PaginatorNavLink/index.tsx +26 -0
- package/src/theme/SearchBar.tsx +2 -1
- package/src/theme/SearchMetadata/index.tsx +43 -0
- package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +31 -40
- package/src/theme/SkipToContent/index.tsx +7 -32
- package/src/theme/SkipToContent/styles.module.css +8 -3
- package/src/theme/TOC/index.tsx +13 -44
- package/src/theme/TOC/styles.module.css +2 -2
- package/src/theme/TOCCollapsible/CollapseButton.module.css +29 -0
- package/src/theme/TOCCollapsible/CollapseButton.tsx +35 -0
- package/src/theme/TOCCollapsible/index.module.css +31 -0
- package/src/theme/TOCCollapsible/index.tsx +45 -0
- package/src/theme/TOCInline/index.tsx +14 -35
- package/src/theme/TOCItems/Tree.tsx +46 -0
- package/src/theme/TOCItems/index.tsx +61 -0
- package/src/theme/TabItem/index.tsx +12 -4
- package/src/theme/TabItem/styles.module.css +10 -0
- package/src/theme/Tabs/index.tsx +120 -62
- package/src/theme/Tabs/styles.module.css +4 -13
- package/src/theme/Tag/index.tsx +27 -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 +12 -13
- package/src/theme/ThemedImage/styles.module.css +9 -2
- package/src/theme/prism-include-languages.ts +20 -15
- package/src/theme-classic.d.ts +1279 -0
- package/src/translations.ts +84 -58
- package/src/validateThemeConfig.ts +448 -0
- package/babel.config.js +0 -35
- package/codeTranslations/README.md +0 -20
- package/codeTranslations/ar.json +0 -55
- package/codeTranslations/base.json +0 -108
- package/codeTranslations/da.json +0 -55
- package/codeTranslations/de.json +0 -55
- package/codeTranslations/es.json +0 -55
- package/codeTranslations/fa.json +0 -55
- package/codeTranslations/fil.json +0 -55
- package/codeTranslations/fr.json +0 -55
- package/codeTranslations/he.json +0 -55
- package/codeTranslations/hi.json +0 -55
- package/codeTranslations/ja.json +0 -55
- package/codeTranslations/ko.json +0 -55
- package/codeTranslations/pl.json +0 -55
- package/codeTranslations/pt-BR.json +0 -55
- package/codeTranslations/pt-PT.json +0 -55
- package/codeTranslations/ru.json +0 -55
- package/codeTranslations/tr.json +0 -55
- package/codeTranslations/vi.json +0 -55
- package/codeTranslations/zh-Hans.json +0 -55
- package/codeTranslations/zh-Hant.json +0 -55
- 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 -74
- 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 -152
- package/lib/theme/BlogPostPage/index.js +0 -75
- package/lib/theme/BlogPostPaginator/index.js +0 -64
- package/lib/theme/BlogSidebar/index.js +0 -43
- package/lib/theme/BlogTagsListPage/index.js +0 -81
- package/lib/theme/BlogTagsPostsPage/index.js +0 -104
- package/lib/theme/CodeBlock/index.js +0 -253
- package/lib/theme/DocItem/index.js +0 -120
- package/lib/theme/DocItem/styles.module.css +0 -28
- package/lib/theme/DocPage/index.js +0 -141
- package/lib/theme/DocPage/styles.module.css +0 -98
- package/lib/theme/DocPaginator/index.js +0 -63
- package/lib/theme/DocSidebar/index.js +0 -307
- package/lib/theme/DocSidebar/styles.module.css +0 -138
- package/lib/theme/DocVersionSuggestions/index.js +0 -111
- package/lib/theme/EditThisPage/index.js +0 -31
- package/lib/theme/Footer/index.js +0 -108
- package/lib/theme/Heading/index.js +0 -60
- package/lib/theme/IconArrow/index.js +0 -28
- package/lib/theme/IconEdit/index.js +0 -34
- package/lib/theme/IconLanguage/index.js +0 -29
- package/lib/theme/IconMenu/index.js +0 -31
- package/lib/theme/LastUpdated/index.js +0 -65
- package/lib/theme/Layout/index.js +0 -64
- package/lib/theme/LayoutHead/index.js +0 -142
- package/lib/theme/LayoutProviders/index.js +0 -34
- package/lib/theme/Logo/index.js +0 -59
- package/lib/theme/MDXComponents/index.js +0 -65
- package/lib/theme/MDXPage/index.js +0 -68
- package/lib/theme/Navbar/index.js +0 -147
- package/lib/theme/Navbar/styles.module.css +0 -20
- package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -195
- package/lib/theme/NavbarItem/DocNavbarItem.js +0 -55
- package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -75
- 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 -50
- package/lib/theme/SearchBar.js +0 -15
- package/lib/theme/SearchMetadatas/index.js +0 -33
- package/lib/theme/Seo/index.js +0 -50
- package/lib/theme/SkipToContent/index.js +0 -61
- package/lib/theme/SkipToContent/styles.module.css +0 -16
- 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 -48
- package/lib/theme/ThemedImage/styles.module.css +0 -11
- package/lib/theme/Toggle/index.js +0 -106
- package/lib/theme/Toggle/styles.module.css +0 -114
- package/lib/theme/UserPreferencesContext.js +0 -18
- package/lib/theme/UserPreferencesProvider/index.js +0 -44
- package/lib/theme/hooks/styles.css +0 -10
- package/lib/theme/hooks/useAnnouncementBar.js +0 -63
- 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 -53
- 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/types.d.ts +0 -600
- 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 -198
- package/lib-next/theme/CodeBlock/styles.module.css +0 -71
- package/lib-next/theme/DocPage/styles.module.css +0 -98
- package/lib-next/theme/DocSidebar/styles.module.css +0 -138
- package/lib-next/theme/Heading/styles.css +0 -23
- package/lib-next/theme/SearchMetadatas/index.js +0 -20
- package/lib-next/theme/Seo/index.js +0 -37
- package/lib-next/theme/ThemeProvider/index.js +0 -25
- package/lib-next/theme/Toggle/index.js +0 -95
- package/lib-next/theme/Toggle/styles.module.css +0 -114
- package/lib-next/theme/UserPreferencesContext.js +0 -9
- package/lib-next/theme/UserPreferencesProvider/index.js +0 -28
- package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
- 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 -41
- 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 -600
- 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/BlogSidebar/styles.module.css +0 -46
- package/src/theme/DocPage/styles.module.css +0 -98
- package/src/theme/DocSidebar/styles.module.css +0 -138
- package/src/theme/Footer/styles.module.css +0 -15
- package/src/theme/SearchMetadatas/index.tsx +0 -28
- package/src/theme/Seo/index.tsx +0 -47
- package/src/theme/ThemeProvider/index.tsx +0 -24
- package/src/theme/Toggle/index.tsx +0 -113
- package/src/theme/Toggle/styles.module.css +0 -114
- package/src/theme/UserPreferencesContext.ts +0 -12
- package/src/theme/UserPreferencesProvider/index.tsx +0 -32
- package/src/theme/hooks/styles.css +0 -10
- package/src/theme/hooks/useAnnouncementBar.ts +0 -58
- 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/types.d.ts +0 -600
- package/src/validateThemeConfig.js +0 -317
- package/tsconfig.json +0 -12
- package/update-code-translations.js +0 -239
- package/update-code-translations.test.js +0 -33
|
@@ -5,31 +5,44 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import React from 'react';
|
|
8
|
+
import React, {type ComponentType} from 'react';
|
|
9
9
|
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
10
10
|
import Link from '@docusaurus/Link';
|
|
11
11
|
import Translate from '@docusaurus/Translate';
|
|
12
12
|
import {
|
|
13
13
|
useActivePlugin,
|
|
14
|
-
useActiveVersion,
|
|
15
14
|
useDocVersionSuggestions,
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
type GlobalVersion,
|
|
16
|
+
} from '@docusaurus/plugin-content-docs/client';
|
|
17
|
+
import {
|
|
18
|
+
ThemeClassNames,
|
|
19
|
+
useDocsPreferredVersion,
|
|
20
|
+
useDocsVersion,
|
|
21
|
+
} from '@docusaurus/theme-common';
|
|
22
|
+
|
|
23
|
+
import type {Props} from '@theme/DocVersionBanner';
|
|
24
|
+
import clsx from 'clsx';
|
|
25
|
+
import type {
|
|
26
|
+
VersionBanner,
|
|
27
|
+
PropVersionMetadata,
|
|
28
|
+
} from '@docusaurus/plugin-content-docs';
|
|
29
|
+
|
|
30
|
+
type BannerLabelComponentProps = {
|
|
31
|
+
siteTitle: string;
|
|
32
|
+
versionMetadata: PropVersionMetadata;
|
|
33
|
+
};
|
|
18
34
|
|
|
19
35
|
function UnreleasedVersionLabel({
|
|
20
36
|
siteTitle,
|
|
21
|
-
|
|
22
|
-
}: {
|
|
23
|
-
siteTitle: string;
|
|
24
|
-
versionLabel: string;
|
|
25
|
-
}) {
|
|
37
|
+
versionMetadata,
|
|
38
|
+
}: BannerLabelComponentProps) {
|
|
26
39
|
return (
|
|
27
40
|
<Translate
|
|
28
41
|
id="theme.docs.versions.unreleasedVersionLabel"
|
|
29
42
|
description="The label used to tell the user that he's browsing an unreleased doc version"
|
|
30
43
|
values={{
|
|
31
44
|
siteTitle,
|
|
32
|
-
versionLabel: <
|
|
45
|
+
versionLabel: <b>{versionMetadata.label}</b>,
|
|
33
46
|
}}>
|
|
34
47
|
{
|
|
35
48
|
'This is unreleased documentation for {siteTitle} {versionLabel} version.'
|
|
@@ -40,18 +53,15 @@ function UnreleasedVersionLabel({
|
|
|
40
53
|
|
|
41
54
|
function UnmaintainedVersionLabel({
|
|
42
55
|
siteTitle,
|
|
43
|
-
|
|
44
|
-
}: {
|
|
45
|
-
siteTitle: string;
|
|
46
|
-
versionLabel: string;
|
|
47
|
-
}) {
|
|
56
|
+
versionMetadata,
|
|
57
|
+
}: BannerLabelComponentProps) {
|
|
48
58
|
return (
|
|
49
59
|
<Translate
|
|
50
60
|
id="theme.docs.versions.unmaintainedVersionLabel"
|
|
51
61
|
description="The label used to tell the user that he's browsing an unmaintained doc version"
|
|
52
62
|
values={{
|
|
53
63
|
siteTitle,
|
|
54
|
-
versionLabel: <
|
|
64
|
+
versionLabel: <b>{versionMetadata.label}</b>,
|
|
55
65
|
}}>
|
|
56
66
|
{
|
|
57
67
|
'This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.'
|
|
@@ -60,6 +70,19 @@ function UnmaintainedVersionLabel({
|
|
|
60
70
|
);
|
|
61
71
|
}
|
|
62
72
|
|
|
73
|
+
const BannerLabelComponents: {
|
|
74
|
+
[banner in VersionBanner]: ComponentType<BannerLabelComponentProps>;
|
|
75
|
+
} = {
|
|
76
|
+
unreleased: UnreleasedVersionLabel,
|
|
77
|
+
unmaintained: UnmaintainedVersionLabel,
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
function BannerLabel(props: BannerLabelComponentProps) {
|
|
81
|
+
const BannerLabelComponent =
|
|
82
|
+
BannerLabelComponents[props.versionMetadata.banner!];
|
|
83
|
+
return <BannerLabelComponent {...props} />;
|
|
84
|
+
}
|
|
85
|
+
|
|
63
86
|
function LatestVersionSuggestionLabel({
|
|
64
87
|
versionLabel,
|
|
65
88
|
to,
|
|
@@ -72,11 +95,11 @@ function LatestVersionSuggestionLabel({
|
|
|
72
95
|
return (
|
|
73
96
|
<Translate
|
|
74
97
|
id="theme.docs.versions.latestVersionSuggestionLabel"
|
|
75
|
-
description="The label
|
|
98
|
+
description="The label used to tell the user to check the latest version"
|
|
76
99
|
values={{
|
|
77
100
|
versionLabel,
|
|
78
101
|
latestVersionLink: (
|
|
79
|
-
<
|
|
102
|
+
<b>
|
|
80
103
|
<Link to={to} onClick={onClick}>
|
|
81
104
|
<Translate
|
|
82
105
|
id="theme.docs.versions.latestVersionLinkLabel"
|
|
@@ -84,7 +107,7 @@ function LatestVersionSuggestionLabel({
|
|
|
84
107
|
latest version
|
|
85
108
|
</Translate>
|
|
86
109
|
</Link>
|
|
87
|
-
</
|
|
110
|
+
</b>
|
|
88
111
|
),
|
|
89
112
|
}}>
|
|
90
113
|
{
|
|
@@ -94,47 +117,40 @@ function LatestVersionSuggestionLabel({
|
|
|
94
117
|
);
|
|
95
118
|
}
|
|
96
119
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
120
|
+
function DocVersionBannerEnabled({
|
|
121
|
+
className,
|
|
122
|
+
versionMetadata,
|
|
123
|
+
}: Props & {
|
|
124
|
+
versionMetadata: PropVersionMetadata;
|
|
125
|
+
}): JSX.Element {
|
|
101
126
|
const {
|
|
102
127
|
siteConfig: {title: siteTitle},
|
|
103
128
|
} = useDocusaurusContext();
|
|
104
|
-
const {pluginId} = useActivePlugin({failfast: true})
|
|
129
|
+
const {pluginId} = useActivePlugin({failfast: true})!;
|
|
105
130
|
|
|
106
|
-
const
|
|
131
|
+
const getVersionMainDoc = (version: GlobalVersion) =>
|
|
132
|
+
version.docs.find((doc) => doc.id === version.mainDocId)!;
|
|
107
133
|
|
|
108
|
-
const
|
|
109
|
-
const {
|
|
110
|
-
latestDocSuggestion,
|
|
111
|
-
latestVersionSuggestion,
|
|
112
|
-
} = useDocVersionSuggestions(pluginId);
|
|
134
|
+
const {savePreferredVersionName} = useDocsPreferredVersion(pluginId);
|
|
113
135
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
return <></>;
|
|
117
|
-
}
|
|
136
|
+
const {latestDocSuggestion, latestVersionSuggestion} =
|
|
137
|
+
useDocVersionSuggestions(pluginId);
|
|
118
138
|
|
|
119
|
-
//
|
|
120
|
-
//
|
|
139
|
+
// Try to link to same doc in latest version (not always possible), falling
|
|
140
|
+
// back to main doc of latest version
|
|
121
141
|
const latestVersionSuggestedDoc =
|
|
122
142
|
latestDocSuggestion ?? getVersionMainDoc(latestVersionSuggestion);
|
|
123
143
|
|
|
124
144
|
return (
|
|
125
|
-
<div
|
|
145
|
+
<div
|
|
146
|
+
className={clsx(
|
|
147
|
+
className,
|
|
148
|
+
ThemeClassNames.docs.docVersionBanner,
|
|
149
|
+
'alert alert--warning margin-bottom--md',
|
|
150
|
+
)}
|
|
151
|
+
role="alert">
|
|
126
152
|
<div>
|
|
127
|
-
{
|
|
128
|
-
<UnreleasedVersionLabel
|
|
129
|
-
siteTitle={siteTitle}
|
|
130
|
-
versionLabel={activeVersion.label}
|
|
131
|
-
/>
|
|
132
|
-
) : (
|
|
133
|
-
<UnmaintainedVersionLabel
|
|
134
|
-
siteTitle={siteTitle}
|
|
135
|
-
versionLabel={activeVersion.label}
|
|
136
|
-
/>
|
|
137
|
-
)}
|
|
153
|
+
<BannerLabel siteTitle={siteTitle} versionMetadata={versionMetadata} />
|
|
138
154
|
</div>
|
|
139
155
|
<div className="margin-top--md">
|
|
140
156
|
<LatestVersionSuggestionLabel
|
|
@@ -147,4 +163,17 @@ function DocVersionSuggestions(): JSX.Element {
|
|
|
147
163
|
);
|
|
148
164
|
}
|
|
149
165
|
|
|
150
|
-
export default
|
|
166
|
+
export default function DocVersionBanner({
|
|
167
|
+
className,
|
|
168
|
+
}: Props): JSX.Element | null {
|
|
169
|
+
const versionMetadata = useDocsVersion();
|
|
170
|
+
if (versionMetadata.banner) {
|
|
171
|
+
return (
|
|
172
|
+
<DocVersionBannerEnabled
|
|
173
|
+
className={className}
|
|
174
|
+
versionMetadata={versionMetadata}
|
|
175
|
+
/>
|
|
176
|
+
);
|
|
177
|
+
}
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
@@ -10,10 +10,15 @@ import Translate from '@docusaurus/Translate';
|
|
|
10
10
|
|
|
11
11
|
import type {Props} from '@theme/EditThisPage';
|
|
12
12
|
import IconEdit from '@theme/IconEdit';
|
|
13
|
+
import {ThemeClassNames} from '@docusaurus/theme-common';
|
|
13
14
|
|
|
14
15
|
export default function EditThisPage({editUrl}: Props): JSX.Element {
|
|
15
16
|
return (
|
|
16
|
-
<a
|
|
17
|
+
<a
|
|
18
|
+
href={editUrl}
|
|
19
|
+
target="_blank"
|
|
20
|
+
rel="noreferrer noopener"
|
|
21
|
+
className={ThemeClassNames.common.editThisPage}>
|
|
17
22
|
<IconEdit />
|
|
18
23
|
<Translate
|
|
19
24
|
id="theme.common.editThisPage"
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import Translate from '@docusaurus/Translate';
|
|
10
|
+
import type {Props} from '@theme/Error';
|
|
11
|
+
|
|
12
|
+
export default function ErrorPageContent({
|
|
13
|
+
error,
|
|
14
|
+
tryAgain,
|
|
15
|
+
}: Props): JSX.Element {
|
|
16
|
+
return (
|
|
17
|
+
<main className="container margin-vert--xl">
|
|
18
|
+
<div className="row">
|
|
19
|
+
<div className="col col--6 col--offset-3">
|
|
20
|
+
<h1 className="hero__title">
|
|
21
|
+
<Translate
|
|
22
|
+
id="theme.ErrorPageContent.title"
|
|
23
|
+
description="The title of the fallback page when the page crashed">
|
|
24
|
+
This page crashed.
|
|
25
|
+
</Translate>
|
|
26
|
+
</h1>
|
|
27
|
+
<p>{error.message}</p>
|
|
28
|
+
<div>
|
|
29
|
+
<button type="button" onClick={tryAgain}>
|
|
30
|
+
<Translate
|
|
31
|
+
id="theme.ErrorPageContent.tryAgain"
|
|
32
|
+
description="The label of the button to try again when the page crashed">
|
|
33
|
+
Try again
|
|
34
|
+
</Translate>
|
|
35
|
+
</button>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
</main>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import type {Props} from '@theme/Footer/Copyright';
|
|
10
|
+
|
|
11
|
+
export default function FooterCopyright({copyright}: Props): JSX.Element {
|
|
12
|
+
return (
|
|
13
|
+
<div
|
|
14
|
+
className="footer__copyright"
|
|
15
|
+
// Developer provided the HTML, so assume it's safe.
|
|
16
|
+
// eslint-disable-next-line react/no-danger
|
|
17
|
+
dangerouslySetInnerHTML={{__html: copyright}}
|
|
18
|
+
/>
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import type {Props} from '@theme/Footer/Layout';
|
|
11
|
+
|
|
12
|
+
export default function FooterLayout({
|
|
13
|
+
style,
|
|
14
|
+
links,
|
|
15
|
+
logo,
|
|
16
|
+
copyright,
|
|
17
|
+
}: Props): JSX.Element {
|
|
18
|
+
return (
|
|
19
|
+
<footer
|
|
20
|
+
className={clsx('footer', {
|
|
21
|
+
'footer--dark': style === 'dark',
|
|
22
|
+
})}>
|
|
23
|
+
<div className="container container-fluid">
|
|
24
|
+
{links}
|
|
25
|
+
{(logo || copyright) && (
|
|
26
|
+
<div className="footer__bottom text--center">
|
|
27
|
+
{logo && <div className="margin-bottom--sm">{logo}</div>}
|
|
28
|
+
{copyright}
|
|
29
|
+
</div>
|
|
30
|
+
)}
|
|
31
|
+
</div>
|
|
32
|
+
</footer>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
|
|
10
|
+
import Link from '@docusaurus/Link';
|
|
11
|
+
import useBaseUrl from '@docusaurus/useBaseUrl';
|
|
12
|
+
import isInternalUrl from '@docusaurus/isInternalUrl';
|
|
13
|
+
import IconExternalLink from '@theme/IconExternalLink';
|
|
14
|
+
import type {Props} from '@theme/Footer/LinkItem';
|
|
15
|
+
|
|
16
|
+
export default function FooterLinkItem({item}: Props): JSX.Element {
|
|
17
|
+
const {to, href, label, prependBaseUrlToHref, ...props} = item;
|
|
18
|
+
const toUrl = useBaseUrl(to);
|
|
19
|
+
const normalizedHref = useBaseUrl(href, {forcePrependBaseUrl: true});
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<Link
|
|
23
|
+
className="footer__link-item"
|
|
24
|
+
{...(href
|
|
25
|
+
? {
|
|
26
|
+
href: prependBaseUrlToHref ? normalizedHref : href,
|
|
27
|
+
}
|
|
28
|
+
: {
|
|
29
|
+
to: toUrl,
|
|
30
|
+
})}
|
|
31
|
+
{...props}>
|
|
32
|
+
{label}
|
|
33
|
+
{href && !isInternalUrl(href) && <IconExternalLink />}
|
|
34
|
+
</Link>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import type {Props} from '@theme/Footer/Links/MultiColumn';
|
|
10
|
+
import LinkItem from '@theme/Footer/LinkItem';
|
|
11
|
+
|
|
12
|
+
type ColumnType = Props['columns'][number];
|
|
13
|
+
type ColumnItemType = ColumnType['items'][number];
|
|
14
|
+
|
|
15
|
+
function ColumnLinkItem({item}: {item: ColumnItemType}) {
|
|
16
|
+
return item.html ? (
|
|
17
|
+
<li
|
|
18
|
+
className="footer__item"
|
|
19
|
+
// Developer provided the HTML, so assume it's safe.
|
|
20
|
+
// eslint-disable-next-line react/no-danger
|
|
21
|
+
dangerouslySetInnerHTML={{__html: item.html}}
|
|
22
|
+
/>
|
|
23
|
+
) : (
|
|
24
|
+
<li key={item.href || item.to} className="footer__item">
|
|
25
|
+
<LinkItem item={item} />
|
|
26
|
+
</li>
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function Column({column}: {column: ColumnType}) {
|
|
31
|
+
return (
|
|
32
|
+
<div className="col footer__col">
|
|
33
|
+
<div className="footer__title">{column.title}</div>
|
|
34
|
+
<ul className="footer__items clean-list">
|
|
35
|
+
{column.items.map((item, i) => (
|
|
36
|
+
<ColumnLinkItem key={i} item={item} />
|
|
37
|
+
))}
|
|
38
|
+
</ul>
|
|
39
|
+
</div>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export default function FooterLinksMultiColumn({columns}: Props): JSX.Element {
|
|
44
|
+
return (
|
|
45
|
+
<div className="row footer__links">
|
|
46
|
+
{columns.map((column, i) => (
|
|
47
|
+
<Column key={i} column={column} />
|
|
48
|
+
))}
|
|
49
|
+
</div>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import type {Props} from '@theme/Footer/Links/Simple';
|
|
10
|
+
import LinkItem from '@theme/Footer/LinkItem';
|
|
11
|
+
|
|
12
|
+
function Separator() {
|
|
13
|
+
return <span className="footer__link-separator">·</span>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function SimpleLinkItem({item}: {item: Props['links'][number]}) {
|
|
17
|
+
return item.html ? (
|
|
18
|
+
<span
|
|
19
|
+
className="footer__link-item"
|
|
20
|
+
// Developer provided the HTML, so assume it's safe.
|
|
21
|
+
// eslint-disable-next-line react/no-danger
|
|
22
|
+
dangerouslySetInnerHTML={{__html: item.html}}
|
|
23
|
+
/>
|
|
24
|
+
) : (
|
|
25
|
+
<LinkItem item={item} />
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export default function FooterLinksSimple({links}: Props): JSX.Element {
|
|
30
|
+
return (
|
|
31
|
+
<div className="footer__links text--center">
|
|
32
|
+
<div className="footer__links">
|
|
33
|
+
{links.map((item, i) => (
|
|
34
|
+
<React.Fragment key={i}>
|
|
35
|
+
<SimpleLinkItem item={item} />
|
|
36
|
+
{links.length !== i + 1 && <Separator />}
|
|
37
|
+
</React.Fragment>
|
|
38
|
+
))}
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
);
|
|
42
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
|
|
10
|
+
import {isMultiColumnFooterLinks} from '@docusaurus/theme-common';
|
|
11
|
+
import type {Props} from '@theme/Footer/Links';
|
|
12
|
+
import FooterLinksMultiColumn from '@theme/Footer/Links/MultiColumn';
|
|
13
|
+
import FooterLinksSimple from '@theme/Footer/Links/Simple';
|
|
14
|
+
|
|
15
|
+
export default function FooterLinks({links}: Props): JSX.Element {
|
|
16
|
+
return isMultiColumnFooterLinks(links) ? (
|
|
17
|
+
<FooterLinksMultiColumn columns={links} />
|
|
18
|
+
) : (
|
|
19
|
+
<FooterLinksSimple links={links} />
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
|
|
10
|
+
import Link from '@docusaurus/Link';
|
|
11
|
+
import {useBaseUrlUtils} from '@docusaurus/useBaseUrl';
|
|
12
|
+
import styles from './styles.module.css';
|
|
13
|
+
import ThemedImage from '@theme/ThemedImage';
|
|
14
|
+
import type {Props} from '@theme/Footer/Logo';
|
|
15
|
+
|
|
16
|
+
function LogoImage({logo}: Props) {
|
|
17
|
+
const {withBaseUrl} = useBaseUrlUtils();
|
|
18
|
+
const sources = {
|
|
19
|
+
light: withBaseUrl(logo.src),
|
|
20
|
+
dark: withBaseUrl(logo.srcDark ?? logo.src),
|
|
21
|
+
};
|
|
22
|
+
return (
|
|
23
|
+
<ThemedImage
|
|
24
|
+
className="footer__logo"
|
|
25
|
+
alt={logo.alt}
|
|
26
|
+
sources={sources}
|
|
27
|
+
width={logo.width}
|
|
28
|
+
height={logo.height}
|
|
29
|
+
/>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export default function FooterLogo({logo}: Props): JSX.Element {
|
|
34
|
+
return logo.href ? (
|
|
35
|
+
<Link href={logo.href} className={styles.footerLogoLink}>
|
|
36
|
+
<LogoImage logo={logo} />
|
|
37
|
+
</Link>
|
|
38
|
+
) : (
|
|
39
|
+
<LogoImage logo={logo} />
|
|
40
|
+
);
|
|
41
|
+
}
|
|
@@ -6,128 +6,28 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
|
-
import clsx from 'clsx';
|
|
10
9
|
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
|
|
17
|
-
function FooterLink({
|
|
18
|
-
to,
|
|
19
|
-
href,
|
|
20
|
-
label,
|
|
21
|
-
prependBaseUrlToHref,
|
|
22
|
-
...props
|
|
23
|
-
}: FooterLinkItem) {
|
|
24
|
-
const toUrl = useBaseUrl(to);
|
|
25
|
-
const normalizedHref = useBaseUrl(href, {forcePrependBaseUrl: true});
|
|
26
|
-
|
|
27
|
-
return (
|
|
28
|
-
<Link
|
|
29
|
-
className="footer__link-item"
|
|
30
|
-
{...(href
|
|
31
|
-
? {
|
|
32
|
-
href: prependBaseUrlToHref ? normalizedHref : href,
|
|
33
|
-
}
|
|
34
|
-
: {
|
|
35
|
-
to: toUrl,
|
|
36
|
-
})}
|
|
37
|
-
{...props}>
|
|
38
|
-
{label}
|
|
39
|
-
</Link>
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const FooterLogo = ({
|
|
44
|
-
sources,
|
|
45
|
-
alt,
|
|
46
|
-
}: Pick<ThemedImageProps, 'sources' | 'alt'>) => (
|
|
47
|
-
<ThemedImage className="footer__logo" alt={alt} sources={sources} />
|
|
48
|
-
);
|
|
10
|
+
import {useThemeConfig} from '@docusaurus/theme-common';
|
|
11
|
+
import FooterLinks from '@theme/Footer/Links';
|
|
12
|
+
import FooterLogo from '@theme/Footer/Logo';
|
|
13
|
+
import FooterCopyright from '@theme/Footer/Copyright';
|
|
14
|
+
import FooterLayout from '@theme/Footer/Layout';
|
|
49
15
|
|
|
50
16
|
function Footer(): JSX.Element | null {
|
|
51
17
|
const {footer} = useThemeConfig();
|
|
52
|
-
|
|
53
|
-
const {copyright, links = [], logo = {}} = footer || {};
|
|
54
|
-
const sources = {
|
|
55
|
-
light: useBaseUrl(logo.src),
|
|
56
|
-
dark: useBaseUrl(logo.srcDark || logo.src),
|
|
57
|
-
};
|
|
58
|
-
|
|
59
18
|
if (!footer) {
|
|
60
19
|
return null;
|
|
61
20
|
}
|
|
21
|
+
const {copyright, links, logo, style} = footer;
|
|
62
22
|
|
|
63
23
|
return (
|
|
64
|
-
<
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
<
|
|
69
|
-
|
|
70
|
-
<div className="row footer__links">
|
|
71
|
-
{links.map((linkItem, i) => (
|
|
72
|
-
<div key={i} className="col footer__col">
|
|
73
|
-
{linkItem.title != null ? (
|
|
74
|
-
<div className="footer__title">{linkItem.title}</div>
|
|
75
|
-
) : null}
|
|
76
|
-
{linkItem.items != null &&
|
|
77
|
-
Array.isArray(linkItem.items) &&
|
|
78
|
-
linkItem.items.length > 0 ? (
|
|
79
|
-
<ul className="footer__items">
|
|
80
|
-
{linkItem.items.map((item, key) =>
|
|
81
|
-
item.html ? (
|
|
82
|
-
<li
|
|
83
|
-
key={key}
|
|
84
|
-
className="footer__item"
|
|
85
|
-
// Developer provided the HTML, so assume it's safe.
|
|
86
|
-
// eslint-disable-next-line react/no-danger
|
|
87
|
-
dangerouslySetInnerHTML={{
|
|
88
|
-
__html: item.html,
|
|
89
|
-
}}
|
|
90
|
-
/>
|
|
91
|
-
) : (
|
|
92
|
-
<li key={item.href || item.to} className="footer__item">
|
|
93
|
-
<FooterLink {...item} />
|
|
94
|
-
</li>
|
|
95
|
-
),
|
|
96
|
-
)}
|
|
97
|
-
</ul>
|
|
98
|
-
) : null}
|
|
99
|
-
</div>
|
|
100
|
-
))}
|
|
101
|
-
</div>
|
|
102
|
-
)}
|
|
103
|
-
{(logo || copyright) && (
|
|
104
|
-
<div className="footer__bottom text--center">
|
|
105
|
-
{logo && (logo.src || logo.srcDark) && (
|
|
106
|
-
<div className="margin-bottom--sm">
|
|
107
|
-
{logo.href ? (
|
|
108
|
-
<Link href={logo.href} className={styles.footerLogoLink}>
|
|
109
|
-
<FooterLogo alt={logo.alt} sources={sources} />
|
|
110
|
-
</Link>
|
|
111
|
-
) : (
|
|
112
|
-
<FooterLogo alt={logo.alt} sources={sources} />
|
|
113
|
-
)}
|
|
114
|
-
</div>
|
|
115
|
-
)}
|
|
116
|
-
{copyright ? (
|
|
117
|
-
<div
|
|
118
|
-
className="footer__copyright"
|
|
119
|
-
// Developer provided the HTML, so assume it's safe.
|
|
120
|
-
// eslint-disable-next-line react/no-danger
|
|
121
|
-
dangerouslySetInnerHTML={{
|
|
122
|
-
__html: copyright,
|
|
123
|
-
}}
|
|
124
|
-
/>
|
|
125
|
-
) : null}
|
|
126
|
-
</div>
|
|
127
|
-
)}
|
|
128
|
-
</div>
|
|
129
|
-
</footer>
|
|
24
|
+
<FooterLayout
|
|
25
|
+
style={style}
|
|
26
|
+
links={links && links.length > 0 && <FooterLinks links={links} />}
|
|
27
|
+
logo={logo && <FooterLogo logo={logo} />}
|
|
28
|
+
copyright={copyright && <FooterCopyright copyright={copyright} />}
|
|
29
|
+
/>
|
|
130
30
|
);
|
|
131
31
|
}
|
|
132
32
|
|
|
133
|
-
export default Footer;
|
|
33
|
+
export default React.memo(Footer);
|