@automattic/shopping-cart
Version:
A library to use the WordPress.com shopping cart.
25 lines • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const jsx_runtime_1 = require("react/jsx-runtime");
const debug_1 = tslib_1.__importDefault(require("debug"));
const react_1 = require("react");
const shopping_cart_context_1 = tslib_1.__importDefault(require("./shopping-cart-context"));
const shopping_cart_options_context_1 = tslib_1.__importDefault(require("./shopping-cart-options-context"));
const debug = (0, debug_1.default)('shopping-cart:shopping-cart-provider');
function ShoppingCartProvider({ managerClient, options, children, }) {
if (!options) {
options = {};
}
debug('rendering ShoppingCartProvider with options', options);
// Memoize a copy of the options object to prevent re-renders if the values
// did not change.
const { refetchOnWindowFocus, defaultCartKey } = options;
const memoizedOptions = (0, react_1.useMemo)(() => ({
refetchOnWindowFocus,
defaultCartKey,
}), [refetchOnWindowFocus, defaultCartKey]);
return ((0, jsx_runtime_1.jsx)(shopping_cart_options_context_1.default.Provider, { value: memoizedOptions, children: (0, jsx_runtime_1.jsx)(shopping_cart_context_1.default.Provider, { value: managerClient, children: children }) }));
}
exports.default = ShoppingCartProvider;
//# sourceMappingURL=shopping-cart-provider.js.map