/**
* Components overview — the three grouped specimens for the Primer's
* "Components" section. Each maps to one `components/` subfolder and lays its
* members out as labelled rows (a mono tag on the left, live specimens on the
* right):
*
* · ControlsOverview — the input atoms (`components/controls/`).
* · ShowcaseOverview — the shell molecules & organisms (`components/showcase/`).
* · PrimerOverview — the Primer-authoring primitives (`components/primer-specimen/`).
*
* Like the other showcase specimens, these compose the design-system components
* directly, so they track the live theme. The labelled-row chrome
* (`dcpl-overview` / `dcpl-ovrow` / `dcpl-ovlabel`) is defined in
* `components/primer-specimen/styles.ts`.
*/
import { type ReactNode, useState } from 'react'
import {
Button,
Chip,
Eyebrow,
FlowNav,
IconButton,
Input,
NavItem,
RenderAddress,
Select,
SelectMenu,
Sidebar,
Stage,
TweaksPanel,
} from '../components'
import {
type BoxSpec,
GlyphGrid,
type SpaceStep,
SpacingScale,
SpecimenBoxRow,
type Swatch,
SwatchGrid,
} from '../components/primer-specimen'
/** One labelled row inside an overview: mono tag left, specimens right. */
function OverviewRow({
label,
align,
children,
}: {
label: string
/** Top-align the tag when the row holds a tall specimen (a panel, a tree). */
align?: 'start'
children: ReactNode
}) {
return (
{label}
{children}
)
}
/** The input atoms — `components/controls/`. */
export function ControlsOverview() {
// SelectMenu is controlled — the row owns its committed value.
const [device, setDevice] = useState('Desktop')
return (