@times-components/ts-components 1.20.0 → 1.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/README.md +1 -1
- package/dist/components/article-flag/ArticleFlag.d.ts +17 -6
- package/dist/components/article-flag/ArticleFlag.js +28 -20
- package/dist/components/article-flag/ArticleFlag.stories.js +21 -3
- package/dist/components/article-flag/LiveArticleFlag.js +13 -6
- package/dist/components/article-flag/__tests__/ArticleFlag.test.js +35 -1
- package/dist/components/article-flag/styles.d.ts +1 -0
- package/dist/components/article-flag/styles.js +6 -1
- package/dist/components/in-article-puff/InArticlePuff.d.ts +1 -1
- package/dist/components/in-article-puff/InArticlePuff.js +6 -6
- package/dist/components/in-article-puff/InArticlePuff.stories.js +3 -3
- package/dist/components/updated-timestamp/UpdatedTimestamp.d.ts +4 -0
- package/dist/components/updated-timestamp/UpdatedTimestamp.js +21 -0
- package/dist/components/updated-timestamp/UpdatedTimestamp.stories.d.ts +1 -0
- package/dist/components/updated-timestamp/UpdatedTimestamp.stories.js +13 -0
- package/dist/components/updated-timestamp/__tests__/UpdatedTimestamp.test.d.ts +1 -0
- package/dist/components/updated-timestamp/__tests__/UpdatedTimestamp.test.js +34 -0
- package/dist/components/updated-timestamp/styles.d.ts +2 -0
- package/dist/components/updated-timestamp/styles.js +14 -0
- package/dist/helpers/time/UpdatedTimeProvider.d.ts +5 -0
- package/dist/helpers/time/UpdatedTimeProvider.js +9 -0
- package/dist/helpers/time/__tests__/UpdatedTimeProvider.test.d.ts +1 -0
- package/dist/helpers/time/__tests__/UpdatedTimeProvider.test.js +17 -0
- package/dist/helpers/tracking/TrackingContextProvider.js +9 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -1
- package/package.json +6 -5
- package/rnw.js +1 -1
- package/src/components/article-flag/ArticleFlag.stories.tsx +28 -2
- package/src/components/article-flag/ArticleFlag.tsx +39 -31
- package/src/components/article-flag/LiveArticleFlag.tsx +19 -9
- package/src/components/article-flag/__tests__/ArticleFlag.test.tsx +56 -0
- package/src/components/article-flag/__tests__/__snapshots__/ArticleFlag.test.tsx.snap +273 -47
- package/src/components/article-flag/__tests__/__snapshots__/LiveArticleFlag.test.tsx.snap +39 -27
- package/src/components/article-flag/styles.ts +6 -0
- package/src/components/article-header/__tests__/__snapshots__/ArticleHeader.test.tsx.snap +13 -9
- package/src/components/in-article-puff/InArticlePuff.stories.tsx +2 -2
- package/src/components/in-article-puff/InArticlePuff.tsx +6 -6
- package/src/components/updated-timestamp/UpdatedTimestamp.stories.tsx +18 -0
- package/src/components/updated-timestamp/UpdatedTimestamp.tsx +38 -0
- package/src/components/updated-timestamp/__tests__/UpdatedTimestamp.test.tsx +50 -0
- package/src/components/updated-timestamp/__tests__/__snapshots__/UpdatedTimestamp.test.tsx.snap +11 -0
- package/src/components/updated-timestamp/styles.ts +15 -0
- package/src/helpers/time/UpdatedTimeProvider.tsx +17 -0
- package/src/helpers/time/__tests__/UpdatedTimeProvider.test.tsx +23 -0
- package/src/helpers/tracking/TrackingContextProvider.tsx +10 -0
- package/src/index.ts +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,36 @@
|
|
|
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.22.1](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.22.0...@times-components/ts-components@1.22.1) (2022-03-09)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @times-components/ts-components
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [1.22.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.21.0...@times-components/ts-components@1.22.0) (2022-03-02)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* **TDP-1247:** Last updated timestamp ([#2864](https://github.com/newsuk/times-components/issues/2864)) ([57355b6](https://github.com/newsuk/times-components/commit/57355b6a2a067ca098e63802f018e69e78ac186e))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [1.21.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.20.0...@times-components/ts-components@1.21.0) (2022-03-01)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* **TDP-1465:** updated flags to allow for override colours in articl… ([#2865](https://github.com/newsuk/times-components/issues/2865)) ([12ce03c](https://github.com/newsuk/times-components/commit/12ce03ca3c9dab71df37ebb507c4a2bc0cdab515))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
6
36
|
# [1.20.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.19.4...@times-components/ts-components@1.20.0) (2022-02-28)
|
|
7
37
|
|
|
8
38
|
|
package/README.md
CHANGED
|
@@ -20,5 +20,5 @@ All the build steps have been updated to handle all the build steps:
|
|
|
20
20
|
|
|
21
21
|
## Storybook
|
|
22
22
|
|
|
23
|
-
For now, you will need to do a `yarn build` for storybook to update
|
|
23
|
+
For now, you will need to do a `yarn build` for storybook to update, or you could run `yarn watch:build` to update storybook on save
|
|
24
24
|
|
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import getActiveFlags from './getActiveFlags';
|
|
3
3
|
declare const ArticleFlag: React.FC<{
|
|
4
|
-
color
|
|
4
|
+
color?: string;
|
|
5
5
|
title: string;
|
|
6
6
|
}>;
|
|
7
|
-
declare const NewArticleFlag: React.FC
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
declare const
|
|
11
|
-
|
|
7
|
+
declare const NewArticleFlag: React.FC<{
|
|
8
|
+
color?: string;
|
|
9
|
+
}>;
|
|
10
|
+
declare const UpdatedArticleFlag: React.FC<{
|
|
11
|
+
color?: string;
|
|
12
|
+
}>;
|
|
13
|
+
declare const ExclusiveArticleFlag: React.FC<{
|
|
14
|
+
color?: string;
|
|
15
|
+
}>;
|
|
16
|
+
declare const SponsoredArticleFlag: React.FC<{
|
|
17
|
+
color?: string;
|
|
18
|
+
}>;
|
|
19
|
+
declare const LongReadArticleFlag: React.FC<{
|
|
20
|
+
color?: string;
|
|
21
|
+
}>;
|
|
12
22
|
export declare type FlagType = Array<{
|
|
13
23
|
expiryTime: string | null;
|
|
14
24
|
type: string;
|
|
@@ -17,6 +27,7 @@ declare const ArticleFlags: React.FC<{
|
|
|
17
27
|
flags: FlagType;
|
|
18
28
|
longRead: boolean;
|
|
19
29
|
withContainer: boolean;
|
|
30
|
+
color?: string;
|
|
20
31
|
}>;
|
|
21
32
|
export default ArticleFlag;
|
|
22
33
|
export { getActiveFlags, ArticleFlag, ArticleFlags, NewArticleFlag, UpdatedArticleFlag, ExclusiveArticleFlag, SponsoredArticleFlag, LongReadArticleFlag };
|
|
@@ -6,24 +6,32 @@ import getActiveFlags from './getActiveFlags';
|
|
|
6
6
|
const ArticleFlag = ({ color = colours.functional.primary, title }) => (React.createElement(ArticleFlagContainer, null,
|
|
7
7
|
React.createElement(ArticleFlagBullet, { color: color }),
|
|
8
8
|
React.createElement(ArticleFlagTextContainer, { "aria-label": `${title} Flag`, color: color, "data-testid": `flag-${title}` }, title.toLowerCase())));
|
|
9
|
-
const NewArticleFlag = () =>
|
|
10
|
-
const UpdatedArticleFlag = () =>
|
|
11
|
-
const ExclusiveArticleFlag = () =>
|
|
12
|
-
const SponsoredArticleFlag = () =>
|
|
13
|
-
const LongReadArticleFlag = () =>
|
|
14
|
-
const flagsMapping = () =>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
]
|
|
23
|
-
|
|
24
|
-
|
|
9
|
+
const NewArticleFlag = ({ color = colours.functional.articleFlagNew }) => React.createElement(ArticleFlag, { color: color, title: "new" });
|
|
10
|
+
const UpdatedArticleFlag = ({ color = colours.functional.articleFlagUpdated }) => React.createElement(ArticleFlag, { color: color, title: "updated" });
|
|
11
|
+
const ExclusiveArticleFlag = ({ color = colours.functional.articleFlagExclusive }) => React.createElement(ArticleFlag, { color: color, title: "exclusive" });
|
|
12
|
+
const SponsoredArticleFlag = ({ color = colours.functional.tertiary }) => React.createElement(ArticleFlag, { color: color, title: "sponsored" });
|
|
13
|
+
const LongReadArticleFlag = ({ color = colours.functional.secondary }) => React.createElement(ArticleFlag, { color: color, title: "long read" });
|
|
14
|
+
const flagsMapping = (override = '') => {
|
|
15
|
+
let colourProp;
|
|
16
|
+
if (override !== '') {
|
|
17
|
+
colourProp = {
|
|
18
|
+
color: override
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return new Map([
|
|
22
|
+
['NEW', React.createElement(NewArticleFlag, Object.assign({}, colourProp))],
|
|
23
|
+
['LIVE', React.createElement(LiveArticleFlag, null)],
|
|
24
|
+
['BREAKING', React.createElement(BreakingArticleFlag, null)],
|
|
25
|
+
['UPDATED', React.createElement(UpdatedArticleFlag, Object.assign({}, colourProp))],
|
|
26
|
+
['EXCLUSIVE', React.createElement(ExclusiveArticleFlag, Object.assign({}, colourProp))],
|
|
27
|
+
['SPONSORED', React.createElement(SponsoredArticleFlag, Object.assign({}, colourProp))],
|
|
28
|
+
['LONGREAD', React.createElement(LongReadArticleFlag, Object.assign({}, colourProp))]
|
|
29
|
+
]);
|
|
30
|
+
};
|
|
31
|
+
const FlagsView = ({ allFlags, overrideColor = '' }) => {
|
|
32
|
+
return (React.createElement(Flags, null, allFlags.map(flag => (React.createElement(FlagPadding, { key: flag.type, allFlags: allFlags }, flagsMapping(overrideColor).get(flag.type))))));
|
|
25
33
|
};
|
|
26
|
-
const ArticleFlags = ({ flags = [], longRead = false, withContainer = false }) => {
|
|
34
|
+
const ArticleFlags = ({ flags = [], longRead = false, withContainer = false, color = '' }) => {
|
|
27
35
|
const activeFlags = getActiveFlags(flags);
|
|
28
36
|
const allFlags = [
|
|
29
37
|
...activeFlags,
|
|
@@ -33,11 +41,11 @@ const ArticleFlags = ({ flags = [], longRead = false, withContainer = false }) =
|
|
|
33
41
|
return null;
|
|
34
42
|
}
|
|
35
43
|
if (!withContainer) {
|
|
36
|
-
return React.createElement(FlagsView, { allFlags: allFlags });
|
|
44
|
+
return React.createElement(FlagsView, { allFlags: allFlags, overrideColor: color });
|
|
37
45
|
}
|
|
38
46
|
return (React.createElement(FlagsContainer, null,
|
|
39
|
-
React.createElement(FlagsView, { allFlags: allFlags })));
|
|
47
|
+
React.createElement(FlagsView, { allFlags: allFlags, overrideColor: color })));
|
|
40
48
|
};
|
|
41
49
|
export default ArticleFlag;
|
|
42
50
|
export { getActiveFlags, ArticleFlag, ArticleFlags, NewArticleFlag, UpdatedArticleFlag, ExclusiveArticleFlag, SponsoredArticleFlag, LongReadArticleFlag };
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZUZsYWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcnRpY2xlLWZsYWcvQXJ0aWNsZUZsYWcudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixXQUFXLEVBQ1gsS0FBSyxFQUNMLGNBQWMsRUFDZixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxNQUFNLFdBQVcsR0FBZ0QsQ0FBQyxFQUNoRSxLQUFLLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQ2xDLEtBQUssRUFDTixFQUFFLEVBQUUsQ0FBQyxDQUNKLG9CQUFDLG9CQUFvQjtJQUNuQixvQkFBQyxpQkFBaUIsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJO0lBQ25DLG9CQUFDLHdCQUF3QixrQkFDWCxHQUFHLEtBQUssT0FBTyxFQUMzQixLQUFLLEVBQUUsS0FBSyxpQkFDQyxRQUFRLEtBQUssRUFBRSxJQUUzQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQ0ssQ0FDTixDQUN4QixDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQWlDLENBQUMsRUFDcEQsS0FBSyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUMxQyxFQUFFLEVBQUUsQ0FBQyxvQkFBQyxXQUFXLElBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsS0FBSyxHQUFHLENBQUM7QUFFaEQsTUFBTSxrQkFBa0IsR0FBaUMsQ0FBQyxFQUN4RCxLQUFLLEdBQUcsT0FBTyxDQUFDLFVB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
|
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { storiesOf } from '@storybook/react';
|
|
3
|
+
import { date } from '@storybook/addon-knobs';
|
|
3
4
|
import { NewArticleFlag, UpdatedArticleFlag, ExclusiveArticleFlag, SponsoredArticleFlag, LongReadArticleFlag, ArticleFlags } from './ArticleFlag';
|
|
4
5
|
import { LiveArticleFlag, BreakingArticleFlag } from './LiveArticleFlag';
|
|
6
|
+
import { UpdatedTimeProvider } from '../../helpers/time/UpdatedTimeProvider';
|
|
5
7
|
storiesOf('Typescript Component/Article Flag', module)
|
|
6
8
|
.add('Article Flag (New)', () => React.createElement(NewArticleFlag, null))
|
|
7
|
-
.add('Article Flag (Live)', () =>
|
|
8
|
-
|
|
9
|
+
.add('Article Flag (Live)', () => {
|
|
10
|
+
const label = 'Updated Date/Time';
|
|
11
|
+
const defaultValue = new Date();
|
|
12
|
+
const groupId = 'Options';
|
|
13
|
+
const value = date(label, defaultValue, groupId);
|
|
14
|
+
const updated = new Date(value).toISOString();
|
|
15
|
+
return (React.createElement(UpdatedTimeProvider, { updatedTime: updated },
|
|
16
|
+
React.createElement(LiveArticleFlag, null)));
|
|
17
|
+
})
|
|
18
|
+
.add('Article Flag (Breaking)', () => {
|
|
19
|
+
const label = 'Updated Date/Time';
|
|
20
|
+
const defaultValue = new Date();
|
|
21
|
+
const groupId = 'Options';
|
|
22
|
+
const value = date(label, defaultValue, groupId);
|
|
23
|
+
const updated = new Date(value).toISOString();
|
|
24
|
+
return (React.createElement(UpdatedTimeProvider, { updatedTime: updated },
|
|
25
|
+
React.createElement(BreakingArticleFlag, null)));
|
|
26
|
+
})
|
|
9
27
|
.add('Article Flag (Updated)', () => React.createElement(UpdatedArticleFlag, null))
|
|
10
28
|
.add('Article Flag (Exclusive)', () => React.createElement(ExclusiveArticleFlag, null))
|
|
11
29
|
.add('Article Flag (Sponsored)', () => React.createElement(SponsoredArticleFlag, null))
|
|
@@ -26,4 +44,4 @@ storiesOf('Typescript Component/Article Flag', module)
|
|
|
26
44
|
{ expiryTime: '2030-03-14T12:00:00.000Z', type: 'NEW' },
|
|
27
45
|
{ expiryTime: '2030-03-14T12:00:00.000Z', type: 'SPONSORED' }
|
|
28
46
|
], longRead: true, withContainer: true })));
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZUZsYWcuc3Rvcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FydGljbGUtZmxhZy9BcnRpY2xlRmxhZy5zdG9yaWVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5QyxPQUFPLEVBQ0wsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTdFLFNBQVMsQ0FBQyxtQ0FBbUMsRUFBRSxNQUFNLENBQUM7S0FDbkQsR0FBRyxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxDQUFDLG9CQUFDLGNBQWMsT0FBRyxDQUFDO0tBQ25ELEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7SUFDL0IsTUFBTSxLQUFLLEdBQUcsbUJBQW1CLENBQUM7SUFDbEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNoQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7SUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFOUMsT0FBTyxDQUNMLG9CQUFDLG1CQUFtQixJQUFDLFdBQVcsRUFBRSxP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
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { LiveArticleFlagContainer, LiveIconContainer, LiveArticleFlagText } from './styles';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { LiveArticleFlagContainer, LiveIconContainer, LiveArticleFlagText, LiveFlagAndTimestampContainer } from './styles';
|
|
3
|
+
import { UpdatedTimestamp } from '../updated-timestamp/UpdatedTimestamp';
|
|
4
|
+
import { useUpdatedTime } from '../../helpers/time/UpdatedTimeProvider';
|
|
5
|
+
export const BaseLiveArticleFlag = ({ title }) => {
|
|
6
|
+
const updatedTime = useUpdatedTime();
|
|
7
|
+
return (React.createElement(LiveFlagAndTimestampContainer, null,
|
|
8
|
+
React.createElement(LiveArticleFlagContainer, null,
|
|
9
|
+
React.createElement(LiveIconContainer, null, '\u25a0'),
|
|
10
|
+
React.createElement("div", null,
|
|
11
|
+
React.createElement(LiveArticleFlagText, null, title))),
|
|
12
|
+
React.createElement(UpdatedTimestamp, { updatedTime: updatedTime })));
|
|
13
|
+
};
|
|
7
14
|
export const LiveArticleFlag = () => (React.createElement(BaseLiveArticleFlag, { title: "LIVE" }));
|
|
8
15
|
export const BreakingArticleFlag = () => (React.createElement(BaseLiveArticleFlag, { title: "BREAKING" }));
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGl2ZUFydGljbGVGbGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXJ0aWNsZS1mbGFnL0xpdmVBcnRpY2xlRmxhZy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQiw2QkFBNkIsRUFDOUIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXhFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFnQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtJQUM1RSxNQUFNLFdBQVcsR0FBRyxjQUFjLEVBQUUsQ0FBQztJQUVyQyxPQUFPLENBQ0wsb0JBQUMsNkJBQTZCO1FBQzVCLG9CQUFDLHdCQUF3QjtZQUN2QixvQkFBQyxpQkFBaUIsUUFBRSxRQUFRLENBQXFCO1lBQ2pEO2dCQUNFLG9CQUFDLG1CQUFtQixRQUFFLEtBQUssQ0FBdUIsQ0FDOUMsQ0FDbUI7UUFDM0Isb0JBQUMsZ0JBQWdCLElBQUMsV0FBVyxFQUFFLFdBQVcsR0FBSSxDQUNoQixDQUNqQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFhLEdBQUcsRUFBRSxDQUFDLENBQzdDLG9CQUFDLG1CQUFtQixJQUFDLEtBQUssRUFBQyxNQUFNLEdBQUcsQ0FDckMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFhLEdBQUcsRUFBRSxDQUFDLENBQ2pELG9CQUFDLG1CQUFtQixJQUFDLEtBQUssRUFBQyxVQUFVLEdBQUcsQ0FDekMsQ0FBQyJ9
|
|
@@ -49,6 +49,31 @@ describe('ArticleFlag', () => {
|
|
|
49
49
|
expect(getByText('long read')).toBeTruthy();
|
|
50
50
|
expect(baseElement).toMatchSnapshot();
|
|
51
51
|
});
|
|
52
|
+
it('renders the new article flag with an override colour', () => {
|
|
53
|
+
const { baseElement, getByText } = render(React.createElement(NewArticleFlag, { color: "#FFFFFF" }));
|
|
54
|
+
expect(getByText('new')).toBeTruthy();
|
|
55
|
+
expect(baseElement).toMatchSnapshot();
|
|
56
|
+
});
|
|
57
|
+
it('renders the updated article flag with an override colour', () => {
|
|
58
|
+
const { baseElement, getByText } = render(React.createElement(UpdatedArticleFlag, { color: "#FFFFFF" }));
|
|
59
|
+
expect(getByText('updated')).toBeTruthy();
|
|
60
|
+
expect(baseElement).toMatchSnapshot();
|
|
61
|
+
});
|
|
62
|
+
it('renders the exclusive article flag with an override colour', () => {
|
|
63
|
+
const { baseElement, getByText } = render(React.createElement(ExclusiveArticleFlag, { color: "#FFFFFF" }));
|
|
64
|
+
expect(getByText('exclusive')).toBeTruthy();
|
|
65
|
+
expect(baseElement).toMatchSnapshot();
|
|
66
|
+
});
|
|
67
|
+
it('renders the sponsored article flag with an override colour', () => {
|
|
68
|
+
const { baseElement, getByText } = render(React.createElement(SponsoredArticleFlag, { color: "#FFFFFF" }));
|
|
69
|
+
expect(getByText('sponsored')).toBeTruthy();
|
|
70
|
+
expect(baseElement).toMatchSnapshot();
|
|
71
|
+
});
|
|
72
|
+
it('renders the long read article flag with an override colour', () => {
|
|
73
|
+
const { baseElement, getByText } = render(React.createElement(LongReadArticleFlag, { color: "#FFFFFF" }));
|
|
74
|
+
expect(getByText('long read')).toBeTruthy();
|
|
75
|
+
expect(baseElement).toMatchSnapshot();
|
|
76
|
+
});
|
|
52
77
|
it('renders multiple article flags', () => {
|
|
53
78
|
const { baseElement } = render(React.createElement(ArticleFlags, { flags: [
|
|
54
79
|
{ expiryTime: '2030-03-13T12:00:00.000Z', type: 'UPDATED' },
|
|
@@ -58,6 +83,15 @@ describe('ArticleFlag', () => {
|
|
|
58
83
|
], longRead: true, withContainer: false }));
|
|
59
84
|
expect(baseElement).toMatchSnapshot();
|
|
60
85
|
});
|
|
86
|
+
it('renders multiple article flags with override colours', () => {
|
|
87
|
+
const { baseElement } = render(React.createElement(ArticleFlags, { flags: [
|
|
88
|
+
{ expiryTime: '2030-03-13T12:00:00.000Z', type: 'UPDATED' },
|
|
89
|
+
{ expiryTime: '2030-03-14T12:00:00.000Z', type: 'EXCLUSIVE' },
|
|
90
|
+
{ expiryTime: '2030-03-14T12:00:00.000Z', type: 'NEW' },
|
|
91
|
+
{ expiryTime: '2030-03-14T12:00:00.000Z', type: 'SPONSORED' }
|
|
92
|
+
], longRead: true, withContainer: false, color: "#FFFFFF" }));
|
|
93
|
+
expect(baseElement).toMatchSnapshot();
|
|
94
|
+
});
|
|
61
95
|
it('renders multiple article flags in a container', () => {
|
|
62
96
|
const { baseElement } = render(React.createElement(ArticleFlags, { flags: [
|
|
63
97
|
{ expiryTime: '2030-03-13T12:00:00.000Z', type: 'UPDATED' },
|
|
@@ -72,4 +106,4 @@ describe('ArticleFlag', () => {
|
|
|
72
106
|
expect(baseElement).toMatchSnapshot();
|
|
73
107
|
});
|
|
74
108
|
});
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZUZsYWcudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FydGljbGUtZmxhZy9fX3Rlc3RzX18vQXJ0aWNsZUZsYWcudGVzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFFaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELFVBQVUsRUFBRSxJQUFJO0lBQ2hCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQ0FBaUMsQ0FBQztJQUN4RCxlQUFlLEVBQUUsaUJBQWlCO0NBQ25DLENBQUMsQ0FBQyxDQUFDO0FBRUosUUFBUSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7SUFDM0IseUNBQXlDO0lBQ3pDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlCLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztJQUNILEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUU7UUFDakMsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FDNUIsb0JBQUMsV0FBVyxJQUFDLEtBQUssRUFBQyxXQUFXLEVBQUMs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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FlagType } from './ArticleFlag';
|
|
2
2
|
export declare const ArticleFlagContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
3
|
+
export declare const LiveFlagAndTimestampContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
3
4
|
export declare const LiveArticleFlagContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
4
5
|
export declare const ArticleFlagBullet: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
5
6
|
export declare const LiveIconContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
@@ -6,6 +6,11 @@ export const ArticleFlagContainer = styled.div `
|
|
|
6
6
|
align-items: center;
|
|
7
7
|
flex-direction: row;
|
|
8
8
|
`;
|
|
9
|
+
export const LiveFlagAndTimestampContainer = styled.div `
|
|
10
|
+
display: flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
flex-direction: row;
|
|
13
|
+
`;
|
|
9
14
|
export const LiveArticleFlagContainer = styled.div `
|
|
10
15
|
display: flex;
|
|
11
16
|
padding: 2px 6px;
|
|
@@ -53,4 +58,4 @@ export const FlagsContainer = styled.div `
|
|
|
53
58
|
margin-bottom: 15px;
|
|
54
59
|
margin-top: 5px;
|
|
55
60
|
`;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXJ0aWNsZS1mbGFnL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUE7Ozs7Q0FJN0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUE7Ozs7Q0FJdEQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUE7Ozs7O0NBS2pELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFBOzs7O3NCQUlyQixDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLO0NBQ2xFLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFBOzs7O0NBSTFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFBOzs7Ozs7O1dBT3ZDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUs7Q0FDdkQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUE7aUJBQzdCLEtBQUssQ0FBQyxVQUFVOzs7Ozs7Q0FNaEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUF3QjtrQkFDM0MsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNyRSxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUE7Ozs7O0NBSzlCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQTs7O0NBR3ZDLENBQUMifQ==
|
|
@@ -13,18 +13,18 @@ const scrollEvent = {
|
|
|
13
13
|
event_navigation_browsing_method: 'scroll'
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
|
-
const clickEvent = (buttonLabel,
|
|
16
|
+
const clickEvent = (buttonLabel, isLiveOrBreaking) => ({
|
|
17
17
|
action: 'Clicked',
|
|
18
18
|
attrs: {
|
|
19
19
|
event_navigation_name: `button : ${buttonLabel}`,
|
|
20
20
|
event_navigation_browsing_method: 'click',
|
|
21
|
-
other_details:
|
|
21
|
+
other_details: isLiveOrBreaking
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
export const InArticlePuff = ({ sectionColour, forceImageAspectRatio,
|
|
24
|
+
export const InArticlePuff = ({ sectionColour, forceImageAspectRatio, isLiveOrBreaking }) => {
|
|
25
25
|
const handleClick = (fireAnalyticsEvent, buttonLabel) => {
|
|
26
26
|
fireAnalyticsEvent &&
|
|
27
|
-
fireAnalyticsEvent(clickEvent(buttonLabel,
|
|
27
|
+
fireAnalyticsEvent(clickEvent(buttonLabel, isLiveOrBreaking));
|
|
28
28
|
};
|
|
29
29
|
const { loading, error, data } = useFetch();
|
|
30
30
|
if (loading) {
|
|
@@ -42,7 +42,7 @@ export const InArticlePuff = ({ sectionColour, forceImageAspectRatio, isLiveOrBr
|
|
|
42
42
|
component_type: 'in-article component : puff : interactive',
|
|
43
43
|
event_navigation_action: 'navigation',
|
|
44
44
|
component_name: `${headline}`,
|
|
45
|
-
other_details:
|
|
45
|
+
other_details: isLiveOrBreaking
|
|
46
46
|
}
|
|
47
47
|
}, scrolledEvent: scrollEvent }, ({ fireAnalyticsEvent, intersectObserverRef }) => (React.createElement(Container, { ref: intersectObserverRef, sectionColour: sectionColour },
|
|
48
48
|
image ? (React.createElement(ImageContainer, null,
|
|
@@ -59,4 +59,4 @@ export const InArticlePuff = ({ sectionColour, forceImageAspectRatio, isLiveOrBr
|
|
|
59
59
|
} }))),
|
|
60
60
|
React.createElement(InArticleLink, { link: link, linkText: linkText || 'Read more', onClick: () => handleClick(fireAnalyticsEvent, linkText || 'Read more') }))))));
|
|
61
61
|
};
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5BcnRpY2xlUHVmZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2luLWFydGljbGUtcHVmZi9JbkFydGljbGVQdWZmLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXRELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3hCLE1BQU0sZ0RBQWdELENBQUM7QUFFeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNMLE1BQU0sVUFBVSxDQUFDO0FBZWxCLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLEtBQUssRUFBRTtRQUNMLHFCQUFxQixFQUFFLHVDQUF1QztRQUM5RCxnQ0FBZ0MsRUFBRSxRQUFRO0tBQzNDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHLENBQUMsV0FBbUIsRUFBRSxnQkFBeUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RSxNQUFNLEVBQUUsU0FBUztJQUNqQixLQUFLLEVBQUU7UUFDTCxxQkFBcUIsRUFBRSxZQUFZLFdBQVcsRUFBRTtRQUNoRCxnQ0FBZ0MsRUFBRSxPQUFPO1FBQ3pDLGFBQWEsRUFBRSxnQkFBZ0I7S0FDaEM7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxh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
|
|
@@ -18,7 +18,7 @@ storiesOf('Typescript Component/In Article/In Article Puff', module)
|
|
|
18
18
|
.add('Image', () => (React.createElement(FetchProvider, { previewData: previewData[41548] },
|
|
19
19
|
React.createElement(InArticlePuff, { sectionColour: "#13354e" }))))
|
|
20
20
|
.add('Image 3:2', () => (React.createElement(FetchProvider, { previewData: previewData[41548] },
|
|
21
|
-
React.createElement(InArticlePuff, { sectionColour: "#13354e", forceImageAspectRatio: "3:2",
|
|
21
|
+
React.createElement(InArticlePuff, { sectionColour: "#13354e", forceImageAspectRatio: "3:2", isLiveOrBreaking: "breaking" }))))
|
|
22
22
|
.add('No Image', () => (React.createElement(FetchProvider, { previewData: previewData[41547] },
|
|
23
|
-
React.createElement(InArticlePuff, { sectionColour: "#184e13",
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
React.createElement(InArticlePuff, { sectionColour: "#184e13", isLiveOrBreaking: "live" }))));
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5BcnRpY2xlUHVmZi5zdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvaW4tYXJ0aWNsZS1wdWZmL0luQXJ0aWNsZVB1ZmYuc3Rvcmllcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV6RixPQUFPLFdBQVcsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RSxPQUFPLGVBQWUsTUFBTSxvREFBb0QsQ0FBQztBQUVqRixTQUFTLENBQUMsaURBQWlELEVBQUUsTUFBTSxDQUFDO0tBQ2pFLFlBQVksQ0FBQyxDQUFDLE9BQThCLEVBQUUsRUFBRSxDQUFDLENBQ2hELG9CQUFDLHVCQUF1QixJQUN0QixPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsaUJBQWlCO1FBQzVCLEtBQUssRUFBRTtZQUNMLFlBQVksRUFBRSxpQkFBaUI7WUFDL0IsZUFBZSxFQUFFLFNBQVM7U0FDM0I7S0FDRixFQUNELGVBQWUsRUFBRSxlQUFlO0lBRWhDLG9CQUFDLGNBQWMsUUFBRSxPQUFPLEVBQUUsQ0FBa0IsQ0FDcEIsQ0FDM0IsQ0FBQztLQUNELEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FDbEIsb0JBQUMsYUFBYSxJQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQzVDLG9CQUFDLGFBQWEsSUFBQyxhQUFhLEVBQUMsU0FBUyxHQUFHLENBQzNCLENBQ2pCLENBQUM7S0FDRCxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQ3RCLG9CQUFDLGFBQWEsSUFBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUM1QyxvQkFBQyxhQUFhLElBQ1osYUFBYSxFQUFDLFNBQVMsRUFDdkIscUJBQXFCLEVBQUMsS0FBSyxFQUMzQixnQkFBZ0IsRUFBQyxVQUFVLEdBQzNCLENBQ1ksQ0FDakIsQ0FBQztLQUNELEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FDckIsb0JBQUMsYUFBYSxJQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQzVDLG9CQUFDLGFBQWEsSUFBQyxhQUFhLEVBQUMsU0FBUyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sR0FBRyxDQUNuRCxDQUNqQixDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { differenceInSeconds, format, formatDistanceStrict } from 'date-fns';
|
|
3
|
+
import { Container, TimeSinceUpdate } from './styles';
|
|
4
|
+
export const UpdatedTimestamp = ({ updatedTime }) => {
|
|
5
|
+
if (!updatedTime) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const currentDateTime = new Date();
|
|
9
|
+
const updatedDate = new Date(updatedTime);
|
|
10
|
+
const timeSincePublishing = formatDistanceStrict(updatedDate, currentDateTime, {
|
|
11
|
+
roundingMethod: 'floor'
|
|
12
|
+
}) + ' ago';
|
|
13
|
+
const diffInSeconds = differenceInSeconds(currentDateTime, updatedDate);
|
|
14
|
+
const isLessThan1Minute = diffInSeconds < 60;
|
|
15
|
+
const isLessThan13Hours = diffInSeconds < 60 * 60 * 13;
|
|
16
|
+
return (React.createElement(Container, null, !isLessThan1Minute && isLessThan13Hours ? (React.createElement(TimeSinceUpdate, { "data-testId": "MinutesHoursSinceUpdate" }, `Updated ${timeSincePublishing}`)) : !isLessThan13Hours ? (React.createElement(TimeSinceUpdate, { "data-testId": "DateTimeUpdated" },
|
|
17
|
+
`Updated `,
|
|
18
|
+
format(updatedDate, 'MMMM d, '),
|
|
19
|
+
format(updatedDate, 'h.mmaaa'))) : null));
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlZFRpbWVzdGFtcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3VwZGF0ZWQtdGltZXN0YW1wL1VwZGF0ZWRUaW1lc3RhbXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUV4QixDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtJQUN2QixJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxNQUFNLGVBQWUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ25DLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sbUJBQW1CLEdBQ3ZCLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUU7UUFDakQsY0FBYyxFQUFFLE9BQU87S0FDeEIsQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUNkLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUV4RSxNQUFNLGlCQUFpQixHQUFHLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDN0MsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFFdkQsT0FBTyxDQUNMLG9CQUFDLFNBQVMsUUFDUCxDQUFDLGlCQUFpQixJQUFJLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUN6QyxvQkFBQyxlQUFlLG1CQUFhLHlCQUF5QixJQUNuRCxXQUFXLG1CQUFtQixFQUFFLENBQ2pCLENBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQ3ZCLG9CQUFDLGVBQWUsbUJBQWEsaUJBQWlCO1FBQzNDLFVBQVU7UUFDVixNQUFNLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQztRQUMvQixNQUFNLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUNmLENBQ25CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDRSxDQUNiLENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { storiesOf } from '@storybook/react';
|
|
3
|
+
import { date } from '@storybook/addon-knobs';
|
|
4
|
+
import { UpdatedTimestamp } from './UpdatedTimestamp';
|
|
5
|
+
storiesOf('Typescript Component/Updated Timestamp', module).add('Updated Timestamp', () => {
|
|
6
|
+
const label = 'Updated Date/Time';
|
|
7
|
+
const defaultValue = new Date();
|
|
8
|
+
const groupId = 'Options';
|
|
9
|
+
const value = date(label, defaultValue, groupId);
|
|
10
|
+
const updated = new Date(value).toISOString();
|
|
11
|
+
return React.createElement(UpdatedTimestamp, { updatedTime: updated });
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlZFRpbWVzdGFtcC5zdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdXBkYXRlZC10aW1lc3RhbXAvVXBkYXRlZFRpbWVzdGFtcC5zdG9yaWVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxTQUFTLENBQUMsd0NBQXdDLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUM3RCxtQkFBbUIsRUFDbkIsR0FBRyxFQUFFO0lBQ0gsTUFBTSxLQUFLLEdBQUcsbUJBQW1CLENBQUM7SUFDbEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNoQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7SUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFOUMsT0FBTyxvQkFBQyxnQkFBZ0IsSUFBQyxXQUFXLEVBQUUsT0FBTyxHQUFJLENBQUM7QUFDcEQsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '@testing-library/jest-dom';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@testing-library/react';
|
|
3
|
+
import '@testing-library/jest-dom';
|
|
4
|
+
import { UpdatedTimestamp } from '../UpdatedTimestamp';
|
|
5
|
+
import MockDate from 'mockdate';
|
|
6
|
+
describe('UpdatedTimestamp', () => {
|
|
7
|
+
const updated = '2022-02-28T09:00:00Z';
|
|
8
|
+
afterEach(() => MockDate.reset());
|
|
9
|
+
it('does not show the timestamp within the first minute after the last update', () => {
|
|
10
|
+
MockDate.set('2022-02-28T09:00:00Z');
|
|
11
|
+
const { baseElement, queryByTestId } = render(React.createElement(UpdatedTimestamp, { updatedTime: updated }));
|
|
12
|
+
expect(baseElement).toMatchSnapshot();
|
|
13
|
+
expect(queryByTestId('MinutesHoursSinceUpdate')).toBeFalsy();
|
|
14
|
+
});
|
|
15
|
+
it('appears one minute after the last update', () => {
|
|
16
|
+
MockDate.set('2022-02-28T09:01:00Z');
|
|
17
|
+
const { queryByTestId } = render(React.createElement(UpdatedTimestamp, { updatedTime: updated }));
|
|
18
|
+
expect(queryByTestId('MinutesHoursSinceUpdate')).toBeTruthy();
|
|
19
|
+
expect(queryByTestId('MinutesHoursSinceUpdate').textContent).toBe('Updated 1 minute ago');
|
|
20
|
+
});
|
|
21
|
+
it('appears between 1 and 12 hours after the last update', () => {
|
|
22
|
+
MockDate.set('2022-02-28T11:30:00Z');
|
|
23
|
+
const { queryByTestId } = render(React.createElement(UpdatedTimestamp, { updatedTime: updated }));
|
|
24
|
+
expect(queryByTestId('MinutesHoursSinceUpdate')).toBeTruthy();
|
|
25
|
+
expect(queryByTestId('MinutesHoursSinceUpdate').textContent).toBe('Updated 2 hours ago');
|
|
26
|
+
});
|
|
27
|
+
it('shows the date and time of update 13 hours or more after the last update', () => {
|
|
28
|
+
MockDate.set('2022-02-28T23:30:00Z');
|
|
29
|
+
const { queryByTestId } = render(React.createElement(UpdatedTimestamp, { updatedTime: updated }));
|
|
30
|
+
expect(queryByTestId('DateTimeUpdated')).toBeTruthy();
|
|
31
|
+
expect(queryByTestId('DateTimeUpdated').textContent).toBe('Updated February 28, 9.00am');
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlZFRpbWVzdGFtcC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdXBkYXRlZC10aW1lc3RhbXAvX190ZXN0c19fL1VwZGF0ZWRUaW1lc3RhbXAudGVzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUVoQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO0lBQ2hDLE1BQU0sT0FBTyxHQUFHLHNCQUFzQixDQUFDO0lBQ3ZDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUVsQyxFQUFFLENBQUMsMkVBQTJFLEVBQUUsR0FBRyxFQUFFO1FBQ25GLFFBQVEsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNyQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FDM0Msb0JBQUMsZ0JBQWdCLElBQUMsV0FBVyxFQUFFLE9BQU8sR0FBSSxDQUMzQyxDQUFDO1FBQ0YsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9ELENBQUMsQ0FBQyxDQUFDO0lBQ0gsRUFBRSxDQUFDLDBDQUEwQyxFQUFFLEdBQUcsRUFBRTtRQUNsRCxRQUFRLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDckMsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FDOUIsb0JBQUMsZ0JBQWdCLElBQUMsV0FBVyxFQUFFLE9BQU8sR0FBSSxDQUMzQyxDQUFDO1FBQ0YsTUFBTSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDOUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDaEUsc0JBQXNCLENBQ3ZCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUNILEVBQUUsQ0FBQyxzREFBc0QsRUFBRSxHQUFHLEVBQUU7UUFDOUQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQzlCLG9CQUFDLGdCQUFnQixJQUFDLFdBQVcsRUFBRSxPQUFPLEdBQUksQ0FDM0MsQ0FBQztRQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlELE1BQU0sQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ2hFLHFCQUFxQixDQUN0QixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFDSCxFQUFFLENBQUMsMEVBQTBFLEVBQUUsR0FBRyxFQUFFO1FBQ2xGLFFBQVEsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNyQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsTUFBTSxDQUM5QixvQkFBQyxnQkFBZ0IsSUFBQyxXQUFXLEVBQUUsT0FBTyxHQUFJLENBQzNDLENBQUM7UUFDRixNQUFNLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0RCxNQUFNLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUN4RCw2QkFBNkIsQ0FDOUIsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
import { colours, fonts } from '@times-components/styleguide';
|
|
3
|
+
export const Container = styled.div `
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
padding: 3px 0 0 8px;
|
|
7
|
+
`;
|
|
8
|
+
export const TimeSinceUpdate = styled.div `
|
|
9
|
+
color: ${colours.functional.primary};
|
|
10
|
+
font-family: ${fonts.supporting};
|
|
11
|
+
font-size: 12px;
|
|
12
|
+
line-height: 16px;
|
|
13
|
+
`;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdXBkYXRlZC10aW1lc3RhbXAvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUE7Ozs7Q0FJbEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFBO1dBQzlCLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTztpQkFDcEIsS0FBSyxDQUFDLFVBQVU7OztDQUdoQyxDQUFDIn0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React, { createContext, useContext } from 'react';
|
|
2
|
+
const UpdatedTimeProviderContext = createContext(undefined);
|
|
3
|
+
export const UpdatedTimeProvider = ({ updatedTime, children }) => {
|
|
4
|
+
return (React.createElement(UpdatedTimeProviderContext.Provider, { value: updatedTime }, children));
|
|
5
|
+
};
|
|
6
|
+
export const useUpdatedTime = () => {
|
|
7
|
+
return useContext(UpdatedTimeProviderContext);
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlZFRpbWVQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oZWxwZXJzL3RpbWUvVXBkYXRlZFRpbWVQcm92aWRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXpELE1BQU0sMEJBQTBCLEdBQUcsYUFBYSxDQUFxQixTQUFTLENBQUMsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FFM0IsQ0FBQyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0lBQ2pDLE9BQU8sQ0FDTCxvQkFBQywwQkFBMEIsQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFFLFdBQVcsSUFDcEQsUUFBUSxDQUMyQixDQUN2QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsRUFBRTtJQUNqQyxPQUFPLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import 'regenerator-runtime';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { render } from '@testing-library/react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useUpdatedTime, UpdatedTimeProvider } from '../UpdatedTimeProvider';
|
|
4
|
+
import 'regenerator-runtime';
|
|
5
|
+
const TestComponent = () => {
|
|
6
|
+
const updatedTime = useUpdatedTime();
|
|
7
|
+
return React.createElement(React.Fragment, null, updatedTime);
|
|
8
|
+
};
|
|
9
|
+
describe('UpdatedTimeProvider', () => {
|
|
10
|
+
it('should pass the updated time to the context value', () => {
|
|
11
|
+
const updatedTime = '2022-03-01T09:00:00.000Z';
|
|
12
|
+
const { findByText } = render(React.createElement(UpdatedTimeProvider, { updatedTime: updatedTime },
|
|
13
|
+
React.createElement(TestComponent, null)));
|
|
14
|
+
findByText(updatedTime);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlZFRpbWVQcm92aWRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2hlbHBlcnMvdGltZS9fX3Rlc3RzX18vVXBkYXRlZFRpbWVQcm92aWRlci50ZXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RSxPQUFPLHFCQUFxQixDQUFDO0FBRTdCLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRTtJQUN6QixNQUFNLFdBQVcsR0FBRyxjQUFjLEVBQUUsQ0FBQztJQUNyQyxPQUFPLDBDQUFHLFdBQVcsQ0FBSSxDQUFDO0FBQzVCLENBQUMsQ0FBQztBQUVGLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7SUFDbkMsRUFBRSxDQUFDLG1EQUFtRCxFQUFFLEdBQUcsRUFBRTtRQUMzRCxNQUFNLFdBQVcsR0FBRywwQkFBMEIsQ0FBQztRQUUvQyxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUMzQixvQkFBQyxtQkFBbUIsSUFBQyxXQUFXLEVBQUUsV0FBVztZQUMzQyxvQkFBQyxhQUFhLE9BQUcsQ0FDRyxDQUN2QixDQUFDO1FBRUYsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
|