/v1.0

YearField

YearField renderiza un <input type="number"> restringido a valores de año. Emite un number (no un string) via onChange. Las props opcionales minYear y maxYear limitan el rango seleccionable, y step controla el incremento.

Props

| Prop | Tipo | Requerido | Por defecto | Descripción | |------|------|-----------|-------------|-------------| | value | number | No | — | Año seleccionado actualmente como número. | | onChange | (value: number) => void | Sí | — | Llamado con el nuevo año como número cuando el usuario cambia el valor. | | label | string | No | — | Etiqueta mostrada sobre el input. | | description | string | No | — | Texto de ayuda mostrado debajo del input. | | minYear | number | No | — | Año mínimo seleccionable. | | maxYear | number | No | — | Año máximo seleccionable. | | step | number | No | 1 | Cantidad de incremento/decremento por paso. | | containerStyle | React.CSSProperties | No | — | Estilos del div contenedor raíz. | | inputStyle | React.CSSProperties | No | — | Estilos aplicados directamente al elemento <input>. | | labelStyle | React.CSSProperties | No | — | Estilos del elemento de etiqueta. | | descriptionStyle | React.CSSProperties | No | — | Estilos del párrafo de descripción. | | className | string | No | — | Clase CSS del contenedor raíz. | | id | string | No | — | Atributo id del contenedor raíz. |

Uso

Básico

import React, { useState } from 'react';
import YearField from '@/components/fields/YearField';

export default function Example() {
  const [year, setYear] = useState(new Date().getFullYear());

  return (
    <YearField
      label="Año"
      value={year}
      onChange={setYear}
    />
  );
}

Con año mínimo y máximo

<YearField
  label="Año fiscal"
  value={fiscalYear}
  onChange={setFiscalYear}
  minYear={2000}
  maxYear={2030}
  description="Seleccioná un año entre 2000 y 2030."
/>