UNPKG

@automattic/mini-cart

Version:
27 lines 2.28 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { getCouponLineItemFromCart, getCreditsLineItemFromCart, NonProductLineItem, LineItem, canItemBeRemovedFromCart, useRestorableProducts, RemovedFromCartItem, } from '@automattic/wpcom-checkout'; import styled from '@emotion/styled'; const MiniCartLineItemsWrapper = styled.ul ` border-top: 1px solid ${(props) => props.theme.colors.borderColorLight}; box-sizing: border-box; margin: 20px 0; padding: 0; overflow-y: auto; max-height: 50vh; scrollbar-color: var( --color-text, #000 ) var( --color-surface, #fff ); `; const MiniCartLineItemWrapper = styled.li ` margin: 0; padding: 0; display: block; list-style: none; `; export function MiniCartLineItems({ removeProductFromCart, addProductsToCart, removeCoupon, createUserAndSiteBeforeTransaction, responseCart, }) { const creditsLineItem = getCreditsLineItemFromCart(responseCart); const couponLineItem = getCouponLineItemFromCart(responseCart); const [restorableProducts, setRestorableProducts] = useRestorableProducts(); return (_jsxs(MiniCartLineItemsWrapper, { className: "mini-cart-line-items", children: [responseCart.products.map((product) => { return (_jsx(MiniCartLineItemWrapper, { children: _jsx(LineItem, { product: product, hasDeleteButton: canItemBeRemovedFromCart(product, responseCart), removeProductFromCart: removeProductFromCart, createUserAndSiteBeforeTransaction: createUserAndSiteBeforeTransaction, responseCart: responseCart, isRestorable: true, restorableProducts: restorableProducts, setRestorableProducts: setRestorableProducts }) }, product.uuid)); }), restorableProducts.map((product) => (_jsx(RemovedFromCartItem, { product: product, addProductsToCart: addProductsToCart }, product.uuid))), couponLineItem && (_jsx(MiniCartLineItemWrapper, { children: _jsx(NonProductLineItem, { lineItem: couponLineItem, removeProductFromCart: removeCoupon, createUserAndSiteBeforeTransaction: createUserAndSiteBeforeTransaction, hasDeleteButton: couponLineItem.hasDeleteButton }) }, couponLineItem.id)), creditsLineItem && responseCart.sub_total_integer > 0 && (_jsx(NonProductLineItem, { subtotal: true, lineItem: creditsLineItem }))] })); } //# sourceMappingURL=mini-cart-line-items.js.map