@sitecore-content-sdk/react 1.3.0-canary.9 → 1.4.0-canary.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/dist/cjs/components/ClientEditingChromesUpdate.js +53 -52
- package/dist/cjs/components/Date.js +49 -45
- package/dist/cjs/components/DefaultEmptyFieldEditingComponents.js +32 -22
- package/dist/cjs/components/{DesignLibrary.js → DesignLibrary/DesignLibrary.js} +161 -202
- package/dist/cjs/components/DesignLibrary/DesignLibraryApp.js +31 -0
- package/dist/cjs/components/DesignLibrary/DesignLibraryClientEvents.js +123 -0
- package/dist/cjs/components/DesignLibrary/DesignLibraryErrorBoundary.js +65 -0
- package/dist/cjs/components/DesignLibrary/DesignLibraryServer.js +193 -0
- package/dist/cjs/components/DesignLibrary/index.js +7 -0
- package/dist/cjs/components/DesignLibrary/models.js +2 -0
- package/dist/cjs/components/EditingScripts.js +44 -43
- package/dist/cjs/components/ErrorBoundary.js +101 -92
- package/dist/cjs/components/FEaaS/BYOCServerWrapper.js +25 -28
- package/dist/cjs/components/FEaaS/BYOCWrapper.js +133 -122
- package/dist/cjs/components/FEaaS/FEaaSSeverWrapper.js +26 -34
- package/dist/cjs/components/FEaaS/FEaaSWrapper.js +84 -78
- package/dist/cjs/components/FEaaS/feaas-utils.js +130 -144
- package/dist/cjs/components/FEaaS/index.js +21 -21
- package/dist/cjs/components/FEaaS/models.js +7 -7
- package/dist/cjs/components/FieldMetadata.js +29 -29
- package/dist/cjs/components/File.js +43 -38
- package/dist/cjs/components/Form.js +100 -92
- package/dist/cjs/components/HiddenRendering.js +23 -23
- package/dist/cjs/components/Image.js +71 -66
- package/dist/cjs/components/Link.js +91 -86
- package/dist/cjs/components/MissingComponent.js +28 -28
- package/dist/cjs/components/Placeholder/AppPlaceholder.js +79 -76
- package/dist/cjs/components/Placeholder/ClientComponentWrapper.js +21 -21
- package/dist/cjs/components/Placeholder/Placeholder.js +144 -110
- package/dist/cjs/components/Placeholder/PlaceholderMetadata.js +68 -63
- package/dist/cjs/components/Placeholder/index.js +25 -25
- package/dist/cjs/components/Placeholder/models.js +18 -18
- package/dist/cjs/components/Placeholder/placeholder-utils.js +226 -226
- package/dist/cjs/components/RichText.js +75 -70
- package/dist/cjs/components/SitecoreProvider.js +62 -52
- package/dist/cjs/components/Text.js +69 -65
- package/dist/cjs/components/sharedTypes/components.js +7 -7
- package/dist/cjs/components/sharedTypes/index.js +18 -18
- package/dist/cjs/components/sharedTypes/props.js +2 -2
- package/dist/cjs/enhancers/withAppPlaceholder.js +21 -21
- package/dist/cjs/enhancers/withComponentMap.js +24 -24
- package/dist/cjs/enhancers/withDatasourceCheck.js +31 -30
- package/dist/cjs/enhancers/withEditorChromes.js +29 -24
- package/dist/cjs/enhancers/withEmptyFieldEditingComponent.js +71 -70
- package/dist/cjs/enhancers/withFieldMetadata.js +68 -67
- package/dist/cjs/enhancers/withLoadImportMap.js +53 -0
- package/dist/cjs/enhancers/withPlaceholder.js +64 -65
- package/dist/cjs/enhancers/withSitecore.js +47 -45
- package/dist/cjs/index.js +86 -85
- package/dist/cjs/rsc-utils/no-rsc.js +5 -5
- package/dist/cjs/rsc-utils/rsc.js +5 -5
- package/dist/cjs/search/index.js +7 -0
- package/dist/cjs/search/useInfiniteSearch.js +136 -0
- package/dist/cjs/search/useSearch.js +107 -0
- package/dist/cjs/search/utils.js +35 -0
- package/dist/cjs/server-actions/update-server-component-action.js +18 -0
- package/dist/cjs/utils.js +38 -38
- package/dist/esm/components/ClientEditingChromesUpdate.js +16 -15
- package/dist/esm/components/Date.js +43 -39
- package/dist/esm/components/DefaultEmptyFieldEditingComponents.js +24 -14
- package/dist/esm/components/{DesignLibrary.js → DesignLibrary/DesignLibrary.js} +124 -164
- package/dist/esm/components/DesignLibrary/DesignLibraryApp.js +24 -0
- package/dist/esm/components/DesignLibrary/DesignLibraryClientEvents.js +84 -0
- package/dist/esm/components/DesignLibrary/DesignLibraryErrorBoundary.js +28 -0
- package/dist/esm/components/DesignLibrary/DesignLibraryServer.js +150 -0
- package/dist/esm/components/DesignLibrary/index.js +2 -0
- package/dist/esm/components/DesignLibrary/models.js +1 -0
- package/dist/esm/components/EditingScripts.js +37 -36
- package/dist/esm/components/ErrorBoundary.js +64 -57
- package/dist/esm/components/FEaaS/BYOCServerWrapper.js +18 -21
- package/dist/esm/components/FEaaS/BYOCWrapper.js +91 -81
- package/dist/esm/components/FEaaS/FEaaSSeverWrapper.js +19 -27
- package/dist/esm/components/FEaaS/FEaaSWrapper.js +43 -37
- package/dist/esm/components/FEaaS/feaas-utils.js +91 -105
- package/dist/esm/components/FEaaS/index.js +6 -6
- package/dist/esm/components/FEaaS/models.js +4 -4
- package/dist/esm/components/FieldMetadata.js +22 -22
- package/dist/esm/components/File.js +36 -31
- package/dist/esm/components/Form.js +62 -54
- package/dist/esm/components/HiddenRendering.js +16 -16
- package/dist/esm/components/Image.js +65 -60
- package/dist/esm/components/Link.js +55 -50
- package/dist/esm/components/MissingComponent.js +21 -21
- package/dist/esm/components/Placeholder/AppPlaceholder.js +72 -69
- package/dist/esm/components/Placeholder/ClientComponentWrapper.js +14 -14
- package/dist/esm/components/Placeholder/Placeholder.js +104 -103
- package/dist/esm/components/Placeholder/PlaceholderMetadata.js +61 -56
- package/dist/esm/components/Placeholder/index.js +4 -4
- package/dist/esm/components/Placeholder/models.js +15 -15
- package/dist/esm/components/Placeholder/placeholder-utils.js +214 -214
- package/dist/esm/components/RichText.js +39 -34
- package/dist/esm/components/SitecoreProvider.js +55 -45
- package/dist/esm/components/Text.js +63 -59
- package/dist/esm/components/sharedTypes/components.js +4 -4
- package/dist/esm/components/sharedTypes/index.js +2 -2
- package/dist/esm/components/sharedTypes/props.js +1 -1
- package/dist/esm/enhancers/withAppPlaceholder.js +14 -14
- package/dist/esm/enhancers/withComponentMap.js +18 -18
- package/dist/esm/enhancers/withDatasourceCheck.js +23 -22
- package/dist/esm/enhancers/withEditorChromes.js +22 -17
- package/dist/esm/enhancers/withEmptyFieldEditingComponent.js +35 -34
- package/dist/esm/enhancers/withFieldMetadata.js +32 -31
- package/dist/esm/enhancers/withLoadImportMap.js +17 -0
- package/dist/esm/enhancers/withPlaceholder.js +58 -59
- package/dist/esm/enhancers/withSitecore.js +40 -38
- package/dist/esm/index.js +29 -29
- package/dist/esm/rsc-utils/no-rsc.js +2 -2
- package/dist/esm/rsc-utils/rsc.js +2 -2
- package/dist/esm/search/index.js +2 -0
- package/dist/esm/search/useInfiniteSearch.js +132 -0
- package/dist/esm/search/useSearch.js +103 -0
- package/dist/esm/search/utils.js +30 -0
- package/dist/esm/server-actions/update-server-component-action.js +15 -0
- package/dist/esm/utils.js +33 -33
- package/global.d.ts +17 -0
- package/package.json +27 -11
- package/search.d.ts +1 -0
- package/types/components/ClientEditingChromesUpdate.d.ts +8 -6
- package/types/components/ClientEditingChromesUpdate.d.ts.map +1 -0
- package/types/components/Date.d.ts +25 -16
- package/types/components/Date.d.ts.map +1 -0
- package/types/components/DefaultEmptyFieldEditingComponents.d.ts +20 -9
- package/types/components/DefaultEmptyFieldEditingComponents.d.ts.map +1 -0
- package/types/components/DesignLibrary/DesignLibrary.d.ts +20 -0
- package/types/components/DesignLibrary/DesignLibrary.d.ts.map +1 -0
- package/types/components/DesignLibrary/DesignLibraryApp.d.ts +14 -0
- package/types/components/DesignLibrary/DesignLibraryApp.d.ts.map +1 -0
- package/types/components/DesignLibrary/DesignLibraryClientEvents.d.ts +21 -0
- package/types/components/DesignLibrary/DesignLibraryClientEvents.d.ts.map +1 -0
- package/types/components/DesignLibrary/DesignLibraryErrorBoundary.d.ts +19 -0
- package/types/components/DesignLibrary/DesignLibraryErrorBoundary.d.ts.map +1 -0
- package/types/components/DesignLibrary/DesignLibraryServer.d.ts +38 -0
- package/types/components/DesignLibrary/DesignLibraryServer.d.ts.map +1 -0
- package/types/components/DesignLibrary/index.d.ts +3 -0
- package/types/components/DesignLibrary/index.d.ts.map +1 -0
- package/types/components/DesignLibrary/models.d.ts +67 -0
- package/types/components/DesignLibrary/models.d.ts.map +1 -0
- package/types/components/EditingScripts.d.ts +9 -7
- package/types/components/EditingScripts.d.ts.map +1 -0
- package/types/components/ErrorBoundary.d.ts +29 -17
- package/types/components/ErrorBoundary.d.ts.map +1 -0
- package/types/components/FEaaS/BYOCServerWrapper.d.ts +10 -3
- package/types/components/FEaaS/BYOCServerWrapper.d.ts.map +1 -0
- package/types/components/FEaaS/BYOCWrapper.d.ts +29 -25
- package/types/components/FEaaS/BYOCWrapper.d.ts.map +1 -0
- package/types/components/FEaaS/FEaaSSeverWrapper.d.ts +10 -8
- package/types/components/FEaaS/FEaaSSeverWrapper.d.ts.map +1 -0
- package/types/components/FEaaS/FEaaSWrapper.d.ts +14 -7
- package/types/components/FEaaS/FEaaSWrapper.d.ts.map +1 -0
- package/types/components/FEaaS/feaas-utils.d.ts +24 -21
- package/types/components/FEaaS/feaas-utils.d.ts.map +1 -0
- package/types/components/FEaaS/index.d.ts +7 -6
- package/types/components/FEaaS/index.d.ts.map +1 -0
- package/types/components/FEaaS/models.d.ts +136 -125
- package/types/components/FEaaS/models.d.ts.map +1 -0
- package/types/components/FieldMetadata.d.ts +18 -17
- package/types/components/FieldMetadata.d.ts.map +1 -0
- package/types/components/File.d.ts +28 -18
- package/types/components/File.d.ts.map +1 -0
- package/types/components/Form.d.ts +35 -29
- package/types/components/Form.d.ts.map +1 -0
- package/types/components/HiddenRendering.d.ts +3 -2
- package/types/components/HiddenRendering.d.ts.map +1 -0
- package/types/components/Image.d.ts +70 -48
- package/types/components/Image.d.ts.map +1 -0
- package/types/components/Link.d.ts +45 -27
- package/types/components/Link.d.ts.map +1 -0
- package/types/components/MissingComponent.d.ts +9 -8
- package/types/components/MissingComponent.d.ts.map +1 -0
- package/types/components/Placeholder/AppPlaceholder.d.ts +12 -10
- package/types/components/Placeholder/AppPlaceholder.d.ts.map +1 -0
- package/types/components/Placeholder/ClientComponentWrapper.d.ts +10 -9
- package/types/components/Placeholder/ClientComponentWrapper.d.ts.map +1 -0
- package/types/components/Placeholder/Placeholder.d.ts +33 -28
- package/types/components/Placeholder/Placeholder.d.ts.map +1 -0
- package/types/components/Placeholder/PlaceholderMetadata.d.ts +35 -28
- package/types/components/Placeholder/PlaceholderMetadata.d.ts.map +1 -0
- package/types/components/Placeholder/index.d.ts +6 -5
- package/types/components/Placeholder/index.d.ts.map +1 -0
- package/types/components/Placeholder/models.d.ts +149 -140
- package/types/components/Placeholder/models.d.ts.map +1 -0
- package/types/components/Placeholder/placeholder-utils.d.ts +52 -53
- package/types/components/Placeholder/placeholder-utils.d.ts.map +1 -0
- package/types/components/RichText.d.ts +31 -17
- package/types/components/RichText.d.ts.map +1 -0
- package/types/components/SitecoreProvider.d.ts +68 -48
- package/types/components/SitecoreProvider.d.ts.map +1 -0
- package/types/components/Text.d.ts +29 -20
- package/types/components/Text.d.ts.map +1 -0
- package/types/components/sharedTypes/components.d.ts +50 -38
- package/types/components/sharedTypes/components.d.ts.map +1 -0
- package/types/components/sharedTypes/index.d.ts +3 -2
- package/types/components/sharedTypes/index.d.ts.map +1 -0
- package/types/components/sharedTypes/props.d.ts +15 -14
- package/types/components/sharedTypes/props.d.ts.map +1 -0
- package/types/enhancers/withAppPlaceholder.d.ts +16 -15
- package/types/enhancers/withAppPlaceholder.d.ts.map +1 -0
- package/types/enhancers/withComponentMap.d.ts +13 -12
- package/types/enhancers/withComponentMap.d.ts.map +1 -0
- package/types/enhancers/withDatasourceCheck.d.ts +23 -21
- package/types/enhancers/withDatasourceCheck.d.ts.map +1 -0
- package/types/enhancers/withEditorChromes.d.ts +8 -2
- package/types/enhancers/withEditorChromes.d.ts.map +1 -0
- package/types/enhancers/withEmptyFieldEditingComponent.d.ts +29 -27
- package/types/enhancers/withEmptyFieldEditingComponent.d.ts.map +1 -0
- package/types/enhancers/withFieldMetadata.d.ts +18 -16
- package/types/enhancers/withFieldMetadata.d.ts.map +1 -0
- package/types/enhancers/withLoadImportMap.d.ts +22 -0
- package/types/enhancers/withLoadImportMap.d.ts.map +1 -0
- package/types/enhancers/withPlaceholder.d.ts +37 -35
- package/types/enhancers/withPlaceholder.d.ts.map +1 -0
- package/types/enhancers/withSitecore.d.ts +63 -48
- package/types/enhancers/withSitecore.d.ts.map +1 -0
- package/types/index.d.ts +31 -30
- package/types/index.d.ts.map +1 -0
- package/types/rsc-utils/no-rsc.d.ts +2 -1
- package/types/rsc-utils/no-rsc.d.ts.map +1 -0
- package/types/rsc-utils/rsc.d.ts +2 -1
- package/types/rsc-utils/rsc.d.ts.map +1 -0
- package/types/search/index.d.ts +4 -0
- package/types/search/index.d.ts.map +1 -0
- package/types/search/useInfiniteSearch.d.ts +116 -0
- package/types/search/useInfiniteSearch.d.ts.map +1 -0
- package/types/search/useSearch.d.ts +107 -0
- package/types/search/useSearch.d.ts.map +1 -0
- package/types/search/utils.d.ts +19 -0
- package/types/search/utils.d.ts.map +1 -0
- package/types/server-actions/update-server-component-action.d.ts +25 -0
- package/types/server-actions/update-server-component-action.d.ts.map +1 -0
- package/types/utils.d.ts +18 -17
- package/types/utils.d.ts.map +1 -0
- package/types/components/DesignLibrary.d.ts +0 -26
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use server';
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.DesignLibraryServerPreview = exports.DesignLibraryServerVariantGeneration = exports.DesignLibraryServer = exports.__mockDependencies = void 0;
|
|
41
|
+
const react_1 = __importDefault(require("react"));
|
|
42
|
+
const layout_1 = require("@sitecore-content-sdk/core/layout");
|
|
43
|
+
const DesignLibraryClientEvents_1 = require("./DesignLibraryClientEvents");
|
|
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
|
+
const Placeholder_1 = require("../Placeholder");
|
|
48
|
+
const DesignLibraryErrorBoundary_1 = require("./DesignLibraryErrorBoundary");
|
|
49
|
+
const ErrorBoundary_1 = require("../ErrorBoundary");
|
|
50
|
+
let { getCacheAndClean, hasCache } = globalCache;
|
|
51
|
+
let { createComponentInstance, getImportMapInfo } = codegen;
|
|
52
|
+
let updateComponent = editing_1.updateComponent;
|
|
53
|
+
const __mockDependencies = async (mocks) => {
|
|
54
|
+
getCacheAndClean = mocks.getCacheAndClean;
|
|
55
|
+
hasCache = mocks.hasCache;
|
|
56
|
+
createComponentInstance = mocks.createComponentInstance;
|
|
57
|
+
if (mocks.updateComponent) {
|
|
58
|
+
updateComponent = mocks.updateComponent;
|
|
59
|
+
}
|
|
60
|
+
if (mocks.getImportMapInfo) {
|
|
61
|
+
getImportMapInfo = mocks.getImportMapInfo;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
exports.__mockDependencies = __mockDependencies;
|
|
65
|
+
/**
|
|
66
|
+
* Design Library component for rendering server components in app router application.
|
|
67
|
+
*
|
|
68
|
+
* Renders the **real** Sitecore component for `library` / `library-metadata` modes and,
|
|
69
|
+
* when generation is enabled (`page.mode.designLibrary.isVariantGeneration === true`),
|
|
70
|
+
* wires the **variant generation** handshake so the parent (Design Library) can send
|
|
71
|
+
* generated code to preview and iterate on.
|
|
72
|
+
* Also renders the DesignLibraryClientEvents component which serves as a communication bridge between DesignLibraryServer and the Design Studio on the client side.
|
|
73
|
+
* @param {DesignLibraryServerProps} props The props. {@link DesignLibraryServerProps}
|
|
74
|
+
* @returns {JSX.Element} The preview surface, or `null` when not in Design Library mode.
|
|
75
|
+
*/
|
|
76
|
+
const DesignLibraryServer = async ({ page, componentMap, rendering, loadServerImportMap, }) => {
|
|
77
|
+
var _a;
|
|
78
|
+
if (!page.mode.isDesignLibrary) {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
const isVariantGeneration = (_a = page.mode.designLibrary) === null || _a === void 0 ? void 0 : _a.isVariantGeneration;
|
|
82
|
+
if (isVariantGeneration) {
|
|
83
|
+
return (react_1.default.createElement(exports.DesignLibraryServerVariantGeneration, { page: page, rendering: rendering, loadServerImportMap: loadServerImportMap, componentMap: componentMap }));
|
|
84
|
+
}
|
|
85
|
+
return (react_1.default.createElement(exports.DesignLibraryServerPreview, { page: page, rendering: rendering, componentMap: componentMap }));
|
|
86
|
+
};
|
|
87
|
+
exports.DesignLibraryServer = DesignLibraryServer;
|
|
88
|
+
/**
|
|
89
|
+
* Design Library component for rendering server components in app router application in variant generation mode.
|
|
90
|
+
*
|
|
91
|
+
* Renders the **real** Sitecore component for `library` / `library-metadata` modes on first render and,
|
|
92
|
+
* wires the **variant generation** handshake so the parent (Design Library) can send
|
|
93
|
+
* generated code to preview and iterate on.
|
|
94
|
+
* Also renders the DesignLibraryVariantGenerationEvents component which serves as a communication bridge between DesignLibraryServer and the Design Studio on the client side.
|
|
95
|
+
* @param {DesignLibraryServerVariantGenerationProps} props The props. {@link DesignLibraryServerVariantGenerationProps}
|
|
96
|
+
* @returns {JSX.Element} The preview surface, or `null` when not in Design Library mode.
|
|
97
|
+
*/
|
|
98
|
+
const DesignLibraryServerVariantGeneration = async ({ page, rendering, loadServerImportMap, componentMap, }) => {
|
|
99
|
+
var _a, _b;
|
|
100
|
+
let designLibraryStatus = editing_1.DesignLibraryStatus.READY;
|
|
101
|
+
let importMap;
|
|
102
|
+
let importMapInfo;
|
|
103
|
+
let Component;
|
|
104
|
+
let importMapError;
|
|
105
|
+
let previewComponentData;
|
|
106
|
+
// load importmap and importmap payload to pass to FE
|
|
107
|
+
// if not provided, or errors during load set error to pass to FE
|
|
108
|
+
if (!loadServerImportMap) {
|
|
109
|
+
importMapError = 'No loadImportMap provided';
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
try {
|
|
113
|
+
const mod = await loadServerImportMap();
|
|
114
|
+
importMap = mod.default;
|
|
115
|
+
importMapInfo = getImportMapInfo(importMap);
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
importMapError = `Error loading import map: ${e}`;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
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];
|
|
122
|
+
if (!componentToUpdate)
|
|
123
|
+
return react_1.default.createElement(ErrorBoundary_1.ErrorComponent, { message: "Rendering data is missing" });
|
|
124
|
+
if (!componentToUpdate.uid)
|
|
125
|
+
return react_1.default.createElement(ErrorBoundary_1.ErrorComponent, { message: "Rendering UID is missing in the rendering data" });
|
|
126
|
+
const uid = componentToUpdate.uid;
|
|
127
|
+
const componentUpdateKey = `${editing_1.COMPONENT_UPDATE_CACHE_KEY_PREFIX}${uid}`;
|
|
128
|
+
// check if we have an update for this component in the global cache
|
|
129
|
+
if (hasCache(componentUpdateKey)) {
|
|
130
|
+
// we have an update, get it and clean the cache
|
|
131
|
+
designLibraryStatus = editing_1.DesignLibraryStatus.RENDERED;
|
|
132
|
+
const updateData = getCacheAndClean(componentUpdateKey);
|
|
133
|
+
// apply the updates to the component rendering
|
|
134
|
+
if (updateData === null || updateData === void 0 ? void 0 : updateData.updatedComponent) {
|
|
135
|
+
updateComponent(componentToUpdate, updateData.updatedComponent.fields, updateData.updatedComponent.params);
|
|
136
|
+
}
|
|
137
|
+
if ((updateData === null || updateData === void 0 ? void 0 : updateData.previewComponent) && !importMapError && importMap) {
|
|
138
|
+
previewComponentData = updateData.previewComponent;
|
|
139
|
+
try {
|
|
140
|
+
// use provided code and import map to create the component instance
|
|
141
|
+
Component = createComponentInstance(importMap, updateData.previewComponent);
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
// error during component initialization - send error to client
|
|
145
|
+
importMapError = error.toString();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
150
|
+
Component ? (react_1.default.createElement(DesignLibraryErrorBoundary_1.DesignLibraryErrorBoundary, { uid: componentToUpdate.uid },
|
|
151
|
+
react_1.default.createElement(Placeholder_1.PlaceholderMetadata, { rendering: componentToUpdate },
|
|
152
|
+
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() })),
|
|
153
|
+
react_1.default.createElement(DesignLibraryClientEvents_1.DesignLibraryVariantGenerationEvents, { designLibraryStatus: designLibraryStatus, importMap: importMapInfo,
|
|
154
|
+
// pass a new object since we have mutated the original which leads to old reference passed to the client
|
|
155
|
+
component: Object.assign({}, componentToUpdate), importMapError: importMapError, previewComponentData: previewComponentData })));
|
|
156
|
+
};
|
|
157
|
+
exports.DesignLibraryServerVariantGeneration = DesignLibraryServerVariantGeneration;
|
|
158
|
+
/**
|
|
159
|
+
* Design Library component for rendering server components in app router application when variant generation is not enabled.
|
|
160
|
+
*
|
|
161
|
+
* Renders the **real** Sitecore component for `library` / `library-metadata` modes and,
|
|
162
|
+
* wires the **component update** handshake so the parent (Design Library) can send
|
|
163
|
+
* updated component props.
|
|
164
|
+
* Also renders the DesignLibraryPreviewEvents component which serves as a communication bridge between DesignLibraryServer and the Design Studio on the client side.
|
|
165
|
+
* @param {DesignLibraryServerPreviewProps} props The props. {@link DesignLibraryServerPreviewProps}
|
|
166
|
+
* @returns {JSX.Element} The preview surface, or `null` when not in Design Library mode.
|
|
167
|
+
*/
|
|
168
|
+
const DesignLibraryServerPreview = async ({ page, rendering, componentMap, }) => {
|
|
169
|
+
var _a, _b;
|
|
170
|
+
let designLibraryStatus = editing_1.DesignLibraryStatus.READY;
|
|
171
|
+
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];
|
|
172
|
+
if (!componentToUpdate)
|
|
173
|
+
return react_1.default.createElement(ErrorBoundary_1.ErrorComponent, { message: "Rendering data is missing" });
|
|
174
|
+
if (!componentToUpdate.uid)
|
|
175
|
+
return react_1.default.createElement(ErrorBoundary_1.ErrorComponent, { message: "Rendering UID is missing in the rendering data" });
|
|
176
|
+
const componentUpdateKey = `${editing_1.COMPONENT_UPDATE_CACHE_KEY_PREFIX}${componentToUpdate.uid}`;
|
|
177
|
+
// check if we have an update for this component in the global cache
|
|
178
|
+
if (hasCache(componentUpdateKey)) {
|
|
179
|
+
// we have an update, get it and clean the cache
|
|
180
|
+
designLibraryStatus = editing_1.DesignLibraryStatus.RENDERED;
|
|
181
|
+
const updateData = getCacheAndClean(componentUpdateKey);
|
|
182
|
+
// apply the updates to the component rendering
|
|
183
|
+
if (updateData === null || updateData === void 0 ? void 0 : updateData.updatedComponent) {
|
|
184
|
+
updateComponent(componentToUpdate, updateData.updatedComponent.fields, updateData.updatedComponent.params);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
188
|
+
react_1.default.createElement(Placeholder_1.AppPlaceholder, { name: layout_1.EDITING_COMPONENT_PLACEHOLDER, page: page, rendering: rendering, componentMap: componentMap }),
|
|
189
|
+
react_1.default.createElement(DesignLibraryClientEvents_1.DesignLibraryPreviewEvents, { designLibraryStatus: designLibraryStatus,
|
|
190
|
+
// pass a new object since we have mutated the original which leads to old reference passed to the client
|
|
191
|
+
component: Object.assign({}, componentToUpdate) })));
|
|
192
|
+
};
|
|
193
|
+
exports.DesignLibraryServerPreview = DesignLibraryServerPreview;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DesignLibraryApp = exports.DesignLibrary = void 0;
|
|
4
|
+
var DesignLibrary_1 = require("./DesignLibrary");
|
|
5
|
+
Object.defineProperty(exports, "DesignLibrary", { enumerable: true, get: function () { return DesignLibrary_1.DesignLibrary; } });
|
|
6
|
+
var DesignLibraryApp_1 = require("./DesignLibraryApp");
|
|
7
|
+
Object.defineProperty(exports, "DesignLibraryApp", { enumerable: true, get: function () { return DesignLibraryApp_1.DesignLibraryApp; } });
|
|
@@ -1,43 +1,44 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
'use client';
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.EditingScripts = void 0;
|
|
8
|
-
const react_1 = __importDefault(require("react"));
|
|
9
|
-
const withSitecore_1 = require("../enhancers/withSitecore");
|
|
10
|
-
const editing_1 = require("@sitecore-content-sdk/core/editing");
|
|
11
|
-
const editing_2 = require("@sitecore-content-sdk/core/editing");
|
|
12
|
-
/**
|
|
13
|
-
* Renders client scripts and data for editing/preview mode for Pages.
|
|
14
|
-
* Renders script required for the Design Library (when mode.isDesignLibrary is true).
|
|
15
|
-
* @returns A JSX element containing the editing scripts or an empty fragment if not in editing/preview mode.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const {
|
|
21
|
-
|
|
22
|
-
if
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
};
|
|
43
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.EditingScripts = void 0;
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const withSitecore_1 = require("../enhancers/withSitecore");
|
|
10
|
+
const editing_1 = require("@sitecore-content-sdk/core/editing");
|
|
11
|
+
const editing_2 = require("@sitecore-content-sdk/core/editing");
|
|
12
|
+
/**
|
|
13
|
+
* Renders client scripts and data for editing/preview mode for Pages.
|
|
14
|
+
* Renders script required for the Design Library (when mode.isDesignLibrary is true).
|
|
15
|
+
* @returns A JSX element containing the editing scripts or an empty fragment if not in editing/preview mode.
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
const EditingScripts = () => {
|
|
19
|
+
var _a;
|
|
20
|
+
const { page: { mode, layout }, api, } = (0, withSitecore_1.useSitecore)();
|
|
21
|
+
const { clientData, clientScripts } = layout.sitecore.context;
|
|
22
|
+
// Don't render anything if not in editing mode and rendering type is not component
|
|
23
|
+
if (mode.isNormal || mode.isPreview) {
|
|
24
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
25
|
+
}
|
|
26
|
+
// In case of Design Library - render only the script for Design Library
|
|
27
|
+
if (mode.isDesignLibrary) {
|
|
28
|
+
// Add cache buster to the script URL (format hh-dd-mm-yyyy, UTC)
|
|
29
|
+
const now = new Date();
|
|
30
|
+
const hour = String(now.getUTCHours()).padStart(2, '0');
|
|
31
|
+
const day = String(now.getUTCDate()).padStart(2, '0');
|
|
32
|
+
const month = String(now.getUTCMonth() + 1).padStart(2, '0');
|
|
33
|
+
const year = String(now.getUTCFullYear());
|
|
34
|
+
const cacheTimestamp = `${hour}-${day}-${month}-${year}`;
|
|
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}`;
|
|
36
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
37
|
+
react_1.default.createElement("script", { src: scriptUrl, suppressHydrationWarning: true })));
|
|
38
|
+
}
|
|
39
|
+
const contentSdkClientData = Object.assign(Object.assign({}, clientData), (0, editing_1.getContentSdkPagesClientData)());
|
|
40
|
+
return (react_1.default.createElement(react_1.default.Fragment, null, clientScripts === null || clientScripts === void 0 ? void 0 :
|
|
41
|
+
clientScripts.map((src, index) => (react_1.default.createElement("script", { src: src, key: index }))),
|
|
42
|
+
Object.keys(contentSdkClientData).map((id) => (react_1.default.createElement("script", { key: id, id: id, type: "application/json", dangerouslySetInnerHTML: { __html: JSON.stringify(contentSdkClientData[id]) } })))));
|
|
43
|
+
};
|
|
44
|
+
exports.EditingScripts = EditingScripts;
|
|
@@ -1,92 +1,101 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
'use client';
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.ErrorComponent = void 0;
|
|
38
|
+
const react_1 = __importStar(require("react"));
|
|
39
|
+
const withSitecore_1 = require("../enhancers/withSitecore");
|
|
40
|
+
/**
|
|
41
|
+
* Simple error component applying basic error styling.
|
|
42
|
+
* @param {object} props - Either with `message` (string) or with `children` (ReactNode), but not both.
|
|
43
|
+
*/
|
|
44
|
+
const ErrorComponent = (props) => {
|
|
45
|
+
return (react_1.default.createElement("div", { className: "sc-content-sdk-placeholder-error" }, props.message ? props.message : props.children));
|
|
46
|
+
};
|
|
47
|
+
exports.ErrorComponent = ErrorComponent;
|
|
48
|
+
class ErrorBoundary extends react_1.default.Component {
|
|
49
|
+
constructor(props) {
|
|
50
|
+
super(props);
|
|
51
|
+
this.defaultErrorMessage = 'There was a problem loading this section.';
|
|
52
|
+
this.defaultLoadingMessage = 'Loading component...';
|
|
53
|
+
this.state = { error: null };
|
|
54
|
+
}
|
|
55
|
+
static getDerivedStateFromError(error) {
|
|
56
|
+
return { error: error };
|
|
57
|
+
}
|
|
58
|
+
componentDidCatch(error, errorInfo) {
|
|
59
|
+
var _a, _b;
|
|
60
|
+
if (this.showErrorDetails()) {
|
|
61
|
+
console.error(`An error occurred in component ${(_a = this.props.rendering) === null || _a === void 0 ? void 0 : _a.componentName} (${(_b = this.props.rendering) === null || _b === void 0 ? void 0 : _b.uid}): `);
|
|
62
|
+
}
|
|
63
|
+
console.error({ error, errorInfo });
|
|
64
|
+
}
|
|
65
|
+
isInDevMode() {
|
|
66
|
+
return process.env.NODE_ENV === 'development';
|
|
67
|
+
}
|
|
68
|
+
showErrorDetails() {
|
|
69
|
+
return this.isInDevMode() || this.props.page.mode.isEditing || this.props.page.mode.isPreview;
|
|
70
|
+
}
|
|
71
|
+
render() {
|
|
72
|
+
var _a;
|
|
73
|
+
if (this.state.error) {
|
|
74
|
+
if (this.props.errorComponent) {
|
|
75
|
+
return react_1.default.createElement(this.props.errorComponent, { error: this.state.error });
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
if (this.showErrorDetails()) {
|
|
79
|
+
return (react_1.default.createElement("div", null,
|
|
80
|
+
react_1.default.createElement(exports.ErrorComponent, null,
|
|
81
|
+
"A rendering error occurred in component",
|
|
82
|
+
' ',
|
|
83
|
+
react_1.default.createElement("em", null, (_a = this.props.rendering) === null || _a === void 0 ? void 0 : _a.componentName),
|
|
84
|
+
react_1.default.createElement("br", null),
|
|
85
|
+
"Error: ",
|
|
86
|
+
react_1.default.createElement("em", null, this.state.error.message || JSON.stringify(this.state.error)))));
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return (react_1.default.createElement("div", null,
|
|
90
|
+
react_1.default.createElement(exports.ErrorComponent, { message: this.defaultErrorMessage })));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// do not apply suspense when suspense is disabled or when on already dynamic components
|
|
95
|
+
if (this.props.disableSuspense || this.props.isDynamic) {
|
|
96
|
+
return this.props.children;
|
|
97
|
+
}
|
|
98
|
+
return (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("h4", null, this.props.componentLoadingMessage || this.defaultLoadingMessage) }, this.props.children));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
exports.default = (0, withSitecore_1.withSitecore)()(ErrorBoundary);
|
|
@@ -1,28 +1,25 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return react_1.default.createElement(BYOCWrapper_1.BYOCWrapper, Object.assign({}, finalProps));
|
|
27
|
-
});
|
|
28
|
-
exports.BYOCServerWrapper = BYOCServerWrapper;
|
|
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.BYOCServerWrapper = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const feaas_utils_1 = require("./feaas-utils");
|
|
9
|
+
const BYOCWrapper_1 = require("./BYOCWrapper");
|
|
10
|
+
const models_1 = require("../Placeholder/models");
|
|
11
|
+
/**
|
|
12
|
+
* Server component for BYOC. Retrieves server props and renders client BYOCWrapper.
|
|
13
|
+
* @param {BYOCServerWrapperProps} props incoming props
|
|
14
|
+
* @returns rendered BYOCWrapper component
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
const BYOCServerWrapper = async (props) => {
|
|
18
|
+
var _a;
|
|
19
|
+
const params = ((_a = props.rendering) === null || _a === void 0 ? void 0 : _a.params) || {};
|
|
20
|
+
// only pass serializable props to the client BYOC component
|
|
21
|
+
const serializableProps = Object.fromEntries(Object.entries(props).filter(([key]) => !models_1.nonSerializedPlaceholderProps.includes(key)));
|
|
22
|
+
const finalProps = Object.assign(Object.assign({}, (await (0, feaas_utils_1.fetchBYOCComponentServerProps)(params))), serializableProps);
|
|
23
|
+
return react_1.default.createElement(BYOCWrapper_1.BYOCWrapper, Object.assign({}, finalProps));
|
|
24
|
+
};
|
|
25
|
+
exports.BYOCServerWrapper = BYOCServerWrapper;
|