@remkoj/optimizely-cms-react 5.1.5 → 6.0.0-pre10
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/dist/components/cms-content/get-content-type.js +8 -17
- package/dist/components/cms-content/get-content-type.js.map +1 -1
- package/dist/components/cms-content/get-content.js +41 -59
- package/dist/components/cms-content/get-content.js.map +1 -1
- package/dist/components/cms-content/resolve-component.js +9 -4
- package/dist/components/cms-content/resolve-component.js.map +1 -1
- package/dist/components/cms-content/rsc.js +3 -5
- package/dist/components/cms-content/rsc.js.map +1 -1
- package/dist/components/cms-content-area/index.js +3 -3
- package/dist/components/cms-content-area/index.js.map +1 -1
- package/dist/components/cms-editable/index.js +7 -5
- package/dist/components/cms-editable/index.js.map +1 -1
- package/dist/components/rich-text/components.d.ts +1 -1
- package/dist/components/rich-text/index.d.ts +2 -1
- package/dist/components/rich-text/index.js +6 -3
- package/dist/components/rich-text/index.js.map +1 -1
- package/dist/components/rsc-components.d.ts +31 -0
- package/dist/components/rsc-components.js +53 -0
- package/dist/components/rsc-components.js.map +1 -0
- package/dist/components/rsc.d.ts +2 -45
- package/dist/components/rsc.js +1 -51
- package/dist/components/rsc.js.map +1 -1
- package/dist/components/type-utils.d.ts +1 -1
- package/dist/components/visual-builder/functions.js +1 -1
- package/dist/components/visual-builder/functions.js.map +1 -1
- package/dist/components/visual-builder/index.js +9 -5
- package/dist/components/visual-builder/index.js.map +1 -1
- package/dist/components/visual-builder/types.d.ts +2 -1
- package/dist/context/client.js +5 -2
- package/dist/context/client.js.map +1 -1
- package/dist/context/rsc.d.ts +1 -1
- package/dist/context/rsc.js +14 -43
- package/dist/context/rsc.js.map +1 -1
- package/dist/context/shared.js +2 -1
- package/dist/context/shared.js.map +1 -1
- package/dist/context/types.d.ts +3 -11
- package/dist/factory/default.js +0 -5
- package/dist/factory/default.js.map +1 -1
- package/dist/factory/types.d.ts +1 -1
- package/dist/rsc.d.ts +1 -0
- package/dist/rsc.js +1 -0
- package/dist/rsc.js.map +1 -1
- package/dist/types.d.ts +5 -3
- package/dist/utilities.d.ts +54 -4
- package/dist/utilities.js +100 -7
- package/dist/utilities.js.map +1 -1
- package/package.json +23 -25
- package/dist/components.d.ts +0 -29
- package/dist/components.js +0 -24
- package/dist/components.js.map +0 -1
|
@@ -27,19 +27,14 @@ export async function getContentType(link, gqlClient) {
|
|
|
27
27
|
console.error(`🔴 [CmsContent][getContentType] The provided link is not a valid content link: ${contentLinkToString(link)}`);
|
|
28
28
|
throw new Error(`The provided link is not a valid content link: ${contentLinkToString(link)}`);
|
|
29
29
|
}
|
|
30
|
-
const gqlQueryVars = contentLinkToRequestVariables(link);
|
|
30
|
+
const gqlQueryVars = contentLinkToRequestVariables(link, gqlClient);
|
|
31
31
|
const gqlResponse = await gqlClient.request(getContentTypeQuery, gqlQueryVars);
|
|
32
32
|
if (gqlResponse.Content?.total != 1) {
|
|
33
33
|
if (gqlClient.debug)
|
|
34
34
|
console.error(`🔴 [CmsContent][getContentType] Expected exactly one type, received ${gqlResponse.Content?.total ?? 0} types for`, gqlQueryVars);
|
|
35
35
|
return undefined;
|
|
36
36
|
}
|
|
37
|
-
const
|
|
38
|
-
if (!items || items.length == 0) {
|
|
39
|
-
console.error(`🔴 [CmsContent][getContentType] The content item could not be found! (${contentLinkToString(link)})`);
|
|
40
|
-
throw new Error("The content item could not be found!");
|
|
41
|
-
}
|
|
42
|
-
const contentType = normalizeContentType(items[0]?._metadata?.types);
|
|
37
|
+
const contentType = normalizeContentType(gqlResponse.Content?.item?._metadata?.types);
|
|
43
38
|
if (!contentType) {
|
|
44
39
|
console.error(`🔴 [CmsContent][getContentType] The item did not contain type information! (${contentLinkToString(link)})`);
|
|
45
40
|
throw new Error("The item did not contain type information");
|
|
@@ -47,20 +42,16 @@ export async function getContentType(link, gqlClient) {
|
|
|
47
42
|
return contentType;
|
|
48
43
|
}
|
|
49
44
|
export default getContentType;
|
|
50
|
-
const getContentTypeQuery = gql `query getContentType($key: String!, $version: String, $locale: [Locales])
|
|
45
|
+
const getContentTypeQuery = gql `query getContentType($key: [String!]!, $version: String, $locale: [Locales!], $changeset: String, $variation: VariationInput)
|
|
51
46
|
{
|
|
52
47
|
Content: _Content(
|
|
53
|
-
|
|
54
|
-
_metadata: {
|
|
55
|
-
key: { eq: $key }
|
|
56
|
-
version: { eq: $version }
|
|
57
|
-
}
|
|
58
|
-
},
|
|
48
|
+
ids: $key
|
|
59
49
|
locale: $locale
|
|
60
|
-
|
|
50
|
+
variation: $variation
|
|
51
|
+
where: { _metadata: { changeset: { eq: $changeset }, version: { eq: $version } } }
|
|
61
52
|
) {
|
|
62
|
-
|
|
63
|
-
_metadata {
|
|
53
|
+
item {
|
|
54
|
+
metadata: _metadata {
|
|
64
55
|
types
|
|
65
56
|
}
|
|
66
57
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-content-type.js","sourceRoot":"","sources":["../../../src/components/cms-content/get-content-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAmE,MAAM,iCAAiC,CAAA;AAE1K,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAIxF,MAAM,UAAU,kBAAkB,CAAI,KAAQ;
|
|
1
|
+
{"version":3,"file":"get-content-type.js","sourceRoot":"","sources":["../../../src/components/cms-content/get-content-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAmE,MAAM,iCAAiC,CAAA;AAE1K,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAIxF,MAAM,UAAU,kBAAkB,CAAI,KAAQ;IAC5C,MAAM,EAAE,GAAmB;QACzB,IAAI,EAAE,CAAe,WAAiF,EAAE,EAAE;YACxG,IAAI,CAAC,WAAW;gBACd,OAAO,KAAyC,CAAA;YAClD,OAAO,WAAW,CAAC,KAAK,CAA0B,CAAA;QACpD,CAAC;KACF,CAAA;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAqC,EAAE,SAA2B;IACrG,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,4GAA4G,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtJ,MAAM,IAAI,KAAK,CAAC,4EAA4E,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC1H,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,kFAAkF,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5H,MAAM,IAAI,KAAK,CAAC,kDAAkD,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChG,CAAC;IAED,MAAM,YAAY,GAAG,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACnE,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,OAAO,CAAyB,mBAAmB,EAAE,YAAY,CAAC,CAAA;IACtG,IAAI,WAAW,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,SAAS,CAAC,KAAK;YACjB,OAAO,CAAC,KAAK,CAAC,uEAAuE,WAAW,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QACjJ,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;IACrF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,+EAA+E,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1H,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,eAAe,cAAc,CAAA;AAa7B,MAAM,mBAAmB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;EAe7B,CAAA"}
|
|
@@ -5,8 +5,8 @@ import { validatesFragment, contentLinkToRequestVariables, isCmsComponentWithFra
|
|
|
5
5
|
import { getComponentLabel } from './resolve-component.js';
|
|
6
6
|
export function getContent(client, contentLink, Component, fragmentData, noDataLoad) {
|
|
7
7
|
const debug = client?.debug ?? false;
|
|
8
|
-
// Handle provided fragment
|
|
9
8
|
const componentLabel = getComponentLabel(Component);
|
|
9
|
+
// Handle provided fragment data
|
|
10
10
|
const fragmentProps = fragmentData ? Object.getOwnPropertyNames(fragmentData).filter(x => !CmsContentFragments.IContentDataProps.includes(x)) : [];
|
|
11
11
|
if (fragmentData && fragmentProps.length > 0) {
|
|
12
12
|
// Invalid fragment
|
|
@@ -17,13 +17,11 @@ export function getContent(client, contentLink, Component, fragmentData, noDataL
|
|
|
17
17
|
}
|
|
18
18
|
else if (client?.isPreviewEnabled() && isContentLink(contentLink) && !isInlineContentLink(contentLink)) {
|
|
19
19
|
if (debug)
|
|
20
|
-
console.warn(
|
|
20
|
+
console.warn(`🔴 [CmsContent][getContent] Rendering shared instance (${JSON.stringify(contentLink)}), while in preview mode, falling back to loading for ${componentLabel}`);
|
|
21
21
|
contentLink.version = null;
|
|
22
22
|
// Default mode, use fragment
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
|
-
if (debug)
|
|
26
|
-
console.log("⚪ [CmsContent][getContent] Rendering CMS Component using fragment information", fragmentProps);
|
|
27
25
|
return (noDataLoad ? fragmentData : Promise.resolve(fragmentData));
|
|
28
26
|
}
|
|
29
27
|
}
|
|
@@ -33,11 +31,9 @@ export function getContent(client, contentLink, Component, fragmentData, noDataL
|
|
|
33
31
|
console.warn(`🟠 [CmsContent][getContent] No data present for inline content item, this may cause errors if your component expects certain fields to be present`);
|
|
34
32
|
return (noDataLoad ? fragmentData ?? {} : Promise.resolve(fragmentData ?? {}));
|
|
35
33
|
}
|
|
36
|
-
if
|
|
37
|
-
|
|
38
|
-
console.log(`⚪ [CmsContent][getContent] Component of type "${componentLabel}" was prohibited to load data`);
|
|
34
|
+
// Stop before running any Async operation if we're not loading data
|
|
35
|
+
if (noDataLoad)
|
|
39
36
|
return (noDataLoad ? {} : Promise.resolve({}));
|
|
40
|
-
}
|
|
41
37
|
// If we don't have a valid link, stop here
|
|
42
38
|
if (!isContentLink(contentLink)) {
|
|
43
39
|
if (debug)
|
|
@@ -49,83 +45,67 @@ export function getContent(client, contentLink, Component, fragmentData, noDataL
|
|
|
49
45
|
console.error(`🔴 [CmsContent][getContent] Data loading for "${componentLabel}" requires a GraphQL Client`);
|
|
50
46
|
throw new Error(`Data loading for "${componentLabel}" requires a GraphQL Client`);
|
|
51
47
|
}
|
|
52
|
-
if (isCmsComponentWithFragment(Component))
|
|
53
|
-
return getComponentDataFromFragment(Component, contentLink, client).then(data => (data || {}));
|
|
54
48
|
if (isCmsComponentWithDataQuery(Component))
|
|
55
49
|
return getComponentDataFromQuery(Component, contentLink, client);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
console.log(`⚪ [CmsContent] Component of type "${componentLabel}" did not request loading of data`);
|
|
50
|
+
if (isCmsComponentWithFragment(Component))
|
|
51
|
+
return getComponentDataFromFragment(Component, contentLink, client).then(data => (data || {}));
|
|
59
52
|
return Promise.resolve({});
|
|
60
53
|
}
|
|
61
54
|
export default getContent;
|
|
62
55
|
async function getComponentDataFromQuery(Component, contentLink, client) {
|
|
63
56
|
const gqlQuery = Component.getDataQuery();
|
|
64
|
-
const gqlVariables = contentLinkToRequestVariables(contentLink);
|
|
65
|
-
//
|
|
66
|
-
if (client.isPreviewEnabled())
|
|
67
|
-
gqlVariables.changeset = client.getChangeset();
|
|
68
|
-
if (client.debug)
|
|
69
|
-
console.log("⚪ [CmsContent][getContent] Component fetching data using query, using provided variables:", gqlVariables);
|
|
57
|
+
const gqlVariables = contentLinkToRequestVariables(contentLink, client);
|
|
58
|
+
// Run the Query
|
|
70
59
|
const responseData = await client.request(gqlQuery, gqlVariables);
|
|
71
|
-
|
|
72
|
-
if (
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
60
|
+
// See if this is a templated response, if so return the selected fields.
|
|
61
|
+
if (isTemplatedResponse(responseData)) {
|
|
62
|
+
const responseItem = responseData.data?.item;
|
|
63
|
+
// Transform CMS 12 results
|
|
64
|
+
if (client.currentOptiCmsSchema == OptiCmsSchema.CMS12 && responseItem._locale?.name) {
|
|
65
|
+
const metadata = responseItem._metadata ?? {};
|
|
66
|
+
metadata.locale = responseItem._locale?.name;
|
|
67
|
+
responseItem._metadata = metadata;
|
|
68
|
+
delete responseItem._locale;
|
|
69
|
+
}
|
|
70
|
+
return responseItem;
|
|
81
71
|
}
|
|
82
|
-
|
|
72
|
+
// Otherwise return the raw result
|
|
73
|
+
return responseData;
|
|
74
|
+
}
|
|
75
|
+
function isTemplatedResponse(responseData) {
|
|
76
|
+
if (!responseData || typeof (responseData) !== 'object')
|
|
77
|
+
return false;
|
|
78
|
+
const responseKey = responseData?.data?.item?._metadata?.key;
|
|
79
|
+
return typeof (responseKey) === 'string' && responseKey.length > 0;
|
|
83
80
|
}
|
|
84
81
|
async function getComponentDataFromFragment(Component, contentLink, client) {
|
|
85
82
|
const [name, fragment] = Component.getDataFragment();
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
const
|
|
90
|
-
//
|
|
91
|
-
if (client.currentOptiCmsSchema == OptiCmsSchema.CMS12)
|
|
92
|
-
fragmentVariables.version = tryParsePositiveInt(fragmentVariables.version);
|
|
93
|
-
// If the CMS Preview mode has been enabled, make sure we include that in the query
|
|
94
|
-
if (client.isPreviewEnabled())
|
|
95
|
-
fragmentVariables.changeset = client.getChangeset();
|
|
96
|
-
if (client.debug)
|
|
97
|
-
console.log(`⚪ [CmsContent] Component data fetching using variables: ${JSON.stringify(fragmentVariables)}`);
|
|
98
|
-
const fragmentResponse = await client.request(fragmentQuery, fragmentVariables);
|
|
83
|
+
const gqlQuery = client.currentOptiCmsSchema == OptiCmsSchema.CMS12 ? buildCms12Query(name, fragment) : buildCms13Query(name, fragment);
|
|
84
|
+
const gqlVariables = contentLinkToRequestVariables(contentLink, client);
|
|
85
|
+
// Run the Query
|
|
86
|
+
const fragmentResponse = await client.request(gqlQuery, gqlVariables);
|
|
87
|
+
// Check the result count
|
|
99
88
|
const totalItems = fragmentResponse.contentById.total || 0;
|
|
100
89
|
if (totalItems < 1)
|
|
101
|
-
throw new Error(`CmsContent expected to load exactly one content item of type ${name}, received ${totalItems} from Optimizely Graph. Content Item: ${JSON.stringify(
|
|
90
|
+
throw new Error(`CmsContent expected to load exactly one content item of type ${name}, received ${totalItems} from Optimizely Graph. Content Item: ${JSON.stringify(gqlVariables)}`);
|
|
102
91
|
if (totalItems > 1 && client.debug)
|
|
103
92
|
console.warn(`🟠 [CmsContent] Resolved ${totalItems} content items, expected only 1. Picked the first one`);
|
|
93
|
+
// Transform CMS 12 results
|
|
104
94
|
if (client.currentOptiCmsSchema == OptiCmsSchema.CMS12) {
|
|
105
95
|
fragmentResponse.contentById.items[0]._metadata.locale = fragmentResponse.contentById.items[0]._metadata.locale ?? fragmentResponse.contentById.items[0]._locale?.name;
|
|
106
96
|
if (fragmentResponse.contentById.items[0]._locale)
|
|
107
97
|
delete fragmentResponse.contentById.items[0]._locale;
|
|
108
98
|
}
|
|
99
|
+
// Return the item
|
|
109
100
|
return fragmentResponse.contentById.items[0];
|
|
110
101
|
}
|
|
111
|
-
function tryParsePositiveInt(value, defaultValue) {
|
|
112
|
-
try {
|
|
113
|
-
const versionNr = value ? Number.parseInt(value) : 0;
|
|
114
|
-
if (!isNaN(versionNr) && versionNr > 0)
|
|
115
|
-
return versionNr;
|
|
116
|
-
}
|
|
117
|
-
catch {
|
|
118
|
-
// Ignore
|
|
119
|
-
}
|
|
120
|
-
return defaultValue;
|
|
121
|
-
}
|
|
122
102
|
const buildCms12Query = (name, fragment) => `query getContentFragmentById($key: String!, $version: Int, $locale: [Locales!]) { contentById: Content(where: { ContentLink: { GuidValue: { eq: $key }, WorkId: { eq: $version } } }, locale: $locale) { total, items { _type: __typename, _metadata: ContentLink { key: GuidValue, version: WorkId }, _locale: Language { name: Name } ...${name} }}}\n${typeof (fragment) == 'string' ? fragment : print(fragment)}`;
|
|
123
|
-
const buildCms13Query = (name, fragment) => `query getContentFragmentById($key: String!, $version: String, $locale: [Locales!], $changeset: String) {
|
|
103
|
+
const buildCms13Query = (name, fragment) => `query getContentFragmentById($key: [String!]!, $version: String, $locale: [Locales!], $changeset: String, $variation: VariationInput) {
|
|
124
104
|
contentById: _Content(
|
|
125
|
-
|
|
126
|
-
_metadata: { key: { eq: $key }, version: { eq: $version }, changeset: { eq: $changeset } }
|
|
127
|
-
}
|
|
105
|
+
ids: $key
|
|
128
106
|
locale: $locale
|
|
107
|
+
variation: $variation
|
|
108
|
+
where: { _metadata: { changeset: { eq: $changeset }, version: { eq: $version } } }
|
|
129
109
|
) {
|
|
130
110
|
total
|
|
131
111
|
items {
|
|
@@ -135,6 +115,8 @@ const buildCms13Query = (name, fragment) => `query getContentFragmentById($key:
|
|
|
135
115
|
key
|
|
136
116
|
version
|
|
137
117
|
locale
|
|
118
|
+
variation
|
|
119
|
+
changeset
|
|
138
120
|
}
|
|
139
121
|
...${name}
|
|
140
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-content.js","sourceRoot":"","sources":["../../../src/components/cms-content/get-content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,EAAE,MAAM,SAAS,CAAA;AAExC,OAAO,EAAmE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErK,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAE/I,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,UAAU,UAAU,CAA8B,MAAoC,EAAE,WAAwD,EAAE,SAAwC,EAAE,YAAoD,EAAE,UAAgB;IACtQ,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"get-content.js","sourceRoot":"","sources":["../../../src/components/cms-content/get-content.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,8 +34,10 @@ export function resolveComponent(contentType, prefix, variant, ctx) {
|
|
|
34
34
|
console.error(`🔴 [CmsContent][resolveComponent] The content type ${JSON.stringify(contentType)}, with prefix ${JSON.stringify(prefix)} yielded an empty normalized type`);
|
|
35
35
|
throw new Error(`The content type ${JSON.stringify(contentType)}, with prefix ${JSON.stringify(prefix)} yielded an empty normalized type`);
|
|
36
36
|
}
|
|
37
|
-
if (isDebug)
|
|
38
|
-
|
|
37
|
+
/*if (isDebug)
|
|
38
|
+
console.log(
|
|
39
|
+
`⚪ [CmsContent][resolveComponent] Normalized content type ${JSON.stringify(contentType)} to ${myContentType}`
|
|
40
|
+
)*/
|
|
39
41
|
// Resolve component
|
|
40
42
|
const Component = Utils.resolveComponentType(factory, myContentType, variant ? [variant] : []);
|
|
41
43
|
// Handle component not found in factory
|
|
@@ -55,8 +57,11 @@ export function resolveComponent(contentType, prefix, variant, ctx) {
|
|
|
55
57
|
return ErrorComponent;
|
|
56
58
|
}
|
|
57
59
|
// Return the component
|
|
58
|
-
if (isDebug)
|
|
59
|
-
|
|
60
|
+
/*if (isDebug)
|
|
61
|
+
console.log(
|
|
62
|
+
'⚪ [CmsContent] Rendering item using component:',
|
|
63
|
+
getComponentLabel(Component as ComponentType)
|
|
64
|
+
)*/
|
|
60
65
|
return Component;
|
|
61
66
|
}
|
|
62
67
|
export default resolveComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-component.js","sourceRoot":"","sources":["../../../src/components/cms-content/resolve-component.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAS3C,MAAM,UAAU,iBAAiB,CAAC,iBAAwC;IACxE,IAAI,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAA;IACpC,IAAI,iBAAiB,CAAC,WAAW;QAAE,OAAO,iBAAiB,CAAC,WAAW,CAAA;IACvE,IAAI,OAAO,iBAAiB,IAAI,UAAU,IAAI,iBAAiB,CAAC,IAAI;QAClE,OAAO,iBAAiB,CAAC,IAAI,CAAA;IAC/B,OAAO,iBAAiB,CAAC,QAAQ,EAAE,CAAA;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAmD,EACnD,MAAiC,EACjC,OAAkC,EAClC,GAAmB;IAEnB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;IAE5C,sFAAsF;IACtF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,qFAAqF,CACtF,CAAA;QACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IAED,gKAAgK;IAChK,MAAM,aAAa,GAAG,MAAM;QAC1B,CAAC,CAAC,KAAK,CAAC,6BAA6B,CACjC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,WAAW,EACrE,MAAM,CACP;QACH,CAAC,CAAC,KAAK,CAAC,oBAAoB,CACxB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,WAAW,EACrE,IAAI,CACL,CAAA;IAEL,mEAAmE;IACnE,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,OAAO;YACT,OAAO,CAAC,KAAK,CACX,sDAAsD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAC5J,CAAA;QACH,MAAM,IAAI,KAAK,CACb,oBAAoB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAC1H,CAAA;IACH,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"resolve-component.js","sourceRoot":"","sources":["../../../src/components/cms-content/resolve-component.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
'use server';
|
|
1
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
3
|
import getContentType from './get-content-type.js';
|
|
3
4
|
import getContent from './get-content.js';
|
|
4
|
-
import { AuthMode,
|
|
5
|
+
import { AuthMode, normalizeContentLinkWithLocale, } from '@remkoj/optimizely-graph-client';
|
|
5
6
|
import resolveComponent, { isComponentMissingComponent, } from './resolve-component.js';
|
|
6
7
|
import resolveContentType from './resolve-content-type.js';
|
|
7
8
|
/**
|
|
@@ -16,7 +17,7 @@ contentType, contentTypePrefix, contentLink: rawContentLink, children, fragmentD
|
|
|
16
17
|
// Prepare context
|
|
17
18
|
const graphClient = ctx.client;
|
|
18
19
|
// Normalize the ContentLink
|
|
19
|
-
const contentLink =
|
|
20
|
+
const contentLink = normalizeContentLinkWithLocale(rawContentLink);
|
|
20
21
|
// Ensure we have the contentType
|
|
21
22
|
let myContentType = resolveContentType(contentType, fragmentData);
|
|
22
23
|
if (!myContentType) {
|
|
@@ -37,9 +38,6 @@ contentType, contentTypePrefix, contentLink: rawContentLink, children, fragmentD
|
|
|
37
38
|
: ctx.inPreviewMode
|
|
38
39
|
? 'Preview'
|
|
39
40
|
: 'Public';
|
|
40
|
-
/*console.log(
|
|
41
|
-
`👔 [CmsContent] ${mode} mode active for content with id: ${contentLinkToString(contentLink)} of type ${myContentType?.join('/') ?? 'unknown'}`
|
|
42
|
-
)*/
|
|
43
41
|
if ((ctx.inEditMode || ctx.inPreviewMode) &&
|
|
44
42
|
graphClient.currentAuthMode == AuthMode.Public)
|
|
45
43
|
console.warn(`🟠 [CmsContent] ${mode} mode active without an authenticated graphClient, this will cause problems. Make sure the context has an authenticated client.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rsc.js","sourceRoot":"","sources":["../../../src/components/cms-content/rsc.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rsc.js","sourceRoot":"","sources":["../../../src/components/cms-content/rsc.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAIZ,OAAO,cAAc,MAAM,uBAAuB,CAAA;AAClD,OAAO,UAAU,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,QAAQ,EACR,8BAA8B,GAE/B,MAAM,iCAAiC,CAAA;AACxC,OAAO,gBAAgB,EAAE,EACvB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,kBAAkB,MAAM,2BAA2B,CAAA;AAI1D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAuB;AACrD,iBAAiB;AACjB,WAAW,EACX,iBAAiB,EACjB,WAAW,EAAE,cAAc,EAC3B,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,UAAU,EACV,OAAO,EACP,GAAG,EACH,iBAAiB,GACgB;IACjC,kBAAkB;IAClB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAA;IAE9B,4BAA4B;IAC5B,MAAM,WAAW,GAAG,8BAA8B,CAAC,cAAc,CAAC,CAAA;IAElE,iCAAiC;IACjC,IAAI,aAAa,GAAG,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IACjE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CACX,kFAAkF,CACnF,CAAA;YACD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CACX,uEAAuE,CACxE,CAAA;YACD,OAAM;QACR,CAAC;QACD,aAAa,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IAChE,CAAC;IAED,qCAAqC;IACrC,IAAI,WAAW,EAAE,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU;YACzB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,GAAG,CAAC,aAAa;gBACjB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,QAAQ,CAAA;QACd,IACE,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,aAAa,CAAC;YACrC,WAAW,CAAC,eAAe,IAAI,QAAQ,CAAC,MAAM;YAE9C,OAAO,CAAC,IAAI,CACV,mBAAmB,IAAI,iIAAiI,CACzJ,CAAA;IACL,CAAC;IAED,kDAAkD;IAClD,MAAM,SAAS,GAAG,gBAAgB,CAChC,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,GAAG,CACJ,CAAA;IACD,IAAI,2BAA2B,CAAC,SAAS,CAAC;QACxC,OAAO,KAAC,SAAS,IAAC,WAAW,EAAE,WAA0B,GAAI,CAAA;IAE/D,kDAAkD;IAClD,MAAM,IAAI,GAAG,MAAM,UAAU,CAC3B,WAAW,EACX,WAAW,EACX,SAAS,EACT,YAAY,EACZ,UAAU,CACX,CAAA;IAED,MAAM,SAAS,GAA8B;QAC3C,GAAG;QACH,cAAc,EAAE,GAAG,CAAC,eAAe,IAAI,SAAS;QAChD,KAAK,EAAE,iBAAiB,IAAI,WAAW,EAAE,GAAG;KAC7C,CAAA;IAED,8BAA8B;IAC9B,OAAO,CACL,KAAC,SAAS,IACR,WAAW,EAAE,WAA0B,EACvC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,GAAG,CAAC,UAAU,EAC1B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,GAAG,YAEP,QAAQ,GACC,CACb,CAAA;AACH,CAAC;AAED,eAAe,UAAU,CAAA"}
|
|
@@ -34,12 +34,12 @@ export const CmsContentArea = ({ items = [], classMapper, fieldName, as: element
|
|
|
34
34
|
// Buld wrapper configuration
|
|
35
35
|
const contentAreaItemContainerProps = {
|
|
36
36
|
'data-epi-block-id': inEditMode && fieldName
|
|
37
|
-
? Utils.getContentEditId(contentLink)
|
|
37
|
+
? Utils.getContentEditId(contentLink)
|
|
38
38
|
: undefined,
|
|
39
39
|
'data-displayoption': item.displayOption || undefined,
|
|
40
40
|
'data-tag': item.tag || undefined,
|
|
41
41
|
'data-component': contentType?.at(0),
|
|
42
|
-
...contentItemElementProps,
|
|
42
|
+
...Utils.filterCmsComponentProps(contentItemElementProps),
|
|
43
43
|
className: `opti-content-area-item opti-content-area-item-${idx}${contentAreaItemClassName ? ' ' + contentAreaItemClassName : ''} ${classMapper ? classMapper(item.displayOption ?? 'default', contentType ?? null, idx) : ''}`,
|
|
44
44
|
};
|
|
45
45
|
const contentAraeItemContent = useSuspense ? (_jsx(Suspense, { fallback: fallback, children: _jsx(CmsContent, { contentLink: contentLink, contentType: contentType, fragmentData: fragmentData, contentTypePrefix: "Component", variant: variant, ctx: ctx }) })) : (_jsx(CmsContent, { contentLink: contentLink, contentType: contentType, fragmentData: fragmentData, contentTypePrefix: "Component", variant: variant, ctx: ctx }));
|
|
@@ -58,7 +58,7 @@ export const CmsContentArea = ({ items = [], classMapper, fieldName, as: element
|
|
|
58
58
|
className: `opti-content-area ${Array.isArray(additionalProps.className) ? additionalProps.className.join(' ') : (additionalProps.className ?? '')}`.trim(),
|
|
59
59
|
'data-epi-edit': inEditMode && fieldName ? fieldName : undefined,
|
|
60
60
|
'data-component': 'ContentArea',
|
|
61
|
-
...additionalProps,
|
|
61
|
+
...Utils.filterCmsComponentProps(additionalProps),
|
|
62
62
|
};
|
|
63
63
|
const contentAreaContainerChildrenTarget = itemsProperty ?? 'children';
|
|
64
64
|
let contentAreaContainerChildren = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/cms-content-area/index.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,EACL,8BAA8B,EAC9B,mBAAmB,GACpB,MAAM,uCAAuC,CAAA;AAO9C,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/cms-content-area/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
8
8
|
* @param param0 The HTML element with the simple properties
|
|
9
9
|
* @returns
|
|
10
10
|
*/
|
|
11
|
-
export const CmsEditable = ({ ctx, forwardCtx, as, cmsId = null, cmsFieldName = null, children, key, forceBlockId = false, forceId = true, currentContent, editType = null, ...props }) => {
|
|
11
|
+
export const CmsEditable = ({ ctx, forwardCtx = false, as, cmsId = null, cmsFieldName = null, children, key, forceBlockId = false, forceId = true, currentContent, editType = null, ...props }) => {
|
|
12
12
|
const { inEditMode, isDebugOrDevelopment, isDebug, editableContent, editableContentIsExperience, } = ctx || {
|
|
13
13
|
inEditMode: false,
|
|
14
14
|
isDebug: true,
|
|
@@ -52,10 +52,12 @@ export const CmsEditable = ({ ctx, forwardCtx, as, cmsId = null, cmsFieldName =
|
|
|
52
52
|
: {
|
|
53
53
|
...props,
|
|
54
54
|
};
|
|
55
|
-
if (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
if (typeof DefaultElement !== 'string') {
|
|
56
|
+
if (forwardCtx === true)
|
|
57
|
+
itemProps['ctx'] = ctx;
|
|
58
|
+
if (typeof forwardCtx === 'string' && forwardCtx.length > 0)
|
|
59
|
+
itemProps[forwardCtx] = ctx;
|
|
60
|
+
}
|
|
59
61
|
return _jsx(DefaultElement, { ...itemProps, children: children });
|
|
60
62
|
};
|
|
61
63
|
export default CmsEditable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/cms-editable/index.tsx"],"names":[],"mappings":";AAsFA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAA6B,CAAyB,EAC5E,GAAG,EACH,UAAU,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/cms-editable/index.tsx"],"names":[],"mappings":";AAsFA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAA6B,CAAyB,EAC5E,GAAG,EACH,UAAU,GAAG,KAAK,EAClB,EAAE,EACF,KAAK,GAAG,IAAI,EACZ,YAAY,GAAG,IAAI,EACnB,QAAQ,EACR,GAAG,EACH,YAAY,GAAG,KAAK,EACpB,OAAO,GAAG,IAAI,EACd,cAAc,EACd,QAAQ,GAAG,IAAI,EACf,GAAG,KAAK,EAC+B,EAAE,EAAE;IAC3C,MAAM,EACJ,UAAU,EACV,oBAAoB,EACpB,OAAO,EACP,eAAe,EACf,2BAA2B,GAC5B,GAAG,GAAG,IAAI;QACT,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,IAAI;QACb,oBAAoB,EAAE,IAAI;QAC1B,2BAA2B,EAAE,KAAK;KACnC,CAAA;IACD,MAAM,cAAc,GAAG,EAAE,IAAI,KAAK,CAAA;IAElC,IAAI,oBAAoB,IAAI,UAAU,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC;QAClE,OAAO,CAAC,IAAI,CACV,4FAA4F,CAC7F,CAAA;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,UAAU;QAC7B,CAAC,CAAC,cAAc;YACd,CAAC,CAAC,eAAe,EAAE,GAAG,IAAI,cAAc,CAAC,GAAG;YAC5C,CAAC,CAAC,IAAI;QACR,CAAC,CAAC,KAAK,CAAA;IAET,uFAAuF;IACvF,uFAAuF;IACvF,iCAAiC;IACjC,MAAM,mBAAmB,GAAG,2BAA2B;QACrD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC,CAAA;IAE/B,MAAM,WAAW,GACf,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC,mBAAmB,CAAC,CAAA;IACxE,MAAM,aAAa,GACjB,KAAK,EAAE,MAAM,IAAI,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAE/D,MAAM,SAAS,GAAwB,YAAY;QACjD,CAAC,CAAC;YACE,GAAG,KAAK;YACR,oFAAoF;YACpF,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACpD,0DAA0D;YAC1D,qBAAqB,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACxD,gDAAgD;YAChD,wBAAwB,EAAE,mBAAmB;YAC7C,gDAAgD;YAChD,eAAe,EAAE,mBAAmB;YACpC,iDAAiD;YACjD,4BAA4B,EAAE,QAAQ,IAAI,SAAS;SACpD;QACH,CAAC,CAAC;YACE,GAAG,KAAK;SACT,CAAA;IAEL,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAI,UAAU,KAAK,IAAI;YAAE,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;QAC/C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YACzD,SAAS,CAAC,UAAU,CAAC,GAAG,GAAG,CAAA;IAC/B,CAAC;IAED,OAAO,KAAC,cAAc,OAAK,SAAS,YAAG,QAAQ,GAAkB,CAAA;AACnE,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type FunctionComponent, type PropsWithChildren } from 'react';
|
|
1
|
+
import { type FunctionComponent, type PropsWithChildren, type JSX } from 'react';
|
|
2
2
|
import { ComponentTypeDictionary } from '../../factory/types.js';
|
|
3
3
|
import type { TextNode, TypedNode } from './types.js';
|
|
4
4
|
import { type PropsWithOptionalContext } from '../../context/types.js';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
1
2
|
import type { RichTextImplProps } from './types.js';
|
|
2
3
|
import type { ElementWithChildrenType } from '../type-utils.js';
|
|
3
4
|
export * from './types.js';
|
|
4
|
-
export declare const RichText: <ET extends ElementWithChildrenType>({ factory, text, className, as: Wrapper, debug, noWrapper, cmsFieldName, cmsId, ctx, children, ...props }: RichTextImplProps<ET>) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare const RichText: <ET extends ElementWithChildrenType>({ factory, text, className, as: Wrapper, debug, noWrapper, cmsFieldName, cmsId, ctx, children, ...props }: RichTextImplProps<ET>) => string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
|
|
@@ -14,10 +14,13 @@ export const RichText = ({ factory, text = '{ "type": "richText" }', className =
|
|
|
14
14
|
const elementId = id + '::' + idx;
|
|
15
15
|
return (_jsx(RichTextElement, { factory: richTextFactory, node: child, idPrefix: elementId + '::', ctx: ctx }, elementId));
|
|
16
16
|
}) || children;
|
|
17
|
+
if (noWrapper || !Wrapper) {
|
|
18
|
+
if (isDebug)
|
|
19
|
+
console.warn('🟠 [Rich Text] Text without wrapper, make sure you add your own `CmsEditable` as one of the parents of this component');
|
|
20
|
+
return textContent;
|
|
21
|
+
}
|
|
17
22
|
if (cmsId || cmsFieldName)
|
|
18
|
-
return (_jsx(CmsEditable, { as:
|
|
19
|
-
if (noWrapper || !Wrapper)
|
|
20
|
-
return _jsx(_Fragment, { children: textContent });
|
|
23
|
+
return (_jsx(CmsEditable, { as: Wrapper, className: className, cmsId: cmsId || undefined, cmsFieldName: cmsFieldName || undefined, ctx: ctx, ...props, children: textContent }));
|
|
21
24
|
return (
|
|
22
25
|
//@ts-expect-error
|
|
23
26
|
_jsx(Wrapper, { className: className, ...props, children: textContent }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/rich-text/index.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAGtD,cAAc,YAAY,CAAA;AAE1B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAqC,EAC3D,OAAO,EACP,IAAI,GAAG,wBAAwB,EAC/B,SAAS,GAAG,WAAW,EACvB,EAAE,EAAE,OAAO,GAAG,KAAW,EACzB,KAAK,GAAG,KAAK,EACb,SAAS,GAAG,KAAK,EACjB,YAAY,GAAG,IAAI,EACnB,KAAK,GAAG,IAAI,EACZ,GAAG,EACH,QAAQ,EACR,GAAG,KAAK,EACc,EAAE,EAAE;IAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IACzC,MAAM,eAAe,GACnB,GAAG,CAAC,OAAO,IAAI,OAAO,IAAI,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,CAAA;IAC1E,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,KAAK,CAAA;IAEpC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,WAAW,GACf,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACjC,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,CAAA;YACjC,OAAO,CACL,KAAC,eAAe,IAEd,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,SAAS,GAAG,IAAI,EAC1B,GAAG,EAAE,GAAG,IAJH,SAAS,CAKd,CACH,CAAA;QACH,CAAC,CAAC,IAAI,QAAQ,CAAA;QAEhB,IAAI,KAAK,IAAI,YAAY;YACvB,OAAO,CACL,KAAC,WAAW,IACV,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/rich-text/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type CmsContentAreaComponent } from './cms-content-area/index.js';
|
|
2
|
+
import { type CmsEditableComponent } from './cms-editable/index.js';
|
|
3
|
+
import { type CmsContentComponent } from './cms-content/rsc.js';
|
|
4
|
+
import { type OptimizelyCompositionComponent } from './visual-builder/index.js';
|
|
5
|
+
import { type RichTextComponent } from './rich-text/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Client side Optimizely CMS Editable
|
|
8
|
+
*/
|
|
9
|
+
export declare const CmsEditable: CmsEditableComponent;
|
|
10
|
+
/**
|
|
11
|
+
* Client side Optimizely CMS Content, leveraging the CMS Context to load the
|
|
12
|
+
* content type and content data when needed
|
|
13
|
+
*/
|
|
14
|
+
export declare const CmsContent: CmsContentComponent;
|
|
15
|
+
export type { CmsContentComponent, CmsContentProps } from './cms-content/rsc.js';
|
|
16
|
+
/**
|
|
17
|
+
* Client side Optimizely CMS Content Area, leveraging the CMS Context to infer
|
|
18
|
+
* the connection to Optimizely Graph and component dictionary.
|
|
19
|
+
*/
|
|
20
|
+
export declare const CmsContentArea: CmsContentAreaComponent;
|
|
21
|
+
export type { CmsContentAreaClassMapper, CmsContentAreaComponent, CmsContentAreaProps, ContentAreaItemDefinition, } from './cms-content-area/index.js';
|
|
22
|
+
/**
|
|
23
|
+
* Client side Optimizely Composition (e.g. Visual Builder), leveraging the CMS
|
|
24
|
+
* Context to infer the connection to Optimizely Graph and component
|
|
25
|
+
* dictionary.
|
|
26
|
+
*/
|
|
27
|
+
export declare const OptimizelyComposition: OptimizelyCompositionComponent;
|
|
28
|
+
/**
|
|
29
|
+
* Client side renderer for Rich Text
|
|
30
|
+
*/
|
|
31
|
+
export declare const RichText: RichTextComponent;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use server';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { getServerContext } from '../context/rsc.js';
|
|
4
|
+
import { cmsContentAware } from './cms-content/utils.js';
|
|
5
|
+
import { CmsContentArea as BaseContentArea, } from './cms-content-area/index.js'; // Both RSC & Client capable
|
|
6
|
+
import { CmsEditable as BaseEditable, } from './cms-editable/index.js'; // Both RSC & Client capable
|
|
7
|
+
import { CmsContent as BaseCmsContent, } from './cms-content/rsc.js'; // Different components for RSC & Client
|
|
8
|
+
import { OptimizelyComposition as BaseOptimizelyComposition, } from './visual-builder/index.js'; // Both RSC & Client capable
|
|
9
|
+
import { RichText as BaseRichText, } from './rich-text/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Wrapper function to turn context dependant components into easy to use
|
|
12
|
+
* server components
|
|
13
|
+
*
|
|
14
|
+
* @param component The component where the `ctx` parameter must be fulfilled
|
|
15
|
+
* @returns The component, without CTX parameter
|
|
16
|
+
*/
|
|
17
|
+
function serverContextAware(component) {
|
|
18
|
+
const BaseComponent = component;
|
|
19
|
+
const ServerContextInjector = ({ ctx, ...props }) => {
|
|
20
|
+
if (!ctx)
|
|
21
|
+
console.error(`🔴 [ServerContextAware] Context for context aware component ${BaseComponent.displayName ?? BaseComponent.name ?? '[ANONYMOUS]'} is not defined!`);
|
|
22
|
+
const cmpCtx = ctx || getServerContext();
|
|
23
|
+
const componentProps = { ...props, ctx: cmpCtx };
|
|
24
|
+
return _jsx(BaseComponent, { ...componentProps });
|
|
25
|
+
};
|
|
26
|
+
ServerContextInjector.displayName = 'Server Context Injector';
|
|
27
|
+
return ServerContextInjector;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Client side Optimizely CMS Editable
|
|
31
|
+
*/
|
|
32
|
+
export const CmsEditable = serverContextAware(BaseEditable);
|
|
33
|
+
/**
|
|
34
|
+
* Client side Optimizely CMS Content, leveraging the CMS Context to load the
|
|
35
|
+
* content type and content data when needed
|
|
36
|
+
*/
|
|
37
|
+
export const CmsContent = serverContextAware(BaseCmsContent);
|
|
38
|
+
/**
|
|
39
|
+
* Client side Optimizely CMS Content Area, leveraging the CMS Context to infer
|
|
40
|
+
* the connection to Optimizely Graph and component dictionary.
|
|
41
|
+
*/
|
|
42
|
+
export const CmsContentArea = cmsContentAware(serverContextAware(BaseContentArea), CmsContent);
|
|
43
|
+
/**
|
|
44
|
+
* Client side Optimizely Composition (e.g. Visual Builder), leveraging the CMS
|
|
45
|
+
* Context to infer the connection to Optimizely Graph and component
|
|
46
|
+
* dictionary.
|
|
47
|
+
*/
|
|
48
|
+
export const OptimizelyComposition = cmsContentAware(serverContextAware(BaseOptimizelyComposition), CmsContent);
|
|
49
|
+
/**
|
|
50
|
+
* Client side renderer for Rich Text
|
|
51
|
+
*/
|
|
52
|
+
export const RichText = serverContextAware(BaseRichText);
|
|
53
|
+
//# sourceMappingURL=rsc-components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsc-components.js","sourceRoot":"","sources":["../../src/components/rsc-components.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAMZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EACL,cAAc,IAAI,eAAe,GAElC,MAAM,6BAA6B,CAAA,CAAC,4BAA4B;AACjE,OAAO,EACL,WAAW,IAAI,YAAY,GAE5B,MAAM,yBAAyB,CAAA,CAAC,4BAA4B;AAC7D,OAAO,EACL,UAAU,IAAI,cAAc,GAG7B,MAAM,sBAAsB,CAAA,CAAC,wCAAwC;AACtE,OAAO,EACL,qBAAqB,IAAI,yBAAyB,GAEnD,MAAM,2BAA2B,CAAA,CAAC,4BAA4B;AAC/D,OAAO,EACL,QAAQ,IAAI,YAAY,GAEzB,MAAM,sBAAsB,CAAA;AAS7B;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,SAAsC;IAEtC,MAAM,aAAa,GAAG,SAA6B,CAAA;IAEnD,MAAM,qBAAqB,GAEvB,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;QACxB,IAAI,CAAC,GAAG;YACN,OAAO,CAAC,KAAK,CACX,+DAA+D,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,IAAI,IAAI,aAAa,kBAAkB,CAClJ,CAAA;QACH,MAAM,MAAM,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAA;QACxC,MAAM,cAAc,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,MAAM,EAAO,CAAA;QACrD,OAAO,KAAC,aAAa,OAAK,cAAc,GAAI,CAAA;IAC9C,CAAC,CAAA;IACD,qBAAqB,CAAC,WAAW,GAAG,yBAAyB,CAAA;IAC7D,OAAO,qBAAqB,CAAA;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAC3C,YAAY,CACW,CAAA;AAEzB;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAC1C,cAAoD,CAC9B,CAAA;AAGxB;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAC3C,kBAAkB,CAAC,eAAe,CAAC,EACnC,UAAU,CACgB,CAAA;AAQ5B;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAClD,kBAAkB,CAAC,yBAAyB,CAAC,EAC7C,UAAU,CACuB,CAAA;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAsB,CAAA"}
|