diff --git a/packages/docusaurus-playground/docusaurus.config.js b/packages/docusaurus-playground/docusaurus.config.js index 753270b..86f6b8b 100644 --- a/packages/docusaurus-playground/docusaurus.config.js +++ b/packages/docusaurus-playground/docusaurus.config.js @@ -58,6 +58,9 @@ const config = { }, navbar: { items: [ + { + type: 'search', + }, { label: 'About', to: '/docs', diff --git a/packages/logos-docusaurus-theme/src/client/css/custom.scss b/packages/logos-docusaurus-theme/src/client/css/custom.scss index 62ee97c..23e5951 100644 --- a/packages/logos-docusaurus-theme/src/client/css/custom.scss +++ b/packages/logos-docusaurus-theme/src/client/css/custom.scss @@ -244,6 +244,10 @@ :root { --ifm-background-color: rgb(var(--lsd-surface-primary)); } + + .navbar__color-mode-toggle { + display: none !important; + } } body { diff --git a/packages/logos-docusaurus-theme/src/client/theme/ColorModeToggle/index.tsx b/packages/logos-docusaurus-theme/src/client/theme/ColorModeToggle/index.tsx index 4451f02..a62c5f9 100644 --- a/packages/logos-docusaurus-theme/src/client/theme/ColorModeToggle/index.tsx +++ b/packages/logos-docusaurus-theme/src/client/theme/ColorModeToggle/index.tsx @@ -1,9 +1,10 @@ -import React from 'react' -import clsx from 'clsx' -import useIsBrowser from '@docusaurus/useIsBrowser' +import { IconButton } from '@acid-info/lsd-react' import { translate } from '@docusaurus/Translate' -import IconLightMode from '@theme/Icon/LightMode' +import useIsBrowser from '@docusaurus/useIsBrowser' import IconDarkMode from '@theme/Icon/DarkMode' +import IconLightMode from '@theme/Icon/LightMode' +import clsx from 'clsx' +import React from 'react' import styles from './styles.module.scss' function ColorModeToggle({ className, buttonClassName, value, onChange }) { @@ -29,30 +30,30 @@ function ColorModeToggle({ className, buttonClassName, value, onChange }) { }), }, ) + return ( -
- -
+ onChange(value === 'dark' ? 'light' : 'dark')} + disabled={!isBrowser} + title={title} + aria-label={title} + aria-live="polite" + > + + + ) } diff --git a/packages/logos-docusaurus-theme/src/client/theme/Navbar/Content/index.tsx b/packages/logos-docusaurus-theme/src/client/theme/Navbar/Content/index.tsx index 5086a4d..071f7c3 100644 --- a/packages/logos-docusaurus-theme/src/client/theme/Navbar/Content/index.tsx +++ b/packages/logos-docusaurus-theme/src/client/theme/Navbar/Content/index.tsx @@ -1,3 +1,4 @@ +import { IconButtonGroup } from '@acid-info/lsd-react' import { ErrorCauseBoundary, useThemeConfig } from '@docusaurus/theme-common' import { splitNavbarItems, @@ -6,12 +7,11 @@ import { import NavbarColorModeToggle from '@theme/Navbar/ColorModeToggle' import NavbarLogo from '@theme/Navbar/Logo' import NavbarMobileSidebarToggle from '@theme/Navbar/MobileSidebar/Toggle' -import NavbarSearch from '@theme/Navbar/Search' import NavbarItem from '@theme/NavbarItem' import SearchBar from '@theme/SearchBar' import clsx from 'clsx' import React from 'react' -import styles from './styles.module.css' +import styles from './styles.module.scss' function useNavbarItems() { // TODO temporary casting until ThemeConfig type is improved @@ -43,9 +43,11 @@ ${JSON.stringify(item, null, 2)}`, export default function NavbarContent() { const mobileSidebar = useNavbarMobileSidebar() - const items = useNavbarItems() - const [leftItems, rightItems] = splitNavbarItems(items) - const searchBarItem = items.find((item) => item.type === 'search') + const allItems = useNavbarItems() + const [leftItems, rightItems] = splitNavbarItems( + allItems.filter((item) => !['search'].includes(item.type ?? '')), + ) + const searchBarItem = allItems.find((item) => item.type === 'search') return (
@@ -57,15 +59,17 @@ export default function NavbarContent() {
- - {!searchBarItem && ( - - - - )} - {!mobileSidebar.disabled && } + + + + {searchBarItem && } + {!mobileSidebar.disabled && } +
) diff --git a/packages/logos-docusaurus-theme/src/client/theme/Navbar/Content/styles.module.css b/packages/logos-docusaurus-theme/src/client/theme/Navbar/Content/styles.module.scss similarity index 60% rename from packages/logos-docusaurus-theme/src/client/theme/Navbar/Content/styles.module.css rename to packages/logos-docusaurus-theme/src/client/theme/Navbar/Content/styles.module.scss index 1b5cd10..a40a5d0 100644 --- a/packages/logos-docusaurus-theme/src/client/theme/Navbar/Content/styles.module.css +++ b/packages/logos-docusaurus-theme/src/client/theme/Navbar/Content/styles.module.scss @@ -13,3 +13,12 @@ Hide color mode toggle in small viewports justify-content: flex-end; white-space: nowrap; } + +.iconButtonGroup { + :global { + button:not(:last-child) { + margin-right: -1px !important; + border-right: 1px solid !important; + } + } +}