UNPKG

@conform-to/react

Version:

Conform view adapter for react

34 lines 2.25 kB
import { Serialize } from '@conform-to/dom/future'; import type { ControlOptions, ErrorContext, FormRef, IntentDispatcher } from './types'; export declare function getFormElement(formRef: FormRef | undefined): HTMLFormElement | null; export declare function getSubmitEvent(event: React.FormEvent<HTMLFormElement>): SubmitEvent; export declare function initializeField(element: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement, options: { defaultValue?: unknown; defaultChecked?: boolean | undefined; value?: string | undefined; } | undefined): void; export declare function resolveControlPayload(input: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | HTMLFieldSetElement | Array<HTMLInputElement>): unknown; export declare function deriveDefaultPayload(options: ControlOptions): unknown; /** * Focuses the first field with validation errors on default form submission. * Does nothing if the submission was triggered with a specific intent (e.g. validate / insert) */ export declare function focusFirstInvalidField<ErrorShape>(ctx: ErrorContext<ErrorShape>): void; export declare function updateFormValue(form: HTMLFormElement, targetValue: Record<string, unknown>, serialize: Serialize): void; export declare function resetFormValue(form: HTMLFormElement, defaultValue: Record<string, unknown>, serialize: Serialize): void; /** * Creates a proxy that dynamically generates intent dispatch functions. * Each property access returns a function that submits the intent to the form. */ export declare function createIntentDispatcher<FormShape extends Record<string, any>>(formElement: HTMLFormElement | (() => HTMLFormElement | null), intentName: string): IntentDispatcher<FormShape>; /** * Restores values from preserved inputs and removes them. * Called when PreserveBoundary mounts. */ export declare function cleanupPreservedInputs(boundary: HTMLElement, form: HTMLFormElement, name?: string): void; /** * Clones inputs as hidden elements to preserve their values. * Called when PreserveBoundary unmounts. */ export declare function preserveInputs(inputs: Iterable<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>, form: HTMLFormElement, name?: string): void; //# sourceMappingURL=dom.d.ts.map