@sitecore-content-sdk/nextjs 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/client/index.js +10 -10
- package/dist/cjs/client/models.js +2 -2
- package/dist/cjs/client/sitecore-nextjs-client.js +160 -156
- package/dist/cjs/components/BYOCWrapper.js +31 -30
- package/dist/cjs/components/ComponentPropsContext.js +66 -59
- package/dist/cjs/components/FEaaSWrapper.js +33 -32
- package/dist/cjs/components/Link.js +117 -90
- package/dist/cjs/components/NextImage.js +66 -62
- package/dist/cjs/components/Placeholder.js +55 -50
- package/dist/cjs/components/RichText.js +133 -128
- package/dist/cjs/config/define-config.js +26 -25
- package/dist/cjs/config/index.js +5 -5
- package/dist/cjs/config-cli/define-cli-config.js +40 -39
- package/dist/cjs/config-cli/index.js +5 -5
- package/dist/cjs/editing/codegen/import-map.js +129 -118
- package/dist/cjs/editing/codegen/index.js +6 -6
- package/dist/cjs/editing/constants.js +10 -10
- package/dist/cjs/editing/editing-config-middleware.js +70 -69
- package/dist/cjs/editing/editing-render-middleware.js +145 -144
- package/dist/cjs/editing/feaas-render-middleware.js +102 -101
- package/dist/cjs/editing/index.js +19 -19
- package/dist/cjs/editing/render-middleware.js +46 -46
- package/dist/cjs/editing/utils.js +260 -257
- package/dist/cjs/index.js +132 -131
- package/dist/cjs/middleware/app-router-multisite-middleware.js +41 -20
- package/dist/cjs/middleware/index.js +30 -30
- package/dist/cjs/middleware/locale-middleware.js +85 -84
- package/dist/cjs/middleware/middleware.js +195 -192
- package/dist/cjs/middleware/multisite-middleware.js +141 -118
- package/dist/cjs/middleware/personalize-middleware.js +240 -236
- package/dist/cjs/middleware/redirects-middleware.js +323 -297
- package/dist/cjs/middleware/robots-middleware.js +45 -44
- package/dist/cjs/middleware/sitemap-middleware.js +50 -49
- package/dist/cjs/monitoring/healthcheck-middleware.js +31 -30
- package/dist/cjs/monitoring/index.js +5 -5
- package/dist/cjs/route-handler/editing-config-route-handler.js +110 -106
- package/dist/cjs/route-handler/editing-render-route-handler.js +270 -165
- package/dist/cjs/route-handler/index.js +11 -11
- package/dist/cjs/route-handler/robots-route-handler.js +69 -68
- package/dist/cjs/route-handler/sitemap-route-handler.js +66 -65
- package/dist/cjs/search/index.js +17 -0
- package/dist/cjs/services/component-props-service.js +142 -138
- package/dist/cjs/sharedTypes/component-props.js +2 -2
- package/dist/cjs/sharedTypes/sitecore-page-props.js +2 -2
- package/dist/cjs/site/index.js +5 -5
- package/dist/cjs/tools/codegen/import-map.js +15 -0
- package/dist/cjs/tools/component-props.loader.js +95 -95
- package/dist/cjs/tools/generate-map.js +317 -317
- package/dist/cjs/tools/index.js +14 -13
- package/dist/cjs/tools/templating/byoc-component.js +36 -36
- package/dist/cjs/tools/templating/constants.js +7 -7
- package/dist/cjs/tools/templating/default-component.js +35 -35
- package/dist/cjs/tools/templating/utils.js +200 -0
- package/dist/cjs/utils/index.js +14 -14
- package/dist/cjs/utils/utils.js +82 -73
- package/dist/esm/client/index.js +2 -2
- package/dist/esm/client/models.js +1 -1
- package/dist/esm/client/sitecore-nextjs-client.js +156 -152
- package/dist/esm/components/BYOCWrapper.js +27 -26
- package/dist/esm/components/ComponentPropsContext.js +28 -21
- package/dist/esm/components/FEaaSWrapper.js +29 -28
- package/dist/esm/components/Link.js +78 -51
- package/dist/esm/components/NextImage.js +60 -56
- package/dist/esm/components/Placeholder.js +18 -13
- package/dist/esm/components/RichText.js +96 -91
- package/dist/esm/config/define-config.js +21 -20
- package/dist/esm/config/index.js +1 -1
- package/dist/esm/config-cli/define-cli-config.js +36 -35
- package/dist/esm/config-cli/index.js +1 -1
- package/dist/esm/editing/codegen/import-map.js +92 -81
- package/dist/esm/editing/codegen/index.js +1 -1
- package/dist/esm/editing/constants.js +7 -7
- package/dist/esm/editing/editing-config-middleware.js +66 -65
- package/dist/esm/editing/editing-render-middleware.js +141 -140
- package/dist/esm/editing/feaas-render-middleware.js +98 -97
- package/dist/esm/editing/index.js +6 -6
- package/dist/esm/editing/render-middleware.js +42 -42
- package/dist/esm/editing/utils.js +246 -243
- package/dist/esm/index.js +25 -25
- package/dist/esm/middleware/app-router-multisite-middleware.js +37 -16
- package/dist/esm/middleware/index.js +11 -11
- package/dist/esm/middleware/locale-middleware.js +81 -80
- package/dist/esm/middleware/middleware.js +189 -186
- package/dist/esm/middleware/multisite-middleware.js +137 -114
- package/dist/esm/middleware/personalize-middleware.js +236 -232
- package/dist/esm/middleware/redirects-middleware.js +316 -290
- package/dist/esm/middleware/robots-middleware.js +41 -40
- package/dist/esm/middleware/sitemap-middleware.js +46 -45
- package/dist/esm/monitoring/healthcheck-middleware.js +27 -26
- package/dist/esm/monitoring/index.js +1 -1
- package/dist/esm/route-handler/editing-config-route-handler.js +106 -102
- package/dist/esm/route-handler/editing-render-route-handler.js +265 -160
- package/dist/esm/route-handler/index.js +4 -4
- package/dist/esm/route-handler/robots-route-handler.js +65 -64
- package/dist/esm/route-handler/sitemap-route-handler.js +63 -62
- package/dist/esm/search/index.js +1 -0
- package/dist/esm/services/component-props-service.js +135 -131
- package/dist/esm/sharedTypes/component-props.js +1 -1
- package/dist/esm/sharedTypes/sitecore-page-props.js +1 -1
- package/dist/esm/site/index.js +1 -1
- package/dist/esm/tools/codegen/import-map.js +11 -0
- package/dist/esm/tools/component-props.loader.js +59 -59
- package/dist/esm/tools/generate-map.js +279 -279
- package/dist/esm/tools/index.js +3 -2
- package/dist/esm/tools/templating/byoc-component.js +30 -30
- package/dist/esm/tools/templating/constants.js +4 -4
- package/dist/esm/tools/templating/default-component.js +29 -29
- package/dist/esm/tools/templating/utils.js +190 -0
- package/dist/esm/utils/index.js +3 -3
- package/dist/esm/utils/utils.js +74 -65
- package/package.json +87 -13
- package/search.d.ts +1 -0
- package/types/client/index.d.ts +3 -2
- package/types/client/index.d.ts.map +1 -0
- package/types/client/models.d.ts +9 -8
- package/types/client/models.d.ts.map +1 -0
- package/types/client/sitecore-nextjs-client.d.ts +68 -63
- package/types/client/sitecore-nextjs-client.d.ts.map +1 -0
- package/types/components/BYOCWrapper.d.ts +16 -14
- package/types/components/BYOCWrapper.d.ts.map +1 -0
- package/types/components/ComponentPropsContext.d.ts +30 -18
- package/types/components/ComponentPropsContext.d.ts.map +1 -0
- package/types/components/FEaaSWrapper.d.ts +17 -15
- package/types/components/FEaaSWrapper.d.ts.map +1 -0
- package/types/components/Link.d.ts +25 -15
- package/types/components/Link.d.ts.map +1 -0
- package/types/components/NextImage.d.ts +11 -6
- package/types/components/NextImage.d.ts.map +1 -0
- package/types/components/Placeholder.d.ts +14 -8
- package/types/components/Placeholder.d.ts.map +1 -0
- package/types/components/RichText.d.ts +35 -25
- package/types/components/RichText.d.ts.map +1 -0
- package/types/config/define-config.d.ts +42 -38
- package/types/config/define-config.d.ts.map +1 -0
- package/types/config/index.d.ts +2 -1
- package/types/config/index.d.ts.map +1 -0
- package/types/config-cli/define-cli-config.d.ts +10 -8
- package/types/config-cli/define-cli-config.d.ts.map +1 -0
- package/types/config-cli/index.d.ts +2 -1
- package/types/config-cli/index.d.ts.map +1 -0
- package/types/editing/codegen/import-map.d.ts +15 -3
- package/types/editing/codegen/import-map.d.ts.map +1 -0
- package/types/editing/codegen/index.d.ts +3 -2
- package/types/editing/codegen/index.d.ts.map +1 -0
- package/types/editing/constants.d.ts +8 -7
- package/types/editing/constants.d.ts.map +1 -0
- package/types/editing/editing-config-middleware.d.ts +37 -31
- package/types/editing/editing-config-middleware.d.ts.map +1 -0
- package/types/editing/editing-render-middleware.d.ts +47 -44
- package/types/editing/editing-render-middleware.d.ts.map +1 -0
- package/types/editing/feaas-render-middleware.d.ts +35 -32
- package/types/editing/feaas-render-middleware.d.ts.map +1 -0
- package/types/editing/index.d.ts +7 -6
- package/types/editing/index.d.ts.map +1 -0
- package/types/editing/render-middleware.d.ts +26 -25
- package/types/editing/render-middleware.d.ts.map +1 -0
- package/types/editing/utils.d.ts +110 -106
- package/types/editing/utils.d.ts.map +1 -0
- package/types/index.d.ts +25 -24
- package/types/index.d.ts.map +1 -0
- package/types/middleware/app-router-multisite-middleware.d.ts +28 -13
- package/types/middleware/app-router-multisite-middleware.d.ts.map +1 -0
- package/types/middleware/index.d.ts +12 -11
- package/types/middleware/index.d.ts.map +1 -0
- package/types/middleware/locale-middleware.d.ts +35 -32
- package/types/middleware/locale-middleware.d.ts.map +1 -0
- package/types/middleware/middleware.d.ts +135 -127
- package/types/middleware/middleware.d.ts.map +1 -0
- package/types/middleware/multisite-middleware.d.ts +54 -37
- package/types/middleware/multisite-middleware.d.ts.map +1 -0
- package/types/middleware/personalize-middleware.d.ts +81 -65
- package/types/middleware/personalize-middleware.d.ts.map +1 -0
- package/types/middleware/redirects-middleware.d.ts +68 -65
- package/types/middleware/redirects-middleware.d.ts.map +1 -0
- package/types/middleware/robots-middleware.d.ts +15 -13
- package/types/middleware/robots-middleware.d.ts.map +1 -0
- package/types/middleware/sitemap-middleware.d.ts +16 -14
- package/types/middleware/sitemap-middleware.d.ts.map +1 -0
- package/types/monitoring/healthcheck-middleware.d.ts +14 -12
- package/types/monitoring/healthcheck-middleware.d.ts.map +1 -0
- package/types/monitoring/index.d.ts +2 -1
- package/types/monitoring/index.d.ts.map +1 -0
- package/types/route-handler/editing-config-route-handler.d.ts +30 -24
- package/types/route-handler/editing-config-route-handler.d.ts.map +1 -0
- package/types/route-handler/editing-render-route-handler.d.ts +33 -25
- package/types/route-handler/editing-render-route-handler.d.ts.map +1 -0
- package/types/route-handler/index.d.ts +5 -4
- package/types/route-handler/index.d.ts.map +1 -0
- package/types/route-handler/robots-route-handler.d.ts +30 -28
- package/types/route-handler/robots-route-handler.d.ts.map +1 -0
- package/types/route-handler/sitemap-route-handler.d.ts +30 -28
- package/types/route-handler/sitemap-route-handler.d.ts.map +1 -0
- package/types/search/index.d.ts +2 -0
- package/types/search/index.d.ts.map +1 -0
- package/types/services/component-props-service.d.ts +62 -57
- package/types/services/component-props-service.d.ts.map +1 -0
- package/types/sharedTypes/component-props.d.ts +62 -47
- package/types/sharedTypes/component-props.d.ts.map +1 -0
- package/types/sharedTypes/sitecore-page-props.d.ts +14 -9
- package/types/sharedTypes/sitecore-page-props.d.ts.map +1 -0
- package/types/site/index.d.ts +2 -1
- package/types/site/index.d.ts.map +1 -0
- package/types/tools/codegen/import-map.d.ts +10 -0
- package/types/tools/codegen/import-map.d.ts.map +1 -0
- package/types/tools/component-props.loader.d.ts +8 -7
- package/types/tools/component-props.loader.d.ts.map +1 -0
- package/types/tools/generate-map.d.ts +26 -24
- package/types/tools/generate-map.d.ts.map +1 -0
- package/types/tools/index.d.ts +4 -2
- package/types/tools/index.d.ts.map +1 -0
- package/types/tools/templating/byoc-component.d.ts +3 -2
- package/types/tools/templating/byoc-component.d.ts.map +1 -0
- package/types/tools/templating/constants.d.ts +5 -4
- package/types/tools/templating/constants.d.ts.map +1 -0
- package/types/tools/templating/default-component.d.ts +3 -2
- package/types/tools/templating/default-component.d.ts.map +1 -0
- package/types/tools/templating/utils.d.ts +44 -0
- package/types/tools/templating/utils.d.ts.map +1 -0
- package/types/utils/index.d.ts +4 -3
- package/types/utils/index.d.ts.map +1 -0
- package/types/utils/utils.d.ts +34 -24
- package/types/utils/utils.d.ts.map +1 -0
- package/client.js +0 -1
- package/codegen.js +0 -1
- package/config-cli.js +0 -1
- package/config.js +0 -1
- package/editing.js +0 -1
- package/middleware.js +0 -1
- package/monitoring.js +0 -1
- package/route-handler.js +0 -1
- package/site.js +0 -1
- package/tools.js +0 -1
- package/utils.js +0 -1
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# Sitecore Content SDK for Next.js
|
|
2
|
-
|
|
3
|
-
This module is provided as a part of Sitecore Content SDK. It contains Next.js components and integration for Sitecore Content SDK.
|
|
4
|
-
|
|
5
|
-
<!---
|
|
6
|
-
@TODO: Update link with appropriate page when avaiable
|
|
7
|
-
-->
|
|
8
|
-
|
|
9
|
-
[Documentation](https://doc.sitecore.com/xmc/en/developers/content-sdk/creating-a-content-sdk-app.html)
|
|
10
|
-
|
|
11
|
-
[API reference documentation](/ref-docs/nextjs/)
|
|
1
|
+
# Sitecore Content SDK for Next.js
|
|
2
|
+
|
|
3
|
+
This module is provided as a part of Sitecore Content SDK. It contains Next.js components and integration for Sitecore Content SDK.
|
|
4
|
+
|
|
5
|
+
<!---
|
|
6
|
+
@TODO: Update link with appropriate page when avaiable
|
|
7
|
+
-->
|
|
8
|
+
|
|
9
|
+
[Documentation](https://doc.sitecore.com/xmc/en/developers/content-sdk/creating-a-content-sdk-app.html)
|
|
10
|
+
|
|
11
|
+
[API reference documentation](/ref-docs/nextjs/)
|
package/dist/cjs/client/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SitecoreClient = exports.createGraphQLClientFactory = exports.getEdgeProxyContentUrl = exports.GraphQLRequestClient = exports.DefaultRetryStrategy = void 0;
|
|
4
|
-
var client_1 = require("@sitecore-content-sdk/core/client");
|
|
5
|
-
Object.defineProperty(exports, "DefaultRetryStrategy", { enumerable: true, get: function () { return client_1.DefaultRetryStrategy; } });
|
|
6
|
-
Object.defineProperty(exports, "GraphQLRequestClient", { enumerable: true, get: function () { return client_1.GraphQLRequestClient; } });
|
|
7
|
-
Object.defineProperty(exports, "getEdgeProxyContentUrl", { enumerable: true, get: function () { return client_1.getEdgeProxyContentUrl; } });
|
|
8
|
-
Object.defineProperty(exports, "createGraphQLClientFactory", { enumerable: true, get: function () { return client_1.createGraphQLClientFactory; } });
|
|
9
|
-
var sitecore_nextjs_client_1 = require("./sitecore-nextjs-client");
|
|
10
|
-
Object.defineProperty(exports, "SitecoreClient", { enumerable: true, get: function () { return sitecore_nextjs_client_1.SitecoreNextjsClient; } });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SitecoreClient = exports.createGraphQLClientFactory = exports.getEdgeProxyContentUrl = exports.GraphQLRequestClient = exports.DefaultRetryStrategy = void 0;
|
|
4
|
+
var client_1 = require("@sitecore-content-sdk/core/client");
|
|
5
|
+
Object.defineProperty(exports, "DefaultRetryStrategy", { enumerable: true, get: function () { return client_1.DefaultRetryStrategy; } });
|
|
6
|
+
Object.defineProperty(exports, "GraphQLRequestClient", { enumerable: true, get: function () { return client_1.GraphQLRequestClient; } });
|
|
7
|
+
Object.defineProperty(exports, "getEdgeProxyContentUrl", { enumerable: true, get: function () { return client_1.getEdgeProxyContentUrl; } });
|
|
8
|
+
Object.defineProperty(exports, "createGraphQLClientFactory", { enumerable: true, get: function () { return client_1.createGraphQLClientFactory; } });
|
|
9
|
+
var sitecore_nextjs_client_1 = require("./sitecore-nextjs-client");
|
|
10
|
+
Object.defineProperty(exports, "SitecoreClient", { enumerable: true, get: function () { return sitecore_nextjs_client_1.SitecoreNextjsClient; } });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,156 +1,160 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SitecoreNextjsClient = void 0;
|
|
13
|
-
const client_1 = require("@sitecore-content-sdk/core/client");
|
|
14
|
-
const component_props_service_1 = require("../services/component-props-service");
|
|
15
|
-
const site_1 = require("@sitecore-content-sdk/core/site");
|
|
16
|
-
const personalize_1 = require("@sitecore-content-sdk/core/personalize");
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
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
|
-
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
componentProps =
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
.
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SitecoreNextjsClient = void 0;
|
|
13
|
+
const client_1 = require("@sitecore-content-sdk/core/client");
|
|
14
|
+
const component_props_service_1 = require("../services/component-props-service");
|
|
15
|
+
const site_1 = require("@sitecore-content-sdk/core/site");
|
|
16
|
+
const personalize_1 = require("@sitecore-content-sdk/core/personalize");
|
|
17
|
+
/**
|
|
18
|
+
* The SitecoreNextjsClient class extends the SitecoreClient class to provide additional functionality for Next.js.
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
class SitecoreNextjsClient extends client_1.SitecoreClient {
|
|
22
|
+
constructor(initOptions) {
|
|
23
|
+
super(initOptions);
|
|
24
|
+
this.initOptions = initOptions;
|
|
25
|
+
this.componentPropsService = this.getComponentPropsService();
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Gets site name based on the provided path
|
|
29
|
+
* @param {string | string[]} path path to get site name from
|
|
30
|
+
* @returns site name, or default site info if not found
|
|
31
|
+
*/
|
|
32
|
+
getSiteNameFromPath(path) {
|
|
33
|
+
const resolvedPath = super.parsePath(path);
|
|
34
|
+
// Get site name (from path rewritten in middleware)
|
|
35
|
+
const siteData = (0, site_1.getSiteRewriteData)(resolvedPath, this.initOptions.defaultSite);
|
|
36
|
+
return siteData.siteName;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Normalizes a nextjs path that could have been rewritten
|
|
40
|
+
* @param {string | string[]} path nextjs path
|
|
41
|
+
* @returns path string without nextjs prefixes
|
|
42
|
+
*/
|
|
43
|
+
parsePath(path) {
|
|
44
|
+
const basePath = super.parsePath(path);
|
|
45
|
+
return (0, site_1.normalizeSiteRewrite)((0, personalize_1.normalizePersonalizedRewrite)(basePath));
|
|
46
|
+
}
|
|
47
|
+
getPage(path, pageOptions, options) {
|
|
48
|
+
const _super = Object.create(null, {
|
|
49
|
+
parsePath: { get: () => super.parsePath },
|
|
50
|
+
getPage: { get: () => super.getPage }
|
|
51
|
+
});
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const resolvedPath = this.parsePath(path);
|
|
54
|
+
// Get variant(s) for personalization (from path), must ensure path is of type string
|
|
55
|
+
const personalizeData = pageOptions.personalize || (0, personalize_1.getPersonalizedRewriteData)(_super.parsePath.call(this, path));
|
|
56
|
+
const site = pageOptions.site || this.getSiteNameFromPath(path);
|
|
57
|
+
const page = yield _super.getPage.call(this, resolvedPath, {
|
|
58
|
+
locale: pageOptions.locale,
|
|
59
|
+
site,
|
|
60
|
+
personalize: personalizeData,
|
|
61
|
+
}, options);
|
|
62
|
+
return page;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get design library page details for Design Library mode of your app
|
|
67
|
+
* @param {PreviewData} designLibData preview data set in 'library' mode of the app
|
|
68
|
+
* @param {FetchOptions} [fetchOptions] Additional fetch fetch options to override GraphQL requests
|
|
69
|
+
* @returns {Page} preview page for Design Library
|
|
70
|
+
*/
|
|
71
|
+
getDesignLibraryData(designLibData, fetchOptions) {
|
|
72
|
+
const _super = Object.create(null, {
|
|
73
|
+
getDesignLibraryData: { get: () => super.getDesignLibraryData }
|
|
74
|
+
});
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
return _super.getDesignLibraryData.call(this, designLibData, fetchOptions);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Retrieves preview page and layout details
|
|
81
|
+
* @param {PreviewData} previewData - The editing preview data for metadata mode.
|
|
82
|
+
* @param {FetchOptions} [fetchOptions] Additional fetch fetch options to override GraphQL requests (like retries and fetch)
|
|
83
|
+
*/
|
|
84
|
+
getPreview(previewData, fetchOptions) {
|
|
85
|
+
const _super = Object.create(null, {
|
|
86
|
+
getPreview: { get: () => super.getPreview }
|
|
87
|
+
});
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
return _super.getPreview.call(this, previewData, fetchOptions);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Generates static params for the Next.js App Router from Sitecore routes.
|
|
94
|
+
*
|
|
95
|
+
* Fetches routes for the specified `sites` and `languages`, then converts them into
|
|
96
|
+
* objects consumable by `generateStaticParams`. Internal multisite segments are removed.
|
|
97
|
+
* The `site` name is resolved from the path. If a route lacks a locale, the
|
|
98
|
+
* client's `defaultLanguage` is used.
|
|
99
|
+
*
|
|
100
|
+
* **NOTE**: App Router only. For the Pages Router, use `getPagePaths`.
|
|
101
|
+
* @param {string[]} sites - An array of site names to fetch routes for.
|
|
102
|
+
* @param {string[]} [languages] - Language codes to generate params for.
|
|
103
|
+
* @param {FetchOptions} [fetchOptions] - Additional fetch options.
|
|
104
|
+
* @returns {Promise<StaticParams[]>} Array of `{ site, locale, path }` entries for `generateStaticParams`.
|
|
105
|
+
*/
|
|
106
|
+
getAppRouterStaticParams(sites, languages, fetchOptions) {
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
const staticPaths = yield this.getPagePaths(sites, languages, fetchOptions);
|
|
109
|
+
const params = new Array();
|
|
110
|
+
staticPaths.map((path) => {
|
|
111
|
+
var _a;
|
|
112
|
+
// remove _site_ segments
|
|
113
|
+
const normalizedPath = (0, site_1.normalizeSiteRewrite)(path.params.path.join('/')).split('/');
|
|
114
|
+
params.push({
|
|
115
|
+
locale: (_a = path.locale) !== null && _a !== void 0 ? _a : this.initOptions.defaultLanguage,
|
|
116
|
+
site: this.getSiteNameFromPath(path.params.path),
|
|
117
|
+
path: normalizedPath,
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
return params;
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Parses components from nextjs component map and layoutData, executes getServerProps/getStaticProps methods
|
|
125
|
+
* and returns resulting props from components
|
|
126
|
+
* @param {LayoutServiceData} layoutData layout data to parse compnents from
|
|
127
|
+
* @param {PreviewData} context Nextjs preview data
|
|
128
|
+
* @param {ComponentMap<NextjsContentSdkComponent>} components component map to get props for
|
|
129
|
+
* @returns {ComponentPropsCollection} component props
|
|
130
|
+
*/
|
|
131
|
+
getComponentData(layoutData, context, components) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
let componentProps = {};
|
|
134
|
+
if (!layoutData.sitecore.route)
|
|
135
|
+
return componentProps;
|
|
136
|
+
// Retrieve component props using side-effects defined on components level
|
|
137
|
+
componentProps = yield this.componentPropsService.fetchComponentProps({
|
|
138
|
+
layoutData: layoutData,
|
|
139
|
+
context,
|
|
140
|
+
components,
|
|
141
|
+
});
|
|
142
|
+
const errors = Object.keys(componentProps)
|
|
143
|
+
.map((id) => {
|
|
144
|
+
const component = componentProps[id];
|
|
145
|
+
return component.error
|
|
146
|
+
? `\nUnable to get component props for ${component.componentName} (${id}): ${component.error}`
|
|
147
|
+
: '';
|
|
148
|
+
})
|
|
149
|
+
.join('');
|
|
150
|
+
if (errors.length) {
|
|
151
|
+
throw new Error(errors);
|
|
152
|
+
}
|
|
153
|
+
return componentProps;
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
getComponentPropsService() {
|
|
157
|
+
return new component_props_service_1.ComponentPropsService();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
exports.SitecoreNextjsClient = SitecoreNextjsClient;
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.getComponentServerProps = void 0;
|
|
13
|
-
const react_1 = require("@sitecore-content-sdk/react");
|
|
14
|
-
/**
|
|
15
|
-
* TODO: remove when framework agnostic forms implemented
|
|
16
|
-
* This is a repackaged version of the React BYOCWrapper component with support for
|
|
17
|
-
* server rendering in Next.js (using component-level data-fetching feature of Content SDK).
|
|
18
|
-
*/
|
|
19
|
-
/**
|
|
20
|
-
* Will be called during SSG or SSR
|
|
21
|
-
* @param {ComponentRendering} rendering
|
|
22
|
-
* @returns {GetStaticPropsContext | GetStaticPropsContext} context with type depending on SSR or SSG mode
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
exports.
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.getComponentServerProps = void 0;
|
|
13
|
+
const react_1 = require("@sitecore-content-sdk/react");
|
|
14
|
+
/**
|
|
15
|
+
* TODO: remove when framework agnostic forms implemented
|
|
16
|
+
* This is a repackaged version of the React BYOCWrapper component with support for
|
|
17
|
+
* server rendering in Next.js (using component-level data-fetching feature of Content SDK).
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Will be called during SSG or SSR
|
|
21
|
+
* @param {ComponentRendering} rendering
|
|
22
|
+
* @returns {GetStaticPropsContext | GetStaticPropsContext} context with type depending on SSR or SSG mode
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
const getComponentServerProps = (rendering) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
const params = rendering.params || {};
|
|
27
|
+
const result = yield (0, react_1.fetchBYOCComponentServerProps)(params);
|
|
28
|
+
return result;
|
|
29
|
+
});
|
|
30
|
+
exports.getComponentServerProps = getComponentServerProps;
|
|
31
|
+
exports.default = react_1.BYOCWrapper;
|
|
@@ -1,59 +1,66 @@
|
|
|
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.ComponentPropsContext = exports.ComponentPropsReactContext = void 0;
|
|
38
|
-
exports.useComponentProps = useComponentProps;
|
|
39
|
-
const react_1 = __importStar(require("react"));
|
|
40
|
-
/**
|
|
41
|
-
* Component props context which we are using in order to store data fetched on components level (getComponentServerProps)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
*
|
|
47
|
-
* @
|
|
48
|
-
* @
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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.ComponentPropsContext = exports.ComponentPropsReactContext = void 0;
|
|
38
|
+
exports.useComponentProps = useComponentProps;
|
|
39
|
+
const react_1 = __importStar(require("react"));
|
|
40
|
+
/**
|
|
41
|
+
* Component props context which we are using in order to store data fetched on components level (getComponentServerProps)
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
exports.ComponentPropsReactContext = (0, react_1.createContext)({});
|
|
45
|
+
/**
|
|
46
|
+
* Hook in order to get access to props related to specific component. Data comes from ComponentPropsContext.
|
|
47
|
+
* @see ComponentPropsContext
|
|
48
|
+
* @param {string | undefined} componentUid component uId
|
|
49
|
+
* @returns {ComponentData | undefined} component props
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
function useComponentProps(componentUid) {
|
|
53
|
+
if (!componentUid) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
57
|
+
const data = (0, react_1.useContext)(exports.ComponentPropsReactContext);
|
|
58
|
+
return data[componentUid];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The ComponentPropsContext component. Stores component props in a context.
|
|
62
|
+
* @param {ComponentPropsContextProps} props component props
|
|
63
|
+
* @public
|
|
64
|
+
*/
|
|
65
|
+
const ComponentPropsContext = ({ children, value, }) => (react_1.default.createElement(exports.ComponentPropsReactContext.Provider, { value: value }, children));
|
|
66
|
+
exports.ComponentPropsContext = ComponentPropsContext;
|