@dintero/checkout-web-sdk 0.5.9 → 0.6.0

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.
Files changed (28) hide show
  1. package/README.md +4 -2
  2. package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/checkout.ts.html +92 -5
  3. package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/createIframeAsync.ts.html +15 -15
  4. package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/index.html +88 -43
  5. package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/index.ts.html +1085 -95
  6. package/coverage/Chrome Headless 117.0.5938.92 (Linux x86_64)/html/popOut.ts.html +377 -0
  7. package/coverage/Chrome Headless 117.0.5938.92 (Linux x86_64)/html/popOutBackdrop.ts.html +1046 -0
  8. package/coverage/Chrome Headless 117.0.5938.92 (Linux x86_64)/html/popOutButton.ts.html +374 -0
  9. package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/subscribe.ts.html +218 -29
  10. package/coverage/Chrome Headless 117.0.5938.92 (Linux x86_64)/html/url.ts.html +284 -0
  11. package/dist/declarations/src/checkout.d.ts +45 -17
  12. package/dist/declarations/src/index.d.ts +17 -1
  13. package/dist/declarations/src/session.d.ts +19 -35
  14. package/dist/declarations/src/subscribe.d.ts +62 -0
  15. package/dist/dintero-checkout-web-sdk.cjs.dev.js +927 -63
  16. package/dist/dintero-checkout-web-sdk.cjs.prod.js +927 -63
  17. package/dist/dintero-checkout-web-sdk.esm.js +927 -63
  18. package/dist/dintero-checkout-web-sdk.umd.min.js +1 -1
  19. package/dist/dintero-checkout-web-sdk.umd.min.js.map +1 -1
  20. package/package.json +5 -5
  21. package/coverage/Chrome Headless 115.0.5790.98 (Linux x86_64)/html/url.ts.html +0 -185
  22. /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/base.css +0 -0
  23. /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/block-navigation.js +0 -0
  24. /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/favicon.png +0 -0
  25. /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/prettify.css +0 -0
  26. /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/prettify.js +0 -0
  27. /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/sort-arrow-sprite.png +0 -0
  28. /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/sorter.js +0 -0
@@ -3,5 +3,5 @@
3
3
  v0.8.1 (c) Kyle Simpson
4
4
  MIT License: http://getify.mit-license.org
5
5
  */
6
- var t,o,i;i=function(){var e,n,t,o=Object.prototype.toString,i="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,n,t,o){return Object.defineProperty(e,n,{value:t,writable:!0,configurable:!1!==o})}}catch(n){e=function(e,n,t){return e[n]=t,e}}function r(e,o){t.add(e,o),n||(n=i(t.drain))}function s(e){var n,t=typeof e;return null==e||"object"!=t&&"function"!=t||(n=e.then),"function"==typeof n&&n}function a(){for(var e=0;e<this.chain.length;e++)c(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function c(e,n,t){var o,i;try{!1===n?t.reject(e.msg):(o=!0===n?e.msg:n.call(void 0,e.msg))===t.promise?t.reject(TypeError("Promise-chain cycle")):(i=s(o))?i.call(o,t.resolve,t.reject):t.resolve(o)}catch(e){t.reject(e)}}function d(e){var n,t=this;if(!t.triggered){t.triggered=!0,t.def&&(t=t.def);try{(n=s(e))?r((function(){var o=new f(t);try{n.call(e,(function(){d.apply(o,arguments)}),(function(){u.apply(o,arguments)}))}catch(e){u.call(o,e)}})):(t.msg=e,t.state=1,t.chain.length>0&&r(a,t))}catch(e){u.call(new f(t),e)}}}function u(e){var n=this;n.triggered||(n.triggered=!0,n.def&&(n=n.def),n.msg=e,n.state=2,n.chain.length>0&&r(a,n))}function l(e,n,t,o){for(var i=0;i<n.length;i++)!function(i){e.resolve(n[i]).then((function(e){t(i,e)}),o)}(i)}function f(e){this.def=e,this.triggered=!1}function h(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function p(e){if("function"!=typeof e)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var n=new h(this);this.then=function(e,t){var o={success:"function"!=typeof e||e,failure:"function"==typeof t&&t};return o.promise=new this.constructor((function(e,n){if("function"!=typeof e||"function"!=typeof n)throw TypeError("Not a function");o.resolve=e,o.reject=n})),n.chain.push(o),0!==n.state&&r(a,n),o.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,(function(e){d.call(n,e)}),(function(e){u.call(n,e)}))}catch(e){u.call(n,e)}}t=function(){var e,t,o;function i(e,n){this.fn=e,this.self=n,this.next=void 0}return{add:function(n,r){o=new i(n,r),t?t.next=o:e=o,t=o,o=void 0},drain:function(){var o=e;for(e=t=n=void 0;o;)o.fn.call(o.self),o=o.next}}}();var y=e({},"constructor",p,!1);return p.prototype=y,e(y,"__NPO__",0,!1),e(p,"resolve",(function(e){return e&&"object"==typeof e&&1===e.__NPO__?e:new this((function(n,t){if("function"!=typeof n||"function"!=typeof t)throw TypeError("Not a function");n(e)}))})),e(p,"reject",(function(e){return new this((function(n,t){if("function"!=typeof n||"function"!=typeof t)throw TypeError("Not a function");t(e)}))})),e(p,"all",(function(e){var n=this;return"[object Array]"!=o.call(e)?n.reject(TypeError("Not an array")):0===e.length?n.resolve([]):new n((function(t,o){if("function"!=typeof t||"function"!=typeof o)throw TypeError("Not a function");var i=e.length,r=Array(i),s=0;l(n,e,(function(e,n){r[e]=n,++s===i&&t(r)}),o)}))})),e(p,"race",(function(e){var n=this;return"[object Array]"!=o.call(e)?n.reject(TypeError("Not an array")):new n((function(t,o){if("function"!=typeof t||"function"!=typeof o)throw TypeError("Not a function");l(n,e,(function(e,n){t(n)}),o)}))})),p},(o=n)[t="Promise"]=o[t]||i(),e.exports&&(e.exports=o[t])}));var t="0.5.9";let o,i;!function(e){e.SessionNotFound="SessionNotFound",e.SessionLoaded="SessionLoaded",e.SessionUpdated="SessionUpdated",e.SessionCancel="SessionCancel",e.SessionPaymentOnHold="SessionPaymentOnHold",e.SessionPaymentAuthorized="SessionPaymentAuthorized",e.SessionPaymentError="SessionPaymentError",e.SessionLocked="SessionLocked",e.SessionLockFailed="SessionLockFailed",e.ActivePaymentProductType="ActivePaymentProductType",e.ValidateSession="ValidateSession"}(o||(o={})),function(e){e.HeightChanged="HeightChanged",e.LanguageChanged="LanguageChanged",e.ScrollToTop="ScrollToTop"}(i||(i={}));const r=e=>{window.location.assign(e)},s=e=>{const{sid:n,endpoint:o,language:i,ui:r,shouldCallValidateSession:s}=e;if(!o)throw new Error("Invalid endpoint");const a=[i?`language=${i}`:"",r?`ui=${r}`:"",`sdk=${t}`,s?"client_side_validation=true":void 0].filter((e=>e)).join("&");return`${o}/v1/view/${n}${a?"?"+a:""}`},a=e=>{const{sid:n,endpoint:t,handler:o,eventTypes:i,checkout:r}=e,s=e=>{const s=e.origin===t,a=e.source===r.iframe.contentWindow,c=e.data&&e.data.sid===n,d=-1!==i.indexOf(e.data&&e.data.type);s&&a&&c&&d&&(((e,n)=>{n.data.mid&&e.contentWindow&&e.contentWindow.postMessage({ack:n.data.mid},n.origin||"*")})(r.iframe,e),o(e.data,r))};window.addEventListener("message",s,!1);return{unsubscribe:()=>{window.removeEventListener("message",s,!1)}}},c=e=>{e.href&&r(e.href)},d=(e,n)=>{(e.height||0===e.height)&&n.iframe.setAttribute("style",`width:100%; height:${e.height}px;`)},u=(e,n)=>{try{n.iframe.scrollIntoView({block:"start",behavior:"smooth"})}catch(e){console.error(e)}},l=(e,n)=>{e.language&&(n.language=e.language)},f=(e,n,i)=>(e,r)=>{const s=["sid","merchant_reference","transaction_id","error"].map((n=>[n,e[n]]));e.type!==o.SessionCancel||e.error||s.push(["error","cancelled"]),s.push(["language",r.language]),s.push(["sdk",t]);const a=s.filter((([e,n])=>n)).map((([e,n])=>`${e}=${n}`)).join("&");r.iframe.setAttribute("src",`${n}/embedResult/?${a}`),i(e,r)};e.embed=async e=>{const{container:n,sid:t,language:r,endpoint:h="https://checkout.dintero.com",onSession:p,onSessionCancel:y,onPayment:g,onPaymentAuthorized:m,onPaymentError:v,onSessionNotFound:w,onSessionLocked:S,onSessionLockFailed:T,onActivePaymentType:b,onValidateSession:P}=e;let E;const _=[],{iframe:k,initiate:A}=((e,n,t)=>{if(!e||!e.appendChild)throw new Error("Invalid container");const o=document.createElement("iframe");return o.setAttribute("frameborder","0"),o.setAttribute("allowTransparency","true"),o.setAttribute("style","width:100%; height:0;"),o.setAttribute("sandbox","allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox"),o.setAttribute("allow","payment"),o.setAttribute("importance","high"),o.setAttribute("src",t),{iframe:o,initiate:async()=>new Promise(((n,t)=>{o.onload=()=>n(),o.onerror=()=>t(),e.appendChild(o)}))}})(n,0,s({sid:t,endpoint:h,language:r,ui:"inline",shouldCallValidateSession:void 0!==P})),j=(e,n,o)=>{if(!E)throw new Error("Unable to create action promise: checkout is undefined");return new Promise(((i,r)=>{const s=[];s.push(a({sid:t,endpoint:h,handler:e=>{s.forEach((e=>e.unsubscribe())),i(e)},eventTypes:[n],checkout:E})),s.push(a({sid:t,endpoint:h,handler:()=>{s.forEach((e=>e.unsubscribe())),r(`Received unexpected event: ${o}`)},eventTypes:[o],checkout:E})),e()}))},L=()=>j((()=>{((e,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"RefreshSession",sid:n},"*")})(k,t)}),o.SessionUpdated,o.SessionNotFound),N=e=>{((e,n,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"ValidationResult",sid:n,...t},"*")})(k,t,e)};return E={destroy:()=>{k&&(_.forEach((e=>e.unsubscribe())),k.parentElement&&n.removeChild(k))},iframe:k,language:r,lockSession:()=>j((()=>{((e,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"LockSession",sid:n},"*")})(k,t)}),o.SessionLocked,o.SessionLockFailed),refreshSession:L,setActivePaymentProductType:e=>{((e,n,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"SetActivePaymentProductType",sid:n,payment_product_type:t},"*")})(k,t,e)},submitValidationResult:N},[{handler:l,eventTypes:[i.LanguageChanged]},{handler:d,eventTypes:[i.HeightChanged]},{handler:u,eventTypes:[i.ScrollToTop]},{handler:p,eventTypes:[o.SessionLoaded,o.SessionUpdated]},{eventTypes:[o.SessionPaymentOnHold],handler:g?f(0,h,g):c},{eventTypes:[o.SessionPaymentAuthorized],handler:m||g?f(0,h,m||g):c},{handler:y?f(0,h,y):c,eventTypes:[o.SessionCancel]},{handler:v?f(0,h,v):c,eventTypes:[o.SessionPaymentError]},{handler:w,eventTypes:[o.SessionNotFound]},{handler:(e,n)=>{S&&S(e,n,L)},eventTypes:[o.SessionLocked]},{handler:T,eventTypes:[o.SessionLockFailed]},{handler:b,eventTypes:[o.ActivePaymentProductType]},{handler:(e,n)=>{P&&P(e,n,N)},eventTypes:[o.ValidateSession]}].forEach((({handler:e,eventTypes:n})=>{e&&_.push(a({sid:t,endpoint:h,handler:e,eventTypes:n,checkout:E}))})),await A(),E},e.redirect=e=>{const{sid:n,language:t,endpoint:o="https://checkout.dintero.com"}=e;r(s({sid:n,endpoint:o,language:t,shouldCallValidateSession:!1}))},Object.defineProperty(e,"__esModule",{value:!0})}));
6
+ var t,o,i;i=function(){var e,n,t,o=Object.prototype.toString,i="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,n,t,o){return Object.defineProperty(e,n,{value:t,writable:!0,configurable:!1!==o})}}catch(n){e=function(e,n,t){return e[n]=t,e}}function r(e,o){t.add(e,o),n||(n=i(t.drain))}function s(e){var n,t=typeof e;return null==e||"object"!=t&&"function"!=t||(n=e.then),"function"==typeof n&&n}function a(){for(var e=0;e<this.chain.length;e++)d(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function d(e,n,t){var o,i;try{!1===n?t.reject(e.msg):(o=!0===n?e.msg:n.call(void 0,e.msg))===t.promise?t.reject(TypeError("Promise-chain cycle")):(i=s(o))?i.call(o,t.resolve,t.reject):t.resolve(o)}catch(e){t.reject(e)}}function c(e){var n,t=this;if(!t.triggered){t.triggered=!0,t.def&&(t=t.def);try{(n=s(e))?r((function(){var o=new u(t);try{n.call(e,(function(){c.apply(o,arguments)}),(function(){l.apply(o,arguments)}))}catch(e){l.call(o,e)}})):(t.msg=e,t.state=1,t.chain.length>0&&r(a,t))}catch(e){l.call(new u(t),e)}}}function l(e){var n=this;n.triggered||(n.triggered=!0,n.def&&(n=n.def),n.msg=e,n.state=2,n.chain.length>0&&r(a,n))}function p(e,n,t,o){for(var i=0;i<n.length;i++)!function(i){e.resolve(n[i]).then((function(e){t(i,e)}),o)}(i)}function u(e){this.def=e,this.triggered=!1}function f(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function h(e){if("function"!=typeof e)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var n=new f(this);this.then=function(e,t){var o={success:"function"!=typeof e||e,failure:"function"==typeof t&&t};return o.promise=new this.constructor((function(e,n){if("function"!=typeof e||"function"!=typeof n)throw TypeError("Not a function");o.resolve=e,o.reject=n})),n.chain.push(o),0!==n.state&&r(a,n),o.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,(function(e){c.call(n,e)}),(function(e){l.call(n,e)}))}catch(e){l.call(n,e)}}t=function(){var e,t,o;function i(e,n){this.fn=e,this.self=n,this.next=void 0}return{add:function(n,r){o=new i(n,r),t?t.next=o:e=o,t=o,o=void 0},drain:function(){var o=e;for(e=t=n=void 0;o;)o.fn.call(o.self),o=o.next}}}();var m=e({},"constructor",h,!1);return h.prototype=m,e(m,"__NPO__",0,!1),e(h,"resolve",(function(e){return e&&"object"==typeof e&&1===e.__NPO__?e:new this((function(n,t){if("function"!=typeof n||"function"!=typeof t)throw TypeError("Not a function");n(e)}))})),e(h,"reject",(function(e){return new this((function(n,t){if("function"!=typeof n||"function"!=typeof t)throw TypeError("Not a function");t(e)}))})),e(h,"all",(function(e){var n=this;return"[object Array]"!=o.call(e)?n.reject(TypeError("Not an array")):0===e.length?n.resolve([]):new n((function(t,o){if("function"!=typeof t||"function"!=typeof o)throw TypeError("Not a function");var i=e.length,r=Array(i),s=0;p(n,e,(function(e,n){r[e]=n,++s===i&&t(r)}),o)}))})),e(h,"race",(function(e){var n=this;return"[object Array]"!=o.call(e)?n.reject(TypeError("Not an array")):new n((function(t,o){if("function"!=typeof t||"function"!=typeof o)throw TypeError("Not a function");p(n,e,(function(e,n){t(n)}),o)}))})),h},(o=n)[t="Promise"]=o[t]||i(),e.exports&&(e.exports=o[t])}));var t="0.6.0";let o=function(e){return e.SessionNotFound="SessionNotFound",e.SessionLoaded="SessionLoaded",e.SessionUpdated="SessionUpdated",e.SessionCancel="SessionCancel",e.SessionPaymentOnHold="SessionPaymentOnHold",e.SessionPaymentAuthorized="SessionPaymentAuthorized",e.SessionPaymentError="SessionPaymentError",e.SessionLocked="SessionLocked",e.SessionLockFailed="SessionLockFailed",e.ActivePaymentProductType="ActivePaymentProductType",e.ValidateSession="ValidateSession",e}({}),i=function(e){return e.HeightChanged="HeightChanged",e.LanguageChanged="LanguageChanged",e.ScrollToTop="ScrollToTop",e.ShowPopOutButton="ShowPopOutButton",e.HidePopOutButton="HidePopOutButton",e}({});const r=e=>{window.location.assign(e)},s=e=>{const{sid:n,endpoint:o,language:i,ui:r,shouldCallValidateSession:s,popOut:a}=e;if(!o)throw new Error("Invalid endpoint");const d=new URLSearchParams;return d.append("sdk",t),r&&d.append("ui",r),i&&d.append("language",i),s&&d.append("client_side_validation","true"),a&&d.append("role","pop_out_launcher"),"https://checkout.dintero.com"===o?`${o}/v1/view/${n}?${d.toString()}`:(d.append("sid",n),`${o}/?${d.toString()}`)},a=({sid:e,endpoint:n,language:o,shouldCallValidateSession:i})=>{if(i)return`${(e=>e.endsWith("/")?e:`${e}/`)(n)}?loader=true`;const r=new URLSearchParams;return r.append("ui","fullscreen"),r.append("role","pop_out_payment"),r.append("sid",e),r.append("sdk",t),o&&r.append("language",o),`${n}/?${r.toString()}`},d=(e,n,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"ValidationResult",sid:n,...t},"*")},c=e=>{const{sid:n,endpoint:t,handler:o,eventTypes:i,checkout:r}=e,s=new URL(t),a=e=>{const t=e.origin===s.origin,a=e.source===r.iframe.contentWindow,d=e.data&&e.data.sid===n,c=-1!==i.indexOf(e.data&&e.data.type);t&&a&&d&&c&&(((e,n)=>{n.data.mid&&e&&e.postMessage({ack:n.data.mid},n.origin||"*")})(r.iframe.contentWindow,e),o(e.data,r))};window.addEventListener("message",a,!1);return{unsubscribe:()=>{window.removeEventListener("message",a,!1)}}},l="dintero-checkout-sdk-style",p="dintero-checkout-sdk-backdrop",u="dintero-checkout-sdk-backdrop-description",f="dintero-checkout-sdk-backdrop-focus",h="dintero-checkout-sdk-backdrop-close",m=e=>n=>(n.preventDefault(),n.stopPropagation(),e(),!1),g=()=>{const e=document.createElement("div");return e.setAttribute("id",p),e.setAttribute("role","dialog"),e.style.zIndex=(()=>{const e=document.getElementsByTagName("*"),n=Array.from(e).reduce(((e,n)=>{try{const t=document.defaultView.getComputedStyle(n,null).getPropertyValue("z-index"),o=parseInt(t||"0");if(!isNaN(o)&&o>e)return o}catch(e){console.error(e)}return e}),0);return n<9999?"9999":(n+1).toString()})(),e},y=e=>{const n=document.getElementById(f),t=document.getElementById(h);"Tab"!==e.key&&"Tab"!==e.code||(document.activeElement===n?(t.focus(),e.preventDefault()):(n.focus(),e.preventDefault()))},w=e=>{(()=>{if(document.getElementById(l))return;const e=document.createElement("style");e.setAttribute("id",l),e.innerHTML=`\n @keyframes ${p}-fade-in {\n from {opacity: 0;}\n to {opacity: 1;}\n }\n\n #${p} {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n height: 100vh;\n width: 100vw;\n background-color: rgba(0,0,0,0.9);\n background: radial-gradient(rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.8) 100%);\n cursor: pointer;\n animation: 20ms ease-out ${p}-fade-in;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 20px;\n color: #ffffff;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n font-size: 18px;\n font-weight: 400;\n line-height: normal;\n text-rendering: geometricPrecision;\n margin: 0;\n padding: 0;\n border: 0;\n vertical-align: baseline;\n line-height: normal;\n }\n\n #${p} p {\n padding: 0;\n margin: 0;\n border: 0;\n user-select: none;\n }\n\n #${f} {\n background-color: #efefef !important;\n color: #000000 !important;\n font-size: 16px !important;\n font-weight: 600 !important;\n border-radius: 200px !important;\n margin: 0 !important;\n line-height: normal !important;\n border: none !important;\n padding: 10px 20px !important;\n user-select: none !important;\n cursor: pointer !important;\n }\n #${f}:hover,\n #${f}:focus {\n outline: none !important;\n background-color: #ffffff !important;\n border: none !important;\n color: #000000 !important;\n padding: 10px 20px !important;\n margin: 0 !important;\n }\n #${f}:focus{\n outline-offset: 2px;\n outline: 1px #ffffff solid !important;\n }\n\n #${h} {\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n border: none !important;\n border-radius: 4px !important;\n height: 24px !important;\n width: 24px !important;\n color: #efefef !important;\n position: absolute !important;\n top: 16px !important;\n right: 24px !important;\n transition: all 200ms ease-out !important;\n cursor: pointer !important;\n }\n\n #${h}:hover,\n #${h}:focus {\n outline: none !important;\n color: #ffffff !important;\n border: none !important;\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n position: absolute;\n top: 16px;\n right: 24px;\n }\n #${h}:focus{\n outline: 1px #ffffff solid !important;\n }\n\n #${p}:before,\n #${p}:after,\n #${p} > *:before,\n #${p} > *:after {\n content: '';\n content: none;\n }\n `,document.head.appendChild(e)})();const n=g(),t=(e=>{const n=document.createElement("button");return n.setAttribute("id",h),n.setAttribute("type","button"),n.setAttribute("aria-label",e),n.innerHTML='\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-linejoin="round"\n alt="close icon"\n >\n <line x1="18" y1="6" x2="6" y2="18"></line>\n <line x1="6" y1="6" x2="18" y2="18"></line>\n </svg>',n})(e.event.closeLabel),o=(()=>{const e=document.createElement("div");return e.innerHTML='\n <svg width="120px" height="22px" viewBox="0 0 630 111" version="1.1" >\n <g id="Page-1" stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">\n <g id="Dintero" fill="#ffffff" fillRule="nonzero">\n <path d="M376.23,60.48 L376.23,73.54 L454.13,73.54 C456.31,41.55 435.85,23.71 410.61,23.71 C385.37,23.71 367.09,41.77 367.09,66.79 C367.09,92.03 386.02,110.31 411.91,110.31 C433.02,110.31 448.9,97.25 453.25,82.24 L436.5,82.24 C432.37,89.42 423.88,95.51 411.91,95.51 C395.16,95.51 382.75,83.11 382.75,66.79 C382.75,50.69 394.72,38.5 410.6,38.5 C426.48,38.5 438.45,50.68 438.45,66.79 L444.54,60.48 L376.23,60.48 Z M154.29,17.83 L171.7,17.83 L171.7,0.42 L154.29,0.42 L154.29,17.83 Z M120.34,108.13 L191.27,108.13 L191.27,93.77 L120.34,93.77 L120.34,108.13 Z M156.46,40.24 L156.46,108.13 L171.69,108.13 L171.69,45.47 C171.69,32.85 165.82,25.89 151.89,25.89 L120.34,25.89 L120.34,40.25 L156.46,40.25 L156.46,40.24 Z M499.17,25.88 L464.36,25.88 L464.36,40.24 L483.94,40.24 L484.16,108.13 L499.39,108.13 L499.17,62.44 C499.17,48.51 508.53,40.25 521.58,40.25 L535.29,40.25 L535.29,25.89 L524.41,25.89 C509.18,25.89 501.78,31.33 497.65,41.56 L495.47,47 L499.17,47.65 L499.17,25.88 Z M288.76,25.88 L310.52,25.88 L310.52,6.3 L325.75,6.3 L325.75,25.88 L359.69,25.88 L359.69,40.24 L325.75,40.24 L325.75,93.77 L359.69,93.77 L359.69,108.13 L332.49,108.13 C318.56,108.13 310.51,98.99 310.51,86.37 L310.51,40.24 L288.75,40.24 L288.75,25.88 L288.76,25.88 Z M464.35,108.13 L535.28,108.13 L535.28,93.77 L464.35,93.77 L464.35,108.13 Z M108.6,54.17 C108.6,23.06 85.54,0.43 53.77,0.43 L0.9,0.43 L0.9,108.14 L53.77,108.14 C85.53,108.13 108.6,85.5 108.6,54.17 M248.07,23.71 C234.58,23.71 223.92,31.98 220,41.55 L220,25.88 L204.77,25.88 L204.77,108.13 L220,108.13 L220,66.35 C220,53.08 224.79,38.93 243.72,38.93 C259.39,38.93 267.44,48.07 267.44,67.43 L267.44,108.12 L282.67,108.12 L282.67,64.6 C282.67,35.02 265.91,23.71 248.07,23.71 M586.2,110.31 C611.22,110.31 629.72,92.03 629.72,67.01 C629.72,41.99 611.23,23.71 586.2,23.71 C560.96,23.71 542.68,41.99 542.68,67.01 C542.68,92.03 560.96,110.31 586.2,110.31 M586.2,95.51 C570.32,95.51 558.35,83.33 558.35,67.01 C558.35,50.69 570.32,38.51 586.2,38.51 C602.08,38.51 614.05,50.69 614.05,67.01 C614.05,83.33 602.08,95.51 586.2,95.51 M16.99,92.9 L16.99,15.66 L51.8,15.66 C75.3,15.66 92.05,31.98 92.05,54.61 C92.05,76.8 75.3,92.91 51.8,92.91 L16.99,92.91 L16.99,92.9 Z" id="Shape"></path>\n </g>\n </g>\n </svg>',e})(),i=(e=>{const n=document.createElement("p");return n.setAttribute("id",u),n.innerText=e,n})(e.event.descriptionLabel),r=(e=>{const n=document.createElement("button");return n.setAttribute("id",f),n.setAttribute("type","button"),n.innerText=e,n})(e.event.focusLabel);return n.onclick=m(e.focus),r.onclick=m(e.focus),t.onclick=m(e.close),document.addEventListener("keydown",y),n.appendChild(t),n.appendChild(o),n.appendChild(i),n.appendChild(r),document.body.appendChild(n),n.focus(),n},v=()=>{try{const e=document.getElementById(p);e&&document.body.removeChild(e),document.removeEventListener("keydown",y)}catch(e){console.error(e)}},b="dintero-checkout-sdk-launch-pop-out",L=e=>{const{container:n}=e,t=document.getElementById(b),o=t||document.createElement("button");((e,{label:n,disabled:t,top:o,left:i,right:r,styles:s,onClick:a})=>{e.setAttribute("id",b),e.setAttribute("type","button"),"true"===t?e.setAttribute("disabled",t):e.removeAttribute("disabled"),e.onclick=n=>{n.preventDefault(),n.stopPropagation(),e.style.boxShadow="inset 0 0 10px rgba(34, 84, 65, 0.9)",a(),window.setTimeout((()=>{e.style.boxShadow="none"}),200)},e.innerText=n,e.style.position="absolute",e.style.top=o+"px",e.style.left=i+"px",e.style.right=r+"px";for(const[n,t]of Object.entries(s))e.style[n]=t})(o,e),t||n.appendChild(o)},S=()=>{try{const e=document.getElementById(b);e&&e.remove()}catch(e){console.error(e)}},C=Math.min(480,window.screen.width),k=Math.min(840,window.screen.height);let T;const x=async e=>{let n,t=-1;if(T&&!T.closed)return;const o=a(e);T=await((e,n,t)=>new Promise((o=>{try{const i=window.screenX+(window.outerWidth-n)/2,r=window.screenY+(window.outerHeight-t)/2,s=`width=${n},height=${t},left=${i},top=${r},location=no,menubar=no,toolbar=no,status=no`,a=window.open(e,"dintero-checkout",s);if(!a)return console.log("createPopOutWindow no popOut"),void o(void 0);const d=window.setTimeout((()=>{console.log("createPopOutWindow timeout"),o(void 0)}),3e3);a.addEventListener("load",(e=>{console.log("createPopOutWindow loaded",{popOut:a,event:e}),clearTimeout(d),o(a)}))}catch(e){o(void 0)}})))(o,C,k);const i=()=>{window.clearInterval(t),t=-1,window.removeEventListener("beforeunload",r),T=void 0,e.onClose(),n&&n()},r=()=>{T&&T.close(),i()};return window.addEventListener("beforeunload",r),t=window.setInterval((()=>{T&&T.closed&&i()}),200),n=e.onOpen(T),{close:r,focus:()=>{T&&T.focus()},popOutWindow:T}},P=(e,n)=>{j(n),e.href&&r(e.href)},E=(e,n)=>{(e.height||0===e.height)&&n.iframe.setAttribute("style",`width:100%; height:${e.height}px;`)},O=(e,n)=>{try{n.iframe.scrollIntoView({block:"start",behavior:"smooth"})}catch(e){console.error(e)}},A=(e,n)=>{e.language&&(n.language=e.language)},W=(e,n)=>{const t={internalPopOutHandler:!0,eventTypes:[i.LanguageChanged],handler:(e,n)=>{var t,o,i;t=n.iframe,o=n.options.sid,i=e.language,t.contentWindow&&t.contentWindow.postMessage({type:"SetLanguage",sid:o,language:i},"*")}},r={internalPopOutHandler:!0,eventTypes:[o.SessionCancel,o.SessionPaymentOnHold,o.SessionPaymentAuthorized,o.SessionPaymentError],handler:(n,t)=>{if(n.href){S();try{e.close()}catch(e){console.error(e)}}else console.error("Payment Complete event missing href property")}},s=o=>{o.source===e&&"popOut"===o.data.context&&o.data.sid===n.options.sid&&[t,r,...n.handlers].forEach((e=>{e.eventTypes.includes(o.data.type)&&e.handler&&(e=>{try{e()}catch(e){console.error(e)}})((()=>{e.handler(o.data,n)}))}))};return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}},$=async(e,n)=>{const{close:t,focus:o,popOutWindow:i}=await x({sid:n.options.sid,endpoint:n.options.endpoint,shouldCallValidateSession:Boolean(n.options.onValidateSession),language:e.language,onOpen:e=>W(e,n),onClose:()=>{var e,t;v(),e=n.iframe,t=n.options.sid,e.contentWindow&&e.contentWindow.postMessage({type:"ClosedPopOut",sid:t},"*"),(e=>{try{const n=document.getElementById(b);n&&(e?n.setAttribute("disabled",e.toString()):n.removeAttribute("disabled"))}catch(e){console.error(e)}})(!1),n.popOutWindow=void 0}});return i?(r=n.iframe,s=n.options.sid,r.contentWindow&&r.contentWindow.postMessage({type:"OpenedPopOut",sid:s},"*"),n.popOutWindow=i,(e=>{try{if(document.getElementById(p))return;return w(e)}catch(e){console.error(e)}})({focus:o,close:t,event:e}),!0):(((e,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"OpenPopOutFailed",sid:n},"*")})(n.iframe,n.options.sid),!1);var r,s},M=async(e,n)=>{if(await $(e,n)&&n.options.onValidateSession){t=n.iframe,i=n.options.sid,t.contentWindow&&t.contentWindow.postMessage({type:"ValidatingPopOut",sid:i},"*");const r=((e,n)=>t=>{d(n.iframe,n.options.sid,t),t.success&&n.popOutWindow?n.popOutWindow.location.href=a({sid:n.options.sid,endpoint:n.options.endpoint,shouldCallValidateSession:!1,language:e.language}):(n.popOutWindow&&n.popOutWindow.close(),console.error(t.clientValidationError))})(e,n);try{n.options.onValidateSession({type:o.ValidateSession,session:n.session,callback:r},n,r)}catch(e){console.error(e),d(n.iframe,n.options.sid,{success:!1,clientValidationError:"Validation runtime error"})}}var t,i},_=(e,n)=>{(e=>e&&e.type===i.ShowPopOutButton)(e)&&(L({container:n.options.innerContainer,label:e.openLabel,top:e.top,left:e.left,right:e.right,styles:e.styles,disabled:e.disabled,onClick:()=>M(e,n)}),(e=>{const n=document.getElementById(f);n&&(n.innerText=e.focusLabel);const t=document.getElementById(u);t&&(t.innerText=e.descriptionLabel);const o=document.getElementById(h);o&&o.setAttribute("aria-label",e.descriptionLabel)})(e))},V=(e,n)=>{e.type===i.HidePopOutButton&&S()},j=e=>{if(S(),v(),e.popOutWindow)try{e.popOutWindow.close()}catch(e){console.error(e)}};e.embed=async e=>{const n=document.createElement("div");n.style.position="relative",n.style["box-sizing"]="border-box";const r={endpoint:"https://checkout.dintero.com",innerContainer:n,...e},{container:a,sid:l,language:p,endpoint:u,onSession:f,onSessionCancel:h,onPayment:m,onPaymentAuthorized:g,onPaymentError:y,onSessionNotFound:w,onSessionLocked:b,onSessionLockFailed:L,onActivePaymentType:S,onValidateSession:C,popOut:k}=r;let T;const x=[];let W=!1;a.appendChild(n);const{iframe:$,initiate:M}=((e,n,t)=>{if(!e||!e.appendChild)throw new Error("Invalid container");const o=document.createElement("iframe");return o.setAttribute("frameborder","0"),o.setAttribute("allowTransparency","true"),o.setAttribute("style","width:100%; height:0;"),o.setAttribute("sandbox","allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox"),o.setAttribute("allow","payment"),o.setAttribute("importance","high"),o.setAttribute("src",t),{iframe:o,initiate:async()=>new Promise(((n,t)=>{o.onload=()=>n(),o.onerror=()=>t(),e.appendChild(o)}))}})(n,0,s({sid:l,endpoint:u,language:p,ui:"inline",shouldCallValidateSession:void 0!==C,popOut:k})),B=(e,n,t)=>{if(!T)throw new Error("Unable to create action promise: checkout is undefined");return new Promise(((o,i)=>{const r=[];r.push(c({sid:l,endpoint:u,handler:e=>{r.forEach((e=>e.unsubscribe())),o(e)},eventTypes:[n],checkout:T,source:T.iframe.contentWindow})),r.push(c({sid:l,endpoint:u,handler:()=>{r.forEach((e=>e.unsubscribe())),i(`Received unexpected event: ${t}`)},eventTypes:[t],checkout:T,source:T.iframe.contentWindow})),e()}))},I=()=>B((()=>{((e,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"RefreshSession",sid:n},"*")})($,l)}),o.SessionUpdated,o.SessionNotFound),N=e=>{d($,l,e)},H=(e,n,i)=>(e,r)=>{if(!W){W=!0,j(r);const s=["sid","merchant_reference","transaction_id","error"].map((n=>[n,e[n]]));e.type!==o.SessionCancel||e.error||s.push(["error","cancelled"]),s.push(["language",r.language]),s.push(["sdk",t]);const a=s.filter((([e,n])=>n)).map((([e,n])=>`${e}=${n}`)).join("&");r.iframe.setAttribute("src",`${n}/embedResult/?${a}`),i(e,r)}},F=[{handler:A,eventTypes:[i.LanguageChanged]},{handler:E,eventTypes:[i.HeightChanged]},{handler:O,eventTypes:[i.ScrollToTop]},{handler:(e,n)=>{n.session=e.session,f&&f(e,n)},eventTypes:[o.SessionLoaded,o.SessionUpdated]},{eventTypes:[o.SessionPaymentOnHold],handler:m?H(0,u,m):P},{eventTypes:[o.SessionPaymentAuthorized],handler:g||m?H(0,u,g||m):P},{handler:h?H(0,u,h):P,eventTypes:[o.SessionCancel]},{handler:y?H(0,u,y):P,eventTypes:[o.SessionPaymentError]},{handler:w,eventTypes:[o.SessionNotFound]},{handler:(e,n)=>{b&&b(e,n,I)},eventTypes:[o.SessionLocked]},{handler:L,eventTypes:[o.SessionLockFailed]},{handler:S,eventTypes:[o.ActivePaymentProductType]},{handler:(e,n)=>{if(C)try{C({...e,callback:N},n,N)}catch(e){console.error(e),N({success:!1,clientValidationError:"Validation runtime error"})}},eventTypes:[o.ValidateSession]},{handler:_,eventTypes:[i.ShowPopOutButton]},{handler:V,eventTypes:[i.HidePopOutButton]}];return T={destroy:()=>{j(T),$&&(r.popOut&&v(),x.forEach((e=>e.unsubscribe())),$.parentElement&&n.removeChild($)),n.parentElement&&a.removeChild(n)},iframe:$,language:p,lockSession:()=>B((()=>{((e,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"LockSession",sid:n},"*")})($,l)}),o.SessionLocked,o.SessionLockFailed),refreshSession:I,setActivePaymentProductType:e=>{((e,n,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"SetActivePaymentProductType",sid:n,payment_product_type:t},"*")})($,l,e)},submitValidationResult:N,options:r,handlers:F,session:void 0,popOutWindow:void 0},F.forEach((({handler:e,eventTypes:n})=>{e&&x.push(c({sid:l,endpoint:u,handler:e,eventTypes:n,checkout:T,source:T.iframe.contentWindow}))})),await M(),T},e.redirect=e=>{const{sid:n,language:t,endpoint:o="https://checkout.dintero.com"}=e;r(s({sid:n,endpoint:o,language:t,shouldCallValidateSession:!1}))},Object.defineProperty(e,"__esModule",{value:!0})}));
7
7
  //# sourceMappingURL=dintero-checkout-web-sdk.umd.min.js.map