{"version":3,"file":"ArrayField.mjs","names":[],"sources":["../../src/tanstack-form/ArrayField.tsx"],"sourcesContent":["import React from \"react\";\nimport { getLabel } from \"@autoform/core\";\nimport type { ParsedField } from \"@autoform/core\";\nimport { useAutoForm } from \"../context\";\nimport { AutoFormField } from \"./AutoFormField\";\nimport { useFieldContext } from \"./hooks\";\nimport { getArrayItemDefaultValue } from \"../utils\";\nimport { focusFirstFieldInPath } from \"./utils\";\n\nexport const ArrayField: React.FC<{\n  id: string;\n  path: string[];\n  inputProps: any;\n  parsedField: ParsedField;\n  error?: string;\n}> = ({ id, path, inputProps, error, parsedField }) => {\n  const { uiComponents } = useAutoForm();\n  const field = useFieldContext() as any;\n  const ArrayWrapper =\n    parsedField.fieldConfig?.arrayWrapper || uiComponents.ArrayWrapper;\n  const ArrayElementWrapper =\n    parsedField.fieldConfig?.arrayElementWrapper ||\n    uiComponents.ArrayElementWrapper;\n  const defaultValue = getArrayItemDefaultValue(parsedField);\n\n  const addItem = () => {\n    const itemPath = [...path, field.state.value?.length ?? 0].join(\".\");\n    field.pushValue(defaultValue);\n\n    setTimeout(() => {\n      focusFirstFieldInPath(itemPath);\n      // void field.form.validate(\"change\");\n    });\n  };\n\n  return (\n    <ArrayWrapper\n      error={error}\n      parsedField={parsedField}\n      inputProps={{ key: `${id}-input`, ...inputProps }}\n      label={getLabel(parsedField)}\n      onAddItem={addItem}\n    >\n      {field.state.value?.map((_item: any, index: number) => (\n        <ArrayElementWrapper\n          key={index}\n          onRemove={() => field.removeValue(index)}\n          index={index}\n        >\n          <AutoFormField\n            parsedField={parsedField.schema![0]!}\n            path={[...path, index.toString()]}\n          />\n        </ArrayElementWrapper>\n      ))}\n    </ArrayWrapper>\n  );\n};\n"],"mappings":";;;;;;;;;AASA,MAAa,cAMP,EAAE,IAAI,MAAM,YAAY,OAAO,kBAAkB;CACrD,MAAM,EAAE,iBAAiB,YAAY;CACrC,MAAM,QAAQ,gBAAgB;CAC9B,MAAM,eACJ,YAAY,aAAa,gBAAgB,aAAa;CACxD,MAAM,sBACJ,YAAY,aAAa,uBACzB,aAAa;CACf,MAAM,eAAe,yBAAyB,WAAW;CAEzD,MAAM,gBAAgB;EACpB,MAAM,WAAW,CAAC,GAAG,MAAM,MAAM,MAAM,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG;EACnE,MAAM,UAAU,YAAY;EAE5B,iBAAiB;GACf,sBAAsB,QAAQ;EAEhC,CAAC;CACH;CAEA,OACE,oBAAC,cAAD;EACS;EACM;EACb,YAAY;GAAE,KAAK,GAAG,GAAG;GAAS,GAAG;EAAW;EAChD,OAAO,SAAS,WAAW;EAC3B,WAAW;YAEV,MAAM,MAAM,OAAO,KAAK,OAAY,UACnC,oBAAC,qBAAD;GAEE,gBAAgB,MAAM,YAAY,KAAK;GAChC;aAEP,oBAAC,eAAD;IACE,aAAa,YAAY,OAAQ;IACjC,MAAM,CAAC,GAAG,MAAM,MAAM,SAAS,CAAC;GACjC,CAAA;EACkB,GARd,KAQc,CACtB;CACW,CAAA;AAElB"}