@times-components/ts-components 1.104.1-alpha.34 → 1.104.1-alpha.40
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/dist/components/{twitter-embed/TwitterEmbed.d.ts → social-embed/SocialMediaEmbed.d.ts} +3 -2
- package/dist/components/social-embed/SocialMediaEmbed.js +110 -0
- package/dist/components/social-embed/__tests__/SocialMediaEmbed.test.js +144 -0
- package/dist/components/{twitter-embed → social-embed}/styles.js +2 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/package.json +3 -3
- package/rnw.js +1 -1
- package/src/components/{twitter-embed/TwitterEmbed.tsx → social-embed/SocialMediaEmbed.tsx} +61 -44
- package/src/components/social-embed/__tests__/SocialMediaEmbed.test.tsx +254 -0
- package/src/components/{twitter-embed → social-embed}/styles.ts +1 -0
- package/src/index.ts +1 -1
- package/dist/components/twitter-embed/TwitterEmbed.js +0 -100
- package/dist/components/twitter-embed/__tests__/TwitterEmbed.test.js +0 -381
- package/src/components/twitter-embed/__tests__/TwitterEmbed.test.tsx +0 -555
- /package/dist/components/{twitter-embed/__tests__/TwitterEmbed.test.d.ts → social-embed/__tests__/SocialMediaEmbed.test.d.ts} +0 -0
- /package/dist/components/{twitter-embed → social-embed}/styles.d.ts +0 -0
package/dist/components/{twitter-embed/TwitterEmbed.d.ts → social-embed/SocialMediaEmbed.d.ts}
RENAMED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare type
|
|
2
|
+
export declare type SocialEmbedProps = {
|
|
3
3
|
element: any;
|
|
4
4
|
url: string;
|
|
5
|
+
vendorName: string;
|
|
5
6
|
};
|
|
6
7
|
declare global {
|
|
7
8
|
interface Window {
|
|
8
9
|
__tcfapi?: (command: string, version: number, callback: (data: any, success: boolean) => void) => void;
|
|
9
10
|
}
|
|
10
11
|
}
|
|
11
|
-
export declare const
|
|
12
|
+
export declare const SocialMediaEmbed: React.FC<SocialEmbedProps>;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
import { AllowButton, CardContainer, EnableButton, LinkPrivacyManager, Paragraph, Title, CustomIconContainer, Header } from './styles';
|
|
3
|
+
import get from 'lodash.get';
|
|
4
|
+
import { InfoIcon } from '../inline-message/InfoIcon';
|
|
5
|
+
// @ts-ignore
|
|
6
|
+
import InteractiveWrapper from '@times-components/interactive-wrapper';
|
|
7
|
+
export const SocialMediaEmbed = ({ element, url, vendorName }) => {
|
|
8
|
+
const [allowedOnce, setAllowedOnce] = useState(false);
|
|
9
|
+
const [isSocialAllowed, setIsSocialAllowed] = useState(false);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (window.__tcfapi) {
|
|
12
|
+
window.__tcfapi('getCustomVendorConsents', 2, (data, success) => {
|
|
13
|
+
if (success && data && data.consentedVendors) {
|
|
14
|
+
const isSocialVendorAllowed = data.consentedVendors.some((vendor) => vendor.name === 'Twitter');
|
|
15
|
+
setIsSocialAllowed(isSocialVendorAllowed);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
// tslint:disable-next-line:no-console
|
|
19
|
+
console.log(`Error fetching consent data or ${vendorName} embed not allowed`);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}, []);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if (allowedOnce || isSocialAllowed) {
|
|
26
|
+
setIsSocialAllowed(true);
|
|
27
|
+
}
|
|
28
|
+
}, [allowedOnce, isSocialAllowed]);
|
|
29
|
+
let ModalType;
|
|
30
|
+
(function (ModalType) {
|
|
31
|
+
ModalType["GDPR"] = "gdpr";
|
|
32
|
+
ModalType["CCPA"] = "ccpa";
|
|
33
|
+
})(ModalType || (ModalType = {}));
|
|
34
|
+
const openPrivacyModal = (type, messageId) => {
|
|
35
|
+
const loadModal = get(window, `_sp_.${type}.loadPrivacyManagerModal`);
|
|
36
|
+
if (loadModal) {
|
|
37
|
+
loadModal(messageId);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
// tslint:disable-next-line:no-console
|
|
41
|
+
console.warn('Sourcepoint LoadPrivacyManagerModal is not available');
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
const allowCookiesOnce = () => {
|
|
45
|
+
setAllowedOnce(true);
|
|
46
|
+
setIsSocialAllowed(true);
|
|
47
|
+
};
|
|
48
|
+
const handlePrivacyManagerClick = (e) => {
|
|
49
|
+
e.preventDefault();
|
|
50
|
+
openPrivacyModal(ModalType.GDPR, window.__TIMES_CONFIG__.sourcepoint.gdprMessageId);
|
|
51
|
+
};
|
|
52
|
+
const socialMediaVendors = {
|
|
53
|
+
twitter: { id: '5fab0c31a22863611c5f8764', status: 'pending' },
|
|
54
|
+
facebook: { id: 'fb_vendor_id', status: 'pending' },
|
|
55
|
+
instagram: { id: 'insta_vendor_id', status: 'pending' }
|
|
56
|
+
};
|
|
57
|
+
const getVendorTitle = (title) => {
|
|
58
|
+
if (title === 'twitter') {
|
|
59
|
+
return 'X (Twitter)';
|
|
60
|
+
}
|
|
61
|
+
return socialMediaVendors[title].id || title;
|
|
62
|
+
};
|
|
63
|
+
const enableCookies = (providerName) => {
|
|
64
|
+
const onCustomConsent = (_, success) => {
|
|
65
|
+
if (success) {
|
|
66
|
+
setIsSocialAllowed(true);
|
|
67
|
+
return {
|
|
68
|
+
...socialMediaVendors.vendorName,
|
|
69
|
+
[vendorName]: {
|
|
70
|
+
...socialMediaVendors[vendorName],
|
|
71
|
+
status: 'accepted'
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
};
|
|
77
|
+
const vendorId = socialMediaVendors[providerName].id;
|
|
78
|
+
if (window.__tcfapi && vendorId) {
|
|
79
|
+
window.__tcfapi('getCustomVendorConsents', 2, (data, successful) => {
|
|
80
|
+
if (successful && data && data.grants[vendorId]) {
|
|
81
|
+
window.__tcfapi('postCustomConsent', 2, onCustomConsent, [vendorId], Object.keys(data.grants[vendorId].purposeGrants), []);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
// tslint:disable-next-line:no-console
|
|
85
|
+
console.error(`${vendorName} vendor consent not available:`, data);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
// tslint:disable-next-line:no-console
|
|
91
|
+
console.log('allowedOnce', allowedOnce);
|
|
92
|
+
// tslint:disable-next-line:no-console
|
|
93
|
+
console.log('allowedOnce || isSocialAllowed', allowedOnce || isSocialAllowed);
|
|
94
|
+
// tslint:disable-next-line:no-console
|
|
95
|
+
console.log('allowedOnce && isSocialAllowed', allowedOnce && isSocialAllowed);
|
|
96
|
+
return isSocialAllowed ? (React.createElement(InteractiveWrapper, { attributes: element.attributes, element: element.value, key: element.key, source: url })) : (React.createElement(CardContainer, null,
|
|
97
|
+
React.createElement(Header, null,
|
|
98
|
+
React.createElement(CustomIconContainer, null,
|
|
99
|
+
React.createElement(InfoIcon, null)),
|
|
100
|
+
React.createElement(Title, null,
|
|
101
|
+
getVendorTitle(vendorName),
|
|
102
|
+
" content blocked")),
|
|
103
|
+
React.createElement(Paragraph, null,
|
|
104
|
+
"Please enable cookies and other technologies to view this content. You can update your cookies preferences any time using",
|
|
105
|
+
' ',
|
|
106
|
+
React.createElement(LinkPrivacyManager, { href: "#", onClick: handlePrivacyManagerClick }, "privacy manager.")),
|
|
107
|
+
React.createElement(EnableButton, { onClick: () => enableCookies(vendorName) }, "Enable cookies"),
|
|
108
|
+
React.createElement(AllowButton, { onClick: allowCookiesOnce }, "Allow cookies once")));
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29jaWFsTWVkaWFFbWJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NvY2lhbC1lbWJlZC9Tb2NpYWxNZWRpYUVtYmVkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbkQsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixTQUFTLEVBQ1QsS0FBSyxFQUNMLG1CQUFtQixFQUNuQixNQUFNLEVBQ1AsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxhQUFhO0FBQ2IsT0FBTyxrQkFBa0IsTUFBTSx1Q0FBdUMsQ0FBQztBQWtCdkUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQStCLENBQUMsRUFDM0QsT0FBTyxFQUNQLEdBQUcsRUFDSCxVQUFVLEVBQ1gsRUFBRSxFQUFFO0lBQ0gsTUFBTSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsTUFBTSxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU5RCxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ25CLE1BQU0sQ0FBQyxRQUFRLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO2dCQUM5RCxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUM1QyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ3RELENBQUMsTUFBd0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLENBQ3hELENBQUM7b0JBQ0Ysa0JBQWtCLENBQUMscUJBQXFCLENBQUMsQ0FBQztpQkFDM0M7cUJBQU07b0JBQ0wsc0NBQXNDO29CQUN0QyxPQUFPLENBQUMsR0FBRyxDQUNULGtDQUFrQyxVQUFVLG9CQUFvQixDQUNqRSxDQUFDO2lCQUNIO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLFNBQVMsQ0FDUCxHQUFHLEVBQUU7UUFDSCxJQUFJLFdBQVcsSUFBSSxlQUFlLEVBQUU7WUFDbEMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDLEVBQ0QsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQy9CLENBQUM7SUFFRixJQUFLLFNBR0o7SUFIRCxXQUFLLFNBQVM7UUFDWiwwQkFBYSxDQUFBO1FBQ2IsMEJBQWEsQ0FBQTtJQUNmLENBQUMsRUFISSxTQUFTLEtBQVQsU0FBUyxRQUdiO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQWUsRUFBRSxTQUFpQixFQUFFLEVBQUU7UUFDOUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLElBQUksMEJBQTBCLENBQUMsQ0FBQztRQUV0RSxJQUFJLFNBQVMsRUFBRTtZQUNiLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0QjthQUFNO1lBQ0wsc0NBQXNDO1lBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0RBQXNELENBQUMsQ0FBQztTQUN0RTtJQUNILENBQUMsQ0FBQztJQUVGLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxFQUFFO1FBQzVCLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUM7SUFFRixNQUFNLHlCQUF5QixHQUFHLENBQ2hDLENBQXNDLEVBQ3RDLEVBQUU7UUFDRixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsZ0JBQWdCLENBQ2QsU0FBUyxDQUFDLElBQUksRUFDZCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FDbEQsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGLE1BQU0sa0JBQWtCLEdBRXBCO1FBQ0YsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLDBCQUEwQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7UUFDOUQsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO1FBQ25ELFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0tBQ3hELENBQUM7SUFFRixNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFO1FBQy9DLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixPQUFPLGFBQWEsQ0FBQztTQUN0QjtRQUNELE9BQU8sa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQztJQUMvQyxDQUFDLENBQUM7SUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLFlBQW9CLEVBQUUsRUFBRTtRQUM3QyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQU0sRUFBRSxPQUFnQixFQUFFLEVBQUU7WUFDbkQsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pCLE9BQU87b0JBQ0wsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVO29CQUNoQyxDQUFDLFVBQVUsQ0FBQyxFQUFFO3dCQUNaLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxDQUFDO3dCQUNqQyxNQUFNLEVBQUUsVUFBVTtxQkFDbkI7aUJBQ0YsQ0FBQzthQUNIO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFckQsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLFFBQVEsRUFBRTtZQUMvQixNQUFNLENBQUMsUUFBUSxDQUNiLHlCQUF5QixFQUN6QixDQUFDLEVBQ0QsQ0FBQyxJQUFTLEVBQUUsVUFBbUIsRUFBRSxFQUFFO2dCQUNqQyxJQUFJLFVBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDOUMsTUFBTSxDQUFDLFFBQWdCLENBQ3RCLG1CQUFtQixFQUNuQixDQUFDLEVBQ0QsZUFBZSxFQUNmLENBQUMsUUFBUSxDQUFDLEVBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUNoRCxFQUFFLENBQ0gsQ0FBQztpQkFDSDtxQkFBTTtvQkFDTCxzQ0FBc0M7b0JBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxVQUFVLGdDQUFnQyxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUNwRTtZQUNILENBQUMsQ0FDRixDQUFDO1NBQ0g7SUFDSCxDQUFDLENBQUM7SUFFRixzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLEVBQUUsV0FBVyxJQUFJLGVBQWUsQ0FBQyxDQUFDO0lBQzlFLHNDQUFzQztJQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxFQUFFLFdBQVcsSUFBSSxlQUFlLENBQUMsQ0FBQztJQUU5RSxPQUFPLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FDdkIsb0JBQUMsa0JBQWtCLElBQ2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUM5QixPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFDdEIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQ2hCLE1BQU0sRUFBRSxHQUFHLEdBQ1gsQ0FDSCxDQUFDLENBQUMsQ0FBQyxDQUNGLG9CQUFDLGFBQWE7UUFDWixvQkFBQyxNQUFNO1lBQ0wsb0JBQUMsbUJBQW1CO2dCQUNsQixvQkFBQyxRQUFRLE9BQUcsQ0FDUTtZQUN0QixvQkFBQyxLQUFLO2dCQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUM7bUNBQXlCLENBQ3BEO1FBQ1Qsb0JBQUMsU0FBUzs7WUFFMkMsR0FBRztZQUN0RCxvQkFBQyxrQkFBa0IsSUFBQyxJQUFJLEVBQUMsR0FBRyxFQUFDLE9BQU8sRUFBRSx5QkFBeUIsdUJBRTFDLENBQ1g7UUFDWixvQkFBQyxZQUFZLElBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMscUJBRXZDO1FBQ2Ysb0JBQUMsV0FBVyxJQUFDLE9BQU8sRUFBRSxnQkFBZ0IseUJBQWtDLENBQzFELENBQ2pCLENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, screen, fireEvent } from '@testing-library/react';
|
|
3
|
+
import { SocialMediaEmbed } from '../SocialMediaEmbed';
|
|
4
|
+
import '@testing-library/jest-dom';
|
|
5
|
+
import get from 'lodash.get';
|
|
6
|
+
// Mocking external dependencies
|
|
7
|
+
jest.mock('@times-components/interactive-wrapper', () => jest.fn(() => React.createElement("div", null, "InteractiveWrapper")));
|
|
8
|
+
jest.mock('lodash.get');
|
|
9
|
+
const mockTcfApi = jest.fn();
|
|
10
|
+
describe('TwitterEmbed', () => {
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
// Reset mocks before each test
|
|
13
|
+
mockTcfApi.mockReset();
|
|
14
|
+
window.__tcfapi = mockTcfApi;
|
|
15
|
+
/* tslint:disable:no-empty */
|
|
16
|
+
jest.spyOn(global.console, 'log').mockImplementation(() => { });
|
|
17
|
+
/* tslint:disable:no-empty */
|
|
18
|
+
jest.spyOn(global.console, 'warn').mockImplementation(() => { });
|
|
19
|
+
});
|
|
20
|
+
afterEach(() => {
|
|
21
|
+
// Restore mocks after each test
|
|
22
|
+
jest.restoreAllMocks();
|
|
23
|
+
});
|
|
24
|
+
it('renders Twitter content if consent is given for Twitter', () => {
|
|
25
|
+
mockTcfApi.mockImplementation((_, __, callback) => {
|
|
26
|
+
callback({ consentedVendors: [{ name: 'Twitter' }] }, true);
|
|
27
|
+
});
|
|
28
|
+
const mockElement = {
|
|
29
|
+
attributes: {},
|
|
30
|
+
value: 'Twitter content',
|
|
31
|
+
key: 'twitter-embed'
|
|
32
|
+
};
|
|
33
|
+
const url = 'https://twitter.com';
|
|
34
|
+
render(React.createElement(SocialMediaEmbed, { element: mockElement, url: url, vendorName: 'twitter' }));
|
|
35
|
+
// Assert that InteractiveWrapper is rendered
|
|
36
|
+
expect(screen.getByText('InteractiveWrapper')).toBeInTheDocument();
|
|
37
|
+
});
|
|
38
|
+
it('renders blocked content message if consent for Twitter is not given', () => {
|
|
39
|
+
mockTcfApi.mockImplementation((_, __, callback) => {
|
|
40
|
+
callback({ consentedVendors: [] }, true);
|
|
41
|
+
});
|
|
42
|
+
const mockElement = {
|
|
43
|
+
attributes: {},
|
|
44
|
+
value: 'Twitter content',
|
|
45
|
+
key: 'twitter-embed'
|
|
46
|
+
};
|
|
47
|
+
const url = 'https://twitter.com';
|
|
48
|
+
render(React.createElement(SocialMediaEmbed, { element: mockElement, url: url, vendorName: 'twitter' }));
|
|
49
|
+
// Assert that the blocked content message is rendered
|
|
50
|
+
expect(screen.getByText('X (Twitter) content blocked')).toBeInTheDocument();
|
|
51
|
+
expect(screen.getByText('privacy manager.')).toBeInTheDocument();
|
|
52
|
+
expect(screen.getByRole('button', { name: /Enable cookies/i })).toBeInTheDocument();
|
|
53
|
+
expect(screen.getByRole('button', { name: /Allow cookies once/i })).toBeInTheDocument();
|
|
54
|
+
});
|
|
55
|
+
it('enables cookies and unblocks Twitter content', () => {
|
|
56
|
+
mockTcfApi.mockImplementation((_, __, callback) => {
|
|
57
|
+
callback({
|
|
58
|
+
grants: {
|
|
59
|
+
'5fab0c31a22863611c5f8764': { purposeGrants: { '1': true } }
|
|
60
|
+
}
|
|
61
|
+
}, true);
|
|
62
|
+
});
|
|
63
|
+
const mockElement = {
|
|
64
|
+
attributes: {},
|
|
65
|
+
value: 'Twitter content',
|
|
66
|
+
key: 'twitter-embed'
|
|
67
|
+
};
|
|
68
|
+
const url = 'https://twitter.com';
|
|
69
|
+
render(React.createElement(SocialMediaEmbed, { element: mockElement, url: url, vendorName: 'twitter' }));
|
|
70
|
+
fireEvent.click(screen.getByRole('button', { name: /Enable cookies/i }));
|
|
71
|
+
// Ensure that the __tcfapi function is called with the correct arguments
|
|
72
|
+
expect(mockTcfApi).toHaveBeenCalledWith('getCustomVendorConsents', 2, expect.any(Function));
|
|
73
|
+
expect(mockTcfApi).toHaveBeenCalledWith('postCustomConsent', 2, expect.any(Function), ['5fab0c31a22863611c5f8764'], expect.any(Array), []);
|
|
74
|
+
// Assert that InteractiveWrapper is rendered
|
|
75
|
+
expect(screen.getByText('InteractiveWrapper')).toBeInTheDocument();
|
|
76
|
+
});
|
|
77
|
+
it('allows cookies once and unblocks Twitter content temporarily', () => {
|
|
78
|
+
// Mock implementation for __tcfapi
|
|
79
|
+
mockTcfApi.mockImplementation((_, __, callback) => {
|
|
80
|
+
callback({
|
|
81
|
+
grants: {
|
|
82
|
+
'5fab0c31a22863611c5f8764': { purposeGrants: { '1': true } }
|
|
83
|
+
}
|
|
84
|
+
}, true);
|
|
85
|
+
});
|
|
86
|
+
const mockElement = {
|
|
87
|
+
attributes: {},
|
|
88
|
+
value: 'Twitter content',
|
|
89
|
+
key: 'twitter-embed'
|
|
90
|
+
};
|
|
91
|
+
const url = 'https://twitter.com';
|
|
92
|
+
render(React.createElement(SocialMediaEmbed, { element: mockElement, url: url, vendorName: 'twitter' }));
|
|
93
|
+
// Click the "Allow cookies once" button
|
|
94
|
+
fireEvent.click(screen.getByRole('button', { name: /Allow cookies once/i }));
|
|
95
|
+
// Ensure that Twitter content is unblocked temporarily (InteractiveWrapper is rendered)
|
|
96
|
+
expect(screen.getByText('InteractiveWrapper')).toBeInTheDocument();
|
|
97
|
+
// Mock that cookies are not permanently set, and content should be blocked again after refresh
|
|
98
|
+
// Here, we just verify that consent was not permanently stored
|
|
99
|
+
mockTcfApi.mockReset(); // Reset the mock to simulate a new page load without consent
|
|
100
|
+
render(React.createElement(SocialMediaEmbed, { element: mockElement, url: url, vendorName: 'twitter' }));
|
|
101
|
+
// Ensure that the blocked content message is rendered again after refresh
|
|
102
|
+
expect(screen.getByText('X (Twitter) content blocked')).toBeInTheDocument();
|
|
103
|
+
});
|
|
104
|
+
it('opens privacy modal when available', () => {
|
|
105
|
+
const mockLoadPrivacyManagerModal = jest.fn();
|
|
106
|
+
// Mock the sourcepoint configuration
|
|
107
|
+
window.__TIMES_CONFIG__ = {
|
|
108
|
+
sourcepoint: {
|
|
109
|
+
gdprMessageId: 'messageIdForGDPR'
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
// Mock get to return loadPrivacyManagerModal function
|
|
113
|
+
get.mockReturnValue(mockLoadPrivacyManagerModal);
|
|
114
|
+
const mockElement = {
|
|
115
|
+
attributes: {},
|
|
116
|
+
value: 'Twitter content',
|
|
117
|
+
key: 'twitter-embed'
|
|
118
|
+
};
|
|
119
|
+
const url = 'https://twitter.com';
|
|
120
|
+
render(React.createElement(SocialMediaEmbed, { element: mockElement, url: url, vendorName: 'twitter' }));
|
|
121
|
+
// Simulate user clicking the privacy manager link
|
|
122
|
+
const privacyManagerLink = screen.getByText('privacy manager.');
|
|
123
|
+
fireEvent.click(privacyManagerLink);
|
|
124
|
+
// Ensure that the privacy modal load function is called with the correct message ID
|
|
125
|
+
expect(mockLoadPrivacyManagerModal).toHaveBeenCalledWith('messageIdForGDPR');
|
|
126
|
+
});
|
|
127
|
+
it('handles missing privacy modal gracefully', () => {
|
|
128
|
+
// Mock get to return undefined (no privacy modal available)
|
|
129
|
+
get.mockReturnValue(undefined);
|
|
130
|
+
const mockElement = {
|
|
131
|
+
attributes: {},
|
|
132
|
+
value: 'Twitter content',
|
|
133
|
+
key: 'twitter-embed'
|
|
134
|
+
};
|
|
135
|
+
const url = 'https://twitter.com';
|
|
136
|
+
render(React.createElement(SocialMediaEmbed, { element: mockElement, url: url, vendorName: 'twitter' }));
|
|
137
|
+
// Simulate user clicking the privacy manager link
|
|
138
|
+
const privacyManagerLink = screen.getByText('privacy manager.');
|
|
139
|
+
fireEvent.click(privacyManagerLink);
|
|
140
|
+
// Ensure that the console.warn is triggered
|
|
141
|
+
expect(global.console.warn).toHaveBeenCalledWith('Sourcepoint LoadPrivacyManagerModal is not available');
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29jaWFsTWVkaWFFbWJlZC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc29jaWFsLWVtYmVkL19fdGVzdHNfXy9Tb2NpYWxNZWRpYUVtYmVkLnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sR0FBRyxNQUFNLFlBQVksQ0FBQztBQUU3QixnQ0FBZ0M7QUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsRUFBRSxHQUFHLEVBQUUsQ0FDdEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzREFBNkIsQ0FBQyxDQUM3QyxDQUFDO0FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUV4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFN0IsUUFBUSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUU7SUFDNUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLCtCQUErQjtRQUMvQixVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdkIsTUFBTSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFFN0IsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztRQUMvRCw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0s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
|
|
@@ -43,6 +43,7 @@ export const Paragraph = styled.p `
|
|
|
43
43
|
font-style: normal;
|
|
44
44
|
font-weight: 400;
|
|
45
45
|
line-height: 150%;
|
|
46
|
+
margin: 24px 0;
|
|
46
47
|
|
|
47
48
|
@media (max-width: ${breakpoints.medium}px) {
|
|
48
49
|
font-size: 16px;
|
|
@@ -72,4 +73,4 @@ export const AllowButton = styled.button `
|
|
|
72
73
|
export const LinkPrivacyManager = styled.a `
|
|
73
74
|
color: #00527a;
|
|
74
75
|
`;
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc29jaWFsLWVtYmVkL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFBOzs7Ozs7OztDQVF0QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUE7O0NBRS9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7Ozs7Ozs7OztDQVN2RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUE7Ozs7Ozs7Ozt1QkFTUCxXQUFXLENBQUMsTUFBTTs7O0NBR3hDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQTs7Ozs7Ozs7O3VCQVNWLFdBQVcsQ0FBQyxNQUFNOzs7Q0FHeEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFBOzs7Ozs7Ozs7O0NBVXhDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQTs7Ozs7Ozs7O0NBU3ZDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFBOztDQUV6QyxDQUFDIn0=
|
package/dist/index.d.ts
CHANGED
|
@@ -41,4 +41,4 @@ export { WelcomeBanner } from './components/welcome-banner/WelcomeBanner';
|
|
|
41
41
|
export { default as safeDecodeURIComponent } from './utils/safeDecodeURIComponent';
|
|
42
42
|
export { ArticleSidebar } from './components/article-sidebar/ArticleSidebar';
|
|
43
43
|
export { FeaturesCarousel } from './components/features-carousel/FeaturesCarousel';
|
|
44
|
-
export {
|
|
44
|
+
export { SocialMediaEmbed } from './components/social-embed/SocialMediaEmbed';
|
package/dist/index.js
CHANGED
|
@@ -46,5 +46,5 @@ export { WelcomeBanner } from './components/welcome-banner/WelcomeBanner';
|
|
|
46
46
|
export { default as safeDecodeURIComponent } from './utils/safeDecodeURIComponent';
|
|
47
47
|
export { ArticleSidebar } from './components/article-sidebar/ArticleSidebar';
|
|
48
48
|
export { FeaturesCarousel } from './components/features-carousel/FeaturesCarousel';
|
|
49
|
-
export {
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
export { SocialMediaEmbed } from './components/social-embed/SocialMediaEmbed';
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCO0FBQ3JCLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsZUFBZSxFQUNoQixNQUFNLDJDQUEyQyxDQUFDO0FBQ25ELE9BQU8sRUFFTCx1QkFBdUIsRUFDeEIsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3JCLE1BQU0scUVBQXFFLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzVFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDcEIsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUNMLHFCQUFxQixFQUN0QixNQUFNLHFEQUFxRCxDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFNUQsd0JBQXdCO0FBQ3hCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbkIsTUFBTSxpREFBaUQsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3JCLE1BQU0sbURBQW1ELENBQUM7QUFDM0QsT0FBTyxFQUNMLHFCQUFxQixFQUN0QixNQUFNLDRFQUE0RSxDQUFDO0FBRXBGLG1CQUFtQjtBQUNuQixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3JCLE1BQU0sMERBQTBELENBQUM7QUFFbEUsT0FBTyxFQUNMLDBCQUEwQixFQUMzQixNQUFNLHVFQUF1RSxDQUFDO0FBQy9FLE9BQU8sRUFDTCxvQkFBb0IsRUFDckIsTUFBTSwwREFBMEQsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsOEJBQThCLEVBQy9CLE1BQU0sK0VBQStFLENBQUM7QUFDdkYsT0FBTyxFQUNMLHFCQUFxQixFQUN0QixNQUFNLDREQUE0RCxDQUFDO0FBQ3BFLE9BQU8sRUFDTCxtQkFBbUIsRUFDcEIsTUFBTSx3REFBd0QsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3ZCLE1BQU0sK0RBQStELENBQUM7QUFDdkUsT0FBTyxFQUNMLHVCQUF1QixFQUN4QixNQUFNLGlFQUFpRSxDQUFDO0FBRXpFLE9BQU8sRUFDTCxpQkFBaUIsRUFDbEIsTUFBTSxvREFBb0QsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ25CLE1BQU0sc0RBQXNELENBQUM7QUFDOUQsT0FBTyxFQUNMLGdCQUFnQixFQUNqQixNQUFNLGtEQUFrRCxDQUFDO0FBQzFELE9BQU8sRUFDTCxtQkFBbUIsRUFDcEIsTUFBTSx5REFBeUQsQ0FBQztBQUVqRSw2QkFBNkI7QUFDN0IsT0FBTyxFQUNMLGdCQUFnQixFQUNqQixNQUFNLG9EQUFvRCxDQUFDO0FBRTVELFVBQVU7QUFDVixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFOUQsT0FBTyxFQUNMLGdCQUFnQixFQUNqQixNQUFNLCtDQUErQyxDQUFDO0FBRXZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXZFLE9BQU8sRUFDTCxPQUFPLElBQUksYUFBYSxFQUN6QixNQUFNLDJDQUEyQyxDQUFDO0FBRW5ELE9BQU8sRUFDTCxnQkFBZ0IsRUFDakIsTUFBTSxpREFBaUQsQ0FBQztBQUV6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUNMLE9BQU8sSUFBSSxzQkFBc0IsRUFDbEMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDN0UsT0FBTyxFQUNMLGdCQUFnQixFQUNqQixNQUFNLGlEQUFpRCxDQUFDO0FBRXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@times-components/ts-components",
|
|
3
|
-
"version": "1.104.1-alpha.
|
|
3
|
+
"version": "1.104.1-alpha.40+d87a3b85a5",
|
|
4
4
|
"description": "Reuseable Typescript React Components ",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"dev": "dist/index.js",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"@times-components/link": "^3.17.34",
|
|
59
59
|
"@times-components/provider": "^1.41.4",
|
|
60
60
|
"@times-components/provider-queries": "^2.23.3",
|
|
61
|
-
"@times-components/related-articles": "^6.17.89-alpha.
|
|
61
|
+
"@times-components/related-articles": "^6.17.89-alpha.40+d87a3b85a5",
|
|
62
62
|
"@times-components/ts-slices": "^1.9.23",
|
|
63
63
|
"@times-components/ts-styleguide": "^1.50.34",
|
|
64
64
|
"@times-components/utils": "^6.26.0",
|
|
@@ -118,5 +118,5 @@
|
|
|
118
118
|
"@testing-library/jest-dom/extend-expect"
|
|
119
119
|
]
|
|
120
120
|
},
|
|
121
|
-
"gitHead": "
|
|
121
|
+
"gitHead": "d87a3b85a59258069c912e93a8600289ca1b9764"
|
|
122
122
|
}
|