@financial-times/n-conversion-forms
Version:
Containing jsx components and styles for forms included on Accounts and Acquisition apps (next-signup, next-profile, next-retention, etc).
68 lines (67 loc) • 3.22 kB
JSX
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.AcceptTermsPrivacyPolicy = AcceptTermsPrivacyPolicy;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
function AcceptTermsPrivacyPolicy(_ref) {
var _ref$hasError = _ref.hasError,
hasError = _ref$hasError === void 0 ? false : _ref$hasError,
_ref$isEmbedded = _ref.isEmbedded,
isEmbedded = _ref$isEmbedded === void 0 ? false : _ref$isEmbedded,
children = _ref.children;
var divProps = {
id: 'acceptTermsField',
className: 'o-forms-field o-layout-typography ncf__validation-error',
'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
};
return /*#__PURE__*/_react["default"].createElement("div", divProps, /*#__PURE__*/_react["default"].createElement("div", {
className: "privacy-policy-terms"
}, /*#__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 o3-type-body-base"
}, "I confirm that I am 16 years or older and agree to the full", ' ', /*#__PURE__*/_react["default"].createElement("a", {
href: "http://help.ft.com/help/legal-privacy/terms-conditions/",
target: isEmbedded ? '_top' : '_blank',
rel: "noopener noreferrer",
"data-trackable": "terms-and-conditions"
}, "Terms & Conditions"), "."), /*#__PURE__*/_react["default"].createElement("p", {
className: "o-forms-input__error"
}, "Please accept our terms & conditions")), children && /*#__PURE__*/_react["default"].createElement("div", {
className: "children-container"
}, children), /*#__PURE__*/_react["default"].createElement("span", {
className: "consent-text--bottom o3-type-body-base"
}, "For more information about how we use your data, please refer to our", ' ', /*#__PURE__*/_react["default"].createElement("a", {
href: "https://help.ft.com/legal-privacy/privacy-policy/",
target: "_blank",
rel: "noopener noreferrer",
"data-trackable": "privacy-policy-info"
}, "privacy"), ' ', "and\xA0", /*#__PURE__*/_react["default"].createElement("a", {
href: "https://help.ft.com/legal-privacy/cookies/",
target: "_blank",
rel: "noopener noreferrer",
"data-trackable": "cookies-info"
}, "cookie"), ' ', "policies.")));
}
AcceptTermsPrivacyPolicy.propTypes = {
hasError: _propTypes["default"].bool,
isEmbedded: _propTypes["default"].bool,
children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node])
};