{"version":3,"file":"AutoFormField.mjs","names":[],"sources":["../../src/react-hook-form/AutoFormField.tsx"],"sourcesContent":["import React from \"react\";\nimport { getLabel } from \"@autoform/core\";\nimport type { ParsedField } from \"@autoform/core\";\nimport { useAutoForm } from \"../context\";\nimport { useFieldError } from \"./hooks\";\nimport { ArrayField } from \"./ArrayField\";\nimport { ObjectField } from \"./ObjectField\";\nimport type { AutoFormFieldProps } from \"../types\";\n\nexport const AutoFormField: React.FC<{\n  parsedField: ParsedField;\n  path: string[];\n}> = ({ path, parsedField }) => {\n  const { formComponents, uiComponents } = useAutoForm();\n  const error = useFieldError(path);\n\n  const fullPath = path.join(\".\");\n  const fieldConfig = parsedField.fieldConfig;\n  const FieldWrapper = fieldConfig?.fieldWrapper || uiComponents.FieldWrapper;\n\n  let FieldComponent: React.ComponentType<AutoFormFieldProps>;\n  if (parsedField.type === \"array\") {\n    FieldComponent = ArrayField;\n  } else if (parsedField.type === \"object\") {\n    FieldComponent = ObjectField;\n  } else if (parsedField.type in formComponents) {\n    FieldComponent =\n      formComponents[parsedField.type as keyof typeof formComponents]!;\n  } else if (\"fallback\" in formComponents) {\n    FieldComponent = formComponents.fallback;\n  } else {\n    FieldComponent = () => (\n      <uiComponents.ErrorMessage\n        error={`[AutoForm Configuration Error] No component found for type \"${parsedField.type}\" nor a fallback`}\n      />\n    );\n  }\n\n  return (\n    <FieldWrapper\n      label={getLabel(parsedField)}\n      error={error}\n      id={fullPath}\n      parsedField={parsedField}\n    >\n      <FieldComponent\n        key={`${fullPath}-input`}\n        path={path}\n        id={fullPath}\n        error={error}\n        parsedField={parsedField}\n        label={getLabel(parsedField)}\n        inputProps={{\n          ...fieldConfig?.inputProps,\n          \"aria-invalid\": !!error || undefined,\n        }}\n      />\n    </FieldWrapper>\n  );\n};\n"],"mappings":";;;;;;;;AASA,MAAa,iBAGP,EAAE,MAAM,kBAAkB;CAC9B,MAAM,EAAE,gBAAgB,iBAAiB,YAAY;CACrD,MAAM,QAAQ,cAAc,IAAI;CAEhC,MAAM,WAAW,KAAK,KAAK,GAAG;CAC9B,MAAM,cAAc,YAAY;CAChC,MAAM,eAAe,aAAa,gBAAgB,aAAa;CAE/D,IAAI;CACJ,IAAI,YAAY,SAAS,SACvB,iBAAiB;MACZ,IAAI,YAAY,SAAS,UAC9B,iBAAiB;MACZ,IAAI,YAAY,QAAQ,gBAC7B,iBACE,eAAe,YAAY;MACxB,IAAI,cAAc,gBACvB,iBAAiB,eAAe;MAEhC,uBACE,oBAAC,aAAa,cAAd,EACE,OAAO,+DAA+D,YAAY,KAAK,kBACxF,CAAA;CAIL,OACE,oBAAC,cAAD;EACE,OAAO,SAAS,WAAW;EACpB;EACP,IAAI;EACS;YAEb,oBAAC,gBAAD;GAEQ;GACN,IAAI;GACG;GACM;GACb,OAAO,SAAS,WAAW;GAC3B,YAAY;IACV,GAAG,aAAa;IAChB,gBAAgB,CAAC,CAAC,SAAS,KAAA;GAC7B;EACD,GAVM,GAAG,SAAS,OAUlB;CACW,CAAA;AAElB"}