@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.
Files changed (94) hide show
  1. package/.circleci/config.yml +97 -150
  2. package/.github/workflows/gh-pages-deploy.yml +3 -3
  3. package/.toolkitrc.yml +19 -0
  4. package/.toolkitstate/ci.json +6 -0
  5. package/CONTRIBUTING.md +1 -1
  6. package/README.md +2 -2
  7. package/components/accept-terms-subscription.jsx +7 -5
  8. package/jest.config.js +2 -0
  9. package/package.json +30 -16
  10. package/.circleci/shared-helpers/.github/settings.yml +0 -1
  11. package/.circleci/shared-helpers/CODEOWNERS +0 -3
  12. package/.circleci/shared-helpers/README.md +0 -72
  13. package/.circleci/shared-helpers/helper-check-service-ready +0 -37
  14. package/.circleci/shared-helpers/helper-configure-awscli +0 -20
  15. package/.circleci/shared-helpers/helper-generate-build-state-artifacts +0 -29
  16. package/.circleci/shared-helpers/helper-install-awscli +0 -14
  17. package/.circleci/shared-helpers/helper-install-puppeteer-deps +0 -25
  18. package/.circleci/shared-helpers/helper-npm-install-peer-deps +0 -40
  19. package/.circleci/shared-helpers/helper-npm-store-auth-token +0 -14
  20. package/.circleci/shared-helpers/helper-npm-update +0 -26
  21. package/.circleci/shared-helpers/helper-npm-version-and-publish-public +0 -19
  22. package/.circleci/shared-helpers/helper-publish-github-pages +0 -43
  23. package/.circleci/shared-helpers/helper-setup-heroku-cli +0 -46
  24. package/.circleci/shared-helpers/helper-setup-s3-upload +0 -17
  25. package/.circleci/shared-helpers/helper-upload-assets-to-s3 +0 -69
  26. package/.circleci/shared-helpers/helper.example +0 -13
  27. package/build-state/npm-shrinkwrap.json +0 -58461
  28. package/dist/accept-terms-business.js +0 -74
  29. package/dist/accept-terms-business.spec.js +0 -40
  30. package/dist/accept-terms-privacy-policy.js +0 -71
  31. package/dist/accept-terms-subscription.js +0 -150
  32. package/dist/accept-terms.js +0 -217
  33. package/dist/app-banner.js +0 -51
  34. package/dist/b2c-partnership-confirmation.js +0 -64
  35. package/dist/billing-city.js +0 -58
  36. package/dist/billing-country.js +0 -43
  37. package/dist/billing-postcode.js +0 -76
  38. package/dist/company-name.js +0 -78
  39. package/dist/confirmation.js +0 -117
  40. package/dist/continue-reading.js +0 -45
  41. package/dist/country.js +0 -106
  42. package/dist/customer-care.js +0 -52
  43. package/dist/debug.js +0 -50
  44. package/dist/decision-maker.js +0 -72
  45. package/dist/deferred-billing-terms.js +0 -112
  46. package/dist/delivery-address-map.js +0 -184
  47. package/dist/delivery-address-type.js +0 -74
  48. package/dist/delivery-address.js +0 -123
  49. package/dist/delivery-city.js +0 -70
  50. package/dist/delivery-county.js +0 -48
  51. package/dist/delivery-instructions.js +0 -123
  52. package/dist/delivery-option.js +0 -77
  53. package/dist/delivery-po-box.js +0 -75
  54. package/dist/delivery-postcode.js +0 -116
  55. package/dist/delivery-security-instructions.js +0 -72
  56. package/dist/delivery-start-date.js +0 -77
  57. package/dist/education-job-title.js +0 -67
  58. package/dist/email.js +0 -90
  59. package/dist/error-page.js +0 -45
  60. package/dist/fieldset.js +0 -58
  61. package/dist/first-name.js +0 -73
  62. package/dist/form.js +0 -29
  63. package/dist/google-sign-in.js +0 -24
  64. package/dist/graduation-date.js +0 -112
  65. package/dist/index.js +0 -432
  66. package/dist/industry.js +0 -81
  67. package/dist/job-title.js +0 -65
  68. package/dist/last-name.js +0 -73
  69. package/dist/licence-confirmation.js +0 -67
  70. package/dist/licence-header.js +0 -52
  71. package/dist/licence-sign-in.js +0 -36
  72. package/dist/licence-title.js +0 -46
  73. package/dist/lite-sub-confirmation.js +0 -118
  74. package/dist/loader.js +0 -54
  75. package/dist/message.js +0 -101
  76. package/dist/message.spec.js +0 -96
  77. package/dist/organisation.js +0 -73
  78. package/dist/package-change.js +0 -38
  79. package/dist/password.js +0 -95
  80. package/dist/payment-term.js +0 -328
  81. package/dist/payment-type.js +0 -213
  82. package/dist/personal-title.js +0 -94
  83. package/dist/phone.js +0 -85
  84. package/dist/position.js +0 -86
  85. package/dist/progress-indicator.js +0 -66
  86. package/dist/province.js +0 -80
  87. package/dist/registration-confirmation.js +0 -108
  88. package/dist/responsibility.js +0 -84
  89. package/dist/section.js +0 -20
  90. package/dist/seven-day-pass-experiment-confirmation.js +0 -93
  91. package/dist/state.js +0 -80
  92. package/dist/submit.js +0 -52
  93. package/dist/text-input.js +0 -78
  94. package/dist/trial-banner.js +0 -29
@@ -1,64 +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.B2CPartnershipConfirmation = B2CPartnershipConfirmation;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var productCodeMapping = {
11
- P1: 'Standard',
12
- P2: 'Premium',
13
- EP: 'ePaper'
14
- };
15
- function B2CPartnershipConfirmation(_ref) {
16
- var _ref$ctaElement = _ref.ctaElement,
17
- ctaElement = _ref$ctaElement === void 0 ? null : _ref$ctaElement,
18
- _ref$productCode = _ref.productCode,
19
- productCode = _ref$productCode === void 0 ? null : _ref$productCode;
20
- var readingLinkProps = {
21
- href: '/',
22
- className: 'ncf__link'
23
- };
24
- var customerCareProps = {
25
- href: 'https://help.ft.com/',
26
- className: 'ncf__link'
27
- };
28
-
29
- // Welcome to your Standard access
30
- // Welcome to your Premium access
31
- // Welcome to your ePaper access
32
- // Welcome to your FT access (default)
33
- var accessType = productCodeMapping[productCode === null || productCode === void 0 ? void 0 : productCode.toUpperCase()] || 'FT';
34
- return /*#__PURE__*/_react["default"].createElement("div", {
35
- className: "ncf ncf__wrapper"
36
- }, /*#__PURE__*/_react["default"].createElement("div", {
37
- className: "ncf__center"
38
- }, /*#__PURE__*/_react["default"].createElement("div", {
39
- className: "ncf__icon ncf__icon--tick ncf__icon--large"
40
- }), /*#__PURE__*/_react["default"].createElement("div", {
41
- className: "ncf__paragraph"
42
- }, /*#__PURE__*/_react["default"].createElement("h1", {
43
- className: "ncf__header ncf__header--confirmation"
44
- }, "Welcome to your ".concat(accessType, " access")))), /*#__PURE__*/_react["default"].createElement("p", {
45
- className: "ncf__paragraph"
46
- }, "Please check your email to confirm your account and set your password."), /*#__PURE__*/_react["default"].createElement("p", {
47
- className: "ncf__paragraph"
48
- }, "Explore the homepage & enjoy your unlimited access & exclusive content."), ctaElement || /*#__PURE__*/_react["default"].createElement("p", {
49
- className: "ncf__paragraph ncf__center"
50
- }, /*#__PURE__*/_react["default"].createElement("a", {
51
- className: "ncf__button ncf__button--submit",
52
- href: "/myft"
53
- }, "Go to myFT")), /*#__PURE__*/_react["default"].createElement("p", {
54
- className: "ncf__paragraph ncf__center"
55
- }, /*#__PURE__*/_react["default"].createElement("a", readingLinkProps, "Start reading")), /*#__PURE__*/_react["default"].createElement("p", {
56
- className: "ncf__paragraph"
57
- }, /*#__PURE__*/_react["default"].createElement("div", {
58
- className: "ncf__strong"
59
- }, "Can we help?"), "For any queries about your Premium subscription please", ' ', /*#__PURE__*/_react["default"].createElement("a", customerCareProps, "contact Customer Care"), "."));
60
- }
61
- B2CPartnershipConfirmation.propTypes = {
62
- ctaElement: _propTypes["default"].node,
63
- productCode: _propTypes["default"].string
64
- };
@@ -1,58 +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.BillingCity = BillingCity;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- function BillingCity(_ref) {
12
- var _ref$hasError = _ref.hasError,
13
- hasError = _ref$hasError === void 0 ? false : _ref$hasError,
14
- _ref$value = _ref.value,
15
- value = _ref$value === void 0 ? '' : _ref$value,
16
- _ref$isDisabled = _ref.isDisabled,
17
- isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
18
- _ref$isHidden = _ref.isHidden,
19
- isHidden = _ref$isHidden === void 0 ? false : _ref$isHidden;
20
- var billingCityFieldClassNames = (0, _classnames["default"])(['o-forms-field', 'ncf__validation-error', {
21
- ncf__hidden: isHidden
22
- }]);
23
- var inputWrapperClassName = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--text', {
24
- 'o-forms-input--invalid': hasError
25
- }]);
26
- return /*#__PURE__*/_react["default"].createElement("label", {
27
- id: "billingCityField",
28
- className: billingCityFieldClassNames,
29
- "data-validate": "required",
30
- htmlFor: "billingCity"
31
- }, /*#__PURE__*/_react["default"].createElement("span", {
32
- className: "o-forms-title"
33
- }, /*#__PURE__*/_react["default"].createElement("span", {
34
- className: "o-forms-title__main"
35
- }, "Billing city/town")), /*#__PURE__*/_react["default"].createElement("span", {
36
- className: inputWrapperClassName
37
- }, /*#__PURE__*/_react["default"].createElement("input", {
38
- type: "text",
39
- id: "billingCity",
40
- name: "billingCity",
41
- "data-trackable": "field-billingCity",
42
- autoComplete: "address-level2",
43
- placeholder: "e.g. Bath",
44
- maxLength: 40,
45
- "aria-required": "true",
46
- required: true,
47
- disabled: isDisabled,
48
- defaultValue: value
49
- }), /*#__PURE__*/_react["default"].createElement("span", {
50
- className: "o-forms-input__error"
51
- }, "Please enter a valid city or town")));
52
- }
53
- BillingCity.propTypes = {
54
- hasError: _propTypes["default"].bool,
55
- value: _propTypes["default"].string,
56
- isDisabled: _propTypes["default"].bool,
57
- isHidden: _propTypes["default"].bool
58
- };
@@ -1,43 +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.BillingCountry = BillingCountry;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _country = require("./country");
11
- function BillingCountry(_ref) {
12
- var _ref$fieldId = _ref.fieldId,
13
- fieldId = _ref$fieldId === void 0 ? 'billingCountryField' : _ref$fieldId,
14
- _ref$filterList = _ref.filterList,
15
- filterList = _ref$filterList === void 0 ? [] : _ref$filterList,
16
- _ref$hasError = _ref.hasError,
17
- hasError = _ref$hasError === void 0 ? false : _ref$hasError,
18
- _ref$inputId = _ref.inputId,
19
- inputId = _ref$inputId === void 0 ? 'billingCountry' : _ref$inputId,
20
- _ref$isDisabled = _ref.isDisabled,
21
- isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
22
- value = _ref.value;
23
- return /*#__PURE__*/_react["default"].createElement(_country.Country, {
24
- dataTrackable: "field-billing-country",
25
- fieldId: fieldId,
26
- filterList: filterList,
27
- hasError: hasError,
28
- inputId: inputId,
29
- isB2b: false,
30
- isDisabled: isDisabled,
31
- isPlaceholderDisabled: true,
32
- label: "Billing Country",
33
- value: value
34
- });
35
- }
36
- BillingCountry.propTypes = {
37
- fieldId: _propTypes["default"].string,
38
- filterList: _propTypes["default"].arrayOf(_propTypes["default"].string),
39
- hasError: _propTypes["default"].bool,
40
- inputId: _propTypes["default"].string,
41
- isDisabled: _propTypes["default"].bool,
42
- value: _propTypes["default"].string
43
- };
@@ -1,76 +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.BillingPostcode = BillingPostcode;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- function BillingPostcode(_ref) {
12
- var postcodeReference = _ref.postcodeReference,
13
- _ref$value = _ref.value,
14
- value = _ref$value === void 0 ? '' : _ref$value,
15
- _ref$pattern = _ref.pattern,
16
- pattern = _ref$pattern === void 0 ? null : _ref$pattern,
17
- _ref$isDisabled = _ref.isDisabled,
18
- isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
19
- _ref$hasError = _ref.hasError,
20
- hasError = _ref$hasError === void 0 ? false : _ref$hasError,
21
- _ref$isHidden = _ref.isHidden,
22
- isHidden = _ref$isHidden === void 0 ? false : _ref$isHidden,
23
- _ref$fieldId = _ref.fieldId,
24
- fieldId = _ref$fieldId === void 0 ? 'billingPostcodeField' : _ref$fieldId,
25
- _ref$inputId = _ref.inputId,
26
- inputId = _ref$inputId === void 0 ? 'billingPostcode' : _ref$inputId,
27
- _ref$inputName = _ref.inputName,
28
- inputName = _ref$inputName === void 0 ? 'billingPostcode' : _ref$inputName;
29
- var BillingPostcodeFieldClassNames = (0, _classnames["default"])(['o-forms-field', {
30
- ncf__hidden: isHidden
31
- }]);
32
- var inputWrapperClassNames = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--text', {
33
- 'o-forms-input--invalid': hasError
34
- }]);
35
- return /*#__PURE__*/_react["default"].createElement("label", {
36
- id: fieldId,
37
- className: BillingPostcodeFieldClassNames,
38
- "data-validate": "required",
39
- htmlFor: inputId
40
- }, /*#__PURE__*/_react["default"].createElement("span", {
41
- className: "o-forms-title"
42
- }, /*#__PURE__*/_react["default"].createElement("span", {
43
- className: "o-forms-title__main"
44
- }, "Billing ", /*#__PURE__*/_react["default"].createElement("span", {
45
- "data-reference": "postcode"
46
- }, postcodeReference))), /*#__PURE__*/_react["default"].createElement("span", {
47
- className: inputWrapperClassNames
48
- }, /*#__PURE__*/_react["default"].createElement("input", {
49
- type: "text",
50
- id: inputId,
51
- name: inputName,
52
- defaultValue: value,
53
- placeholder: "Enter your ".concat(postcodeReference),
54
- autoComplete: "postal-code",
55
- "data-trackable": "billing-postcode",
56
- "aria-required": "true",
57
- required: true,
58
- pattern: pattern,
59
- disabled: isDisabled
60
- }), /*#__PURE__*/_react["default"].createElement("span", {
61
- className: "o-forms-input__error"
62
- }, "Please enter a valid", ' ', /*#__PURE__*/_react["default"].createElement("span", {
63
- "data-reference": "postcode"
64
- }, postcodeReference), ".")));
65
- }
66
- BillingPostcode.propTypes = {
67
- postcodeReference: _propTypes["default"].string.isRequired,
68
- value: _propTypes["default"].string,
69
- pattern: _propTypes["default"].string,
70
- isDisabled: _propTypes["default"].bool,
71
- hasError: _propTypes["default"].bool,
72
- isHidden: _propTypes["default"].bool,
73
- fieldId: _propTypes["default"].string,
74
- inputId: _propTypes["default"].string,
75
- inputName: _propTypes["default"].string
76
- };
@@ -1,78 +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.CompanyName = CompanyName;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- function CompanyName(_ref) {
12
- var _ref$fieldId = _ref.fieldId,
13
- fieldId = _ref$fieldId === void 0 ? 'companyNameField' : _ref$fieldId,
14
- _ref$hasError = _ref.hasError,
15
- hasError = _ref$hasError === void 0 ? false : _ref$hasError,
16
- _ref$inputId = _ref.inputId,
17
- inputId = _ref$inputId === void 0 ? 'companyName' : _ref$inputId,
18
- _ref$inputName = _ref.inputName,
19
- inputName = _ref$inputName === void 0 ? 'company' : _ref$inputName,
20
- _ref$value = _ref.value,
21
- value = _ref$value === void 0 ? '' : _ref$value,
22
- _ref$isDisabled = _ref.isDisabled,
23
- isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
24
- _ref$fieldLabel = _ref.fieldLabel,
25
- fieldLabel = _ref$fieldLabel === void 0 ? 'Company name' : _ref$fieldLabel,
26
- _ref$placeholder = _ref.placeholder,
27
- placeholder = _ref$placeholder === void 0 ? 'Please enter your company name' : _ref$placeholder,
28
- _ref$isRequired = _ref.isRequired,
29
- isRequired = _ref$isRequired === void 0 ? true : _ref$isRequired,
30
- _ref$isHidden = _ref.isHidden,
31
- isHidden = _ref$isHidden === void 0 ? false : _ref$isHidden,
32
- _ref$maxlength = _ref.maxlength,
33
- maxlength = _ref$maxlength === void 0 ? 100 : _ref$maxlength;
34
- var divClassNames = (0, _classnames["default"])(['o-forms-field', {
35
- 'o-forms-field--optional': !isRequired
36
- }, {
37
- ncf__hidden: isHidden
38
- }]);
39
- var inputWrapperClassNames = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--text', {
40
- 'o-forms-input--invalid': hasError
41
- }]);
42
- var inputProps = {
43
- type: 'text',
44
- id: inputId,
45
- name: inputName,
46
- placeholder: placeholder,
47
- autoComplete: 'organization',
48
- 'data-trackable': 'company-name',
49
- 'aria-required': isRequired,
50
- required: isRequired,
51
- disabled: isDisabled,
52
- defaultValue: value,
53
- maxlength: maxlength
54
- };
55
- return /*#__PURE__*/_react["default"].createElement("label", {
56
- id: fieldId,
57
- className: divClassNames,
58
- "data-validate": "required",
59
- htmlFor: inputProps.id
60
- }, /*#__PURE__*/_react["default"].createElement("span", {
61
- className: "o-forms-title"
62
- }, /*#__PURE__*/_react["default"].createElement("span", {
63
- className: "o-forms-title__main"
64
- }, fieldLabel)), /*#__PURE__*/_react["default"].createElement("span", {
65
- className: inputWrapperClassNames
66
- }, /*#__PURE__*/_react["default"].createElement("input", inputProps), /*#__PURE__*/_react["default"].createElement("span", {
67
- className: "o-forms-input__error"
68
- }, "Please enter your company name.")));
69
- }
70
- CompanyName.propTypes = {
71
- hasError: _propTypes["default"].bool,
72
- value: _propTypes["default"].string,
73
- isDisabled: _propTypes["default"].bool,
74
- fieldLabel: _propTypes["default"].string,
75
- isRequired: _propTypes["default"].bool,
76
- isHidden: _propTypes["default"].bool,
77
- maxlength: _propTypes["default"].number
78
- };
@@ -1,117 +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.Confirmation = Confirmation;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- 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; }
12
- 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; }
13
- var EMAIL_DEFAULT_TEXT = 'your email';
14
- function Confirmation(_ref) {
15
- var _ref$isTrial = _ref.isTrial,
16
- isTrial = _ref$isTrial === void 0 ? false : _ref$isTrial,
17
- _ref$isB2cPartnership = _ref.isB2cPartnership,
18
- isB2cPartnership = _ref$isB2cPartnership === void 0 ? false : _ref$isB2cPartnership,
19
- _ref$b2cPartnershipCo = _ref.b2cPartnershipCopy,
20
- b2cPartnershipCopy = _ref$b2cPartnershipCo === void 0 ? [] : _ref$b2cPartnershipCo,
21
- _ref$offer = _ref.offer,
22
- offer = _ref$offer === void 0 ? '' : _ref$offer,
23
- _ref$email = _ref.email,
24
- email = _ref$email === void 0 ? EMAIL_DEFAULT_TEXT : _ref$email,
25
- _ref$details = _ref.details,
26
- details = _ref$details === void 0 ? null : _ref$details,
27
- _ref$directDebitManda = _ref.directDebitMandateUrl,
28
- directDebitMandateUrl = _ref$directDebitManda === void 0 ? null : _ref$directDebitManda,
29
- _ref$nextActionTop = _ref.nextActionTop,
30
- nextActionTop = _ref$nextActionTop === void 0 ? null : _ref$nextActionTop,
31
- _ref$nextActionBottom = _ref.nextActionBottom,
32
- nextActionBottom = _ref$nextActionBottom === void 0 ? null : _ref$nextActionBottom;
33
- var containerDivProps = _objectSpread({
34
- className: 'ncf ncf__wrapper'
35
- }, isTrial && {
36
- 'data-signup-is-trial': 'true'
37
- });
38
- var isB2cPartnershipCopyAvailable = isB2cPartnership && b2cPartnershipCopy.length > 0;
39
- var detailElements = details && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("h2", {
40
- className: "ncf__header2--afterline"
41
- }, "Your billing details"), /*#__PURE__*/_react["default"].createElement("dl", {
42
- className: "ncf__list"
43
- }, details.map(function (detail, index) {
44
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
45
- key: index
46
- }, /*#__PURE__*/_react["default"].createElement("dt", {
47
- className: "ncf__list-title"
48
- }, detail.title), /*#__PURE__*/_react["default"].createElement("dd", {
49
- className: "ncf__list-data"
50
- }, detail.data), detail.description && /*#__PURE__*/_react["default"].createElement("dd", {
51
- className: "ncf__list-description"
52
- }, detail.description));
53
- })));
54
- var directDebitMandateUrlElement = directDebitMandateUrl && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("p", {
55
- className: "ncf__paragraph--reduced-padding"
56
- }, "Download your", ' ', /*#__PURE__*/_react["default"].createElement("a", {
57
- href: directDebitMandateUrl,
58
- "data-trackable": "dd-mandate-link",
59
- id: "encryptedMandateLink"
60
- }, "direct debit mandate"), /*#__PURE__*/_react["default"].createElement("i", {
61
- className: "ncf__icon-download"
62
- })));
63
- return /*#__PURE__*/_react["default"].createElement("div", containerDivProps, /*#__PURE__*/_react["default"].createElement("div", {
64
- className: "ncf__center"
65
- }, /*#__PURE__*/_react["default"].createElement("div", {
66
- className: "ncf__icon ncf__icon--tick ncf__icon--large"
67
- }), /*#__PURE__*/_react["default"].createElement("p", {
68
- className: "ncf__paragraph--reduced-padding ncf__paragraph--subscription-confirmation"
69
- }, "You are now subscribed to:"), /*#__PURE__*/_react["default"].createElement("h1", {
70
- className: "ncf__header ncf__header--confirmation"
71
- }, offer)), nextActionTop, !isB2cPartnershipCopyAvailable && /*#__PURE__*/_react["default"].createElement("p", {
72
- className: "ncf__paragraph"
73
- }, "We\u2019ve sent confirmation to ", email, ". Make sure you check your spam folder if you don\u2019t receive it."), isB2cPartnershipCopyAvailable ? /*#__PURE__*/_react["default"].createElement("p", {
74
- className: "ncf__paragraph"
75
- }, b2cPartnershipCopy[0], /*#__PURE__*/_react["default"].createElement("span", {
76
- className: "ncf__legend"
77
- }, " ".concat(email, ". ")), b2cPartnershipCopy[1]) : '', /*#__PURE__*/_react["default"].createElement("p", {
78
- className: "ncf__paragraph"
79
- }, "Here\u2019s a summary of your ", offer, " subscription:"), detailElements, directDebitMandateUrlElement, /*#__PURE__*/_react["default"].createElement("div", {
80
- className: "ncf__headed-paragraph"
81
- }, /*#__PURE__*/_react["default"].createElement("h3", {
82
- className: "ncf__header"
83
- }, "Something not right?"), /*#__PURE__*/_react["default"].createElement("p", {
84
- className: "ncf__paragraph"
85
- }, "Go to your", ' ', /*#__PURE__*/_react["default"].createElement("a", {
86
- className: "ncf__link ncf__link--external",
87
- href: "https://www.ft.com/myaccount/personal-details",
88
- target: "_blank",
89
- rel: "noopener noreferrer",
90
- "data-trackable": "yourAccount"
91
- }, "account settings"), ' ', "to view or edit your account. If you need to get in touch call us on", ' ', /*#__PURE__*/_react["default"].createElement("a", {
92
- href: "tel:+442077556248",
93
- className: "ncf__link ncf__link--external"
94
- }, "+44 (0) 207 755 6248"), ". Or contact us for additional support.")), /*#__PURE__*/_react["default"].createElement("p", {
95
- className: "ncf__paragraph"
96
- }, "We will automatically renew your subscription using the payment method provided unless you cancel before your renewal date. See our", ' ', /*#__PURE__*/_react["default"].createElement("a", {
97
- className: "ncf__link ncf__link--external",
98
- href: "http://help.ft.com/help/legal-privacy/terms-conditions/",
99
- target: "_top",
100
- rel: "noopener"
101
- }, "Terms & Conditions"), ' ', "for details on how to cancel."), nextActionBottom);
102
- }
103
- Confirmation.propTypes = {
104
- isTrial: _propTypes["default"].bool,
105
- isB2cPartnership: _propTypes["default"].bool,
106
- b2cPartnershipCopy: _propTypes["default"].array,
107
- offer: _propTypes["default"].string.isRequired,
108
- email: _propTypes["default"].string,
109
- details: _propTypes["default"].arrayOf(_propTypes["default"].shape({
110
- title: _propTypes["default"].string.isRequired,
111
- data: _propTypes["default"].string.isRequired,
112
- description: _propTypes["default"].string
113
- })),
114
- directDebitMandateUrl: _propTypes["default"].string,
115
- nextActionTop: _propTypes["default"].node,
116
- nextActionBottom: _propTypes["default"].node
117
- };
@@ -1,45 +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.ContinueReading = ContinueReading;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- 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; }
12
- 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; }
13
- function ContinueReading(_ref) {
14
- var _ref$link = _ref.link,
15
- link = _ref$link === void 0 ? null : _ref$link,
16
- _ref$quote = _ref.quote,
17
- quote = _ref$quote === void 0 ? '' : _ref$quote,
18
- _ref$isEmbedded = _ref.isEmbedded,
19
- isEmbedded = _ref$isEmbedded === void 0 ? false : _ref$isEmbedded;
20
- var titleElement = link ? /*#__PURE__*/_react["default"].createElement("p", {
21
- className: "ncf__continue-reading-title"
22
- }, "You can now continue reading:") : /*#__PURE__*/_react["default"].createElement("p", {
23
- className: "ncf__continue-reading-title"
24
- }, "Become an FT subscriber to read:");
25
- var aTagProps = _objectSpread(_objectSpread({
26
- href: link
27
- }, isEmbedded && {
28
- target: '_top'
29
- }), {}, {
30
- className: 'ncf__button ncf__button--secondary'
31
- });
32
- var linkElement = link && /*#__PURE__*/_react["default"].createElement("p", {
33
- className: "ncf__center"
34
- }, /*#__PURE__*/_react["default"].createElement("a", aTagProps, "Continue reading"));
35
- return /*#__PURE__*/_react["default"].createElement("div", {
36
- className: "ncf__continue-reading-wrapper"
37
- }, titleElement, /*#__PURE__*/_react["default"].createElement("blockquote", {
38
- className: "ncf__continue-reading-quote"
39
- }, quote), linkElement);
40
- }
41
- ContinueReading.propTypes = {
42
- link: _propTypes["default"].string,
43
- quote: _propTypes["default"].string,
44
- isEmbedded: _propTypes["default"].bool
45
- };
package/dist/country.js DELETED
@@ -1,106 +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.Country = Country;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var _countries = require("../utils/countries");
12
- function Country(_ref) {
13
- var additionalFieldInformation = _ref.additionalFieldInformation,
14
- _ref$dataTrackable = _ref.dataTrackable,
15
- dataTrackable = _ref$dataTrackable === void 0 ? 'field-country' : _ref$dataTrackable,
16
- _ref$fieldId = _ref.fieldId,
17
- fieldId = _ref$fieldId === void 0 ? 'countryField' : _ref$fieldId,
18
- _ref$filterList = _ref.filterList,
19
- filterList = _ref$filterList === void 0 ? [] : _ref$filterList,
20
- _ref$hasError = _ref.hasError,
21
- hasError = _ref$hasError === void 0 ? false : _ref$hasError,
22
- _ref$inputId = _ref.inputId,
23
- inputId = _ref$inputId === void 0 ? 'country' : _ref$inputId,
24
- _ref$isB2b = _ref.isB2b,
25
- isB2b = _ref$isB2b === void 0 ? false : _ref$isB2b,
26
- _ref$isDisabled = _ref.isDisabled,
27
- isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
28
- _ref$isPlaceholderDis = _ref.isPlaceholderDisabled,
29
- isPlaceholderDisabled = _ref$isPlaceholderDis === void 0 ? false : _ref$isPlaceholderDis,
30
- value = _ref.value,
31
- _ref$label = _ref.label,
32
- label = _ref$label === void 0 ? "Country".concat(isB2b ? '/Region' : '') : _ref$label,
33
- _ref$errorText = _ref.errorText,
34
- errorText = _ref$errorText === void 0 ? "Please select your country".concat(isB2b ? '/region' : '') : _ref$errorText;
35
- var selectWrapperClassName = (0, _classnames["default"])(['o-forms-input', 'o-forms-input--select', {
36
- 'o-forms-input--invalid': hasError
37
- }]);
38
- var selectProps = {
39
- id: inputId,
40
- 'aria-required': true,
41
- required: true,
42
- name: inputId,
43
- 'data-trackable': dataTrackable,
44
- disabled: isDisabled
45
- };
46
- var countries = (0, _countries.getCountries)({
47
- filter: filterList,
48
- value: value
49
- });
50
- var createOption = function createOption(country) {
51
- return /*#__PURE__*/_react["default"].createElement("option", {
52
- key: country.code,
53
- value: country.code,
54
- selected: country.selected
55
- }, country.name);
56
- };
57
- var createOptGroup = function createOptGroup(country) {
58
- return /*#__PURE__*/_react["default"].createElement("optgroup", {
59
- key: country.label,
60
- label: country.label
61
- }, country.countries.map(function (country) {
62
- return createOption(country);
63
- }));
64
- };
65
- var createSelect = function createSelect(countries) {
66
- return /*#__PURE__*/_react["default"].createElement("select", selectProps, /*#__PURE__*/_react["default"].createElement("option", {
67
- value: "",
68
- disabled: isPlaceholderDisabled
69
- }, "Please select a country", isB2b ? '/region' : ''), countries.map(function (country) {
70
- return country.label ? createOptGroup(country) : createOption(country);
71
- }));
72
- };
73
- var fieldErrorClassNames = (0, _classnames["default"])(['o-forms-input__error', {
74
- 'additional-field-information__with-field-error': additionalFieldInformation
75
- }]);
76
- return /*#__PURE__*/_react["default"].createElement("label", {
77
- id: fieldId,
78
- className: "o-forms-field ncf__validation-error",
79
- "data-validate": "required",
80
- htmlFor: selectProps.id
81
- }, /*#__PURE__*/_react["default"].createElement("span", {
82
- className: "o-forms-title"
83
- }, /*#__PURE__*/_react["default"].createElement("span", {
84
- className: "o-forms-title__main"
85
- }, label)), /*#__PURE__*/_react["default"].createElement("span", {
86
- className: selectWrapperClassName
87
- }, createSelect(countries), /*#__PURE__*/_react["default"].createElement("span", {
88
- className: fieldErrorClassNames
89
- }, errorText), additionalFieldInformation ? /*#__PURE__*/_react["default"].createElement("p", {
90
- className: "additional-field-information"
91
- }, additionalFieldInformation) : null));
92
- }
93
- Country.propTypes = {
94
- additionalFieldInformation: _propTypes["default"].node,
95
- dataTrackable: _propTypes["default"].string,
96
- errorText: _propTypes["default"].string,
97
- fieldId: _propTypes["default"].string,
98
- filterList: _propTypes["default"].arrayOf(_propTypes["default"].string),
99
- hasError: _propTypes["default"].bool,
100
- inputId: _propTypes["default"].string,
101
- isB2b: _propTypes["default"].bool,
102
- isDisabled: _propTypes["default"].bool,
103
- isPlaceholderDisabled: _propTypes["default"].bool,
104
- label: _propTypes["default"].string,
105
- value: _propTypes["default"].string
106
- };
@@ -1,52 +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.CustomerCare = CustomerCare;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var DEFAULT_HEADER_TEXT = 'Sorry, this is not available online';
12
- var DEFAULT_MESSAGE_TEXT = 'Speak now to our Customer Care team to discuss your options';
13
- function CustomerCare(_ref) {
14
- var _ref$header = _ref.header,
15
- header = _ref$header === void 0 ? DEFAULT_HEADER_TEXT : _ref$header,
16
- _ref$isCompact = _ref.isCompact,
17
- isCompact = _ref$isCompact === void 0 ? false : _ref$isCompact,
18
- _ref$message = _ref.message,
19
- message = _ref$message === void 0 ? DEFAULT_MESSAGE_TEXT : _ref$message;
20
- var className = (0, _classnames["default"])(['ncf__wrapper', 'ncf__center', 'ncf__customer-care', {
21
- 'ncf__customer-care--compact': isCompact === true
22
- }]);
23
- return /*#__PURE__*/_react["default"].createElement("div", {
24
- className: className
25
- }, (header || message) && /*#__PURE__*/_react["default"].createElement("div", {
26
- className: "ncf__paragraph"
27
- }, header && /*#__PURE__*/_react["default"].createElement("h1", {
28
- className: "ncf__header"
29
- }, header), message && /*#__PURE__*/_react["default"].createElement("p", {
30
- id: "customer-care-message"
31
- }, message)), /*#__PURE__*/_react["default"].createElement("div", {
32
- className: "ncf__paragraph"
33
- }, /*#__PURE__*/_react["default"].createElement("div", {
34
- className: "ncf__icon ncf__icon--phone ncf__icon--large"
35
- }), /*#__PURE__*/_react["default"].createElement("p", null, "International Toll Free Number"), /*#__PURE__*/_react["default"].createElement("p", {
36
- className: "ncf__customer-care__phone"
37
- }, /*#__PURE__*/_react["default"].createElement("a", {
38
- id: "customer-care-international-number",
39
- className: "ncf__header ncf__link",
40
- href: "tel:+80007056477"
41
- }, "+ 800 0705 6477"))), /*#__PURE__*/_react["default"].createElement("div", {
42
- className: "ncf__paragraph"
43
- }, /*#__PURE__*/_react["default"].createElement("a", {
44
- className: "ncf__link",
45
- href: "https://help.ft.com/help/contact-us/"
46
- }, "Find a local phone number")));
47
- }
48
- CustomerCare.propTypes = {
49
- header: _propTypes["default"].string,
50
- isCompact: _propTypes["default"].bool,
51
- message: _propTypes["default"].string
52
- };