interface ThinkingIndicatorProps {
  // 状态文案（如「审稿进行中」「验收中」「回炉中」「生成中」）。
  label: string;
  className?: string;
}

// AI 推理中动画提示：三点波动（朱砂/继承色），让长等待「看得见在工作」。
// motion-safe：尊重 prefers-reduced-motion，减动偏好下三点静止为「…」仍可读（a11y §10）。
// role=status + aria-live：屏读播报状态变化。
export function ThinkingIndicator({
  label,
  className = "",
}: ThinkingIndicatorProps) {
  return (
    <span
      className={`inline-flex items-center gap-1.5 ${className}`}
      role="status"
      aria-live="polite"
    >
      <span className="inline-flex gap-0.5" aria-hidden="true">
        {[0, 1, 2].map((i) => (
          <span
            key={i}
            className="h-1.5 w-1.5 rounded-full bg-current opacity-70 motion-safe:animate-pulse"
            style={{ animationDelay: `${i * 200}ms` }}
          />
        ))}
      </span>
      <span>{label}</span>
    </span>
  );
}
