@financial-times/n-conversion-forms 20.3.0 → 20.3.4
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 +8 -6
- package/.circleci/shared-helpers/helper-npm-install-peer-deps +6 -5
- package/.eslintignore +3 -0
- package/.github/workflows/gh-pages-deploy.yml +2 -1
- package/build-state/npm-shrinkwrap.json +47805 -8576
- package/components/__snapshots__/accept-terms.spec.js.snap +94 -6
- package/components/__snapshots__/app-banner.spec.js.snap +2 -0
- package/components/__snapshots__/confirmation.spec.js.snap +11 -11
- package/components/__snapshots__/delivery-address.spec.js.snap +18 -1
- package/components/__snapshots__/delivery-postcode.spec.js.snap +24 -4
- package/components/__snapshots__/registration-confirmation.spec.js.snap +2 -2
- package/components/accept-terms.jsx +67 -9
- package/components/accept-terms.spec.js +12 -0
- package/components/app-banner.jsx +3 -1
- package/components/b2c-partnership-confirmation.jsx +7 -8
- package/components/b2c-partnership-confirmation.spec.js +1 -1
- package/components/b2c-partnership-payment-term.jsx +5 -2
- package/components/billing-country.jsx +1 -1
- package/components/billing-postcode.jsx +1 -1
- package/components/company-name.spec.js +9 -3
- package/components/confirmation.jsx +1 -1
- package/components/continue-reading.jsx +1 -1
- package/components/country.jsx +3 -2
- package/components/customer-care.jsx +1 -1
- package/components/debug.jsx +1 -1
- package/components/decision-maker.jsx +1 -1
- package/components/delivery-address-type.jsx +9 -9
- package/components/delivery-address-type.stories.js +10 -2
- package/components/delivery-address.jsx +115 -73
- package/components/delivery-address.spec.js +3 -1
- package/components/delivery-address.stories.js +1 -1
- package/components/delivery-city.jsx +2 -2
- package/components/delivery-county.jsx +1 -1
- package/components/delivery-instructions.jsx +48 -18
- package/components/delivery-instructions.spec.js +6 -2
- package/components/delivery-option.jsx +6 -2
- package/components/delivery-option.spec.js +4 -4
- package/components/delivery-option.stories.js +17 -5
- package/components/delivery-po-box.jsx +3 -5
- package/components/delivery-po-box.spec.js +3 -1
- package/components/delivery-po-box.stories.js +1 -1
- package/components/delivery-postcode.jsx +19 -3
- package/components/delivery-security-instructions.jsx +1 -2
- package/components/delivery-start-date.jsx +3 -1
- package/components/education-job-title.jsx +1 -1
- package/components/email.jsx +1 -1
- package/components/error-page.jsx +1 -1
- package/components/fieldset.jsx +1 -1
- package/components/first-name.jsx +1 -1
- package/components/form.jsx +1 -1
- package/components/google-sign-in.jsx +8 -4
- package/components/google-sign-in.stories.js +2 -1
- package/components/graduation-date.jsx +1 -1
- package/components/graduation-date.spec.js +1 -9
- package/components/industry.jsx +2 -2
- package/components/industry.spec.js +3 -1
- package/components/job-title.jsx +2 -2
- package/components/job-title.spec.js +3 -1
- package/components/last-name.jsx +1 -1
- package/components/licence-confirmation.jsx +7 -5
- package/components/licence-confirmation.stories.js +3 -1
- package/components/licence-header.jsx +2 -2
- package/components/licence-sign-in.jsx +2 -2
- package/components/licence-title.jsx +2 -2
- package/components/lite-sub-confirmation.jsx +92 -40
- package/components/lite-sub-confirmation.stories.js +3 -3
- package/components/loader.jsx +1 -1
- package/components/message.jsx +1 -1
- package/components/message.spec.jsx +1 -1
- package/components/organisation.jsx +1 -1
- package/components/package-change.jsx +13 -4
- package/components/password.jsx +1 -1
- package/components/payment-term.jsx +1 -1
- package/components/payment-type.jsx +7 -4
- package/components/personal-title.jsx +0 -1
- package/components/personal-title.spec.js +8 -6
- package/components/phone.jsx +2 -2
- package/components/phone.spec.js +3 -1
- package/components/position.jsx +2 -2
- package/components/position.spec.js +3 -1
- package/components/progress-indicator.jsx +4 -4
- package/components/registration-confirmation.jsx +1 -1
- package/components/responsibility.jsx +3 -5
- package/components/responsibility.spec.js +3 -1
- package/components/section.jsx +1 -1
- package/components/state.jsx +1 -1
- package/components/submit.jsx +1 -1
- package/components/trial-banner.jsx +1 -1
- package/dist/accept-terms.js +40 -5
- package/dist/app-banner.js +4 -2
- package/dist/confirmation.js +1 -1
- package/dist/delivery-address.js +15 -5
- package/dist/delivery-postcode.js +14 -2
- package/dist/delivery-security-instructions.js +0 -1
- package/dist/graduation-date.js +1 -1
- package/dist/index.js +42 -42
- package/dist/lite-sub-confirmation.js +7 -7
- package/dist/package-change.js +1 -1
- package/dist/payment-type.js +1 -1
- package/dist/registration-confirmation.js +1 -1
- package/jest.config.js +6 -1
- package/package.json +24 -13
- package/utils/billing-country.js +2 -3
- package/utils/company-name.spec.js +11 -3
- package/utils/delivery-address-type.js +4 -1
- package/utils/delivery-address-type.spec.js +11 -3
- package/utils/delivery-option-messages.js +61 -32
- package/utils/delivery-option-messages.spec.js +42 -12
- package/utils/delivery-option.js +14 -7
- package/utils/delivery-option.spec.js +7 -3
- package/utils/delivery-start-date.js +5 -3
- package/utils/zuora.js +6 -1
|
@@ -1,5 +1,93 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
|
+
exports[`AcceptTerms renders appropriately if a isAuthFirstAccount 1`] = `
|
|
4
|
+
<div id="acceptTermsField"
|
|
5
|
+
class="o-forms-field o-layout-typography ncf__validation-error"
|
|
6
|
+
data-validate="required,checked"
|
|
7
|
+
>
|
|
8
|
+
<ul class="o-typography-list ncf__accept-terms-list">
|
|
9
|
+
<li>
|
|
10
|
+
<span class="terms-auth-first-step">
|
|
11
|
+
For more information about how we use your data, please refer to our
|
|
12
|
+
<a class="ncf__link--external"
|
|
13
|
+
href="http://help.ft.com/help/legal-privacy/terms-conditions/"
|
|
14
|
+
target="_blank"
|
|
15
|
+
rel="noopener noreferrer"
|
|
16
|
+
data-trackable="terms-and-conditions"
|
|
17
|
+
>
|
|
18
|
+
privacy
|
|
19
|
+
</a>
|
|
20
|
+
and
|
|
21
|
+
<a class="ncf__link--external"
|
|
22
|
+
href="http://help.ft.com/help/legal-privacy/terms-conditions/"
|
|
23
|
+
target="_blank"
|
|
24
|
+
rel="noopener noreferrer"
|
|
25
|
+
data-trackable="terms-and-conditions"
|
|
26
|
+
>
|
|
27
|
+
cookie
|
|
28
|
+
</a>
|
|
29
|
+
policies.
|
|
30
|
+
</span>
|
|
31
|
+
</li>
|
|
32
|
+
</ul>
|
|
33
|
+
<label class="o-forms-input o-forms-input--checkbox"
|
|
34
|
+
for="termsAcceptance"
|
|
35
|
+
>
|
|
36
|
+
<input type="checkbox"
|
|
37
|
+
id="termsAcceptance"
|
|
38
|
+
name="termsAcceptance"
|
|
39
|
+
value="true"
|
|
40
|
+
data-trackable="field-terms"
|
|
41
|
+
aria-required="true"
|
|
42
|
+
required
|
|
43
|
+
>
|
|
44
|
+
<span class="o-forms-input__label terms-auth-first-step">
|
|
45
|
+
I confirm that I am 16 years or older and agree to the full
|
|
46
|
+
<a class="ncf__link--external"
|
|
47
|
+
href="http://help.ft.com/help/legal-privacy/terms-conditions/"
|
|
48
|
+
target="_blank"
|
|
49
|
+
rel="noopener noreferrer"
|
|
50
|
+
data-trackable="terms-and-conditions"
|
|
51
|
+
>
|
|
52
|
+
Terms & Conditions
|
|
53
|
+
</a>
|
|
54
|
+
.
|
|
55
|
+
</span>
|
|
56
|
+
<p class="o-forms-input__error">
|
|
57
|
+
Please accept our terms & conditions
|
|
58
|
+
</p>
|
|
59
|
+
</label>
|
|
60
|
+
</div>
|
|
61
|
+
`;
|
|
62
|
+
|
|
63
|
+
exports[`AcceptTerms renders appropriately if a isAuthFirstPayment 1`] = `
|
|
64
|
+
<div id="acceptTermsField"
|
|
65
|
+
class="o-forms-field o-layout-typography ncf__validation-error"
|
|
66
|
+
data-validate="required,checked"
|
|
67
|
+
>
|
|
68
|
+
<ul class="o-typography-list ncf__accept-terms-list">
|
|
69
|
+
</ul>
|
|
70
|
+
<label class="o-forms-input o-forms-input--checkbox"
|
|
71
|
+
for="termsAcceptance"
|
|
72
|
+
>
|
|
73
|
+
<input type="checkbox"
|
|
74
|
+
id="termsAcceptance"
|
|
75
|
+
name="termsAcceptance"
|
|
76
|
+
value="true"
|
|
77
|
+
data-trackable="field-terms"
|
|
78
|
+
aria-required="true"
|
|
79
|
+
required
|
|
80
|
+
>
|
|
81
|
+
<span class="o-forms-input__label">
|
|
82
|
+
I agree to the above terms & conditions.
|
|
83
|
+
</span>
|
|
84
|
+
<p class="o-forms-input__error">
|
|
85
|
+
Please accept our terms & conditions
|
|
86
|
+
</p>
|
|
87
|
+
</label>
|
|
88
|
+
</div>
|
|
89
|
+
`;
|
|
90
|
+
|
|
3
91
|
exports[`AcceptTerms renders appropriately if a registration 1`] = `
|
|
4
92
|
<div id="acceptTermsField"
|
|
5
93
|
class="o-forms-field o-layout-typography ncf__validation-error"
|
|
@@ -72,7 +160,7 @@ exports[`AcceptTerms renders appropriately if a signup 1`] = `
|
|
|
72
160
|
</li>
|
|
73
161
|
<li>
|
|
74
162
|
<span class="terms-signup">
|
|
75
|
-
By placing my order, my subscription will start immediately.
|
|
163
|
+
By placing my order, my subscription will start immediately and I am aware and agree that I will therefore lose my statutory right to cancel my subscription within 14 days of acceptance of my order. Any notice of cancellation that I provide will only take effect at the end of my subscription period and previously paid amounts are non-refundable, except in the event that there is a fault in the provision of the services.
|
|
76
164
|
</span>
|
|
77
165
|
</li>
|
|
78
166
|
<li>
|
|
@@ -146,7 +234,7 @@ exports[`AcceptTerms renders appropriately if a signup and has special terms 1`]
|
|
|
146
234
|
</li>
|
|
147
235
|
<li>
|
|
148
236
|
<span class="terms-signup">
|
|
149
|
-
By placing my order, my subscription will start immediately.
|
|
237
|
+
By placing my order, my subscription will start immediately and I am aware and agree that I will therefore lose my statutory right to cancel my subscription within 14 days of acceptance of my order. Any notice of cancellation that I provide will only take effect at the end of my subscription period and previously paid amounts are non-refundable, except in the event that there is a fault in the provision of the services.
|
|
150
238
|
</span>
|
|
151
239
|
</li>
|
|
152
240
|
<li>
|
|
@@ -408,7 +496,7 @@ exports[`AcceptTerms renders appropriately if a signup not for the print product
|
|
|
408
496
|
</li>
|
|
409
497
|
<li>
|
|
410
498
|
<span class="terms-signup">
|
|
411
|
-
By placing my order, my subscription will start immediately.
|
|
499
|
+
By placing my order, my subscription will start immediately and I am aware and agree that I will therefore lose my statutory right to cancel my subscription within 14 days of acceptance of my order. Any notice of cancellation that I provide will only take effect at the end of my subscription period and previously paid amounts are non-refundable, except in the event that there is a fault in the provision of the services.
|
|
412
500
|
</span>
|
|
413
501
|
</li>
|
|
414
502
|
<li>
|
|
@@ -482,7 +570,7 @@ exports[`AcceptTerms renders appropriately if a signup not for the print product
|
|
|
482
570
|
</li>
|
|
483
571
|
<li>
|
|
484
572
|
<span class="terms-signup">
|
|
485
|
-
By placing my order, my subscription will start immediately.
|
|
573
|
+
By placing my order, my subscription will start immediately and I am aware and agree that I will therefore lose my statutory right to cancel my subscription within 14 days of acceptance of my order. Any notice of cancellation that I provide will only take effect at the end of my subscription period and previously paid amounts are non-refundable, except in the event that there is a fault in the provision of the services.
|
|
486
574
|
</span>
|
|
487
575
|
</li>
|
|
488
576
|
<li>
|
|
@@ -556,7 +644,7 @@ exports[`AcceptTerms renders appropriately if a signup not for the print product
|
|
|
556
644
|
</li>
|
|
557
645
|
<li>
|
|
558
646
|
<span class="terms-signup">
|
|
559
|
-
By placing my order, my subscription will start immediately.
|
|
647
|
+
By placing my order, my subscription will start immediately and I am aware and agree that I will therefore lose my statutory right to cancel my subscription within 14 days of acceptance of my order. Any notice of cancellation that I provide will only take effect at the end of my subscription period and previously paid amounts are non-refundable, except in the event that there is a fault in the provision of the services.
|
|
560
648
|
</span>
|
|
561
649
|
</li>
|
|
562
650
|
<li>
|
|
@@ -1155,7 +1243,7 @@ exports[`AcceptTerms renders appropriately if is transition with transition type
|
|
|
1155
1243
|
</li>
|
|
1156
1244
|
<li>
|
|
1157
1245
|
<span class="terms-transition terms-transition--immediate">
|
|
1158
|
-
By placing my order, my subscription will start immediately.
|
|
1246
|
+
By placing my order, my subscription will start immediately and I am aware and agree that I will therefore lose my statutory right to cancel my subscription within 14 days of acceptance of my order. Any notice of cancellation that I provide will only take effect at the end of my subscription period and previously paid amounts are non-refundable, except in the event that there is a fault in the provision of the services.
|
|
1159
1247
|
</span>
|
|
1160
1248
|
</li>
|
|
1161
1249
|
<li>
|
|
@@ -25,6 +25,7 @@ exports[`AppBanner renders 1`] = `
|
|
|
25
25
|
<a href="https://itunes.apple.com/app/apple-store/id1200842933?pt=246269&ct=onsite-app-promotion&mt=8"
|
|
26
26
|
target="_blank"
|
|
27
27
|
role="link"
|
|
28
|
+
rel="noreferrer"
|
|
28
29
|
>
|
|
29
30
|
<img src="https://www.ft.com/__assets/creatives/tour/apps/ios-download.svg"
|
|
30
31
|
alt="Download from the iOS App store"
|
|
@@ -36,6 +37,7 @@ exports[`AppBanner renders 1`] = `
|
|
|
36
37
|
<a href="https://play.google.com/store/apps/details?id=com.ft.news&referrer=utm_source%3Donsite-app-promotion%26utm_campaign%3DOnsite%2520Messaging"
|
|
37
38
|
target="_blank"
|
|
38
39
|
role="link"
|
|
40
|
+
rel="noreferrer"
|
|
39
41
|
>
|
|
40
42
|
<img src="https://www.ft.com/__origami/service/image/v2/images/raw/https%253A%252F%252Fwww.ft.com%252F__assets%252Fcreatives%252Ftour%252Fapps%252Fgoogle-play-badge-3x.png?source=ip-envoy"
|
|
41
43
|
height="35"
|
|
@@ -29,7 +29,7 @@ exports[`Confirmation renders appropriately if is B2C Partnership 1`] = `
|
|
|
29
29
|
<a class="ncf__link ncf__link--external"
|
|
30
30
|
href="https://www.ft.com/myaccount/personal-details"
|
|
31
31
|
target="_blank"
|
|
32
|
-
rel="noopener"
|
|
32
|
+
rel="noopener noreferrer"
|
|
33
33
|
data-trackable="yourAccount"
|
|
34
34
|
>
|
|
35
35
|
account settings
|
|
@@ -86,7 +86,7 @@ exports[`Confirmation renders appropriately if is trial 1`] = `
|
|
|
86
86
|
<a class="ncf__link ncf__link--external"
|
|
87
87
|
href="https://www.ft.com/myaccount/personal-details"
|
|
88
88
|
target="_blank"
|
|
89
|
-
rel="noopener"
|
|
89
|
+
rel="noopener noreferrer"
|
|
90
90
|
data-trackable="yourAccount"
|
|
91
91
|
>
|
|
92
92
|
account settings
|
|
@@ -141,7 +141,7 @@ exports[`Confirmation renders appropriately if nextActionBottom is not supplied
|
|
|
141
141
|
<a class="ncf__link ncf__link--external"
|
|
142
142
|
href="https://www.ft.com/myaccount/personal-details"
|
|
143
143
|
target="_blank"
|
|
144
|
-
rel="noopener"
|
|
144
|
+
rel="noopener noreferrer"
|
|
145
145
|
data-trackable="yourAccount"
|
|
146
146
|
>
|
|
147
147
|
account settings
|
|
@@ -196,7 +196,7 @@ exports[`Confirmation renders appropriately if nextActionBottom is supplied 1`]
|
|
|
196
196
|
<a class="ncf__link ncf__link--external"
|
|
197
197
|
href="https://www.ft.com/myaccount/personal-details"
|
|
198
198
|
target="_blank"
|
|
199
|
-
rel="noopener"
|
|
199
|
+
rel="noopener noreferrer"
|
|
200
200
|
data-trackable="yourAccount"
|
|
201
201
|
>
|
|
202
202
|
account settings
|
|
@@ -252,7 +252,7 @@ exports[`Confirmation renders appropriately if nextActionTop is not supplied 1`]
|
|
|
252
252
|
<a class="ncf__link ncf__link--external"
|
|
253
253
|
href="https://www.ft.com/myaccount/personal-details"
|
|
254
254
|
target="_blank"
|
|
255
|
-
rel="noopener"
|
|
255
|
+
rel="noopener noreferrer"
|
|
256
256
|
data-trackable="yourAccount"
|
|
257
257
|
>
|
|
258
258
|
account settings
|
|
@@ -308,7 +308,7 @@ exports[`Confirmation renders appropriately if nextActionTop is supplied 1`] = `
|
|
|
308
308
|
<a class="ncf__link ncf__link--external"
|
|
309
309
|
href="https://www.ft.com/myaccount/personal-details"
|
|
310
310
|
target="_blank"
|
|
311
|
-
rel="noopener"
|
|
311
|
+
rel="noopener noreferrer"
|
|
312
312
|
data-trackable="yourAccount"
|
|
313
313
|
>
|
|
314
314
|
account settings
|
|
@@ -377,7 +377,7 @@ exports[`Confirmation renders with complete details 1`] = `
|
|
|
377
377
|
<a class="ncf__link ncf__link--external"
|
|
378
378
|
href="https://www.ft.com/myaccount/personal-details"
|
|
379
379
|
target="_blank"
|
|
380
|
-
rel="noopener"
|
|
380
|
+
rel="noopener noreferrer"
|
|
381
381
|
data-trackable="yourAccount"
|
|
382
382
|
>
|
|
383
383
|
account settings
|
|
@@ -432,7 +432,7 @@ exports[`Confirmation renders with custom email 1`] = `
|
|
|
432
432
|
<a class="ncf__link ncf__link--external"
|
|
433
433
|
href="https://www.ft.com/myaccount/personal-details"
|
|
434
434
|
target="_blank"
|
|
435
|
-
rel="noopener"
|
|
435
|
+
rel="noopener noreferrer"
|
|
436
436
|
data-trackable="yourAccount"
|
|
437
437
|
>
|
|
438
438
|
account settings
|
|
@@ -487,7 +487,7 @@ exports[`Confirmation renders with default props 1`] = `
|
|
|
487
487
|
<a class="ncf__link ncf__link--external"
|
|
488
488
|
href="https://www.ft.com/myaccount/personal-details"
|
|
489
489
|
target="_blank"
|
|
490
|
-
rel="noopener"
|
|
490
|
+
rel="noopener noreferrer"
|
|
491
491
|
data-trackable="yourAccount"
|
|
492
492
|
>
|
|
493
493
|
account settings
|
|
@@ -553,7 +553,7 @@ exports[`Confirmation renders with details missing a description 1`] = `
|
|
|
553
553
|
<a class="ncf__link ncf__link--external"
|
|
554
554
|
href="https://www.ft.com/myaccount/personal-details"
|
|
555
555
|
target="_blank"
|
|
556
|
-
rel="noopener"
|
|
556
|
+
rel="noopener noreferrer"
|
|
557
557
|
data-trackable="yourAccount"
|
|
558
558
|
>
|
|
559
559
|
account settings
|
|
@@ -621,7 +621,7 @@ exports[`Confirmation renders with direct debit mandate URL 1`] = `
|
|
|
621
621
|
<a class="ncf__link ncf__link--external"
|
|
622
622
|
href="https://www.ft.com/myaccount/personal-details"
|
|
623
623
|
target="_blank"
|
|
624
|
-
rel="noopener"
|
|
624
|
+
rel="noopener noreferrer"
|
|
625
625
|
data-trackable="yourAccount"
|
|
626
626
|
>
|
|
627
627
|
account settings
|
|
@@ -57,6 +57,8 @@ exports[`DeliveryAddress renders default props 1`] = `
|
|
|
57
57
|
<span class="o-forms-title__main">
|
|
58
58
|
Address line 3
|
|
59
59
|
</span>
|
|
60
|
+
<span class="o-forms-title__prompt">
|
|
61
|
+
</span>
|
|
60
62
|
</span>
|
|
61
63
|
<span class="o-forms-input o-forms-input--text">
|
|
62
64
|
<input type="text"
|
|
@@ -130,6 +132,8 @@ exports[`DeliveryAddress renders with an error 1`] = `
|
|
|
130
132
|
<span class="o-forms-title__main">
|
|
131
133
|
Address line 3
|
|
132
134
|
</span>
|
|
135
|
+
<span class="o-forms-title__prompt">
|
|
136
|
+
</span>
|
|
133
137
|
</span>
|
|
134
138
|
<span class="o-forms-input o-forms-input--text o-forms-input--invalid">
|
|
135
139
|
<input type="text"
|
|
@@ -183,6 +187,9 @@ exports[`DeliveryAddress renders with country different than default 1`] = `
|
|
|
183
187
|
<span class="o-forms-title__main">
|
|
184
188
|
Apt/Floor/Suite
|
|
185
189
|
</span>
|
|
190
|
+
<span class="o-forms-title__prompt">
|
|
191
|
+
Max. 6 characters. Please enter “Apartment 2C” as “Apt 2C”, “Floor 10 as FL 10”
|
|
192
|
+
</span>
|
|
186
193
|
</span>
|
|
187
194
|
<span class="o-forms-input o-forms-input--text">
|
|
188
195
|
<input type="text"
|
|
@@ -190,7 +197,7 @@ exports[`DeliveryAddress renders with country different than default 1`] = `
|
|
|
190
197
|
name="deliveryAddressLine3"
|
|
191
198
|
data-trackable="field-deliveryAddressLine3"
|
|
192
199
|
autocomplete="address-line3"
|
|
193
|
-
placeholder="e.g
|
|
200
|
+
placeholder="e.g Apt 2C / FL 10 / STE 5"
|
|
194
201
|
maxlength="50"
|
|
195
202
|
value
|
|
196
203
|
>
|
|
@@ -276,6 +283,8 @@ exports[`DeliveryAddress renders with custom line 1 value 1`] = `
|
|
|
276
283
|
<span class="o-forms-title__main">
|
|
277
284
|
Address line 3
|
|
278
285
|
</span>
|
|
286
|
+
<span class="o-forms-title__prompt">
|
|
287
|
+
</span>
|
|
279
288
|
</span>
|
|
280
289
|
<span class="o-forms-input o-forms-input--text">
|
|
281
290
|
<input type="text"
|
|
@@ -349,6 +358,8 @@ exports[`DeliveryAddress renders with custom line 2 value 1`] = `
|
|
|
349
358
|
<span class="o-forms-title__main">
|
|
350
359
|
Address line 3
|
|
351
360
|
</span>
|
|
361
|
+
<span class="o-forms-title__prompt">
|
|
362
|
+
</span>
|
|
352
363
|
</span>
|
|
353
364
|
<span class="o-forms-input o-forms-input--text">
|
|
354
365
|
<input type="text"
|
|
@@ -422,6 +433,8 @@ exports[`DeliveryAddress renders with custom line 3 value 1`] = `
|
|
|
422
433
|
<span class="o-forms-title__main">
|
|
423
434
|
Address line 3
|
|
424
435
|
</span>
|
|
436
|
+
<span class="o-forms-title__prompt">
|
|
437
|
+
</span>
|
|
425
438
|
</span>
|
|
426
439
|
<span class="o-forms-input o-forms-input--text">
|
|
427
440
|
<input type="text"
|
|
@@ -497,6 +510,8 @@ exports[`DeliveryAddress renders with disabled input elements 1`] = `
|
|
|
497
510
|
<span class="o-forms-title__main">
|
|
498
511
|
Address line 3
|
|
499
512
|
</span>
|
|
513
|
+
<span class="o-forms-title__prompt">
|
|
514
|
+
</span>
|
|
500
515
|
</span>
|
|
501
516
|
<span class="o-forms-input o-forms-input--text">
|
|
502
517
|
<input type="text"
|
|
@@ -571,6 +586,8 @@ exports[`DeliveryAddress renders with hidden input elements 1`] = `
|
|
|
571
586
|
<span class="o-forms-title__main">
|
|
572
587
|
Address line 3
|
|
573
588
|
</span>
|
|
589
|
+
<span class="o-forms-title__prompt">
|
|
590
|
+
</span>
|
|
574
591
|
</span>
|
|
575
592
|
<span class="o-forms-input o-forms-input--text">
|
|
576
593
|
<input type="text"
|
|
@@ -12,6 +12,8 @@ exports[`Delivery Postcode renders a disable input 1`] = `
|
|
|
12
12
|
Postcode
|
|
13
13
|
</span>
|
|
14
14
|
</span>
|
|
15
|
+
<span class="o-forms-title__prompt">
|
|
16
|
+
</span>
|
|
15
17
|
</span>
|
|
16
18
|
<span class="o-forms-input o-forms-input--text">
|
|
17
19
|
<input type="text"
|
|
@@ -49,6 +51,8 @@ exports[`Delivery Postcode renders a postcode input with a label set as Postcode
|
|
|
49
51
|
Postcode
|
|
50
52
|
</span>
|
|
51
53
|
</span>
|
|
54
|
+
<span class="o-forms-title__prompt">
|
|
55
|
+
</span>
|
|
52
56
|
</span>
|
|
53
57
|
<span class="o-forms-input o-forms-input--text">
|
|
54
58
|
<input type="text"
|
|
@@ -85,12 +89,15 @@ exports[`Delivery Postcode renders a postcode input with a label set as Zip Code
|
|
|
85
89
|
Zip Code
|
|
86
90
|
</span>
|
|
87
91
|
</span>
|
|
92
|
+
<span class="o-forms-title__prompt">
|
|
93
|
+
Please enter your 5 digit Zip Code
|
|
94
|
+
</span>
|
|
88
95
|
</span>
|
|
89
96
|
<span class="o-forms-input o-forms-input--text">
|
|
90
97
|
<input type="text"
|
|
91
98
|
id="deliveryPostcode"
|
|
92
99
|
name="deliveryPostcode"
|
|
93
|
-
placeholder="
|
|
100
|
+
placeholder="e.g. 60411"
|
|
94
101
|
autocomplete="postal-code"
|
|
95
102
|
data-trackable="delivery-postcode"
|
|
96
103
|
aria-required="true"
|
|
@@ -121,12 +128,15 @@ exports[`Delivery Postcode renders a postcode input with a label set as Zip Code
|
|
|
121
128
|
Zip Code
|
|
122
129
|
</span>
|
|
123
130
|
</span>
|
|
131
|
+
<span class="o-forms-title__prompt">
|
|
132
|
+
Please enter your 5 digit Zip Code
|
|
133
|
+
</span>
|
|
124
134
|
</span>
|
|
125
135
|
<span class="o-forms-input o-forms-input--text">
|
|
126
136
|
<input type="text"
|
|
127
137
|
id="deliveryPostcode"
|
|
128
138
|
name="deliveryPostcode"
|
|
129
|
-
placeholder="
|
|
139
|
+
placeholder="e.g. 60411"
|
|
130
140
|
autocomplete="postal-code"
|
|
131
141
|
data-trackable="delivery-postcode"
|
|
132
142
|
aria-required="true"
|
|
@@ -157,12 +167,15 @@ exports[`Delivery Postcode renders a postcode input with a label set as postal c
|
|
|
157
167
|
Postal Code
|
|
158
168
|
</span>
|
|
159
169
|
</span>
|
|
170
|
+
<span class="o-forms-title__prompt">
|
|
171
|
+
Please enter your 6 digit postal code
|
|
172
|
+
</span>
|
|
160
173
|
</span>
|
|
161
174
|
<span class="o-forms-input o-forms-input--text">
|
|
162
175
|
<input type="text"
|
|
163
176
|
id="deliveryPostcode"
|
|
164
177
|
name="deliveryPostcode"
|
|
165
|
-
placeholder="
|
|
178
|
+
placeholder="e.g. M4W 2C6"
|
|
166
179
|
autocomplete="postal-code"
|
|
167
180
|
data-trackable="delivery-postcode"
|
|
168
181
|
aria-required="true"
|
|
@@ -193,6 +206,8 @@ exports[`Delivery Postcode renders a postcode input with default label 1`] = `
|
|
|
193
206
|
Postcode
|
|
194
207
|
</span>
|
|
195
208
|
</span>
|
|
209
|
+
<span class="o-forms-title__prompt">
|
|
210
|
+
</span>
|
|
196
211
|
</span>
|
|
197
212
|
<span class="o-forms-input o-forms-input--text">
|
|
198
213
|
<input type="text"
|
|
@@ -229,6 +244,8 @@ exports[`Delivery Postcode renders different styles 1`] = `
|
|
|
229
244
|
Postcode
|
|
230
245
|
</span>
|
|
231
246
|
</span>
|
|
247
|
+
<span class="o-forms-title__prompt">
|
|
248
|
+
</span>
|
|
232
249
|
</span>
|
|
233
250
|
<span class="o-forms-input o-forms-input--text o-forms-input--invalid">
|
|
234
251
|
<input type="text"
|
|
@@ -265,12 +282,15 @@ exports[`Delivery Postcode renders with link to change the value 1`] = `
|
|
|
265
282
|
Zip Code
|
|
266
283
|
</span>
|
|
267
284
|
</span>
|
|
285
|
+
<span class="o-forms-title__prompt">
|
|
286
|
+
Please enter your 5 digit Zip Code
|
|
287
|
+
</span>
|
|
268
288
|
</span>
|
|
269
289
|
<span class="o-forms-input o-forms-input--text">
|
|
270
290
|
<input type="text"
|
|
271
291
|
id="deliveryPostcode"
|
|
272
292
|
name="deliveryPostcode"
|
|
273
|
-
placeholder="
|
|
293
|
+
placeholder="e.g. 60411"
|
|
274
294
|
autocomplete="postal-code"
|
|
275
295
|
data-trackable="delivery-postcode"
|
|
276
296
|
aria-required="true"
|
|
@@ -23,7 +23,7 @@ exports[`RegistrationConfirmation renders with a custom email 1`] = `
|
|
|
23
23
|
<a class="ncf__link ncf__link--external"
|
|
24
24
|
href="https://www.ft.com/myaccount/personal-details"
|
|
25
25
|
target="_blank"
|
|
26
|
-
rel="noopener"
|
|
26
|
+
rel="noopener noreferrer"
|
|
27
27
|
data-trackable="yourAccount"
|
|
28
28
|
>
|
|
29
29
|
account settings
|
|
@@ -70,7 +70,7 @@ exports[`RegistrationConfirmation renders with default props 1`] = `
|
|
|
70
70
|
<a class="ncf__link ncf__link--external"
|
|
71
71
|
href="https://www.ft.com/myaccount/personal-details"
|
|
72
72
|
target="_blank"
|
|
73
|
-
rel="noopener"
|
|
73
|
+
rel="noopener noreferrer"
|
|
74
74
|
data-trackable="yourAccount"
|
|
75
75
|
>
|
|
76
76
|
account settings
|
|
@@ -4,7 +4,9 @@ import classNames from 'classnames';
|
|
|
4
4
|
|
|
5
5
|
const DEFAULT_AGE_RESTRICTION = '16';
|
|
6
6
|
|
|
7
|
-
export function AcceptTerms({
|
|
7
|
+
export function AcceptTerms ({
|
|
8
|
+
isAuthFirstAccount = false,
|
|
9
|
+
isAuthFirstPayment = false,
|
|
8
10
|
hasError = false,
|
|
9
11
|
isSignup = false,
|
|
10
12
|
isRegister = false,
|
|
@@ -46,6 +48,54 @@ export function AcceptTerms({
|
|
|
46
48
|
...(isChecked && { defaultChecked: true }),
|
|
47
49
|
};
|
|
48
50
|
|
|
51
|
+
const authFirstStepTerms = (
|
|
52
|
+
<>
|
|
53
|
+
<ul className="o-typography-list ncf__accept-terms-list">
|
|
54
|
+
<li>
|
|
55
|
+
<span className="terms-auth-first-step">
|
|
56
|
+
For more information about how we use your data, please refer to our <a
|
|
57
|
+
className="ncf__link--external"
|
|
58
|
+
href="http://help.ft.com/help/legal-privacy/terms-conditions/"
|
|
59
|
+
target='_blank'
|
|
60
|
+
rel="noopener noreferrer"
|
|
61
|
+
data-trackable="terms-and-conditions"
|
|
62
|
+
>
|
|
63
|
+
privacy
|
|
64
|
+
</a> and
|
|
65
|
+
<a
|
|
66
|
+
className="ncf__link--external"
|
|
67
|
+
href="http://help.ft.com/help/legal-privacy/terms-conditions/"
|
|
68
|
+
target='_blank'
|
|
69
|
+
rel="noopener noreferrer"
|
|
70
|
+
data-trackable="terms-and-conditions"
|
|
71
|
+
>
|
|
72
|
+
cookie
|
|
73
|
+
</a> policies.
|
|
74
|
+
</span>
|
|
75
|
+
</li>
|
|
76
|
+
</ul>
|
|
77
|
+
<label className={labelClassName} htmlFor="termsAcceptance">
|
|
78
|
+
<input {...inputProps} />
|
|
79
|
+
<span className="o-forms-input__label terms-auth-first-step">
|
|
80
|
+
I confirm that I am {ageRestriction} years or older and agree to the full {' '}
|
|
81
|
+
<a
|
|
82
|
+
className="ncf__link--external"
|
|
83
|
+
href="http://help.ft.com/help/legal-privacy/terms-conditions/"
|
|
84
|
+
target={isEmbedded ? '_top' : '_blank'}
|
|
85
|
+
rel="noopener noreferrer"
|
|
86
|
+
data-trackable="terms-and-conditions"
|
|
87
|
+
>
|
|
88
|
+
Terms & Conditions
|
|
89
|
+
</a>
|
|
90
|
+
.
|
|
91
|
+
</span>
|
|
92
|
+
<p className="o-forms-input__error">
|
|
93
|
+
Please accept our terms & conditions
|
|
94
|
+
</p>
|
|
95
|
+
</label>
|
|
96
|
+
</>
|
|
97
|
+
);
|
|
98
|
+
|
|
49
99
|
const registerTerms = (
|
|
50
100
|
<label className={labelClassName} htmlFor="termsAcceptance">
|
|
51
101
|
<input {...inputProps} />
|
|
@@ -154,9 +204,12 @@ export function AcceptTerms({
|
|
|
154
204
|
{transitionType === 'immediate' ? (
|
|
155
205
|
<li>
|
|
156
206
|
<span className="terms-transition terms-transition--immediate">
|
|
157
|
-
By placing my order, my subscription will start immediately
|
|
158
|
-
|
|
159
|
-
|
|
207
|
+
By placing my order, my subscription will start immediately and I am
|
|
208
|
+
aware and agree that I will therefore lose my statutory right to cancel my
|
|
209
|
+
subscription within 14 days of acceptance of my order. Any notice of
|
|
210
|
+
cancellation that I provide will only take effect at the end of my subscription
|
|
211
|
+
period and previously paid amounts are non-refundable, except in the event that
|
|
212
|
+
there is a fault in the provision of the services.
|
|
160
213
|
</span>
|
|
161
214
|
</li>
|
|
162
215
|
) : (
|
|
@@ -192,6 +245,7 @@ export function AcceptTerms({
|
|
|
192
245
|
const printSignupTermText = isTrial
|
|
193
246
|
? 'Credits for delivery suspension or delivery failure are not available during introductory offer periods.'
|
|
194
247
|
: 'Credit for delivery suspensions is only available for hand-delivered subscriptions and is limited to a maximum of 24 issues per yearly subscription terms (4 issues per yearly FT Weekend subscription term).';
|
|
248
|
+
|
|
195
249
|
const signupTerms = isSignup && (
|
|
196
250
|
<>
|
|
197
251
|
{isPrintProduct ? (
|
|
@@ -234,10 +288,12 @@ export function AcceptTerms({
|
|
|
234
288
|
</li>
|
|
235
289
|
<li>
|
|
236
290
|
<span className="terms-signup">
|
|
237
|
-
By placing my order, my subscription will start immediately
|
|
238
|
-
|
|
239
|
-
subscription
|
|
240
|
-
|
|
291
|
+
By placing my order, my subscription will start immediately and I am
|
|
292
|
+
aware and agree that I will therefore lose my statutory right to cancel
|
|
293
|
+
my subscription within 14 days of acceptance of my order. Any notice of
|
|
294
|
+
cancellation that I provide will only take effect at the end of my
|
|
295
|
+
subscription period and previously paid amounts are non-refundable,
|
|
296
|
+
except in the event that there is a fault in the provision of the services.
|
|
241
297
|
</span>
|
|
242
298
|
</li>
|
|
243
299
|
<li>
|
|
@@ -294,10 +350,12 @@ export function AcceptTerms({
|
|
|
294
350
|
b2cPartnershipTerms
|
|
295
351
|
) : isRegister ? (
|
|
296
352
|
registerTerms
|
|
353
|
+
) : isAuthFirstAccount ? (
|
|
354
|
+
authFirstStepTerms
|
|
297
355
|
) : (
|
|
298
356
|
<>
|
|
299
357
|
<ul className="o-typography-list ncf__accept-terms-list">
|
|
300
|
-
{b2bTerms}
|
|
358
|
+
{!isAuthFirstPayment && b2bTerms}
|
|
301
359
|
{corpSignupTerms}
|
|
302
360
|
{transitionTerms}
|
|
303
361
|
{signupTerms}
|
|
@@ -16,6 +16,18 @@ describe('AcceptTerms', () => {
|
|
|
16
16
|
expect(AcceptTerms).toRenderCorrectly(props);
|
|
17
17
|
});
|
|
18
18
|
|
|
19
|
+
it('renders appropriately if a isAuthFirstAccount', () => {
|
|
20
|
+
const props = { isAuthFirstAccount: true };
|
|
21
|
+
|
|
22
|
+
expect(AcceptTerms).toRenderCorrectly(props);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it('renders appropriately if a isAuthFirstPayment', () => {
|
|
26
|
+
const props = { isAuthFirstPayment: true };
|
|
27
|
+
|
|
28
|
+
expect(AcceptTerms).toRenderCorrectly(props);
|
|
29
|
+
});
|
|
30
|
+
|
|
19
31
|
it('renders appropriately if a signup', () => {
|
|
20
32
|
const props = { isSignup: true };
|
|
21
33
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
|
-
export function AppBanner() {
|
|
3
|
+
export function AppBanner () {
|
|
4
4
|
return (
|
|
5
5
|
<div id="appBanner" className="ncf ncf__app-banner">
|
|
6
6
|
<div className="ncf__app-banner-inner">
|
|
@@ -21,6 +21,7 @@ export function AppBanner() {
|
|
|
21
21
|
href="https://itunes.apple.com/app/apple-store/id1200842933?pt=246269&ct=onsite-app-promotion&mt=8"
|
|
22
22
|
target="_blank"
|
|
23
23
|
role="link"
|
|
24
|
+
rel="noreferrer"
|
|
24
25
|
>
|
|
25
26
|
<img
|
|
26
27
|
src="https://www.ft.com/__assets/creatives/tour/apps/ios-download.svg"
|
|
@@ -34,6 +35,7 @@ export function AppBanner() {
|
|
|
34
35
|
href="https://play.google.com/store/apps/details?id=com.ft.news&referrer=utm_source%3Donsite-app-promotion%26utm_campaign%3DOnsite%2520Messaging"
|
|
35
36
|
target="_blank"
|
|
36
37
|
role="link"
|
|
38
|
+
rel="noreferrer"
|
|
37
39
|
>
|
|
38
40
|
<img
|
|
39
41
|
src="https://www.ft.com/__origami/service/image/v2/images/raw/https%253A%252F%252Fwww.ft.com%252F__assets%252Fcreatives%252Ftour%252Fapps%252Fgoogle-play-badge-3x.png?source=ip-envoy"
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
|
|
4
|
-
export function B2CPartnershipConfirmation ({
|
|
5
|
-
ctaElement = null,
|
|
6
|
-
}) {
|
|
7
|
-
|
|
4
|
+
export function B2CPartnershipConfirmation ({ ctaElement = null }) {
|
|
8
5
|
const readingLinkProps = {
|
|
9
6
|
href: '/',
|
|
10
7
|
className: 'ncf__link',
|
|
@@ -37,10 +34,13 @@ export function B2CPartnershipConfirmation ({
|
|
|
37
34
|
content.
|
|
38
35
|
</p>
|
|
39
36
|
|
|
40
|
-
{ctaElement ||
|
|
37
|
+
{ctaElement || (
|
|
41
38
|
<p className="ncf__paragraph ncf__center">
|
|
42
|
-
<a className="ncf__button ncf__button--submit" href="/myft">
|
|
43
|
-
|
|
39
|
+
<a className="ncf__button ncf__button--submit" href="/myft">
|
|
40
|
+
Go to myFT
|
|
41
|
+
</a>
|
|
42
|
+
</p>
|
|
43
|
+
)}
|
|
44
44
|
|
|
45
45
|
<p className="ncf__paragraph ncf__center">
|
|
46
46
|
<a {...readingLinkProps}>Start reading</a>
|
|
@@ -55,7 +55,6 @@ export function B2CPartnershipConfirmation ({
|
|
|
55
55
|
);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
|
|
59
58
|
B2CPartnershipConfirmation.propTypes = {
|
|
60
59
|
ctaElement: PropTypes.node,
|
|
61
60
|
};
|
|
@@ -5,7 +5,7 @@ expect.extend(expectToRenderCorrectly);
|
|
|
5
5
|
|
|
6
6
|
describe('B2CPartnershipConfirmation', () => {
|
|
7
7
|
it('renders as default', () => {
|
|
8
|
-
const props = {ctaElement: 'hello'};
|
|
8
|
+
const props = { ctaElement: 'hello' };
|
|
9
9
|
|
|
10
10
|
expect(B2CPartnershipConfirmation).toRenderCorrectly(props);
|
|
11
11
|
});
|