'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

var _react = require('react');

var _react2 = _interopRequireDefault(_react);

var _immutable = require('immutable');

var _immutable2 = _interopRequireDefault(_immutable);

var _cspaceInput = require('cspace-input');

var _cspaceLayout = require('cspace-layout');

var _cspaceRefname = require('cspace-refname');

var _DateInputContainer = require('../containers/input/DateInputContainer');

var _DateInputContainer2 = _interopRequireDefault(_DateInputContainer);

var _IDGeneratorInputContainer = require('../containers/input/IDGeneratorInputContainer');

var _IDGeneratorInputContainer2 = _interopRequireDefault(_IDGeneratorInputContainer);

var _AuthorityControlledInputContainer = require('../containers/input/AuthorityControlledInputContainer');

var _AuthorityControlledInputContainer2 = _interopRequireDefault(_AuthorityControlledInputContainer);

var _OptionListControlledInputContainer = require('../containers/input/OptionListControlledInputContainer');

var _OptionListControlledInputContainer2 = _interopRequireDefault(_OptionListControlledInputContainer);

var _StructuredDateInputContainer = require('../containers/input/StructuredDateInputContainer');

var _StructuredDateInputContainer2 = _interopRequireDefault(_StructuredDateInputContainer);

var _VocabularyControlledInputContainer = require('../containers/input/VocabularyControlledInputContainer');

var _VocabularyControlledInputContainer2 = _interopRequireDefault(_VocabularyControlledInputContainer);

var _JoinedInputRow = require('../components/layout/JoinedInputRow');

var _JoinedInputRow2 = _interopRequireDefault(_JoinedInputRow);

var _PanelContainer = require('../containers/layout/PanelContainer');

var _PanelContainer2 = _interopRequireDefault(_PanelContainer);

var _Field = require('../components/record/Field');

var _Field2 = _interopRequireDefault(_Field);

var _configHelpers = require('../helpers/configHelpers');

var _recordDataHelpers = require('../helpers/recordDataHelpers');

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var CompoundInput = _cspaceInput.components.CompoundInput,
    TextInput = _cspaceInput.components.TextInput;


var AuthorityControlledInput = _AuthorityControlledInputContainer2.default;
var IDGeneratorInput = _IDGeneratorInputContainer2.default;
var DateInput = _DateInputContainer2.default;
var OptionListControlledInput = _OptionListControlledInputContainer2.default;
var StructuredDateInput = _StructuredDateInputContainer2.default;
var VocabularyControlledInput = _VocabularyControlledInputContainer2.default;

exports.default = function () {
  return {
    lib: {
      Immutable: _immutable2.default,
      React: _react2.default
    },
    inputComponents: {
      AuthorityControlledInput: AuthorityControlledInput,
      CompoundInput: CompoundInput,
      DateInput: DateInput,
      IDGeneratorInput: IDGeneratorInput,
      OptionListControlledInput: OptionListControlledInput,
      StructuredDateInput: StructuredDateInput,
      TextInput: TextInput,
      VocabularyControlledInput: VocabularyControlledInput
    },
    layoutComponents: {
      JoinedInputRow: _JoinedInputRow2.default,
      Panel: _PanelContainer2.default,
      Row: _cspaceLayout.Row
    },
    recordComponents: {
      Field: _Field2.default
    },
    configHelpers: {
      configKey: _configHelpers.configKey
    },
    recordDataHelpers: {
      deepGet: _recordDataHelpers.deepGet,
      getPart: _recordDataHelpers.getPart,
      getPartPropertyName: _recordDataHelpers.getPartPropertyName
    },
    refNameHelpers: {
      getDisplayName: _cspaceRefname.getDisplayName
    }
  };
};