@docusaurus/theme-classic 2.0.0-beta.15d451942 → 2.0.0-beta.16
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 +35 -0
- package/lib/deps.d.ts +13 -0
- package/lib/getSwizzleConfig.js +102 -0
- package/lib/index.js +59 -43
- package/lib/prism-include-languages.js +9 -5
- package/lib/theme-classic.d.ts +755 -0
- package/lib/translations.js +40 -34
- package/lib/types.d.ts +0 -589
- package/lib/validateThemeConfig.js +247 -246
- package/lib-next/theme/Admonition/index.js +101 -0
- package/lib-next/theme/AnnouncementBar/index.js +10 -22
- package/lib-next/theme/AnnouncementBar/styles.module.css +26 -35
- package/lib-next/theme/BackToTopButton/index.js +131 -0
- package/lib-next/theme/BackToTopButton/styles.module.css +44 -0
- package/lib-next/theme/BlogArchivePage/index.js +80 -0
- package/lib-next/theme/BlogLayout/index.js +37 -0
- package/lib-next/theme/BlogListPage/index.js +18 -29
- package/lib-next/theme/BlogListPaginator/index.js +13 -16
- package/lib-next/theme/BlogPostAuthor/index.js +40 -0
- package/{lib/theme/IconEdit → lib-next/theme/BlogPostAuthor}/styles.module.css +4 -3
- package/lib-next/theme/BlogPostAuthors/index.js +44 -0
- package/lib-next/theme/BlogPostAuthors/styles.module.css +21 -0
- package/lib-next/theme/BlogPostItem/index.js +110 -95
- package/lib-next/theme/BlogPostItem/styles.module.css +5 -1
- package/lib-next/theme/BlogPostPage/index.js +75 -43
- package/lib-next/theme/BlogPostPaginator/index.js +13 -20
- package/lib-next/theme/BlogSidebar/index.js +23 -16
- package/lib-next/theme/BlogSidebar/styles.module.css +8 -8
- package/lib-next/theme/BlogTagsListPage/index.js +16 -66
- package/lib-next/theme/BlogTagsPostsPage/index.js +47 -59
- package/lib-next/theme/CodeBlock/index.js +73 -162
- package/lib-next/theme/CodeBlock/styles.module.css +18 -13
- 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 +76 -0
- package/lib-next/theme/DocBreadcrumbs/styles.module.css +26 -0
- package/lib-next/theme/DocCard/index.js +91 -0
- package/lib-next/theme/DocCard/styles.module.css +43 -0
- package/lib-next/theme/DocCardList/index.js +19 -0
- package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +54 -0
- package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
- package/lib-next/theme/DocItem/index.js +64 -69
- package/lib-next/theme/DocItem/styles.module.css +7 -13
- package/lib-next/theme/DocItemFooter/index.js +79 -0
- package/{lib/theme/Layout/styles.css → lib-next/theme/DocItemFooter/styles.module.css} +8 -11
- package/lib-next/theme/DocPage/index.js +59 -33
- package/lib-next/theme/DocPage/styles.module.css +14 -26
- package/lib-next/theme/DocPaginator/index.js +16 -25
- package/lib-next/theme/DocSidebar/index.js +72 -285
- package/lib-next/theme/DocSidebar/styles.module.css +5 -36
- package/lib-next/theme/DocSidebarItem/index.js +264 -0
- package/lib-next/theme/DocSidebarItem/styles.module.css +13 -0
- package/lib-next/theme/DocSidebarItems/index.js +28 -0
- package/lib-next/theme/DocTagDocListPage/index.js +89 -0
- package/lib-next/theme/DocTagsListPage/index.js +35 -0
- package/lib-next/theme/DocVersionBadge/index.js +34 -0
- package/lib-next/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +54 -36
- package/lib-next/theme/EditThisPage/index.js +6 -1
- package/lib-next/theme/ErrorPageContent.js +35 -0
- package/lib-next/theme/Footer/index.js +105 -41
- package/lib-next/theme/Footer/styles.module.css +2 -1
- package/lib-next/theme/Heading/index.js +40 -33
- package/lib-next/theme/Heading/styles.module.css +27 -2
- package/lib-next/theme/IconArrow/index.js +3 -6
- package/lib-next/theme/IconClose/index.js +23 -0
- package/lib-next/theme/IconEdit/index.js +5 -10
- package/lib-next/theme/IconExternalLink/index.js +23 -0
- package/{lib/theme/BlogPostItem → lib-next/theme/IconExternalLink}/styles.module.css +4 -6
- package/lib-next/theme/IconLanguage/index.js +3 -6
- package/lib-next/theme/IconMenu/index.js +8 -9
- package/lib-next/theme/LastUpdated/index.js +35 -39
- package/lib-next/theme/Layout/index.js +5 -7
- package/lib-next/theme/Layout/styles.css +6 -0
- package/lib-next/theme/LayoutHead/index.js +27 -32
- package/lib-next/theme/LayoutProviders/index.js +21 -10
- package/lib-next/theme/Logo/index.js +21 -16
- package/lib-next/theme/MDXComponents/index.js +45 -30
- package/lib-next/theme/{hooks → MDXComponents}/styles.css +7 -2
- package/lib-next/theme/MDXPage/index.js +22 -28
- package/{lib/theme/LastUpdated → lib-next/theme/MDXPage}/styles.module.css +2 -2
- package/lib-next/theme/Navbar/index.js +199 -64
- package/lib-next/theme/Navbar/styles.module.css +11 -4
- package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +36 -185
- package/lib-next/theme/NavbarItem/DocNavbarItem.js +31 -14
- package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +73 -0
- package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +38 -24
- package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +4 -1
- package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +156 -0
- package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +12 -13
- package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/lib-next/theme/NavbarItem/NavbarNavLink.js +70 -0
- package/lib-next/theme/NavbarItem/index.js +27 -15
- package/lib-next/theme/{UserPreferencesContext.js → NavbarItem/utils.js} +3 -3
- package/lib-next/theme/NotFound.js +7 -6
- package/lib-next/theme/PaginatorNavLink/index.js +17 -0
- package/lib-next/theme/SearchBar.js +1 -1
- package/lib-next/theme/SearchMetadata/index.js +25 -0
- package/lib-next/theme/Seo/index.js +11 -7
- package/lib-next/theme/SkipToContent/index.js +9 -8
- package/lib-next/theme/SkipToContent/styles.module.css +8 -3
- package/lib-next/theme/TOC/index.js +12 -39
- package/lib-next/theme/TOC/styles.module.css +2 -2
- package/lib-next/theme/TOCCollapsible/index.js +54 -0
- package/lib-next/theme/TOCCollapsible/styles.module.css +50 -0
- package/lib-next/theme/TOCInline/index.js +10 -31
- package/lib-next/theme/TOCItems/index.js +85 -0
- package/lib-next/theme/TabItem/index.js +1 -4
- package/lib-next/theme/Tabs/__tests__/index.test.js +146 -0
- package/lib-next/theme/Tabs/index.js +108 -50
- package/lib-next/theme/Tabs/styles.module.css +0 -13
- package/lib-next/theme/Tag/index.js +24 -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 -13
- package/lib-next/theme/ThemedImage/styles.module.css +9 -2
- package/lib-next/theme/Toggle/index.js +65 -60
- package/lib-next/theme/Toggle/styles.module.css +30 -38
- package/lib-next/theme/prism-include-languages.js +17 -15
- package/package.json +31 -30
- package/src/admonitions.css +35 -0
- package/src/deps.d.ts +13 -0
- package/src/getSwizzleConfig.ts +101 -0
- package/src/index.ts +68 -66
- package/{lib-next/prism-include-languages.js → src/prism-include-languages.ts} +0 -0
- package/src/theme/Admonition/index.tsx +106 -0
- package/src/theme/AnnouncementBar/index.tsx +11 -20
- package/src/theme/AnnouncementBar/styles.module.css +26 -35
- package/src/theme/BackToTopButton/index.tsx +143 -0
- package/src/theme/BackToTopButton/styles.module.css +44 -0
- package/src/theme/BlogArchivePage/index.tsx +91 -0
- package/src/theme/BlogLayout/index.tsx +42 -0
- package/src/theme/BlogListPage/index.tsx +19 -28
- package/src/theme/BlogListPaginator/index.tsx +13 -15
- package/src/theme/BlogPostAuthor/index.tsx +44 -0
- package/src/theme/{LastUpdated → BlogPostAuthor}/styles.module.css +4 -2
- package/src/theme/BlogPostAuthors/index.tsx +49 -0
- package/src/theme/BlogPostAuthors/styles.module.css +21 -0
- package/src/theme/BlogPostItem/index.tsx +101 -91
- package/src/theme/BlogPostItem/styles.module.css +5 -1
- package/src/theme/BlogPostPage/index.tsx +77 -42
- package/src/theme/BlogPostPaginator/index.tsx +13 -19
- package/src/theme/BlogSidebar/index.tsx +23 -16
- package/src/theme/BlogSidebar/styles.module.css +8 -8
- package/src/theme/BlogTagsListPage/index.tsx +16 -66
- package/src/theme/BlogTagsPostsPage/index.tsx +43 -61
- package/src/theme/CodeBlock/index.tsx +77 -164
- package/src/theme/CodeBlock/styles.module.css +18 -13
- package/src/theme/Details/index.tsx +25 -0
- package/src/theme/Details/styles.module.css +13 -0
- package/src/theme/DocBreadcrumbs/index.tsx +91 -0
- package/src/theme/DocBreadcrumbs/styles.module.css +26 -0
- package/src/theme/DocCard/index.tsx +109 -0
- package/src/theme/DocCard/styles.module.css +43 -0
- package/src/theme/DocCardList/index.tsx +27 -0
- package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +59 -0
- package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
- package/src/theme/DocItem/index.tsx +66 -68
- package/src/theme/DocItem/styles.module.css +7 -13
- package/src/theme/DocItemFooter/index.tsx +91 -0
- package/src/theme/DocItemFooter/styles.module.css +18 -0
- package/src/theme/DocPage/index.tsx +58 -34
- package/src/theme/DocPage/styles.module.css +14 -26
- package/src/theme/DocPaginator/index.tsx +16 -24
- package/src/theme/DocSidebar/index.tsx +83 -297
- package/src/theme/DocSidebar/styles.module.css +5 -36
- package/src/theme/DocSidebarItem/index.tsx +283 -0
- package/src/theme/DocSidebarItem/styles.module.css +13 -0
- package/src/theme/DocSidebarItems/index.tsx +32 -0
- package/src/theme/DocTagDocListPage/index.tsx +89 -0
- package/src/theme/DocTagsListPage/index.tsx +39 -0
- package/src/theme/DocVersionBadge/index.tsx +35 -0
- package/src/theme/{DocVersionSuggestions → DocVersionBanner}/index.tsx +77 -47
- package/src/theme/EditThisPage/index.tsx +6 -1
- package/src/theme/ErrorPageContent.tsx +41 -0
- package/src/theme/Footer/index.tsx +119 -45
- package/src/theme/Footer/styles.module.css +2 -1
- package/src/theme/Heading/index.tsx +41 -35
- package/src/theme/Heading/styles.module.css +27 -2
- package/src/theme/IconArrow/index.tsx +3 -5
- package/src/theme/IconClose/index.tsx +26 -0
- package/src/theme/IconEdit/index.tsx +8 -9
- package/src/theme/IconExternalLink/index.tsx +30 -0
- package/{lib/theme/Heading → src/theme/IconExternalLink}/styles.module.css +4 -2
- package/src/theme/IconLanguage/index.tsx +4 -6
- package/src/theme/IconMenu/index.tsx +4 -9
- package/src/theme/LastUpdated/index.tsx +35 -39
- package/src/theme/Layout/index.tsx +5 -6
- package/src/theme/Layout/styles.css +6 -0
- package/src/theme/LayoutHead/index.tsx +26 -25
- package/src/theme/LayoutProviders/index.tsx +21 -10
- package/src/theme/Logo/index.tsx +21 -15
- package/src/theme/MDXComponents/index.tsx +56 -32
- package/{lib/theme/hooks → src/theme/MDXComponents}/styles.css +7 -2
- package/src/theme/MDXPage/index.tsx +23 -28
- package/{lib-next/theme/LastUpdated → src/theme/MDXPage}/styles.module.css +2 -2
- package/src/theme/Navbar/index.tsx +208 -68
- package/src/theme/Navbar/styles.module.css +11 -4
- package/src/theme/NavbarItem/DefaultNavbarItem.tsx +37 -194
- package/src/theme/NavbarItem/DocNavbarItem.tsx +33 -15
- package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +84 -0
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +44 -28
- package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
- package/src/theme/NavbarItem/DropdownNavbarItem.tsx +181 -0
- package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +16 -10
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/src/theme/NavbarItem/NavbarNavLink.tsx +68 -0
- package/src/theme/NavbarItem/index.tsx +42 -19
- package/src/theme/NavbarItem/utils.ts +10 -0
- package/src/theme/NotFound.tsx +7 -5
- package/src/theme/PaginatorNavLink/index.tsx +20 -0
- package/src/theme/SearchBar.tsx +2 -1
- package/src/theme/SearchMetadata/index.tsx +34 -0
- package/src/theme/Seo/index.tsx +7 -4
- package/src/theme/SkipToContent/index.tsx +9 -8
- package/src/theme/SkipToContent/styles.module.css +8 -3
- package/src/theme/TOC/index.tsx +13 -44
- package/src/theme/TOC/styles.module.css +2 -2
- package/src/theme/TOCCollapsible/index.tsx +58 -0
- package/src/theme/TOCCollapsible/styles.module.css +50 -0
- package/src/theme/TOCInline/index.tsx +14 -35
- package/src/theme/TOCItems/index.tsx +100 -0
- package/src/theme/TabItem/index.tsx +5 -3
- package/src/theme/Tabs/index.tsx +115 -56
- package/src/theme/Tabs/styles.module.css +0 -13
- package/src/theme/Tag/index.tsx +29 -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 -12
- package/src/theme/ThemedImage/styles.module.css +9 -2
- package/src/theme/Toggle/index.tsx +66 -62
- package/src/theme/Toggle/styles.module.css +30 -38
- package/src/theme/prism-include-languages.ts +20 -15
- package/src/theme-classic.d.ts +755 -0
- package/src/translations.ts +74 -54
- package/src/types.d.ts +0 -589
- package/{lib-next/validateThemeConfig.js → src/validateThemeConfig.ts} +184 -104
- package/babel.config.js +0 -35
- package/codeTranslations/README.md +0 -20
- package/codeTranslations/ar.json +0 -55
- package/codeTranslations/base.json +0 -108
- package/codeTranslations/da.json +0 -55
- package/codeTranslations/de.json +0 -55
- package/codeTranslations/es.json +0 -55
- package/codeTranslations/fa.json +0 -55
- package/codeTranslations/fil.json +0 -55
- package/codeTranslations/fr.json +0 -55
- package/codeTranslations/he.json +0 -55
- package/codeTranslations/hi.json +0 -55
- package/codeTranslations/ja.json +0 -55
- package/codeTranslations/ko.json +0 -55
- package/codeTranslations/pl.json +0 -55
- package/codeTranslations/pt-BR.json +0 -55
- package/codeTranslations/pt-PT.json +0 -55
- package/codeTranslations/ru.json +0 -55
- package/codeTranslations/tr.json +0 -55
- package/codeTranslations/vi.json +0 -55
- package/codeTranslations/zh-Hans.json +0 -55
- package/codeTranslations/zh-Hant.json +0 -55
- package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/lib/__tests__/translations.test.js +0 -112
- package/lib/__tests__/validateThemeConfig.test.js +0 -333
- package/lib/theme/AnnouncementBar/index.js +0 -74
- package/lib/theme/AnnouncementBar/styles.module.css +0 -72
- package/lib/theme/BlogListPage/index.js +0 -71
- package/lib/theme/BlogListPaginator/index.js +0 -63
- package/lib/theme/BlogPostItem/index.js +0 -152
- package/lib/theme/BlogPostPage/index.js +0 -75
- package/lib/theme/BlogPostPaginator/index.js +0 -64
- package/lib/theme/BlogSidebar/index.js +0 -43
- package/lib/theme/BlogSidebar/styles.module.css +0 -46
- package/lib/theme/BlogTagsListPage/index.js +0 -81
- package/lib/theme/BlogTagsPostsPage/index.js +0 -104
- package/lib/theme/CodeBlock/index.js +0 -253
- package/lib/theme/CodeBlock/styles.module.css +0 -71
- package/lib/theme/DocItem/index.js +0 -120
- package/lib/theme/DocItem/styles.module.css +0 -28
- package/lib/theme/DocPage/index.js +0 -141
- package/lib/theme/DocPage/styles.module.css +0 -98
- package/lib/theme/DocPaginator/index.js +0 -63
- package/lib/theme/DocSidebar/index.js +0 -307
- package/lib/theme/DocSidebar/styles.module.css +0 -138
- package/lib/theme/DocVersionSuggestions/index.js +0 -111
- package/lib/theme/EditThisPage/index.js +0 -31
- package/lib/theme/Footer/index.js +0 -108
- package/lib/theme/Footer/styles.module.css +0 -15
- package/lib/theme/Heading/index.js +0 -60
- package/lib/theme/Heading/styles.css +0 -23
- package/lib/theme/IconArrow/index.js +0 -28
- package/lib/theme/IconEdit/index.js +0 -34
- package/lib/theme/IconLanguage/index.js +0 -29
- package/lib/theme/IconMenu/index.js +0 -31
- package/lib/theme/LastUpdated/index.js +0 -65
- package/lib/theme/Layout/index.js +0 -64
- package/lib/theme/LayoutHead/index.js +0 -144
- package/lib/theme/LayoutProviders/index.js +0 -34
- package/lib/theme/Logo/index.js +0 -59
- package/lib/theme/MDXComponents/index.js +0 -65
- package/lib/theme/MDXPage/index.js +0 -68
- package/lib/theme/Navbar/index.js +0 -147
- package/lib/theme/Navbar/styles.module.css +0 -20
- package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -195
- package/lib/theme/NavbarItem/DocNavbarItem.js +0 -55
- package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -75
- package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem.js +0 -72
- package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
- package/lib/theme/NavbarItem/index.js +0 -54
- package/lib/theme/NotFound.js +0 -50
- package/lib/theme/SearchBar.js +0 -15
- package/lib/theme/SearchMetadatas/index.js +0 -33
- package/lib/theme/Seo/index.js +0 -49
- package/lib/theme/SkipToContent/index.js +0 -61
- package/lib/theme/SkipToContent/styles.module.css +0 -16
- package/lib/theme/TOC/index.js +0 -59
- package/lib/theme/TOC/styles.module.css +0 -23
- package/lib/theme/TOCInline/index.js +0 -53
- package/lib/theme/TOCInline/styles.module.css +0 -12
- package/lib/theme/TabItem/index.js +0 -32
- package/lib/theme/Tabs/index.js +0 -150
- package/lib/theme/Tabs/styles.module.css +0 -23
- package/lib/theme/ThemeContext.js +0 -21
- package/lib/theme/ThemeProvider/index.js +0 -38
- package/lib/theme/ThemedImage/index.js +0 -48
- package/lib/theme/ThemedImage/styles.module.css +0 -11
- package/lib/theme/Toggle/index.js +0 -106
- package/lib/theme/Toggle/styles.module.css +0 -114
- package/lib/theme/UserPreferencesContext.js +0 -18
- package/lib/theme/UserPreferencesProvider/index.js +0 -44
- package/lib/theme/hooks/useAnnouncementBar.js +0 -63
- package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
- package/lib/theme/hooks/useDocs.js +0 -18
- package/lib/theme/hooks/useHideableNavbar.js +0 -92
- package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
- package/lib/theme/hooks/useLocationHash.js +0 -28
- package/lib/theme/hooks/useLockBodyScroll.js +0 -26
- package/lib/theme/hooks/usePrismTheme.js +0 -36
- package/lib/theme/hooks/useScrollPosition.js +0 -49
- package/lib/theme/hooks/useTOCHighlight.js +0 -87
- package/lib/theme/hooks/useTabGroupChoice.js +0 -53
- package/lib/theme/hooks/useTheme.js +0 -99
- package/lib/theme/hooks/useThemeContext.js +0 -31
- package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
- package/lib/theme/hooks/useWindowSize.js +0 -55
- package/lib/theme/prism-include-languages.js +0 -39
- package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/lib-next/__tests__/translations.test.js +0 -128
- package/lib-next/__tests__/validateThemeConfig.test.js +0 -333
- package/lib-next/index.js +0 -198
- package/lib-next/theme/Heading/styles.css +0 -23
- package/lib-next/theme/SearchMetadatas/index.js +0 -20
- package/lib-next/theme/ThemeContext.js +0 -9
- package/lib-next/theme/ThemeProvider/index.js +0 -25
- package/lib-next/theme/UserPreferencesProvider/index.js +0 -28
- package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
- package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
- package/lib-next/theme/hooks/useDocs.js +0 -10
- package/lib-next/theme/hooks/useHideableNavbar.js +0 -79
- package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
- package/lib-next/theme/hooks/useLocationHash.js +0 -20
- package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
- package/lib-next/theme/hooks/usePrismTheme.js +0 -20
- package/lib-next/theme/hooks/useScrollPosition.js +0 -38
- package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
- package/lib-next/theme/hooks/useTabGroupChoice.js +0 -41
- package/lib-next/theme/hooks/useTheme.js +0 -82
- package/lib-next/theme/hooks/useThemeContext.js +0 -22
- package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
- package/lib-next/theme/hooks/useWindowSize.js +0 -45
- package/lib-next/translations.js +0 -145
- package/lib-next/types.d.ts +0 -600
- package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/src/__tests__/translations.test.ts +0 -116
- package/src/__tests__/validateThemeConfig.test.js +0 -333
- package/src/prism-include-languages.js +0 -11
- package/src/theme/Heading/styles.css +0 -23
- package/src/theme/SearchMetadatas/index.tsx +0 -28
- package/src/theme/ThemeContext.ts +0 -15
- package/src/theme/ThemeProvider/index.tsx +0 -24
- package/src/theme/UserPreferencesContext.ts +0 -12
- package/src/theme/UserPreferencesProvider/index.tsx +0 -32
- package/src/theme/hooks/styles.css +0 -10
- package/src/theme/hooks/useAnnouncementBar.ts +0 -58
- package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
- package/src/theme/hooks/useDocs.ts +0 -11
- package/src/theme/hooks/useHideableNavbar.ts +0 -85
- package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
- package/src/theme/hooks/useLocationHash.ts +0 -25
- package/src/theme/hooks/useLockBodyScroll.ts +0 -20
- package/src/theme/hooks/usePrismTheme.ts +0 -22
- package/src/theme/hooks/useScrollPosition.ts +0 -45
- package/src/theme/hooks/useTOCHighlight.ts +0 -98
- package/src/theme/hooks/useTabGroupChoice.ts +0 -46
- package/src/theme/hooks/useTheme.ts +0 -92
- package/src/theme/hooks/useThemeContext.ts +0 -23
- package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
- package/src/theme/hooks/useWindowSize.ts +0 -51
- package/src/validateThemeConfig.js +0 -317
- package/tsconfig.json +0 -12
- package/update-code-translations.js +0 -239
- package/update-code-translations.test.js +0 -33
|
@@ -6,23 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
.toggle {
|
|
9
|
-
align-items: center;
|
|
10
|
-
display: flex;
|
|
11
|
-
height: 10px;
|
|
12
|
-
justify-content: center;
|
|
13
|
-
width: 10px;
|
|
14
|
-
}
|
|
15
|
-
.toggle::before {
|
|
16
|
-
position: absolute;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* styles for React Toggle
|
|
21
|
-
* copied over because we want to allow user to swizzle it and modify the css
|
|
22
|
-
* and also to make sure its compatible with our dark mode
|
|
23
|
-
* https://github.com/aaronshaf/react-toggle/blob/master/style.css
|
|
24
|
-
*/
|
|
25
|
-
:global(.react-toggle) {
|
|
26
9
|
touch-action: pan-x;
|
|
27
10
|
position: relative;
|
|
28
11
|
cursor: pointer;
|
|
@@ -30,7 +13,7 @@
|
|
|
30
13
|
-webkit-tap-highlight-color: transparent;
|
|
31
14
|
}
|
|
32
15
|
|
|
33
|
-
|
|
16
|
+
.toggleScreenReader {
|
|
34
17
|
border: 0;
|
|
35
18
|
clip: rect(0 0 0 0);
|
|
36
19
|
height: 1px;
|
|
@@ -40,11 +23,11 @@
|
|
|
40
23
|
width: 1px;
|
|
41
24
|
}
|
|
42
25
|
|
|
43
|
-
|
|
26
|
+
.toggleDisabled {
|
|
44
27
|
cursor: not-allowed;
|
|
45
28
|
}
|
|
46
29
|
|
|
47
|
-
|
|
30
|
+
.toggleTrack {
|
|
48
31
|
width: 50px;
|
|
49
32
|
height: 24px;
|
|
50
33
|
border-radius: 30px;
|
|
@@ -52,42 +35,42 @@
|
|
|
52
35
|
transition: all 0.2s ease;
|
|
53
36
|
}
|
|
54
37
|
|
|
55
|
-
|
|
38
|
+
.toggleTrackCheck {
|
|
56
39
|
position: absolute;
|
|
57
40
|
width: 14px;
|
|
58
41
|
height: 10px;
|
|
59
|
-
top:
|
|
60
|
-
bottom:
|
|
42
|
+
top: 0;
|
|
43
|
+
bottom: 0;
|
|
61
44
|
margin: auto 0;
|
|
62
45
|
left: 8px;
|
|
63
46
|
opacity: 0;
|
|
64
47
|
transition: opacity 0.25s ease;
|
|
65
48
|
}
|
|
66
49
|
|
|
67
|
-
|
|
68
|
-
|
|
50
|
+
.toggleChecked .toggleTrackCheck,
|
|
51
|
+
[data-theme='dark'] .toggle .toggleTrackCheck {
|
|
69
52
|
opacity: 1;
|
|
70
53
|
transition: opacity 0.25s ease;
|
|
71
54
|
}
|
|
72
55
|
|
|
73
|
-
|
|
56
|
+
.toggleTrackX {
|
|
74
57
|
position: absolute;
|
|
75
58
|
width: 10px;
|
|
76
59
|
height: 10px;
|
|
77
|
-
top:
|
|
78
|
-
bottom:
|
|
60
|
+
top: 0;
|
|
61
|
+
bottom: 0;
|
|
79
62
|
margin: auto 0;
|
|
80
63
|
right: 10px;
|
|
81
64
|
opacity: 1;
|
|
82
65
|
transition: opacity 0.25s ease;
|
|
83
66
|
}
|
|
84
67
|
|
|
85
|
-
|
|
86
|
-
|
|
68
|
+
.toggleChecked .toggleTrackX,
|
|
69
|
+
[data-theme='dark'] .toggle .toggleTrackX {
|
|
87
70
|
opacity: 0;
|
|
88
71
|
}
|
|
89
72
|
|
|
90
|
-
|
|
73
|
+
.toggleTrackThumb {
|
|
91
74
|
position: absolute;
|
|
92
75
|
top: 1px;
|
|
93
76
|
left: 1px;
|
|
@@ -99,16 +82,25 @@
|
|
|
99
82
|
transition: all 0.25s ease;
|
|
100
83
|
}
|
|
101
84
|
|
|
102
|
-
|
|
103
|
-
|
|
85
|
+
.toggleFocused .toggleTrackThumb,
|
|
86
|
+
.toggle:hover .toggleTrackThumb {
|
|
87
|
+
box-shadow: 0 0 2px 3px var(--ifm-color-primary);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/* stylelint-disable-next-line no-descending-specificity */
|
|
91
|
+
.toggleChecked .toggleTrackThumb,
|
|
92
|
+
[data-theme='dark'] .toggle .toggleTrackThumb {
|
|
104
93
|
left: 27px;
|
|
105
94
|
}
|
|
106
95
|
|
|
107
|
-
:
|
|
108
|
-
|
|
109
|
-
box-shadow: 0px 0px 2px 3px var(--ifm-color-primary);
|
|
96
|
+
.toggle:active:not(.toggleDisabled) .toggleTrackThumb {
|
|
97
|
+
box-shadow: 0 0 5px 5px var(--ifm-color-primary);
|
|
110
98
|
}
|
|
111
99
|
|
|
112
|
-
|
|
113
|
-
|
|
100
|
+
.toggleIcon {
|
|
101
|
+
align-items: center;
|
|
102
|
+
display: flex;
|
|
103
|
+
height: 10px;
|
|
104
|
+
justify-content: center;
|
|
105
|
+
width: 10px;
|
|
114
106
|
}
|
|
@@ -4,20 +4,22 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';
|
|
8
7
|
import siteConfig from '@generated/docusaurus.config';
|
|
8
|
+
export default function prismIncludeLanguages(PrismObject) {
|
|
9
|
+
const {
|
|
10
|
+
themeConfig: {prism},
|
|
11
|
+
} = siteConfig;
|
|
12
|
+
const {additionalLanguages} = prism; // Prism components work on the Prism instance on the window, while prism-
|
|
13
|
+
// react-renderer uses its own Prism instance. We temporarily mount the
|
|
14
|
+
// instance onto window, import components to enhance it, then remove it to
|
|
15
|
+
// avoid polluting global namespace.
|
|
16
|
+
// You can mutate PrismObject: registering plugins, deleting languages... As
|
|
17
|
+
// long as you don't re-assign it
|
|
9
18
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
require(`prismjs/components/prism-${lang}`); // eslint-disable-line
|
|
18
|
-
});
|
|
19
|
-
delete window.Prism;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export default prismIncludeLanguages;
|
|
19
|
+
globalThis.Prism = PrismObject;
|
|
20
|
+
additionalLanguages.forEach((lang) => {
|
|
21
|
+
// eslint-disable-next-line global-require, import/no-dynamic-require
|
|
22
|
+
require(`prismjs/components/prism-${lang}`);
|
|
23
|
+
});
|
|
24
|
+
delete globalThis.Prism;
|
|
25
|
+
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/theme-classic",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.16",
|
|
4
4
|
"description": "Classic theme for Docusaurus",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
|
-
"types": "src/
|
|
6
|
+
"types": "src/theme-classic.d.ts",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
@@ -14,49 +14,50 @@
|
|
|
14
14
|
},
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"scripts": {
|
|
17
|
-
"build": "tsc --noEmit && yarn babel:lib && yarn babel:lib-next && yarn
|
|
18
|
-
"watch": "concurrently
|
|
17
|
+
"build": "tsc --noEmit && yarn babel:lib && yarn babel:lib-next && yarn format:lib-next",
|
|
18
|
+
"watch": "concurrently --names \"lib,lib-next,tsc\" --kill-others \"yarn babel:lib --watch\" \"yarn babel:lib-next --watch\" \"yarn tsc --watch\"",
|
|
19
19
|
"babel:lib": "cross-env BABEL_ENV=lib babel src -d lib --extensions \".tsx,.ts\" --ignore \"**/*.d.ts\" --copy-files",
|
|
20
20
|
"babel:lib-next": "cross-env BABEL_ENV=lib-next babel src -d lib-next --extensions \".tsx,.ts\" --ignore \"**/*.d.ts\" --copy-files",
|
|
21
|
-
"
|
|
22
|
-
"prettier:lib-next": "prettier --config ../../.prettierrc --write \"lib-next/**/*.{js,ts,jsx,tsc}\"",
|
|
23
|
-
"update-code-translations": "node -e 'require(\"./update-code-translations.js\").run()'"
|
|
21
|
+
"format:lib-next": "prettier --config ../../.prettierrc --write \"lib-next/**/*.{js,ts,jsx,tsc}\""
|
|
24
22
|
},
|
|
25
23
|
"dependencies": {
|
|
26
|
-
"@docusaurus/core": "2.0.0-beta.
|
|
27
|
-
"@docusaurus/plugin-content-blog": "2.0.0-beta.
|
|
28
|
-
"@docusaurus/plugin-content-docs": "2.0.0-beta.
|
|
29
|
-
"@docusaurus/plugin-content-pages": "2.0.0-beta.
|
|
30
|
-
"@docusaurus/theme-common": "2.0.0-beta.
|
|
31
|
-
"@docusaurus/
|
|
32
|
-
"@docusaurus/utils": "2.0.0-beta.
|
|
33
|
-
"@docusaurus/utils-
|
|
34
|
-
"@
|
|
35
|
-
"@mdx-js/react": "^1.6.
|
|
36
|
-
"chalk": "^4.1.1",
|
|
24
|
+
"@docusaurus/core": "2.0.0-beta.16",
|
|
25
|
+
"@docusaurus/plugin-content-blog": "2.0.0-beta.16",
|
|
26
|
+
"@docusaurus/plugin-content-docs": "2.0.0-beta.16",
|
|
27
|
+
"@docusaurus/plugin-content-pages": "2.0.0-beta.16",
|
|
28
|
+
"@docusaurus/theme-common": "2.0.0-beta.16",
|
|
29
|
+
"@docusaurus/theme-translations": "2.0.0-beta.16",
|
|
30
|
+
"@docusaurus/utils": "2.0.0-beta.16",
|
|
31
|
+
"@docusaurus/utils-common": "2.0.0-beta.16",
|
|
32
|
+
"@docusaurus/utils-validation": "2.0.0-beta.16",
|
|
33
|
+
"@mdx-js/react": "^1.6.22",
|
|
37
34
|
"clsx": "^1.1.1",
|
|
38
35
|
"copy-text-to-clipboard": "^3.0.1",
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"lodash": "^4.17.20",
|
|
43
|
-
"parse-numeric-range": "^1.2.0",
|
|
44
|
-
"postcss": "^8.2.15",
|
|
36
|
+
"infima": "0.2.0-alpha.37",
|
|
37
|
+
"lodash": "^4.17.21",
|
|
38
|
+
"postcss": "^8.4.6",
|
|
45
39
|
"prism-react-renderer": "^1.2.1",
|
|
46
|
-
"prismjs": "^1.
|
|
47
|
-
"prop-types": "^15.7.2",
|
|
40
|
+
"prismjs": "^1.27.0",
|
|
48
41
|
"react-router-dom": "^5.2.0",
|
|
49
|
-
"rtlcss": "^3.
|
|
42
|
+
"rtlcss": "^3.3.0"
|
|
50
43
|
},
|
|
51
44
|
"devDependencies": {
|
|
52
|
-
"@docusaurus/module-type-aliases": "2.0.0-beta.
|
|
45
|
+
"@docusaurus/module-type-aliases": "2.0.0-beta.16",
|
|
46
|
+
"@docusaurus/types": "2.0.0-beta.16",
|
|
47
|
+
"@types/mdx-js__react": "^1.5.5",
|
|
48
|
+
"@types/prismjs": "^1.26.0",
|
|
49
|
+
"@types/rtlcss": "^3.1.2",
|
|
50
|
+
"cross-env": "^7.0.3",
|
|
51
|
+
"fs-extra": "^10.0.1",
|
|
52
|
+
"react-test-renderer": "^17.0.2",
|
|
53
|
+
"utility-types": "^3.10.0"
|
|
53
54
|
},
|
|
54
55
|
"peerDependencies": {
|
|
55
56
|
"react": "^16.8.4 || ^17.0.0",
|
|
56
57
|
"react-dom": "^16.8.4 || ^17.0.0"
|
|
57
58
|
},
|
|
58
59
|
"engines": {
|
|
59
|
-
"node": ">=
|
|
60
|
+
"node": ">=14"
|
|
60
61
|
},
|
|
61
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "eb43c4d4f95a4fb97dc9bb9dc615413e0dc2e1e7"
|
|
62
63
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
.admonition h5 {
|
|
9
|
+
margin-top: 0;
|
|
10
|
+
margin-bottom: 8px;
|
|
11
|
+
text-transform: uppercase;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.admonition-icon {
|
|
15
|
+
display: inline-block;
|
|
16
|
+
vertical-align: middle;
|
|
17
|
+
margin-right: 0.4em;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.admonition-icon svg {
|
|
21
|
+
display: inline-block;
|
|
22
|
+
width: 22px;
|
|
23
|
+
height: 22px;
|
|
24
|
+
stroke-width: 0;
|
|
25
|
+
fill: var(--ifm-alert-foreground-color);
|
|
26
|
+
stroke: var(--ifm-alert-foreground-color);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.admonition-content > :last-child {
|
|
30
|
+
margin-bottom: 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.admonition {
|
|
34
|
+
margin-bottom: 1em;
|
|
35
|
+
}
|
package/src/deps.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
declare module 'prism-react-renderer/prism' {
|
|
9
|
+
import type * as PrismNamespace from 'prismjs';
|
|
10
|
+
|
|
11
|
+
const Prism: typeof PrismNamespace;
|
|
12
|
+
export default Prism;
|
|
13
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
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 type {SwizzleConfig} from '@docusaurus/types';
|
|
9
|
+
|
|
10
|
+
export default function getSwizzleConfig(): SwizzleConfig {
|
|
11
|
+
return {
|
|
12
|
+
components: {
|
|
13
|
+
CodeBlock: {
|
|
14
|
+
actions: {
|
|
15
|
+
wrap: 'safe',
|
|
16
|
+
eject: 'safe',
|
|
17
|
+
},
|
|
18
|
+
description:
|
|
19
|
+
'The component used to render multi-line code blocks, generally used in Markdown files.',
|
|
20
|
+
},
|
|
21
|
+
DocSidebar: {
|
|
22
|
+
actions: {
|
|
23
|
+
wrap: 'safe',
|
|
24
|
+
eject: 'unsafe', // too much technical code in sidebar, not very safe atm
|
|
25
|
+
},
|
|
26
|
+
description: 'The sidebar component on docs pages',
|
|
27
|
+
},
|
|
28
|
+
Footer: {
|
|
29
|
+
actions: {
|
|
30
|
+
wrap: 'safe',
|
|
31
|
+
eject: 'unsafe', // TODO split footer into smaller parts
|
|
32
|
+
},
|
|
33
|
+
description: "The footer component of you site's layout",
|
|
34
|
+
},
|
|
35
|
+
NotFound: {
|
|
36
|
+
actions: {
|
|
37
|
+
wrap: 'safe',
|
|
38
|
+
eject: 'safe',
|
|
39
|
+
},
|
|
40
|
+
description:
|
|
41
|
+
'The global 404 page of your site, meant to be ejected and customized',
|
|
42
|
+
},
|
|
43
|
+
SearchBar: {
|
|
44
|
+
actions: {
|
|
45
|
+
wrap: 'safe',
|
|
46
|
+
eject: 'safe',
|
|
47
|
+
},
|
|
48
|
+
// TODO how to describe this one properly?
|
|
49
|
+
// By default it's an empty placeholder for the user to fill
|
|
50
|
+
description:
|
|
51
|
+
'The search bar component of your site, appearing in the navbar.',
|
|
52
|
+
},
|
|
53
|
+
IconArrow: {
|
|
54
|
+
actions: {
|
|
55
|
+
wrap: 'safe',
|
|
56
|
+
eject: 'safe',
|
|
57
|
+
},
|
|
58
|
+
description: 'The arrow icon component',
|
|
59
|
+
},
|
|
60
|
+
IconEdit: {
|
|
61
|
+
actions: {
|
|
62
|
+
wrap: 'safe',
|
|
63
|
+
eject: 'safe',
|
|
64
|
+
},
|
|
65
|
+
description: 'The edit icon component',
|
|
66
|
+
},
|
|
67
|
+
IconMenu: {
|
|
68
|
+
actions: {
|
|
69
|
+
wrap: 'safe',
|
|
70
|
+
eject: 'safe',
|
|
71
|
+
},
|
|
72
|
+
description: 'The menu icon component',
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
'prism-include-languages': {
|
|
76
|
+
actions: {
|
|
77
|
+
wrap: 'forbidden', // not a component!
|
|
78
|
+
eject: 'safe',
|
|
79
|
+
},
|
|
80
|
+
description:
|
|
81
|
+
'The Prism languages to include for code block syntax highlighting. Meant to be ejected.',
|
|
82
|
+
},
|
|
83
|
+
MDXComponents: {
|
|
84
|
+
actions: {
|
|
85
|
+
wrap: 'forbidden', /// TODO allow wrapping objects???
|
|
86
|
+
eject: 'safe',
|
|
87
|
+
},
|
|
88
|
+
description:
|
|
89
|
+
'The MDX components to use for rendering MDX files. Meant to be ejected.',
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
// TODO should probably not even appear here
|
|
93
|
+
'NavbarItem/utils': {
|
|
94
|
+
actions: {
|
|
95
|
+
wrap: 'forbidden',
|
|
96
|
+
eject: 'forbidden',
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -5,28 +5,30 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
import {ThemeConfig} from '@docusaurus/theme-common';
|
|
8
|
+
import type {LoadContext, Plugin, PostCssOptions} from '@docusaurus/types';
|
|
9
|
+
import type {ThemeConfig} from '@docusaurus/theme-common';
|
|
10
10
|
import {getTranslationFiles, translateThemeConfig} from './translations';
|
|
11
11
|
import path from 'path';
|
|
12
|
-
import
|
|
13
|
-
import type {
|
|
12
|
+
import {createRequire} from 'module';
|
|
13
|
+
import type {Plugin as PostCssPlugin} from 'postcss';
|
|
14
14
|
import rtlcss from 'rtlcss';
|
|
15
|
-
import {readDefaultCodeTranslationMessages} from '@docusaurus/
|
|
15
|
+
import {readDefaultCodeTranslationMessages} from '@docusaurus/theme-translations';
|
|
16
|
+
import type {Options} from '@docusaurus/theme-classic';
|
|
17
|
+
import type webpack from 'webpack';
|
|
16
18
|
|
|
17
|
-
const createRequire = Module.createRequire || Module.createRequireFromPath;
|
|
18
19
|
const requireFromDocusaurusCore = createRequire(
|
|
19
20
|
require.resolve('@docusaurus/core/package.json'),
|
|
20
21
|
);
|
|
21
|
-
const ContextReplacementPlugin =
|
|
22
|
-
'webpack/lib/ContextReplacementPlugin'
|
|
23
|
-
);
|
|
22
|
+
const ContextReplacementPlugin: typeof webpack.ContextReplacementPlugin =
|
|
23
|
+
requireFromDocusaurusCore('webpack/lib/ContextReplacementPlugin');
|
|
24
24
|
|
|
25
25
|
// Need to be inlined to prevent dark mode FOUC
|
|
26
|
-
// Make sure
|
|
27
|
-
const
|
|
28
|
-
const noFlashColorMode = ({
|
|
29
|
-
|
|
26
|
+
// Make sure the key is the same as the one in `/theme/hooks/useTheme.js`
|
|
27
|
+
const ThemeStorageKey = 'theme';
|
|
28
|
+
const noFlashColorMode = ({
|
|
29
|
+
defaultMode,
|
|
30
|
+
respectPrefersColorScheme,
|
|
31
|
+
}: ThemeConfig['colorMode']) => `(function() {
|
|
30
32
|
var defaultMode = '${defaultMode}';
|
|
31
33
|
var respectPrefersColorScheme = ${respectPrefersColorScheme};
|
|
32
34
|
|
|
@@ -37,7 +39,7 @@ const noFlashColorMode = ({defaultMode, respectPrefersColorScheme}) => {
|
|
|
37
39
|
function getStoredTheme() {
|
|
38
40
|
var theme = null;
|
|
39
41
|
try {
|
|
40
|
-
theme = localStorage.getItem('${
|
|
42
|
+
theme = localStorage.getItem('${ThemeStorageKey}');
|
|
41
43
|
} catch (err) {}
|
|
42
44
|
return theme;
|
|
43
45
|
}
|
|
@@ -61,59 +63,75 @@ const noFlashColorMode = ({defaultMode, respectPrefersColorScheme}) => {
|
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
})();`;
|
|
64
|
-
};
|
|
65
66
|
|
|
66
|
-
|
|
67
|
+
// Duplicated constant. Unfortunately we can't import it from theme-common, as
|
|
68
|
+
// we need to support older nodejs versions without ESM support
|
|
69
|
+
// TODO: import from theme-common once we only support Node.js with ESM support
|
|
70
|
+
// + move all those announcementBar stuff there too
|
|
71
|
+
export const AnnouncementBarDismissStorageKey =
|
|
72
|
+
'docusaurus.announcement.dismiss';
|
|
73
|
+
const AnnouncementBarDismissDataAttribute =
|
|
74
|
+
'data-announcement-bar-initially-dismissed';
|
|
75
|
+
// We always render the announcement bar html on the server, to prevent layout
|
|
76
|
+
// shifts on React hydration. The theme can use CSS + the data attribute to hide
|
|
77
|
+
// the announcement bar asap (before React hydration)
|
|
78
|
+
const AnnouncementBarInlineJavaScript = `
|
|
79
|
+
(function() {
|
|
80
|
+
function isDismissed() {
|
|
81
|
+
try {
|
|
82
|
+
return localStorage.getItem('${AnnouncementBarDismissStorageKey}') === 'true';
|
|
83
|
+
} catch (err) {}
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
document.documentElement.setAttribute('${AnnouncementBarDismissDataAttribute}', isDismissed());
|
|
87
|
+
})();`;
|
|
88
|
+
|
|
89
|
+
function getInfimaCSSFile(direction: string) {
|
|
67
90
|
return `infima/dist/css/default/default${
|
|
68
91
|
direction === 'rtl' ? '-rtl' : ''
|
|
69
92
|
}.css`;
|
|
70
93
|
}
|
|
71
94
|
|
|
72
|
-
type PluginOptions = {
|
|
73
|
-
customCss?: string;
|
|
74
|
-
};
|
|
75
|
-
|
|
76
95
|
export default function docusaurusThemeClassic(
|
|
77
|
-
context:
|
|
78
|
-
options:
|
|
96
|
+
context: LoadContext,
|
|
97
|
+
options: Options,
|
|
79
98
|
): Plugin<void> {
|
|
80
99
|
const {
|
|
81
100
|
siteConfig: {themeConfig: roughlyTypedThemeConfig},
|
|
82
101
|
i18n: {currentLocale, localeConfigs},
|
|
83
102
|
} = context;
|
|
84
103
|
const themeConfig = (roughlyTypedThemeConfig || {}) as ThemeConfig;
|
|
85
|
-
const {
|
|
104
|
+
const {
|
|
105
|
+
announcementBar,
|
|
106
|
+
colorMode,
|
|
107
|
+
prism: {additionalLanguages = []} = {},
|
|
108
|
+
} = themeConfig;
|
|
86
109
|
const {customCss} = options || {};
|
|
87
110
|
const {direction} = localeConfigs[currentLocale];
|
|
88
111
|
|
|
89
112
|
return {
|
|
90
113
|
name: 'docusaurus-theme-classic',
|
|
91
114
|
|
|
92
|
-
/*
|
|
93
|
-
Does not seem needed: webpack can already hot reload theme files
|
|
94
|
-
getPathsToWatch() {
|
|
95
|
-
return [
|
|
96
|
-
path.join(__dirname, '..', 'lib'),
|
|
97
|
-
path.join(__dirname, '..', 'lib-next'),
|
|
98
|
-
];
|
|
99
|
-
},
|
|
100
|
-
*/
|
|
101
|
-
|
|
102
115
|
getThemePath() {
|
|
103
|
-
return path.join(__dirname, '
|
|
116
|
+
return path.join(__dirname, '../lib-next/theme');
|
|
104
117
|
},
|
|
105
118
|
|
|
106
119
|
getTypeScriptThemePath() {
|
|
107
|
-
return path.resolve(__dirname, '
|
|
120
|
+
return path.resolve(__dirname, '../src/theme');
|
|
108
121
|
},
|
|
109
122
|
|
|
110
123
|
getTranslationFiles: async () => getTranslationFiles({themeConfig}),
|
|
111
|
-
translateThemeConfig,
|
|
112
124
|
|
|
113
|
-
|
|
125
|
+
translateThemeConfig: (params) =>
|
|
126
|
+
translateThemeConfig({
|
|
127
|
+
themeConfig: params.themeConfig as ThemeConfig,
|
|
128
|
+
translationFiles: params.translationFiles,
|
|
129
|
+
}),
|
|
130
|
+
|
|
131
|
+
getDefaultCodeTranslationMessages() {
|
|
114
132
|
return readDefaultCodeTranslationMessages({
|
|
115
|
-
dirPath: path.resolve(__dirname, '..', 'codeTranslations'),
|
|
116
133
|
locale: currentLocale,
|
|
134
|
+
name: 'theme-common',
|
|
117
135
|
});
|
|
118
136
|
},
|
|
119
137
|
|
|
@@ -121,6 +139,7 @@ export default function docusaurusThemeClassic(
|
|
|
121
139
|
const modules = [
|
|
122
140
|
require.resolve(getInfimaCSSFile(direction)),
|
|
123
141
|
path.resolve(__dirname, './prism-include-languages'),
|
|
142
|
+
path.resolve(__dirname, './admonitions.css'),
|
|
124
143
|
];
|
|
125
144
|
|
|
126
145
|
if (customCss) {
|
|
@@ -140,11 +159,10 @@ export default function docusaurusThemeClassic(
|
|
|
140
159
|
.join('|');
|
|
141
160
|
|
|
142
161
|
return {
|
|
143
|
-
ignoreWarnings: [
|
|
144
|
-
// See https://github.com/facebook/docusaurus/pull/3382
|
|
145
|
-
(e) => e.message.includes("Can't resolve '@theme-init/hooks/useDocs"),
|
|
146
|
-
],
|
|
147
162
|
plugins: [
|
|
163
|
+
// This allows better optimization by only bundling those components
|
|
164
|
+
// that the user actually needs, because the modules are dynamically
|
|
165
|
+
// required and can't be known during compile time.
|
|
148
166
|
new ContextReplacementPlugin(
|
|
149
167
|
/prismjs[\\/]components$/,
|
|
150
168
|
new RegExp(`^./(${prismLanguages})$`),
|
|
@@ -153,18 +171,18 @@ export default function docusaurusThemeClassic(
|
|
|
153
171
|
};
|
|
154
172
|
},
|
|
155
173
|
|
|
156
|
-
configurePostCss(postCssOptions:
|
|
174
|
+
configurePostCss(postCssOptions: PostCssOptions) {
|
|
157
175
|
if (direction === 'rtl') {
|
|
158
176
|
const resolvedInfimaFile = require.resolve(getInfimaCSSFile(direction));
|
|
159
177
|
const plugin: PostCssPlugin = {
|
|
160
178
|
postcssPlugin: 'RtlCssPlugin',
|
|
161
|
-
prepare: (result
|
|
179
|
+
prepare: (result) => {
|
|
162
180
|
const file = result.root?.source?.input?.file;
|
|
163
181
|
// Skip Infima as we are using the its RTL version.
|
|
164
182
|
if (file === resolvedInfimaFile) {
|
|
165
183
|
return {};
|
|
166
184
|
}
|
|
167
|
-
return rtlcss(result.root);
|
|
185
|
+
return rtlcss(result.root as unknown as rtlcss.ConfigOptions);
|
|
168
186
|
},
|
|
169
187
|
};
|
|
170
188
|
postCssOptions.plugins.push(plugin);
|
|
@@ -178,10 +196,10 @@ export default function docusaurusThemeClassic(
|
|
|
178
196
|
preBodyTags: [
|
|
179
197
|
{
|
|
180
198
|
tagName: 'script',
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
199
|
+
innerHTML: `
|
|
200
|
+
${noFlashColorMode(colorMode)}
|
|
201
|
+
${announcementBar ? AnnouncementBarInlineJavaScript : ''}
|
|
202
|
+
`,
|
|
185
203
|
},
|
|
186
204
|
],
|
|
187
205
|
};
|
|
@@ -189,21 +207,5 @@ export default function docusaurusThemeClassic(
|
|
|
189
207
|
};
|
|
190
208
|
}
|
|
191
209
|
|
|
192
|
-
|
|
193
|
-
'CodeBlock',
|
|
194
|
-
'DocSidebar',
|
|
195
|
-
'Footer',
|
|
196
|
-
'NotFound',
|
|
197
|
-
'SearchBar',
|
|
198
|
-
'IconArrow',
|
|
199
|
-
'IconEdit',
|
|
200
|
-
'IconMenu',
|
|
201
|
-
'hooks/useTheme',
|
|
202
|
-
'prism-include-languages',
|
|
203
|
-
];
|
|
204
|
-
|
|
205
|
-
export function getSwizzleComponentList(): string[] {
|
|
206
|
-
return swizzleAllowedComponents;
|
|
207
|
-
}
|
|
208
|
-
|
|
210
|
+
export {default as getSwizzleConfig} from './getSwizzleConfig';
|
|
209
211
|
export {validateThemeConfig} from './validateThemeConfig';
|
|
File without changes
|