Files
klz-cables.com/components/forms/index.ts
2025-12-29 18:18:48 +01:00

46 lines
1.6 KiB
TypeScript

/**
* KLZ Forms System
* Comprehensive form components and hooks for consistent form experience
*/
// Components
export { FormField, type FormFieldProps, type FormFieldType } from './FormField';
export { FormLabel, type FormLabelProps } from './FormLabel';
export { FormInput, type FormInputProps } from './FormInput';
export { FormTextarea, type FormTextareaProps } from './FormTextarea';
export { FormSelect, type FormSelectProps } from './FormSelect';
export { FormCheckbox, type FormCheckboxProps, type CheckboxOption } from './FormCheckbox';
export { FormRadio, type FormRadioProps, type RadioOption } from './FormRadio';
export { FormError, type FormErrorProps } from './FormError';
export { FormSuccess, type FormSuccessProps } from './FormSuccess';
// Hooks
export { useForm, useFormWithHelpers } from './hooks/useForm';
export { useFormField, useFormFieldWithHelpers } from './hooks/useFormField';
export {
useFormValidation,
validateField,
validateForm,
type ValidationRules,
type ValidationRule,
type ValidationError,
type FormErrors
} from './hooks/useFormValidation';
// Types
export type FormValues = Record<string, any>;
export type FormValidationRules = Record<string, any>;
// Re-export for convenience
export * from './FormField';
export * from './FormLabel';
export * from './FormInput';
export * from './FormTextarea';
export * from './FormSelect';
export * from './FormCheckbox';
export * from './FormRadio';
export * from './FormError';
export * from './FormSuccess';
export * from './hooks/useForm';
export * from './hooks/useFormField';
export * from './hooks/useFormValidation';