@docusaurus/theme-classic 2.0.0-beta.2 → 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 +42 -52
- 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 +8 -16
- package/lib-next/theme/AnnouncementBar/styles.module.css +23 -32
- 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/theme/Toggle → lib-next/theme/BlogPostAuthors}/styles.module.css +11 -7
- package/lib-next/theme/BlogPostItem/index.js +96 -98
- package/lib-next/theme/BlogPostItem/styles.module.css +9 -0
- package/lib-next/theme/BlogPostPage/index.js +84 -37
- package/lib-next/theme/BlogPostPaginator/index.js +27 -37
- package/lib-next/theme/BlogSidebar/Desktop/index.js +41 -0
- package/{lib/theme/BlogSidebar → lib-next/theme/BlogSidebar/Desktop}/styles.module.css +5 -4
- package/lib-next/theme/BlogSidebar/Mobile/index.js +36 -0
- package/lib-next/theme/BlogSidebar/index.js +11 -33
- package/lib-next/theme/BlogTagsListPage/index.js +24 -65
- package/lib-next/theme/BlogTagsPostsPage/index.js +45 -48
- 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/{lib/theme/CodeBlock → lib-next/theme/CodeBlock/Content}/styles.module.css +45 -27
- 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/theme/BlogPostItem → lib-next/theme/CodeBlock/WordWrapButton}/styles.module.css +5 -8
- package/lib-next/theme/CodeBlock/index.js +28 -256
- 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 +98 -85
- package/lib-next/theme/DocItem/styles.module.css +12 -10
- package/lib-next/theme/DocItemFooter/index.js +79 -0
- package/{lib/theme/DocItem → lib-next/theme/DocItemFooter}/styles.module.css +1 -9
- package/lib-next/theme/DocPage/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/IconExternalLink/styles.module.css → lib-next/theme/DocPage/Layout/index.module.css} +7 -4
- package/lib-next/theme/DocPage/index.js +39 -159
- package/lib-next/theme/DocPaginator/index.js +28 -40
- 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 -340
- 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/theme/MDXPage/styles.module.css → lib-next/theme/DocSidebarItem/Link.module.css} +2 -2
- 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/DocVersionBanner/index.js +33 -16
- 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 -54
- package/lib-next/theme/Heading/styles.module.css +25 -5
- package/lib-next/theme/IconArrow/index.js +2 -5
- package/lib-next/theme/IconClose/index.js +23 -0
- package/lib-next/theme/IconDarkMode/index.js +17 -0
- package/lib-next/theme/IconEdit/index.js +2 -5
- package/lib-next/theme/IconExternalLink/index.js +2 -5
- package/lib-next/theme/IconExternalLink/styles.module.css +0 -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 +7 -5
- package/lib-next/theme/LastUpdated/index.js +4 -2
- package/lib-next/theme/Layout/index.js +19 -16
- package/lib-next/theme/LayoutProviders/index.js +16 -9
- package/lib-next/theme/Logo/index.js +25 -24
- 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/hooks/styles.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 +37 -34
- package/lib-next/theme/Navbar/ColorModeToggle/index.js +25 -0
- package/lib-next/theme/Navbar/Content/index.js +75 -0
- package/{lib/theme/TOCInline → lib-next/theme/Navbar/Content}/styles.module.css +7 -4
- package/lib-next/theme/Navbar/Layout/index.js +54 -0
- package/{lib/theme/Navbar → lib-next/theme/Navbar/Layout}/styles.module.css +0 -6
- 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 +32 -202
- package/lib-next/theme/NavbarItem/DocNavbarItem.js +16 -30
- package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +41 -0
- package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +54 -44
- 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/{hooks/styles.css → NavbarItem/LocaleDropdownNavbarItem/styles.module.css} +3 -2
- 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 +17 -24
- package/lib-next/{prism-include-languages.js → theme/NavbarItem/utils.js} +3 -4
- package/lib-next/theme/NotFound.js +39 -37
- 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 -50
- package/lib-next/theme/SkipToContent/index.js +7 -32
- package/lib-next/theme/SkipToContent/styles.module.css +7 -0
- package/lib-next/theme/TOC/index.js +12 -39
- package/lib-next/theme/TOC/styles.module.css +1 -1
- package/lib-next/theme/TOCCollapsible/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/theme/IconEdit → lib-next/theme/TabItem}/styles.module.css +2 -3
- 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-next/theme/TagsListInline/styles.module.css +15 -0
- package/lib-next/theme/ThemedImage/index.js +9 -12
- package/lib-next/theme/ThemedImage/styles.module.css +2 -2
- package/lib-next/theme/prism-include-languages.js +17 -15
- package/package.json +37 -32
- package/src/admonitions.css +39 -0
- package/src/deps.d.ts +13 -0
- package/src/getSwizzleConfig.ts +252 -0
- package/src/index.ts +48 -71
- package/src/nprogress.css +41 -0
- package/src/nprogress.ts +31 -0
- package/src/{prism-include-languages.js → prism-include-languages.ts} +0 -0
- package/src/theme/Admonition/index.tsx +106 -0
- package/src/theme/AnnouncementBar/index.tsx +9 -15
- package/src/theme/AnnouncementBar/styles.module.css +23 -32
- package/src/theme/BackToTopButton/index.tsx +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/{Toggle → BlogPostAuthors}/styles.module.css +11 -7
- package/src/theme/BlogPostItem/index.tsx +86 -92
- package/src/theme/BlogPostItem/styles.module.css +9 -0
- package/src/theme/BlogPostPage/index.tsx +84 -38
- package/src/theme/BlogPostPaginator/index.tsx +27 -36
- package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
- package/{lib-next/theme/BlogSidebar → src/theme/BlogSidebar/Desktop}/styles.module.css +5 -4
- package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
- package/src/theme/BlogSidebar/index.tsx +10 -33
- package/src/theme/BlogTagsListPage/index.tsx +24 -66
- package/src/theme/BlogTagsPostsPage/index.tsx +49 -47
- 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-next/theme/CodeBlock → src/theme/CodeBlock/Content}/styles.module.css +45 -27
- 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 -253
- 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 +91 -77
- package/src/theme/DocItem/styles.module.css +12 -10
- package/src/theme/DocItemFooter/index.tsx +91 -0
- package/{lib-next/theme/Toggle → src/theme/DocItemFooter}/styles.module.css +9 -8
- 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/src/theme/DocPage/Layout/index.module.css +15 -0
- package/src/theme/DocPage/Layout/index.tsx +39 -0
- package/src/theme/DocPage/index.tsx +39 -165
- package/src/theme/DocPaginator/index.tsx +28 -39
- 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 -350
- 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/DocVersionBanner/index.tsx +53 -27
- 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/src/theme/Footer/{styles.module.css → Logo/styles.module.css} +2 -1
- package/src/theme/Footer/index.tsx +13 -113
- package/src/theme/Heading/index.tsx +31 -58
- package/src/theme/Heading/styles.module.css +25 -5
- package/src/theme/IconArrow/index.tsx +2 -4
- package/src/theme/IconClose/index.tsx +26 -0
- package/src/theme/IconDarkMode/index.tsx +20 -0
- package/src/theme/IconEdit/index.tsx +5 -4
- package/src/theme/IconExternalLink/index.tsx +3 -5
- package/src/theme/IconExternalLink/styles.module.css +0 -2
- 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 +3 -5
- package/src/theme/LastUpdated/index.tsx +4 -2
- package/src/theme/Layout/index.tsx +19 -15
- package/src/theme/LayoutProviders/index.tsx +16 -9
- package/src/theme/Logo/index.tsx +21 -19
- 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/MDXComponents/Img.module.css +10 -0
- 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 +37 -34
- 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/src/theme/Navbar/{styles.module.css → Layout/styles.module.css} +0 -6
- 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 -207
- package/src/theme/NavbarItem/DocNavbarItem.tsx +18 -38
- package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +44 -0
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +59 -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 +22 -29
- package/src/theme/NavbarItem/utils.ts +13 -0
- package/src/theme/NotFound.tsx +39 -36
- 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 -44
- package/src/theme/SkipToContent/index.tsx +7 -32
- package/src/theme/SkipToContent/styles.module.css +7 -0
- package/src/theme/TOC/index.tsx +13 -44
- package/src/theme/TOC/styles.module.css +1 -1
- package/src/theme/TOCCollapsible/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 +10 -11
- package/src/theme/ThemedImage/styles.module.css +2 -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 -57
- package/codeTranslations/base.json +0 -112
- package/codeTranslations/bn.json +0 -56
- package/codeTranslations/da.json +0 -57
- package/codeTranslations/de.json +0 -57
- package/codeTranslations/es.json +0 -57
- package/codeTranslations/fa.json +0 -57
- package/codeTranslations/fil.json +0 -57
- package/codeTranslations/fr.json +0 -57
- package/codeTranslations/he.json +0 -57
- package/codeTranslations/hi.json +0 -57
- package/codeTranslations/ja.json +0 -57
- package/codeTranslations/ko.json +0 -57
- package/codeTranslations/pl.json +0 -57
- package/codeTranslations/pt-BR.json +0 -57
- package/codeTranslations/pt-PT.json +0 -57
- package/codeTranslations/ru.json +0 -57
- package/codeTranslations/tr.json +0 -57
- package/codeTranslations/vi.json +0 -57
- package/codeTranslations/zh-Hans.json +0 -57
- package/codeTranslations/zh-Hant.json +0 -57
- package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/lib/__tests__/translations.test.js +0 -112
- package/lib/__tests__/validateThemeConfig.test.js +0 -333
- package/lib/theme/AnnouncementBar/index.js +0 -72
- package/lib/theme/AnnouncementBar/styles.module.css +0 -72
- package/lib/theme/BlogListPage/index.js +0 -71
- package/lib/theme/BlogListPaginator/index.js +0 -63
- package/lib/theme/BlogPostItem/index.js +0 -161
- package/lib/theme/BlogPostPage/index.js +0 -69
- package/lib/theme/BlogPostPaginator/index.js +0 -64
- package/lib/theme/BlogSidebar/index.js +0 -51
- package/lib/theme/BlogTagsListPage/index.js +0 -76
- package/lib/theme/BlogTagsPostsPage/index.js +0 -100
- package/lib/theme/CodeBlock/index.js +0 -253
- package/lib/theme/DocItem/index.js +0 -129
- package/lib/theme/DocPage/index.js +0 -173
- package/lib/theme/DocPage/styles.module.css +0 -86
- package/lib/theme/DocPaginator/index.js +0 -63
- package/lib/theme/DocSidebar/index.js +0 -306
- package/lib/theme/DocSidebar/styles.module.css +0 -124
- package/lib/theme/DocVersionBanner/index.js +0 -128
- 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/Footer/styles.module.css +0 -15
- package/lib/theme/Heading/index.js +0 -76
- package/lib/theme/Heading/styles.module.css +0 -15
- package/lib/theme/IconArrow/index.js +0 -28
- package/lib/theme/IconEdit/index.js +0 -34
- package/lib/theme/IconExternalLink/index.js +0 -30
- package/lib/theme/IconLanguage/index.js +0 -29
- package/lib/theme/IconMenu/index.js +0 -30
- package/lib/theme/LastUpdated/index.js +0 -61
- package/lib/theme/Layout/index.js +0 -64
- package/lib/theme/Layout/styles.css +0 -27
- package/lib/theme/LayoutHead/index.js +0 -144
- package/lib/theme/LayoutProviders/index.js +0 -36
- package/lib/theme/Logo/index.js +0 -60
- package/lib/theme/MDXComponents/index.js +0 -65
- package/lib/theme/MDXPage/index.js +0 -66
- package/lib/theme/Navbar/index.js +0 -147
- package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -209
- package/lib/theme/NavbarItem/DocNavbarItem.js +0 -63
- package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -76
- package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
- package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
- package/lib/theme/NavbarItem/index.js +0 -54
- package/lib/theme/NotFound.js +0 -57
- package/lib/theme/SearchBar.js +0 -15
- package/lib/theme/SearchMetadatas/index.js +0 -33
- package/lib/theme/Seo/index.js +0 -49
- package/lib/theme/SkipToContent/index.js +0 -63
- package/lib/theme/SkipToContent/styles.module.css +0 -14
- package/lib/theme/TOC/index.js +0 -59
- package/lib/theme/TOC/styles.module.css +0 -23
- package/lib/theme/TOCInline/index.js +0 -53
- package/lib/theme/TabItem/index.js +0 -32
- package/lib/theme/Tabs/index.js +0 -150
- package/lib/theme/Tabs/styles.module.css +0 -23
- package/lib/theme/ThemeContext.js +0 -21
- package/lib/theme/ThemeProvider/index.js +0 -38
- package/lib/theme/ThemedImage/index.js +0 -49
- package/lib/theme/ThemedImage/styles.module.css +0 -18
- package/lib/theme/Toggle/index.js +0 -94
- package/lib/theme/Toggle/styles.css +0 -103
- package/lib/theme/UserPreferencesContext.js +0 -18
- package/lib/theme/UserPreferencesProvider/index.js +0 -36
- package/lib/theme/hooks/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 -51
- package/lib/theme/hooks/useTheme.js +0 -99
- package/lib/theme/hooks/useThemeContext.js +0 -31
- package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
- package/lib/theme/hooks/useWindowSize.js +0 -55
- package/lib/theme/prism-include-languages.js +0 -39
- package/lib/types.d.ts +0 -598
- package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/lib-next/__tests__/translations.test.js +0 -128
- package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
- package/lib-next/index.js +0 -221
- package/lib-next/theme/DocPage/styles.module.css +0 -86
- package/lib-next/theme/DocSidebar/styles.module.css +0 -124
- package/lib-next/theme/DocVersionSuggestions/index.js +0 -126
- package/lib-next/theme/Heading/styles.css +0 -23
- package/lib-next/theme/Navbar/styles.module.css +0 -20
- package/lib-next/theme/SearchMetadatas/index.js +0 -20
- package/lib-next/theme/Seo/index.js +0 -36
- package/lib-next/theme/ThemeProvider/index.js +0 -25
- package/lib-next/theme/Toggle/index.js +0 -80
- package/lib-next/theme/Toggle/styles.css +0 -103
- package/lib-next/theme/UserPreferencesContext.js +0 -9
- package/lib-next/theme/UserPreferencesProvider/index.js +0 -24
- 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 -39
- package/lib-next/theme/hooks/useTheme.js +0 -82
- package/lib-next/theme/hooks/useThemeContext.js +0 -22
- package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
- package/lib-next/theme/hooks/useWindowSize.js +0 -45
- package/lib-next/translations.js +0 -145
- package/lib-next/types.d.ts +0 -598
- package/lib-next/validateThemeConfig.js +0 -317
- package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/src/__tests__/translations.test.ts +0 -116
- package/src/__tests__/validateThemeConfig.test.js +0 -333
- package/src/theme/BlogSidebar/styles.module.css +0 -44
- package/src/theme/CodeBlock/styles.module.css +0 -68
- package/src/theme/DocPage/styles.module.css +0 -86
- package/src/theme/DocSidebar/styles.module.css +0 -124
- package/src/theme/SearchMetadatas/index.tsx +0 -28
- package/src/theme/Seo/index.tsx +0 -46
- package/src/theme/ThemeProvider/index.tsx +0 -24
- package/src/theme/Toggle/index.tsx +0 -100
- package/src/theme/Toggle/styles.css +0 -103
- package/src/theme/UserPreferencesContext.ts +0 -12
- package/src/theme/UserPreferencesProvider/index.tsx +0 -27
- package/src/theme/hooks/styles.css +0 -10
- 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 -598
- package/src/validateThemeConfig.js +0 -317
- package/tsconfig.json +0 -12
- package/update-code-translations.js +0 -240
- package/update-code-translations.test.js +0 -33
|
@@ -10,10 +10,15 @@ import Translate from '@docusaurus/Translate';
|
|
|
10
10
|
|
|
11
11
|
import type {Props} from '@theme/EditThisPage';
|
|
12
12
|
import IconEdit from '@theme/IconEdit';
|
|
13
|
+
import {ThemeClassNames} from '@docusaurus/theme-common';
|
|
13
14
|
|
|
14
15
|
export default function EditThisPage({editUrl}: Props): JSX.Element {
|
|
15
16
|
return (
|
|
16
|
-
<a
|
|
17
|
+
<a
|
|
18
|
+
href={editUrl}
|
|
19
|
+
target="_blank"
|
|
20
|
+
rel="noreferrer noopener"
|
|
21
|
+
className={ThemeClassNames.common.editThisPage}>
|
|
17
22
|
<IconEdit />
|
|
18
23
|
<Translate
|
|
19
24
|
id="theme.common.editThisPage"
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import Translate from '@docusaurus/Translate';
|
|
10
|
+
import type {Props} from '@theme/Error';
|
|
11
|
+
|
|
12
|
+
export default function ErrorPageContent({
|
|
13
|
+
error,
|
|
14
|
+
tryAgain,
|
|
15
|
+
}: Props): JSX.Element {
|
|
16
|
+
return (
|
|
17
|
+
<main className="container margin-vert--xl">
|
|
18
|
+
<div className="row">
|
|
19
|
+
<div className="col col--6 col--offset-3">
|
|
20
|
+
<h1 className="hero__title">
|
|
21
|
+
<Translate
|
|
22
|
+
id="theme.ErrorPageContent.title"
|
|
23
|
+
description="The title of the fallback page when the page crashed">
|
|
24
|
+
This page crashed.
|
|
25
|
+
</Translate>
|
|
26
|
+
</h1>
|
|
27
|
+
<p>{error.message}</p>
|
|
28
|
+
<div>
|
|
29
|
+
<button type="button" onClick={tryAgain}>
|
|
30
|
+
<Translate
|
|
31
|
+
id="theme.ErrorPageContent.tryAgain"
|
|
32
|
+
description="The label of the button to try again when the page crashed">
|
|
33
|
+
Try again
|
|
34
|
+
</Translate>
|
|
35
|
+
</button>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
</main>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import type {Props} from '@theme/Footer/Copyright';
|
|
10
|
+
|
|
11
|
+
export default function FooterCopyright({copyright}: Props): JSX.Element {
|
|
12
|
+
return (
|
|
13
|
+
<div
|
|
14
|
+
className="footer__copyright"
|
|
15
|
+
// Developer provided the HTML, so assume it's safe.
|
|
16
|
+
// eslint-disable-next-line react/no-danger
|
|
17
|
+
dangerouslySetInnerHTML={{__html: copyright}}
|
|
18
|
+
/>
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import type {Props} from '@theme/Footer/Layout';
|
|
11
|
+
|
|
12
|
+
export default function FooterLayout({
|
|
13
|
+
style,
|
|
14
|
+
links,
|
|
15
|
+
logo,
|
|
16
|
+
copyright,
|
|
17
|
+
}: Props): JSX.Element {
|
|
18
|
+
return (
|
|
19
|
+
<footer
|
|
20
|
+
className={clsx('footer', {
|
|
21
|
+
'footer--dark': style === 'dark',
|
|
22
|
+
})}>
|
|
23
|
+
<div className="container container-fluid">
|
|
24
|
+
{links}
|
|
25
|
+
{(logo || copyright) && (
|
|
26
|
+
<div className="footer__bottom text--center">
|
|
27
|
+
{logo && <div className="margin-bottom--sm">{logo}</div>}
|
|
28
|
+
{copyright}
|
|
29
|
+
</div>
|
|
30
|
+
)}
|
|
31
|
+
</div>
|
|
32
|
+
</footer>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
|
|
10
|
+
import Link from '@docusaurus/Link';
|
|
11
|
+
import useBaseUrl from '@docusaurus/useBaseUrl';
|
|
12
|
+
import isInternalUrl from '@docusaurus/isInternalUrl';
|
|
13
|
+
import IconExternalLink from '@theme/IconExternalLink';
|
|
14
|
+
import type {Props} from '@theme/Footer/LinkItem';
|
|
15
|
+
|
|
16
|
+
export default function FooterLinkItem({item}: Props): JSX.Element {
|
|
17
|
+
const {to, href, label, prependBaseUrlToHref, ...props} = item;
|
|
18
|
+
const toUrl = useBaseUrl(to);
|
|
19
|
+
const normalizedHref = useBaseUrl(href, {forcePrependBaseUrl: true});
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<Link
|
|
23
|
+
className="footer__link-item"
|
|
24
|
+
{...(href
|
|
25
|
+
? {
|
|
26
|
+
href: prependBaseUrlToHref ? normalizedHref : href,
|
|
27
|
+
}
|
|
28
|
+
: {
|
|
29
|
+
to: toUrl,
|
|
30
|
+
})}
|
|
31
|
+
{...props}>
|
|
32
|
+
{label}
|
|
33
|
+
{href && !isInternalUrl(href) && <IconExternalLink />}
|
|
34
|
+
</Link>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import type {Props} from '@theme/Footer/Links/MultiColumn';
|
|
10
|
+
import LinkItem from '@theme/Footer/LinkItem';
|
|
11
|
+
|
|
12
|
+
type ColumnType = Props['columns'][number];
|
|
13
|
+
type ColumnItemType = ColumnType['items'][number];
|
|
14
|
+
|
|
15
|
+
function ColumnLinkItem({item}: {item: ColumnItemType}) {
|
|
16
|
+
return item.html ? (
|
|
17
|
+
<li
|
|
18
|
+
className="footer__item"
|
|
19
|
+
// Developer provided the HTML, so assume it's safe.
|
|
20
|
+
// eslint-disable-next-line react/no-danger
|
|
21
|
+
dangerouslySetInnerHTML={{__html: item.html}}
|
|
22
|
+
/>
|
|
23
|
+
) : (
|
|
24
|
+
<li key={item.href || item.to} className="footer__item">
|
|
25
|
+
<LinkItem item={item} />
|
|
26
|
+
</li>
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function Column({column}: {column: ColumnType}) {
|
|
31
|
+
return (
|
|
32
|
+
<div className="col footer__col">
|
|
33
|
+
<div className="footer__title">{column.title}</div>
|
|
34
|
+
<ul className="footer__items clean-list">
|
|
35
|
+
{column.items.map((item, i) => (
|
|
36
|
+
<ColumnLinkItem key={i} item={item} />
|
|
37
|
+
))}
|
|
38
|
+
</ul>
|
|
39
|
+
</div>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export default function FooterLinksMultiColumn({columns}: Props): JSX.Element {
|
|
44
|
+
return (
|
|
45
|
+
<div className="row footer__links">
|
|
46
|
+
{columns.map((column, i) => (
|
|
47
|
+
<Column key={i} column={column} />
|
|
48
|
+
))}
|
|
49
|
+
</div>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import type {Props} from '@theme/Footer/Links/Simple';
|
|
10
|
+
import LinkItem from '@theme/Footer/LinkItem';
|
|
11
|
+
|
|
12
|
+
function Separator() {
|
|
13
|
+
return <span className="footer__link-separator">·</span>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function SimpleLinkItem({item}: {item: Props['links'][number]}) {
|
|
17
|
+
return item.html ? (
|
|
18
|
+
<span
|
|
19
|
+
className="footer__link-item"
|
|
20
|
+
// Developer provided the HTML, so assume it's safe.
|
|
21
|
+
// eslint-disable-next-line react/no-danger
|
|
22
|
+
dangerouslySetInnerHTML={{__html: item.html}}
|
|
23
|
+
/>
|
|
24
|
+
) : (
|
|
25
|
+
<LinkItem item={item} />
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export default function FooterLinksSimple({links}: Props): JSX.Element {
|
|
30
|
+
return (
|
|
31
|
+
<div className="footer__links text--center">
|
|
32
|
+
<div className="footer__links">
|
|
33
|
+
{links.map((item, i) => (
|
|
34
|
+
<React.Fragment key={i}>
|
|
35
|
+
<SimpleLinkItem item={item} />
|
|
36
|
+
{links.length !== i + 1 && <Separator />}
|
|
37
|
+
</React.Fragment>
|
|
38
|
+
))}
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
);
|
|
42
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
|
|
10
|
+
import {isMultiColumnFooterLinks} from '@docusaurus/theme-common';
|
|
11
|
+
import type {Props} from '@theme/Footer/Links';
|
|
12
|
+
import FooterLinksMultiColumn from '@theme/Footer/Links/MultiColumn';
|
|
13
|
+
import FooterLinksSimple from '@theme/Footer/Links/Simple';
|
|
14
|
+
|
|
15
|
+
export default function FooterLinks({links}: Props): JSX.Element {
|
|
16
|
+
return isMultiColumnFooterLinks(links) ? (
|
|
17
|
+
<FooterLinksMultiColumn columns={links} />
|
|
18
|
+
) : (
|
|
19
|
+
<FooterLinksSimple links={links} />
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
|
|
10
|
+
import Link from '@docusaurus/Link';
|
|
11
|
+
import {useBaseUrlUtils} from '@docusaurus/useBaseUrl';
|
|
12
|
+
import styles from './styles.module.css';
|
|
13
|
+
import ThemedImage from '@theme/ThemedImage';
|
|
14
|
+
import type {Props} from '@theme/Footer/Logo';
|
|
15
|
+
|
|
16
|
+
function LogoImage({logo}: Props) {
|
|
17
|
+
const {withBaseUrl} = useBaseUrlUtils();
|
|
18
|
+
const sources = {
|
|
19
|
+
light: withBaseUrl(logo.src),
|
|
20
|
+
dark: withBaseUrl(logo.srcDark ?? logo.src),
|
|
21
|
+
};
|
|
22
|
+
return (
|
|
23
|
+
<ThemedImage
|
|
24
|
+
className="footer__logo"
|
|
25
|
+
alt={logo.alt}
|
|
26
|
+
sources={sources}
|
|
27
|
+
width={logo.width}
|
|
28
|
+
height={logo.height}
|
|
29
|
+
/>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export default function FooterLogo({logo}: Props): JSX.Element {
|
|
34
|
+
return logo.href ? (
|
|
35
|
+
<Link href={logo.href} className={styles.footerLogoLink}>
|
|
36
|
+
<LogoImage logo={logo} />
|
|
37
|
+
</Link>
|
|
38
|
+
) : (
|
|
39
|
+
<LogoImage logo={logo} />
|
|
40
|
+
);
|
|
41
|
+
}
|
|
@@ -6,128 +6,28 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
|
-
import clsx from 'clsx';
|
|
10
9
|
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
|
|
17
|
-
function FooterLink({
|
|
18
|
-
to,
|
|
19
|
-
href,
|
|
20
|
-
label,
|
|
21
|
-
prependBaseUrlToHref,
|
|
22
|
-
...props
|
|
23
|
-
}: FooterLinkItem) {
|
|
24
|
-
const toUrl = useBaseUrl(to);
|
|
25
|
-
const normalizedHref = useBaseUrl(href, {forcePrependBaseUrl: true});
|
|
26
|
-
|
|
27
|
-
return (
|
|
28
|
-
<Link
|
|
29
|
-
className="footer__link-item"
|
|
30
|
-
{...(href
|
|
31
|
-
? {
|
|
32
|
-
href: prependBaseUrlToHref ? normalizedHref : href,
|
|
33
|
-
}
|
|
34
|
-
: {
|
|
35
|
-
to: toUrl,
|
|
36
|
-
})}
|
|
37
|
-
{...props}>
|
|
38
|
-
{label}
|
|
39
|
-
</Link>
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const FooterLogo = ({
|
|
44
|
-
sources,
|
|
45
|
-
alt,
|
|
46
|
-
}: Pick<ThemedImageProps, 'sources' | 'alt'>) => (
|
|
47
|
-
<ThemedImage className="footer__logo" alt={alt} sources={sources} />
|
|
48
|
-
);
|
|
10
|
+
import {useThemeConfig} from '@docusaurus/theme-common';
|
|
11
|
+
import FooterLinks from '@theme/Footer/Links';
|
|
12
|
+
import FooterLogo from '@theme/Footer/Logo';
|
|
13
|
+
import FooterCopyright from '@theme/Footer/Copyright';
|
|
14
|
+
import FooterLayout from '@theme/Footer/Layout';
|
|
49
15
|
|
|
50
16
|
function Footer(): JSX.Element | null {
|
|
51
17
|
const {footer} = useThemeConfig();
|
|
52
|
-
|
|
53
|
-
const {copyright, links = [], logo = {}} = footer || {};
|
|
54
|
-
const sources = {
|
|
55
|
-
light: useBaseUrl(logo.src),
|
|
56
|
-
dark: useBaseUrl(logo.srcDark || logo.src),
|
|
57
|
-
};
|
|
58
|
-
|
|
59
18
|
if (!footer) {
|
|
60
19
|
return null;
|
|
61
20
|
}
|
|
21
|
+
const {copyright, links, logo, style} = footer;
|
|
62
22
|
|
|
63
23
|
return (
|
|
64
|
-
<
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
<
|
|
69
|
-
|
|
70
|
-
<div className="row footer__links">
|
|
71
|
-
{links.map((linkItem, i) => (
|
|
72
|
-
<div key={i} className="col footer__col">
|
|
73
|
-
{linkItem.title != null ? (
|
|
74
|
-
<div className="footer__title">{linkItem.title}</div>
|
|
75
|
-
) : null}
|
|
76
|
-
{linkItem.items != null &&
|
|
77
|
-
Array.isArray(linkItem.items) &&
|
|
78
|
-
linkItem.items.length > 0 ? (
|
|
79
|
-
<ul className="footer__items">
|
|
80
|
-
{linkItem.items.map((item, key) =>
|
|
81
|
-
item.html ? (
|
|
82
|
-
<li
|
|
83
|
-
key={key}
|
|
84
|
-
className="footer__item"
|
|
85
|
-
// Developer provided the HTML, so assume it's safe.
|
|
86
|
-
// eslint-disable-next-line react/no-danger
|
|
87
|
-
dangerouslySetInnerHTML={{
|
|
88
|
-
__html: item.html,
|
|
89
|
-
}}
|
|
90
|
-
/>
|
|
91
|
-
) : (
|
|
92
|
-
<li key={item.href || item.to} className="footer__item">
|
|
93
|
-
<FooterLink {...item} />
|
|
94
|
-
</li>
|
|
95
|
-
),
|
|
96
|
-
)}
|
|
97
|
-
</ul>
|
|
98
|
-
) : null}
|
|
99
|
-
</div>
|
|
100
|
-
))}
|
|
101
|
-
</div>
|
|
102
|
-
)}
|
|
103
|
-
{(logo || copyright) && (
|
|
104
|
-
<div className="footer__bottom text--center">
|
|
105
|
-
{logo && (logo.src || logo.srcDark) && (
|
|
106
|
-
<div className="margin-bottom--sm">
|
|
107
|
-
{logo.href ? (
|
|
108
|
-
<Link href={logo.href} className={styles.footerLogoLink}>
|
|
109
|
-
<FooterLogo alt={logo.alt} sources={sources} />
|
|
110
|
-
</Link>
|
|
111
|
-
) : (
|
|
112
|
-
<FooterLogo alt={logo.alt} sources={sources} />
|
|
113
|
-
)}
|
|
114
|
-
</div>
|
|
115
|
-
)}
|
|
116
|
-
{copyright ? (
|
|
117
|
-
<div
|
|
118
|
-
className="footer__copyright"
|
|
119
|
-
// Developer provided the HTML, so assume it's safe.
|
|
120
|
-
// eslint-disable-next-line react/no-danger
|
|
121
|
-
dangerouslySetInnerHTML={{
|
|
122
|
-
__html: copyright,
|
|
123
|
-
}}
|
|
124
|
-
/>
|
|
125
|
-
) : null}
|
|
126
|
-
</div>
|
|
127
|
-
)}
|
|
128
|
-
</div>
|
|
129
|
-
</footer>
|
|
24
|
+
<FooterLayout
|
|
25
|
+
style={style}
|
|
26
|
+
links={links && links.length > 0 && <FooterLinks links={links} />}
|
|
27
|
+
logo={logo && <FooterLogo logo={logo} />}
|
|
28
|
+
copyright={copyright && <FooterCopyright copyright={copyright} />}
|
|
29
|
+
/>
|
|
130
30
|
);
|
|
131
31
|
}
|
|
132
32
|
|
|
133
|
-
export default Footer;
|
|
33
|
+
export default React.memo(Footer);
|
|
@@ -5,71 +5,44 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
/* eslint-disable jsx-a11y/anchor-has-content, jsx-a11y/anchor-is-valid */
|
|
9
|
-
|
|
10
8
|
import React from 'react';
|
|
11
9
|
import clsx from 'clsx';
|
|
12
|
-
import type {
|
|
10
|
+
import type {Props} from '@theme/Heading';
|
|
13
11
|
import {translate} from '@docusaurus/Translate';
|
|
14
12
|
import {useThemeConfig} from '@docusaurus/theme-common';
|
|
15
13
|
|
|
16
|
-
import './styles.css';
|
|
17
14
|
import styles from './styles.module.css';
|
|
18
15
|
|
|
19
|
-
|
|
16
|
+
export default function Heading({as: As, id, ...props}: Props): JSX.Element {
|
|
17
|
+
const {
|
|
18
|
+
navbar: {hideOnScroll},
|
|
19
|
+
} = useThemeConfig();
|
|
20
|
+
// H1 headings do not need an id because they don't appear in the TOC.
|
|
21
|
+
if (As === 'h1' || !id) {
|
|
22
|
+
return <As {...props} id={undefined} />;
|
|
23
|
+
}
|
|
20
24
|
|
|
21
|
-
export const MainHeading: HeadingComponent = function MainHeading({...props}) {
|
|
22
25
|
return (
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
<As
|
|
27
|
+
{...props}
|
|
28
|
+
className={clsx(
|
|
29
|
+
'anchor',
|
|
30
|
+
hideOnScroll
|
|
31
|
+
? styles.anchorWithHideOnScrollNavbar
|
|
32
|
+
: styles.anchorWithStickyNavbar,
|
|
33
|
+
)}
|
|
34
|
+
id={id}>
|
|
35
|
+
{props.children}
|
|
36
|
+
<a
|
|
37
|
+
className="hash-link"
|
|
38
|
+
href={`#${id}`}
|
|
39
|
+
title={translate({
|
|
40
|
+
id: 'theme.common.headingLinkTitle',
|
|
41
|
+
message: 'Direct link to heading',
|
|
42
|
+
description: 'Title for link to heading',
|
|
43
|
+
})}>
|
|
44
|
+
​
|
|
45
|
+
</a>
|
|
46
|
+
</As>
|
|
31
47
|
);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const createAnchorHeading = (
|
|
35
|
-
Tag: HeadingType,
|
|
36
|
-
): ((props: Props) => JSX.Element) =>
|
|
37
|
-
function TargetComponent({id, ...props}) {
|
|
38
|
-
const {
|
|
39
|
-
navbar: {hideOnScroll},
|
|
40
|
-
} = useThemeConfig();
|
|
41
|
-
|
|
42
|
-
if (!id) {
|
|
43
|
-
return <Tag {...props} />;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return (
|
|
47
|
-
<Tag {...props}>
|
|
48
|
-
<a
|
|
49
|
-
aria-hidden="true"
|
|
50
|
-
tabIndex={-1}
|
|
51
|
-
className={clsx('anchor', {
|
|
52
|
-
[styles.enhancedAnchor]: !hideOnScroll,
|
|
53
|
-
})}
|
|
54
|
-
id={id}
|
|
55
|
-
/>
|
|
56
|
-
{props.children}
|
|
57
|
-
<a
|
|
58
|
-
className="hash-link"
|
|
59
|
-
href={`#${id}`}
|
|
60
|
-
title={translate({
|
|
61
|
-
id: 'theme.common.headingLinkTitle',
|
|
62
|
-
message: 'Direct link to heading',
|
|
63
|
-
description: 'Title for link to heading',
|
|
64
|
-
})}>
|
|
65
|
-
#
|
|
66
|
-
</a>
|
|
67
|
-
</Tag>
|
|
68
|
-
);
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
const Heading = (headingType: HeadingType): ((props: Props) => JSX.Element) => {
|
|
72
|
-
return headingType === 'h1' ? MainHeading : createAnchorHeading(headingType);
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export default Heading;
|
|
48
|
+
}
|
|
@@ -5,11 +5,31 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
/*
|
|
9
|
+
When the navbar is sticky, ensure that on anchor click,
|
|
10
|
+
the browser does not scroll that anchor behind the navbar
|
|
11
|
+
See https://twitter.com/JoshWComeau/status/1332015868725891076
|
|
12
|
+
*/
|
|
13
|
+
.anchorWithStickyNavbar {
|
|
14
|
+
scroll-margin-top: calc(var(--ifm-navbar-height) + 0.5rem);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.anchorWithHideOnScrollNavbar {
|
|
18
|
+
scroll-margin-top: 0.5rem;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
:global(.hash-link) {
|
|
22
|
+
opacity: 0;
|
|
23
|
+
padding-left: 0.5rem;
|
|
24
|
+
transition: opacity var(--ifm-transition-fast);
|
|
25
|
+
user-select: none;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
:global(.hash-link::before) {
|
|
29
|
+
content: '#';
|
|
10
30
|
}
|
|
11
31
|
|
|
12
|
-
.
|
|
13
|
-
|
|
14
|
-
|
|
32
|
+
:global(.hash-link:focus),
|
|
33
|
+
:global(*:hover > .hash-link) {
|
|
34
|
+
opacity: 1;
|
|
15
35
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import type {Props} from '@theme/IconArrow';
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
export default function IconArrow(props: Props): JSX.Element {
|
|
12
12
|
return (
|
|
13
13
|
<svg width="20" height="20" aria-hidden="true" {...props}>
|
|
14
14
|
<g fill="#7a7a7a">
|
|
@@ -17,6 +17,4 @@ const IconArrow = (props: Props): JSX.Element => {
|
|
|
17
17
|
</g>
|
|
18
18
|
</svg>
|
|
19
19
|
);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export default IconArrow;
|
|
20
|
+
}
|
|
@@ -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 type {Props} from '@theme/IconClose';
|
|
10
|
+
|
|
11
|
+
export default function IconClose({
|
|
12
|
+
width = 21,
|
|
13
|
+
height = 21,
|
|
14
|
+
color = 'currentColor',
|
|
15
|
+
strokeWidth = 1.2,
|
|
16
|
+
className,
|
|
17
|
+
...restProps
|
|
18
|
+
}: Props): JSX.Element {
|
|
19
|
+
return (
|
|
20
|
+
<svg viewBox="0 0 15 15" width={width} height={height} {...restProps}>
|
|
21
|
+
<g stroke={color} strokeWidth={strokeWidth}>
|
|
22
|
+
<path d="M.75.75l13.5 13.5M14.25.75L.75 14.25" />
|
|
23
|
+
</g>
|
|
24
|
+
</svg>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import type {Props} from '@theme/IconDarkMode';
|
|
10
|
+
|
|
11
|
+
export default function IconDarkMode(props: Props): JSX.Element {
|
|
12
|
+
return (
|
|
13
|
+
<svg viewBox="0 0 24 24" width={24} height={24} {...props}>
|
|
14
|
+
<path
|
|
15
|
+
fill="currentColor"
|
|
16
|
+
d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"
|
|
17
|
+
/>
|
|
18
|
+
</svg>
|
|
19
|
+
);
|
|
20
|
+
}
|