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: