@docusaurus/theme-classic 3.10.1 → 4.0.0-canary-6808

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 (74) hide show
  1. package/lib/nprogress.css +2 -1
  2. package/lib/theme/Admonition/index.js +1 -0
  3. package/lib/theme/AnnouncementBar/Content/index.js +0 -1
  4. package/lib/theme/AnnouncementBar/styles.module.css +1 -1
  5. package/lib/theme/BlogPostItem/Header/Title/styles.module.css +1 -1
  6. package/lib/theme/BlogSidebar/Desktop/styles.module.css +1 -1
  7. package/lib/theme/BlogTagsPostsPage/index.js +2 -6
  8. package/lib/theme/CodeBlock/Content/index.js +3 -4
  9. package/lib/theme/ContentVisibility/Unlisted/index.js +8 -1
  10. package/lib/theme/DocCard/index.js +1 -1
  11. package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +1 -1
  12. package/lib/theme/DocItem/Layout/styles.module.css +1 -1
  13. package/lib/theme/DocItem/TOC/Mobile/styles.module.css +1 -1
  14. package/lib/theme/DocRoot/Layout/Main/styles.module.css +1 -1
  15. package/lib/theme/DocRoot/Layout/Sidebar/ExpandButton/styles.module.css +1 -1
  16. package/lib/theme/DocRoot/Layout/Sidebar/styles.module.css +1 -1
  17. package/lib/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +1 -1
  18. package/lib/theme/DocSidebar/Desktop/Content/styles.module.css +2 -1
  19. package/lib/theme/DocSidebar/Desktop/styles.module.css +1 -1
  20. package/lib/theme/DocSidebarItem/Category/index.js +4 -6
  21. package/lib/theme/DocSidebarItem/Html/index.js +0 -1
  22. package/lib/theme/DocSidebarItem/Html/styles.module.css +1 -1
  23. package/lib/theme/DocSidebarItem/Link/index.js +1 -5
  24. package/lib/theme/DocTagDocListPage/index.js +3 -6
  25. package/lib/theme/EditMetaRow/styles.module.css +1 -1
  26. package/lib/theme/ErrorPageContent.js +7 -17
  27. package/lib/theme/Footer/Copyright/index.js +0 -1
  28. package/lib/theme/Footer/Links/MultiColumn/index.js +0 -1
  29. package/lib/theme/Footer/Links/Simple/index.js +0 -1
  30. package/lib/theme/Mermaid.js +1 -1
  31. package/lib/theme/Navbar/Content/styles.module.css +1 -1
  32. package/lib/theme/Navbar/MobileSidebar/Layout/index.js +2 -13
  33. package/lib/theme/Navbar/Search/styles.module.css +2 -2
  34. package/lib/theme/SearchBar.js +1 -1
  35. package/lib/theme/TOC/styles.module.css +1 -1
  36. package/lib/theme/prism-include-languages.js +22 -24
  37. package/package.json +33 -34
  38. package/src/nprogress.css +2 -1
  39. package/src/options.ts +2 -2
  40. package/src/theme/Admonition/index.tsx +1 -0
  41. package/src/theme/AnnouncementBar/Content/index.tsx +0 -1
  42. package/src/theme/AnnouncementBar/styles.module.css +1 -1
  43. package/src/theme/BlogPostItem/Header/Title/styles.module.css +1 -1
  44. package/src/theme/BlogSidebar/Desktop/styles.module.css +1 -1
  45. package/src/theme/BlogTagsPostsPage/index.tsx +2 -6
  46. package/src/theme/CodeBlock/Content/index.tsx +11 -14
  47. package/src/theme/ContentVisibility/Unlisted/index.tsx +9 -1
  48. package/src/theme/DocCard/index.tsx +1 -1
  49. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +1 -1
  50. package/src/theme/DocItem/Layout/styles.module.css +1 -1
  51. package/src/theme/DocItem/TOC/Mobile/styles.module.css +1 -1
  52. package/src/theme/DocRoot/Layout/Main/styles.module.css +1 -1
  53. package/src/theme/DocRoot/Layout/Sidebar/ExpandButton/styles.module.css +1 -1
  54. package/src/theme/DocRoot/Layout/Sidebar/styles.module.css +1 -1
  55. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +1 -1
  56. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +2 -1
  57. package/src/theme/DocSidebar/Desktop/styles.module.css +1 -1
  58. package/src/theme/DocSidebarItem/Category/index.tsx +4 -6
  59. package/src/theme/DocSidebarItem/Html/index.tsx +0 -1
  60. package/src/theme/DocSidebarItem/Html/styles.module.css +1 -1
  61. package/src/theme/DocSidebarItem/Link/index.tsx +1 -5
  62. package/src/theme/DocTagDocListPage/index.tsx +3 -6
  63. package/src/theme/EditMetaRow/styles.module.css +1 -1
  64. package/src/theme/Footer/Copyright/index.tsx +0 -1
  65. package/src/theme/Footer/Links/MultiColumn/index.tsx +0 -1
  66. package/src/theme/Footer/Links/Simple/index.tsx +0 -1
  67. package/src/theme/Navbar/Content/styles.module.css +1 -1
  68. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +2 -14
  69. package/src/theme/Navbar/Search/styles.module.css +2 -2
  70. package/src/theme/TOC/styles.module.css +1 -1
  71. package/src/theme/prism-include-languages.ts +2 -2
  72. package/src/theme-classic.d.ts +1 -8
  73. package/lib/theme/ThemedImage/styles.module.css +0 -18
  74. package/src/theme/ThemedImage/styles.module.css +0 -18
package/lib/nprogress.css CHANGED
@@ -34,7 +34,8 @@
34
34
  right: 0;
35
35
  width: 100px;
36
36
  height: 100%;
37
- box-shadow: 0 0 10px var(--docusaurus-progress-bar-color),
37
+ box-shadow:
38
+ 0 0 10px var(--docusaurus-progress-bar-color),
38
39
  0 0 5px var(--docusaurus-progress-bar-color);
39
40
  opacity: 1;
40
41
  transform: rotate(3deg) translate(0, -4px);
@@ -20,5 +20,6 @@ function getAdmonitionTypeComponent(type) {
20
20
  export default function Admonition(unprocessedProps) {
21
21
  const props = processAdmonitionProps(unprocessedProps);
22
22
  const AdmonitionTypeComponent = getAdmonitionTypeComponent(props.type);
23
+ // eslint-disable-next-line react-hooks/static-components
23
24
  return <AdmonitionTypeComponent {...props} />;
24
25
  }
@@ -16,7 +16,6 @@ export default function AnnouncementBarContent(props) {
16
16
  {...props}
17
17
  className={clsx(styles.content, props.className)}
18
18
  // Developer provided the HTML, so assume it's safe.
19
- // eslint-disable-next-line react/no-danger
20
19
  dangerouslySetInnerHTML={{__html: content}}
21
20
  />
22
21
  );
@@ -50,7 +50,7 @@ html[data-announcement-bar-initially-dismissed='true'] .announcementBar {
50
50
  }
51
51
  }
52
52
 
53
- @media (min-width: 997px) {
53
+ @media (width >= 997px) {
54
54
  :root {
55
55
  --docusaurus-announcement-bar-height: 30px;
56
56
  }
@@ -12,7 +12,7 @@
12
12
  /**
13
13
  Blog post title should be smaller on smaller devices
14
14
  **/
15
- @media (max-width: 576px) {
15
+ @media (width <= 576px) {
16
16
  .title {
17
17
  font-size: 2rem;
18
18
  }
@@ -38,7 +38,7 @@
38
38
  color: var(--ifm-color-primary) !important;
39
39
  }
40
40
 
41
- @media (max-width: 996px) {
41
+ @media (width <= 996px) {
42
42
  .sidebar {
43
43
  display: none;
44
44
  }
@@ -6,10 +6,10 @@
6
6
  */
7
7
  import React from 'react';
8
8
  import clsx from 'clsx';
9
- import Translate from '@docusaurus/Translate';
10
9
  import {
11
10
  PageMetadata,
12
11
  HtmlClassNameProvider,
12
+ TagsPageLinkLabel,
13
13
  ThemeClassNames,
14
14
  } from '@docusaurus/theme-common';
15
15
  import {useBlogTagsPostsPageTitle} from '@docusaurus/theme-common/internal';
@@ -38,11 +38,7 @@ function BlogTagsPostsPageContent({tag, items, sidebar, listMetadata}) {
38
38
  <Heading as="h1">{title}</Heading>
39
39
  {tag.description && <p>{tag.description}</p>}
40
40
  <Link href={tag.allTagsPath}>
41
- <Translate
42
- id="theme.tags.tagsPageLink"
43
- description="The label of the link targeting the tag list page">
44
- View All Tags
45
- </Translate>
41
+ <TagsPageLinkLabel />
46
42
  </Link>
47
43
  </header>
48
44
  <BlogPostItems items={items} />
@@ -11,18 +11,17 @@ import {usePrismTheme} from '@docusaurus/theme-common';
11
11
  import {Highlight} from 'prism-react-renderer';
12
12
  import Line from '@theme/CodeBlock/Line';
13
13
  import styles from './styles.module.css';
14
- // TODO Docusaurus v4: remove useless forwardRef
15
- const Pre = React.forwardRef((props, ref) => {
14
+ function Pre({className, ref, ...props}) {
16
15
  return (
17
16
  <pre
18
17
  ref={ref}
19
18
  /* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */
20
19
  tabIndex={0}
21
20
  {...props}
22
- className={clsx(props.className, styles.codeBlock, 'thin-scrollbar')}
21
+ className={clsx(className, styles.codeBlock, 'thin-scrollbar')}
23
22
  />
24
23
  );
25
- });
24
+ }
26
25
  function Code(props) {
27
26
  const {metadata} = useCodeBlockContext();
28
27
  return (
@@ -6,13 +6,20 @@
6
6
  */
7
7
  import React from 'react';
8
8
  import clsx from 'clsx';
9
+ import Head from '@docusaurus/Head';
9
10
  import {
10
11
  ThemeClassNames,
11
12
  UnlistedBannerTitle,
12
13
  UnlistedBannerMessage,
13
- UnlistedMetadata,
14
14
  } from '@docusaurus/theme-common';
15
15
  import Admonition from '@theme/Admonition';
16
+ function UnlistedMetadata() {
17
+ return (
18
+ <Head>
19
+ <meta name="robots" content="noindex, nofollow" />
20
+ </Head>
21
+ );
22
+ }
16
23
  function UnlistedBanner({className}) {
17
24
  return (
18
25
  <Admonition
@@ -17,7 +17,7 @@ import isInternalUrl from '@docusaurus/isInternalUrl';
17
17
  import Layout from '@theme/DocCard/Layout';
18
18
  function getFallbackEmojiIcon(item) {
19
19
  if (item.type === 'category') {
20
- return '🗃';
20
+ return '🗃️';
21
21
  }
22
22
  return isInternalUrl(item.href) ? '📄️' : '🔗';
23
23
  }
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- @media (min-width: 997px) {
8
+ @media (width >= 997px) {
9
9
  .generatedIndexPage {
10
10
  max-width: 75% !important;
11
11
  }
@@ -10,7 +10,7 @@
10
10
  margin-top: 0;
11
11
  }
12
12
 
13
- @media (min-width: 997px) {
13
+ @media (width >= 997px) {
14
14
  .docItemCol {
15
15
  max-width: 75% !important;
16
16
  }
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- @media (min-width: 997px) {
8
+ @media (width >= 997px) {
9
9
  /* Prevent hydration FOUC, as the mobile TOC needs to be server-rendered */
10
10
  .tocMobile {
11
11
  display: none;
@@ -10,7 +10,7 @@
10
10
  width: 100%;
11
11
  }
12
12
 
13
- @media (min-width: 997px) {
13
+ @media (width >= 997px) {
14
14
  .docMainContainer {
15
15
  flex-grow: 1;
16
16
  max-width: calc(100% - var(--doc-sidebar-width));
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- @media (min-width: 997px) {
8
+ @media (width >= 997px) {
9
9
  .expandButton {
10
10
  position: absolute;
11
11
  top: 0;
@@ -14,7 +14,7 @@
14
14
  display: none;
15
15
  }
16
16
 
17
- @media (min-width: 997px) {
17
+ @media (width >= 997px) {
18
18
  .docSidebarContainer {
19
19
  display: block;
20
20
  width: var(--doc-sidebar-width);
@@ -15,7 +15,7 @@
15
15
  --docusaurus-collapse-button-bg-hover: rgb(255 255 255 / 10%);
16
16
  }
17
17
 
18
- @media (min-width: 997px) {
18
+ @media (width >= 997px) {
19
19
  .collapseSidebarButton {
20
20
  display: block !important;
21
21
  background-color: var(--docusaurus-collapse-button-bg);
@@ -5,11 +5,12 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- @media (min-width: 997px) {
8
+ @media (width >= 997px) {
9
9
  .menu {
10
10
  flex-grow: 1;
11
11
  padding: 0.5rem;
12
12
  }
13
+
13
14
  @supports (scrollbar-gutter: stable) {
14
15
  .menu {
15
16
  padding: 0.5rem 0 0.5rem 0.5rem;
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- @media (min-width: 997px) {
8
+ @media (width >= 997px) {
9
9
  .sidebar {
10
10
  display: flex;
11
11
  flex-direction: column;
@@ -104,11 +104,7 @@ function CollapseButton({collapsed, categoryLabel, onClick}) {
104
104
  );
105
105
  }
106
106
  function CategoryLinkLabel({label}) {
107
- return (
108
- <span title={label} className={styles.categoryLinkLabel}>
109
- {label}
110
- </span>
111
- );
107
+ return <span className={styles.categoryLinkLabel}>{label}</span>;
112
108
  }
113
109
  export default function DocSidebarItemCategory(props) {
114
110
  const visibleChildren = useVisibleSidebarItems(
@@ -242,7 +238,9 @@ function DocSidebarItemCategoryCollapsible({
242
238
  aria-current={isCurrentPage ? 'page' : undefined}
243
239
  role={collapsible && !href ? 'button' : undefined}
244
240
  aria-expanded={collapsible && !href ? !collapsed : undefined}
245
- href={collapsible ? hrefWithSSRFallback ?? '#' : hrefWithSSRFallback}
241
+ href={
242
+ collapsible ? (hrefWithSSRFallback ?? '#') : hrefWithSSRFallback
243
+ }
246
244
  {...props}>
247
245
  <CategoryLinkLabel label={label} />
248
246
  </Link>
@@ -19,7 +19,6 @@ export default function DocSidebarItemHtml({item, level, index}) {
19
19
  className,
20
20
  )}
21
21
  key={index}
22
- // eslint-disable-next-line react/no-danger
23
22
  dangerouslySetInnerHTML={{__html: value}}
24
23
  />
25
24
  );
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- @media (min-width: 997px) {
8
+ @media (width >= 997px) {
9
9
  .menuHtmlItem {
10
10
  padding: var(--ifm-menu-link-padding-vertical)
11
11
  var(--ifm-menu-link-padding-horizontal);
@@ -13,11 +13,7 @@ import isInternalUrl from '@docusaurus/isInternalUrl';
13
13
  import IconExternalLink from '@theme/Icon/ExternalLink';
14
14
  import styles from './styles.module.css';
15
15
  function LinkLabel({label}) {
16
- return (
17
- <span title={label} className={styles.linkLabel}>
18
- {label}
19
- </span>
20
- );
16
+ return <span className={styles.linkLabel}>{label}</span>;
21
17
  }
22
18
  export default function DocSidebarItemLink({
23
19
  item,
@@ -11,9 +11,10 @@ import {
11
11
  PageMetadata,
12
12
  HtmlClassNameProvider,
13
13
  ThemeClassNames,
14
+ TagsPageLinkLabel,
14
15
  usePluralForm,
15
16
  } from '@docusaurus/theme-common';
16
- import Translate, {translate} from '@docusaurus/Translate';
17
+ import {translate} from '@docusaurus/Translate';
17
18
  import SearchMetadata from '@theme/SearchMetadata';
18
19
  import Unlisted from '@theme/ContentVisibility/Unlisted';
19
20
  import Heading from '@theme/Heading';
@@ -75,11 +76,7 @@ function DocTagDocListPageContent({tag, title}) {
75
76
  <Heading as="h1">{title}</Heading>
76
77
  {tag.description && <p>{tag.description}</p>}
77
78
  <Link href={tag.allTagsPath}>
78
- <Translate
79
- id="theme.tags.tagsPageLink"
80
- description="The label of the link targeting the tag list page">
81
- View all tags
82
- </Translate>
79
+ <TagsPageLinkLabel />
83
80
  </Link>
84
81
  </header>
85
82
  <section className="margin-vert--lg">
@@ -11,7 +11,7 @@
11
11
  margin-top: 0.2rem;
12
12
  }
13
13
 
14
- @media (min-width: 997px) {
14
+ @media (width >= 997px) {
15
15
  .lastUpdated {
16
16
  text-align: right;
17
17
  }
@@ -6,35 +6,25 @@
6
6
  */
7
7
  import React from 'react';
8
8
  import Translate from '@docusaurus/Translate';
9
- import {
10
- ErrorBoundaryError,
11
- ErrorBoundaryTryAgainButton,
12
- } from '@docusaurus/theme-common';
9
+ import { ErrorBoundaryError, ErrorBoundaryTryAgainButton, } from '@docusaurus/theme-common';
13
10
  import Heading from '@theme/Heading';
14
- export default function ErrorPageContent({error, tryAgain}) {
15
- return (
16
- <main className="container margin-vert--xl">
11
+ export default function ErrorPageContent({ error, tryAgain }) {
12
+ return (<main className="container margin-vert--xl">
17
13
  <div className="row">
18
14
  <div className="col col--6 col--offset-3">
19
15
  <Heading as="h1" className="hero__title">
20
- <Translate
21
- id="theme.ErrorPageContent.title"
22
- description="The title of the fallback page when the page crashed">
16
+ <Translate id="theme.ErrorPageContent.title" description="The title of the fallback page when the page crashed">
23
17
  This page crashed.
24
18
  </Translate>
25
19
  </Heading>
26
20
  <div className="margin-vert--lg">
27
- <ErrorBoundaryTryAgainButton
28
- onClick={tryAgain}
29
- className="button button--primary shadow--lw"
30
- />
21
+ <ErrorBoundaryTryAgainButton onClick={tryAgain} className="button button--primary shadow--lw"/>
31
22
  </div>
32
23
  <hr />
33
24
  <div className="margin-vert--md">
34
- <ErrorBoundaryError error={error} />
25
+ <ErrorBoundaryError error={error}/>
35
26
  </div>
36
27
  </div>
37
28
  </div>
38
- </main>
39
- );
29
+ </main>);
40
30
  }
@@ -10,7 +10,6 @@ export default function FooterCopyright({copyright}) {
10
10
  <div
11
11
  className="footer__copyright"
12
12
  // Developer provided the HTML, so assume it's safe.
13
- // eslint-disable-next-line react/no-danger
14
13
  dangerouslySetInnerHTML={{__html: copyright}}
15
14
  />
16
15
  );
@@ -13,7 +13,6 @@ function ColumnLinkItem({item}) {
13
13
  <li
14
14
  className={clsx('footer__item', item.className)}
15
15
  // Developer provided the HTML, so assume it's safe.
16
- // eslint-disable-next-line react/no-danger
17
16
  dangerouslySetInnerHTML={{__html: item.html}}
18
17
  />
19
18
  ) : (
@@ -15,7 +15,6 @@ function SimpleLinkItem({item}) {
15
15
  <span
16
16
  className={clsx('footer__link-item', item.className)}
17
17
  // Developer provided the HTML, so assume it's safe.
18
- // eslint-disable-next-line react/no-danger
19
18
  dangerouslySetInnerHTML={{__html: item.html}}
20
19
  />
21
20
  ) : (
@@ -10,4 +10,4 @@
10
10
  // Yet we declare it there so that we can register it in MDX
11
11
  // TODO later the mermaid theme should be able to register its MDX component
12
12
  // see https://github.com/facebook/docusaurus/pull/7490#issuecomment-1279117288
13
- export {default} from '@docusaurus/Noop';
13
+ export { default } from '@docusaurus/Noop';
@@ -8,7 +8,7 @@
8
8
  /*
9
9
  Hide color mode toggle in small viewports
10
10
  */
11
- @media (max-width: 996px) {
11
+ @media (width <= 996px) {
12
12
  .colorModeToggle {
13
13
  display: none;
14
14
  }
@@ -4,21 +4,10 @@
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 React, {version} from 'react';
7
+ import React from 'react';
8
8
  import clsx from 'clsx';
9
9
  import {useNavbarSecondaryMenu} from '@docusaurus/theme-common/internal';
10
10
  import {ThemeClassNames} from '@docusaurus/theme-common';
11
- // TODO Docusaurus v4: remove temporary inert workaround
12
- // See https://github.com/facebook/react/issues/17157
13
- // See https://github.com/radix-ui/themes/pull/509
14
- function inertProps(inert) {
15
- const isBeforeReact19 = parseInt(version.split('.')[0], 10) < 19;
16
- if (isBeforeReact19) {
17
- // TODO Docusaurus v4: remove temporary inert workaround
18
- return {inert: inert ? '' : undefined};
19
- }
20
- return {inert};
21
- }
22
11
  function NavbarMobileSidebarPanel({children, inert}) {
23
12
  return (
24
13
  <div
@@ -26,7 +15,7 @@ function NavbarMobileSidebarPanel({children, inert}) {
26
15
  ThemeClassNames.layout.navbar.mobileSidebar.panel,
27
16
  'navbar-sidebar__item menu',
28
17
  )}
29
- {...inertProps(inert)}>
18
+ inert={inert}>
30
19
  {children}
31
20
  </div>
32
21
  );
@@ -13,14 +13,14 @@ See https://github.com/facebook/docusaurus/pull/9385
13
13
  display: none;
14
14
  }
15
15
 
16
- @media (max-width: 996px) {
16
+ @media (width <= 996px) {
17
17
  .navbarSearchContainer {
18
18
  position: absolute;
19
19
  right: var(--ifm-navbar-padding-horizontal);
20
20
  }
21
21
  }
22
22
 
23
- @media (min-width: 997px) {
23
+ @media (width >= 997px) {
24
24
  .navbarSearchContainer {
25
25
  padding: 0 var(--ifm-navbar-item-padding-horizontal);
26
26
  }
@@ -8,4 +8,4 @@
8
8
  // If you swizzled this, it is your responsibility to provide an implementation
9
9
  // Tip: swizzle the SearchBar from the Algolia theme for inspiration:
10
10
  // npm run swizzle @docusaurus/theme-search-algolia SearchBar
11
- export {default} from '@docusaurus/Noop';
11
+ export { default } from '@docusaurus/Noop';
@@ -12,7 +12,7 @@
12
12
  top: calc(var(--ifm-navbar-height) + 1rem);
13
13
  }
14
14
 
15
- @media (max-width: 996px) {
15
+ @media (width <= 996px) {
16
16
  .tableOfContents {
17
17
  display: none;
18
18
  }
@@ -6,29 +6,27 @@
6
6
  */
7
7
  import siteConfig from '@generated/docusaurus.config';
8
8
  export default function prismIncludeLanguages(PrismObject) {
9
- const {
10
- themeConfig: {prism},
11
- } = siteConfig;
12
- const {additionalLanguages} = prism;
13
- // Prism components work on the Prism instance on the window, while prism-
14
- // react-renderer uses its own Prism instance. We temporarily mount the
15
- // instance onto window, import components to enhance it, then remove it to
16
- // avoid polluting global namespace.
17
- // You can mutate PrismObject: registering plugins, deleting languages... As
18
- // long as you don't re-assign it
19
- const PrismBefore = globalThis.Prism;
20
- globalThis.Prism = PrismObject;
21
- additionalLanguages.forEach((lang) => {
22
- if (lang === 'php') {
23
- // eslint-disable-next-line global-require
24
- require('prismjs/components/prism-markup-templating.js');
25
- }
26
- // eslint-disable-next-line global-require, import/no-dynamic-require
27
- require(`prismjs/components/prism-${lang}`);
28
- });
29
- // Clean up and eventually restore former globalThis.Prism object (if any)
30
- delete globalThis.Prism;
31
- if (typeof PrismBefore !== 'undefined') {
9
+ const { themeConfig: { prism }, } = siteConfig;
10
+ const { additionalLanguages } = prism;
11
+ // Prism components work on the Prism instance on the window, while prism-
12
+ // react-renderer uses its own Prism instance. We temporarily mount the
13
+ // instance onto window, import components to enhance it, then remove it to
14
+ // avoid polluting global namespace.
15
+ // You can mutate PrismObject: registering plugins, deleting languages... As
16
+ // long as you don't re-assign it
17
+ const PrismBefore = globalThis.Prism;
32
18
  globalThis.Prism = PrismObject;
33
- }
19
+ additionalLanguages.forEach((lang) => {
20
+ if (lang === 'php') {
21
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
22
+ require('prismjs/components/prism-markup-templating.js');
23
+ }
24
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
25
+ require(`prismjs/components/prism-${lang}`);
26
+ });
27
+ // Clean up and eventually restore former globalThis.Prism object (if any)
28
+ delete globalThis.Prism;
29
+ if (typeof PrismBefore !== 'undefined') {
30
+ globalThis.Prism = PrismObject;
31
+ }
34
32
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/theme-classic",
3
- "version": "3.10.1",
3
+ "version": "4.0.0-canary-6808",
4
4
  "description": "Classic theme for Docusaurus",
5
5
  "main": "lib/index.js",
6
6
  "types": "src/theme-classic.d.ts",
@@ -14,52 +14,51 @@
14
14
  },
15
15
  "license": "MIT",
16
16
  "scripts": {
17
- "build": "tsc --build && node ../../admin/scripts/copyUntypedFiles.js && prettier --config ../../.prettierrc --write \"lib/theme/**/*.js\"",
17
+ "build": "tsc --build && node ../../admin/scripts/copyUntypedFiles.js && oxfmt \"lib/theme/**/*.js\"",
18
18
  "watch": "run-p -c copy:watch build:watch",
19
19
  "build:watch": "tsc --build --watch",
20
20
  "copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch"
21
21
  },
22
22
  "dependencies": {
23
- "@docusaurus/core": "3.10.1",
24
- "@docusaurus/logger": "3.10.1",
25
- "@docusaurus/mdx-loader": "3.10.1",
26
- "@docusaurus/module-type-aliases": "3.10.1",
27
- "@docusaurus/plugin-content-blog": "3.10.1",
28
- "@docusaurus/plugin-content-docs": "3.10.1",
29
- "@docusaurus/plugin-content-pages": "3.10.1",
30
- "@docusaurus/theme-common": "3.10.1",
31
- "@docusaurus/theme-translations": "3.10.1",
32
- "@docusaurus/types": "3.10.1",
33
- "@docusaurus/utils": "3.10.1",
34
- "@docusaurus/utils-common": "3.10.1",
35
- "@docusaurus/utils-validation": "3.10.1",
36
- "@mdx-js/react": "^3.0.0",
37
- "clsx": "^2.0.0",
38
- "copy-text-to-clipboard": "^3.2.0",
23
+ "@docusaurus/core": "4.0.0-canary-6808",
24
+ "@docusaurus/logger": "4.0.0-canary-6808",
25
+ "@docusaurus/mdx-loader": "4.0.0-canary-6808",
26
+ "@docusaurus/module-type-aliases": "4.0.0-canary-6808",
27
+ "@docusaurus/plugin-content-blog": "4.0.0-canary-6808",
28
+ "@docusaurus/plugin-content-docs": "4.0.0-canary-6808",
29
+ "@docusaurus/plugin-content-pages": "4.0.0-canary-6808",
30
+ "@docusaurus/theme-common": "4.0.0-canary-6808",
31
+ "@docusaurus/theme-translations": "4.0.0-canary-6808",
32
+ "@docusaurus/types": "4.0.0-canary-6808",
33
+ "@docusaurus/utils": "4.0.0-canary-6808",
34
+ "@docusaurus/utils-common": "4.0.0-canary-6808",
35
+ "@docusaurus/utils-validation": "4.0.0-canary-6808",
36
+ "@mdx-js/react": "^3.1.1",
37
+ "clsx": "^2.1.1",
38
+ "copy-text-to-clipboard": "^3.2.2",
39
39
  "infima": "0.2.0-alpha.45",
40
- "lodash": "^4.17.21",
40
+ "lodash": "^4.18.1",
41
41
  "nprogress": "^0.2.0",
42
- "postcss": "^8.5.4",
43
- "prism-react-renderer": "^2.3.0",
44
- "prismjs": "^1.29.0",
42
+ "postcss": "^8.5.28",
43
+ "prism-react-renderer": "^2.4.1",
44
+ "prismjs": "^1.30.0",
45
45
  "react-router-dom": "^5.3.4",
46
- "rtlcss": "^4.1.0",
47
- "tslib": "^2.6.0",
48
- "utility-types": "^3.10.0"
46
+ "rtlcss": "^4.3.0",
47
+ "tslib": "^2.8.1",
48
+ "utility-types": "^3.11.0"
49
49
  },
50
50
  "devDependencies": {
51
- "@types/nprogress": "^0.2.0",
52
- "@types/prismjs": "^1.26.0",
53
- "@types/rtlcss": "^3.5.1",
54
- "fs-extra": "^11.1.1",
55
- "utility-types": "^3.10.0"
51
+ "@types/nprogress": "^0.2.3",
52
+ "@types/prismjs": "^1.26.6",
53
+ "@types/rtlcss": "^3.5.4",
54
+ "fs-extra": "^11.4.0"
56
55
  },
57
56
  "peerDependencies": {
58
- "react": "^18.0.0 || ^19.0.0",
59
- "react-dom": "^18.0.0 || ^19.0.0"
57
+ "react": "^19.3.0",
58
+ "react-dom": "^19.3.0"
60
59
  },
61
60
  "engines": {
62
- "node": ">=20.0"
61
+ "node": ">=24.14"
63
62
  },
64
- "gitHead": "41c1a458ecb07d61b6df2761ea4bc1b13db49d12"
63
+ "gitHead": "91e445730a91fbe20dd5fefae560303a0c655aa7"
65
64
  }
package/src/nprogress.css CHANGED
@@ -34,7 +34,8 @@
34
34
  right: 0;
35
35
  width: 100px;
36
36
  height: 100%;
37
- box-shadow: 0 0 10px var(--docusaurus-progress-bar-color),
37
+ box-shadow:
38
+ 0 0 10px var(--docusaurus-progress-bar-color),
38
39
  0 0 5px var(--docusaurus-progress-bar-color);
39
40
  opacity: 1;
40
41
  transform: rotate(3deg) translate(0, -4px);