- {/* `null` is reserved for "file isn't synced". An empty string is a
- real (if blank) doc and must still render via `Markdown`. */}
- {source !== null ? (
-
- ) : (
-
-
{page.title}
- {page.desc && (
-
{page.desc}
- )}
-
-
- Not synced. The markdown file for this page
- wasn't found at content/docs/{page.file}. Run{" "}
- bun run sync-docs from the website directory to pull
- the latest content from the repo's docs/ folder.
-
-
- Meanwhile
-
- You can read the Overview for a summary
- of the feature set, or jump into the{" "}
- Playground to try the language.
-
-
- )}
-
-
- );
-}
diff --git a/website/src/components/landing.tsx b/website/src/components/landing.tsx
index 55b6f5497..493f78bc9 100644
--- a/website/src/components/landing.tsx
+++ b/website/src/components/landing.tsx
@@ -1,5 +1,11 @@
"use client";
+import { Card } from "@astryxdesign/core/Card";
+import { CodeBlock } from "@astryxdesign/core/CodeBlock";
+import { Collapsible, CollapsibleGroup } from "@astryxdesign/core/Collapsible";
+import { Heading } from "@astryxdesign/core/Heading";
+import { Text } from "@astryxdesign/core/Text";
+import { VStack } from "@astryxdesign/core/VStack";
import Link from "next/link";
import {
Fragment,
@@ -13,10 +19,7 @@ import { AnchorH2, AnchorH3 } from "@/components/anchor-heading";
import { AnimatedOutput } from "@/components/animated-output";
import { useRunShortcut } from "@/components/command-tabs";
import { ConsolePanel } from "@/components/console-panel";
-import {
- HighlightedCode,
- HighlightedGeneric,
-} from "@/components/highlighted-code";
+import { HighlightedCode } from "@/components/highlighted-code";
import {
ArrowIcon,
BookIcon,
@@ -29,7 +32,6 @@ import {
ShieldIcon,
} from "@/components/icons";
import { LatestVersion } from "@/components/latest-version";
-import { NumberedCode } from "@/components/numbered-code";
import { QuickInstall } from "@/components/quick-install";
import type { OutputLine } from "@/lib/examples";
import { formatError } from "@/lib/format-error";
@@ -591,9 +593,15 @@ console.log("total:", total);`;
{active === 0 && (
- );
-}
diff --git a/website/src/components/numbered-code.tsx b/website/src/components/numbered-code.tsx
deleted file mode 100644
index 361882460..000000000
--- a/website/src/components/numbered-code.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import type { ReactNode } from "react";
-
-/** Code block with a left-side line-number gutter — used across the
- * homepage so all rendered code samples have the same look. The
- * `lineCount` is supplied by the caller (from the source string or
- * rendered text) so we don't have to introspect React children to
- * count newlines.
- *
- * Wrap the actual highlighted content as `children`; the component
- * provides only the gutter + container chrome. */
-export function NumberedCode({
- children,
- lineCount,
- className = "",
-}: {
- children: ReactNode;
- lineCount: number;
- className?: string;
-}) {
- const gutter = Array.from({ length: lineCount }, (_, i) => i + 1).join("\n");
- return (
-
-
- {gutter}
-
-
- {children}
-
-
- );
-}
diff --git a/website/src/components/performance-dashboard.tsx b/website/src/components/performance-dashboard.tsx
index 9162b8c76..c48fcef09 100644
--- a/website/src/components/performance-dashboard.tsx
+++ b/website/src/components/performance-dashboard.tsx
@@ -1,5 +1,9 @@
"use client";
+import {
+ SegmentedControl,
+ SegmentedControlItem,
+} from "@astryxdesign/core/SegmentedControl";
import { useMemo, useState } from "react";
import type {
PerformanceDashboardData,
@@ -461,19 +465,21 @@ export function PerformanceDashboard({
versions change.
-
+
{(["awfy", "jetstream"] as const).map((suite) => {
diff --git a/website/src/components/playground.tsx b/website/src/components/playground.tsx
index 874d97903..b57de96eb 100644
--- a/website/src/components/playground.tsx
+++ b/website/src/components/playground.tsx
@@ -1,5 +1,12 @@
"use client";
+import { Button } from "@astryxdesign/core/Button";
+import { CheckboxInput } from "@astryxdesign/core/CheckboxInput";
+import { IconButton } from "@astryxdesign/core/IconButton";
+import {
+ SegmentedControl,
+ SegmentedControlItem,
+} from "@astryxdesign/core/SegmentedControl";
import { useSearchParams } from "next/navigation";
import { useCallback, useEffect, useId, useRef, useState } from "react";
import { AnimatedOutput } from "@/components/animated-output";
@@ -1031,100 +1038,74 @@ export function Playground({
{(() => {
diff --git a/website/src/components/sandbox.tsx b/website/src/components/sandbox.tsx
index e418de176..747e48b5b 100644
--- a/website/src/components/sandbox.tsx
+++ b/website/src/components/sandbox.tsx
@@ -1,5 +1,7 @@
"use client";
+import { Button } from "@astryxdesign/core/Button";
+import { CheckboxInput } from "@astryxdesign/core/CheckboxInput";
import { useCallback, useEffect, useId, useRef, useState } from "react";
import { AnchorH2 } from "@/components/anchor-heading";
import { AnimatedOutput } from "@/components/animated-output";
@@ -63,15 +65,14 @@ function ToolCallComparison() {
return (
<>
-
+
Each step expands to the request body for that turn — instructions,
tool definitions, prior function calls, and function-call outputs.
@@ -825,19 +826,21 @@ export function Sandbox() {