@financial-times/cp-content-pipeline-ui 9.6.0 → 9.7.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 CHANGED
@@ -574,6 +574,29 @@
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.7.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v9.6.0...cp-content-pipeline-ui-v9.7.0) (2025-10-09)
578
+
579
+
580
+ ### Features
581
+
582
+ * map fragmentIdentifier from bodyXml ([44a0efc](https://github.com/Financial-Times/cp-content-pipeline/commit/44a0efc7be6133b53d059c551d257d9fc3739d98))
583
+ * surface fragmentIdentifier in components ([4bff1de](https://github.com/Financial-Times/cp-content-pipeline/commit/4bff1de55d375c669be514b82b9024033a4b4f07))
584
+
585
+
586
+ ### Reverts
587
+
588
+ * revert "feat: migrate image service to v3, remove v2 instances and update tests" ([cec2555](https://github.com/Financial-Times/cp-content-pipeline/commit/cec2555d20b96635fae2d404a9f7a7a9a6c8d1e1))
589
+ * revert "feat: update source to cp-content-pipeline-api" ([dd1b9f5](https://github.com/Financial-Times/cp-content-pipeline/commit/dd1b9f52bbfbc76585c6bcf9252921718b8fbe40))
590
+
591
+
592
+ ### Dependencies
593
+
594
+ * The following workspace dependencies were updated
595
+ * devDependencies
596
+ * @financial-times/cp-content-pipeline-client bumped from ^4.15.0 to ^4.16.0
597
+ * @financial-times/cp-content-pipeline-schema bumped from ^3.14.0 to ^3.15.0
598
+ * @financial-times/cp-content-pipeline-styles bumped from ^4.2.0 to ^4.2.1
599
+
577
600
  ## [9.6.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v9.5.0...cp-content-pipeline-ui-v9.6.0) (2025-09-29)
578
601
 
579
602
 
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const classnames_1 = __importDefault(require("classnames"));
8
8
  const Message_1 = __importDefault(require("../../Message"));
9
- const Flourish = ({ content: { id, flourishType, description, layoutWidth, fallbackImage }, iFrame = false, inArticleBody = true, }) => {
9
+ const Flourish = ({ content: { id, flourishType, description, layoutWidth, fallbackImage, fragmentIdentifier, }, iFrame = false, inArticleBody = true, }) => {
10
10
  if (!id)
11
11
  return null;
12
12
  const anchorHref = `#${id}`;
@@ -26,7 +26,7 @@ const Flourish = ({ content: { id, flourishType, description, layoutWidth, fallb
26
26
  aspectRatio: `${fallbackImage.width}/${fallbackImage.height}`,
27
27
  }
28
28
  : {};
29
- return (react_1.default.createElement("div", { className: (0, classnames_1.default)({
29
+ return (react_1.default.createElement("div", { id: fragmentIdentifier, className: (0, classnames_1.default)({
30
30
  'n-content-layout': inArticleBody,
31
31
  flourish: iFrame,
32
32
  'flourish--iFrame': iFrame,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/content-tree/Flourish/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,4DAAmC;AAGnC,4DAAmC;AAOnC,MAAM,QAAQ,GAA4B,CAAC,EACzC,OAAO,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,EACtE,MAAM,GAAG,KAAK,EACd,aAAa,GAAG,IAAI,GACrB,EAAE,EAAE;IACH,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAA;IACpB,MAAM,UAAU,GAAG,IAAI,EAAE,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAG,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,MAAM,CAAA;IACtE,MAAM,gBAAgB,GAAG,IAAA,oBAAU,EAAC;QAClC,mBAAmB,EAAE,IAAI;QACzB,6BAA6B,EAAE,IAAI;QACnC,yBAAyB,EAAE,QAAQ;QACnC,gBAAgB,EAAE,MAAM;KACzB,CAAC,CAAA;IAEF,MAAM,iBAAiB,GACrB,MAAM,IAAI,aAAa,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM;QACrD,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE;QAClD,CAAC,CAAC,MAAM,CAAA;IAEZ,MAAM,gBAAgB,GACpB,CAAC,aAAa,IAAI,aAAa,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM;QAC7D,CAAC,CAAC;YACE,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,GAAG,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE;SAC9D;QACH,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,CACL,uCACE,SAAS,EAAE,IAAA,oBAAU,EAAC;YACpB,kBAAkB,EAAE,aAAa;YACjC,QAAQ,EAAE,MAAM;YAChB,kBAAkB,EAAE,MAAM;SAC3B,CAAC,uBACiB,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,oBACjC,UAAU,uBACN,EAAE,yBAEnB,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB;QAG1D,MAAM,IAAI,CACT,0CACE,GAAG,EAAE,oCAAoC,EAAE,oBAAoB,CAAC,aAAa,EAAE,EAC/E,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,EACxD,SAAS,EAAC,mBAAmB,GACrB,CACX;QACD,0CACE,SAAS,EAAE,gBAAgB,+BACA,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,gCACrC,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI;YAEnE,qCAAG,IAAI,EAAE,UAAU;gBACjB,8DAGmB,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,sBACrC,EAAE,wBACA,YAAY;oBAEhC,8BAAC,iBAAO,IAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,QAAQ,GAAG;oBAChD,uCACE,GAAG,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,EAC7B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,gBAAgB,GACvB,CACM,CACR,CACG,CACL,CACP,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/content-tree/Flourish/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,4DAAmC;AAGnC,4DAAmC;AAOnC,MAAM,QAAQ,GAA4B,CAAC,EACzC,OAAO,EAAE,EACP,EAAE,EACF,YAAY,EACZ,WAAW,EACX,WAAW,EACX,aAAa,EACb,kBAAkB,GACnB,EACD,MAAM,GAAG,KAAK,EACd,aAAa,GAAG,IAAI,GACrB,EAAE,EAAE;IACH,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAA;IACpB,MAAM,UAAU,GAAG,IAAI,EAAE,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAG,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,MAAM,CAAA;IACtE,MAAM,gBAAgB,GAAG,IAAA,oBAAU,EAAC;QAClC,mBAAmB,EAAE,IAAI;QACzB,6BAA6B,EAAE,IAAI;QACnC,yBAAyB,EAAE,QAAQ;QACnC,gBAAgB,EAAE,MAAM;KACzB,CAAC,CAAA;IAEF,MAAM,iBAAiB,GACrB,MAAM,IAAI,aAAa,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM;QACrD,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE;QAClD,CAAC,CAAC,MAAM,CAAA;IAEZ,MAAM,gBAAgB,GACpB,CAAC,aAAa,IAAI,aAAa,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM;QAC7D,CAAC,CAAC;YACE,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,GAAG,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE;SAC9D;QACH,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,CACL,uCACE,EAAE,EAAE,kBAAkB,EACtB,SAAS,EAAE,IAAA,oBAAU,EAAC;YACpB,kBAAkB,EAAE,aAAa;YACjC,QAAQ,EAAE,MAAM;YAChB,kBAAkB,EAAE,MAAM;SAC3B,CAAC,uBACiB,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,oBACjC,UAAU,uBACN,EAAE,yBAEnB,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB;QAG1D,MAAM,IAAI,CACT,0CACE,GAAG,EAAE,oCAAoC,EAAE,oBAAoB,CAAC,aAAa,EAAE,EAC/E,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,EACxD,SAAS,EAAC,mBAAmB,GACrB,CACX;QACD,0CACE,SAAS,EAAE,gBAAgB,+BACA,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,gCACrC,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI;YAEnE,qCAAG,IAAI,EAAE,UAAU;gBACjB,8DAGmB,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,sBACrC,EAAE,wBACA,YAAY;oBAEhC,8BAAC,iBAAO,IAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,QAAQ,GAAG;oBAChD,uCACE,GAAG,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,EAC7B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,gBAAgB,GACvB,CACM,CACR,CACG,CACL,CACP,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,QAAQ,CAAA"}
@@ -71,6 +71,19 @@ describe('Flourish component', () => {
71
71
  }, inArticleBody: inArticleBody }));
72
72
  expect(container).toMatchSnapshot();
73
73
  });
74
+ it('renders with fragmentIdentifier as ID', () => {
75
+ const { container } = (0, react_2.render)(react_1.default.createElement(__1.default, { content: {
76
+ type: 'flourish',
77
+ id: '123',
78
+ fragmentIdentifier: 'test',
79
+ flourishType: 'bar',
80
+ description: 'foo',
81
+ layoutWidth: 'full-grid',
82
+ fallbackImage: anImage,
83
+ } }));
84
+ const flourishElement = container.querySelector('[id="test"]');
85
+ expect(flourishElement).toBeTruthy();
86
+ });
74
87
  });
75
88
  it('sets the hideTitle param in the iframe url to true when not in article body', async () => {
76
89
  const inArticleBody = false;
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.spec.js","sourceRoot":"","sources":["../../../../../src/components/content-tree/Flourish/test/snapshot.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.spec.js","sourceRoot":"","sources":["../../../../../src/components/content-tree/Flourish/test/snapshot.spec.tsx"],"names":[],"mappings":"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"}
@@ -7,13 +7,14 @@ const react_1 = __importDefault(require("react"));
7
7
  const Heading = (props) => {
8
8
  if (!react_1.default.Children.count(props.children))
9
9
  return null;
10
+ const { fragmentIdentifier } = props.content;
10
11
  switch (props.content.level) {
11
12
  case 'chapter':
12
- return (react_1.default.createElement("h2", { className: "n-content-heading-2 o3-editorial-typography-chapter" }, props.children));
13
+ return (react_1.default.createElement("h2", { id: fragmentIdentifier, className: "n-content-heading-2 o3-editorial-typography-chapter" }, props.children));
13
14
  case 'subheading':
14
- return (react_1.default.createElement("h3", { className: "n-content-heading-3 o3-editorial-typography-subheading" }, props.children));
15
+ return (react_1.default.createElement("h3", { id: fragmentIdentifier, className: "n-content-heading-3 o3-editorial-typography-subheading" }, props.children));
15
16
  case 'label':
16
- return (react_1.default.createElement("h5", { className: "n-content-heading-5 o3-type-label" }, props.children));
17
+ return (react_1.default.createElement("h5", { id: fragmentIdentifier, className: "n-content-heading-5 o3-type-label" }, props.children));
17
18
  }
18
19
  };
19
20
  exports.default = Heading;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/content-tree/Heading/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAIzB,MAAM,OAAO,GAET,CAAC,KAAK,EAAE,EAAE;IACZ,IAAI,CAAC,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IAEtD,QAAQ,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,CACL,sCAAI,SAAS,EAAC,qDAAqD,IAChE,KAAK,CAAC,QAAQ,CACZ,CACN,CAAA;QACH,KAAK,YAAY;YACf,OAAO,CACL,sCAAI,SAAS,EAAC,wDAAwD,IACnE,KAAK,CAAC,QAAQ,CACZ,CACN,CAAA;QACH,KAAK,OAAO;YACV,OAAO,CACL,sCAAI,SAAS,EAAC,mCAAmC,IAC9C,KAAK,CAAC,QAAQ,CACZ,CACN,CAAA;IACL,CAAC;AACH,CAAC,CAAA;AAED,kBAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/content-tree/Heading/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAIzB,MAAM,OAAO,GAET,CAAC,KAAK,EAAE,EAAE;IACZ,IAAI,CAAC,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IAEtD,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC,OAAO,CAAA;IAE5C,QAAQ,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,CACL,sCACE,EAAE,EAAE,kBAAkB,EACtB,SAAS,EAAC,qDAAqD,IAE9D,KAAK,CAAC,QAAQ,CACZ,CACN,CAAA;QACH,KAAK,YAAY;YACf,OAAO,CACL,sCACE,EAAE,EAAE,kBAAkB,EACtB,SAAS,EAAC,wDAAwD,IAEjE,KAAK,CAAC,QAAQ,CACZ,CACN,CAAA;QACH,KAAK,OAAO;YACV,OAAO,CACL,sCACE,EAAE,EAAE,kBAAkB,EACtB,SAAS,EAAC,mCAAmC,IAE5C,KAAK,CAAC,QAAQ,CACZ,CACN,CAAA;IACL,CAAC;AACH,CAAC,CAAA;AAED,kBAAe,OAAO,CAAA"}
@@ -28,7 +28,9 @@ export type FallbackImageProps = (ContentProps<ComponentWorkarounds.RawImage> |
28
28
  isMainImage?: boolean;
29
29
  };
30
30
  export declare const FallbackImage: React.FC<FallbackImageProps>;
31
- export interface ImageSetProps extends ContentProps<ComponentWorkarounds.ImageSet> {
31
+ export interface ImageSetProps extends ContentProps<ComponentWorkarounds.ImageSet & {
32
+ fragmentIdentifier?: string;
33
+ }> {
32
34
  isMainImage?: boolean;
33
35
  }
34
36
  declare const ImageSet: React.FC<ImageSetProps>;
@@ -115,6 +115,7 @@ const ImageSet = (props) => {
115
115
  return null;
116
116
  }
117
117
  const { reduceFullBleedImages } = (0, react_1.useContext)(context_1.PresentationFlagsContext);
118
+ const { fragmentIdentifier } = imageSet;
118
119
  const Wrapper =
119
120
  // HACK:20240618:IM don't stretch out the main image to the full grid in
120
121
  // the app as it can clash with the right hand rail
@@ -122,7 +123,7 @@ const ImageSet = (props) => {
122
123
  ? ({ children }) => (react_1.default.createElement("div", { className: "n-content-layout", "data-layout-width": "full-grid" }, children))
123
124
  : react_1.default.Fragment;
124
125
  return (react_1.default.createElement(Wrapper, null,
125
- react_1.default.createElement("figure", { className: (imageSet.picture.layoutWidth &&
126
+ react_1.default.createElement("figure", { id: fragmentIdentifier, className: (imageSet.picture.layoutWidth &&
126
127
  figureClassNameMap[imageSet.picture.layoutWidth]) ??
127
128
  'n-content-image', style: figureWidth(imageSet.picture), "data-component": "image-set" },
128
129
  react_1.default.createElement(ImageOverrideWrappers_1.ImageSetOverrideWrapper, { ...props },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/content-tree/ImageSet/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/content-tree/ImageSet/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@financial-times/cp-content-pipeline-ui",
3
- "version": "9.6.0",
3
+ "version": "9.7.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -15,10 +15,10 @@
15
15
  "devDependencies": {
16
16
  "@babel/preset-env": "^7.22.5",
17
17
  "@babel/preset-react": "^7.22.5",
18
- "@financial-times/content-tree": "github:financial-times/content-tree#056af70",
19
- "@financial-times/cp-content-pipeline-client": "^4.15.0",
20
- "@financial-times/cp-content-pipeline-schema": "^3.14.0",
21
- "@financial-times/cp-content-pipeline-styles": "^4.2.0",
18
+ "@financial-times/content-tree": "github:financial-times/content-tree#8275704",
19
+ "@financial-times/cp-content-pipeline-client": "^4.16.0",
20
+ "@financial-times/cp-content-pipeline-schema": "^3.15.0",
21
+ "@financial-times/cp-content-pipeline-styles": "^4.2.1",
22
22
  "@financial-times/n-scrollytelling-image": "^1.1.0",
23
23
  "@financial-times/o-grid": "^6.1.8",
24
24
  "@financial-times/o-share": "^11.0.0",
@@ -10,7 +10,14 @@ interface FlourishProps extends ContentProps<ContentTreeWorkarounds.Flourish> {
10
10
  }
11
11
 
12
12
  const Flourish: React.FC<FlourishProps> = ({
13
- content: { id, flourishType, description, layoutWidth, fallbackImage },
13
+ content: {
14
+ id,
15
+ flourishType,
16
+ description,
17
+ layoutWidth,
18
+ fallbackImage,
19
+ fragmentIdentifier,
20
+ },
14
21
  iFrame = false,
15
22
  inArticleBody = true,
16
23
  }) => {
@@ -39,6 +46,7 @@ const Flourish: React.FC<FlourishProps> = ({
39
46
 
40
47
  return (
41
48
  <div
49
+ id={fragmentIdentifier}
42
50
  className={classnames({
43
51
  'n-content-layout': inArticleBody,
44
52
  flourish: iFrame,
@@ -88,6 +88,24 @@ describe('Flourish component', () => {
88
88
  )
89
89
  expect(container).toMatchSnapshot()
90
90
  })
91
+
92
+ it('renders with fragmentIdentifier as ID', () => {
93
+ const { container } = render(
94
+ <Flourish
95
+ content={{
96
+ type: 'flourish',
97
+ id: '123',
98
+ fragmentIdentifier: 'test',
99
+ flourishType: 'bar',
100
+ description: 'foo',
101
+ layoutWidth: 'full-grid',
102
+ fallbackImage: anImage,
103
+ }}
104
+ />
105
+ )
106
+ const flourishElement = container.querySelector('[id="test"]')
107
+ expect(flourishElement).toBeTruthy()
108
+ })
91
109
  })
92
110
 
93
111
  it('sets the hideTitle param in the iframe url to true when not in article body', async () => {
@@ -7,22 +7,33 @@ const Heading: React.FC<
7
7
  > = (props) => {
8
8
  if (!React.Children.count(props.children)) return null
9
9
 
10
+ const { fragmentIdentifier } = props.content
11
+
10
12
  switch (props.content.level) {
11
13
  case 'chapter':
12
14
  return (
13
- <h2 className="n-content-heading-2 o3-editorial-typography-chapter">
15
+ <h2
16
+ id={fragmentIdentifier}
17
+ className="n-content-heading-2 o3-editorial-typography-chapter"
18
+ >
14
19
  {props.children}
15
20
  </h2>
16
21
  )
17
22
  case 'subheading':
18
23
  return (
19
- <h3 className="n-content-heading-3 o3-editorial-typography-subheading">
24
+ <h3
25
+ id={fragmentIdentifier}
26
+ className="n-content-heading-3 o3-editorial-typography-subheading"
27
+ >
20
28
  {props.children}
21
29
  </h3>
22
30
  )
23
31
  case 'label':
24
32
  return (
25
- <h5 className="n-content-heading-5 o3-type-label">
33
+ <h5
34
+ id={fragmentIdentifier}
35
+ className="n-content-heading-5 o3-type-label"
36
+ >
26
37
  {props.children}
27
38
  </h5>
28
39
  )
@@ -216,7 +216,9 @@ export const FallbackImage: React.FC<FallbackImageProps> = (props) => {
216
216
  }
217
217
 
218
218
  export interface ImageSetProps
219
- extends ContentProps<ComponentWorkarounds.ImageSet> {
219
+ extends ContentProps<
220
+ ComponentWorkarounds.ImageSet & { fragmentIdentifier?: string }
221
+ > {
220
222
  isMainImage?: boolean
221
223
  }
222
224
 
@@ -229,6 +231,8 @@ const ImageSet: React.FC<ImageSetProps> = (props) => {
229
231
 
230
232
  const { reduceFullBleedImages } = useContext(PresentationFlagsContext)
231
233
 
234
+ const { fragmentIdentifier } = imageSet
235
+
232
236
  const Wrapper =
233
237
  // HACK:20240618:IM don't stretch out the main image to the full grid in
234
238
  // the app as it can clash with the right hand rail
@@ -243,6 +247,7 @@ const ImageSet: React.FC<ImageSetProps> = (props) => {
243
247
  return (
244
248
  <Wrapper>
245
249
  <figure
250
+ id={fragmentIdentifier}
246
251
  className={
247
252
  (imageSet.picture.layoutWidth &&
248
253
  figureClassNameMap[imageSet.picture.layoutWidth]) ??