@docusaurus/theme-classic 0.0.0-5294 → 0.0.0-5296

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.
@@ -12,6 +12,7 @@ import {
12
12
  import {useDocsPreferredVersion} from '@docusaurus/theme-common';
13
13
  import {useDocsVersionCandidates} from '@docusaurus/theme-common/internal';
14
14
  import {translate} from '@docusaurus/Translate';
15
+ import {useLocation} from '@docusaurus/router';
15
16
  import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem';
16
17
  import DropdownNavbarItem from '@theme/NavbarItem/DropdownNavbarItem';
17
18
  const getVersionMainDoc = (version) =>
@@ -24,6 +25,7 @@ export default function DocsVersionDropdownNavbarItem({
24
25
  dropdownItemsAfter,
25
26
  ...props
26
27
  }) {
28
+ const {search, hash} = useLocation();
27
29
  const activeDocContext = useActiveDocContext(docsPluginId);
28
30
  const versions = useVersions(docsPluginId);
29
31
  const {savePreferredVersionName} = useDocsPreferredVersion(docsPluginId);
@@ -35,7 +37,8 @@ export default function DocsVersionDropdownNavbarItem({
35
37
  getVersionMainDoc(version);
36
38
  return {
37
39
  label: version.label,
38
- to: versionDoc.path,
40
+ // preserve ?search#hash suffix on version switches
41
+ to: `${versionDoc.path}${search}${hash}`,
39
42
  isActive: () => version === activeDocContext.activeVersion,
40
43
  onClick: () => savePreferredVersionName(version.name),
41
44
  };
@@ -8,6 +8,7 @@ import React from 'react';
8
8
  import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
9
9
  import {useAlternatePageUtils} from '@docusaurus/theme-common/internal';
10
10
  import {translate} from '@docusaurus/Translate';
11
+ import {useLocation} from '@docusaurus/router';
11
12
  import DropdownNavbarItem from '@theme/NavbarItem/DropdownNavbarItem';
12
13
  import IconLanguage from '@theme/Icon/Language';
13
14
  import styles from './styles.module.css';
@@ -21,11 +22,14 @@ export default function LocaleDropdownNavbarItem({
21
22
  i18n: {currentLocale, locales, localeConfigs},
22
23
  } = useDocusaurusContext();
23
24
  const alternatePageUtils = useAlternatePageUtils();
25
+ const {search, hash} = useLocation();
24
26
  const localeItems = locales.map((locale) => {
25
- const to = `pathname://${alternatePageUtils.createUrl({
27
+ const baseTo = `pathname://${alternatePageUtils.createUrl({
26
28
  locale,
27
29
  fullyQualified: false,
28
30
  })}`;
31
+ // preserve ?search#hash suffix on locale switches
32
+ const to = `${baseTo}${search}${hash}`;
29
33
  return {
30
34
  label: localeConfigs[locale].label,
31
35
  lang: localeConfigs[locale].htmlLang,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/theme-classic",
3
- "version": "0.0.0-5294",
3
+ "version": "0.0.0-5296",
4
4
  "description": "Classic theme for Docusaurus",
5
5
  "main": "lib/index.js",
6
6
  "types": "src/theme-classic.d.ts",
@@ -20,18 +20,18 @@
20
20
  "copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch"
21
21
  },
22
22
  "dependencies": {
23
- "@docusaurus/core": "0.0.0-5294",
24
- "@docusaurus/mdx-loader": "0.0.0-5294",
25
- "@docusaurus/module-type-aliases": "0.0.0-5294",
26
- "@docusaurus/plugin-content-blog": "0.0.0-5294",
27
- "@docusaurus/plugin-content-docs": "0.0.0-5294",
28
- "@docusaurus/plugin-content-pages": "0.0.0-5294",
29
- "@docusaurus/theme-common": "0.0.0-5294",
30
- "@docusaurus/theme-translations": "0.0.0-5294",
31
- "@docusaurus/types": "0.0.0-5294",
32
- "@docusaurus/utils": "0.0.0-5294",
33
- "@docusaurus/utils-common": "0.0.0-5294",
34
- "@docusaurus/utils-validation": "0.0.0-5294",
23
+ "@docusaurus/core": "0.0.0-5296",
24
+ "@docusaurus/mdx-loader": "0.0.0-5296",
25
+ "@docusaurus/module-type-aliases": "0.0.0-5296",
26
+ "@docusaurus/plugin-content-blog": "0.0.0-5296",
27
+ "@docusaurus/plugin-content-docs": "0.0.0-5296",
28
+ "@docusaurus/plugin-content-pages": "0.0.0-5296",
29
+ "@docusaurus/theme-common": "0.0.0-5296",
30
+ "@docusaurus/theme-translations": "0.0.0-5296",
31
+ "@docusaurus/types": "0.0.0-5296",
32
+ "@docusaurus/utils": "0.0.0-5296",
33
+ "@docusaurus/utils-common": "0.0.0-5296",
34
+ "@docusaurus/utils-validation": "0.0.0-5296",
35
35
  "@mdx-js/react": "^1.6.22",
36
36
  "clsx": "^1.2.1",
37
37
  "copy-text-to-clipboard": "^3.0.1",
@@ -62,5 +62,5 @@
62
62
  "engines": {
63
63
  "node": ">=16.14"
64
64
  },
65
- "gitHead": "861e02b4ccbdf0729b71d5ede9b2c41c2712a20b"
65
+ "gitHead": "39e8f0c1e6ee189ff21fe344982ffc433ffc2766"
66
66
  }
@@ -13,6 +13,7 @@ import {
13
13
  import {useDocsPreferredVersion} from '@docusaurus/theme-common';
14
14
  import {useDocsVersionCandidates} from '@docusaurus/theme-common/internal';
15
15
  import {translate} from '@docusaurus/Translate';
16
+ import {useLocation} from '@docusaurus/router';
16
17
  import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem';
17
18
  import DropdownNavbarItem from '@theme/NavbarItem/DropdownNavbarItem';
18
19
  import type {Props} from '@theme/NavbarItem/DocsVersionDropdownNavbarItem';
@@ -29,6 +30,7 @@ export default function DocsVersionDropdownNavbarItem({
29
30
  dropdownItemsAfter,
30
31
  ...props
31
32
  }: Props): JSX.Element {
33
+ const {search, hash} = useLocation();
32
34
  const activeDocContext = useActiveDocContext(docsPluginId);
33
35
  const versions = useVersions(docsPluginId);
34
36
  const {savePreferredVersionName} = useDocsPreferredVersion(docsPluginId);
@@ -40,7 +42,8 @@ export default function DocsVersionDropdownNavbarItem({
40
42
  getVersionMainDoc(version);
41
43
  return {
42
44
  label: version.label,
43
- to: versionDoc.path,
45
+ // preserve ?search#hash suffix on version switches
46
+ to: `${versionDoc.path}${search}${hash}`,
44
47
  isActive: () => version === activeDocContext.activeVersion,
45
48
  onClick: () => savePreferredVersionName(version.name),
46
49
  };
@@ -9,6 +9,7 @@ import React from 'react';
9
9
  import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
10
10
  import {useAlternatePageUtils} from '@docusaurus/theme-common/internal';
11
11
  import {translate} from '@docusaurus/Translate';
12
+ import {useLocation} from '@docusaurus/router';
12
13
  import DropdownNavbarItem from '@theme/NavbarItem/DropdownNavbarItem';
13
14
  import IconLanguage from '@theme/Icon/Language';
14
15
  import type {LinkLikeNavbarItemProps} from '@theme/NavbarItem';
@@ -26,12 +27,15 @@ export default function LocaleDropdownNavbarItem({
26
27
  i18n: {currentLocale, locales, localeConfigs},
27
28
  } = useDocusaurusContext();
28
29
  const alternatePageUtils = useAlternatePageUtils();
30
+ const {search, hash} = useLocation();
29
31
 
30
32
  const localeItems = locales.map((locale): LinkLikeNavbarItemProps => {
31
- const to = `pathname://${alternatePageUtils.createUrl({
33
+ const baseTo = `pathname://${alternatePageUtils.createUrl({
32
34
  locale,
33
35
  fullyQualified: false,
34
36
  })}`;
37
+ // preserve ?search#hash suffix on locale switches
38
+ const to = `${baseTo}${search}${hash}`;
35
39
  return {
36
40
  label: localeConfigs[locale]!.label,
37
41
  lang: localeConfigs[locale]!.htmlLang,