@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
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React, {useEffect, useMemo} from 'react';
|
|
8
|
+
import clsx from 'clsx';
|
|
9
|
+
import {
|
|
10
|
+
isActiveSidebarItem,
|
|
11
|
+
usePrevious,
|
|
12
|
+
Collapsible,
|
|
13
|
+
useCollapsible,
|
|
14
|
+
findFirstCategoryLink,
|
|
15
|
+
ThemeClassNames,
|
|
16
|
+
useThemeConfig,
|
|
17
|
+
useDocSidebarItemsExpandedState,
|
|
18
|
+
isSamePath,
|
|
19
|
+
} from '@docusaurus/theme-common';
|
|
20
|
+
import Link from '@docusaurus/Link';
|
|
21
|
+
import {translate} from '@docusaurus/Translate';
|
|
22
|
+
import DocSidebarItems from '@theme/DocSidebarItems';
|
|
23
|
+
import useIsBrowser from '@docusaurus/useIsBrowser'; // If we navigate to a category and it becomes active, it should automatically
|
|
24
|
+
// expand itself
|
|
25
|
+
|
|
26
|
+
function useAutoExpandActiveCategory({isActive, collapsed, setCollapsed}) {
|
|
27
|
+
const wasActive = usePrevious(isActive);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
const justBecameActive = isActive && !wasActive;
|
|
30
|
+
|
|
31
|
+
if (justBecameActive && collapsed) {
|
|
32
|
+
setCollapsed(false);
|
|
33
|
+
}
|
|
34
|
+
}, [isActive, wasActive, collapsed, setCollapsed]);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* When a collapsible category has no link, we still link it to its first child
|
|
38
|
+
* during SSR as a temporary fallback. This allows to be able to navigate inside
|
|
39
|
+
* the category even when JS fails to load, is delayed or simply disabled
|
|
40
|
+
* React hydration becomes an optional progressive enhancement
|
|
41
|
+
* see https://github.com/facebookincubator/infima/issues/36#issuecomment-772543188
|
|
42
|
+
* see https://github.com/facebook/docusaurus/issues/3030
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
function useCategoryHrefWithSSRFallback(item) {
|
|
46
|
+
const isBrowser = useIsBrowser();
|
|
47
|
+
return useMemo(() => {
|
|
48
|
+
if (item.href) {
|
|
49
|
+
return item.href;
|
|
50
|
+
} // In these cases, it's not necessary to render a fallback
|
|
51
|
+
// We skip the "findFirstCategoryLink" computation
|
|
52
|
+
|
|
53
|
+
if (isBrowser || !item.collapsible) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return findFirstCategoryLink(item);
|
|
58
|
+
}, [item, isBrowser]);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function CollapseButton({categoryLabel, onClick}) {
|
|
62
|
+
return (
|
|
63
|
+
<button
|
|
64
|
+
aria-label={translate(
|
|
65
|
+
{
|
|
66
|
+
id: 'theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel',
|
|
67
|
+
message: "Toggle the collapsible sidebar category '{label}'",
|
|
68
|
+
description:
|
|
69
|
+
'The ARIA label to toggle the collapsible sidebar category',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
label: categoryLabel,
|
|
73
|
+
},
|
|
74
|
+
)}
|
|
75
|
+
type="button"
|
|
76
|
+
className="clean-btn menu__caret"
|
|
77
|
+
onClick={onClick}
|
|
78
|
+
/>
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export default function DocSidebarItemCategory({
|
|
83
|
+
item,
|
|
84
|
+
onItemClick,
|
|
85
|
+
activePath,
|
|
86
|
+
level,
|
|
87
|
+
index,
|
|
88
|
+
...props
|
|
89
|
+
}) {
|
|
90
|
+
const {items, label, collapsible, className, href} = item;
|
|
91
|
+
const hrefWithSSRFallback = useCategoryHrefWithSSRFallback(item);
|
|
92
|
+
const isActive = isActiveSidebarItem(item, activePath);
|
|
93
|
+
const isCurrentPage = isSamePath(href, activePath);
|
|
94
|
+
const {collapsed, setCollapsed} = useCollapsible({
|
|
95
|
+
// Active categories are always initialized as expanded. The default
|
|
96
|
+
// (`item.collapsed`) is only used for non-active categories.
|
|
97
|
+
initialState: () => {
|
|
98
|
+
if (!collapsible) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return isActive ? false : item.collapsed;
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
useAutoExpandActiveCategory({
|
|
106
|
+
isActive,
|
|
107
|
+
collapsed,
|
|
108
|
+
setCollapsed,
|
|
109
|
+
});
|
|
110
|
+
const {expandedItem, setExpandedItem} = useDocSidebarItemsExpandedState();
|
|
111
|
+
|
|
112
|
+
function updateCollapsed(toCollapsed = !collapsed) {
|
|
113
|
+
setExpandedItem(toCollapsed ? null : index);
|
|
114
|
+
setCollapsed(toCollapsed);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const {
|
|
118
|
+
docs: {
|
|
119
|
+
sidebar: {autoCollapseCategories},
|
|
120
|
+
},
|
|
121
|
+
} = useThemeConfig();
|
|
122
|
+
useEffect(() => {
|
|
123
|
+
if (
|
|
124
|
+
collapsible &&
|
|
125
|
+
expandedItem &&
|
|
126
|
+
expandedItem !== index &&
|
|
127
|
+
autoCollapseCategories
|
|
128
|
+
) {
|
|
129
|
+
setCollapsed(true);
|
|
130
|
+
}
|
|
131
|
+
}, [collapsible, expandedItem, index, setCollapsed, autoCollapseCategories]);
|
|
132
|
+
return (
|
|
133
|
+
<li
|
|
134
|
+
className={clsx(
|
|
135
|
+
ThemeClassNames.docs.docSidebarItemCategory,
|
|
136
|
+
ThemeClassNames.docs.docSidebarItemCategoryLevel(level),
|
|
137
|
+
'menu__list-item',
|
|
138
|
+
{
|
|
139
|
+
'menu__list-item--collapsed': collapsed,
|
|
140
|
+
},
|
|
141
|
+
className,
|
|
142
|
+
)}>
|
|
143
|
+
<div
|
|
144
|
+
className={clsx('menu__list-item-collapsible', {
|
|
145
|
+
'menu__list-item-collapsible--active': isCurrentPage,
|
|
146
|
+
})}>
|
|
147
|
+
<Link
|
|
148
|
+
className={clsx('menu__link', {
|
|
149
|
+
'menu__link--sublist': collapsible,
|
|
150
|
+
'menu__link--sublist-caret': !href && collapsible,
|
|
151
|
+
'menu__link--active': isActive,
|
|
152
|
+
})}
|
|
153
|
+
onClick={
|
|
154
|
+
collapsible
|
|
155
|
+
? (e) => {
|
|
156
|
+
onItemClick?.(item);
|
|
157
|
+
|
|
158
|
+
if (href) {
|
|
159
|
+
updateCollapsed(false);
|
|
160
|
+
} else {
|
|
161
|
+
e.preventDefault();
|
|
162
|
+
updateCollapsed();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
: () => {
|
|
166
|
+
onItemClick?.(item);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
aria-current={isCurrentPage ? 'page' : undefined}
|
|
170
|
+
aria-expanded={collapsible ? !collapsed : undefined}
|
|
171
|
+
href={collapsible ? hrefWithSSRFallback ?? '#' : hrefWithSSRFallback}
|
|
172
|
+
{...props}>
|
|
173
|
+
{label}
|
|
174
|
+
</Link>
|
|
175
|
+
{href && collapsible && (
|
|
176
|
+
<CollapseButton
|
|
177
|
+
categoryLabel={label}
|
|
178
|
+
onClick={(e) => {
|
|
179
|
+
e.preventDefault();
|
|
180
|
+
updateCollapsed();
|
|
181
|
+
}}
|
|
182
|
+
/>
|
|
183
|
+
)}
|
|
184
|
+
</div>
|
|
185
|
+
|
|
186
|
+
<Collapsible lazy as="ul" className="menu__list" collapsed={collapsed}>
|
|
187
|
+
<DocSidebarItems
|
|
188
|
+
items={items}
|
|
189
|
+
tabIndex={collapsed ? -1 : 0}
|
|
190
|
+
onItemClick={onItemClick}
|
|
191
|
+
activePath={activePath}
|
|
192
|
+
level={level + 1}
|
|
193
|
+
/>
|
|
194
|
+
</Collapsible>
|
|
195
|
+
</li>
|
|
196
|
+
);
|
|
197
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import clsx from 'clsx';
|
|
9
|
+
import {ThemeClassNames} from '@docusaurus/theme-common';
|
|
10
|
+
import styles from './Html.module.css';
|
|
11
|
+
export default function DocSidebarItemHtml({item, level, index}) {
|
|
12
|
+
const {value, defaultStyle, className} = item;
|
|
13
|
+
return (
|
|
14
|
+
<li
|
|
15
|
+
className={clsx(
|
|
16
|
+
ThemeClassNames.docs.docSidebarItemLink,
|
|
17
|
+
ThemeClassNames.docs.docSidebarItemLinkLevel(level),
|
|
18
|
+
defaultStyle && `${styles.menuHtmlItem} menu__list-item`,
|
|
19
|
+
className,
|
|
20
|
+
)}
|
|
21
|
+
key={index} // eslint-disable-next-line react/no-danger
|
|
22
|
+
dangerouslySetInnerHTML={{
|
|
23
|
+
__html: value,
|
|
24
|
+
}}
|
|
25
|
+
/>
|
|
26
|
+
);
|
|
27
|
+
}
|
|
@@ -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
|
+
@media (min-width: 997px) {
|
|
9
|
+
.menuHtmlItem {
|
|
10
|
+
padding: var(--ifm-menu-link-padding-vertical)
|
|
11
|
+
var(--ifm-menu-link-padding-horizontal);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import clsx from 'clsx';
|
|
9
|
+
import {isActiveSidebarItem, ThemeClassNames} from '@docusaurus/theme-common';
|
|
10
|
+
import Link from '@docusaurus/Link';
|
|
11
|
+
import isInternalUrl from '@docusaurus/isInternalUrl';
|
|
12
|
+
import IconExternalLink from '@theme/IconExternalLink';
|
|
13
|
+
import styles from './Link.module.css';
|
|
14
|
+
export default function DocSidebarItemLink({
|
|
15
|
+
item,
|
|
16
|
+
onItemClick,
|
|
17
|
+
activePath,
|
|
18
|
+
level,
|
|
19
|
+
index,
|
|
20
|
+
...props
|
|
21
|
+
}) {
|
|
22
|
+
const {href, label, className} = item;
|
|
23
|
+
const isActive = isActiveSidebarItem(item, activePath);
|
|
24
|
+
const isInternalLink = isInternalUrl(href);
|
|
25
|
+
return (
|
|
26
|
+
<li
|
|
27
|
+
className={clsx(
|
|
28
|
+
ThemeClassNames.docs.docSidebarItemLink,
|
|
29
|
+
ThemeClassNames.docs.docSidebarItemLinkLevel(level),
|
|
30
|
+
'menu__list-item',
|
|
31
|
+
className,
|
|
32
|
+
)}
|
|
33
|
+
key={label}>
|
|
34
|
+
<Link
|
|
35
|
+
className={clsx(
|
|
36
|
+
'menu__link',
|
|
37
|
+
!isInternalLink && styles.menuExternalLink,
|
|
38
|
+
{
|
|
39
|
+
'menu__link--active': isActive,
|
|
40
|
+
},
|
|
41
|
+
)}
|
|
42
|
+
aria-current={isActive ? 'page' : undefined}
|
|
43
|
+
to={href}
|
|
44
|
+
{...(isInternalLink && {
|
|
45
|
+
onClick: onItemClick ? () => onItemClick(item) : undefined,
|
|
46
|
+
})}
|
|
47
|
+
{...props}>
|
|
48
|
+
{label}
|
|
49
|
+
{!isInternalLink && <IconExternalLink />}
|
|
50
|
+
</Link>
|
|
51
|
+
</li>
|
|
52
|
+
);
|
|
53
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import DocSidebarItemCategory from '@theme/DocSidebarItem/Category';
|
|
9
|
+
import DocSidebarItemLink from '@theme/DocSidebarItem/Link';
|
|
10
|
+
import DocSidebarItemHtml from '@theme/DocSidebarItem/Html';
|
|
11
|
+
export default function DocSidebarItem({item, ...props}) {
|
|
12
|
+
switch (item.type) {
|
|
13
|
+
case 'category':
|
|
14
|
+
return <DocSidebarItemCategory item={item} {...props} />;
|
|
15
|
+
|
|
16
|
+
case 'html':
|
|
17
|
+
return <DocSidebarItemHtml item={item} {...props} />;
|
|
18
|
+
|
|
19
|
+
case 'link':
|
|
20
|
+
default:
|
|
21
|
+
return <DocSidebarItemLink item={item} {...props} />;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React, {memo} from 'react';
|
|
8
|
+
import DocSidebarItem from '@theme/DocSidebarItem';
|
|
9
|
+
import {DocSidebarItemsExpandedStateProvider} from '@docusaurus/theme-common';
|
|
10
|
+
|
|
11
|
+
// TODO this item should probably not receive the "activePath" props
|
|
12
|
+
// TODO this triggers whole sidebar re-renders on navigation
|
|
13
|
+
function DocSidebarItems({items, ...props}) {
|
|
14
|
+
return (
|
|
15
|
+
<DocSidebarItemsExpandedStateProvider>
|
|
16
|
+
{items.map((item, index) => (
|
|
17
|
+
<DocSidebarItem key={index} item={item} index={index} {...props} />
|
|
18
|
+
))}
|
|
19
|
+
</DocSidebarItemsExpandedStateProvider>
|
|
20
|
+
);
|
|
21
|
+
} // Optimize sidebar at each "level"
|
|
22
|
+
|
|
23
|
+
export default memo(DocSidebarItems);
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import Layout from '@theme/Layout';
|
|
9
|
+
import Link from '@docusaurus/Link';
|
|
10
|
+
import {
|
|
11
|
+
PageMetadata,
|
|
12
|
+
HtmlClassNameProvider,
|
|
13
|
+
ThemeClassNames,
|
|
14
|
+
usePluralForm,
|
|
15
|
+
} from '@docusaurus/theme-common';
|
|
16
|
+
import Translate, {translate} from '@docusaurus/Translate';
|
|
17
|
+
import SearchMetadata from '@theme/SearchMetadata';
|
|
18
|
+
import clsx from 'clsx'; // Very simple pluralization: probably good enough for now
|
|
19
|
+
|
|
20
|
+
function useNDocsTaggedPlural() {
|
|
21
|
+
const {selectMessage} = usePluralForm();
|
|
22
|
+
return (count) =>
|
|
23
|
+
selectMessage(
|
|
24
|
+
count,
|
|
25
|
+
translate(
|
|
26
|
+
{
|
|
27
|
+
id: 'theme.docs.tagDocListPageTitle.nDocsTagged',
|
|
28
|
+
description:
|
|
29
|
+
'Pluralized label for "{count} docs tagged". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',
|
|
30
|
+
message: 'One doc tagged|{count} docs tagged',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
count,
|
|
34
|
+
},
|
|
35
|
+
),
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function DocItem({doc}) {
|
|
40
|
+
return (
|
|
41
|
+
<article className="margin-vert--lg">
|
|
42
|
+
<Link to={doc.permalink}>
|
|
43
|
+
<h2>{doc.title}</h2>
|
|
44
|
+
</Link>
|
|
45
|
+
{doc.description && <p>{doc.description}</p>}
|
|
46
|
+
</article>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export default function DocTagDocListPage({tag}) {
|
|
51
|
+
const nDocsTaggedPlural = useNDocsTaggedPlural();
|
|
52
|
+
const title = translate(
|
|
53
|
+
{
|
|
54
|
+
id: 'theme.docs.tagDocListPageTitle',
|
|
55
|
+
description: 'The title of the page for a docs tag',
|
|
56
|
+
message: '{nDocsTagged} with "{tagName}"',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
nDocsTagged: nDocsTaggedPlural(tag.count),
|
|
60
|
+
tagName: tag.label,
|
|
61
|
+
},
|
|
62
|
+
);
|
|
63
|
+
return (
|
|
64
|
+
<HtmlClassNameProvider
|
|
65
|
+
className={clsx(
|
|
66
|
+
ThemeClassNames.wrapper.docsPages,
|
|
67
|
+
ThemeClassNames.page.docsTagDocListPage,
|
|
68
|
+
)}>
|
|
69
|
+
<PageMetadata title={title} />
|
|
70
|
+
<SearchMetadata tag="doc_tag_doc_list" />
|
|
71
|
+
<Layout>
|
|
72
|
+
<div className="container margin-vert--lg">
|
|
73
|
+
<div className="row">
|
|
74
|
+
<main className="col col--8 col--offset-2">
|
|
75
|
+
<header className="margin-bottom--xl">
|
|
76
|
+
<h1>{title}</h1>
|
|
77
|
+
<Link href={tag.allTagsPath}>
|
|
78
|
+
<Translate
|
|
79
|
+
id="theme.tags.tagsPageLink"
|
|
80
|
+
description="The label of the link targeting the tag list page">
|
|
81
|
+
View All Tags
|
|
82
|
+
</Translate>
|
|
83
|
+
</Link>
|
|
84
|
+
</header>
|
|
85
|
+
<section className="margin-vert--lg">
|
|
86
|
+
{tag.items.map((doc) => (
|
|
87
|
+
<DocItem key={doc.id} doc={doc} />
|
|
88
|
+
))}
|
|
89
|
+
</section>
|
|
90
|
+
</main>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
</Layout>
|
|
94
|
+
</HtmlClassNameProvider>
|
|
95
|
+
);
|
|
96
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import Layout from '@theme/Layout';
|
|
9
|
+
import {
|
|
10
|
+
PageMetadata,
|
|
11
|
+
HtmlClassNameProvider,
|
|
12
|
+
ThemeClassNames,
|
|
13
|
+
translateTagsPageTitle,
|
|
14
|
+
} from '@docusaurus/theme-common';
|
|
15
|
+
import TagsListByLetter from '@theme/TagsListByLetter';
|
|
16
|
+
import SearchMetadata from '@theme/SearchMetadata';
|
|
17
|
+
import clsx from 'clsx';
|
|
18
|
+
export default function DocTagsListPage({tags}) {
|
|
19
|
+
const title = translateTagsPageTitle();
|
|
20
|
+
return (
|
|
21
|
+
<HtmlClassNameProvider
|
|
22
|
+
className={clsx(
|
|
23
|
+
ThemeClassNames.wrapper.docsPages,
|
|
24
|
+
ThemeClassNames.page.docsTagsListPage,
|
|
25
|
+
)}>
|
|
26
|
+
<PageMetadata title={title} />
|
|
27
|
+
<SearchMetadata tag="doc_tags_list" />
|
|
28
|
+
<Layout>
|
|
29
|
+
<div className="container margin-vert--lg">
|
|
30
|
+
<div className="row">
|
|
31
|
+
<main className="col col--8 col--offset-2">
|
|
32
|
+
<h1>{title}</h1>
|
|
33
|
+
<TagsListByLetter tags={tags} />
|
|
34
|
+
</main>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
</Layout>
|
|
38
|
+
</HtmlClassNameProvider>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
@@ -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
|
+
import React from 'react';
|
|
8
|
+
import Translate from '@docusaurus/Translate';
|
|
9
|
+
import {ThemeClassNames, useDocsVersion} from '@docusaurus/theme-common';
|
|
10
|
+
import clsx from 'clsx';
|
|
11
|
+
export default function DocVersionBadge({className}) {
|
|
12
|
+
const versionMetadata = useDocsVersion();
|
|
13
|
+
|
|
14
|
+
if (versionMetadata.badge) {
|
|
15
|
+
return (
|
|
16
|
+
<span
|
|
17
|
+
className={clsx(
|
|
18
|
+
className,
|
|
19
|
+
ThemeClassNames.docs.docVersionBadge,
|
|
20
|
+
'badge badge--secondary',
|
|
21
|
+
)}>
|
|
22
|
+
<Translate
|
|
23
|
+
id="theme.docs.versionBadge.label"
|
|
24
|
+
values={{
|
|
25
|
+
versionLabel: versionMetadata.label,
|
|
26
|
+
}}>
|
|
27
|
+
{'Version: {versionLabel}'}
|
|
28
|
+
</Translate>
|
|
29
|
+
</span>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
@@ -10,19 +10,23 @@ import Link from '@docusaurus/Link';
|
|
|
10
10
|
import Translate from '@docusaurus/Translate';
|
|
11
11
|
import {
|
|
12
12
|
useActivePlugin,
|
|
13
|
-
useActiveVersion,
|
|
14
13
|
useDocVersionSuggestions,
|
|
15
|
-
} from '@
|
|
16
|
-
import {
|
|
14
|
+
} from '@docusaurus/plugin-content-docs/client';
|
|
15
|
+
import {
|
|
16
|
+
ThemeClassNames,
|
|
17
|
+
useDocsPreferredVersion,
|
|
18
|
+
useDocsVersion,
|
|
19
|
+
} from '@docusaurus/theme-common';
|
|
20
|
+
import clsx from 'clsx';
|
|
17
21
|
|
|
18
|
-
function UnreleasedVersionLabel({siteTitle,
|
|
22
|
+
function UnreleasedVersionLabel({siteTitle, versionMetadata}) {
|
|
19
23
|
return (
|
|
20
24
|
<Translate
|
|
21
25
|
id="theme.docs.versions.unreleasedVersionLabel"
|
|
22
26
|
description="The label used to tell the user that he's browsing an unreleased doc version"
|
|
23
27
|
values={{
|
|
24
28
|
siteTitle,
|
|
25
|
-
versionLabel: <
|
|
29
|
+
versionLabel: <b>{versionMetadata.label}</b>,
|
|
26
30
|
}}>
|
|
27
31
|
{
|
|
28
32
|
'This is unreleased documentation for {siteTitle} {versionLabel} version.'
|
|
@@ -31,14 +35,14 @@ function UnreleasedVersionLabel({siteTitle, versionLabel}) {
|
|
|
31
35
|
);
|
|
32
36
|
}
|
|
33
37
|
|
|
34
|
-
function UnmaintainedVersionLabel({siteTitle,
|
|
38
|
+
function UnmaintainedVersionLabel({siteTitle, versionMetadata}) {
|
|
35
39
|
return (
|
|
36
40
|
<Translate
|
|
37
41
|
id="theme.docs.versions.unmaintainedVersionLabel"
|
|
38
42
|
description="The label used to tell the user that he's browsing an unmaintained doc version"
|
|
39
43
|
values={{
|
|
40
44
|
siteTitle,
|
|
41
|
-
versionLabel: <
|
|
45
|
+
versionLabel: <b>{versionMetadata.label}</b>,
|
|
42
46
|
}}>
|
|
43
47
|
{
|
|
44
48
|
'This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.'
|
|
@@ -47,15 +51,26 @@ function UnmaintainedVersionLabel({siteTitle, versionLabel}) {
|
|
|
47
51
|
);
|
|
48
52
|
}
|
|
49
53
|
|
|
54
|
+
const BannerLabelComponents = {
|
|
55
|
+
unreleased: UnreleasedVersionLabel,
|
|
56
|
+
unmaintained: UnmaintainedVersionLabel,
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
function BannerLabel(props) {
|
|
60
|
+
const BannerLabelComponent =
|
|
61
|
+
BannerLabelComponents[props.versionMetadata.banner];
|
|
62
|
+
return <BannerLabelComponent {...props} />;
|
|
63
|
+
}
|
|
64
|
+
|
|
50
65
|
function LatestVersionSuggestionLabel({versionLabel, to, onClick}) {
|
|
51
66
|
return (
|
|
52
67
|
<Translate
|
|
53
68
|
id="theme.docs.versions.latestVersionSuggestionLabel"
|
|
54
|
-
description="The label
|
|
69
|
+
description="The label used to tell the user to check the latest version"
|
|
55
70
|
values={{
|
|
56
71
|
versionLabel,
|
|
57
72
|
latestVersionLink: (
|
|
58
|
-
<
|
|
73
|
+
<b>
|
|
59
74
|
<Link to={to} onClick={onClick}>
|
|
60
75
|
<Translate
|
|
61
76
|
id="theme.docs.versions.latestVersionLinkLabel"
|
|
@@ -63,7 +78,7 @@ function LatestVersionSuggestionLabel({versionLabel, to, onClick}) {
|
|
|
63
78
|
latest version
|
|
64
79
|
</Translate>
|
|
65
80
|
</Link>
|
|
66
|
-
</
|
|
81
|
+
</b>
|
|
67
82
|
),
|
|
68
83
|
}}>
|
|
69
84
|
{
|
|
@@ -73,44 +88,34 @@ function LatestVersionSuggestionLabel({versionLabel, to, onClick}) {
|
|
|
73
88
|
);
|
|
74
89
|
}
|
|
75
90
|
|
|
76
|
-
|
|
77
|
-
version.docs.find((doc) => doc.id === version.mainDocId);
|
|
78
|
-
|
|
79
|
-
function DocVersionSuggestions() {
|
|
91
|
+
function DocVersionBannerEnabled({className, versionMetadata}) {
|
|
80
92
|
const {
|
|
81
93
|
siteConfig: {title: siteTitle},
|
|
82
94
|
} = useDocusaurusContext();
|
|
83
95
|
const {pluginId} = useActivePlugin({
|
|
84
96
|
failfast: true,
|
|
85
97
|
});
|
|
86
|
-
const {savePreferredVersionName} = useDocsPreferredVersion(pluginId);
|
|
87
|
-
const activeVersion = useActiveVersion(pluginId);
|
|
88
|
-
const {
|
|
89
|
-
latestDocSuggestion,
|
|
90
|
-
latestVersionSuggestion,
|
|
91
|
-
} = useDocVersionSuggestions(pluginId); // No suggestion to be made
|
|
92
98
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
99
|
+
const getVersionMainDoc = (version) =>
|
|
100
|
+
version.docs.find((doc) => doc.id === version.mainDocId);
|
|
101
|
+
|
|
102
|
+
const {savePreferredVersionName} = useDocsPreferredVersion(pluginId);
|
|
103
|
+
const {latestDocSuggestion, latestVersionSuggestion} =
|
|
104
|
+
useDocVersionSuggestions(pluginId); // Try to link to same doc in latest version (not always possible), falling
|
|
105
|
+
// back to main doc of latest version
|
|
97
106
|
|
|
98
107
|
const latestVersionSuggestedDoc =
|
|
99
108
|
latestDocSuggestion ?? getVersionMainDoc(latestVersionSuggestion);
|
|
100
109
|
return (
|
|
101
|
-
<div
|
|
110
|
+
<div
|
|
111
|
+
className={clsx(
|
|
112
|
+
className,
|
|
113
|
+
ThemeClassNames.docs.docVersionBanner,
|
|
114
|
+
'alert alert--warning margin-bottom--md',
|
|
115
|
+
)}
|
|
116
|
+
role="alert">
|
|
102
117
|
<div>
|
|
103
|
-
{
|
|
104
|
-
<UnreleasedVersionLabel
|
|
105
|
-
siteTitle={siteTitle}
|
|
106
|
-
versionLabel={activeVersion.label}
|
|
107
|
-
/>
|
|
108
|
-
) : (
|
|
109
|
-
<UnmaintainedVersionLabel
|
|
110
|
-
siteTitle={siteTitle}
|
|
111
|
-
versionLabel={activeVersion.label}
|
|
112
|
-
/>
|
|
113
|
-
)}
|
|
118
|
+
<BannerLabel siteTitle={siteTitle} versionMetadata={versionMetadata} />
|
|
114
119
|
</div>
|
|
115
120
|
<div className="margin-top--md">
|
|
116
121
|
<LatestVersionSuggestionLabel
|
|
@@ -123,4 +128,17 @@ function DocVersionSuggestions() {
|
|
|
123
128
|
);
|
|
124
129
|
}
|
|
125
130
|
|
|
126
|
-
export default
|
|
131
|
+
export default function DocVersionBanner({className}) {
|
|
132
|
+
const versionMetadata = useDocsVersion();
|
|
133
|
+
|
|
134
|
+
if (versionMetadata.banner) {
|
|
135
|
+
return (
|
|
136
|
+
<DocVersionBannerEnabled
|
|
137
|
+
className={className}
|
|
138
|
+
versionMetadata={versionMetadata}
|
|
139
|
+
/>
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return null;
|
|
144
|
+
}
|