@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.
Files changed (143) hide show
  1. package/.eslintrc.js +10 -0
  2. package/CHANGELOG.md +35 -0
  3. package/LICENSE +14 -0
  4. package/README.md +327 -0
  5. package/auth/index.d.ts +220 -0
  6. package/auth/index.js +472 -0
  7. package/auth/storage.d.ts +48 -0
  8. package/auth/storage.js +122 -0
  9. package/components/ShopperExperience/Component/index.d.ts +17 -0
  10. package/components/ShopperExperience/Component/index.js +49 -0
  11. package/components/ShopperExperience/Page/index.d.ts +28 -0
  12. package/components/ShopperExperience/Page/index.js +97 -0
  13. package/components/ShopperExperience/Region/index.d.ts +41 -0
  14. package/components/ShopperExperience/Region/index.js +64 -0
  15. package/components/ShopperExperience/index.d.ts +5 -0
  16. package/components/ShopperExperience/index.js +49 -0
  17. package/components/ShopperExperience/prop-types.d.ts +39 -0
  18. package/components/ShopperExperience/prop-types.js +46 -0
  19. package/components/ShopperExperience/types.d.ts +8 -0
  20. package/components/ShopperExperience/types.js +5 -0
  21. package/components/index.d.ts +2 -0
  22. package/components/index.js +16 -0
  23. package/hooks/ShopperBaskets/cache.d.ts +5 -0
  24. package/hooks/ShopperBaskets/cache.js +351 -0
  25. package/hooks/ShopperBaskets/index.d.ts +3 -0
  26. package/hooks/ShopperBaskets/index.js +27 -0
  27. package/hooks/ShopperBaskets/mutation.d.ts +381 -0
  28. package/hooks/ShopperBaskets/mutation.js +380 -0
  29. package/hooks/ShopperBaskets/query.d.ts +55 -0
  30. package/hooks/ShopperBaskets/query.js +215 -0
  31. package/hooks/ShopperBaskets/queryKeyHelpers.d.ts +72 -0
  32. package/hooks/ShopperBaskets/queryKeyHelpers.js +49 -0
  33. package/hooks/ShopperContexts/cache.d.ts +5 -0
  34. package/hooks/ShopperContexts/cache.js +45 -0
  35. package/hooks/ShopperContexts/index.d.ts +3 -0
  36. package/hooks/ShopperContexts/index.js +27 -0
  37. package/hooks/ShopperContexts/mutation.d.ts +35 -0
  38. package/hooks/ShopperContexts/mutation.js +68 -0
  39. package/hooks/ShopperContexts/query.d.ts +15 -0
  40. package/hooks/ShopperContexts/query.js +59 -0
  41. package/hooks/ShopperContexts/queryKeyHelpers.d.ts +30 -0
  42. package/hooks/ShopperContexts/queryKeyHelpers.js +25 -0
  43. package/hooks/ShopperCustomers/cache.d.ts +5 -0
  44. package/hooks/ShopperCustomers/cache.js +387 -0
  45. package/hooks/ShopperCustomers/index.d.ts +3 -0
  46. package/hooks/ShopperCustomers/index.js +27 -0
  47. package/hooks/ShopperCustomers/mutation.d.ts +163 -0
  48. package/hooks/ShopperCustomers/mutation.js +203 -0
  49. package/hooks/ShopperCustomers/query.d.ts +115 -0
  50. package/hooks/ShopperCustomers/query.js +489 -0
  51. package/hooks/ShopperCustomers/queryKeyHelpers.d.ts +142 -0
  52. package/hooks/ShopperCustomers/queryKeyHelpers.js +91 -0
  53. package/hooks/ShopperExperience/index.d.ts +2 -0
  54. package/hooks/ShopperExperience/index.js +16 -0
  55. package/hooks/ShopperExperience/query.d.ts +31 -0
  56. package/hooks/ShopperExperience/query.js +104 -0
  57. package/hooks/ShopperExperience/queryKeyHelpers.d.ts +38 -0
  58. package/hooks/ShopperExperience/queryKeyHelpers.js +31 -0
  59. package/hooks/ShopperGiftCertificates/index.d.ts +2 -0
  60. package/hooks/ShopperGiftCertificates/index.js +16 -0
  61. package/hooks/ShopperGiftCertificates/query.d.ts +15 -0
  62. package/hooks/ShopperGiftCertificates/query.js +70 -0
  63. package/hooks/ShopperGiftCertificates/queryKeyHelpers.d.ts +29 -0
  64. package/hooks/ShopperGiftCertificates/queryKeyHelpers.js +25 -0
  65. package/hooks/ShopperLogin/cache.d.ts +3 -0
  66. package/hooks/ShopperLogin/cache.js +33 -0
  67. package/hooks/ShopperLogin/index.d.ts +3 -0
  68. package/hooks/ShopperLogin/index.js +27 -0
  69. package/hooks/ShopperLogin/mutation.d.ts +119 -0
  70. package/hooks/ShopperLogin/mutation.js +138 -0
  71. package/hooks/ShopperLogin/query.d.ts +45 -0
  72. package/hooks/ShopperLogin/query.js +176 -0
  73. package/hooks/ShopperLogin/queryKeyHelpers.d.ts +53 -0
  74. package/hooks/ShopperLogin/queryKeyHelpers.js +43 -0
  75. package/hooks/ShopperOrders/cache.d.ts +5 -0
  76. package/hooks/ShopperOrders/cache.js +54 -0
  77. package/hooks/ShopperOrders/index.d.ts +3 -0
  78. package/hooks/ShopperOrders/index.js +27 -0
  79. package/hooks/ShopperOrders/mutation.d.ts +54 -0
  80. package/hooks/ShopperOrders/mutation.js +83 -0
  81. package/hooks/ShopperOrders/query.d.ts +37 -0
  82. package/hooks/ShopperOrders/query.js +139 -0
  83. package/hooks/ShopperOrders/queryKeyHelpers.d.ts +50 -0
  84. package/hooks/ShopperOrders/queryKeyHelpers.js +37 -0
  85. package/hooks/ShopperProducts/index.d.ts +2 -0
  86. package/hooks/ShopperProducts/index.js +16 -0
  87. package/hooks/ShopperProducts/query.d.ts +47 -0
  88. package/hooks/ShopperProducts/query.js +178 -0
  89. package/hooks/ShopperProducts/queryKeyHelpers.d.ts +55 -0
  90. package/hooks/ShopperProducts/queryKeyHelpers.js +43 -0
  91. package/hooks/ShopperPromotions/index.d.ts +2 -0
  92. package/hooks/ShopperPromotions/index.js +16 -0
  93. package/hooks/ShopperPromotions/query.d.ts +29 -0
  94. package/hooks/ShopperPromotions/query.js +102 -0
  95. package/hooks/ShopperPromotions/queryKeyHelpers.d.ts +38 -0
  96. package/hooks/ShopperPromotions/queryKeyHelpers.js +31 -0
  97. package/hooks/ShopperSearch/index.d.ts +2 -0
  98. package/hooks/ShopperSearch/index.js +16 -0
  99. package/hooks/ShopperSearch/query.d.ts +26 -0
  100. package/hooks/ShopperSearch/query.js +99 -0
  101. package/hooks/ShopperSearch/queryKeyHelpers.d.ts +37 -0
  102. package/hooks/ShopperSearch/queryKeyHelpers.js +31 -0
  103. package/hooks/index.d.ts +18 -0
  104. package/hooks/index.js +188 -0
  105. package/hooks/types.d.ts +128 -0
  106. package/hooks/types.js +5 -0
  107. package/hooks/useAccessToken.d.ts +11 -0
  108. package/hooks/useAccessToken.js +43 -0
  109. package/hooks/useAuthContext.d.ts +9 -0
  110. package/hooks/useAuthContext.js +30 -0
  111. package/hooks/useAuthHelper.d.ts +23 -0
  112. package/hooks/useAuthHelper.js +66 -0
  113. package/hooks/useAuthorizationHeader.d.ts +9 -0
  114. package/hooks/useAuthorizationHeader.js +45 -0
  115. package/hooks/useCommerceApi.d.ts +9 -0
  116. package/hooks/useCommerceApi.js +26 -0
  117. package/hooks/useConfig.d.ts +7 -0
  118. package/hooks/useConfig.js +24 -0
  119. package/hooks/useCustomerId.d.ts +7 -0
  120. package/hooks/useCustomerId.js +38 -0
  121. package/hooks/useCustomerType.d.ts +21 -0
  122. package/hooks/useCustomerType.js +43 -0
  123. package/hooks/useEncUserId.d.ts +9 -0
  124. package/hooks/useEncUserId.js +36 -0
  125. package/hooks/useLocalStorage.d.ts +8 -0
  126. package/hooks/useLocalStorage.js +40 -0
  127. package/hooks/useMutation.d.ts +12 -0
  128. package/hooks/useMutation.js +38 -0
  129. package/hooks/useQuery.d.ts +15 -0
  130. package/hooks/useQuery.js +57 -0
  131. package/hooks/useUsid.d.ts +7 -0
  132. package/hooks/useUsid.js +34 -0
  133. package/hooks/utils.d.ts +32 -0
  134. package/hooks/utils.js +125 -0
  135. package/index.d.ts +5 -0
  136. package/index.js +40 -0
  137. package/package.json +88 -0
  138. package/provider.d.ts +36 -0
  139. package/provider.js +124 -0
  140. package/scripts/build-and-release-docs.js +48 -0
  141. package/scripts/version.js +22 -0
  142. package/utils.d.ts +5 -0
  143. 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,5 @@
1
+ export * from './Component';
2
+ export * from './Region';
3
+ export * from './Page';
4
+ export * from './prop-types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -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,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,2 @@
1
+ export * from './ShopperExperience';
2
+ //# sourceMappingURL=index.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
+ });
@@ -0,0 +1,5 @@
1
+ import { ApiClients, CacheUpdateMatrix } from '../types';
2
+ declare type Client = ApiClients['shopperBaskets'];
3
+ export declare const cacheUpdateMatrix: CacheUpdateMatrix<Client>;
4
+ export {};
5
+ //# sourceMappingURL=cache.d.ts.map