mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
c1b595596e
Port the full docs routing + rendering infrastructure from the 4084 branch (atai/2026-04-17/internal-showcase-followups): - New [framework]/[[...slug]] catch-all that validates the first segment against the registry and renders framework-scoped docs with a "not available for this framework" banner when the page's defaultCell is not tagged in the framework's cells. - FrameworkProvider + selector: framework is strictly URL-derived, storedFramework is an advisory localStorage signal. No auto-redirect from localStorage. - /docs/[[...slug]] rewritten as a thin wrapper around DocsPageView with a new DocsOverview landing: framework picker + topic cards. - New lib/docs-render.tsx centralising snippet inlining, frontmatter parsing, nav tree + breadcrumb builders. - New lib/mdx-registry.tsx consolidating the ~700-line component shim used by both routes. - Server <Snippet> component with demo-content regions + syntax highlighting via highlight.js. - Per-feature <InlineDemo> iframe embedder pointing at the integration's backend (single-container shape http://localhost:3100/demos/<cell>). - FrameworkTabs, docs-callout, docs-steps, docs-tabs, router-pivot, stored-framework-highlight components for the MDX registry. - Global typography + color pivot in globals.css: Plus Jakarta Sans body, Spline Sans Mono code, cool-gray background, purple accent. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
190 lines
4.3 KiB
CSS
190 lines
4.3 KiB
CSS
@import "tailwindcss";
|
|
@import "@copilotkitnext/react/styles.css";
|
|
@import "highlight.js/styles/github.css";
|
|
|
|
:root {
|
|
/* Backgrounds — match reference (oklch(0.9038 0.0149 286.1) ≈ #e6e6ec).
|
|
* Shell keeps a slightly lighter cast so code blocks on white surface
|
|
* still read well; key is that it's the same cool-gray family. */
|
|
--bg: #eaeaee;
|
|
--bg-surface: #ffffff;
|
|
--bg-elevated: #f1f1f6;
|
|
--bg-hover: #e5e5eb;
|
|
--border: #d9d9e0;
|
|
--border-dim: #e9e9ef;
|
|
--sidebar: #efeff3;
|
|
--text: #010507;
|
|
--text-secondary: #2b3238;
|
|
--text-muted: #6a7079;
|
|
--text-faint: #a3a8af;
|
|
/* Reference primary is oklch(0.55 0.25 285) — a blue-violet. Hex approx. */
|
|
--accent: #5a3cd1;
|
|
--accent-light: #ebe7fa;
|
|
--accent-dim: rgba(90, 60, 209, 0.06);
|
|
--blue: #1a5fb4;
|
|
--violet: #5a3cd1;
|
|
--violet-light: #ebe7fa;
|
|
|
|
/* Font stacks — fed by next/font CSS variables in layout.tsx with
|
|
* safe fallbacks for environments where the font fails to load.
|
|
* We expose them under `--font-prose`/`--font-code` and use those
|
|
* names in component CSS so Tailwind's own `--font-sans`/`--font-mono`
|
|
* theme tokens don't collide. */
|
|
--font-docs-prose:
|
|
var(--font-prose, "Plus Jakarta Sans"), -apple-system, BlinkMacSystemFont,
|
|
"Segoe UI", Roboto, sans-serif;
|
|
--font-docs-code:
|
|
var(--font-mono, "Spline Sans Mono"), ui-monospace, SFMono-Regular,
|
|
"SF Mono", Menlo, monospace;
|
|
}
|
|
|
|
html,
|
|
body {
|
|
background: var(--bg);
|
|
color: var(--text);
|
|
font-family: var(--font-docs-prose);
|
|
font-feature-settings: "cv11", "ss01";
|
|
letter-spacing: -0.005em;
|
|
}
|
|
|
|
/* Code font inherits Spline Sans Mono via CSS variable */
|
|
code,
|
|
pre,
|
|
kbd,
|
|
samp {
|
|
font-family: var(--font-docs-code);
|
|
}
|
|
|
|
/* Reference content (MDX) typography — calibrated against docs.copilotkit.ai.
|
|
* The reference uses fumadocs' default prose scale: body ~15px, h2 ~1.5rem
|
|
* with tighter tracking, and tonally-darker headings than body. */
|
|
.reference-content {
|
|
font-size: 0.9375rem; /* 15px */
|
|
line-height: 1.65;
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
.reference-content h2 {
|
|
font-size: 1.5rem;
|
|
font-weight: 700;
|
|
color: var(--text);
|
|
margin-top: 2.5rem;
|
|
margin-bottom: 0.75rem;
|
|
padding-bottom: 0;
|
|
letter-spacing: -0.015em;
|
|
}
|
|
|
|
.reference-content h3 {
|
|
font-size: 1.125rem;
|
|
font-weight: 600;
|
|
color: var(--text);
|
|
margin-top: 2rem;
|
|
margin-bottom: 0.5rem;
|
|
letter-spacing: -0.01em;
|
|
}
|
|
|
|
.reference-content h4 {
|
|
font-size: 1rem;
|
|
font-weight: 600;
|
|
color: var(--text);
|
|
margin-top: 1.25rem;
|
|
margin-bottom: 0.25rem;
|
|
}
|
|
|
|
.reference-content p {
|
|
font-size: 0.9375rem;
|
|
color: var(--text-secondary);
|
|
line-height: 1.7;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.reference-content ul,
|
|
.reference-content ol {
|
|
font-size: 0.9375rem;
|
|
color: var(--text-secondary);
|
|
padding-left: 1.5rem;
|
|
margin-bottom: 1rem;
|
|
line-height: 1.65;
|
|
}
|
|
|
|
.reference-content li {
|
|
margin-bottom: 0.375rem;
|
|
}
|
|
|
|
.reference-content ul {
|
|
list-style-type: disc;
|
|
}
|
|
|
|
.reference-content ol {
|
|
list-style-type: decimal;
|
|
}
|
|
|
|
.reference-content code {
|
|
font-size: 0.8125rem;
|
|
background: var(--bg-elevated);
|
|
padding: 0.125rem 0.375rem;
|
|
border-radius: 0.25rem;
|
|
font-family: var(--font-docs-code);
|
|
color: var(--text);
|
|
}
|
|
|
|
/* Bare <pre> fallback (when an MDX page uses a triple-fence rather than
|
|
* <Snippet>). Mirrors the chrome on <Snippet>'s figure so pages look
|
|
* consistent whether the code is live-from-cell or inline. */
|
|
.reference-content pre {
|
|
background: var(--bg-surface);
|
|
border: 1px solid var(--border);
|
|
border-radius: 0.5rem;
|
|
padding: 1rem;
|
|
overflow-x: auto;
|
|
margin-bottom: 1.25rem;
|
|
font-size: 0.8125rem;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.reference-content pre code {
|
|
background: transparent;
|
|
padding: 0;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.reference-content a {
|
|
color: var(--accent);
|
|
text-decoration: underline;
|
|
text-underline-offset: 2px;
|
|
}
|
|
|
|
.reference-content a:hover {
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.reference-content table {
|
|
width: 100%;
|
|
font-size: 0.8125rem;
|
|
border-collapse: collapse;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.reference-content th,
|
|
.reference-content td {
|
|
border: 1px solid var(--border);
|
|
padding: 0.5rem 0.75rem;
|
|
text-align: left;
|
|
}
|
|
|
|
.reference-content th {
|
|
background: var(--bg-elevated);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.reference-content strong {
|
|
font-weight: 600;
|
|
color: var(--text);
|
|
}
|
|
|
|
.reference-content hr {
|
|
border: none;
|
|
border-top: 1px solid var(--border);
|
|
margin: 1.5rem 0;
|
|
}
|