import { a as Machine, f as Component } from "./index-B8JCdyld.js"; import { t as FieldMachine } from "./form.registry-Cb8Pvoe8.js"; import { EventObject } from "@zag-js/core"; import * as z from "zod"; import { JSX, PropTypes } from "@zag-js/types"; //#region Resources/Private/Primitives/Form/src/form.types.d.ts interface FieldError { messages: string[]; value?: FormDataEntryValue | FormDataEntryValue[] | null; } type FormErrors = Record; type FormDirty = Record; type FormTouched = Record; /** * Error thrown by post() when server returns 422 validation errors. * The machine catches this and transitions to 'invalid' state. */ declare class ValidationError extends Error { errors: FormErrors; constructor(errors: FormErrors); } type ZodFormSchema = z.ZodObject | undefined; interface FormProps { id: string; schema?: ZodFormSchema; objectName?: string; inputDebounceMs?: number; onSubmit?: ({ formData, api, event, post }: { formData: FormData; api: FormApi; event: JSX.FormEvent; post: (url: string, data: FormData) => Promise; }) => Promise | boolean; render?: (form: Form) => void; } interface FormSchema { props: FormProps; context: { values: FormData; initialValues: FormData; errors: FormErrors; dirty: FormDirty; touched: FormTouched; }; state: 'invalid' | 'ready' | 'submitting' | 'success' | 'error'; event: EventObject; action: string; effect: string; } interface FormApi { isSubmitting: boolean; isDirty: boolean; isInvalid: boolean; isSuccessful: boolean; isError: boolean; getFormProps(): PropTypes['element']; getValues(): FormData; getErrors(): FormErrors; getDirty(): FormDirty; getTouched(): FormTouched; _userRenderFn: FormProps['render']; getAllFields(): Map; getField(name: string): FieldMachine | undefined; getFormEl(): HTMLFormElement | null; getAction(): string; reset(): void; } //#endregion //#region Resources/Private/Primitives/Form/Form.d.ts declare class Form extends Component { static name: string; initMachine(props: FormProps): Machine; initApi(): FormApi; render(): void; } //#endregion export { Form, ValidationError };