46 lines
1.6 KiB
TypeScript
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'; |