@sitecore-jss/sitecore-jss-nextjs 22.1.0-canary.15 → 22.1.0-canary.18
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/dist/cjs/components/Link.js +1 -1
- package/dist/cjs/components/NextImage.js +2 -3
- package/dist/cjs/editing/editing-config-middleware.js +3 -0
- package/dist/cjs/index.js +5 -2
- package/dist/esm/components/Link.js +1 -1
- package/dist/esm/components/NextImage.js +3 -3
- package/dist/esm/editing/editing-config-middleware.js +3 -0
- package/dist/esm/index.js +2 -2
- package/package.json +5 -5
- package/types/components/Placeholder.d.ts +7 -2
- package/types/components/RichText.d.ts +3 -0
- package/types/editing/editing-config-middleware.d.ts +7 -0
- package/types/index.d.ts +2 -2
|
@@ -52,7 +52,7 @@ exports.Link = (0, react_1.forwardRef)((props, ref) => {
|
|
|
52
52
|
? field
|
|
53
53
|
: field.value);
|
|
54
54
|
const { href, querystring, anchor } = value;
|
|
55
|
-
const isEditing = editable && field.editable;
|
|
55
|
+
const isEditing = editable && (field.editable || field.metadata);
|
|
56
56
|
if (href && !isEditing) {
|
|
57
57
|
const text = showLinkTextWithChildrenPresent || !children ? value.text || value.href : null;
|
|
58
58
|
// determine if a link is a route or not.
|
|
@@ -20,7 +20,7 @@ const prop_types_1 = __importDefault(require("prop-types"));
|
|
|
20
20
|
const react_1 = __importDefault(require("react"));
|
|
21
21
|
const sitecore_jss_react_1 = require("@sitecore-jss/sitecore-jss-react");
|
|
22
22
|
const image_1 = __importDefault(require("next/image"));
|
|
23
|
-
|
|
23
|
+
exports.NextImage = (0, sitecore_jss_react_1.withFieldMetadata)((_a) => {
|
|
24
24
|
var { editable = true, imageParams, field, mediaUrlPrefix, fill, priority } = _a, otherProps = __rest(_a, ["editable", "imageParams", "field", "mediaUrlPrefix", "fill", "priority"]);
|
|
25
25
|
// next handles src and we use a custom loader,
|
|
26
26
|
// throw error if these are present
|
|
@@ -59,8 +59,7 @@ const NextImage = (_a) => {
|
|
|
59
59
|
return react_1.default.createElement(image_1.default, Object.assign({ alt: "" }, imageProps));
|
|
60
60
|
}
|
|
61
61
|
return null; // we can't handle the truth
|
|
62
|
-
};
|
|
63
|
-
exports.NextImage = NextImage;
|
|
62
|
+
});
|
|
64
63
|
exports.NextImage.propTypes = {
|
|
65
64
|
field: prop_types_1.default.oneOfType([
|
|
66
65
|
prop_types_1.default.shape({
|
|
@@ -13,6 +13,7 @@ exports.EditingConfigMiddleware = void 0;
|
|
|
13
13
|
const constants_1 = require("./constants");
|
|
14
14
|
const utils_1 = require("../utils/utils");
|
|
15
15
|
const sitecore_jss_1 = require("@sitecore-jss/sitecore-jss");
|
|
16
|
+
const layout_1 = require("@sitecore-jss/sitecore-jss/layout");
|
|
16
17
|
const utils_2 = require("@sitecore-jss/sitecore-jss/utils");
|
|
17
18
|
/**
|
|
18
19
|
* Middleware / handler used in the editing config API route in xmcloud add on (e.g. '/api/editing/config')
|
|
@@ -37,9 +38,11 @@ class EditingConfigMiddleware {
|
|
|
37
38
|
const components = Array.isArray(this.config.components)
|
|
38
39
|
? this.config.components
|
|
39
40
|
: Array.from(this.config.components.keys());
|
|
41
|
+
const editMode = this.config.pagesEditMode || layout_1.EditMode.Metadata;
|
|
40
42
|
return res.status(200).json({
|
|
41
43
|
components,
|
|
42
44
|
packages: this.config.metadata.packages,
|
|
45
|
+
editMode,
|
|
43
46
|
});
|
|
44
47
|
});
|
|
45
48
|
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -23,8 +23,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
27
|
-
exports.withDatasourceCheck = exports.withPlaceholder = exports.withEditorChromes = exports.useSitecoreContext = exports.withSitecoreContext = exports.SitecoreContextReactContext = exports.SitecoreContext = exports.VisitorIdentification = exports.File = exports.getComponentLibraryStylesheetLinks = exports.BYOCComponent = exports.fetchFEaaSComponentServerProps = exports.FEaaSComponent = exports.EditFrame = void 0;
|
|
26
|
+
exports.Text = exports.Image = exports.Context = exports.ComponentBuilder = exports.BYOCWrapper = exports.FEaaSWrapper = exports.NextImage = exports.EditingComponentPlaceholder = exports.Placeholder = exports.RichText = exports.Link = exports.useComponentProps = exports.ComponentPropsContext = exports.ComponentPropsReactContext = exports.normalizeSiteRewrite = exports.getSiteRewriteData = exports.getSiteRewrite = exports.GraphQLSiteInfoService = exports.SiteResolver = exports.GraphQLRobotsService = exports.GraphQLErrorPagesService = exports.GraphQLSitemapXmlService = exports.MultisiteGraphQLSitemapService = exports.GraphQLSitemapService = exports.DisconnectedSitemapService = exports.ComponentPropsService = exports.CdpHelper = exports.normalizePersonalizedRewrite = exports.getPersonalizedRewriteData = exports.getPersonalizedRewrite = exports.personalizeLayout = exports.RestDictionaryService = exports.GraphQLDictionaryService = exports.trackingApi = exports.mediaApi = exports.EditMode = exports.getContentStylesheetLink = exports.EDITING_COMPONENT_ID = exports.EDITING_COMPONENT_PLACEHOLDER = exports.RenderingType = exports.getFieldValue = exports.getChildPlaceholder = exports.RestLayoutService = exports.GraphQLLayoutService = exports.LayoutServicePageState = exports.debug = exports.enableDebug = exports.NativeDataFetcher = exports.AxiosDataFetcher = exports.constants = void 0;
|
|
27
|
+
exports.EditingScripts = exports.withFieldMetadata = exports.withDatasourceCheck = exports.withPlaceholder = exports.withEditorChromes = exports.useSitecoreContext = exports.withSitecoreContext = exports.SitecoreContextReactContext = exports.SitecoreContext = exports.VisitorIdentification = exports.File = exports.getComponentLibraryStylesheetLinks = exports.BYOCComponent = exports.fetchFEaaSComponentServerProps = exports.FEaaSComponent = exports.EditFrame = exports.DateField = void 0;
|
|
28
28
|
var sitecore_jss_1 = require("@sitecore-jss/sitecore-jss");
|
|
29
29
|
Object.defineProperty(exports, "constants", { enumerable: true, get: function () { return sitecore_jss_1.constants; } });
|
|
30
30
|
Object.defineProperty(exports, "AxiosDataFetcher", { enumerable: true, get: function () { return sitecore_jss_1.AxiosDataFetcher; } });
|
|
@@ -41,6 +41,7 @@ Object.defineProperty(exports, "RenderingType", { enumerable: true, get: functio
|
|
|
41
41
|
Object.defineProperty(exports, "EDITING_COMPONENT_PLACEHOLDER", { enumerable: true, get: function () { return layout_1.EDITING_COMPONENT_PLACEHOLDER; } });
|
|
42
42
|
Object.defineProperty(exports, "EDITING_COMPONENT_ID", { enumerable: true, get: function () { return layout_1.EDITING_COMPONENT_ID; } });
|
|
43
43
|
Object.defineProperty(exports, "getContentStylesheetLink", { enumerable: true, get: function () { return layout_1.getContentStylesheetLink; } });
|
|
44
|
+
Object.defineProperty(exports, "EditMode", { enumerable: true, get: function () { return layout_1.EditMode; } });
|
|
44
45
|
var media_1 = require("@sitecore-jss/sitecore-jss/media");
|
|
45
46
|
Object.defineProperty(exports, "mediaApi", { enumerable: true, get: function () { return media_1.mediaApi; } });
|
|
46
47
|
var tracking_1 = require("@sitecore-jss/sitecore-jss/tracking");
|
|
@@ -111,3 +112,5 @@ Object.defineProperty(exports, "useSitecoreContext", { enumerable: true, get: fu
|
|
|
111
112
|
Object.defineProperty(exports, "withEditorChromes", { enumerable: true, get: function () { return sitecore_jss_react_1.withEditorChromes; } });
|
|
112
113
|
Object.defineProperty(exports, "withPlaceholder", { enumerable: true, get: function () { return sitecore_jss_react_1.withPlaceholder; } });
|
|
113
114
|
Object.defineProperty(exports, "withDatasourceCheck", { enumerable: true, get: function () { return sitecore_jss_react_1.withDatasourceCheck; } });
|
|
115
|
+
Object.defineProperty(exports, "withFieldMetadata", { enumerable: true, get: function () { return sitecore_jss_react_1.withFieldMetadata; } });
|
|
116
|
+
Object.defineProperty(exports, "EditingScripts", { enumerable: true, get: function () { return sitecore_jss_react_1.EditingScripts; } });
|
|
@@ -23,7 +23,7 @@ export const Link = forwardRef((props, ref) => {
|
|
|
23
23
|
? field
|
|
24
24
|
: field.value);
|
|
25
25
|
const { href, querystring, anchor } = value;
|
|
26
|
-
const isEditing = editable && field.editable;
|
|
26
|
+
const isEditing = editable && (field.editable || field.metadata);
|
|
27
27
|
if (href && !isEditing) {
|
|
28
28
|
const text = showLinkTextWithChildrenPresent || !children ? value.text || value.href : null;
|
|
29
29
|
// determine if a link is a route or not.
|
|
@@ -12,9 +12,9 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
import { mediaApi } from '@sitecore-jss/sitecore-jss/media';
|
|
13
13
|
import PropTypes from 'prop-types';
|
|
14
14
|
import React from 'react';
|
|
15
|
-
import { getEEMarkup, } from '@sitecore-jss/sitecore-jss-react';
|
|
15
|
+
import { getEEMarkup, withFieldMetadata, } from '@sitecore-jss/sitecore-jss-react';
|
|
16
16
|
import Image from 'next/image';
|
|
17
|
-
export const NextImage = (_a) => {
|
|
17
|
+
export const NextImage = withFieldMetadata((_a) => {
|
|
18
18
|
var { editable = true, imageParams, field, mediaUrlPrefix, fill, priority } = _a, otherProps = __rest(_a, ["editable", "imageParams", "field", "mediaUrlPrefix", "fill", "priority"]);
|
|
19
19
|
// next handles src and we use a custom loader,
|
|
20
20
|
// throw error if these are present
|
|
@@ -53,7 +53,7 @@ export const NextImage = (_a) => {
|
|
|
53
53
|
return React.createElement(Image, Object.assign({ alt: "" }, imageProps));
|
|
54
54
|
}
|
|
55
55
|
return null; // we can't handle the truth
|
|
56
|
-
};
|
|
56
|
+
});
|
|
57
57
|
NextImage.propTypes = {
|
|
58
58
|
field: PropTypes.oneOfType([
|
|
59
59
|
PropTypes.shape({
|
|
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { EDITING_ALLOWED_ORIGINS, QUERY_PARAM_EDITING_SECRET } from './constants';
|
|
11
11
|
import { getJssEditingSecret } from '../utils/utils';
|
|
12
12
|
import { debug } from '@sitecore-jss/sitecore-jss';
|
|
13
|
+
import { EditMode } from '@sitecore-jss/sitecore-jss/layout';
|
|
13
14
|
import { enforceCors } from '@sitecore-jss/sitecore-jss/utils';
|
|
14
15
|
/**
|
|
15
16
|
* Middleware / handler used in the editing config API route in xmcloud add on (e.g. '/api/editing/config')
|
|
@@ -34,9 +35,11 @@ export class EditingConfigMiddleware {
|
|
|
34
35
|
const components = Array.isArray(this.config.components)
|
|
35
36
|
? this.config.components
|
|
36
37
|
: Array.from(this.config.components.keys());
|
|
38
|
+
const editMode = this.config.pagesEditMode || EditMode.Metadata;
|
|
37
39
|
return res.status(200).json({
|
|
38
40
|
components,
|
|
39
41
|
packages: this.config.metadata.packages,
|
|
42
|
+
editMode,
|
|
40
43
|
});
|
|
41
44
|
});
|
|
42
45
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { constants, AxiosDataFetcher, NativeDataFetcher, enableDebug, debug, } from '@sitecore-jss/sitecore-jss';
|
|
2
|
-
export { LayoutServicePageState, GraphQLLayoutService, RestLayoutService, getChildPlaceholder, getFieldValue, RenderingType, EDITING_COMPONENT_PLACEHOLDER, EDITING_COMPONENT_ID, getContentStylesheetLink, } from '@sitecore-jss/sitecore-jss/layout';
|
|
2
|
+
export { LayoutServicePageState, GraphQLLayoutService, RestLayoutService, getChildPlaceholder, getFieldValue, RenderingType, EDITING_COMPONENT_PLACEHOLDER, EDITING_COMPONENT_ID, getContentStylesheetLink, EditMode, } from '@sitecore-jss/sitecore-jss/layout';
|
|
3
3
|
export { mediaApi } from '@sitecore-jss/sitecore-jss/media';
|
|
4
4
|
export { trackingApi, } from '@sitecore-jss/sitecore-jss/tracking';
|
|
5
5
|
export { GraphQLDictionaryService, RestDictionaryService, } from '@sitecore-jss/sitecore-jss/i18n';
|
|
@@ -21,4 +21,4 @@ export { FEaaSWrapper };
|
|
|
21
21
|
export { BYOCWrapper };
|
|
22
22
|
export { ComponentBuilder } from './ComponentBuilder';
|
|
23
23
|
export { Context } from './context';
|
|
24
|
-
export { Image, Text, DateField, EditFrame, FEaaSComponent, fetchFEaaSComponentServerProps, BYOCComponent, getComponentLibraryStylesheetLinks, File, VisitorIdentification, SitecoreContext, SitecoreContextReactContext, withSitecoreContext, useSitecoreContext, withEditorChromes, withPlaceholder, withDatasourceCheck, } from '@sitecore-jss/sitecore-jss-react';
|
|
24
|
+
export { Image, Text, DateField, EditFrame, FEaaSComponent, fetchFEaaSComponentServerProps, BYOCComponent, getComponentLibraryStylesheetLinks, File, VisitorIdentification, SitecoreContext, SitecoreContextReactContext, withSitecoreContext, useSitecoreContext, withEditorChromes, withPlaceholder, withDatasourceCheck, withFieldMetadata, EditingScripts, } from '@sitecore-jss/sitecore-jss-react';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sitecore-jss/sitecore-jss-nextjs",
|
|
3
|
-
"version": "22.1.0-canary.
|
|
3
|
+
"version": "22.1.0-canary.18",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -72,9 +72,9 @@
|
|
|
72
72
|
"react-dom": "^18.2.0"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@sitecore-jss/sitecore-jss": "^22.1.0-canary.
|
|
76
|
-
"@sitecore-jss/sitecore-jss-dev-tools": "^22.1.0-canary.
|
|
77
|
-
"@sitecore-jss/sitecore-jss-react": "^22.1.0-canary.
|
|
75
|
+
"@sitecore-jss/sitecore-jss": "^22.1.0-canary.18",
|
|
76
|
+
"@sitecore-jss/sitecore-jss-dev-tools": "^22.1.0-canary.18",
|
|
77
|
+
"@sitecore-jss/sitecore-jss-react": "^22.1.0-canary.18",
|
|
78
78
|
"@vercel/kv": "^0.2.1",
|
|
79
79
|
"node-html-parser": "^6.1.4",
|
|
80
80
|
"prop-types": "^15.8.1",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
},
|
|
84
84
|
"description": "",
|
|
85
85
|
"types": "types/index.d.ts",
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "2834e7813cc9acd3e35911ac2adf0986366d40ca",
|
|
87
87
|
"files": [
|
|
88
88
|
"dist",
|
|
89
89
|
"types",
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
/// <reference types="@types/react" />
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { PlaceholderComponentProps } from '@sitecore-jss/sitecore-jss-react';
|
|
4
|
-
|
|
3
|
+
import { PlaceholderComponentProps, WithSitecoreContextProps, EnhancedOmit } from '@sitecore-jss/sitecore-jss-react';
|
|
4
|
+
/**
|
|
5
|
+
* React Placeholder component wrapped by withSitecoreContext, so these properties shouldn't be passed to the Next.js Placeholder.
|
|
6
|
+
*/
|
|
7
|
+
type PlaceholderProps = EnhancedOmit<PlaceholderComponentProps, keyof WithSitecoreContextProps>;
|
|
8
|
+
export declare const Placeholder: (props: PlaceholderProps) => React.JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -19,6 +19,9 @@ export declare const RichText: {
|
|
|
19
19
|
field: PropTypes.Requireable<PropTypes.InferProps<{
|
|
20
20
|
value: PropTypes.Requireable<string>;
|
|
21
21
|
editable: PropTypes.Requireable<string>;
|
|
22
|
+
metadata: PropTypes.Requireable<{
|
|
23
|
+
[x: string]: any;
|
|
24
|
+
}>;
|
|
22
25
|
}>>;
|
|
23
26
|
tag: PropTypes.Requireable<string>;
|
|
24
27
|
editable: PropTypes.Requireable<boolean>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NextApiRequest, NextApiResponse } from 'next';
|
|
2
|
+
import { EditMode } from '@sitecore-jss/sitecore-jss/layout';
|
|
2
3
|
import { Metadata } from '@sitecore-jss/sitecore-jss-dev-tools';
|
|
3
4
|
export type EditingConfigMiddlewareConfig = {
|
|
4
5
|
/**
|
|
@@ -9,6 +10,12 @@ export type EditingConfigMiddlewareConfig = {
|
|
|
9
10
|
* Application metadata
|
|
10
11
|
*/
|
|
11
12
|
metadata: Metadata;
|
|
13
|
+
/**
|
|
14
|
+
* Determines which editing mode should be used by Pages.
|
|
15
|
+
* Can be either 'chromes' or 'metadata'.
|
|
16
|
+
* By default its 'metadata'
|
|
17
|
+
*/
|
|
18
|
+
pagesEditMode?: EditMode;
|
|
12
19
|
};
|
|
13
20
|
/**
|
|
14
21
|
* Middleware / handler used in the editing config API route in xmcloud add on (e.g. '/api/editing/config')
|
package/types/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { constants, HttpDataFetcher, HttpResponse, AxiosResponse, AxiosDataFetcher, AxiosDataFetcherConfig, NativeDataFetcher, NativeDataFetcherConfig, HTMLLink, enableDebug, debug, } from '@sitecore-jss/sitecore-jss';
|
|
2
|
-
export { LayoutService, LayoutServiceData, LayoutServicePageState, LayoutServiceContext, LayoutServiceContextData, GraphQLLayoutService, GraphQLLayoutServiceConfig, RestLayoutService, RestLayoutServiceConfig, PlaceholderData, PlaceholdersData, RouteData, Field, Item, HtmlElementRendering, getChildPlaceholder, getFieldValue, ComponentRendering, ComponentFields, ComponentParams, RenderingType, EDITING_COMPONENT_PLACEHOLDER, EDITING_COMPONENT_ID, getContentStylesheetLink, } from '@sitecore-jss/sitecore-jss/layout';
|
|
2
|
+
export { LayoutService, LayoutServiceData, LayoutServicePageState, LayoutServiceContext, LayoutServiceContextData, GraphQLLayoutService, GraphQLLayoutServiceConfig, RestLayoutService, RestLayoutServiceConfig, PlaceholderData, PlaceholdersData, RouteData, Field, Item, HtmlElementRendering, getChildPlaceholder, getFieldValue, ComponentRendering, ComponentFields, ComponentParams, RenderingType, EDITING_COMPONENT_PLACEHOLDER, EDITING_COMPONENT_ID, getContentStylesheetLink, EditMode, } from '@sitecore-jss/sitecore-jss/layout';
|
|
3
3
|
export { mediaApi } from '@sitecore-jss/sitecore-jss/media';
|
|
4
4
|
export { trackingApi, TrackingRequestOptions, CampaignInstance, GoalInstance, OutcomeInstance, EventInstance, PageViewInstance, } from '@sitecore-jss/sitecore-jss/tracking';
|
|
5
5
|
export { DictionaryPhrases, DictionaryService, GraphQLDictionaryService, GraphQLDictionaryServiceConfig, RestDictionaryService, RestDictionaryServiceConfig, } from '@sitecore-jss/sitecore-jss/i18n';
|
|
@@ -24,4 +24,4 @@ export { FEaaSWrapper };
|
|
|
24
24
|
export { BYOCWrapper };
|
|
25
25
|
export { ComponentBuilder, ComponentBuilderConfig } from './ComponentBuilder';
|
|
26
26
|
export { Context, ContextConfig, SDK } from './context';
|
|
27
|
-
export { ComponentFactory, Image, ImageField, ImageFieldValue, ImageProps, LinkField, LinkFieldValue, Text, TextField, DateField, EditFrame, FEaaSComponent, FEaaSComponentProps, FEaaSComponentParams, fetchFEaaSComponentServerProps, BYOCComponentParams, BYOCComponent, BYOCComponentProps, getComponentLibraryStylesheetLinks, File, FileField, RichTextField, VisitorIdentification, PlaceholderComponentProps, SitecoreContext, SitecoreContextState, SitecoreContextValue, SitecoreContextReactContext, withSitecoreContext, useSitecoreContext, withEditorChromes, withPlaceholder, withDatasourceCheck, ImageSizeParameters,
|
|
27
|
+
export { ComponentFactory, Image, ImageField, ImageFieldValue, ImageProps, LinkField, LinkFieldValue, Text, TextField, DateField, EditFrame, FEaaSComponent, FEaaSComponentProps, FEaaSComponentParams, fetchFEaaSComponentServerProps, BYOCComponentParams, BYOCComponent, BYOCComponentProps, getComponentLibraryStylesheetLinks, File, FileField, RichTextField, VisitorIdentification, PlaceholderComponentProps, SitecoreContext, SitecoreContextState, SitecoreContextValue, SitecoreContextReactContext, withSitecoreContext, useSitecoreContext, withEditorChromes, withPlaceholder, withDatasourceCheck, ImageSizeParameters, WithSitecoreContextOptions, WithSitecoreContextProps, WithSitecoreContextHocProps, withFieldMetadata, EditingScripts, } from '@sitecore-jss/sitecore-jss-react';
|