import AutoFormCheckbox from './fields/checkbox.mjs';
import AutoFormDate from './fields/date.mjs';
import AutoFormEnum from './fields/enum.mjs';
import AutoFormInput from './fields/input.mjs';
import AutoFormNumber from './fields/number.mjs';
import AutoFormRadioGroup from './fields/radio-group.mjs';
import AutoFormSwitch from './fields/switch.mjs';
import AutoFormTextarea from './fields/textarea.mjs';

const INPUT_COMPONENTS = {
  checkbox: AutoFormCheckbox,
  date: AutoFormDate,
  select: AutoFormEnum,
  radio: AutoFormRadioGroup,
  switch: AutoFormSwitch,
  textarea: AutoFormTextarea,
  number: AutoFormNumber,
  fallback: AutoFormInput
};
const DEFAULT_ZOD_HANDLERS = {
  // Zod v3 style type names
  ZodBoolean: "checkbox",
  ZodDate: "date",
  ZodEnum: "select",
  ZodNativeEnum: "select",
  ZodNumber: "number",
  // Zod v4 style type names (lowercase, no "Zod" prefix)
  boolean: "checkbox",
  date: "date",
  enum: "select",
  nativeEnum: "select",
  number: "number",
  int: "number",
  float: "number"
};

export { DEFAULT_ZOD_HANDLERS, INPUT_COMPONENTS };
