From ca035d8562708b4bab81d958bac839d7de3ed741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Fri, 21 Feb 2025 19:03:49 +0100 Subject: [PATCH] feat(theme): add theme layout stable CSS classes (#10945) --- .../src/theme/AnnouncementBar/index.tsx | 8 ++++-- .../src/theme/Footer/Layout/index.tsx | 3 ++- .../theme/Footer/Links/MultiColumn/index.tsx | 8 +++++- .../src/theme/Layout/index.tsx | 1 + .../src/theme/Navbar/Content/index.tsx | 23 +++++++++++++--- .../src/theme/Navbar/Layout/index.tsx | 3 ++- .../Navbar/MobileSidebar/Layout/index.tsx | 23 +++++++++++++--- .../src/utils/ThemeClassNames.ts | 27 +++++++++++++++++-- 8 files changed, 83 insertions(+), 13 deletions(-) diff --git a/packages/docusaurus-theme-classic/src/theme/AnnouncementBar/index.tsx b/packages/docusaurus-theme-classic/src/theme/AnnouncementBar/index.tsx index ddea4e602c..d2f54e2525 100644 --- a/packages/docusaurus-theme-classic/src/theme/AnnouncementBar/index.tsx +++ b/packages/docusaurus-theme-classic/src/theme/AnnouncementBar/index.tsx @@ -6,7 +6,8 @@ */ import React, {type ReactNode} from 'react'; -import {useThemeConfig} from '@docusaurus/theme-common'; +import clsx from 'clsx'; +import {ThemeClassNames, useThemeConfig} from '@docusaurus/theme-common'; import {useAnnouncementBar} from '@docusaurus/theme-common/internal'; import AnnouncementBarCloseButton from '@theme/AnnouncementBar/CloseButton'; import AnnouncementBarContent from '@theme/AnnouncementBar/Content'; @@ -22,7 +23,10 @@ export default function AnnouncementBar(): ReactNode { const {backgroundColor, textColor, isCloseable} = announcementBar!; return (
{isCloseable &&
} diff --git a/packages/docusaurus-theme-classic/src/theme/Footer/Layout/index.tsx b/packages/docusaurus-theme-classic/src/theme/Footer/Layout/index.tsx index 01d337628e..ae9c42b606 100644 --- a/packages/docusaurus-theme-classic/src/theme/Footer/Layout/index.tsx +++ b/packages/docusaurus-theme-classic/src/theme/Footer/Layout/index.tsx @@ -7,6 +7,7 @@ import React, {type ReactNode} from 'react'; import clsx from 'clsx'; +import {ThemeClassNames} from '@docusaurus/theme-common'; import type {Props} from '@theme/Footer/Layout'; export default function FooterLayout({ @@ -17,7 +18,7 @@ export default function FooterLayout({ }: Props): ReactNode { return (