diff --git a/website/src/components/header/header.astro b/website/src/components/header/header.astro
index 455a7feccd7..80552fdebff 100644
--- a/website/src/components/header/header.astro
+++ b/website/src/components/header/header.astro
@@ -15,11 +15,14 @@ const { noLinks } = Astro.props;
.navbar {
display: flex;
align-items: center;
+ flex-wrap: wrap;
+ row-gap: 0.25rem;
background-color: var(--colorNeutralBackground3);
padding: 0.5rem 1rem;
margin: 0;
box-shadow: var(--shadow4);
- height: var(--header-height);
+ min-height: var(--header-height);
+ box-sizing: border-box;
}
#header-drawer-button {
display: flex;
@@ -28,6 +31,25 @@ const { noLinks } = Astro.props;
border: none;
}
+ /* On documentation pages Starlight renders its own sidebar menu button in the
+ same corner. Hide this site menu button there so the two hamburger controls
+ don't overlap. The site links stay reachable from the Starlight menu (see
+ Sidebar override). (#10795 Reflow / #10796 Resize Text) */
+ :global([data-has-sidebar]) #header-drawer-button {
+ display: none;
+ }
+
+ /* Below 50rem Starlight overlays a fixed sidebar menu button in the top-right
+ corner. Reserve room for it (mirrors Starlight's own header padding) so it
+ doesn't overlap the search button. (#10795 Reflow / #10796 Resize Text) */
+ @media (max-width: 50rem) {
+ :global([data-has-sidebar]) .navbar {
+ padding-inline-end: calc(
+ var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size)
+ );
+ }
+ }
+
.nav-content {
display: none;
}
@@ -143,6 +165,9 @@ const { noLinks } = Astro.props;
.nav-content {
display: flex;
flex: 1;
+ flex-wrap: wrap;
+ align-items: center;
+ gap: 0.25rem 0.5rem;
position: relative;
}
@@ -158,7 +183,8 @@ const { noLinks } = Astro.props;
.items {
display: flex;
align-items: center;
- flex: 1;
+ flex-wrap: wrap;
+ flex: 1 1 auto;
min-width: 0;
}
diff --git a/website/src/components/release-notification.astro b/website/src/components/release-notification.astro
index b53ce130ce2..bae9b05553c 100644
--- a/website/src/components/release-notification.astro
+++ b/website/src/components/release-notification.astro
@@ -37,9 +37,11 @@ import Link from "@typespec/astro-utils/components/link.astro";
.new-version-banner {
border: 1px solid var(--colorBrandBackground);
display: block;
- padding: 2px 1rem;
+ padding: 2px 0.6rem;
border-radius: 2px;
- line-height: 24px;
+ line-height: 22px;
+ font-size: 0.875rem;
+ white-space: nowrap;
}
.new-version-banner:hover {
outline: 1px solid var(--colorBrandBackgroundHover);
@@ -47,6 +49,16 @@ import Link from "@typespec/astro-utils/components/link.astro";
.hide {
display: none;
}
+
+ /* In the desktop header the version banner sits inline with the nav links.
+ Between 1024px and ~1200px there isn't room for it without the header
+ wrapping to a second row, so hide it in that range. Below 1024px it moves
+ into the mobile drawer (a vertical list) where it fits fine. (#10794) */
+ @media (min-width: 1024px) and (max-width: 1200px) {
+ .new-version-banner {
+ display: none;
+ }
+ }
+
+
diff --git a/website/src/components/window-carousel.astro b/website/src/components/window-carousel.astro
index 32c9606cf14..5a4ce0a5f4b 100644
--- a/website/src/components/window-carousel.astro
+++ b/website/src/components/window-carousel.astro
@@ -1,6 +1,11 @@
---
import Window from "./window.astro";
const tabs = Object.keys(Astro.slots);
+const slug = (name: string) =>
+ name
+ .toLowerCase()
+ .replace(/[^a-z0-9]+/g, "-")
+ .replace(/^-+|-+$/g, "");
---
@@ -73,25 +88,33 @@ const tabs = Object.keys(Astro.slots);
tabs.map(async (name, i) => {
const render = await Astro.slots.render(name);
return (
-
+
);
})
}
-
+
{
tabs.map((name, i) => (
-
-
{name}
-
+
))
}
@@ -100,15 +123,14 @@ const tabs = Object.keys(Astro.slots);
+ Skip to main content
-
+
{footer && }
@@ -41,20 +42,43 @@ const initJsIntegrity = computeSriHash("1ds-init.js");