@open-tender/utils
Version:
A library of utils for use with Open Tender applications that utilize our cloud-based Order API.
81 lines (80 loc) • 3.28 kB
TypeScript
/// <reference types="react" />
import { Customer, CustomerCreate, RequestError, RequestStatus } from '@open-tender/types';
export declare const useProfileForm: (profile: Customer | null, loading: RequestStatus, error: RequestError, update: (data: CustomerCreate) => void, callback?: ((data: CustomerCreate) => void) | undefined, optionalFields?: string[], disabledFields?: string[]) => {
submitRef: import("react").MutableRefObject<HTMLButtonElement | null>;
data: Customer | null;
errors: Record<string, string>;
submitting: boolean;
fields: ({
disabled: boolean | undefined;
description?: string | undefined;
id?: string | undefined;
label?: string | undefined;
name: string;
on?: boolean | undefined;
onChange?: import("react").ChangeEventHandler<HTMLInputElement> | undefined;
required?: boolean | undefined;
showLabel?: boolean | undefined;
type: string;
} | {
disabled: boolean | undefined;
autoComplete?: string | undefined;
children?: JSX.Element | undefined;
error?: string | null | undefined;
icon?: JSX.Element | undefined;
label?: string | undefined;
max?: number | undefined;
min?: number | undefined;
name: string;
onChange?: import("react").ChangeEventHandler<HTMLInputElement> | undefined;
onBlur?: ((evt: any) => void) | undefined;
pattern?: string | undefined;
placeholder?: string | undefined;
readOnly?: boolean | undefined;
required?: boolean | undefined;
showLabel?: boolean | undefined;
style?: import("react").CSSProperties | undefined;
type: string;
value?: string | number | undefined;
maxLength?: number | undefined;
} | {
disabled: boolean | undefined;
error?: string | null | undefined;
label: string;
name: string;
onChange?: import("react").ChangeEventHandler<HTMLSelectElement> | undefined;
options: {
name: string;
value: string;
disabled?: boolean | undefined;
}[];
required?: boolean | undefined;
showLabel?: boolean | undefined;
type: string;
value?: string | number | undefined;
} | {
disabled: boolean | undefined;
id?: string | undefined;
label: string;
name: string;
on?: boolean | undefined;
onChange?: import("react").ChangeEventHandler<HTMLInputElement> | undefined;
type: string;
} | {
disabled: boolean | undefined;
error?: string | null | undefined;
icon?: JSX.Element | undefined;
label: string;
name: string;
onChange?: import("react").ChangeEventHandler<HTMLTextAreaElement> | undefined;
placeholder?: string | undefined;
readOnly?: boolean | undefined;
required?: boolean | undefined;
showLabel?: boolean | undefined;
style?: import("react").CSSProperties | undefined;
type: string;
value?: string | undefined;
})[];
handleChange: (name: string, value: string | number | boolean) => void;
handleSubmit: (evt?: React.FormEvent<HTMLFormElement>) => void;
};