@docusaurus/theme-classic 0.0.0-4539 → 0.0.0-4545

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.
@@ -29,6 +29,9 @@ export default function DocSidebarItem({item, ...props}) {
29
29
  case 'category':
30
30
  return <DocSidebarItemCategory item={item} {...props} />;
31
31
 
32
+ case 'html':
33
+ return <DocSidebarItemHtml item={item} {...props} />;
34
+
32
35
  case 'link':
33
36
  default:
34
37
  return <DocSidebarItemLink item={item} {...props} />;
@@ -202,6 +205,24 @@ function DocSidebarItemCategory({
202
205
  );
203
206
  }
204
207
 
208
+ function DocSidebarItemHtml({item, level, index}) {
209
+ const {value, defaultStyle, className} = item;
210
+ return (
211
+ <li
212
+ className={clsx(
213
+ ThemeClassNames.docs.docSidebarItemLink,
214
+ ThemeClassNames.docs.docSidebarItemLinkLevel(level),
215
+ defaultStyle && `${styles.menuHtmlItem} menu__list-item`,
216
+ className,
217
+ )}
218
+ key={index} // eslint-disable-next-line react/no-danger
219
+ dangerouslySetInnerHTML={{
220
+ __html: value,
221
+ }}
222
+ />
223
+ );
224
+ }
225
+
205
226
  function DocSidebarItemLink({
206
227
  item,
207
228
  onItemClick,
@@ -17,4 +17,9 @@
17
17
  .menuLinkText.hasHref {
18
18
  cursor: pointer;
19
19
  }
20
+
21
+ .menuHtmlItem {
22
+ padding: var(--ifm-menu-link-padding-vertical)
23
+ var(--ifm-menu-link-padding-horizontal);
24
+ }
20
25
  }
@@ -15,6 +15,7 @@ import {
15
15
  useTitleFormatter,
16
16
  useAlternatePageUtils,
17
17
  useThemeConfig,
18
+ keyboardFocusedClassName,
18
19
  } from '@docusaurus/theme-common';
19
20
  import {useLocation} from '@docusaurus/router'; // Useful for SEO
20
21
  // See https://developers.google.com/search/docs/advanced/crawling/localized-versions
@@ -94,6 +95,9 @@ export default function LayoutHead(props) {
94
95
  <title>{pageTitle}</title>
95
96
  <meta property="og:title" content={pageTitle} />
96
97
  <meta name="twitter:card" content="summary_large_image" />
98
+ {/* The keyboard focus class name need to be applied when SSR so links
99
+ are outlined when JS is disabled */}
100
+ <body className={keyboardFocusedClassName} />
97
101
  </Head>
98
102
 
99
103
  {/* image can override the default image */}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/theme-classic",
3
- "version": "0.0.0-4539",
3
+ "version": "0.0.0-4545",
4
4
  "description": "Classic theme for Docusaurus",
5
5
  "main": "lib/index.js",
6
6
  "types": "src/theme-classic.d.ts",
@@ -21,15 +21,15 @@
21
21
  "format:lib-next": "prettier --config ../../.prettierrc --write \"lib-next/**/*.{js,ts,jsx,tsc}\""
22
22
  },
23
23
  "dependencies": {
24
- "@docusaurus/core": "0.0.0-4539",
25
- "@docusaurus/plugin-content-blog": "0.0.0-4539",
26
- "@docusaurus/plugin-content-docs": "0.0.0-4539",
27
- "@docusaurus/plugin-content-pages": "0.0.0-4539",
28
- "@docusaurus/theme-common": "0.0.0-4539",
29
- "@docusaurus/theme-translations": "0.0.0-4539",
30
- "@docusaurus/utils": "0.0.0-4539",
31
- "@docusaurus/utils-common": "0.0.0-4539",
32
- "@docusaurus/utils-validation": "0.0.0-4539",
24
+ "@docusaurus/core": "0.0.0-4545",
25
+ "@docusaurus/plugin-content-blog": "0.0.0-4545",
26
+ "@docusaurus/plugin-content-docs": "0.0.0-4545",
27
+ "@docusaurus/plugin-content-pages": "0.0.0-4545",
28
+ "@docusaurus/theme-common": "0.0.0-4545",
29
+ "@docusaurus/theme-translations": "0.0.0-4545",
30
+ "@docusaurus/utils": "0.0.0-4545",
31
+ "@docusaurus/utils-common": "0.0.0-4545",
32
+ "@docusaurus/utils-validation": "0.0.0-4545",
33
33
  "@mdx-js/react": "^1.6.21",
34
34
  "clsx": "^1.1.1",
35
35
  "copy-text-to-clipboard": "^3.0.1",
@@ -42,8 +42,8 @@
42
42
  "rtlcss": "^3.3.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@docusaurus/module-type-aliases": "0.0.0-4539",
46
- "@docusaurus/types": "0.0.0-4539",
45
+ "@docusaurus/module-type-aliases": "0.0.0-4545",
46
+ "@docusaurus/types": "0.0.0-4545",
47
47
  "@types/mdx-js__react": "^1.5.4",
48
48
  "@types/parse-numeric-range": "^0.0.1",
49
49
  "@types/prismjs": "^1.26.0",
@@ -62,5 +62,5 @@
62
62
  "engines": {
63
63
  "node": ">=14"
64
64
  },
65
- "gitHead": "7b82719906447f76637ad0452ad8df1d9698f805"
65
+ "gitHead": "2fd48f443b78b58b3b511f797a0050d407370f07"
66
66
  }
@@ -32,6 +32,7 @@ import type {
32
32
 
33
33
  import styles from './styles.module.css';
34
34
  import useIsBrowser from '@docusaurus/useIsBrowser';
35
+ import type {SidebarItemHtml} from '@docusaurus/plugin-content-docs/src/sidebars/types';
35
36
 
36
37
  export default function DocSidebarItem({
37
38
  item,
@@ -40,6 +41,8 @@ export default function DocSidebarItem({
40
41
  switch (item.type) {
41
42
  case 'category':
42
43
  return <DocSidebarItemCategory item={item} {...props} />;
44
+ case 'html':
45
+ return <DocSidebarItemHtml item={item} {...props} />;
43
46
  case 'link':
44
47
  default:
45
48
  return <DocSidebarItemLink item={item} {...props} />;
@@ -216,6 +219,29 @@ function DocSidebarItemCategory({
216
219
  );
217
220
  }
218
221
 
222
+ function DocSidebarItemHtml({
223
+ item,
224
+ level,
225
+ index,
226
+ }: Props & {item: SidebarItemHtml}) {
227
+ const {value, defaultStyle, className} = item;
228
+ return (
229
+ <li
230
+ className={clsx(
231
+ ThemeClassNames.docs.docSidebarItemLink,
232
+ ThemeClassNames.docs.docSidebarItemLinkLevel(level),
233
+ defaultStyle && `${styles.menuHtmlItem} menu__list-item`,
234
+ className,
235
+ )}
236
+ key={index}
237
+ // eslint-disable-next-line react/no-danger
238
+ dangerouslySetInnerHTML={{
239
+ __html: value,
240
+ }}
241
+ />
242
+ );
243
+ }
244
+
219
245
  function DocSidebarItemLink({
220
246
  item,
221
247
  onItemClick,
@@ -17,4 +17,9 @@
17
17
  .menuLinkText.hasHref {
18
18
  cursor: pointer;
19
19
  }
20
+
21
+ .menuHtmlItem {
22
+ padding: var(--ifm-menu-link-padding-vertical)
23
+ var(--ifm-menu-link-padding-horizontal);
24
+ }
20
25
  }
@@ -17,6 +17,7 @@ import {
17
17
  useTitleFormatter,
18
18
  useAlternatePageUtils,
19
19
  useThemeConfig,
20
+ keyboardFocusedClassName,
20
21
  } from '@docusaurus/theme-common';
21
22
  import {useLocation} from '@docusaurus/router';
22
23
 
@@ -101,6 +102,9 @@ export default function LayoutHead(props: Props): JSX.Element {
101
102
  <title>{pageTitle}</title>
102
103
  <meta property="og:title" content={pageTitle} />
103
104
  <meta name="twitter:card" content="summary_large_image" />
105
+ {/* The keyboard focus class name need to be applied when SSR so links
106
+ are outlined when JS is disabled */}
107
+ <body className={keyboardFocusedClassName} />
104
108
  </Head>
105
109
 
106
110
  {/* image can override the default image */}