@financial-times/n-conversion-forms 30.1.0 → 31.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.circleci/config.yml +97 -150
- package/.github/workflows/gh-pages-deploy.yml +3 -3
- package/.toolkitrc.yml +19 -0
- package/.toolkitstate/ci.json +6 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +2 -2
- package/components/accept-terms-subscription.jsx +7 -5
- package/jest.config.js +2 -0
- package/package.json +30 -16
- package/.circleci/shared-helpers/.github/settings.yml +0 -1
- package/.circleci/shared-helpers/CODEOWNERS +0 -3
- package/.circleci/shared-helpers/README.md +0 -72
- package/.circleci/shared-helpers/helper-check-service-ready +0 -37
- package/.circleci/shared-helpers/helper-configure-awscli +0 -20
- package/.circleci/shared-helpers/helper-generate-build-state-artifacts +0 -29
- package/.circleci/shared-helpers/helper-install-awscli +0 -14
- package/.circleci/shared-helpers/helper-install-puppeteer-deps +0 -25
- package/.circleci/shared-helpers/helper-npm-install-peer-deps +0 -40
- package/.circleci/shared-helpers/helper-npm-store-auth-token +0 -14
- package/.circleci/shared-helpers/helper-npm-update +0 -26
- package/.circleci/shared-helpers/helper-npm-version-and-publish-public +0 -19
- package/.circleci/shared-helpers/helper-publish-github-pages +0 -43
- package/.circleci/shared-helpers/helper-setup-heroku-cli +0 -46
- package/.circleci/shared-helpers/helper-setup-s3-upload +0 -17
- package/.circleci/shared-helpers/helper-upload-assets-to-s3 +0 -69
- package/.circleci/shared-helpers/helper.example +0 -13
- package/build-state/npm-shrinkwrap.json +0 -58461
- package/dist/accept-terms-business.js +0 -74
- package/dist/accept-terms-business.spec.js +0 -40
- package/dist/accept-terms-privacy-policy.js +0 -71
- package/dist/accept-terms-subscription.js +0 -150
- package/dist/accept-terms.js +0 -217
- package/dist/app-banner.js +0 -51
- package/dist/b2c-partnership-confirmation.js +0 -64
- package/dist/billing-city.js +0 -58
- package/dist/billing-country.js +0 -43
- package/dist/billing-postcode.js +0 -76
- package/dist/company-name.js +0 -78
- package/dist/confirmation.js +0 -117
- package/dist/continue-reading.js +0 -45
- package/dist/country.js +0 -106
- package/dist/customer-care.js +0 -52
- package/dist/debug.js +0 -50
- package/dist/decision-maker.js +0 -72
- package/dist/deferred-billing-terms.js +0 -112
- package/dist/delivery-address-map.js +0 -184
- package/dist/delivery-address-type.js +0 -74
- package/dist/delivery-address.js +0 -123
- package/dist/delivery-city.js +0 -70
- package/dist/delivery-county.js +0 -48
- package/dist/delivery-instructions.js +0 -123
- package/dist/delivery-option.js +0 -77
- package/dist/delivery-po-box.js +0 -75
- package/dist/delivery-postcode.js +0 -116
- package/dist/delivery-security-instructions.js +0 -72
- package/dist/delivery-start-date.js +0 -77
- package/dist/education-job-title.js +0 -67
- package/dist/email.js +0 -90
- package/dist/error-page.js +0 -45
- package/dist/fieldset.js +0 -58
- package/dist/first-name.js +0 -73
- package/dist/form.js +0 -29
- package/dist/google-sign-in.js +0 -24
- package/dist/graduation-date.js +0 -112
- package/dist/index.js +0 -432
- package/dist/industry.js +0 -81
- package/dist/job-title.js +0 -65
- package/dist/last-name.js +0 -73
- package/dist/licence-confirmation.js +0 -67
- package/dist/licence-header.js +0 -52
- package/dist/licence-sign-in.js +0 -36
- package/dist/licence-title.js +0 -46
- package/dist/lite-sub-confirmation.js +0 -118
- package/dist/loader.js +0 -54
- package/dist/message.js +0 -101
- package/dist/message.spec.js +0 -96
- package/dist/organisation.js +0 -73
- package/dist/package-change.js +0 -38
- package/dist/password.js +0 -95
- package/dist/payment-term.js +0 -328
- package/dist/payment-type.js +0 -213
- package/dist/personal-title.js +0 -94
- package/dist/phone.js +0 -85
- package/dist/position.js +0 -86
- package/dist/progress-indicator.js +0 -66
- package/dist/province.js +0 -80
- package/dist/registration-confirmation.js +0 -108
- package/dist/responsibility.js +0 -84
- package/dist/section.js +0 -20
- package/dist/seven-day-pass-experiment-confirmation.js +0 -93
- package/dist/state.js +0 -80
- package/dist/submit.js +0 -52
- package/dist/text-input.js +0 -78
- package/dist/trial-banner.js +0 -29
package/dist/debug.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.Debug = Debug;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
function Debug(_ref) {
|
|
11
|
-
var _ref$isTest = _ref.isTest,
|
|
12
|
-
isTest = _ref$isTest === void 0 ? false : _ref$isTest,
|
|
13
|
-
_ref$showHelpers = _ref.showHelpers,
|
|
14
|
-
showHelpers = _ref$showHelpers === void 0 ? false : _ref$showHelpers,
|
|
15
|
-
_ref$links = _ref.links,
|
|
16
|
-
links = _ref$links === void 0 ? {} : _ref$links;
|
|
17
|
-
// Strings are used rather than JSX as this component is injected into HTML
|
|
18
|
-
// along with onclick handlers, styles and javascript. JSX will escape and
|
|
19
|
-
// modify the HTML which we do not want. Once our applications are on JSX
|
|
20
|
-
// entirely this component should be rethought.
|
|
21
|
-
var testEnvironment = "\n\t\t<span class=\"ncf__debug-environment\">\n\t\t\t<a class=\"ncf__button ncf__button--debug ncf__button--inverse ncf__debug-button--test\" onclick=\"setTestEnvironment('off');\"><strong>TEST</strong> relax you are using the test API</a>\n\t\t</span>\n\t";
|
|
22
|
-
var productionEnvironment = "\n\t\t<span class=\"ncf__debug-environment\">\n\t\t\t<a class=\"ncf__button ncf__button--debug ncf__button--inverse ncf__debug-button--production\" onclick=\"setTestEnvironment('on');\"><strong>PRODUCTION</strong> careful you are using the production API</a>\n\t\t</span>\n\t";
|
|
23
|
-
var testCards = "\n\t\t<button id=\"ncf-copy-visa-checkout-card\" class=\"ncf__button ncf__button--debug ncf__button--inverse\" onclick=\"copyToClipboard('checkoutVisa');\" title=\"Copy Checkout Visa test card number to clipboard\">EU Visa (cvv:100)</button>\n\t\t<button id=\"ncf-copy-visa-checkout-3ds\" class=\"ncf__button ncf__button--debug ncf__button--inverse\" onclick=\"copyToClipboard('checkout3dsChallenge');\" title=\"Copy Checkout challenge code -Checkout1!- to clipboard\">EU 3ds challenge</button>\n\t\t<button id=\"ncf-copy-visa-chase-card\" class=\"ncf__button ncf__button--debug ncf__button--inverse\" onclick=\"copyToClipboard('chaseVisa');\" title=\"Copy Chase card number to clipboard\">US Visa (exp:1230,cvv:111)</button>\n\t\t<button id=\"ncf-link-checkout-cards\" class=\"ncf__button ncf__button--debug ncf__button--inverse\" onclick=\"window.open('https://www.checkout.com/docs/testing/test-card-numbers#Credit_cards', '_blank');\" title=\"Checkout test cards documentation\">Doc:Checkout</button>\n\t";
|
|
24
|
-
var linksString = Object.keys(links).map(function (link) {
|
|
25
|
-
return "<a key=".concat(link, " class=\"ncf__button ncf__button--inverse ncf__link\" href=\"").concat(links[link], "\">").concat(link, "</a>");
|
|
26
|
-
});
|
|
27
|
-
var helpers = "\n\t\t<span class=\"ncf__debug-helpers\">\n\t\t\t<button class=\"ncf__button ncf__button--debug ncf__button--inverse\" onclick=\"logout();\" title=\"Logout and refresh\">Logout</button>\n\t\t\t<button class=\"ncf__button ncf__button--debug ncf__button--inverse\" onclick=\"fillForm();\" title=\"Fill form with debug data\">Fill</button>\n\t\t\t<button class=\"ncf__button ncf__button--debug ncf__button--inverse\" onclick=\"fillForm(); submitForm();\" title=\"Fill form with debug data and submit\">Fill & Submit</button>\n\t\t\t".concat(isTest ? testCards : '', "\n\t\t\t").concat(links.length ? linksString : '', "\n\t\t</span>\n\t");
|
|
28
|
-
var html = {
|
|
29
|
-
__html: "".concat(isTest ? testEnvironment : productionEnvironment).concat(showHelpers ? helpers : '')
|
|
30
|
-
};
|
|
31
|
-
var javascript = {
|
|
32
|
-
__html: "\n\tvar FORM_SELECTOR = 'form.ncf';\n\tvar INPUT_SELECTOR = FORM_SELECTOR + ' input:not([type=\"checkbox\"]):not([type=\"radio\"])';\n\tvar SELECT_SELECTOR = FORM_SELECTOR + ' select';\n\tvar CHECKBOX_SELECTOR = FORM_SELECTOR + ' input[type=\"checkbox\"]';\n\tvar RADIO_SELECTOR = FORM_SELECTOR + ' input[type=\"radio\"]';\n\t// This env var gets set in production. We use this when creating email addresses in case any\n\t// get into production so Membership know who to come to about deleting them.\n\tvar SYSTEM_CODE = document.documentElement.getAttribute('data-next-app') || 'n-conversion-forms';\n\tvar COUNTRY_CODE = window.FT && window.FT.country || 'GBR';\n\n\tvar postcodeByCountry = {\n\t\tGBR: 'EC4M9BT',\n\t\tUSA: '10028',\n\t\tCAN: 'K0E 9Z9'\n\t};\n\n\tvar debugData = {\n\t\tbillingCity: 'London',\n\t\tbillingCountry: COUNTRY_CODE,\n\t\tbillingPostcode: postcodeByCountry[COUNTRY_CODE],\n\t\tcountry: COUNTRY_CODE,\n\t\tdeliveryAddressLine1: 'delivery test1',\n\t\tdeliveryAddressLine2: 'delivery test2',\n\t\tdeliveryAddressLine3: 'APT 2C',\n\t\tdeliveryCity: 'delivery city',\n\t\tdeliveryCounty: 'delivery county',\n\t\tdeliveryPostcode: postcodeByCountry[COUNTRY_CODE],\n\t\temail: SYSTEM_CODE + '-' + Date.now() + '@ftqa.org',\n\t\tfirstName: 'Test',\n\t\tindustry: 'DEF',\n\t\tlastName: 'Test',\n\t\tjobTitle: 'CEO',\n\t\torganisation: 'ft-org',\n\t\tpassword: 'password123',\n\t\tposition: 'AS',\n\t\tpostCode: postcodeByCountry[COUNTRY_CODE],\n\t\tprimaryTelephone: '0987654321',\n\t\tresponsibility: 'ADL',\n\t\tukVisaWorldpay: '4111111111111111',\n\t\tusAmex: '378282246310005',\n\t\tusVisaWorldpay: '4112344112344113',\n\t\tcheckoutVisa: '4242424242424242',\n\t\tcheckout3dsChallenge: 'Checkout1!',\n\t\tchaseVisa: '4011361100000010',\n\t\tverificationEmail: SYSTEM_CODE + '-' + Date.now() + '@ftqa.org',\n\t};\n\n\tfunction logout () {\n\t\tconst options = {\n\t\t\tmode: 'no-cors',\n\t\t\tcredentials: 'include'\n\t\t};\n\t\tfetch('https://www.ft.com/logout', options).then(function () {\n\t\t\twindow.location.reload();\n\t\t});\n\t}\n\n\tfunction fillForm () {\n\t\tvar changeEvent = document.createEvent('HTMLEvents');\n\t\tchangeEvent.initEvent('change', false, true);\n\n\t\tvar inputs = document.querySelectorAll(INPUT_SELECTOR + ', ' + SELECT_SELECTOR);\n\t\tinputs.forEach(function (input) {\n\t\t\tif (!/hidden/i.test(input.type) && input.disabled === false) {\n\t\t\t\tvar value = debugData[input.name];\n\t\t\t\tinput.value = value;\n\t\t\t\tinput.dispatchEvent(changeEvent);\n\t\t\t}\n\t\t});\n\t\tvar checkboxes = document.querySelectorAll(CHECKBOX_SELECTOR + ', ' + RADIO_SELECTOR);\n\t\tcheckboxes.forEach(function (checkbox) {\n\t\t\tcheckbox.checked = true;\n\t\t\tcheckbox.dispatchEvent(changeEvent);\n\t\t});\n\t}\n\n\tfunction submitForm () {\n\t\tdocument.querySelector(FORM_SELECTOR).submit();\n\t}\n\n\tfunction copyToClipboard (name) {\n\t\tvar string = debugData[name];\n\t\tvar textarea = document.createElement('textarea');\n\t\ttextarea.value = string;\n\t\tdocument.body.appendChild(textarea);\n\t\ttextarea.select();\n\t\tdocument.execCommand('copy');\n\t\tdocument.body.removeChild(textarea);\n\t}\n\n\tfunction setTestEnvironment (state) {\n\t\tvar flags = document.cookie.match('(^|[^;]+)\\\\s*next-flags\\\\s*=\\\\s*([^;]+)').pop();\n\t\tvar flag = 'conversionSandbox%3A';\n\t\tflags = flags.replace(flag + 'on', '');\n\t\tflags = flags.replace(flag + 'off', '');\n\t\tdocument.cookie = 'next-flags=' + flags + '%2C' + flag + state + '; path=/; domain=.ft.com;';\n\t\twindow.location.reload();\n\t}\n\t"
|
|
33
|
-
};
|
|
34
|
-
var style = {
|
|
35
|
-
__html: "\n\t.ncf__debug-panel {\n\t\tposition: absolute;\n\t\tbackground-color: #262a33;\n\t\tcolor: #ffffff;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\tpadding: 10px;\n\t\tposition: fixed;\n\t\tz-index: 1000;\n\t\topacity: 0.8;\n\t}\n\t.ncf__debug-button--test {\n\t\tbackground-color: #008040;\n\t}\n\t.ncf__debug-button--production {\n\t\tbackground-color: #990000;\n\t}\n\t.ncf__button--debug {\n\t\tpadding: 0px 5px;\n\t}\n\t"
|
|
36
|
-
};
|
|
37
|
-
return (isTest || showHelpers) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
38
|
-
className: "ncf__debug-panel",
|
|
39
|
-
dangerouslySetInnerHTML: html
|
|
40
|
-
}), /*#__PURE__*/_react["default"].createElement("script", {
|
|
41
|
-
dangerouslySetInnerHTML: javascript
|
|
42
|
-
}), /*#__PURE__*/_react["default"].createElement("style", {
|
|
43
|
-
dangerouslySetInnerHTML: style
|
|
44
|
-
}));
|
|
45
|
-
}
|
|
46
|
-
Debug.propTypes = {
|
|
47
|
-
isTest: _propTypes["default"].bool,
|
|
48
|
-
showHelpers: _propTypes["default"].bool,
|
|
49
|
-
links: _propTypes["default"].object
|
|
50
|
-
};
|
package/dist/decision-maker.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.DecisionMaker = DecisionMaker;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
-
function DecisionMaker(_ref) {
|
|
15
|
-
var _ref$hasError = _ref.hasError,
|
|
16
|
-
hasError = _ref$hasError === void 0 ? false : _ref$hasError,
|
|
17
|
-
_ref$value = _ref.value,
|
|
18
|
-
value = _ref$value === void 0 ? 'yes' : _ref$value;
|
|
19
|
-
var radioButtonsWrapperClassNames = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--radio-box', 'o-forms-input--inline', {
|
|
20
|
-
'o-forms-input--invalid': hasError
|
|
21
|
-
}]);
|
|
22
|
-
var decisionMakerYesInputProps = _objectSpread({
|
|
23
|
-
type: 'radio',
|
|
24
|
-
id: 'decisionMakerYes',
|
|
25
|
-
name: 'decisionMaker',
|
|
26
|
-
'aria-label': 'Yes',
|
|
27
|
-
value: 'yes'
|
|
28
|
-
}, value === 'yes' && {
|
|
29
|
-
defaultChecked: true
|
|
30
|
-
});
|
|
31
|
-
var decisionMakerNoInputProps = _objectSpread({
|
|
32
|
-
type: 'radio',
|
|
33
|
-
id: 'decisionMakerNo',
|
|
34
|
-
name: 'decisionMaker',
|
|
35
|
-
'aria-label': 'No',
|
|
36
|
-
value: 'no'
|
|
37
|
-
}, value === 'no' && {
|
|
38
|
-
defaultChecked: true
|
|
39
|
-
});
|
|
40
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
41
|
-
id: "decisionMakerField",
|
|
42
|
-
role: "group",
|
|
43
|
-
"aria-labelledby": "decisionMakerFieldLabel",
|
|
44
|
-
className: "o-forms-field o-forms-field--inline",
|
|
45
|
-
"data-validate": "required"
|
|
46
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
47
|
-
className: "o-forms-title"
|
|
48
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
49
|
-
className: "o-forms-title__main",
|
|
50
|
-
id: "decisionMakerFieldLabel"
|
|
51
|
-
}, "Are you a manager with direct reports?")), /*#__PURE__*/_react["default"].createElement("span", {
|
|
52
|
-
className: radioButtonsWrapperClassNames
|
|
53
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
54
|
-
className: "o-forms-input--radio-box__container"
|
|
55
|
-
}, /*#__PURE__*/_react["default"].createElement("label", {
|
|
56
|
-
htmlFor: decisionMakerYesInputProps.id
|
|
57
|
-
}, /*#__PURE__*/_react["default"].createElement("input", decisionMakerYesInputProps), /*#__PURE__*/_react["default"].createElement("span", {
|
|
58
|
-
className: "o-forms-input__label",
|
|
59
|
-
"aria-hidden": "true"
|
|
60
|
-
}, "Yes")), /*#__PURE__*/_react["default"].createElement("label", {
|
|
61
|
-
htmlFor: decisionMakerNoInputProps.id
|
|
62
|
-
}, /*#__PURE__*/_react["default"].createElement("input", decisionMakerNoInputProps), /*#__PURE__*/_react["default"].createElement("span", {
|
|
63
|
-
className: "o-forms-input__label o-forms-input__label--negative",
|
|
64
|
-
"aria-hidden": "true"
|
|
65
|
-
}, "No"))), /*#__PURE__*/_react["default"].createElement("span", {
|
|
66
|
-
className: "o-forms-input__error"
|
|
67
|
-
}, "Please select an option")));
|
|
68
|
-
}
|
|
69
|
-
DecisionMaker.propTypes = {
|
|
70
|
-
hasError: _propTypes["default"].bool,
|
|
71
|
-
value: _propTypes["default"].string
|
|
72
|
-
};
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.DeferredBillingTerms = DeferredBillingTerms;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
-
var CONSENT_AGE = 16;
|
|
15
|
-
function DeferredBillingTerms(_ref) {
|
|
16
|
-
var _ref$isDeferredBillin = _ref.isDeferredBilling,
|
|
17
|
-
isDeferredBilling = _ref$isDeferredBillin === void 0 ? false : _ref$isDeferredBillin,
|
|
18
|
-
_ref$checkBoxTrackabl = _ref.checkBoxTrackableAttr,
|
|
19
|
-
checkBoxTrackableAttr = _ref$checkBoxTrackabl === void 0 ? 'field-terms' : _ref$checkBoxTrackabl,
|
|
20
|
-
_ref$trackableAttr = _ref.trackableAttr,
|
|
21
|
-
trackableAttr = _ref$trackableAttr === void 0 ? 'deferred-billing-terms' : _ref$trackableAttr,
|
|
22
|
-
_ref$errorMessage = _ref.errorMessage,
|
|
23
|
-
errorMessage = _ref$errorMessage === void 0 ? 'Please accept our terms & conditions' : _ref$errorMessage,
|
|
24
|
-
_ref$inputId = _ref.inputId,
|
|
25
|
-
inputId = _ref$inputId === void 0 ? 'accept-deferred-billing-terms' : _ref$inputId,
|
|
26
|
-
_ref$fieldId = _ref.fieldId,
|
|
27
|
-
fieldId = _ref$fieldId === void 0 ? 'accept-deferred-terms' : _ref$fieldId,
|
|
28
|
-
_ref$isChecked = _ref.isChecked,
|
|
29
|
-
isChecked = _ref$isChecked === void 0 ? false : _ref$isChecked,
|
|
30
|
-
_ref$hasError = _ref.hasError,
|
|
31
|
-
hasError = _ref$hasError === void 0 ? false : _ref$hasError;
|
|
32
|
-
var labelClassName = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--checkbox', {
|
|
33
|
-
'o-forms-input--invalid': hasError
|
|
34
|
-
}]);
|
|
35
|
-
var inputProps = _objectSpread({
|
|
36
|
-
id: "".concat(inputId),
|
|
37
|
-
type: 'checkbox',
|
|
38
|
-
name: "".concat(inputId),
|
|
39
|
-
value: 'true',
|
|
40
|
-
'data-trackable': checkBoxTrackableAttr,
|
|
41
|
-
'aria-required': 'true',
|
|
42
|
-
required: true
|
|
43
|
-
}, isChecked && {
|
|
44
|
-
defaultChecked: true
|
|
45
|
-
});
|
|
46
|
-
var divProps = _objectSpread({
|
|
47
|
-
id: 'acceptTermsField',
|
|
48
|
-
className: 'o-forms-field o-layout-typography ncf__validation-error',
|
|
49
|
-
'data-validate': 'required,checked'
|
|
50
|
-
}, isChecked && {
|
|
51
|
-
'data-trackable': trackableAttr
|
|
52
|
-
});
|
|
53
|
-
return isDeferredBilling && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("p", {
|
|
54
|
-
className: labelClassName
|
|
55
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
56
|
-
className: "ncf__paragraph"
|
|
57
|
-
}, "I confirm I am ", CONSENT_AGE, " years or older and have read and agree to the", ' ', /*#__PURE__*/_react["default"].createElement("a", {
|
|
58
|
-
className: "ncf__link--external",
|
|
59
|
-
href: "https://help.ft.com/legal-privacy/terms-and-conditions/",
|
|
60
|
-
title: "FT Legal Terms and Conditions help page",
|
|
61
|
-
target: "_blank",
|
|
62
|
-
rel: "noopener noreferrer",
|
|
63
|
-
"data-trackable": "terms-and-conditions"
|
|
64
|
-
}, "Terms & Conditions"), ".")), /*#__PURE__*/_react["default"].createElement("p", {
|
|
65
|
-
className: labelClassName
|
|
66
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
67
|
-
className: "ncf__paragraph"
|
|
68
|
-
}, "I give consent for my chosen payment method to be charged automatically at the end of each subscription term until I cancel it by contacting Customer Care through chat, phone or email.")), /*#__PURE__*/_react["default"].createElement("p", {
|
|
69
|
-
className: labelClassName
|
|
70
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
71
|
-
className: "ncf__paragraph"
|
|
72
|
-
}, "By placing my order, I acknowledge that my subscription will start on the date given above. Any cancellation notice received after that date will take effect at the end of my subscription term and previously paid amounts are non-refundable.")), /*#__PURE__*/_react["default"].createElement("p", {
|
|
73
|
-
className: labelClassName
|
|
74
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
75
|
-
className: "ncf__paragraph"
|
|
76
|
-
}, "Find out more about our cancellation policy in our", ' ', /*#__PURE__*/_react["default"].createElement("a", {
|
|
77
|
-
className: "ncf__link--external",
|
|
78
|
-
href: "https://help.ft.com/legal-privacy/terms-and-conditions/",
|
|
79
|
-
title: "FT Legal Terms and Conditions help page",
|
|
80
|
-
target: "_blank",
|
|
81
|
-
rel: "noopener noreferrer",
|
|
82
|
-
"data-trackable": "terms-and-conditions"
|
|
83
|
-
}, "Terms & Conditions"), ".")), /*#__PURE__*/_react["default"].createElement("p", {
|
|
84
|
-
className: labelClassName
|
|
85
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
86
|
-
className: "ncf__paragraph"
|
|
87
|
-
}, "Please note that if you fail to make payment for your Deferred Billing Plan within the due date your subscription will be automatically cancelled.", ' ', /*#__PURE__*/_react["default"].createElement("a", {
|
|
88
|
-
className: "ncf__link--external",
|
|
89
|
-
href: "https://help.ft.com/legal-privacy/terms-and-conditions/",
|
|
90
|
-
title: "FT Legal Terms and Conditions help page",
|
|
91
|
-
target: "_blank",
|
|
92
|
-
rel: "noopener noreferrer",
|
|
93
|
-
"data-trackable": "terms-and-conditions"
|
|
94
|
-
}, "Terms & Conditions"), ".")), /*#__PURE__*/_react["default"].createElement("div", divProps, /*#__PURE__*/_react["default"].createElement("label", {
|
|
95
|
-
className: labelClassName,
|
|
96
|
-
htmlFor: inputId,
|
|
97
|
-
id: fieldId
|
|
98
|
-
}, /*#__PURE__*/_react["default"].createElement("input", inputProps), /*#__PURE__*/_react["default"].createElement("span", {
|
|
99
|
-
className: "o-forms-input__label"
|
|
100
|
-
}, "I agree with terms & conditions."), /*#__PURE__*/_react["default"].createElement("p", {
|
|
101
|
-
className: "o-forms-input__error"
|
|
102
|
-
}, errorMessage))));
|
|
103
|
-
}
|
|
104
|
-
DeferredBillingTerms.propTypes = {
|
|
105
|
-
hasError: _propTypes["default"].bool,
|
|
106
|
-
isChecked: _propTypes["default"].bool,
|
|
107
|
-
isDeferredBilling: _propTypes["default"].bool,
|
|
108
|
-
fieldId: _propTypes["default"].string,
|
|
109
|
-
inputId: _propTypes["default"].string,
|
|
110
|
-
trackableAttr: _propTypes["default"].string,
|
|
111
|
-
errorMessage: _propTypes["default"].string
|
|
112
|
-
};
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _constants = require("../helpers/constants");
|
|
8
|
-
var React = require('react');
|
|
9
|
-
var addressTemplateGenerator = function addressTemplateGenerator(addressLine1, addressLine2, addressLine3) {
|
|
10
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, addressLine1, addressLine2, addressLine3);
|
|
11
|
-
};
|
|
12
|
-
var deliveryAddressMap = {
|
|
13
|
-
home: {
|
|
14
|
-
addressLine1Placeholder: {
|
|
15
|
-
GBR: 'e.g. 10 Elm Street',
|
|
16
|
-
USA: 'e.g. 10 Elm St.',
|
|
17
|
-
CAN: 'e.g. 36 Poirier Blvd.',
|
|
18
|
-
CEMEA_V1: 'Street and House Number',
|
|
19
|
-
CEMEA_V2: 'House Number and Street',
|
|
20
|
-
APAC: 'Street name',
|
|
21
|
-
ARE: 'PO Box 12345'
|
|
22
|
-
},
|
|
23
|
-
addressLine2Placeholder: {
|
|
24
|
-
CEMEA_V1: 'Apt No./Floor/Building',
|
|
25
|
-
CEMEA_V2: 'Apt No./Floor/Building',
|
|
26
|
-
APAC: 'House/Apartment/Building name'
|
|
27
|
-
},
|
|
28
|
-
addressLine3Placeholder: {
|
|
29
|
-
USA: 'e.g Apt 2C / FL 10 / STE 50',
|
|
30
|
-
CAN: 'e.g Apt 2C / FL 10 / STE 50',
|
|
31
|
-
CEMEA_V1: ' ',
|
|
32
|
-
CEMEA_V2: ' ',
|
|
33
|
-
APAC: 'District/County/Province/Ward'
|
|
34
|
-
},
|
|
35
|
-
addressLine1Title: {
|
|
36
|
-
ARE: 'PO Box'
|
|
37
|
-
},
|
|
38
|
-
// Overrides auto-complete
|
|
39
|
-
addressLine2AutoComplete: {
|
|
40
|
-
USA: _constants.addressLine3AutoComplete,
|
|
41
|
-
CAN: _constants.addressLine3AutoComplete
|
|
42
|
-
},
|
|
43
|
-
// Overrides auto-complete
|
|
44
|
-
addressLine3AutoComplete: {
|
|
45
|
-
USA: _constants.addressLine2AutoComplete,
|
|
46
|
-
CAN: _constants.addressLine2AutoComplete
|
|
47
|
-
},
|
|
48
|
-
addressLine3Title: {
|
|
49
|
-
GBR: 'Address line 3',
|
|
50
|
-
USA: 'APT/FL/STE',
|
|
51
|
-
CAN: 'APT/FL/STE',
|
|
52
|
-
CEMEA_V1: 'Address line 3',
|
|
53
|
-
CEMEA_V2: 'Address line 3',
|
|
54
|
-
APAC: 'Address line 3'
|
|
55
|
-
},
|
|
56
|
-
addressLine3Prompt: {
|
|
57
|
-
USA: 'Max. 6 characters. Please enter “Apartment 2C” as “Apt 2C”, “Floor 10 as FL 10”',
|
|
58
|
-
CAN: 'Max. 6 characters. Please enter “Apartment 2C” as “Apt 2C”, “Floor 10 as FL 10”'
|
|
59
|
-
},
|
|
60
|
-
addressLine3MaxLength: {
|
|
61
|
-
USA: 6,
|
|
62
|
-
CAN: 6
|
|
63
|
-
},
|
|
64
|
-
template: function template(addressLine1, addressLine2, addressLine3, region) {
|
|
65
|
-
var addressLines = {
|
|
66
|
-
GBR: addressTemplateGenerator(addressLine1, addressLine2, addressLine3),
|
|
67
|
-
USA: addressTemplateGenerator(addressLine1, addressLine3, addressLine2),
|
|
68
|
-
CAN: addressTemplateGenerator(addressLine1, addressLine3, addressLine2),
|
|
69
|
-
CEMEA_V1: addressTemplateGenerator(addressLine1, addressLine2, addressLine3),
|
|
70
|
-
CEMEA_V2: addressTemplateGenerator(addressLine1, addressLine2, addressLine3),
|
|
71
|
-
APAC: addressTemplateGenerator(addressLine1, addressLine2, addressLine3),
|
|
72
|
-
ARE: /*#__PURE__*/React.createElement(React.Fragment, null, " ", addressLine1, " ")
|
|
73
|
-
};
|
|
74
|
-
return addressLines[region];
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
company: {
|
|
78
|
-
addressLine1Placeholder: {
|
|
79
|
-
GBR: 'e.g. 10 Elm Street',
|
|
80
|
-
USA: 'e.g. 10 Elm St.',
|
|
81
|
-
CAN: 'e.g. 36 Poirier Blvd.',
|
|
82
|
-
CEMEA_V1: 'Street and House Number',
|
|
83
|
-
CEMEA_V2: 'House Number and Street',
|
|
84
|
-
APAC: 'Street name',
|
|
85
|
-
ARE: 'PO Box 12345'
|
|
86
|
-
},
|
|
87
|
-
addressLine2Placeholder: {
|
|
88
|
-
CEMEA_V1: 'Apt No./Floor/Building/Department',
|
|
89
|
-
CEMEA_V2: 'Apt No./Floor/Building/Department',
|
|
90
|
-
APAC: 'House/Apartment/Building name'
|
|
91
|
-
},
|
|
92
|
-
addressLine3Placeholder: {
|
|
93
|
-
USA: 'e.g Apt 2C / FL 10 / STE 50',
|
|
94
|
-
CAN: 'e.g Apt 2C / FL 10 / STE 50',
|
|
95
|
-
CEMEA_V1: 'Department name/job title',
|
|
96
|
-
CEMEA_V2: 'Department name/job title',
|
|
97
|
-
APAC: 'District/County/Province/Ward'
|
|
98
|
-
},
|
|
99
|
-
addressLine3Title: {
|
|
100
|
-
GBR: 'Address line 3',
|
|
101
|
-
USA: 'APT/FL/STE',
|
|
102
|
-
CAN: 'APT/FL/STE',
|
|
103
|
-
CEMEA_V1: 'Address line 3',
|
|
104
|
-
CEMEA_V2: 'Address line 3'
|
|
105
|
-
},
|
|
106
|
-
addressLine3Prompt: {
|
|
107
|
-
USA: 'Max. 6 characters. Please enter “Apartment 2C” as “Apt 2C”, “Floor 10 as FL 10”',
|
|
108
|
-
CAN: 'Max. 6 characters. Please enter “Apartment 2C” as “Apt 2C”, “Floor 10 as FL 10”'
|
|
109
|
-
},
|
|
110
|
-
addressLine1Title: {
|
|
111
|
-
ARE: 'PO Box'
|
|
112
|
-
},
|
|
113
|
-
// Overrides auto-complete
|
|
114
|
-
addressLine2AutoComplete: {
|
|
115
|
-
USA: _constants.addressLine3AutoComplete,
|
|
116
|
-
CAN: _constants.addressLine3AutoComplete
|
|
117
|
-
},
|
|
118
|
-
// Overrides auto-complete
|
|
119
|
-
addressLine3AutoComplete: {
|
|
120
|
-
USA: _constants.addressLine2AutoComplete,
|
|
121
|
-
CAN: _constants.addressLine2AutoComplete
|
|
122
|
-
},
|
|
123
|
-
addressLine3MaxLength: {
|
|
124
|
-
USA: 6,
|
|
125
|
-
CAN: 6
|
|
126
|
-
},
|
|
127
|
-
template: function template(addressLine1, addressLine2, addressLine3, region) {
|
|
128
|
-
var addressLines = {
|
|
129
|
-
GBR: addressTemplateGenerator(addressLine1, addressLine2, addressLine3),
|
|
130
|
-
USA: addressTemplateGenerator(addressLine1, addressLine3, addressLine2),
|
|
131
|
-
CAN: addressTemplateGenerator(addressLine1, addressLine3, addressLine2),
|
|
132
|
-
CEMEA_V1: addressTemplateGenerator(addressLine1, addressLine2, addressLine3),
|
|
133
|
-
CEMEA_V2: addressTemplateGenerator(addressLine1, addressLine2, addressLine3),
|
|
134
|
-
APAC: addressTemplateGenerator(addressLine1, addressLine2, addressLine3),
|
|
135
|
-
ARE: /*#__PURE__*/React.createElement(React.Fragment, null, " ", addressLine1, " ")
|
|
136
|
-
};
|
|
137
|
-
return addressLines[region];
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
pobox: {
|
|
141
|
-
addressLine1Placeholder: {
|
|
142
|
-
GBR: 'e.g. 10 Elm Street',
|
|
143
|
-
USA: 'e.g. 10 Elm St.',
|
|
144
|
-
CAN: 'e.g. 36 Poirier Blvd.',
|
|
145
|
-
CEMEA_V1: 'P.O. Box',
|
|
146
|
-
CEMEA_V2: 'P.O. Box'
|
|
147
|
-
},
|
|
148
|
-
addressLine2Placeholder: {},
|
|
149
|
-
addressLine3Placeholder: {},
|
|
150
|
-
addressLine1Title: {},
|
|
151
|
-
addressLine3Title: {
|
|
152
|
-
GBR: 'Address line 3',
|
|
153
|
-
USA: 'APT/FL/STE',
|
|
154
|
-
CAN: 'APT/FL/STE'
|
|
155
|
-
},
|
|
156
|
-
// Overrides auto-complete
|
|
157
|
-
addressLine2AutoComplete: {
|
|
158
|
-
USA: _constants.addressLine3AutoComplete,
|
|
159
|
-
CAN: _constants.addressLine3AutoComplete
|
|
160
|
-
},
|
|
161
|
-
// Overrides auto-complete
|
|
162
|
-
addressLine3AutoComplete: {
|
|
163
|
-
USA: _constants.addressLine2AutoComplete,
|
|
164
|
-
CAN: _constants.addressLine2AutoComplete
|
|
165
|
-
},
|
|
166
|
-
addressLine3Prompt: {
|
|
167
|
-
USA: 'Max. 6 characters. Please enter “Apartment 2C” as “Apt 2C”, “Floor 10 as FL 10”',
|
|
168
|
-
CAN: 'Max. 6 characters. Please enter “Apartment 2C” as “Apt 2C”, “Floor 10 as FL 10”'
|
|
169
|
-
},
|
|
170
|
-
addressLine3MaxLength: {},
|
|
171
|
-
template: function template(addressLine1, addressLine2, addressLine3, region) {
|
|
172
|
-
var addressLines = {
|
|
173
|
-
GBR: addressTemplateGenerator(addressLine1, addressLine2, addressLine3),
|
|
174
|
-
USA: addressTemplateGenerator(addressLine1, addressLine3, addressLine2),
|
|
175
|
-
CAN: addressTemplateGenerator(addressLine1, addressLine3, addressLine2),
|
|
176
|
-
CEMEA_V1: /*#__PURE__*/React.createElement(React.Fragment, null, " ", addressLine1, " "),
|
|
177
|
-
CEMEA_V2: /*#__PURE__*/React.createElement(React.Fragment, null, " ", addressLine1, " ")
|
|
178
|
-
};
|
|
179
|
-
return addressLines[region];
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
var _default = deliveryAddressMap;
|
|
184
|
-
exports["default"] = _default;
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.DeliveryAddressType = DeliveryAddressType;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var addressTypes = [{
|
|
11
|
-
id: 'home',
|
|
12
|
-
label: 'Home Address'
|
|
13
|
-
}, {
|
|
14
|
-
id: 'company',
|
|
15
|
-
label: 'Company Address'
|
|
16
|
-
}, {
|
|
17
|
-
id: 'pobox',
|
|
18
|
-
label: 'P.O. Box'
|
|
19
|
-
}];
|
|
20
|
-
function DeliveryAddressType(_ref) {
|
|
21
|
-
var _ref$value = _ref.value,
|
|
22
|
-
value = _ref$value === void 0 ? 'home' : _ref$value,
|
|
23
|
-
_ref$fieldId = _ref.fieldId,
|
|
24
|
-
fieldId = _ref$fieldId === void 0 ? 'deliveryAddressTypeField' : _ref$fieldId,
|
|
25
|
-
_ref$inputName = _ref.inputName,
|
|
26
|
-
inputName = _ref$inputName === void 0 ? 'deliveryAddressType' : _ref$inputName,
|
|
27
|
-
_ref$options = _ref.options,
|
|
28
|
-
options = _ref$options === void 0 ? ['home', 'company', 'pobox'] : _ref$options,
|
|
29
|
-
_ref$editMode = _ref.editMode,
|
|
30
|
-
editMode = _ref$editMode === void 0 ? false : _ref$editMode,
|
|
31
|
-
_ref$titlePrompt = _ref.titlePrompt,
|
|
32
|
-
titlePrompt = _ref$titlePrompt === void 0 ? '' : _ref$titlePrompt;
|
|
33
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
34
|
-
id: fieldId,
|
|
35
|
-
className: "o-forms-field ncf__delivery-address-type",
|
|
36
|
-
role: "group",
|
|
37
|
-
"aria-label": "Delivery Address Type"
|
|
38
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
39
|
-
className: "o-forms-title"
|
|
40
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
41
|
-
className: "o-forms-title__main"
|
|
42
|
-
}, "Address type"), /*#__PURE__*/_react["default"].createElement("span", {
|
|
43
|
-
className: "o-forms-title__prompt"
|
|
44
|
-
}, titlePrompt)), /*#__PURE__*/_react["default"].createElement("div", {
|
|
45
|
-
className: "o-forms-input o-forms-input--inline o-forms-input--radio-round"
|
|
46
|
-
}, options.map(function (option) {
|
|
47
|
-
var type = addressTypes.find(function (item) {
|
|
48
|
-
return item.id === option;
|
|
49
|
-
});
|
|
50
|
-
return !type ? null : /*#__PURE__*/_react["default"].createElement("label", {
|
|
51
|
-
htmlFor: type.id,
|
|
52
|
-
"aria-label": type.label,
|
|
53
|
-
key: type.id
|
|
54
|
-
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
55
|
-
type: "radio",
|
|
56
|
-
id: type.id,
|
|
57
|
-
name: inputName,
|
|
58
|
-
value: type.id,
|
|
59
|
-
className: "ncf__delivery-address-type__input",
|
|
60
|
-
disabled: editMode && type.id !== value,
|
|
61
|
-
defaultChecked: type.id === value
|
|
62
|
-
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
63
|
-
className: "o-forms-input__label o-forms-input__address-type__label",
|
|
64
|
-
"aria-hidden": "true"
|
|
65
|
-
}, type.label));
|
|
66
|
-
})));
|
|
67
|
-
}
|
|
68
|
-
DeliveryAddressType.propTypes = {
|
|
69
|
-
fieldId: _propTypes["default"].string,
|
|
70
|
-
inputName: _propTypes["default"].string,
|
|
71
|
-
value: _propTypes["default"].oneOf(['home', 'company', 'pobox']),
|
|
72
|
-
options: _propTypes["default"].arrayOf(_propTypes["default"].oneOf(['home', 'company', 'pobox'])),
|
|
73
|
-
titlePrompt: _propTypes["default"].string
|
|
74
|
-
};
|
package/dist/delivery-address.js
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.DeliveryAddress = DeliveryAddress;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
-
var _deliveryAddressMap = _interopRequireDefault(require("./delivery-address-map"));
|
|
12
|
-
var _constants = require("../helpers/constants");
|
|
13
|
-
var _supportedCountries = require("../helpers/supportedCountries");
|
|
14
|
-
function DeliveryAddress(_ref) {
|
|
15
|
-
var _ref$fieldId = _ref.fieldId,
|
|
16
|
-
fieldId = _ref$fieldId === void 0 ? 'deliveryAddressFields' : _ref$fieldId,
|
|
17
|
-
_ref$hasError = _ref.hasError,
|
|
18
|
-
hasError = _ref$hasError === void 0 ? false : _ref$hasError,
|
|
19
|
-
_ref$line = _ref.line1,
|
|
20
|
-
line1 = _ref$line === void 0 ? '' : _ref$line,
|
|
21
|
-
_ref$line2 = _ref.line2,
|
|
22
|
-
line2 = _ref$line2 === void 0 ? '' : _ref$line2,
|
|
23
|
-
_ref$line3 = _ref.line3,
|
|
24
|
-
line3 = _ref$line3 === void 0 ? '' : _ref$line3,
|
|
25
|
-
_ref$isDisabled = _ref.isDisabled,
|
|
26
|
-
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
27
|
-
_ref$isHidden = _ref.isHidden,
|
|
28
|
-
isHidden = _ref$isHidden === void 0 ? false : _ref$isHidden,
|
|
29
|
-
_ref$country = _ref.country,
|
|
30
|
-
country = _ref$country === void 0 ? 'GBR' : _ref$country,
|
|
31
|
-
_ref$addressType = _ref.addressType,
|
|
32
|
-
addressType = _ref$addressType === void 0 ? 'home' : _ref$addressType;
|
|
33
|
-
var divClassNames = (0, _classnames["default"])([{
|
|
34
|
-
ncf__hidden: isHidden
|
|
35
|
-
}]);
|
|
36
|
-
var inputWrapperClassNames = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--text', {
|
|
37
|
-
'o-forms-input--invalid': hasError
|
|
38
|
-
}]);
|
|
39
|
-
var FTShippingZone = (0, _supportedCountries.identifyFTShippingZone)(country);
|
|
40
|
-
var addressLine1 = /*#__PURE__*/_react["default"].createElement("label", {
|
|
41
|
-
className: "o-forms-field ncf__validation-error",
|
|
42
|
-
htmlFor: "deliveryAddressLine1"
|
|
43
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
44
|
-
className: "o-forms-title"
|
|
45
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
46
|
-
className: "o-forms-title__main"
|
|
47
|
-
}, _deliveryAddressMap["default"][addressType].addressLine1Title[FTShippingZone] || 'Address line 1')), /*#__PURE__*/_react["default"].createElement("span", {
|
|
48
|
-
className: inputWrapperClassNames
|
|
49
|
-
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
50
|
-
type: "text",
|
|
51
|
-
id: "deliveryAddressLine1",
|
|
52
|
-
name: "deliveryAddressLine1",
|
|
53
|
-
"data-trackable": "field-deliveryAddressLine1",
|
|
54
|
-
autoComplete: _constants.addressLine1AutoComplete,
|
|
55
|
-
placeholder: _deliveryAddressMap["default"][addressType].addressLine1Placeholder[FTShippingZone],
|
|
56
|
-
maxLength: 50,
|
|
57
|
-
"aria-required": "true",
|
|
58
|
-
required: true,
|
|
59
|
-
disabled: isDisabled,
|
|
60
|
-
defaultValue: line1
|
|
61
|
-
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
62
|
-
className: "o-forms-input__error"
|
|
63
|
-
}, "Please enter a valid address")));
|
|
64
|
-
var addressLine2 = /*#__PURE__*/_react["default"].createElement("label", {
|
|
65
|
-
className: "o-forms-field o-forms-field--optional",
|
|
66
|
-
htmlFor: "deliveryAddressLine2"
|
|
67
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
68
|
-
className: "o-forms-title"
|
|
69
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
70
|
-
className: "o-forms-title__main"
|
|
71
|
-
}, "Address line 2")), /*#__PURE__*/_react["default"].createElement("span", {
|
|
72
|
-
className: inputWrapperClassNames
|
|
73
|
-
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
74
|
-
type: "text",
|
|
75
|
-
id: "deliveryAddressLine2",
|
|
76
|
-
name: "deliveryAddressLine2",
|
|
77
|
-
"data-trackable": "field-deliveryAddressLine2",
|
|
78
|
-
autoComplete: _deliveryAddressMap["default"][addressType].addressLine2AutoComplete[FTShippingZone] || _constants.addressLine2AutoComplete,
|
|
79
|
-
placeholder: _deliveryAddressMap["default"][addressType].addressLine2Placeholder[FTShippingZone] || '',
|
|
80
|
-
maxLength: 50,
|
|
81
|
-
disabled: isDisabled,
|
|
82
|
-
defaultValue: line2
|
|
83
|
-
})));
|
|
84
|
-
var addressLine3 = /*#__PURE__*/_react["default"].createElement("label", {
|
|
85
|
-
className: "o-forms-field o-forms-field--optional",
|
|
86
|
-
htmlFor: "deliveryAddressLine3"
|
|
87
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
88
|
-
className: "o-forms-title"
|
|
89
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
90
|
-
className: "o-forms-title__main"
|
|
91
|
-
}, _deliveryAddressMap["default"][addressType].addressLine3Title[FTShippingZone]), /*#__PURE__*/_react["default"].createElement("span", {
|
|
92
|
-
className: "o-forms-title__prompt"
|
|
93
|
-
}, _deliveryAddressMap["default"][addressType].addressLine3Prompt[FTShippingZone])), /*#__PURE__*/_react["default"].createElement("span", {
|
|
94
|
-
className: inputWrapperClassNames
|
|
95
|
-
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
96
|
-
type: "text",
|
|
97
|
-
id: "deliveryAddressLine3",
|
|
98
|
-
name: "deliveryAddressLine3",
|
|
99
|
-
"data-trackable": "field-deliveryAddressLine3",
|
|
100
|
-
autoComplete: _deliveryAddressMap["default"][addressType].addressLine3AutoComplete[FTShippingZone] || _constants.addressLine3AutoComplete,
|
|
101
|
-
placeholder: _deliveryAddressMap["default"][addressType].addressLine3Placeholder[FTShippingZone] || 'e.g. Apt. 1',
|
|
102
|
-
maxLength: _deliveryAddressMap["default"][addressType].addressLine3MaxLength[country] || 50,
|
|
103
|
-
disabled: isDisabled,
|
|
104
|
-
defaultValue: line3
|
|
105
|
-
})));
|
|
106
|
-
var addressLines = _deliveryAddressMap["default"][addressType].template(addressLine1, addressLine2, addressLine3, FTShippingZone);
|
|
107
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
108
|
-
id: fieldId,
|
|
109
|
-
"data-validate": "required",
|
|
110
|
-
className: divClassNames
|
|
111
|
-
}, addressLines);
|
|
112
|
-
}
|
|
113
|
-
DeliveryAddress.propTypes = {
|
|
114
|
-
fieldId: _propTypes["default"].string,
|
|
115
|
-
hasError: _propTypes["default"].bool,
|
|
116
|
-
line1: _propTypes["default"].string,
|
|
117
|
-
line2: _propTypes["default"].string,
|
|
118
|
-
line3: _propTypes["default"].string,
|
|
119
|
-
isDisabled: _propTypes["default"].bool,
|
|
120
|
-
isHidden: _propTypes["default"].bool,
|
|
121
|
-
country: _propTypes["default"].oneOf(_supportedCountries.countriesSupportedISO),
|
|
122
|
-
addressType: _propTypes["default"].oneOf(['home', 'company', 'pobox'])
|
|
123
|
-
};
|