@financial-times/cp-content-pipeline-ui 9.11.0 → 9.12.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 +27 -0
- package/lib/components/Topper/index.js +1 -1
- package/lib/components/Topper/index.js.map +1 -1
- package/lib/components/content-tree/Clip/components/ClipTag.d.ts +1 -0
- package/lib/components/content-tree/Clip/components/ClipTag.js +2 -2
- package/lib/components/content-tree/Clip/components/ClipTag.js.map +1 -1
- package/lib/components/content-tree/Clip/template/component.js +1 -1
- package/lib/components/content-tree/Clip/template/component.js.map +1 -1
- package/lib/components/content-tree/RecommendedList/index.js +6 -5
- package/lib/components/content-tree/RecommendedList/index.js.map +1 -1
- package/lib/components/content-tree/Workarounds.d.ts +1 -0
- package/lib/main.scss +6 -0
- package/package.json +4 -4
- package/src/components/Topper/index.tsx +2 -1
- package/src/components/content-tree/Clip/components/ClipTag.tsx +3 -0
- package/src/components/content-tree/Clip/template/component.tsx +1 -0
- package/src/components/content-tree/Clip/test/__snapshots__/snapshot.spec.tsx.snap +8 -0
- package/src/components/content-tree/RecommendedList/index.tsx +9 -10
- package/src/components/content-tree/Workarounds.ts +5 -5
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -574,6 +574,33 @@
|
|
|
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
|
+
## [9.12.1](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v9.12.0...cp-content-pipeline-ui-v9.12.1) (2025-12-09)
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
### Bug Fixes
|
|
581
|
+
|
|
582
|
+
* ensure headshot only for one columnist ([63b1f54](https://github.com/Financial-Times/cp-content-pipeline/commit/63b1f54008b5019863508cef224e14ab67429695))
|
|
583
|
+
|
|
584
|
+
## [9.12.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v9.11.0...cp-content-pipeline-ui-v9.12.0) (2025-11-21)
|
|
585
|
+
|
|
586
|
+
|
|
587
|
+
### Features
|
|
588
|
+
|
|
589
|
+
* anchor links in clips ([f753082](https://github.com/Financial-Times/cp-content-pipeline/commit/f753082b61b1e5aa989cd1db901546eeee71fe83))
|
|
590
|
+
|
|
591
|
+
|
|
592
|
+
### Bug Fixes
|
|
593
|
+
|
|
594
|
+
* avoid fetching teaser data from RecommendedList resolver ([54bc53f](https://github.com/Financial-Times/cp-content-pipeline/commit/54bc53f9a40446667a9f93b85d710cd6a943157d))
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
### Dependencies
|
|
598
|
+
|
|
599
|
+
* The following workspace dependencies were updated
|
|
600
|
+
* devDependencies
|
|
601
|
+
* @financial-times/cp-content-pipeline-client bumped from ^4.20.0 to ^4.20.1
|
|
602
|
+
* @financial-times/cp-content-pipeline-schema bumped from ^3.19.0 to ^3.20.0
|
|
603
|
+
|
|
577
604
|
## [9.11.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v9.10.0...cp-content-pipeline-ui-v9.11.0) (2025-11-11)
|
|
578
605
|
|
|
579
606
|
|
|
@@ -65,7 +65,7 @@ const Topper = ({ content, slot, followButtonSlot, showPremiumLabel = false, rea
|
|
|
65
65
|
const hasColumnists = 'columnists' in topper &&
|
|
66
66
|
!!topper.columnists &&
|
|
67
67
|
topper.columnists.length > 0;
|
|
68
|
-
const legacyHasColumnist = 'columnist' in topper &&
|
|
68
|
+
const legacyHasColumnist = 'columnist' in topper && topper.columnist && !hasColumnists; // @deprecated Replaced with usage of `columinists`
|
|
69
69
|
const hasOneColumnist = (hasColumnists && topper.columnists.length === 1) || legacyHasColumnist;
|
|
70
70
|
const oneColumnist = hasOneColumnist
|
|
71
71
|
? hasColumnists
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Topper/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqD;AACrD,wDAA+B;AAC/B,kDAAyB;AACzB,0DAAiC;AACjC,oDAA2B;AAC3B,wDAA+B;AAC/B,2DAAkC;AAClC,8DAAqC;AACrC,4EAAmD;AAEnD,wEAA+C;AAC/C,4DAAmC;AAKnC,mFAA0D;AAU1D,MAAM,mBAAmB,GAGrB;IACF,oBAAoB,EAAE,CAAC,WAAW,EAAE,EAAE,CACpC,gCAAgC,WAAW,6EAA6E;IAC1H,yBAAyB,EAAE,CAAC,WAAW,EAAE,EAAE,CACzC,6CAA6C,WAAW,EAAE;IAC5D,kBAAkB,EAAE,CAAC,WAAW,EAAE,EAAE,CAClC,yGAAyG,WAAW,EAAE;IACxH,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,CACvB,6CAA6C,WAAW,iDAAiD;CAC5G,CAAA;AAED,MAAM,MAAM,GAA0B,CAAC,EACrC,OAAO,EACP,IAAI,EACJ,gBAAgB,EAChB,gBAAgB,GAAG,KAAK,EACxB,YAAY,GACb,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,CAAA;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,KAAK,gBAAgB,CAAA;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,iBAAiB,CAAA;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,KAAK,aAAa,CAAA;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,KAAK,eAAe,CAAA;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,KAAK,eAAe,CAAA;IACvD,MAAM,UAAU,GACd,MAAM,CAAC,UAAU,KAAK,oBAAoB,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAA;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,KAAK,OAAO,CAAA;IAC9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,KAAK,sBAAsB,CAAA;IACrE,MAAM,SAAS,GAAG,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAA;IACrD,MAAM,cAAc,GAAG,aAAa,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,CAAA;IACpE,MAAM,SAAS,GAAG,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAA;IACrD,MAAM,WAAW,GAAG,UAAU,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAA;IAC3D,MAAM,aAAa,GACjB,YAAY,IAAI,MAAM;QACtB,CAAC,CAAC,MAAM,CAAC,UAAU;QACnB,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9B,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Topper/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqD;AACrD,wDAA+B;AAC/B,kDAAyB;AACzB,0DAAiC;AACjC,oDAA2B;AAC3B,wDAA+B;AAC/B,2DAAkC;AAClC,8DAAqC;AACrC,4EAAmD;AAEnD,wEAA+C;AAC/C,4DAAmC;AAKnC,mFAA0D;AAU1D,MAAM,mBAAmB,GAGrB;IACF,oBAAoB,EAAE,CAAC,WAAW,EAAE,EAAE,CACpC,gCAAgC,WAAW,6EAA6E;IAC1H,yBAAyB,EAAE,CAAC,WAAW,EAAE,EAAE,CACzC,6CAA6C,WAAW,EAAE;IAC5D,kBAAkB,EAAE,CAAC,WAAW,EAAE,EAAE,CAClC,yGAAyG,WAAW,EAAE;IACxH,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,CACvB,6CAA6C,WAAW,iDAAiD;CAC5G,CAAA;AAED,MAAM,MAAM,GAA0B,CAAC,EACrC,OAAO,EACP,IAAI,EACJ,gBAAgB,EAChB,gBAAgB,GAAG,KAAK,EACxB,YAAY,GACb,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,CAAA;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,KAAK,gBAAgB,CAAA;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,iBAAiB,CAAA;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,KAAK,aAAa,CAAA;IACnD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,KAAK,eAAe,CAAA;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,KAAK,eAAe,CAAA;IACvD,MAAM,UAAU,GACd,MAAM,CAAC,UAAU,KAAK,oBAAoB,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAA;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,KAAK,OAAO,CAAA;IAC9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,KAAK,sBAAsB,CAAA;IACrE,MAAM,SAAS,GAAG,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAA;IACrD,MAAM,cAAc,GAAG,aAAa,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,CAAA;IACpE,MAAM,SAAS,GAAG,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAA;IACrD,MAAM,WAAW,GAAG,UAAU,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAA;IAC3D,MAAM,aAAa,GACjB,YAAY,IAAI,MAAM;QACtB,CAAC,CAAC,MAAM,CAAC,UAAU;QACnB,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9B,MAAM,kBAAkB,GACtB,WAAW,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,aAAa,CAAA,CAAC,mDAAmD;IACjH,MAAM,eAAe,GACnB,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,kBAAkB,CAAA;IACzE,MAAM,YAAY,GAAG,eAAe;QAClC,CAAC,CAAC,aAAa;YACb,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACtB,CAAC,CAAC,MAAM,CAAC,SAAS;QACpB,CAAC,CAAC,IAAI,CAAA;IACR,MAAM,WAAW,GAAG,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAA;IACjE,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAA;IAErE,MAAM,SAAS,GAAa,EAAE,CAAA;IAE9B,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtC,SAAS,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IACpE,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1C,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC7C,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACpC,cAAc;QACZ,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAE9E,MAAM,eAAe,GACnB,SAAS,IAAI,YAAY;QACvB,CAAC,CAAC,gBAAgB,YAAY,CAAC,SAAS,EAAE;QAC1C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,EAAE,CAAA;IAER,MAAM,8BAA8B,GAAG,GAAG,EAAE;QAC1C,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAA;QAEhD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,OAAO,EAAE,aAAa,IAAI,EAAE,CAAA;YAE1C,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAM,CAC1C,CAAC,iBAAiB,EAAE,WAAW,EAAE,EAAE;gBACjC,MAAM,QAAQ,GAAG,WAAW,EAAE,aAAa,IAAI,EAAE,CAAA;gBACjD,OAAO,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAA;YACpE,CAAC,EACD,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,IAAI,EAAE,CAC9B,CAAA;YAED,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,OAAO,uBAAuB,CAAA;YAChC,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAA;IAC3B,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,cAAc;QAC/B,CAAC,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,WAAW,IAAI,aAAa,CAAC;QACnE,CAAC,CAAC,gCACE,WAAW,IAAI,aACjB,6EAA6E,CAAA;IAEjF,OAAO,CACL,8BAAC,gBAAQ;QAEN,gBAAgB,IAAI,CACnB,8BAAC,8BAAoB,IACnB,IAAI,EAAE,WAAW,IAAI,SAAS,EAC9B,UAAU,EAAE,UAAU,IAAI,EAAE,GAC5B,CACH;QACD,uCACE,SAAS,EAAE,IAAA,oBAAU,EAAC;gBACpB,gBAAgB,EAAE,IAAI;gBACtB,+BAA+B,EAAE,UAAU;aAC5C,CAAC;YAEF,8BAAC,iBAAO,IACN,eAAe,EAAE,MAAM,CAAC,gBAAgB,IAAI,SAAS,EACrD,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS;gBAEpB,uCACE,SAAS,EAAE,IAAA,oBAAU,EAAC,mBAAmB,EAAE;wBACzC,gCAAgC,EAAE,MAAM,CAAC,UAAU;wBACnD,mCAAmC,EAAE,MAAM,CAAC,aAAa;qBAC1D,CAAC,EACF,EAAE,EAAC,UAAU;oBAEZ,UAAU,CAAC,CAAC,CAAC,CACZ,uCAAK,SAAS,EAAC,gBAAgB;wBAC7B,8BAAC,2BAAiB,IAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS,EACvC,mBAAmB,EAAE,8BAA8B,EAAE,GACrD,CACE,CACP,CAAC,CAAC,CAAC,CACF,8BAAC,cAAI,IACH,UAAU,EAAE,MAAM,CAAC,UAAU,EAC7B,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,SAAS,EAClD,YAAY,EACV,CAAC,cAAc,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,SAAS,EAEhE,YAAY,EACV,CAAC,cAAc,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,SAAS,EAEhE,QAAQ,EAAE,WAAW,IAAI,SAAS,EAClC,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAC/C,gBAAgB,EAAE,gBAAgB,GAClC,CACH;oBACD,8BAAC,kBAAQ,IACP,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,gBAAgB,EACd,gBAAgB,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAEvD,eAAe,EACb,CAAC,iBAAiB,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC;4BACvD,SAAS,GAEX;oBACD,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAC1B,8BAAC,kBAAQ,IACP,OAAO,EAAE;4BACP,IAAI,EAAE,UAAU;4BAChB,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE;4BAChC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;4BAC5C,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE;4BAClD,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,aAAa,IAAI,SAAS;yBAC9D,EACD,MAAM,EAAE,IAAI,EACZ,aAAa,EAAE,KAAK,GACpB,CACH,CAAC,CAAC,CAAC,CACF,EAAE,CACH;oBACA,MAAM,CAAC,KAAK,IAAI,CACf,8BAAC,eAAK,IACJ,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EACnC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,GAC3B,CACH;oBACA,WAAW,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,YAAY,IAAI,CACvD,uCAAK,SAAS,EAAC,oBAAoB;wBACjC,8BAAC,kBAAQ,IACP,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,SAAS,EAAE,YAAY,CAAC,SAAS,EACjC,SAAS,EAAE,0BAA0B,EACrC,OAAO,EAAE,eAAe,GACxB,CACE,CACP;oBACA,SAAS,IAAI,aAAa,IAAI,CAC7B,8BAAC,oBAAU,IACT,cAAc,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EACtC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAC/C,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CACG;gBACL,YAAY,IAAI,CACf,uCAAK,SAAS,EAAC,qBAAqB,IAAE,YAAY,EAAE,CAAO,CAC5D;gBACD,uCAAK,SAAS,EAAC,sBAAsB,GAAG;gBACvC,QAAQ,IAAI,MAAM,IAAI,8BAAC,iBAAO,IAAC,MAAM,EAAE,MAAM,GAAI,CAC1C,CACN,CACG,CACZ,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -7,7 +7,7 @@ exports.ClipTag = void 0;
|
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const index_1 = require("./index");
|
|
9
9
|
const FixedAspectRatio_1 = require("../../../FixedAspectRatio/FixedAspectRatio");
|
|
10
|
-
const ClipTag = ({ id, dataLayout, description, poster, autoplay, noAudio, loop, muted, clip, credits, caption, accessibility, preload, noDescription = false, noInfoBox = false, noCaption = false, maxClipWidth = 0, dataTrackable, systemTitle, }) => {
|
|
10
|
+
const ClipTag = ({ id, dataLayout, description, poster, autoplay, noAudio, loop, muted, clip, credits, caption, accessibility, preload, noDescription = false, noInfoBox = false, noCaption = false, maxClipWidth = 0, dataTrackable, systemTitle, fragmentIdentifier, }) => {
|
|
11
11
|
const { pixelWidth, pixelHeight } = clip?.dataSource?.[0]
|
|
12
12
|
? clip.dataSource[0]
|
|
13
13
|
: { pixelWidth: 0, pixelHeight: 0 };
|
|
@@ -33,7 +33,7 @@ const ClipTag = ({ id, dataLayout, description, poster, autoplay, noAudio, loop,
|
|
|
33
33
|
return 0;
|
|
34
34
|
};
|
|
35
35
|
const lastVideoIndex = getLastVideoIndex();
|
|
36
|
-
return (react_1.default.createElement("div", { "data-cp-clip-layout": dataLayout, "data-cp-clip-poster": poster, "data-cp-clip-autoplay": autoplay, "data-cp-clip-no-audio": noAudio, "data-cp-clip-no-description": noDescription, "data-cp-clip-caption": caption, "data-cp-clip-no-info-box": noInfoBox, "data-cp-clip-no-caption": noCaption, "data-cp-clip-closed-caption": Boolean(accessibility?.captions?.[0]?.url), "data-cp-clip-loop": loop, className: "cp-clip", "data-trackable": dataTrackable, "data-o-component": "cp-clip", "data-cp-clip-id": id, "data-cp-clip-system-title": systemTitle },
|
|
36
|
+
return (react_1.default.createElement("div", { "data-cp-clip-layout": dataLayout, "data-cp-clip-poster": poster, "data-cp-clip-autoplay": autoplay, "data-cp-clip-no-audio": noAudio, "data-cp-clip-no-description": noDescription, "data-cp-clip-caption": caption, "data-cp-clip-no-info-box": noInfoBox, "data-cp-clip-no-caption": noCaption, "data-cp-clip-closed-caption": Boolean(accessibility?.captions?.[0]?.url), "data-cp-clip-loop": loop, className: "cp-clip", "data-trackable": dataTrackable, "data-o-component": "cp-clip", "data-cp-clip-id": id, "data-cp-clip-system-title": systemTitle, id: fragmentIdentifier },
|
|
37
37
|
!noInfoBox && react_1.default.createElement(index_1.VideoInfoBox, null),
|
|
38
38
|
react_1.default.createElement("div", { className: "cp-clip__video-container" },
|
|
39
39
|
react_1.default.createElement(FixedAspectRatio_1.FixedAspectRatio, { width: pixelWidth, height: pixelHeight, element: "video", className: "cp-clip__video", controls: true, controlsList: "nodownload noremoteplayback noplaybackrate", disablePictureInPicture: true, disableRemotePlayback: true, playsInline: true, muted: muted, loop: loop, poster: poster, preload: preload, id: `clip-${id}`, crossOrigin: "anonymous" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClipTag.js","sourceRoot":"","sources":["../../../../../src/components/content-tree/Clip/components/ClipTag.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,mCAKgB;AAChB,iFAA6E;
|
|
1
|
+
{"version":3,"file":"ClipTag.js","sourceRoot":"","sources":["../../../../../src/components/content-tree/Clip/components/ClipTag.tsx"],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,7 @@ const ClipComponent = ({ content, preset = 'full-player', preload = 'auto', maxC
|
|
|
40
40
|
}
|
|
41
41
|
return (react_1.default.createElement(components_1.ContentLayout, { dataLayout: content.dataLayout },
|
|
42
42
|
react_1.default.createElement(components_1.Container, { dataLayout: content.dataLayout },
|
|
43
|
-
react_1.default.createElement(components_1.ClipTag, { id: id, dataLayout: content.dataLayout, description: content.description ?? '', poster: posterAttribute, autoplay: content.autoplay, noAudio: noAudio, loop: content.loop, muted: content.muted, clip: clip, credits: content.credits ?? '', caption: content.caption ?? '', systemTitle: systemTitle, accessibility: accessibility, preload: preload, dataTrackable: "next-article-cp-clip", maxClipWidth: maxClipWidth }))));
|
|
43
|
+
react_1.default.createElement(components_1.ClipTag, { id: id, dataLayout: content.dataLayout, description: content.description ?? '', poster: posterAttribute, autoplay: content.autoplay, noAudio: noAudio, loop: content.loop, muted: content.muted, clip: clip, credits: content.credits ?? '', caption: content.caption ?? '', systemTitle: systemTitle, accessibility: accessibility, preload: preload, dataTrackable: "next-article-cp-clip", maxClipWidth: maxClipWidth, fragmentIdentifier: content.fragmentIdentifier ?? '' }))));
|
|
44
44
|
};
|
|
45
45
|
exports.default = ClipComponent;
|
|
46
46
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../../src/components/content-tree/Clip/template/component.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../../src/components/content-tree/Clip/template/component.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,18 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
//HACK: worked around missing Teaser type by declaring a module x-teaser.d.ts
|
|
8
8
|
const x_teaser_1 = require("@financial-times/x-teaser");
|
|
9
|
-
const RecommendedList = ({ content
|
|
10
|
-
|
|
9
|
+
const RecommendedList = ({ content }) => {
|
|
10
|
+
const { heading, children } = content;
|
|
11
|
+
if (!children || children.length === 0) {
|
|
11
12
|
return null;
|
|
12
13
|
}
|
|
13
14
|
return (react_1.default.createElement("aside", { "aria-labelledby": "aside-label", className: "n-content-recommended-list", "data-component": "recommended-list" },
|
|
14
15
|
react_1.default.createElement("p", { className: "n-content-recommended-list__title o3-type-title-lg" }, heading),
|
|
15
|
-
react_1.default.createElement("div", { className: "n-content-recommended-list__teasers" },
|
|
16
|
-
prefLabel: teaser?.clientName,
|
|
16
|
+
react_1.default.createElement("div", { className: "n-content-recommended-list__teasers" }, children.map((child, index) => (react_1.default.createElement(x_teaser_1.Teaser, { key: child?.id || index, modifiers: ['stacked'], ...x_teaser_1.presets.SmallHeavy, ...child.teaser, metaPrefixText: 'By', metaLink: {
|
|
17
|
+
prefLabel: child.teaser?.clientName,
|
|
17
18
|
// clientName is a free form text field. Currently, there is no way to map it to an organisation
|
|
18
19
|
// from the annotations. For now, we're linking it to the article url.
|
|
19
20
|
// A property like isSponsoredBy could be added in future to support this properly.
|
|
20
|
-
url: teaser?.url,
|
|
21
|
+
url: child.teaser?.url,
|
|
21
22
|
} }))))));
|
|
22
23
|
};
|
|
23
24
|
exports.default = RecommendedList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/content-tree/RecommendedList/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAEzB,6EAA6E;AAC7E,wDAA2D;AAW3D,MAAM,eAAe,GAAmC,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/content-tree/RecommendedList/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAEzB,6EAA6E;AAC7E,wDAA2D;AAW3D,MAAM,eAAe,GAAmC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACtE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IACrC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,4DACkB,aAAa,EAC7B,SAAS,EAAC,4BAA4B,oBACvB,kBAAkB;QAEjC,qCAAG,SAAS,EAAC,oDAAoD,IAC9D,OAAO,CACN;QACJ,uCAAK,SAAS,EAAC,qCAAqC,IACjD,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,8BAAC,iBAAM,IACL,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,KAAK,EACvB,SAAS,EAAE,CAAC,SAAS,CAAC,KAClB,kBAAO,CAAC,UAAU,KAClB,KAAK,CAAC,MAAM,EAChB,cAAc,EAAE,IAAI,EACpB,QAAQ,EAAE;gBACR,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU;gBACnC,gGAAgG;gBAChG,sEAAsE;gBACtE,mFAAmF;gBACnF,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG;aACvB,GACD,CACH,CAAC,CACE,CACA,CACT,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,eAAe,CAAA"}
|
|
@@ -83,6 +83,7 @@ interface ClipSetReferences {
|
|
|
83
83
|
subtitle?: string;
|
|
84
84
|
publishedDate?: string;
|
|
85
85
|
clips?: Clip[];
|
|
86
|
+
fragmentIdentifier?: string | undefined;
|
|
86
87
|
}
|
|
87
88
|
export type ClipSet = PartialToMaybeDeep<ReadonlyArrays<(ContentTreeWorkarounds.OldClip | ContentTreeWorkarounds.ClipSet) & ClipSetReferences>>;
|
|
88
89
|
export type RawImage = ContentTreeWorkarounds.RawImage & {
|
package/lib/main.scss
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
@import '@financial-times/cp-content-pipeline-styles/main';
|
|
2
|
+
@import '../src/components/BackToTopButton/client/main.scss';
|
|
3
|
+
@import '../src/components/Expander/client/main.scss';
|
|
4
|
+
@import '../src/components/Topper/client/main.scss';
|
|
5
|
+
@import '../src/components/content-tree/Clip/client/main.scss';
|
|
6
|
+
@import '../src/components/content-tree/Flourish/client/main.scss';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@financial-times/cp-content-pipeline-ui",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.12.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"@babel/preset-env": "^7.22.5",
|
|
17
17
|
"@babel/preset-react": "^7.22.5",
|
|
18
18
|
"@financial-times/content-tree": "github:financial-times/content-tree#3f77ec4",
|
|
19
|
-
"@financial-times/cp-content-pipeline-client": "^4.20.
|
|
20
|
-
"@financial-times/cp-content-pipeline-schema": "^3.
|
|
19
|
+
"@financial-times/cp-content-pipeline-client": "^4.20.1",
|
|
20
|
+
"@financial-times/cp-content-pipeline-schema": "^3.20.0",
|
|
21
21
|
"@financial-times/cp-content-pipeline-styles": "^4.5.0",
|
|
22
22
|
"@financial-times/n-scrollytelling-image": "^1.1.0",
|
|
23
23
|
"@financial-times/o-grid": "^6.1.8",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"webpack": "^5.88.1"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@dotcom-tool-kit/npm": "^
|
|
53
|
+
"@dotcom-tool-kit/npm": "^5.0.0",
|
|
54
54
|
"@financial-times/ft-date-format": "^2.1.0",
|
|
55
55
|
"@financial-times/o-expander": "^7.0.1",
|
|
56
56
|
"@financial-times/o-labels": "^7.1.2",
|
|
@@ -69,7 +69,8 @@ const Topper: React.FC<TopperProps> = ({
|
|
|
69
69
|
'columnists' in topper &&
|
|
70
70
|
!!topper.columnists &&
|
|
71
71
|
topper.columnists.length > 0
|
|
72
|
-
const legacyHasColumnist =
|
|
72
|
+
const legacyHasColumnist =
|
|
73
|
+
'columnist' in topper && topper.columnist && !hasColumnists // @deprecated Replaced with usage of `columinists`
|
|
73
74
|
const hasOneColumnist =
|
|
74
75
|
(hasColumnists && topper.columnists.length === 1) || legacyHasColumnist
|
|
75
76
|
const oneColumnist = hasOneColumnist
|
|
@@ -29,6 +29,7 @@ interface ClipTagProps {
|
|
|
29
29
|
caption?: string
|
|
30
30
|
preload?: string
|
|
31
31
|
systemTitle?: string
|
|
32
|
+
fragmentIdentifier?: string //a unique identifier used to locate the component inside a page for features like scrolling to it
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
export const ClipTag: React.FC<ClipTagProps> = ({
|
|
@@ -51,6 +52,7 @@ export const ClipTag: React.FC<ClipTagProps> = ({
|
|
|
51
52
|
maxClipWidth = 0,
|
|
52
53
|
dataTrackable,
|
|
53
54
|
systemTitle,
|
|
55
|
+
fragmentIdentifier,
|
|
54
56
|
}) => {
|
|
55
57
|
const { pixelWidth, pixelHeight } = clip?.dataSource?.[0]
|
|
56
58
|
? clip.dataSource[0]
|
|
@@ -104,6 +106,7 @@ export const ClipTag: React.FC<ClipTagProps> = ({
|
|
|
104
106
|
data-o-component="cp-clip"
|
|
105
107
|
data-cp-clip-id={id}
|
|
106
108
|
data-cp-clip-system-title={systemTitle}
|
|
109
|
+
id={fragmentIdentifier}
|
|
107
110
|
>
|
|
108
111
|
{!noInfoBox && <VideoInfoBox />}
|
|
109
112
|
<div className="cp-clip__video-container">
|
|
@@ -17,6 +17,7 @@ exports[`Clip Snapshot component rendered on server full-grid default render 1`]
|
|
|
17
17
|
data-o-component="cp-clip"
|
|
18
18
|
data-cp-clip-id="localhost:8080/fakevideo.mpg"
|
|
19
19
|
data-cp-clip-system-title=""
|
|
20
|
+
id=""
|
|
20
21
|
>
|
|
21
22
|
<div
|
|
22
23
|
data-o-component="o-expander"
|
|
@@ -87,6 +88,7 @@ exports[`Clip Snapshot component rendered on server full-grid render with attrib
|
|
|
87
88
|
data-o-component="cp-clip"
|
|
88
89
|
data-cp-clip-id="localhost:8080/fakevideo.mpg"
|
|
89
90
|
data-cp-clip-system-title=""
|
|
91
|
+
id=""
|
|
90
92
|
>
|
|
91
93
|
<div
|
|
92
94
|
data-o-component="o-expander"
|
|
@@ -188,6 +190,7 @@ exports[`Clip Snapshot component rendered on server in-line render 1`] = `
|
|
|
188
190
|
data-o-component="cp-clip"
|
|
189
191
|
data-cp-clip-id="localhost:8080/fakevideo.mpg"
|
|
190
192
|
data-cp-clip-system-title=""
|
|
193
|
+
id=""
|
|
191
194
|
>
|
|
192
195
|
<div
|
|
193
196
|
data-o-component="o-expander"
|
|
@@ -256,6 +259,7 @@ exports[`Clip Snapshot component rendered on server in-line render with attribut
|
|
|
256
259
|
data-o-component="cp-clip"
|
|
257
260
|
data-cp-clip-id="localhost:8080/fakevideo.mpg"
|
|
258
261
|
data-cp-clip-system-title=""
|
|
262
|
+
id=""
|
|
259
263
|
>
|
|
260
264
|
<div
|
|
261
265
|
data-o-component="o-expander"
|
|
@@ -361,6 +365,7 @@ exports[`Clip Snapshot component rendered on server mid-grid default render 1`]
|
|
|
361
365
|
data-o-component="cp-clip"
|
|
362
366
|
data-cp-clip-id="localhost:8080/fakevideo.mpg"
|
|
363
367
|
data-cp-clip-system-title=""
|
|
368
|
+
id=""
|
|
364
369
|
>
|
|
365
370
|
<div
|
|
366
371
|
data-o-component="o-expander"
|
|
@@ -436,6 +441,7 @@ exports[`Clip Snapshot component rendered on server mid-grid render with attribu
|
|
|
436
441
|
data-o-component="cp-clip"
|
|
437
442
|
data-cp-clip-id="localhost:8080/fakevideo.mpg"
|
|
438
443
|
data-cp-clip-system-title=""
|
|
444
|
+
id=""
|
|
439
445
|
>
|
|
440
446
|
<div
|
|
441
447
|
data-o-component="o-expander"
|
|
@@ -544,6 +550,7 @@ exports[`Clip Snapshot component rendered on server renders multiple video sourc
|
|
|
544
550
|
data-o-component="cp-clip"
|
|
545
551
|
data-cp-clip-id="84d7e1b0-e8b2-4ffc-a798-306f29dc9d52"
|
|
546
552
|
data-cp-clip-system-title=""
|
|
553
|
+
id=""
|
|
547
554
|
>
|
|
548
555
|
<div
|
|
549
556
|
data-o-component="o-expander"
|
|
@@ -655,6 +662,7 @@ exports[`Clip Snapshot component rendered on server supports new Origami images,
|
|
|
655
662
|
data-o-component="cp-clip"
|
|
656
663
|
data-cp-clip-id="localhost:8080/fakevideo.mpg"
|
|
657
664
|
data-cp-clip-system-title=""
|
|
665
|
+
id=""
|
|
658
666
|
>
|
|
659
667
|
<div
|
|
660
668
|
data-o-component="o-expander"
|
|
@@ -5,17 +5,16 @@ import { presets, Teaser } from '@financial-times/x-teaser'
|
|
|
5
5
|
import { ContentProps } from '../../types'
|
|
6
6
|
import type * as ComponentWorkarounds from '../Workarounds'
|
|
7
7
|
|
|
8
|
-
// Renders a Recommended teaser
|
|
8
|
+
// Renders a Recommended teaser componentx
|
|
9
9
|
// `<Teaser>` is imported from x-dash
|
|
10
10
|
// https://github.com/Financial-Times/x-dash/tree/main/components/x-teaser)
|
|
11
11
|
|
|
12
12
|
interface RecommendedListProps
|
|
13
13
|
extends ContentProps<ComponentWorkarounds.RecommendedList> {}
|
|
14
14
|
|
|
15
|
-
const RecommendedList: React.FC<RecommendedListProps> = ({
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (!teasers || teasers.length === 0) {
|
|
15
|
+
const RecommendedList: React.FC<RecommendedListProps> = ({ content }) => {
|
|
16
|
+
const { heading, children } = content
|
|
17
|
+
if (!children || children.length === 0) {
|
|
19
18
|
return null
|
|
20
19
|
}
|
|
21
20
|
|
|
@@ -29,19 +28,19 @@ const RecommendedList: React.FC<RecommendedListProps> = ({
|
|
|
29
28
|
{heading}
|
|
30
29
|
</p>
|
|
31
30
|
<div className="n-content-recommended-list__teasers">
|
|
32
|
-
{
|
|
31
|
+
{children.map((child, index) => (
|
|
33
32
|
<Teaser
|
|
34
|
-
key={
|
|
33
|
+
key={child?.id || index}
|
|
35
34
|
modifiers={['stacked']}
|
|
36
35
|
{...presets.SmallHeavy}
|
|
37
|
-
{...teaser}
|
|
36
|
+
{...child.teaser}
|
|
38
37
|
metaPrefixText={'By'}
|
|
39
38
|
metaLink={{
|
|
40
|
-
prefLabel: teaser?.clientName,
|
|
39
|
+
prefLabel: child.teaser?.clientName,
|
|
41
40
|
// clientName is a free form text field. Currently, there is no way to map it to an organisation
|
|
42
41
|
// from the annotations. For now, we're linking it to the article url.
|
|
43
42
|
// A property like isSponsoredBy could be added in future to support this properly.
|
|
44
|
-
url: teaser?.url,
|
|
43
|
+
url: child.teaser?.url,
|
|
45
44
|
}}
|
|
46
45
|
/>
|
|
47
46
|
))}
|
|
@@ -87,7 +87,7 @@ export type Teaser = PartialToMaybeDeep<
|
|
|
87
87
|
>
|
|
88
88
|
|
|
89
89
|
export type Recommended = PartialToMaybe<
|
|
90
|
-
ContentTreeWorkarounds.Recommended & {
|
|
90
|
+
ContentTreeWorkarounds.Recommended & {
|
|
91
91
|
teaser?: Teaser
|
|
92
92
|
}
|
|
93
93
|
>
|
|
@@ -95,11 +95,10 @@ ContentTreeWorkarounds.Recommended & {
|
|
|
95
95
|
export type RecommendedList = PartialToMaybe<
|
|
96
96
|
ReadonlyArrays<
|
|
97
97
|
Omit<ContentTree.RecommendedList, 'children'> & {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
teasers?: (Teaser | null)[]
|
|
99
|
+
children: Recommended[]
|
|
100
|
+
}
|
|
101
101
|
>
|
|
102
|
-
|
|
103
102
|
>
|
|
104
103
|
|
|
105
104
|
export type ImageSetPicture = PartialToMaybe<
|
|
@@ -181,6 +180,7 @@ interface ClipSetReferences {
|
|
|
181
180
|
subtitle?: string
|
|
182
181
|
publishedDate?: string
|
|
183
182
|
clips?: Clip[]
|
|
183
|
+
fragmentIdentifier?: string | undefined
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
export type ClipSet = PartialToMaybeDeep<
|