@salesforce/commerce-sdk-react 1.0.0-preview.0
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/.eslintrc.js +10 -0
- package/CHANGELOG.md +35 -0
- package/LICENSE +14 -0
- package/README.md +327 -0
- package/auth/index.d.ts +220 -0
- package/auth/index.js +472 -0
- package/auth/storage.d.ts +48 -0
- package/auth/storage.js +122 -0
- package/components/ShopperExperience/Component/index.d.ts +17 -0
- package/components/ShopperExperience/Component/index.js +49 -0
- package/components/ShopperExperience/Page/index.d.ts +28 -0
- package/components/ShopperExperience/Page/index.js +97 -0
- package/components/ShopperExperience/Region/index.d.ts +41 -0
- package/components/ShopperExperience/Region/index.js +64 -0
- package/components/ShopperExperience/index.d.ts +5 -0
- package/components/ShopperExperience/index.js +49 -0
- package/components/ShopperExperience/prop-types.d.ts +39 -0
- package/components/ShopperExperience/prop-types.js +46 -0
- package/components/ShopperExperience/types.d.ts +8 -0
- package/components/ShopperExperience/types.js +5 -0
- package/components/index.d.ts +2 -0
- package/components/index.js +16 -0
- package/hooks/ShopperBaskets/cache.d.ts +5 -0
- package/hooks/ShopperBaskets/cache.js +351 -0
- package/hooks/ShopperBaskets/index.d.ts +3 -0
- package/hooks/ShopperBaskets/index.js +27 -0
- package/hooks/ShopperBaskets/mutation.d.ts +381 -0
- package/hooks/ShopperBaskets/mutation.js +380 -0
- package/hooks/ShopperBaskets/query.d.ts +55 -0
- package/hooks/ShopperBaskets/query.js +215 -0
- package/hooks/ShopperBaskets/queryKeyHelpers.d.ts +72 -0
- package/hooks/ShopperBaskets/queryKeyHelpers.js +49 -0
- package/hooks/ShopperContexts/cache.d.ts +5 -0
- package/hooks/ShopperContexts/cache.js +45 -0
- package/hooks/ShopperContexts/index.d.ts +3 -0
- package/hooks/ShopperContexts/index.js +27 -0
- package/hooks/ShopperContexts/mutation.d.ts +35 -0
- package/hooks/ShopperContexts/mutation.js +68 -0
- package/hooks/ShopperContexts/query.d.ts +15 -0
- package/hooks/ShopperContexts/query.js +59 -0
- package/hooks/ShopperContexts/queryKeyHelpers.d.ts +30 -0
- package/hooks/ShopperContexts/queryKeyHelpers.js +25 -0
- package/hooks/ShopperCustomers/cache.d.ts +5 -0
- package/hooks/ShopperCustomers/cache.js +387 -0
- package/hooks/ShopperCustomers/index.d.ts +3 -0
- package/hooks/ShopperCustomers/index.js +27 -0
- package/hooks/ShopperCustomers/mutation.d.ts +163 -0
- package/hooks/ShopperCustomers/mutation.js +203 -0
- package/hooks/ShopperCustomers/query.d.ts +115 -0
- package/hooks/ShopperCustomers/query.js +489 -0
- package/hooks/ShopperCustomers/queryKeyHelpers.d.ts +142 -0
- package/hooks/ShopperCustomers/queryKeyHelpers.js +91 -0
- package/hooks/ShopperExperience/index.d.ts +2 -0
- package/hooks/ShopperExperience/index.js +16 -0
- package/hooks/ShopperExperience/query.d.ts +31 -0
- package/hooks/ShopperExperience/query.js +104 -0
- package/hooks/ShopperExperience/queryKeyHelpers.d.ts +38 -0
- package/hooks/ShopperExperience/queryKeyHelpers.js +31 -0
- package/hooks/ShopperGiftCertificates/index.d.ts +2 -0
- package/hooks/ShopperGiftCertificates/index.js +16 -0
- package/hooks/ShopperGiftCertificates/query.d.ts +15 -0
- package/hooks/ShopperGiftCertificates/query.js +70 -0
- package/hooks/ShopperGiftCertificates/queryKeyHelpers.d.ts +29 -0
- package/hooks/ShopperGiftCertificates/queryKeyHelpers.js +25 -0
- package/hooks/ShopperLogin/cache.d.ts +3 -0
- package/hooks/ShopperLogin/cache.js +33 -0
- package/hooks/ShopperLogin/index.d.ts +3 -0
- package/hooks/ShopperLogin/index.js +27 -0
- package/hooks/ShopperLogin/mutation.d.ts +119 -0
- package/hooks/ShopperLogin/mutation.js +138 -0
- package/hooks/ShopperLogin/query.d.ts +45 -0
- package/hooks/ShopperLogin/query.js +176 -0
- package/hooks/ShopperLogin/queryKeyHelpers.d.ts +53 -0
- package/hooks/ShopperLogin/queryKeyHelpers.js +43 -0
- package/hooks/ShopperOrders/cache.d.ts +5 -0
- package/hooks/ShopperOrders/cache.js +54 -0
- package/hooks/ShopperOrders/index.d.ts +3 -0
- package/hooks/ShopperOrders/index.js +27 -0
- package/hooks/ShopperOrders/mutation.d.ts +54 -0
- package/hooks/ShopperOrders/mutation.js +83 -0
- package/hooks/ShopperOrders/query.d.ts +37 -0
- package/hooks/ShopperOrders/query.js +139 -0
- package/hooks/ShopperOrders/queryKeyHelpers.d.ts +50 -0
- package/hooks/ShopperOrders/queryKeyHelpers.js +37 -0
- package/hooks/ShopperProducts/index.d.ts +2 -0
- package/hooks/ShopperProducts/index.js +16 -0
- package/hooks/ShopperProducts/query.d.ts +47 -0
- package/hooks/ShopperProducts/query.js +178 -0
- package/hooks/ShopperProducts/queryKeyHelpers.d.ts +55 -0
- package/hooks/ShopperProducts/queryKeyHelpers.js +43 -0
- package/hooks/ShopperPromotions/index.d.ts +2 -0
- package/hooks/ShopperPromotions/index.js +16 -0
- package/hooks/ShopperPromotions/query.d.ts +29 -0
- package/hooks/ShopperPromotions/query.js +102 -0
- package/hooks/ShopperPromotions/queryKeyHelpers.d.ts +38 -0
- package/hooks/ShopperPromotions/queryKeyHelpers.js +31 -0
- package/hooks/ShopperSearch/index.d.ts +2 -0
- package/hooks/ShopperSearch/index.js +16 -0
- package/hooks/ShopperSearch/query.d.ts +26 -0
- package/hooks/ShopperSearch/query.js +99 -0
- package/hooks/ShopperSearch/queryKeyHelpers.d.ts +37 -0
- package/hooks/ShopperSearch/queryKeyHelpers.js +31 -0
- package/hooks/index.d.ts +18 -0
- package/hooks/index.js +188 -0
- package/hooks/types.d.ts +128 -0
- package/hooks/types.js +5 -0
- package/hooks/useAccessToken.d.ts +11 -0
- package/hooks/useAccessToken.js +43 -0
- package/hooks/useAuthContext.d.ts +9 -0
- package/hooks/useAuthContext.js +30 -0
- package/hooks/useAuthHelper.d.ts +23 -0
- package/hooks/useAuthHelper.js +66 -0
- package/hooks/useAuthorizationHeader.d.ts +9 -0
- package/hooks/useAuthorizationHeader.js +45 -0
- package/hooks/useCommerceApi.d.ts +9 -0
- package/hooks/useCommerceApi.js +26 -0
- package/hooks/useConfig.d.ts +7 -0
- package/hooks/useConfig.js +24 -0
- package/hooks/useCustomerId.d.ts +7 -0
- package/hooks/useCustomerId.js +38 -0
- package/hooks/useCustomerType.d.ts +21 -0
- package/hooks/useCustomerType.js +43 -0
- package/hooks/useEncUserId.d.ts +9 -0
- package/hooks/useEncUserId.js +36 -0
- package/hooks/useLocalStorage.d.ts +8 -0
- package/hooks/useLocalStorage.js +40 -0
- package/hooks/useMutation.d.ts +12 -0
- package/hooks/useMutation.js +38 -0
- package/hooks/useQuery.d.ts +15 -0
- package/hooks/useQuery.js +57 -0
- package/hooks/useUsid.d.ts +7 -0
- package/hooks/useUsid.js +34 -0
- package/hooks/utils.d.ts +32 -0
- package/hooks/utils.js +125 -0
- package/index.d.ts +5 -0
- package/index.js +40 -0
- package/package.json +88 -0
- package/provider.d.ts +36 -0
- package/provider.js +124 -0
- package/scripts/build-and-release-docs.js +48 -0
- package/scripts/version.js +22 -0
- package/utils.d.ts +5 -0
- package/utils.js +18 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.Component = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _Page = require("../Page");
|
|
9
|
+
const _excluded = ["data"];
|
|
10
|
+
/*
|
|
11
|
+
* Copyright (c) 2023, Salesforce, Inc.
|
|
12
|
+
* All rights reserved.
|
|
13
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
14
|
+
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
15
|
+
*/
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
18
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
19
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
20
|
+
const ComponentNotFound = ({
|
|
21
|
+
typeId
|
|
22
|
+
}) => /*#__PURE__*/_react.default.createElement("div", null, `Component type '${typeId}' not found!`);
|
|
23
|
+
/**
|
|
24
|
+
* This component will render a page designer page given its serialized data object.
|
|
25
|
+
*
|
|
26
|
+
* @param {PageProps} props
|
|
27
|
+
* @param {Component} props.component - The page designer component data representation.
|
|
28
|
+
* @returns {React.ReactElement} - Experience component.
|
|
29
|
+
*/
|
|
30
|
+
const Component = ({
|
|
31
|
+
component
|
|
32
|
+
}) => {
|
|
33
|
+
const pageContext = (0, _Page.usePageContext)();
|
|
34
|
+
const ComponentClass = (pageContext === null || pageContext === void 0 ? void 0 : pageContext.components[component.typeId]) || ComponentNotFound;
|
|
35
|
+
const {
|
|
36
|
+
data
|
|
37
|
+
} = component,
|
|
38
|
+
rest = _objectWithoutProperties(component, _excluded);
|
|
39
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
40
|
+
id: component.id,
|
|
41
|
+
className: "component"
|
|
42
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
43
|
+
className: "container"
|
|
44
|
+
}, /*#__PURE__*/_react.default.createElement(ComponentClass, _extends({}, rest, data))));
|
|
45
|
+
};
|
|
46
|
+
exports.Component = Component;
|
|
47
|
+
Component.displayName = 'Component';
|
|
48
|
+
var _default = Component;
|
|
49
|
+
exports.default = _default;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Component as ComponentType, Page as PageType } from '../types';
|
|
3
|
+
declare type ComponentMap = {
|
|
4
|
+
[typeId: string]: React.ComponentType<ComponentType & unknown>;
|
|
5
|
+
};
|
|
6
|
+
interface PageProps extends React.ComponentProps<'div'> {
|
|
7
|
+
page: PageType;
|
|
8
|
+
components: ComponentMap;
|
|
9
|
+
}
|
|
10
|
+
declare type PageContextValue = {
|
|
11
|
+
components: ComponentMap;
|
|
12
|
+
};
|
|
13
|
+
export declare const PageContext: React.Context<PageContextValue | undefined>;
|
|
14
|
+
export declare const usePageContext: () => PageContextValue;
|
|
15
|
+
/**
|
|
16
|
+
* This component will render a page designer page given its serialized data object.
|
|
17
|
+
*
|
|
18
|
+
* @param {PageProps} props
|
|
19
|
+
* @param {Page} props.region - The page designer page data representation.
|
|
20
|
+
* @param {ComponentMap} props.components - A mapping of typeId's to react components representing the type.
|
|
21
|
+
* @returns {React.ReactElement} - Page component.
|
|
22
|
+
*/
|
|
23
|
+
export declare const Page: {
|
|
24
|
+
(props: PageProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
displayName: string;
|
|
26
|
+
};
|
|
27
|
+
export default Page;
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.usePageContext = exports.default = exports.PageContext = exports.Page = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactHelmet = require("react-helmet");
|
|
9
|
+
var _Region = require("../Region");
|
|
10
|
+
const _excluded = ["page", "components", "className"];
|
|
11
|
+
/*
|
|
12
|
+
* Copyright (c) 2023, Salesforce, Inc.
|
|
13
|
+
* All rights reserved.
|
|
14
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
15
|
+
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
16
|
+
*/
|
|
17
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
22
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
23
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
24
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
25
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
26
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
27
|
+
// This context will hold the component map as well as any other future context.
|
|
28
|
+
const PageContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
29
|
+
|
|
30
|
+
// This hook allows sub-components to use the page context. In our case we use it
|
|
31
|
+
// so that the generic <Component /> can use the component map to know which react component
|
|
32
|
+
// to render.
|
|
33
|
+
exports.PageContext = PageContext;
|
|
34
|
+
const usePageContext = () => {
|
|
35
|
+
const value = (0, _react.useContext)(PageContext);
|
|
36
|
+
if (!value) {
|
|
37
|
+
throw new Error('"usePageContext" cannot be used outside of a page component.');
|
|
38
|
+
}
|
|
39
|
+
return value;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* This component will render a page designer page given its serialized data object.
|
|
44
|
+
*
|
|
45
|
+
* @param {PageProps} props
|
|
46
|
+
* @param {Page} props.region - The page designer page data representation.
|
|
47
|
+
* @param {ComponentMap} props.components - A mapping of typeId's to react components representing the type.
|
|
48
|
+
* @returns {React.ReactElement} - Page component.
|
|
49
|
+
*/
|
|
50
|
+
exports.usePageContext = usePageContext;
|
|
51
|
+
const Page = props => {
|
|
52
|
+
const {
|
|
53
|
+
page,
|
|
54
|
+
components,
|
|
55
|
+
className = ''
|
|
56
|
+
} = props,
|
|
57
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
58
|
+
const [contextValue, setContextValue] = (0, _react.useState)({
|
|
59
|
+
components
|
|
60
|
+
});
|
|
61
|
+
const {
|
|
62
|
+
id,
|
|
63
|
+
regions,
|
|
64
|
+
pageDescription,
|
|
65
|
+
pageKeywords,
|
|
66
|
+
pageTitle
|
|
67
|
+
} = page || {};
|
|
68
|
+
|
|
69
|
+
// NOTE: This probably is not required as the list of components is known at compile time,
|
|
70
|
+
// but we might need this ability in the future if we are to lazy load components.
|
|
71
|
+
(0, _react.useEffect)(() => {
|
|
72
|
+
setContextValue(_objectSpread(_objectSpread({}, contextValue), {}, {
|
|
73
|
+
components
|
|
74
|
+
}));
|
|
75
|
+
}, [components]);
|
|
76
|
+
return /*#__PURE__*/_react.default.createElement(PageContext.Provider, {
|
|
77
|
+
value: contextValue
|
|
78
|
+
}, /*#__PURE__*/_react.default.createElement(_reactHelmet.Helmet, null, pageTitle && /*#__PURE__*/_react.default.createElement("title", null, pageTitle), pageDescription && /*#__PURE__*/_react.default.createElement("meta", {
|
|
79
|
+
name: "description",
|
|
80
|
+
content: pageDescription
|
|
81
|
+
}), pageKeywords && /*#__PURE__*/_react.default.createElement("meta", {
|
|
82
|
+
name: "keywords",
|
|
83
|
+
content: pageKeywords
|
|
84
|
+
})), /*#__PURE__*/_react.default.createElement("div", _extends({
|
|
85
|
+
id: id,
|
|
86
|
+
className: `page ${className}`
|
|
87
|
+
}, rest), /*#__PURE__*/_react.default.createElement("div", {
|
|
88
|
+
className: "container"
|
|
89
|
+
}, regions === null || regions === void 0 ? void 0 : regions.map(region => /*#__PURE__*/_react.default.createElement(_Region.Region, {
|
|
90
|
+
key: region.id,
|
|
91
|
+
region: region
|
|
92
|
+
})))));
|
|
93
|
+
};
|
|
94
|
+
exports.Page = Page;
|
|
95
|
+
Page.displayName = 'Page';
|
|
96
|
+
var _default = Page;
|
|
97
|
+
exports.default = _default;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { Region as RegionType } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* This PropType represents a `region` object from the ShopperExperience API.
|
|
6
|
+
*/
|
|
7
|
+
export declare const propType: PropTypes.Requireable<PropTypes.InferProps<{
|
|
8
|
+
id: PropTypes.Requireable<string>;
|
|
9
|
+
components: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
10
|
+
data: PropTypes.Requireable<object>;
|
|
11
|
+
id: PropTypes.Requireable<string>;
|
|
12
|
+
typeId: PropTypes.Requireable<string>;
|
|
13
|
+
}> | null | undefined)[]>;
|
|
14
|
+
}>>;
|
|
15
|
+
interface RegionProps extends React.ComponentProps<'div'> {
|
|
16
|
+
region: RegionType;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* This component will render a page designer region given its serialized data object.
|
|
20
|
+
*
|
|
21
|
+
* @param {RegionProps} props
|
|
22
|
+
* @param {Region} props.region - The page designer region data representation.
|
|
23
|
+
* @returns {React.ReactElement} - Region component.
|
|
24
|
+
*/
|
|
25
|
+
export declare const Region: {
|
|
26
|
+
(props: RegionProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
displayName: string;
|
|
28
|
+
propTypes: {
|
|
29
|
+
region: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
|
30
|
+
id: PropTypes.Requireable<string>;
|
|
31
|
+
components: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
32
|
+
data: PropTypes.Requireable<object>;
|
|
33
|
+
id: PropTypes.Requireable<string>;
|
|
34
|
+
typeId: PropTypes.Requireable<string>;
|
|
35
|
+
}> | null | undefined)[]>;
|
|
36
|
+
}>>>;
|
|
37
|
+
className: PropTypes.Requireable<string>;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
export default Region;
|
|
41
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.propType = exports.default = exports.Region = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _Component = require("../Component");
|
|
10
|
+
var _propTypes2 = require("../prop-types");
|
|
11
|
+
const _excluded = ["region", "className"];
|
|
12
|
+
/*
|
|
13
|
+
* Copyright (c) 2023, Salesforce, Inc.
|
|
14
|
+
* All rights reserved.
|
|
15
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
16
|
+
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
17
|
+
*/
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
20
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
21
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
22
|
+
/**
|
|
23
|
+
* This PropType represents a `region` object from the ShopperExperience API.
|
|
24
|
+
*/
|
|
25
|
+
const propType = _propTypes.default.shape({
|
|
26
|
+
id: _propTypes.default.string,
|
|
27
|
+
components: _propTypes.default.arrayOf(_propTypes2.componentPropType)
|
|
28
|
+
});
|
|
29
|
+
exports.propType = propType;
|
|
30
|
+
/**
|
|
31
|
+
* This component will render a page designer region given its serialized data object.
|
|
32
|
+
*
|
|
33
|
+
* @param {RegionProps} props
|
|
34
|
+
* @param {Region} props.region - The page designer region data representation.
|
|
35
|
+
* @returns {React.ReactElement} - Region component.
|
|
36
|
+
*/
|
|
37
|
+
const Region = props => {
|
|
38
|
+
const {
|
|
39
|
+
region,
|
|
40
|
+
className = ''
|
|
41
|
+
} = props,
|
|
42
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
43
|
+
const {
|
|
44
|
+
id,
|
|
45
|
+
components
|
|
46
|
+
} = region;
|
|
47
|
+
return /*#__PURE__*/_react.default.createElement("div", _extends({
|
|
48
|
+
id: id,
|
|
49
|
+
className: `region ${className}`
|
|
50
|
+
}, rest), /*#__PURE__*/_react.default.createElement("div", {
|
|
51
|
+
className: "container"
|
|
52
|
+
}, components === null || components === void 0 ? void 0 : components.map(component => /*#__PURE__*/_react.default.createElement(_Component.Component, {
|
|
53
|
+
key: component.id,
|
|
54
|
+
component: component
|
|
55
|
+
}))));
|
|
56
|
+
};
|
|
57
|
+
exports.Region = Region;
|
|
58
|
+
Region.displayName = 'Region';
|
|
59
|
+
Region.propTypes = {
|
|
60
|
+
region: propType.isRequired,
|
|
61
|
+
className: _propTypes.default.string
|
|
62
|
+
};
|
|
63
|
+
var _default = Region;
|
|
64
|
+
exports.default = _default;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _Component = require("./Component");
|
|
7
|
+
Object.keys(_Component).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _Component[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _Component[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _Region = require("./Region");
|
|
18
|
+
Object.keys(_Region).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _Region[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _Region[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _Page = require("./Page");
|
|
29
|
+
Object.keys(_Page).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _Page[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _Page[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _propTypes = require("./prop-types");
|
|
40
|
+
Object.keys(_propTypes).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _propTypes[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _propTypes[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
/**
|
|
3
|
+
* This PropType represents a `component` object from the ShopperExperience API.
|
|
4
|
+
*/
|
|
5
|
+
export declare const componentPropType: PropTypes.Requireable<PropTypes.InferProps<{
|
|
6
|
+
data: PropTypes.Requireable<object>;
|
|
7
|
+
id: PropTypes.Requireable<string>;
|
|
8
|
+
typeId: PropTypes.Requireable<string>;
|
|
9
|
+
}>>;
|
|
10
|
+
/**
|
|
11
|
+
* This PropType represents a `region` object from the ShopperExperience API.
|
|
12
|
+
*/
|
|
13
|
+
export declare const regionPropType: PropTypes.Requireable<PropTypes.InferProps<{
|
|
14
|
+
id: PropTypes.Requireable<string>;
|
|
15
|
+
components: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
16
|
+
data: PropTypes.Requireable<object>;
|
|
17
|
+
id: PropTypes.Requireable<string>;
|
|
18
|
+
typeId: PropTypes.Requireable<string>;
|
|
19
|
+
}> | null | undefined)[]>;
|
|
20
|
+
}>>;
|
|
21
|
+
/**
|
|
22
|
+
* This PropType represents a `page` object from the ShopperExperience API.
|
|
23
|
+
*/
|
|
24
|
+
export declare const pageType: PropTypes.Requireable<PropTypes.InferProps<{
|
|
25
|
+
data: PropTypes.Requireable<object>;
|
|
26
|
+
description: PropTypes.Requireable<string>;
|
|
27
|
+
id: PropTypes.Requireable<string>;
|
|
28
|
+
name: PropTypes.Requireable<string>;
|
|
29
|
+
regions: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
30
|
+
id: PropTypes.Requireable<string>;
|
|
31
|
+
components: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
32
|
+
data: PropTypes.Requireable<object>;
|
|
33
|
+
id: PropTypes.Requireable<string>;
|
|
34
|
+
typeId: PropTypes.Requireable<string>;
|
|
35
|
+
}> | null | undefined)[]>;
|
|
36
|
+
}> | null | undefined)[]>;
|
|
37
|
+
typeId: PropTypes.Requireable<string>;
|
|
38
|
+
}>>;
|
|
39
|
+
//# sourceMappingURL=prop-types.d.ts.map
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.regionPropType = exports.pageType = exports.componentPropType = void 0;
|
|
7
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
/*
|
|
10
|
+
* Copyright (c) 2023, Salesforce, Inc.
|
|
11
|
+
* All rights reserved.
|
|
12
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
13
|
+
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* This PropType represents a `component` object from the ShopperExperience API.
|
|
18
|
+
*/
|
|
19
|
+
const componentPropType = _propTypes.default.shape({
|
|
20
|
+
data: _propTypes.default.object,
|
|
21
|
+
id: _propTypes.default.string,
|
|
22
|
+
typeId: _propTypes.default.string
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* This PropType represents a `region` object from the ShopperExperience API.
|
|
27
|
+
*/
|
|
28
|
+
exports.componentPropType = componentPropType;
|
|
29
|
+
const regionPropType = _propTypes.default.shape({
|
|
30
|
+
id: _propTypes.default.string,
|
|
31
|
+
components: _propTypes.default.arrayOf(componentPropType)
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* This PropType represents a `page` object from the ShopperExperience API.
|
|
36
|
+
*/
|
|
37
|
+
exports.regionPropType = regionPropType;
|
|
38
|
+
const pageType = _propTypes.default.shape({
|
|
39
|
+
data: _propTypes.default.object,
|
|
40
|
+
description: _propTypes.default.string,
|
|
41
|
+
id: _propTypes.default.string,
|
|
42
|
+
name: _propTypes.default.string,
|
|
43
|
+
regions: _propTypes.default.arrayOf(regionPropType),
|
|
44
|
+
typeId: _propTypes.default.string
|
|
45
|
+
});
|
|
46
|
+
exports.pageType = pageType;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ApiClients, DataType } from '../../hooks/types';
|
|
2
|
+
declare type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType[number];
|
|
3
|
+
declare type Client = ApiClients['shopperExperience'];
|
|
4
|
+
export declare type Page = DataType<Client['getPage']>;
|
|
5
|
+
export declare type Region = ArrayElement<NonNullable<Page['regions']>>;
|
|
6
|
+
export declare type Component = ArrayElement<NonNullable<Region['components']>>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _ShopperExperience = require("./ShopperExperience");
|
|
7
|
+
Object.keys(_ShopperExperience).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _ShopperExperience[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _ShopperExperience[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|