@commercelayer/react-components
Version:
The Official Commerce Layer React Components
2 lines • 1.19 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"}=props,p=tslib_1.__rest(props,["children","text"]),{lineItems}=(0,react_1.useContext)(LineItemContext_1.default),[quantity,setQuantity]=(0,react_1.useState)(),emptyText=quantity===0?(0,jsx_runtime_1.jsx)("span",Object.assign({},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=Object.assign({quantity,text},p);return children?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},parentProps,{children})):emptyText}exports.default=LineItemsEmpty;