straumur-web-component 2.0.0-alpha.15 → 2.0.0-alpha.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -11,5 +11,5 @@
|
|
|
11
11
|
`);var Ie=require("preact");v(`.straumur__result-icon{display:block}.straumur__result-icon__ring,.straumur__result-icon__check,.straumur__result-icon__x,.straumur__result-icon__halo,.straumur__result-icon__cross{transform-box:fill-box;transform-origin:center}.straumur__result-icon__ring{fill:none;stroke-width:5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:straumur-result-draw .6s cubic-bezier(.65,0,.35,1) forwards}.straumur__result-icon__halo{opacity:0;animation:straumur-result-halo .9s .45s ease-out}.straumur__result-icon__check{fill:none;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:straumur-result-draw .4s .55s cubic-bezier(.65,0,.35,1) forwards,straumur-result-pop .45s .9s ease-out}.straumur__result-icon__x{fill:none;stroke-width:7;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:straumur-result-draw .3s cubic-bezier(.65,0,.35,1) forwards}.straumur__result-icon__x--1{animation-delay:.6s}.straumur__result-icon__x--2{animation-delay:.82s}.straumur__result-icon__cross{animation:straumur-result-shake .4s 1.15s ease-in-out}.straumur__result-icon--success .straumur__result-icon__ring,.straumur__result-icon--success .straumur__result-icon__check{stroke:var(--straumur__color-success)}.straumur__result-icon--success .straumur__result-icon__halo{fill:var(--straumur__color-success)}.straumur__result-icon--failure .straumur__result-icon__ring,.straumur__result-icon--failure .straumur__result-icon__x{stroke:var(--straumur__color-danger-text)}.straumur__result-icon--failure .straumur__result-icon__halo{fill:var(--straumur__color-danger-text)}@keyframes straumur-result-draw{to{stroke-dashoffset:0}}@keyframes straumur-result-pop{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes straumur-result-halo{0%{opacity:.35;transform:scale(.55)}to{opacity:0;transform:scale(1.35)}}@keyframes straumur-result-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){.straumur__result-icon__ring,.straumur__result-icon__check,.straumur__result-icon__x,.straumur__result-icon__halo,.straumur__result-icon__cross{animation:none}.straumur__result-icon__ring,.straumur__result-icon__check,.straumur__result-icon__x{stroke-dashoffset:0}.straumur__result-icon__halo{opacity:0}}
|
|
12
12
|
`);var vo=()=>(0,Ie.h)("svg",{className:"straumur__result-icon straumur__result-icon--success",xmlns:"http://www.w3.org/2000/svg",width:"120",height:"120",viewBox:"0 0 120 120",role:"img"},(0,Ie.h)("circle",{className:"straumur__result-icon__halo",cx:"60",cy:"60",r:"52"}),(0,Ie.h)("circle",{className:"straumur__result-icon__ring",cx:"60",cy:"60",r:"50",pathLength:"100"}),(0,Ie.h)("path",{className:"straumur__result-icon__check",d:"M37 62 L53 78 L84 44",pathLength:"100"})),rt=vo;var he=require("preact");var go=()=>(0,he.h)("svg",{className:"straumur__result-icon straumur__result-icon--failure",xmlns:"http://www.w3.org/2000/svg",width:"120",height:"120",viewBox:"0 0 120 120",role:"img"},(0,he.h)("circle",{className:"straumur__result-icon__halo",cx:"60",cy:"60",r:"52"}),(0,he.h)("circle",{className:"straumur__result-icon__ring",cx:"60",cy:"60",r:"50",pathLength:"100"}),(0,he.h)("g",{className:"straumur__result-icon__cross"},(0,he.h)("line",{className:"straumur__result-icon__x straumur__result-icon__x--1",x1:"42",y1:"42",x2:"78",y2:"78",pathLength:"100"}),(0,he.h)("line",{className:"straumur__result-icon__x straumur__result-icon__x--2",x1:"78",y1:"42",x2:"42",y2:"78",pathLength:"100"}))),ot=go;function bo(){let{error:e,success:t}=k(),{i18n:r}=V();if(!e&&!t)return null;let o=a=>"key"in a?r.t(a.key):a.text;return(0,U.h)("div",{className:"straumur__result-component"},e&&(0,U.h)(U.Fragment,null,(0,U.h)("span",{"aria-hidden":"true"},(0,U.h)(ot,null)),(0,U.h)("p",{className:"straumur__result-component__error--message straumur__result-message",role:"alert"},o(e))),t&&(0,U.h)(U.Fragment,null,(0,U.h)("span",{"aria-hidden":"true"},(0,U.h)(rt,null)),(0,U.h)("p",{className:"straumur__result-component__success--message straumur__result-message",role:"status"},o(t))))}var Pr=bo;var fe=require("preact"),Ee=require("preact/hooks");v(`.straumur__master-loader{display:flex;align-items:center;justify-content:center;width:100%;min-height:240px}.straumur__methods{display:flex;flex-direction:column;gap:var(--straumur__space-xxlg)}.straumur__methods--loading{position:absolute;top:0;left:0;width:100%;opacity:0;pointer-events:none}
|
|
13
13
|
`);var Co=4e3;function Po({children:e}){let{error:t,success:r,hasGooglePay:o,hasApplePay:a,isPaymentMethodInitialized:n,isStoredCardInitialized:i,activePaymentMethod:l,activeStoredPaymentMethodId:d}=k(),[m,p]=(0,Ee.useState)(!1),u=(!o||n.googlepay)&&(!a||n.applepay),P=!0;l==="card"?P=n.card:l==="storedcard"&&(P=d?!!i[d]:!0);let C=u&&P;return(0,Ee.useEffect)(()=>{C&&p(!0)},[C]),(0,Ee.useEffect)(()=>{let D=setTimeout(()=>p(!0),Co);return()=>clearTimeout(D)},[]),t||r?null:(0,fe.h)(fe.Fragment,null,!m&&(0,fe.h)("div",{className:"straumur__master-loader",role:"status"},(0,fe.h)($,null)),(0,fe.h)("div",{className:`straumur__methods${m?"":" straumur__methods--loading"}`},e))}var Sr=Po;var at=require("preact"),xr=require("preact/hooks");v(`.instant-payments{display:grid;gap:var(--straumur__space-lg);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.instant-payments--single{grid-template-columns:1fr}@container straumur (max-width: 499px){.instant-payments{grid-template-columns:1fr}}
|
|
14
|
-
`);function So({configuration:e,paymentMethods:t}){let{hasGooglePay:r,hasApplePay:o}=k(),[a,n]=(0,xr.useState)(new Set),i=u=>{n(P=>new Set(P).add(u))};if(!e.instantPayments)return null;let l=["googlepay","applepay"],m=e.instantPayments.filter(u=>l.includes(u)).filter(u=>u==="googlepay"?r:o),p=m.filter(u=>!a.has(u));return m.length===0?null:(0,at.h)("div",{className:`straumur__instant-payments instant-payments ${p.length>1?"straumur__instant-payments--multiple instant-payments--multiple":"straumur__instant-payments--single instant-payments--single"}`,style:{display:p.length===0?"none":void 0}},
|
|
14
|
+
`);function So({configuration:e,paymentMethods:t}){let{hasGooglePay:r,hasApplePay:o}=k(),[a,n]=(0,xr.useState)(new Set),i=u=>{n(P=>new Set(P).add(u))};if(!e.instantPayments)return null;let l=["googlepay","applepay"],m=e.instantPayments.filter(u=>l.includes(u)).filter(u=>u==="googlepay"?r:o),p=m.filter(u=>!a.has(u));return m.length===0?null:(0,at.h)("div",{className:`straumur__instant-payments instant-payments ${p.length>1?"straumur__instant-payments--multiple instant-payments--multiple":"straumur__instant-payments--single instant-payments--single"}`,style:{display:p.length===0?"none":void 0}},p.map(u=>u==="googlepay"?(0,at.h)(qe,{key:u,configuration:e,paymentMethods:t,isInstantPayment:!0,onUnavailable:()=>i("googlepay")}):u==="applepay"?(0,at.h)(Qe,{key:u,configuration:e,paymentMethods:t,isInstantPayment:!0,onUnavailable:()=>i("applepay")}):null))}var Mr=So;var Ct=["instantpayments","storedcard","card","googlepay","applepay"],xo=new Set(Ct);function wr(e){if(!e)return[...Ct];let t=new Set,r=[];for(let o of e)xo.has(o)&&!t.has(o)&&(t.add(o),r.push(o));for(let o of Ct)t.has(o)||r.push(o);return r}function Mo(e,t,r,o,a,n){let i=t&&!a?.some(m=>m==="googlepay"),l=r&&!a?.some(m=>m==="applepay");return o+(e?1:0)+(i?1:0)+(l?1:0)===1?o===1?{initialPaymentMethod:"storedcard",isSolePaymentMethod:!0}:e?{initialPaymentMethod:"card",isSolePaymentMethod:!0}:i?{initialPaymentMethod:"googlepay",isSolePaymentMethod:!0}:l?{initialPaymentMethod:"applepay",isSolePaymentMethod:!0}:{initialPaymentMethod:null,isSolePaymentMethod:!1}:n==="card"&&e?{initialPaymentMethod:"card",isSolePaymentMethod:!1}:n==="googlepay"&&i?{initialPaymentMethod:"googlepay",isSolePaymentMethod:!1}:n==="applepay"&&l?{initialPaymentMethod:"applepay",isSolePaymentMethod:!1}:n==="firstStoredCard"&&o>0?{initialPaymentMethod:"storedcard",isSolePaymentMethod:!1}:{initialPaymentMethod:null,isSolePaymentMethod:!1}}function wo({configuration:e,paymentMethods:t,onSubmitApiReady:r}){let o=t.paymentMethods.paymentMethods??[],a=t.paymentMethods.storedPaymentMethods??[],n=b=>!e.allowedPaymentMethods||e.allowedPaymentMethods.includes(b),i=o.some(b=>b.type==="scheme")&&n("card"),l=o.some(b=>b.type==="googlepay")&&n("googlepay"),d=o.some(b=>b.type==="applepay")&&n("applepay"),m=n("storedcard")?a.length:0,p=m>0,{initialPaymentMethod:u,isSolePaymentMethod:P}=Mo(i,l,d,m,e.instantPayments,e.openDefaultPaymentMethod),C=u==="storedcard"&&!P?a[0]?.id??null:null,D={instantpayments:(0,Q.h)(Mr,{key:"instantpayments",configuration:e,paymentMethods:t}),storedcard:(0,Q.h)(br,{key:"storedcard",configuration:e,paymentMethods:t}),card:(0,Q.h)(nr,{key:"card",configuration:e,paymentMethods:t}),googlepay:(0,Q.h)(ur,{key:"googlepay",configuration:e,paymentMethods:t}),applepay:(0,Q.h)(_r,{key:"applepay",configuration:e,paymentMethods:t})},g=wr(e.orderPaymentMethods);return(0,Q.h)(Cr,{initialValue:u,initialStoredPaymentMethodId:C,isSolePaymentMethod:P,hasCard:i,hasGooglePay:l,hasApplePay:d,hasStoredPaymentMethods:p,onSubmitApiReady:r},(0,Q.h)(Sr,null,g.map(b=>D[b])),(0,Q.h)(Pr,null))}var kr=wo;var Rr=require("@adyen/adyen-web");var nt=class{constructor(t,r){this.language=t;this.customLocalizations=r}t(t){return this.customLocalizations?.[this.language]?.[t]||De[this.language][t]||t}setLanguage(t){this.language=t}updateCustomLocalizations(t){this.customLocalizations=t}};var W=require("preact");function st({children:e,theme:t="light"}){let r=X(t);return(0,W.h)("div",{className:"straumur__root-component","data-theme":r},e)}function Ir({theme:e}){return(0,W.h)(st,{theme:e},(0,W.h)("div",{className:"straumur__component"},(0,W.h)($,null)))}function Pt({variant:e,message:t,i18n:r,theme:o}){return(0,W.h)(st,{theme:o},(0,W.h)("div",{className:"straumur__component"},(0,W.h)("span",{"aria-hidden":"true"},e==="success"?(0,W.h)(rt,null):(0,W.h)(ot,null)),(0,W.h)("p",{className:"straumur__result-message",role:e==="success"?"status":"alert"},"key"in t?r.t(t.key):t.text)))}function Er(e,t){return{resultCode:"Success",clientKey:e.clientKey,paymentMethods:e.paymentMethods,minorUnitsAmount:e.amount.value,currency:e.amount.currency,amount:e.amount.value/100,formattedAmount:e.formattedAmount,merchantName:e.merchantName,enableStoreDetails:e.enableStoreDetails,locale:t}}var ko="IS";function Io(e){return typeof e.sessionId=="string"&&e.sessionId.length>0}function Eo(e){return typeof e=="object"?{theme:e.theme??"light",googlePayButtonTheme:e.googlePayButtonTheme,applePayButtonTheme:e.applePayButtonTheme}:{theme:e??"light"}}function Ao(e){return typeof e.clientKey=="string"&&e.clientKey.length>0&&typeof e.countryCode=="string"&&e.countryCode.length>0&&typeof e.paymentMethods=="object"&&e.paymentMethods!==null&&typeof e.amount=="object"&&e.amount!==null&&typeof e.amount.value=="number"&&typeof e.amount.currency=="string"&&typeof e.onSubmit=="function"&&typeof e.onAdditionalDetails=="function"}function Ar(e){let t=e,r=Be(t.locale),o=Io(t),a=Eo(t.theme),n={mode:o?"session":"advanced",sessionId:t.sessionId,environment:t.environment,countryCode:o?ko:t.countryCode,paymentFlow:o?Yt(t.environment,t.sessionId):Qt(t),onPaymentCompleted:t.onPaymentCompleted,onPaymentFailed:t.onPaymentFailed,placeholders:t.placeholders,locale:r,customLocalizations:t.localizations,instantPayments:t.instantPayments,hideSubmitButton:t.hideSubmitButton,onCardValidityChanged:t.onCardValidityChanged,allowedPaymentMethods:t.allowedPaymentMethods,orderPaymentMethods:t.orderPaymentMethods,openDefaultPaymentMethod:t.openDefaultPaymentMethod,theme:a.theme,googlePayButtonTheme:a.googlePayButtonTheme,applePayButtonTheme:a.applePayButtonTheme};return o?{configuration:n,advancedConfiguration:null,paymentMethods:null,initializationFailed:!1}:Ao(t)?{configuration:n,advancedConfiguration:t,paymentMethods:Er(t,r),initializationFailed:!1}:{configuration:n,advancedConfiguration:null,paymentMethods:null,initializationFailed:!0}}var St=class{configuration;advancedConfiguration=null;paymentMethods=null;mountElement=null;i18n;submitApi=null;initializationFailed=!1;constructor(t){let r=Ar(t);this.configuration=r.configuration,this.advancedConfiguration=r.advancedConfiguration,this.paymentMethods=r.paymentMethods,this.initializationFailed=r.initializationFailed,this.i18n=new nt(this.configuration.locale,this.configuration.customLocalizations)}async mount(t){try{if(this.mountElement=typeof t=="string"?document.querySelector(t):t,!this.mountElement)return;if(this.initializationFailed){this.handleError({key:"error.failedToInitializeStraumurWebComponent"});return}if(this.configuration.mode==="advanced"){this.renderComponent();return}(0,Z.render)((0,Z.h)(Ir,{theme:this.configuration.theme}),this.mountElement);let r=await pt(this.configuration.environment,this.configuration.sessionId);if(r.resultCode==="Error"){this.handleError({key:r.error});return}this.paymentMethods=r,this.renderComponent()}catch(r){console.error("[StraumurCheckout] mount() failed:",r)}}renderComponent(){this.mountElement&&(0,Z.render)((0,Z.h)(st,{theme:this.configuration.theme},(0,Z.h)(Lt,{i18nService:this.i18n,onLanguageChange:t=>{this.configuration.locale=t,this.renderComponent()}},(0,Z.h)(kr,{configuration:this.configuration,paymentMethods:this.paymentMethods,onSubmitApiReady:t=>{this.submitApi=t}}))),this.mountElement)}handleSuccess(t){this.mountElement&&(0,Z.render)((0,Z.h)(Pt,{variant:"success",message:t,i18n:this.i18n,theme:this.configuration.theme}),this.mountElement)}handleError(t){this.mountElement&&(0,Z.render)((0,Z.h)(Pt,{variant:"failure",message:t,i18n:this.i18n,theme:this.configuration.theme}),this.mountElement)}async resolveRedirectContext(){if(this.configuration.mode==="advanced")return this.initializationFailed||!this.advancedConfiguration?(this.handleError({key:"error.failedToInitializeStraumurWebComponent"}),null):{clientKey:this.advancedConfiguration.clientKey,paymentMethods:this.advancedConfiguration.paymentMethods};let t=await pt(this.configuration.environment,this.configuration.sessionId);return t.resultCode==="Error"?(this.handleError({key:t.error}),null):{clientKey:t.clientKey,paymentMethods:t.paymentMethods}}async submitDetails(t,r){try{r&&(this.mountElement=typeof r=="string"?document.querySelector(r):r);let o=await this.resolveRedirectContext();if(!o)return;let{handleOnSubmitAdditionalData:a}=ae({configuration:this.configuration,handleSuccess:i=>this.handleSuccess(i),handleError:i=>this.handleError(i),setThreeDSecureActive:()=>{},dispatchResultFromAdditionalDetails:!0});(await(0,Rr.AdyenCheckout)({environment:this.configuration.environment,clientKey:o.clientKey,paymentMethodsResponse:o.paymentMethods,countryCode:this.configuration.countryCode,onAdditionalDetails:a})).submitDetails({details:{redirectResult:t}})}catch(o){console.error("[StraumurCheckout] submitDetails() failed:",o),this.handleError({key:"error.failedToSubmitPaymentDetails"}),this.configuration.onPaymentFailed?.({resultCode:"Error"})}}updateConfig(t){let{locale:r,...o}=t;this.configuration={...this.configuration,...o,...r?{locale:Be(r)}:{}},r&&this.i18n.setLanguage(this.configuration.locale),t.customLocalizations&&this.i18n.updateCustomLocalizations(t.customLocalizations),this.mountElement&&this.renderComponent()}setLanguage(t){this.updateConfig({locale:t})}destroy(){this.mountElement&&((0,Z.render)(null,this.mountElement),this.mountElement=null),this.submitApi=null}submitCard(){if(!this.mountElement)return console.warn("[StraumurCheckout] submitCard() called before the component was mounted."),!1;if(!this.submitApi)return console.warn("[StraumurCheckout] submitCard() called but the component is not ready yet."),!1;let t=this.submitApi.triggerSubmit();return t||console.warn("[StraumurCheckout] submitCard() called but no card-type payment method is currently active and initialized."),t}},Tr=St;0&&(module.exports={StraumurCheckout});
|
|
15
15
|
//# sourceMappingURL=index.cjs.map
|