@sitecore-jss/sitecore-jss-react 21.5.2-canary.1 → 21.5.2-canary.3

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.
@@ -87,24 +87,21 @@ class BYOCComponent extends react_1.default.Component {
87
87
  };
88
88
  const fallbackComponent = this.props.missingComponentComponent ? (react_1.default.createElement(this.props.missingComponentComponent, Object.assign({}, unRegisteredComponentProps))) : (react_1.default.createElement(MissingComponent_1.MissingComponent, Object.assign({}, unRegisteredComponentProps)));
89
89
  const ErrorComponent = this.props.errorComponent;
90
- const isNull = props.fetchedData && Object.keys(props.fetchedData).length === 0;
91
- let componentProps = isNull ? null : props.fetchedData;
92
- if (!componentProps) {
93
- if ((_a = props.params) === null || _a === void 0 ? void 0 : _a.ComponentProps) {
94
- try {
95
- componentProps = (_b = JSON.parse(props.params.ComponentProps)) !== null && _b !== void 0 ? _b : {};
96
- }
97
- catch (e) {
98
- console.error(`Parsing props for ${componentName} component from rendering params failed. Error: ${e}`);
99
- return ErrorComponent ? (react_1.default.createElement(ErrorComponent, { error: e })) : (react_1.default.createElement(DefaultErrorComponent, { error: e }));
100
- }
90
+ let componentProps = null;
91
+ if ((_a = props.params) === null || _a === void 0 ? void 0 : _a.ComponentProps) {
92
+ try {
93
+ componentProps = (_b = JSON.parse(props.params.ComponentProps)) !== null && _b !== void 0 ? _b : {};
101
94
  }
102
- else {
103
- componentProps = props.fields ? (0, utils_1.getDataFromFields)(props.fields) : {};
95
+ catch (e) {
96
+ console.error(`Parsing props for ${componentName} component from rendering params failed. Error: ${e}`);
97
+ return ErrorComponent ? (react_1.default.createElement(ErrorComponent, { error: e })) : (react_1.default.createElement(DefaultErrorComponent, { error: e }));
104
98
  }
105
99
  }
100
+ else {
101
+ componentProps = props.fields ? (0, utils_1.getDataFromFields)(props.fields) : {};
102
+ }
106
103
  // we render fallback on client to avoid problems with client-only components
107
- return (react_1.default.createElement(FEAAS.ExternalComponent, Object.assign({ componentName: componentName, clientFallback: fallbackComponent }, componentProps)));
104
+ return (react_1.default.createElement(FEAAS.ExternalComponent, Object.assign({ componentName: componentName, clientFallback: fallbackComponent, datasources: props.fetchedData }, componentProps)));
108
105
  }
109
106
  }
110
107
  exports.BYOCComponent = BYOCComponent;
@@ -114,8 +111,8 @@ exports.BYOCComponent = BYOCComponent;
114
111
  */
115
112
  function fetchBYOCComponentServerProps(params) {
116
113
  return __awaiter(this, void 0, void 0, function* () {
117
- const fetchDataOptions = params.ComponentProps
118
- ? JSON.parse(params.ComponentProps)
114
+ const fetchDataOptions = params.ComponentDataOverride
115
+ ? JSON.parse(params.ComponentDataOverride)
119
116
  : {};
120
117
  const fetchedData = yield FEAAS.DataSettings.fetch(fetchDataOptions || {});
121
118
  return {
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ComponentBuilder = exports.EditFrame = exports.withDatasourceCheck = exports.withPlaceholder = exports.withEditorChromes = exports.useSitecoreContext = exports.withSitecoreContext = exports.SitecoreContextReactContext = exports.SitecoreContext = exports.VisitorIdentification = exports.File = exports.LinkPropTypes = exports.Link = exports.BYOCWrapper = exports.fetchBYOCComponentServerProps = exports.BYOCComponent = exports.FEaaSWrapper = exports.fetchFEaaSComponentServerProps = exports.FEaaSComponent = exports.DateField = exports.Text = exports.RichTextPropTypes = exports.RichText = exports.getEEMarkup = exports.Image = exports.Placeholder = exports.getFEAASLibraryStylesheetLinks = exports.mediaApi = 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.enableDebug = exports.constants = 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.LinkPropTypes = exports.Link = exports.BYOCWrapper = exports.fetchBYOCComponentServerProps = exports.BYOCComponent = exports.FEaaSWrapper = exports.fetchFEaaSComponentServerProps = exports.FEaaSComponent = exports.DateField = exports.Text = exports.RichTextPropTypes = exports.RichText = exports.getEEMarkup = exports.Image = exports.Placeholder = exports.getFEAASLibraryStylesheetLinks = exports.mediaApi = exports.RestDictionaryService = exports.GraphQLDictionaryService = exports.trackingApi = exports.getFieldValue = exports.getChildPlaceholder = exports.RestLayoutService = exports.GraphQLLayoutService = exports.LayoutServicePageState = exports.getContentStylesheetLink = exports.DefaultEditFrameButtons = exports.DefaultEditFrameButton = exports.resetEditorChromes = exports.isEditorActive = exports.enableDebug = exports.constants = void 0;
4
4
  var sitecore_jss_1 = require("@sitecore-jss/sitecore-jss");
5
5
  Object.defineProperty(exports, "constants", { enumerable: true, get: function () { return sitecore_jss_1.constants; } });
6
6
  Object.defineProperty(exports, "enableDebug", { enumerable: true, get: function () { return sitecore_jss_1.enableDebug; } });
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "resetEditorChromes", { enumerable: true, get: fu
10
10
  Object.defineProperty(exports, "DefaultEditFrameButton", { enumerable: true, get: function () { return utils_1.DefaultEditFrameButton; } });
11
11
  Object.defineProperty(exports, "DefaultEditFrameButtons", { enumerable: true, get: function () { return utils_1.DefaultEditFrameButtons; } });
12
12
  var layout_1 = require("@sitecore-jss/sitecore-jss/layout");
13
+ Object.defineProperty(exports, "getContentStylesheetLink", { enumerable: true, get: function () { return layout_1.getContentStylesheetLink; } });
13
14
  Object.defineProperty(exports, "LayoutServicePageState", { enumerable: true, get: function () { return layout_1.LayoutServicePageState; } });
14
15
  Object.defineProperty(exports, "GraphQLLayoutService", { enumerable: true, get: function () { return layout_1.GraphQLLayoutService; } });
15
16
  Object.defineProperty(exports, "RestLayoutService", { enumerable: true, get: function () { return layout_1.RestLayoutService; } });
@@ -58,24 +58,21 @@ export class BYOCComponent extends React.Component {
58
58
  };
59
59
  const fallbackComponent = this.props.missingComponentComponent ? (React.createElement(this.props.missingComponentComponent, Object.assign({}, unRegisteredComponentProps))) : (React.createElement(MissingComponent, Object.assign({}, unRegisteredComponentProps)));
60
60
  const ErrorComponent = this.props.errorComponent;
61
- const isNull = props.fetchedData && Object.keys(props.fetchedData).length === 0;
62
- let componentProps = isNull ? null : props.fetchedData;
63
- if (!componentProps) {
64
- if ((_a = props.params) === null || _a === void 0 ? void 0 : _a.ComponentProps) {
65
- try {
66
- componentProps = (_b = JSON.parse(props.params.ComponentProps)) !== null && _b !== void 0 ? _b : {};
67
- }
68
- catch (e) {
69
- console.error(`Parsing props for ${componentName} component from rendering params failed. Error: ${e}`);
70
- return ErrorComponent ? (React.createElement(ErrorComponent, { error: e })) : (React.createElement(DefaultErrorComponent, { error: e }));
71
- }
61
+ let componentProps = null;
62
+ if ((_a = props.params) === null || _a === void 0 ? void 0 : _a.ComponentProps) {
63
+ try {
64
+ componentProps = (_b = JSON.parse(props.params.ComponentProps)) !== null && _b !== void 0 ? _b : {};
72
65
  }
73
- else {
74
- componentProps = props.fields ? getDataFromFields(props.fields) : {};
66
+ catch (e) {
67
+ console.error(`Parsing props for ${componentName} component from rendering params failed. Error: ${e}`);
68
+ return ErrorComponent ? (React.createElement(ErrorComponent, { error: e })) : (React.createElement(DefaultErrorComponent, { error: e }));
75
69
  }
76
70
  }
71
+ else {
72
+ componentProps = props.fields ? getDataFromFields(props.fields) : {};
73
+ }
77
74
  // we render fallback on client to avoid problems with client-only components
78
- return (React.createElement(FEAAS.ExternalComponent, Object.assign({ componentName: componentName, clientFallback: fallbackComponent }, componentProps)));
75
+ return (React.createElement(FEAAS.ExternalComponent, Object.assign({ componentName: componentName, clientFallback: fallbackComponent, datasources: props.fetchedData }, componentProps)));
79
76
  }
80
77
  }
81
78
  /**
@@ -84,8 +81,8 @@ export class BYOCComponent extends React.Component {
84
81
  */
85
82
  export function fetchBYOCComponentServerProps(params) {
86
83
  return __awaiter(this, void 0, void 0, function* () {
87
- const fetchDataOptions = params.ComponentProps
88
- ? JSON.parse(params.ComponentProps)
84
+ const fetchDataOptions = params.ComponentDataOverride
85
+ ? JSON.parse(params.ComponentDataOverride)
89
86
  : {};
90
87
  const fetchedData = yield FEAAS.DataSettings.fetch(fetchDataOptions || {});
91
88
  return {
package/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { constants, enableDebug } from '@sitecore-jss/sitecore-jss';
2
2
  export { isEditorActive, resetEditorChromes, DefaultEditFrameButton, DefaultEditFrameButtons, } from '@sitecore-jss/sitecore-jss/utils';
3
- export { LayoutServicePageState, GraphQLLayoutService, RestLayoutService, getChildPlaceholder, getFieldValue, } from '@sitecore-jss/sitecore-jss/layout';
3
+ export { getContentStylesheetLink, LayoutServicePageState, GraphQLLayoutService, RestLayoutService, getChildPlaceholder, getFieldValue, } from '@sitecore-jss/sitecore-jss/layout';
4
4
  export { trackingApi, } from '@sitecore-jss/sitecore-jss/tracking';
5
5
  export { GraphQLDictionaryService, RestDictionaryService, } from '@sitecore-jss/sitecore-jss/i18n';
6
6
  export { mediaApi } from '@sitecore-jss/sitecore-jss/media';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sitecore-jss/sitecore-jss-react",
3
- "version": "21.5.2-canary.1",
3
+ "version": "21.5.2-canary.3",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
6
6
  "sideEffects": false,
@@ -27,7 +27,7 @@
27
27
  "url": "https://github.com/sitecore/jss/issues"
28
28
  },
29
29
  "devDependencies": {
30
- "@sitecore-feaas/clientside": "^0.3.17",
30
+ "@sitecore-feaas/clientside": "^0.5.4",
31
31
  "@types/chai": "^4.3.4",
32
32
  "@types/chai-string": "^1.4.2",
33
33
  "@types/deep-equal": "^1.0.1",
@@ -58,19 +58,19 @@
58
58
  "typescript": "~4.9.3"
59
59
  },
60
60
  "peerDependencies": {
61
- "@sitecore-feaas/clientside": "^0.3.17",
61
+ "@sitecore-feaas/clientside": "^0.5.4",
62
62
  "react": "^18.2.0",
63
63
  "react-dom": "^18.2.0"
64
64
  },
65
65
  "dependencies": {
66
- "@sitecore-jss/sitecore-jss": "^21.5.2-canary.1",
66
+ "@sitecore-jss/sitecore-jss": "^21.5.2-canary.3",
67
67
  "deep-equal": "^2.1.0",
68
68
  "prop-types": "^15.8.1",
69
69
  "style-attr": "^1.3.0"
70
70
  },
71
71
  "description": "",
72
72
  "types": "types/index.d.ts",
73
- "gitHead": "91879eeca4386e74c511d91e65871c9ee8e5059f",
73
+ "gitHead": "901eaa31fb2cfdc84cbe2070ae849fd97090ce07",
74
74
  "files": [
75
75
  "dist",
76
76
  "types"
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import { ComponentType } from 'react';
2
3
  import { ComponentFactory } from './components/sharedTypes';
3
4
  /**
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  import { ComponentFields } from '@sitecore-jss/sitecore-jss/layout';
3
4
  import { MissingComponentProps } from './MissingComponent';
@@ -24,6 +25,10 @@ export type BYOCComponentParams = {
24
25
  * JSON props to pass into rendered component
25
26
  */
26
27
  ComponentProps?: string;
28
+ /**
29
+ * A JSON object with data sources to be fetched and passed to the component
30
+ */
31
+ ComponentDataOverride?: string;
27
32
  /**
28
33
  * A string with classes that can be used to apply themes, via SXA functionality
29
34
  */
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  export interface DateFieldProps {
3
4
  /** The date field data. */
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React, { PropsWithChildren } from 'react';
2
3
  import { EditFrameDataSource, EditButtonTypes } from '@sitecore-jss/sitecore-jss/utils';
3
4
  export interface EditFrameProps {
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  export interface FileFieldValue {
3
4
  [propName: string]: unknown;
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  export declare const HiddenRendering: () => React.JSX.Element;
3
4
  export declare const HIDDEN_RENDERING_NAME = "Hidden Rendering";
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  export interface ImageFieldValue {
3
4
  [attributeName: string]: unknown;
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  import PropTypes from 'prop-types';
3
4
  export interface LinkFieldValue {
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  export interface MissingComponentProps {
3
4
  rendering?: {
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  import { PlaceholderProps } from './PlaceholderCommon';
3
4
  import { ComponentRendering, HtmlElementRendering } from '@sitecore-jss/sitecore-jss/layout';
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React, { ComponentType } from 'react';
2
3
  import PropTypes from 'prop-types';
3
4
  import { ComponentFactory } from './sharedTypes';
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  import PropTypes from 'prop-types';
3
4
  export interface RichTextField {
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  import PropTypes from 'prop-types';
3
4
  import { ComponentFactory } from './sharedTypes';
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import { FunctionComponent } from 'react';
2
3
  export interface TextField {
3
4
  value?: string | number;
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  interface VisitorIdentificationProps {
3
4
  defer?: boolean;
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import { ComponentType } from 'react';
2
3
  /**
3
4
  * @param {string} componentName component to be imported from the component factory
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  import { ComponentFactory } from '../components/sharedTypes';
3
4
  export interface ComponentFactoryProps {
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  import { ComponentRendering } from '@sitecore-jss/sitecore-jss/layout';
3
4
  export declare const DefaultEditingError: () => JSX.Element;
@@ -1,2 +1,3 @@
1
+ /// <reference types="@types/react" />
1
2
  import React from 'react';
2
3
  export declare const withEditorChromes: (WrappedComponent: React.ComponentClass<unknown> | React.FC<unknown>) => React.ComponentClass<{}, any>;
@@ -1,3 +1,4 @@
1
+ /// <reference types="@types/react" />
1
2
  import React, { ReactNode } from 'react';
2
3
  import { SitecoreContextValue } from '../components/SitecoreContext';
3
4
  export interface WithSitecoreContextOptions {
package/types/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { constants, enableDebug } from '@sitecore-jss/sitecore-jss';
2
2
  export { isEditorActive, resetEditorChromes, DefaultEditFrameButton, DefaultEditFrameButtons, EditFrameDataSource, FieldEditButton, WebEditButton, EditButtonTypes, } from '@sitecore-jss/sitecore-jss/utils';
3
- export { LayoutService, LayoutServiceData, LayoutServicePageState, LayoutServiceContext, LayoutServiceContextData, GraphQLLayoutService, RestLayoutService, RouteData, Field, Item, HtmlElementRendering, getChildPlaceholder, getFieldValue, ComponentRendering, ComponentFields, ComponentParams, } from '@sitecore-jss/sitecore-jss/layout';
3
+ export { getContentStylesheetLink, LayoutService, LayoutServiceData, LayoutServicePageState, LayoutServiceContext, LayoutServiceContextData, GraphQLLayoutService, RestLayoutService, RouteData, Field, Item, HtmlElementRendering, getChildPlaceholder, getFieldValue, ComponentRendering, ComponentFields, ComponentParams, } from '@sitecore-jss/sitecore-jss/layout';
4
4
  export { trackingApi, TrackingRequestOptions, CampaignInstance, GoalInstance, OutcomeInstance, EventInstance, PageViewInstance, } from '@sitecore-jss/sitecore-jss/tracking';
5
5
  export { DictionaryPhrases, DictionaryService, GraphQLDictionaryService, RestDictionaryService, } from '@sitecore-jss/sitecore-jss/i18n';
6
6
  export { mediaApi } from '@sitecore-jss/sitecore-jss/media';