"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.AcceptTermsSubscriptionUpdatedUI = AcceptTermsSubscriptionUpdatedUI;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
function AcceptTermsSubscriptionUpdatedUI(_ref) {
  var _ref$hasError = _ref.hasError,
    hasError = _ref$hasError === void 0 ? false : _ref$hasError,
    _ref$transitionType = _ref.transitionType,
    transitionType = _ref$transitionType === void 0 ? null : _ref$transitionType,
    _ref$additionalClassN = _ref.additionalClassNames,
    additionalClassNames = _ref$additionalClassN === void 0 ? [] : _ref$additionalClassN;
  var divProps = {
    id: 'acceptTermsField',
    className: (0, _classnames["default"])(['o-forms-field', 'o-layout-typography', 'ncf__validation-error'].concat((0, _toConsumableArray2["default"])(additionalClassNames))),
    'data-validate': 'required,checked'
  };
  var labelClassName = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--checkbox', {
    'o-forms-input--invalid': hasError
  }]);
  var inputProps = {
    id: 'termsAcceptance',
    type: 'checkbox',
    name: 'termsAcceptance',
    value: 'true',
    'data-trackable': 'field-terms',
    'aria-required': 'true',
    required: true
  };
  var updatedUiTransitionTerms = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, transitionType === 'immediate' ? /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("span", {
    className: "terms-updated-ui-transition terms-updated-ui-transition--immediate"
  }, "I consent to payment being taken at the end of each subscription term until I cancel. I understand and agree that I will lose my statutory right to cancel within 14 days of accepting my order, and that any notice to cancel will only take effect at the end of my subscription period. Previously paid amounts are non-refundable, except in the event of a fault in the provision of services.")) : /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("span", {
    className: "terms-updated-ui-transition terms-updated-ui-transition--end-of-term"
  }, "I consent to payment being taken at the end of each subscription term until I cancel. By placing my order, I acknowledge that my subscription will start on the date given above. I understand and agree that I will lose my statutory right to cancel within 14 days of accepting my order, and that any notice to cancel will only take effect at the end of my subscription period. Previously paid amounts are non-refundable, except in the event of a fault in the provision of services.")), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("span", {
    className: "terms-updated-ui-transition o3-type-body-base"
  }, "For more information, see our full", ' ', /*#__PURE__*/_react["default"].createElement("a", {
    href: "http://help.ft.com/help/legal-privacy/terms-conditions/",
    target: "_blank",
    rel: "noopener noreferrer"
  }, "Terms & Conditions"), ".")));
  return /*#__PURE__*/_react["default"].createElement("div", divProps, /*#__PURE__*/_react["default"].createElement("ul", {
    className: "ncf__accept-terms-list"
  }, updatedUiTransitionTerms), /*#__PURE__*/_react["default"].createElement("label", {
    className: labelClassName,
    htmlFor: "termsAcceptance"
  }, /*#__PURE__*/_react["default"].createElement("input", inputProps), /*#__PURE__*/_react["default"].createElement("span", {
    className: "o-forms-input__label"
  }, "I agree to the full Terms & Conditions."), /*#__PURE__*/_react["default"].createElement("p", {
    className: "o-forms-input__error"
  }, "Please accept the full Terms & Conditions.")));
}
AcceptTermsSubscriptionUpdatedUI.propTypes = {
  hasError: _propTypes["default"].bool,
  transitionType: _propTypes["default"].string,
  additionalClassNames: _propTypes["default"].arrayOf(_propTypes["default"].string)
};