// WCAG technique: adjust root font-size in percentage steps.
let step = 0;

export function increase(): void {
  step = Math.min(step + 1, 5);
  apply();
}

export function decrease(): void {
  step = Math.max(step - 1, -3);
  apply();
}

export function reset(): void {
  step = 0;
  apply();
}

export function getStep(): number {
  return step;
}

export function setStep(s: number): void {
  step = Math.max(-3, Math.min(5, s));
  apply();
}

function apply(): void {
  if (step === 0) {
    document.documentElement.style.removeProperty('font-size');
  } else {
    document.documentElement.style.fontSize = `${100 + step * 10}%`;
  }
}
