import { ThemeSize } from "../../theme/types.js"; import { FormCompactProps, FormFieldArrayComponent, FormFieldBaseCompactProps, FormFieldBaseCompactSlots, FormFieldComponent, FormFieldUi, FormUi, FormValues, UseHeadlessFormOptions as UseFormOptions, UseHeadlessFormReturn } from "@soybeanjs/headless/form"; import { ClassValue } from "@soybeanjs/headless/types"; //#region src/components/form/types.d.ts interface FormProps extends FormCompactProps { /** * Additional class names applied to the form element. */ class?: ClassValue; /** * Visual size of the component. */ size?: ThemeSize; /** * Per-slot class overrides for the component. */ ui?: Partial; } /** * Additional properties for form field components, including styling and UI customization options. */ interface FormFieldExtraProps { /** * Additional class names applied to the root element. */ class?: ClassValue; /** * Visual size of the component. */ size?: ThemeSize; /** * Per-slot class overrides for the component. */ ui?: Partial; } /** * Properties for the FormFieldBase component. */ interface FormFieldBaseProps extends FormFieldBaseCompactProps, FormFieldExtraProps {} /** * Slots for the FormFieldBase component. */ type FormFieldBaseSlots = FormFieldBaseCompactSlots; interface UseFormReturn extends UseHeadlessFormReturn { SFormField: FormFieldComponent; SFormFieldArray: FormFieldArrayComponent; } //#endregion export { FormFieldBaseProps, FormFieldBaseSlots, FormProps, type UseFormOptions, UseFormReturn };