Skip to content

Tipos de eventos

gluBox exporta tipos dedicados para los callbacks de cada componente. Podés usarlos para tipar handlers, pasarlos como props a funciones auxiliares o documentar contratos en tu app sin repetir firmas.

Importación

tsx
import type {
  SelectOnChangeHandler,
  SelectChangeValue,
  PopupOnCloseHandler,
  ToastShowHandler,
} from 'glubox';

Utilidades genéricas

Si un evento no tiene alias propio (por ejemplo onKeyDown en Button), derivá el tipo desde las props:

tsx
import type {
  ButtonProps,
  OptionalEventHandler,
  EventHandlerPayload,
  RequiredEventHandler,
} from 'glubox';

type OnKeyDown = OptionalEventHandler<ButtonProps, 'onKeyDown'>;
type ClosePopup = RequiredEventHandler<PopupProps, 'onClose'>;
type SelectValue = EventHandlerPayload<SelectProps, 'onChange'>; // string
UtilidadUso
RequiredEventHandler<Props, 'onClose'>Callback obligatorio en props
OptionalEventHandler<Props, 'onChange'>Callback opcional
EventHandlerPayload<Props, 'onChange'>Primer argumento del handler

Por componente

Button

TipoSignatura
ButtonOnClickHandler(event: MouseEvent<HTMLButtonElement>) => void
tsx
const handleClick: ButtonOnClickHandler = (event) => {
  event.preventDefault();
};

Select

TipoSignatura
SelectOnChangeHandler(value: string) => void
SelectChangeValuestring

TextBox

TipoSignatura
TextBoxOnChangeHandler(event: ChangeEvent<HTMLInputElement>) => void
TextBoxOnFocusHandler(event: FocusEvent<HTMLInputElement>) => void
TextBoxOnBlurHandler(event: FocusEvent<HTMLInputElement>) => void

TextArea

TipoSignatura
TextAreaOnChangeHandler(event: ChangeEvent<HTMLTextAreaElement>) => void
TextAreaOnFocusHandler(event: FocusEvent<HTMLTextAreaElement>) => void
TextAreaOnBlurHandler(event: FocusEvent<HTMLTextAreaElement>) => void

DataGrid

TipoSignatura
DataGridOnRowSelectHandler<T>(row: T) => void
DataGridOnSelectionChangeHandler<T>(selectedRows: T[]) => void
DataGridOnPageChangeHandler(page: number) => void
DataGridOnPageSizeChangeHandler(pageSize: number) => void

DateBox

TipoSignatura
DateBoxOnChangeHandler(event: ChangeEvent<HTMLInputElement>) => void

RangeDateBox

TipoSignatura
RangeDateBoxOnChangeHandler(range: DateRange) => void
RangeDateBoxChangeEvent{ start: string; end: string }

OptionGroup

TipoSignatura
OptionGroupOnChangeHandler(value: string) => void
OptionGroupChangeValuestring

CheckButton

TipoSignatura
CheckButtonOnChangeHandler(checked: boolean) => void
CheckButtonChangeValueboolean
TipoSignatura
SidebarOnCollapsedChangeHandler(collapsed: boolean) => void
SidebarOnNavigateHandler(path: string) => void
TipoSignatura
PopupOnCloseHandler() => void
PopupActionOnClickHandler() => void
tsx
const handleClose: PopupOnCloseHandler = () => setOpen(false);

Toast

TipoSignatura
ToastShowHandler(options: ShowToastOptions) => string
ToastDismissHandler(id: string) => void
ToastDismissAllHandler() => void
ToastOnCloseHandler() => void
tsx
const { show } = useToast();

const notify: ToastShowHandler = (options) => show(options);

Demo interactivo

En la app demo, cada componente documenta sus tipos de eventos en:

  • API → Events — tabla con columna «Tipo exportado» + ejemplo de importación
  • API → Types — referencia completa de handlers exportados

Siguiente paso

MIT License