/** * VariablePieChart (camembert à rayon variable) - API canonique (référence * Svelte, React/Vue doivent s'aligner) * * Camembert où chaque part porte DEUX informations : * - l'ANGLE de la part ∝ value (les angles somment à 360°, comme un * camembert classique) ; * - le RAYON de la part ∝ z (une 2e métrique), mappé linéairement entre un * rayon minimum et un rayon maximum. C'est ce rayon variable qui distingue * ce graphique d'un camembert ordinaire (rayon constant) et d'une rose de * Nightingale (angles égaux, rayon ∝ value). * * Échelle du rayon : radius = rMin + (z - zMin) / (zMax - zMin) * (rMax - rMin). * Mapping linéaire entre la plus petite et la plus grande valeur de z. Si * toutes les valeurs de z sont égales, toutes les parts prennent rMax. * * Props obligatoires : * data VariablePieChartDatum[] - {label, value, z, tone?} * label string - aria-label du graphique * * Props optionnelles : * width number (défaut 360) - largeur du viewBox en px * height number (défaut 360) - hauteur du viewBox en px * class string - classe CSS supplémentaire * * Labels : le libellé est posé sur la part si elle est assez grande (angle * suffisant et rayon > 40% de R). Couleur de texte calculée par * contrastTextForTone() pour garantir le contraste WCAG sur chaque fond * catégoriel - pas de blanc fixe. * * NaN/négatif : les data dont value est non-finie ou ≤ 0 sont ignorées * (filtrées). z non-fini est ramené à 0. Tableau vide → rendu vide sans * crash. */ export type VariablePieChartTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8"; export type VariablePieChartDatum = { label: string; value: number; z: number; tone?: VariablePieChartTone; }; type VariablePieChartProps = { data: VariablePieChartDatum[]; label: string; width?: number; height?: number; class?: string; }; declare const VariablePieChart: import("svelte").Component; type VariablePieChart = ReturnType; export default VariablePieChart; //# sourceMappingURL=VariablePieChart.svelte.d.ts.map