import { useState, type ReactNode } from "react"; import { Avatar, Badge, Button, Card, IconButton, Input, SegmentedControl, } from "@trails-cool/ui"; const UndoIcon = () => ( ); const RedoIcon = () => ( ); const COLOR_MODES = [ { value: "plain", label: "Plain" }, { value: "elevation", label: "Elevation" }, { value: "surface", label: "Surface" }, ] as const; /** * Dev-only gallery for the shared UI primitives. Renders every primitive in * its variants/states on one page so components can be built and eyeballed in * isolation — the lightweight alternative to Storybook. Registered only in * non-production builds (see routes.ts). */ function Section({ title, children }: { title: string; children: ReactNode }) { return (

{title}

{children}
); } export default function DevUi() { const [colorMode, setColorMode] = useState<(typeof COLOR_MODES)[number]["value"]>("elevation"); return (

UI primitives

Shared @trails-cool/ui components on the design-system tokens.

Neutral Elevation NIGHT 2
selected: {colorMode}
ulle Host

Subtle card

On a subtle surface tone.

Raised card

Elevated with a soft shadow.

); }