@times-components/ts-components 1.108.0 → 1.109.0
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/CHANGELOG.md +11 -0
- package/dist/components/newsletter-puff/InlineNewsletterPuff.js +23 -25
- package/dist/components/newsletter-puff/NewsletterPuff.stories.js +2 -20
- package/dist/components/newsletter-puff/__tests__/AutoNewsletterPuff.test.js +2 -20
- package/dist/components/newsletter-puff/__tests__/InlineNewsletterPuff.test.js +24 -33
- package/dist/components/newsletter-puff/newsletter/Newsletter.d.ts +4 -5
- package/dist/components/newsletter-puff/newsletter/Newsletter.js +13 -10
- package/package.json +3 -3
- package/rnw.js +1 -1
- package/src/components/newsletter-puff/InlineNewsletterPuff.tsx +34 -46
- package/src/components/newsletter-puff/NewsletterPuff.stories.tsx +1 -22
- package/src/components/newsletter-puff/__tests__/AutoNewsletterPuff.test.tsx +1 -22
- package/src/components/newsletter-puff/__tests__/InlineNewsletterPuff.test.tsx +31 -40
- package/src/components/newsletter-puff/__tests__/__snapshots__/InlineNewsletterPuff.test.tsx.snap +18 -35
- package/src/components/newsletter-puff/newsletter/Newsletter.tsx +26 -26
- package/src/types/externs.d.ts +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.109.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.108.0...@times-components/ts-components@1.109.0) (2024-10-28)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **TMD-770:** Newsletter components not working ([#3963](https://github.com/newsuk/times-components/issues/3963)) ([647b060](https://github.com/newsuk/times-components/commit/647b060bc67cc76624ba5eb83db80654ee4eaf99))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [1.108.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.107.0...@times-components/ts-components@1.108.0) (2024-10-28)
|
|
7
18
|
|
|
8
19
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
2
|
-
import { Mutation } from 'react-apollo';
|
|
1
|
+
import React, { useMemo, useState } from 'react';
|
|
3
2
|
import { GetNewsletter } from '@times-components/provider';
|
|
4
|
-
import { subscribeNewsletter as subscribeNewsletterMutation } from '@times-components/provider-queries';
|
|
5
3
|
import { Placeholder } from '@times-components/image';
|
|
6
4
|
import { capitalise } from '@times-components/utils';
|
|
7
5
|
import { Newsletter } from './newsletter/Newsletter';
|
|
8
6
|
import { TrackingContextProvider } from '../../helpers/tracking/TrackingContextProvider';
|
|
9
7
|
import { InpContainer } from './styles';
|
|
8
|
+
import { FetchProvider } from '../../helpers/fetch/FetchProvider';
|
|
9
|
+
import { ContentProvider } from '../save-star/ContentProvider';
|
|
10
10
|
export const InlineNewsletterPuff = ({ code, copy, headline, section }) => {
|
|
11
|
-
const [
|
|
12
|
-
const
|
|
11
|
+
const [url, setUrl] = useState(`/api/is-subscribed-newsletter/${code}`);
|
|
12
|
+
const fetchOptions = useMemo(() => ({ credentials: 'same-origin' }), []);
|
|
13
13
|
return (React.createElement(GetNewsletter, { code: code, ssr: false, debounceTimeMs: 0 }, ({ isLoading, error, newsletter }) => {
|
|
14
14
|
if (error) {
|
|
15
15
|
return null;
|
|
@@ -18,27 +18,25 @@ export const InlineNewsletterPuff = ({ code, copy, headline, section }) => {
|
|
|
18
18
|
return (React.createElement(InpContainer, { style: { height: 257 } },
|
|
19
19
|
React.createElement(Placeholder, null)));
|
|
20
20
|
}
|
|
21
|
-
if (newsletter.isSubscribed
|
|
21
|
+
if (newsletter.isSubscribed) {
|
|
22
22
|
return null;
|
|
23
23
|
}
|
|
24
|
-
return (React.createElement(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
} }, ({ intersectObserverRef }) => (React.createElement(Newsletter, { intersectObserverRef: intersectObserverRef, section: capitalise(section), justSubscribed: justSubscribed, justSubscribedError: justSubscribedError, headline: headline, updatingSubscription: updatingSubscription, copy: copy, code: code, subscribeNewsletter: subscribeNewsletter }))))));
|
|
24
|
+
return (React.createElement(FetchProvider, { url: url, options: fetchOptions },
|
|
25
|
+
React.createElement(TrackingContextProvider, { context: {
|
|
26
|
+
object: 'InlineNewsletterPuff',
|
|
27
|
+
attrs: {
|
|
28
|
+
article_parent_name: newsletter.title,
|
|
29
|
+
event_navigation_action: 'navigation'
|
|
30
|
+
}
|
|
31
|
+
}, scrolledEvent: {
|
|
32
|
+
object: 'NewsletterPuffButton',
|
|
33
|
+
attrs: {
|
|
34
|
+
event_navigation_name: 'widget : puff : sign up now : displayed',
|
|
35
|
+
event_navigation_browsing_method: 'automated',
|
|
36
|
+
event_navigation_action: 'navigation'
|
|
37
|
+
}
|
|
38
|
+
} }, ({ intersectObserverRef }) => (React.createElement(ContentProvider, null,
|
|
39
|
+
React.createElement(Newsletter, { intersectObserverRef: intersectObserverRef, section: capitalise(section), headline: headline, copy: copy, code: code, subscribeNewsletter: setUrl }))))));
|
|
42
40
|
}));
|
|
43
41
|
};
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5saW5lTmV3c2xldHRlclB1ZmYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9uZXdzbGV0dGVyLXB1ZmYvSW5saW5lTmV3c2xldHRlclB1ZmYudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFekYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBUy9ELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsRUFDbkMsSUFBSSxFQUNKLElBQUksRUFDSixRQUFRLEVBQ1IsT0FBTyxFQUNtQixFQUFFLEVBQUU7SUFDOUIsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxRQUFRLENBQzVCLGlDQUFpQyxJQUFJLEVBQUUsQ0FDeEMsQ0FBQztJQUNGLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFekUsT0FBTyxDQUNMLG9CQUFDLGFBQWEsSUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUMsSUFDckQsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFPLEVBQUUsRUFBRTtRQUN6QyxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLFNBQVMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM1QixPQUFPLENBQ0wsb0JBQUMsWUFBWSxJQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQ2xDLG9CQUFDLFdBQVcsT0FBRyxDQUNGLENBQ2hCLENBQUM7U0FDSDtRQUVELElBQUksVUFBVSxDQUFDLFlBQVksRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxDQUNMLG9CQUFDLGFBQWEsSUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxZQUFZO1lBQzVDLG9CQUFDLHVCQUF1QixJQUN0QixPQUFPLEVBQUU7b0JBQ1AsTUFBTSxFQUFFLHNCQUFzQjtvQkFDOUIsS0FBSyxFQUFFO3dCQUNMLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxLQUFLO3dCQUNyQyx1QkFBdUIsRUFBRSxZQUFZO3FCQUN0QztpQkFDRixFQUNELGFBQWEsRUFBRTtvQkFDYixNQUFNLEVBQUUsc0JBQXNCO29CQUM5QixLQUFLLEVBQUU7d0JBQ0wscUJBQXFCLEVBQ25CLHlDQUF5Qzt3QkFDM0MsZ0NBQWdDLEVBQUUsV0FBVzt3QkFDN0MsdUJBQXVCLEVBQUUsWUFBWTtxQkFDdEM7aUJBQ0YsSUFFQSxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDN0Isb0JBQUMsZUFBZTtnQkFDZCxvQkFBQyxVQUFVLElBQ1Qsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQzFDLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQzVCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLElBQUksRUFBRSxJQUFJLEVBQ1YsSUFBSSxFQUFFLElBQUksRUFDVixtQkFBbUIsRUFBRSxNQUFNLEdBQzNCLENBQ2MsQ0FDbkIsQ0FDdUIsQ0FDWixDQUNqQixDQUFDO0lBQ0osQ0FBQyxDQUNhLENBQ2pCLENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { showcaseConverter } from '@times-components/storybook';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { MockedProvider } from '@times-components/provider-test-tools';
|
|
4
|
-
import { getNewsletter
|
|
4
|
+
import { getNewsletter } from '@times-components/provider-queries';
|
|
5
5
|
import { AutoNewsletterPuff } from './AutoNewsletterPuff';
|
|
6
6
|
import { InlineNewsletterPuff } from './InlineNewsletterPuff';
|
|
7
7
|
import { TrackingContextProvider } from '../../helpers/tracking/TrackingContextProvider';
|
|
@@ -25,24 +25,6 @@ const mocks = [
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
delay: 1000,
|
|
31
|
-
request: {
|
|
32
|
-
query: subscribeNewsletter,
|
|
33
|
-
variables: {
|
|
34
|
-
code: 'TNL-101'
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
result: {
|
|
38
|
-
data: {
|
|
39
|
-
subscribeNewsletter: {
|
|
40
|
-
id: 'a2l6E000000CdHzQAK',
|
|
41
|
-
isSubscribed: true,
|
|
42
|
-
__typename: 'Newsletter'
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
28
|
}
|
|
47
29
|
];
|
|
48
30
|
const showcase = {
|
|
@@ -78,4 +60,4 @@ const showcase = {
|
|
|
78
60
|
name: 'Typescript Component/In Article/Newsletter Puffs'
|
|
79
61
|
};
|
|
80
62
|
showcaseConverter(module, showcase);
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmV3c2xldHRlclB1ZmYuc3Rvcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL25ld3NsZXR0ZXItcHVmZi9OZXdzbGV0dGVyUHVmZi5zdG9yaWVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUV4RixPQUFPLGVBQWUsTUFBTSxvREFBb0QsQ0FBQztBQUVqRixNQUFNLEtBQUssR0FBRztJQUNaO1FBQ0UsT0FBTyxFQUFFO1lBQ1AsS0FBSyxFQUFFLGFBQWE7WUFDcEIsU0FBUyxFQUFFO2dCQUNULElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUU7Z0JBQ0osVUFBVSxFQUFFO29CQUNWLEVBQUUsRUFBRSxvQkFBb0I7b0JBQ3hCLFlBQVksRUFBRSxLQUFLO29CQUNuQixLQUFLLEVBQUUsZUFBZTtvQkFDdEIsVUFBVSxFQUFFLFlBQVk7aUJBQ3pCO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLE1BQU0sUUFBUSxHQUFHO0lBQ2YsUUFBUSxFQUFFO1FBQ1I7WUFDRSw0Q0FBNEM7WUFDNUMsU0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQU8sRUFBRSxFQUFFLENBQUMsQ0FDNUIsb0JBQUMsY0FBYyxJQUFDLEtBQUssRUFBRSxLQUFLOztnQkFDVCxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7Z0JBQzVELG9CQUFDLHVCQUF1QixJQUN0QixlQUFlLEVBQUUsZUFBZSxFQUNoQyxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUU7b0JBRXpDLG9CQUFDLGtCQUFrQixJQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLEVBQzNDLElBQUksRUFBRSxJQUFJLENBQ1IsTUFBTSxFQUNOLDhGQUE4RixDQUMvRixFQUNELE9BQU8sRUFBQyxPQUFPLEdBQ2YsQ0FDc0IsQ0FDWCxDQUNsQjtZQUVELElBQUksRUFBRSxzQkFBc0I7WUFDNUIsUUFBUSxFQUFFLEtBQUs7WUFDZixJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSw0Q0FBNEM7WUFDNUMsU0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQU8sRUFBRSxFQUFFLENBQUMsQ0FDNUIsb0JBQUMsY0FBYyxJQUFDLEtBQUssRUFBRSxLQUFLO2dCQUMxQixvQkFBQyx1QkFBdUIsSUFDdEIsZUFBZSxFQUFFLGVBQWUsRUFDaEMsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFO29CQUV6QyxvQkFBQyxvQkFBb0IsSUFDbkIsT0FBTyxFQUFDLE1BQU0sRUFDZCxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLEVBQzNDLElBQUksRUFBRSxJQUFJLENBQ1IsTUFBTSxFQUNOLDhGQUE4RixDQUMvRixHQUNELENBQ3NCLENBQ1gsQ0FDbEI7WUFFRCxJQUFJLEVBQUUsd0JBQXdCO1lBQzlCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsNENBQTRDO1lBQzVDLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFPLEVBQUUsRUFBRSxDQUFDLENBQzVCLG9CQUFDLHFCQUFxQixJQUNwQixPQUFPLEVBQUMsT0FBTyxFQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxFQUMzQyxJQUFJLEVBQUUsSUFBSSxDQUNSLE1BQU0sRUFDTiw4RkFBOEYsQ0FDL0YsR0FDRCxDQUNIO1lBRUQsSUFBSSxFQUFFLHlCQUF5QjtZQUMvQixRQUFRLEVBQUUsS0FBSztZQUNmLElBQUksRUFBRSxPQUFPO1NBQ2Q7S0FDRjtJQUNELElBQUksRUFBRSxrREFBa0Q7Q0FDekQsQ0FBQztBQUVGLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyJ9
|
|
@@ -3,7 +3,7 @@ import { cleanup, render } from '@testing-library/react';
|
|
|
3
3
|
import { AutoNewsletterPuff } from '../AutoNewsletterPuff';
|
|
4
4
|
import FakeIntersectionObserver from '../../../test-utils/FakeIntersectionObserver';
|
|
5
5
|
import { MockedProvider } from '@times-components/provider-test-tools';
|
|
6
|
-
import { getNewsletter
|
|
6
|
+
import { getNewsletter } from '@times-components/provider-queries';
|
|
7
7
|
const defaultProps = {
|
|
8
8
|
code: '123',
|
|
9
9
|
copy: 'abc',
|
|
@@ -28,24 +28,6 @@ const mocks = [
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
delay: 1000,
|
|
34
|
-
request: {
|
|
35
|
-
query: subscribeNewsletter,
|
|
36
|
-
variables: {
|
|
37
|
-
code: 'TNL-101'
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
result: {
|
|
41
|
-
data: {
|
|
42
|
-
subscribeNewsletter: {
|
|
43
|
-
id: 'a2l6E000000CdHzQAK',
|
|
44
|
-
isSubscribed: true,
|
|
45
|
-
__typename: 'Newsletter'
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
31
|
}
|
|
50
32
|
];
|
|
51
33
|
const renderPuff = () => render(React.createElement(MockedProvider, { mocks: mocks },
|
|
@@ -125,4 +107,4 @@ describe('<AutoNewsletterPuff>', () => {
|
|
|
125
107
|
});
|
|
126
108
|
});
|
|
127
109
|
});
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0b05ld3NsZXR0ZXJQdWZmLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9uZXdzbGV0dGVyLXB1ZmYvX190ZXN0c19fL0F1dG9OZXdzbGV0dGVyUHVmZi50ZXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLHdCQUF3QixNQUFNLDhDQUE4QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkUsTUFBTSxZQUFZLEdBQUc7SUFDbkIsSUFBSSxFQUFFLEtBQUs7SUFDWCxJQUFJLEVBQUUsS0FBSztJQUNYLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLE9BQU8sRUFBRSxPQUFPO0NBQ2pCLENBQUM7QUFFRixNQUFNLEtBQUssR0FBRztJQUNaO1FBQ0UsT0FBTyxFQUFFO1lBQ1AsS0FBSyxFQUFFLGFBQWE7WUFDcEIsU0FBUyxFQUFFO2dCQUNULElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUU7Z0JBQ0osVUFBVSxFQUFFO29CQUNWLEVBQUUsRUFBRSxvQkFBb0I7b0JBQ3hCLFlBQVksRUFBRSxLQUFLO29CQUNuQixLQUFLLEVBQUUsZUFBZTtvQkFDdEIsVUFBVSxFQUFFLFlBQVk7aUJBQ3pCO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRSxDQUN0QixNQUFNLENBQ0osb0JBQUMsY0FBYyxJQUFDLEtBQUssRUFBRSxLQUFLO0lB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
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { delay } from '@times-components/test-utils';
|
|
3
|
-
import { render,
|
|
3
|
+
import { render, cleanup, fireEvent } from '@testing-library/react';
|
|
4
4
|
import '@testing-library/jest-dom';
|
|
5
5
|
import { MockedProvider } from '@times-components/provider-test-tools';
|
|
6
6
|
import mockDate from 'mockdate';
|
|
7
|
-
import { getNewsletter
|
|
7
|
+
import { getNewsletter } from '@times-components/provider-queries';
|
|
8
8
|
import { InlineNewsletterPuff } from '../InlineNewsletterPuff';
|
|
9
9
|
import { TrackingContextProvider } from '../../../helpers/tracking/TrackingContextProvider';
|
|
10
|
+
import { useFetch } from '../../../helpers/fetch/FetchProvider';
|
|
10
11
|
import FakeIntersectionObserver from '../../../test-utils/FakeIntersectionObserver';
|
|
12
|
+
jest.mock('../../../helpers/fetch/FetchProvider', () => ({
|
|
13
|
+
...jest.requireActual('../../../helpers/fetch/FetchProvider'),
|
|
14
|
+
useFetch: jest.fn()
|
|
15
|
+
}));
|
|
11
16
|
const renderComponent = (analyticsStream, mocks = [
|
|
12
17
|
{
|
|
13
18
|
request: {
|
|
@@ -26,25 +31,6 @@ const renderComponent = (analyticsStream, mocks = [
|
|
|
26
31
|
}
|
|
27
32
|
}
|
|
28
33
|
}
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
delay: 50,
|
|
32
|
-
request: {
|
|
33
|
-
query: subscribeNewsletter,
|
|
34
|
-
variables: {
|
|
35
|
-
code: 'TNL-119'
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
result: {
|
|
39
|
-
data: {
|
|
40
|
-
subscribeNewsletter: {
|
|
41
|
-
id: 'a2l6E000000CdHzQAK',
|
|
42
|
-
isSubscribed: true,
|
|
43
|
-
title: 'RED BOX',
|
|
44
|
-
__typename: 'Newsletter'
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
34
|
}
|
|
49
35
|
]) => render(React.createElement(MockedProvider, { mocks: mocks },
|
|
50
36
|
React.createElement(TrackingContextProvider, { analyticsStream: analyticsStream, context: { component: 'ArticleSkeleton' } },
|
|
@@ -67,17 +53,6 @@ describe('Inline Newsletter Puff', () => {
|
|
|
67
53
|
const component = renderComponent();
|
|
68
54
|
expect(component.baseElement).toMatchSnapshot();
|
|
69
55
|
});
|
|
70
|
-
it('renders signup state', async () => {
|
|
71
|
-
const component = renderComponent();
|
|
72
|
-
await component.findAllByText('Sign up with one click');
|
|
73
|
-
expect(component.baseElement).toMatchSnapshot();
|
|
74
|
-
});
|
|
75
|
-
it('renders loading state state', async () => {
|
|
76
|
-
const component = renderComponent();
|
|
77
|
-
const oneClickSignUp = await component.findAllByText('Sign up with one click');
|
|
78
|
-
fireEvent.click(oneClickSignUp[0]);
|
|
79
|
-
expect(component.baseElement).toMatchSnapshot();
|
|
80
|
-
});
|
|
81
56
|
it('renders null when is already subscribed', async () => {
|
|
82
57
|
const component = renderComponent(jest.fn(), [
|
|
83
58
|
{
|
|
@@ -102,6 +77,19 @@ describe('Inline Newsletter Puff', () => {
|
|
|
102
77
|
await delay(0);
|
|
103
78
|
expect(component.baseElement).toMatchSnapshot();
|
|
104
79
|
});
|
|
80
|
+
it('renders signup state', async () => {
|
|
81
|
+
useFetch.mockReturnValue({ data: { isSubscribed: false } });
|
|
82
|
+
const component = renderComponent();
|
|
83
|
+
await component.findAllByText('Sign up with one click');
|
|
84
|
+
expect(component.baseElement).toMatchSnapshot();
|
|
85
|
+
});
|
|
86
|
+
it('renders loading state state', async () => {
|
|
87
|
+
useFetch.mockReturnValue({ data: { isSubscribed: false } });
|
|
88
|
+
const component = renderComponent();
|
|
89
|
+
const oneClickSignUp = await component.findAllByText('Sign up with one click');
|
|
90
|
+
fireEvent.click(oneClickSignUp[0]);
|
|
91
|
+
expect(component.baseElement).toMatchSnapshot();
|
|
92
|
+
});
|
|
105
93
|
it('renders signup view when not already subscribed', async () => {
|
|
106
94
|
const component = renderComponent();
|
|
107
95
|
await delay(0);
|
|
@@ -119,6 +107,9 @@ describe('Inline Newsletter Puff', () => {
|
|
|
119
107
|
});
|
|
120
108
|
it('Sign up with one click : displayed', async () => {
|
|
121
109
|
const analyticsStream = jest.fn();
|
|
110
|
+
useFetch.mockReturnValue({
|
|
111
|
+
data: { isSubscribed: false }
|
|
112
|
+
});
|
|
122
113
|
const component = renderComponent(analyticsStream);
|
|
123
114
|
await component.findAllByText('Sign up with one click');
|
|
124
115
|
FakeIntersectionObserver.intersect();
|
|
@@ -137,4 +128,4 @@ describe('Inline Newsletter Puff', () => {
|
|
|
137
128
|
});
|
|
138
129
|
});
|
|
139
130
|
});
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5saW5lTmV3c2xldHRlclB1ZmYudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL25ld3NsZXR0ZXItcHVmZi9fX3Rlc3RzX18vSW5saW5lTmV3c2xldHRlclB1ZmYudGVzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV2RSxPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFFaEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVoRSxPQUFPLHdCQUF3QixNQUFNLDhDQUE4QyxDQUFDO0FBRXBGLElBQUksQ0FBQyxJQUFJLENBQUMsc0NBQXNDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN2RCxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsc0NBQXNDLENBQUM7SUFDN0QsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7Q0FDcEIsQ0FBQyxDQUFDLENBQUM7QUFFSixNQUFNLGVBQWUsR0FBRyxDQUN0QixlQUE0QixFQUM1QixRQUFlO0lBQ2I7UUFDRSxPQUFPLEVBQUU7WUFDUCxLQUFLLEVBQUUsYUFBYTtZQUNwQixTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxF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
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
declare type NewsletterProps = {
|
|
2
2
|
intersectObserverRef: (ref: HTMLElement | null) => void;
|
|
3
3
|
section?: string;
|
|
4
|
-
justSubscribed: boolean;
|
|
5
|
-
justSubscribedError: boolean;
|
|
6
4
|
headline: string;
|
|
7
|
-
updatingSubscription: boolean;
|
|
8
5
|
copy: string;
|
|
9
6
|
code: string;
|
|
10
|
-
subscribeNewsletter:
|
|
7
|
+
subscribeNewsletter: any;
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
error?: string;
|
|
11
10
|
};
|
|
12
|
-
export declare const Newsletter: ({ intersectObserverRef, section,
|
|
11
|
+
export declare const Newsletter: ({ intersectObserverRef, section, headline, copy, code, subscribeNewsletter, loading, error }: NewsletterProps) => JSX.Element;
|
|
13
12
|
export {};
|
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
2
|
import { NewsletterPuffButton } from '../newsletter-puff-button/NewsletterPuffButton';
|
|
3
3
|
import { NewsletterPuffLink } from '../newsletter-puff-link/NewsletterPuffLink';
|
|
4
4
|
import { LoadingOverlay } from '../loading-overlay/LoadingOverlay';
|
|
5
5
|
import { InpCopy, InpPreferencesContainer, InpSignupContainer, InpSignupCTAContainer, InpSignupHeadline, InpSubscribedContainer } from './styles';
|
|
6
6
|
import { InpContainer } from '../styles';
|
|
7
|
-
export const Newsletter = ({ intersectObserverRef, section,
|
|
7
|
+
export const Newsletter = ({ intersectObserverRef, section, headline, copy, code, subscribeNewsletter, loading, error }) => {
|
|
8
|
+
const [justSubscribed, setJustSubscribed] = useState(false);
|
|
8
9
|
const PuffButton = (style) => (React.createElement(InpSignupCTAContainer, { ref: intersectObserverRef, childStyle: style },
|
|
9
|
-
React.createElement(NewsletterPuffButton, { style: style, updatingSubscription:
|
|
10
|
-
if (!
|
|
11
|
-
|
|
10
|
+
React.createElement(NewsletterPuffButton, { style: style, updatingSubscription: loading, onPress: () => {
|
|
11
|
+
if (!loading) {
|
|
12
|
+
setJustSubscribed(true);
|
|
13
|
+
subscribeNewsletter(`/api/subscribe-newsletter/${code}`);
|
|
12
14
|
}
|
|
13
15
|
} })));
|
|
14
16
|
return (React.createElement(React.Fragment, null,
|
|
15
17
|
React.createElement(InpContainer, { section: section },
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
loading && React.createElement(LoadingOverlay, null),
|
|
19
|
+
!error &&
|
|
20
|
+
justSubscribed && (React.createElement(InpSubscribedContainer, null,
|
|
18
21
|
React.createElement(InpCopy, null,
|
|
19
22
|
"You've succesfully signed up to",
|
|
20
23
|
' ',
|
|
@@ -23,13 +26,13 @@ export const Newsletter = ({ intersectObserverRef, section, justSubscribed, just
|
|
|
23
26
|
" "),
|
|
24
27
|
React.createElement(NewsletterPuffLink, null)),
|
|
25
28
|
React.createElement(InpPreferencesContainer, null))),
|
|
26
|
-
|
|
29
|
+
error && (React.createElement(InpSubscribedContainer, null,
|
|
27
30
|
React.createElement(InpCopy, null,
|
|
28
31
|
"An error occurred. Please use the link below.",
|
|
29
32
|
React.createElement(NewsletterPuffLink, null)),
|
|
30
33
|
React.createElement(InpPreferencesContainer, null))),
|
|
31
34
|
!justSubscribed &&
|
|
32
|
-
!
|
|
35
|
+
!error && (React.createElement(InpSignupContainer, null,
|
|
33
36
|
React.createElement(InpCopy, null,
|
|
34
37
|
React.createElement(InpSignupHeadline, null,
|
|
35
38
|
headline,
|
|
@@ -38,4 +41,4 @@ export const Newsletter = ({ intersectObserverRef, section, justSubscribed, just
|
|
|
38
41
|
PuffButton('link')),
|
|
39
42
|
PuffButton('button'))))));
|
|
40
43
|
};
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmV3c2xldHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL25ld3NsZXR0ZXItcHVmZi9uZXdzbGV0dGVyL05ld3NsZXR0ZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVuRSxPQUFPLEVBQ0wsT0FBTyxFQUNQLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdkIsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQWF6QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUN6QixvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLFFBQVEsRUFDUixJQUFJLEVBQ0osSUFBSSxFQUNKLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsS0FBSyxFQUNXLEVBQUUsRUFBRTtJQUNwQixNQUFNLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVELE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsQ0FDL0Msb0JBQUMscUJBQXFCLElBQUMsR0FBRyxFQUFFLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxLQUFLO1FBQ2pFLG9CQUFDLG9CQUFvQixJQUNuQixLQUFLLEVBQUUsS0FBSyxFQUNaLG9CQUFvQixFQUFFLE9BQU8sRUFDN0IsT0FBTyxFQUFFLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsT0FBTyxFQUFFO29CQUNaLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN4QixtQkFBbUIsQ0FBQyw2QkFBNkIsSUFBSSxFQUFFLENBQUMsQ0FBQztpQkFDMUQ7WUFDSCxDQUFDLEdBQ0QsQ0FDb0IsQ0FDekIsQ0FBQztJQUNGLE9BQU8sQ0FDTCxvQkFBQyxLQUFLLENBQUMsUUFBUTtRQUNiLG9CQUFDLFlBQVksSUFBQyxPQUFPLEVBQUUsT0FBTztZQUMzQixPQUFPLElBQUksb0JBQUMsY0FBYyxPQUFHO1lBQzdCLENBQUMsS0FBSztnQkFDTCxjQUFjLElBQUksQ0FDaEIsb0JBQUMsc0JBQXNCO2dCQUNyQixvQkFBQyxPQUFPOztvQkFDMEIsR0FBRztvQkFDbkMsb0JBQUMsaUJBQWlCO3dCQUFFLEdBQUcsUUFBUSxHQUFHOzRCQUFzQjtvQkFDeEQsb0JBQUMsa0JBQWtCLE9BQUcsQ0FDZDtnQkFDVixvQkFBQyx1QkFBdUIsT0FBRyxDQUNKLENBQzFCO1lBQ0YsS0FBSyxJQUFJLENBQ1Isb0JBQUMsc0JBQXNCO2dCQUNyQixvQkFBQyxPQUFPOztvQkFFTixvQkFBQyxrQkFBa0IsT0FBRyxDQUNkO2dCQUNWLG9CQUFDLHVCQUF1QixPQUFHLENBQ0osQ0FDMUI7WUFDQSxDQUFDLGNBQWM7Z0JBQ2QsQ0FBQyxLQUFLLElBQUksQ0FDUixvQkFBQyxrQkFBa0I7Z0JBQ2pCLG9CQUFDLE9BQU87b0JBQ04sb0JBQUMsaUJBQWlCO3dCQUFFLFFBQVE7NEJBQXNCO29CQUNqRCxHQUFHLElBQUksR0FBRztvQkFDVixVQUFVLENBQUMsTUFBTSxDQUFDLENBQ1g7Z0JBQ1QsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUNGLENBQ3RCLENBQ1UsQ0FDQSxDQUNsQixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@times-components/ts-components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.109.0",
|
|
4
4
|
"description": "Reuseable Typescript React Components ",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"dev": "dist/index.js",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"@times-components/link": "3.17.34",
|
|
58
58
|
"@times-components/provider": "1.41.4",
|
|
59
59
|
"@times-components/provider-queries": "2.23.3",
|
|
60
|
-
"@times-components/related-articles": "6.18.
|
|
60
|
+
"@times-components/related-articles": "6.18.2",
|
|
61
61
|
"@times-components/ts-slices": "1.9.23",
|
|
62
62
|
"@times-components/ts-styleguide": "1.50.34",
|
|
63
63
|
"@times-components/utils": "6.26.0",
|
|
@@ -117,5 +117,5 @@
|
|
|
117
117
|
"@testing-library/jest-dom/extend-expect"
|
|
118
118
|
]
|
|
119
119
|
},
|
|
120
|
-
"gitHead": "
|
|
120
|
+
"gitHead": "6f38162a6c0e3bdde7af7dc97ca299e7962f2077"
|
|
121
121
|
}
|