import { ResearchCard, ResearchComposer } from "@chopin/editor"; import { StaticPlanEditor } from "@chopin/editor/static"; import { AuditPlate, StateLabel } from "./frame"; import type { Research } from "@chopin/protocol"; export let callouts = [ '', "", "A neutral detail that supports the surrounding prose.", "", "", "", '', "", "A useful shortcut or recommended next step.", "", "", "", '', "", "A key detail that deserves extra emphasis.", "", "", "", '', "", "A condition that needs attention before continuing.", "", "", "", '', "", "An action with serious or irreversible consequences.", "", "", ].join("\n") + "\n"; let code = [ "```", "Plain text keeps its authored appearance.", "```", "", '```typescript title="tokens.ts"', "export const spacing = { compact: 8, comfortable: 12 };", "```", "", "```css collapsed", ".button { padding-inline: var(--space-3); }", "```", ].join("\n") + "\n"; let diff = [ "```diff", "--- a/button.css", "+++ b/button.css", "@@ -1 +1 @@", "-padding-inline: 8px;", "+padding-inline: 12px;", "```", "", "```diff", "This is temporarily invalid patch content.", "```", ].join("\n") + "\n"; let diagram = [ "```mermaid", "flowchart LR", " Tokens --> Controls", " Controls --> Surfaces", " Surfaces --> Documents", "```", "", "```mermaid", "this is not a valid diagram", "```", ].join("\n") + "\n"; let formula = [ "Inline spacing can be described as $s_n = 4n$ pixels.", "", "$$", "c = \\sqrt{a^2 + b^2}", "$$", ].join("\n") + "\n"; let images = [ "![Loaded image](https://avatars.githubusercontent.com/u/9919?s=160&v=4)", "", "![Unavailable image](https://invalid.example.invalid/design-audit.png)", "", "![](https://avatars.githubusercontent.com/u/9919?s=80&v=4)", ].join("\n") + "\n"; let table = [ "| Component | Default | Active |", "| :-- | :-- | :-- |", "| Button | Secondary | Brand |", "| Icon | 14px neutral | 14px brand |", "| Row | Page | Selected wash |", ].join("\n") + "\n"; let timestamp = "2026-08-28T10:00:00.000Z"; function request( stage: Research.RequestStage, ): Research.RequestView { let base: Research.RequestViewBase = { channelId: "audit-channel", createdAt: timestamp, id: `audit-research-${stage}`, question: "Which interaction patterns should the design system standardize?", sources: [], updatedAt: timestamp, }; if (stage === "failed") { return { ...base, error: "The source search timed out.", stage, state: "failed" }; } if (stage === "cancelled") return { ...base, stage, state: "cancelled" }; if (stage === "ready") { return { ...base, child: { id: "audit-research-child", slug: "design-system-patterns", sourceCount: 8, summary: "A comparison of durable interaction patterns.", title: "Design system interaction patterns", }, stage, state: "completed", }; } return { ...base, stage, state: stage === "queued" ? "pending" : "running" }; } function EditorPlate( { description, item, source, title }: { description: string; item: string; source: string; title: string; }, ) { return ( ); } function ResearchSpecimens() { let stages: Research.RequestStage[] = [ "queued", "searching", "writing", "failed", "cancelled", "ready", ]; return (
Question {}} onChange={() => {}} onSubmit={() => {}} question="Where does the current interface drift from its shared tokens?" />
{stages.map(stage => (
{stage} {}} onOpen={() => {}} onRemove={() => {}} onRetry={() => {}} request={request(stage)} />
))}
); } function TableSpecimens() { return ( Default
Selected cell ยท toolbar
Component State
Button Selected
Overflow
Component Default Hover Active
Button Secondary Raised Brand
); } export function AuthoredContent() { return ( <> ); }