diff --git a/packages/docusaurus-theme-classic/src/__tests__/validateThemeConfig.test.js b/packages/docusaurus-theme-classic/src/__tests__/validateThemeConfig.test.js
index a0da7e3c65..f927038965 100644
--- a/packages/docusaurus-theme-classic/src/__tests__/validateThemeConfig.test.js
+++ b/packages/docusaurus-theme-classic/src/__tests__/validateThemeConfig.test.js
@@ -108,7 +108,6 @@ describe('themeConfig', () => {
position: 'left',
docId: 'intro',
label: 'Introduction',
- activeSidebarClassName: 'custom-class',
},
// Regular link
{
@@ -142,7 +141,6 @@ describe('themeConfig', () => {
items: [
{
type: 'doc',
- activeSidebarClassName: 'custom-class',
docId: 'npm',
label: 'NPM',
},
diff --git a/packages/docusaurus-theme-classic/src/theme/NavbarItem/DefaultNavbarItem.tsx b/packages/docusaurus-theme-classic/src/theme/NavbarItem/DefaultNavbarItem.tsx
index 66a3fcf76c..1e021924e7 100644
--- a/packages/docusaurus-theme-classic/src/theme/NavbarItem/DefaultNavbarItem.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/NavbarItem/DefaultNavbarItem.tsx
@@ -25,7 +25,7 @@ export function NavLink({
to,
href,
label,
- activeClassName = 'navbar__link--active',
+ activeClassName = '',
prependBaseUrlToHref,
...props
}: NavLinkProps): JSX.Element {
@@ -45,7 +45,9 @@ export function NavLink({
}
: {
isNavLink: true,
- activeClassName,
+ activeClassName: !props.className?.includes(activeClassName)
+ ? activeClassName
+ : '',
to: toUrl,
...(activeBasePath || activeBaseRegex
? {
diff --git a/packages/docusaurus-theme-classic/src/theme/NavbarItem/DocNavbarItem.tsx b/packages/docusaurus-theme-classic/src/theme/NavbarItem/DocNavbarItem.tsx
index baa9bb12b1..239d306f8d 100644
--- a/packages/docusaurus-theme-classic/src/theme/NavbarItem/DocNavbarItem.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/NavbarItem/DocNavbarItem.tsx
@@ -31,7 +31,6 @@ Available doc ids are:\n- ${docIds}`,
export default function DocNavbarItem({
docId,
- activeSidebarClassName,
label: staticLabel,
docsPluginId,
...props
@@ -45,15 +44,19 @@ export default function DocNavbarItem({
[activeVersion, preferredVersion, latestVersion].filter(Boolean),
);
const doc = getDocInVersions(versions, docId);
+ const activeDocInfimaClassName = props.mobile
+ ? 'menu__link--active'
+ : 'navbar__link--active';
return (
diff --git a/packages/docusaurus-theme-classic/src/types.d.ts b/packages/docusaurus-theme-classic/src/types.d.ts
index 99bd9f89f1..4241309622 100644
--- a/packages/docusaurus-theme-classic/src/types.d.ts
+++ b/packages/docusaurus-theme-classic/src/types.d.ts
@@ -446,7 +446,6 @@ declare module '@theme/NavbarItem/DocNavbarItem' {
export type Props = DefaultNavbarItemProps & {
readonly docId: string;
- readonly activeSidebarClassName: string;
readonly docsPluginId?: string;
};
diff --git a/packages/docusaurus-theme-classic/src/validateThemeConfig.js b/packages/docusaurus-theme-classic/src/validateThemeConfig.js
index 5f0538b0b2..730bd317f1 100644
--- a/packages/docusaurus-theme-classic/src/validateThemeConfig.js
+++ b/packages/docusaurus-theme-classic/src/validateThemeConfig.js
@@ -79,7 +79,6 @@ const DocItemSchema = NavbarItemBaseSchema.append({
type: Joi.string().equal('doc').required(),
docId: Joi.string().required(),
docsPluginId: Joi.string(),
- activeSidebarClassName: Joi.string().default('navbar__link--active'),
});
const itemWithType = (type) => {
diff --git a/website/docs/api/themes/theme-configuration.md b/website/docs/api/themes/theme-configuration.md
index 2e17a57ce0..6b635305eb 100644
--- a/website/docs/api/themes/theme-configuration.md
+++ b/website/docs/api/themes/theme-configuration.md
@@ -351,7 +351,6 @@ Accepted fields:
| `docId` | `string` | The ID of the doc that this item links to. | Yes | |
| `label` | `string` | The name to be shown for this item. | No | `docId` |
| `position` | 'left' | 'right'
| The side of the navbar this item should appear on. | No | `'left'` |
-| `activeSidebarClassName` | `string` | The CSS class name to apply when this doc's sidebar is active. | No | `'navbar__link--active'` |
| `docsPluginId` | `string` | The ID of the docs plugin that the doc belongs to. | No | `'default'` |
Example configuration: