goobs-frontend
Version:
A comprehensive React-based libary for building modern web applications
48 lines • 2.32 kB
TypeScript
import { default as React } from 'react';
import { FieldStyleOverrides } from '../../Shell';
export interface InternalIncrementNumberFieldProps {
/** Seed for the uncontrolled display (default '0'). Ignored once `value` is set. */
initialValue?: string;
/**
* Fires whenever the value changes (typed input, +/- click, or
* mousedown auto-repeat). Always passes the resulting numeric value
* — the legacy polymorphic `(event | number) => void` shape was
* unworkable for callers that needed to read the value.
*/
onChange?: (value: number) => void;
label?: React.ReactNode;
/** Lower clamp for typed and stepped values (default 0). */
min?: number;
/** Upper clamp for typed and stepped values (unclamped when omitted). */
max?: number;
/** Milliseconds a +/- button is held before auto-repeat kicks in (default 500). */
initialDelay?: number;
/** Milliseconds between auto-repeat steps while a +/- button stays held (default 100). */
repeatInterval?: number;
/** Controlled value as a string; drives the display verbatim when set. */
value?: string;
placeholder?: string;
id?: string;
/** Forwarded to the input as `name` for native form submission. */
name?: string;
onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;
onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
helperText?: string;
/** Error message rendered below the input; sets aria-invalid. */
error?: string | boolean;
/** Stable test selector — emitted as `data-field` on the wrapper. */
dataField?: string;
/** Stable test selector — emitted as `data-field-name` on the wrapper. */
dataFieldName?: string;
styles?: FieldStyleOverrides;
}
/**
* Integer stepper built on FieldShell: a numeric text input with stacked +/-
* buttons inside the frame that auto-repeat while held (`initialDelay`, then
* `repeatInterval`). `onChange` emits the plain numeric value — not a DOM
* event. Auto-binds by `name` inside a goobs `<Form>` (the engine stores the
* number); otherwise the string `value` prop controls the display.
*/
declare const InternalIncrementNumberField: React.FC<InternalIncrementNumberFieldProps>;
export default InternalIncrementNumberField;
//# sourceMappingURL=index.d.ts.map