@sitecore-jss/sitecore-jss-react 23.0.0-canary.2 → 23.0.0-canary.21
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/Date.js +3 -5
- package/dist/cjs/components/ErrorBoundary.js +18 -2
- package/dist/cjs/components/Image.js +5 -10
- package/dist/cjs/components/Link.js +5 -8
- package/dist/cjs/components/Placeholder.js +3 -10
- package/dist/cjs/components/PlaceholderCommon.js +15 -58
- package/dist/cjs/components/RichText.js +10 -11
- package/dist/cjs/components/SitecoreContext.js +0 -8
- package/dist/cjs/components/Text.js +3 -6
- package/dist/cjs/enhancers/withDatasourceCheck.js +1 -4
- package/dist/cjs/enhancers/withPlaceholder.js +2 -2
- package/dist/cjs/enhancers/withSitecoreContext.js +1 -2
- package/dist/cjs/index.js +1 -28
- package/dist/cjs/utils.js +1 -16
- package/dist/esm/components/Date.js +2 -5
- package/dist/esm/components/ErrorBoundary.js +18 -2
- package/dist/esm/components/Image.js +4 -10
- package/dist/esm/components/Link.js +5 -8
- package/dist/esm/components/Placeholder.js +3 -10
- package/dist/esm/components/PlaceholderCommon.js +16 -59
- package/dist/esm/components/RichText.js +11 -12
- package/dist/esm/components/SitecoreContext.js +0 -8
- package/dist/esm/components/Text.js +2 -6
- package/dist/esm/enhancers/withDatasourceCheck.js +1 -4
- package/dist/esm/enhancers/withPlaceholder.js +2 -2
- package/dist/esm/enhancers/withSitecoreContext.js +2 -3
- package/dist/esm/index.js +1 -11
- package/dist/esm/utils.js +0 -14
- package/package.json +3 -6
- package/types/ComponentBuilder.d.ts +0 -1
- package/types/components/Date.d.ts +2 -4
- package/types/components/EditFrame.d.ts +0 -1
- package/types/components/ErrorBoundary.d.ts +0 -1
- package/types/components/File.d.ts +0 -1
- package/types/components/HiddenRendering.d.ts +0 -1
- package/types/components/Image.d.ts +2 -4
- package/types/components/Link.d.ts +3 -5
- package/types/components/MissingComponent.d.ts +0 -1
- package/types/components/Placeholder.d.ts +0 -1
- package/types/components/PlaceholderCommon.d.ts +12 -4
- package/types/components/RichText.d.ts +3 -5
- package/types/components/SitecoreContext.d.ts +0 -21
- package/types/components/Text.d.ts +2 -4
- package/types/components/VisitorIdentification.d.ts +0 -1
- package/types/components/sharedTypes.d.ts +1 -8
- package/types/enhancers/withComponentFactory.d.ts +0 -1
- package/types/enhancers/withDatasourceCheck.d.ts +0 -1
- package/types/enhancers/withEditorChromes.d.ts +0 -1
- package/types/enhancers/withPlaceholder.d.ts +0 -1
- package/types/enhancers/withSitecoreContext.d.ts +1 -3
- package/types/index.d.ts +1 -11
- package/types/utils.d.ts +0 -9
- package/dist/cjs/components/BYOCComponent.js +0 -122
- package/dist/cjs/components/BYOCWrapper.js +0 -18
- package/dist/cjs/components/DefaultEmptyFieldEditingComponents.js +0 -22
- package/dist/cjs/components/DesignLibrary.js +0 -72
- package/dist/cjs/components/EditingScripts.js +0 -47
- package/dist/cjs/components/FEaaSComponent.js +0 -151
- package/dist/cjs/components/FEaaSWrapper.js +0 -18
- package/dist/cjs/components/FieldMetadata.js +0 -29
- package/dist/cjs/components/Form.js +0 -80
- package/dist/cjs/components/PlaceholderMetadata.js +0 -63
- package/dist/cjs/enhancers/withEmptyFieldEditingComponent.js +0 -63
- package/dist/cjs/enhancers/withFieldMetadata.js +0 -60
- package/dist/esm/components/BYOCComponent.js +0 -91
- package/dist/esm/components/BYOCWrapper.js +0 -11
- package/dist/esm/components/DefaultEmptyFieldEditingComponents.js +0 -14
- package/dist/esm/components/DesignLibrary.js +0 -45
- package/dist/esm/components/EditingScripts.js +0 -40
- package/dist/esm/components/FEaaSComponent.js +0 -119
- package/dist/esm/components/FEaaSWrapper.js +0 -11
- package/dist/esm/components/FieldMetadata.js +0 -22
- package/dist/esm/components/Form.js +0 -52
- package/dist/esm/components/PlaceholderMetadata.js +0 -56
- package/dist/esm/enhancers/withEmptyFieldEditingComponent.js +0 -36
- package/dist/esm/enhancers/withFieldMetadata.js +0 -33
- package/types/components/BYOCComponent.d.ts +0 -91
- package/types/components/BYOCWrapper.d.ts +0 -4
- package/types/components/DefaultEmptyFieldEditingComponents.d.ts +0 -10
- package/types/components/DesignLibrary.d.ts +0 -3
- package/types/components/EditingScripts.d.ts +0 -8
- package/types/components/FEaaSComponent.d.ts +0 -72
- package/types/components/FEaaSWrapper.d.ts +0 -4
- package/types/components/FieldMetadata.d.ts +0 -18
- package/types/components/Form.d.ts +0 -30
- package/types/components/PlaceholderMetadata.d.ts +0 -29
- package/types/enhancers/withEmptyFieldEditingComponent.d.ts +0 -28
- package/types/enhancers/withFieldMetadata.d.ts +0 -17
|
@@ -16,11 +16,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.DateField = void 0;
|
|
18
18
|
const react_1 = __importDefault(require("react"));
|
|
19
|
-
const withFieldMetadata_1 = require("../enhancers/withFieldMetadata");
|
|
20
|
-
const withEmptyFieldEditingComponent_1 = require("../enhancers/withEmptyFieldEditingComponent");
|
|
21
|
-
const DefaultEmptyFieldEditingComponents_1 = require("./DefaultEmptyFieldEditingComponents");
|
|
22
19
|
const layout_1 = require("@sitecore-jss/sitecore-jss/layout");
|
|
23
|
-
|
|
20
|
+
const DateField = (_a) => {
|
|
24
21
|
var { field, tag, editable = true, render } = _a, otherProps = __rest(_a, ["field", "tag", "editable", "render"]);
|
|
25
22
|
if (!field || (!field.editable && (0, layout_1.isFieldValueEmpty)(field))) {
|
|
26
23
|
return null;
|
|
@@ -44,5 +41,6 @@ exports.DateField = (0, withFieldMetadata_1.withFieldMetadata)((0, withEmptyFiel
|
|
|
44
41
|
else {
|
|
45
42
|
return react_1.default.createElement(react_1.default.Fragment, null, children);
|
|
46
43
|
}
|
|
47
|
-
}
|
|
44
|
+
};
|
|
45
|
+
exports.DateField = DateField;
|
|
48
46
|
exports.DateField.displayName = 'Date';
|
|
@@ -52,6 +52,11 @@ class ErrorBoundary extends react_1.default.Component {
|
|
|
52
52
|
((_a = this.props.sitecoreContext) === null || _a === void 0 ? void 0 : _a.pageState) === layout_1.LayoutServicePageState.Edit ||
|
|
53
53
|
((_b = this.props.sitecoreContext) === null || _b === void 0 ? void 0 : _b.pageState) === layout_1.LayoutServicePageState.Preview);
|
|
54
54
|
}
|
|
55
|
+
isPageEditing() {
|
|
56
|
+
var _a, _b;
|
|
57
|
+
return (!!((_a = this.props.sitecoreContext) === null || _a === void 0 ? void 0 : _a.pageEditing) ||
|
|
58
|
+
((_b = this.props.sitecoreContext) === null || _b === void 0 ? void 0 : _b.pageState) === layout_1.LayoutServicePageState.Edit);
|
|
59
|
+
}
|
|
55
60
|
render() {
|
|
56
61
|
var _a, _b;
|
|
57
62
|
if (this.state.error) {
|
|
@@ -76,10 +81,21 @@ class ErrorBoundary extends react_1.default.Component {
|
|
|
76
81
|
}
|
|
77
82
|
}
|
|
78
83
|
// do not apply suspense when suspense is disabled or when on already dynamic components
|
|
84
|
+
let content;
|
|
79
85
|
if (((_b = this.props.disableSuspense) !== null && _b !== void 0 ? _b : true) || this.props.isDynamic) {
|
|
80
|
-
|
|
86
|
+
content = this.props.children;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
content = (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("h4", null, this.props.componentLoadingMessage || this.defaultLoadingMessage) }, this.props.children));
|
|
90
|
+
}
|
|
91
|
+
// Experience Editor tags the outermost DOM node of each rendering (sc-part-of,
|
|
92
|
+
// scEnabledChrome) after SSR. Own that node in the SDK during editing so hydration
|
|
93
|
+
// mismatches can be suppressed without requiring suppressHydrationWarning on every
|
|
94
|
+
// app component. `display: contents` keeps SXA/Bootstrap column layout intact.
|
|
95
|
+
if (this.isPageEditing()) {
|
|
96
|
+
return (react_1.default.createElement("div", { suppressHydrationWarning: true, style: { display: 'contents' } }, content));
|
|
81
97
|
}
|
|
82
|
-
return
|
|
98
|
+
return content;
|
|
83
99
|
}
|
|
84
100
|
}
|
|
85
101
|
exports.default = (0, withSitecoreContext_1.withSitecoreContext)()(ErrorBoundary);
|
|
@@ -19,14 +19,12 @@ const media_1 = require("@sitecore-jss/sitecore-jss/media");
|
|
|
19
19
|
const react_1 = __importDefault(require("react"));
|
|
20
20
|
const utils_1 = require("../utils");
|
|
21
21
|
const utils_2 = require("../utils");
|
|
22
|
-
const withFieldMetadata_1 = require("../enhancers/withFieldMetadata");
|
|
23
|
-
const withEmptyFieldEditingComponent_1 = require("../enhancers/withEmptyFieldEditingComponent");
|
|
24
|
-
const DefaultEmptyFieldEditingComponents_1 = require("./DefaultEmptyFieldEditingComponents");
|
|
25
22
|
const layout_1 = require("@sitecore-jss/sitecore-jss/layout");
|
|
26
23
|
const getEditableWrapper = (editableMarkup, ...otherProps) => (
|
|
27
24
|
// create an inline wrapper and use dangerouslySetInnerHTML.
|
|
28
25
|
// if we try to parse the EE value, the parser will strip invalid or disallowed attributes from html elements - and EE uses several
|
|
29
|
-
|
|
26
|
+
// Experience Editor rewrites this chrome markup client-side after SSR.
|
|
27
|
+
react_1.default.createElement("span", Object.assign({ className: "sc-image-wrapper", suppressHydrationWarning: true }, otherProps, { dangerouslySetInnerHTML: { __html: editableMarkup } })));
|
|
30
28
|
const getImageAttrs = (_a, imageParams, mediaUrlPrefix) => {
|
|
31
29
|
var { src, srcSet } = _a, otherAttrs = __rest(_a, ["src", "srcSet"]);
|
|
32
30
|
if (!src) {
|
|
@@ -69,7 +67,7 @@ const getEEMarkup = (imageField, imageParams, mediaUrlPrefix, otherProps) => {
|
|
|
69
67
|
return getEditableWrapper(editableMarkup);
|
|
70
68
|
};
|
|
71
69
|
exports.getEEMarkup = getEEMarkup;
|
|
72
|
-
|
|
70
|
+
const Image = (_a) => {
|
|
73
71
|
var { editable = true, imageParams, field, mediaUrlPrefix } = _a, otherProps = __rest(_a, ["editable", "imageParams", "field", "mediaUrlPrefix"]);
|
|
74
72
|
const dynamicMedia = field;
|
|
75
73
|
if (!field || (!dynamicMedia.editable && (0, layout_1.isFieldValueEmpty)(dynamicMedia))) {
|
|
@@ -86,14 +84,11 @@ exports.Image = (0, withFieldMetadata_1.withFieldMetadata)((0, withEmptyFieldEdi
|
|
|
86
84
|
if (!img) {
|
|
87
85
|
return null;
|
|
88
86
|
}
|
|
89
|
-
// prevent metadata from being passed to the img tag
|
|
90
|
-
if (img.metadata) {
|
|
91
|
-
delete img.metadata;
|
|
92
|
-
}
|
|
93
87
|
const attrs = getImageAttrs(Object.assign(Object.assign({}, img), otherProps), imageParams, mediaUrlPrefix);
|
|
94
88
|
if (attrs) {
|
|
95
89
|
return react_1.default.createElement("img", Object.assign({}, attrs));
|
|
96
90
|
}
|
|
97
91
|
return null; // we can't handle the truth
|
|
98
|
-
}
|
|
92
|
+
};
|
|
93
|
+
exports.Image = Image;
|
|
99
94
|
exports.Image.displayName = 'Image';
|
|
@@ -36,13 +36,8 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
36
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
37
|
exports.Link = void 0;
|
|
38
38
|
const react_1 = __importStar(require("react"));
|
|
39
|
-
const withFieldMetadata_1 = require("../enhancers/withFieldMetadata");
|
|
40
|
-
const withEmptyFieldEditingComponent_1 = require("../enhancers/withEmptyFieldEditingComponent");
|
|
41
|
-
const DefaultEmptyFieldEditingComponents_1 = require("./DefaultEmptyFieldEditingComponents");
|
|
42
39
|
const layout_1 = require("@sitecore-jss/sitecore-jss/layout");
|
|
43
|
-
exports.Link = (0,
|
|
44
|
-
// eslint-disable-next-line react/display-name
|
|
45
|
-
(0, react_1.forwardRef)((_a, ref) => {
|
|
40
|
+
exports.Link = (0, react_1.forwardRef)((_a, ref) => {
|
|
46
41
|
var { field, editable = true, showLinkTextWithChildrenPresent } = _a, otherProps = __rest(_a, ["field", "editable", "showLinkTextWithChildrenPresent"]);
|
|
47
42
|
const children = otherProps.children;
|
|
48
43
|
const dynamicField = field;
|
|
@@ -57,7 +52,9 @@ exports.Link = (0, withFieldMetadata_1.withFieldMetadata)((0, withEmptyFieldEdit
|
|
|
57
52
|
// However, we cannot combine arbitrary unparsed HTML (innerHTML) based components with actual vDOM components (the children)
|
|
58
53
|
// because the innerHTML is not parsed - it'd make a discontinuous vDOM. So, we'll go for the next best compromise of rendering the link field and children separately
|
|
59
54
|
// as siblings. Should be "good enough" for most cases - and write your own helper if it isn't. Or bring xEditor out of 2006.
|
|
60
|
-
const htmlProps = Object.assign(Object.assign({ className: 'sc-link-wrapper',
|
|
55
|
+
const htmlProps = Object.assign(Object.assign({ className: 'sc-link-wrapper',
|
|
56
|
+
// Experience Editor rewrites this chrome markup client-side after SSR.
|
|
57
|
+
suppressHydrationWarning: true, dangerouslySetInnerHTML: {
|
|
61
58
|
__html: markup,
|
|
62
59
|
} }, otherProps), { key: 'editable' });
|
|
63
60
|
// Exclude children, since 'dangerouslySetInnerHTML' and 'children' can't be set together
|
|
@@ -92,5 +89,5 @@ exports.Link = (0, withFieldMetadata_1.withFieldMetadata)((0, withEmptyFieldEdit
|
|
|
92
89
|
const linkText = showLinkTextWithChildrenPresent || !children ? link.text || link.href : null;
|
|
93
90
|
resultTags.push(react_1.default.createElement('a', Object.assign(Object.assign(Object.assign({}, anchorAttrs), otherProps), { key: 'link', ref }), linkText, children));
|
|
94
91
|
return react_1.default.createElement(react_1.default.Fragment, null, resultTags);
|
|
95
|
-
})
|
|
92
|
+
});
|
|
96
93
|
exports.Link.displayName = 'Link';
|
|
@@ -7,7 +7,6 @@ exports.Placeholder = void 0;
|
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const PlaceholderCommon_1 = require("./PlaceholderCommon");
|
|
9
9
|
const withComponentFactory_1 = require("../enhancers/withComponentFactory");
|
|
10
|
-
const editing_1 = require("@sitecore-jss/sitecore-jss/editing");
|
|
11
10
|
const withSitecoreContext_1 = require("../enhancers/withSitecoreContext");
|
|
12
11
|
/**
|
|
13
12
|
* @param {HtmlElementRendering | ComponentRendering} rendering
|
|
@@ -21,12 +20,6 @@ class PlaceholderComponent extends PlaceholderCommon_1.PlaceholderCommon {
|
|
|
21
20
|
super(props);
|
|
22
21
|
this.isEmpty = false;
|
|
23
22
|
}
|
|
24
|
-
componentDidMount() {
|
|
25
|
-
super.componentDidMount();
|
|
26
|
-
if (this.isEmpty && editing_1.HorizonEditor.isActive()) {
|
|
27
|
-
editing_1.HorizonEditor.resetChromes();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
23
|
/**
|
|
31
24
|
* In case we need to render an empty placeholder, some part of the markup will be inserted by the EE,
|
|
32
25
|
* so we need to separate the empty placeholder's markup and allow React reconciliation to be executed correctly
|
|
@@ -35,10 +28,10 @@ class PlaceholderComponent extends PlaceholderCommon_1.PlaceholderCommon {
|
|
|
35
28
|
* @returns react node
|
|
36
29
|
*/
|
|
37
30
|
renderEmptyPlaceholder(node) {
|
|
38
|
-
|
|
31
|
+
// Experience Editor may mutate empty-placeholder chrome between SSR and hydration.
|
|
32
|
+
return (react_1.default.createElement("div", { className: "sc-jss-empty-placeholder", suppressHydrationWarning: true }, node));
|
|
39
33
|
}
|
|
40
34
|
render() {
|
|
41
|
-
var _a;
|
|
42
35
|
const childProps = Object.assign({}, this.props);
|
|
43
36
|
delete childProps.componentFactory;
|
|
44
37
|
if (this.state.error) {
|
|
@@ -51,7 +44,7 @@ class PlaceholderComponent extends PlaceholderCommon_1.PlaceholderCommon {
|
|
|
51
44
|
"."));
|
|
52
45
|
}
|
|
53
46
|
const renderingData = childProps.rendering;
|
|
54
|
-
const placeholderData = PlaceholderCommon_1.PlaceholderCommon.getPlaceholderDataFromRenderingData(renderingData, this.props.name
|
|
47
|
+
const placeholderData = PlaceholderCommon_1.PlaceholderCommon.getPlaceholderDataFromRenderingData(renderingData, this.props.name);
|
|
55
48
|
this.isEmpty = placeholderData.every((rendering) => isRawRendering(rendering));
|
|
56
49
|
const components = this.getComponentsForRenderingData(placeholderData);
|
|
57
50
|
if (this.props.renderEmpty && this.isEmpty) {
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
4
|
};
|
|
@@ -21,11 +10,6 @@ const layout_1 = require("@sitecore-jss/sitecore-jss/layout");
|
|
|
21
10
|
const sitecore_jss_1 = require("@sitecore-jss/sitecore-jss");
|
|
22
11
|
const utils_1 = require("../utils");
|
|
23
12
|
const HiddenRendering_1 = require("./HiddenRendering");
|
|
24
|
-
const FEaaSComponent_1 = require("./FEaaSComponent");
|
|
25
|
-
const FEaaSWrapper_1 = require("./FEaaSWrapper");
|
|
26
|
-
const BYOCComponent_1 = require("./BYOCComponent");
|
|
27
|
-
const BYOCWrapper_1 = require("./BYOCWrapper");
|
|
28
|
-
const PlaceholderMetadata_1 = require("./PlaceholderMetadata");
|
|
29
13
|
const ErrorBoundary_1 = __importDefault(require("./ErrorBoundary"));
|
|
30
14
|
class PlaceholderCommon extends react_1.default.Component {
|
|
31
15
|
constructor(props) {
|
|
@@ -36,13 +20,12 @@ class PlaceholderCommon extends react_1.default.Component {
|
|
|
36
20
|
this.updateKeyAttributes = this.updateKeyAttributes.bind(this);
|
|
37
21
|
this.createRawElement = this.createRawElement.bind(this);
|
|
38
22
|
}
|
|
39
|
-
static getPlaceholderDataFromRenderingData(rendering, name
|
|
23
|
+
static getPlaceholderDataFromRenderingData(rendering, name) {
|
|
40
24
|
let result;
|
|
41
|
-
|
|
25
|
+
const phName = name.slice();
|
|
42
26
|
/**
|
|
43
27
|
* Process (SXA) dynamic placeholders
|
|
44
28
|
* Find and replace the matching dynamic placeholder e.g 'nameOfContainer-{*}' with the requested e.g. 'nameOfContainer-1'.
|
|
45
|
-
* For Metadata EditMode, we need to keep the raw placeholder name in place.
|
|
46
29
|
*/
|
|
47
30
|
if (rendering === null || rendering === void 0 ? void 0 : rendering.placeholders) {
|
|
48
31
|
Object.keys(rendering.placeholders).forEach((placeholder) => {
|
|
@@ -50,13 +33,8 @@ class PlaceholderCommon extends react_1.default.Component {
|
|
|
50
33
|
? (0, layout_1.getDynamicPlaceholderPattern)(placeholder)
|
|
51
34
|
: null;
|
|
52
35
|
if (patternPlaceholder && patternPlaceholder.test(phName)) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
rendering.placeholders[phName] = rendering.placeholders[placeholder];
|
|
58
|
-
delete rendering.placeholders[placeholder];
|
|
59
|
-
}
|
|
36
|
+
rendering.placeholders[phName] = rendering.placeholders[placeholder];
|
|
37
|
+
delete rendering.placeholders[placeholder];
|
|
60
38
|
}
|
|
61
39
|
});
|
|
62
40
|
}
|
|
@@ -89,11 +67,10 @@ class PlaceholderCommon extends react_1.default.Component {
|
|
|
89
67
|
});
|
|
90
68
|
}
|
|
91
69
|
getComponentsForRenderingData(placeholderData) {
|
|
92
|
-
|
|
93
|
-
const _b = this.props, { name, fields: placeholderFields, params: placeholderParams, missingComponentComponent, hiddenRenderingComponent } = _b, placeholderProps = __rest(_b, ["name", "fields", "params", "missingComponentComponent", "hiddenRenderingComponent"]);
|
|
70
|
+
const { name, fields: placeholderFields, params: placeholderParams, missingComponentComponent, hiddenRenderingComponent, passThroughComponentProps, modifyComponentProps, } = this.props;
|
|
94
71
|
const transformedComponents = placeholderData
|
|
95
72
|
.map((rendering, index) => {
|
|
96
|
-
var _a
|
|
73
|
+
var _a;
|
|
97
74
|
const key = rendering.uid
|
|
98
75
|
? rendering.uid
|
|
99
76
|
: `component-${index}`;
|
|
@@ -117,55 +94,33 @@ class PlaceholderCommon extends react_1.default.Component {
|
|
|
117
94
|
else {
|
|
118
95
|
component = this.getComponentForRendering(componentRendering);
|
|
119
96
|
}
|
|
120
|
-
// Fallback/defaults for Sitecore Component renderings (in case not defined in component factory)
|
|
121
|
-
if (!component) {
|
|
122
|
-
if (componentRendering.componentName === FEaaSComponent_1.FEAAS_COMPONENT_RENDERING_NAME) {
|
|
123
|
-
component = FEaaSComponent_1.FEaaSComponent;
|
|
124
|
-
}
|
|
125
|
-
else if (componentRendering.componentName === FEaaSWrapper_1.FEAAS_WRAPPER_RENDERING_NAME) {
|
|
126
|
-
component = FEaaSWrapper_1.FEaaSWrapper;
|
|
127
|
-
}
|
|
128
|
-
else if (componentRendering.componentName === BYOCComponent_1.BYOC_COMPONENT_RENDERING_NAME) {
|
|
129
|
-
component = BYOCComponent_1.BYOCComponent;
|
|
130
|
-
}
|
|
131
|
-
else if (componentRendering.componentName === BYOCWrapper_1.BYOC_WRAPPER_RENDERING_NAME) {
|
|
132
|
-
component = BYOCWrapper_1.BYOCWrapper;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
97
|
if (!component) {
|
|
136
98
|
console.error(`Placeholder ${name} contains unknown component ${componentRendering.componentName}. Ensure that a React component exists for it, and that it is registered in your componentFactory.js.`);
|
|
137
99
|
component = missingComponentComponent !== null && missingComponentComponent !== void 0 ? missingComponentComponent : MissingComponent_1.MissingComponent;
|
|
138
100
|
isEmpty = true;
|
|
139
101
|
}
|
|
140
|
-
|
|
102
|
+
// Only pass rendering data props to child components.
|
|
103
|
+
// Internal Placeholder/SitecoreContext props are excluded.
|
|
104
|
+
const childProps = Object.assign(Object.assign(Object.assign(Object.assign({}, commonProps), ((placeholderFields || componentRendering.fields) && {
|
|
141
105
|
fields: Object.assign(Object.assign({}, placeholderFields), componentRendering.fields),
|
|
142
106
|
})), ((placeholderParams || componentRendering.params) && {
|
|
143
107
|
params: Object.assign(Object.assign(Object.assign({}, placeholderParams), componentRendering.params), this.getSXAParams(componentRendering)),
|
|
144
108
|
})), { rendering: componentRendering });
|
|
145
|
-
|
|
109
|
+
const modifiedProps = modifyComponentProps ? modifyComponentProps(childProps) : childProps;
|
|
110
|
+
const finalProps = Object.assign(Object.assign({}, modifiedProps), passThroughComponentProps);
|
|
111
|
+
let rendered = react_1.default.createElement(component, finalProps);
|
|
146
112
|
if (!isEmpty) {
|
|
147
113
|
// assign type based on passed element - type='text/sitecore' should be ignored when renderEach Placeholder prop function is being used
|
|
148
114
|
const type = rendered.props.type === 'text/sitecore' ? rendered.props.type : '';
|
|
149
|
-
// the registered BYOC components are imported using dynamic(), so we need to account for that when passing the isDynamic prop to ErrorBoundary
|
|
150
|
-
const isByocWrapper = componentRendering.componentName === BYOCWrapper_1.BYOC_WRAPPER_RENDERING_NAME;
|
|
151
115
|
// all dynamic elements will have a separate render prop
|
|
152
116
|
const isDynamicComponent = !!((_a = component.render) === null || _a === void 0 ? void 0 : _a.preload);
|
|
153
117
|
// wrapping with error boundary could cause problems in case where parent component uses withPlaceholder HOC and tries to access its children props
|
|
154
118
|
// that's why we need to expose element's props here
|
|
155
|
-
rendered = (react_1.default.createElement(ErrorBoundary_1.default, Object.assign({ key: rendered.type + '-' + index, errorComponent: this.props.errorComponent, componentLoadingMessage: this.props.componentLoadingMessage, type: type, isDynamic: isDynamicComponent
|
|
156
|
-
}
|
|
157
|
-
// if editMode is equal to 'metadata' then emit shallow chromes for hydration in Pages
|
|
158
|
-
if (((_b = this.props.sitecoreContext) === null || _b === void 0 ? void 0 : _b.editMode) === layout_1.EditMode.Metadata) {
|
|
159
|
-
return (react_1.default.createElement(PlaceholderMetadata_1.PlaceholderMetadata, { key: key, rendering: rendering }, rendered));
|
|
119
|
+
rendered = (react_1.default.createElement(ErrorBoundary_1.default, Object.assign({ key: rendered.type + '-' + index, errorComponent: this.props.errorComponent, componentLoadingMessage: this.props.componentLoadingMessage, type: type, isDynamic: isDynamicComponent, disableSuspense: this.props.disableSuspense }, rendered.props), rendered));
|
|
160
120
|
}
|
|
161
121
|
return rendered;
|
|
162
122
|
})
|
|
163
123
|
.filter((element) => element); // remove nulls
|
|
164
|
-
if (((_a = this.props.sitecoreContext) === null || _a === void 0 ? void 0 : _a.editMode) === layout_1.EditMode.Metadata) {
|
|
165
|
-
return [
|
|
166
|
-
react_1.default.createElement(PlaceholderMetadata_1.PlaceholderMetadata, { key: this.props.rendering.uid, placeholderName: name, rendering: this.props.rendering }, transformedComponents),
|
|
167
|
-
];
|
|
168
|
-
}
|
|
169
124
|
return transformedComponents;
|
|
170
125
|
}
|
|
171
126
|
getComponentForRendering(renderingDefinition) {
|
|
@@ -197,6 +152,8 @@ class PlaceholderCommon extends react_1.default.Component {
|
|
|
197
152
|
if (!Array.isArray(attributes) && attributes && attributes.chrometype === 'placeholder') {
|
|
198
153
|
props.phkey = elem.attributes.key; // props that get rendered as dom attribute names need to be lowercase, otherwise React complains.
|
|
199
154
|
props.ref = this.addRef; // only need ref for placeholder containers, trying to add it to other components (e.g. stateless components) may result in a warning.
|
|
155
|
+
// EE may mutate chrome
|
|
156
|
+
props.suppressHydrationWarning = true;
|
|
200
157
|
}
|
|
201
158
|
return react_1.default.createElement(elem.name, props);
|
|
202
159
|
}
|
|
@@ -36,20 +36,19 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
36
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
37
|
exports.RichText = void 0;
|
|
38
38
|
const react_1 = __importStar(require("react"));
|
|
39
|
-
const withFieldMetadata_1 = require("../enhancers/withFieldMetadata");
|
|
40
|
-
const withEmptyFieldEditingComponent_1 = require("../enhancers/withEmptyFieldEditingComponent");
|
|
41
|
-
const DefaultEmptyFieldEditingComponents_1 = require("./DefaultEmptyFieldEditingComponents");
|
|
42
39
|
const layout_1 = require("@sitecore-jss/sitecore-jss/layout");
|
|
43
|
-
exports.RichText = (0,
|
|
44
|
-
// eslint-disable-next-line react/display-name
|
|
45
|
-
(0, react_1.forwardRef)((_a, ref) => {
|
|
40
|
+
exports.RichText = (0, react_1.forwardRef)((_a, ref) => {
|
|
46
41
|
var { field, tag = 'div', editable = true } = _a, otherProps = __rest(_a, ["field", "tag", "editable"]);
|
|
47
|
-
|
|
42
|
+
const html = field && (field.editable && editable ? field.editable : field.value);
|
|
43
|
+
// Keep the object reference stable across re-renders when the html is unchanged,
|
|
44
|
+
// since React DOM compares dangerouslySetInnerHTML by reference and re-sets
|
|
45
|
+
// innerHTML (recreating all child DOM nodes) whenever it changes.
|
|
46
|
+
const dangerouslySetInnerHTML = (0, react_1.useMemo)(() => (html !== undefined && html !== '' ? { __html: html } : undefined), [html]);
|
|
47
|
+
if (!field || (!field.editable && (0, layout_1.isFieldValueEmpty)(field)) || !dangerouslySetInnerHTML) {
|
|
48
48
|
return null;
|
|
49
49
|
}
|
|
50
|
-
const htmlProps = Object.assign({ dangerouslySetInnerHTML
|
|
51
|
-
|
|
52
|
-
}, ref }, otherProps);
|
|
50
|
+
const htmlProps = Object.assign(Object.assign({ dangerouslySetInnerHTML,
|
|
51
|
+
ref }, (field.editable && editable ? { suppressHydrationWarning: true } : {})), otherProps);
|
|
53
52
|
return react_1.default.createElement(tag || 'div', htmlProps);
|
|
54
|
-
})
|
|
53
|
+
});
|
|
55
54
|
exports.RichText.displayName = 'RichText';
|
|
@@ -4,15 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.SitecoreContext = exports.ComponentFactoryReactContext = exports.SitecoreContextReactContext = void 0;
|
|
7
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
8
7
|
const react_1 = __importDefault(require("react"));
|
|
9
8
|
const react_2 = __importDefault(require("fast-deep-equal/es6/react"));
|
|
10
|
-
const sitecore_jss_1 = require("@sitecore-jss/sitecore-jss");
|
|
11
9
|
exports.SitecoreContextReactContext = react_1.default.createContext({});
|
|
12
10
|
exports.ComponentFactoryReactContext = react_1.default.createContext({});
|
|
13
11
|
class SitecoreContext extends react_1.default.Component {
|
|
14
12
|
constructor(props) {
|
|
15
|
-
var _a, _b, _c, _d;
|
|
16
13
|
super(props);
|
|
17
14
|
/**
|
|
18
15
|
* Update context state. Value can be @type {LayoutServiceData} which will be automatically transformed
|
|
@@ -27,14 +24,9 @@ class SitecoreContext extends react_1.default.Component {
|
|
|
27
24
|
});
|
|
28
25
|
};
|
|
29
26
|
const context = this.constructContext(props.layoutData);
|
|
30
|
-
let api = props.api;
|
|
31
|
-
if (((_b = (_a = props.api) === null || _a === void 0 ? void 0 : _a.edge) === null || _b === void 0 ? void 0 : _b.contextId) && !((_d = (_c = props.api) === null || _c === void 0 ? void 0 : _c.edge) === null || _d === void 0 ? void 0 : _d.edgeUrl)) {
|
|
32
|
-
api = Object.assign(Object.assign({}, props.api), { edge: Object.assign(Object.assign({}, props.api.edge), { edgeUrl: sitecore_jss_1.constants.SITECORE_EDGE_URL_DEFAULT }) });
|
|
33
|
-
}
|
|
34
27
|
this.state = {
|
|
35
28
|
context,
|
|
36
29
|
setContext: this.setContext,
|
|
37
|
-
api,
|
|
38
30
|
};
|
|
39
31
|
}
|
|
40
32
|
constructContext(layoutData) {
|
|
@@ -16,18 +16,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.Text = void 0;
|
|
18
18
|
const react_1 = __importDefault(require("react"));
|
|
19
|
-
const withFieldMetadata_1 = require("../enhancers/withFieldMetadata");
|
|
20
|
-
const withEmptyFieldEditingComponent_1 = require("../enhancers/withEmptyFieldEditingComponent");
|
|
21
|
-
const DefaultEmptyFieldEditingComponents_1 = require("./DefaultEmptyFieldEditingComponents");
|
|
22
19
|
const layout_1 = require("@sitecore-jss/sitecore-jss/layout");
|
|
23
|
-
|
|
20
|
+
const Text = (_a) => {
|
|
24
21
|
var { field, tag, editable = true, encode = true } = _a, otherProps = __rest(_a, ["field", "tag", "editable", "encode"]);
|
|
25
22
|
if (!field || (!field.editable && (0, layout_1.isFieldValueEmpty)(field))) {
|
|
26
23
|
return null;
|
|
27
24
|
}
|
|
28
25
|
// can't use editable value if we want to output unencoded
|
|
29
26
|
if (!encode) {
|
|
30
|
-
// eslint-disable-next-line no-param-reassign
|
|
31
27
|
editable = false;
|
|
32
28
|
}
|
|
33
29
|
const isEditable = field.editable && editable;
|
|
@@ -68,5 +64,6 @@ exports.Text = (0, withFieldMetadata_1.withFieldMetadata)((0, withEmptyFieldEdit
|
|
|
68
64
|
else {
|
|
69
65
|
return react_1.default.createElement(react_1.default.Fragment, null, children);
|
|
70
66
|
}
|
|
71
|
-
}
|
|
67
|
+
};
|
|
68
|
+
exports.Text = Text;
|
|
72
69
|
exports.Text.displayName = 'Text';
|
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.withDatasourceCheck = exports.DefaultEditingError = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const layout_1 = require("@sitecore-jss/sitecore-jss/layout");
|
|
9
8
|
const withSitecoreContext_1 = require("./withSitecoreContext");
|
|
10
9
|
const DefaultEditingError = () => (react_1.default.createElement("div", { className: "sc-jss-editing-error", role: "alert" }, "Datasource is required. Please choose a content item for this component."));
|
|
11
10
|
exports.DefaultEditingError = DefaultEditingError;
|
|
@@ -22,9 +21,7 @@ function withDatasourceCheck(options) {
|
|
|
22
21
|
var _a, _b;
|
|
23
22
|
const { sitecoreContext } = (0, withSitecoreContext_1.useSitecoreContext)();
|
|
24
23
|
const EditingError = (_a = options === null || options === void 0 ? void 0 : options.editingErrorComponent) !== null && _a !== void 0 ? _a : exports.DefaultEditingError;
|
|
25
|
-
|
|
26
|
-
const isDesignLibrary = (sitecoreContext === null || sitecoreContext === void 0 ? void 0 : sitecoreContext.renderingType) === layout_1.RenderingType.Component;
|
|
27
|
-
return isDesignLibrary || ((_b = props.rendering) === null || _b === void 0 ? void 0 : _b.dataSource) ? (react_1.default.createElement(Component, Object.assign({}, props))) : sitecoreContext.pageEditing ? (react_1.default.createElement(EditingError, null)) : null;
|
|
24
|
+
return ((_b = props.rendering) === null || _b === void 0 ? void 0 : _b.dataSource) ? (react_1.default.createElement(Component, Object.assign({}, props))) : sitecoreContext.pageEditing ? (react_1.default.createElement(EditingError, null)) : null;
|
|
28
25
|
};
|
|
29
26
|
};
|
|
30
27
|
}
|
|
@@ -42,13 +42,13 @@ function withPlaceholder(placeholders, options) {
|
|
|
42
42
|
definitelyArrayPlacholders.forEach((placeholder) => {
|
|
43
43
|
let placeholderData;
|
|
44
44
|
if (typeof placeholder !== 'string' && placeholder.placeholder && placeholder.prop) {
|
|
45
|
-
placeholderData = PlaceholderCommon_1.PlaceholderCommon.getPlaceholderDataFromRenderingData(renderingData, placeholder.placeholder
|
|
45
|
+
placeholderData = PlaceholderCommon_1.PlaceholderCommon.getPlaceholderDataFromRenderingData(renderingData, placeholder.placeholder);
|
|
46
46
|
if (placeholderData) {
|
|
47
47
|
childProps[placeholder.prop] = this.getComponentsForRenderingData(placeholderData);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
else {
|
|
51
|
-
placeholderData = PlaceholderCommon_1.PlaceholderCommon.getPlaceholderDataFromRenderingData(renderingData, placeholder
|
|
51
|
+
placeholderData = PlaceholderCommon_1.PlaceholderCommon.getPlaceholderDataFromRenderingData(renderingData, placeholder);
|
|
52
52
|
if (placeholderData) {
|
|
53
53
|
childProps[placeholder] = this.getComponentsForRenderingData(placeholderData);
|
|
54
54
|
}
|
|
@@ -12,7 +12,7 @@ const SitecoreContext_1 = require("../components/SitecoreContext");
|
|
|
12
12
|
function withSitecoreContext(options) {
|
|
13
13
|
return function withSitecoreContextHoc(Component) {
|
|
14
14
|
return function WithSitecoreContext(props) {
|
|
15
|
-
return (react_1.default.createElement(SitecoreContext_1.SitecoreContextReactContext.Consumer, null, (context) => (react_1.default.createElement(Component, Object.assign({}, props, { sitecoreContext: context.context,
|
|
15
|
+
return (react_1.default.createElement(SitecoreContext_1.SitecoreContextReactContext.Consumer, null, (context) => (react_1.default.createElement(Component, Object.assign({}, props, { sitecoreContext: context.context, updateSitecoreContext: options && options.updatable && context.setContext })))));
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
18
|
}
|
|
@@ -42,7 +42,6 @@ function useSitecoreContext(options) {
|
|
|
42
42
|
const reactContext = react_1.default.useContext(SitecoreContext_1.SitecoreContextReactContext);
|
|
43
43
|
const updatable = options === null || options === void 0 ? void 0 : options.updatable;
|
|
44
44
|
return {
|
|
45
|
-
api: reactContext.api,
|
|
46
45
|
sitecoreContext: reactContext.context,
|
|
47
46
|
updateSitecoreContext: updatable ? reactContext.setContext : undefined,
|
|
48
47
|
};
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.DefaultEmptyFieldEditingComponentImage = exports.DefaultEmptyFieldEditingComponentText = exports.EditingScripts = exports.withEmptyFieldEditingComponent = void 0;
|
|
3
|
+
exports.ComponentBuilder = exports.EditFrame = exports.withDatasourceCheck = exports.withPlaceholder = exports.withEditorChromes = exports.useSitecoreContext = exports.withSitecoreContext = exports.SitecoreContextReactContext = exports.SitecoreContext = exports.VisitorIdentification = exports.File = exports.Link = exports.DateField = exports.Text = exports.RichText = exports.getEEMarkup = exports.Image = exports.Placeholder = exports.mediaApi = exports.GraphQLRequestClient = exports.DefaultRetryStrategy = exports.RestDictionaryService = exports.GraphQLDictionaryService = exports.trackingApi = exports.getFieldValue = exports.getChildPlaceholder = exports.RestLayoutService = exports.GraphQLLayoutService = exports.LayoutServicePageState = exports.DefaultEditFrameButtons = exports.DefaultEditFrameButton = exports.resetEditorChromes = exports.isEditorActive = exports.NativeDataFetcher = exports.MemoryCacheClient = exports.ClientError = exports.enableDebug = exports.constants = void 0;
|
|
5
4
|
var sitecore_jss_1 = require("@sitecore-jss/sitecore-jss");
|
|
6
5
|
Object.defineProperty(exports, "constants", { enumerable: true, get: function () { return sitecore_jss_1.constants; } });
|
|
7
6
|
Object.defineProperty(exports, "enableDebug", { enumerable: true, get: function () { return sitecore_jss_1.enableDebug; } });
|
|
@@ -14,14 +13,11 @@ Object.defineProperty(exports, "resetEditorChromes", { enumerable: true, get: fu
|
|
|
14
13
|
Object.defineProperty(exports, "DefaultEditFrameButton", { enumerable: true, get: function () { return editing_1.DefaultEditFrameButton; } });
|
|
15
14
|
Object.defineProperty(exports, "DefaultEditFrameButtons", { enumerable: true, get: function () { return editing_1.DefaultEditFrameButtons; } });
|
|
16
15
|
var layout_1 = require("@sitecore-jss/sitecore-jss/layout");
|
|
17
|
-
Object.defineProperty(exports, "getContentStylesheetLink", { enumerable: true, get: function () { return layout_1.getContentStylesheetLink; } });
|
|
18
|
-
Object.defineProperty(exports, "getDesignLibraryStylesheetLinks", { enumerable: true, get: function () { return layout_1.getDesignLibraryStylesheetLinks; } });
|
|
19
16
|
Object.defineProperty(exports, "LayoutServicePageState", { enumerable: true, get: function () { return layout_1.LayoutServicePageState; } });
|
|
20
17
|
Object.defineProperty(exports, "GraphQLLayoutService", { enumerable: true, get: function () { return layout_1.GraphQLLayoutService; } });
|
|
21
18
|
Object.defineProperty(exports, "RestLayoutService", { enumerable: true, get: function () { return layout_1.RestLayoutService; } });
|
|
22
19
|
Object.defineProperty(exports, "getChildPlaceholder", { enumerable: true, get: function () { return layout_1.getChildPlaceholder; } });
|
|
23
20
|
Object.defineProperty(exports, "getFieldValue", { enumerable: true, get: function () { return layout_1.getFieldValue; } });
|
|
24
|
-
Object.defineProperty(exports, "EditMode", { enumerable: true, get: function () { return layout_1.EditMode; } });
|
|
25
21
|
var tracking_1 = require("@sitecore-jss/sitecore-jss/tracking");
|
|
26
22
|
Object.defineProperty(exports, "trackingApi", { enumerable: true, get: function () { return tracking_1.trackingApi; } });
|
|
27
23
|
var i18n_1 = require("@sitecore-jss/sitecore-jss/i18n");
|
|
@@ -34,8 +30,6 @@ var media_1 = require("@sitecore-jss/sitecore-jss/media");
|
|
|
34
30
|
Object.defineProperty(exports, "mediaApi", { enumerable: true, get: function () { return media_1.mediaApi; } });
|
|
35
31
|
var Placeholder_1 = require("./components/Placeholder");
|
|
36
32
|
Object.defineProperty(exports, "Placeholder", { enumerable: true, get: function () { return Placeholder_1.Placeholder; } });
|
|
37
|
-
var Form_1 = require("./components/Form");
|
|
38
|
-
Object.defineProperty(exports, "Form", { enumerable: true, get: function () { return Form_1.Form; } });
|
|
39
33
|
var Image_1 = require("./components/Image");
|
|
40
34
|
Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return Image_1.Image; } });
|
|
41
35
|
Object.defineProperty(exports, "getEEMarkup", { enumerable: true, get: function () { return Image_1.getEEMarkup; } });
|
|
@@ -45,18 +39,6 @@ var Text_1 = require("./components/Text");
|
|
|
45
39
|
Object.defineProperty(exports, "Text", { enumerable: true, get: function () { return Text_1.Text; } });
|
|
46
40
|
var Date_1 = require("./components/Date");
|
|
47
41
|
Object.defineProperty(exports, "DateField", { enumerable: true, get: function () { return Date_1.DateField; } });
|
|
48
|
-
var FEaaSComponent_1 = require("./components/FEaaSComponent");
|
|
49
|
-
Object.defineProperty(exports, "FEaaSComponent", { enumerable: true, get: function () { return FEaaSComponent_1.FEaaSComponent; } });
|
|
50
|
-
Object.defineProperty(exports, "fetchFEaaSComponentServerProps", { enumerable: true, get: function () { return FEaaSComponent_1.fetchFEaaSComponentServerProps; } });
|
|
51
|
-
var FEaaSWrapper_1 = require("./components/FEaaSWrapper");
|
|
52
|
-
Object.defineProperty(exports, "FEaaSWrapper", { enumerable: true, get: function () { return FEaaSWrapper_1.FEaaSWrapper; } });
|
|
53
|
-
var DesignLibrary_1 = require("./components/DesignLibrary");
|
|
54
|
-
Object.defineProperty(exports, "DesignLibrary", { enumerable: true, get: function () { return DesignLibrary_1.DesignLibrary; } });
|
|
55
|
-
var BYOCComponent_1 = require("./components/BYOCComponent");
|
|
56
|
-
Object.defineProperty(exports, "BYOCComponent", { enumerable: true, get: function () { return BYOCComponent_1.BYOCComponent; } });
|
|
57
|
-
Object.defineProperty(exports, "fetchBYOCComponentServerProps", { enumerable: true, get: function () { return BYOCComponent_1.fetchBYOCComponentServerProps; } });
|
|
58
|
-
var BYOCWrapper_1 = require("./components/BYOCWrapper");
|
|
59
|
-
Object.defineProperty(exports, "BYOCWrapper", { enumerable: true, get: function () { return BYOCWrapper_1.BYOCWrapper; } });
|
|
60
42
|
var Link_1 = require("./components/Link");
|
|
61
43
|
Object.defineProperty(exports, "Link", { enumerable: true, get: function () { return Link_1.Link; } });
|
|
62
44
|
var File_1 = require("./components/File");
|
|
@@ -79,12 +61,3 @@ var EditFrame_1 = require("./components/EditFrame");
|
|
|
79
61
|
Object.defineProperty(exports, "EditFrame", { enumerable: true, get: function () { return EditFrame_1.EditFrame; } });
|
|
80
62
|
var ComponentBuilder_1 = require("./ComponentBuilder");
|
|
81
63
|
Object.defineProperty(exports, "ComponentBuilder", { enumerable: true, get: function () { return ComponentBuilder_1.ComponentBuilder; } });
|
|
82
|
-
var withFieldMetadata_1 = require("./enhancers/withFieldMetadata");
|
|
83
|
-
Object.defineProperty(exports, "withFieldMetadata", { enumerable: true, get: function () { return withFieldMetadata_1.withFieldMetadata; } });
|
|
84
|
-
var withEmptyFieldEditingComponent_1 = require("./enhancers/withEmptyFieldEditingComponent");
|
|
85
|
-
Object.defineProperty(exports, "withEmptyFieldEditingComponent", { enumerable: true, get: function () { return withEmptyFieldEditingComponent_1.withEmptyFieldEditingComponent; } });
|
|
86
|
-
var EditingScripts_1 = require("./components/EditingScripts");
|
|
87
|
-
Object.defineProperty(exports, "EditingScripts", { enumerable: true, get: function () { return EditingScripts_1.EditingScripts; } });
|
|
88
|
-
var DefaultEmptyFieldEditingComponents_1 = require("./components/DefaultEmptyFieldEditingComponents");
|
|
89
|
-
Object.defineProperty(exports, "DefaultEmptyFieldEditingComponentText", { enumerable: true, get: function () { return DefaultEmptyFieldEditingComponents_1.DefaultEmptyFieldEditingComponentText; } });
|
|
90
|
-
Object.defineProperty(exports, "DefaultEmptyFieldEditingComponentImage", { enumerable: true, get: function () { return DefaultEmptyFieldEditingComponents_1.DefaultEmptyFieldEditingComponentImage; } });
|
package/dist/cjs/utils.js
CHANGED
|
@@ -11,8 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
return t;
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.
|
|
15
|
-
const layout_1 = require("@sitecore-jss/sitecore-jss/layout");
|
|
14
|
+
exports.getAttributesString = exports.addClassName = exports.convertAttributesToReactProps = exports.convertStyleAttribute = exports.convertKebabCasetoCamelCase = void 0;
|
|
16
15
|
const style_attr_1 = require("style-attr");
|
|
17
16
|
// https://stackoverflow.com/a/10426674/9324
|
|
18
17
|
const convertKebabCasetoCamelCase = (str) => str.replace(/^.|-./g, (letter, index) => index === 0 ? letter.toLowerCase() : letter.substr(1).toUpperCase());
|
|
@@ -102,17 +101,3 @@ const getAttributesString = (attributes) => {
|
|
|
102
101
|
return attributesEntries.join(' ');
|
|
103
102
|
};
|
|
104
103
|
exports.getAttributesString = getAttributesString;
|
|
105
|
-
/**
|
|
106
|
-
* Used in FEAAS and BYOC implementations to convert datasource item field values into component props
|
|
107
|
-
* @param {ComponentFields} fields field collection from Sitecore
|
|
108
|
-
* @returns JSON object that can be used as props
|
|
109
|
-
*/
|
|
110
|
-
const getDataFromFields = (fields) => {
|
|
111
|
-
let data = {};
|
|
112
|
-
data = Object.entries(fields).reduce((acc, [key]) => {
|
|
113
|
-
acc[key] = (0, layout_1.getFieldValue)(fields, key);
|
|
114
|
-
return acc;
|
|
115
|
-
}, data);
|
|
116
|
-
return data;
|
|
117
|
-
};
|
|
118
|
-
exports.getDataFromFields = getDataFromFields;
|
|
@@ -10,11 +10,8 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import React from 'react';
|
|
13
|
-
import { withFieldMetadata } from '../enhancers/withFieldMetadata';
|
|
14
|
-
import { withEmptyFieldEditingComponent } from '../enhancers/withEmptyFieldEditingComponent';
|
|
15
|
-
import { DefaultEmptyFieldEditingComponentText } from './DefaultEmptyFieldEditingComponents';
|
|
16
13
|
import { isFieldValueEmpty } from '@sitecore-jss/sitecore-jss/layout';
|
|
17
|
-
export const DateField =
|
|
14
|
+
export const DateField = (_a) => {
|
|
18
15
|
var { field, tag, editable = true, render } = _a, otherProps = __rest(_a, ["field", "tag", "editable", "render"]);
|
|
19
16
|
if (!field || (!field.editable && isFieldValueEmpty(field))) {
|
|
20
17
|
return null;
|
|
@@ -38,5 +35,5 @@ export const DateField = withFieldMetadata(withEmptyFieldEditingComponent((_a) =
|
|
|
38
35
|
else {
|
|
39
36
|
return React.createElement(React.Fragment, null, children);
|
|
40
37
|
}
|
|
41
|
-
}
|
|
38
|
+
};
|
|
42
39
|
DateField.displayName = 'Date';
|