@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
|
@@ -1,49 +0,0 @@
|
|
|
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 {useState, useEffect, useCallback} from 'react';
|
|
8
|
-
import {useThemeConfig, createStorageSlot} from '@docusaurus/theme-common';
|
|
9
|
-
const DismissStorage = createStorageSlot('docusaurus.announcement.dismiss');
|
|
10
|
-
const IdStorage = createStorageSlot('docusaurus.announcement.id');
|
|
11
|
-
|
|
12
|
-
const useAnnouncementBar = () => {
|
|
13
|
-
const {announcementBar} = useThemeConfig();
|
|
14
|
-
const [isClosed, setClosed] = useState(true);
|
|
15
|
-
const handleClose = useCallback(() => {
|
|
16
|
-
DismissStorage.set('true');
|
|
17
|
-
setClosed(true);
|
|
18
|
-
}, []);
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
if (!announcementBar) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const {id} = announcementBar;
|
|
25
|
-
let viewedId = IdStorage.get(); // retrocompatibility due to spelling mistake of default id
|
|
26
|
-
// see https://github.com/facebook/docusaurus/issues/3338
|
|
27
|
-
|
|
28
|
-
if (viewedId === 'annoucement-bar') {
|
|
29
|
-
viewedId = 'announcement-bar';
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const isNewAnnouncement = id !== viewedId;
|
|
33
|
-
IdStorage.set(id);
|
|
34
|
-
|
|
35
|
-
if (isNewAnnouncement) {
|
|
36
|
-
DismissStorage.set('false');
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
if (isNewAnnouncement || DismissStorage.get() === 'false') {
|
|
40
|
-
setClosed(false);
|
|
41
|
-
}
|
|
42
|
-
}, []);
|
|
43
|
-
return {
|
|
44
|
-
isAnnouncementBarClosed: isClosed,
|
|
45
|
-
closeAnnouncementBar: handleClose,
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export default useAnnouncementBar;
|
|
@@ -1,41 +0,0 @@
|
|
|
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 {useAllDocsData, useActivePluginAndVersion} from '@theme/hooks/useDocs';
|
|
8
|
-
import {
|
|
9
|
-
useDocsPreferredVersionByPluginId,
|
|
10
|
-
DEFAULT_SEARCH_TAG,
|
|
11
|
-
docVersionSearchTag,
|
|
12
|
-
} from '@docusaurus/theme-common';
|
|
13
|
-
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
14
|
-
// We may want to support multiple search engines, don't couple that to Algolia/DocSearch
|
|
15
|
-
// Maybe users will want to use its own search engine solution
|
|
16
|
-
export default function useContextualSearchFilters() {
|
|
17
|
-
const {i18n} = useDocusaurusContext();
|
|
18
|
-
const allDocsData = useAllDocsData();
|
|
19
|
-
const activePluginAndVersion = useActivePluginAndVersion();
|
|
20
|
-
const docsPreferredVersionByPluginId = useDocsPreferredVersionByPluginId();
|
|
21
|
-
|
|
22
|
-
function getDocPluginTags(pluginId) {
|
|
23
|
-
const activeVersion =
|
|
24
|
-
activePluginAndVersion?.activePlugin?.pluginId === pluginId
|
|
25
|
-
? activePluginAndVersion.activeVersion
|
|
26
|
-
: undefined;
|
|
27
|
-
const preferredVersion = docsPreferredVersionByPluginId[pluginId];
|
|
28
|
-
const latestVersion = allDocsData[pluginId].versions.find((v) => v.isLast);
|
|
29
|
-
const version = activeVersion ?? preferredVersion ?? latestVersion;
|
|
30
|
-
return docVersionSearchTag(pluginId, version.name);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const tags = [
|
|
34
|
-
DEFAULT_SEARCH_TAG,
|
|
35
|
-
...Object.keys(allDocsData).map(getDocPluginTags),
|
|
36
|
-
];
|
|
37
|
-
return {
|
|
38
|
-
locale: i18n.currentLocale,
|
|
39
|
-
tags,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
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
|
-
// Re-expose useDocs
|
|
8
|
-
// Ensure it's always statically available even if user is not using the docs plugin
|
|
9
|
-
// Problem reported for the blog-only mode: https://github.com/facebook/docusaurus/issues/3360
|
|
10
|
-
export * from '@docusaurus/plugin-content-docs/lib/theme/hooks/useDocs';
|
|
@@ -1,79 +0,0 @@
|
|
|
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 {useState, useCallback, useEffect, useRef} from 'react';
|
|
8
|
-
import {useLocation} from '@docusaurus/router';
|
|
9
|
-
import useScrollPosition from '@theme/hooks/useScrollPosition';
|
|
10
|
-
import {useLocationChange} from '@docusaurus/theme-common';
|
|
11
|
-
|
|
12
|
-
const useHideableNavbar = (hideOnScroll) => {
|
|
13
|
-
const location = useLocation();
|
|
14
|
-
const [isNavbarVisible, setIsNavbarVisible] = useState(hideOnScroll);
|
|
15
|
-
const isFocusedAnchor = useRef(false);
|
|
16
|
-
const [navbarHeight, setNavbarHeight] = useState(0);
|
|
17
|
-
const navbarRef = useCallback((node) => {
|
|
18
|
-
if (node !== null) {
|
|
19
|
-
setNavbarHeight(node.getBoundingClientRect().height);
|
|
20
|
-
}
|
|
21
|
-
}, []);
|
|
22
|
-
useScrollPosition(
|
|
23
|
-
({scrollY: scrollTop}, {scrollY: lastScrollTop}) => {
|
|
24
|
-
if (!hideOnScroll) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
if (scrollTop < navbarHeight) {
|
|
29
|
-
setIsNavbarVisible(true);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (isFocusedAnchor.current) {
|
|
34
|
-
isFocusedAnchor.current = false;
|
|
35
|
-
setIsNavbarVisible(false);
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
if (lastScrollTop && scrollTop === 0) {
|
|
40
|
-
setIsNavbarVisible(true);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const documentHeight =
|
|
44
|
-
document.documentElement.scrollHeight - navbarHeight;
|
|
45
|
-
const windowHeight = window.innerHeight;
|
|
46
|
-
|
|
47
|
-
if (lastScrollTop && scrollTop >= lastScrollTop) {
|
|
48
|
-
setIsNavbarVisible(false);
|
|
49
|
-
} else if (scrollTop + windowHeight < documentHeight) {
|
|
50
|
-
setIsNavbarVisible(true);
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
[navbarHeight, isFocusedAnchor],
|
|
54
|
-
);
|
|
55
|
-
useLocationChange((locationChangeEvent) => {
|
|
56
|
-
if (!hideOnScroll || locationChangeEvent.location.hash) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
setIsNavbarVisible(true);
|
|
61
|
-
});
|
|
62
|
-
useEffect(() => {
|
|
63
|
-
if (!hideOnScroll) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if (!location.hash) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
isFocusedAnchor.current = true;
|
|
72
|
-
}, [location.hash]);
|
|
73
|
-
return {
|
|
74
|
-
navbarRef,
|
|
75
|
-
isNavbarVisible,
|
|
76
|
-
};
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
export default useHideableNavbar;
|
|
@@ -1,35 +0,0 @@
|
|
|
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 {useEffect} from 'react';
|
|
8
|
-
import './styles.css'; // This hook detect keyboard focus indicator to not show outline for mouse users
|
|
9
|
-
// Inspired by https://hackernoon.com/removing-that-ugly-focus-ring-and-keeping-it-too-6c8727fefcd2
|
|
10
|
-
|
|
11
|
-
function useKeyboardNavigation() {
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
const keyboardFocusedClassName = 'navigation-with-keyboard';
|
|
14
|
-
|
|
15
|
-
function handleOutlineStyles(e) {
|
|
16
|
-
if (e.type === 'keydown' && e.key === 'Tab') {
|
|
17
|
-
document.body.classList.add(keyboardFocusedClassName);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (e.type === 'mousedown') {
|
|
21
|
-
document.body.classList.remove(keyboardFocusedClassName);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
document.addEventListener('keydown', handleOutlineStyles);
|
|
26
|
-
document.addEventListener('mousedown', handleOutlineStyles);
|
|
27
|
-
return () => {
|
|
28
|
-
document.body.classList.remove(keyboardFocusedClassName);
|
|
29
|
-
document.removeEventListener('keydown', handleOutlineStyles);
|
|
30
|
-
document.removeEventListener('mousedown', handleOutlineStyles);
|
|
31
|
-
};
|
|
32
|
-
}, []);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export default useKeyboardNavigation;
|
|
@@ -1,20 +0,0 @@
|
|
|
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 {useState, useEffect} from 'react';
|
|
8
|
-
|
|
9
|
-
function useLocationHash(initialHash) {
|
|
10
|
-
const [hash, setHash] = useState(initialHash);
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
const handleHashChange = () => setHash(window.location.hash);
|
|
13
|
-
|
|
14
|
-
window.addEventListener('hashchange', handleHashChange);
|
|
15
|
-
return () => window.removeEventListener('hashchange', handleHashChange);
|
|
16
|
-
}, []);
|
|
17
|
-
return [hash, setHash];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export default useLocationHash;
|
|
@@ -1,18 +0,0 @@
|
|
|
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 {useEffect} from 'react';
|
|
8
|
-
|
|
9
|
-
function useLockBodyScroll(lock = true) {
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
document.body.style.overflow = lock ? 'hidden' : 'visible';
|
|
12
|
-
return () => {
|
|
13
|
-
document.body.style.overflow = 'visible';
|
|
14
|
-
};
|
|
15
|
-
}, [lock]);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export default useLockBodyScroll;
|
|
@@ -1,20 +0,0 @@
|
|
|
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 defaultTheme from 'prism-react-renderer/themes/palenight';
|
|
8
|
-
import useThemeContext from '@theme/hooks/useThemeContext';
|
|
9
|
-
import {useThemeConfig} from '@docusaurus/theme-common';
|
|
10
|
-
|
|
11
|
-
const usePrismTheme = () => {
|
|
12
|
-
const {prism} = useThemeConfig();
|
|
13
|
-
const {isDarkTheme} = useThemeContext();
|
|
14
|
-
const lightModeTheme = prism.theme || defaultTheme;
|
|
15
|
-
const darkModeTheme = prism.darkTheme || lightModeTheme;
|
|
16
|
-
const prismTheme = isDarkTheme ? darkModeTheme : lightModeTheme;
|
|
17
|
-
return prismTheme;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export default usePrismTheme;
|
|
@@ -1,38 +0,0 @@
|
|
|
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 {useEffect, useRef} from 'react';
|
|
8
|
-
import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';
|
|
9
|
-
|
|
10
|
-
const getScrollPosition = () => ({
|
|
11
|
-
scrollX: ExecutionEnvironment.canUseDOM ? window.pageXOffset : 0,
|
|
12
|
-
scrollY: ExecutionEnvironment.canUseDOM ? window.pageYOffset : 0,
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
const useScrollPosition = (effect, deps = []) => {
|
|
16
|
-
const scrollPosition = useRef(getScrollPosition());
|
|
17
|
-
|
|
18
|
-
const handleScroll = () => {
|
|
19
|
-
const currentScrollPosition = getScrollPosition();
|
|
20
|
-
|
|
21
|
-
if (effect) {
|
|
22
|
-
effect(currentScrollPosition, scrollPosition.current);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
scrollPosition.current = currentScrollPosition;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
const opts = {
|
|
30
|
-
passive: true,
|
|
31
|
-
};
|
|
32
|
-
handleScroll();
|
|
33
|
-
window.addEventListener('scroll', handleScroll, opts);
|
|
34
|
-
return () => window.removeEventListener('scroll', handleScroll, opts);
|
|
35
|
-
}, deps);
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export default useScrollPosition;
|
|
@@ -1,84 +0,0 @@
|
|
|
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 {useEffect, useState} from 'react';
|
|
8
|
-
|
|
9
|
-
function useTOCHighlight(linkClassName, linkActiveClassName, topOffset) {
|
|
10
|
-
const [lastActiveLink, setLastActiveLink] = useState(undefined);
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
function setActiveLink() {
|
|
13
|
-
function getActiveHeaderAnchor() {
|
|
14
|
-
const headersAnchors = Array.from(
|
|
15
|
-
document.getElementsByClassName('anchor'),
|
|
16
|
-
);
|
|
17
|
-
const firstAnchorUnderViewportTop = headersAnchors.find((anchor) => {
|
|
18
|
-
const {top} = anchor.getBoundingClientRect();
|
|
19
|
-
return top >= topOffset;
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
if (firstAnchorUnderViewportTop) {
|
|
23
|
-
// If first anchor in viewport is under a certain threshold, we consider it's not the active anchor.
|
|
24
|
-
// In such case, the active anchor is the previous one (if it exists), that may be above the viewport
|
|
25
|
-
if (
|
|
26
|
-
firstAnchorUnderViewportTop.getBoundingClientRect().top >= topOffset
|
|
27
|
-
) {
|
|
28
|
-
const previousAnchor =
|
|
29
|
-
headersAnchors[
|
|
30
|
-
headersAnchors.indexOf(firstAnchorUnderViewportTop) - 1
|
|
31
|
-
];
|
|
32
|
-
return previousAnchor ?? firstAnchorUnderViewportTop;
|
|
33
|
-
} // If the anchor is at the top of the viewport, we consider it's the first anchor
|
|
34
|
-
else {
|
|
35
|
-
return firstAnchorUnderViewportTop;
|
|
36
|
-
}
|
|
37
|
-
} // no anchor under viewport top? (ie we are at the bottom of the page)
|
|
38
|
-
else {
|
|
39
|
-
// highlight the last anchor found
|
|
40
|
-
return headersAnchors[headersAnchors.length - 1];
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const activeHeaderAnchor = getActiveHeaderAnchor();
|
|
45
|
-
|
|
46
|
-
if (activeHeaderAnchor) {
|
|
47
|
-
let index = 0;
|
|
48
|
-
let itemHighlighted = false; // @ts-expect-error: Must be <a> tags.
|
|
49
|
-
|
|
50
|
-
const links = document.getElementsByClassName(linkClassName);
|
|
51
|
-
|
|
52
|
-
while (index < links.length && !itemHighlighted) {
|
|
53
|
-
const link = links[index];
|
|
54
|
-
const {href} = link;
|
|
55
|
-
const anchorValue = decodeURIComponent(
|
|
56
|
-
href.substring(href.indexOf('#') + 1),
|
|
57
|
-
);
|
|
58
|
-
|
|
59
|
-
if (activeHeaderAnchor.id === anchorValue) {
|
|
60
|
-
if (lastActiveLink) {
|
|
61
|
-
lastActiveLink.classList.remove(linkActiveClassName);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
link.classList.add(linkActiveClassName);
|
|
65
|
-
setLastActiveLink(link);
|
|
66
|
-
itemHighlighted = true;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
index += 1;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
document.addEventListener('scroll', setActiveLink);
|
|
75
|
-
document.addEventListener('resize', setActiveLink);
|
|
76
|
-
setActiveLink();
|
|
77
|
-
return () => {
|
|
78
|
-
document.removeEventListener('scroll', setActiveLink);
|
|
79
|
-
document.removeEventListener('resize', setActiveLink);
|
|
80
|
-
};
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export default useTOCHighlight;
|
|
@@ -1,39 +0,0 @@
|
|
|
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 {useState, useCallback, useEffect} from 'react';
|
|
8
|
-
import {createStorageSlot, listStorageKeys} from '@docusaurus/theme-common';
|
|
9
|
-
const TAB_CHOICE_PREFIX = 'docusaurus.tab.';
|
|
10
|
-
|
|
11
|
-
const useTabGroupChoice = () => {
|
|
12
|
-
const [tabGroupChoices, setChoices] = useState({});
|
|
13
|
-
const setChoiceSyncWithLocalStorage = useCallback((groupId, newChoice) => {
|
|
14
|
-
createStorageSlot(`${TAB_CHOICE_PREFIX}${groupId}`).set(newChoice);
|
|
15
|
-
}, []);
|
|
16
|
-
useEffect(() => {
|
|
17
|
-
try {
|
|
18
|
-
const localStorageChoices = {};
|
|
19
|
-
listStorageKeys().forEach((storageKey) => {
|
|
20
|
-
if (storageKey.startsWith(TAB_CHOICE_PREFIX)) {
|
|
21
|
-
const groupId = storageKey.substring(TAB_CHOICE_PREFIX.length);
|
|
22
|
-
localStorageChoices[groupId] = createStorageSlot(storageKey).get();
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
setChoices(localStorageChoices);
|
|
26
|
-
} catch (err) {
|
|
27
|
-
console.error(err);
|
|
28
|
-
}
|
|
29
|
-
}, []);
|
|
30
|
-
return {
|
|
31
|
-
tabGroupChoices,
|
|
32
|
-
setTabGroupChoices: (groupId, newChoice) => {
|
|
33
|
-
setChoices((oldChoices) => ({...oldChoices, [groupId]: newChoice}));
|
|
34
|
-
setChoiceSyncWithLocalStorage(groupId, newChoice);
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export default useTabGroupChoice;
|
|
@@ -1,82 +0,0 @@
|
|
|
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 {useState, useCallback, useEffect} from 'react';
|
|
8
|
-
import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';
|
|
9
|
-
import {useThemeConfig, createStorageSlot} from '@docusaurus/theme-common';
|
|
10
|
-
const ThemeStorage = createStorageSlot('theme');
|
|
11
|
-
const themes = {
|
|
12
|
-
light: 'light',
|
|
13
|
-
dark: 'dark',
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
// Ensure to always return a valid theme even if input is invalid
|
|
17
|
-
const coerceToTheme = (theme) => {
|
|
18
|
-
return theme === themes.dark ? themes.dark : themes.light;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const getInitialTheme = (defaultMode) => {
|
|
22
|
-
if (!ExecutionEnvironment.canUseDOM) {
|
|
23
|
-
return coerceToTheme(defaultMode);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return coerceToTheme(document.documentElement.getAttribute('data-theme'));
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const storeTheme = (newTheme) => {
|
|
30
|
-
createStorageSlot('theme').set(coerceToTheme(newTheme));
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const useTheme = () => {
|
|
34
|
-
const {
|
|
35
|
-
colorMode: {defaultMode, disableSwitch, respectPrefersColorScheme},
|
|
36
|
-
} = useThemeConfig();
|
|
37
|
-
const [theme, setTheme] = useState(getInitialTheme(defaultMode));
|
|
38
|
-
const setLightTheme = useCallback(() => {
|
|
39
|
-
setTheme(themes.light);
|
|
40
|
-
storeTheme(themes.light);
|
|
41
|
-
}, []);
|
|
42
|
-
const setDarkTheme = useCallback(() => {
|
|
43
|
-
setTheme(themes.dark);
|
|
44
|
-
storeTheme(themes.dark);
|
|
45
|
-
}, []);
|
|
46
|
-
useEffect(() => {
|
|
47
|
-
document.documentElement.setAttribute('data-theme', coerceToTheme(theme));
|
|
48
|
-
}, [theme]);
|
|
49
|
-
useEffect(() => {
|
|
50
|
-
if (disableSwitch) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
try {
|
|
55
|
-
const storedTheme = ThemeStorage.get();
|
|
56
|
-
|
|
57
|
-
if (storedTheme !== null) {
|
|
58
|
-
setTheme(coerceToTheme(storedTheme));
|
|
59
|
-
}
|
|
60
|
-
} catch (err) {
|
|
61
|
-
console.error(err);
|
|
62
|
-
}
|
|
63
|
-
}, [setTheme]);
|
|
64
|
-
useEffect(() => {
|
|
65
|
-
if (disableSwitch && !respectPrefersColorScheme) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
window
|
|
70
|
-
.matchMedia('(prefers-color-scheme: dark)')
|
|
71
|
-
.addListener(({matches}) => {
|
|
72
|
-
setTheme(matches ? themes.dark : themes.light);
|
|
73
|
-
});
|
|
74
|
-
}, []);
|
|
75
|
-
return {
|
|
76
|
-
isDarkTheme: theme === themes.dark,
|
|
77
|
-
setLightTheme,
|
|
78
|
-
setDarkTheme,
|
|
79
|
-
};
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
export default useTheme;
|
|
@@ -1,22 +0,0 @@
|
|
|
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 {useContext} from 'react';
|
|
8
|
-
import ThemeContext from '@theme/ThemeContext';
|
|
9
|
-
|
|
10
|
-
function useThemeContext() {
|
|
11
|
-
const context = useContext(ThemeContext);
|
|
12
|
-
|
|
13
|
-
if (context == null) {
|
|
14
|
-
throw new Error(
|
|
15
|
-
'"useThemeContext" is used outside of "Layout" component. Please see https://docusaurus.io/docs/api/themes/configuration#usethemecontext.',
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return context;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export default useThemeContext;
|
|
@@ -1,22 +0,0 @@
|
|
|
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 {useContext} from 'react';
|
|
8
|
-
import UserPreferencesContext from '@theme/UserPreferencesContext';
|
|
9
|
-
|
|
10
|
-
function useUserPreferencesContext() {
|
|
11
|
-
const context = useContext(UserPreferencesContext);
|
|
12
|
-
|
|
13
|
-
if (context == null) {
|
|
14
|
-
throw new Error(
|
|
15
|
-
'"useUserPreferencesContext" is used outside of "Layout" component.',
|
|
16
|
-
);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return context;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export default useUserPreferencesContext;
|
|
@@ -1,45 +0,0 @@
|
|
|
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 {useEffect, useState} from 'react';
|
|
8
|
-
import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';
|
|
9
|
-
const desktopThresholdWidth = 996;
|
|
10
|
-
const windowSizes = {
|
|
11
|
-
desktop: 'desktop',
|
|
12
|
-
mobile: 'mobile',
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
function useWindowSize() {
|
|
16
|
-
const isClient = ExecutionEnvironment.canUseDOM;
|
|
17
|
-
|
|
18
|
-
function getSize() {
|
|
19
|
-
if (!isClient) {
|
|
20
|
-
return undefined;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return window.innerWidth > desktopThresholdWidth
|
|
24
|
-
? windowSizes.desktop
|
|
25
|
-
: windowSizes.mobile;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const [windowSize, setWindowSize] = useState(getSize);
|
|
29
|
-
useEffect(() => {
|
|
30
|
-
if (!isClient) {
|
|
31
|
-
return undefined;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function handleResize() {
|
|
35
|
-
setWindowSize(getSize());
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
window.addEventListener('resize', handleResize);
|
|
39
|
-
return () => window.removeEventListener('resize', handleResize);
|
|
40
|
-
}, []);
|
|
41
|
-
return windowSize;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export {windowSizes};
|
|
45
|
-
export default useWindowSize;
|