@commercelayer/react-components
Version:
The Official Commerce Layer React Components
2 lines • 1.24 kB
JavaScript
"use client";
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.LineItemImage=LineItemImage;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),LineItemChildrenContext_1=tslib_1.__importDefault(require("../../context/LineItemChildrenContext")),placeholderImages_1=require("../../utils/placeholderImages"),Parent_1=tslib_1.__importDefault(require("../utils/Parent"));function LineItemImage(props){var _a,_b;const{placeholder,children}=props,p=tslib_1.__rest(props,["placeholder","children"]),{lineItem}=(0,react_1.useContext)(LineItemChildrenContext_1.default),itemType=lineItem?.item_type;let src=lineItem?.image_url;src||(placeholder?.[itemType]?src=placeholder?.[itemType]:src=itemType==="gift_cards"?placeholderImages_1.defaultGiftCardImgUrl:placeholderImages_1.defaultImgUrl);const parenProps=Object.assign({lineItem,src,placeholder},p);return children?(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},parenProps,{children})):src?(0,jsx_runtime_1.jsx)("img",Object.assign({"data-testid":`line-item-image-${(_a=lineItem?.sku_code)!==null&&_a!==void 0?_a:""}`,alt:(_b=lineItem?.name)!==null&&_b!==void 0?_b:"",src},p)):null}exports.default=LineItemImage;