@times-components/ts-components 1.104.1-alpha.14 → 1.104.1-alpha.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/components/article-header/ArticleHeader.js +6 -3
  3. package/dist/components/article-header/ArticleHeader.stories.js +2 -5
  4. package/dist/components/article-sidebar/ArticleSidebar.js +6 -3
  5. package/dist/components/article-sidebar/ArticleSidebar.stories.js +20 -10
  6. package/dist/components/article-sidebar/__tests__/index.test.js +49 -7
  7. package/dist/components/article-sidebar/tracking-helpers.d.ts +13 -0
  8. package/dist/components/article-sidebar/tracking-helpers.js +16 -0
  9. package/dist/components/twitter-embed/TwitterEmbed.d.ts +5 -3
  10. package/dist/components/twitter-embed/TwitterEmbed.js +85 -12
  11. package/dist/components/twitter-embed/__tests__/TwitterEmbed.test.js +366 -25
  12. package/dist/components/twitter-embed/styles.d.ts +8 -0
  13. package/dist/components/twitter-embed/styles.js +75 -0
  14. package/dist/components/updated-timestamp/UpdatedTimestamp.js +4 -2
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.js +2 -1
  17. package/package.json +5 -4
  18. package/rnw.js +1 -1
  19. package/src/components/article-header/ArticleHeader.stories.tsx +1 -5
  20. package/src/components/article-header/ArticleHeader.tsx +5 -6
  21. package/src/components/article-sidebar/ArticleSidebar.stories.tsx +24 -10
  22. package/src/components/article-sidebar/ArticleSidebar.tsx +22 -2
  23. package/src/components/article-sidebar/__tests__/__snapshots__/index.test.tsx.snap +8 -8
  24. package/src/components/article-sidebar/__tests__/index.test.tsx +56 -6
  25. package/src/components/article-sidebar/tracking-helpers.ts +21 -0
  26. package/src/components/twitter-embed/TwitterEmbed.tsx +146 -14
  27. package/src/components/twitter-embed/__tests__/TwitterEmbed.test.tsx +523 -22
  28. package/src/components/twitter-embed/styles.ts +82 -0
  29. package/src/components/updated-timestamp/UpdatedTimestamp.tsx +3 -1
  30. package/src/index.ts +2 -0
  31. package/tslint.json +2 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,33 @@
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.105.1](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.105.0...@times-components/ts-components@1.105.1) (2024-10-15)
7
+
8
+ **Note:** Version bump only for package @times-components/ts-components
9
+
10
+
11
+
12
+
13
+
14
+ # [1.105.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.104.1...@times-components/ts-components@1.105.0) (2024-10-15)
15
+
16
+
17
+ ### Features
18
+
19
+ * **TMPZ-112:** Implement tracking of clicks on puzzles in sidebar component ([#3926](https://github.com/newsuk/times-components/issues/3926)) ([a84e5f3](https://github.com/newsuk/times-components/commit/a84e5f3a2bb34da21824c68a7dd89bb8419ef214))
20
+
21
+
22
+
23
+
24
+
25
+ ## [1.104.1](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.104.0...@times-components/ts-components@1.104.1) (2024-10-14)
26
+
27
+ **Note:** Version bump only for package @times-components/ts-components
28
+
29
+
30
+
31
+
32
+
6
33
  # [1.104.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.103.5...@times-components/ts-components@1.104.0) (2024-09-30)
7
34
 
8
35
 
@@ -1,6 +1,9 @@
1
1
  import React, { useState, useEffect } from 'react';
2
- import { differenceInSeconds, differenceInCalendarDays, formatDistanceStrict } from 'date-fns';
3
- import { format, utcToZonedTime } from 'date-fns-tz';
2
+ import differenceInSeconds from 'date-fns/differenceInSeconds';
3
+ import differenceInCalendarDays from 'date-fns/differenceInCalendarDays';
4
+ import formatDistanceStrict from 'date-fns/formatDistanceStrict';
5
+ import utcToZonedTime from 'date-fns-tz/utcToZonedTime';
6
+ import format from 'date-fns-tz/format';
4
7
  import { BreakingArticleFlag } from '../article-flag/LiveArticleFlag';
5
8
  import safeDecodeURIComponent from '../../utils/safeDecodeURIComponent';
6
9
  import { Container, Divider, Headline, TimeSincePublishing, TimeSincePublishingContainer, UpdatedDate, UpdatedTime, UpdatedTimeItems, UpdatesContainer, FlagContainer } from './styles';
@@ -70,4 +73,4 @@ const ArticleHeader = ({ updated, breaking, headline, authorSlug, description })
70
73
  authorData && (React.createElement(ArticleBylineBlock, { authorData: authorData, description: description }))));
71
74
  };
72
75
  export default ArticleHeader;
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZUhlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FydGljbGUtaGVhZGVyL0FydGljbGVIZWFkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNuRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDckIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxzQkFBc0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUV4RSxPQUFPLEVBQ0wsU0FBUyxFQUNULE9BQU8sRUFDUCxRQUFRLEVBQ1IsbUJBQW1CLEVBQ25CLDRCQUE0QixFQUM1QixXQUFXLEVBQ1gsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNkLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFELE1BQU0sWUFBWSxHQUFHLENBQUMsU0FBUyxHQUFHLEVBQUUsRUFBRSxXQUFXLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDO0lBQzlCLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFELE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM3QixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sT0FBTyxHQUFHLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxD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
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZUhlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FydGljbGUtaGVhZGVyL0FydGljbGVIZWFkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNuRCxPQUFPLG1CQUFtQixNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sd0JBQXdCLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxvQkFBb0IsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLGNBQWMsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLE1BQU0sTUFBTSxvQkFBb0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLHNCQUFzQixNQUFNLG9DQUFvQyxDQUFDO0FBRXhFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFFBQVEsRUFDUixtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLFdBQVcsRUFDWCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixhQUFhLEVBQ2QsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFMUQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxTQUFTLEdBQUcsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQUUsRUFBRTtJQUN4RCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDOUIsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUQsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzdCLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENB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
@@ -1,10 +1,7 @@
1
1
  import React from 'react';
2
2
  import { storiesOf } from '@storybook/react';
3
3
  import { select, text } from '@storybook/addon-knobs';
4
- import {
5
- // format,
6
- addMinutes } from 'date-fns';
7
- // import { utcToZonedTime } from 'date-fns-tz';
4
+ import addMinutes from 'date-fns/addMinutes';
8
5
  import { ArticleHarness } from '../../fixtures/article-harness/ArticleHarness';
9
6
  import ArticleHeader from './ArticleHeader';
10
7
  const getAttributes = () => {
@@ -38,4 +35,4 @@ storiesOf('Typescript Component/Article Header', module)
38
35
  // time={props.time}
39
36
  breaking: props.breaking, authorSlug: props.authorSlug, description: props.description })));
40
37
  });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZUhlYWRlci5zdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXJ0aWNsZS1oZWFkZXIvQXJ0aWNsZUhlYWRlci5zdG9yaWVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTztBQUNMLFVBQVU7QUFDVixVQUFVLEVBQ1gsTUFBTSxVQUFVLENBQUM7QUFDbEIsZ0RBQWdEO0FBRWhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMvRSxPQUFPLGFBQWEsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUU7SUFDekIsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBRXJCLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFeEUsMkRBQTJEO0lBQzNELDREQUE0RDtJQUM1RCx3RUFBd0U7SUFFeEUsTUFBTSxPQUFPLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUNuRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU5RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUV4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDO0FBQ2xFLENBQUMsQ0FBQztBQUVGLFNBQVMsQ0FBQyxxQ0FBcUMsRUFBRSxNQUFNLENBQUM7S0FDckQsR0FBRyxDQUFDLDhCQUE4QixFQUFFLEdBQUcsRUFBRTtJQUN4QyxNQUFNLEtBQUssR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUM5QixPQUFPLENBQ0wsb0JBQUMsY0FBYztRQUNiLG9CQUFDLGFBQWEsSUFDWixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFDeEIsUUFBUSxFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFDNUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQzVCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxHQUM5QixDQUNhLENBQ2xCLENBQUM7QUFDSixDQUFDLENBQUM7S0FDRCxHQUFHLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO0lBQzNDLE1BQU0sS0FBSyxHQUFHLGFBQWEsRUFBRSxDQUFDO0lBQzlCLE9BQU8sQ0FDTCxvQkFBQyxjQUFjO1FBQ2Isb0JBQUMsYUFBYSxJQUNaLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUN4QixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFDNUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLEdBQzlCLENBQ2EsQ0FDbEIsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDIn0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZUhlYWRlci5zdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXJ0aWNsZS1oZWFkZXIvQXJ0aWNsZUhlYWRlci5zdG9yaWVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxVQUFVLE1BQU0scUJBQXFCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQy9FLE9BQU8sYUFBYSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRTtJQUN6QixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFFckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUV4RSwyREFBMkQ7SUFDM0QsNERBQTREO0lBQzVELHdFQUF3RTtJQUV4RSxNQUFNLE9BQU8sR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ25ELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUV6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLHNCQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTlELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXhELE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBRUYsU0FBUyxDQUFDLHFDQUFxQyxFQUFFLE1BQU0sQ0FBQztLQUNyRCxHQUFHLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO0lBQ3hDLE1BQU0sS0FBSyxHQUFHLGFBQWEsRUFBRSxDQUFDO0lBQzlCLE9BQU8sQ0FDTCxvQkFBQyxjQUFjO1FBQ2Isb0JBQUMsYUFBYSxJQUNaLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUN4QixRQUFRLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUM1QyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFDNUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLEdBQzlCLENBQ2EsQ0FDbEIsQ0FBQztBQUNKLENBQUMsQ0FBQztLQUNELEdBQUcsQ0FBQyxpQ0FBaUMsRUFBRSxHQUFHLEVBQUU7SUFDM0MsTUFBTSxLQUFLLEdBQUcsYUFBYSxFQUFFLENBQUM7SUFDOUIsT0FBTyxDQUNMLG9CQUFDLGNBQWM7UUFDYixvQkFBQyxhQUFhLElBQ1osT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQ3hCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUM1QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsR0FDOUIsQ0FDYSxDQUNsQixDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMifQ==
@@ -1,8 +1,11 @@
1
1
  import React from 'react';
2
2
  import { ChevronButton, ChevronRightIcon, Container, Description, Divider, ItemTitle, Link, PuzzleContainer, PuzzleImage, Title, TitleIconContainer } from './styles';
3
+ import { useTrackingContext } from '../../helpers/tracking/TrackingContextProvider';
4
+ import { handleClick } from './tracking-helpers';
3
5
  export const ArticleSidebar = ({ sectionTitle, data, pageLink }) => {
6
+ const { fireAnalyticsEvent } = useTrackingContext();
4
7
  return (React.createElement(Container, null,
5
- React.createElement(Link, { href: pageLink },
8
+ React.createElement(Link, { href: pageLink, onClick: () => handleClick(fireAnalyticsEvent, 'puzzle sidebar: header selected'), className: "trigger" },
6
9
  React.createElement(TitleIconContainer, null,
7
10
  React.createElement(Title, null, sectionTitle),
8
11
  React.createElement(ChevronButton, null,
@@ -10,9 +13,9 @@ export const ArticleSidebar = ({ sectionTitle, data, pageLink }) => {
10
13
  React.createElement(Description, null, "Challenge yourself with today\u2019s puzzles."),
11
14
  React.createElement(Divider, null),
12
15
  data.map(({ title, url, imgUrl }) => (React.createElement(React.Fragment, { key: title },
13
- React.createElement(PuzzleContainer, { href: url },
16
+ React.createElement(PuzzleContainer, { href: url, onClick: () => handleClick(fireAnalyticsEvent, 'puzzle sidebar: puzzle selected', `${title}`), className: "trigger-card-link" },
14
17
  React.createElement(PuzzleImage, { src: imgUrl, alt: "Puzzle thumbnail" }),
15
18
  React.createElement(ItemTitle, null, title)),
16
19
  React.createElement(Divider, null))))));
17
20
  };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZVNpZGViYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcnRpY2xlLXNpZGViYXIvQXJ0aWNsZVNpZGViYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBYSxNQUFNLE9BQU8sQ0FBQztBQUVsQyxPQUFPLEVBQ0wsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE9BQU8sRUFDUCxTQUFTLEVBQ1QsSUFBSSxFQUNKLGVBQWUsRUFDZixXQUFXLEVBQ1gsS0FBSyxFQUNMLGtCQUFrQixFQUNuQixNQUFNLFVBQVUsQ0FBQztBQVFsQixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQTRCLENBQUMsRUFDdEQsWUFBWSxFQUNaLElBQUksRUFDSixRQUFRLEVBQ1QsRUFBRSxFQUFFO0lBQ0gsT0FBTyxDQUNMLG9CQUFDLFNBQVM7UUFDUixvQkFBQyxJQUFJLElBQUMsSUFBSSxFQUFFLFFBQVE7WUFDbEIsb0JBQUMsa0JBQWtCO2dCQUNqQixvQkFBQyxLQUFLLFFBQUUsWUFBWSxDQUFTO2dCQUM3QixvQkFBQyxhQUFhO29CQUNaLG9CQUFDLGdCQUFnQixPQUFHLENBQ04sQ0FDRyxDQUNoQjtRQUVQLG9CQUFDLFdBQVcsd0RBQXVEO1FBQ25FLG9CQUFDLE9BQU8sT0FBRztRQUVWLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQ3BDLG9CQUFDLEtBQUssQ0FBQyxRQUFRLElBQUMsR0FBRyxFQUFFLEtBQUs7WUFDeEIsb0JBQUMsZUFBZSxJQUFDLElBQUksRUFBRSxHQUFHO2dCQUN4QixvQkFBQyxXQUFXLElBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUMsa0JBQWtCLEdBQUc7Z0JBQ25ELG9CQUFDLFNBQVMsUUFBRSxLQUFLLENBQWEsQ0FDZDtZQUNsQixvQkFBQyxPQUFPLE9BQUcsQ0FDSSxDQUNsQixDQUFDLENBQ1EsQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZVNpZGViYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcnRpY2xlLXNpZGViYXIvQXJ0aWNsZVNpZGViYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBYSxNQUFNLE9BQU8sQ0FBQztBQUVsQyxPQUFPLEVBQ0wsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE9BQU8sRUFDUCxTQUFTLEVBQ1QsSUFBSSxFQUNKLGVBQWUsRUFDZixXQUFXLEVBQ1gsS0FBSyxFQUNMLGtCQUFrQixFQUNuQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFRakQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUE0QixDQUFDLEVBQ3RELFlBQVksRUFDWixJQUFJLEVBQ0osUUFBUSxFQUNULEVBQUUsRUFBRTtJQUNILE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGtCQUFrQixFQUFFLENBQUM7SUFFcEQsT0FBTyxDQUNMLG9CQUFDLFNBQVM7UUFDUixvQkFBQyxJQUFJLElBQ0gsSUFBSSxFQUFFLFFBQVEsRUFDZCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQ1osV0FBVyxDQUFDLGtCQUFrQixFQUFFLGlDQUFpQyxDQUFDLEVBRXBFLFNBQVMsRUFBQyxTQUFTO1lBRW5CLG9CQUFDLGtCQUFrQjtnQkFDakIsb0JBQUMsS0FBSyxRQUFFLFlBQVksQ0FBUztnQkFDN0Isb0JBQUMsYUFBYTtvQkFDWixvQkFBQyxnQkFBZ0IsT0FBRyxDQUNOLENBQ0csQ0FDaEI7UUFFUCxvQkFBQyxXQUFXLHdEQUF1RDtRQUNuRSxvQkFBQyxPQUFPLE9BQUc7UUFFVixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUNwQyxvQkFBQyxLQUFLLENBQUMsUUFBUSxJQUFDLEdBQUcsRUFBRSxLQUFLO1lBQ3hCLG9CQUFDLGVBQWUsSUFDZCxJQUFJLEVBQUUsR0FBRyxFQUNULE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FDWixXQUFXLENBQ1Qsa0JBQWtCLEVBQ2xCLGlDQUFpQyxFQUNqQyxHQUFHLEtBQUssRUFBRSxDQUNYLEVBRUgsU0FBUyxFQUFDLG1CQUFtQjtnQkFFN0Isb0JBQUMsV0FBVyxJQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFDLGtCQUFrQixHQUFHO2dCQUNuRCxvQkFBQyxTQUFTLFFBQUUsS0FBSyxDQUFhLENBQ2Q7WUFDbEIsb0JBQUMsT0FBTyxPQUFHLENBQ0ksQ0FDbEIsQ0FBQyxDQUNRLENBQ2IsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
@@ -1,31 +1,41 @@
1
1
  import React from 'react';
2
2
  import { storiesOf } from '@storybook/react';
3
3
  import { ArticleSidebar } from './ArticleSidebar';
4
+ import { TrackingContextProvider } from '../../helpers/tracking/TrackingContextProvider';
5
+ import analyticsStream from '../../fixtures/analytics-actions/analytics-actions';
4
6
  const getAttributes = () => {
5
7
  const sectionTitle = 'Puzzles';
6
8
  const data = [
7
9
  {
8
10
  title: 'Crossword',
9
- url: 'https://www.thetimes.co.uk/puzzles/crossword',
10
- imgUrl: 'https://www.thetimes.co.uk/d/img/puzzles/new-illustrations/crossword-c7ae8934ef.png'
11
+ url: 'https://www.thetimes.com/puzzles/crossword',
12
+ imgUrl: 'https://www.thetimes.com/d/img/puzzles/new-illustrations/crossword-c7ae8934ef.png'
11
13
  },
12
14
  {
13
15
  title: 'Polygon',
14
- url: 'https://www.thetimes.co.uk/puzzles/word-puzzles',
15
- imgUrl: 'https://www.thetimes.co.uk/d/img/puzzles/new-illustrations/polygon-875ea55487.png'
16
+ url: 'https://www.thetimes.com/puzzles/word-puzzles',
17
+ imgUrl: 'https://www.thetimes.com/d/img/puzzles/new-illustrations/polygon-875ea55487.png'
16
18
  },
17
19
  {
18
20
  title: 'Sudoku',
19
- url: 'https://www.thetimes.co.uk/puzzles/sudoku',
20
- imgUrl: 'https://www.thetimes.co.uk/d/img/puzzles/new-illustrations/sudoku-ee2aea0209.png'
21
+ url: 'https://www.thetimes.com/puzzles/sudoku',
22
+ imgUrl: 'https://www.thetimes.com/d/img/puzzles/new-illustrations/sudoku-ee2aea0209.png'
21
23
  }
22
24
  ];
23
- const pageLink = 'https://www.thetimes.co.uk/puzzles';
25
+ const pageLink = 'https://www.thetimes.com/puzzles';
24
26
  return { sectionTitle, data, pageLink };
25
27
  };
26
28
  storiesOf('Typescript Component/Article Sidebar', module).add('Article Sidebar', () => {
27
29
  const props = getAttributes();
28
- return (React.createElement("div", { style: { maxWidth: '204px' } },
29
- React.createElement(ArticleSidebar, Object.assign({}, props))));
30
+ return (React.createElement(TrackingContextProvider, { context: {
31
+ component: 'ArticleSkeleton',
32
+ object: 'ArticleSidebar',
33
+ attrs: {
34
+ article_name: 'articleHeadline',
35
+ section_details: 'section'
36
+ }
37
+ }, analyticsStream: analyticsStream },
38
+ React.createElement("div", { style: { maxWidth: '204px' } },
39
+ React.createElement(ArticleSidebar, Object.assign({}, props)))));
30
40
  });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZVNpZGViYXIuc3Rvcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FydGljbGUtc2lkZWJhci9BcnRpY2xlU2lkZWJhci5zdG9yaWVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUU7SUFDekIsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0lBQy9CLE1BQU0sSUFBSSxHQUFHO1FBQ1g7WUFDRSxLQUFLLEVBQUUsV0FBVztZQUNsQixHQUFHLEVBQUUsOENBQThDO1lBQ25ELE1BQU0sRUFDSixxRkFBcUY7U0FDeEY7UUFDRDtZQUNFLEtBQUssRUFBRSxTQUFTO1lBQ2hCLEdBQUcsRUFBRSxpREFBaUQ7WUFDdEQsTUFBTSxFQUNKLG1GQUFtRjtTQUN0RjtRQUNEO1lBQ0UsS0FBSyxFQUFFLFFBQVE7WUFDZixHQUFHLEVBQUUsMkNBQTJDO1lBQ2hELE1BQU0sRUFDSixrRkFBa0Y7U0FDckY7S0FDRixDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsb0NBQW9DLENBQUM7SUFFdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDMUMsQ0FBQyxDQUFDO0FBRUYsU0FBUyxDQUFDLHNDQUFzQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FDM0QsaUJBQWlCLEVBQ2pCLEdBQUcsRUFBRTtJQUNILE1BQU0sS0FBSyxHQUFHLGFBQWEsRUFBRSxDQUFDO0lBRTlCLE9BQU8sQ0FDTCw2QkFBSyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO1FBQy9CLG9CQUFDLGNBQWMsb0JBQUssS0FBSyxFQUFJLENBQ3pCLENBQ1AsQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDIn0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZVNpZGViYXIuc3Rvcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FydGljbGUtc2lkZWJhci9BcnRpY2xlU2lkZWJhci5zdG9yaWVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLGVBQWUsTUFBTSxvREFBb0QsQ0FBQztBQUVqRixNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUU7SUFDekIsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0lBQy9CLE1BQU0sSUFBSSxHQUFHO1FBQ1g7WUFDRSxLQUFLLEVBQUUsV0FBVztZQUNsQixHQUFHLEVBQUUsNENBQTRDO1lBQ2pELE1BQU0sRUFDSixtRkFBbUY7U0FDdEY7UUFDRDtZQUNFLEtBQUssRUFBRSxTQUFTO1lBQ2hCLEdBQUcsRUFBRSwrQ0FBK0M7WUFDcEQsTUFBTSxFQUNKLGlGQUFpRjtTQUNwRjtRQUNEO1lBQ0UsS0FBSyxFQUFFLFFBQVE7WUFDZixHQUFHLEVBQUUseUNBQXlDO1lBQzlDLE1BQU0sRUFDSixnRkFBZ0Y7U0FDbkY7S0FDRixDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsa0NBQWtDLENBQUM7SUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDMUMsQ0FBQyxDQUFDO0FBRUYsU0FBUyxDQUFDLHNDQUFzQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FDM0QsaUJBQWlCLEVBQ2pCLEdBQUcsRUFBRTtJQUNILE1BQU0sS0FBSyxHQUFHLGFBQWEsRUFBRSxDQUFDO0lBRTlCLE9BQU8sQ0FDTCxvQkFBQyx1QkFBdUIsSUFDdEIsT0FBTyxFQUFFO1lBQ1AsU0FBUyxFQUFFLGlCQUFpQjtZQUM1QixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLEtBQUssRUFBRTtnQkFDTCxZQUFZLEVBQUUsaUJBQWlCO2dCQUMvQixlQUFlLEVBQUUsU0FBUzthQUMzQjtTQUNGLEVBQ0QsZUFBZSxFQUFFLGVBQWU7UUFFaEMsNkJBQUssS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtZQUMvQixvQkFBQyxjQUFjLG9CQUFLLEtBQUssRUFBSSxDQUN6QixDQUNrQixDQUMzQixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==
@@ -1,28 +1,70 @@
1
1
  import React from 'react';
2
2
  import { ArticleSidebar } from '../ArticleSidebar';
3
- import { render } from '@testing-library/react';
3
+ import { render, fireEvent } from '@testing-library/react';
4
4
  import '@testing-library/jest-dom';
5
+ import { useTrackingContext } from '../../../helpers/tracking/TrackingContextProvider';
6
+ jest.mock('../../../helpers/tracking/TrackingContextProvider', () => ({
7
+ useTrackingContext: jest.fn()
8
+ }));
9
+ const mockFireAnalyticsEvent = jest.fn();
5
10
  const defaultProps = {
6
11
  sectionTitle: 'Puzzles for you',
7
12
  data: [
8
13
  {
9
14
  title: 'Crossword',
10
- url: 'https://www.thetimes.co.uk/puzzles/crossword',
11
- imgUrl: 'https://www.thetimes.co.uk/imageserver/image/%2Fpuzzles%2Ficons%2F33b27655-dcc9-421f-906f-b2b10dd26865.png?crop=1250%2C833%2C0%2C0&resize=500'
15
+ url: 'https://www.thetimes.com/puzzles/crossword',
16
+ imgUrl: 'https://www.thetimes.com/imageserver/image/%2Fpuzzles%2Ficons%2F33b27655-dcc9-421f-906f-b2b10dd26865.png?crop=1250%2C833%2C0%2C0&resize=500'
12
17
  },
13
18
  {
14
19
  title: 'Polygon',
15
- url: 'https://www.thetimes.co.uk/puzzles/sudoku',
16
- imgUrl: 'https://www.thetimes.co.uk/imageserver/image/%2Fpuzzles%2Ficons%2F33b27655-dcc9-421f-906f-b2b10dd26865.png?crop=1250%2C833%2C0%2C0&resize=500'
20
+ url: 'https://www.thetimes.com/puzzles/sudoku',
21
+ imgUrl: 'https://www.thetimes.com/imageserver/image/%2Fpuzzles%2Ficons%2F33b27655-dcc9-421f-906f-b2b10dd26865.png?crop=1250%2C833%2C0%2C0&resize=500'
17
22
  }
18
23
  ],
19
- pageLink: 'https://www.thetimes.co.uk/puzzles'
24
+ pageLink: 'https://www.thetimes.com/puzzles'
20
25
  };
21
26
  const renderComponent = (props) => render(React.createElement(ArticleSidebar, Object.assign({}, props)));
22
27
  describe('ArticleSidebar', () => {
28
+ beforeEach(() => {
29
+ useTrackingContext.mockReturnValue({
30
+ fireAnalyticsEvent: mockFireAnalyticsEvent
31
+ });
32
+ });
33
+ afterEach(() => {
34
+ jest.clearAllMocks();
35
+ });
23
36
  it('should render ArticleSidebar component', () => {
24
37
  const { asFragment } = renderComponent(defaultProps);
25
38
  expect(asFragment()).toMatchSnapshot();
26
39
  });
40
+ it('should call fireAnalyticsEvent when header is clicked', () => {
41
+ const { container } = renderComponent(defaultProps);
42
+ fireEvent.click(container.querySelector('.trigger'));
43
+ expect(mockFireAnalyticsEvent).toHaveBeenCalledWith({
44
+ object: 'ArticleSidebar',
45
+ action: 'Clicked',
46
+ attrs: {
47
+ event_navigation_action: 'navigation',
48
+ event_navigation_name: 'puzzle sidebar: header selected',
49
+ event_navigation_browsing_method: 'click',
50
+ component_name: 'Article Sidebar'
51
+ }
52
+ });
53
+ });
54
+ it('should call fireAnalyticsEvent when a puzzle card is clicked', () => {
55
+ const { container } = renderComponent(defaultProps);
56
+ fireEvent.click(container.querySelector('.trigger-card-link'));
57
+ expect(mockFireAnalyticsEvent).toHaveBeenCalledWith({
58
+ object: 'ArticleSidebar',
59
+ action: 'Clicked',
60
+ attrs: {
61
+ event_navigation_action: 'navigation',
62
+ event_navigation_name: 'puzzle sidebar: puzzle selected',
63
+ event_navigation_browsing_method: 'click',
64
+ component_name: 'Article Sidebar',
65
+ article_parent_name: 'crossword'
66
+ }
67
+ });
68
+ });
27
69
  });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FydGljbGUtc2lkZWJhci9fX3Rlc3RzX18vaW5kZXgudGVzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxjQUFjLEVBQXVCLE1BQU0sbUJBQW1CLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hELE9BQU8sMkJBQTJCLENBQUM7QUFFbkMsTUFBTSxZQUFZLEdBQXdCO0lBQ3hDLFlBQVksRUFBRSxpQkFBaUI7SUFDL0IsSUFBSSxFQUFFO1FBQ0o7WUFDRSxLQUFLLEVBQUUsV0FBVztZQUNsQixHQUFHLEVBQUUsOENBQThDO1lBQ25ELE1BQU0sRUFDSiwrSUFBK0k7U0FDbEo7UUFDRDtZQUNFLEtBQUssRUFBRSxTQUFTO1lBQ2hCLEdBQUcsRUFBRSwyQ0FBMkM7WUFDaEQsTUFBTSxFQUNKLCtJQUErSTtTQUNsSjtLQUNGO0lBQ0QsUUFBUSxFQUFFLG9DQUFvQztDQUMvQyxDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUEwQixFQUFFLEVBQUUsQ0FDckQsTUFBTSxDQUFDLG9CQUFDLGNBQWMsb0JBQUssS0FBSyxFQUFJLENBQUMsQ0FBQztBQUV4QyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0lBQzlCLEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRSxHQUFHLEVBQUU7UUFDaEQsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyRCxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FydGljbGUtc2lkZWJhci9fX3Rlc3RzX18vaW5kZXgudGVzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxjQUFjLEVBQXVCLE1BQU0sbUJBQW1CLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRXZGLElBQUksQ0FBQyxJQUFJLENBQUMsbURBQW1ELEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNwRSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO0NBQzlCLENBQUMsQ0FBQyxDQUFDO0FBRUosTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFekMsTUFBTSxZQUFZLEdBQXdCO0lBQ3hDLFlBQVksRUFBRSxpQkFBaUI7SUFDL0IsSUFBSSxFQUFFO1FBQ0o7WUFDRSxLQUFLLEVBQUUsV0FBVztZQUNsQixHQUFHLEVBQUUsNENBQTRDO1lBQ2pELE1BQU0sRUFDSiw2SUFBNkk7U0FDaEo7UUFDRDtZQUNFLEtBQUssRUFBRSxTQUFTO1lBQ2hCLEdBQUcsRUFBRSx5Q0FBeUM7WUFDOUMsTUFBTSxFQUNKLDZJQUE2STtTQUNoSjtLQUNGO0lBQ0QsUUFBUSxFQUFFLGtDQUFrQztDQUM3QyxDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUEwQixFQUFFLEVBQUUsQ0FDckQsTUFBTSxDQUFDLG9CQUFDLGNBQWMsb0JBQUssS0FBSyxFQUFJLENBQUMsQ0FBQztBQUV4QyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0lBQzlCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDYixrQkFBZ0MsQ0FBQyxlQUFlLENBQUM7WUFDaEQsa0JBQWtCLEVBQUUsc0JBQXNCO1NBQzNDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRSxHQUFHLEVBQUU7UUFDaEQsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyRCxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx1REFBdUQsRUFBRSxHQUFHLEVBQUU7UUFDL0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRCxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFFLENBQUMsQ0FBQztRQUV0RCxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQztZQUNsRCxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLEtBQUssRUFBRTtnQkFDTCx1QkFBdUIsRUFBRSxZQUFZO2dCQUNyQyxxQkFBcUIsRUFBRSxpQ0FBaUM7Z0JBQ3hELGdDQUFnQyxFQUFFLE9BQU87Z0JBQ3pDLGNBQWMsRUFBRSxpQkFBaUI7YUFDbEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4REFBOEQsRUFBRSxHQUFHLEVBQUU7UUFDdEUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRCxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUUsQ0FBQyxDQUFDO1FBRWhFLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1lBQ2xELE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsTUFBTSxFQUFFLFNBQVM7WUFDakIsS0FBSyxFQUFFO2dCQUNMLHVCQUF1QixFQUFFLFlBQVk7Z0JBQ3JDLHFCQUFxQixFQUFFLGlDQUFpQztnQkFDeEQsZ0NBQWdDLEVBQUUsT0FBTztnQkFDekMsY0FBYyxFQUFFLGlCQUFpQjtnQkFDakMsbUJBQW1CLEVBQUUsV0FBVzthQUNqQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
@@ -0,0 +1,13 @@
1
+ declare const clickEvent: (title: string, parent?: string) => {
2
+ object: string;
3
+ action: string;
4
+ attrs: {
5
+ article_parent_name?: string | undefined;
6
+ event_navigation_action: string;
7
+ event_navigation_name: string;
8
+ event_navigation_browsing_method: string;
9
+ component_name: string;
10
+ };
11
+ };
12
+ declare const handleClick: (fireAnalyticsEvent: ((analyticsEvent: any) => void) | undefined, title: string, parent?: string | undefined) => void;
13
+ export { handleClick, clickEvent };
@@ -0,0 +1,16 @@
1
+ const clickEvent = (title, parent = '') => ({
2
+ object: 'ArticleSidebar',
3
+ action: 'Clicked',
4
+ attrs: {
5
+ event_navigation_action: 'navigation',
6
+ event_navigation_name: `${title}`,
7
+ event_navigation_browsing_method: 'click',
8
+ component_name: 'Article Sidebar',
9
+ ...(parent && { article_parent_name: parent.toLowerCase() })
10
+ }
11
+ });
12
+ const handleClick = (fireAnalyticsEvent, title, parent) => {
13
+ fireAnalyticsEvent && fireAnalyticsEvent(clickEvent(title, parent));
14
+ };
15
+ export { handleClick, clickEvent };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tpbmctaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FydGljbGUtc2lkZWJhci90cmFja2luZy1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBYSxFQUFFLFNBQWlCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMxRCxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLEtBQUssRUFBRTtRQUNMLHVCQUF1QixFQUFFLFlBQVk7UUFDckMscUJBQXFCLEVBQUUsR0FBRyxLQUFLLEVBQUU7UUFDakMsZ0NBQWdDLEVBQUUsT0FBTztRQUN6QyxjQUFjLEVBQUUsaUJBQWlCO1FBQ2pDLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztLQUM3RDtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sV0FBVyxHQUFHLENBQ2xCLGtCQUErRCxFQUMvRCxLQUFhLEVBQ2IsTUFBZSxFQUNmLEVBQUU7SUFDRixrQkFBa0IsSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDdEUsQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQyJ9
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
+ export declare type TwitterEmbedProps = {
3
+ element: any;
4
+ url: string;
5
+ };
2
6
  declare global {
3
7
  interface Window {
4
8
  __tcfapi?: (command: string, version: number, callback: (data: any, success: boolean) => void) => void;
5
9
  }
6
10
  }
7
- export declare const TwitterEmbed: React.FC<{
8
- sectionColour: string;
9
- }>;
11
+ export declare const TwitterEmbed: React.FC<TwitterEmbedProps>;
@@ -1,27 +1,100 @@
1
- import React, { useEffect } from 'react';
2
- export const TwitterEmbed = () => {
3
- // tslint:disable-next-line:no-console
4
- console.log('window', window);
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 TwitterEmbed = ({ element, url }) => {
8
+ const [allowedOnce, setAllowedOnce] = useState(false);
9
+ const [isTwitterAllowed, setIsTwitterAllowed] = useState(false);
5
10
  useEffect(() => {
6
11
  if (window.__tcfapi) {
7
12
  window.__tcfapi('getCustomVendorConsents', 2, (data, success) => {
8
- if (success) {
13
+ if (success && data && data.consentedVendors) {
14
+ const isTwitterVendorAllowed = data.consentedVendors.some((vendor) => vendor.name === 'Twitter');
15
+ setIsTwitterAllowed(isTwitterVendorAllowed);
16
+ }
17
+ else {
9
18
  // tslint:disable-next-line:no-console
10
- console.log('TCF API response:', data);
19
+ console.log('Error fetching consent data or Twitter not allowed');
20
+ }
21
+ });
22
+ }
23
+ // tslint:disable-next-line:no-console
24
+ console.log('window', window);
25
+ }, []);
26
+ let ModalType;
27
+ (function (ModalType) {
28
+ ModalType["GDPR"] = "gdpr";
29
+ ModalType["CCPA"] = "ccpa";
30
+ })(ModalType || (ModalType = {}));
31
+ const openPrivacyModal = (type, messageId) => {
32
+ const loadModal = get(window, `_sp_.${type}.loadPrivacyManagerModal`);
33
+ if (loadModal) {
34
+ loadModal(messageId);
35
+ }
36
+ else {
37
+ // tslint:disable-next-line:no-console
38
+ console.warn('Sourcepoint LoadPrivacyManagerModal is not available');
39
+ }
40
+ };
41
+ const allowCookiesOnce = () => {
42
+ setAllowedOnce(true);
43
+ setIsTwitterAllowed(true);
44
+ };
45
+ const handlePrivacyManagerClick = (e) => {
46
+ e.preventDefault();
47
+ openPrivacyModal(ModalType.GDPR, window.__TIMES_CONFIG__.sourcepoint.gdprMessageId);
48
+ };
49
+ const socialMediaVendors = {
50
+ twitter: { id: '5fab0c31a22863611c5f8764', status: 'pending' }
51
+ };
52
+ const enableCookies = () => {
53
+ const onCustomConsent = (data, success) => {
54
+ if (success) {
55
+ // tslint:disable-next-line:no-console
56
+ console.log('Consent successfully updated', data);
57
+ setIsTwitterAllowed(true);
58
+ }
59
+ else {
60
+ // tslint:disable-next-line:no-console
61
+ console.error('Failed to set consent for Twitter.', data);
62
+ }
63
+ };
64
+ const twitterVendorId = socialMediaVendors.twitter.id;
65
+ if (window.__tcfapi && twitterVendorId) {
66
+ window.__tcfapi('getCustomVendorConsents', 2, (data, successful) => {
67
+ if (successful && data && data.grants[twitterVendorId]) {
68
+ // const purposeGrants = Object.keys(data.grants[twitterVendorId].purposeGrants).join(',');
69
+ window.__tcfapi('postCustomConsent', 2, onCustomConsent, twitterVendorId, Object.keys(data.grants[twitterVendorId].purposeGrants), '');
11
70
  }
12
71
  else {
13
72
  // tslint:disable-next-line:no-console
14
- console.log('Error fetching TCF API data');
73
+ console.error('Twitter vendor consent not available:', data);
15
74
  }
16
75
  });
17
76
  }
18
77
  else {
19
78
  // tslint:disable-next-line:no-console
20
- console.log('TCF API not available');
79
+ console.error('TCF API is not available or Twitter vendor ID is missing.');
21
80
  }
22
- }, []);
81
+ };
82
+ // tslint:disable-next-line:no-console
83
+ console.log('allowedOnce', allowedOnce);
84
+ // tslint:disable-next-line:no-console
85
+ console.log('allowedOnce || isTwitterAllowed', allowedOnce || isTwitterAllowed);
23
86
  // tslint:disable-next-line:no-console
24
- console.log('window.__tcfapi', window.__tcfapi);
25
- return React.createElement("h1", null, "Test");
87
+ console.log('allowedOnce && isTwitterAllowed', allowedOnce && isTwitterAllowed);
88
+ return isTwitterAllowed ? (React.createElement(InteractiveWrapper, { attributes: element.attributes, element: element.value, key: element.key, source: url })) : (React.createElement(CardContainer, null,
89
+ React.createElement(Header, null,
90
+ React.createElement(CustomIconContainer, null,
91
+ React.createElement(InfoIcon, null)),
92
+ React.createElement(Title, null, "X (Twitter) content blocked")),
93
+ React.createElement(Paragraph, null,
94
+ "Please enable cookies and other technologies to view this content. You can update your cookies preferences any time using",
95
+ ' ',
96
+ React.createElement(LinkPrivacyManager, { href: "#", onClick: handlePrivacyManagerClick }, "privacy manager.")),
97
+ React.createElement(EnableButton, { onClick: enableCookies }, "Enable cookies"),
98
+ React.createElement(AllowButton, { onClick: allowCookiesOnce }, "Allow cookies once")));
26
99
  };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHdpdHRlckVtYmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdHdpdHRlci1lbWJlZC9Ud2l0dGVyRW1iZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBWXpDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FFcEIsR0FBRyxFQUFFO0lBQ1Isc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRTlCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDbkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQzlELElBQUksT0FBTyxFQUFFO29CQUNYLHNDQUFzQztvQkFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDeEM7cUJBQU07b0JBQ0wsc0NBQXNDO29CQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7aUJBQzVDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsc0NBQXNDO1lBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLHNDQUFzQztJQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVoRCxPQUFPLHVDQUFhLENBQUM7QUFDdkIsQ0FBQyxDQUFDIn0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHdpdHRlckVtYmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdHdpdHRlci1lbWJlZC9Ud2l0dGVyRW1iZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNuRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsbUJBQW1CLEVBQ25CLE1BQU0sRUFDUCxNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFDN0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELGFBQWE7QUFDYixPQUFPLGtCQUFrQixNQUFNLHVDQUF1QyxDQUFDO0FBaUJ2RSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWdDLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRTtJQUM1RSxNQUFNLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFaEUsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNuQixNQUFNLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtnQkFDOUQsSUFBSSxPQUFPLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDNUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUN2RCxDQUFD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