import _objectSpread from "@babel/runtime/helpers/objectSpread2";
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
var _excluded = ["formData", "schema", "uiSchema"];
import { empty } from '..';
import Field from '../Field';
import { jsx as _jsx } from "react/jsx-runtime";
import { createElement as _createElement } from "react";
export default (function (_ref) {
  var formData = _ref.formData,
      schema = _ref.schema,
      uiSchema = _ref.uiSchema,
      otherProps = _objectWithoutProperties(_ref, _excluded);

  if (formData === null || formData === void 0 ? void 0 : formData.length) {
    var _uiSchema$uiOptions;

    if (uiSchema === null || uiSchema === void 0 ? void 0 : (_uiSchema$uiOptions = uiSchema['ui:options']) === null || _uiSchema$uiOptions === void 0 ? void 0 : _uiSchema$uiOptions.inline) {
      return /*#__PURE__*/_jsx(Field, _objectSpread(_objectSpread({}, otherProps), {}, {
        schema: _objectSpread(_objectSpread({}, schema.items), {}, {
          inline: true
        }),
        uiSchema: uiSchema === null || uiSchema === void 0 ? void 0 : uiSchema.items,
        formData: formData
      }));
    } else {
      var _uiSchema$items, _uiSchema$items2, _uiSchema$items2$uiO;

      var itemOptions = _objectSpread(_objectSpread({}, uiSchema === null || uiSchema === void 0 ? void 0 : (_uiSchema$items = uiSchema.items) === null || _uiSchema$items === void 0 ? void 0 : _uiSchema$items['ui:options']), {}, {
        element: _objectSpread(_objectSpread({}, uiSchema === null || uiSchema === void 0 ? void 0 : (_uiSchema$items2 = uiSchema.items) === null || _uiSchema$items2 === void 0 ? void 0 : (_uiSchema$items2$uiO = _uiSchema$items2['ui:options']) === null || _uiSchema$items2$uiO === void 0 ? void 0 : _uiSchema$items2$uiO.element), {}, {
          indent: 0
        })
      });

      return formData.map(function (data, index) {
        return /*#__PURE__*/_createElement(Field, _objectSpread(_objectSpread({}, otherProps), {}, {
          key: index,
          lastItem: formData.length === index + 1,
          schema: schema.items,
          uiSchema: _objectSpread(_objectSpread({}, uiSchema === null || uiSchema === void 0 ? void 0 : uiSchema.items), {}, {
            'ui:options': itemOptions
          }),
          formData: data
        }));
      });
    }
  } else {
    return empty;
  }
});
//# sourceMappingURL=array.js.map