@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
|
@@ -6,40 +6,33 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import SearchNavbarItem from '@theme/NavbarItem/SearchNavbarItem';
|
|
12
|
-
import type {Props} from '@theme/NavbarItem';
|
|
9
|
+
import {type Props as DropdownNavbarItemProps} from '@theme/NavbarItem/DropdownNavbarItem';
|
|
10
|
+
import type {Types, Props} from '@theme/NavbarItem';
|
|
13
11
|
|
|
14
|
-
|
|
15
|
-
default: () => DefaultNavbarItem,
|
|
16
|
-
localeDropdown: () => LocaleDropdownNavbarItem,
|
|
17
|
-
search: () => SearchNavbarItem,
|
|
12
|
+
import ComponentTypes from '@theme/NavbarItem/ComponentTypes';
|
|
18
13
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
require('@theme/NavbarItem/DocsVersionNavbarItem').default,
|
|
24
|
-
docsVersionDropdown: () =>
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires, global-require
|
|
26
|
-
require('@theme/NavbarItem/DocsVersionDropdownNavbarItem').default,
|
|
27
|
-
doc: () =>
|
|
28
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires, global-require
|
|
29
|
-
require('@theme/NavbarItem/DocNavbarItem').default,
|
|
30
|
-
} as const;
|
|
31
|
-
|
|
32
|
-
const getNavbarItemComponent = (
|
|
33
|
-
type: keyof typeof NavbarItemComponents = 'default',
|
|
34
|
-
) => {
|
|
35
|
-
const navbarItemComponent = NavbarItemComponents[type];
|
|
36
|
-
if (!navbarItemComponent) {
|
|
37
|
-
throw new Error(`No NavbarItem component found for type=${type}.`);
|
|
14
|
+
const getNavbarItemComponent = (type: NonNullable<Types>) => {
|
|
15
|
+
const component = ComponentTypes[type];
|
|
16
|
+
if (!component) {
|
|
17
|
+
throw new Error(`No NavbarItem component found for type "${type}".`);
|
|
38
18
|
}
|
|
39
|
-
return
|
|
19
|
+
return component;
|
|
40
20
|
};
|
|
41
21
|
|
|
22
|
+
function getComponentType(type: Types, isDropdown: boolean) {
|
|
23
|
+
// Backward compatibility: navbar item with no type set
|
|
24
|
+
// but containing dropdown items should use the type "dropdown"
|
|
25
|
+
if (!type || type === 'default') {
|
|
26
|
+
return isDropdown ? 'dropdown' : 'default';
|
|
27
|
+
}
|
|
28
|
+
return type as NonNullable<Types>;
|
|
29
|
+
}
|
|
30
|
+
|
|
42
31
|
export default function NavbarItem({type, ...props}: Props): JSX.Element {
|
|
43
|
-
const
|
|
44
|
-
|
|
32
|
+
const componentType = getComponentType(
|
|
33
|
+
type,
|
|
34
|
+
(props as DropdownNavbarItemProps).items !== undefined,
|
|
35
|
+
);
|
|
36
|
+
const NavbarItemComponent = getNavbarItemComponent(componentType);
|
|
37
|
+
return <NavbarItemComponent {...(props as never)} />;
|
|
45
38
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* eslint-disable import/no-named-export */
|
|
9
|
+
|
|
10
|
+
export const getInfimaActiveClassName = (
|
|
11
|
+
mobile?: boolean,
|
|
12
|
+
): `${'menu' | 'navbar'}__link--active` =>
|
|
13
|
+
mobile ? 'menu__link--active' : 'navbar__link--active';
|
package/src/theme/NotFound.tsx
CHANGED
|
@@ -7,41 +7,48 @@
|
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import Layout from '@theme/Layout';
|
|
10
|
-
import Translate from '@docusaurus/Translate';
|
|
10
|
+
import Translate, {translate} from '@docusaurus/Translate';
|
|
11
|
+
import {PageMetadata} from '@docusaurus/theme-common';
|
|
11
12
|
|
|
12
|
-
function NotFound(): JSX.Element {
|
|
13
|
+
export default function NotFound(): JSX.Element {
|
|
13
14
|
return (
|
|
14
|
-
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
</
|
|
39
|
-
|
|
15
|
+
<>
|
|
16
|
+
<PageMetadata
|
|
17
|
+
title={translate({
|
|
18
|
+
id: 'theme.NotFound.title',
|
|
19
|
+
message: 'Page Not Found',
|
|
20
|
+
})}
|
|
21
|
+
/>
|
|
22
|
+
<Layout>
|
|
23
|
+
<main className="container margin-vert--xl">
|
|
24
|
+
<div className="row">
|
|
25
|
+
<div className="col col--6 col--offset-3">
|
|
26
|
+
<h1 className="hero__title">
|
|
27
|
+
<Translate
|
|
28
|
+
id="theme.NotFound.title"
|
|
29
|
+
description="The title of the 404 page">
|
|
30
|
+
Page Not Found
|
|
31
|
+
</Translate>
|
|
32
|
+
</h1>
|
|
33
|
+
<p>
|
|
34
|
+
<Translate
|
|
35
|
+
id="theme.NotFound.p1"
|
|
36
|
+
description="The first paragraph of the 404 page">
|
|
37
|
+
We could not find what you were looking for.
|
|
38
|
+
</Translate>
|
|
39
|
+
</p>
|
|
40
|
+
<p>
|
|
41
|
+
<Translate
|
|
42
|
+
id="theme.NotFound.p2"
|
|
43
|
+
description="The 2nd paragraph of the 404 page">
|
|
44
|
+
Please contact the owner of the site that linked you to the
|
|
45
|
+
original URL and let them know their link is broken.
|
|
46
|
+
</Translate>
|
|
47
|
+
</p>
|
|
48
|
+
</div>
|
|
40
49
|
</div>
|
|
41
|
-
</
|
|
42
|
-
</
|
|
43
|
-
|
|
50
|
+
</main>
|
|
51
|
+
</Layout>
|
|
52
|
+
</>
|
|
44
53
|
);
|
|
45
54
|
}
|
|
46
|
-
|
|
47
|
-
export default NotFound;
|
|
@@ -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
|
+
import React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import Link from '@docusaurus/Link';
|
|
11
|
+
import type {Props} from '@theme/PaginatorNavLink';
|
|
12
|
+
|
|
13
|
+
export default function PaginatorNavLink(props: Props): JSX.Element {
|
|
14
|
+
const {permalink, title, subLabel, isNext} = props;
|
|
15
|
+
return (
|
|
16
|
+
<Link
|
|
17
|
+
className={clsx(
|
|
18
|
+
'pagination-nav__link',
|
|
19
|
+
isNext ? 'pagination-nav__link--next' : 'pagination-nav__link--prev',
|
|
20
|
+
)}
|
|
21
|
+
to={permalink}>
|
|
22
|
+
{subLabel && <div className="pagination-nav__sublabel">{subLabel}</div>}
|
|
23
|
+
<div className="pagination-nav__label">{title}</div>
|
|
24
|
+
</Link>
|
|
25
|
+
);
|
|
26
|
+
}
|
package/src/theme/SearchBar.tsx
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
// By default, the classic theme does not provide any SearchBar implementation
|
|
9
|
-
// If you swizzled this
|
|
9
|
+
// If you swizzled this, it is your responsibility to provide an implementation
|
|
10
10
|
// Tip: swizzle the SearchBar from the Algolia theme for inspiration:
|
|
11
11
|
// npm run swizzle @docusaurus/theme-search-algolia SearchBar
|
|
12
|
+
|
|
12
13
|
export {default} from '@docusaurus/Noop';
|
|
@@ -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
|
+
import React from 'react';
|
|
9
|
+
|
|
10
|
+
import Head from '@docusaurus/Head';
|
|
11
|
+
import type {Props} from '@theme/SearchMetadata';
|
|
12
|
+
|
|
13
|
+
// Note: we bias toward using Algolia metadata on purpose
|
|
14
|
+
// Not doing so leads to confusion in the community,
|
|
15
|
+
// as it requires to first crawl the site with the Algolia plugin enabled first
|
|
16
|
+
// - https://github.com/facebook/docusaurus/issues/6693
|
|
17
|
+
// - https://github.com/facebook/docusaurus/issues/4555
|
|
18
|
+
export default function SearchMetadata({
|
|
19
|
+
locale,
|
|
20
|
+
version,
|
|
21
|
+
tag,
|
|
22
|
+
}: Props): JSX.Element {
|
|
23
|
+
// Seems safe to consider here the locale is the language, as the existing
|
|
24
|
+
// docsearch:language filter is afaik a regular string-based filter
|
|
25
|
+
const language = locale;
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<Head>
|
|
29
|
+
{/*
|
|
30
|
+
Docusaurus metadata, used by third-party search plugin
|
|
31
|
+
See https://github.com/cmfcmf/docusaurus-search-local/issues/99
|
|
32
|
+
*/}
|
|
33
|
+
{locale && <meta name="docusaurus_locale" content={locale} />}
|
|
34
|
+
{version && <meta name="docusaurus_version" content={version} />}
|
|
35
|
+
{tag && <meta name="docusaurus_tag" content={tag} />}
|
|
36
|
+
|
|
37
|
+
{/* Algolia DocSearch metadata */}
|
|
38
|
+
{language && <meta name="docsearch:language" content={language} />}
|
|
39
|
+
{version && <meta name="docsearch:version" content={version} />}
|
|
40
|
+
{tag && <meta name="docsearch:docusaurus_tag" content={tag} />}
|
|
41
|
+
</Head>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
@@ -9,22 +9,23 @@ import React from 'react';
|
|
|
9
9
|
import Head from '@docusaurus/Head';
|
|
10
10
|
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
11
11
|
import useBaseUrl from '@docusaurus/useBaseUrl';
|
|
12
|
-
import
|
|
13
|
-
import SearchMetadatas from '@theme/SearchMetadatas';
|
|
14
|
-
import Seo from '@theme/Seo';
|
|
12
|
+
import SearchMetadata from '@theme/SearchMetadata';
|
|
15
13
|
import {
|
|
14
|
+
PageMetadata,
|
|
16
15
|
DEFAULT_SEARCH_TAG,
|
|
17
|
-
useTitleFormatter,
|
|
18
16
|
useAlternatePageUtils,
|
|
17
|
+
useThemeConfig,
|
|
18
|
+
keyboardFocusedClassName,
|
|
19
19
|
} from '@docusaurus/theme-common';
|
|
20
20
|
import {useLocation} from '@docusaurus/router';
|
|
21
21
|
|
|
22
|
-
//
|
|
22
|
+
// TODO move to SiteMetadataDefaults or theme-common ?
|
|
23
|
+
// Useful for i18n/SEO
|
|
23
24
|
// See https://developers.google.com/search/docs/advanced/crawling/localized-versions
|
|
24
25
|
// See https://github.com/facebook/docusaurus/issues/3317
|
|
25
26
|
function AlternateLangHeaders(): JSX.Element {
|
|
26
27
|
const {
|
|
27
|
-
i18n: {defaultLocale,
|
|
28
|
+
i18n: {defaultLocale, localeConfigs},
|
|
28
29
|
} = useDocusaurusContext();
|
|
29
30
|
const alternatePageUtils = useAlternatePageUtils();
|
|
30
31
|
|
|
@@ -32,7 +33,7 @@ function AlternateLangHeaders(): JSX.Element {
|
|
|
32
33
|
// See https://www.searchviu.com/en/multiple-hreflang-tags-one-url/
|
|
33
34
|
return (
|
|
34
35
|
<Head>
|
|
35
|
-
{
|
|
36
|
+
{Object.entries(localeConfigs).map(([locale, {htmlLang}]) => (
|
|
36
37
|
<link
|
|
37
38
|
key={locale}
|
|
38
39
|
rel="alternate"
|
|
@@ -40,7 +41,7 @@ function AlternateLangHeaders(): JSX.Element {
|
|
|
40
41
|
locale,
|
|
41
42
|
fullyQualified: true,
|
|
42
43
|
})}
|
|
43
|
-
hrefLang={
|
|
44
|
+
hrefLang={htmlLang}
|
|
44
45
|
/>
|
|
45
46
|
))}
|
|
46
47
|
<link
|
|
@@ -64,6 +65,7 @@ function useDefaultCanonicalUrl() {
|
|
|
64
65
|
return siteUrl + useBaseUrl(pathname);
|
|
65
66
|
}
|
|
66
67
|
|
|
68
|
+
// TODO move to SiteMetadataDefaults or theme-common ?
|
|
67
69
|
function CanonicalUrlHeaders({permalink}: {permalink?: string}) {
|
|
68
70
|
const {
|
|
69
71
|
siteConfig: {url: siteUrl},
|
|
@@ -81,53 +83,42 @@ function CanonicalUrlHeaders({permalink}: {permalink?: string}) {
|
|
|
81
83
|
);
|
|
82
84
|
}
|
|
83
85
|
|
|
84
|
-
export default function
|
|
86
|
+
export default function SiteMetadata(): JSX.Element {
|
|
85
87
|
const {
|
|
86
|
-
|
|
87
|
-
favicon,
|
|
88
|
-
themeConfig: {metadatas},
|
|
89
|
-
},
|
|
90
|
-
i18n: {currentLocale, localeConfigs},
|
|
88
|
+
i18n: {currentLocale},
|
|
91
89
|
} = useDocusaurusContext();
|
|
92
|
-
const {title, description, image, keywords, searchMetadatas} = props;
|
|
93
|
-
const faviconUrl = useBaseUrl(favicon);
|
|
94
|
-
const pageTitle = useTitleFormatter(title);
|
|
95
90
|
|
|
96
|
-
//
|
|
97
|
-
//
|
|
98
|
-
const
|
|
99
|
-
const htmlDir = localeConfigs[currentLocale].direction;
|
|
91
|
+
// TODO maybe move these 2 themeConfig to siteConfig?
|
|
92
|
+
// These seems useful for other themes as well
|
|
93
|
+
const {metadata, image: defaultImage} = useThemeConfig();
|
|
100
94
|
|
|
101
95
|
return (
|
|
102
96
|
<>
|
|
103
97
|
<Head>
|
|
104
|
-
<
|
|
105
|
-
{
|
|
106
|
-
|
|
107
|
-
<
|
|
98
|
+
<meta name="twitter:card" content="summary_large_image" />
|
|
99
|
+
{/* The keyboard focus class name need to be applied when SSR so links
|
|
100
|
+
are outlined when JS is disabled */}
|
|
101
|
+
<body className={keyboardFocusedClassName} />
|
|
108
102
|
</Head>
|
|
109
103
|
|
|
110
|
-
|
|
104
|
+
{defaultImage && <PageMetadata image={defaultImage} />}
|
|
111
105
|
|
|
112
106
|
<CanonicalUrlHeaders />
|
|
113
107
|
|
|
114
108
|
<AlternateLangHeaders />
|
|
115
109
|
|
|
116
|
-
<
|
|
117
|
-
tag={DEFAULT_SEARCH_TAG}
|
|
118
|
-
locale={currentLocale}
|
|
119
|
-
{...searchMetadatas}
|
|
120
|
-
/>
|
|
110
|
+
<SearchMetadata tag={DEFAULT_SEARCH_TAG} locale={currentLocale} />
|
|
121
111
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
>
|
|
129
|
-
{
|
|
130
|
-
|
|
112
|
+
{/*
|
|
113
|
+
It's important to have an additional <Head> element here, as it allows
|
|
114
|
+
react-helmet to override default metadata values set in previous <Head>
|
|
115
|
+
like "twitter:card". In same Head, the same meta would appear twice
|
|
116
|
+
instead of overriding.
|
|
117
|
+
*/}
|
|
118
|
+
<Head>
|
|
119
|
+
{/* Yes, "metadatum" is the grammatically correct term */}
|
|
120
|
+
{metadata.map((metadatum, i) => (
|
|
121
|
+
<meta key={i} {...metadatum} />
|
|
131
122
|
))}
|
|
132
123
|
</Head>
|
|
133
124
|
</>
|
|
@@ -5,41 +5,18 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import React
|
|
8
|
+
import React from 'react';
|
|
9
9
|
import Translate from '@docusaurus/Translate';
|
|
10
|
-
import {
|
|
10
|
+
import {useSkipToContent} from '@docusaurus/theme-common';
|
|
11
11
|
|
|
12
12
|
import styles from './styles.module.css';
|
|
13
13
|
|
|
14
|
-
function
|
|
15
|
-
|
|
16
|
-
el.focus();
|
|
17
|
-
el.removeAttribute('tabindex');
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function SkipToContent(): JSX.Element {
|
|
21
|
-
const containerRef = useRef<HTMLDivElement>(null);
|
|
22
|
-
const handleSkip = (e: React.MouseEvent<HTMLAnchorElement>) => {
|
|
23
|
-
e.preventDefault();
|
|
24
|
-
|
|
25
|
-
const targetElement: HTMLElement | null =
|
|
26
|
-
document.querySelector('main:first-of-type') ||
|
|
27
|
-
document.querySelector('.main-wrapper');
|
|
28
|
-
|
|
29
|
-
if (targetElement) {
|
|
30
|
-
programmaticFocus(targetElement);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
useChangeRoute(() => {
|
|
35
|
-
if (containerRef.current) {
|
|
36
|
-
programmaticFocus(containerRef.current);
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
|
|
14
|
+
export default function SkipToContent(): JSX.Element {
|
|
15
|
+
const {containerRef, handleSkip} = useSkipToContent();
|
|
40
16
|
return (
|
|
41
|
-
<div ref={containerRef}>
|
|
42
|
-
|
|
17
|
+
<div ref={containerRef} role="region">
|
|
18
|
+
{/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
|
|
19
|
+
<a href="#" className={styles.skipToContent} onClick={handleSkip}>
|
|
43
20
|
<Translate
|
|
44
21
|
id="theme.common.skipToMainContent"
|
|
45
22
|
description="The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation">
|
|
@@ -49,5 +26,3 @@ function SkipToContent(): JSX.Element {
|
|
|
49
26
|
</div>
|
|
50
27
|
);
|
|
51
28
|
}
|
|
52
|
-
|
|
53
|
-
export default SkipToContent;
|
|
@@ -1,3 +1,10 @@
|
|
|
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
|
+
|
|
1
8
|
.skipToContent {
|
|
2
9
|
position: fixed;
|
|
3
10
|
top: 1rem;
|
|
@@ -6,11 +13,9 @@
|
|
|
6
13
|
padding: calc(var(--ifm-global-spacing) / 2) var(--ifm-global-spacing);
|
|
7
14
|
color: var(--ifm-color-emphasis-900);
|
|
8
15
|
background-color: var(--ifm-background-surface-color);
|
|
9
|
-
border-radius: var(--ifm-global-radius);
|
|
10
|
-
font: inherit;
|
|
11
|
-
border: none;
|
|
12
16
|
}
|
|
13
17
|
|
|
14
18
|
.skipToContent:focus {
|
|
15
19
|
left: 1rem;
|
|
20
|
+
box-shadow: var(--ifm-global-shadow-md);
|
|
16
21
|
}
|
package/src/theme/TOC/index.tsx
CHANGED
|
@@ -7,54 +7,23 @@
|
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import clsx from 'clsx';
|
|
10
|
-
import
|
|
11
|
-
import
|
|
10
|
+
import type {Props} from '@theme/TOC';
|
|
11
|
+
import TOCItems from '@theme/TOCItems';
|
|
12
12
|
import styles from './styles.module.css';
|
|
13
|
-
import {TOCItem} from '@docusaurus/types';
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
14
|
+
// Using a custom className
|
|
15
|
+
// This prevents TOCInline/TOCCollapsible getting highlighted by mistake
|
|
16
|
+
const LINK_CLASS_NAME = 'table-of-contents__link toc-highlight';
|
|
17
|
+
const LINK_ACTIVE_CLASS_NAME = 'table-of-contents__link--active';
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
function Headings({
|
|
21
|
-
toc,
|
|
22
|
-
isChild,
|
|
23
|
-
}: {
|
|
24
|
-
toc: readonly TOCItem[];
|
|
25
|
-
isChild?: boolean;
|
|
26
|
-
}) {
|
|
27
|
-
if (!toc.length) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
19
|
+
export default function TOC({className, ...props}: Props): JSX.Element {
|
|
30
20
|
return (
|
|
31
|
-
<
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
<a
|
|
38
|
-
href={`#${heading.id}`}
|
|
39
|
-
className={LINK_CLASS_NAME}
|
|
40
|
-
// Developer provided the HTML, so assume it's safe.
|
|
41
|
-
// eslint-disable-next-line react/no-danger
|
|
42
|
-
dangerouslySetInnerHTML={{__html: heading.value}}
|
|
43
|
-
/>
|
|
44
|
-
<Headings isChild toc={heading.children} />
|
|
45
|
-
</li>
|
|
46
|
-
))}
|
|
47
|
-
</ul>
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function TOC({toc}: TOCProps): JSX.Element {
|
|
52
|
-
useTOCHighlight(LINK_CLASS_NAME, ACTIVE_LINK_CLASS_NAME, TOP_OFFSET);
|
|
53
|
-
return (
|
|
54
|
-
<div className={clsx(styles.tableOfContents, 'thin-scrollbar')}>
|
|
55
|
-
<Headings toc={toc} />
|
|
21
|
+
<div className={clsx(styles.tableOfContents, 'thin-scrollbar', className)}>
|
|
22
|
+
<TOCItems
|
|
23
|
+
{...props}
|
|
24
|
+
linkClassName={LINK_CLASS_NAME}
|
|
25
|
+
linkActiveClassName={LINK_ACTIVE_CLASS_NAME}
|
|
26
|
+
/>
|
|
56
27
|
</div>
|
|
57
28
|
);
|
|
58
29
|
}
|
|
59
|
-
|
|
60
|
-
export default TOC;
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
max-height: calc(100vh - (var(--ifm-navbar-height) + 2rem));
|
|
10
10
|
overflow-y: auto;
|
|
11
11
|
position: sticky;
|
|
12
|
-
top: calc(var(--ifm-navbar-height) +
|
|
12
|
+
top: calc(var(--ifm-navbar-height) + 1rem);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
@media
|
|
15
|
+
@media (max-width: 996px) {
|
|
16
16
|
.tableOfContents {
|
|
17
17
|
display: none;
|
|
18
18
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
.tocCollapsibleButton {
|
|
9
|
+
font-size: inherit;
|
|
10
|
+
display: flex;
|
|
11
|
+
justify-content: space-between;
|
|
12
|
+
align-items: center;
|
|
13
|
+
padding: 0.4rem 0.8rem;
|
|
14
|
+
width: 100%;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.tocCollapsibleButton::after {
|
|
18
|
+
content: '';
|
|
19
|
+
background: var(--ifm-menu-link-sublist-icon) 50% 50% / 2rem 2rem no-repeat;
|
|
20
|
+
filter: var(--ifm-menu-link-sublist-icon-filter);
|
|
21
|
+
height: 1.25rem;
|
|
22
|
+
width: 1.25rem;
|
|
23
|
+
transform: rotate(180deg);
|
|
24
|
+
transition: transform var(--ifm-transition-fast);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.tocCollapsibleButtonExpanded::after {
|
|
28
|
+
transform: none;
|
|
29
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import Translate from '@docusaurus/Translate';
|
|
11
|
+
import styles from './CollapseButton.module.css';
|
|
12
|
+
import type {Props} from '@theme/TOCCollapsible/CollapseButton';
|
|
13
|
+
|
|
14
|
+
export default function TOCCollapsibleCollapseButton({
|
|
15
|
+
collapsed,
|
|
16
|
+
...props
|
|
17
|
+
}: Props): JSX.Element {
|
|
18
|
+
return (
|
|
19
|
+
<button
|
|
20
|
+
type="button"
|
|
21
|
+
{...props}
|
|
22
|
+
className={clsx(
|
|
23
|
+
'clean-btn',
|
|
24
|
+
styles.tocCollapsibleButton,
|
|
25
|
+
!collapsed && styles.tocCollapsibleButtonExpanded,
|
|
26
|
+
props.className,
|
|
27
|
+
)}>
|
|
28
|
+
<Translate
|
|
29
|
+
id="theme.TOCCollapsible.toggleButtonLabel"
|
|
30
|
+
description="The label used by the button on the collapsible TOC component">
|
|
31
|
+
On this page
|
|
32
|
+
</Translate>
|
|
33
|
+
</button>
|
|
34
|
+
);
|
|
35
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
.tocCollapsible {
|
|
9
|
+
background-color: var(--ifm-menu-color-background-active);
|
|
10
|
+
border-radius: var(--ifm-global-radius);
|
|
11
|
+
margin: 1rem 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.tocCollapsibleContent > ul {
|
|
15
|
+
border-left: none;
|
|
16
|
+
border-top: 1px solid var(--ifm-color-emphasis-300);
|
|
17
|
+
padding: 0.2rem 0;
|
|
18
|
+
font-size: 15px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.tocCollapsibleContent ul li {
|
|
22
|
+
margin: 0.4rem 0.8rem;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.tocCollapsibleContent a {
|
|
26
|
+
display: block;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.tocCollapsibleExpanded {
|
|
30
|
+
transform: none;
|
|
31
|
+
}
|