@financial-times/cp-content-pipeline-ui 7.0.1 → 7.1.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 +20 -0
- package/lib/client.d.ts +1 -0
- package/lib/client.js +3 -1
- package/lib/client.js.map +1 -1
- package/lib/components/Body/index.test.js +12 -11
- package/lib/components/Body/index.test.js.map +1 -1
- package/lib/components/Byline/index.js +1 -1
- package/lib/components/Byline/index.js.map +1 -1
- package/lib/components/CustomCodeComponent/client/index.d.ts +15 -0
- package/lib/components/CustomCodeComponent/client/index.js +95 -0
- package/lib/components/CustomCodeComponent/client/index.js.map +1 -0
- package/lib/components/CustomCodeComponent/index.d.ts +19 -0
- package/lib/components/CustomCodeComponent/index.js +17 -0
- package/lib/components/CustomCodeComponent/index.js.map +1 -0
- package/lib/components/Flourish/index.js +2 -5
- package/lib/components/Flourish/index.js.map +1 -1
- package/lib/components/Headshot/index.js +1 -1
- package/lib/components/Headshot/index.js.map +1 -1
- package/lib/components/Layout/index.d.ts +1 -1
- package/lib/components/Message/index.d.ts +9 -0
- package/lib/components/Message/index.js +18 -0
- package/lib/components/Message/index.js.map +1 -0
- package/lib/components/Message/test/snapshot.spec.d.ts +1 -0
- package/lib/components/Message/test/snapshot.spec.js +23 -0
- package/lib/components/Message/test/snapshot.spec.js.map +1 -0
- package/lib/components/PartnerContentHeader/index.js +2 -3
- package/lib/components/PartnerContentHeader/index.js.map +1 -1
- package/lib/components/RichText/BasicComponents.d.ts +1 -0
- package/lib/components/RichText/BasicComponents.js +3 -1
- package/lib/components/RichText/BasicComponents.js.map +1 -1
- package/lib/components/RichText/index.js +3 -0
- package/lib/components/RichText/index.js.map +1 -1
- package/lib/components/Workarounds.d.ts +5 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +4 -1
- package/lib/index.js.map +1 -1
- package/lib/stories/Message.stories.d.ts +11 -0
- package/lib/stories/Message.stories.js +30 -0
- package/lib/stories/Message.stories.js.map +1 -0
- package/package.json +3 -2
- package/src/client.ts +1 -0
- package/src/components/Body/index.test.tsx +23 -24
- package/src/components/Byline/index.tsx +1 -3
- package/src/components/CustomCodeComponent/client/index.ts +121 -0
- package/src/components/CustomCodeComponent/index.tsx +54 -0
- package/src/components/Flourish/index.tsx +5 -26
- package/src/components/Flourish/test/__snapshots__/snapshot.spec.tsx.snap +12 -12
- package/src/components/Headshot/index.tsx +1 -5
- package/src/components/Layout/index.tsx +1 -1
- package/src/components/Message/index.tsx +35 -0
- package/src/components/Message/test/__snapshots__/snapshot.spec.tsx.snap +45 -0
- package/src/components/Message/test/snapshot.spec.tsx +31 -0
- package/src/components/PartnerContentHeader/index.tsx +6 -8
- package/src/components/RichText/BasicComponents.tsx +4 -0
- package/src/components/RichText/index.tsx +4 -0
- package/src/components/Workarounds.ts +12 -0
- package/src/index.ts +2 -0
- package/src/stories/Message.stories.scss +5 -0
- package/src/stories/Message.stories.tsx +29 -0
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -574,6 +574,26 @@
|
|
|
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
|
+
## [7.1.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v7.0.2...cp-content-pipeline-ui-v7.1.0) (2024-09-17)
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
### Features
|
|
581
|
+
|
|
582
|
+
* custom code component phase 1 ([5eb66cd](https://github.com/Financial-Times/cp-content-pipeline/commit/5eb66cd4908877c0c686ac8f919ad9d8de133216))
|
|
583
|
+
* message component ([ec41324](https://github.com/Financial-Times/cp-content-pipeline/commit/ec41324942c0dcbd18356e090e74dc53f1bfd6b7))
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
### Bug Fixes
|
|
587
|
+
|
|
588
|
+
* update where data-o3-brand goes ([7b1ccf9](https://github.com/Financial-Times/cp-content-pipeline/commit/7b1ccf9fbf95d6bd1712db595993c459fee6c11b))
|
|
589
|
+
|
|
590
|
+
## [7.0.2](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v7.0.1...cp-content-pipeline-ui-v7.0.2) (2024-08-30)
|
|
591
|
+
|
|
592
|
+
|
|
593
|
+
### Bug Fixes
|
|
594
|
+
|
|
595
|
+
* **ui:** remove target attribute override in bylines ([479512a](https://github.com/Financial-Times/cp-content-pipeline/commit/479512aa1ea7e39dbf17cb5d583d041f966d0321))
|
|
596
|
+
|
|
577
597
|
## [7.0.1](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-ui-v7.0.0...cp-content-pipeline-ui-v7.0.1) (2024-08-28)
|
|
578
598
|
|
|
579
599
|
|
package/lib/client.d.ts
CHANGED
|
@@ -2,3 +2,4 @@ export { default as Clip } from './components/Clip/client/index';
|
|
|
2
2
|
export { default as BackToTopButton } from './components/BackToTopButton/client';
|
|
3
3
|
export { default as FlourishSSREmbed } from './components/Flourish/client/index';
|
|
4
4
|
export { TopperTracker } from './components/Topper/client/index';
|
|
5
|
+
export { default as CustomCodeComponentClient } from './components/CustomCodeComponent/client/index';
|
package/lib/client.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TopperTracker = exports.FlourishSSREmbed = exports.BackToTopButton = exports.Clip = void 0;
|
|
6
|
+
exports.CustomCodeComponentClient = exports.TopperTracker = exports.FlourishSSREmbed = exports.BackToTopButton = exports.Clip = void 0;
|
|
7
7
|
var index_1 = require("./components/Clip/client/index");
|
|
8
8
|
Object.defineProperty(exports, "Clip", { enumerable: true, get: function () { return __importDefault(index_1).default; } });
|
|
9
9
|
var client_1 = require("./components/BackToTopButton/client");
|
|
@@ -12,4 +12,6 @@ var index_2 = require("./components/Flourish/client/index");
|
|
|
12
12
|
Object.defineProperty(exports, "FlourishSSREmbed", { enumerable: true, get: function () { return __importDefault(index_2).default; } });
|
|
13
13
|
var index_3 = require("./components/Topper/client/index");
|
|
14
14
|
Object.defineProperty(exports, "TopperTracker", { enumerable: true, get: function () { return index_3.TopperTracker; } });
|
|
15
|
+
var index_4 = require("./components/CustomCodeComponent/client/index");
|
|
16
|
+
Object.defineProperty(exports, "CustomCodeComponentClient", { enumerable: true, get: function () { return __importDefault(index_4).default; } });
|
|
15
17
|
//# sourceMappingURL=client.js.map
|
package/lib/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgE;AAAvD,8GAAA,OAAO,OAAQ;AACxB,8DAAgF;AAAvE,0HAAA,OAAO,OAAmB;AACnC,4DAAgF;AAAvE,0HAAA,OAAO,OAAoB;AACpC,0DAAgE;AAAvD,sGAAA,aAAa,OAAA"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgE;AAAvD,8GAAA,OAAO,OAAQ;AACxB,8DAAgF;AAAvE,0HAAA,OAAO,OAAmB;AACnC,4DAAgF;AAAvE,0HAAA,OAAO,OAAoB;AACpC,0DAAgE;AAAvD,sGAAA,aAAa,OAAA;AACtB,uEAAoG;AAA3F,mIAAA,OAAO,OAA6B"}
|
|
@@ -38,7 +38,16 @@ const baseContent = {
|
|
|
38
38
|
},
|
|
39
39
|
},
|
|
40
40
|
};
|
|
41
|
+
// these are the only content types we currently care about rendering bodies for
|
|
42
|
+
const typesToTest = [
|
|
43
|
+
'Article',
|
|
44
|
+
'Video',
|
|
45
|
+
'Audio',
|
|
46
|
+
'LiveBlogPackage',
|
|
47
|
+
'ContentPackage',
|
|
48
|
+
];
|
|
41
49
|
const extraContentForType = {
|
|
50
|
+
Article: {},
|
|
42
51
|
Audio: {
|
|
43
52
|
__typename: 'Audio',
|
|
44
53
|
media: [
|
|
@@ -88,14 +97,6 @@ const extraPropsForType = {
|
|
|
88
97
|
},
|
|
89
98
|
},
|
|
90
99
|
};
|
|
91
|
-
// these are the only content types we currently care about rendering bodies for
|
|
92
|
-
const typesToTest = [
|
|
93
|
-
'Article',
|
|
94
|
-
'Video',
|
|
95
|
-
'Audio',
|
|
96
|
-
'LiveBlogPackage',
|
|
97
|
-
'ContentPackage',
|
|
98
|
-
];
|
|
99
100
|
const legacyOverridesToTest = [
|
|
100
101
|
['Article', 'article-body'],
|
|
101
102
|
['LiveBlogPackage', 'live-blog-body'],
|
|
@@ -114,13 +115,13 @@ describe('Body', () => {
|
|
|
114
115
|
});
|
|
115
116
|
describe('default renderers', () => {
|
|
116
117
|
test.each(typesToTest)('renders default renderer for %s', (type) => {
|
|
117
|
-
const { asFragment } = (0, react_2.render)(react_1.default.createElement(_1.default, { content: { ...baseContent, ...
|
|
118
|
+
const { asFragment } = (0, react_2.render)(react_1.default.createElement(_1.default, { content: { ...baseContent, ...extraContentForType[type] }, ...(extraPropsForType[type] ?? {}) }));
|
|
118
119
|
expect(asFragment()).toMatchSnapshot();
|
|
119
120
|
});
|
|
120
121
|
});
|
|
121
122
|
describe('legacy override renderers', () => {
|
|
122
123
|
test.each(legacyOverridesToTest)('renders override renderer for %s', (type, overrideName) => {
|
|
123
|
-
const { asFragment } = (0, react_2.render)(react_1.default.createElement(_1.default, { content: { ...baseContent, ...
|
|
124
|
+
const { asFragment } = (0, react_2.render)(react_1.default.createElement(_1.default, { content: { ...baseContent, ...extraContentForType[type] }, ...(extraPropsForType[type] ?? {}), bodyComponents: {
|
|
124
125
|
[overrideName]: ({ content, }) => react_1.default.createElement(react_1.default.Fragment, null,
|
|
125
126
|
"body override ",
|
|
126
127
|
content.__typename),
|
|
@@ -130,7 +131,7 @@ describe('Body', () => {
|
|
|
130
131
|
});
|
|
131
132
|
describe('content type override renderers', () => {
|
|
132
133
|
test.each(typesToTest)('renders override renderer for %s', (type) => {
|
|
133
|
-
const { asFragment } = (0, react_2.render)(react_1.default.createElement(_1.default, { content: { ...baseContent, ...
|
|
134
|
+
const { asFragment } = (0, react_2.render)(react_1.default.createElement(_1.default, { content: { ...baseContent, ...extraContentForType[type] }, ...(extraPropsForType[type] ?? {}), bodyComponents: {
|
|
134
135
|
[type]: ({ content }) => (react_1.default.createElement(react_1.default.Fragment, null,
|
|
135
136
|
"body override ",
|
|
136
137
|
content.__typename)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/components/Body/index.test.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,kDAA+C;AAC/C,yCAAgD;AAGhD,MAAM,WAAW,GAA4B;IAC3C,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,sCAAsC;IAC1C,GAAG,EAAE,iEAAiE;IACtE,aAAa,EAAE,0BAA0B;IACzC,kBAAkB,EAAE,aAAa;IACjC,iBAAiB,EAAE,aAAa;IAChC,gBAAgB,EAAE,WAAW;IAC7B,kBAAkB,EAAE,0BAA0B;IAC9C,WAAW,EAAE,EAAE;IACf,IAAI,EAAE;QACJ,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE;4BACR;gCACE,IAAI,EAAE,MAAM;gCACZ,KAAK,EAAE,4BAA4B;6BACpC;yBACF;qBACF;iBACF;aACF;YACD,UAAU,EAAE,EAAE;SACf;KACF;CACF,CAAA;AAED,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/components/Body/index.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const RichText_1 = __importDefault(require("../RichText"));
|
|
8
|
-
const AuthorLink = (props) => props.content.concept ? (react_1.default.createElement("a", { className: "n-content-tag--author", href: props.content.concept.relativeUrl, "data-trackable": "author"
|
|
8
|
+
const AuthorLink = (props) => props.content.concept ? (react_1.default.createElement("a", { className: "n-content-tag--author", href: props.content.concept.relativeUrl, "data-trackable": "author" }, props.children)) : null;
|
|
9
9
|
const bylineComponents = {
|
|
10
10
|
author: AuthorLink,
|
|
11
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Byline/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAgD;AAGhD,2DAAkC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Byline/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAgD;AAGhD,2DAAkC;AAWlC,MAAM,UAAU,GAAiD,CAAC,KAAK,EAAE,EAAE,CACzE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CACtB,qCACE,SAAS,EAAC,uBAAuB,EACjC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,oBACxB,QAAQ,IAEtB,KAAK,CAAC,QAAQ,CACb,CACL,CAAC,CAAC,CAAC,IAAI,CAAA;AAEV,MAAM,gBAAgB,GAAG;IACvB,MAAM,EAAE,UAAU;CACnB,CAAA;AAED,MAAM,MAAM,GAA0B,CAAC,EAAE,iBAAiB,EAAE,YAAY,EAAE,EAAE,EAAE;IAC5E,OAAO,CACL,qCAAG,SAAS,EAAC,sBAAsB;QAChC,YAAY,IAAI,CACf;;YACY,yCAAM,CACX,CACR;QACA,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,CACvC,8DAAG,iBAAiB,CAAI,CACzB,CAAC,CAAC,CAAC,CACF,8BAAC,kBAAQ,IACP,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,gBAAgB,GAC5B,CACH,CACC,CACL,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CustomCodeComponentClient
|
|
3
|
+
* @description Track the view of a rendered custom code component
|
|
4
|
+
* @param {HTMLElement} el - The custom code component
|
|
5
|
+
* @param {TrackingData} trackingData - The tracking data
|
|
6
|
+
*/
|
|
7
|
+
declare class CustomCodeComponentClient {
|
|
8
|
+
/**
|
|
9
|
+
* Track the mount of a custom code component
|
|
10
|
+
*/
|
|
11
|
+
private trackingMount;
|
|
12
|
+
constructor(el: Element);
|
|
13
|
+
static init(rootEl?: Element): (CustomCodeComponentClient | undefined)[];
|
|
14
|
+
}
|
|
15
|
+
export default CustomCodeComponentClient;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* TrackMount
|
|
5
|
+
* @description Track initial render of a custom code component
|
|
6
|
+
* @param {HTMLElement} mountElement - The custom code component
|
|
7
|
+
* @param {TrackingData} trackingData - The specific component data
|
|
8
|
+
*/
|
|
9
|
+
class TrackMount {
|
|
10
|
+
constructor(mountElement, trackingData) {
|
|
11
|
+
this.mountElement = mountElement;
|
|
12
|
+
this.trackingData = trackingData;
|
|
13
|
+
this.handleMount = () => {
|
|
14
|
+
const event = new CustomEvent('oTracking.event', {
|
|
15
|
+
detail: {
|
|
16
|
+
category: 'component',
|
|
17
|
+
action: 'mount',
|
|
18
|
+
...this.trackingData,
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
document.body.dispatchEvent(event);
|
|
22
|
+
};
|
|
23
|
+
this.init();
|
|
24
|
+
}
|
|
25
|
+
init() {
|
|
26
|
+
this.mountElement.addEventListener('ccc-connected', () => {
|
|
27
|
+
new TrackView(this.mountElement, this.trackingData);
|
|
28
|
+
this.handleMount();
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* TrackView
|
|
34
|
+
* @description Track the view of a rendered custom code component
|
|
35
|
+
* @param {HTMLElement} mountElement - The custom code component
|
|
36
|
+
* @param {TrackingData} trackingData - The specific component data
|
|
37
|
+
*/
|
|
38
|
+
class TrackView {
|
|
39
|
+
constructor(viewElement, trackingData) {
|
|
40
|
+
this.viewElement = viewElement;
|
|
41
|
+
this.trackingData = trackingData;
|
|
42
|
+
this.handleView = () => {
|
|
43
|
+
const event = new CustomEvent('oTracking.event', {
|
|
44
|
+
detail: {
|
|
45
|
+
category: 'component',
|
|
46
|
+
action: 'view',
|
|
47
|
+
...this.trackingData,
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
document.body.dispatchEvent(event);
|
|
51
|
+
};
|
|
52
|
+
this.viewElement = viewElement;
|
|
53
|
+
this.trackingData = trackingData;
|
|
54
|
+
this.init();
|
|
55
|
+
}
|
|
56
|
+
init() {
|
|
57
|
+
//Intersection observer that observes when viewElement is in view
|
|
58
|
+
this.observer = new IntersectionObserver((entries) => {
|
|
59
|
+
entries.forEach((entry) => {
|
|
60
|
+
if (entry.isIntersecting) {
|
|
61
|
+
this.handleView();
|
|
62
|
+
this.observer?.disconnect();
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
this.observer.observe(this.viewElement);
|
|
67
|
+
}
|
|
68
|
+
destroy() {
|
|
69
|
+
this.observer?.disconnect();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* CustomCodeComponentClient
|
|
74
|
+
* @description Track the view of a rendered custom code component
|
|
75
|
+
* @param {HTMLElement} el - The custom code component
|
|
76
|
+
* @param {TrackingData} trackingData - The tracking data
|
|
77
|
+
*/
|
|
78
|
+
class CustomCodeComponentClient {
|
|
79
|
+
constructor(el) {
|
|
80
|
+
const trackingData = {
|
|
81
|
+
component: {
|
|
82
|
+
id: el.getAttribute('id') ?? '',
|
|
83
|
+
name: el.getAttribute('path') ?? '',
|
|
84
|
+
type: 'custom-code-component',
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
this.trackingMount = new TrackMount(el, trackingData);
|
|
88
|
+
}
|
|
89
|
+
static init(rootEl) {
|
|
90
|
+
const root = rootEl instanceof Element ? rootEl : document;
|
|
91
|
+
return Array.from(root.querySelectorAll('custom-code-component')).map((el) => new CustomCodeComponentClient(el));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.default = CustomCodeComponentClient;
|
|
95
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/CustomCodeComponent/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ContentProps } from '../types';
|
|
3
|
+
import * as ComponentWorkarounds from '../Workarounds';
|
|
4
|
+
interface CustomCodeComponentProps extends ContentProps<ComponentWorkarounds.CustomCodeComponent> {
|
|
5
|
+
}
|
|
6
|
+
declare module 'react' {
|
|
7
|
+
namespace JSX {
|
|
8
|
+
interface IntrinsicElements {
|
|
9
|
+
'custom-code-component': {
|
|
10
|
+
path: string;
|
|
11
|
+
version: string;
|
|
12
|
+
id: string;
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
declare const CustomCodeComponent: React.FC<React.PropsWithChildren<CustomCodeComponentProps>>;
|
|
19
|
+
export default CustomCodeComponent;
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const Message_1 = __importDefault(require("../Message"));
|
|
8
|
+
const Layout_1 = require("../Layout");
|
|
9
|
+
const RichText_1 = __importDefault(require("../RichText"));
|
|
10
|
+
const CustomCodeComponent = ({ content: { path, versionRange, id, layoutWidth = 'in-line', attributes = {}, body, }, }) => {
|
|
11
|
+
return (react_1.default.createElement(Layout_1.Layout, { content: { type: 'layout', layoutName: 'auto', layoutWidth: layoutWidth } },
|
|
12
|
+
react_1.default.createElement("custom-code-component", { path: path, version: versionRange, ...attributes, id: id },
|
|
13
|
+
react_1.default.createElement(Message_1.default, { id: id, type: "notice", state: "inform" }),
|
|
14
|
+
body?.structured && react_1.default.createElement(RichText_1.default, { structuredContent: body.structured }))));
|
|
15
|
+
};
|
|
16
|
+
exports.default = CustomCodeComponent;
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/CustomCodeComponent/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,yDAAgC;AAChC,sCAAkC;AAClC,2DAAkC;AAqBlC,MAAM,mBAAmB,GAErB,CAAC,EACH,OAAO,EAAE,EACP,IAAI,EACJ,YAAY,EACZ,EAAE,EACF,WAAW,GAAG,SAAS,EACvB,UAAU,GAAG,EAAE,EACf,IAAI,GACL,GACwB,EAAE,EAAE;IAC7B,OAAO,CACL,8BAAC,eAAM,IACL,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE;QAEzE,yDACE,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,YAAY,KACjB,UAAU,EACd,EAAE,EAAE,EAAE;YAEN,8BAAC,iBAAO,IAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,QAAQ,GAAG;YAC/C,IAAI,EAAE,UAAU,IAAI,8BAAC,kBAAQ,IAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,GAAI,CAC/C,CACjB,CACV,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,mBAAmB,CAAA"}
|
|
@@ -5,10 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const classnames_1 = __importDefault(require("classnames"));
|
|
8
|
-
const
|
|
9
|
-
react_1.default.createElement("div", { className: "o-message__container" },
|
|
10
|
-
react_1.default.createElement("div", { className: "o-message__content" },
|
|
11
|
-
react_1.default.createElement("p", { className: "o-message__content-main" }, "You are seeing a snapshot of an interactive graphic. This is most likely due to being offline or JavaScript being disabled in your browser.")))));
|
|
8
|
+
const Message_1 = __importDefault(require("../Message"));
|
|
12
9
|
const Flourish = ({ content: { id, flourishType, description, layoutWidth, fallbackImage }, iFrame = false, inArticleBody = true, }) => {
|
|
13
10
|
if (!id)
|
|
14
11
|
return null;
|
|
@@ -38,7 +35,7 @@ const Flourish = ({ content: { id, flourishType, description, layoutWidth, fallb
|
|
|
38
35
|
react_1.default.createElement("figure", { className: figureClassnames, "data-original-image-width": fullGrid ? fallbackImage?.width : null, "data-original-image-height": fullGrid ? fallbackImage?.height : null },
|
|
39
36
|
react_1.default.createElement("a", { href: anchorHref },
|
|
40
37
|
react_1.default.createElement("picture", { "data-asset-type": iFrame ? 'flourish-embed' : 'flourish', "data-flourish-id": id, "data-flourish-type": flourishType },
|
|
41
|
-
react_1.default.createElement(
|
|
38
|
+
react_1.default.createElement(Message_1.default, { id: id, type: "notice", state: "inform" }),
|
|
42
39
|
react_1.default.createElement("img", { src: fallbackImage?.url || '', alt: description, style: imageAspectRatio }))))));
|
|
43
40
|
};
|
|
44
41
|
exports.default = Flourish;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Flourish/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,4DAAmC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Flourish/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,4DAAmC;AAGnC,yDAAgC;AAOhC,MAAM,QAAQ,GAA4B,CAAC,EACvC,OAAO,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,EACxE,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"}
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const Headshot = ({ headshot, prefLabel, streamPage, className, altText = `Headshot for ${prefLabel}`, }) => {
|
|
8
|
-
return streamPage ? (react_1.default.createElement("a", {
|
|
8
|
+
return streamPage ? (react_1.default.createElement("a", { href: streamPage, "aria-label": `Author page for ${prefLabel}` },
|
|
9
9
|
react_1.default.createElement("img", { className: className, src: headshot, role: "presentation", alt: altText }))) : (react_1.default.createElement("img", { className: className, src: headshot, role: "presentation", alt: altText }));
|
|
10
10
|
};
|
|
11
11
|
exports.default = Headshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Headshot/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAUzB,MAAM,QAAQ,GAA4B,CAAC,EACzC,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,OAAO,GAAG,gBAAgB,SAAS,EAAE,GACtC,EAAE,EAAE;IACH,OAAO,UAAU,CAAC,CAAC,CAAC,CAClB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Headshot/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAUzB,MAAM,QAAQ,GAA4B,CAAC,EACzC,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,OAAO,GAAG,gBAAgB,SAAS,EAAE,GACtC,EAAE,EAAE;IACH,OAAO,UAAU,CAAC,CAAC,CAAC,CAClB,qCAAG,IAAI,EAAE,UAAU,gBAAc,mBAAmB,SAAS,EAAE;QAC7D,uCACE,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAC,cAAc,EACnB,GAAG,EAAE,OAAO,GACZ,CACA,CACL,CAAC,CAAC,CAAC,CACF,uCACE,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAC,cAAc,EACnB,GAAG,EAAE,OAAO,GACZ,CACH,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,QAAQ,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ContentTree } from '@financial-times/content-tree';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { ContentProps } from '../types';
|
|
4
|
-
interface LayoutProps extends ContentProps<ContentTree.transit.Layout
|
|
4
|
+
interface LayoutProps extends ContentProps<Omit<ContentTree.transit.Layout, 'children'>> {
|
|
5
5
|
}
|
|
6
6
|
export declare const Layout: React.FC<React.PropsWithChildren<LayoutProps>>;
|
|
7
7
|
export declare const LayoutContainer: React.FC<React.PropsWithChildren>;
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
8
|
+
const Message = ({ id, type, state, text = 'Some content could not load. Check your internet connection or browser settings.', }) => {
|
|
9
|
+
return (react_1.default.createElement("div", { id: id, className: (0, classnames_1.default)('cp-message', 'o-message', {
|
|
10
|
+
[`o-message--${state}`]: state,
|
|
11
|
+
[`o-message--${type}`]: type,
|
|
12
|
+
}), "data-o-component": "o-message" },
|
|
13
|
+
react_1.default.createElement("div", { className: "o-message__container" },
|
|
14
|
+
react_1.default.createElement("div", { className: "o-message__content" },
|
|
15
|
+
react_1.default.createElement("p", { className: "o-message__content-main" }, text)))));
|
|
16
|
+
};
|
|
17
|
+
exports.default = Message;
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Message/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,4DAAmC;AASnC,MAAM,OAAO,GAA2B,CAAC,EACvC,EAAE,EACF,IAAI,EACJ,KAAK,EACL,IAAI,GAAG,kFAAkF,GAC1F,EAAE,EAAE;IACH,OAAO,CACL,uCACE,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,IAAA,oBAAU,EAAC,YAAY,EAAE,WAAW,EAAE;YAC/C,CAAC,cAAc,KAAK,EAAE,CAAC,EAAE,KAAK;YAC9B,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,IAAI;SAC7B,CAAC,sBACe,WAAW;QAE5B,uCAAK,SAAS,EAAC,sBAAsB;YACnC,uCAAK,SAAS,EAAC,oBAAoB;gBACjC,qCAAG,SAAS,EAAC,yBAAyB,IAAE,IAAI,CAAK,CAC7C,CACF,CACF,CACP,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const react_test_renderer_1 = __importDefault(require("react-test-renderer"));
|
|
8
|
+
const index_1 = __importDefault(require("../index"));
|
|
9
|
+
describe('Message component', () => {
|
|
10
|
+
it('renders default', () => {
|
|
11
|
+
const tree = react_test_renderer_1.default
|
|
12
|
+
.create(react_1.default.createElement(index_1.default, { id: 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa', type: "alert", state: "neutral" }))
|
|
13
|
+
.toJSON();
|
|
14
|
+
expect(tree).toMatchSnapshot();
|
|
15
|
+
});
|
|
16
|
+
it('renders with custom text', () => {
|
|
17
|
+
const tree = react_test_renderer_1.default
|
|
18
|
+
.create(react_1.default.createElement(index_1.default, { id: 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa', type: "alert", state: "neutral", text: "This is a custom message" }))
|
|
19
|
+
.toJSON();
|
|
20
|
+
expect(tree).toMatchSnapshot();
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=snapshot.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.spec.js","sourceRoot":"","sources":["../../../../src/components/Message/test/snapshot.spec.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,8EAA0C;AAC1C,qDAA8B;AAE9B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,IAAI,GAAG,6BAAQ;aAClB,MAAM,CACL,8BAAC,eAAO,IACN,EAAE,EAAE,sCAAsC,EAC1C,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,SAAS,GACf,CACH;aACA,MAAM,EAAE,CAAA;QACX,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAA;IAChC,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,IAAI,GAAG,6BAAQ;aAClB,MAAM,CACL,8BAAC,eAAO,IACN,EAAE,EAAE,sCAAsC,EAC1C,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,0BAA0B,GAC/B,CACH;aACA,MAAM,EAAE,CAAA;QACX,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAA;IAChC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -6,13 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const o3_tooltip_1 = require("@financial-times/o3-tooltip");
|
|
8
8
|
const PartnerContentHeader = ({ name = 'Partner' }) => {
|
|
9
|
-
return (react_1.default.createElement("div", { className: "partner-content-header" },
|
|
9
|
+
return (react_1.default.createElement("div", { className: "partner-content-header", "data-o3-brand": "core" },
|
|
10
10
|
react_1.default.createElement("div", { className: "partner-content-header__content" },
|
|
11
11
|
react_1.default.createElement("div", { className: "partner-content-header__client" }, name),
|
|
12
12
|
react_1.default.createElement("div", { className: "partner-content-header__title" },
|
|
13
13
|
react_1.default.createElement("p", null, "Partner Content"),
|
|
14
|
-
react_1.default.createElement(
|
|
15
|
-
react_1.default.createElement(o3_tooltip_1.TooltipToggle, { placement: "bottom", content: `This content was paid for by ${name} and produced in partnership with the Financial Times Commercial department`, infoLabel: "More information on Partner Content" }))))));
|
|
14
|
+
react_1.default.createElement(o3_tooltip_1.TooltipToggle, { placement: "bottom", content: `This content was paid for by ${name} and produced in partnership with the Financial Times Commercial department`, infoLabel: "More information on Partner Content" })))));
|
|
16
15
|
};
|
|
17
16
|
exports.default = PartnerContentHeader;
|
|
18
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/PartnerContentHeader/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,4DAA2D;AAE3D,MAAM,oBAAoB,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,EAAoB,EAAE,EAAE;IACtE,OAAO,CACL,uCAAK,SAAS,EAAC,wBAAwB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/PartnerContentHeader/index.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,4DAA2D;AAE3D,MAAM,oBAAoB,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,EAAoB,EAAE,EAAE;IACtE,OAAO,CACL,uCAAK,SAAS,EAAC,wBAAwB,mBAAe,MAAM;QAC1D,uCAAK,SAAS,EAAC,iCAAiC;YAC9C,uCAAK,SAAS,EAAC,gCAAgC,IAAE,IAAI,CAAO;YAC5D,uCAAK,SAAS,EAAC,+BAA+B;gBAC5C,2DAAsB;gBACtB,8BAAC,0BAAa,IACZ,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAE,gCAAgC,IAAI,6EAA6E,EAC1H,SAAS,EAAC,qCAAqC,GAC/C,CACE,CACF,CACF,CACP,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,oBAAoB,CAAA"}
|
|
@@ -12,6 +12,7 @@ export declare const HorizontalRule: React.FC;
|
|
|
12
12
|
export declare const Emphasis: React.FC<React.PropsWithChildren<ContentProps<ContentTree.Emphasis>>>;
|
|
13
13
|
export declare const Strong: React.FC<React.PropsWithChildren<ContentProps<ContentTree.Strong>>>;
|
|
14
14
|
export declare const Strikethrough: React.FC<React.PropsWithChildren<ContentProps<ContentTree.Strikethrough>>>;
|
|
15
|
+
export declare const CccFallbackText: React.FC<React.PropsWithChildren<ContentProps<ContentTreeWorkarounds.CccFallbackText>>>;
|
|
15
16
|
export declare const TableRow: React.FC<React.PropsWithChildren<ContentProps<ContentTreeWorkarounds.TableRow>>>;
|
|
16
17
|
export declare const TableFooter: React.FC<React.PropsWithChildren<ContentProps<ContentTreeWorkarounds.TableFooter>>>;
|
|
17
18
|
export declare const TableCaption: React.FC<React.PropsWithChildren<ContentProps<ContentTreeWorkarounds.TableCaption>>>;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TableCaption = exports.TableFooter = exports.TableRow = exports.Strikethrough = exports.Strong = exports.Emphasis = exports.HorizontalRule = exports.LineBreak = exports.Cite = exports.Blockquote = exports.Link = exports.ListItem = exports.List = void 0;
|
|
6
|
+
exports.TableCaption = exports.TableFooter = exports.TableRow = exports.CccFallbackText = exports.Strikethrough = exports.Strong = exports.Emphasis = exports.HorizontalRule = exports.LineBreak = exports.Cite = exports.Blockquote = exports.Link = exports.ListItem = exports.List = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const List = (props) => props.content.ordered ? react_1.default.createElement("ol", null, props.children) : react_1.default.createElement("ul", null, props.children);
|
|
9
9
|
exports.List = List;
|
|
@@ -29,6 +29,8 @@ const Strong = (props) => react_1.default.createElement("strong", null, props.ch
|
|
|
29
29
|
exports.Strong = Strong;
|
|
30
30
|
const Strikethrough = (props) => react_1.default.createElement("s", null, props.children);
|
|
31
31
|
exports.Strikethrough = Strikethrough;
|
|
32
|
+
const CccFallbackText = (props) => react_1.default.createElement("div", null, props.children);
|
|
33
|
+
exports.CccFallbackText = CccFallbackText;
|
|
32
34
|
const TableRow = (props) => react_1.default.createElement("tr", null, props.children);
|
|
33
35
|
exports.TableRow = TableRow;
|
|
34
36
|
const TableFooter = (props) => (react_1.default.createElement("tfoot", null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasicComponents.js","sourceRoot":"","sources":["../../../src/components/RichText/BasicComponents.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AAKlB,MAAM,IAAI,GAEb,CAAC,KAAK,EAAE,EAAE,CACZ,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAK,KAAK,CAAC,QAAQ,CAAM,CAAC,CAAC,CAAC,0CAAK,KAAK,CAAC,QAAQ,CAAM,CAAA;AAHlE,QAAA,IAAI,QAG8D;AAExE,MAAM,QAAQ,GAEjB,CAAC,KAAK,EAAE,EAAE,CAAC,0CAAK,KAAK,CAAC,QAAQ,CAAM,CAAA;AAF3B,QAAA,QAAQ,YAEmB;AAEjC,MAAM,IAAI,GAEb,CAAC,KAAK,EAAE,EAAE,CAAC,CACb,qCAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IACnD,KAAK,CAAC,QAAQ,CACb,CACL,CAAA;AANY,QAAA,IAAI,QAMhB;AAEM,MAAM,UAAU,GAEnB,CAAC,KAAK,EAAE,EAAE;IACZ,OAAO,CACL,8CAAY,SAAS,EAAC,sBAAsB,IAAE,KAAK,CAAC,QAAQ,CAAc,CAC3E,CAAA;AACH,CAAC,CAAA;AANY,QAAA,UAAU,cAMtB;AAEM,MAAM,IAAI,GAEb,CAAC,KAAK,EAAE,EAAE;IACZ,OAAO,4CAAO,KAAK,CAAC,QAAQ,CAAQ,CAAA;AACtC,CAAC,CAAA;AAJY,QAAA,IAAI,QAIhB;AAEM,MAAM,SAAS,GAAa,GAAG,EAAE,CAAC,yCAAM,CAAA;AAAlC,QAAA,SAAS,aAAyB;AAExC,MAAM,cAAc,GAAa,GAAG,EAAE,CAAC,yCAAM,CAAA;AAAvC,QAAA,cAAc,kBAAyB;AAE7C,MAAM,QAAQ,GAEjB,CAAC,KAAK,EAAE,EAAE,CAAC,0CAAK,KAAK,CAAC,QAAQ,CAAM,CAAA;AAF3B,QAAA,QAAQ,YAEmB;AAEjC,MAAM,MAAM,GAEf,CAAC,KAAK,EAAE,EAAE,CAAC,8CAAS,KAAK,CAAC,QAAQ,CAAU,CAAA;AAFnC,QAAA,MAAM,UAE6B;AAEzC,MAAM,aAAa,GAEtB,CAAC,KAAK,EAAE,EAAE,CAAC,yCAAI,KAAK,CAAC,QAAQ,CAAK,CAAA;AAFzB,QAAA,aAAa,iBAEY;AAE/B,MAAM,QAAQ,GAEjB,CAAC,KAAK,EAAE,EAAE,CAAC,0CAAK,KAAK,CAAC,QAAQ,CAAM,CAAA;AAF3B,QAAA,QAAQ,YAEmB;AAEjC,MAAM,WAAW,GAEpB,CAAC,KAAK,EAAE,EAAE,CAAC,CACb;IACE;QACE,sCAAI,OAAO,EAAE,IAAI,EAAE,SAAS,EAAC,kBAAkB,IAC5C,KAAK,CAAC,QAAQ,CACZ,CACF,CACC,CACT,CAAA;AAVY,QAAA,WAAW,eAUvB;AAEM,MAAM,YAAY,GAErB,CAAC,KAAK,EAAE,EAAE,CAAC,CACb,2CAAS,SAAS,EAAC,uDAAuD,IACvE,KAAK,CAAC,QAAQ,CACP,CACX,CAAA;AANY,QAAA,YAAY,gBAMxB"}
|
|
1
|
+
{"version":3,"file":"BasicComponents.js","sourceRoot":"","sources":["../../../src/components/RichText/BasicComponents.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AAKlB,MAAM,IAAI,GAEb,CAAC,KAAK,EAAE,EAAE,CACZ,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAK,KAAK,CAAC,QAAQ,CAAM,CAAC,CAAC,CAAC,0CAAK,KAAK,CAAC,QAAQ,CAAM,CAAA;AAHlE,QAAA,IAAI,QAG8D;AAExE,MAAM,QAAQ,GAEjB,CAAC,KAAK,EAAE,EAAE,CAAC,0CAAK,KAAK,CAAC,QAAQ,CAAM,CAAA;AAF3B,QAAA,QAAQ,YAEmB;AAEjC,MAAM,IAAI,GAEb,CAAC,KAAK,EAAE,EAAE,CAAC,CACb,qCAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IACnD,KAAK,CAAC,QAAQ,CACb,CACL,CAAA;AANY,QAAA,IAAI,QAMhB;AAEM,MAAM,UAAU,GAEnB,CAAC,KAAK,EAAE,EAAE;IACZ,OAAO,CACL,8CAAY,SAAS,EAAC,sBAAsB,IAAE,KAAK,CAAC,QAAQ,CAAc,CAC3E,CAAA;AACH,CAAC,CAAA;AANY,QAAA,UAAU,cAMtB;AAEM,MAAM,IAAI,GAEb,CAAC,KAAK,EAAE,EAAE;IACZ,OAAO,4CAAO,KAAK,CAAC,QAAQ,CAAQ,CAAA;AACtC,CAAC,CAAA;AAJY,QAAA,IAAI,QAIhB;AAEM,MAAM,SAAS,GAAa,GAAG,EAAE,CAAC,yCAAM,CAAA;AAAlC,QAAA,SAAS,aAAyB;AAExC,MAAM,cAAc,GAAa,GAAG,EAAE,CAAC,yCAAM,CAAA;AAAvC,QAAA,cAAc,kBAAyB;AAE7C,MAAM,QAAQ,GAEjB,CAAC,KAAK,EAAE,EAAE,CAAC,0CAAK,KAAK,CAAC,QAAQ,CAAM,CAAA;AAF3B,QAAA,QAAQ,YAEmB;AAEjC,MAAM,MAAM,GAEf,CAAC,KAAK,EAAE,EAAE,CAAC,8CAAS,KAAK,CAAC,QAAQ,CAAU,CAAA;AAFnC,QAAA,MAAM,UAE6B;AAEzC,MAAM,aAAa,GAEtB,CAAC,KAAK,EAAE,EAAE,CAAC,yCAAI,KAAK,CAAC,QAAQ,CAAK,CAAA;AAFzB,QAAA,aAAa,iBAEY;AAE/B,MAAM,eAAe,GAExB,CAAC,KAAK,EAAE,EAAE,CAAC,2CAAM,KAAK,CAAC,QAAQ,CAAO,CAAA;AAF7B,QAAA,eAAe,mBAEc;AAEnC,MAAM,QAAQ,GAEjB,CAAC,KAAK,EAAE,EAAE,CAAC,0CAAK,KAAK,CAAC,QAAQ,CAAM,CAAA;AAF3B,QAAA,QAAQ,YAEmB;AAEjC,MAAM,WAAW,GAEpB,CAAC,KAAK,EAAE,EAAE,CAAC,CACb;IACE;QACE,sCAAI,OAAO,EAAE,IAAI,EAAE,SAAS,EAAC,kBAAkB,IAC5C,KAAK,CAAC,QAAQ,CACZ,CACF,CACC,CACT,CAAA;AAVY,QAAA,WAAW,eAUvB;AAEM,MAAM,YAAY,GAErB,CAAC,KAAK,EAAE,EAAE,CAAC,CACb,2CAAS,SAAS,EAAC,uDAAuD,IACvE,KAAK,CAAC,QAAQ,CACP,CACX,CAAA;AANY,QAAA,YAAY,gBAMxB"}
|
|
@@ -40,6 +40,7 @@ const Video_1 = __importDefault(require("../Video"));
|
|
|
40
40
|
const Table_1 = __importDefault(require("../Table"));
|
|
41
41
|
const Clip_1 = __importDefault(require("../Clip"));
|
|
42
42
|
const Paragraph_1 = __importDefault(require("../Paragraph"));
|
|
43
|
+
const CustomCodeComponent_1 = __importDefault(require("../CustomCodeComponent"));
|
|
43
44
|
const BasicComponents_1 = require("./BasicComponents");
|
|
44
45
|
const TableBody_1 = __importDefault(require("../Table/TableBody"));
|
|
45
46
|
const TableCell_1 = require("../Table/TableCell");
|
|
@@ -57,8 +58,10 @@ const componentMap = {
|
|
|
57
58
|
cite: BasicComponents_1.Cite,
|
|
58
59
|
blockquote: BasicComponents_1.Blockquote,
|
|
59
60
|
break: BasicComponents_1.LineBreak,
|
|
61
|
+
'ccc-fallback-text': BasicComponents_1.CccFallbackText,
|
|
60
62
|
'clip-set': Clip_1.default,
|
|
61
63
|
clip: Clip_1.default,
|
|
64
|
+
'custom-code-component': CustomCodeComponent_1.default,
|
|
62
65
|
emphasis: BasicComponents_1.Emphasis,
|
|
63
66
|
flourish: Flourish_1.default,
|
|
64
67
|
heading: Heading_1.default,
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/RichText/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ContentTree } from '@financial-times/content-tree';
|
|
2
|
-
import { ConceptFragment, TranscriptFragment } from '@financial-times/cp-content-pipeline-client';
|
|
2
|
+
import { ConceptFragment, TranscriptFragment, CustomCodeComponentRichTextFragment } from '@financial-times/cp-content-pipeline-client';
|
|
3
3
|
import type { ContentTreeWorkarounds } from '@financial-times/cp-content-pipeline-schema';
|
|
4
4
|
import type { LiteralToPrimitiveDeep, SetFieldType, SetOptional, Simplify } from 'type-fest';
|
|
5
5
|
/**
|
|
@@ -86,4 +86,8 @@ export type MainImageRaw = ContentTreeWorkarounds.MainImageRaw & {
|
|
|
86
86
|
export type Author = PartialToMaybe<ContentTreeWorkarounds.Author & {
|
|
87
87
|
concept?: ConceptFragment;
|
|
88
88
|
}>;
|
|
89
|
+
type CustomCodeComponentUI = Pick<ContentTree.CustomCodeComponent, 'path' | 'versionRange' | 'id' | 'layoutWidth' | 'attributes' | 'type'>;
|
|
90
|
+
export type CustomCodeComponent = PartialToMaybeDeep<CustomCodeComponentUI & {
|
|
91
|
+
body?: CustomCodeComponentRichTextFragment;
|
|
92
|
+
}>;
|
|
89
93
|
export {};
|
package/lib/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export { default as Byline } from './components/Byline';
|
|
|
6
6
|
export { default as Flourish } from './components/Flourish';
|
|
7
7
|
export { default as Heading } from './components/Heading';
|
|
8
8
|
export { default as ImageSet } from './components/ImageSet';
|
|
9
|
+
export { default as CustomCodeComponent } from './components/CustomCodeComponent';
|
|
9
10
|
export { default as Clip } from './components/Clip/template/component';
|
|
10
11
|
export { Layout, LayoutContainer, LayoutSlot } from './components/Layout';
|
|
11
12
|
export { default as LiveBlogBody } from './components/LiveBlogBody';
|
|
@@ -22,5 +23,5 @@ export { default as Topper } from './components/Topper';
|
|
|
22
23
|
export { default as Tweet } from './components/Tweet';
|
|
23
24
|
export { default as Video } from './components/Video';
|
|
24
25
|
export { default as YoutubeVideo } from './components/YoutubeVideo';
|
|
25
|
-
export { List, ListItem, Link, Blockquote, LineBreak, HorizontalRule, Emphasis, Strong, Strikethrough, Cite, } from './components/RichText/BasicComponents';
|
|
26
|
+
export { List, ListItem, Link, Blockquote, LineBreak, HorizontalRule, Emphasis, Strong, Strikethrough, Cite, CccFallbackText, } from './components/RichText/BasicComponents';
|
|
26
27
|
export { PresentationFlagsContext, PresentationOverridesContext, } from './context';
|
package/lib/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.PresentationOverridesContext = exports.PresentationFlagsContext = exports.Cite = exports.Strikethrough = exports.Strong = exports.Emphasis = exports.HorizontalRule = exports.LineBreak = exports.Blockquote = exports.Link = exports.ListItem = exports.List = exports.YoutubeVideo = exports.Video = exports.Tweet = exports.Topper = exports.Table = exports.ScrollyBlock = exports.RichText = exports.Recommended = exports.Pullquote = exports.PodcastBody = exports.Paragraph = exports.MainImage = exports.LiveBlogWrapper = exports.LiveBlogBody = exports.LayoutSlot = exports.LayoutContainer = exports.Layout = exports.Clip = exports.ImageSet = exports.Heading = exports.Flourish = exports.Byline = exports.Body = exports.BigNumber = exports.ArticleInfo = exports.ArticleBody = void 0;
|
|
6
|
+
exports.PresentationOverridesContext = exports.PresentationFlagsContext = exports.CccFallbackText = exports.Cite = exports.Strikethrough = exports.Strong = exports.Emphasis = exports.HorizontalRule = exports.LineBreak = exports.Blockquote = exports.Link = exports.ListItem = exports.List = exports.YoutubeVideo = exports.Video = exports.Tweet = exports.Topper = exports.Table = exports.ScrollyBlock = exports.RichText = exports.Recommended = exports.Pullquote = exports.PodcastBody = exports.Paragraph = exports.MainImage = exports.LiveBlogWrapper = exports.LiveBlogBody = exports.LayoutSlot = exports.LayoutContainer = exports.Layout = exports.Clip = exports.CustomCodeComponent = exports.ImageSet = exports.Heading = exports.Flourish = exports.Byline = exports.Body = exports.BigNumber = exports.ArticleInfo = exports.ArticleBody = void 0;
|
|
7
7
|
var ArticleBody_1 = require("./components/ArticleBody");
|
|
8
8
|
Object.defineProperty(exports, "ArticleBody", { enumerable: true, get: function () { return __importDefault(ArticleBody_1).default; } });
|
|
9
9
|
var ArticleInfo_1 = require("./components/ArticleInfo");
|
|
@@ -20,6 +20,8 @@ var Heading_1 = require("./components/Heading");
|
|
|
20
20
|
Object.defineProperty(exports, "Heading", { enumerable: true, get: function () { return __importDefault(Heading_1).default; } });
|
|
21
21
|
var ImageSet_1 = require("./components/ImageSet");
|
|
22
22
|
Object.defineProperty(exports, "ImageSet", { enumerable: true, get: function () { return __importDefault(ImageSet_1).default; } });
|
|
23
|
+
var CustomCodeComponent_1 = require("./components/CustomCodeComponent");
|
|
24
|
+
Object.defineProperty(exports, "CustomCodeComponent", { enumerable: true, get: function () { return __importDefault(CustomCodeComponent_1).default; } });
|
|
23
25
|
var component_1 = require("./components/Clip/template/component");
|
|
24
26
|
Object.defineProperty(exports, "Clip", { enumerable: true, get: function () { return __importDefault(component_1).default; } });
|
|
25
27
|
var Layout_1 = require("./components/Layout");
|
|
@@ -65,6 +67,7 @@ Object.defineProperty(exports, "Emphasis", { enumerable: true, get: function ()
|
|
|
65
67
|
Object.defineProperty(exports, "Strong", { enumerable: true, get: function () { return BasicComponents_1.Strong; } });
|
|
66
68
|
Object.defineProperty(exports, "Strikethrough", { enumerable: true, get: function () { return BasicComponents_1.Strikethrough; } });
|
|
67
69
|
Object.defineProperty(exports, "Cite", { enumerable: true, get: function () { return BasicComponents_1.Cite; } });
|
|
70
|
+
Object.defineProperty(exports, "CccFallbackText", { enumerable: true, get: function () { return BasicComponents_1.CccFallbackText; } });
|
|
68
71
|
var context_1 = require("./context");
|
|
69
72
|
Object.defineProperty(exports, "PresentationFlagsContext", { enumerable: true, get: function () { return context_1.PresentationFlagsContext; } });
|
|
70
73
|
Object.defineProperty(exports, "PresentationOverridesContext", { enumerable: true, get: function () { return context_1.PresentationOverridesContext; } });
|