/**
 * レポートの KPI カードの前期比（矢印・数・色）。★丸めた数が 0 なら「→」・色なし★（指示書BC 5-3。D-183）—
 *   施設別パフォーマンスの「変化」（`diffText()` / `diffTone()`）と同じ考え方。旧: 生値の符号で「▼0%」を改善の色で出していた。
 * ★期待値表は `lib/format/__tests__/kpi-delta.test.ts`★（K1〜K8）。
 */
export interface KpiDeltaView {
  arrow: "▲" | "▼" | "→";
  /** 表示する数（%。整数に丸めた絶対値） */
  percent: number;
  /** good = 改善 / bad = 悪化 / neutral = 横ばい */
  tone: "good" | "bad" | "neutral";
}

export function kpiDeltaView(diff: number, betterWhenHigher: boolean): KpiDeltaView {
  const percent = Math.round(Math.abs(diff));
  if (percent === 0) return { arrow: "→", percent: 0, tone: "neutral" };
  return {
    arrow: diff > 0 ? "▲" : "▼",
    percent,
    tone: diff > 0 === betterWhenHigher ? "good" : "bad",
  };
}
