///
import { computed, NAME, pattern, UI } from "commontools";
export default pattern(() => {
// Line chart data - simple number array (auto-indexed x)
const sparklineData = computed(() => [1, 3, 2, 5, 4, 7, 6, 8, 5, 9, 7, 10]);
// Time series data
const priceData = computed(() => {
const base = 150;
const points = [];
for (let i = 0; i < 30; i++) {
const date = new Date(2025, 0, i + 1);
points.push({
date: date.toISOString(),
price: base + Math.sin(i / 3) * 20 + i * 0.5,
});
}
return points;
});
// Bar chart data
const monthlyData = computed(() => [
{ month: "Jan", revenue: 4200 },
{ month: "Feb", revenue: 5100 },
{ month: "Mar", revenue: 3800 },
{ month: "Apr", revenue: 6200 },
{ month: "May", revenue: 5500 },
{ month: "Jun", revenue: 7100 },
]);
return {
[NAME]: "Chart Demo",
[UI]: (
ct-chart Demo
{/* Sparkline */}
Sparkline (inline, no axes)
Trend:
{/* Line chart with axes + grid + labels */}
Line Chart (with labels and grid)
{/* Layered area + line */}
Area + Line (layered)
{/* Bar chart */}
Bar Chart
{/* Dot/scatter */}
Scatter Plot
),
};
});