@sitecore-content-sdk/react 1.5.0-canary.8 → 1.5.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.
Files changed (108) hide show
  1. package/LICENSE.txt +202 -202
  2. package/dist/cjs/components/ClientEditingChromesUpdate.js +1 -1
  3. package/dist/cjs/components/Date.js +1 -1
  4. package/dist/cjs/components/DesignLibrary/DesignLibrary.js +6 -8
  5. package/dist/cjs/components/DesignLibrary/DesignLibraryApp.js +1 -1
  6. package/dist/cjs/components/DesignLibrary/DesignLibraryClientEvents.js +30 -27
  7. package/dist/cjs/components/DesignLibrary/DesignLibraryErrorBoundary.js +1 -1
  8. package/dist/cjs/components/DesignLibrary/DesignLibraryServer.js +39 -22
  9. package/dist/cjs/components/EditingScripts.js +3 -2
  10. package/dist/cjs/components/FieldMetadata.js +1 -1
  11. package/dist/cjs/components/File.js +1 -1
  12. package/dist/cjs/components/Form.js +2 -2
  13. package/dist/cjs/components/Image.js +2 -2
  14. package/dist/cjs/components/Link.js +1 -1
  15. package/dist/cjs/components/Placeholder/Placeholder.js +10 -1
  16. package/dist/cjs/components/Placeholder/PlaceholderMetadata.js +2 -2
  17. package/dist/cjs/components/Placeholder/placeholder-utils.js +3 -4
  18. package/dist/cjs/components/RichText.js +1 -1
  19. package/dist/cjs/components/SitecoreProvider.js +9 -1
  20. package/dist/cjs/components/Text.js +1 -1
  21. package/dist/cjs/enhancers/withEmptyFieldEditingComponent.js +1 -1
  22. package/dist/cjs/enhancers/withLoadImportMap.js +1 -10
  23. package/dist/cjs/index.js +8 -9
  24. package/dist/cjs/search/index.js +1 -3
  25. package/dist/cjs/server-actions/update-server-component-action.js +42 -9
  26. package/dist/cjs/utils.js +1 -1
  27. package/dist/esm/components/ClientEditingChromesUpdate.js +1 -1
  28. package/dist/esm/components/Date.js +1 -1
  29. package/dist/esm/components/DesignLibrary/DesignLibrary.js +7 -8
  30. package/dist/esm/components/DesignLibrary/DesignLibraryApp.js +1 -1
  31. package/dist/esm/components/DesignLibrary/DesignLibraryClientEvents.js +31 -28
  32. package/dist/esm/components/DesignLibrary/DesignLibraryErrorBoundary.js +1 -1
  33. package/dist/esm/components/DesignLibrary/DesignLibraryServer.js +39 -22
  34. package/dist/esm/components/EditingScripts.js +2 -1
  35. package/dist/esm/components/FieldMetadata.js +1 -1
  36. package/dist/esm/components/File.js +1 -1
  37. package/dist/esm/components/Form.js +1 -1
  38. package/dist/esm/components/Image.js +2 -2
  39. package/dist/esm/components/Link.js +1 -1
  40. package/dist/esm/components/Placeholder/Placeholder.js +10 -1
  41. package/dist/esm/components/Placeholder/PlaceholderMetadata.js +2 -2
  42. package/dist/esm/components/Placeholder/placeholder-utils.js +3 -4
  43. package/dist/esm/components/RichText.js +1 -1
  44. package/dist/esm/components/SitecoreProvider.js +9 -1
  45. package/dist/esm/components/Text.js +1 -1
  46. package/dist/esm/enhancers/withEmptyFieldEditingComponent.js +1 -1
  47. package/dist/esm/enhancers/withLoadImportMap.js +1 -9
  48. package/dist/esm/index.js +7 -7
  49. package/dist/esm/search/index.js +0 -1
  50. package/dist/esm/server-actions/update-server-component-action.js +40 -8
  51. package/dist/esm/utils.js +1 -1
  52. package/package.json +113 -114
  53. package/types/components/Date.d.ts +1 -1
  54. package/types/components/Date.d.ts.map +1 -1
  55. package/types/components/DesignLibrary/DesignLibrary.d.ts +5 -1
  56. package/types/components/DesignLibrary/DesignLibrary.d.ts.map +1 -1
  57. package/types/components/DesignLibrary/DesignLibraryClientEvents.d.ts +1 -1
  58. package/types/components/DesignLibrary/DesignLibraryClientEvents.d.ts.map +1 -1
  59. package/types/components/DesignLibrary/DesignLibraryServer.d.ts.map +1 -1
  60. package/types/components/DesignLibrary/models.d.ts +18 -9
  61. package/types/components/DesignLibrary/models.d.ts.map +1 -1
  62. package/types/components/EditingScripts.d.ts.map +1 -1
  63. package/types/components/ErrorBoundary.d.ts +3 -3
  64. package/types/components/ErrorBoundary.d.ts.map +1 -1
  65. package/types/components/FEaaS/models.d.ts +2 -2
  66. package/types/components/FEaaS/models.d.ts.map +1 -1
  67. package/types/components/Form.d.ts +1 -1
  68. package/types/components/Form.d.ts.map +1 -1
  69. package/types/components/Image.d.ts +1 -1
  70. package/types/components/Image.d.ts.map +1 -1
  71. package/types/components/Link.d.ts +1 -1
  72. package/types/components/Link.d.ts.map +1 -1
  73. package/types/components/Placeholder/ClientComponentWrapper.d.ts +1 -1
  74. package/types/components/Placeholder/ClientComponentWrapper.d.ts.map +1 -1
  75. package/types/components/Placeholder/Placeholder.d.ts +9 -2
  76. package/types/components/Placeholder/Placeholder.d.ts.map +1 -1
  77. package/types/components/Placeholder/PlaceholderMetadata.d.ts +1 -1
  78. package/types/components/Placeholder/PlaceholderMetadata.d.ts.map +1 -1
  79. package/types/components/Placeholder/models.d.ts +3 -3
  80. package/types/components/Placeholder/models.d.ts.map +1 -1
  81. package/types/components/Placeholder/placeholder-utils.d.ts +2 -3
  82. package/types/components/Placeholder/placeholder-utils.d.ts.map +1 -1
  83. package/types/components/RichText.d.ts +1 -1
  84. package/types/components/RichText.d.ts.map +1 -1
  85. package/types/components/SitecoreProvider.d.ts +4 -3
  86. package/types/components/SitecoreProvider.d.ts.map +1 -1
  87. package/types/components/Text.d.ts +1 -1
  88. package/types/components/Text.d.ts.map +1 -1
  89. package/types/enhancers/withAppPlaceholder.d.ts +2 -2
  90. package/types/enhancers/withAppPlaceholder.d.ts.map +1 -1
  91. package/types/enhancers/withDatasourceCheck.d.ts +1 -1
  92. package/types/enhancers/withDatasourceCheck.d.ts.map +1 -1
  93. package/types/enhancers/withEmptyFieldEditingComponent.d.ts +1 -1
  94. package/types/enhancers/withEmptyFieldEditingComponent.d.ts.map +1 -1
  95. package/types/enhancers/withLoadImportMap.d.ts +0 -6
  96. package/types/enhancers/withLoadImportMap.d.ts.map +1 -1
  97. package/types/enhancers/withPlaceholder.d.ts +2 -2
  98. package/types/enhancers/withPlaceholder.d.ts.map +1 -1
  99. package/types/enhancers/withSitecore.d.ts +2 -2
  100. package/types/enhancers/withSitecore.d.ts.map +1 -1
  101. package/types/index.d.ts +8 -8
  102. package/types/index.d.ts.map +1 -1
  103. package/types/search/index.d.ts +0 -1
  104. package/types/search/index.d.ts.map +1 -1
  105. package/types/server-actions/update-server-component-action.d.ts +40 -7
  106. package/types/server-actions/update-server-component-action.d.ts.map +1 -1
  107. package/types/utils.d.ts +1 -1
  108. package/types/utils.d.ts.map +1 -1
@@ -39,11 +39,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.DesignLibraryServerPreview = exports.DesignLibraryServerVariantGeneration = exports.DesignLibraryServer = exports.__mockDependencies = void 0;
41
41
  const react_1 = __importDefault(require("react"));
42
- const layout_1 = require("@sitecore-content-sdk/content/layout");
42
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
43
43
  const DesignLibraryClientEvents_1 = require("./DesignLibraryClientEvents");
44
- const globalCache = __importStar(require("@sitecore-content-sdk/core/tools"));
45
- const editing_1 = require("@sitecore-content-sdk/content/editing");
46
- const codegen = __importStar(require("@sitecore-content-sdk/content/codegen"));
44
+ const globalCache = __importStar(require("@sitecore-content-sdk/core/utils"));
45
+ const editing_1 = require("@sitecore-content-sdk/core/editing");
46
+ const codegen = __importStar(require("@sitecore-content-sdk/core/codegen"));
47
47
  const Placeholder_1 = require("../Placeholder");
48
48
  const DesignLibraryErrorBoundary_1 = require("./DesignLibraryErrorBoundary");
49
49
  const ErrorBoundary_1 = require("../ErrorBoundary");
@@ -79,9 +79,7 @@ const DesignLibraryServer = async ({ page, componentMap, rendering, loadServerIm
79
79
  return null;
80
80
  }
81
81
  const isVariantGeneration = (_a = page.mode.designLibrary) === null || _a === void 0 ? void 0 : _a.isVariantGeneration;
82
- // Temporarily disable server side variant generation due to potential security vulerability
83
- // eslint-disable-next-line no-constant-condition
84
- if (isVariantGeneration && false) {
82
+ if (isVariantGeneration) {
85
83
  return (react_1.default.createElement(exports.DesignLibraryServerVariantGeneration, { page: page, rendering: rendering, loadServerImportMap: loadServerImportMap, componentMap: componentMap }));
86
84
  }
87
85
  return (react_1.default.createElement(exports.DesignLibraryServerPreview, { page: page, rendering: rendering, componentMap: componentMap }));
@@ -103,12 +101,12 @@ const DesignLibraryServerVariantGeneration = async ({ page, rendering, loadServe
103
101
  let importMap;
104
102
  let importMapInfo;
105
103
  let Component;
106
- let importMapError;
107
- let previewComponentData;
104
+ let componentInitError;
105
+ let generatedComponentData;
108
106
  // load importmap and importmap payload to pass to FE
109
107
  // if not provided, or errors during load set error to pass to FE
110
108
  if (!loadServerImportMap) {
111
- importMapError = 'No loadImportMap provided';
109
+ componentInitError = 'No loadImportMap provided';
112
110
  }
113
111
  else {
114
112
  try {
@@ -117,7 +115,7 @@ const DesignLibraryServerVariantGeneration = async ({ page, rendering, loadServe
117
115
  importMapInfo = getImportMapInfo(importMap);
118
116
  }
119
117
  catch (e) {
120
- importMapError = `Error loading import map: ${e}`;
118
+ componentInitError = `Error loading import map: ${e}`;
121
119
  }
122
120
  }
123
121
  let componentToUpdate = (_b = (_a = rendering === null || rendering === void 0 ? void 0 : rendering.placeholders) === null || _a === void 0 ? void 0 : _a[layout_1.EDITING_COMPONENT_PLACEHOLDER]) === null || _b === void 0 ? void 0 : _b[0];
@@ -127,24 +125,43 @@ const DesignLibraryServerVariantGeneration = async ({ page, rendering, loadServe
127
125
  return react_1.default.createElement(ErrorBoundary_1.ErrorComponent, { message: "Rendering UID is missing in the rendering data" });
128
126
  const uid = componentToUpdate.uid;
129
127
  const componentUpdateKey = `${editing_1.COMPONENT_UPDATE_CACHE_KEY_PREFIX}${uid}`;
128
+ const componentPreviewKey = `${editing_1.COMPONENT_PREVIEW_CACHE_KEY_PREFIX}${uid}`;
130
129
  // check if we have an update for this component in the global cache
131
130
  if (hasCache(componentUpdateKey)) {
132
- // we have an update, get it and clean the cache
131
+ // we have fields/params update, get it and clean the cache
133
132
  designLibraryStatus = editing_1.DesignLibraryStatus.RENDERED;
134
133
  const updateData = getCacheAndClean(componentUpdateKey);
135
134
  // apply the updates to the component rendering
136
- if (updateData === null || updateData === void 0 ? void 0 : updateData.updatedComponent) {
137
- updateComponent(componentToUpdate, updateData.updatedComponent.fields, updateData.updatedComponent.params);
135
+ if (updateData === null || updateData === void 0 ? void 0 : updateData.rendering) {
136
+ updateComponent(componentToUpdate, updateData.rendering.fields, updateData.rendering.params);
137
+ }
138
+ // generate the component instance if we are dealing with an AI-generated component
139
+ if ((updateData === null || updateData === void 0 ? void 0 : updateData.generatedComponentData) && !componentInitError && importMap) {
140
+ generatedComponentData = updateData.generatedComponentData;
141
+ try {
142
+ // use provided code and import map to create the component instance
143
+ Component = createComponentInstance(importMap, updateData.generatedComponentData);
144
+ }
145
+ catch (error) {
146
+ // error during component initialization - send error to client
147
+ componentInitError = error.toString();
148
+ }
138
149
  }
139
- if ((updateData === null || updateData === void 0 ? void 0 : updateData.previewComponent) && !importMapError && importMap) {
140
- previewComponentData = updateData.previewComponent;
150
+ }
151
+ else if (hasCache(componentPreviewKey) && !componentInitError && importMap) {
152
+ // we have a preview update, get it and clean the cache
153
+ designLibraryStatus = editing_1.DesignLibraryStatus.RENDERED;
154
+ const previewData = getCacheAndClean(componentPreviewKey);
155
+ componentInitError = previewData === null || previewData === void 0 ? void 0 : previewData.error;
156
+ if (previewData === null || previewData === void 0 ? void 0 : previewData.generatedComponentData) {
157
+ generatedComponentData = previewData.generatedComponentData;
141
158
  try {
142
159
  // use provided code and import map to create the component instance
143
- Component = createComponentInstance(importMap, updateData.previewComponent);
160
+ Component = createComponentInstance(importMap, previewData.generatedComponentData);
144
161
  }
145
162
  catch (error) {
146
163
  // error during component initialization - send error to client
147
- importMapError = error.toString();
164
+ componentInitError = error.toString();
148
165
  }
149
166
  }
150
167
  }
@@ -154,7 +171,7 @@ const DesignLibraryServerVariantGeneration = async ({ page, rendering, loadServe
154
171
  react_1.default.createElement(Component, { fields: componentToUpdate.fields, params: componentToUpdate.params, key: Date.now() })))) : (react_1.default.createElement(Placeholder_1.AppPlaceholder, { name: layout_1.EDITING_COMPONENT_PLACEHOLDER, page: page, rendering: rendering, componentMap: componentMap, key: Date.now() })),
155
172
  react_1.default.createElement(DesignLibraryClientEvents_1.DesignLibraryVariantGenerationEvents, { designLibraryStatus: designLibraryStatus, importMap: importMapInfo,
156
173
  // pass a new object since we have mutated the original which leads to old reference passed to the client
157
- component: Object.assign({}, componentToUpdate), importMapError: importMapError, previewComponentData: previewComponentData })));
174
+ component: Object.assign({}, componentToUpdate), componentInitError: componentInitError, generatedComponentData: generatedComponentData })));
158
175
  };
159
176
  exports.DesignLibraryServerVariantGeneration = DesignLibraryServerVariantGeneration;
160
177
  /**
@@ -182,12 +199,12 @@ const DesignLibraryServerPreview = async ({ page, rendering, componentMap, }) =>
182
199
  designLibraryStatus = editing_1.DesignLibraryStatus.RENDERED;
183
200
  const updateData = getCacheAndClean(componentUpdateKey);
184
201
  // apply the updates to the component rendering
185
- if (updateData === null || updateData === void 0 ? void 0 : updateData.updatedComponent) {
186
- updateComponent(componentToUpdate, updateData.updatedComponent.fields, updateData.updatedComponent.params);
202
+ if (updateData === null || updateData === void 0 ? void 0 : updateData.rendering) {
203
+ updateComponent(componentToUpdate, updateData.rendering.fields, updateData.rendering.params);
187
204
  }
188
205
  }
189
206
  return (react_1.default.createElement(react_1.default.Fragment, null,
190
- react_1.default.createElement(Placeholder_1.AppPlaceholder, { name: layout_1.EDITING_COMPONENT_PLACEHOLDER, page: page, rendering: rendering, componentMap: componentMap }),
207
+ react_1.default.createElement(Placeholder_1.AppPlaceholder, { name: layout_1.EDITING_COMPONENT_PLACEHOLDER, page: page, rendering: rendering, componentMap: componentMap, key: Date.now() }),
191
208
  react_1.default.createElement(DesignLibraryClientEvents_1.DesignLibraryPreviewEvents, { designLibraryStatus: designLibraryStatus,
192
209
  // pass a new object since we have mutated the original which leads to old reference passed to the client
193
210
  component: Object.assign({}, componentToUpdate) })));
@@ -7,7 +7,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.EditingScripts = void 0;
8
8
  const react_1 = __importDefault(require("react"));
9
9
  const withSitecore_1 = require("../enhancers/withSitecore");
10
- const editing_1 = require("@sitecore-content-sdk/content/editing");
10
+ const editing_1 = require("@sitecore-content-sdk/core/editing");
11
+ const editing_2 = require("@sitecore-content-sdk/core/editing");
11
12
  /**
12
13
  * Renders client scripts and data for editing/preview mode for Pages.
13
14
  * Renders script required for the Design Library (when mode.isDesignLibrary is true).
@@ -31,7 +32,7 @@ const EditingScripts = () => {
31
32
  const month = String(now.getUTCMonth() + 1).padStart(2, '0');
32
33
  const year = String(now.getUTCFullYear());
33
34
  const cacheTimestamp = `${hour}-${day}-${month}-${year}`;
34
- const scriptUrl = `${(0, editing_1.getDesignLibraryScriptLink)((_a = api === null || api === void 0 ? void 0 : api.edge) === null || _a === void 0 ? void 0 : _a.edgeUrl)}?cb=${cacheTimestamp}`;
35
+ 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=${cacheTimestamp}`;
35
36
  return (react_1.default.createElement(react_1.default.Fragment, null,
36
37
  react_1.default.createElement("script", { src: scriptUrl, suppressHydrationWarning: true })));
37
38
  }
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FieldMetadata = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
- const editing_1 = require("@sitecore-content-sdk/content/editing");
8
+ const editing_1 = require("@sitecore-content-sdk/core/editing");
9
9
  /**
10
10
  * The component which renders field metadata markup
11
11
  * @param {FieldMetadataProps} props the props of the component
@@ -15,7 +15,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.File = void 0;
18
- const layout_1 = require("@sitecore-content-sdk/content/layout");
18
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
19
19
  const react_1 = __importDefault(require("react"));
20
20
  /**
21
21
  * The File component.
@@ -36,10 +36,10 @@ var __importStar = (this && this.__importStar) || (function () {
36
36
  Object.defineProperty(exports, "__esModule", { value: true });
37
37
  exports.Form = exports.mockFormModule = void 0;
38
38
  const react_1 = __importStar(require("react"));
39
- const content_1 = require("@sitecore-content-sdk/content");
39
+ const core_1 = require("@sitecore-content-sdk/core");
40
40
  const withSitecore_1 = require("../enhancers/withSitecore");
41
41
  const ErrorBoundary_1 = require("./ErrorBoundary");
42
- let { executeScriptElements, loadForm, subscribeToFormSubmitEvent } = content_1.form;
42
+ let { executeScriptElements, loadForm, subscribeToFormSubmitEvent } = core_1.form;
43
43
  /**
44
44
  * Mock function to replace the form module functions for `testing` purposes.
45
45
  * @param {any} formModule - The form module to mock
@@ -16,13 +16,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.Image = void 0;
18
18
  /* eslint-disable no-unused-vars */
19
- const media_1 = require("@sitecore-content-sdk/content/media");
19
+ const media_1 = require("@sitecore-content-sdk/core/media");
20
20
  const react_1 = __importDefault(require("react"));
21
21
  const utils_1 = require("../utils");
22
22
  const withFieldMetadata_1 = require("../enhancers/withFieldMetadata");
23
23
  const withEmptyFieldEditingComponent_1 = require("../enhancers/withEmptyFieldEditingComponent");
24
24
  const DefaultEmptyFieldEditingComponents_1 = require("./DefaultEmptyFieldEditingComponents");
25
- const layout_1 = require("@sitecore-content-sdk/content/layout");
25
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
26
26
  const getImageAttrs = (_a, imageParams, mediaUrlPrefix) => {
27
27
  var { src, srcSet } = _a, otherAttrs = __rest(_a, ["src", "srcSet"]);
28
28
  if (!src) {
@@ -47,7 +47,7 @@ var __rest = (this && this.__rest) || function (s, e) {
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.Link = void 0;
49
49
  const react_1 = __importStar(require("react"));
50
- const layout_1 = require("@sitecore-content-sdk/content/layout");
50
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
51
51
  const withFieldMetadata_1 = require("../enhancers/withFieldMetadata");
52
52
  const withEmptyFieldEditingComponent_1 = require("../enhancers/withEmptyFieldEditingComponent");
53
53
  const DefaultEmptyFieldEditingComponents_1 = require("./DefaultEmptyFieldEditingComponents");
@@ -40,7 +40,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.Placeholder = exports.PlaceholderComponent = void 0;
41
41
  const react_1 = __importDefault(require("react"));
42
42
  const withComponentMap_1 = require("../../enhancers/withComponentMap");
43
- const editing_1 = require("@sitecore-content-sdk/content/editing");
43
+ const editing_1 = require("@sitecore-content-sdk/core/editing");
44
44
  const withSitecore_1 = require("../../enhancers/withSitecore");
45
45
  const placeholder_utils_1 = require("./placeholder-utils");
46
46
  const PlaceholderMetadata_1 = require("./PlaceholderMetadata");
@@ -59,6 +59,15 @@ class PlaceholderComponent extends react_1.default.Component {
59
59
  componentDidCatch(error) {
60
60
  this.setState({ error });
61
61
  }
62
+ /**
63
+ * Renders the placeholder when it is empty. The required CSS styles are applied to the placeholder in edit mode.
64
+ * @param {React.ReactNode | React.ReactElement[]} node react node
65
+ * @returns react node
66
+ * @deprecated use renderEmptyPlaceholder from react/nextjs import instead
67
+ */
68
+ renderEmptyPlaceholder(node) {
69
+ return (0, placeholder_utils_1.renderEmptyPlaceholder)(node);
70
+ }
62
71
  render() {
63
72
  const childProps = Object.assign({}, this.props);
64
73
  delete childProps.componentMap;
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.PlaceholderMetadata = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
- const layout_1 = require("@sitecore-content-sdk/content/layout");
9
- const editing_1 = require("@sitecore-content-sdk/content/editing");
8
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
9
+ const editing_1 = require("@sitecore-content-sdk/core/editing");
10
10
  /**
11
11
  * A React component to generate metadata blocks for a placeholder or rendering.
12
12
  * It utilizes dynamic attributes based on whether the component acts as a placeholder
@@ -19,8 +19,8 @@ exports.getAppComponentProps = getAppComponentProps;
19
19
  const react_1 = __importDefault(require("react"));
20
20
  const MissingComponent_1 = require("../MissingComponent");
21
21
  const sharedTypes_1 = require("../sharedTypes");
22
- const layout_1 = require("@sitecore-content-sdk/content/layout");
23
- const content_1 = require("@sitecore-content-sdk/content");
22
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
23
+ const core_1 = require("@sitecore-content-sdk/core");
24
24
  const HiddenRendering_1 = require("../HiddenRendering");
25
25
  const FEaaS_1 = require("../FEaaS");
26
26
  /**
@@ -85,7 +85,6 @@ exports.getSXAParams = getSXAParams;
85
85
  * Renders the placeholder when it is empty. The required CSS styles are applied to the placeholder in edit mode.
86
86
  * @param {React.ReactNode | React.ReactElement[]} node react node
87
87
  * @returns react node
88
- * @public
89
88
  */
90
89
  const renderEmptyPlaceholder = (node) => {
91
90
  return react_1.default.createElement("div", { className: "sc-jss-empty-placeholder" }, node);
@@ -137,7 +136,7 @@ const getComponentForRendering = (renderingDefinition, placeholderName, componen
137
136
  const logUnknownComponentError = (variant) => {
138
137
  console.error(`Placeholder ${placeholderName} contains unknown component ${renderingDefinition.componentName}${variant ? ` (${variant})` : ''}. Ensure that a React component exists for it, and that it is registered in your component-map file.`);
139
138
  };
140
- if (renderingDefinition.componentName === content_1.HIDDEN_RENDERING_NAME) {
139
+ if (renderingDefinition.componentName === core_1.constants.HIDDEN_RENDERING_NAME) {
141
140
  return {
142
141
  component: hiddenRenderingComponent !== null && hiddenRenderingComponent !== void 0 ? hiddenRenderingComponent : HiddenRendering_1.HiddenRendering,
143
142
  isEmpty: true,
@@ -47,10 +47,10 @@ var __rest = (this && this.__rest) || function (s, e) {
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.RichText = void 0;
49
49
  const react_1 = __importStar(require("react"));
50
- const layout_1 = require("@sitecore-content-sdk/content/layout");
51
50
  const withFieldMetadata_1 = require("../enhancers/withFieldMetadata");
52
51
  const withEmptyFieldEditingComponent_1 = require("../enhancers/withEmptyFieldEditingComponent");
53
52
  const DefaultEmptyFieldEditingComponents_1 = require("./DefaultEmptyFieldEditingComponents");
53
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
54
54
  /**
55
55
  * The RichText component.
56
56
  * @param {RichTextProps} props component props
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.SitecoreProvider = exports.ImportMapReactContext = exports.ComponentMapReactContext = exports.SitecoreProviderReactContext = void 0;
8
8
  const react_1 = __importDefault(require("react"));
9
9
  const react_2 = __importDefault(require("fast-deep-equal/es6/react"));
10
+ const core_1 = require("@sitecore-content-sdk/core");
10
11
  /**
11
12
  * The context for the SitecoreProvider component.
12
13
  * @public
@@ -20,6 +21,7 @@ exports.ImportMapReactContext = react_1.default.createContext(undefined);
20
21
  */
21
22
  class SitecoreProvider extends react_1.default.Component {
22
23
  constructor(props) {
24
+ var _a, _b, _c, _d, _e, _f;
23
25
  super(props);
24
26
  /**
25
27
  * Update page state.
@@ -30,10 +32,16 @@ class SitecoreProvider extends react_1.default.Component {
30
32
  page: value,
31
33
  });
32
34
  };
35
+ // If any Edge ID is present but no edgeUrl, apply the default
36
+ let api = props.api;
37
+ 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)) &&
38
+ !((_f = (_e = props.api) === null || _e === void 0 ? void 0 : _e.edge) === null || _f === void 0 ? void 0 : _f.edgeUrl)) {
39
+ api = Object.assign(Object.assign({}, props.api), { edge: Object.assign(Object.assign({}, props.api.edge), { edgeUrl: core_1.constants.SITECORE_EDGE_URL_DEFAULT }) });
40
+ }
33
41
  this.state = {
34
42
  page: props.page,
35
43
  setPage: this.setPage,
36
- api: props.api,
44
+ api,
37
45
  };
38
46
  }
39
47
  componentDidUpdate(prevProps) {
@@ -17,10 +17,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.Text = void 0;
19
19
  const react_1 = __importDefault(require("react"));
20
- const layout_1 = require("@sitecore-content-sdk/content/layout");
21
20
  const withFieldMetadata_1 = require("../enhancers/withFieldMetadata");
22
21
  const withEmptyFieldEditingComponent_1 = require("../enhancers/withEmptyFieldEditingComponent");
23
22
  const DefaultEmptyFieldEditingComponents_1 = require("./DefaultEmptyFieldEditingComponents");
23
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
24
24
  /**
25
25
  * The Text component.
26
26
  * @public
@@ -35,7 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.withEmptyFieldEditingComponent = withEmptyFieldEditingComponent;
37
37
  const react_1 = __importStar(require("react"));
38
- const layout_1 = require("@sitecore-content-sdk/content/layout");
38
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
39
39
  /**
40
40
  * Returns the passed field component or default component in case field value is empty and edit mode is 'metadata'
41
41
  * @param {ComponentType<FieldComponentProps>} FieldComponent the field component
@@ -33,18 +33,9 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.useLoadImportMap = useLoadImportMap;
37
36
  exports.withLoadImportMap = withLoadImportMap;
38
37
  const react_1 = __importStar(require("react"));
39
38
  const SitecoreProvider_1 = require("../components/SitecoreProvider");
40
- /**
41
- * Hook that retrieves the loadImportMap function from context.
42
- * @returns {() => Promise<ImportMapImport> | undefined} The loadImportMap function from context, or undefined if not available.
43
- * @public
44
- */
45
- function useLoadImportMap() {
46
- return (0, react_1.useContext)(SitecoreProvider_1.ImportMapReactContext);
47
- }
48
39
  /**
49
40
  * Higher-order component that injects the loadImportMap function from context into component props.
50
41
  * If the component already receives loadImportMap via props, the prop value takes precedence.
@@ -53,7 +44,7 @@ function useLoadImportMap() {
53
44
  */
54
45
  function withLoadImportMap(Component) {
55
46
  const WithLoadImportMap = (props) => {
56
- const loadImportMapContext = useLoadImportMap();
47
+ const loadImportMapContext = (0, react_1.useContext)(SitecoreProvider_1.ImportMapReactContext);
57
48
  const loadClientImportMap = props.loadImportMap || loadImportMapContext;
58
49
  return react_1.default.createElement(Component, Object.assign({}, props, { loadImportMap: loadClientImportMap }));
59
50
  };
package/dist/cjs/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withEmptyFieldEditingComponent = exports.withFieldMetadata = exports.withDatasourceCheck = exports.withPlaceholder = exports.withEditorChromes = exports.useSitecore = exports.withSitecore = exports.SitecoreProviderReactContext = exports.SitecoreProvider = exports.File = exports.Link = exports.DesignLibraryApp = exports.DesignLibrary = exports.BYOCServerWrapper = exports.FEaaSServerWrapper = exports.FEaaSClientWrapper = exports.FEaaSWrapper = exports.BYOCClientWrapper = exports.BYOCWrapper = exports.fetchBYOCComponentServerProps = exports.BYOCComponent = exports.fetchFEaaSComponentServerProps = exports.FEaaSComponent = exports.DateField = exports.Text = exports.RichText = exports.Image = exports.renderEmptyPlaceholder = exports.AppPlaceholder = exports.Placeholder = exports.Form = exports.mediaApi = exports.ErrorPage = 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
- exports.SitePathService = exports.ClientEditingChromesUpdate = exports.DefaultEmptyFieldEditingComponentImage = exports.DefaultEmptyFieldEditingComponentText = exports.EditingScripts = void 0;
3
+ 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.DesignLibraryApp = exports.DesignLibrary = exports.BYOCServerWrapper = exports.FEaaSServerWrapper = exports.FEaaSClientWrapper = exports.FEaaSWrapper = exports.BYOCClientWrapper = exports.BYOCWrapper = exports.fetchBYOCComponentServerProps = exports.BYOCComponent = exports.fetchFEaaSComponentServerProps = exports.FEaaSComponent = exports.DateField = exports.Text = exports.RichText = exports.Image = exports.AppPlaceholder = exports.Placeholder = exports.Form = exports.mediaApi = exports.ErrorPage = 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
+ exports.SitePathService = exports.ClientEditingChromesUpdate = exports.DefaultEmptyFieldEditingComponentImage = exports.DefaultEmptyFieldEditingComponentText = void 0;
5
5
  var core_1 = require("@sitecore-content-sdk/core");
6
6
  Object.defineProperty(exports, "constants", { enumerable: true, get: function () { return core_1.constants; } });
7
7
  Object.defineProperty(exports, "enableDebug", { enumerable: true, get: function () { return core_1.enableDebug; } });
8
8
  Object.defineProperty(exports, "ClientError", { enumerable: true, get: function () { return core_1.ClientError; } });
9
9
  Object.defineProperty(exports, "MemoryCacheClient", { enumerable: true, get: function () { return core_1.MemoryCacheClient; } });
10
10
  Object.defineProperty(exports, "NativeDataFetcher", { enumerable: true, get: function () { return core_1.NativeDataFetcher; } });
11
- var editing_1 = require("@sitecore-content-sdk/content/editing");
11
+ var editing_1 = require("@sitecore-content-sdk/core/editing");
12
12
  Object.defineProperty(exports, "isEditorActive", { enumerable: true, get: function () { return editing_1.isEditorActive; } });
13
13
  Object.defineProperty(exports, "resetEditorChromes", { enumerable: true, get: function () { return editing_1.resetEditorChromes; } });
14
- var layout_1 = require("@sitecore-content-sdk/content/layout");
14
+ var layout_1 = require("@sitecore-content-sdk/core/layout");
15
15
  Object.defineProperty(exports, "getContentStylesheetLink", { enumerable: true, get: function () { return layout_1.getContentStylesheetLink; } });
16
16
  Object.defineProperty(exports, "getDesignLibraryStylesheetLinks", { enumerable: true, get: function () { return layout_1.getDesignLibraryStylesheetLinks; } });
17
17
  Object.defineProperty(exports, "LayoutServicePageState", { enumerable: true, get: function () { return layout_1.LayoutServicePageState; } });
@@ -19,20 +19,19 @@ Object.defineProperty(exports, "LayoutService", { enumerable: true, get: functio
19
19
  Object.defineProperty(exports, "getChildPlaceholder", { enumerable: true, get: function () { return layout_1.getChildPlaceholder; } });
20
20
  Object.defineProperty(exports, "getFieldValue", { enumerable: true, get: function () { return layout_1.getFieldValue; } });
21
21
  Object.defineProperty(exports, "EditMode", { enumerable: true, get: function () { return layout_1.EditMode; } });
22
- var i18n_1 = require("@sitecore-content-sdk/content/i18n");
22
+ var i18n_1 = require("@sitecore-content-sdk/core/i18n");
23
23
  Object.defineProperty(exports, "DictionaryService", { enumerable: true, get: function () { return i18n_1.DictionaryService; } });
24
- var client_1 = require("@sitecore-content-sdk/content/client");
24
+ var client_1 = require("@sitecore-content-sdk/core/client");
25
25
  Object.defineProperty(exports, "DefaultRetryStrategy", { enumerable: true, get: function () { return client_1.DefaultRetryStrategy; } });
26
26
  Object.defineProperty(exports, "GraphQLRequestClient", { enumerable: true, get: function () { return client_1.GraphQLRequestClient; } });
27
27
  Object.defineProperty(exports, "ErrorPage", { enumerable: true, get: function () { return client_1.ErrorPage; } });
28
- var media_1 = require("@sitecore-content-sdk/content/media");
28
+ var media_1 = require("@sitecore-content-sdk/core/media");
29
29
  Object.defineProperty(exports, "mediaApi", { enumerable: true, get: function () { return media_1.mediaApi; } });
30
30
  var Form_1 = require("./components/Form");
31
31
  Object.defineProperty(exports, "Form", { enumerable: true, get: function () { return Form_1.Form; } });
32
32
  var Placeholder_1 = require("./components/Placeholder");
33
33
  Object.defineProperty(exports, "Placeholder", { enumerable: true, get: function () { return Placeholder_1.Placeholder; } });
34
34
  Object.defineProperty(exports, "AppPlaceholder", { enumerable: true, get: function () { return Placeholder_1.AppPlaceholder; } });
35
- Object.defineProperty(exports, "renderEmptyPlaceholder", { enumerable: true, get: function () { return Placeholder_1.renderEmptyPlaceholder; } });
36
35
  var Image_1 = require("./components/Image");
37
36
  Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return Image_1.Image; } });
38
37
  var RichText_1 = require("./components/RichText");
@@ -83,5 +82,5 @@ Object.defineProperty(exports, "DefaultEmptyFieldEditingComponentText", { enumer
83
82
  Object.defineProperty(exports, "DefaultEmptyFieldEditingComponentImage", { enumerable: true, get: function () { return DefaultEmptyFieldEditingComponents_1.DefaultEmptyFieldEditingComponentImage; } });
84
83
  var ClientEditingChromesUpdate_1 = require("./components/ClientEditingChromesUpdate");
85
84
  Object.defineProperty(exports, "ClientEditingChromesUpdate", { enumerable: true, get: function () { return ClientEditingChromesUpdate_1.ClientEditingChromesUpdate; } });
86
- var site_1 = require("@sitecore-content-sdk/content/site");
85
+ var site_1 = require("@sitecore-content-sdk/core/site");
87
86
  Object.defineProperty(exports, "SitePathService", { enumerable: true, get: function () { return site_1.SitePathService; } });
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.debug = exports.useInfiniteSearch = exports.useSearch = void 0;
3
+ exports.useInfiniteSearch = exports.useSearch = void 0;
4
4
  var useSearch_1 = require("./useSearch");
5
5
  Object.defineProperty(exports, "useSearch", { enumerable: true, get: function () { return useSearch_1.useSearch; } });
6
6
  var useInfiniteSearch_1 = require("./useInfiniteSearch");
7
7
  Object.defineProperty(exports, "useInfiniteSearch", { enumerable: true, get: function () { return useInfiniteSearch_1.useInfiniteSearch; } });
8
- var search_1 = require("@sitecore-content-sdk/search");
9
- Object.defineProperty(exports, "debug", { enumerable: true, get: function () { return search_1.debug; } });
@@ -1,18 +1,51 @@
1
1
  "use strict";
2
2
  'use server';
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.updateServerComponentAction = updateServerComponentAction;
5
- const content_1 = require("@sitecore-content-sdk/content");
6
- const tools_1 = require("@sitecore-content-sdk/core/tools");
7
- const editing_1 = require("@sitecore-content-sdk/content/editing");
4
+ exports.updateComponentAction = updateComponentAction;
5
+ exports.previewComponentAction = previewComponentAction;
6
+ const core_1 = require("@sitecore-content-sdk/core");
7
+ const codegen_1 = require("@sitecore-content-sdk/core/codegen");
8
+ const utils_1 = require("@sitecore-content-sdk/core/utils");
9
+ const editing_1 = require("@sitecore-content-sdk/core/editing");
8
10
  /**
9
11
  * Server action to update global cache with the provided component updates received from Design Library.
10
12
  * Stores the given {@link ComponentUpdateModel} in the global cache using a key based on the component UID.
11
- * This enables dynamic rendering of server components inside Design Library
12
- * @param {ComponentUpdateModel} componentUpdate - The component update model containing the UID and optional updated or preview component data.
13
+ * This enables rendering dynamic updates of server components inside Design Library
14
+ * @param {ComponentUpdateModel} updatedComponent - The component update model containing the UID and optional updated or preview component data.
13
15
  * @returns A Promise that resolves when the cache has been updated.
14
16
  */
15
- async function updateServerComponentAction(componentUpdate) {
16
- content_1.debug.editing(`Updating server component cache for Component: ${componentUpdate.uid}`);
17
- (0, tools_1.setCache)(`${editing_1.COMPONENT_UPDATE_CACHE_KEY_PREFIX}${componentUpdate.uid}`, componentUpdate);
17
+ async function updateComponentAction(updatedComponent) {
18
+ core_1.debug.editing(`Updating server component cache for Update Component: ${updatedComponent.uid}`);
19
+ (0, utils_1.setCache)(`${editing_1.COMPONENT_UPDATE_CACHE_KEY_PREFIX}${updatedComponent.uid}`, updatedComponent);
20
+ }
21
+ /**
22
+ * Server action to update global cache with the generated component data in variant generation mode
23
+ * The generated component data is retrieved from a secured cache endpoint via the provided event arguments.
24
+ * This enables rendering dynamic updates of server components inside Design Library
25
+ * @param {PreviewEventModel} previewEvent - The preview event model containing the UID and the preview event arguments with cache information to fetch the generated component data.
26
+ * @param {string} [edgeUrl] - Optional Edge URL to fetch the generated component data.
27
+ * @returns A Promise that resolves when the cache has been updated.
28
+ */
29
+ async function previewComponentAction(previewEvent, edgeUrl) {
30
+ core_1.debug.editing(`Updating server component cache for Preview Component: ${previewEvent.uid}`);
31
+ const updatedComponent = {
32
+ uid: previewEvent.uid,
33
+ generatedComponentData: undefined,
34
+ error: undefined,
35
+ };
36
+ if (previewEvent.args) {
37
+ // we've received a component preview event from the Design Library, so we need to fetch the generated component data from secured endpoint
38
+ try {
39
+ updatedComponent.generatedComponentData = await (0, codegen_1.fetchGeneratedComponentFromCache)(previewEvent.args.message.cache.id, previewEvent.args.message.cache.token, edgeUrl);
40
+ }
41
+ catch (error) {
42
+ core_1.debug.editing(`Error fetching generated component data from cache for Component: ${previewEvent.uid}`, error);
43
+ updatedComponent.error = error instanceof Error ? error.message : String(error);
44
+ }
45
+ }
46
+ else {
47
+ core_1.debug.editing(`No preview event arguments provided for Component: ${previewEvent.uid}`);
48
+ updatedComponent.error = 'No preview event arguments provided';
49
+ }
50
+ (0, utils_1.setCache)(`${editing_1.COMPONENT_PREVIEW_CACHE_KEY_PREFIX}${updatedComponent.uid}`, updatedComponent);
18
51
  }
package/dist/cjs/utils.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDataFromFields = exports.addClassName = void 0;
4
- const layout_1 = require("@sitecore-content-sdk/content/layout");
4
+ const layout_1 = require("@sitecore-content-sdk/core/layout");
5
5
  /**
6
6
  * "class" property will be transformed into or appended to "className" instead.
7
7
  * @param {string} otherAttrs all other props included on the image component
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { isEditorActive, resetEditorChromes } from '@sitecore-content-sdk/content/editing';
2
+ import { isEditorActive, resetEditorChromes } from '@sitecore-content-sdk/core/editing';
3
3
  import React, { useEffect } from 'react';
4
4
  /**
5
5
  * Updates editing chromes in app router / RSC context.
@@ -13,7 +13,7 @@ import React from 'react';
13
13
  import { withFieldMetadata } from '../enhancers/withFieldMetadata';
14
14
  import { withEmptyFieldEditingComponent } from '../enhancers/withEmptyFieldEditingComponent';
15
15
  import { DefaultEmptyFieldEditingComponentText } from './DefaultEmptyFieldEditingComponents';
16
- import { isFieldValueEmpty } from '@sitecore-content-sdk/content/layout';
16
+ import { isFieldValueEmpty } from '@sitecore-content-sdk/core/layout';
17
17
  /**
18
18
  * The DateField component.
19
19
  * @public
@@ -2,14 +2,14 @@
2
2
  /* eslint-disable jsdoc/require-param */
3
3
  /* eslint-disable prefer-const */
4
4
  import React, { useEffect, useState } from 'react';
5
- import { EDITING_COMPONENT_ID, EDITING_COMPONENT_PLACEHOLDER, } from '@sitecore-content-sdk/content/layout';
6
- import { DesignLibraryStatus, getDesignLibraryStatusEvent, addComponentUpdateHandler, } from '@sitecore-content-sdk/content/editing';
7
- import * as codegen from '@sitecore-content-sdk/content/codegen';
8
- import * as editing from '@sitecore-content-sdk/content/editing';
5
+ import { EDITING_COMPONENT_ID, EDITING_COMPONENT_PLACEHOLDER, } from '@sitecore-content-sdk/core/layout';
6
+ import { DesignLibraryStatus, getDesignLibraryStatusEvent, addComponentUpdateHandler, } from '@sitecore-content-sdk/core/editing';
7
+ import * as codegen from '@sitecore-content-sdk/core/codegen';
8
+ import * as editing from '@sitecore-content-sdk/core/editing';
9
9
  import { useSitecore } from '../../enhancers/withSitecore';
10
10
  import { Placeholder, PlaceholderMetadata } from '../Placeholder';
11
11
  import { DesignLibraryErrorBoundary } from './DesignLibraryErrorBoundary';
12
- import { useLoadImportMap } from '../../enhancers/withLoadImportMap';
12
+ import { withLoadImportMap } from '../../enhancers/withLoadImportMap';
13
13
  import { ErrorComponent } from '../ErrorBoundary';
14
14
  let { getDesignLibraryImportMapEvent, getDesignLibraryComponentPropsEvent, addComponentPreviewHandler, sendErrorEvent, } = codegen;
15
15
  let { postToDesignLibrary } = editing;
@@ -34,10 +34,9 @@ export const __mockDependencies = (mocks) => {
34
34
  * @returns {JSX.Element} The preview surface, or `null` when not in Design Library mode.
35
35
  * @public
36
36
  */
37
- export const DesignLibrary = () => {
37
+ export const DesignLibrary = withLoadImportMap(({ loadImportMap }) => {
38
38
  var _a, _b;
39
39
  const { page } = useSitecore();
40
- const loadImportMap = useLoadImportMap();
41
40
  const route = page.layout.sitecore.route;
42
41
  const rendering = (_a = route === null || route === void 0 ? void 0 : route.placeholders[EDITING_COMPONENT_PLACEHOLDER]) === null || _a === void 0 ? void 0 : _a[0];
43
42
  const uid = rendering === null || rendering === void 0 ? void 0 : rendering.uid;
@@ -122,4 +121,4 @@ export const DesignLibrary = () => {
122
121
  return (React.createElement("main", null, isGeneratedComponentActive ? (React.createElement(DesignLibraryErrorBoundary, { uid: uid, renderKey: renderKey },
123
122
  React.createElement(PlaceholderMetadata, { rendering: rendering },
124
123
  React.createElement(Component, { fields: propsState.fields, params: propsState.params, key: renderKey })))) : (React.createElement("div", { id: EDITING_COMPONENT_ID }, route && (React.createElement(Placeholder, { name: EDITING_COMPONENT_PLACEHOLDER, rendering: route, key: renderKey }))))));
125
- };
124
+ });
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { EDITING_COMPONENT_PLACEHOLDER } from '@sitecore-content-sdk/content/layout';
2
+ import { EDITING_COMPONENT_PLACEHOLDER } from '@sitecore-content-sdk/core/layout';
3
3
  import { DesignLibraryServer } from './DesignLibraryServer';
4
4
  import { DesignLibrary } from './DesignLibrary';
5
5
  /**