@commercelayer/react-components
Version:
The Official Commerce Layer React Components
2 lines • 1.49 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=>{var _a,_b,_c;const attributes=customerPayment,card=(0,getCardDetails_1.default)({customerPayment,paymentType:paymentResource});card.brand===""&&(card.brand=(_c=(_b=(_a=customerPayment.payment_source)===null||_a===void 0?void 0:_a.payment_instrument)===null||_b===void 0?void 0:_b.issuer_type)!==null&&_c!==void 0?_c:"credit-card");const handleClick=e=>tslib_1.__awaiter(this,void 0,void 0,function*(){e.stopPropagation(),yield setPaymentSource({paymentResource,customerPaymentSourceId:customerPayment.id})});return Object.assign(Object.assign({},attributes),{card,handleClick})}),PaymentSourceProvider:PaymentSourceContext_1.default.Provider};return(0,jsx_runtime_1.jsx)(Parent_1.default,Object.assign({},value,{children}))}