mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 21:47:20 +00:00
36 lines
894 B
TypeScript
36 lines
894 B
TypeScript
import PropTypes from "prop-types";
|
|
|
|
export default PropTypes.shape({
|
|
error: PropTypes.string,
|
|
name: PropTypes.string,
|
|
onChange: PropTypes.func,
|
|
value: PropTypes.oneOfType([
|
|
PropTypes.array,
|
|
PropTypes.bool,
|
|
PropTypes.number,
|
|
PropTypes.string,
|
|
]),
|
|
});
|
|
|
|
export interface IFormField<T = any[] | boolean | number | string> {
|
|
error: string;
|
|
name: string;
|
|
onChange: (value: any) => void;
|
|
value: T;
|
|
}
|
|
|
|
/**
|
|
* InputField onChange receives either the field value or an object { name, value },
|
|
* depending on parseTarget.
|
|
* - Default: (value) => void
|
|
* - With parseTarget: ({ name, value }) => void
|
|
*/
|
|
export interface IInputFieldParseTarget<T = string | number | boolean> {
|
|
name: string;
|
|
value: T;
|
|
}
|
|
|
|
/** Return type of onInputChange of InputField */
|
|
export type InputFieldOnChange<T> =
|
|
| ((value: T) => void)
|
|
| ((evt: IInputFieldParseTarget<T>) => void);
|