diff --git a/docs/src/app/(private)/experiments/[...slug]/page.tsx b/docs/src/app/(private)/experiments/[...slug]/page.tsx index 8df0c8d147..1200caa668 100644 --- a/docs/src/app/(private)/experiments/[...slug]/page.tsx +++ b/docs/src/app/(private)/experiments/[...slug]/page.tsx @@ -24,12 +24,12 @@ export default async function Page(props: Props) { try { const Experiment = (await import(`../${slug.join('/')}.tsx`)).default; return ( - - +
+
- +
); } catch (error) { notFound(); diff --git a/docs/src/app/(private)/experiments/infra/Sidebar.module.css b/docs/src/app/(private)/experiments/infra/Sidebar.module.css index c80e7969be..1e716161ce 100644 --- a/docs/src/app/(private)/experiments/infra/Sidebar.module.css +++ b/docs/src/app/(private)/experiments/infra/Sidebar.module.css @@ -1,8 +1,6 @@ .root { - flex: 1 1 300px; - max-width: 400px; border-right: 1px solid var(--color-gridline); - font-size: var(--text-sm); + overflow: auto; & h2 { text-transform: uppercase; diff --git a/docs/src/app/(private)/experiments/infra/Sidebar.tsx b/docs/src/app/(private)/experiments/infra/Sidebar.tsx index 541583b260..38d2033300 100644 --- a/docs/src/app/(private)/experiments/infra/Sidebar.tsx +++ b/docs/src/app/(private)/experiments/infra/Sidebar.tsx @@ -1,12 +1,13 @@ import * as React from 'react'; +import clsx from 'clsx'; import { ExperimentsList } from './ExperimentsList'; import { EditPanel } from './EditPanel'; import classes from './Sidebar.module.css'; export function Sidebar(props: SidebarProps) { - const { experimentPath } = props; + const { experimentPath, className, ...otherProps } = props; return ( -
+
{experimentPath && (
@@ -18,6 +19,6 @@ export function Sidebar(props: SidebarProps) { ); } -interface SidebarProps { +interface SidebarProps extends React.HTMLAttributes { experimentPath?: string; } diff --git a/docs/src/app/(private)/experiments/layout.module.css b/docs/src/app/(private)/experiments/layout.module.css deleted file mode 100644 index d3246578ee..0000000000 --- a/docs/src/app/(private)/experiments/layout.module.css +++ /dev/null @@ -1,20 +0,0 @@ -.root { - display: flex; - min-height: 100vh; - font-family: - ui-sans-serif, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI Variable Display', - 'Segoe UI', - Helvetica, - 'Apple Color Emoji', - Arial, - sans-serif; - - & h1 { - font-size: 2rem; - margin-bottom: 1rem; - font-weight: 500; - } -} diff --git a/docs/src/app/(private)/experiments/layout.tsx b/docs/src/app/(private)/experiments/layout.tsx deleted file mode 100644 index 0981a6f646..0000000000 --- a/docs/src/app/(private)/experiments/layout.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import * as React from 'react'; -import 'docs/src/styles.css'; -import classes from './layout.module.css'; - -export default function Layout({ children }: React.PropsWithChildren<{}>) { - return
{children}
; -} diff --git a/docs/src/app/(private)/experiments/page.module.css b/docs/src/app/(private)/experiments/page.module.css index 42e166e00b..30abae1f9c 100644 --- a/docs/src/app/(private)/experiments/page.module.css +++ b/docs/src/app/(private)/experiments/page.module.css @@ -1,3 +1,30 @@ +.root { + display: flex; + min-height: 100vh; + font-family: + ui-sans-serif, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI Variable Display', + 'Segoe UI', + Helvetica, + 'Apple Color Emoji', + Arial, + sans-serif; + + --sidebar-width: 260px; + + @media screen and (max-width: 1300px) { + --sidebar-width: 20vw; + } + + & h1 { + font-size: 2rem; + margin-bottom: 1rem; + font-weight: 500; + } +} + .main { flex: 1 1 100%; display: flex; @@ -6,6 +33,24 @@ font-family: var(--ff-sans); padding: 20px; background-color: var(--color-background); + margin-left: var(--sidebar-width); + + @media screen and (max-width: 650px) { + margin: 0; + } +} + +.sidebar { + width: var(--sidebar-width); + font-size: var(--text-sm); + position: fixed; + top: 0; + bottom: 0; + left: 0; + + @media screen and (max-width: 650px) { + display: none; + } } .landing { diff --git a/docs/src/app/(private)/experiments/page.tsx b/docs/src/app/(private)/experiments/page.tsx index d4d8bb0ce6..a939a3b706 100644 --- a/docs/src/app/(private)/experiments/page.tsx +++ b/docs/src/app/(private)/experiments/page.tsx @@ -1,16 +1,16 @@ import * as React from 'react'; import clsx from 'clsx'; -import classes from './page.module.css'; import { Sidebar } from './infra/Sidebar'; +import classes from './page.module.css'; export default async function Experiments() { return ( - - +
+

Base UI experiments

← Choose an experiment from the list

- +
); } diff --git a/docs/src/app/(private)/layout.tsx b/docs/src/app/(private)/layout.tsx index 5d7c28ceea..50f871668b 100644 --- a/docs/src/app/(private)/layout.tsx +++ b/docs/src/app/(private)/layout.tsx @@ -1,4 +1,5 @@ import * as React from 'react'; +import 'docs/src/styles.css'; import './layout.css'; export default function Layout({ children }: React.PropsWithChildren) {