"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.DeliveryAddressType = DeliveryAddressType;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var addressTypes = [{
  id: 'home',
  label: 'Home Address'
}, {
  id: 'company',
  label: 'Company Address'
}, {
  id: 'pobox',
  label: 'P.O. Box'
}];
function DeliveryAddressType(_ref) {
  var _ref$value = _ref.value,
    value = _ref$value === void 0 ? 'home' : _ref$value,
    _ref$fieldId = _ref.fieldId,
    fieldId = _ref$fieldId === void 0 ? 'deliveryAddressTypeField' : _ref$fieldId,
    _ref$inputName = _ref.inputName,
    inputName = _ref$inputName === void 0 ? 'deliveryAddressType' : _ref$inputName,
    _ref$options = _ref.options,
    options = _ref$options === void 0 ? ['home', 'company', 'pobox'] : _ref$options,
    _ref$editMode = _ref.editMode,
    editMode = _ref$editMode === void 0 ? false : _ref$editMode,
    _ref$titlePrompt = _ref.titlePrompt,
    titlePrompt = _ref$titlePrompt === void 0 ? '' : _ref$titlePrompt;
  return /*#__PURE__*/_react["default"].createElement("div", {
    id: fieldId,
    className: "o-forms-field ncf__delivery-address-type",
    role: "group",
    "aria-label": "Delivery Address Type"
  }, /*#__PURE__*/_react["default"].createElement("span", {
    className: "o-forms-title"
  }, /*#__PURE__*/_react["default"].createElement("span", {
    className: "o-forms-title__main"
  }, "Address type"), /*#__PURE__*/_react["default"].createElement("span", {
    className: "o-forms-title__prompt"
  }, titlePrompt)), /*#__PURE__*/_react["default"].createElement("div", {
    className: "o-forms-input o-forms-input--inline o-forms-input--radio-round"
  }, options.map(function (option) {
    var type = addressTypes.find(function (item) {
      return item.id === option;
    });
    return !type ? null : /*#__PURE__*/_react["default"].createElement("label", {
      htmlFor: type.id,
      "aria-label": type.label,
      key: type.id
    }, /*#__PURE__*/_react["default"].createElement("input", {
      type: "radio",
      id: type.id,
      name: inputName,
      value: type.id,
      className: "ncf__delivery-address-type__input",
      disabled: editMode && type.id !== value,
      defaultChecked: type.id === value
    }), /*#__PURE__*/_react["default"].createElement("span", {
      className: "o-forms-input__label o-forms-input__address-type__label",
      "aria-hidden": "true"
    }, type.label));
  })));
}
DeliveryAddressType.propTypes = {
  fieldId: _propTypes["default"].string,
  inputName: _propTypes["default"].string,
  value: _propTypes["default"].oneOf(['home', 'company', 'pobox']),
  options: _propTypes["default"].arrayOf(_propTypes["default"].oneOf(['home', 'company', 'pobox'])),
  titlePrompt: _propTypes["default"].string
};