@financial-times/cp-content-pipeline-ui 6.2.5 → 6.3.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/lib/components/BackToTopButton/client/index.d.ts +15 -0
  3. package/lib/components/BackToTopButton/client/index.js +118 -0
  4. package/lib/components/BackToTopButton/client/index.js.map +1 -0
  5. package/lib/components/BackToTopButton/test/client/index.spec.d.ts +1 -0
  6. package/lib/components/BackToTopButton/test/client/index.spec.js +184 -0
  7. package/lib/components/BackToTopButton/test/client/index.spec.js.map +1 -0
  8. package/lib/components/Body/index.d.ts +1 -2
  9. package/lib/components/Body/index.js +2 -2
  10. package/lib/components/Body/index.js.map +1 -1
  11. package/lib/components/LiveBlogBody/index.d.ts +1 -1
  12. package/lib/components/LiveBlogBody/index.js +2 -2
  13. package/lib/components/LiveBlogBody/index.js.map +1 -1
  14. package/lib/components/LiveBlogPost/index.d.ts +1 -2
  15. package/lib/components/LiveBlogPost/index.js +2 -14
  16. package/lib/components/LiveBlogPost/index.js.map +1 -1
  17. package/lib/components/LiveBlogWrapper/index.js +1 -1
  18. package/lib/components/LiveBlogWrapper/index.js.map +1 -1
  19. package/lib/components/RichText/index.js +1 -1
  20. package/lib/components/RichText/index.js.map +1 -1
  21. package/lib/components/Topper/Tags.d.ts +2 -1
  22. package/lib/components/Topper/Tags.js +2 -2
  23. package/lib/components/Topper/Tags.js.map +1 -1
  24. package/lib/components/Topper/index.js +9 -3
  25. package/lib/components/Topper/index.js.map +1 -1
  26. package/lib/index.d.ts +1 -0
  27. package/lib/index.js +3 -1
  28. package/lib/index.js.map +1 -1
  29. package/lib/stories/BackToTop.stories.d.ts +24 -0
  30. package/lib/stories/BackToTop.stories.js +109 -0
  31. package/lib/stories/BackToTop.stories.js.map +1 -0
  32. package/lib/stories/LiveBlogPost.stories.d.ts +1 -1
  33. package/lib/stories/LiveBlogPost.stories.js +0 -1
  34. package/lib/stories/LiveBlogPost.stories.js.map +1 -1
  35. package/package.json +7 -2
  36. package/src/components/BackToTopButton/client/index.tsx +120 -0
  37. package/src/components/BackToTopButton/client/main.scss +47 -0
  38. package/src/components/BackToTopButton/test/client/index.spec.tsx +235 -0
  39. package/src/components/Body/index.tsx +0 -3
  40. package/src/components/LiveBlogBody/index.tsx +0 -2
  41. package/src/components/LiveBlogPost/index.tsx +0 -26
  42. package/src/components/LiveBlogWrapper/index.tsx +0 -2
  43. package/src/components/RichText/index.tsx +1 -1
  44. package/src/components/Topper/Tags.tsx +4 -1
  45. package/src/components/Topper/index.tsx +14 -2
  46. package/src/index.ts +1 -1
  47. package/src/stories/BackToTop.stories.scss +3 -0
  48. package/src/stories/BackToTop.stories.tsx +456 -0
  49. package/src/stories/LiveBlogPost.stories.tsx +0 -1
  50. package/src/types/o-types.d.ts +1 -0
  51. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -547,6 +547,26 @@
547
547
  * @financial-times/cp-content-pipeline-client bumped from ^3.6.1 to ^3.6.2
548
548
  * @financial-times/cp-content-pipeline-schema bumped from ^2.9.0 to ^2.9.1
549
549
 
550
+ ## [6.3.1](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v6.3.0...cp-content-pipeline-ui-v6.3.1) (2024-05-16)
551
+
552
+
553
+ ### Bug Fixes
554
+
555
+ * take most recent live blogs publish date instead of first one ([84cf37b](https://github.com/Financial-Times/cp-content-pipeline/commit/84cf37b8885cd425074351bcb51159ad9b2f617b))
556
+
557
+ ## [6.3.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v6.2.5...cp-content-pipeline-ui-v6.3.0) (2024-05-15)
558
+
559
+
560
+ ### Features
561
+
562
+ * add BackToTop component ([3e79fc1](https://github.com/Financial-Times/cp-content-pipeline/commit/3e79fc10050ff9f96723fcc086110403593bfcd2))
563
+ * remove old back-to-top link on posts ([aa8c1c2](https://github.com/Financial-Times/cp-content-pipeline/commit/aa8c1c24c678176f2b24f93d6149b73622f722c6))
564
+
565
+
566
+ ### Bug Fixes
567
+
568
+ * duplicate add to myft button in topper ([dd328af](https://github.com/Financial-Times/cp-content-pipeline/commit/dd328af143ff2998d7f7032fcffacc88b535c7a9))
569
+
550
570
  ## [6.2.5](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v6.2.4...cp-content-pipeline-ui-v6.2.5) (2024-05-10)
551
571
 
552
572
 
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ /**
3
+ * BackToTopButton component
4
+ * @param {string} startSelector - user need to scroll over this element to make the button visible
5
+ * @param {Record<string, string>} attributes - attributes to be added to the button
6
+ * @param {Window | HTMLElement} scrollableElement - element that will be listened to scroll events
7
+ * @returns {JSX.Element}
8
+ * @description Component that renders a button that scrolls users to the top of the page when clicked
9
+ * and is only visible when the user has scrolled down at least to the startSelector element and then scrolls up
10
+ */
11
+ export default function BackToTop({ startSelector, attributes, scrollableElement, }: {
12
+ startSelector?: string;
13
+ attributes?: Record<string, string>;
14
+ scrollableElement?: Window | HTMLElement;
15
+ }): React.JSX.Element;
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const react_1 = __importStar(require("react"));
27
+ const o_utils_1 = require("@financial-times/o-utils");
28
+ /**
29
+ * BackToTopButton component
30
+ * @param {string} startSelector - user need to scroll over this element to make the button visible
31
+ * @param {Record<string, string>} attributes - attributes to be added to the button
32
+ * @param {Window | HTMLElement} scrollableElement - element that will be listened to scroll events
33
+ * @returns {JSX.Element}
34
+ * @description Component that renders a button that scrolls users to the top of the page when clicked
35
+ * and is only visible when the user has scrolled down at least to the startSelector element and then scrolls up
36
+ */
37
+ function BackToTop({ startSelector, attributes = {}, scrollableElement = window, }) {
38
+ const [visible, setVisible] = (0, react_1.useState)(false);
39
+ const [scrolledDownFirstTime, setScrolledDownFirstTime] = (0, react_1.useState)(false);
40
+ const lastScroll = (0, react_1.useRef)(0);
41
+ const element = (0, react_1.useRef)(null);
42
+ // receives e as parameter that is a scroll event
43
+ const scrollMargin = 10;
44
+ const handleScroll = () => {
45
+ setScrolledDownFirstTime((scrolledDownFirstTime) => {
46
+ if (!scrolledDownFirstTime && getScrollY() > lastScroll.current) {
47
+ return true;
48
+ }
49
+ return scrolledDownFirstTime;
50
+ });
51
+ setVisible((visible) => {
52
+ let result = visible;
53
+ if (
54
+ // Scrolling direction is up
55
+ getScrollY() < lastScroll.current &&
56
+ // Button is not visible
57
+ !visible &&
58
+ // The user scrolled down at least once
59
+ scrolledDownFirstTime) {
60
+ const startElement = startSelector
61
+ ? document.querySelector(startSelector)
62
+ : null;
63
+ // has passed the element that selector selects or the top of the parent container
64
+ const hasPassedTriggerPosition = startElement
65
+ ? startElement?.getBoundingClientRect()?.bottom <= 0
66
+ : (element?.current?.getBoundingClientRect()?.top ?? 0) <= 0; // Add a fallback value of 0 if element is undefined
67
+ if (hasPassedTriggerPosition) {
68
+ result = true;
69
+ }
70
+ }
71
+ //if scroll to top and component is visible, it will be hidden
72
+ else if (getScrollY() < scrollMargin && visible) {
73
+ result = false;
74
+ }
75
+ // if scroll down and component is visible, it will be hidden
76
+ else if (getScrollY() > lastScroll.current && visible) {
77
+ result = false;
78
+ }
79
+ // update last scroll position
80
+ lastScroll.current = getScrollY();
81
+ return result;
82
+ });
83
+ };
84
+ (0, react_1.useEffect)(() => {
85
+ const handler = (0, o_utils_1.throttle)(handleScroll, 250);
86
+ if (element.current && scrollableElement) {
87
+ lastScroll.current = getScrollY();
88
+ // Add a throttle to the scroll event to prevent performance issues
89
+ scrollableElement.addEventListener('scroll', handler);
90
+ }
91
+ return () => scrollableElement &&
92
+ scrollableElement.removeEventListener('scroll', handler);
93
+ }, [element, scrollableElement, scrolledDownFirstTime]);
94
+ const handleClick = () => {
95
+ scrollableElement?.scrollTo({
96
+ top: 0,
97
+ left: 0,
98
+ behavior: 'smooth',
99
+ });
100
+ setVisible(false);
101
+ };
102
+ const getScrollY = () => {
103
+ if (scrollableElement && scrollableElement instanceof Window) {
104
+ return scrollableElement?.scrollY;
105
+ }
106
+ else if (scrollableElement && scrollableElement instanceof HTMLElement) {
107
+ return scrollableElement?.scrollTop;
108
+ }
109
+ else {
110
+ //fallback in case scrollableElement is null or undefined
111
+ return window.scrollY;
112
+ }
113
+ };
114
+ return (react_1.default.createElement("div", { className: "back-to-top__container", style: { display: visible ? 'block' : 'none' } },
115
+ react_1.default.createElement("button", { ref: element, type: "button", onClick: handleClick, className: "back-to-top__button o-buttons o-visual-effects-shadow-high o-buttons--big o-buttons--primary o-buttons--mono o-buttons-icon o-buttons-icon--arrow-up", "aria-live": "polite", ...attributes }, "Back to top")));
116
+ }
117
+ exports.default = BackToTop;
118
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/BackToTopButton/client/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
7
+ // @ts-nocheck
8
+ const react_1 = __importDefault(require("react"));
9
+ const react_2 = require("@testing-library/react");
10
+ const client_1 = __importDefault(require("../../client"));
11
+ //mock lodash throttle to don't do anything
12
+ jest.mock('@financial-times/o-utils', () => ({ throttle: (fn) => fn }));
13
+ describe('Back To Top', () => {
14
+ describe('when client-side', () => {
15
+ it('renders hidden by default', () => {
16
+ const tree = (0, react_2.render)(react_1.default.createElement(client_1.default, null));
17
+ expect(react_2.screen.findByText('Back to top')).toBeTruthy(); // Assuming the button is directly rendered
18
+ expect(tree.container.children[0].style.display).toBe('none');
19
+ });
20
+ it('renders a button with attributes', () => {
21
+ (0, react_2.render)(react_1.default.createElement(client_1.default, { attributes: { 'data-tracking': 'backtotop' } }));
22
+ const button = react_2.screen.getByRole('button', { hidden: true });
23
+ expect(button.getAttribute('data-tracking')).toBe('backtotop');
24
+ });
25
+ it('becomes visible on scroll up', async () => {
26
+ const tree = (0, react_2.render)(react_1.default.createElement(client_1.default, null));
27
+ // Simulate scrolldown event and scrollup to test the display block
28
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 300 } });
29
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 100 } });
30
+ expect(tree.container.children[0].style.display).toBe('block');
31
+ });
32
+ it('renders the button and hides it again when user scrolls down', async () => {
33
+ const tree = (0, react_2.render)(react_1.default.createElement(client_1.default, null));
34
+ // Simulate scrolldown event and scrollup to test the display block
35
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 300 } });
36
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 100 } });
37
+ expect(tree.container.children[0].style.display).toBe('block');
38
+ // Simulate scrolldown after the last scrollup which should hide the button
39
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 200 } });
40
+ expect(tree.container.children[0].style.display).toBe('none');
41
+ });
42
+ it('scrolls to the top when clicked on the button', async () => {
43
+ (0, react_2.render)(react_1.default.createElement(client_1.default, null));
44
+ // Simulate scrolldown event and scrollup to test the display block
45
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 300 } });
46
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 100 } });
47
+ const button = react_2.screen.getByRole('button');
48
+ window.scrollTo = jest.fn();
49
+ // Simulate scrolldown after the last scrollup which should hide the button
50
+ await react_2.fireEvent.click(button);
51
+ // Check is scrollTo is called with the correct arguments
52
+ expect(window.scrollTo).toHaveBeenCalledWith({
53
+ top: 0,
54
+ left: 0,
55
+ behavior: 'smooth',
56
+ });
57
+ });
58
+ it('the button hides if we scroll up to the top', async () => {
59
+ (0, react_2.render)(react_1.default.createElement(client_1.default, null));
60
+ // Simulate scrolldown and scrollup event to test the display block
61
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 300 } });
62
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 100 } });
63
+ const button = react_2.screen.getByRole('button');
64
+ // Check the button is visible
65
+ expect(button).toBeTruthy();
66
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 0 } });
67
+ // Check the button is hidden , so getByRole should throw an error
68
+ expect(() => {
69
+ react_2.screen.getByRole('button');
70
+ }).toThrow();
71
+ });
72
+ it('renders the button after pass the element selected with startSelector', async () => {
73
+ const tree = (0, react_2.render)(react_1.default.createElement("div", null,
74
+ react_1.default.createElement("section", { id: "head", width: '100vw', height: 500, style: { width: '100vw', height: 500 } },
75
+ react_1.default.createElement("h1", null, "Head")),
76
+ react_1.default.createElement("section", { id: "body", width: '100vw', height: 500, style: { width: '100vw', height: 500 } },
77
+ react_1.default.createElement("p", null, " Here goes the content")),
78
+ react_1.default.createElement(client_1.default, { startSelector: "#head" })));
79
+ const head = tree.container.querySelector('#head');
80
+ // Mock that the head element is visible and we haven't passed it
81
+ jest.spyOn(head, 'getBoundingClientRect').mockReturnValue({
82
+ width: 500,
83
+ height: 500,
84
+ top: 0,
85
+ left: 0,
86
+ right: 500,
87
+ bottom: 500,
88
+ });
89
+ // Shouldn't be visible as we haven't passed the head element
90
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 300 } });
91
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 100 } });
92
+ expect(() => {
93
+ react_2.screen.getByRole('button');
94
+ }).toThrow();
95
+ //Mock that the head element is up on the scroll and not visible on the page which means we have passed it
96
+ jest.spyOn(head, 'getBoundingClientRect').mockReturnValue({
97
+ width: 500,
98
+ height: 500,
99
+ top: 0,
100
+ left: 0,
101
+ right: 500,
102
+ bottom: -200,
103
+ });
104
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 700 } });
105
+ expect(() => {
106
+ react_2.screen.getByRole('button');
107
+ }).toThrow();
108
+ //Scrolled up and had passed the element that startSelector selects so it should be visible
109
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 650 } });
110
+ expect(react_2.screen.getByRole('button')).toBeTruthy();
111
+ // The button should be visible if we scroll up and the head is visible after having shown it before
112
+ jest.spyOn(head, 'getBoundingClientRect').mockReturnValue({
113
+ width: 500,
114
+ height: 500,
115
+ top: 0,
116
+ left: 0,
117
+ right: 500,
118
+ bottom: 400,
119
+ });
120
+ await react_2.fireEvent.scroll(window, { target: { scrollY: 100 } });
121
+ expect(react_2.screen.getByRole('button')).toBeTruthy();
122
+ });
123
+ describe('If a `scrollableElement` is passed', () => {
124
+ it('renders the button after pass the element selected with startSelector', async () => {
125
+ const container = document.createElement('div');
126
+ container.id = 'scrollable-element';
127
+ container.style.display = 'block';
128
+ container.style.overflowY = 'scroll';
129
+ container.style.height = '500px';
130
+ document.body.appendChild(container);
131
+ const tree = (0, react_2.render)(react_1.default.createElement("div", null,
132
+ react_1.default.createElement("section", { id: "head", width: '100vw', height: 500, style: { width: '100vw', height: 500 } },
133
+ react_1.default.createElement("h1", null, "Head")),
134
+ react_1.default.createElement("section", { id: "body", width: '100vw', height: 500, style: { width: '100vw', height: 500, overflowY: 'scroll' } },
135
+ react_1.default.createElement("p", null, " Here goes the content")),
136
+ react_1.default.createElement(client_1.default, { startSelector: "#head", scrollableElement: container })), { container });
137
+ const head = tree.container.querySelector('#head');
138
+ // Mock that the head element is visible and we haven't passed it
139
+ jest.spyOn(head, 'getBoundingClientRect').mockReturnValue({
140
+ width: 500,
141
+ height: 500,
142
+ top: 0,
143
+ left: 0,
144
+ right: 500,
145
+ bottom: 500,
146
+ });
147
+ // Shouldn't be visible as we haven't passed the head element
148
+ await react_2.fireEvent.scroll(container, { target: { scrollTop: 300 } });
149
+ await react_2.fireEvent.scroll(container, { target: { scrollTop: 100 } });
150
+ expect(() => {
151
+ react_2.screen.getByRole('button');
152
+ }).toThrow();
153
+ //Mock that the head element is up on the scroll and not visible on the page which means we have passed it
154
+ jest.spyOn(head, 'getBoundingClientRect').mockReturnValue({
155
+ width: 500,
156
+ height: 500,
157
+ top: 0,
158
+ left: 0,
159
+ right: 500,
160
+ bottom: -200,
161
+ });
162
+ await react_2.fireEvent.scroll(container, { target: { scrollTop: 700 } });
163
+ expect(() => {
164
+ react_2.screen.getByRole('button');
165
+ }).toThrow();
166
+ //Scrolled up and had passed the element that startSelector selects so it should be visible
167
+ await react_2.fireEvent.scroll(container, { target: { scrollTop: 650 } });
168
+ expect(react_2.screen.getByRole('button')).toBeTruthy();
169
+ // The button should be visible if we scroll up and the head is visible after having shown it before
170
+ jest.spyOn(head, 'getBoundingClientRect').mockReturnValue({
171
+ width: 500,
172
+ height: 500,
173
+ top: 0,
174
+ left: 0,
175
+ right: 500,
176
+ bottom: 400,
177
+ });
178
+ await react_2.fireEvent.scroll(container, { target: { scrollTop: 100 } });
179
+ expect(react_2.screen.getByRole('button')).toBeTruthy();
180
+ });
181
+ });
182
+ });
183
+ });
184
+ //# sourceMappingURL=index.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../../../src/components/BackToTopButton/test/client/index.spec.tsx"],"names":[],"mappings":"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"}
@@ -14,10 +14,9 @@ export type BodyProps = {
14
14
  richTextComponents?: RichTextComponentMapRecord;
15
15
  bodyComponents?: BodyComponentMapRecord;
16
16
  showShareButtons?: boolean;
17
- showBackToTop?: boolean;
18
17
  xInteractionSerialiser?: Serialiser;
19
18
  postTrackerConfig?: PostTrackerConfig;
20
19
  AdSlot?: React.FC;
21
20
  };
22
- export default function Body({ content, richTextComponents, bodyComponents, showBackToTop, showShareButtons, xInteractionSerialiser, postTrackerConfig, AdSlot, }: BodyProps): React.JSX.Element | null;
21
+ export default function Body({ content, richTextComponents, bodyComponents, showShareButtons, xInteractionSerialiser, postTrackerConfig, AdSlot, }: BodyProps): React.JSX.Element | null;
23
22
  export {};
@@ -8,7 +8,7 @@ const ArticleBody_1 = __importDefault(require("../ArticleBody"));
8
8
  const LiveBlogBody_1 = __importDefault(require("../LiveBlogBody"));
9
9
  const PodcastBody_1 = __importDefault(require("../PodcastBody"));
10
10
  const ContentPackageBody_1 = __importDefault(require("../ContentPackageBody"));
11
- function Body({ content, richTextComponents, bodyComponents, showBackToTop, showShareButtons, xInteractionSerialiser, postTrackerConfig, AdSlot, }) {
11
+ function Body({ content, richTextComponents, bodyComponents, showShareButtons, xInteractionSerialiser, postTrackerConfig, AdSlot, }) {
12
12
  if (!content?.body?.structured) {
13
13
  return null;
14
14
  }
@@ -17,7 +17,7 @@ function Body({ content, richTextComponents, bodyComponents, showBackToTop, show
17
17
  const Podcast = bodyComponents?.['podcast-body'] ?? PodcastBody_1.default;
18
18
  const ContentPackage = bodyComponents?.['content-package-body'] ?? ContentPackageBody_1.default;
19
19
  if (content.__typename === 'LiveBlogPackage') {
20
- return (react_1.default.createElement(LiveBlog, { content: content, richTextComponents: richTextComponents, showShareButtons: showShareButtons, showBackToTop: showBackToTop, xInteractionSerialiser: xInteractionSerialiser, postTrackerConfig: postTrackerConfig }));
20
+ return (react_1.default.createElement(LiveBlog, { content: content, richTextComponents: richTextComponents, showShareButtons: showShareButtons, xInteractionSerialiser: xInteractionSerialiser, postTrackerConfig: postTrackerConfig }));
21
21
  }
22
22
  else if (content.__typename === 'Audio') {
23
23
  return react_1.default.createElement(Podcast, { content: content, richTextComponents: richTextComponents });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Body/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAoD;AACpD,iEAAwC;AACxC,mEAA0C;AAC1C,iEAAwC;AACxC,+EAAsD;AAgCtD,SAAwB,IAAI,CAAC,EAC3B,OAAO,EACP,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,MAAM,GACI;IACV,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;QAC9B,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC,gBAAgB,CAAC,IAAI,sBAAY,CAAA;IACnE,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC,cAAc,CAAC,IAAI,qBAAW,CAAA;IAC/D,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC,cAAc,CAAC,IAAI,qBAAW,CAAA;IAC/D,MAAM,cAAc,GAClB,cAAc,EAAE,CAAC,sBAAsB,CAAC,IAAI,4BAAkB,CAAA;IAEhE,IAAI,OAAO,CAAC,UAAU,KAAK,iBAAiB,EAAE;QAC5C,OAAO,CACL,8BAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,sBAAsB,EAC9C,iBAAiB,EAAE,iBAAiB,GACpC,CACH,CAAA;KACF;SAAM,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,EAAE;QACzC,OAAO,8BAAC,OAAO,IAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,GAAI,CAAA;KAC7E;SAAM,IAAI,OAAO,CAAC,UAAU,KAAK,gBAAgB,EAAE;QAClD,OAAO,CACL,8BAAC,cAAc,IACb,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,MAAM,GACd,CACH,CAAA;KACF;IAED,OAAO,8BAAC,OAAO,IAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,GAAI,CAAA;AAC9E,CAAC;AA5CD,uBA4CC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Body/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAoD;AACpD,iEAAwC;AACxC,mEAA0C;AAC1C,iEAAwC;AACxC,+EAAsD;AA+BtD,SAAwB,IAAI,CAAC,EAC3B,OAAO,EACP,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,MAAM,GACI;IACV,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;QAC9B,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC,gBAAgB,CAAC,IAAI,sBAAY,CAAA;IACnE,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC,cAAc,CAAC,IAAI,qBAAW,CAAA;IAC/D,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC,cAAc,CAAC,IAAI,qBAAW,CAAA;IAC/D,MAAM,cAAc,GAClB,cAAc,EAAE,CAAC,sBAAsB,CAAC,IAAI,4BAAkB,CAAA;IAEhE,IAAI,OAAO,CAAC,UAAU,KAAK,iBAAiB,EAAE;QAC5C,OAAO,CACL,8BAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,sBAAsB,EAAE,sBAAsB,EAC9C,iBAAiB,EAAE,iBAAiB,GACpC,CACH,CAAA;KACF;SAAM,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,EAAE;QACzC,OAAO,8BAAC,OAAO,IAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,GAAI,CAAA;KAC7E;SAAM,IAAI,OAAO,CAAC,UAAU,KAAK,gBAAgB,EAAE;QAClD,OAAO,CACL,8BAAC,cAAc,IACb,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,MAAM,GACd,CACH,CAAA;KACF;IAED,OAAO,8BAAC,OAAO,IAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,GAAI,CAAA;AAC9E,CAAC;AA1CD,uBA0CC"}
@@ -3,5 +3,5 @@ import type { BodyProps } from '../Body';
3
3
  type LiveBlogBodyProps = BodyProps & {
4
4
  xInteractionSerialiser?: any;
5
5
  };
6
- export default function LiveBlogBody({ content, richTextComponents, xInteractionSerialiser, showShareButtons, showBackToTop, postTrackerConfig, }: LiveBlogBodyProps): React.JSX.Element | null;
6
+ export default function LiveBlogBody({ content, richTextComponents, xInteractionSerialiser, showShareButtons, postTrackerConfig, }: LiveBlogBodyProps): React.JSX.Element | null;
7
7
  export {};
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const RichText_1 = require("../RichText");
8
8
  const LiveBlogWrapper_1 = require("../LiveBlogWrapper");
9
- function LiveBlogBody({ content, richTextComponents, xInteractionSerialiser, showShareButtons, showBackToTop = true, postTrackerConfig, }) {
9
+ function LiveBlogBody({ content, richTextComponents, xInteractionSerialiser, showShareButtons, postTrackerConfig, }) {
10
10
  if (content.__typename !== 'LiveBlogPackage')
11
11
  return null;
12
12
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
13
  const posts = content.liveBlogPosts || [];
14
14
  return (react_1.default.createElement(RichText_1.ComponentsContext.Provider, { value: richTextComponents },
15
- react_1.default.createElement(LiveBlogWrapper_1.LiveBlogWrapper, { articleUrl: `https://www.ft.com/content/${content.id}`, id: "live-blog-wrapper", posts: posts, serialiser: xInteractionSerialiser, showShareButtons: showShareButtons ?? true, backToTop: showBackToTop ? 'o-topper' : undefined, postTrackerConfig: postTrackerConfig })));
15
+ react_1.default.createElement(LiveBlogWrapper_1.LiveBlogWrapper, { articleUrl: `https://www.ft.com/content/${content.id}`, id: "live-blog-wrapper", posts: posts, serialiser: xInteractionSerialiser, showShareButtons: showShareButtons ?? true, postTrackerConfig: postTrackerConfig })));
16
16
  }
17
17
  exports.default = LiveBlogBody;
18
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/LiveBlogBody/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAEzB,0CAA+C;AAC/C,wDAAoD;AASpD,SAAwB,YAAY,CAAC,EACnC,OAAO,EACP,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,GAAG,IAAI,EACpB,iBAAiB,GACC;IAClB,IAAI,OAAO,CAAC,UAAU,KAAK,iBAAiB;QAAE,OAAO,IAAI,CAAA;IAEzD,8DAA8D;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAA;IAEzC,OAAO,CACL,8BAAC,4BAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,kBAAkB;QACnD,8BAAC,iCAAe,IACd,UAAU,EAAE,8BAA8B,OAAO,CAAC,EAAE,EAAE,EACtD,EAAE,EAAC,mBAAmB,EACtB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,sBAAsB,EAClC,gBAAgB,EAAE,gBAAgB,IAAI,IAAI,EAC1C,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACjD,iBAAiB,EAAE,iBAAiB,GACpC,CACyB,CAC9B,CAAA;AACH,CAAC;AA1BD,+BA0BC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/LiveBlogBody/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAEzB,0CAA+C;AAC/C,wDAAoD;AASpD,SAAwB,YAAY,CAAC,EACnC,OAAO,EACP,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,GACC;IAClB,IAAI,OAAO,CAAC,UAAU,KAAK,iBAAiB;QAAE,OAAO,IAAI,CAAA;IAEzD,8DAA8D;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAA;IAEzC,OAAO,CACL,8BAAC,4BAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,kBAAkB;QACnD,8BAAC,iCAAe,IACd,UAAU,EAAE,8BAA8B,OAAO,CAAC,EAAE,EAAE,EACtD,EAAE,EAAC,mBAAmB,EACtB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,sBAAsB,EAClC,gBAAgB,EAAE,gBAAgB,IAAI,IAAI,EAC1C,iBAAiB,EAAE,iBAAiB,GACpC,CACyB,CAC9B,CAAA;AACH,CAAC;AAxBD,+BAwBC"}
@@ -24,9 +24,8 @@ export type LiveBlogPostProps = {
24
24
  showShareButtons: boolean;
25
25
  byline: StructuredTreeFragment;
26
26
  ad: unknown;
27
- backToTop: string | undefined | ((arg: any) => any);
28
27
  indicators?: indicators;
29
28
  authors: Array<any>;
30
29
  };
31
- declare const LiveBlogPost: ({ id, postId, title, content, bodyHTML, body, publishedTimestamp, publishedDate, isBreakingNews, standout, articleUrl, showShareButtons, byline, ad, backToTop, isPinned, indicators, authors, }: LiveBlogPostProps) => React.JSX.Element;
30
+ declare const LiveBlogPost: ({ id, postId, title, content, bodyHTML, body, publishedTimestamp, publishedDate, isBreakingNews, standout, articleUrl, showShareButtons, byline, ad, isPinned, indicators, authors, }: LiveBlogPostProps) => React.JSX.Element;
32
31
  export { LiveBlogPost };
@@ -33,10 +33,9 @@ bodyHTML, //ElasticSearch
33
33
  body, // cp-content-pipeline
34
34
  publishedTimestamp, // Remove once wordpress is no longer in use
35
35
  publishedDate, isBreakingNews, // Remove once wordpress is no longer in use
36
- standout = {}, articleUrl, showShareButtons = false, byline, ad, backToTop, isPinned, indicators = {}, authors, }) => {
36
+ standout = {}, articleUrl, showShareButtons = false, byline, ad, isPinned, indicators = {}, authors, }) => {
37
37
  const showBreakingNewsLabel = standout.breakingNews || isBreakingNews;
38
38
  let postBody;
39
- let backToTopElem;
40
39
  if (body && 'structured' in body) {
41
40
  // Content comes from cp-content-pipeline-api
42
41
  postBody = (react_1.default.createElement("div", { className: "x-live-blog-post__body n-content-body article--body" },
@@ -46,15 +45,6 @@ standout = {}, articleUrl, showShareButtons = false, byline, ad, backToTop, isPi
46
45
  // Content comes from next-es or wordpress
47
46
  postBody = (react_1.default.createElement("div", { className: "x-live-blog-post__body n-content-body article--body", dangerouslySetInnerHTML: { __html: bodyHTML || content } }));
48
47
  }
49
- if (typeof backToTop === 'string') {
50
- backToTopElem = (react_1.default.createElement("a", { href: backToTop.includes('#') ? backToTop : `#${backToTop}`, className: "x-live-blog-post-controls__back-to-top-link" }, "Back to top"));
51
- }
52
- else if (typeof backToTop === 'function') {
53
- backToTopElem = (react_1.default.createElement("button", { onClick: backToTop, className: "x-live-blog-post-controls__back-to-top-button" }, "Back to top"));
54
- }
55
- else {
56
- backToTopElem = null;
57
- }
58
48
  const author = authors?.[0] ?? null;
59
49
  return (react_1.default.createElement("article", { className: (0, classnames_1.default)('x-live-blog-post', {
60
50
  'x-live-blog-post--opinion': indicators.isOpinion,
@@ -79,9 +69,7 @@ standout = {}, articleUrl, showShareButtons = false, byline, ad, backToTop, isPi
79
69
  react_1.default.createElement("div", { className: "o-expander__content" }, postBody),
80
70
  react_1.default.createElement("a", { className: "o-expander__toggle o-expander__text--custom" },
81
71
  react_1.default.createElement("span", { className: "o-expander__visually-hidden" }, "\u00A0")))) : (postBody),
82
- react_1.default.createElement("div", { className: "x-live-blog-post__controls" },
83
- showShareButtons && (react_1.default.createElement(ShareButtons_1.default, { postId: id || postId, articleUrl: articleUrl, title: title })),
84
- backToTopElem),
72
+ react_1.default.createElement("div", { className: "x-live-blog-post__controls" }, showShareButtons && (react_1.default.createElement(ShareButtons_1.default, { postId: id || postId, articleUrl: articleUrl, title: title }))),
85
73
  ad));
86
74
  };
87
75
  exports.LiveBlogPost = LiveBlogPost;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/LiveBlogPost/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/LiveBlogPost/index.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,kEAAyC;AACzC,4DAAmC;AACnC,2DAAkC;AAClC,4DAAmC;AACnC,2DAAkC;AAClC,uDAA8B;AAmC9B,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,MAAM,MAAM,GAAG,2BAA2B,CAAA;IAC1C,MAAM,SAAS,GAAG;QAChB,GAAG;QACH,YAAY;QACZ,IAAI;QACJ,oBAAoB;QACpB,sCAAsC;QACtC,2BAA2B;QAC3B,uBAAuB;QACvB,IAAI;QACJ,kBAAkB;QAClB,+BAA+B;KAChC,CAAA;IACD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,EACpB,EAAE,EACF,MAAM,EAAE,4CAA4C;AACpD,KAAK,EACL,OAAO,EAAE,4CAA4C;AACrD,QAAQ,EAAE,eAAe;AACzB,IAAI,EAAE,sBAAsB;AAC5B,kBAAkB,EAAE,4CAA4C;AAChE,aAAa,EACb,cAAc,EAAE,4CAA4C;AAC5D,QAAQ,GAAG,EAAE,EACb,UAAU,EACV,gBAAgB,GAAG,KAAK,EACxB,MAAM,EACN,EAAE,EACF,QAAQ,EACR,UAAU,GAAG,EAAE,EACf,OAAO,GACW,EAAE,EAAE;IACtB,MAAM,qBAAqB,GAAG,QAAQ,CAAC,YAAY,IAAI,cAAc,CAAA;IAErE,IAAI,QAAQ,CAAA;IAEZ,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,EAAE;QAChC,6CAA6C;QAC7C,QAAQ,GAAG,CACT,uCAAK,SAAS,EAAC,qDAAqD;YAClE,8BAAC,kBAAQ,IAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,GAAI,CAC5C,CACP,CAAA;KACF;SAAM;QACL,0CAA0C;QAC1C,QAAQ,GAAG,CACT,uCACE,SAAS,EAAC,qDAAqD,EAC/D,uBAAuB,EAAE,EAAE,MAAM,EAAE,QAAQ,IAAI,OAAO,EAAE,GACxD,CACH,CAAA;KACF;IAED,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAEnC,OAAO,CACL,2CACE,SAAS,EAAE,IAAA,oBAAU,EAAC,kBAAkB,EAAE;YACxC,2BAA2B,EAAE,UAAU,CAAC,SAAS;YACjD,0BAA0B,EAAE,QAAQ;SACrC,CAAC,oBACc,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,mCACvB,QAAQ,oCACP,UAAU,CAAC,SAAS,EACpD,EAAE,EAAE,QAAQ,EAAE,IAAI,MAAM,EAAE,sBACT,gBAAgB;QAEjC,uCAAK,SAAS,EAAC,4BAA4B;YACxC,CAAC,MAAM,EAAE,QAAQ,IAAI,CACpB,wCACE,SAAS,EAAE,IAAA,oBAAU,EAAC;oBACpB,4BAA4B,EAAE,QAAQ;oBACtC,gCAAgC,EAC9B,CAAC,QAAQ,IAAI,UAAU,CAAC,SAAS;iBACpC,CAAC,GACI,CACT;YACA,MAAM,EAAE,QAAQ,IAAI,UAAU,CAAC,SAAS,IAAI,CAC3C,8BAAC,kBAAQ,IACP,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAC1B,SAAS,EAAE,MAAM,EAAE,SAAS,EAC5B,UAAU,EAAE,MAAM,EAAE,UAAU,EAC9B,SAAS,EAAE,oCAAoC,GAC/C,CACH;YACD,uCAAK,SAAS,EAAC,kCAAkC;gBAC/C,uCAAK,SAAS,EAAC,wBAAwB;oBACpC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CACtB,wCAAM,SAAS,EAAC,0DAA0D,mBAEnE,CACR,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACb,wCAAM,SAAS,EAAC,yBAAyB,kBAAmB,CAC7D,CAAC,CAAC,CAAC,CACF,EAAE,CACH;oBACD;wBACE,8BAAC,mBAAS,IACR,kBAAkB,EAAE,aAAa,IAAI,kBAAkB,EACvD,QAAQ,EAAC,UAAU,GACnB,CACG,CACH;gBACN,uCAAK,SAAS,EAAC,0BAA0B;oBACvC,8BAAC,gBAAM,IAAC,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,GAAI,CACtD,CACF,CACF;QACL,qBAAqB,IAAI,CACxB,uCAAK,SAAS,EAAC,iCAAiC,oBAAoB,CACrE;QACA,KAAK,IAAI,sCAAI,SAAS,EAAC,yBAAyB,IAAE,KAAK,CAAM;QAC7D,QAAQ,CAAC,CAAC,CAAC,CACV,2DACmB,YAAY,EAC7B,SAAS,EAAC,YAAY,+BACI,GAAG,mCACE,iBAAiB,EAAE,2CACX,aAAa,0CACd,eAAe;YAErD,uCAAK,SAAS,EAAC,qBAAqB,IAAE,QAAQ,CAAO;YACrD,qCAAG,SAAS,EAAC,6CAA6C;gBACxD,wCAAM,SAAS,EAAC,6BAA6B,aAAc,CACzD,CACA,CACP,CAAC,CAAC,CAAC,CACF,QAAQ,CACT;QACD,uCAAK,SAAS,EAAC,4BAA4B,IACxC,gBAAgB,IAAI,CACnB,8BAAC,sBAAY,IACX,MAAM,EAAE,EAAE,IAAI,MAAM,EACpB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,GACZ,CACH,CACG;QACL,EAAS,CACF,CACX,CAAA;AACH,CAAC,CAAA;AAEQ,oCAAY"}
@@ -138,7 +138,7 @@ class BaseLiveBlogWrapper extends react_1.Component {
138
138
  }
139
139
  return 0;
140
140
  });
141
- const postElements = posts.map((post, index) => (react_1.default.createElement(LiveBlogPost_1.LiveBlogPost, { key: `live-blog-post-${post.id}`, ...post, articleUrl: articleUrl, showShareButtons: showShareButtons, ad: ads[index], backToTop: this.props.backToTop })));
141
+ const postElements = posts.map((post, index) => (react_1.default.createElement(LiveBlogPost_1.LiveBlogPost, { key: `live-blog-post-${post.id}`, ...post, articleUrl: articleUrl, showShareButtons: showShareButtons, ad: ads[index] })));
142
142
  return (react_1.default.createElement("div", { className: "x-live-blog-wrapper", "data-live-blog-wrapper-id": id, ref: liveBlogWrapperElementRef }, postElements));
143
143
  }
144
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/LiveBlogWrapper/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/LiveBlogWrapper/index.tsx"],"names":[],"mappings":"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"}
@@ -121,7 +121,7 @@ function RichText({ structuredContent, components, }) {
121
121
  ...components,
122
122
  };
123
123
  const tree = structuredContent.tree;
124
- return (react_1.default.createElement(react_1.default.Fragment, null, tree.children.map((node, index) => (react_1.default.createElement(RichTextChild, { node: node, parentIndex: index, key: index, components: componentsWithOverrides, references: structuredContent.references ?? [] })))));
124
+ return (react_1.default.createElement(react_1.default.Fragment, null, tree?.children?.map((node, index) => (react_1.default.createElement(RichTextChild, { node: node, parentIndex: index, key: index, components: componentsWithOverrides, references: structuredContent.references ?? [] })))));
125
125
  }
126
126
  exports.default = RichText;
127
127
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/RichText/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/RichText/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+CAKc;AACd,iEAAwC;AACxC,wDAAqD;AACrD,sCAA8C;AAC9C,6DAAoC;AACpC,qDAA4B;AAC5B,2DAAkC;AAClC,yDAAgC;AAChC,6DAAoC;AACpC,qDAA4B;AAC5B,qDAA4B;AAC5B,mDAA0B;AAC1B,6DAAoC;AAEpC,uDAc0B;AAI1B,mEAA0C;AAC1C,kDAA8C;AAC9C,sDAK0B;AAC1B,iEAA6D;AAC7D,mEAA0C;AAW7B,QAAA,iBAAiB,GAAG,IAAA,qBAAa,EAE5C,EAAE,CAAC,CAAA;AAcL;;GAEG;AAEH,MAAM,YAAY,GAA+B;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ;IACnC,YAAY,EAAE,mBAAS;IACvB,IAAI,EAAE,sBAAI;IACV,UAAU,EAAE,4BAAU;IACtB,KAAK,EAAE,2BAAS;IAChB,UAAU,EAAE,cAAI;IAChB,IAAI,EAAE,cAAI;IACV,QAAQ,EAAE,0BAAQ;IAClB,QAAQ,EAAE,kBAAQ;IAClB,OAAO,EAAE,iBAAO;IAChB,WAAW,EAAE,kBAAQ;IACrB,cAAc,EAAE,kBAAQ;IACxB,aAAa,EAAE,mBAAU;IACzB,MAAM,EAAE,eAAM;IACd,IAAI,EAAE,sBAAI;IACV,WAAW,EAAE,0BAAQ;IACrB,IAAI,EAAE,sBAAI;IACV,SAAS,EAAE,mBAAS;IACpB,SAAS,EAAE,mBAAS;IACpB,WAAW,EAAE,wBAAa;IAC1B,WAAW,EAAE,qBAAW;IACxB,eAAe,EAAE,6BAAY;IAC7B,cAAc,EAAE,4BAAW;IAC3B,iBAAiB,EAAE,+BAAc;IACjC,eAAe,EAAE,2BAAY;IAC7B,iBAAiB,EAAE,+BAAc;IACjC,aAAa,EAAE,+BAAa;IAC5B,MAAM,EAAE,wBAAM;IACd,YAAY,EAAE,mBAAS;IACvB,eAAe,EAAE,8BAAY;IAC7B,YAAY,EAAE,qBAAS;IACvB,cAAc,EAAE,6BAAW;IAC3B,WAAW,EAAE,0BAAQ;IACrB,KAAK,EAAE,eAAK;IACZ,gBAAgB,EAAE,gCAAc;IAChC,KAAK,EAAE,eAAK;IACZ,KAAK,EAAE,eAAK;IACZ,eAAe,EAAE,sBAAY;CAC9B,CAAA;AAED,SAAS,YAAY,CACnB,IAAuD;IAEvD,OAAO,UAAU,IAAI,IAAI,CAAA;AAC3B,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,EACrB,IAAI,EACJ,UAAU,EACV,UAAU,EACV,WAAW,GAMZ,EAAE,EAAE;IACH,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;QACxB,OAAO,8DAAG,IAAI,CAAC,KAAK,CAAI,CAAA;KACzB;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAA;IAE9D,IAAI,SAAS,EAAE;QACb,MAAM,QAAQ,GAAgB,YAAY,CAAC,IAAI,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC,QAAQ;iBACV,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACrB,8BAAC,aAAa,IACZ,IAAI,EAAE,KAAuC,EAC7C,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,KAAK,EAClB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACtB,CACH,CAAC;iBACD,MAAM,CAAC,OAAO,CAAC;YACpB,CAAC,CAAC,EAAE,CAAA;QAEN,MAAM,SAAS,GACb,OAAO,IAAI,CAAC,IAAI,EAAE,cAAc,KAAK,QAAQ;YAC3C,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;YACvC,CAAC,CAAC,EAAE,CAAA;QAER,OAAO,CACL,8BAAC,SAAS,OACJ,IAAI,KACJ,SAAS,EACb,GAAG,EAAE,WAAW,EAChB,WAAW,EAAE,WAAW,IAEvB,QAAQ,CACC,CACb,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,SAAwB,QAAQ,CAAC,EAC/B,iBAAiB,EACjB,UAAU,GACI;IACd,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,uBAAuB,GAAG;QAC9B,GAAG,YAAY;QACf,GAAG,IAAA,kBAAU,EAAC,yBAAiB,CAAC;QAChC,GAAG,UAAU;KACd,CAAA;IAED,MAAM,IAAI,GAAqB,iBAAiB,CAAC,IAAI,CAAA;IAErD,OAAO,CACL,8DACG,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,8BAAC,aAAa,IACZ,IAAI,EAAE,IAAsC,EAC5C,WAAW,EAAE,KAAK,EAClB,GAAG,EAAE,KAAK,EACV,UAAU,EAAE,uBAAuB,EACnC,UAAU,EAAE,iBAAiB,CAAC,UAAU,IAAI,EAAE,GAC9C,CACH,CAAC,CACD,CACJ,CAAA;AACH,CAAC;AA7BD,2BA6BC"}
@@ -7,9 +7,10 @@ type TagsProps = {
7
7
  displayConcept?: ConceptFragment;
8
8
  genreConcept?: ConceptFragment;
9
9
  brandConcept?: ConceptFragment;
10
+ hasColumnist?: boolean;
10
11
  followButtonVariant?: TopperFragment['followButtonVariant'];
11
12
  FollowButtonSlot?: FollowButtonSlot;
12
13
  headshot?: string;
13
14
  };
14
- export default function Tags({ __typename, isPackage, displayConcept, genreConcept, brandConcept, followButtonVariant, headshot, FollowButtonSlot, }: TagsProps): React.JSX.Element;
15
+ export default function Tags({ __typename, isPackage, displayConcept, genreConcept, brandConcept, hasColumnist, followButtonVariant, headshot, FollowButtonSlot, }: TagsProps): React.JSX.Element;
15
16
  export {};
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
- function Tags({ __typename, isPackage, displayConcept, genreConcept, brandConcept, followButtonVariant, headshot, FollowButtonSlot, }) {
7
+ function Tags({ __typename, isPackage, displayConcept, genreConcept, brandConcept, hasColumnist, followButtonVariant, headshot, FollowButtonSlot, }) {
8
8
  const isOpinion = __typename === 'OpinionTopper';
9
9
  const concept = getConcept(displayConcept, genreConcept);
10
10
  const baseFollowButtonCondition = FollowButtonSlot && concept?.id;
11
- const additionalFollowButtonCondition = (isOpinion && !headshot) || !isOpinion;
11
+ const additionalFollowButtonCondition = (isOpinion && !headshot && !hasColumnist) || !isOpinion;
12
12
  const followButtonCondition = baseFollowButtonCondition && additionalFollowButtonCondition;
13
13
  return (react_1.default.createElement("div", { className: "o-topper__tags" }, isPackage && brandConcept?.id ? (react_1.default.createElement(ConceptLabel, { ...brandConcept })) : (!isPackage && (react_1.default.createElement("div", { className: "topper__primary-theme" },
14
14
  isOpinion && (react_1.default.createElement("span", { className: "o-topper__opinion-genre", "aria-label": "opinion article" }, `Opinion `)),