@commercelayer/react-components
Version:
The Official Commerce Layer React Components
2 lines • 1.11 kB
JavaScript
"use client";
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemsEmpty=LineItemsEmpty;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),getLineItemsCount_1=tslib_1.__importDefault(require("../../utils/getLineItemsCount")),LineItemContext_1=tslib_1.__importDefault(require("../../context/LineItemContext"));function LineItemsEmpty(props){const{children,text="Your shopping bag is empty",...p}=props,{lineItems}=(0,react_1.useContext)(LineItemContext_1.default),[quantity,setQuantity]=(0,react_1.useState)(),emptyText=quantity===0?(0,jsx_runtime_1.jsx)("span",{...p,children:text}):null;(0,react_1.useEffect)(()=>{if(lineItems)if(lineItems.length>0){const qty=(0,getLineItemsCount_1.default)({lineItems:lineItems||[]});setQuantity(qty)}else setQuantity(0);return()=>{setQuantity(void 0)}},[lineItems]);const parentProps={quantity,text,...p};return children?(0,jsx_runtime_1.jsx)(Parent_1.default,{...parentProps,children}):emptyText}exports.default=LineItemsEmpty;