@docusaurus/theme-classic 0.0.0-4276 → 0.0.0-4282

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.
Files changed (152) hide show
  1. package/lib/theme-classic.d.ts +3 -13
  2. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +1 -2
  3. package/package.json +12 -12
  4. package/src/index.ts +2 -5
  5. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +1 -2
  6. package/src/theme-classic.d.ts +3 -13
  7. package/babel.config.js +0 -35
  8. package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  9. package/lib/__tests__/translations.test.js +0 -112
  10. package/lib/__tests__/validateThemeConfig.test.js +0 -607
  11. package/lib/theme/AnnouncementBar/index.js +0 -68
  12. package/lib/theme/AnnouncementBar/styles.module.css +0 -63
  13. package/lib/theme/BackToTopButton/index.js +0 -140
  14. package/lib/theme/BackToTopButton/styles.module.css +0 -42
  15. package/lib/theme/BlogArchivePage/index.js +0 -89
  16. package/lib/theme/BlogLayout/index.js +0 -51
  17. package/lib/theme/BlogListPage/index.js +0 -60
  18. package/lib/theme/BlogListPaginator/index.js +0 -63
  19. package/lib/theme/BlogPostAuthor/index.js +0 -51
  20. package/lib/theme/BlogPostAuthor/styles.module.css +0 -12
  21. package/lib/theme/BlogPostAuthors/index.js +0 -47
  22. package/lib/theme/BlogPostAuthors/styles.module.css +0 -11
  23. package/lib/theme/BlogPostItem/index.js +0 -152
  24. package/lib/theme/BlogPostItem/styles.module.css +0 -18
  25. package/lib/theme/BlogPostPage/index.js +0 -82
  26. package/lib/theme/BlogPostPaginator/index.js +0 -64
  27. package/lib/theme/BlogSidebar/index.js +0 -49
  28. package/lib/theme/BlogSidebar/styles.module.css +0 -44
  29. package/lib/theme/BlogTagsListPage/index.js +0 -40
  30. package/lib/theme/BlogTagsPostsPage/index.js +0 -86
  31. package/lib/theme/CodeBlock/index.js +0 -133
  32. package/lib/theme/CodeBlock/styles.module.css +0 -65
  33. package/lib/theme/Details/index.js +0 -30
  34. package/lib/theme/Details/styles.module.css +0 -13
  35. package/lib/theme/DocCard/index.js +0 -84
  36. package/lib/theme/DocCard/styles.module.css +0 -43
  37. package/lib/theme/DocCardList/index.js +0 -28
  38. package/lib/theme/DocCategoryGeneratedIndexPage/index.js +0 -57
  39. package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +0 -18
  40. package/lib/theme/DocItem/index.js +0 -112
  41. package/lib/theme/DocItem/styles.module.css +0 -22
  42. package/lib/theme/DocItemFooter/index.js +0 -79
  43. package/lib/theme/DocItemFooter/styles.module.css +0 -18
  44. package/lib/theme/DocPage/index.js +0 -154
  45. package/lib/theme/DocPage/styles.module.css +0 -85
  46. package/lib/theme/DocPaginator/index.js +0 -62
  47. package/lib/theme/DocSidebar/index.js +0 -134
  48. package/lib/theme/DocSidebar/styles.module.css +0 -106
  49. package/lib/theme/DocSidebarItem/index.js +0 -209
  50. package/lib/theme/DocSidebarItem/styles.module.css +0 -19
  51. package/lib/theme/DocTagDocListPage/index.js +0 -89
  52. package/lib/theme/DocTagsListPage/index.js +0 -44
  53. package/lib/theme/DocVersionBadge/index.js +0 -34
  54. package/lib/theme/DocVersionBanner/index.js +0 -130
  55. package/lib/theme/EditThisPage/index.js +0 -33
  56. package/lib/theme/ErrorPageContent.js +0 -43
  57. package/lib/theme/Footer/index.js +0 -119
  58. package/lib/theme/Footer/styles.module.css +0 -15
  59. package/lib/theme/Heading/index.js +0 -71
  60. package/lib/theme/Heading/styles.css +0 -22
  61. package/lib/theme/Heading/styles.module.css +0 -19
  62. package/lib/theme/IconArrow/index.js +0 -28
  63. package/lib/theme/IconClose/index.js +0 -31
  64. package/lib/theme/IconEdit/index.js +0 -34
  65. package/lib/theme/IconEdit/styles.module.css +0 -11
  66. package/lib/theme/IconExternalLink/index.js +0 -30
  67. package/lib/theme/IconExternalLink/styles.module.css +0 -12
  68. package/lib/theme/IconLanguage/index.js +0 -29
  69. package/lib/theme/IconMenu/index.js +0 -30
  70. package/lib/theme/LastUpdated/index.js +0 -63
  71. package/lib/theme/Layout/index.js +0 -68
  72. package/lib/theme/Layout/styles.css +0 -27
  73. package/lib/theme/LayoutHead/index.js +0 -149
  74. package/lib/theme/LayoutProviders/index.js +0 -40
  75. package/lib/theme/Logo/index.js +0 -62
  76. package/lib/theme/MDXComponents/index.js +0 -106
  77. package/lib/theme/MDXComponents/styles.css +0 -11
  78. package/lib/theme/MDXPage/index.js +0 -67
  79. package/lib/theme/MDXPage/styles.module.css +0 -10
  80. package/lib/theme/Navbar/index.js +0 -267
  81. package/lib/theme/Navbar/styles.module.css +0 -27
  82. package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -113
  83. package/lib/theme/NavbarItem/DocNavbarItem.js +0 -62
  84. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -83
  85. package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
  86. package/lib/theme/NavbarItem/DropdownNavbarItem.js +0 -155
  87. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +0 -68
  88. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +0 -11
  89. package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
  90. package/lib/theme/NavbarItem/index.js +0 -74
  91. package/lib/theme/NotFound.js +0 -57
  92. package/lib/theme/SearchBar.js +0 -15
  93. package/lib/theme/SearchMetadata/index.js +0 -33
  94. package/lib/theme/Seo/index.js +0 -52
  95. package/lib/theme/SkipToContent/index.js +0 -71
  96. package/lib/theme/SkipToContent/styles.module.css +0 -14
  97. package/lib/theme/TOC/index.js +0 -39
  98. package/lib/theme/TOC/styles.module.css +0 -23
  99. package/lib/theme/TOCCollapsible/index.js +0 -53
  100. package/lib/theme/TOCCollapsible/styles.module.css +0 -50
  101. package/lib/theme/TOCInline/index.js +0 -33
  102. package/lib/theme/TOCInline/styles.module.css +0 -12
  103. package/lib/theme/TOCItems/index.js +0 -78
  104. package/lib/theme/TabItem/index.js +0 -32
  105. package/lib/theme/Tabs/__tests__/index.test.js +0 -123
  106. package/lib/theme/Tabs/index.js +0 -173
  107. package/lib/theme/Tabs/styles.module.css +0 -10
  108. package/lib/theme/Tag/index.js +0 -40
  109. package/lib/theme/Tag/styles.module.css +0 -70
  110. package/lib/theme/TagsListByLetter/index.js +0 -48
  111. package/lib/theme/TagsListByLetter/styles.module.css +0 -11
  112. package/lib/theme/TagsListInline/index.js +0 -44
  113. package/lib/theme/TagsListInline/styles.module.css +0 -15
  114. package/lib/theme/ThemeContext.js +0 -21
  115. package/lib/theme/ThemeProvider/index.js +0 -43
  116. package/lib/theme/ThemedImage/index.js +0 -47
  117. package/lib/theme/ThemedImage/styles.module.css +0 -18
  118. package/lib/theme/Toggle/index.js +0 -91
  119. package/lib/theme/Toggle/styles.module.css +0 -105
  120. package/lib/theme/UserPreferencesContext.js +0 -18
  121. package/lib/theme/UserPreferencesProvider/index.js +0 -41
  122. package/lib/theme/hooks/styles.css +0 -10
  123. package/lib/theme/hooks/useDocs.js +0 -18
  124. package/lib/theme/hooks/useHideableNavbar.js +0 -74
  125. package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
  126. package/lib/theme/hooks/useLocationHash.js +0 -28
  127. package/lib/theme/hooks/useLockBodyScroll.js +0 -26
  128. package/lib/theme/hooks/usePrismTheme.js +0 -36
  129. package/lib/theme/hooks/useTabGroupChoice.js +0 -51
  130. package/lib/theme/hooks/useTheme.js +0 -97
  131. package/lib/theme/hooks/useThemeContext.js +0 -31
  132. package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
  133. package/lib/theme/hooks/useWindowSize.js +0 -68
  134. package/lib/theme/prism-include-languages.js +0 -40
  135. package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  136. package/lib-next/__tests__/translations.test.js +0 -128
  137. package/lib-next/__tests__/validateThemeConfig.test.js +0 -607
  138. package/lib-next/admonitions.css +0 -35
  139. package/lib-next/deps.d.ts +0 -13
  140. package/lib-next/index.js +0 -227
  141. package/lib-next/prism-include-languages.js +0 -9
  142. package/lib-next/theme/hooks/useLocationHash.js +0 -20
  143. package/lib-next/theme-classic.d.ts +0 -806
  144. package/lib-next/translations.js +0 -141
  145. package/lib-next/types.d.ts +0 -11
  146. package/lib-next/validateThemeConfig.js +0 -344
  147. package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
  148. package/src/__tests__/translations.test.ts +0 -116
  149. package/src/__tests__/validateThemeConfig.test.js +0 -607
  150. package/src/theme/Tabs/__tests__/index.test.tsx +0 -129
  151. package/src/theme/hooks/useLocationHash.ts +0 -25
  152. package/tsconfig.json +0 -11
package/lib-next/index.js DELETED
@@ -1,227 +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 {getTranslationFiles, translateThemeConfig} from './translations';
8
- import path from 'path';
9
- import {createRequire} from 'module';
10
- import rtlcss from 'rtlcss';
11
- import {readDefaultCodeTranslationMessages} from '@docusaurus/theme-translations';
12
- const requireFromDocusaurusCore = createRequire(
13
- require.resolve('@docusaurus/core/package.json'),
14
- );
15
- const ContextReplacementPlugin = requireFromDocusaurusCore(
16
- 'webpack/lib/ContextReplacementPlugin',
17
- ); // Need to be inlined to prevent dark mode FOUC
18
- // Make sure that the 'storageKey' is the same as the one in `/theme/hooks/useTheme.js`
19
-
20
- const ThemeStorageKey = 'theme';
21
-
22
- const noFlashColorMode = ({
23
- defaultMode,
24
- respectPrefersColorScheme,
25
- }) => `(function() {
26
- var defaultMode = '${defaultMode}';
27
- var respectPrefersColorScheme = ${respectPrefersColorScheme};
28
-
29
- function setDataThemeAttribute(theme) {
30
- document.documentElement.setAttribute('data-theme', theme);
31
- }
32
-
33
- function getStoredTheme() {
34
- var theme = null;
35
- try {
36
- theme = localStorage.getItem('${ThemeStorageKey}');
37
- } catch (err) {}
38
- return theme;
39
- }
40
-
41
- var storedTheme = getStoredTheme();
42
- if (storedTheme !== null) {
43
- setDataThemeAttribute(storedTheme);
44
- } else {
45
- if (
46
- respectPrefersColorScheme &&
47
- window.matchMedia('(prefers-color-scheme: dark)').matches
48
- ) {
49
- setDataThemeAttribute('dark');
50
- } else if (
51
- respectPrefersColorScheme &&
52
- window.matchMedia('(prefers-color-scheme: light)').matches
53
- ) {
54
- setDataThemeAttribute('light');
55
- } else {
56
- setDataThemeAttribute(defaultMode === 'dark' ? 'dark' : 'light');
57
- }
58
- }
59
- })();`; // Duplicated constant. Unfortunately we can't import it from theme-common, as we need to support older nodejs versions without ESM support
60
- // TODO: import from theme-common once we only support Node.js with ESM support
61
- // + move all those announcementBar stuff there too
62
-
63
- export const AnnouncementBarDismissStorageKey =
64
- 'docusaurus.announcement.dismiss';
65
- const AnnouncementBarDismissDataAttribute =
66
- 'data-announcement-bar-initially-dismissed'; // We always render the announcement bar html on the server, to prevent layout shifts on React hydration
67
- // The theme can use CSS + the data attribute to hide the announcement bar asap (before React hydration)
68
-
69
- const AnnouncementBarInlineJavaScript = `
70
- (function() {
71
- function isDismissed() {
72
- try {
73
- return localStorage.getItem('${AnnouncementBarDismissStorageKey}') === 'true';
74
- } catch (err) {}
75
- return false;
76
- }
77
- document.documentElement.setAttribute('${AnnouncementBarDismissDataAttribute}', isDismissed());
78
- })();`;
79
-
80
- function getInfimaCSSFile(direction) {
81
- return `infima/dist/css/default/default${
82
- direction === 'rtl' ? '-rtl' : ''
83
- }.css`;
84
- }
85
-
86
- export default function docusaurusThemeClassic(
87
- context, // TODO: LoadContext is missing some of properties
88
- options,
89
- ) {
90
- const {
91
- siteConfig: {themeConfig: roughlyTypedThemeConfig},
92
- i18n: {currentLocale, localeConfigs},
93
- } = context;
94
- const themeConfig = roughlyTypedThemeConfig || {};
95
- const {
96
- announcementBar,
97
- colorMode,
98
- prism: {additionalLanguages = []} = {},
99
- } = themeConfig;
100
- const {customCss} = options || {};
101
- const {direction} = localeConfigs[currentLocale];
102
- return {
103
- name: 'docusaurus-theme-classic',
104
-
105
- /*
106
- Does not seem needed: webpack can already hot reload theme files
107
- getPathsToWatch() {
108
- return [
109
- path.join(__dirname, '..', 'lib'),
110
- path.join(__dirname, '..', 'lib-next'),
111
- ];
112
- },
113
- */
114
- getThemePath() {
115
- return path.join(__dirname, '..', 'lib-next', 'theme');
116
- },
117
-
118
- getTypeScriptThemePath() {
119
- return path.resolve(__dirname, '..', 'src', 'theme');
120
- },
121
-
122
- getTranslationFiles: async () =>
123
- getTranslationFiles({
124
- themeConfig,
125
- }),
126
- translateThemeConfig: (params) =>
127
- translateThemeConfig({
128
- themeConfig: params.themeConfig,
129
- translationFiles: params.translationFiles,
130
- }),
131
-
132
- getDefaultCodeTranslationMessages() {
133
- return readDefaultCodeTranslationMessages({
134
- locale: currentLocale,
135
- name: 'theme-common',
136
- });
137
- },
138
-
139
- getClientModules() {
140
- const modules = [
141
- require.resolve(getInfimaCSSFile(direction)),
142
- path.resolve(__dirname, './prism-include-languages'),
143
- path.resolve(__dirname, './admonitions.css'),
144
- ];
145
-
146
- if (customCss) {
147
- if (Array.isArray(customCss)) {
148
- modules.push(...customCss);
149
- } else {
150
- modules.push(customCss);
151
- }
152
- }
153
-
154
- return modules;
155
- },
156
-
157
- configureWebpack() {
158
- const prismLanguages = additionalLanguages
159
- .map((lang) => `prism-${lang}`)
160
- .join('|');
161
- return {
162
- ignoreWarnings: [
163
- // See https://github.com/facebook/docusaurus/pull/3382
164
- (e) => e.message.includes("Can't resolve '@theme-init/hooks/useDocs"),
165
- ],
166
- plugins: [
167
- new ContextReplacementPlugin(
168
- /prismjs[\\/]components$/,
169
- new RegExp(`^./(${prismLanguages})$`),
170
- ),
171
- ],
172
- };
173
- },
174
-
175
- configurePostCss(postCssOptions) {
176
- if (direction === 'rtl') {
177
- const resolvedInfimaFile = require.resolve(getInfimaCSSFile(direction));
178
-
179
- const plugin = {
180
- postcssPlugin: 'RtlCssPlugin',
181
- prepare: (result) => {
182
- const file = result.root?.source?.input?.file; // Skip Infima as we are using the its RTL version.
183
-
184
- if (file === resolvedInfimaFile) {
185
- return {};
186
- }
187
-
188
- return rtlcss(result.root);
189
- },
190
- };
191
- postCssOptions.plugins.push(plugin);
192
- }
193
-
194
- return postCssOptions;
195
- },
196
-
197
- injectHtmlTags() {
198
- return {
199
- preBodyTags: [
200
- {
201
- tagName: 'script',
202
- innerHTML: `
203
- ${noFlashColorMode(colorMode)}
204
- ${announcementBar ? AnnouncementBarInlineJavaScript : ''}
205
- `,
206
- },
207
- ],
208
- };
209
- },
210
- };
211
- }
212
- const swizzleAllowedComponents = [
213
- 'CodeBlock',
214
- 'DocSidebar',
215
- 'Footer',
216
- 'NotFound',
217
- 'SearchBar',
218
- 'IconArrow',
219
- 'IconEdit',
220
- 'IconMenu',
221
- 'hooks/useTheme',
222
- 'prism-include-languages',
223
- ];
224
- export function getSwizzleComponentList() {
225
- return swizzleAllowedComponents;
226
- }
227
- export {validateThemeConfig} from './validateThemeConfig';
@@ -1,9 +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 Prism from 'prism-react-renderer/prism';
8
- import prismIncludeLanguages from '@theme/prism-include-languages';
9
- prismIncludeLanguages(Prism);
@@ -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;