"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = void 0;

var _default = function _default(config) {
  return function (props) {
    var _props$schema, _props$schema2, _props$schema2$readOn, _props$uiSchema, _props$uiSchema2, _uiOptions, _props$uiSchema2$_uiO;

    (_props$schema = props.schema) !== null && _props$schema !== void 0 ? _props$schema : props.schema = {};
    (_props$schema2$readOn = (_props$schema2 = props.schema).readOnly) !== null && _props$schema2$readOn !== void 0 ? _props$schema2$readOn : _props$schema2.readOnly = config.readOnly;
    (_props$uiSchema = props.uiSchema) !== null && _props$uiSchema !== void 0 ? _props$uiSchema : props.uiSchema = {};
    props.uiSchema['ui:help'] = config.help;
    props.uiSchema['ui:description'] = config.description;
    props.uiSchema['ui:disabled'] = config.disabled;
    props.uiSchema['ui:readonly'] = config.readOnly;

    if (config.hidden) {
      props.uiSchema['ui:widget'] = 'hidden';
    }

    (_props$uiSchema2$_uiO = (_props$uiSchema2 = props.uiSchema)[_uiOptions = 'ui:options']) !== null && _props$uiSchema2$_uiO !== void 0 ? _props$uiSchema2$_uiO : _props$uiSchema2[_uiOptions] = {}; // ArrayField requires access to config, to filter item properties per each item

    props.uiSchema['ui:options'].element = config;
  };
};

exports["default"] = _default;
//# sourceMappingURL=base.cjs.map