@dintero/checkout-web-sdk 0.12.16 → 0.12.17

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.
@@ -24,6 +24,7 @@ export interface DinteroCheckoutInstance {
24
24
  })[];
25
25
  session: Session | undefined;
26
26
  popOutWindow: Window | undefined;
27
+ paymentCompleted: boolean;
27
28
  }
28
29
  export interface DinteroCheckoutOptions {
29
30
  sid: string;
@@ -6,7 +6,7 @@ require('native-promise-only');
6
6
 
7
7
  var pkg = {
8
8
  name: "@dintero/checkout-web-sdk",
9
- version: "0.12.16",
9
+ version: "0.12.17",
10
10
  description: "Dintero Checkout SDK for web frontends",
11
11
  main: "dist/dintero-checkout-web-sdk.cjs.js",
12
12
  module: "dist/dintero-checkout-web-sdk.esm.js",
@@ -44,12 +44,12 @@ var pkg = {
44
44
  "@preconstruct/cli": "2.8.13",
45
45
  "@semantic-release/exec": "7.1.0",
46
46
  "@semantic-release/git": "10.0.1",
47
- "@vitest/browser": "4.1.8",
47
+ "@vitest/browser": "4.1.9",
48
48
  "@vitest/browser-webdriverio": "^4.0.4",
49
- "semantic-release": "25.0.3",
49
+ "semantic-release": "25.0.5",
50
50
  typescript: "6.0.3",
51
- vitest: "4.1.7",
52
- webdriverio: "9.27.2"
51
+ vitest: "4.1.9",
52
+ webdriverio: "9.29.0"
53
53
  },
54
54
  dependencies: {
55
55
  "native-promise-only": "0.8.1"
@@ -1070,6 +1070,7 @@ const setLanguage = (event, checkout) => {
1070
1070
  checkout.language = event.language;
1071
1071
  }
1072
1072
  };
1073
+ const paymentCompletedEvents = [CheckoutEvents.SessionCancel, CheckoutEvents.SessionPaymentOnHold, CheckoutEvents.SessionPaymentAuthorized, CheckoutEvents.SessionPaymentError];
1073
1074
 
1074
1075
  /**
1075
1076
  * Wrap function with try catch so an error in a single function won't short circuit other code in the current context.
@@ -1098,7 +1099,6 @@ const createPopOutMessageHandler = (source, checkout) => {
1098
1099
  };
1099
1100
 
1100
1101
  // Close pop out, and remove SDK rendered button when payment is completed.
1101
- const paymentCompletedEvents = [CheckoutEvents.SessionCancel, CheckoutEvents.SessionPaymentOnHold, CheckoutEvents.SessionPaymentAuthorized, CheckoutEvents.SessionPaymentError];
1102
1102
  const popOutCompletedHandler = {
1103
1103
  internalPopOutHandler: true,
1104
1104
  eventTypes: paymentCompletedEvents,
@@ -1266,6 +1266,9 @@ const isShowPopOutButton = event => {
1266
1266
  * Display the SDK rendered pop out button on top of the embedded iframe
1267
1267
  */
1268
1268
  const handleShowButton = (event, checkout) => {
1269
+ if (checkout.paymentCompleted) {
1270
+ return;
1271
+ }
1269
1272
  if (isShowPopOutButton(event)) {
1270
1273
  if (event.session) {
1271
1274
  // Update checkout instance session
@@ -1295,6 +1298,15 @@ const handleRemoveButton = (event, _checkout) => {
1295
1298
  removePopOutButton();
1296
1299
  }
1297
1300
  };
1301
+
1302
+ /**
1303
+ * Mark the payment as completed and remove the pop out button. Once completed,
1304
+ * handleShowButton ignores any further ShowPopOutButton messages.
1305
+ */
1306
+ const handlePaymentCompleted = (_event, checkout) => {
1307
+ checkout.paymentCompleted = true;
1308
+ removePopOutButton();
1309
+ };
1298
1310
  const cleanUpPopOut = checkout => {
1299
1311
  // Ensures that the pop out is no longer open when the payment is completed or the checkout is destroyed.
1300
1312
  removePopOutButton();
@@ -1582,6 +1594,9 @@ const embed = async options => {
1582
1594
  }, {
1583
1595
  handler: wrappedOnAddressCallback,
1584
1596
  eventTypes: [CheckoutEvents.AddressCallback]
1597
+ }, {
1598
+ handler: handlePaymentCompleted,
1599
+ eventTypes: paymentCompletedEvents
1585
1600
  }, {
1586
1601
  handler: handleShowButton,
1587
1602
  eventTypes: [InternalCheckoutEvents.ShowPopOutButton]
@@ -1602,7 +1617,8 @@ const embed = async options => {
1602
1617
  options: internalOptions,
1603
1618
  handlers,
1604
1619
  session: undefined,
1605
- popOutWindow: undefined
1620
+ popOutWindow: undefined,
1621
+ paymentCompleted: false
1606
1622
  };
1607
1623
  const checkoutInstance = checkout;
1608
1624
  for (const {
@@ -6,7 +6,7 @@ require('native-promise-only');
6
6
 
7
7
  var pkg = {
8
8
  name: "@dintero/checkout-web-sdk",
9
- version: "0.12.16",
9
+ version: "0.12.17",
10
10
  description: "Dintero Checkout SDK for web frontends",
11
11
  main: "dist/dintero-checkout-web-sdk.cjs.js",
12
12
  module: "dist/dintero-checkout-web-sdk.esm.js",
@@ -44,12 +44,12 @@ var pkg = {
44
44
  "@preconstruct/cli": "2.8.13",
45
45
  "@semantic-release/exec": "7.1.0",
46
46
  "@semantic-release/git": "10.0.1",
47
- "@vitest/browser": "4.1.8",
47
+ "@vitest/browser": "4.1.9",
48
48
  "@vitest/browser-webdriverio": "^4.0.4",
49
- "semantic-release": "25.0.3",
49
+ "semantic-release": "25.0.5",
50
50
  typescript: "6.0.3",
51
- vitest: "4.1.7",
52
- webdriverio: "9.27.2"
51
+ vitest: "4.1.9",
52
+ webdriverio: "9.29.0"
53
53
  },
54
54
  dependencies: {
55
55
  "native-promise-only": "0.8.1"
@@ -1070,6 +1070,7 @@ const setLanguage = (event, checkout) => {
1070
1070
  checkout.language = event.language;
1071
1071
  }
1072
1072
  };
1073
+ const paymentCompletedEvents = [CheckoutEvents.SessionCancel, CheckoutEvents.SessionPaymentOnHold, CheckoutEvents.SessionPaymentAuthorized, CheckoutEvents.SessionPaymentError];
1073
1074
 
1074
1075
  /**
1075
1076
  * Wrap function with try catch so an error in a single function won't short circuit other code in the current context.
@@ -1098,7 +1099,6 @@ const createPopOutMessageHandler = (source, checkout) => {
1098
1099
  };
1099
1100
 
1100
1101
  // Close pop out, and remove SDK rendered button when payment is completed.
1101
- const paymentCompletedEvents = [CheckoutEvents.SessionCancel, CheckoutEvents.SessionPaymentOnHold, CheckoutEvents.SessionPaymentAuthorized, CheckoutEvents.SessionPaymentError];
1102
1102
  const popOutCompletedHandler = {
1103
1103
  internalPopOutHandler: true,
1104
1104
  eventTypes: paymentCompletedEvents,
@@ -1266,6 +1266,9 @@ const isShowPopOutButton = event => {
1266
1266
  * Display the SDK rendered pop out button on top of the embedded iframe
1267
1267
  */
1268
1268
  const handleShowButton = (event, checkout) => {
1269
+ if (checkout.paymentCompleted) {
1270
+ return;
1271
+ }
1269
1272
  if (isShowPopOutButton(event)) {
1270
1273
  if (event.session) {
1271
1274
  // Update checkout instance session
@@ -1295,6 +1298,15 @@ const handleRemoveButton = (event, _checkout) => {
1295
1298
  removePopOutButton();
1296
1299
  }
1297
1300
  };
1301
+
1302
+ /**
1303
+ * Mark the payment as completed and remove the pop out button. Once completed,
1304
+ * handleShowButton ignores any further ShowPopOutButton messages.
1305
+ */
1306
+ const handlePaymentCompleted = (_event, checkout) => {
1307
+ checkout.paymentCompleted = true;
1308
+ removePopOutButton();
1309
+ };
1298
1310
  const cleanUpPopOut = checkout => {
1299
1311
  // Ensures that the pop out is no longer open when the payment is completed or the checkout is destroyed.
1300
1312
  removePopOutButton();
@@ -1582,6 +1594,9 @@ const embed = async options => {
1582
1594
  }, {
1583
1595
  handler: wrappedOnAddressCallback,
1584
1596
  eventTypes: [CheckoutEvents.AddressCallback]
1597
+ }, {
1598
+ handler: handlePaymentCompleted,
1599
+ eventTypes: paymentCompletedEvents
1585
1600
  }, {
1586
1601
  handler: handleShowButton,
1587
1602
  eventTypes: [InternalCheckoutEvents.ShowPopOutButton]
@@ -1602,7 +1617,8 @@ const embed = async options => {
1602
1617
  options: internalOptions,
1603
1618
  handlers,
1604
1619
  session: undefined,
1605
- popOutWindow: undefined
1620
+ popOutWindow: undefined,
1621
+ paymentCompleted: false
1606
1622
  };
1607
1623
  const checkoutInstance = checkout;
1608
1624
  for (const {
@@ -2,7 +2,7 @@ import 'native-promise-only';
2
2
 
3
3
  var pkg = {
4
4
  name: "@dintero/checkout-web-sdk",
5
- version: "0.12.16",
5
+ version: "0.12.17",
6
6
  description: "Dintero Checkout SDK for web frontends",
7
7
  main: "dist/dintero-checkout-web-sdk.cjs.js",
8
8
  module: "dist/dintero-checkout-web-sdk.esm.js",
@@ -40,12 +40,12 @@ var pkg = {
40
40
  "@preconstruct/cli": "2.8.13",
41
41
  "@semantic-release/exec": "7.1.0",
42
42
  "@semantic-release/git": "10.0.1",
43
- "@vitest/browser": "4.1.8",
43
+ "@vitest/browser": "4.1.9",
44
44
  "@vitest/browser-webdriverio": "^4.0.4",
45
- "semantic-release": "25.0.3",
45
+ "semantic-release": "25.0.5",
46
46
  typescript: "6.0.3",
47
- vitest: "4.1.7",
48
- webdriverio: "9.27.2"
47
+ vitest: "4.1.9",
48
+ webdriverio: "9.29.0"
49
49
  },
50
50
  dependencies: {
51
51
  "native-promise-only": "0.8.1"
@@ -1066,6 +1066,7 @@ const setLanguage = (event, checkout) => {
1066
1066
  checkout.language = event.language;
1067
1067
  }
1068
1068
  };
1069
+ const paymentCompletedEvents = [CheckoutEvents.SessionCancel, CheckoutEvents.SessionPaymentOnHold, CheckoutEvents.SessionPaymentAuthorized, CheckoutEvents.SessionPaymentError];
1069
1070
 
1070
1071
  /**
1071
1072
  * Wrap function with try catch so an error in a single function won't short circuit other code in the current context.
@@ -1094,7 +1095,6 @@ const createPopOutMessageHandler = (source, checkout) => {
1094
1095
  };
1095
1096
 
1096
1097
  // Close pop out, and remove SDK rendered button when payment is completed.
1097
- const paymentCompletedEvents = [CheckoutEvents.SessionCancel, CheckoutEvents.SessionPaymentOnHold, CheckoutEvents.SessionPaymentAuthorized, CheckoutEvents.SessionPaymentError];
1098
1098
  const popOutCompletedHandler = {
1099
1099
  internalPopOutHandler: true,
1100
1100
  eventTypes: paymentCompletedEvents,
@@ -1262,6 +1262,9 @@ const isShowPopOutButton = event => {
1262
1262
  * Display the SDK rendered pop out button on top of the embedded iframe
1263
1263
  */
1264
1264
  const handleShowButton = (event, checkout) => {
1265
+ if (checkout.paymentCompleted) {
1266
+ return;
1267
+ }
1265
1268
  if (isShowPopOutButton(event)) {
1266
1269
  if (event.session) {
1267
1270
  // Update checkout instance session
@@ -1291,6 +1294,15 @@ const handleRemoveButton = (event, _checkout) => {
1291
1294
  removePopOutButton();
1292
1295
  }
1293
1296
  };
1297
+
1298
+ /**
1299
+ * Mark the payment as completed and remove the pop out button. Once completed,
1300
+ * handleShowButton ignores any further ShowPopOutButton messages.
1301
+ */
1302
+ const handlePaymentCompleted = (_event, checkout) => {
1303
+ checkout.paymentCompleted = true;
1304
+ removePopOutButton();
1305
+ };
1294
1306
  const cleanUpPopOut = checkout => {
1295
1307
  // Ensures that the pop out is no longer open when the payment is completed or the checkout is destroyed.
1296
1308
  removePopOutButton();
@@ -1578,6 +1590,9 @@ const embed = async options => {
1578
1590
  }, {
1579
1591
  handler: wrappedOnAddressCallback,
1580
1592
  eventTypes: [CheckoutEvents.AddressCallback]
1593
+ }, {
1594
+ handler: handlePaymentCompleted,
1595
+ eventTypes: paymentCompletedEvents
1581
1596
  }, {
1582
1597
  handler: handleShowButton,
1583
1598
  eventTypes: [InternalCheckoutEvents.ShowPopOutButton]
@@ -1598,7 +1613,8 @@ const embed = async options => {
1598
1613
  options: internalOptions,
1599
1614
  handlers,
1600
1615
  session: undefined,
1601
- popOutWindow: undefined
1616
+ popOutWindow: undefined,
1617
+ paymentCompleted: false
1602
1618
  };
1603
1619
  const checkoutInstance = checkout;
1604
1620
  for (const {
@@ -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 n,o,i;i=function(){var e,t,n,o=Object.prototype.toString,i="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,n,o){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:!1!==o})}}catch(t){e=function(e,t,n){return e[t]=n,e}}function r(e,o){n.add(e,o),t||(t=i(n.drain))}function s(e){var t,n=typeof e;return null==e||"object"!=n&&"function"!=n||(t=e.then),"function"==typeof t&&t}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,t,n){var o,i;try{!1===t?n.reject(e.msg):(o=!0===t?e.msg:t.call(void 0,e.msg))===n.promise?n.reject(TypeError("Promise-chain cycle")):(i=s(o))?i.call(o,n.resolve,n.reject):n.resolve(o)}catch(e){n.reject(e)}}function c(e){var t,n=this;if(!n.triggered){n.triggered=!0,n.def&&(n=n.def);try{(t=s(e))?r(function(){var o=new u(n);try{t.call(e,function(){c.apply(o,arguments)},function(){l.apply(o,arguments)})}catch(e){l.call(o,e)}}):(n.msg=e,n.state=1,n.chain.length>0&&r(a,n))}catch(e){l.call(new u(n),e)}}}function l(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&r(a,t))}function p(e,t,n,o){for(var i=0;i<t.length;i++)(function(i){e.resolve(t[i]).then(function(e){n(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 t=new f(this);this.then=function(e,n){var o={success:"function"!=typeof e||e,failure:"function"==typeof n&&n};return o.promise=new this.constructor(function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");o.resolve=e,o.reject=t}),t.chain.push(o),0!==t.state&&r(a,t),o.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,function(e){c.call(t,e)},function(e){l.call(t,e)})}catch(e){l.call(t,e)}}n=function(){var e,n,o;function i(e,t){this.fn=e,this.self=t,this.next=void 0}return{add:function(t,r){o=new i(t,r),n?n.next=o:e=o,n=o,o=void 0},drain:function(){var o=e;for(e=n=t=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(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");t(e)})}),e(h,"reject",function(e){return new this(function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");n(e)})}),e(h,"all",function(e){var t=this;return"[object Array]"!=o.call(e)?t.reject(TypeError("Not an array")):0===e.length?t.resolve([]):new t(function(n,o){if("function"!=typeof n||"function"!=typeof o)throw TypeError("Not a function");var i=e.length,r=Array(i),s=0;p(t,e,function(e,t){r[e]=t,++s===i&&n(r)},o)})}),e(h,"race",function(e){var t=this;return"[object Array]"!=o.call(e)?t.reject(TypeError("Not an array")):new t(function(n,o){if("function"!=typeof n||"function"!=typeof o)throw TypeError("Not a function");p(t,e,function(e,t){n(t)},o)})}),h},(o=t)[n="Promise"]=o[n]||i(),e.exports&&(e.exports=o[n])});var n="0.12.16";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.AddressCallback="AddressCallback",e}({}),i=function(e){return e.HeightChanged="HeightChanged",e.LanguageChanged="LanguageChanged",e.ScrollToTop="ScrollToTop",e.ShowPopOutButton="ShowPopOutButton",e.HidePopOutButton="HidePopOutButton",e.TopLevelNavigation="TopLevelNavigation",e}({});const r=e=>e.endsWith("/")?e:`${e}/`,s=()=>{try{const{hostname:e}=window.location;return e}catch(e){return}},a=()=>{try{if(window.self===window.top)return!0;const e=s(),t=window.top?.location.hostname;return Boolean(t&&e&&e===t)}catch(e){return!1}},d=({sid:e,endpoint:t,language:o,shouldCallValidateSession:i})=>{const a=new URLSearchParams;a.append("ui","fullscreen"),a.append("role","pop_out_payment"),a.append("sid",e),a.append("sdk",n),o&&a.append("language",o),i&&a.append("loader","true");const d=s();return d&&a.append("sdk_hostname",d),`${r(t)}?${a.toString()}`},c=e=>{const{sid:t,endpoint:o,language:i,ui:d,shouldCallValidateSession:c,shouldCallAddressCallback:l,popOut:p,redirect:u}=e;if(!o)throw new Error("Invalid endpoint");const f=new URLSearchParams;f.append("sdk",n),d&&f.append("ui",d),i&&f.append("language",i),c&&f.append("client_side_validation","true"),l&&f.append("client_side_address_callback","true"),p&&f.append("role","pop_out_launcher"),e.hasOwnProperty("hideTestMessage")&&void 0!==e.hideTestMessage&&!0===e.hideTestMessage&&f.append("hide_test_message","true");const h=s();return h&&f.append("sdk_hostname",h),u||a()||f.append("sdk_not_top_level","true"),"https://checkout.dintero.com"===o?`${o}/v1/view/${t}?${f.toString()}`:(f.append("sid",t),`${r(o)}?${f.toString()}`)},l=e=>{const t=e||"https://checkout.dintero.com";try{return new URL(t).origin}catch{throw new Error("Invalid endpoint")}},p=e=>{window.location.assign(e)},u=async e=>{let t,n,o=-1;if(n&&!n.closed)return{close:()=>{},focus:()=>{},popOutWindow:void 0};const i=d(e);n=await((e,t,n,o)=>new Promise(i=>{try{const r=window.screenX+(window.outerWidth-n)/2,s=window.screenY+(window.outerHeight-o)/2,a=`width=${n},height=${o},left=${r},top=${s},location=no,menubar=no,toolbar=no,status=no`;let d,c=-1;const l=n=>{const o=n.source===d,r=n.origin===new URL(t).origin,s=n.data&&"AppLoaded"===n.data.type,a="popOut"===n.data.context,p=n.data.sid===e;o&&r&&s&&a&&p&&(clearTimeout(c),i(d),window.removeEventListener("message",l))};if(window.addEventListener("message",l),d=window.open(t,"dintero-checkout",a)??void 0,!d)return console.log("createPopOutWindow no popOut"),void i(void 0);c=window.setTimeout(()=>{console.log("createPopOutWindow timeout"),i(void 0)},1e4)}catch(e){i(void 0)}}))(e.sid,i,Math.min(480,window.screen.width),Math.min(840,window.screen.height));const r=()=>{window.clearInterval(o),o=-1,window.removeEventListener("beforeunload",s),n=void 0,e.onClose(),t&&t()},s=()=>{n&&n.close(),r()};return window.addEventListener("beforeunload",s),o=window.setInterval(()=>{n?.closed&&r()},200),n&&(t=e.onOpen(n)),{close:s,focus:()=>{n&&n.focus()},popOutWindow:n}},f=(e,t,n)=>{try{e&&e.postMessage({type:"LockSession",sid:t},n)}catch(e){console.error(e)}},h=(e,t,n)=>{try{e&&e.postMessage({type:"RefreshSession",sid:t},n)}catch(e){console.error(e)}},m=(e,t,n,o)=>{try{e&&e.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:o},n)}catch(e){console.error(e)}},g="dintero-checkout-sdk-style",y="dintero-checkout-sdk-backdrop",w="dintero-checkout-sdk-backdrop-description",b="dintero-checkout-sdk-backdrop-focus",v="dintero-checkout-sdk-backdrop-close",L=e=>t=>(t.preventDefault(),t.stopPropagation(),e(),!1),C=()=>{const e=document.createElement("div");return e.setAttribute("id",y),e.setAttribute("role","dialog"),e.style.zIndex=(()=>{const e=document.getElementsByTagName("*"),t=Array.from(e).reduce((e,t)=>{try{const n=document.defaultView?.getComputedStyle(t,null).getPropertyValue("z-index"),o=Number.parseInt(n||"0",10);if(!Number.isNaN(o)&&o>e)return o}catch(e){console.error(e)}return e},0);return t<9999?"9999":(t+1).toString()})(),e},S=e=>{const t=document.getElementById(b),n=document.getElementById(v);"Tab"!==e.key&&"Tab"!==e.code||(document.activeElement===t?(n?.focus(),e.preventDefault()):(t?.focus(),e.preventDefault()))},k=e=>{(()=>{if(document.getElementById(g))return;const e=document.createElement("style");e.setAttribute("id",g),e.innerHTML=`\n @keyframes ${y}-fade-in {\n from {opacity: 0;}\n to {opacity: 1;}\n }\n\n #${y} {\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 ${y}-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 #${y} p {\n padding: 0;\n margin: 0;\n border: 0;\n user-select: none;\n }\n\n #${b} {\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 #${b}:hover,\n #${b}: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 #${b}:focus{\n outline-offset: 2px;\n outline: 1px #ffffff solid !important;\n }\n\n #${v} {\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 #${v}:hover,\n #${v}: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 #${v}:focus{\n outline: 1px #ffffff solid !important;\n }\n\n #${y}:before,\n #${y}:after,\n #${y} > *:before,\n #${y} > *:after {\n content: '';\n content: none;\n }\n `,document.head.appendChild(e)})();const t=C(),n=(e=>{const t=document.createElement("button");return t.setAttribute("id",v),t.setAttribute("type","button"),t.setAttribute("aria-label",e),t.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>',t})(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 t=document.createElement("p");return t.setAttribute("id",w),t.innerText=e,t})(e.event.descriptionLabel),r=(e=>{const t=document.createElement("button");return t.setAttribute("id",b),t.setAttribute("type","button"),t.innerText=e,t})(e.event.focusLabel);return t.onclick=L(e.focus),r.onclick=L(e.focus),n.onclick=L(e.close),document.addEventListener("keydown",S),t.appendChild(n),t.appendChild(o),t.appendChild(i),t.appendChild(r),document.body.appendChild(t),t.focus(),t},T=()=>{try{const e=document.getElementById(y);e&&document.body.removeChild(e),document.removeEventListener("keydown",S)}catch(e){console.error(e)}},x="dintero-checkout-sdk-launch-pop-out",P=(e,t)=>{if(!e&&!t)return;const n=`${x}-styles`;if(document.getElementById(n))return;const o=document.createElement("style");o.setAttribute("id",n);const i=[];e&&i.push(E(`#${x}:hover:not(:disabled)`,e)),t&&i.push(E(`#${x}:focus-visible`,t)),o.textContent=i.join("\n"),document.head.appendChild(o)},E=(e,t)=>[`${e} {`,O(t),"}"].join("\n"),O=e=>Object.entries(e).map(([e,t])=>` ${A(e)}: ${t} !important;`).join("\n"),A=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),$=e=>{const{container:t}=e,n=document.getElementById(x),o=n||document.createElement("button");((e,{label:t,disabled:n,top:o,left:i,right:r,styles:s,onClick:a,stylesHover:d,stylesFocusVisible:c})=>{e.setAttribute("id",x),e.setAttribute("type","button"),"true"===n?e.setAttribute("disabled",n):e.removeAttribute("disabled"),e.onclick=t=>{t.preventDefault(),t.stopPropagation(),e.style.boxShadow="inset 0 0 10px rgba(34, 84, 65, 0.9)",a(),window.setTimeout(()=>{e.style.boxShadow="none"},200)},e.innerText=t,e.style.position="absolute",e.style.top=`${o}px`,e.style.left=`${i}px`,e.style.right=`${r}px`;const{...l}=s;for(const[t,n]of Object.entries(l))e.style[t]=n;try{P(d,c)}catch(e){console.error(e)}})(o,e),n||t.appendChild(o)},W=()=>{try{const e=document.getElementById(x);e&&e.remove()}catch(e){console.error(e)}},_=(e,t,n,o)=>{e.contentWindow&&e.contentWindow.postMessage({type:"ValidationResult",sid:t,...n},o)},M=e=>{const{sid:t,endpoint:n,handler:o,eventTypes:i,checkout:r}=e,s=new URL(n),a=e=>{const n=e.origin===s.origin,a=e.source===r.iframe.contentWindow,d=e.data&&e.data.sid===t,c=-1!==i.indexOf(e.data?.type);n&&a&&d&&c&&(((e,t,n)=>{t.data.mid&&e&&e.postMessage({ack:t.data.mid},n)})(r.iframe.contentWindow,e,s.origin),o(e.data,r))};window.addEventListener("message",a,!1);return{unsubscribe:()=>{window.removeEventListener("message",a,!1)}}},j=(e,t)=>{z(t),e.href&&p(e.href)},V=(e,t)=>{(e.height||0===e.height)&&t.iframe.setAttribute("style",`width:100%; height:${e.height}px;`)},B=(e,t)=>{try{t.iframe.scrollIntoView({block:"start",behavior:"smooth"})}catch(e){console.error(e)}},N=(e,t)=>{e.language&&(t.language=e.language)},I=e=>{try{e()}catch(e){console.error(e)}},H=async(e,t)=>{const n=await u({sid:t.options.sid,endpoint:t.options.endpoint??"https://checkout.dintero.com",shouldCallValidateSession:Boolean(t.options.onValidateSession),shouldCallAddressCallback:!1,language:e.language,onOpen:e=>((e,t)=>{const n={internalPopOutHandler:!0,eventTypes:[i.LanguageChanged],handler:(e,t)=>{var n,o,i,r;n=t.iframe,o=t.options.sid,i=e.language,r=l(t.options.endpoint),n.contentWindow&&n.contentWindow.postMessage({type:"SetLanguage",sid:o,language:i},r)}},r={internalPopOutHandler:!0,eventTypes:[o.SessionCancel,o.SessionPaymentOnHold,o.SessionPaymentAuthorized,o.SessionPaymentError],handler:(t,n)=>{if(t.href){W();try{e.close()}catch(e){console.error(e)}}else console.error("Payment Complete event missing href property")}},s=o=>{if(o.source===e&&"popOut"===o.data.context&&o.data.sid===t.options.sid)for(const e of[n,r,...t.handlers])if(e.eventTypes.includes(o.data.type)&&e.handler){const{handler:n}=e;I(()=>{n(o.data,t)})}};return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}})(e,t),onClose:()=>{var e,n,o;T(),e=t.iframe,n=t.options.sid,o=l(t.options.endpoint),e.contentWindow&&e.contentWindow.postMessage({type:"ClosedPopOut",sid:n},o),(e=>{try{const t=document.getElementById(x);t&&(e?t.setAttribute("disabled",e.toString()):t.removeAttribute("disabled"))}catch(e){console.error(e)}})(!1),t.popOutWindow=void 0}}),{close:r,focus:s,popOutWindow:a}=n;return a?(d=t.iframe,c=t.options.sid,p=l(t.options.endpoint),d.contentWindow&&d.contentWindow.postMessage({type:"OpenedPopOut",sid:c},p),t.popOutWindow=a,(e=>{try{if(document.getElementById(y))return;return k(e)}catch(e){console.error(e)}})({focus:s,close:r,event:e}),!0):(((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"OpenPopOutFailed",sid:t},n)})(t.iframe,t.options.sid,l(t.options.endpoint)),!1);var d,c,p},R=async(e,t)=>{if(await H(e,t)&&t.options.onValidateSession){n=t.iframe,i=t.options.sid,r=l(t.options.endpoint),n.contentWindow&&n.contentWindow.postMessage({type:"ValidatingPopOut",sid:i},r);const s=((e,t)=>n=>{_(t.iframe,t.options.sid,n,l(t.options.endpoint)),n.success&&t.popOutWindow?t.popOutWindow.location.href=d({sid:t.options.sid,endpoint:t.options.endpoint??"https://checkout.dintero.com",shouldCallValidateSession:!1,shouldCallAddressCallback:!1,language:e.language}):(t.popOutWindow&&t.popOutWindow.close(),console.error(n.clientValidationError))})(e,t);try{t.options.onValidateSession({type:o.ValidateSession,session:t.session,callback:s},t,s)}catch(e){console.error(e),_(t.iframe,t.options.sid,{success:!1,clientValidationError:"Validation runtime error"},l(t.options.endpoint))}}var n,i,r},F=(e,t)=>{(e=>"object"==typeof e&&null!==e&&e.type===i.ShowPopOutButton)(e)&&(e.session&&(t.session=e.session),$({container:t.options.innerContainer,label:e.openLabel,top:e.top,left:e.left,right:e.right,styles:e.styles,stylesHover:e.stylesHover,stylesFocusVisible:e.stylesFocusVisible,disabled:e.disabled,onClick:()=>R(e,t)}),(e=>{const t=document.getElementById(b);t&&(t.innerText=e.focusLabel);const n=document.getElementById(w);n&&(n.innerText=e.descriptionLabel);const o=document.getElementById(v);o&&o.setAttribute("aria-label",e.descriptionLabel)})(e))},U=(e,t)=>{e.type===i.HidePopOutButton&&W()},z=e=>{if(W(),T(),e.popOutWindow)try{e.popOutWindow.close()}catch(e){console.error(e)}};e.embed=async e=>{const t=document.createElement("div");t.style.position="relative",t.style.boxSizing="border-box";const r={endpoint:"https://checkout.dintero.com",innerContainer:t,...e},{container:s,sid:a,language:d,endpoint:p,onSession:u,onSessionCancel:g,onPayment:y,onPaymentAuthorized:w,onPaymentError:b,onSessionNotFound:v,onSessionLocked:L,onSessionLockFailed:C,onActivePaymentType:S,onValidateSession:k,onAddressCallback:x,popOut:P}=r,E=l(p);let O;const A=[];let $=!1;s.appendChild(t);const{iframe:W,initiate:I}=((e,t)=>{if(!e?.appendChild)throw new Error("Invalid container");const n=document.createElement("iframe");return n.setAttribute("frameborder","0"),n.setAttribute("allowTransparency","true"),n.setAttribute("style","width:100%; height:0;"),n.setAttribute("sandbox","allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation"),n.setAttribute("allow","payment; clipboard-write *"),n.setAttribute("importance","high"),n.setAttribute("src",t),{iframe:n,initiate:async()=>new Promise((t,o)=>{n.onload=()=>t(),n.onerror=()=>o(),e.appendChild(n)})}})(t,c({sid:a,endpoint:p,language:d,ui:e.ui||"inline",shouldCallValidateSession:void 0!==k,shouldCallAddressCallback:void 0!==x,popOut:P,...e.hasOwnProperty("hideTestMessage")&&{hideTestMessage:e.hideTestMessage}})),H=(e,t,n)=>{if(!O)throw new Error("Unable to create action promise: checkout is undefined");const o=O;return new Promise((i,r)=>{const s=[];s.push(M({sid:a,endpoint:p,handler:e=>{for(const e of s)e.unsubscribe();i(e)},eventTypes:[t],checkout:o,source:o.iframe.contentWindow})),s.push(M({sid:a,endpoint:p,handler:()=>{for(const e of s)e.unsubscribe();r(`Received unexpected event: ${n}`)},eventTypes:[n],checkout:o,source:o.iframe.contentWindow})),e()})},R=()=>H(()=>{((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"RefreshSession",sid:t},n)})(W,a,E),h(O?.popOutWindow,a,E)},o.SessionUpdated,o.SessionNotFound),Z=e=>{_(W,a,e,E)},D=e=>{((e,t,n,o)=>{e.contentWindow&&e.contentWindow.postMessage({type:"AddressCallbackResult",sid:t,...n},o)})(W,a,e,E)},q=(e,t,i)=>(e,r)=>{if(!$){$=!0,z(r);const s=["sid","merchant_reference","transaction_id","error"].map(t=>[t,e[t]]);e.type!==o.SessionCancel||e.error||s.push(["error","cancelled"]),s.push(["language",r.language]),s.push(["sdk",n]);const a=s.filter(([e,t])=>t).map(([e,t])=>`${e}=${t}`).join("&");r.iframe.setAttribute("src",((e,t,n)=>{const o=e.endsWith("/")?"":"/";return`${e}${o}${t}?${n}`})(t,"embedResult/",a)),i(e,r)}},X=[{handler:N,eventTypes:[i.LanguageChanged]},{handler:V,eventTypes:[i.HeightChanged]},{handler:B,eventTypes:[i.ScrollToTop]},{handler:j,eventTypes:[i.TopLevelNavigation]},{handler:(e,t)=>{t.session=e.session,u&&u(e,t)},eventTypes:[o.SessionLoaded,o.SessionUpdated]},{eventTypes:[o.SessionPaymentOnHold],handler:q(0,p,y??j)},{eventTypes:[o.SessionPaymentAuthorized],handler:q(0,p,w??y??j)},{handler:q(0,p,g??j),eventTypes:[o.SessionCancel]},{handler:q(0,p,b??j),eventTypes:[o.SessionPaymentError]},{handler:v,eventTypes:[o.SessionNotFound]},{handler:(e,t)=>{L&&L(e,t,R)},eventTypes:[o.SessionLocked]},{handler:C,eventTypes:[o.SessionLockFailed]},{handler:S,eventTypes:[o.ActivePaymentProductType]},{handler:(e,t)=>{if(k)try{k({...e,callback:Z},t,Z)}catch(e){console.error(e),Z({success:!1,clientValidationError:"Validation runtime error"})}},eventTypes:[o.ValidateSession]},{handler:(e,t)=>{if(x)try{x({...e,callback:D},t,D)}catch(e){console.error(e),D({success:!1,error:"Address callback runtime error"})}},eventTypes:[o.AddressCallback]},{handler:F,eventTypes:[i.ShowPopOutButton]},{handler:U,eventTypes:[i.HidePopOutButton]}];O={destroy:()=>{if(O&&z(O),W){r.popOut&&T();for(const e of A)e.unsubscribe();W.parentElement&&t.removeChild(W)}t.parentElement&&s.removeChild(t)},iframe:W,language:d??"",lockSession:()=>H(()=>{((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"LockSession",sid:t},n)})(W,a,E),f(O?.popOutWindow,a,E)},o.SessionLocked,o.SessionLockFailed),refreshSession:R,setActivePaymentProductType:t=>{e.popOut?m(O?.popOutWindow,a,E,t):((e,t,n,o)=>{e.contentWindow&&e.contentWindow.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:o},n)})(W,a,E,t)},submitValidationResult:Z,submitAddressCallbackResult:D,options:r,handlers:X,session:void 0,popOutWindow:void 0};const Y=O;for(const{handler:e,eventTypes:t}of X)e&&A.push(M({sid:a,endpoint:p,handler:e,eventTypes:t,checkout:Y,source:Y.iframe.contentWindow}));return await I(),Y},e.redirect=e=>{const{sid:t,language:n,endpoint:o="https://checkout.dintero.com"}=e;p(c({sid:t,endpoint:o,language:n,shouldCallValidateSession:!1,shouldCallAddressCallback:!1,redirect:!0}))},Object.defineProperty(e,"__esModule",{value:!0})});
6
+ var n,o,i;i=function(){var e,t,n,o=Object.prototype.toString,i="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,n,o){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:!1!==o})}}catch(t){e=function(e,t,n){return e[t]=n,e}}function r(e,o){n.add(e,o),t||(t=i(n.drain))}function s(e){var t,n=typeof e;return null==e||"object"!=n&&"function"!=n||(t=e.then),"function"==typeof t&&t}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,t,n){var o,i;try{!1===t?n.reject(e.msg):(o=!0===t?e.msg:t.call(void 0,e.msg))===n.promise?n.reject(TypeError("Promise-chain cycle")):(i=s(o))?i.call(o,n.resolve,n.reject):n.resolve(o)}catch(e){n.reject(e)}}function c(e){var t,n=this;if(!n.triggered){n.triggered=!0,n.def&&(n=n.def);try{(t=s(e))?r(function(){var o=new u(n);try{t.call(e,function(){c.apply(o,arguments)},function(){l.apply(o,arguments)})}catch(e){l.call(o,e)}}):(n.msg=e,n.state=1,n.chain.length>0&&r(a,n))}catch(e){l.call(new u(n),e)}}}function l(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&r(a,t))}function p(e,t,n,o){for(var i=0;i<t.length;i++)(function(i){e.resolve(t[i]).then(function(e){n(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 t=new f(this);this.then=function(e,n){var o={success:"function"!=typeof e||e,failure:"function"==typeof n&&n};return o.promise=new this.constructor(function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");o.resolve=e,o.reject=t}),t.chain.push(o),0!==t.state&&r(a,t),o.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,function(e){c.call(t,e)},function(e){l.call(t,e)})}catch(e){l.call(t,e)}}n=function(){var e,n,o;function i(e,t){this.fn=e,this.self=t,this.next=void 0}return{add:function(t,r){o=new i(t,r),n?n.next=o:e=o,n=o,o=void 0},drain:function(){var o=e;for(e=n=t=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(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");t(e)})}),e(h,"reject",function(e){return new this(function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");n(e)})}),e(h,"all",function(e){var t=this;return"[object Array]"!=o.call(e)?t.reject(TypeError("Not an array")):0===e.length?t.resolve([]):new t(function(n,o){if("function"!=typeof n||"function"!=typeof o)throw TypeError("Not a function");var i=e.length,r=Array(i),s=0;p(t,e,function(e,t){r[e]=t,++s===i&&n(r)},o)})}),e(h,"race",function(e){var t=this;return"[object Array]"!=o.call(e)?t.reject(TypeError("Not an array")):new t(function(n,o){if("function"!=typeof n||"function"!=typeof o)throw TypeError("Not a function");p(t,e,function(e,t){n(t)},o)})}),h},(o=t)[n="Promise"]=o[n]||i(),e.exports&&(e.exports=o[n])});var n="0.12.17";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.AddressCallback="AddressCallback",e}({}),i=function(e){return e.HeightChanged="HeightChanged",e.LanguageChanged="LanguageChanged",e.ScrollToTop="ScrollToTop",e.ShowPopOutButton="ShowPopOutButton",e.HidePopOutButton="HidePopOutButton",e.TopLevelNavigation="TopLevelNavigation",e}({});const r=e=>e.endsWith("/")?e:`${e}/`,s=()=>{try{const{hostname:e}=window.location;return e}catch(e){return}},a=()=>{try{if(window.self===window.top)return!0;const e=s(),t=window.top?.location.hostname;return Boolean(t&&e&&e===t)}catch(e){return!1}},d=({sid:e,endpoint:t,language:o,shouldCallValidateSession:i})=>{const a=new URLSearchParams;a.append("ui","fullscreen"),a.append("role","pop_out_payment"),a.append("sid",e),a.append("sdk",n),o&&a.append("language",o),i&&a.append("loader","true");const d=s();return d&&a.append("sdk_hostname",d),`${r(t)}?${a.toString()}`},c=e=>{const{sid:t,endpoint:o,language:i,ui:d,shouldCallValidateSession:c,shouldCallAddressCallback:l,popOut:p,redirect:u}=e;if(!o)throw new Error("Invalid endpoint");const f=new URLSearchParams;f.append("sdk",n),d&&f.append("ui",d),i&&f.append("language",i),c&&f.append("client_side_validation","true"),l&&f.append("client_side_address_callback","true"),p&&f.append("role","pop_out_launcher"),e.hasOwnProperty("hideTestMessage")&&void 0!==e.hideTestMessage&&!0===e.hideTestMessage&&f.append("hide_test_message","true");const h=s();return h&&f.append("sdk_hostname",h),u||a()||f.append("sdk_not_top_level","true"),"https://checkout.dintero.com"===o?`${o}/v1/view/${t}?${f.toString()}`:(f.append("sid",t),`${r(o)}?${f.toString()}`)},l=e=>{const t=e||"https://checkout.dintero.com";try{return new URL(t).origin}catch{throw new Error("Invalid endpoint")}},p=e=>{window.location.assign(e)},u=async e=>{let t,n,o=-1;if(n&&!n.closed)return{close:()=>{},focus:()=>{},popOutWindow:void 0};const i=d(e);n=await((e,t,n,o)=>new Promise(i=>{try{const r=window.screenX+(window.outerWidth-n)/2,s=window.screenY+(window.outerHeight-o)/2,a=`width=${n},height=${o},left=${r},top=${s},location=no,menubar=no,toolbar=no,status=no`;let d,c=-1;const l=n=>{const o=n.source===d,r=n.origin===new URL(t).origin,s=n.data&&"AppLoaded"===n.data.type,a="popOut"===n.data.context,p=n.data.sid===e;o&&r&&s&&a&&p&&(clearTimeout(c),i(d),window.removeEventListener("message",l))};if(window.addEventListener("message",l),d=window.open(t,"dintero-checkout",a)??void 0,!d)return console.log("createPopOutWindow no popOut"),void i(void 0);c=window.setTimeout(()=>{console.log("createPopOutWindow timeout"),i(void 0)},1e4)}catch(e){i(void 0)}}))(e.sid,i,Math.min(480,window.screen.width),Math.min(840,window.screen.height));const r=()=>{window.clearInterval(o),o=-1,window.removeEventListener("beforeunload",s),n=void 0,e.onClose(),t&&t()},s=()=>{n&&n.close(),r()};return window.addEventListener("beforeunload",s),o=window.setInterval(()=>{n?.closed&&r()},200),n&&(t=e.onOpen(n)),{close:s,focus:()=>{n&&n.focus()},popOutWindow:n}},f=(e,t,n)=>{try{e&&e.postMessage({type:"LockSession",sid:t},n)}catch(e){console.error(e)}},h=(e,t,n)=>{try{e&&e.postMessage({type:"RefreshSession",sid:t},n)}catch(e){console.error(e)}},m=(e,t,n,o)=>{try{e&&e.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:o},n)}catch(e){console.error(e)}},y="dintero-checkout-sdk-style",g="dintero-checkout-sdk-backdrop",w="dintero-checkout-sdk-backdrop-description",v="dintero-checkout-sdk-backdrop-focus",b="dintero-checkout-sdk-backdrop-close",L=e=>t=>(t.preventDefault(),t.stopPropagation(),e(),!1),C=()=>{const e=document.createElement("div");return e.setAttribute("id",g),e.setAttribute("role","dialog"),e.style.zIndex=(()=>{const e=document.getElementsByTagName("*"),t=Array.from(e).reduce((e,t)=>{try{const n=document.defaultView?.getComputedStyle(t,null).getPropertyValue("z-index"),o=Number.parseInt(n||"0",10);if(!Number.isNaN(o)&&o>e)return o}catch(e){console.error(e)}return e},0);return t<9999?"9999":(t+1).toString()})(),e},S=e=>{const t=document.getElementById(v),n=document.getElementById(b);"Tab"!==e.key&&"Tab"!==e.code||(document.activeElement===t?(n?.focus(),e.preventDefault()):(t?.focus(),e.preventDefault()))},k=e=>{(()=>{if(document.getElementById(y))return;const e=document.createElement("style");e.setAttribute("id",y),e.innerHTML=`\n @keyframes ${g}-fade-in {\n from {opacity: 0;}\n to {opacity: 1;}\n }\n\n #${g} {\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 ${g}-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 #${g} p {\n padding: 0;\n margin: 0;\n border: 0;\n user-select: none;\n }\n\n #${v} {\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 #${v}:hover,\n #${v}: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 #${v}:focus{\n outline-offset: 2px;\n outline: 1px #ffffff solid !important;\n }\n\n #${b} {\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 #${b}:hover,\n #${b}: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 #${b}:focus{\n outline: 1px #ffffff solid !important;\n }\n\n #${g}:before,\n #${g}:after,\n #${g} > *:before,\n #${g} > *:after {\n content: '';\n content: none;\n }\n `,document.head.appendChild(e)})();const t=C(),n=(e=>{const t=document.createElement("button");return t.setAttribute("id",b),t.setAttribute("type","button"),t.setAttribute("aria-label",e),t.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>',t})(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 t=document.createElement("p");return t.setAttribute("id",w),t.innerText=e,t})(e.event.descriptionLabel),r=(e=>{const t=document.createElement("button");return t.setAttribute("id",v),t.setAttribute("type","button"),t.innerText=e,t})(e.event.focusLabel);return t.onclick=L(e.focus),r.onclick=L(e.focus),n.onclick=L(e.close),document.addEventListener("keydown",S),t.appendChild(n),t.appendChild(o),t.appendChild(i),t.appendChild(r),document.body.appendChild(t),t.focus(),t},T=()=>{try{const e=document.getElementById(g);e&&document.body.removeChild(e),document.removeEventListener("keydown",S)}catch(e){console.error(e)}},x="dintero-checkout-sdk-launch-pop-out",P=(e,t)=>{if(!e&&!t)return;const n=`${x}-styles`;if(document.getElementById(n))return;const o=document.createElement("style");o.setAttribute("id",n);const i=[];e&&i.push(E(`#${x}:hover:not(:disabled)`,e)),t&&i.push(E(`#${x}:focus-visible`,t)),o.textContent=i.join("\n"),document.head.appendChild(o)},E=(e,t)=>[`${e} {`,O(t),"}"].join("\n"),O=e=>Object.entries(e).map(([e,t])=>` ${A(e)}: ${t} !important;`).join("\n"),A=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),$=e=>{const{container:t}=e,n=document.getElementById(x),o=n||document.createElement("button");((e,{label:t,disabled:n,top:o,left:i,right:r,styles:s,onClick:a,stylesHover:d,stylesFocusVisible:c})=>{e.setAttribute("id",x),e.setAttribute("type","button"),"true"===n?e.setAttribute("disabled",n):e.removeAttribute("disabled"),e.onclick=t=>{t.preventDefault(),t.stopPropagation(),e.style.boxShadow="inset 0 0 10px rgba(34, 84, 65, 0.9)",a(),window.setTimeout(()=>{e.style.boxShadow="none"},200)},e.innerText=t,e.style.position="absolute",e.style.top=`${o}px`,e.style.left=`${i}px`,e.style.right=`${r}px`;const{...l}=s;for(const[t,n]of Object.entries(l))e.style[t]=n;try{P(d,c)}catch(e){console.error(e)}})(o,e),n||t.appendChild(o)},W=()=>{try{const e=document.getElementById(x);e&&e.remove()}catch(e){console.error(e)}},_=(e,t,n,o)=>{e.contentWindow&&e.contentWindow.postMessage({type:"ValidationResult",sid:t,...n},o)},M=e=>{const{sid:t,endpoint:n,handler:o,eventTypes:i,checkout:r}=e,s=new URL(n),a=e=>{const n=e.origin===s.origin,a=e.source===r.iframe.contentWindow,d=e.data&&e.data.sid===t,c=-1!==i.indexOf(e.data?.type);n&&a&&d&&c&&(((e,t,n)=>{t.data.mid&&e&&e.postMessage({ack:t.data.mid},n)})(r.iframe.contentWindow,e,s.origin),o(e.data,r))};window.addEventListener("message",a,!1);return{unsubscribe:()=>{window.removeEventListener("message",a,!1)}}},j=(e,t)=>{D(t),e.href&&p(e.href)},V=(e,t)=>{(e.height||0===e.height)&&t.iframe.setAttribute("style",`width:100%; height:${e.height}px;`)},B=(e,t)=>{try{t.iframe.scrollIntoView({block:"start",behavior:"smooth"})}catch(e){console.error(e)}},N=(e,t)=>{e.language&&(t.language=e.language)},I=[o.SessionCancel,o.SessionPaymentOnHold,o.SessionPaymentAuthorized,o.SessionPaymentError],H=e=>{try{e()}catch(e){console.error(e)}},R=async(e,t)=>{const n=await u({sid:t.options.sid,endpoint:t.options.endpoint??"https://checkout.dintero.com",shouldCallValidateSession:Boolean(t.options.onValidateSession),shouldCallAddressCallback:!1,language:e.language,onOpen:e=>((e,t)=>{const n={internalPopOutHandler:!0,eventTypes:[i.LanguageChanged],handler:(e,t)=>{var n,o,i,r;n=t.iframe,o=t.options.sid,i=e.language,r=l(t.options.endpoint),n.contentWindow&&n.contentWindow.postMessage({type:"SetLanguage",sid:o,language:i},r)}},o={internalPopOutHandler:!0,eventTypes:I,handler:(t,n)=>{if(t.href){W();try{e.close()}catch(e){console.error(e)}}else console.error("Payment Complete event missing href property")}},r=i=>{if(i.source===e&&"popOut"===i.data.context&&i.data.sid===t.options.sid)for(const e of[n,o,...t.handlers])if(e.eventTypes.includes(i.data.type)&&e.handler){const{handler:n}=e;H(()=>{n(i.data,t)})}};return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}})(e,t),onClose:()=>{var e,n,o;T(),e=t.iframe,n=t.options.sid,o=l(t.options.endpoint),e.contentWindow&&e.contentWindow.postMessage({type:"ClosedPopOut",sid:n},o),(e=>{try{const t=document.getElementById(x);t&&(e?t.setAttribute("disabled",e.toString()):t.removeAttribute("disabled"))}catch(e){console.error(e)}})(!1),t.popOutWindow=void 0}}),{close:o,focus:r,popOutWindow:s}=n;return s?(a=t.iframe,d=t.options.sid,c=l(t.options.endpoint),a.contentWindow&&a.contentWindow.postMessage({type:"OpenedPopOut",sid:d},c),t.popOutWindow=s,(e=>{try{if(document.getElementById(g))return;return k(e)}catch(e){console.error(e)}})({focus:r,close:o,event:e}),!0):(((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"OpenPopOutFailed",sid:t},n)})(t.iframe,t.options.sid,l(t.options.endpoint)),!1);var a,d,c},F=async(e,t)=>{if(await R(e,t)&&t.options.onValidateSession){n=t.iframe,i=t.options.sid,r=l(t.options.endpoint),n.contentWindow&&n.contentWindow.postMessage({type:"ValidatingPopOut",sid:i},r);const s=((e,t)=>n=>{_(t.iframe,t.options.sid,n,l(t.options.endpoint)),n.success&&t.popOutWindow?t.popOutWindow.location.href=d({sid:t.options.sid,endpoint:t.options.endpoint??"https://checkout.dintero.com",shouldCallValidateSession:!1,shouldCallAddressCallback:!1,language:e.language}):(t.popOutWindow&&t.popOutWindow.close(),console.error(n.clientValidationError))})(e,t);try{t.options.onValidateSession({type:o.ValidateSession,session:t.session,callback:s},t,s)}catch(e){console.error(e),_(t.iframe,t.options.sid,{success:!1,clientValidationError:"Validation runtime error"},l(t.options.endpoint))}}var n,i,r},U=(e,t)=>{t.paymentCompleted||(e=>"object"==typeof e&&null!==e&&e.type===i.ShowPopOutButton)(e)&&(e.session&&(t.session=e.session),$({container:t.options.innerContainer,label:e.openLabel,top:e.top,left:e.left,right:e.right,styles:e.styles,stylesHover:e.stylesHover,stylesFocusVisible:e.stylesFocusVisible,disabled:e.disabled,onClick:()=>F(e,t)}),(e=>{const t=document.getElementById(v);t&&(t.innerText=e.focusLabel);const n=document.getElementById(w);n&&(n.innerText=e.descriptionLabel);const o=document.getElementById(b);o&&o.setAttribute("aria-label",e.descriptionLabel)})(e))},z=(e,t)=>{e.type===i.HidePopOutButton&&W()},Z=(e,t)=>{t.paymentCompleted=!0,W()},D=e=>{if(W(),T(),e.popOutWindow)try{e.popOutWindow.close()}catch(e){console.error(e)}};e.embed=async e=>{const t=document.createElement("div");t.style.position="relative",t.style.boxSizing="border-box";const r={endpoint:"https://checkout.dintero.com",innerContainer:t,...e},{container:s,sid:a,language:d,endpoint:p,onSession:u,onSessionCancel:y,onPayment:g,onPaymentAuthorized:w,onPaymentError:v,onSessionNotFound:b,onSessionLocked:L,onSessionLockFailed:C,onActivePaymentType:S,onValidateSession:k,onAddressCallback:x,popOut:P}=r,E=l(p);let O;const A=[];let $=!1;s.appendChild(t);const{iframe:W,initiate:H}=((e,t)=>{if(!e?.appendChild)throw new Error("Invalid container");const n=document.createElement("iframe");return n.setAttribute("frameborder","0"),n.setAttribute("allowTransparency","true"),n.setAttribute("style","width:100%; height:0;"),n.setAttribute("sandbox","allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation"),n.setAttribute("allow","payment; clipboard-write *"),n.setAttribute("importance","high"),n.setAttribute("src",t),{iframe:n,initiate:async()=>new Promise((t,o)=>{n.onload=()=>t(),n.onerror=()=>o(),e.appendChild(n)})}})(t,c({sid:a,endpoint:p,language:d,ui:e.ui||"inline",shouldCallValidateSession:void 0!==k,shouldCallAddressCallback:void 0!==x,popOut:P,...e.hasOwnProperty("hideTestMessage")&&{hideTestMessage:e.hideTestMessage}})),R=(e,t,n)=>{if(!O)throw new Error("Unable to create action promise: checkout is undefined");const o=O;return new Promise((i,r)=>{const s=[];s.push(M({sid:a,endpoint:p,handler:e=>{for(const e of s)e.unsubscribe();i(e)},eventTypes:[t],checkout:o,source:o.iframe.contentWindow})),s.push(M({sid:a,endpoint:p,handler:()=>{for(const e of s)e.unsubscribe();r(`Received unexpected event: ${n}`)},eventTypes:[n],checkout:o,source:o.iframe.contentWindow})),e()})},F=()=>R(()=>{((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"RefreshSession",sid:t},n)})(W,a,E),h(O?.popOutWindow,a,E)},o.SessionUpdated,o.SessionNotFound),q=e=>{_(W,a,e,E)},X=e=>{((e,t,n,o)=>{e.contentWindow&&e.contentWindow.postMessage({type:"AddressCallbackResult",sid:t,...n},o)})(W,a,e,E)},Y=(e,t,i)=>(e,r)=>{if(!$){$=!0,D(r);const s=["sid","merchant_reference","transaction_id","error"].map(t=>[t,e[t]]);e.type!==o.SessionCancel||e.error||s.push(["error","cancelled"]),s.push(["language",r.language]),s.push(["sdk",n]);const a=s.filter(([e,t])=>t).map(([e,t])=>`${e}=${t}`).join("&");r.iframe.setAttribute("src",((e,t,n)=>{const o=e.endsWith("/")?"":"/";return`${e}${o}${t}?${n}`})(t,"embedResult/",a)),i(e,r)}},G=[{handler:N,eventTypes:[i.LanguageChanged]},{handler:V,eventTypes:[i.HeightChanged]},{handler:B,eventTypes:[i.ScrollToTop]},{handler:j,eventTypes:[i.TopLevelNavigation]},{handler:(e,t)=>{t.session=e.session,u&&u(e,t)},eventTypes:[o.SessionLoaded,o.SessionUpdated]},{eventTypes:[o.SessionPaymentOnHold],handler:Y(0,p,g??j)},{eventTypes:[o.SessionPaymentAuthorized],handler:Y(0,p,w??g??j)},{handler:Y(0,p,y??j),eventTypes:[o.SessionCancel]},{handler:Y(0,p,v??j),eventTypes:[o.SessionPaymentError]},{handler:b,eventTypes:[o.SessionNotFound]},{handler:(e,t)=>{L&&L(e,t,F)},eventTypes:[o.SessionLocked]},{handler:C,eventTypes:[o.SessionLockFailed]},{handler:S,eventTypes:[o.ActivePaymentProductType]},{handler:(e,t)=>{if(k)try{k({...e,callback:q},t,q)}catch(e){console.error(e),q({success:!1,clientValidationError:"Validation runtime error"})}},eventTypes:[o.ValidateSession]},{handler:(e,t)=>{if(x)try{x({...e,callback:X},t,X)}catch(e){console.error(e),X({success:!1,error:"Address callback runtime error"})}},eventTypes:[o.AddressCallback]},{handler:Z,eventTypes:I},{handler:U,eventTypes:[i.ShowPopOutButton]},{handler:z,eventTypes:[i.HidePopOutButton]}];O={destroy:()=>{if(O&&D(O),W){r.popOut&&T();for(const e of A)e.unsubscribe();W.parentElement&&t.removeChild(W)}t.parentElement&&s.removeChild(t)},iframe:W,language:d??"",lockSession:()=>R(()=>{((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"LockSession",sid:t},n)})(W,a,E),f(O?.popOutWindow,a,E)},o.SessionLocked,o.SessionLockFailed),refreshSession:F,setActivePaymentProductType:t=>{e.popOut?m(O?.popOutWindow,a,E,t):((e,t,n,o)=>{e.contentWindow&&e.contentWindow.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:o},n)})(W,a,E,t)},submitValidationResult:q,submitAddressCallbackResult:X,options:r,handlers:G,session:void 0,popOutWindow:void 0,paymentCompleted:!1};const J=O;for(const{handler:e,eventTypes:t}of G)e&&A.push(M({sid:a,endpoint:p,handler:e,eventTypes:t,checkout:J,source:J.iframe.contentWindow}));return await H(),J},e.redirect=e=>{const{sid:t,language:n,endpoint:o="https://checkout.dintero.com"}=e;p(c({sid:t,endpoint:o,language:n,shouldCallValidateSession:!1,shouldCallAddressCallback:!1,redirect:!0}))},Object.defineProperty(e,"__esModule",{value:!0})});
7
7
  //# sourceMappingURL=dintero-checkout-web-sdk.umd.min.js.map