UNPKG

@adyen/adyen-web

Version:

[![npm](https://img.shields.io/npm/v/@adyen/adyen-web.svg)](https://www.npmjs.com/package/@adyen/adyen-web)

3 lines (2 loc) 1.97 kB
import e from"./createCardVariantSwitcher.js";import{BRAND_ICON_UI_EXCLUSION_LIST as n}from"../lib/constants.js";import{mustHandleDualBrandingAccordingToEURegulations as t}from"../../../Card/components/CardInput/utils.js";import{DUAL_BRANDS_THAT_NEED_SELECTION_MECHANISM as r}from"../../../Card/constants.js";const s=(e,n)=>e.reduce((e,t)=>e||n.includes(t.brand),!1),o=e=>e.map(e=>({...e})),a=(e,n="mc",t="visa")=>{const r=o(e);return r[0].brand!==n&&r[0].brand!==t&&r.reverse(),r.length=1,r};function d(d,u,c,i={}){const{type:p,cvcPolicy:l}=d,{sfp:C}=u,{dualBrandSelectElements:B,setDualBrandSelectElements:g,setSelectedBrandValue:b,issuingCountryCode:m,setIssuingCountryCode:y}=c;return{processBinLookup:(d,u)=>{const c=d?.issuingCountryCode?d.issuingCountryCode.toLowerCase():null;if(y(c),!d||!Object.keys(d).length){g([]),b("");const e=u&&"card"!==p?p:null;return C.current.processBinLookupResponse(d,{brand:e,cvcPolicy:l}),void(i.current=0)}if(d.supportedBrands?.length){const u=s(d.supportedBrands,n),c=u?a(d.supportedBrands):o(d.supportedBrands);if(c.length>1){const n=t(r,c,"brand"),s=e(c,n);g(s.dualBrandSelectElements),b(s.selectedBrandValue),C.current.processBinLookupResponse({issuingCountryCode:d.issuingCountryCode,supportedBrands:[s.leadBrand]}),s.leadBrand.panLength>0&&(i.current=s.leadBrand.panLength)}else g([]),b(""),u||b(c[0].brand),C.current.processBinLookupResponse({issuingCountryCode:d.issuingCountryCode,supportedBrands:c}),c[0].panLength>0&&(i.current=c[0].panLength)}},handleDualBrandSelection:e=>{let n=e;if(e instanceof Event){const t=e.target;n=t.getAttribute("data-value")||t.getAttribute("value")}let t=[];n&&(t=B.reduce((e,t)=>(t.brandObject.brand===n&&e.push(t.brandObject),e),[]),t.length&&(b(n),C.current.processBinLookupResponse({issuingCountryCode:m,supportedBrands:t,isDualBrandSelection:!0})))}}}export{o as cloneBrandsArr,s as containsExcludedBrand,d as default,a as removeExcludedBrand}; //# sourceMappingURL=extensions.js.map