Saltar al contenido
El Muestrario

componente · @solu30/ui-kit/input

QuantityStepper

Control de cantidad con menos y más, y número tipeable cuando el rango útil es de cientos.

Seguir leyendo — 2 párrafos más

Pill-shaped +/N/- stepper for quantity inputs. Controlled: caller owns the value via onChange.

Con editable, el número del medio es un campo tipeable: el draft es local mientras se escribe y se commitea (clampeado a [min,max]) en blur o Enter — así onChange no dispara una mutación por tecla. Escape descarta el draft.

10 sitios de import en 4 de 15 verticales — un archivo que la importa cuenta una vez, monte una instancia o veinte.

  • TheCharterPanel
  • cmp-packages
  • gestorsalon
  • luigi

El componente, montado

Cargando el espécimen…

Cómo se usa

import { QuantityStepper } from '@solu30/ui-kit/input'

Props

11 props declaradas en los tipos de la versión instalada.
PropRequeridaTipoQué hace
valuesínumber—
onChangesí(value: number) => void—
minopcionalnumber—
maxopcionalnumber—
decrementLabelopcionalstring—
incrementLabelopcionalstring—
classNameopcionalstring—
sizeopcional"sm" | "md"@default "md"
editableopcionalbooleanPermite tipear el valor en vez de llegar a él a click de +/−. Imprescindible cuando el rango útil es de cientos (ej. repartir 186 comensales entre menús): el stepper puro obliga a 186 clicks. @default false
inputLabelopcionalstringaria-label del campo numérico. Sólo se usa con `editable`.
disabledopcionalbooleanDeshabilita el control entero (botones + campo).

Ejemplo del paquete

// `editable` deja escribir el número además de usar los botones;
// ahí `inputLabel` es obligatorio para que el campo tenga nombre accesible.
<QuantityStepper value={cantidad} onChange={setCantidad} min={1} max={20}
  editable inputLabel="Cantidad de invitados" />

Del @example del JSDoc de @solu30/ui-kit, sin editar: son 65 de los 541 símbolos. La sangría y los renglones en blanco son los del paquete.