@shopgate/engage
Version:
Shopgate's ENGAGE library.
37 lines (35 loc) • 1.22 kB
JavaScript
import React, { useMemo } from 'react';
import PropTypes from 'prop-types';
import { FulfillmentProvider } from "../../providers";
import { FulfillmentSheetContent } from "../FulfillmentSheet/FulfillmentSheetContent";
import CartContextMenuChangeFulfillmentContent from "./CartContextMenuChangeFulfillmentContent";
/**
* @typedef {import('../../../cart/cart.types').Item} Item
*/
/**
* @typedef {Object} Props
* @property {Item} cartItem
*/
/**
* The CartContextMenuChangeFulfillment component renders a context menu which enables
* switching the active fulfillment method for a cart item.
* @param {Props} props The component props.
* @returns {JSX.Element}
*/
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
const CartContextMenuChangeFulfillment = ({
cartItem
}) => {
const contextProps = useMemo(() => ({
productId: cartItem.product.id,
meta: {
cartItem
},
updatePreferredLocation: true
}), [cartItem]);
return /*#__PURE__*/_jsxs(FulfillmentProvider, {
...contextProps,
children: [/*#__PURE__*/_jsx(CartContextMenuChangeFulfillmentContent, {}), /*#__PURE__*/_jsx(FulfillmentSheetContent, {})]
});
};
export default CartContextMenuChangeFulfillment;