"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.YearOfBirth = YearOfBirth;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
function YearOfBirth(_ref) {
  var _ref$hasError = _ref.hasError,
    hasError = _ref$hasError === void 0 ? false : _ref$hasError,
    _ref$customErrorMessa = _ref.customErrorMessage,
    customErrorMessage = _ref$customErrorMessa === void 0 ? '' : _ref$customErrorMessa,
    _ref$isDisabled = _ref.isDisabled,
    isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
    _ref$isRequired = _ref.isRequired,
    isRequired = _ref$isRequired === void 0 ? true : _ref$isRequired,
    _ref$value = _ref.value,
    value = _ref$value === void 0 ? '' : _ref$value,
    _ref$prompt = _ref.prompt,
    prompt = _ref$prompt === void 0 ? '' : _ref$prompt,
    _ref$fieldId = _ref.fieldId,
    fieldId = _ref$fieldId === void 0 ? 'yearOfBirthField' : _ref$fieldId,
    _ref$inputId = _ref.inputId,
    inputId = _ref$inputId === void 0 ? 'yearOfBirth' : _ref$inputId,
    _ref$inputName = _ref.inputName,
    inputName = _ref$inputName === void 0 ? 'yearOfBirth' : _ref$inputName,
    _ref$fieldLabel = _ref.fieldLabel,
    fieldLabel = _ref$fieldLabel === void 0 ? 'Year of birth' : _ref$fieldLabel,
    _ref$dataTrackable = _ref.dataTrackable,
    dataTrackable = _ref$dataTrackable === void 0 ? 'year-of-birth' : _ref$dataTrackable;
  var inputWrapperClassNames = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--text', {
    'o-forms-input--invalid': hasError
  }]);
  var fieldTitleClassName = (0, _classnames["default"])(['o-forms-title', {
    'o-forms-field--optional': !isRequired
  }]);
  return /*#__PURE__*/_react["default"].createElement("label", {
    id: fieldId,
    htmlFor: inputId,
    className: "o-forms-field ncf__validation-error",
    "data-validate": "required,number"
  }, /*#__PURE__*/_react["default"].createElement("span", {
    className: fieldTitleClassName
  }, /*#__PURE__*/_react["default"].createElement("span", {
    className: "o-forms-title__main"
  }, fieldLabel), /*#__PURE__*/_react["default"].createElement("span", {
    className: "o-forms-title__prompt"
  }, prompt)), /*#__PURE__*/_react["default"].createElement("span", {
    className: inputWrapperClassNames
  }, /*#__PURE__*/_react["default"].createElement("input", {
    type: "text",
    id: inputId,
    name: inputName,
    placeholder: "YYYY",
    autoComplete: "bday-year",
    minLength: "4",
    maxLength: "4",
    pattern: "\\d{4}",
    "data-trackable": dataTrackable,
    "aria-required": isRequired,
    required: isRequired,
    disabled: isDisabled,
    defaultValue: value,
    inputmode: "numeric"
  }), /*#__PURE__*/_react["default"].createElement("span", {
    className: "o-forms-input__error"
  }, customErrorMessage || 'Please enter a valid year of birth')));
}
YearOfBirth.propTypes = {
  hasError: _propTypes["default"].bool,
  customErrorMessage: _propTypes["default"].string,
  isDisabled: _propTypes["default"].bool,
  isRequired: _propTypes["default"].bool,
  value: _propTypes["default"].string,
  prompt: _propTypes["default"].string,
  fieldId: _propTypes["default"].string,
  inputId: _propTypes["default"].string,
  inputName: _propTypes["default"].string,
  fieldLabel: _propTypes["default"].string,
  dataTrackable: _propTypes["default"].string
};