import { Button } from "../Button/Button.mjs";
import { FormItem } from "./FormItem.mjs";
import { FormField } from "./FormField.mjs";
import { FormLabelLayout } from "./layout/FormLabelLayout.mjs";
import { FormElement } from "./elements/FormElement.mjs";
import { EditableFieldInputElement } from "./elements/EditableFieldInputElement.mjs";
import { EditableFieldTextAreaElement } from "./elements/EditableFieldTextAreaElement.mjs";
import { InputElement } from "./elements/InputElement.mjs";
import { InputPasswordElement } from "./elements/InputPasswordElement.mjs";
import { OTPElement } from "./elements/OTPElement.mjs";
import { SearchInputElement } from "./elements/SearchInputElement.mjs";
import { TextAreaElement } from "./elements/TextAreaElement.mjs";
import { AutoSizedTextAreaElement } from "./elements/AutoSizeTextAreaElement.mjs";
import { CheckboxElement } from "./elements/CheckboxElement.mjs";
import { MultiSelectElement } from "./elements/MultiselectElement.mjs";
import { SelectElement } from "./elements/SelectElement.mjs";
import { SwitchSelectorElement } from "./elements/SwitchSelectorElement.mjs";
import { Form as Form$1 } from "./FormBase.mjs";
import { FormControl } from "./FormControl.mjs";
import { FormDescription } from "./FormDescription.mjs";
import { FormMessage } from "./FormMessage.mjs";

//#region src/components/Form/Form.tsx
/**
* Form components
*
* Example of usage:
* ```jsx
* <Form
*  schema={ZodSchema}
*  onSubmitSuccess={onSubmitSuccess}
*  onSubmitError={onSubmitError}
*  autoComplete
* >
*   <Form.Input name="name" label="Name" />
*   <Form.Button type="submit" label="Click to submit">
*      Submit
*   </Form.Button>
* </Form>
* ```
*/
const Form = Form$1;
Form.Description = FormDescription;
Form.Control = FormControl;
Form.Field = FormField;
Form.Item = FormItem;
Form.Label = FormLabelLayout;
Form.Message = FormMessage;
Form.Element = FormElement;
Form.Input = InputElement;
Form.InputPassword = InputPasswordElement;
Form.Checkbox = CheckboxElement;
Form.TextArea = TextAreaElement;
Form.AutoSizedTextArea = AutoSizedTextAreaElement;
Form.Button = Button;
Form.Select = SelectElement;
Form.MultiSelect = MultiSelectElement;
Form.EditableFieldInput = EditableFieldInputElement;
Form.EditableFieldTextArea = EditableFieldTextAreaElement;
Form.SwitchSelector = SwitchSelectorElement;
Form.OTP = OTPElement;
Form.SearchInput = SearchInputElement;

//#endregion
export { Form };
//# sourceMappingURL=Form.mjs.map