@financial-times/cp-content-pipeline-ui 13.4.0 → 13.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/lib/components/Topper/index.js +0 -10
- package/lib/components/Topper/index.js.map +1 -1
- package/lib/components/content-tree/Table/TableBody.js +1 -1
- package/lib/components/content-tree/Table/TableBody.js.map +1 -1
- package/package.json +3 -3
- package/src/components/Topper/index.tsx +0 -19
- package/src/components/content-tree/Table/TableBody.tsx +4 -2
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -574,6 +574,28 @@
|
|
|
574
574
|
* @financial-times/cp-content-pipeline-client bumped from ^3.7.2 to ^3.7.3
|
|
575
575
|
* @financial-times/cp-content-pipeline-schema bumped from ^2.10.1 to ^2.10.2
|
|
576
576
|
|
|
577
|
+
## [13.5.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v13.4.1...cp-content-pipeline-ui-v13.5.0) (2026-09-30)
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
### Features
|
|
581
|
+
|
|
582
|
+
* decommission Flourish Topper ([29808cc](https://github.com/Financial-Times/cp-content-pipeline/commit/29808ccdccb03b660ab2ade2d8661c56f278f899))
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
### Dependencies
|
|
586
|
+
|
|
587
|
+
* The following workspace dependencies were updated
|
|
588
|
+
* devDependencies
|
|
589
|
+
* @financial-times/cp-content-pipeline-client bumped from ^7.1.7 to ^7.2.0
|
|
590
|
+
* @financial-times/cp-content-pipeline-schema bumped from ^6.5.0 to ^6.6.0
|
|
591
|
+
|
|
592
|
+
## [13.4.1](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v13.4.0...cp-content-pipeline-ui-v13.4.1) (2026-09-25)
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
### Bug Fixes
|
|
596
|
+
|
|
597
|
+
* ci-3951 ensure heading is a table-row ([70dab05](https://github.com/Financial-Times/cp-content-pipeline/commit/70dab05ae167a7507af4dcde70b46b6b3e911d16))
|
|
598
|
+
|
|
577
599
|
## [13.4.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v13.3.2...cp-content-pipeline-ui-v13.4.0) (2026-09-17)
|
|
578
600
|
|
|
579
601
|
|
|
@@ -37,7 +37,6 @@ const Headshot_1 = __importDefault(require("../Headshot"));
|
|
|
37
37
|
const Columnists_1 = __importDefault(require("./Columnists"));
|
|
38
38
|
const LiveBlogIndicator_1 = __importDefault(require("./LiveBlogIndicator"));
|
|
39
39
|
const MainImage_1 = __importDefault(require("../MainImage"));
|
|
40
|
-
const Flourish_1 = __importDefault(require("../content-tree/Flourish"));
|
|
41
40
|
const classnames_1 = __importDefault(require("classnames"));
|
|
42
41
|
const Topper = ({ content, slot, followButtonSlot, showPremiumLabel = false, readNextSlot, }) => {
|
|
43
42
|
const { topper } = content;
|
|
@@ -48,7 +47,6 @@ const Topper = ({ content, slot, followButtonSlot, showPremiumLabel = false, rea
|
|
|
48
47
|
const isLiveBlog = content.__typename === 'LiveBlogPackage';
|
|
49
48
|
const isBasic = topper.__typename === 'BasicTopper';
|
|
50
49
|
const isOpinion = topper.__typename === 'OpinionTopper';
|
|
51
|
-
const isFlourish = topper.__typename === 'TopperWithFlourish' && !!topper.leadFlourish;
|
|
52
50
|
const mainImageTopper = isBasic || isOpinion || topper.__typename === 'BrandedTopper';
|
|
53
51
|
const hasLayout = ('layoutConfiguration' in topper && topper.layoutConfiguration) ||
|
|
54
52
|
('layout' in topper && topper.layout);
|
|
@@ -108,14 +106,6 @@ const Topper = ({ content, slot, followButtonSlot, showPremiumLabel = false, rea
|
|
|
108
106
|
react_1.default.createElement(Headline_1.default, { headline: topper.headline, showPremiumLabel: showPremiumLabel && content.accessLevel === 'premium', isLargeHeadline: ('isLargeHeadline' in topper && topper.isLargeHeadline) ??
|
|
109
107
|
undefined }),
|
|
110
108
|
topper.intro && (react_1.default.createElement(Intro_1.default, { structured: topper.intro.structured, source: topper.intro.source })),
|
|
111
|
-
isLiveBlog && isFlourish ? (react_1.default.createElement(Flourish_1.default, { content: {
|
|
112
|
-
type: 'flourish',
|
|
113
|
-
id: topper.leadFlourish.id ?? '',
|
|
114
|
-
flourishType: topper.leadFlourish.type ?? '',
|
|
115
|
-
description: topper.leadFlourish.description ?? '',
|
|
116
|
-
fallbackImage: topper.leadFlourish.fallbackImage ?? undefined,
|
|
117
|
-
layoutWidth: 'in-line',
|
|
118
|
-
}, iFrame: true, inArticleBody: false })) : (''),
|
|
119
109
|
hasLayout &&
|
|
120
110
|
mainImageTopper &&
|
|
121
111
|
topper.layoutConfiguration?.assetSlot === 'inside-topper' && (react_1.default.createElement(MainImage_1.default, { content: content })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Topper/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqD;AACrD,wDAA+B;AAC/B,8DAAqC;AACrC,kDAAyB;AACzB,0DAAiC;AACjC,oDAA2B;AAC3B,wDAA+B;AAC/B,2DAAkC;AAClC,8DAAqC;AACrC,4EAAmD;AACnD,6DAAoC;AAEpC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Topper/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ const react_1 = __importDefault(require("react"));
|
|
|
7
7
|
const TableBody = ({ children, content, }) => {
|
|
8
8
|
const tableRows = react_1.default.Children.toArray(children);
|
|
9
9
|
// hasLegacyHeaderRow is present to support legacy data structures where the heading has been put into the body with tagMappings on bodyXML, or with interim spark migration work
|
|
10
|
-
const hasLegacyHeaderRow = content.children
|
|
10
|
+
const hasLegacyHeaderRow = content.children.some((child) => child.type === 'table-row' && child.children.some((cell) => cell.heading));
|
|
11
11
|
const headerRow = hasLegacyHeaderRow ? tableRows.splice(0, 1) : null;
|
|
12
12
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
13
13
|
hasLegacyHeaderRow && react_1.default.createElement("thead", null, headerRow),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.js","sourceRoot":"","sources":["../../../../src/components/content-tree/Table/TableBody.tsx"],"names":[],"mappings":";;;;;AACA,kDAAyB;AAMzB,MAAM,SAAS,GAAsD,CAAC,EACpE,QAAQ,EACR,OAAO,GACR,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAElD,iLAAiL;IACjL,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"TableBody.js","sourceRoot":"","sources":["../../../../src/components/content-tree/Table/TableBody.tsx"],"names":[],"mappings":";;;;;AACA,kDAAyB;AAMzB,MAAM,SAAS,GAAsD,CAAC,EACpE,QAAQ,EACR,OAAO,GACR,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAElD,iLAAiL;IACjL,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAC9C,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAC5E,CAAA;IACD,MAAM,SAAS,GAAG,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEpE,OAAO,CACL;QACG,kBAAkB,IAAI,6CAAQ,SAAS,CAAS;QACjD,6CAAQ,SAAS,CAAS,CACzB,CACJ,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,SAAS,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@financial-times/cp-content-pipeline-ui",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.5.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"@dotcom-tool-kit/npm": "^5.0.1",
|
|
19
19
|
"@financial-times/consent-resolution": "^0.3.0",
|
|
20
20
|
"@financial-times/content-tree": "^0.23.0",
|
|
21
|
-
"@financial-times/cp-content-pipeline-client": "^7.
|
|
22
|
-
"@financial-times/cp-content-pipeline-schema": "^6.
|
|
21
|
+
"@financial-times/cp-content-pipeline-client": "^7.2.0",
|
|
22
|
+
"@financial-times/cp-content-pipeline-schema": "^6.6.0",
|
|
23
23
|
"@financial-times/cp-content-pipeline-styles": "^4.10.0",
|
|
24
24
|
"@financial-times/n-scrollytelling-image": "^1.1.0",
|
|
25
25
|
"@financial-times/o-grid": "^6.1.8",
|
|
@@ -10,7 +10,6 @@ import Columnists from './Columnists'
|
|
|
10
10
|
import LiveBlogIndicator from './LiveBlogIndicator'
|
|
11
11
|
import MainImage from '../MainImage'
|
|
12
12
|
import { FollowButtonSlot } from './FollowButtonSlot'
|
|
13
|
-
import Flourish from '../content-tree/Flourish'
|
|
14
13
|
import classnames from 'classnames'
|
|
15
14
|
import type { ArticleQuery } from '@financial-times/cp-content-pipeline-client'
|
|
16
15
|
|
|
@@ -39,8 +38,6 @@ const Topper: React.FC<TopperProps> = ({
|
|
|
39
38
|
const isLiveBlog = content.__typename === 'LiveBlogPackage'
|
|
40
39
|
const isBasic = topper.__typename === 'BasicTopper'
|
|
41
40
|
const isOpinion = topper.__typename === 'OpinionTopper'
|
|
42
|
-
const isFlourish =
|
|
43
|
-
topper.__typename === 'TopperWithFlourish' && !!topper.leadFlourish
|
|
44
41
|
const mainImageTopper =
|
|
45
42
|
isBasic || isOpinion || topper.__typename === 'BrandedTopper'
|
|
46
43
|
const hasLayout =
|
|
@@ -158,22 +155,6 @@ const Topper: React.FC<TopperProps> = ({
|
|
|
158
155
|
source={topper.intro.source}
|
|
159
156
|
/>
|
|
160
157
|
)}
|
|
161
|
-
{isLiveBlog && isFlourish ? (
|
|
162
|
-
<Flourish
|
|
163
|
-
content={{
|
|
164
|
-
type: 'flourish',
|
|
165
|
-
id: topper.leadFlourish.id ?? '',
|
|
166
|
-
flourishType: topper.leadFlourish.type ?? '',
|
|
167
|
-
description: topper.leadFlourish.description ?? '',
|
|
168
|
-
fallbackImage: topper.leadFlourish.fallbackImage ?? undefined,
|
|
169
|
-
layoutWidth: 'in-line',
|
|
170
|
-
}}
|
|
171
|
-
iFrame={true}
|
|
172
|
-
inArticleBody={false}
|
|
173
|
-
/>
|
|
174
|
-
) : (
|
|
175
|
-
''
|
|
176
|
-
)}
|
|
177
158
|
{hasLayout &&
|
|
178
159
|
mainImageTopper &&
|
|
179
160
|
topper.layoutConfiguration?.assetSlot === 'inside-topper' && (
|
|
@@ -12,8 +12,10 @@ const TableBody: React.FC<React.PropsWithChildren<TableBodyProps>> = ({
|
|
|
12
12
|
const tableRows = React.Children.toArray(children)
|
|
13
13
|
|
|
14
14
|
// hasLegacyHeaderRow is present to support legacy data structures where the heading has been put into the body with tagMappings on bodyXML, or with interim spark migration work
|
|
15
|
-
const hasLegacyHeaderRow =
|
|
16
|
-
|
|
15
|
+
const hasLegacyHeaderRow = content.children.some(
|
|
16
|
+
(child) =>
|
|
17
|
+
child.type === 'table-row' && child.children.some((cell) => cell.heading)
|
|
18
|
+
)
|
|
17
19
|
const headerRow = hasLegacyHeaderRow ? tableRows.splice(0, 1) : null
|
|
18
20
|
|
|
19
21
|
return (
|