@docusaurus/theme-classic 3.8.1-canary-6367 → 3.8.1-canary-6373
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.
|
@@ -25,14 +25,29 @@ import useIsBrowser from '@docusaurus/useIsBrowser';
|
|
|
25
25
|
import DocSidebarItems from '@theme/DocSidebarItems';
|
|
26
26
|
// If we navigate to a category and it becomes active, it should automatically
|
|
27
27
|
// expand itself
|
|
28
|
-
function useAutoExpandActiveCategory({
|
|
28
|
+
function useAutoExpandActiveCategory({
|
|
29
|
+
isActive,
|
|
30
|
+
collapsed,
|
|
31
|
+
updateCollapsed,
|
|
32
|
+
activePath,
|
|
33
|
+
}) {
|
|
29
34
|
const wasActive = usePrevious(isActive);
|
|
35
|
+
const previousActivePath = usePrevious(activePath);
|
|
30
36
|
useEffect(() => {
|
|
31
37
|
const justBecameActive = isActive && !wasActive;
|
|
32
|
-
|
|
38
|
+
const stillActiveButPathChanged =
|
|
39
|
+
isActive && wasActive && activePath !== previousActivePath;
|
|
40
|
+
if ((justBecameActive || stillActiveButPathChanged) && collapsed) {
|
|
33
41
|
updateCollapsed(false);
|
|
34
42
|
}
|
|
35
|
-
}, [
|
|
43
|
+
}, [
|
|
44
|
+
isActive,
|
|
45
|
+
wasActive,
|
|
46
|
+
collapsed,
|
|
47
|
+
updateCollapsed,
|
|
48
|
+
activePath,
|
|
49
|
+
previousActivePath,
|
|
50
|
+
]);
|
|
36
51
|
}
|
|
37
52
|
/**
|
|
38
53
|
* When a collapsible category has no link, we still link it to its first child
|
|
@@ -118,7 +133,12 @@ export default function DocSidebarItemCategory({
|
|
|
118
133
|
setExpandedItem(toCollapsed ? null : index);
|
|
119
134
|
setCollapsed(toCollapsed);
|
|
120
135
|
};
|
|
121
|
-
useAutoExpandActiveCategory({
|
|
136
|
+
useAutoExpandActiveCategory({
|
|
137
|
+
isActive,
|
|
138
|
+
collapsed,
|
|
139
|
+
updateCollapsed,
|
|
140
|
+
activePath,
|
|
141
|
+
});
|
|
122
142
|
useEffect(() => {
|
|
123
143
|
if (
|
|
124
144
|
collapsible &&
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/theme-classic",
|
|
3
|
-
"version": "3.8.1-canary-
|
|
3
|
+
"version": "3.8.1-canary-6373",
|
|
4
4
|
"description": "Classic theme for Docusaurus",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "src/theme-classic.d.ts",
|
|
@@ -20,19 +20,19 @@
|
|
|
20
20
|
"copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@docusaurus/core": "3.8.1-canary-
|
|
24
|
-
"@docusaurus/logger": "3.8.1-canary-
|
|
25
|
-
"@docusaurus/mdx-loader": "3.8.1-canary-
|
|
26
|
-
"@docusaurus/module-type-aliases": "3.8.1-canary-
|
|
27
|
-
"@docusaurus/plugin-content-blog": "3.8.1-canary-
|
|
28
|
-
"@docusaurus/plugin-content-docs": "3.8.1-canary-
|
|
29
|
-
"@docusaurus/plugin-content-pages": "3.8.1-canary-
|
|
30
|
-
"@docusaurus/theme-common": "3.8.1-canary-
|
|
31
|
-
"@docusaurus/theme-translations": "3.8.1-canary-
|
|
32
|
-
"@docusaurus/types": "3.8.1-canary-
|
|
33
|
-
"@docusaurus/utils": "3.8.1-canary-
|
|
34
|
-
"@docusaurus/utils-common": "3.8.1-canary-
|
|
35
|
-
"@docusaurus/utils-validation": "3.8.1-canary-
|
|
23
|
+
"@docusaurus/core": "3.8.1-canary-6373",
|
|
24
|
+
"@docusaurus/logger": "3.8.1-canary-6373",
|
|
25
|
+
"@docusaurus/mdx-loader": "3.8.1-canary-6373",
|
|
26
|
+
"@docusaurus/module-type-aliases": "3.8.1-canary-6373",
|
|
27
|
+
"@docusaurus/plugin-content-blog": "3.8.1-canary-6373",
|
|
28
|
+
"@docusaurus/plugin-content-docs": "3.8.1-canary-6373",
|
|
29
|
+
"@docusaurus/plugin-content-pages": "3.8.1-canary-6373",
|
|
30
|
+
"@docusaurus/theme-common": "3.8.1-canary-6373",
|
|
31
|
+
"@docusaurus/theme-translations": "3.8.1-canary-6373",
|
|
32
|
+
"@docusaurus/types": "3.8.1-canary-6373",
|
|
33
|
+
"@docusaurus/utils": "3.8.1-canary-6373",
|
|
34
|
+
"@docusaurus/utils-common": "3.8.1-canary-6373",
|
|
35
|
+
"@docusaurus/utils-validation": "3.8.1-canary-6373",
|
|
36
36
|
"@mdx-js/react": "^3.0.0",
|
|
37
37
|
"clsx": "^2.0.0",
|
|
38
38
|
"copy-text-to-clipboard": "^3.2.0",
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"engines": {
|
|
63
63
|
"node": ">=18.0"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "e7cd5f17e74b237f5b60934fa035f1bcd7361c6a"
|
|
66
66
|
}
|
|
@@ -37,18 +37,30 @@ function useAutoExpandActiveCategory({
|
|
|
37
37
|
isActive,
|
|
38
38
|
collapsed,
|
|
39
39
|
updateCollapsed,
|
|
40
|
+
activePath,
|
|
40
41
|
}: {
|
|
41
42
|
isActive: boolean;
|
|
42
43
|
collapsed: boolean;
|
|
43
44
|
updateCollapsed: (b: boolean) => void;
|
|
45
|
+
activePath: string;
|
|
44
46
|
}) {
|
|
45
47
|
const wasActive = usePrevious(isActive);
|
|
48
|
+
const previousActivePath = usePrevious(activePath);
|
|
46
49
|
useEffect(() => {
|
|
47
50
|
const justBecameActive = isActive && !wasActive;
|
|
48
|
-
|
|
51
|
+
const stillActiveButPathChanged =
|
|
52
|
+
isActive && wasActive && activePath !== previousActivePath;
|
|
53
|
+
if ((justBecameActive || stillActiveButPathChanged) && collapsed) {
|
|
49
54
|
updateCollapsed(false);
|
|
50
55
|
}
|
|
51
|
-
}, [
|
|
56
|
+
}, [
|
|
57
|
+
isActive,
|
|
58
|
+
wasActive,
|
|
59
|
+
collapsed,
|
|
60
|
+
updateCollapsed,
|
|
61
|
+
activePath,
|
|
62
|
+
previousActivePath,
|
|
63
|
+
]);
|
|
52
64
|
}
|
|
53
65
|
|
|
54
66
|
/**
|
|
@@ -150,7 +162,12 @@ export default function DocSidebarItemCategory({
|
|
|
150
162
|
setExpandedItem(toCollapsed ? null : index);
|
|
151
163
|
setCollapsed(toCollapsed);
|
|
152
164
|
};
|
|
153
|
-
useAutoExpandActiveCategory({
|
|
165
|
+
useAutoExpandActiveCategory({
|
|
166
|
+
isActive,
|
|
167
|
+
collapsed,
|
|
168
|
+
updateCollapsed,
|
|
169
|
+
activePath,
|
|
170
|
+
});
|
|
154
171
|
useEffect(() => {
|
|
155
172
|
if (
|
|
156
173
|
collapsible &&
|