/** * @usevyre/react — PieChart * * AI CONTEXT: * ┌──────────────────────────────────────────────────────────────────┐ * │ Component: PieChart │ * │ Import: import { PieChart } from "@usevyre/react" │ * │ │ * │ Single-level pie/donut chart. FLAT data (NOT multi-series). │ * │ data = { name: string; value: number }[] (required) │ * │ config = ChartConfig (optional — { name: {label,color} }) │ * │ unmatched names fall back to a token color cycle │ * │ donut = boolean (default false — hollow center ring) │ * │ size = number (default 240 — svg width AND height) │ * │ showLegend = boolean (default true — toggleable segments) │ * │ showTooltip = boolean (default true — hover segment) │ * │ │ * │ One per datum; colors come from config or the │ * │ documented token cycle. Hidden segments are excluded + total │ * │ recomputed from the visible ones. │ * │ │ * │ ANTI-PATTERNS: │ * │ ❌ data={[1, 2, 3]} ✅ data={[{ name, value }]} │ * │ ❌ color="blue" ✅ config token or auto cycle │ * │ ❌ / children ✅ data + donut props │ * └──────────────────────────────────────────────────────────────────┘ * * @example * */ import React from "react"; import type { ChartConfig } from "../Chart/chart-types"; export interface PieDatum { name: string; value: number; } export interface PieChartProps { data: PieDatum[]; config?: ChartConfig; donut?: boolean; size?: number; showLegend?: boolean; showTooltip?: boolean; className?: string; } export declare const PieChart: React.FC;