@docusaurus/theme-classic 2.0.0-beta.15a2b59f9 → 2.0.0-beta.17
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-next/theme/Toggle/styles.module.css → lib/deps.d.ts} +5 -9
- package/lib/getSwizzleConfig.js +125 -0
- package/lib/index.js +36 -41
- package/lib/prism-include-languages.js +9 -5
- package/lib/theme-classic.d.ts +771 -0
- package/lib/translations.js +40 -34
- package/lib/types.d.ts +0 -587
- package/lib/validateThemeConfig.js +242 -250
- 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 +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 +52 -0
- package/{lib/theme/IconEdit → lib-next/theme/BlogPostAuthor}/styles.module.css +4 -3
- package/lib-next/theme/BlogPostAuthors/index.js +44 -0
- package/{src/theme/Toggle → lib-next/theme/BlogPostAuthors}/styles.module.css +11 -7
- package/lib-next/theme/BlogPostItem/index.js +94 -96
- package/lib-next/theme/BlogPostPage/index.js +75 -39
- package/lib-next/theme/BlogPostPaginator/index.js +12 -19
- package/lib-next/theme/BlogSidebar/index.js +11 -13
- package/lib-next/theme/BlogSidebar/styles.module.css +4 -2
- package/lib-next/theme/BlogTagsListPage/index.js +15 -59
- package/lib-next/theme/BlogTagsPostsPage/index.js +33 -41
- package/lib-next/theme/CodeBlock/index.js +64 -154
- package/lib-next/theme/CodeBlock/styles.module.css +17 -9
- package/lib-next/theme/ColorModeToggle/index.js +83 -0
- package/lib-next/theme/ColorModeToggle/styles.module.css +51 -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 +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 +53 -58
- package/lib-next/theme/DocItem/styles.module.css +6 -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/index.js +54 -55
- package/lib-next/theme/DocPage/styles.module.css +9 -3
- package/lib-next/theme/DocPaginator/index.js +15 -24
- package/lib-next/theme/DocSidebar/index.js +65 -286
- package/lib-next/theme/DocSidebar/styles.module.css +5 -22
- package/lib-next/theme/DocSidebarItem/index.js +264 -0
- package/{lib/theme/BlogPostItem → lib-next/theme/DocSidebarItem}/styles.module.css +5 -10
- 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/DocVersionBanner/index.js +32 -15
- package/lib-next/theme/EditThisPage/index.js +6 -1
- package/lib-next/theme/ErrorPageContent.js +35 -0
- package/lib-next/theme/Footer/index.js +95 -40
- package/lib-next/theme/Footer/styles.module.css +2 -1
- package/lib-next/theme/Heading/index.js +39 -48
- 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/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 +3 -2
- package/lib-next/theme/Layout/index.js +5 -7
- package/lib-next/theme/LayoutHead/index.js +27 -32
- package/lib-next/theme/LayoutProviders/index.js +15 -9
- package/lib-next/theme/Logo/index.js +25 -24
- package/lib-next/theme/MDXComponents/index.js +59 -30
- package/{src/theme/hooks → lib-next/theme/MDXComponents}/styles.css +7 -2
- package/lib-next/theme/MDXPage/index.js +10 -12
- package/lib-next/theme/Navbar/index.js +199 -64
- package/lib-next/theme/Navbar/styles.module.css +10 -3
- package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +35 -201
- package/lib-next/theme/NavbarItem/DocNavbarItem.js +11 -8
- package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +73 -0
- package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +34 -20
- 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/theme/hooks/styles.css → lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css} +3 -2
- package/lib-next/theme/NavbarItem/NavbarNavLink.js +70 -0
- package/lib-next/theme/NavbarItem/index.js +26 -14
- package/lib-next/theme/{UserPreferencesContext.js → NavbarItem/utils.js} +3 -3
- package/lib-next/theme/NotFound.js +1 -4
- package/lib-next/theme/PaginatorNavLink/index.js +17 -0
- package/lib-next/theme/SearchBar.js +1 -1
- package/lib-next/theme/SearchMetadata/index.js +34 -0
- package/lib-next/theme/Seo/index.js +11 -7
- package/lib-next/theme/SkipToContent/index.js +3 -5
- 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/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/{hooks/styles.css → TagsListByLetter/styles.module.css} +3 -2
- 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 +7 -10
- package/lib-next/theme/ThemedImage/styles.module.css +2 -2
- package/lib-next/theme/prism-include-languages.js +17 -15
- package/package.json +31 -31
- package/src/admonitions.css +35 -0
- package/src/deps.d.ts +13 -0
- package/src/getSwizzleConfig.ts +123 -0
- package/src/index.ts +39 -61
- 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 +9 -15
- package/src/theme/AnnouncementBar/styles.module.css +23 -32
- 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 +54 -0
- package/{lib/theme/MDXPage → src/theme/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 +84 -90
- package/src/theme/BlogPostPage/index.tsx +77 -38
- package/src/theme/BlogPostPaginator/index.tsx +12 -18
- package/src/theme/BlogSidebar/index.tsx +11 -13
- package/src/theme/BlogSidebar/styles.module.css +4 -2
- package/src/theme/BlogTagsListPage/index.tsx +15 -60
- package/src/theme/BlogTagsPostsPage/index.tsx +32 -40
- package/src/theme/CodeBlock/index.tsx +68 -156
- package/src/theme/CodeBlock/styles.module.css +17 -9
- package/src/theme/ColorModeToggle/index.tsx +92 -0
- package/src/theme/ColorModeToggle/styles.module.css +51 -0
- 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 +56 -58
- package/src/theme/DocItem/styles.module.css +6 -10
- package/src/theme/DocItemFooter/index.tsx +91 -0
- package/{lib/theme/Toggle → src/theme/DocItemFooter}/styles.module.css +9 -8
- package/src/theme/DocPage/index.tsx +53 -49
- package/src/theme/DocPage/styles.module.css +9 -3
- package/src/theme/DocPaginator/index.tsx +15 -23
- package/src/theme/DocSidebar/index.tsx +76 -298
- package/src/theme/DocSidebar/styles.module.css +5 -22
- 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/DocVersionBanner/index.tsx +49 -22
- package/src/theme/EditThisPage/index.tsx +6 -1
- package/src/theme/ErrorPageContent.tsx +41 -0
- package/src/theme/Footer/index.tsx +109 -44
- package/src/theme/Footer/styles.module.css +2 -1
- package/src/theme/Heading/index.tsx +38 -53
- 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/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 +3 -2
- package/src/theme/Layout/index.tsx +5 -6
- package/src/theme/LayoutHead/index.tsx +26 -25
- package/src/theme/LayoutProviders/index.tsx +15 -9
- package/src/theme/Logo/index.tsx +21 -19
- package/src/theme/MDXComponents/index.tsx +70 -32
- package/{lib/theme/IconExternalLink/styles.module.css → src/theme/MDXComponents/styles.css} +7 -4
- package/src/theme/MDXPage/index.tsx +10 -12
- package/src/theme/Navbar/index.tsx +208 -68
- package/src/theme/Navbar/styles.module.css +10 -3
- package/src/theme/NavbarItem/DefaultNavbarItem.tsx +37 -207
- package/src/theme/NavbarItem/DocNavbarItem.tsx +17 -18
- package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +84 -0
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +39 -24
- 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 +41 -18
- package/src/theme/NavbarItem/utils.ts +10 -0
- package/src/theme/NotFound.tsx +1 -3
- package/src/theme/PaginatorNavLink/index.tsx +20 -0
- package/src/theme/SearchBar.tsx +2 -1
- package/src/theme/SearchMetadata/index.tsx +43 -0
- package/src/theme/Seo/index.tsx +7 -4
- package/src/theme/SkipToContent/index.tsx +3 -5
- 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/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 +7 -9
- package/src/theme/ThemedImage/styles.module.css +2 -2
- package/src/theme/prism-include-languages.ts +20 -15
- package/src/theme-classic.d.ts +771 -0
- package/src/translations.ts +74 -54
- package/src/types.d.ts +0 -587
- package/src/validateThemeConfig.ts +381 -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/BlogSidebar/styles.module.css +0 -44
- 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/CodeBlock/styles.module.css +0 -68
- package/lib/theme/DocItem/index.js +0 -129
- package/lib/theme/DocPage/index.js +0 -173
- package/lib/theme/DocPage/styles.module.css +0 -80
- package/lib/theme/DocPaginator/index.js +0 -63
- package/lib/theme/DocSidebar/index.js +0 -309
- package/lib/theme/DocSidebar/styles.module.css +0 -124
- package/lib/theme/DocVersionBanner/index.js +0 -128
- package/lib/theme/EditThisPage/index.js +0 -31
- package/lib/theme/Footer/index.js +0 -115
- package/lib/theme/Footer/styles.module.css +0 -15
- package/lib/theme/Heading/index.js +0 -76
- package/lib/theme/Heading/styles.css +0 -23
- 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/Navbar/styles.module.css +0 -20
- 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 -71
- 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/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 -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/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-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/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/Toggle/index.js +0 -80
- package/lib-next/theme/Toggle/styles.css +0 -103
- package/lib-next/theme/UserPreferencesProvider/index.js +0 -24
- 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/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/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/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 -240
- package/update-code-translations.test.js +0 -33
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.17",
|
|
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,50 +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-common": "2.0.0-beta.
|
|
34
|
-
"@docusaurus/utils-validation": "2.0.0-beta.
|
|
35
|
-
"@mdx-js/
|
|
36
|
-
"@mdx-js/react": "^1.6.21",
|
|
37
|
-
"chalk": "^4.1.1",
|
|
24
|
+
"@docusaurus/core": "2.0.0-beta.17",
|
|
25
|
+
"@docusaurus/plugin-content-blog": "2.0.0-beta.17",
|
|
26
|
+
"@docusaurus/plugin-content-docs": "2.0.0-beta.17",
|
|
27
|
+
"@docusaurus/plugin-content-pages": "2.0.0-beta.17",
|
|
28
|
+
"@docusaurus/theme-common": "2.0.0-beta.17",
|
|
29
|
+
"@docusaurus/theme-translations": "2.0.0-beta.17",
|
|
30
|
+
"@docusaurus/utils": "2.0.0-beta.17",
|
|
31
|
+
"@docusaurus/utils-common": "2.0.0-beta.17",
|
|
32
|
+
"@docusaurus/utils-validation": "2.0.0-beta.17",
|
|
33
|
+
"@mdx-js/react": "^1.6.22",
|
|
38
34
|
"clsx": "^1.1.1",
|
|
39
35
|
"copy-text-to-clipboard": "^3.0.1",
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"lodash": "^4.17.20",
|
|
44
|
-
"parse-numeric-range": "^1.2.0",
|
|
45
|
-
"postcss": "^8.2.15",
|
|
36
|
+
"infima": "0.2.0-alpha.37",
|
|
37
|
+
"lodash": "^4.17.21",
|
|
38
|
+
"postcss": "^8.4.7",
|
|
46
39
|
"prism-react-renderer": "^1.2.1",
|
|
47
|
-
"prismjs": "^1.
|
|
48
|
-
"prop-types": "^15.7.2",
|
|
40
|
+
"prismjs": "^1.27.0",
|
|
49
41
|
"react-router-dom": "^5.2.0",
|
|
50
|
-
"rtlcss": "^3.
|
|
42
|
+
"rtlcss": "^3.3.0"
|
|
51
43
|
},
|
|
52
44
|
"devDependencies": {
|
|
53
|
-
"@docusaurus/module-type-aliases": "2.0.0-beta.
|
|
45
|
+
"@docusaurus/module-type-aliases": "2.0.0-beta.17",
|
|
46
|
+
"@docusaurus/types": "2.0.0-beta.17",
|
|
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"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"react": "^16.8.4 || ^17.0.0",
|
|
57
57
|
"react-dom": "^16.8.4 || ^17.0.0"
|
|
58
58
|
},
|
|
59
59
|
"engines": {
|
|
60
|
-
"node": ">=
|
|
60
|
+
"node": ">=14"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "0032c0b0480083227af2e1b4da2d3ee6ce992403"
|
|
63
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,123 @@
|
|
|
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
|
+
/* eslint sort-keys: "error" */
|
|
11
|
+
|
|
12
|
+
export default function getSwizzleConfig(): SwizzleConfig {
|
|
13
|
+
return {
|
|
14
|
+
components: {
|
|
15
|
+
CodeBlock: {
|
|
16
|
+
actions: {
|
|
17
|
+
eject: 'safe',
|
|
18
|
+
wrap: 'safe',
|
|
19
|
+
},
|
|
20
|
+
description:
|
|
21
|
+
'The component used to render multi-line code blocks, generally used in Markdown files.',
|
|
22
|
+
},
|
|
23
|
+
ColorModeToggle: {
|
|
24
|
+
actions: {
|
|
25
|
+
eject: 'safe',
|
|
26
|
+
wrap: 'safe',
|
|
27
|
+
},
|
|
28
|
+
description:
|
|
29
|
+
'The color mode toggle to switch between light and dark mode.',
|
|
30
|
+
},
|
|
31
|
+
DocSidebar: {
|
|
32
|
+
actions: {
|
|
33
|
+
eject: 'unsafe', // too much technical code in sidebar, not very safe atm
|
|
34
|
+
wrap: 'safe',
|
|
35
|
+
},
|
|
36
|
+
description: 'The sidebar component on docs pages',
|
|
37
|
+
},
|
|
38
|
+
Footer: {
|
|
39
|
+
actions: {
|
|
40
|
+
eject: 'unsafe', // TODO split footer into smaller parts
|
|
41
|
+
wrap: 'safe',
|
|
42
|
+
},
|
|
43
|
+
description: "The footer component of you site's layout",
|
|
44
|
+
},
|
|
45
|
+
IconArrow: {
|
|
46
|
+
actions: {
|
|
47
|
+
eject: 'safe',
|
|
48
|
+
wrap: 'safe',
|
|
49
|
+
},
|
|
50
|
+
description: 'The arrow icon component',
|
|
51
|
+
},
|
|
52
|
+
IconDarkMode: {
|
|
53
|
+
actions: {
|
|
54
|
+
eject: 'safe',
|
|
55
|
+
wrap: 'safe',
|
|
56
|
+
},
|
|
57
|
+
description: 'The dark mode icon component.',
|
|
58
|
+
},
|
|
59
|
+
IconEdit: {
|
|
60
|
+
actions: {
|
|
61
|
+
eject: 'safe',
|
|
62
|
+
wrap: 'safe',
|
|
63
|
+
},
|
|
64
|
+
description: 'The edit icon component',
|
|
65
|
+
},
|
|
66
|
+
IconLightMode: {
|
|
67
|
+
actions: {
|
|
68
|
+
eject: 'safe',
|
|
69
|
+
wrap: 'safe',
|
|
70
|
+
},
|
|
71
|
+
description: 'The light mode icon component.',
|
|
72
|
+
},
|
|
73
|
+
IconMenu: {
|
|
74
|
+
actions: {
|
|
75
|
+
eject: 'safe',
|
|
76
|
+
wrap: 'safe',
|
|
77
|
+
},
|
|
78
|
+
description: 'The menu icon component',
|
|
79
|
+
},
|
|
80
|
+
MDXComponents: {
|
|
81
|
+
actions: {
|
|
82
|
+
eject: 'safe',
|
|
83
|
+
wrap: 'forbidden', /// TODO allow wrapping objects???
|
|
84
|
+
},
|
|
85
|
+
description:
|
|
86
|
+
'The MDX components to use for rendering MDX files. Meant to be ejected.',
|
|
87
|
+
},
|
|
88
|
+
// TODO should probably not even appear here
|
|
89
|
+
'NavbarItem/utils': {
|
|
90
|
+
actions: {
|
|
91
|
+
eject: 'forbidden',
|
|
92
|
+
wrap: 'forbidden',
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
NotFound: {
|
|
96
|
+
actions: {
|
|
97
|
+
eject: 'safe',
|
|
98
|
+
wrap: 'safe',
|
|
99
|
+
},
|
|
100
|
+
description:
|
|
101
|
+
'The global 404 page of your site, meant to be ejected and customized',
|
|
102
|
+
},
|
|
103
|
+
SearchBar: {
|
|
104
|
+
actions: {
|
|
105
|
+
eject: 'safe',
|
|
106
|
+
wrap: 'safe',
|
|
107
|
+
},
|
|
108
|
+
// TODO how to describe this one properly?
|
|
109
|
+
// By default it's an empty placeholder for the user to fill
|
|
110
|
+
description:
|
|
111
|
+
'The search bar component of your site, appearing in the navbar.',
|
|
112
|
+
},
|
|
113
|
+
'prism-include-languages': {
|
|
114
|
+
actions: {
|
|
115
|
+
eject: 'safe',
|
|
116
|
+
wrap: 'forbidden', // not a component!
|
|
117
|
+
},
|
|
118
|
+
description:
|
|
119
|
+
'The Prism languages to include for code block syntax highlighting. Meant to be ejected.',
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
}
|
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 {
|
|
8
|
+
import type {LoadContext, Plugin, PostCssOptions} from '@docusaurus/types';
|
|
9
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
|
|
26
|
+
// Make sure the key is the same as the one in `/theme/hooks/useTheme.js`
|
|
27
27
|
const ThemeStorageKey = 'theme';
|
|
28
|
-
const noFlashColorMode = ({
|
|
29
|
-
|
|
28
|
+
const noFlashColorMode = ({
|
|
29
|
+
defaultMode,
|
|
30
|
+
respectPrefersColorScheme,
|
|
31
|
+
}: ThemeConfig['colorMode']) => `(function() {
|
|
30
32
|
var defaultMode = '${defaultMode}';
|
|
31
33
|
var respectPrefersColorScheme = ${respectPrefersColorScheme};
|
|
32
34
|
|
|
@@ -61,17 +63,18 @@ const noFlashColorMode = ({defaultMode, respectPrefersColorScheme}) => {
|
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
})();`;
|
|
64
|
-
};
|
|
65
66
|
|
|
66
|
-
// Duplicated constant. Unfortunately we can't import it from theme-common, as
|
|
67
|
+
// Duplicated constant. Unfortunately we can't import it from theme-common, as
|
|
68
|
+
// we need to support older nodejs versions without ESM support
|
|
67
69
|
// TODO: import from theme-common once we only support Node.js with ESM support
|
|
68
70
|
// + move all those announcementBar stuff there too
|
|
69
71
|
export const AnnouncementBarDismissStorageKey =
|
|
70
72
|
'docusaurus.announcement.dismiss';
|
|
71
73
|
const AnnouncementBarDismissDataAttribute =
|
|
72
74
|
'data-announcement-bar-initially-dismissed';
|
|
73
|
-
// We always render the announcement bar html on the server, to prevent layout
|
|
74
|
-
// The theme can use CSS + the data attribute to hide
|
|
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)
|
|
75
78
|
const AnnouncementBarInlineJavaScript = `
|
|
76
79
|
(function() {
|
|
77
80
|
function isDismissed() {
|
|
@@ -83,19 +86,15 @@ const AnnouncementBarInlineJavaScript = `
|
|
|
83
86
|
document.documentElement.setAttribute('${AnnouncementBarDismissDataAttribute}', isDismissed());
|
|
84
87
|
})();`;
|
|
85
88
|
|
|
86
|
-
function getInfimaCSSFile(direction) {
|
|
89
|
+
function getInfimaCSSFile(direction: string) {
|
|
87
90
|
return `infima/dist/css/default/default${
|
|
88
91
|
direction === 'rtl' ? '-rtl' : ''
|
|
89
92
|
}.css`;
|
|
90
93
|
}
|
|
91
94
|
|
|
92
|
-
type PluginOptions = {
|
|
93
|
-
customCss?: string;
|
|
94
|
-
};
|
|
95
|
-
|
|
96
95
|
export default function docusaurusThemeClassic(
|
|
97
|
-
context:
|
|
98
|
-
options:
|
|
96
|
+
context: LoadContext,
|
|
97
|
+
options: Options,
|
|
99
98
|
): Plugin<void> {
|
|
100
99
|
const {
|
|
101
100
|
siteConfig: {themeConfig: roughlyTypedThemeConfig},
|
|
@@ -113,31 +112,26 @@ export default function docusaurusThemeClassic(
|
|
|
113
112
|
return {
|
|
114
113
|
name: 'docusaurus-theme-classic',
|
|
115
114
|
|
|
116
|
-
/*
|
|
117
|
-
Does not seem needed: webpack can already hot reload theme files
|
|
118
|
-
getPathsToWatch() {
|
|
119
|
-
return [
|
|
120
|
-
path.join(__dirname, '..', 'lib'),
|
|
121
|
-
path.join(__dirname, '..', 'lib-next'),
|
|
122
|
-
];
|
|
123
|
-
},
|
|
124
|
-
*/
|
|
125
|
-
|
|
126
115
|
getThemePath() {
|
|
127
|
-
return path.join(__dirname, '
|
|
116
|
+
return path.join(__dirname, '../lib-next/theme');
|
|
128
117
|
},
|
|
129
118
|
|
|
130
119
|
getTypeScriptThemePath() {
|
|
131
|
-
return path.resolve(__dirname, '
|
|
120
|
+
return path.resolve(__dirname, '../src/theme');
|
|
132
121
|
},
|
|
133
122
|
|
|
134
123
|
getTranslationFiles: async () => getTranslationFiles({themeConfig}),
|
|
135
|
-
translateThemeConfig,
|
|
136
124
|
|
|
137
|
-
|
|
125
|
+
translateThemeConfig: (params) =>
|
|
126
|
+
translateThemeConfig({
|
|
127
|
+
themeConfig: params.themeConfig as ThemeConfig,
|
|
128
|
+
translationFiles: params.translationFiles,
|
|
129
|
+
}),
|
|
130
|
+
|
|
131
|
+
getDefaultCodeTranslationMessages() {
|
|
138
132
|
return readDefaultCodeTranslationMessages({
|
|
139
|
-
dirPath: path.resolve(__dirname, '..', 'codeTranslations'),
|
|
140
133
|
locale: currentLocale,
|
|
134
|
+
name: 'theme-common',
|
|
141
135
|
});
|
|
142
136
|
},
|
|
143
137
|
|
|
@@ -145,6 +139,7 @@ export default function docusaurusThemeClassic(
|
|
|
145
139
|
const modules = [
|
|
146
140
|
require.resolve(getInfimaCSSFile(direction)),
|
|
147
141
|
path.resolve(__dirname, './prism-include-languages'),
|
|
142
|
+
path.resolve(__dirname, './admonitions.css'),
|
|
148
143
|
];
|
|
149
144
|
|
|
150
145
|
if (customCss) {
|
|
@@ -164,11 +159,10 @@ export default function docusaurusThemeClassic(
|
|
|
164
159
|
.join('|');
|
|
165
160
|
|
|
166
161
|
return {
|
|
167
|
-
ignoreWarnings: [
|
|
168
|
-
// See https://github.com/facebook/docusaurus/pull/3382
|
|
169
|
-
(e) => e.message.includes("Can't resolve '@theme-init/hooks/useDocs"),
|
|
170
|
-
],
|
|
171
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.
|
|
172
166
|
new ContextReplacementPlugin(
|
|
173
167
|
/prismjs[\\/]components$/,
|
|
174
168
|
new RegExp(`^./(${prismLanguages})$`),
|
|
@@ -177,18 +171,18 @@ export default function docusaurusThemeClassic(
|
|
|
177
171
|
};
|
|
178
172
|
},
|
|
179
173
|
|
|
180
|
-
configurePostCss(postCssOptions:
|
|
174
|
+
configurePostCss(postCssOptions: PostCssOptions) {
|
|
181
175
|
if (direction === 'rtl') {
|
|
182
176
|
const resolvedInfimaFile = require.resolve(getInfimaCSSFile(direction));
|
|
183
177
|
const plugin: PostCssPlugin = {
|
|
184
178
|
postcssPlugin: 'RtlCssPlugin',
|
|
185
|
-
prepare: (result
|
|
179
|
+
prepare: (result) => {
|
|
186
180
|
const file = result.root?.source?.input?.file;
|
|
187
181
|
// Skip Infima as we are using the its RTL version.
|
|
188
182
|
if (file === resolvedInfimaFile) {
|
|
189
183
|
return {};
|
|
190
184
|
}
|
|
191
|
-
return rtlcss(result.root);
|
|
185
|
+
return rtlcss(result.root as unknown as rtlcss.ConfigOptions);
|
|
192
186
|
},
|
|
193
187
|
};
|
|
194
188
|
postCssOptions.plugins.push(plugin);
|
|
@@ -213,21 +207,5 @@ ${announcementBar ? AnnouncementBarInlineJavaScript : ''}
|
|
|
213
207
|
};
|
|
214
208
|
}
|
|
215
209
|
|
|
216
|
-
|
|
217
|
-
'CodeBlock',
|
|
218
|
-
'DocSidebar',
|
|
219
|
-
'Footer',
|
|
220
|
-
'NotFound',
|
|
221
|
-
'SearchBar',
|
|
222
|
-
'IconArrow',
|
|
223
|
-
'IconEdit',
|
|
224
|
-
'IconMenu',
|
|
225
|
-
'hooks/useTheme',
|
|
226
|
-
'prism-include-languages',
|
|
227
|
-
];
|
|
228
|
-
|
|
229
|
-
export function getSwizzleComponentList(): string[] {
|
|
230
|
-
return swizzleAllowedComponents;
|
|
231
|
-
}
|
|
232
|
-
|
|
210
|
+
export {default as getSwizzleConfig} from './getSwizzleConfig';
|
|
233
211
|
export {validateThemeConfig} from './validateThemeConfig';
|
|
File without changes
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import type {Props} from '@theme/Admonition';
|
|
11
|
+
|
|
12
|
+
const icons = {
|
|
13
|
+
note: (
|
|
14
|
+
<svg
|
|
15
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
16
|
+
width="14"
|
|
17
|
+
height="16"
|
|
18
|
+
viewBox="0 0 14 16">
|
|
19
|
+
<path
|
|
20
|
+
fillRule="evenodd"
|
|
21
|
+
d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"
|
|
22
|
+
/>
|
|
23
|
+
</svg>
|
|
24
|
+
),
|
|
25
|
+
tip: (
|
|
26
|
+
<svg
|
|
27
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
28
|
+
width="12"
|
|
29
|
+
height="16"
|
|
30
|
+
viewBox="0 0 12 16">
|
|
31
|
+
<path
|
|
32
|
+
fillRule="evenodd"
|
|
33
|
+
d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"
|
|
34
|
+
/>
|
|
35
|
+
</svg>
|
|
36
|
+
),
|
|
37
|
+
danger: (
|
|
38
|
+
<svg
|
|
39
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
40
|
+
width="12"
|
|
41
|
+
height="16"
|
|
42
|
+
viewBox="0 0 12 16">
|
|
43
|
+
<path
|
|
44
|
+
fillRule="evenodd"
|
|
45
|
+
d="M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"
|
|
46
|
+
/>
|
|
47
|
+
</svg>
|
|
48
|
+
),
|
|
49
|
+
info: (
|
|
50
|
+
<svg
|
|
51
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
52
|
+
width="14"
|
|
53
|
+
height="16"
|
|
54
|
+
viewBox="0 0 14 16">
|
|
55
|
+
<path
|
|
56
|
+
fillRule="evenodd"
|
|
57
|
+
d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"
|
|
58
|
+
/>
|
|
59
|
+
</svg>
|
|
60
|
+
),
|
|
61
|
+
caution: (
|
|
62
|
+
<svg
|
|
63
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
64
|
+
width="16"
|
|
65
|
+
height="16"
|
|
66
|
+
viewBox="0 0 16 16">
|
|
67
|
+
<path
|
|
68
|
+
fillRule="evenodd"
|
|
69
|
+
d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"
|
|
70
|
+
/>
|
|
71
|
+
</svg>
|
|
72
|
+
),
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const ifmClassNames = {
|
|
76
|
+
note: 'secondary',
|
|
77
|
+
tip: 'success',
|
|
78
|
+
danger: 'danger',
|
|
79
|
+
info: 'info',
|
|
80
|
+
caution: 'warning',
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export default function Admonition({
|
|
84
|
+
children,
|
|
85
|
+
type,
|
|
86
|
+
title = type,
|
|
87
|
+
icon = icons[type],
|
|
88
|
+
}: Props): JSX.Element {
|
|
89
|
+
return (
|
|
90
|
+
<div
|
|
91
|
+
className={clsx(
|
|
92
|
+
'admonition',
|
|
93
|
+
`admonition-${type}`,
|
|
94
|
+
'alert',
|
|
95
|
+
`alert--${ifmClassNames[type]}`,
|
|
96
|
+
)}>
|
|
97
|
+
<div className="admonition-heading">
|
|
98
|
+
<h5>
|
|
99
|
+
<span className="admonition-icon">{icon}</span>
|
|
100
|
+
{title}
|
|
101
|
+
</h5>
|
|
102
|
+
</div>
|
|
103
|
+
<div className="admonition-content">{children}</div>
|
|
104
|
+
</div>
|
|
105
|
+
);
|
|
106
|
+
}
|
|
@@ -9,32 +9,28 @@ import React from 'react';
|
|
|
9
9
|
import clsx from 'clsx';
|
|
10
10
|
import {useThemeConfig, useAnnouncementBar} from '@docusaurus/theme-common';
|
|
11
11
|
import {translate} from '@docusaurus/Translate';
|
|
12
|
+
import IconClose from '@theme/IconClose';
|
|
12
13
|
|
|
13
14
|
import styles from './styles.module.css';
|
|
14
15
|
|
|
15
|
-
function AnnouncementBar(): JSX.Element | null {
|
|
16
|
-
const {
|
|
16
|
+
export default function AnnouncementBar(): JSX.Element | null {
|
|
17
|
+
const {isActive, close} = useAnnouncementBar();
|
|
17
18
|
const {announcementBar} = useThemeConfig();
|
|
18
19
|
|
|
19
|
-
if (!
|
|
20
|
+
if (!isActive) {
|
|
20
21
|
return null;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
const {content, backgroundColor, textColor, isCloseable} = announcementBar
|
|
24
|
-
|
|
25
|
-
if (!content || (isCloseable && isClosed)) {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
24
|
+
const {content, backgroundColor, textColor, isCloseable} = announcementBar!;
|
|
28
25
|
|
|
29
26
|
return (
|
|
30
27
|
<div
|
|
31
28
|
className={styles.announcementBar}
|
|
32
29
|
style={{backgroundColor, color: textColor}}
|
|
33
30
|
role="banner">
|
|
31
|
+
{isCloseable && <div className={styles.announcementBarPlaceholder} />}
|
|
34
32
|
<div
|
|
35
|
-
className={
|
|
36
|
-
[styles.announcementBarCloseable]: isCloseable,
|
|
37
|
-
})}
|
|
33
|
+
className={styles.announcementBarContent}
|
|
38
34
|
// Developer provided the HTML, so assume it's safe.
|
|
39
35
|
// eslint-disable-next-line react/no-danger
|
|
40
36
|
dangerouslySetInnerHTML={{__html: content}}
|
|
@@ -42,18 +38,16 @@ function AnnouncementBar(): JSX.Element | null {
|
|
|
42
38
|
{isCloseable ? (
|
|
43
39
|
<button
|
|
44
40
|
type="button"
|
|
45
|
-
className={clsx(
|
|
41
|
+
className={clsx('clean-btn close', styles.announcementBarClose)}
|
|
46
42
|
onClick={close}
|
|
47
43
|
aria-label={translate({
|
|
48
44
|
id: 'theme.AnnouncementBar.closeButtonAriaLabel',
|
|
49
45
|
message: 'Close',
|
|
50
46
|
description: 'The ARIA label for close button of announcement bar',
|
|
51
47
|
})}>
|
|
52
|
-
<
|
|
48
|
+
<IconClose width={14} height={14} strokeWidth={3.1} />
|
|
53
49
|
</button>
|
|
54
50
|
) : null}
|
|
55
51
|
</div>
|
|
56
52
|
);
|
|
57
53
|
}
|
|
58
|
-
|
|
59
|
-
export default AnnouncementBar;
|