@sitecore-jss/sitecore-jss-nextjs 22.1.0-canary.9 → 22.2.0-canary.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/cjs/components/Link.js +7 -3
  2. package/dist/cjs/components/NextImage.js +10 -5
  3. package/dist/cjs/components/RichText.js +2 -2
  4. package/dist/cjs/editing/constants.js +12 -3
  5. package/dist/cjs/editing/editing-config-middleware.js +8 -0
  6. package/dist/cjs/editing/editing-data-middleware.js +6 -0
  7. package/dist/cjs/editing/editing-render-middleware.js +229 -103
  8. package/dist/cjs/editing/feaas-render-middleware.js +8 -0
  9. package/dist/cjs/editing/index.js +4 -1
  10. package/dist/cjs/editing/render-middleware.js +18 -4
  11. package/dist/cjs/index.js +9 -7
  12. package/dist/cjs/middleware/middleware.js +12 -0
  13. package/dist/cjs/middleware/personalize-middleware.js +85 -25
  14. package/dist/cjs/services/base-graphql-sitemap-service.js +5 -4
  15. package/dist/cjs/utils/index.js +4 -3
  16. package/dist/cjs/utils/utils.js +3 -3
  17. package/dist/esm/components/Link.js +7 -3
  18. package/dist/esm/components/NextImage.js +11 -5
  19. package/dist/esm/components/RichText.js +2 -2
  20. package/dist/esm/editing/constants.js +11 -2
  21. package/dist/esm/editing/editing-config-middleware.js +9 -1
  22. package/dist/esm/editing/editing-data-middleware.js +7 -1
  23. package/dist/esm/editing/editing-render-middleware.js +227 -103
  24. package/dist/esm/editing/feaas-render-middleware.js +9 -1
  25. package/dist/esm/editing/index.js +2 -1
  26. package/dist/esm/editing/render-middleware.js +19 -5
  27. package/dist/esm/index.js +3 -4
  28. package/dist/esm/middleware/middleware.js +12 -0
  29. package/dist/esm/middleware/personalize-middleware.js +86 -26
  30. package/dist/esm/services/base-graphql-sitemap-service.js +5 -4
  31. package/dist/esm/utils/index.js +2 -1
  32. package/dist/esm/utils/utils.js +1 -1
  33. package/package.json +10 -11
  34. package/types/ComponentBuilder.d.ts +3 -5
  35. package/types/components/Placeholder.d.ts +7 -2
  36. package/types/components/RichText.d.ts +6 -0
  37. package/types/editing/constants.d.ts +11 -2
  38. package/types/editing/editing-config-middleware.d.ts +7 -0
  39. package/types/editing/editing-data-service.d.ts +1 -0
  40. package/types/editing/editing-render-middleware.d.ts +111 -23
  41. package/types/editing/index.d.ts +2 -1
  42. package/types/editing/render-middleware.d.ts +9 -0
  43. package/types/index.d.ts +3 -4
  44. package/types/middleware/middleware.d.ts +6 -0
  45. package/types/middleware/personalize-middleware.d.ts +22 -2
  46. package/types/services/base-graphql-sitemap-service.d.ts +3 -2
  47. package/types/utils/index.d.ts +2 -1
  48. package/dist/cjs/components/EditingComponentPlaceholder.js +0 -12
  49. package/dist/esm/components/EditingComponentPlaceholder.js +0 -5
  50. package/types/components/EditingComponentPlaceholder.d.ts +0 -4
@@ -33,6 +33,10 @@ export type PersonalizeMiddlewareConfig = MiddlewareBaseConfig & {
33
33
  * Configuration for your Sitecore CDP endpoint
34
34
  */
35
35
  cdpConfig: CdpServiceConfig;
36
+ /**
37
+ * Optional Sitecore Personalize scope identifier allowing you to isolate your personalization data between XM Cloud environments
38
+ */
39
+ scope?: string;
36
40
  };
37
41
  /**
38
42
  * Object model of Experience Context data
@@ -47,6 +51,13 @@ export type ExperienceParams = {
47
51
  content: string | undefined;
48
52
  };
49
53
  };
54
+ /**
55
+ * Object model of personalize execution data
56
+ */
57
+ type PersonalizeExecution = {
58
+ friendlyId: string;
59
+ variantIds: string[];
60
+ };
50
61
  /**
51
62
  * Middleware / handler to support Sitecore Personalize
52
63
  */
@@ -68,15 +79,24 @@ export declare class PersonalizeMiddleware extends MiddlewareBase {
68
79
  request: NextRequest;
69
80
  response: NextResponse;
70
81
  }): Promise<void>;
71
- protected personalize({ params, personalizeInfo, language, timeout, }: {
72
- personalizeInfo: PersonalizeInfo;
82
+ protected personalize({ params, friendlyId, language, timeout, variantIds, }: {
73
83
  params: ExperienceParams;
84
+ friendlyId: string;
74
85
  language: string;
75
86
  timeout?: number;
87
+ variantIds?: string[];
76
88
  }, request: NextRequest): Promise<{
77
89
  variantId: string;
78
90
  }>;
79
91
  protected getExperienceParams(req: NextRequest): ExperienceParams;
80
92
  protected excludeRoute(pathname: string): boolean | undefined;
93
+ /**
94
+ * Aggregates personalize executions based on the provided route personalize information and language
95
+ * @param {PersonalizeInfo} personalizeInfo the route personalize information
96
+ * @param {string} language the language
97
+ * @returns An array of personalize executions
98
+ */
99
+ protected getPersonalizeExecutions(personalizeInfo: PersonalizeInfo, language: string): PersonalizeExecution[];
81
100
  private handler;
82
101
  }
102
+ export {};
@@ -67,8 +67,9 @@ export type RouteListQueryResult = {
67
67
  */
68
68
  export interface BaseGraphQLSitemapServiceConfig extends Omit<SiteRouteQueryVariables, 'language' | 'siteName'> {
69
69
  /**
70
- * A flag for whether to include personalized routes in service output - only works on XM Cloud
71
- * turned off by default
70
+ * A flag for whether to include personalized routes in service output.
71
+ * Only works on XM Cloud for pages using Embedded Personalization (not Component A/B testing).
72
+ * Turned off by default.
72
73
  */
73
74
  includePersonalizedRoutes?: boolean;
74
75
  /**
@@ -1,2 +1,3 @@
1
1
  export { getPublicUrl, handleEditorFastRefresh } from './utils';
2
- export { tryParseEnvValue, isEditorActive, resetEditorChromes, resolveUrl, } from '@sitecore-jss/sitecore-jss/utils';
2
+ export { tryParseEnvValue, resolveUrl } from '@sitecore-jss/sitecore-jss/utils';
3
+ export { isEditorActive, resetEditorChromes } from '@sitecore-jss/sitecore-jss/editing';
@@ -1,12 +0,0 @@
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.EditingComponentPlaceholder = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const layout_1 = require("@sitecore-jss/sitecore-jss/layout");
9
- const Placeholder_1 = require("./Placeholder");
10
- const EditingComponentPlaceholder = ({ rendering, }) => (react_1.default.createElement("div", { id: layout_1.EDITING_COMPONENT_ID },
11
- react_1.default.createElement(Placeholder_1.Placeholder, { name: layout_1.EDITING_COMPONENT_PLACEHOLDER, rendering: rendering })));
12
- exports.EditingComponentPlaceholder = EditingComponentPlaceholder;
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import { EDITING_COMPONENT_ID, EDITING_COMPONENT_PLACEHOLDER, } from '@sitecore-jss/sitecore-jss/layout';
3
- import { Placeholder } from './Placeholder';
4
- export const EditingComponentPlaceholder = ({ rendering, }) => (React.createElement("div", { id: EDITING_COMPONENT_ID },
5
- React.createElement(Placeholder, { name: EDITING_COMPONENT_PLACEHOLDER, rendering: rendering })));
@@ -1,4 +0,0 @@
1
- import { RouteData } from '@sitecore-jss/sitecore-jss/layout';
2
- export declare const EditingComponentPlaceholder: ({ rendering, }: {
3
- rendering: RouteData;
4
- }) => JSX.Element;