diff --git a/packages/docusaurus-theme-classic/src/theme/Navbar/Content/index.tsx b/packages/docusaurus-theme-classic/src/theme/Navbar/Content/index.tsx
index a71cd478fa..987d0af87e 100644
--- a/packages/docusaurus-theme-classic/src/theme/Navbar/Content/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/Navbar/Content/index.tsx
@@ -14,10 +14,10 @@ import {
splitNavbarItems,
useNavbarMobileSidebar,
useThemeConfig,
+ useWindowSize,
} from '@docusaurus/theme-common';
import NavbarMobileSidebarToggle from '@theme/Navbar/MobileSidebar/Toggle';
import NavbarLogo from '@theme/Navbar/Logo';
-import styles from './styles.module.css';
function useNavbarItems() {
// TODO temporary casting until ThemeConfig type is improved
@@ -51,11 +51,27 @@ function NavbarContentLayout({
export default function NavbarContent(): JSX.Element {
const mobileSidebar = useNavbarMobileSidebar();
+ const windowSize = useWindowSize();
+ const isMobile = windowSize === 'mobile';
const items = useNavbarItems();
const [leftItems, rightItems] = splitNavbarItems(items);
+ const isSearchItem = (item: NavbarItemConfig) => item.type === 'search';
+ const hasExplicitSearchItem = items.some(isSearchItem);
- const autoAddSearchBar = !items.some((item) => item.type === 'search');
+ const rightMostItems = [
+ ,
+ !hasExplicitSearchItem || isMobile ? : null,
+ ];
+ if (isMobile) {
+ [rightMostItems[0], rightMostItems[1]] = [
+ rightMostItems[1]!,
+ rightMostItems[0]!,
+ ];
+ }
return (
{!mobileSidebar.disabled && }
-
+ !isSearchItem(item))
+ : leftItems
+ }
+ />
>
}
right={
@@ -72,8 +94,7 @@ export default function NavbarContent(): JSX.Element {
// Ask the user to add the respective navbar items => more flexible
<>
-
- {autoAddSearchBar && }
+ {rightMostItems}
>
}
/>
diff --git a/packages/docusaurus-theme-classic/src/theme/Navbar/Content/styles.module.css b/packages/docusaurus-theme-classic/src/theme/Navbar/Content/styles.module.css
deleted file mode 100644
index 3cbe701f24..0000000000
--- a/packages/docusaurus-theme-classic/src/theme/Navbar/Content/styles.module.css
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-/*
-Hide color mode toggle in small viewports
- */
-@media (max-width: 996px) {
- .colorModeToggle {
- display: none;
- }
-}
diff --git a/packages/docusaurus-theme-classic/src/theme/Navbar/MobileSidebar/Header/index.tsx b/packages/docusaurus-theme-classic/src/theme/Navbar/MobileSidebar/Header/index.tsx
index c58b42eb01..382ba2525d 100644
--- a/packages/docusaurus-theme-classic/src/theme/Navbar/MobileSidebar/Header/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/Navbar/MobileSidebar/Header/index.tsx
@@ -6,7 +6,6 @@
*/
import React from 'react';
-import NavbarColorModeToggle from '@theme/Navbar/ColorModeToggle';
import IconClose from '@theme/IconClose';
import NavbarLogo from '@theme/Navbar/Logo';
import {useNavbarMobileSidebar} from '@docusaurus/theme-common';
@@ -27,7 +26,6 @@ export default function NavbarMobileSidebarHeader(): JSX.Element {
return (
-
);
diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.module.css b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.module.css
index ca386bb12d..91db5adf8d 100644
--- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.module.css
+++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.module.css
@@ -5,13 +5,6 @@
* LICENSE file in the root directory of this source tree.
*/
-@media (max-width: 996px) {
- .searchBox {
- position: absolute;
- right: var(--ifm-navbar-padding-horizontal);
- }
-}
-
@media (min-width: 997px) {
.searchBox {
padding: var(--ifm-navbar-item-padding-vertical)