@sitecore-content-sdk/react 1.0.0-canary.1 → 1.0.0-canary.10

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.
Files changed (46) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/EditingScripts.js +7 -8
  3. package/dist/cjs/components/ErrorBoundary.js +8 -8
  4. package/dist/cjs/components/FEaaSComponent.js +2 -2
  5. package/dist/cjs/components/Form.js +14 -9
  6. package/dist/cjs/components/HiddenRendering.js +8 -3
  7. package/dist/cjs/components/Image.js +1 -1
  8. package/dist/cjs/components/MissingComponent.js +1 -1
  9. package/dist/cjs/components/Placeholder.js +5 -7
  10. package/dist/cjs/components/PlaceholderCommon.js +10 -5
  11. package/dist/cjs/components/{SitecoreContext.js → SitecoreProvider.js} +18 -18
  12. package/dist/cjs/enhancers/withComponentMap.js +2 -2
  13. package/dist/cjs/enhancers/withDatasourceCheck.js +4 -4
  14. package/dist/cjs/enhancers/withPlaceholder.js +5 -5
  15. package/dist/cjs/enhancers/withSitecore.js +48 -0
  16. package/dist/cjs/index.js +10 -10
  17. package/dist/esm/components/EditingScripts.js +8 -9
  18. package/dist/esm/components/ErrorBoundary.js +8 -8
  19. package/dist/esm/components/FEaaSComponent.js +2 -2
  20. package/dist/esm/components/Form.js +14 -9
  21. package/dist/esm/components/HiddenRendering.js +8 -3
  22. package/dist/esm/components/Image.js +1 -1
  23. package/dist/esm/components/MissingComponent.js +1 -1
  24. package/dist/esm/components/Placeholder.js +5 -7
  25. package/dist/esm/components/PlaceholderCommon.js +10 -5
  26. package/dist/esm/components/{SitecoreContext.js → SitecoreProvider.js} +16 -16
  27. package/dist/esm/enhancers/withComponentMap.js +1 -1
  28. package/dist/esm/enhancers/withDatasourceCheck.js +4 -4
  29. package/dist/esm/enhancers/withPlaceholder.js +5 -5
  30. package/dist/esm/enhancers/withSitecore.js +41 -0
  31. package/dist/esm/index.js +5 -5
  32. package/package.json +5 -5
  33. package/types/components/EditingScripts.d.ts +1 -12
  34. package/types/components/ErrorBoundary.d.ts +4 -3
  35. package/types/components/Form.d.ts +1 -1
  36. package/types/components/Placeholder.d.ts +1 -1
  37. package/types/components/PlaceholderCommon.d.ts +10 -4
  38. package/types/components/SitecoreProvider.d.ts +57 -0
  39. package/types/components/sharedTypes/components.d.ts +2 -2
  40. package/types/enhancers/withPlaceholder.d.ts +2 -2
  41. package/types/enhancers/withSitecore.d.ts +51 -0
  42. package/types/index.d.ts +6 -6
  43. package/dist/cjs/enhancers/withSitecoreContext.js +0 -48
  44. package/dist/esm/enhancers/withSitecoreContext.js +0 -41
  45. package/types/components/SitecoreContext.d.ts +0 -34
  46. package/types/enhancers/withSitecoreContext.d.ts +0 -37
package/README.md CHANGED
@@ -6,6 +6,6 @@ This module is provided as a part of Sitecore Content SDK. It contains React com
6
6
  @TODO: Update link with appropriate page when avaiable
7
7
  -->
8
8
 
9
- [Documentation](https://doc.sitecore.com/xmc/en/developers/xm-cloud/sitecore-javascript-rendering-sdk--jss--for-next-js.html)
9
+ [Documentation](https://doc.sitecore.com/xmc/en/developers/content-sdk/creating-a-content-sdk-app.html)
10
10
 
11
11
  [API reference documentation](/ref-docs/react/)
@@ -6,18 +6,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.EditingScripts = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const layout_1 = require("@sitecore-content-sdk/core/layout");
9
- const withSitecoreContext_1 = require("../enhancers/withSitecoreContext");
9
+ const withSitecore_1 = require("../enhancers/withSitecore");
10
10
  const editing_1 = require("@sitecore-content-sdk/core/editing");
11
11
  const editing_2 = require("@sitecore-content-sdk/core/editing");
12
12
  /**
13
13
  * Renders client scripts and data for editing/preview mode for Pages.
14
14
  * Renders script required for the Design Library (when RenderingType is `component`).
15
- * @param {EditingScriptsProps} props - The props for the EditingScripts component.
16
- * @param {string} props.sitecoreEdgeUrl - Sitecore Edge Platform URL.
17
15
  * @returns A JSX element containing the editing scripts or an empty fragment if not in editing/preview mode.
18
16
  */
19
- const EditingScripts = (props) => {
20
- const { sitecoreContext: { pageState, clientData, clientScripts, renderingType }, } = (0, withSitecoreContext_1.useSitecoreContext)();
17
+ const EditingScripts = () => {
18
+ var _a;
19
+ const { pageContext: { pageState, clientData, clientScripts, renderingType }, api, } = (0, withSitecore_1.useSitecore)();
21
20
  // Don't render anything if not in editing/preview mode and rendering type is not component
22
21
  if (renderingType !== layout_1.RenderingType.Component &&
23
22
  (pageState === layout_1.LayoutServicePageState.Normal ||
@@ -28,13 +27,13 @@ const EditingScripts = (props) => {
28
27
  // In case of RenderingType.Component - render only the script for Design Libnrary
29
28
  if (renderingType === layout_1.RenderingType.Component) {
30
29
  // Add cache buster to the script URL
31
- const scriptUrl = `${(0, editing_2.getDesignLibraryScriptLink)(props.sitecoreEdgeUrl)}?cb=${Date.now()}`;
30
+ const scriptUrl = `${(0, editing_2.getDesignLibraryScriptLink)((_a = api === null || api === void 0 ? void 0 : api.edge) === null || _a === void 0 ? void 0 : _a.edgeUrl)}?cb=${Date.now()}`;
32
31
  return (react_1.default.createElement(react_1.default.Fragment, null,
33
32
  react_1.default.createElement("script", { src: scriptUrl, suppressHydrationWarning: true })));
34
33
  }
35
- const jssClientData = Object.assign(Object.assign({}, clientData), (0, editing_1.getJssPagesClientData)());
34
+ const contentSdkClientData = Object.assign(Object.assign({}, clientData), (0, editing_1.getContentSdkPagesClientData)());
36
35
  return (react_1.default.createElement(react_1.default.Fragment, null, clientScripts === null || clientScripts === void 0 ? void 0 :
37
36
  clientScripts.map((src, index) => (react_1.default.createElement("script", { src: src, key: index }))),
38
- Object.keys(jssClientData).map((id) => (react_1.default.createElement("script", { key: id, id: id, type: "application/json", dangerouslySetInnerHTML: { __html: JSON.stringify(jssClientData[id]) } })))));
37
+ Object.keys(contentSdkClientData).map((id) => (react_1.default.createElement("script", { key: id, id: id, type: "application/json", dangerouslySetInnerHTML: { __html: JSON.stringify(contentSdkClientData[id]) } })))));
39
38
  };
40
39
  exports.EditingScripts = EditingScripts;
@@ -35,7 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  const react_1 = __importStar(require("react"));
37
37
  const layout_1 = require("@sitecore-content-sdk/core/layout");
38
- const withSitecoreContext_1 = require("../enhancers/withSitecoreContext");
38
+ const withSitecore_1 = require("../enhancers/withSitecore");
39
39
  class ErrorBoundary extends react_1.default.Component {
40
40
  constructor(props) {
41
41
  super(props);
@@ -59,8 +59,8 @@ class ErrorBoundary extends react_1.default.Component {
59
59
  showErrorDetails() {
60
60
  var _a, _b;
61
61
  return (this.isInDevMode() ||
62
- ((_a = this.props.sitecoreContext) === null || _a === void 0 ? void 0 : _a.pageState) === layout_1.LayoutServicePageState.Edit ||
63
- ((_b = this.props.sitecoreContext) === null || _b === void 0 ? void 0 : _b.pageState) === layout_1.LayoutServicePageState.Preview);
62
+ ((_a = this.props.pageContext) === null || _a === void 0 ? void 0 : _a.pageState) === layout_1.LayoutServicePageState.Edit ||
63
+ ((_b = this.props.pageContext) === null || _b === void 0 ? void 0 : _b.pageState) === layout_1.LayoutServicePageState.Preview);
64
64
  }
65
65
  render() {
66
66
  var _a;
@@ -71,7 +71,7 @@ class ErrorBoundary extends react_1.default.Component {
71
71
  else {
72
72
  if (this.showErrorDetails()) {
73
73
  return (react_1.default.createElement("div", null,
74
- react_1.default.createElement("div", { className: "sc-jss-placeholder-error" },
74
+ react_1.default.createElement("div", { className: "sc-content-sdk-placeholder-error" },
75
75
  "A rendering error occurred in component",
76
76
  ' ',
77
77
  react_1.default.createElement("em", null, (_a = this.props.rendering) === null || _a === void 0 ? void 0 : _a.componentName),
@@ -81,15 +81,15 @@ class ErrorBoundary extends react_1.default.Component {
81
81
  }
82
82
  else {
83
83
  return (react_1.default.createElement("div", null,
84
- react_1.default.createElement("div", { className: "sc-jss-placeholder-error" }, this.defaultErrorMessage)));
84
+ react_1.default.createElement("div", { className: "sc-content-sdk-placeholder-error" }, this.defaultErrorMessage)));
85
85
  }
86
86
  }
87
87
  }
88
- // do not apply suspense on already dynamic components
89
- if (this.props.isDynamic) {
88
+ // do not apply suspense when suspense is disabled or when on already dynamic components
89
+ if (this.props.disableSuspense || this.props.isDynamic) {
90
90
  return this.props.children;
91
91
  }
92
92
  return (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("h4", null, this.props.componentLoadingMessage || this.defaultLoadingMessage) }, this.props.children));
93
93
  }
94
94
  }
95
- exports.default = (0, withSitecoreContext_1.withSitecoreContext)()(ErrorBoundary);
95
+ exports.default = (0, withSitecore_1.withSitecore)()(ErrorBoundary);
@@ -71,9 +71,9 @@ const FEaaSComponent = (props) => {
71
71
  // combine fetchedData from server with datasource data (if present)
72
72
  const data = Object.assign(Object.assign({}, props.fetchedData), { _: (0, utils_1.getDataFromFields)((_b = props.fields) !== null && _b !== void 0 ? _b : {}) });
73
73
  // FEaaS control would still be hydrated by client
74
- // we pass all the props as a workaround to avoid hydration error, until we convert all JSS components to server side
74
+ // we pass all the props as a workaround to avoid hydration error, until we convert all Content SDK components to server side
75
75
  // this also allows component to fall back to full client-side rendering when template or src is empty
76
- // FEAAS should not fetch anything, since JSS does the fetching - so we pass empty array into fetch param
76
+ // FEAAS should not fetch anything, since Content SDK does the fetching - so we pass empty array into fetch param
77
77
  return (react_1.default.createElement(FEAAS.Component, { data: data, template: props.template, cdn: (_c = props.params) === null || _c === void 0 ? void 0 : _c.ComponentHostName, library: (_d = props.params) === null || _d === void 0 ? void 0 : _d.LibraryId, version: (_e = props.params) === null || _e === void 0 ? void 0 : _e.ComponentVersion, component: (_f = props.params) === null || _f === void 0 ? void 0 : _f.ComponentId, instance: (_g = props.params) === null || _g === void 0 ? void 0 : _g.ComponentInstanceId, revision: computedRevision, fetch: [] }));
78
78
  };
79
79
  exports.FEaaSComponent = FEaaSComponent;
@@ -36,7 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.Form = exports.mockFormModule = void 0;
37
37
  const react_1 = __importStar(require("react"));
38
38
  const core_1 = require("@sitecore-content-sdk/core");
39
- const withSitecoreContext_1 = require("../enhancers/withSitecoreContext");
39
+ const withSitecore_1 = require("../enhancers/withSitecore");
40
40
  let { executeScriptElements, loadForm, subscribeToFormSubmitEvent } = core_1.form;
41
41
  /**
42
42
  * Mock function to replace the form module functions for `testing` purposes.
@@ -53,17 +53,24 @@ const Form = ({ params, rendering }) => {
53
53
  const id = params === null || params === void 0 ? void 0 : params.RenderingIdentifier;
54
54
  const [error, setError] = (0, react_1.useState)(false);
55
55
  const [content, setContent] = (0, react_1.useState)('');
56
- const context = (0, withSitecoreContext_1.useSitecoreContext)();
56
+ const context = (0, withSitecore_1.useSitecore)();
57
57
  const formRef = (0, react_1.useRef)(null);
58
- const isEditing = context.sitecoreContext.pageEditing;
58
+ const isEditing = context.pageContext.pageEditing;
59
59
  (0, react_1.useEffect)(() => {
60
60
  var _a, _b, _c, _d;
61
61
  if (!content) {
62
- loadForm((_b = (_a = context.api) === null || _a === void 0 ? void 0 : _a.edge) === null || _b === void 0 ? void 0 : _b.contextId, params.FormId, (_d = (_c = context.api) === null || _c === void 0 ? void 0 : _c.edge) === null || _d === void 0 ? void 0 : _d.edgeUrl)
62
+ // Forms must use clientContextId since they are rendered client-side
63
+ const edgeId = (_b = (_a = context.api) === null || _a === void 0 ? void 0 : _a.edge) === null || _b === void 0 ? void 0 : _b.clientContextId;
64
+ if (!edgeId) {
65
+ /* eslint-disable no-console */
66
+ console.warn('Warning: clientContextId is missing – form cannot be loaded properly on the client');
67
+ return;
68
+ }
69
+ loadForm(edgeId, params.FormId, (_d = (_c = context.api) === null || _c === void 0 ? void 0 : _c.edge) === null || _d === void 0 ? void 0 : _d.edgeUrl)
63
70
  .then(setContent)
64
71
  .catch(() => {
65
72
  if (isEditing) {
66
- console.error(`Failed to load form with id ${params.FormId}. Check debug logs for sitecore-jss:form for more details.`);
73
+ console.error(`Failed to load form with id ${params.FormId}. Check debug logs for content-sdk:form for more details.`);
67
74
  }
68
75
  setError(true);
69
76
  });
@@ -76,10 +83,8 @@ const Form = ({ params, rendering }) => {
76
83
  executeScriptElements(formRef.current);
77
84
  }
78
85
  }, [content]);
79
- if (isEditing) {
80
- if (error) {
81
- return (react_1.default.createElement("div", { className: "sc-jss-placeholder-error" }, "There was a problem loading this section"));
82
- }
86
+ if (isEditing && error) {
87
+ return (react_1.default.createElement("div", { className: "sc-content-sdk-placeholder-error" }, "There was a problem loading this section"));
83
88
  }
84
89
  return (react_1.default.createElement("div", { ref: formRef, dangerouslySetInnerHTML: { __html: content }, className: (_a = params.styles) === null || _a === void 0 ? void 0 : _a.trimEnd(), id: id ? id : undefined }));
85
90
  };
@@ -5,8 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.HiddenRendering = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
- const styles = {
9
- backgroundImage: 'linear-gradient(45deg, #ffffff 25%, #dcdcdc 25%, #dcdcdc 50%, #ffffff 50%, #ffffff 75%, #dcdcdc 75%, #dcdcdc 100%)',
8
+ const baseStyles = {
10
9
  backgroundSize: '3px 3px',
11
10
  display: 'flex',
12
11
  justifyContent: 'center',
@@ -14,5 +13,11 @@ const styles = {
14
13
  padding: '30px',
15
14
  color: '#aaa',
16
15
  };
17
- const HiddenRendering = () => react_1.default.createElement("div", { style: styles }, "The component is hidden");
16
+ const backgroundImageStyle = {
17
+ backgroundImage: 'linear-gradient(45deg, #ffffff 25%, #dcdcdc 25%, #dcdcdc 50%, #ffffff 50%, #ffffff 75%, #dcdcdc 75%, #dcdcdc 100%)',
18
+ };
19
+ const HiddenRendering = () => {
20
+ const styles = process.env.NODE_ENV === 'test' ? baseStyles : Object.assign(Object.assign({}, baseStyles), backgroundImageStyle);
21
+ return react_1.default.createElement("div", { style: styles }, "The component is hidden");
22
+ };
18
23
  exports.HiddenRendering = HiddenRendering;
@@ -29,7 +29,7 @@ const getImageAttrs = (_a, imageParams, mediaUrlPrefix) => {
29
29
  }
30
30
  (0, utils_1.addClassName)(otherAttrs);
31
31
  const newAttrs = Object.assign({}, otherAttrs);
32
- // update image URL for jss handler and image rendering params
32
+ // update image URL for content sdk handler and image rendering params
33
33
  const resolvedSrc = media_1.mediaApi.updateImageUrl(src, imageParams, mediaUrlPrefix);
34
34
  if (srcSet) {
35
35
  // replace with HTML-formatted srcset, including updated image URLs
@@ -13,7 +13,7 @@ const MissingComponent = (props) => {
13
13
  !props.errorOverride &&
14
14
  console.log(`Component props for unimplemented '${componentName}' component`, props);
15
15
  const errorMessage = props.errorOverride ||
16
- 'JSS component is missing React implementation. See the developer console for more information.';
16
+ 'Content SDK component is missing React implementation. See the developer console for more information.';
17
17
  return (react_1.default.createElement("div", { style: {
18
18
  background: 'darkorange',
19
19
  outline: '5px solid orange',
@@ -8,7 +8,7 @@ const react_1 = __importDefault(require("react"));
8
8
  const PlaceholderCommon_1 = require("./PlaceholderCommon");
9
9
  const withComponentMap_1 = require("../enhancers/withComponentMap");
10
10
  const editing_1 = require("@sitecore-content-sdk/core/editing");
11
- const withSitecoreContext_1 = require("../enhancers/withSitecoreContext");
11
+ const withSitecore_1 = require("../enhancers/withSitecore");
12
12
  class PlaceholderComponent extends PlaceholderCommon_1.PlaceholderCommon {
13
13
  constructor(props) {
14
14
  super(props);
@@ -35,20 +35,18 @@ class PlaceholderComponent extends PlaceholderCommon_1.PlaceholderCommon {
35
35
  if (childProps.errorComponent) {
36
36
  return react_1.default.createElement(childProps.errorComponent, { error: this.state.error });
37
37
  }
38
- return (react_1.default.createElement("div", { className: "sc-jss-placeholder-error" },
38
+ return (react_1.default.createElement("div", { className: "sc-content-sdk-placeholder-error" },
39
39
  "A rendering error occurred: ",
40
40
  this.state.error.message,
41
41
  "."));
42
42
  }
43
43
  const renderingData = childProps.rendering;
44
- const placeholderData = PlaceholderCommon_1.PlaceholderCommon.getPlaceholderDataFromRenderingData(renderingData, this.props.name, (_a = this.props.sitecoreContext) === null || _a === void 0 ? void 0 : _a.pageEditing);
44
+ const placeholderData = PlaceholderCommon_1.PlaceholderCommon.getPlaceholderDataFromRenderingData(renderingData, this.props.name, (_a = this.props.pageContext) === null || _a === void 0 ? void 0 : _a.pageEditing);
45
45
  this.isEmpty = !placeholderData.length;
46
46
  const components = this.getComponentsForRenderingData(placeholderData);
47
47
  if (this.isEmpty) {
48
48
  const rendered = this.props.renderEmpty ? this.props.renderEmpty(components) : components;
49
- return ((_b = this.props.sitecoreContext) === null || _b === void 0 ? void 0 : _b.pageEditing)
50
- ? this.renderEmptyPlaceholder(rendered)
51
- : rendered;
49
+ return ((_b = this.props.pageContext) === null || _b === void 0 ? void 0 : _b.pageEditing) ? this.renderEmptyPlaceholder(rendered) : rendered;
52
50
  }
53
51
  else if (this.props.render) {
54
52
  return this.props.render(components, placeholderData, childProps);
@@ -68,4 +66,4 @@ class PlaceholderComponent extends PlaceholderCommon_1.PlaceholderCommon {
68
66
  }
69
67
  }
70
68
  const PlaceholderWithComponentMap = (0, withComponentMap_1.withComponentMap)(PlaceholderComponent);
71
- exports.Placeholder = (0, withSitecoreContext_1.withSitecoreContext)()(PlaceholderWithComponentMap);
69
+ exports.Placeholder = (0, withSitecore_1.withSitecore)()(PlaceholderWithComponentMap);
@@ -74,8 +74,9 @@ class PlaceholderCommon extends react_1.default.Component {
74
74
  getSXAParams(rendering) {
75
75
  if (!rendering.params)
76
76
  return {};
77
- return (rendering.params.FieldNames && {
78
- styles: `${rendering.params.GridParameters || ''} ${rendering.params.Styles || ''}`,
77
+ const { GridParameters, Styles } = rendering.params;
78
+ return ((GridParameters || Styles) && {
79
+ styles: `${GridParameters || ''} ${Styles || ''}`,
79
80
  });
80
81
  }
81
82
  getComponentsForRenderingData(placeholderData) {
@@ -131,18 +132,22 @@ class PlaceholderCommon extends react_1.default.Component {
131
132
  if (!isEmpty) {
132
133
  // assign type based on passed element - type='text/sitecore' should be ignored when renderEach Placeholder prop function is being used
133
134
  const type = rendered.props.type === 'text/sitecore' ? rendered.props.type : '';
135
+ const disableSuspense = this.props.disableSuspense || false;
134
136
  // wrapping with error boundary could cause problems in case where parent component uses withPlaceholder HOC and tries to access its children props
135
137
  // that's why we need to expose element's props here
136
- rendered = (react_1.default.createElement(ErrorBoundary_1.default, Object.assign({ key: rendered.type + '-' + index, errorComponent: this.props.errorComponent, componentLoadingMessage: this.props.componentLoadingMessage, type: type, isDynamic: ((_a = component.render) === null || _a === void 0 ? void 0 : _a.preload) ? true : false }, rendered.props), rendered));
138
+ const isByocWrapper = componentRendering.componentName === BYOCWrapper_1.BYOC_WRAPPER_RENDERING_NAME;
139
+ // all dynamic elements will have a separate render prop
140
+ const isDynamicComponent = !!((_a = component.render) === null || _a === void 0 ? void 0 : _a.preload);
141
+ rendered = (react_1.default.createElement(ErrorBoundary_1.default, Object.assign({ "data-testid": "error-boundary", key: rendered.type + '-' + index, errorComponent: this.props.errorComponent, componentLoadingMessage: this.props.componentLoadingMessage, type: type, isDynamic: isDynamicComponent || isByocWrapper, disableSuspense: disableSuspense }, rendered.props), rendered));
137
142
  }
138
143
  // if in edit mode then emit shallow chromes for hydration in Pages
139
- if ((_b = this.props.sitecoreContext) === null || _b === void 0 ? void 0 : _b.pageEditing) {
144
+ if ((_b = this.props.pageContext) === null || _b === void 0 ? void 0 : _b.pageEditing) {
140
145
  return (react_1.default.createElement(PlaceholderMetadata_1.PlaceholderMetadata, { key: key, rendering: rendering }, rendered));
141
146
  }
142
147
  return rendered;
143
148
  })
144
149
  .filter((element) => element); // remove nulls
145
- if ((_a = this.props.sitecoreContext) === null || _a === void 0 ? void 0 : _a.pageEditing) {
150
+ if ((_a = this.props.pageContext) === null || _a === void 0 ? void 0 : _a.pageEditing) {
146
151
  return [
147
152
  react_1.default.createElement(PlaceholderMetadata_1.PlaceholderMetadata, { key: this.props.rendering.uid, placeholderName: name, rendering: this.props.rendering }, transformedComponents),
148
153
  ];
@@ -3,36 +3,38 @@ 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.SitecoreContext = exports.ComponentMapReactContext = exports.SitecoreContextReactContext = void 0;
6
+ exports.SitecoreProvider = exports.ComponentMapReactContext = exports.SitecoreProviderReactContext = void 0;
7
7
  /* eslint-disable @typescript-eslint/no-explicit-any */
8
8
  const react_1 = __importDefault(require("react"));
9
9
  const react_2 = __importDefault(require("fast-deep-equal/es6/react"));
10
10
  const core_1 = require("@sitecore-content-sdk/core");
11
- exports.SitecoreContextReactContext = react_1.default.createContext({});
11
+ exports.SitecoreProviderReactContext = react_1.default.createContext({});
12
12
  exports.ComponentMapReactContext = react_1.default.createContext(new Map());
13
- class SitecoreContext extends react_1.default.Component {
13
+ class SitecoreProvider extends react_1.default.Component {
14
14
  constructor(props) {
15
- var _a, _b, _c, _d;
15
+ var _a, _b, _c, _d, _e, _f;
16
16
  super(props);
17
17
  /**
18
18
  * Update context state. Value can be @type {LayoutServiceData} which will be automatically transformed
19
- * or you can provide exact @type {SitecoreContextValue}
20
- * @param {SitecoreContextValue | LayoutServiceData} value New context value
19
+ * or you can provide exact @type {SitecoreProviderPageContext}
20
+ * @param {SitecoreProviderPageContext | LayoutServiceData} value New context value
21
21
  */
22
22
  this.setContext = (value) => {
23
23
  this.setState({
24
- context: value.sitecore
24
+ pageContext: value.sitecore
25
25
  ? this.constructContext(value)
26
26
  : Object.assign({}, value),
27
27
  });
28
28
  };
29
- const context = this.constructContext(props.layoutData);
29
+ const pageContext = this.constructContext(props.layoutData);
30
+ // If any Edge ID is present but no edgeUrl, apply the default
30
31
  let api = props.api;
31
- if (((_b = (_a = props.api) === null || _a === void 0 ? void 0 : _a.edge) === null || _b === void 0 ? void 0 : _b.contextId) && !((_d = (_c = props.api) === null || _c === void 0 ? void 0 : _c.edge) === null || _d === void 0 ? void 0 : _d.edgeUrl)) {
32
+ if ((((_b = (_a = props.api) === null || _a === void 0 ? void 0 : _a.edge) === null || _b === void 0 ? void 0 : _b.contextId) || ((_d = (_c = props.api) === null || _c === void 0 ? void 0 : _c.edge) === null || _d === void 0 ? void 0 : _d.clientContextId)) &&
33
+ !((_f = (_e = props.api) === null || _e === void 0 ? void 0 : _e.edge) === null || _f === void 0 ? void 0 : _f.edgeUrl)) {
32
34
  api = Object.assign(Object.assign({}, props.api), { edge: Object.assign(Object.assign({}, props.api.edge), { edgeUrl: core_1.constants.SITECORE_EDGE_URL_DEFAULT }) });
33
35
  }
34
36
  this.state = {
35
- context,
37
+ pageContext,
36
38
  setContext: this.setContext,
37
39
  api,
38
40
  };
@@ -40,15 +42,13 @@ class SitecoreContext extends react_1.default.Component {
40
42
  constructContext(layoutData) {
41
43
  var _a;
42
44
  if (!layoutData) {
43
- return {
44
- pageEditing: false,
45
- };
45
+ return { pageEditing: false };
46
46
  }
47
47
  return Object.assign({ route: layoutData.sitecore.route, itemId: (_a = layoutData.sitecore.route) === null || _a === void 0 ? void 0 : _a.itemId }, layoutData.sitecore.context);
48
48
  }
49
49
  componentDidUpdate(prevProps) {
50
- // In case if somebody will manage SitecoreContext state by passing fresh `layoutData` prop
51
- // instead of using `updateSitecoreContext`
50
+ // In case if somebody will manage SitecoreProvider state by passing fresh `layoutData` prop
51
+ // instead of using `updateContext`
52
52
  if (!(0, react_2.default)(prevProps.layoutData, this.props.layoutData)) {
53
53
  this.setContext(this.props.layoutData);
54
54
  return;
@@ -56,8 +56,8 @@ class SitecoreContext extends react_1.default.Component {
56
56
  }
57
57
  render() {
58
58
  return (react_1.default.createElement(exports.ComponentMapReactContext.Provider, { value: this.props.componentMap },
59
- react_1.default.createElement(exports.SitecoreContextReactContext.Provider, { value: this.state }, this.props.children)));
59
+ react_1.default.createElement(exports.SitecoreProviderReactContext.Provider, { value: this.state }, this.props.children)));
60
60
  }
61
61
  }
62
- exports.SitecoreContext = SitecoreContext;
63
- SitecoreContext.displayName = 'SitecoreContext';
62
+ exports.SitecoreProvider = SitecoreProvider;
63
+ SitecoreProvider.displayName = 'SitecoreProvider';
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.withComponentMap = withComponentMap;
7
7
  const react_1 = __importDefault(require("react"));
8
- const SitecoreContext_1 = require("../components/SitecoreContext");
8
+ const SitecoreProvider_1 = require("../components/SitecoreProvider");
9
9
  const react_2 = require("react");
10
10
  /**
11
11
  * @param {React.ComponentClass<T> | React.FC<T>} Component
@@ -16,7 +16,7 @@ function withComponentMap(Component) {
16
16
  * @returns {JSX.Element} - the rendered component
17
17
  */
18
18
  function WithComponentMap(props) {
19
- const context = (0, react_2.useContext)(SitecoreContext_1.ComponentMapReactContext);
19
+ const context = (0, react_2.useContext)(SitecoreProvider_1.ComponentMapReactContext);
20
20
  return react_1.default.createElement(Component, Object.assign({}, props, { componentMap: props.componentMap || context }));
21
21
  }
22
22
  WithComponentMap.displayName = `withComponentMap(${Component.displayName ||
@@ -7,7 +7,7 @@ exports.DefaultEditingError = void 0;
7
7
  exports.withDatasourceCheck = withDatasourceCheck;
8
8
  const react_1 = __importDefault(require("react"));
9
9
  const layout_1 = require("@sitecore-content-sdk/core/layout");
10
- const withSitecoreContext_1 = require("./withSitecoreContext");
10
+ const withSitecore_1 = require("./withSitecore");
11
11
  const DefaultEditingError = () => (react_1.default.createElement("div", { className: "sc-jss-editing-error", role: "alert" }, "Datasource is required. Please choose a content item for this component."));
12
12
  exports.DefaultEditingError = DefaultEditingError;
13
13
  /**
@@ -21,11 +21,11 @@ function withDatasourceCheck(options) {
21
21
  return function withDatasourceCheckHoc(Component) {
22
22
  return function WithDatasourceCheck(props) {
23
23
  var _a, _b;
24
- const { sitecoreContext } = (0, withSitecoreContext_1.useSitecoreContext)();
24
+ const { pageContext } = (0, withSitecore_1.useSitecore)();
25
25
  const EditingError = (_a = options === null || options === void 0 ? void 0 : options.editingErrorComponent) !== null && _a !== void 0 ? _a : exports.DefaultEditingError;
26
26
  // If the component is rendered in DesignLibrary, we don't need to check for datasource
27
- const isDesignLibrary = (sitecoreContext === null || sitecoreContext === void 0 ? void 0 : sitecoreContext.renderingType) === layout_1.RenderingType.Component;
28
- return isDesignLibrary || ((_b = props.rendering) === null || _b === void 0 ? void 0 : _b.dataSource) ? (react_1.default.createElement(Component, Object.assign({}, props))) : sitecoreContext.pageEditing ? (react_1.default.createElement(EditingError, null)) : null;
27
+ const isDesignLibrary = (pageContext === null || pageContext === void 0 ? void 0 : pageContext.renderingType) === layout_1.RenderingType.Component;
28
+ return isDesignLibrary || ((_b = props.rendering) === null || _b === void 0 ? void 0 : _b.dataSource) ? (react_1.default.createElement(Component, Object.assign({}, props))) : pageContext.pageEditing ? (react_1.default.createElement(EditingError, null)) : null;
29
29
  };
30
30
  };
31
31
  }
@@ -7,7 +7,7 @@ exports.withPlaceholder = withPlaceholder;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const PlaceholderCommon_1 = require("../components/PlaceholderCommon");
9
9
  const withComponentMap_1 = require("./withComponentMap");
10
- const withSitecoreContext_1 = require("./withSitecoreContext");
10
+ const withSitecore_1 = require("./withSitecore");
11
11
  /**
12
12
  * @param {WithPlaceholderSpec} placeholders
13
13
  * @param {WithPlaceholderOptions} [options]
@@ -28,7 +28,7 @@ function withPlaceholder(placeholders, options) {
28
28
  if (childProps.errorComponent) {
29
29
  return react_1.default.createElement(childProps.errorComponent, { error: this.state.error });
30
30
  }
31
- return (react_1.default.createElement("div", { className: "sc-jss-placeholder-error" },
31
+ return (react_1.default.createElement("div", { className: "sc-content-sdk-placeholder-error" },
32
32
  "A rendering error occurred: ",
33
33
  this.state.error.message,
34
34
  "."));
@@ -42,13 +42,13 @@ function withPlaceholder(placeholders, options) {
42
42
  definitelyArrayPlacholders.forEach((placeholder) => {
43
43
  let placeholderData;
44
44
  if (typeof placeholder !== 'string' && placeholder.placeholder && placeholder.prop) {
45
- placeholderData = PlaceholderCommon_1.PlaceholderCommon.getPlaceholderDataFromRenderingData(renderingData, placeholder.placeholder, childProps.sitecoreContext.pageEditing);
45
+ placeholderData = PlaceholderCommon_1.PlaceholderCommon.getPlaceholderDataFromRenderingData(renderingData, placeholder.placeholder, childProps.pageContext.pageEditing);
46
46
  if (placeholderData) {
47
47
  childProps[placeholder.prop] = this.getComponentsForRenderingData(placeholderData);
48
48
  }
49
49
  }
50
50
  else {
51
- placeholderData = PlaceholderCommon_1.PlaceholderCommon.getPlaceholderDataFromRenderingData(renderingData, placeholder, childProps.sitecoreContext.pageEditing);
51
+ placeholderData = PlaceholderCommon_1.PlaceholderCommon.getPlaceholderDataFromRenderingData(renderingData, placeholder, childProps.pageContext.pageEditing);
52
52
  if (placeholderData) {
53
53
  childProps[placeholder] = this.getComponentsForRenderingData(placeholderData);
54
54
  }
@@ -57,6 +57,6 @@ function withPlaceholder(placeholders, options) {
57
57
  return react_1.default.createElement(WrappedComponent, Object.assign({}, childProps));
58
58
  }
59
59
  }
60
- return (0, withSitecoreContext_1.withSitecoreContext)()((0, withComponentMap_1.withComponentMap)(WithPlaceholder));
60
+ return (0, withSitecore_1.withSitecore)()((0, withComponentMap_1.withComponentMap)(WithPlaceholder));
61
61
  };
62
62
  }
@@ -0,0 +1,48 @@
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
+ exports.withSitecore = withSitecore;
7
+ exports.useSitecore = useSitecore;
8
+ const react_1 = __importDefault(require("react"));
9
+ const SitecoreProvider_1 = require("../components/SitecoreProvider");
10
+ /**
11
+ * @param {WithSitecoreProviderOptions} [options]
12
+ */
13
+ function withSitecore(options) {
14
+ return function withSitecoreProviderHoc(Component) {
15
+ return function WithSitecoreProvider(props) {
16
+ return (react_1.default.createElement(SitecoreProvider_1.SitecoreProviderReactContext.Consumer, null, (value) => (react_1.default.createElement(Component, Object.assign({}, props, { pageContext: value.pageContext, api: value.api, updateContext: options && options.updatable && value.setContext })))));
17
+ };
18
+ };
19
+ }
20
+ /**
21
+ * This hook grants acсess to the current Sitecore page context and api.
22
+ * by default Content SDK includes the following properties in this context:
23
+ * - pageEditing - Provided by Layout Service, a boolean indicating whether the route is being accessed via the Sitecore Editor.
24
+ * - pageState - Like pageEditing, but a string: normal, preview or edit.
25
+ * - site - Provided by Layout Service, an object containing the name of the current Sitecore site context.
26
+ * @param {WithSitecoreOptions} [options] hook options
27
+ * @example
28
+ * const EditMode = () => {
29
+ * const { pageContext } = useSitecore();
30
+ * return <span>Edit Mode is {pageContext.pageEditing ? 'active' : 'inactive'}</span>
31
+ * }
32
+ * @example
33
+ * const EditMode = () => {
34
+ * const { pageContext, updateContext } = useSitecore({ updatable: true });
35
+ * const onClick = () => updateContext({ pageEditing: true });
36
+ * return <span onClick={onClick}>Edit Mode is {pageContext.pageEditing ? 'active' : 'inactive'}</span>
37
+ * }
38
+ * @returns {object} { api, pageContext, updateContext }
39
+ */
40
+ function useSitecore(options) {
41
+ const reactContext = react_1.default.useContext(SitecoreProvider_1.SitecoreProviderReactContext);
42
+ const updatable = options === null || options === void 0 ? void 0 : options.updatable;
43
+ return {
44
+ api: reactContext.api,
45
+ pageContext: reactContext.pageContext,
46
+ updateContext: updatable ? reactContext.setContext : undefined,
47
+ };
48
+ }
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GraphQLSitePathService = exports.DefaultEmptyFieldEditingComponentImage = exports.DefaultEmptyFieldEditingComponentText = exports.EditingScripts = exports.withEmptyFieldEditingComponent = exports.withFieldMetadata = exports.withDatasourceCheck = exports.withPlaceholder = exports.withEditorChromes = exports.useSitecoreContext = exports.withSitecoreContext = exports.SitecoreContextReactContext = exports.SitecoreContext = exports.File = exports.Link = exports.BYOCWrapper = exports.fetchBYOCComponentServerProps = exports.BYOCComponent = exports.DesignLibrary = exports.FEaaSWrapper = exports.fetchFEaaSComponentServerProps = exports.FEaaSComponent = exports.DateField = exports.Text = exports.RichText = exports.Image = exports.Placeholder = exports.Form = exports.mediaApi = exports.GraphQLRequestClient = exports.DefaultRetryStrategy = exports.GraphQLDictionaryService = exports.EditMode = exports.getFieldValue = exports.getChildPlaceholder = exports.GraphQLLayoutService = exports.LayoutServicePageState = exports.getDesignLibraryStylesheetLinks = exports.getContentStylesheetLink = exports.resetEditorChromes = exports.isEditorActive = exports.NativeDataFetcher = exports.MemoryCacheClient = exports.ClientError = exports.enableDebug = exports.constants = void 0;
3
+ exports.SitePathService = exports.DefaultEmptyFieldEditingComponentImage = exports.DefaultEmptyFieldEditingComponentText = exports.EditingScripts = exports.withEmptyFieldEditingComponent = exports.withFieldMetadata = exports.withDatasourceCheck = exports.withPlaceholder = exports.withEditorChromes = exports.useSitecore = exports.withSitecore = exports.SitecoreProviderReactContext = exports.SitecoreProvider = exports.File = exports.Link = exports.BYOCWrapper = exports.fetchBYOCComponentServerProps = exports.BYOCComponent = exports.DesignLibrary = exports.FEaaSWrapper = exports.fetchFEaaSComponentServerProps = exports.FEaaSComponent = exports.DateField = exports.Text = exports.RichText = exports.Image = exports.Placeholder = exports.Form = exports.mediaApi = exports.GraphQLRequestClient = exports.DefaultRetryStrategy = exports.DictionaryService = exports.EditMode = exports.getFieldValue = exports.getChildPlaceholder = exports.LayoutService = exports.LayoutServicePageState = exports.getDesignLibraryStylesheetLinks = exports.getContentStylesheetLink = exports.resetEditorChromes = exports.isEditorActive = exports.NativeDataFetcher = exports.MemoryCacheClient = exports.ClientError = exports.enableDebug = exports.constants = void 0;
4
4
  var core_1 = require("@sitecore-content-sdk/core");
5
5
  Object.defineProperty(exports, "constants", { enumerable: true, get: function () { return core_1.constants; } });
6
6
  Object.defineProperty(exports, "enableDebug", { enumerable: true, get: function () { return core_1.enableDebug; } });
@@ -14,12 +14,12 @@ var layout_1 = require("@sitecore-content-sdk/core/layout");
14
14
  Object.defineProperty(exports, "getContentStylesheetLink", { enumerable: true, get: function () { return layout_1.getContentStylesheetLink; } });
15
15
  Object.defineProperty(exports, "getDesignLibraryStylesheetLinks", { enumerable: true, get: function () { return layout_1.getDesignLibraryStylesheetLinks; } });
16
16
  Object.defineProperty(exports, "LayoutServicePageState", { enumerable: true, get: function () { return layout_1.LayoutServicePageState; } });
17
- Object.defineProperty(exports, "GraphQLLayoutService", { enumerable: true, get: function () { return layout_1.GraphQLLayoutService; } });
17
+ Object.defineProperty(exports, "LayoutService", { enumerable: true, get: function () { return layout_1.LayoutService; } });
18
18
  Object.defineProperty(exports, "getChildPlaceholder", { enumerable: true, get: function () { return layout_1.getChildPlaceholder; } });
19
19
  Object.defineProperty(exports, "getFieldValue", { enumerable: true, get: function () { return layout_1.getFieldValue; } });
20
20
  Object.defineProperty(exports, "EditMode", { enumerable: true, get: function () { return layout_1.EditMode; } });
21
21
  var i18n_1 = require("@sitecore-content-sdk/core/i18n");
22
- Object.defineProperty(exports, "GraphQLDictionaryService", { enumerable: true, get: function () { return i18n_1.GraphQLDictionaryService; } });
22
+ Object.defineProperty(exports, "DictionaryService", { enumerable: true, get: function () { return i18n_1.DictionaryService; } });
23
23
  var client_1 = require("@sitecore-content-sdk/core/client");
24
24
  Object.defineProperty(exports, "DefaultRetryStrategy", { enumerable: true, get: function () { return client_1.DefaultRetryStrategy; } });
25
25
  Object.defineProperty(exports, "GraphQLRequestClient", { enumerable: true, get: function () { return client_1.GraphQLRequestClient; } });
@@ -53,12 +53,12 @@ var Link_1 = require("./components/Link");
53
53
  Object.defineProperty(exports, "Link", { enumerable: true, get: function () { return Link_1.Link; } });
54
54
  var File_1 = require("./components/File");
55
55
  Object.defineProperty(exports, "File", { enumerable: true, get: function () { return File_1.File; } });
56
- var SitecoreContext_1 = require("./components/SitecoreContext");
57
- Object.defineProperty(exports, "SitecoreContext", { enumerable: true, get: function () { return SitecoreContext_1.SitecoreContext; } });
58
- Object.defineProperty(exports, "SitecoreContextReactContext", { enumerable: true, get: function () { return SitecoreContext_1.SitecoreContextReactContext; } });
59
- var withSitecoreContext_1 = require("./enhancers/withSitecoreContext");
60
- Object.defineProperty(exports, "withSitecoreContext", { enumerable: true, get: function () { return withSitecoreContext_1.withSitecoreContext; } });
61
- Object.defineProperty(exports, "useSitecoreContext", { enumerable: true, get: function () { return withSitecoreContext_1.useSitecoreContext; } });
56
+ var SitecoreProvider_1 = require("./components/SitecoreProvider");
57
+ Object.defineProperty(exports, "SitecoreProvider", { enumerable: true, get: function () { return SitecoreProvider_1.SitecoreProvider; } });
58
+ Object.defineProperty(exports, "SitecoreProviderReactContext", { enumerable: true, get: function () { return SitecoreProvider_1.SitecoreProviderReactContext; } });
59
+ var withSitecore_1 = require("./enhancers/withSitecore");
60
+ Object.defineProperty(exports, "withSitecore", { enumerable: true, get: function () { return withSitecore_1.withSitecore; } });
61
+ Object.defineProperty(exports, "useSitecore", { enumerable: true, get: function () { return withSitecore_1.useSitecore; } });
62
62
  var withEditorChromes_1 = require("./enhancers/withEditorChromes");
63
63
  Object.defineProperty(exports, "withEditorChromes", { enumerable: true, get: function () { return withEditorChromes_1.withEditorChromes; } });
64
64
  var withPlaceholder_1 = require("./enhancers/withPlaceholder");
@@ -75,4 +75,4 @@ var DefaultEmptyFieldEditingComponents_1 = require("./components/DefaultEmptyFie
75
75
  Object.defineProperty(exports, "DefaultEmptyFieldEditingComponentText", { enumerable: true, get: function () { return DefaultEmptyFieldEditingComponents_1.DefaultEmptyFieldEditingComponentText; } });
76
76
  Object.defineProperty(exports, "DefaultEmptyFieldEditingComponentImage", { enumerable: true, get: function () { return DefaultEmptyFieldEditingComponents_1.DefaultEmptyFieldEditingComponentImage; } });
77
77
  var site_1 = require("@sitecore-content-sdk/core/site");
78
- Object.defineProperty(exports, "GraphQLSitePathService", { enumerable: true, get: function () { return site_1.GraphQLSitePathService; } });
78
+ Object.defineProperty(exports, "SitePathService", { enumerable: true, get: function () { return site_1.SitePathService; } });
@@ -1,17 +1,16 @@
1
1
  import React from 'react';
2
2
  import { LayoutServicePageState, RenderingType } from '@sitecore-content-sdk/core/layout';
3
- import { useSitecoreContext } from '../enhancers/withSitecoreContext';
4
- import { getJssPagesClientData } from '@sitecore-content-sdk/core/editing';
3
+ import { useSitecore } from '../enhancers/withSitecore';
4
+ import { getContentSdkPagesClientData } from '@sitecore-content-sdk/core/editing';
5
5
  import { getDesignLibraryScriptLink } from '@sitecore-content-sdk/core/editing';
6
6
  /**
7
7
  * Renders client scripts and data for editing/preview mode for Pages.
8
8
  * Renders script required for the Design Library (when RenderingType is `component`).
9
- * @param {EditingScriptsProps} props - The props for the EditingScripts component.
10
- * @param {string} props.sitecoreEdgeUrl - Sitecore Edge Platform URL.
11
9
  * @returns A JSX element containing the editing scripts or an empty fragment if not in editing/preview mode.
12
10
  */
13
- export const EditingScripts = (props) => {
14
- const { sitecoreContext: { pageState, clientData, clientScripts, renderingType }, } = useSitecoreContext();
11
+ export const EditingScripts = () => {
12
+ var _a;
13
+ const { pageContext: { pageState, clientData, clientScripts, renderingType }, api, } = useSitecore();
15
14
  // Don't render anything if not in editing/preview mode and rendering type is not component
16
15
  if (renderingType !== RenderingType.Component &&
17
16
  (pageState === LayoutServicePageState.Normal ||
@@ -22,12 +21,12 @@ export const EditingScripts = (props) => {
22
21
  // In case of RenderingType.Component - render only the script for Design Libnrary
23
22
  if (renderingType === RenderingType.Component) {
24
23
  // Add cache buster to the script URL
25
- const scriptUrl = `${getDesignLibraryScriptLink(props.sitecoreEdgeUrl)}?cb=${Date.now()}`;
24
+ const scriptUrl = `${getDesignLibraryScriptLink((_a = api === null || api === void 0 ? void 0 : api.edge) === null || _a === void 0 ? void 0 : _a.edgeUrl)}?cb=${Date.now()}`;
26
25
  return (React.createElement(React.Fragment, null,
27
26
  React.createElement("script", { src: scriptUrl, suppressHydrationWarning: true })));
28
27
  }
29
- const jssClientData = Object.assign(Object.assign({}, clientData), getJssPagesClientData());
28
+ const contentSdkClientData = Object.assign(Object.assign({}, clientData), getContentSdkPagesClientData());
30
29
  return (React.createElement(React.Fragment, null, clientScripts === null || clientScripts === void 0 ? void 0 :
31
30
  clientScripts.map((src, index) => (React.createElement("script", { src: src, key: index }))),
32
- Object.keys(jssClientData).map((id) => (React.createElement("script", { key: id, id: id, type: "application/json", dangerouslySetInnerHTML: { __html: JSON.stringify(jssClientData[id]) } })))));
31
+ Object.keys(contentSdkClientData).map((id) => (React.createElement("script", { key: id, id: id, type: "application/json", dangerouslySetInnerHTML: { __html: JSON.stringify(contentSdkClientData[id]) } })))));
33
32
  };