@commercelayer/react-components
Version:
The Official Commerce Layer React Components
2 lines • 1.27 kB
JavaScript
"use client";
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PaymentCardsTemplate;const tslib_1=require("tslib"),jsx_runtime_1=require("react/jsx-runtime"),Parent_1=tslib_1.__importDefault(require("../utils/Parent")),react_1=require("react"),PaymentMethodContext_1=tslib_1.__importDefault(require("../../context/PaymentMethodContext")),PaymentSourceContext_1=tslib_1.__importDefault(require("../../context/PaymentSourceContext")),getCardDetails_1=tslib_1.__importDefault(require("../../utils/getCardDetails"));function PaymentCardsTemplate({customerPayments,children,paymentResource}){const{setPaymentSource}=(0,react_1.useContext)(PaymentMethodContext_1.default),value={customerPayments:customerPayments.map(customerPayment=>{const attributes=customerPayment,card=(0,getCardDetails_1.default)({customerPayment,paymentType:paymentResource});return card.brand===""&&(card.brand=customerPayment.payment_source?.payment_instrument?.issuer_type??"credit-card"),{...attributes,card,handleClick:async e=>{e.stopPropagation(),await setPaymentSource({paymentResource,customerPaymentSourceId:customerPayment.id})}}}),PaymentSourceProvider:PaymentSourceContext_1.default.Provider};return(0,jsx_runtime_1.jsx)(Parent_1.default,{...value,children})}