@paydock/client-sdk 1.84.9 → 1.84.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bundles/widget.umd.js
CHANGED
|
@@ -5627,12 +5627,13 @@
|
|
|
5627
5627
|
value: function load(container) {
|
|
5628
5628
|
var _this2 = this;
|
|
5629
5629
|
|
|
5630
|
+
var _a;
|
|
5630
5631
|
if (!window.Promise) {
|
|
5631
5632
|
// Given that this library does not rely in any polyfill for promises, and this integration depends on them, we early return if Promises are not supported for the browser (like I.E. 11).
|
|
5632
5633
|
this.eventEmitter.emit(WALLET_EVENT.UNAVAILABLE, null);
|
|
5633
|
-
return;
|
|
5634
|
+
return Promise.resolve();
|
|
5634
5635
|
}
|
|
5635
|
-
var buttonId = container.getElement().id || '';
|
|
5636
|
+
var buttonId = ((_a = container.getElement()) === null || _a === void 0 ? void 0 : _a.id) || '';
|
|
5636
5637
|
var paypalScript = document.createElement("script");
|
|
5637
5638
|
paypalScript.src = "https://www.paypal.com/sdk/js?client-id=" + this.publicKey + "¤cy=" + this.meta.currency + (this.meta.pay_later === true ? '&enable-funding=paylater&disable-funding=card' : "&disable-funding=credit,card") + (!this.meta.capture ? "&intent=authorize" : '');
|
|
5638
5639
|
paypalScript.async = true;
|
|
@@ -5660,17 +5661,20 @@
|
|
|
5660
5661
|
_this2.eventEmitter.emit(WALLET_EVENT.UPDATE, parsedCallbackData);
|
|
5661
5662
|
});
|
|
5662
5663
|
}, onApprove: function onApprove(data) {
|
|
5663
|
-
|
|
5664
|
+
_this2.pendingApprovalPromise = _this2.pendingApprovalPromise || new Promise(function (resolve, reject) {
|
|
5664
5665
|
return _this2.eventEmitter.emit(WALLET_EVENT.PAYMENT_METHOD_SELECTED, {
|
|
5665
5666
|
data: { payment_method_id: data.orderID, customer: { payment_source: { external_payer_id: data.payerID } } },
|
|
5666
5667
|
onSuccess: function onSuccess() {
|
|
5667
|
-
|
|
5668
|
+
_this2.pendingApprovalPromise = undefined;
|
|
5669
|
+
resolve(true);
|
|
5668
5670
|
},
|
|
5669
5671
|
onError: function onError(err) {
|
|
5670
|
-
|
|
5672
|
+
_this2.pendingApprovalPromise = undefined;
|
|
5673
|
+
reject(err);
|
|
5671
5674
|
}
|
|
5672
5675
|
});
|
|
5673
5676
|
});
|
|
5677
|
+
return _this2.pendingApprovalPromise;
|
|
5674
5678
|
}, onError: function onError(err) {
|
|
5675
5679
|
// Error handling so that paypal does not throw an uncaught error
|
|
5676
5680
|
// We're already handling errors and notifying Merchants at "wallet-buttons.ts"
|
|
@@ -5680,7 +5684,7 @@
|
|
|
5680
5684
|
}
|
|
5681
5685
|
};
|
|
5682
5686
|
document.head.appendChild(paypalScript);
|
|
5683
|
-
return;
|
|
5687
|
+
return Promise.resolve();
|
|
5684
5688
|
}
|
|
5685
5689
|
}, {
|
|
5686
5690
|
key: "update",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).paydock={})}(this,function(e){"use strict";function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n=function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e};function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,t);if(void 0===i){var r=Object.getPrototypeOf(e);return null===r?void 0:a(r,t,n)}if("value"in i)return i.value;var o=i.get;return void 0!==o?o.call(n):void 0}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function c(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var A=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},u=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],i=!0,r=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(i=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{!i&&s.return&&s.return()}finally{if(r)throw o}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},t="x-access-token",d="x-user-public-key",h=(n(p,null,[{key:"validateJWT",value:function(e){if(!e)return null;var t=e.split("."),n=u(t,3),i=n[0],r=n[1],o=n[2];if(!i||!r||!o)return null;if(2+i.length+r.length+o.length!==e.length)return null;try{return{head:JSON.parse(atob(i)),body:JSON.parse(atob(r)),signature:o}}catch(e){return null}}},{key:"extractData",value:function(e){try{return JSON.parse(atob(e.meta))}catch(e){return null}}},{key:"extractMeta",value:function(e){try{return JSON.parse(atob(e.meta)).meta}catch(e){return null}}},{key:"getAccessHeaderNameByToken",value:function(e){return p.validateJWT(e)?t:d}}]),p);function p(){l(this,p)}var f="sandbox",v="sandbox-kovena",m="sandbox-demo-kovena",y="production",g="staging",_="staging_1",k="staging_2",E="staging_3",w="staging_4",b="staging_5",C="staging_6",S="staging_7",O="staging_8",T="staging_9",P="staging_10",R="staging_11",x="staging_12",L="staging_13",I="staging_14",U="staging_15",D="staging_cba",N="sandbox_cba",M="preproduction_cba",F="production_cba",j=[{env:f,url:"https://widget-sandbox."},{env:v,url:"https://widget-sandbox."},{env:"sandbox-demo",url:"https://widget-sandbox-demo."},{env:m,url:"https://widget-sandbox-demo."},{env:y,url:"https://widget."},{env:g,url:"https://widsta."},{env:_,url:"https://widsta-1."},{env:k,url:"https://widsta-2."},{env:E,url:"https://widsta-3."},{env:w,url:"https://widsta-4."},{env:b,url:"https://widsta-5."},{env:C,url:"https://widsta-6."},{env:S,url:"https://widsta-7."},{env:O,url:"https://widsta-8."},{env:T,url:"https://widsta-9."},{env:P,url:"https://widsta-10."},{env:R,url:"https://widsta-11."},{env:x,url:"https://widsta-12."},{env:L,url:"https://widsta-13."},{env:I,url:"https://widsta-14."},{env:U,url:"https://widsta-15."},{env:D,url:"https://widget.staging.powerboard."},{env:N,url:"https://widget-sandbox-cba."},{env:M,url:"https://widget.preproduction.powerboard."},{env:F,url:"https://widget.powerboard."}],H=[{env:f,url:"https://api-sandbox."},{env:y,url:"https://api."},{env:g,url:"https://apista."},{env:_,url:"https://apista-1."},{env:k,url:"https://apista-2."},{env:E,url:"https://apista-3."},{env:w,url:"https://apista-4."},{env:b,url:"https://apista-5."},{env:C,url:"https://apista-6."},{env:S,url:"https://apista-7."},{env:O,url:"https://apista-8."},{env:T,url:"https://apista-9."},{env:P,url:"https://apista-10."},{env:R,url:"https://apista-11."},{env:x,url:"https://apista-12."},{env:L,url:"https://apista-13."},{env:I,url:"https://apista-14."},{env:U,url:"https://apista-15."},{env:D,url:"https://api.staging.powerboard."},{env:N,url:"https://api-sandbox-cba."},{env:M,url:"https://api.preproduction.powerboard."},{env:F,url:"https://api.powerboard."}],B=[v,m],z=f,q="paydock.com",W="kovena.com",V=(n(Y,[{key:"setEnv",value:function(e,t){if(!this.isValidMode(this.configs,e))throw new Error("unknown env: "+e);if(this.env=e,t&&!t.match("^([a-zA-Z0-9](?:(?:[a-zA-Z0-9-.]*(?!-)\\.(?![-.]))*[a-zA-Z0-9]+)?)$"))throw new Error("invalid: "+t);t?this.alias=t:-1!==B.indexOf(this.env)?this.alias=W:this.alias=q}},{key:"getEnv",value:function(){return this.env}},{key:"getConf",value:function(){for(var e in this.configs)if(this.configs.hasOwnProperty(e)&&this.configs[e].env===this.getEnv())return{url:-1!==this.configs[e].url.indexOf("localhost")?this.configs[e].url:this.configs[e].url+this.alias,env:this.configs[e].env};throw new Error("invalid env")}},{key:"isValidMode",value:function(e,t){for(var n in e)if(e.hasOwnProperty(n)&&e[n].env===t)return!0;return!1}}]),Y);function Y(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:z;l(this,Y),this.configs=e,this.setEnv(t)}var G=(n(J,null,[{key:"extendSearchParams",value:function(e,t,n){return e.replace(new RegExp("([?&]"+t+"(?=[=&#]|$)[^#&]*|(?=#|$))"),"&"+t+"="+encodeURIComponent(n)).replace(/^([^?&]+)&/,"$1?")}},{key:"serialize",value:function(t){return Object.keys(t).map(function(e){return encodeURIComponent(e)+"="+encodeURIComponent(t[e])}).join("&")}}]),J);function J(){l(this,J)}var X=(n(Z,null,[{key:"generate",value:function(){if("undefined"==typeof window||void 0===window.crypto||void 0===window.crypto.getRandomValues)return this.random()+this.random()+"-"+this.random()+"-"+this.random()+"-"+this.random()+"-"+this.random()+this.random()+this.random();var e=new Uint16Array(8);return window.crypto.getRandomValues(e),this.hash(e[0])+this.hash(e[1])+"-"+this.hash(e[2])+"-"+this.hash(e[3])+"-"+this.hash(e[4])+"-"+this.hash(e[5])+this.hash(e[6])+this.hash(e[7])}},{key:"hash",value:function(e){for(var t=e.toString(16);t.length<4;)t="0"+t;return t}},{key:"random",value:function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}}]),Z);function Z(){l(this,Z)}var Q="/wallet/flypay",$=(n(ee,[{key:"getNetUrl",value:function(){return this.env.getConf().url+this.linkResource}},{key:"getUrl",value:function(){var e=this.getNetUrl(),t=this.getParams();for(var n in t)t.hasOwnProperty(n)&&(e=G.extendSearchParams(e,n,t[n]));return e}},{key:"setParams",value:function(e){this.params=A({},this.params,e)}},{key:"concatParams",value:function(e){for(var t in e)e.hasOwnProperty(t)&&e[t].length&&("string"!=typeof this.params[t]&&(this.params[t]=""),this.params[t].length?this.params[t]+=","+e[t]:this.params[t]+=e[t])}},{key:"getParams",value:function(){return this.params}},{key:"setEnv",value:function(e,t){this.env.setEnv(e,t)}},{key:"getEnv",value:function(){return this.env.getEnv()}},{key:"getBaseUrl",value:function(){return this.env.getConf().url}}]),ee);function ee(e){l(this,ee),this.params={},this.widgetId=X.generate(),this.linkResource=e,this.env=new V(j),this.setParams({widget_id:this.widgetId})}var te=(n(ne,null,[{key:"values",value:function(t){return Object.keys(t).map(function(e){return t[e]})}}]),ne);function ne(){l(this,ne)}var ie,re,oe,ae,se={CARD:"card",BANK_ACCOUNT:"bank_account",CHECKOUT:"checkout"},ue={CARD_NAME:"card_name",CARD_NUMBER:"card_number",EXPIRE_MONTH:"expire_month",EXPIRE_YEAR:"expire_year",CARD_CCV:"card_ccv",CARD_PIN:"card_pin",ACCOUNT_NAME:"account_name",ACCOUNT_BSB:"account_bsb",ACCOUNT_NUMBER:"account_number",ACCOUNT_ROUTING:"account_routing",ACCOUNT_HOLDER_TYPE:"account_holder_type",ACCOUNT_BANK_NAME:"account_bank_name",ACCOUNT_TYPE:"account_type",FIRST_NAME:"first_name",LAST_NAME:"last_name",EMAIL:"email",PHONE:"phone",PHONE2:"phone2",ADDRESS_LINE1:"address_line1",ADDRESS_LINE2:"address_line2",ADDRESS_STATE:"address_state",ADDRESS_COUNTRY:"address_country",ADDRESS_CITY:"address_city",ADDRESS_POSTCODE:"address_postcode",ADDRESS_COMPANY:"address_company"},le={BACKGROUND_COLOR:"background_color",BACKGROUND_ACTIVE_COLOR:"background_active_color",TEXT_COLOR:"text_color",BORDER_COLOR:"border_color",ICON_SIZE:"icon_size",BUTTON_COLOR:"button_color",ERROR_COLOR:"error_color",SUCCESS_COLOR:"success_color",FONT_SIZE:"font_size",FONT_FAMILY:"font_family"},ce={TITLE:"title",TITLE_H1:"title_h1",TITLE_H2:"title_h2",TITLE_H3:"title_h3",TITLE_H4:"title_h4",TITLE_H5:"title_h5",TITLE_H6:"title_h6",FINISH:"finish_text",TITLE_DESCRIPTION:"title_description",SUBMIT_BUTTON:"submit_button",SUBMIT_BUTTON_PROCESSING:"submit_button_processing"},de={SUBMIT_BUTTON:"submit_button",TABS:"tabs"},he={AMEX:"amex",AUSBC:"ausbc",DINERS:"diners",DISCOVER:"discover",JAPCB:"japcb",LASER:"laser",MASTERCARD:"mastercard",SOLO:"solo",VISA:"visa",VISA_WHITE:"visa_white"},pe=[].concat(["brand_name","cart_border_color","reference","email","hdr_img","logo_img","pay_flow_color","first_name","last_name","address_line","address_line2","address_city","address_state","address_postcode","address_country","phone","hide_shipping_address"],["first_name","last_name","phone","tokenize","email","gender","date_of_birth","charge","statistics","hide_shipping_address"],["amount","currency","email","first_name","last_name","address_line","address_line2","address_city","address_state","address_postcode","address_country","phone"],["customer_storage_number","tokenise_algorithm"]);(re=ie=ie||{}).STRIPE="Stripe",re.FLYPAY="Flypay",re.PAYPAL="Paypal",re.MASTERCARD="MasterCard",re.AFTERPAY="Afterpay",(ae=oe=oe||{}).GOOGLE="google",ae.APPLE="apple",ae.FLYPAY="flypay",ae.PAYPAL="paypal",ae.AFTERPAY="afterpay";var fe={CARD:"card",GIFT_CARD:"gift_card",BANK_ACCOUNT:"bank_account",CHECKOUT:"checkout"},ve={PAYMENT_SOURCE:"payment_source",CARD_PAYMENT_SOURCE_WITH_CVV:"card_payment_source_with_cvv",CARD_PAYMENT_SOURCE_WITHOUT_CVV:"card_payment_source_without_cvv"},me=(n(ye,[{key:"setWebHookDestination",value:function(e){this.configs.webhook_destination=e}},{key:"setSuccessRedirectUrl",value:function(e){this.configs.success_redirect_url=e}},{key:"setErrorRedirectUrl",value:function(e){this.configs.error_redirect_url=e}},{key:"setFormFields",value:function(e){for(var t in Array.isArray(this.configs.defined_form_fields)||(this.configs.defined_form_fields=[]),e)e.hasOwnProperty(t)&&(-1!==te.values(ue).indexOf(e[t].replace("*",""))?this.configs.defined_form_fields.push(e[t]):console.warn("Configuration::setFormFields: unsupported form field "+e[t]))}},{key:"setMeta",value:function(e){for(var t in e)e.hasOwnProperty(t)&&(-1!==pe.indexOf(t)?this.configs.meta[t]=e[t]:console.warn("Configuration::setMeta: unsupported meta key "+t))}},{key:"setEnv",value:function(e,t){this.env.setEnv(e,t)}},{key:"setLabel",value:function(e){this.configs.label=e}},{key:"getEnv",value:function(){return this.env.getEnv()}},{key:"createToken",value:function(e,n,t){var i=2<arguments.length&&void 0!==t?t:function(e){};this.send(e,function(e,t){if(200<=t&&t<300)return n(e.resource.data.configuration_token);void 0===e.error||void 0===e.error.message?i("unknown error"):i(e.error.message)})}},{key:"send",value:function(e,t){var n=new XMLHttpRequest;n.open("POST",this.getUrl(),!0),n.setRequestHeader("Content-Type","application/json; charset=UTF-8"),n.setRequestHeader(h.getAccessHeaderNameByToken(e),e),n.send(JSON.stringify(this.getConfigs())),n.onload=function(){var e={};try{e=JSON.parse(n.responseText)}catch(e){}t(e,n.status)}}},{key:"getConfigs",value:function(){return this.configs}},{key:"getUrl",value:function(){return this.env.getConf().url+"/v1/remote-action/configs"}},{key:"setGiftCardSchemeData",value:function(e,t){if(this.configs.predefined_fields.type!==fe.GIFT_CARD)throw new Error("unsupported payment type");if(!e||!t)throw new Error("");this.configs.predefined_fields.gift_card_scheme=e,this.configs.predefined_fields.processing_network=t}}],[{key:"createEachToken",value:function(e,n,i,t){function r(t){n.hasOwnProperty(t)&&n[t].createToken(e,function(e){a[t]=e,u++,n.length===u&&ye.finishCreatingEachToken(a,s,i,o)},function(e){s.push("gateway: "+n[t].getConfigs().predefined_fields.gateway_id+" | "+e),u++,n.length===u&&ye.finishCreatingEachToken(a,s,i,o)})}var o=3<arguments.length&&void 0!==t?t:function(e){},a=new Array(n.length),s=[],u=0;for(var l in n)r(l)}},{key:"finishCreatingEachToken",value:function(e,t,n,i){1<=t.length?i(t):n(e)}}]),ye);function ye(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"default",t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:fe.CARD,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:ve.PAYMENT_SOURCE;if(l(this,ye),-1===te.values(fe).indexOf(t))throw new Error("unsupported payment type");if(t===fe.CHECKOUT)throw new Error('Payment type "checkout" is deprecated. Use CheckoutButton for this type of payments https://www.npmjs.com/package/@paydock/client-sdk#checkout-button');if(-1===te.values(ve).indexOf(n))throw new Error("unsupported purpose");this.env=new V(H),this.configs={purpose:n,meta:{},dynamic_fields_position:!0,predefined_fields:{gateway_id:e,type:t,gift_card_scheme:null,processing_network:null}}}var ge={INPUT:"input",SUBMIT_BUTTON:"submit_button",LABEL:"label",TITLE:"title",TITLE_DESCRIPTION:"title_description"},_e={ERROR:"error",FOCUS:"focus",HOVER:"hover"},ke=[{element:ge.INPUT,states:[_e.FOCUS,_e.ERROR],styles:["color","border","border_radius","background_color","height","text_decoration","font_size","font_family","line_height","font_weight","padding","margin","transition"]},{element:ge.SUBMIT_BUTTON,states:[_e.HOVER],styles:["color","border","border_radius","background_color","text_decoration","font_size","font_family","line_height","font_weight","padding","margin","transition","opacity"]},{element:ge.LABEL,states:[],styles:["color","text_decoration","font_size","font_family","line_height","font_weight","padding","margin"]},{element:ge.TITLE,states:[],styles:["color","text_decoration","font_size","font_family","line_height","font_weight","padding","margin","text_align"]},{element:ge.TITLE_DESCRIPTION,states:[],styles:["color","text_decoration","font_size","font_family","line_height","font_weight","padding","margin","text_align"]}],Ee=(n(we,null,[{key:"check",value:function(e,t,n,i){for(var r in e)if(e.hasOwnProperty(r)&&e[r].element===t){if(-1===e[r].states.indexOf(n)&&n)return!1;for(var o in i)if(i.hasOwnProperty(o)&&-1===e[r].styles.indexOf(o.replace("-","_")))return!1;return!0}return!1}},{key:"encode",value:function(e,t,n){var i=[];for(var r in n)n.hasOwnProperty(r)&&i.push(r.replace("_","-")+":"+n[r]);var o=i.join(";");return t?e+"::"+t+"{"+o+"}":e+"{"+o+"}"}},{key:"decode",value:function(e){var t=(e.match("::(.*){")||["",null])[1],n=null!==t?(e.match("(.*)::")||["",""])[1].trim():(e.match("(.*){")||["",""])[1].trim(),i=(e.match("{(.*)}")||["",""])[1].split(";"),r={};for(var o in i)if(i.hasOwnProperty(o)){var a=i[o].split(":");!a&&2!==a.length||(r[a[0].trim()]=(a[1]||"").trim())}return{element:n,state:t,styles:r}}}]),we);function we(){l(this,we)}var be=(n(Ce,[{key:"setStyles",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setStyle(t,e[t])}},{key:"usePhoneCountryMask",value:function(e){return e?!e.only_countries||/^[a-z]+$/.test(e.only_countries.join(""))&&2*e.only_countries.length===e.only_countries.join("").length?!e.preferred_countries||/^[a-z]+$/.test(e.preferred_countries.join(""))&&2*e.preferred_countries.length===e.preferred_countries.join("").length?e.default_country&&2!==e.default_country.length?console.warn("Widget::usePhoneCountryMask[s: default_country - incorrect value length"):(this.link.setParams({use_country_phone_mask:!0}),e.only_countries&&this.link.setParams({phone_mask_only_countries:e.only_countries.join(",")}),e.preferred_countries&&this.link.setParams({phone_mask_preferred_countries:e.preferred_countries.join(",")}),void(e.default_country&&this.link.setParams({phone_mask_default_country:e.default_country}))):console.warn("Widget::usePhoneCountryMask[s: preferred_countries - unsupported symbols or incorrect length of value"):console.warn("Widget::usePhoneCountryMask[s: only_countries - unsupported symbols or incorrect length of value"):this.link.setParams({use_country_phone_mask:!0})}},{key:"setStyle",value:function(e,t){-1!==te.values(le).indexOf(e)?this.link.setParams(r({},e,t)):console.warn("Widget::setStyle[s: unsupported style param "+e)}},{key:"setTexts",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setText(t,e[t])}},{key:"setText",value:function(e,t){-1!==te.values(ce).indexOf(e)?this.link.setParams(r({},e,t)):console.warn("Widget::setText[s: unsupported text param "+e)}},{key:"setElementStyle",value:function(e,t,n){var i=3===arguments.length?t:null,r=3===arguments.length?n:t;if(!Ee.check(ke,e,i,r))return console.warn('Styles for "'+e+'" element with "'+(i||"default")+'" state was ignored because some of the arguments are unacceptable');this.link.concatParams({element_styles:Ee.encode(e,i,r)})}},{key:"setFormValues",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setFormValue(t,e[t])}},{key:"setFormValue",value:function(e,t){return-1===te.values(ue).indexOf(e)?console.warn("Widget::setFormValues[s: unsupported field "+e):/\,/.test(t)||/\:/.test(t)?console.warn("Widget::setFormValues[s: "+e+" - unsupported symbols (: or ,) in value"):void("string"==typeof this.link.getParams().form_values&&this.link.getParams().form_values.length?this.link.setParams({form_values:this.link.getParams().form_values+","+e+":"+t}):this.link.setParams({form_values:e+":"+t}))}},{key:"setFormLabels",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setFormLabel(t,e[t])}},{key:"setFormLabel",value:function(e,t){if(-1===te.values(ue).indexOf(e))return console.warn("Widget::setFormLabel[s: unsupported field "+e);var n=null===t||""===t?" ":t;if(/\,/.test(n)||/\:/.test(n))return console.warn("Widget::setFormLabel[s: "+e+" - unsupported symbols (: or ,) in value");this.link.concatParams({form_labels:e+":"+n})}},{key:"setFormPlaceholders",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setFormPlaceholder(t,e[t])}},{key:"setFormPlaceholder",value:function(e,t){if(-1===te.values(ue).indexOf(e))return console.warn("Widget::setFormPlaceholder[s: unsupported field "+e);var n=null===t||""===t?" ":t;if(/\,/.test(n)||/\:/.test(n))return console.warn("Widget::setFormPlaceholder[s: "+e+" - unsupported symbols (: or ,) in value");this.link.concatParams({form_placeholders:e+":"+n})}},{key:"setFormElements",value:function(e){var t=this;e.forEach(function(e){return t.setFormElement(e)})}},{key:"setFormElement",value:function(e){e.value&&this.setFormValue(e.field,e.value),e.label&&this.setFormLabel(e.field,e.label),e.placeholder&&this.setFormPlaceholder(e.field,e.placeholder)}},{key:"setIcons",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setIcon(t,e[t])}},{key:"setIcon",value:function(e,t){if(/\,/.test(t)||/\:/.test(t))return console.warn("Widget::setIcon[s: "+e+" - unsupported symbols (: or ,) in value");"string"==typeof this.link.getParams().icons&&this.link.getParams().icons.length?this.link.setParams({icons:this.link.getParams().icons+","+e+":"+t}):this.link.setParams({icons:e+":"+t})}},{key:"setHiddenElements",value:function(e){var t=[],n=te.values(de).concat(te.values(ue));for(var i in e)e.hasOwnProperty(i)&&(-1!==n.indexOf(e[i])?t.push(e[i]):console.warn("Widget::setHiddenElements: unsupported element "+e[i]));t.length&&this.link.concatParams({hidden_elements:t.join(",")})}},{key:"setRefId",value:function(e){this.link.setParams({ref_id:e})}},{key:"useGatewayFieldValidation",value:function(){this.link.setParams({fields_validation:!0})}},{key:"setSupportedCardIcons",value:function(e,t){var n=[];for(var i in e)e.hasOwnProperty(i)&&(-1!==te.values(he).indexOf(e[i])?n.push(e[i]):console.warn("Widget::cardTypes: unsupported type of cards "+e[i]));n.length&&this.link.concatParams({supported_card_types:n.join(",")}),t&&this.link.setParams({validate_card_types:t})}},{key:"setEnv",value:function(e,t){for(var n in this.link.setEnv(e,t),this.configs)this.configs.hasOwnProperty(n)&&this.configs[n].setEnv(e,t)}},{key:"getEnv",value:function(){this.link.getEnv()}},{key:"loadIFrameUrl",value:function(t,e){var n=this,i=1<arguments.length&&void 0!==e?e:function(e){};if(this.link.setParams({configuration_tokens:""}),this.configTokens.length)return this.link.setParams({configuration_tokens:this.configTokens.join(",")}),t(this.link.getUrl());me.createEachToken(this.accessToken,this.configs,function(e){return n.link.concatParams({configuration_tokens:e.join(",")}),t(n.link.getUrl())},function(e){i(e)})}},{key:"setLanguage",value:function(e){this.link.setParams({language:e})}}]),Ce);function Ce(e,t){if(l(this,Ce),this.configs=[],this.configTokens=[],this.link=new $("/remote-action"),h.validateJWT(e)?this.link.setParams({token:e}):this.link.setParams({public_key:e}),this.accessToken=e,!t||Array.isArray(t)&&!t.length)throw Error("configuration token is required");if("string"==typeof t)this.configTokens.push(t);else if(t instanceof me)this.configs.push(t);else if(Array.isArray(t)&&"string"==typeof t[0])this.configTokens=t;else{if(!(Array.isArray(t)&&t[0]instanceof me))throw Error("Unsupported type of configuration token");this.configs=t}}var Se=(n(Oe,null,[{key:"insertToInput",value:function(e,t,n){if(void 0!==n[t]){var i=document.querySelector(e);i&&(i.value=n[t])}}},{key:"subscribe",value:function(e,t,n){t.addEventListener?t.addEventListener(e,n):t.attachEvent("on"+e,n)}}]),Oe);function Oe(){l(this,Oe)}var Te=(n(Ae,[{key:"isExist",value:function(){return!!this.getElement()}},{key:"getStyles",value:function(e){if(this.isExist()){var t=this.getElement().getAttribute("widget-style");if(!t)return{};var n=t.split(";");return void 0===n||n.length?this.convertConfigs(n,e):{}}}},{key:"on",value:function(e,t){this.isExist()&&Se.subscribe(e,this.getElement(),t)}},{key:"getAttr",value:function(e){if(this.isExist()){var t=this.getElement(),n=[];for(var i in e)if(e.hasOwnProperty(i)){var r=e[i].replace(/_/g,"-"),o=t.getAttribute(r);o&&n.push(e[i]+":"+o)}return void 0===n||n.length?this.convertConfigs(n,e):{}}}},{key:"getElement",value:function(){return document.querySelector(this.selector)}},{key:"convertConfigs",value:function(e,t){var n={};for(var i in e)if(e.hasOwnProperty(i)){var r=e[i].split(":"),o=r[0].replace(/-/g,"_").trim();-1!==t.indexOf(o)&&(n[o]=r[1].trim())}return n}}]),Ae);function Ae(e){l(this,Ae),this.selector=e}var Pe=(n(Re,[{key:"load",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(this.container.isExist()&&!this.isExist()){var i=document.createElement("iframe");i.setAttribute("src",e),n.title&&(i.title=n.title),this.container.getElement().appendChild(i)}}},{key:"loadFromHtml",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(this.container.isExist()&&!this.isExist()){var i=document.createElement("iframe");i.setAttribute("height","100%"),i.setAttribute("width","100%"),n.title&&(i.title=n.title),this.container.getElement().appendChild(i);var r=this.getElement().contentDocument;r.open(),r.write("<html><head><style>html, body {margin: 0;} iframe {border: 0; width: 100%}</style><title></title></head><body>{{content}}</body></html>".replace("{{content}}",e)),r.close()}}},{key:"remove",value:function(){if(this.container.isExist()&&this.isExist()){var e=this.getElement();this.container.getElement().removeChild(e)}}},{key:"show",value:function(){this.isExist()&&(this.setStyle("visibility","visible"),this.setStyle("display","block"))}},{key:"hide",value:function(e){var t=0<arguments.length&&void 0!==e&&e;this.isExist()&&(t?this.setStyle("visibility","hidden"):this.setStyle("display","none"))}},{key:"isExist",value:function(){return!!this.getElement()}},{key:"getElement",value:function(){return this.container.isExist()?this.container.getElement().querySelector("iframe"):null}},{key:"setStyle",value:function(e,t){this.getElement().style[e]=t}}]),Re);function Re(e){l(this,Re),this.container=e}var xe={AFTER_LOAD:"afterLoad",SUBMIT:"submit",FINISH:"finish",VALIDATION_ERROR:"validationError",SYSTEM_ERROR:"systemError",CHECKOUT_SUCCESS:"checkoutSuccess",CHECKOUT_READY:"checkoutReady",CHECKOUT_ERROR:"checkoutError",CHECKOUT_COMPLETED:"checkoutCompleted",VALIDATION:"validation",SELECT:"select",UNSELECT:"unselect",NEXT:"next",PREV:"prev",META_CHANGE:"metaChange",RESIZE:"resize",CHARGE_AUTH_SUCCESS:"chargeAuthSuccess",CHARGE_AUTH_REJECT:"chargeAuthReject",CHARGE_AUTH_CANCELLED:"chargeAuthCancelled",ADDITIONAL_DATA_SUCCESS:"additionalDataCollectSuccess",ADDITIONAL_DATA_REJECT:"additionalDataCollectReject",CHARGE_AUTH:"chargeAuth"},Le=(n(Ie,[{key:"emit",value:function(e){for(var t in this.listeners)this.listeners[t].event===e.event&&e.widget_id===this.listeners[t].widget_id&&this.listeners[t].listener.apply(this,[e])}},{key:"on",value:function(e,t,n){for(var i in xe)xe.hasOwnProperty(i)&&e===xe[i]&&this.listeners.push({event:e,listener:n,widget_id:t})}},{key:"subscribe",value:function(e,t){e.addEventListener?e.addEventListener("message",t):e.attachEvent("onmessage",t)}}]),Ie);function Ie(e){var n=this;l(this,Ie),this.listeners=[],e&&Se.subscribe("message",e,function(e){var t=void 0;try{t=JSON.parse(e.data)}catch(e){}t&&n.emit(t)})}var Ue={SUBMIT_FORM:"submit_form",CHANGE_TAB:"tab",HIDE_ELEMENTS:"hide_elements",SHOW_ELEMENTS:"show_elements",REFRESH_CHECKOUT:"refresh_checkout",UPDATE_FORM_VALUES:"update_form_values",INIT_CHECKOUT:"init_checkout"},De=(n(Ne,[{key:"push",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(this.iFrame.isExist()){-1===te.values(Ue).indexOf(e)&&console.warn("unsupported trigger type");var i={trigger:e,destination:"widget.paydock",data:n};this.iFrame.getElement().contentWindow.postMessage(JSON.stringify(i),"*")}}}]),Ne);function Ne(e){l(this,Ne),this.iFrame=e}var Me=(n(Fe,[{key:"getElement",value:function(){return document.querySelector(this.selector)}},{key:"isExist",value:function(){return!!this.getElement()}},{key:"beforeSubmit",value:function(t){var n=this;this.isExist()&&this.subscribe(this.getElement(),function(e){e.preventDefault(),n.intercepted=!0,t.apply(n,[])})}},{key:"continueSubmit",value:function(){var e=this;this.isExist()&&this.intercepted&&(this.intercepted=!1,setTimeout(function(){e.getElement().submit()},50))}},{key:"subscribe",value:function(e,t){e.addEventListener?e.addEventListener("submit",t):e.attachEvent("onsubmit",t)}}]),Fe);function Fe(e){l(this,Fe),this.intercepted=!1,this.selector=e}var je=(s(He,be),n(He,[{key:"load",value:function(){var t=this;this.setStyles(this.container.getStyles(te.values(le))),this.setTexts(this.container.getAttr(te.values(ce))),this.loadIFrameUrl(function(e){t.iFrame.load(e,{title:"Card details"}),t.afterLoad()},function(e){for(var t in console.error("Errors when creating a token[s, widget will not be load:"),e)e.hasOwnProperty(t)&&console.error("--- | "+e[t])})}},{key:"afterLoad",value:function(){var t=this;this.on(xe.VALIDATION,function(e){t.validationData=e})}},{key:"on",value:function(e,t){var n=this;return"function"==typeof t?this.event.on(e,this.link.getParams().widget_id,t):new Promise(function(t){return n.event.on(e,n.link.getParams().widget_id,function(e){return t(e)})})}},{key:"trigger",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};this.triggerElement.push(e,n)}},{key:"getValidationState",value:function(){return this.validationData}},{key:"isValidForm",value:function(){return!!this.validationData.form_valid}},{key:"isInvalidField",value:function(e){var t=0<arguments.length&&void 0!==e?e:"";return!!this.validationData.invalid_fields&&-1!==this.validationData.invalid_fields.indexOf(t)}},{key:"isFieldErrorShowed",value:function(e){var t=0<arguments.length&&void 0!==e?e:"";return!!this.validationData.invalid_showed_fields&&-1!==this.validationData.invalid_showed_fields.indexOf(t)}},{key:"isInvalidFieldByValidator",value:function(e,t){var n=0<arguments.length&&void 0!==e?e:"";return!(this.validationData.validators&&!this.validationData.validators[t])&&-1!==this.validationData.validators[t].indexOf(n)}},{key:"hide",value:function(e){this.iFrame.hide(e)}},{key:"show",value:function(){this.iFrame.show()}},{key:"reload",value:function(){this.iFrame.remove(),this.load()}},{key:"hideElements",value:function(e){var t=[],n=te.values(de).concat(te.values(ue));for(var i in e)e.hasOwnProperty(i)&&(-1!==n.indexOf(e[i])?t.push(e[i]):console.warn("Widget::hideElements: unsupported element "+e[i]));t.length&&this.trigger(Ue.HIDE_ELEMENTS,{elements:t.join(",")})}},{key:"showElements",value:function(e){var t=[],n=te.values(de).concat(te.values(ue));for(var i in e)e.hasOwnProperty(i)&&(-1!==n.indexOf(e[i])?t.push(e[i]):console.warn("Widget::showElements: unsupported element "+e[i]));t.length&&this.trigger(Ue.SHOW_ELEMENTS,{elements:t.join(",")})}},{key:"updateFormValues",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.updateFormValue(t,e[t])}},{key:"updateFormValue",value:function(e,t){return-1===te.values(ue).indexOf(e)?console.warn("Widget::setFormValues[s: unsupported field "+e):/\,/.test(t)||/\:/.test(t)?console.warn("Widget::setFormValues[s: "+e+" - unsupported symbols (: or ,) in value"):void this.trigger(Ue.UPDATE_FORM_VALUES,{form_values:e+":"+t})}},{key:"onFinishInsert",value:function(t,n){this.on(xe.FINISH,function(e){Se.insertToInput(t,n,e)})}},{key:"interceptSubmitForm",value:function(e){var t=this;this.setHiddenElements([de.SUBMIT_BUTTON]);var n=new Me(e);n.beforeSubmit(function(){t.triggerElement.push(Ue.SUBMIT_FORM,{}),t.event.on(xe.FINISH,t.link.getParams().widget_id,function(){n.continueSubmit()})})}},{key:"useCheckoutAutoSubmit",value:function(){var t=this;this.setHiddenElements([de.SUBMIT_BUTTON]),this.on(xe.CHECKOUT_SUCCESS,function(e){t.trigger(Ue.SUBMIT_FORM)}),this.on(xe.VALIDATION_ERROR,function(e){t.trigger(Ue.REFRESH_CHECKOUT)}),this.on(xe.SYSTEM_ERROR,function(e){t.trigger(Ue.REFRESH_CHECKOUT)})}},{key:"useAutoResize",value:function(){var t=this;this.on(xe.RESIZE,function(e){t.iFrame.getElement()&&(t.iFrame.getElement().scrolling="no",e.height&&t.iFrame.setStyle("height",e.height+"px"))})}}]),He);function He(e,t,n){l(this,He);var i=c(this,(He.__proto__||Object.getPrototypeOf(He)).call(this,t,n));return i.validationData={},i.container=new Te(e),i.iFrame=new Pe(i.container),i.triggerElement=new De(i.iFrame),i.event=new Le(window),i}var Be=(s(ze,je),n(ze,[{key:"setWebHookDestination",value:function(e){this.configs[0].setWebHookDestination(e)}},{key:"setSuccessRedirectUrl",value:function(e){this.configs[0].setSuccessRedirectUrl(e)}},{key:"setErrorRedirectUrl",value:function(e){this.configs[0].setErrorRedirectUrl(e)}},{key:"setFormFields",value:function(e){this.configs[0].setFormFields(e)}},{key:"setFormElements",value:function(e){var t=this;e.forEach(function(e){return t.setFormElement(e)})}},{key:"setFormElement",value:function(e){this.configs[0].setFormFields([e.field]),a(ze.prototype.__proto__||Object.getPrototypeOf(ze.prototype),"setFormElement",this).call(this,A(A({},e),{field:e.field.replace("*","")}))}},{key:"setMeta",value:function(e){this.configs[0].setMeta(e)}},{key:"setGiftCardScheme",value:function(e,t){this.configs[0].setGiftCardSchemeData(e,t)}}]),ze);function ze(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default",i=arguments[3],r=arguments[4];l(this,ze);var o=new me(n,i,r);return c(this,(ze.__proto__||Object.getPrototypeOf(ze)).call(this,e,t,o))}var qe,We,Ve,Ye,Ke={CLICK:"click",POPUP_REDIRECT:"popupRedirect",REDIRECT:"redirect",ERROR:"error",REFERRED:"referred",DECLINED:"declined",CANCELLED:"cancelled",ACCEPTED:"accepted",FINISH:"finish",CLOSE:"close"};(We=qe=qe||{}).CONTEXTUAL="contextual",We.REDIRECT="redirect",(Ye=Ve=Ve||{}).ZIPMONEY="Zipmoney",Ye.PAYPAL="PaypalClassic",Ye.AFTERPAY="Afterpay";var Ge="[Paydock:CheckoutButton]",Je=(n(Xe,[{key:"setEnv",value:function(e,t){this.env.setEnv(e,t)}},{key:"getEnv",value:function(){return this.env.getEnv()}},{key:"getUrl",value:function(){return this.env.getConf().url+this.getLink()}},{key:"create",value:function(e,t,n,i){var r=this,o=new XMLHttpRequest;o.onload=function(){r.parser(o.responseText,o.status,n,i)},o.open("POST",this.getUrl(),!0),o.setRequestHeader("Content-Type","application/json; charset=UTF-8"),o.setRequestHeader(h.getAccessHeaderNameByToken(e),e),o.send(JSON.stringify(t))}},{key:"get",value:function(e,t,n){var i=this,r=new XMLHttpRequest;r.onload=function(){i.parser(r.responseText,r.status,t,n)},r.open("GET",this.getUrl(),!0),r.setRequestHeader("Content-Type","application/json; charset=UTF-8"),r.setRequestHeader(h.getAccessHeaderNameByToken(e),e),r.send()}},{key:"parser",value:function(e,t,n,i){var r={};try{r=JSON.parse(e)}catch(e){}if(200<=t&&t<300||302===t)return n(r.resource.data,t);i(r.error||{message:"unknown error"},t)}}]),Xe);function Xe(){l(this,Xe),this.env=new V(H)}var Ze=(s(Qe,Je),n(Qe,[{key:"getLink",value:function(){return"/v1/payment_sources/external_checkout"}},{key:"setDescriptions",value:function(e){this.body.description=e}},{key:"setMeta",value:function(e){for(var t in e)e.hasOwnProperty(t)&&(-1!==pe.indexOf(t)?this.body.meta[t]=e[t]:console.warn("ExternalCheckout::setMeta: unsupported meta key "+t))}},{key:"getConfigs",value:function(){return this.body}},{key:"send",value:function(e,n,t){var i=2<arguments.length&&void 0!==t?t:function(e,t){};this.create(e,this.getConfigs(),function(e,t){n(e)},function(e,t){void 0===e.message?i(t+": unknown error","unknown_error"):i(e.message,e.code)})}}]),Qe);function Qe(e,t,n){l(this,Qe);var i=c(this,(Qe.__proto__||Object.getPrototypeOf(Qe)).call(this));return i.body={gateway_id:e,meta:{},success_redirect_url:t,error_redirect_url:n,redirect_url:t},i}var $e=(s(et,Je),n(et,[{key:"getLink",value:function(){return"/v1/payment_sources/external_checkout/:token".replace(":token",this.token)}},{key:"send",value:function(e,n,t){var i=2<arguments.length&&void 0!==t?t:function(e){};this.get(e,function(e,t){n(e)},function(e,t){void 0===e.message?i(t+": unknown error"):i(e.message)})}}]),et);function et(e){l(this,et);var t=c(this,(et.__proto__||Object.getPrototypeOf(et)).call(this));return t.token=e,t}var tt=(n(nt,[{key:"emit",value:function(e,t){var n=this.events[e];n&&n.forEach(function(e){e.call(null,t)})}},{key:"subscribe",value:function(e,t){var n=this;return this.events[e]||(this.events[e]=[]),this.events[e].push(t),function(){n.events[e]=n.events[e].filter(function(e){return t!==e})}}}]),nt);function nt(){l(this,nt),this.events={}}var it='\n <div class="cs-loader">\n <div class="cs-loader-inner">\n <label>\t●</label>\n <label>\t●</label>\n <label>\t●</label>\n <label>\t●</label>\n <label>\t●</label>\n <label>\t●</label>\n </div>\n </div>\n',rt="\n <style> \n .cs-loader {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n }\n \n .cs-loader-inner {\n transform: translateY(-50%);\n top: 50%;\n position: absolute;\n width: calc(100% - 200px);\n color: #8e8d8c;\n padding: 0 100px;\n text-align: center;\n }\n \n \n .cs-loader-inner label {\n font-size: 20px;\n opacity: 0;\n display:inline-block;\n }\n \n @keyframes lol {\n 0% {\n opacity: 0;\n transform: translateX(-300px);\n }\n 33% {\n opacity: 1;\n transform: translateX(0px);\n }\n 66% {\n opacity: 1;\n transform: translateX(0px);\n }\n 100% {\n opacity: 0;\n transform: translateX(300px);\n }\n }\n \n @-webkit-keyframes lol {\n 0% {\n opacity: 0;\n -webkit-transform: translateX(-300px);\n }\n 33% {\n opacity: 1;\n -webkit-transform: translateX(0px);\n }\n 66% {\n opacity: 1;\n -webkit-transform: translateX(0px);\n }\n 100% {\n opacity: 0;\n -webkit-transform: translateX(300px);\n -moz-transform: translateX(300px);\n }\n }\n \n .cs-loader-inner label:nth-child(6) {\n -webkit-animation: lol 3s infinite ease-in-out;\n -moz-animation: lol 3s infinite ease-in-out;\n animation: lol 3s infinite ease-in-out;\n }\n \n .cs-loader-inner label:nth-child(5) {\n -webkit-animation: lol 3s 100ms infinite ease-in-out;\n -moz-animation: lol 3s 100ms infinite ease-in-out;\n animation: lol 3s 100ms infinite ease-in-out;\n }\n \n .cs-loader-inner label:nth-child(4) {\n -webkit-animation: lol 3s 200ms infinite ease-in-out;\n -moz-animation: lol 3s 200ms infinite ease-in-out;\n animation: lol 3s 200ms infinite ease-in-out;\n }\n \n .cs-loader-inner label:nth-child(3) {\n -webkit-animation: lol 3s 300ms infinite ease-in-out;\n -moz-animation: lol 3s 300ms infinite ease-in-out;\n animation: lol 3s 300ms infinite ease-in-out;\n }\n \n .cs-loader-inner label:nth-child(2) {\n -webkit-animation: lol 3s 400ms infinite ease-in-out;\n -moz-animation: lol 3s 400ms infinite ease-in-out;\n animation: lol 3s 400ms infinite ease-in-out;\n }\n \n .cs-loader-inner label:nth-child(1) {\n -webkit-animation: lol 3s 500ms infinite ease-in-out;\n -moz-animation: lol 3s 500ms infinite ease-in-out;\n animation: lol 3s 500ms infinite ease-in-out;\n }\n </style>\n",ot=(n(at,null,[{key:"isFacebook",value:function(){return-1!==navigator.userAgent.indexOf("FBSN/iOS")&&-1!==navigator.userAgent.indexOf("AppleWebKit")&&-1!==navigator.userAgent.indexOf("(KHTML, like Gecko)")}},{key:"isInstagram",value:function(){return-1!==navigator.userAgent.indexOf("iOS")&&-1!==navigator.userAgent.indexOf("Instagram")&&-1!==navigator.userAgent.indexOf("(KHTML, like Gecko)")}},{key:"isSupportPopUp",value:function(){return!this.isFacebook()&&!this.isInstagram()}},{key:"getLanguage",value:function(){return window.navigator.language||""}},{key:"getTimezoneOffset",value:function(){return(new Date).getTimezoneOffset()}},{key:"getBrowserName",value:function(){var e=navigator.userAgent;return-1<e.indexOf("Firefox")?"Mozilla Firefox":-1<e.indexOf("Opera")?"Opera":-1<e.indexOf("Trident")?"Microsoft Internet Explorer":-1<e.indexOf("Edge")?"Microsoft Edge":-1<e.indexOf("Chrome")?"Google Chrome or Chromium":-1<e.indexOf("Safari")?"Apple Safari":"unknown"}},{key:"isJavaEnabled",value:function(){return navigator.javaEnabled()}},{key:"getColorDepth",value:function(){return screen.colorDepth}},{key:"getScreenHeight",value:function(){return screen.height}},{key:"getScreenWidth",value:function(){return screen.width}},{key:"getBrowserInfo",value:function(){var e=navigator.userAgent,t=e.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[],n=void 0;return/trident/i.test(t[1])?{name:"IE",version:(n=/\brv[ :]+(\d+)/g.exec(e)||[])[1]||""}:"Chrome"===t[1]&&null!=(n=e.match(/\bOPR|Edge\/(\d+)/))?{name:"Opera",version:n[1]}:(t=t[2]?[t[1],t[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(n=e.match(/version\/(\d+)/i))&&t.splice(1,1,n[1]),{name:t[0],version:t[1]})}}]),at);function at(){l(this,at)}var st="close",ut="focus",lt=(n(ct,[{key:"initControl",value:function(){if(!this.isInit()&&this.showControl){if(!ot.isSupportPopUp())return this.createLoader();this.createTemplate(),this.createStyles(),this.eventHandler()}}},{key:"initLoader",value:function(){!this.isInit()&&this.showLoader&&(this.createStyles(),this.createLoader())}},{key:"eventHandler",value:function(){var e=this,t=document.querySelector("[data-close]"),n=document.querySelector("[data-continue]");t&&Se.subscribe("click",t,function(){return e.eventEmitter.emit(st,{})}),n&&Se.subscribe("click",n,function(){return e.eventEmitter.emit(ut,{})})}},{key:"clear",value:function(){(this.style||this.overlay)&&(this.style.parentNode.removeChild(this.style),this.overlay.parentNode.removeChild(this.overlay),this.style=null,this.overlay=null)}},{key:"createLoader",value:function(){var e=this,t=document.body||document.getElementsByTagName("body")[0];this.overlay=document.createElement("div"),this.overlay.classList.add("checkout-overlay"),this.overlay.setAttribute("checkout-overlay"," "),this.overlay.innerHTML=rt+it,t.appendChild(this.overlay),setTimeout(function(){e.isInit()&&e.overlay.classList.add("display")},5)}},{key:"createTemplate",value:function(){var e=this,t=document.body||document.getElementsByTagName("body")[0],n=String('\n <div class="checkout-container">\n <strong class="checkout-title" data-title>{{title}}</strong>\n <p data-description>{{description}}</p>\n <a href="#" data-continue>Continue</a>\n <a href="#" data-close>Close</a>\n </div>\n');n=(n=n.replace("{{description}}",this.description)).replace("{{title}}",this.title),this.overlay=document.createElement("div"),this.overlay.classList.add("checkout-overlay"),this.overlay.setAttribute("checkout-overlay"," "),this.overlay.innerHTML=n,t.appendChild(this.overlay),setTimeout(function(){e.isInit()&&e.overlay.classList.add("display")},5)}},{key:"createStyles",value:function(){var e=document.head||document.getElementsByTagName("head")[0],t=String("\n .hide-continue-button [data-continue] {\n display: none;\n }\n \n .checkout-overlay .cs-loader-inner {\n color: #ddd;\n }\n\n .checkout-overlay { \n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0,0,0, 0.5);\n text-align: center;\n color: #fff;\n opacity: 0;\n }\n .checkout-overlay.display { \n opacity: 1;\n transition: opacity 0.7s ease-out;\n }\n .checkout-overlay a { color: #00f; }\n .checkout-container {\n position: absolute;\n top: 50%;\n left: 0;\n width: 100%;\n margin-top: -{{width}}px;\n }\n .checkout-title {\n font-size: 24px;\n display: block;\n text-transform: uppercase;\n }\n [data-close] {\n position: fixed;\n right: 32px;\n top: 32px;\n width: 32px;\n height: 32px;\n opacity: 0.3;\n overflow: hidden;\n text-indent: -9999px;\n }\n [data-close]:hover { opacity: 1; }\n [data-close]:before, [data-close]:after {\n position: absolute;\n left: 15px;\n content: ' ';\n height: 33px;\n width: 2px;\n background-color: #00f;\n }\n [data-close]:before { transform: rotate(45deg); }\n [data-close]:after { transform: rotate(-45deg); }\n"),n=document.querySelector(".checkout-container");t=t.replace("{{width}}",n?String(n.offsetHeight/2):"0"),this.style=document.createElement("style"),this.style.type="text/css",this.style.appendChild(document.createTextNode(t)),e.appendChild(this.style)}},{key:"setBackdropDescription",value:function(e){this.description=e}},{key:"setBackdropTitle",value:function(e){this.title=e}},{key:"onTrigger",value:function(e,t){this.eventEmitter.subscribe(e,t)}},{key:"isInit",value:function(){return!(!this.overlay||!this.style)}},{key:"hideContinueControl",value:function(){this.isInit()&&this.overlay.classList.add("hide-continue-button")}},{key:"turnOffControl",value:function(){this.showControl=!1}},{key:"turnOffLoader",value:function(){this.showLoader=!1}}]),ct);function ct(){l(this,ct),this.description="Don't see the secure checkout browser? We'll help you re-launch the window to complete your purchase",this.title="Checkout",this.overlay=null,this.style=null,this.showControl=!0,this.showLoader=!0,this.eventEmitter=new tt}var dt,ht,pt=(n(ft,[{key:"error",value:function(e,t,n){n(!0)}},{key:"setEnv",value:function(e,t){this.widgetEnv.setEnv(e,t)}}]),ft);function ft(){l(this,ft),this.widgetEnv=new V(j)}function vt(e){return s(o,0<arguments.length&&void 0!==e?e:pt),n(o,[{key:"continue",value:function(){}},{key:"stop",value:function(){}},{key:"error",value:function(e,t,n){n(!0)}},{key:"setSuspendedRedirectUri",value:function(e){this.suspendedRedirectUri=e}},{key:"setBackgroundTitle",value:function(e){this.background.setBackdropTitle(e)}},{key:"setBackgroundDescription",value:function(e){this.background.setBackdropDescription(e)}},{key:"turnOffBackdrop",value:function(){this.background.turnOffControl(),this.background.turnOffLoader()}}]),o;function o(){var e;l(this,o);for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];var r=c(this,(e=o.__proto__||Object.getPrototypeOf(o)).call.apply(e,[this].concat(n)));return r.background=new lt,r.background.onTrigger(ut,function(){return r.continue()}),r.background.onTrigger(st,function(){return r.stop()}),r}}(ht=dt=dt||{}).SUCCESS="success",ht.DECLINED="declined",ht.CLOSE="close",ht.REFERRED="referred",ht.ERROR="error";var mt="paydock-dispatcher",yt=(n(gt,[{key:"restartDispatcher",value:function(){var e=document.getElementById(mt);e&&e.parentNode&&e.parentNode.removeChild(e);var t=document.createElement("iframe");t.setAttribute("src",this.env.getConf().url+"/dispatcher"),t.id=mt,t.style.display="none",document.body.appendChild(t)}},{key:"on",value:function(n,i){var r=this;Se.subscribe("message",window,function(e){var t=null;try{t=JSON.parse(e.data)}catch(e){}t&&t.message_source===r.messageSource&&t.event===n&&i(t)})}},{key:"setEnv",value:function(e,t){this.env.setEnv(e,t),this.restartDispatcher()}}]),gt);function gt(e){l(this,gt),this.messageSource=e,this.env=new V(j)}var _t=(n(kt,[{key:"isExist",value:function(){return!(!this.getElement()||this.getElement().closed)}},{key:"getElement",value:function(){return this.window}},{key:"init",value:function(){var e=this;if(!ot.isSupportPopUp())return this.window=window;var t=this.getConfigs();this.window=window.open("about:blank","_blank","noopener=false,width="+t.width+",height="+t.height+",top="+t.top+",left="+t.left+",scrollbars="+(t.scrollbars?"yes":"no")+",resizable="+(t.resizable?"yes":"no")),this.showLoader();var n=setInterval(function(){e.isExist()||(clearInterval(n),e.eventEmitter.emit("close",{}))},200)}},{key:"redirect",value:function(e){this.isExist()&&(this.window.location.href=e)}},{key:"close",value:function(){this.isExist()&&this.getElement().close&&(this.getElement().close(),this.window=null)}},{key:"focus",value:function(){this.isExist()&&this.getElement().focus&&this.getElement().focus()}},{key:"setConfigs",value:function(e){this.configs=A(this.configs,e)}},{key:"getNetConfigs",value:function(){return A({},this.configs)}},{key:"getConfigs",value:function(){var e=this.getNetConfigs();return e.left=window.screenX+(window.screen.width/2-e.width/2),e.top=window.screenY+(window.screen.height/2-e.height/2),e}},{key:"onClose",value:function(e){this.eventEmitter.subscribe("close",e)}},{key:"initError",value:function(e){this.getElement().document.write("."),(this.getElement().document.body||this.getElement().document.getElementsByTagName("body")[0]).innerHTML="<style>\n .error-wrapper {\n color: #ff0000;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n }\n </style>"+'<div class="error-wrapper"><div>{{error}}</div></div>'.replace("{{error}}",e)}},{key:"showLoader",value:function(){this.getElement().document.write(".");var e=this.getElement().document.body||this.getElement().document.getElementsByTagName("body")[0];if(e.innerHTML=rt+it,this.env===g&&this.env===_&&this.env===k&&this.env===E&&this.env===w&&this.env===b&&this.env===C&&this.env===S&&this.env===O&&this.env===T&&this.env===P&&this.env===R&&this.env===x&&this.env===L&&this.env===I&&this.env===U){var t=0;Se.subscribe("click",e,function(){5==++t&&(e.innerHTML='\n <style>\n html{width: 100%;height: 100%;}\n body{margin: 0px;padding: 0px;background-color: #111;}\n \n .eye{\n width: 20px; height: 8px;\n background-color: #eee;\n border-radius:0px 0px 20px 20px;\n position: relative;\n top: 40px;\n left: 10px;\n box-shadow: 40px 0px 0px 0px #eee; \n }\n \n .head{\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden; \n position: relative;\n margin: -250px auto;\n width: 80px; height: 80px;\n background-color: #111;\n border-radius:50px;\n box-shadow: inset -4px 2px 0px 0px #eee;\n -webkit-animation:node 1.5s infinite alternate;\n -webkit-animation-timing-function:ease-out;\n -moz-animation:node 1.5s infinite alternate;\n -moz-animation-timing-function:ease-out;\n animation:node 1.5s infinite alternate;\n animation-timing-function:ease-out;\n }\n .body{ \n position: relative;\n margin: 90px auto;\n width: 140px; height: 120px;\n background-color: #111;\n border-radius: 50px/25px ;\n box-shadow: inset -5px 2px 0px 0px #eee;\n -webkit-animation:node2 1.5s infinite alternate;\n -webkit-animation-timing-function:ease-out; \n -moz-animation:node2 1.5s infinite alternate;\n -moz-animation-timing-function:ease-out; \n animation:node2 1.5s infinite alternate;\n animation-timing-function:ease-out; \n }\n \n @keyframes node {0%{ top:0px; }50%{ top:10px; }100% { top:0px;} }\n @keyframes node2 {0%{ top:-5px; }50%{ top:10px; }100% { top:-5px;}}\n @-moz-keyframes node {0%{ top:0px; }50%{ top:10px; }100% { top:0px;} }\n @-moz-keyframes node2 {0%{ top:-5px; }50%{ top:10px; }100% { top:-5px;}}\n @-webkit-keyframes node {0%{ top:0px; }50%{ top:10px; }100% { top:0px;} }\n @-webkit-keyframes node2 {0%{ top:-5px; }50%{ top:10px; }100% { top:-5px;}}\n \n \n .circ{\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n margin: 60px auto;\n width: 180px; height: 180px;\n background-color: #111;\n border-radius: 0px 0px 50px 50px;\n position: relative;\n z-index: -1; \n left: 0%;\n top: 20%;\n overflow: hidden;\n }\n \n .hands{\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n margin-top: 140px;\n width: 120px;height: 120px;\n position: absolute;\n background-color: #111;\n border-radius:20px;\n box-shadow:-1px -4px 0px 0px #eee;\n transform:rotate(45deg);\n -webkit-transform:rotate(45deg);\n -mox-transform:rotate(45deg);\n top:75%;left: 16%;\n z-index: 1;\n -webkit-animation:node2 1.5s infinite alternate;\n -webkit-animation-timing-function:ease-out;\n -moz-animation:node2 1.5s infinite alternate;\n -moz-animation-timing-function:ease-out;\n animation:node2 1.5s infinite alternate;\n animation-timing-function:ease-out;\n }\n \n .load{ position: absolute;\n width: 100px; height: 20px;\n margin: -10px auto;\n -webkit-font-smoothing: antialiased;\n -moz-font-smoothing: antialiased;\n font-smoothing: antialiased;\n font-family: \'Julius Sans One\', sans-serif;\n font-size:30px;\n font-weight:400;\n color:#eee;\n left: 10%;\n top: 5%;\n }\n </style>\n\n <div class="circ">\n <div class="load">A little patience ...</div>\n <div class="hands"></div>\n <div class="body"></div>\n <div class="head">\n <div class="eye"></div>\n </div>\n </div>\n')})}}},{key:"setEnv",value:function(e){this.env=e}}]),kt);function kt(){l(this,kt),this.configs={width:500,height:500,scrollbars:!0,resizable:!0,top:0,left:0},this.eventEmitter=new tt}var Et,wt=(Et=vt(),s(bt,Et),n(bt,[{key:"run",value:function(){this.isRunning()||(this.popup.init(),this.background.initControl())}},{key:"isRunning",value:function(){return this.popup.isExist()}},{key:"next",value:function(e){this.checkout=e,ot.isSupportPopUp()||window.localStorage.setItem("paydock_checkout_token",JSON.stringify(this.checkout)),this.popup.redirect(this.checkout.link)}},{key:"continue",value:function(){this.popup.focus()}},{key:"stop",value:function(){this.popup.close()}},{key:"onStop",value:function(e){var t=this;this.popup.onClose(function(){t.background.clear(),t.checkout=null,e()})}},{key:"onCheckout",value:function(e,i){var r=this;this.dispatcher.on(e,function(e){if(r.checkout&&r.checkout.reference_id===e.reference_id)r.background.clear(),i(r.checkout);else if(!ot.isSupportPopUp()){var t=window.localStorage.getItem("paydock_checkout_token");if(!t)return;var n=JSON.parse(t);n&&n.reference_id===e.reference_id&&(window.localStorage.removeItem("paydock_checkout_token"),r.checkout=n,r.background.clear(),i(r.checkout))}})}},{key:"setEnv",value:function(e,t){a(bt.prototype.__proto__||Object.getPrototypeOf(bt.prototype),"setEnv",this).call(this,e,t),this.dispatcher.setEnv(e,t),this.popup.setEnv(e)}}]),bt);function bt(e){l(this,bt);var t=c(this,(bt.__proto__||Object.getPrototypeOf(bt)).call(this));return t.publicKey=e,t.checkout=null,t.dispatcher=new yt("checkout.paydock"),setTimeout(function(){return t.dispatcher.restartDispatcher()},200),t.popup=new _t,t}function Ct(e){return"run"in e}function St(e){return"setRedirectUrl"in e}var Ot="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Tt(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}function At(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Pt(e,t){return e(t={exports:{}},t.exports),t.exports}At(Pt(function(e){!function r(o,a,s){function u(t,e){if(!a[t]){if(!o[t]){if(!e&&Tt)return Tt();if(l)return l(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,r,o,a,s)}return a[t].exports}for(var l=Tt,e=0;e<s.length;e++)u(s[e]);return u}({1:[function(e,t,n){function i(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(t){if(c===setTimeout)return setTimeout(t,0);if((c===i||!c)&&setTimeout)return c=setTimeout,setTimeout(t,0);try{return c(t,0)}catch(e){try{return c.call(null,t,0)}catch(e){return c.call(this,t,0)}}}function a(){v&&p&&(v=!1,p.length?f=p.concat(f):m=-1,f.length&&s())}function s(){if(!v){var e=o(a);v=!0;for(var t=f.length;t;){for(p=f,f=[];++m<t;)p&&p[m].run();m=-1,t=f.length}p=null,v=!1,function(t){if(d===clearTimeout)return clearTimeout(t);if((d===r||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(t);try{d(t)}catch(e){try{return d.call(null,t)}catch(e){return d.call(this,t)}}}(e)}}function u(e,t){this.fun=e,this.array=t}function l(){}var c,d,h=t.exports={};!function(){try{c="function"==typeof setTimeout?setTimeout:i}catch(e){c=i}try{d="function"==typeof clearTimeout?clearTimeout:r}catch(e){d=r}}();var p,f=[],v=!1,m=-1;h.nextTick=function(e){var t=new Array(arguments.length-1);if(1<arguments.length)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];f.push(new u(e,t)),1!==f.length||v||o(s)},u.prototype.run=function(){this.fun.apply(null,this.array)},h.title="browser",h.browser=!0,h.env={},h.argv=[],h.version="",h.versions={},h.on=l,h.addListener=l,h.once=l,h.off=l,h.removeListener=l,h.removeAllListeners=l,h.emit=l,h.prependListener=l,h.prependOnceListener=l,h.listeners=function(e){return[]},h.binding=function(e){throw new Error("process.binding is not supported")},h.cwd=function(){return"/"},h.chdir=function(e){throw new Error("process.chdir is not supported")},h.umask=function(){return 0}},{}],2:[function(e,i,r){(function(Y){!function(e){if("function"==typeof bootstrap)bootstrap("promise",e);else if("object"==(void 0===r?"undefined":K(r))&&"object"==(void 0===i?"undefined":K(i)))i.exports=e();else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeQ=e}else{if("undefined"==typeof window&&"undefined"==typeof self)throw new Error("This environment was not anticipated by Q. Please file a bug.");var t="undefined"!=typeof window?window:self,n=t.Q;t.Q=e(),t.Q.noConflict=function(){return t.Q=n,this}}}(function(){function e(e){return function(){return A.apply(e,arguments)}}function s(e,t){if(w&&t.stack&&"object"==(void 0===e?"undefined":K(e))&&null!==e&&e.stack){for(var n=[],i=t;i;i=i.source)i.stack&&(!e.__minimumStackCounter__||e.__minimumStackCounter__>i.stackCounter)&&(U(e,"__minimumStackCounter__",{value:i.stackCounter,configurable:!0}),n.unshift(i.stack));n.unshift(e.stack);var r=function(e){for(var t=e.split("\n"),n=[],i=0;i<t.length;++i){var r=t[i];a(r)||(-1!==(o=r).indexOf("(module.js:")||-1!==o.indexOf("(node.js:"))||!r||n.push(r)}var o;return n.join("\n")}(n.join("\n"+F+"\n"));U(e,"stack",{value:r,configurable:!0})}}function r(e){var t=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(e);if(t)return[t[1],Number(t[2])];var n=/at ([^ ]+):(\d+):(?:\d+)$/.exec(e);if(n)return[n[1],Number(n[2])];var i=/.*@(.+):(\d+)$/.exec(e);return i?[i[1],Number(i[2])]:void 0}function a(e){var t=r(e);if(t){var n=t[0],i=t[1];return n===C&&O<=i&&i<=V}}function t(){if(w)try{throw new Error}catch(e){var t=e.stack.split("\n"),n=r(0<t[0].indexOf("@")?t[1]:t[2]);if(!n)return;return C=n[0],n[1]}}function u(e){return e instanceof c?e:o(e)?(t=e,n=l(),u.nextTick(function(){try{t.then(n.resolve,n.reject,n.notify)}catch(e){n.reject(e)}}),n.promise):m(e);var t,n}function l(){function t(n){r=n,u.longStackSupport&&w&&(i.source=n),R(o,function(e,t){u.nextTick(function(){n.promiseDispatch.apply(n,t)})},void 0),a=o=void 0}var r,o=[],a=[],e=I(l.prototype),i=I(c.prototype);if(i.promiseDispatch=function(e,t,n){var i=P(arguments);o?(o.push(i),"when"===t&&n[1]&&a.push(n[1])):u.nextTick(function(){r.promiseDispatch.apply(r,i)})},i.valueOf=function(){if(o)return i;var e=h(r);return p(e)&&(r=e),e},i.inspect=function(){return r?r.inspect():{state:"pending"}},u.longStackSupport&&w)try{throw new Error}catch(t){i.stack=t.stack.substring(t.stack.indexOf("\n")+1),i.stackCounter=j++}return e.promise=i,e.resolve=function(e){r||t(u(e))},e.fulfill=function(e){r||t(m(e))},e.reject=function(e){r||t(v(e))},e.notify=function(n){r||R(a,function(e,t){u.nextTick(function(){t(n)})},void 0)},e}function n(e){if("function"!=typeof e)throw new TypeError("resolver must be a function.");var t=l();try{e(t.resolve,t.reject,t.notify)}catch(e){t.reject(e)}return t.promise}function i(r){return n(function(e,t){for(var n=0,i=r.length;n<i;n++)u(r[n]).then(e,t)})}function c(r,o,t){void 0===o&&(o=function(e){return v(new Error("Promise does not support operation: "+e))}),void 0===t&&(t=function(){return{state:"unknown"}});var a=I(c.prototype);if(a.promiseDispatch=function(e,t,n){var i;try{i=r[t]?r[t].apply(a,n):o.call(a,t,n)}catch(e){i=v(e)}e&&e(i)},a.inspect=t){var e=t();"rejected"===e.state&&(a.exception=e.reason),a.valueOf=function(){var e=t();return"pending"===e.state||"rejected"===e.state?a:e.value}}return a}function d(e,t,n,i){return u(e).then(t,n,i)}function h(e){if(p(e)){var t=e.inspect();if("fulfilled"===t.state)return t.value}return e}function p(e){return e instanceof c}function o(e){return(t=e)===Object(t)&&"function"==typeof e.then;var t}function f(){B.length=0,z.length=0,W=W||!0}function v(t){var e,n,i=c({when:function(e){return e&&function(t){if(W){var n=x(z,t);-1!==n&&("object"==(void 0===Y?"undefined":K(Y))&&"function"==typeof Y.emit&&u.nextTick.runAfter(function(){var e=x(q,t);-1!==e&&(Y.emit("rejectionHandled",B[n],t),q.splice(e,1))}),z.splice(n,1),B.splice(n,1))}}(this),e?e(t):this}},function(){return this},function(){return{state:"rejected",reason:t}});return e=i,n=t,W&&("object"==(void 0===Y?"undefined":K(Y))&&"function"==typeof Y.emit&&u.nextTick.runAfter(function(){-1!==x(z,e)&&(Y.emit("unhandledRejection",n,e),q.push(e))}),z.push(e),n&&void 0!==n.stack?B.push(n.stack):B.push("(no stack) "+n)),i}function m(n){return c({when:function(){return n},get:function(e){return n[e]},set:function(e,t){n[e]=t},delete:function(e){delete n[e]},post:function(e,t){return null==e?n.apply(void 0,t):n[e].apply(n,t)},apply:function(e,t){return n.apply(e,t)},keys:function(){return N(n)}},void 0,function(){return{state:"fulfilled",value:n}})}function y(e,t,n){return u(e).spread(t,n)}function g(e,t,n){return u(e).dispatch(t,n)}function _(e){return d(e,function(r){var o=0,a=l();return R(r,function(e,t,n){var i;p(t)&&"fulfilled"===(i=t.inspect()).state?r[n]=i.value:(++o,d(t,function(e){r[n]=e,0==--o&&a.resolve(r)},a.reject,function(e){a.notify({index:n,value:e})}))},void 0),0===o&&a.resolve(r),a.promise})}function k(r){if(0===r.length)return u.resolve();var o=u.defer(),a=0;return R(r,function(e,t,n){var i=r[n];a++,d(i,function(e){o.resolve(e)},function(e){0==--a&&(e.message="Q can't get fulfillment value from any promise, all promises were rejected. Last error message: "+e.message,o.reject(e))},function(e){o.notify({index:n,value:e})})},void 0),o.promise}function E(e){return d(e,function(e){return e=L(e,u),d(_(L(e,function(e){return d(e,b,b)})),function(){return e})})}var w=!1;try{throw new Error}catch(e){w=!!e.stack}function b(){}var C,S,O=t(),T=function(){function n(){for(var e,t;r.next;)e=(r=r.next).task,r.task=void 0,(t=r.domain)&&(r.domain=void 0,t.enter()),i(e,t);for(;u.length;)i(e=u.pop());o=!1}function i(e,t){try{e()}catch(e){if(s)throw t&&t.exit(),setTimeout(n,0),t&&t.enter(),e;setTimeout(function(){throw e},0)}t&&t.exit()}var r={task:void 0,next:null},t=r,o=!1,a=void 0,s=!1,u=[];if(T=function(e){t=t.next={task:e,domain:s&&Y.domain,next:null},o||(o=!0,a())},"object"==(void 0===Y?"undefined":K(Y))&&"[object process]"===Y.toString()&&Y.nextTick)s=!0,a=function(){Y.nextTick(n)};else if("function"==typeof setImmediate)a="undefined"!=typeof window?setImmediate.bind(window,n):function(){setImmediate(n)};else if("undefined"!=typeof MessageChannel){var e=new MessageChannel;e.port1.onmessage=function(){a=l,(e.port1.onmessage=n)()};var l=function(){e.port2.postMessage(0)};a=function(){setTimeout(n,0),l()}}else a=function(){setTimeout(n,0)};return T.runAfter=function(e){u.push(e),o||(o=!0,a())},T}(),A=Function.call,P=e(Array.prototype.slice),R=e(Array.prototype.reduce||function(e,t){var n=0,i=this.length;if(1===arguments.length)for(;;){if(n in this){t=this[n++];break}if(++n>=i)throw new TypeError}for(;n<i;n++)n in this&&(t=e(t,this[n],n));return t}),x=e(Array.prototype.indexOf||function(e){for(var t=0;t<this.length;t++)if(this[t]===e)return t;return-1}),L=e(Array.prototype.map||function(i,r){var o=this,a=[];return R(o,function(e,t,n){a.push(i.call(r,t,n,o))},void 0),a}),I=Object.create||function(e){function t(){}return t.prototype=e,new t},U=Object.defineProperty||function(e,t,n){return e[t]=n.value,e},D=e(Object.prototype.hasOwnProperty),N=Object.keys||function(e){var t=[];for(var n in e)D(e,n)&&t.push(n);return t},M=e(Object.prototype.toString);S="undefined"!=typeof ReturnValue?ReturnValue:function(e){this.value=e};var F="From previous event:";(u.resolve=u).nextTick=T,u.longStackSupport=!1;var j=1;"object"==(void 0===Y?"undefined":K(Y))&&Y&&Y.env&&Y.env.Q_DEBUG&&(u.longStackSupport=!0),(u.defer=l).prototype.makeNodeResolver=function(){var n=this;return function(e,t){e?n.reject(e):2<arguments.length?n.resolve(P(arguments,1)):n.resolve(t)}},u.Promise=n,(u.promise=n).race=i,n.all=_,n.reject=v,(n.resolve=u).passByCopy=function(e){return e},c.prototype.passByCopy=function(){return this},u.join=function(e,t){return u(e).join(t)},c.prototype.join=function(e){return u([this,e]).spread(function(e,t){if(e===t)return e;throw new Error("Q can't join: not the same: "+e+" "+t)})},u.race=i,c.prototype.race=function(){return this.then(u.race)},(u.makePromise=c).prototype.toString=function(){return"[object Promise]"},c.prototype.then=function(t,n,r){var i=this,o=l(),a=!1;return u.nextTick(function(){i.promiseDispatch(function(e){a||(a=!0,o.resolve(function(e){try{return"function"==typeof t?t(e):e}catch(e){return v(e)}}(e)))},"when",[function(e){a||(a=!0,o.resolve(function(e){if("function"==typeof n){s(e,i);try{return n(e)}catch(e){return v(e)}}return v(e)}(e)))}])}),i.promiseDispatch(void 0,"when",[void 0,function(e){var t,n,i=!1;try{n=e,t="function"==typeof r?r(n):n}catch(e){if(i=!0,!u.onerror)throw e;u.onerror(e)}i||o.notify(t)}]),o.promise},u.tap=function(e,t){return u(e).tap(t)},c.prototype.tap=function(t){return t=u(t),this.then(function(e){return t.fcall(e).thenResolve(e)})},u.when=d,c.prototype.thenResolve=function(e){return this.then(function(){return e})},u.thenResolve=function(e,t){return u(e).thenResolve(t)},c.prototype.thenReject=function(e){return this.then(function(){throw e})},u.thenReject=function(e,t){return u(e).thenReject(t)},u.nearer=h,u.isPromise=p,u.isPromiseAlike=o,u.isPending=function(e){return p(e)&&"pending"===e.inspect().state},c.prototype.isPending=function(){return"pending"===this.inspect().state},u.isFulfilled=function(e){return!p(e)||"fulfilled"===e.inspect().state},c.prototype.isFulfilled=function(){return"fulfilled"===this.inspect().state},u.isRejected=function(e){return p(e)&&"rejected"===e.inspect().state},c.prototype.isRejected=function(){return"rejected"===this.inspect().state};var H,B=[],z=[],q=[],W=!0;u.resetUnhandledRejections=f,u.getUnhandledReasons=function(){return B.slice()},u.stopUnhandledRejectionTracking=function(){f(),W=!1},f(),u.reject=v,u.fulfill=m,u.master=function(n){return c({isDef:function(){}},function(e,t){return g(n,e,t)},function(){return u(n).inspect()})},u.spread=y,c.prototype.spread=function(t,e){return this.all().then(function(e){return t.apply(void 0,e)},e)},u.async=function(t){return function(){function e(e,t){var n;if("undefined"==typeof StopIteration){try{n=i[e](t)}catch(e){return v(e)}return n.done?u(n.value):d(n.value,r,o)}try{n=i[e](t)}catch(e){return function(e){return"[object StopIteration]"===M(e)||e instanceof S}(e)?u(e.value):v(e)}return d(n,r,o)}var i=t.apply(this,arguments),r=e.bind(e,"next"),o=e.bind(e,"throw");return r()}},u.spawn=function(e){u.done(u.async(e)())},u.return=function(e){throw new S(e)},u.promised=function(n){return function(){return y([this,_(arguments)],function(e,t){return n.apply(e,t)})}},u.dispatch=g,c.prototype.dispatch=function(e,t){var n=this,i=l();return u.nextTick(function(){n.promiseDispatch(i.resolve,e,t)}),i.promise},u.get=function(e,t){return u(e).dispatch("get",[t])},c.prototype.get=function(e){return this.dispatch("get",[e])},u.set=function(e,t,n){return u(e).dispatch("set",[t,n])},c.prototype.set=function(e,t){return this.dispatch("set",[e,t])},u.del=u.delete=function(e,t){return u(e).dispatch("delete",[t])},c.prototype.del=c.prototype.delete=function(e){return this.dispatch("delete",[e])},u.mapply=u.post=function(e,t,n){return u(e).dispatch("post",[t,n])},c.prototype.mapply=c.prototype.post=function(e,t){return this.dispatch("post",[e,t])},u.send=u.mcall=u.invoke=function(e,t){return u(e).dispatch("post",[t,P(arguments,2)])},c.prototype.send=c.prototype.mcall=c.prototype.invoke=function(e){return this.dispatch("post",[e,P(arguments,1)])},u.fapply=function(e,t){return u(e).dispatch("apply",[void 0,t])},c.prototype.fapply=function(e){return this.dispatch("apply",[void 0,e])},u.try=u.fcall=function(e){return u(e).dispatch("apply",[void 0,P(arguments,1)])},c.prototype.fcall=function(){return this.dispatch("apply",[void 0,P(arguments)])},u.fbind=function(e){var t=u(e),n=P(arguments,1);return function(){return t.dispatch("apply",[this,n.concat(P(arguments))])}},c.prototype.fbind=function(){var e=this,t=P(arguments);return function(){return e.dispatch("apply",[this,t.concat(P(arguments))])}},u.keys=function(e){return u(e).dispatch("keys",[])},c.prototype.keys=function(){return this.dispatch("keys",[])},u.all=_,c.prototype.all=function(){return _(this)},u.any=k,c.prototype.any=function(){return k(this)},u.allResolved=(H=E,function(){return"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn("allResolved is deprecated, use allSettled instead.",new Error("").stack),H.apply(H,arguments)}),c.prototype.allResolved=function(){return E(this)},u.allSettled=function(e){return u(e).allSettled()},c.prototype.allSettled=function(){return this.then(function(e){return _(L(e,function(e){function t(){return e.inspect()}return(e=u(e)).then(t,t)}))})},u.fail=u.catch=function(e,t){return u(e).then(void 0,t)},c.prototype.fail=c.prototype.catch=function(e){return this.then(void 0,e)},u.progress=function(e,t){return u(e).then(void 0,void 0,t)},c.prototype.progress=function(e){return this.then(void 0,void 0,e)},u.fin=u.finally=function(e,t){return u(e).finally(t)},c.prototype.fin=c.prototype.finally=function(t){if(!t||"function"!=typeof t.apply)throw new Error("Q can't apply finally callback");return t=u(t),this.then(function(e){return t.fcall().then(function(){return e})},function(e){return t.fcall().then(function(){throw e})})},u.done=function(e,t,n,i){return u(e).done(t,n,i)},c.prototype.done=function(e,t,n){var i=function(e){u.nextTick(function(){if(s(e,r),!u.onerror)throw e;u.onerror(e)})},r=e||t||n?this.then(e,t,n):this;"object"==(void 0===Y?"undefined":K(Y))&&Y&&Y.domain&&(i=Y.domain.bind(i)),r.then(void 0,i)},u.timeout=function(e,t,n){return u(e).timeout(t,n)},c.prototype.timeout=function(e,t){var n=l(),i=setTimeout(function(){t&&"string"!=typeof t||((t=new Error(t||"Timed out after "+e+" ms")).code="ETIMEDOUT"),n.reject(t)},e);return this.then(function(e){clearTimeout(i),n.resolve(e)},function(e){clearTimeout(i),n.reject(e)},n.notify),n.promise},u.delay=function(e,t){return void 0===t&&(t=e,e=void 0),u(e).delay(t)},c.prototype.delay=function(n){return this.then(function(e){var t=l();return setTimeout(function(){t.resolve(e)},n),t.promise})},u.nfapply=function(e,t){return u(e).nfapply(t)},c.prototype.nfapply=function(e){var t=l(),n=P(e);return n.push(t.makeNodeResolver()),this.fapply(n).fail(t.reject),t.promise},u.nfcall=function(e){var t=P(arguments,1);return u(e).nfapply(t)},c.prototype.nfcall=function(){var e=P(arguments),t=l();return e.push(t.makeNodeResolver()),this.fapply(e).fail(t.reject),t.promise},u.nfbind=u.denodeify=function(n){if(void 0===n)throw new Error("Q can't wrap an undefined function");var i=P(arguments,1);return function(){var e=i.concat(P(arguments)),t=l();return e.push(t.makeNodeResolver()),u(n).fapply(e).fail(t.reject),t.promise}},c.prototype.nfbind=c.prototype.denodeify=function(){var e=P(arguments);return e.unshift(this),u.denodeify.apply(void 0,e)},u.nbind=function(n,i){var r=P(arguments,2);return function(){var e=r.concat(P(arguments)),t=l();return e.push(t.makeNodeResolver()),u(function(){return n.apply(i,arguments)}).fapply(e).fail(t.reject),t.promise}},c.prototype.nbind=function(){var e=P(arguments,0);return e.unshift(this),u.nbind.apply(void 0,e)},u.nmapply=u.npost=function(e,t,n){return u(e).npost(t,n)},c.prototype.nmapply=c.prototype.npost=function(e,t){var n=P(t||[]),i=l();return n.push(i.makeNodeResolver()),this.dispatch("post",[e,n]).fail(i.reject),i.promise},u.nsend=u.nmcall=u.ninvoke=function(e,t){var n=P(arguments,2),i=l();return n.push(i.makeNodeResolver()),u(e).dispatch("post",[t,n]).fail(i.reject),i.promise},c.prototype.nsend=c.prototype.nmcall=c.prototype.ninvoke=function(e){var t=P(arguments,1),n=l();return t.push(n.makeNodeResolver()),this.dispatch("post",[e,t]).fail(n.reject),n.promise},u.nodeify=function(e,t){return u(e).nodeify(t)},c.prototype.nodeify=function(t){if(!t)return this;this.then(function(e){u.nextTick(function(){t(null,e)})},function(e){u.nextTick(function(){t(e)})})},u.noConflict=function(){throw new Error("Q.noConflict only works when Q is used as a global")};var V=t();return u})}).call(this,e("_process"))},{_process:1}],3:[function(e,t,n){function o(e){switch(void 0===e?"undefined":K(e)){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}}t.exports=function(n,i,r,e){return i=i||"&",r=r||"=",null===n&&(n=void 0),"object"==(void 0===n?"undefined":K(n))?Object.keys(n).map(function(e){var t=encodeURIComponent(o(e))+r;return Array.isArray(n[e])?n[e].map(function(e){return t+encodeURIComponent(o(e))}).join(i):t+encodeURIComponent(o(n[e]))}).join(i):e?encodeURIComponent(o(e))+r+encodeURIComponent(o(n)):""}},{}],4:[function(e,t,n){function i(e){return e&&e.__esModule?e:{default:e}}function r(n,i,r){return l.default.information("zip:checkout:init"),c.default.Promise(function(e,t){return n.onCheckout(e,t,{})}).then(function(e){var t=e.redirect_uri||e.redirectUri||e.data&&(e.data.redirect_uri||e.data.redirectUri);if(!t)return l.default.debug("zip:checkout:error","Response does not contain redirectUri property"),r(e),void n.onError({code:"checkout_error",message:"The response does not contain the redirectUri property",detail:e});l.default.debug("zip:checkout:success",e),i({redirectUri:t})}).catch(function(e){l.default.debug("zip:checkout:error",e),r(e),n.onError({code:"checkout_error",message:"Checkout response error",detail:e})})}Object.defineProperty(n,"__esModule",{value:!0}),n.Checkout=void 0;var o=function(e,t,n){return t&&p(e.prototype,t),n&&p(e,n),e},a=i(e("./modal")),s=i(e("./options")),u=i(e("./utility")),l=i(e("./console")),c=i((e("./events"),e("q"))),d=(o(h,null,[{key:"init",value:function(t){if("function"!=typeof Object.assign&&(Object.assign=function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");e=Object(e);for(var t=1;t<arguments.length;t++){var n=arguments[t];if(null!=n)for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}),t=A({},s.default,t),!this._validate(t))return l.default.setLevel(t.logLevel),t.redirect?r(t,function(e){return t.redirectFn(e.redirectUri)}):(e=t,(n=new a.default).onClose=e.onComplete.bind(e),n.build(),void r(e,function(e){return n.setUri(e.redirectUri)},function(e){return n.close(!1)}));var e,n}},{key:"attachButton",value:function(e,t){var n=document.querySelectorAll(e);if(!n.length)return config.onError({code:"attach_error",message:"Cannot find button to attach zipMoney checkout"});for(var i=0;i<n.length;i++)u.default.addEventHandler(n[i],"click",function(){return Zip.Checkout.init(t)})}},{key:"_validate",value:function(e){return["error","information","debug"].indexOf(e.logLevel.toLowerCase())<0&&(e.logLevel="error"),["standard","express"].indexOf(e.request.toLowerCase())<0&&(e.request="standard"),e.onComplete=e.onComplete||function(){},e.onError=e.onError||function(){},e.checkoutUri||e.onCheckout!==s.default.onCheckout?"express"===e.request?e.onError({code:"not_implemented",message:"This feature is not yet implemented"}):e.redirect||e.onComplete!==s.default.onComplete||e.redirectUri?void 0:e.onError({code:"validation",message:"if onComplete function is not specified then redirectUri must be specified"}):e.onError({code:"validation",message:"if onCheckout function is not specified then checkoutUri must be specified"})}}]),h);function h(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,h)}function p(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}n.Checkout=d},{"./console":5,"./events":6,"./modal":8,"./options":9,"./utility":10,q:2}],5:[function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0});var i="error",r={error:function(){var e;(e=window.console).log.apply(e,arguments)},information:function(){var e;"error"!==i&&(e=window.console).log.apply(e,arguments)},debug:function(){var e;"debug"===i&&(e=window.console).log.apply(e,arguments)},setLevel:function(e){i=e}};n.default=r},{}],6:[function(c,e,d){(function(i){Object.defineProperty(d,"__esModule",{value:!0}),d.EventListener=void 0;var e=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e},t=c("./utility");function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}if((t&&t.__esModule?t:{default:t}).default.isIe){var n=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n};n.prototype=i.Event.prototype,i.CustomEvent=n}var o={},a=d.EventListener=(e(s,null,[{key:"constructor",value:function(){o={}}},{key:"on",value:function(e,t){o[e]=t}},{key:"off",value:function(e){o[e]=null}}]),s);function s(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s)}a.Event=function(e,t){this.eventType=e,this.data=t||{}},a.Event.eventTypes={resize:"resize",transition:"transition",close:"close",complete:"complete",clear:"clear"};var u=window.addEventListener?"addEventListener":"attachEvent",l=window[u];l("attachEvent"==u?"onmessage":"message",function(e){var t,n;e.data.zipmoney&&(t=e.data.msg,n=new i.CustomEvent("zipmoney",{detail:t}),i.dispatchEvent(n))},!1),l("zipmoney",function(e){var t,n=e.detail.eventType,i=o[n];i?i(e.detail.data||{}):(t=e,console.log("Unexpected Event",t))},!1)}).call(this,void 0!==Ot?Ot:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utility":10}],7:[function(i,e,t){(function(e){var t=i("./checkout"),n=i("./events");e.Zip=e.Zip||{},e.Zip.Checkout=t.Checkout,e.zipMoneyEvent=n.EventListener.ZipEvent}).call(this,void 0!==Ot?Ot:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./checkout":4,"./events":6}],8:[function(e,t,n){function i(e){return e&&e.__esModule?e:{default:e}}function o(){return Math.max(document.documentElement.clientHeight,window.innerHeight||0)}function s(){var e=document.body,t=document.documentElement;return Math.max(e.scrollHeight,e.offsetHeight,t.clientHeight,t.scrollHeight,t.offsetHeight)}function u(e){for(var t=document.querySelectorAll("html, body"),n=0;n<t.length;n++)t[n].style.overflowY=e}function l(e){var t=document.body.currentStyle||window.getComputedStyle(document.body),n=e-(document.body.offsetHeight+(parseInt(t.marginTop,10)+parseInt(t.marginBottom,10))-parseInt(t.height,10));document.body.style.height=n+"px"}Object.defineProperty(n,"__esModule",{value:!0});var r=function(e,t,n){return t&&m(e.prototype,t),n&&m(e,n),e},a=i(e("./utility")),c=e("./events"),d=(i(e("./console")),{iframeWidth:400,iframeMinWidth:320,iframeInitialHeight:704,iframeMinHeight:600,verticalMargin:35}),h=["resize","transition","close","complete","clear"],p="https://d3k1w8lx8mqizo.cloudfront.net/zm/",f=(r(v,[{key:"build",value:function(){this._initialHtmlHeight=s(),window.scrollTo(0,0);var e,t,n,i,r,o=this._frame=(e=this._frameUri,t=this._isMobile,(n=document.createElement("iframe")).id="zipmoney-iframe",n.frameborder=0,A(n.style,{padding:"0",border:"none",zIndex:"999999",backgroundColor:"#FFF",backgroundImage:"url("+p+"spinner.gif)",backgroundRepeat:"no-repeat",backgroundPosition:"50% 50%"}),A(n.style,t?{overflow:"scroll",width:"100%",height:"100%",position:"absolute",top:"0",bottom:"0",left:"0",right:"0",margin:"0"}:{width:d.iframeWidth+"px",minWidth:d.iframeMinWidth+"px",height:d.iframeInitialHeight+"px",margin:d.verticalMargin+"px auto 0 auto",display:"table-row",backgroundSize:"25%",textAlign:"center",boxShadow:"0px 0px 70px 0px rgb(0, 0, 0)"}),n.src=e||"",n);if(!this._isMobile){var a=((r=document.createElement("img")).src=p+"icon-close.png",A(r.style,{width:"50px",height:"50px",position:"absolute",top:"20px",right:"20px",cursor:"pointer"}),r);a.onclick=this.close.bind(this),this._overlay=((i=document.createElement("div")).className="zipmoney-overlay",A(i.style,{position:"absolute",left:"0",top:"0",display:"table-cell",textAlign:"center",verticalAlign:"middle",background:"rgba(0, 0, 0, 0.75)",zIndex:"10000",height:"100%",width:"100%"}),i),this._overlay.appendChild(a),this._overlay.appendChild(this._frame),this._overlay.appendChild(function(){var e=document.createElement("div");e.style.width=d.iframeWidth+"px",e.style.minWidth=d.iframeMinWidth+"px",e.style.margin="10px auto 0 auto",e.style.overflow="hidden";var t=document.createElement("img");t.src=p+"iframe-secure.png",t.style.cssFloat="left";var n=document.createElement("img");return n.src=p+"poweredby-trans.png",n.style.cssFloat="right",e.appendChild(t),e.appendChild(n),e}()),o=this._overlay}document.body.appendChild(o),this._isMobile&&l(this._frame.offsetHeight),u("auto"),this._startMonitoringWindowResize()}},{key:"setUri",value:function(e){this._frameUri=e,this._frame&&(this._frame.src=e)}},{key:"resize",value:function(e){var t=this._isMobile?16:0,n=(e=d.iframeMinHeight<=e?e:d.iframeMinHeight,(e+=t)+2*d.verticalMargin),i=o();this._frame.style.height=e+"px",this._overlay&&(this._overlay.style.height=Math.max(i,this._initialHtmlHeight,n)+"px"),this._isMobile&&l(e)}},{key:"transition",value:function(){window.scroll(0,0)}},{key:"close",value:function(e){var t=!(0<arguments.length&&void 0!==e)||e,n={state:"cancelled"};this._events.length&&(n=this._events.pop()),this._destroy(),this.onClose&&t&&this.onClose(n)}},{key:"complete",value:function(e){this._events.push(e)}},{key:"clear",value:function(){this._events=[]}},{key:"_startMonitoringWindowResize",value:function(){var r=this;this._resizeHandler=a.default.debounce(function(){return e=r,t=o(),n=s(),i=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,e._overlay&&(e._overlay.style.height=Math.max(t,n)+"px"),void(e._isMobile||i<d.iframeWidth?e._frame.style.width="100%":e._frame.style.width=d.iframeWidth+"px");var e,t,n,i},250),a.default.addEventHandler(window,"resize",this._resizeHandler)}},{key:"_stopMonitoringWindowResize",value:function(){a.default.removeEventHandler(window,"resize",this._resizeHandler)}},{key:"_destroy",value:function(){this._stopMonitoringWindowResize(),this._overlay?document.body.removeChild(this._overlay):document.body.removeChild(this._frame),this._isMobile&&(document.body.style.height="initial"),u("initial"),this._overlay=this._frame=null,h.forEach(function(e){return c.EventListener.off(c.EventListener.Event.eventTypes[e])})}}]),v);function v(){var t=this;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,v),this._events=[],this._isMobile=a.default.isMobileDevice(),h.forEach(function(e){return c.EventListener.on(c.EventListener.Event.eventTypes[e],t[e].bind(t))})}function m(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}n.default=f},{"./console":5,"./events":6,"./utility":10}],9:[function(e,t,n){function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var r=i(e("./xr")),o=i(e("./console"));r.default.configure({headers:{"X-Requested-With":"XMLHttpRequest"}});var a={request:"standard",redirect:!1,logLevel:"Error",onCheckout:function(t,e){r.default.post(this.checkoutUri).then(function(e){return t(e.data)}).catch(e)},onShippingAddressChanged:function(e,t){r.default.post(this.shippingUri).then(e).catch(t)},onComplete:function(e){if(o.default.information("zip:completed",e),"cancelled"!==e.state){var t=e.checkoutId?"&checkoutId="+e.checkoutId:"";this.redirectFn(this.redirectUri+"?result="+e.state+t)}},onError:function(e){o.default.error(e)},redirectFn:function(e){window.location.href=e}};n.default=a},{"./console":5,"./xr":11}],10:[function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0});var i=(function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e}(r,null,[{key:"isIe",value:function(){var e=-1,t=window.navigator.userAgent,n=t.indexOf("MSIE "),i=t.indexOf("Trident/");if(0<n)e=parseInt(t.substring(n+5,t.indexOf(".",n)),10);else if(0<i){var r=t.indexOf("rv:");e=parseInt(t.substring(r+3,t.indexOf(".",r)),10)}return-1<e?e:void 0}},{key:"isMobileDevice",value:function(){var e=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4))}},{key:"debounce",value:function(i,r){var o;return function(){var e=this,t=arguments,n=!o;clearTimeout(o),o=setTimeout(function(){o=null,i.apply(e,t)},r),n&&i.apply(e,t)}}},{key:"addEventHandler",value:function(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,n)}},{key:"removeEventHandler",value:function(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent&&e.detachEvent("on"+t,n)}}]),r);function r(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r)}function o(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}n.default=i},{}],11:[function(e,t,n){function i(e){return e&&e.__esModule?e:{default:e}}function u(e,t){return{status:e.status,response:e.response,data:t,xhr:e}}function l(e){for(var t=arguments.length,n=Array(1<t?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];for(var r in n)if({}.hasOwnProperty.call(n,r)){var o=n[r];if("object"===(void 0===o?"undefined":c(o)))for(var a in o)!{}.hasOwnProperty.call(o,a)||(e[a]=o[a])}return e}function r(s){return t=function(t,n){var i=l({},p,f,s),r=i.xmlHttpRequest();for(var e in i.abort&&s.abort(function(){n(u(r)),r.abort()}),r.open(i.method,i.params?i.url.split("?")[0]+"?"+(0,d.default)(i.params):i.url,!0),r.withCredentials=i.withCredentials,r.addEventListener(h.LOAD,function(){if(200<=r.status&&r.status<300){var e=null;r.responseText&&(e=!0===i.raw?r.responseText:i.load(r.responseText)),t(u(r,e))}else n(u(r))}),r.addEventListener(h.ABORT,function(){return n(u(r))}),r.addEventListener(h.ERROR,function(){return n(u(r))}),r.addEventListener(h.TIMEOUT,function(){return n(u(r))}),i.headers)!{}.hasOwnProperty.call(i.headers,e)||r.setRequestHeader(e,i.headers[e]);for(var o in i.events)!{}.hasOwnProperty.call(i.events,o)||r.addEventListener(o,i.events[o].bind(null,r),!1);var a="object"!==c(i.data)||i.raw?i.data:i.dump(i.data);void 0!==a?r.send(a):r.send()},((e=s)&&e.promise?e.promise:f.promise||p.promise)(t);var e,t}Object.defineProperty(n,"__esModule",{value:!0});var c="function"==typeof Symbol&&"symbol"==K(Symbol.iterator)?function(e){return void 0===e?"undefined":K(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":K(e)},d=i(e("querystring/encode")),o=i(e("q")),a={GET:"GET",POST:"POST",PUT:"PUT",DELETE:"DELETE",PATCH:"PATCH",OPTIONS:"OPTIONS"},h={READY_STATE_CHANGE:"readystatechange",LOAD_START:"loadstart",PROGRESS:"progress",ABORT:"abort",ERROR:"error",LOAD:"load",TIMEOUT:"timeout",LOAD_END:"loadend"},p={method:a.GET,data:void 0,headers:{Accept:"application/json","Content-Type":"application/json"},dump:JSON.stringify,load:JSON.parse,xmlHttpRequest:function(){return new XMLHttpRequest},promise:function(e){return o.default.Promise(e)},withCredentials:!1},f={};r.assign=l,r.encode=d.default,r.configure=function(e){f=l({},f,e)},r.Methods=a,r.Events=h,r.defaults=p,r.get=function(e,t,n){return r(l({url:e,method:a.GET,params:t},n))},r.put=function(e,t,n){return r(l({url:e,method:a.PUT,data:t},n))},r.post=function(e,t,n){return r(l({url:e,method:a.POST,data:t},n))},r.patch=function(e,t,n){return r(l({url:e,method:a.PATCH,data:t},n))},r.del=function(e,t){return r(l({url:e,method:a.DELETE},t))},r.options=function(e,t){return r(l({url:e,method:a.OPTIONS},t))},n.default=r},{q:2,"querystring/encode":3}]},{},[7])}));var Rt=(s(xt,pt),n(xt,[{key:"setEnv",value:function(e,t){a(xt.prototype.__proto__||Object.getPrototypeOf(xt.prototype),"setEnv",this).call(this,e,t),this.apiEnv.setEnv(e,t)}},{key:"getCheckoutUri",value:function(e){return this.apiEnv.getConf().url+"/v1/echo?"+G.serialize({json_body:JSON.stringify({redirect_uri:e})})}}]),xt);function xt(){l(this,xt);var e=c(this,(xt.__proto__||Object.getPrototypeOf(xt)).call(this));return e.apiEnv=new V(H),e}var Lt,It=(Lt=vt(Rt),s(Ut,Lt),n(Ut,[{key:"run",value:function(){this.runs=!0,this.background.initLoader()}},{key:"isRunning",value:function(){return this.runs}},{key:"next",value:function(e){var t=this;this.background.clear(),this.checkout=e;var n=this.getCheckoutUri(this.checkout.link);Zip.Checkout.init({checkoutUri:n,onComplete:function(e){return t.eventHandler(e)},onError:function(e){return t.eventHandler(e)}})}},{key:"getSuccessRedirectUri",value:function(){return this.suspendedRedirectUri?this.suspendedRedirectUri:this.widgetEnv.getConf().url+String("/checkout/zipmoney/suspended")}},{key:"getErrorRedirectUri",value:function(){return this.getSuccessRedirectUri()}},{key:"stop",value:function(){a(Ut.prototype.__proto__||Object.getPrototypeOf(Ut.prototype),"stop",this).call(this),this.runs=!1;var e=document.querySelector(".zipmoney-overlay");e&&e.remove(),this.eventEmitter.emit(dt.CLOSE)}},{key:"onStop",value:function(e){var t=this;this.eventEmitter.subscribe(dt.CLOSE,function(){t.background.clear(),e()})}},{key:"onCheckout",value:function(e,t){var n=this;this.eventEmitter.subscribe(e,function(){t(n.checkout)})}},{key:"eventHandler",value:function(e){switch(this.runs=!1,e.state){case"approved":this.eventEmitter.emit(dt.CLOSE),this.eventEmitter.emit(dt.SUCCESS);break;case"declined":this.eventEmitter.emit(dt.CLOSE),this.eventEmitter.emit(dt.DECLINED);break;case"cancelled":this.eventEmitter.emit(dt.CLOSE);break;case"referred":this.eventEmitter.emit(dt.CLOSE),this.eventEmitter.emit(dt.REFERRED);break;default:console.warn("[CheckoutButton:Zipmoney] Unknown gateway status.")}}}]),Ut);function Ut(){l(this,Ut);var e=c(this,(Ut.__proto__||Object.getPrototypeOf(Ut)).call(this));return e.runs=!1,e.eventEmitter=new tt,e}var Dt,Nt="[Paydock:StorageDispatcher]";(Dt||(Dt={})).WIDGET_SESSION="widget-session";var Mt=(n(Ft,[{key:"create",value:function(e){var t=0<arguments.length&&void 0!==e&&e;if(this.dispatcherFrame&&!t)return this.dispatcherFrame;this.dispatcherFrame&&this.destroy();var n=document.createElement("iframe");return n.setAttribute("src",this.env.getConf().url+"/storage-dispatcher"),n.setAttribute("id","pd-storage-dispatcher"),n.style.display="none",document.body.appendChild(n),this.dispatcherFrame=n,console.info(Nt+" initialized."),n}},{key:"destroy",value:function(){this.dispatcherFrame&&this.dispatcherFrame.parentNode&&(this.dispatcherFrame.parentNode.removeChild(this.dispatcherFrame),this.dispatcherFrame=void 0)}},{key:"push",value:function(e){var t;if(this.dispatcherFrame){var n=A(A({},this.defaultPayload),e);null!==(t=this.dispatcherFrame.contentWindow)&&void 0!==t&&t.postMessage(n,this.env.getConf().url)}else console.error(Nt+" dispatcher is not initialized.")}},{key:"setEnv",value:function(e,t){this.env.setEnv(e,t),this.create(!0)}}]),Ft);function Ft(e){l(this,Ft),this.messageSource=e,this.defaultPayload={destination:"widget.paydock"},this.env=new V(j),this.defaultPayload.source=e}var jt,Ht=(jt=function(e){return s(t,0<arguments.length&&void 0!==e?e:pt),n(t,[{key:"setRedirectUrl",value:function(e){this.merchantRedirectUrl=e}},{key:"getRedirectUrl",value:function(){return this.merchantRedirectUrl}},{key:"error",value:function(e,t,n){n(!1)}}]),t;function t(){return l(this,t),c(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}}(Rt),s(Bt,jt),n(Bt,[{key:"getProxyRedirectUrl",value:function(){return this.widgetEnv.getConf().url+"/checkout/zipmoney/response"}},{key:"next",value:function(e,t){this.storageDispatcher.create();var n={merchant_redirect_url:this.getRedirectUrl(),checkout_token:e.token,public_key:t.public_key,gateway_id:t.gateway_id};this.storageDispatcher.push({intent:Dt.WIDGET_SESSION,data:n});var i=this.getCheckoutUri(e.link);Zip.Checkout.init({checkoutUri:i,redirect:!0})}},{key:"getSuccessRedirectUri",value:function(){return this.getProxyRedirectUrl()}},{key:"getErrorRedirectUri",value:function(){return this.getProxyRedirectUrl()}},{key:"setEnv",value:function(e,t){a(Bt.prototype.__proto__||Object.getPrototypeOf(Bt.prototype),"setEnv",this).call(this,e,t),this.storageDispatcher.setEnv(e,t)}}]),Bt);function Bt(){l(this,Bt);var e=c(this,(Bt.__proto__||Object.getPrototypeOf(Bt)).call(this));return e.storageDispatcher=new Mt("zipmoney.checkout.paydock"),e}var zt=(s(qt,wt),n(qt,[{key:"getSuccessRedirectUri",value:function(){return this.widgetEnv.getConf().url+G.extendSearchParams("/checkout/success","merchant",encodeURIComponent(window.location.href))}},{key:"getErrorRedirectUri",value:function(){return this.widgetEnv.getConf().url+G.extendSearchParams("/checkout/error","merchant",encodeURIComponent(window.location.href))}}]),qt);function qt(){return l(this,qt),c(this,(qt.__proto__||Object.getPrototypeOf(qt)).apply(this,arguments))}var Wt=(s(Vt,wt),n(Vt,[{key:"getSuccessRedirectUri",value:function(){return this.widgetEnv.getConf().url+"/checkout/afterpay/merchant/{{merchant}}/success".replace("{{merchant}}",encodeURIComponent(window.btoa(window.location.href)))}},{key:"getErrorRedirectUri",value:function(){return this.widgetEnv.getConf().url+"/checkout/afterpay/merchant/{{merchant}}/error".replace("{{merchant}}",encodeURIComponent(window.btoa(window.location.href)))}},{key:"next",value:function(e,t){this.checkout=e,ot.isSupportPopUp()||window.localStorage.setItem("paydock_checkout_token",JSON.stringify(this.checkout)),this.popup.redirect(this.getRedirectUrl(this.checkout,t))}},{key:"error",value:function(e,t,n){return!t||t&&"invalid_amount"!==t?n(!0):(this.popup.initError(e),n(!1))}},{key:"run",value:function(){this.isRunning()||(this.popup.setConfigs({width:420,height:715}),this.popup.init(),this.background.initControl())}},{key:"getRedirectUrl",value:function(e,t){return this.widgetEnv.getConf().url+"/checkout/afterpay/init?"+G.serialize(A(A({},t),{token:e.reference_id,env:"live"===e.mode?"live":"test"}))}}]),Vt);function Vt(){return l(this,Vt),c(this,(Vt.__proto__||Object.getPrototypeOf(Vt)).apply(this,arguments))}var Yt={EXTERNAL_CHECKOUT_TOKEN:"external_checkout_token",CHECKOUT_TOKEN:"checkout_token",BANK_ACCOUNT:"bank_account",CARD:"card"},Kt=(s(Gt,Je),n(Gt,[{key:"getLink",value:function(){return"/v1/payment_sources/tokens"}},{key:"send",value:function(e,n,t){var i=2<arguments.length&&void 0!==t?t:function(e){};this.create(e,this.getConfigs(),function(e,t){return n(e)},function(e,t){void 0===e.message?i("unknown error"):i(e.message)})}},{key:"getConfigs",value:function(){return this.body}}]),Gt);function Gt(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:Yt.CARD;l(this,Gt);var i=c(this,(Gt.__proto__||Object.getPrototypeOf(Gt)).call(this));switch(i.body={gateway_id:e,type:n},n){case Yt.CARD:case Yt.BANK_ACCOUNT:delete t.gateway_id,delete t.type,delete t.checkout_token,i.body=A(i.body,t);break;case Yt.CHECKOUT_TOKEN:case Yt.EXTERNAL_CHECKOUT_TOKEN:i.body.checkout_token=t;break;default:throw new Error("Unsupported type of PaymentSourceToken")}return i}var Jt=(n(Xt,[{key:"init",value:function(e){var t=this;this.setEnv(e),this.runner.onCheckout(dt.SUCCESS,function(e){t.eventEmitter.emit(Ke.ACCEPTED,{}),t.background.initLoader(),t.runner.stop(),t.checkToken(e.token,function(){t.createOneTimeToken(e.token)})}),this.runner.onCheckout(dt.ERROR,function(){t.eventEmitter.emit(Ke.ERROR),console.error(Ge+" Error from checkout server."),t.runner.stop()}),this.runner.onCheckout(dt.REFERRED,function(){t.eventEmitter.emit(Ke.REFERRED),t.runner.stop()}),this.runner.onCheckout(dt.DECLINED,function(){t.eventEmitter.emit(Ke.DECLINED),t.runner.stop()}),this.eventEmitter.subscribe(Ke.ERROR,function(){t.runner.stop()}),this.eventEmitter.subscribe(Ke.FINISH,function(e){t.background.clear()})}},{key:"setEnv",value:function(e){this.env=e}},{key:"checkToken",value:function(e,t){var n=this,i=new $e(e);i.setEnv(this.env),i.send(this.params.accessToken,function(e){n.details=e,t()},function(){n.eventEmitter.emit(Ke.ERROR,{}),console.error(Ge+" Error during creating payment source token.")})}},{key:"createOneTimeToken",value:function(e){var t=this,n=new Kt(this.params.gatewayId,e,Yt.CHECKOUT_TOKEN);n.setEnv(this.env),n.send(this.params.accessToken,function(e){t.eventEmitter.emit(Ke.FINISH,{payment_source_token:e,checkout_email:t.details.checkout_email,checkout_holder:t.details.checkout_holder,gateway_type:t.details.gateway_type})},function(){t.eventEmitter.emit(Ke.ERROR,{}),console.error(Ge+" Error during creating payment source token.")})}}]),Xt);function Xt(e,t,n,i){var r=this;l(this,Xt),this.background=e,this.runner=t,this.eventEmitter=n,this.params=i,this.runner.onStop(function(){r.eventEmitter.emit(Ke.CLOSE)})}var Zt=(n(Qt,[{key:"chooseRunner",value:function(e,t){var n=this.getRunnerByMode(e,t);this.runner=new n(this.accessToken),Ct(this.runner)?(this.background=new lt,this.checkoutHandler=new Jt(this.background,this.runner,this.eventEmitter,{accessToken:this.accessToken,gatewayId:this.gatewayId}),this.checkoutHandler.init(this.env)):(this.background=void 0,this.checkoutHandler=void 0)}},{key:"buildAdditionalParams",value:function(){return{}}},{key:"initCheckout",value:function(e){var n=this;e.on("click",function(e){if(Ct(n.runner)){if(n.runner.isRunning())return;n.runner.run()}else if(St(n.runner)&&!n.runner.getRedirectUrl())throw Error(Ge+" The merchant redirect URL should is required in the '"+n.mode+"' mode.");n.eventEmitter.emit(Ke.CLICK);var t=new Ze(n.gatewayId,n.runner.getSuccessRedirectUri(),n.runner.getErrorRedirectUri());t.setMeta(n.meta),t.setEnv(n.env),t.send(n.accessToken,function(e){var t=Ct(n.runner)?Ke.POPUP_REDIRECT:Ke.REDIRECT;n.eventEmitter.emit(t),n.runner.next(e,n.buildAdditionalParams())},function(e,t){console.error(Ge+" "+e),n.eventEmitter.emit(Ke.ERROR,{error:e,code:t}),n.runner.error(e,t,function(e){e&&n.close()})})})}},{key:"on",value:function(e,t){this.eventEmitter.subscribe(e,t)}},{key:"close",value:function(){this.assertMethodSupport(this.runner,qe.CONTEXTUAL)&&this.runner.stop()}},{key:"onFinishInsert",value:function(t,n){this.on(Ke.FINISH,function(e){Se.insertToInput(t,n,e)})}},{key:"setMeta",value:function(e){this.meta=A(this.meta,e)}},{key:"setBackdropDescription",value:function(e){this.assertMethodSupport(this.runner,qe.CONTEXTUAL)&&this.runner.setBackgroundDescription(e)}},{key:"setBackdropTitle",value:function(e){this.assertMethodSupport(this.runner,qe.CONTEXTUAL)&&this.runner.setBackgroundTitle(e)}},{key:"setSuspendedRedirectUri",value:function(e){this.assertMethodSupport(this.runner,qe.CONTEXTUAL)&&this.runner.setSuspendedRedirectUri(e)}},{key:"setRedirectUrl",value:function(e){this.assertMethodSupport(this.runner,qe.REDIRECT)&&this.runner.setRedirectUrl(e)}},{key:"getSuccessRedirectUri",value:function(){return this.runner.getSuccessRedirectUri()}},{key:"turnOffBackdrop",value:function(){this.turnOffControlBackdrop(),this.turnOffLoaderBackdrop()}},{key:"turnOffControlBackdrop",value:function(){this.assertMethodSupport(this.runner,qe.CONTEXTUAL)&&this.runner.turnOffBackdrop()}},{key:"turnOffLoaderBackdrop",value:function(){var e;null!==(e=this.background)&&void 0!==e&&e.turnOffLoader()}},{key:"setEnv",value:function(e,t){var n;this.env=e,this.alias=t,null!==(n=this.checkoutHandler)&&void 0!==n&&n.setEnv(e),this.runner.setEnv(e,t)}},{key:"getEnv",value:function(){return this.env}},{key:"getRunnerByMode",value:function(e,t){if(e===Ve.PAYPAL){if(t===qe.REDIRECT)throw Error(Ge+" Gateway '"+e+"' do not support '"+t+"' mode");return zt}if(e===Ve.AFTERPAY){if(t===qe.REDIRECT)throw Error(Ge+" Gateway '"+e+"' do not support '"+t+"' mode");return Wt}if(e===Ve.ZIPMONEY)return t===qe.CONTEXTUAL?It:Ht;throw Error(Ge+" Unsupported gateway.")}},{key:"assertMethodSupport",value:function(e,t){var n=Ge+" The method is not supported in the '"+t+"' mode.";switch(t){case qe.CONTEXTUAL:if(Ct(e))return!0;console.warn(n);break;case qe.REDIRECT:if(St(e))return!0;console.warn(n)}return!1}}]),Qt);function Qt(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default",i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:Ve.PAYPAL,r=4<arguments.length&&void 0!==arguments[4]?arguments[4]:qe.CONTEXTUAL;l(this,Qt),this.accessToken=t,this.gatewayId=n,this.gatewayType=i,this.mode=r,this.window=window,this.meta={},this.env=z,this.eventEmitter=new tt,this.container=new Te(e),this.initCheckout(this.container),this.chooseRunner(i,r)}var $t=(s(en,Zt),n(en,[{key:"setSuspendedRedirectUri",value:function(e){a(en.prototype.__proto__||Object.getPrototypeOf(en.prototype),"setSuspendedRedirectUri",this).call(this,e)}},{key:"setRedirectUrl",value:function(e){Ct(this.runner)&&(a(en.prototype.__proto__||Object.getPrototypeOf(en.prototype),"chooseRunner",this).call(this,Ve.ZIPMONEY,qe.REDIRECT),a(en.prototype.__proto__||Object.getPrototypeOf(en.prototype),"setEnv",this).call(this,this.env,this.alias)),a(en.prototype.__proto__||Object.getPrototypeOf(en.prototype),"setRedirectUrl",this).call(this,e)}},{key:"buildAdditionalParams",value:function(){var e=a(en.prototype.__proto__||Object.getPrototypeOf(en.prototype),"buildAdditionalParams",this).call(this);return A(A({},e),{public_key:this.publicKey,gateway_id:this.gatewayId})}}]),en);function en(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default",i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:qe.CONTEXTUAL;l(this,en);var r=c(this,(en.__proto__||Object.getPrototypeOf(en)).call(this,e,t,n,Ve.ZIPMONEY,i));return r.publicKey=t,r.gatewayId=n,r.mode=i,r}var tn=(s(nn,Zt),n(nn,[{key:"showEnhancedTrackingProtectionPopup",value:function(e){var t=ot.getBrowserInfo(),n=t.name,i=t.version;e&&"Firefox"===n&&100<=+i&&(this.showETP=!0)}},{key:"buildAdditionalParams",value:function(){var e=a(nn.prototype.__proto__||Object.getPrototypeOf(nn.prototype),"buildAdditionalParams",this).call(this);return this.showETP&&(e.show_etp=!0),e}}]),nn);function nn(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default";l(this,nn);var i=c(this,(nn.__proto__||Object.getPrototypeOf(nn)).call(this,e,t,n,Ve.AFTERPAY));return i.accessToken=t,i.gatewayId=n,i.showETP=!1,i}var rn,on,an=(s(sn,Zt),sn);function sn(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default";l(this,sn);var i=c(this,(sn.__proto__||Object.getPrototypeOf(sn)).call(this,e,t,n,Ve.PAYPAL));return i.publicKey=t,i.gatewayId=n,i}(on=rn=rn||{}).AFTER_LOAD="after_load",on.UNAVAILABLE="unavailable",on.START_LOADING="start_loading",on.END_LOADING="end_loading",on.UPDATE="update",on.PAYMENT_SUCCESSFUL="payment_successful",on.PAYMENT_IN_REVIEW="payment_in_review",on.PAYMENT_ERROR="payment_error";var un=(s(ln,Le),n(ln,[{key:"on",value:function(e,t,n){for(var i in rn)rn.hasOwnProperty(i)&&e===rn[i]&&this.listeners.push({event:e,listener:n,widget_id:t})}}]),ln);function ln(){return l(this,ln),c(this,(ln.__proto__||Object.getPrototypeOf(ln)).apply(this,arguments))}var cn={CLOSE:"close",UPDATED:"updated"},dn=(s(hn,De),n(hn,[{key:"push",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(this.iFrame.isExist()){-1===te.values(cn).indexOf(e)&&console.warn("unsupported trigger type");var i={message_source:"wallet.paydock",reference_id:this.widgetId,trigger:e,destination:"widget.paydock",data:n};this.iFrame.getElement().contentWindow.postMessage(JSON.stringify(i),"*")}}}]),hn);function hn(e,t){l(this,hn);var n=c(this,(hn.__proto__||Object.getPrototypeOf(hn)).call(this,e));return n.widgetId=t,n}var pn=(s(fn,lt),n(fn,[{key:"initControl",value:function(){this.imageStyle||this.createImageStyles(),a(fn.prototype.__proto__||Object.getPrototypeOf(fn.prototype),"initControl",this).call(this)}},{key:"clear",value:function(){this.imageStyle&&this.imageStyle.parentNode.removeChild(this.imageStyle),this.imageStyle=null,a(fn.prototype.__proto__||Object.getPrototypeOf(fn.prototype),"clear",this).call(this)}},{key:"createTemplate",value:function(){var e=this,t=document.body||document.getElementsByTagName("body")[0],n=String('\n <div class="checkout-container">\n <div class="checkout-bg-logo"></div>\n <a href="#" data-close>Close</a>\n </div>\n');this.overlay=document.createElement("div"),this.overlay.classList.add("checkout-overlay"),this.overlay.setAttribute("checkout-overlay"," "),this.overlay.innerHTML=n,t.appendChild(this.overlay),setTimeout(function(){e.isInit()&&e.overlay.classList.add("display")},5)}},{key:"createImageStyles",value:function(){var e=document.head||document.getElementsByTagName("head")[0],t=String("\n .checkout-bg-logo {\n display: block;\n background: url({{url}}) no-repeat;\n width: 100px;\n height: 50px;\n margin: 0 auto;\n border-radius: 10px;\n background-size: contain;\n }\n");document.querySelector(".checkout-container"),t=t.replace("{{url}}",this.bgImageUrl),this.imageStyle=document.createElement("style"),this.imageStyle.type="text/css",this.imageStyle.appendChild(document.createTextNode(t)),e.appendChild(this.imageStyle)}}]),fn);function fn(e){l(this,fn);var t=c(this,(fn.__proto__||Object.getPrototypeOf(fn)).call(this));return t.bgImageUrl=e,t.imageStyle=null,t}var vn={UNAVAILABLE:"unavailable",UPDATE:"update",PAYMENT_METHOD_SELECTED:"payment_method_selected",PAYMENT_SUCCESS:"payment_success",PAYMENT_IN_REVIEW:"payment_in_review",PAYMENT_ERROR:"payment_error",CALLBACK:"callback"},mn=(n(yn,[{key:"initializeChildWallets",value:function(){this.childWallets=[]}},{key:"getGatewayName",value:function(){throw new Error("Method not implemented")}},{key:"setEnv",value:function(e){return this.env=e,this}},{key:"load",value:function(t){this.childWallets.forEach(function(e){return e.load(t)})}},{key:"update",value:function(){}},{key:"on",value:function(e,t){var n=this;if(-1===te.values(vn).indexOf(e))throw new Error("invalid wallet event");return"function"==typeof t?this.eventEmitter.subscribe(e,t):new Promise(function(t){return n.eventEmitter.subscribe(e,function(e){return t(e)})})}}]),yn);function yn(e,t){l(this,yn),this.publicKey=e,this.meta=t,this.env=z,this.eventEmitter=new tt,this.initializeChildWallets()}var gn=(s(_n,mn),n(_n,[{key:"load",value:function(e){this.container=e,this.iFrame=new Pe(this.container);var t=this.link.getParams().widget_id;this.triggerElement=new dn(this.iFrame,t),this.setupIFrameEvents(t),this.background=this.initBackground(),this.iFrame.load(this.link.getUrl())}},{key:"close",value:function(){this.triggerElement.push(cn.CLOSE),this.background.clear()}},{key:"update",value:function(e){this.triggerElement.push(cn.UPDATED,e)}},{key:"setEnv",value:function(e){return this.link.setEnv(e),this}},{key:"initBackground",value:function(){var e=this,t=new pn(this.link.getNetUrl().replace(Q,"/images/logo.png"));return t.setBackdropTitle(""),t.setBackdropDescription(""),t.onTrigger(st,function(){return e.triggerElement.push(cn.CLOSE)}),t}},{key:"setupIFrameEvents",value:function(e){var t=this;this.event.on(rn.UNAVAILABLE,e,function(e){return t.eventEmitter.emit(vn.UNAVAILABLE,null)}),this.event.on(rn.START_LOADING,e,function(e){return t.background.initControl()}),this.event.on(rn.END_LOADING,e,function(e){return t.background.clear()}),this.event.on(rn.UPDATE,e,function(e){t.eventEmitter.emit(vn.UPDATE,t.parseUpdateData(e))}),this.event.on(rn.PAYMENT_SUCCESSFUL,e,function(e){t.eventEmitter.emit(vn.PAYMENT_SUCCESS,t.parsePaymentSuccessfulData(e)),t.iFrame.getElement()||t.background.clear()}),this.event.on(rn.PAYMENT_IN_REVIEW,e,function(e){t.eventEmitter.emit(vn.PAYMENT_IN_REVIEW,t.parsePaymentSuccessfulData(e)),t.iFrame.getElement()||t.background.clear()}),this.event.on(rn.PAYMENT_ERROR,e,function(e){t.eventEmitter.emit(vn.PAYMENT_ERROR,e),t.iFrame.getElement()||t.background.clear()})}},{key:"parsePaymentSuccessfulData",value:function(e){var t;return{id:this.meta.id,amount:e.amount,currency:e.currencyCode,status:null===(t=e.charge)||void 0===t?void 0:t.status}}},{key:"parseUpdateData",value:function(e){return A(A(A({wallet_response_code:e.responseCode,wallet_session_id:e.sessionId},e.paymentMethodDetails?{payment_source:{wallet_payment_method_id:e.paymentMethodDetails.paymentMethodId,card_number_last4:e.paymentMethodDetails.lastFourDigitsOfPan,card_scheme:e.paymentMethodDetails.paymentScheme}}:{}),e.loyaltyAccountSummary?{wallet_loyalty_account:{id:e.loyaltyAccountSummary.loyaltyAccountId,barcode:e.loyaltyAccountSummary.loyaltyAccountBarcode}}:{}),e.deliveryAddressDetails?{shipping:{address_line1:e.deliveryAddressDetails.line1,address_line2:e.deliveryAddressDetails.line2,address_postcode:e.deliveryAddressDetails.postalCode,address_city:e.deliveryAddressDetails.city,address_state:e.deliveryAddressDetails.state,address_country:e.deliveryAddressDetails.countryCode,address_company:e.deliveryAddressDetails.companyName,wallet_address_id:e.deliveryAddressDetails.addressId,post_office_box_number:e.deliveryAddressDetails.postOfficeBoxNumber,wallet_address_created_timestamp:e.deliveryAddressDetails.createdTimestamp,wallet_address_updated_timestamp:e.deliveryAddressDetails.updatedTimestamp,wallet_address_name:e.deliveryAddressDetails.name}}:{})}}]),_n);function _n(e,t){l(this,_n);var n=c(this,(_n.__proto__||Object.getPrototypeOf(_n)).call(this,e,t));n.link=new $(Q);var i=t.amount,r=t.currency,o=t.id,a=t.gateway_mode,s=t.reference,u=t.request_shipping;return n.link.setParams(A({token:e,amount:i,currency:r,gateway_mode:a,credentials:s||o},u?{request_shipping:u}:{})),n.token=e,n.event=new un(window),n}var kn=(s(En,mn),n(En,[{key:"load",value:function(e){var r=this;if(window.Promise){var t=e.getElement().id||"",n=document.createElement("script");n.src="https://www.paypal.com/sdk/js?client-id="+this.publicKey+"¤cy="+this.meta.currency+(!0===this.meta.pay_later?"&enable-funding=paylater&disable-funding=card":"&disable-funding=credit,card")+(this.meta.capture?"":"&intent=authorize"),n.async=!0,n.onload=function(){window.paypal?(r.paypal=window.paypal,r.paypal.Buttons(A(A({},r.meta.style&&{style:r.meta.style}),{createOrder:function(){return new Promise(function(t,n){r.eventEmitter.emit(vn.CALLBACK,{data:A({request_type:"CREATE_TRANSACTION"},r.meta.request_shipping&&{request_shipping:r.meta.request_shipping}),onSuccess:function(e){return t(e.id)},onError:function(e){return n(e)}})})},onShippingChange:function(i){return new Promise(function(e,t){var n=r.parseUpdateData(i);r.latestShippingData=n.shipping,r.latestShippingChangePromiseResolve=e,r.latestShippingChangePromiseReject=t,r.eventEmitter.emit(vn.UPDATE,n)})},onApprove:function(n){return new Promise(function(e,t){return r.eventEmitter.emit(vn.PAYMENT_METHOD_SELECTED,{data:{payment_method_id:n.orderID,customer:{payment_source:{external_payer_id:n.payerID}}},onSuccess:function(){return e(!0)},onError:function(e){return t(e)}})})},onError:function(){}})).render("#"+t)):r.eventEmitter.emit(vn.UNAVAILABLE,null)},document.head.appendChild(n)}else this.eventEmitter.emit(vn.UNAVAILABLE,null)}},{key:"update",value:function(e){var t=this;if(this.latestShippingChangePromiseResolve&&this.latestShippingChangePromiseReject)return e.success?void this.eventEmitter.emit(vn.CALLBACK,{data:{request_type:"UPDATE_TRANSACTION",shipping:this.latestShippingData},onSuccess:function(){return t.latestShippingChangePromiseResolve(!0)},onError:function(){return t.latestShippingChangePromiseReject()}}):this.latestShippingChangePromiseReject()}},{key:"parseUpdateData",value:function(e){var t;return A(A({wallet_order_id:e.orderID,wallet_session_id:e.paymentID,payment_source:{wallet_payment_method_id:e.paymentToken}},e.shipping_address&&{shipping:{address_city:e.shipping_address.city,address_state:e.shipping_address.state,address_postcode:e.shipping_address.postal_code,address_country:e.shipping_address.country_code}}),e.selected_shipping_option&&{selected_shipping_option:{id:e.selected_shipping_option.id,label:e.selected_shipping_option.label,amount:e.selected_shipping_option.amount.value,currency:e.selected_shipping_option.amount.currency_code,type:null===(t=e.selected_shipping_option)||void 0===t?void 0:t.type}})}}]),En);function En(){return l(this,En),c(this,(En.__proto__||Object.getPrototypeOf(En)).apply(this,arguments))}var wn=Pt(function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"===K(Symbol.iterator)?function(e){return void 0===e?"undefined":K(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":K(e)})(e)}Object.defineProperty(t,"__esModule",{value:!0});function r(i){return null!==l?l:l=new Promise(function(e,t){if("undefined"!=typeof window)if(window.Stripe&&i&&console.warn(u),window.Stripe)e(window.Stripe);else try{var n=function(){for(var e=document.querySelectorAll('script[src^="'.concat(a,'"]')),t=0;t<e.length;t++){var n=e[t];if(s.test(n.src))return n}return null}();n&&i?console.warn(u):n=n||function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="".concat(a).concat(t);var i=document.head||document.body;if(!i)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return i.appendChild(n),n}(i),n.addEventListener("load",function(){window.Stripe?e(window.Stripe):t(new Error("Stripe.js not available"))}),n.addEventListener("error",function(){t(new Error("Failed to load Stripe.js"))})}catch(e){return void t(e)}else e(null)})}function i(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];c=!0;var i=Date.now();return r(o).then(function(e){return function(e,t,n){if(null===e)return null;var i,r,o=e.apply(void 0,t);return r=n,(i=o)&&i._registerWrapper&&i._registerWrapper({name:"stripe-js",version:"1.11.0",startTime:r}),o}(e,t,i)})}var o,a="https://js.stripe.com/v3",s=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,u="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",l=null,c=!1;i.setLoadParameters=function(e){if(c)throw new Error("You cannot change load parameters after calling loadStripe");o=function(e){var t="invalid load parameters; expected object of shape\n\n {advancedFraudSignals: boolean}\n\nbut received\n\n ".concat(JSON.stringify(e),"\n");if(null===e||"object"!==n(e))throw new Error(t);if(1===Object.keys(e).length&&"boolean"==typeof e.advancedFraudSignals)return e;throw new Error(t)}(e)},t.loadStripe=i});At(wn);wn.loadStripe;var bn=wn.loadStripe,Cn="success",Sn="fail",On=(s(Tn,mn),n(Tn,[{key:"initPaymentRequest",value:function(){return this.stripe.paymentRequest({country:this.meta.country.toUpperCase(),currency:this.meta.currency.toLowerCase(),total:{label:this.meta.amount_label,amount:Math.floor(100*this.meta.amount)},requestPayerName:!0===this.meta.request_payer_name,requestPayerEmail:!0===this.meta.request_payer_email,requestPayerPhone:!0===this.meta.request_payer_phone})}},{key:"createWalletButton",value:function(){return this.stripe.elements().create("paymentRequestButton",{paymentRequest:this.paymentRequest})}},{key:"load",value:function(t){var n=this;return bn(this.publicKey).then(function(e){n.stripe=e,n.paymentRequest=n.initPaymentRequest()}).then(function(){return n.checkAvailability()}).then(function(e){return n.mount(t,e)}).then(function(){return n.setOnPaymentMethodSelected()})}},{key:"checkAvailability",value:function(){var i=this;return this.paymentRequest.canMakePayment().then(function(e){if(e){var t=!i.meta.wallets||i.meta.wallets.includes(oe.GOOGLE),n=!i.meta.wallets||i.meta.wallets.includes(oe.APPLE);return{google_pay:t&&!e.applePay,apple_pay:n&&e.applePay,flypay:!1}}})}},{key:"mount",value:function(e,t){if(!t||!t.apple_pay&&!t.google_pay)return this.eventEmitter.emit(vn.UNAVAILABLE,null);this.createWalletButton().mount(e.getElement())}},{key:"setOnPaymentMethodSelected",value:function(){var c=this;this.paymentRequest.on("paymentmethod",function(e){var t,n,i=e.paymentMethod,r=i.id,o=i.card,a=i.billing_details,s=a.name,u=a.address,l={payment_method_id:r,customer:{payer_name:e.payerName,payer_email:e.payerEmail,payer_phone:e.payerPhone,payment_source:{wallet_type:c.getWalletType(null===(t=null==o?void 0:o.wallet)||void 0===t?void 0:t.type),card_name:s,type:null===(n=null==o?void 0:o.wallet)||void 0===n?void 0:n.type,card_scheme:null==o?void 0:o.brand,card_number_last4:null==o?void 0:o.last4,expire_month:null==o?void 0:o.exp_month,expire_year:null==o?void 0:o.exp_year,address_line1:u.line1,address_line2:u.line2,address_city:u.city,address_postcode:u.postal_code,address_state:u.state,address_country:u.country}}};c.eventEmitter.emit(vn.PAYMENT_METHOD_SELECTED,{data:l,onSuccess:function(){return e.complete(Cn)},onError:function(){return e.complete(Sn)}})})}},{key:"getWalletType",value:function(e){return e?"google_pay"===e?oe.GOOGLE:oe.APPLE:null}}]),Tn);function Tn(){return l(this,Tn),c(this,(Tn.__proto__||Object.getPrototypeOf(Tn)).apply(this,arguments))}var An=(s(Pn,mn),n(Pn,[{key:"getGatewayName",value:function(){return this.gatewayName}},{key:"getMerchantId",value:function(){var e,t,n;return(null===(n=null===(t=null===(e=this.meta)||void 0===e?void 0:e.credentials)||void 0===t?void 0:t[oe.APPLE])||void 0===n?void 0:n.merchant)||""}},{key:"getMetaStyles",value:function(){var e,t,n;if(null!==(e=this.meta)&&void 0!==e&&e.style&&"object"===K(null===(t=this.meta)||void 0===t?void 0:t.style)){var i=JSON.parse(JSON.stringify(null===(n=this.meta)||void 0===n?void 0:n.style));return"google"in i&&(null==i||delete i.google),"apple"in i?null==i?void 0:i.apple:i}return null}},{key:"getMetaRawDataInitialization",value:function(){var e,t,n,i;if(null!==(e=this.meta)&&void 0!==e&&e.raw_data_initialization&&null!==(t=this.meta)&&void 0!==t&&t.raw_data_initialization&&"object"===K(null===(n=this.meta)||void 0===n?void 0:n.raw_data_initialization)){var r=JSON.parse(JSON.stringify(null===(i=this.meta)||void 0===i?void 0:i.raw_data_initialization));return"google"in r&&(null==r||delete r.google),"apple"in r?null==r?void 0:r.apple:r}return null}},{key:"isShippingRequired",value:function(){var e;return null===(e=this.meta)||void 0===e?void 0:e.request_shipping}},{key:"hasShippingOptions",value:function(){var e,t;return(null===(e=this.meta)||void 0===e?void 0:e.request_shipping)&&!(null===(t=this.meta)||void 0===t||!t.shipping_options)}},{key:"load",value:function(n){var i=this;if(window.Promise)return this.checkAvailability().then(function(e){var t;e?(i.isShippingRequired()&&i.hasShippingOptions()&&(i.selectedShippingOption=null===(t=i.meta)||void 0===t?void 0:t.shipping_options[0],i.latestShippingData.shippingMethod=i.formatShippingOptions([i.selectedShippingOption])[0]),i.mount(n)):i.eventEmitter.emit(vn.UNAVAILABLE,{wallet:oe.APPLE})}).catch(function(e){return console.error("Error checking ApplePay availability",e)});this.eventEmitter.emit(vn.UNAVAILABLE,{wallet:oe.APPLE})}},{key:"update",value:function(e){var t,n,i;if(this.latestShippingChangePromiseResolve&&this.latestShippingChangePromiseReject){if(!e.success||!e.body)return this.latestShippingChangePromiseReject();var r=null===(t=null==e?void 0:e.body)||void 0===t?void 0:t.amount,o=null===(n=null==e?void 0:e.body)||void 0===n?void 0:n.shipping_options;r&&(this.meta.amount=r),o&&(this.meta.shipping_options=o,this.selectedShippingOption=o?o[0]:void 0);var a=A({newTotal:{label:null===(i=this.meta)||void 0===i?void 0:i.amount_label,amount:this.meta.amount.toString(),type:"final"}},this.isShippingRequired()&&this.hasShippingOptions()&&{newShippingMethods:this.formatShippingOptions(this.meta.shipping_options)});this.paymentSession.completeShippingContactSelection(a),this.latestShippingChangePromiseResolve({})}}},{key:"checkAvailability",value:function(){var n=this;return new Promise(function(t,e){window.ApplePaySession&&ApplePaySession||t(!1),ApplePaySession.canMakePaymentsWithActiveCard(n.getMerchantId()).then(function(e){return t(e)}).catch(function(e){return t(!1)})})}},{key:"mount",value:function(e){var t=this,n=document.createElement("style");n.innerHTML=this.createButtonStyle(),document.head.appendChild(n);var i=document.createElement("div");i.onclick=function(){return t.onApplePayButtonClicked()},i.classList.add("paydock-apple-container","apple-pay-button","apple-pay-button-black"),e.getElement().appendChild(i)}},{key:"onApplePayButtonClicked",value:function(){this.paymentSession=new ApplePaySession(3,this.createRequest()),this.paymentSession.onvalidatemerchant=this.onValidateMerchant,this.paymentSession.onpaymentauthorized=this.onPaymentAuthorized,this.paymentSession.onshippingcontactselected=this.onShippingContactSelected,this.paymentSession.onshippingmethodselected=this.onShippingMethodSelected,this.paymentSession.begin()}},{key:"createRequest",value:function(){var e,t=this.getMetaRawDataInitialization();return t&&"object"===(void 0===t?"undefined":K(t))&&("object"===K(t.total)?t.total.amount=this.meta.amount.toString():t.total={label:(null===(e=this.meta)||void 0===e?void 0:e.amount_label)||"",amount:this.meta.amount.toString()},this.isShippingRequired()&&this.hasShippingOptions()&&(t.shippingMethods=this.formatShippingOptions(this.meta.shipping_options))),t||A(A(A({countryCode:this.meta.country.toUpperCase(),currencyCode:this.meta.currency.toUpperCase(),merchantCapabilities:["supports3DS","supportsCredit","supportsDebit"],supportedNetworks:["visa","masterCard","amex","discover"]},this.meta.show_billing_address&&{requiredBillingContactFields:["name","postalAddress"]}),this.isShippingRequired()&&A({requiredShippingContactFields:["postalAddress","name","phone","email"]},this.hasShippingOptions()&&{shippingMethods:this.formatShippingOptions(this.meta.shipping_options)})),{total:{label:this.meta.amount_label,amount:this.meta.amount.toString(),type:"final"}})}},{key:"getMerchantSession",value:function(){var e=this;return new Promise(function(t,n){return e.eventEmitter.emit(vn.CALLBACK,{data:A({request_type:"CREATE_SESSION",wallet_type:oe.APPLE,session_id:window.location.hostname},e.isShippingRequired()&&{request_shipping:e.meta.request_shipping}),onSuccess:function(e){return t(e)},onError:function(e){return n(e)}})})}},{key:"createButtonStyle",value:function(){var e,t;return"\n .paydock-apple-container {\n width: 100%;\n height: 40px;\n }\n\n @supports (-webkit-appearance: -apple-pay-button) {\n .apple-pay-button {\n display: inline-block;\n -webkit-appearance: -apple-pay-button;\n -apple-pay-button-type: "+((null===(e=this.getMetaStyles())||void 0===e?void 0:e.button_type)||"plain")+"\n }\n .apple-pay-button-black {\n -apple-pay-button-style: black;\n }\n .apple-pay-button-white {\n -apple-pay-button-style: white;\n }\n .apple-pay-button-white-with-line {\n -apple-pay-button-style: white-outline;\n }\n }\n\n @supports not (-webkit-appearance: -apple-pay-button) {\n .apple-pay-button {\n display: inline-block;\n background-size: 100% 60%;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n border-radius: 5px;\n padding: 0px;\n box-sizing: border-box;\n min-width: 200px;\n min-height: 32px;\n max-height: 64px;\n -apple-pay-button-type: "+((null===(t=this.getMetaStyles())||void 0===t?void 0:t.button_type)||"plain")+"\n }\n .apple-pay-button-black {\n background-image: -webkit-named-image(apple-pay-logo-white);\n background-color: black;\n }\n .apple-pay-button-white {\n background-image: -webkit-named-image(apple-pay-logo-black);\n background-color: white;\n }\n .apple-pay-button-white-with-line {\n background-image: -webkit-named-image(apple-pay-logo-black);\n background-color: white;\n border: .5px solid black;\n }\n }\n "}}]),Pn);function Pn(e,t,n,i){l(this,Pn);var u=c(this,(Pn.__proto__||Object.getPrototypeOf(Pn)).call(this,e,t));return u.gatewayName=n,u.eventEmitter=i,u.latestShippingData={},u.onValidateMerchant=function(e){u.getMerchantSession().then(function(e){u.paymentSession.completeMerchantValidation(e)}).catch(function(e){return console.error("Error fetching merchant session",e)})},u.onPaymentAuthorized=function(e){var t,n=e.payment,i=n.token,r=n.billingContact,o=n.shippingContact;u.latestShippingData.shippingContact=o;var a=null===(t=u.selectedShippingOption)||void 0===t?void 0:t.type,s=[null==o?void 0:o.givenName,null==o?void 0:o.familyName].join(" ").trim();u.eventEmitter.emit(vn.PAYMENT_METHOD_SELECTED,{data:A({customer:{payment_source:A(A({wallet_type:oe.APPLE},s&&{card_name:s}),{type:i.paymentMethod.type,card_scheme:i.paymentMethod.network,address_line1:null==r?void 0:r.addressLines[0],address_line2:null==r?void 0:r.addressLines[1],address_country:null==r?void 0:r.countryCode,address_city:null==r?void 0:r.locality,address_postcode:null==r?void 0:r.postalCode,address_state:null==r?void 0:r.administrativeArea,ref_token:i.paymentData?JSON.stringify(i.paymentData):""})}},u.meta.request_shipping&&o&&{shipping:A(A(A({},a&&{method:a}),u.hasShippingOptions()&&{options:u.meta.shipping_options}),{address_line1:o.addressLines[0],address_line2:o.addressLines[1],address_country:o.countryCode,address_city:o.locality,address_postcode:o.postalCode,address_state:o.administrativeArea,contact:{first_name:o.givenName,last_name:o.familyName,email:o.emailAddress,phone:o.phoneNumber}})}),onSuccess:function(){return u.paymentSession.completePayment(ApplePaySession.STATUS_SUCCESS)},onError:function(){return u.paymentSession.completePayment(ApplePaySession.STATUS_FAILURE)}})},u.onShippingContactSelected=function(e){u.latestShippingData.shippingContact=e.shippingContact;var t=u.parseUpdateData(u.latestShippingData);return u.eventEmitter.emit(vn.UPDATE,t),new Promise(function(e,t){u.latestShippingChangePromiseResolve=e,u.latestShippingChangePromiseReject=t})},u.onShippingMethodSelected=function(e){var t,n;u.latestShippingData.shippingMethod=e.shippingMethod;var i={newTotal:{label:u.meta.amount_label||(null===(n=null===(t=u.getMetaRawDataInitialization())||void 0===t?void 0:t.total)||void 0===n?void 0:n.label),amount:u.meta.amount.toString(),type:"final"}};u.paymentSession.completeShippingMethodSelection(i)},u.parseUpdateData=function(e){var t,n,i,r,o,a,s,u;return A({shipping:{address_city:null===(t=null==e?void 0:e.shippingContact)||void 0===t?void 0:t.locality,address_state:null===(n=null==e?void 0:e.shippingContact)||void 0===n?void 0:n.administrativeArea,address_postcode:null===(i=null==e?void 0:e.shippingContact)||void 0===i?void 0:i.postalCode,address_country:null===(r=null==e?void 0:e.shippingContact)||void 0===r?void 0:r.countryCode}},(null==e?void 0:e.shippingMethod)&&{selected_shipping_option:{id:null===(o=null==e?void 0:e.shippingMethod)||void 0===o?void 0:o.identifier,label:null===(a=null==e?void 0:e.shippingMethod)||void 0===a?void 0:a.label,detail:null===(s=null==e?void 0:e.shippingMethod)||void 0===s?void 0:s.detail,amount:null===(u=null==e?void 0:e.shippingMethod)||void 0===u?void 0:u.amount}})},u.formatShippingOptions=function(e){return e.map(function(e){return{identifier:e.id,label:e.label,detail:(null==e?void 0:e.detail)||"",amount:e.amount}})},u.eventEmitter=i,u}var Rn=(s(xn,mn),n(xn,[{key:"getGatewayName",value:function(){return this.gatewayName}},{key:"getMerchantId",value:function(){var e,t,n;return null===(n=null===(t=null===(e=this.meta)||void 0===e?void 0:e.credentials)||void 0===t?void 0:t[oe.GOOGLE])||void 0===n?void 0:n.merchant}},{key:"getMetaStyles",value:function(){var e,t,n,i;return"object"===K(null===(e=this.meta)||void 0===e?void 0:e.style)&&"google"in(null===(t=this.meta)||void 0===t?void 0:t.style)?null===(i=null===(n=this.meta)||void 0===n?void 0:n.style)||void 0===i?void 0:i.google:null}},{key:"getMetaRawDataInitialization",value:function(){var e,t,n,i,r;return null!==(e=this.meta)&&void 0!==e&&e.raw_data_initialization&&"object"===K(null===(t=this.meta)||void 0===t?void 0:t.raw_data_initialization)&&"google"in(null===(n=this.meta)||void 0===n?void 0:n.raw_data_initialization)?null===(r=null===(i=this.meta)||void 0===i?void 0:i.raw_data_initialization)||void 0===r?void 0:r.google:null}},{key:"isShippingRequired",value:function(){return this.meta.request_shipping}},{key:"hasShippingOptions",value:function(){return this.meta.request_shipping&&!!this.meta.shipping_options}},{key:"load",value:function(a){var s=this;if(window.Promise)return new Promise(function(r,o){var e=document.createElement("script");e.type="text/javascript",e.src="https://pay.google.com/gp/p/js/pay.js",e.async=!0,e.onload=function(){var e,t,n,i;if(!window.google)return s.eventEmitter.emit(vn.UNAVAILABLE,{wallet:oe.GOOGLE}),void o();s.isShippingRequired()&&s.hasShippingOptions()&&(s.selectedShippingOption=null===(e=s.meta)||void 0===e?void 0:e.shipping_options[0]),s.paymentsClient=new google.payments.api.PaymentsClient(A({merchantInfo:A(A({},null!==(t=s.meta)&&void 0!==t&&t.merchant_name?{merchantName:null===(n=s.meta)||void 0===n?void 0:n.merchant_name}:{}),{merchantId:s.getMerchantId()}),paymentDataCallbacks:A({onPaymentAuthorized:function(e){return s.onPaymentAuthorized(e)}},s.isShippingRequired()&&{onPaymentDataChanged:function(e){return s.onPaymentDataChanged(e)}})},"live"===(null===(i=s.meta)||void 0===i?void 0:i.gateway_mode)?{environment:"PRODUCTION"}:{environment:"TEST"})),s.checkAvailability().then(function(e){if(!e)return s.eventEmitter.emit(vn.UNAVAILABLE,{wallet:oe.GOOGLE}),void o();s.mount(a),r()})},document.head.appendChild(e)});this.eventEmitter.emit(vn.UNAVAILABLE,{wallet:oe.GOOGLE})}},{key:"update",value:function(e){var t,n,i,r;if(this.latestShippingChangePromiseResolve&&this.latestShippingChangePromiseReject){if(!e.success)return this.latestShippingChangePromiseReject();var o=(null===(t=null==e?void 0:e.body)||void 0===t?void 0:t.amount)||this.meta.amount,a=(null===(n=null==e?void 0:e.body)||void 0===n?void 0:n.shipping_options)||this.meta.shipping_options;o&&(this.meta.amount=o),a&&(this.meta.shipping_options=a,this.selectedShippingOption=a?a[0]:void 0);var s=A({newTransactionInfo:{totalPriceStatus:"FINAL",totalPriceLabel:this.meta.amount_label,totalPrice:null===(i=this.meta.amount)||void 0===i?void 0:i.toString(),currencyCode:this.meta.currency.toUpperCase(),countryCode:this.meta.country.toUpperCase()}},this.isShippingRequired()&&this.hasShippingOptions()&&{newShippingOptionParameters:{defaultSelectedOptionId:null===(r=this.selectedShippingOption)||void 0===r?void 0:r.id,shippingOptions:this.formatShippingOptions(this.meta.shipping_options)}});this.latestShippingChangePromiseResolve(s)}}},{key:"checkAvailability",value:function(){return this.paymentsClient.isReadyToPay(this.createRequest()).then(function(e){return!!e.result}).catch(function(e){return console.error("Error checking GooglePay availability",e),!1})}},{key:"mount",value:function(e){var t,n,i,r=this;e.getElement().appendChild(this.paymentsClient.createButton({onClick:function(){return r.loadPaymentData()},buttonType:(null===(t=this.getMetaStyles())||void 0===t?void 0:t.button_type)||"pay",buttonSizeMode:(null===(n=this.getMetaStyles())||void 0===n?void 0:n.button_size_mode)||"fill",buttonColor:(null===(i=this.getMetaStyles())||void 0===i?void 0:i.button_color)||"default"}))}},{key:"loadPaymentData",value:function(){this.paymentsClient.loadPaymentData(this.createPaymentDataRequest()).catch(function(){console.error("Error while loading payment data")})}},{key:"onPaymentAuthorized",value:function(E){var e,t,n,i,r,o,a,s,u,w=this,b=null===(n=null===(t=null===(e=E.paymentMethodData)||void 0===e?void 0:e.info)||void 0===t?void 0:t.billingAddress)||void 0===n?void 0:n.address1,C=null===(o=null===(r=null===(i=E.paymentMethodData)||void 0===i?void 0:i.info)||void 0===r?void 0:r.billingAddress)||void 0===o?void 0:o.address2,S=null===(a=null==E?void 0:E.shippingAddress)||void 0===a?void 0:a.address1,O=null===(s=null==E?void 0:E.shippingAddress)||void 0===s?void 0:s.address2,T=null===(u=this.selectedShippingOption)||void 0===u?void 0:u.type;return new Promise(function(t){var e,n,i,r,o,a,s,u,l,c,d,h,p,f,v,m,y,g,_,k;return w.eventEmitter.emit(vn.PAYMENT_METHOD_SELECTED,{data:A({customer:{payment_source:A(A(A(A({wallet_type:oe.GOOGLE,type:E.paymentMethodData.type,card_scheme:null===(n=null===(e=E.paymentMethodData)||void 0===e?void 0:e.info)||void 0===n?void 0:n.cardNetwork},b&&{address_line1:b}),C&&{address_line2:C}),C&&{address_line2:C}),{address_country:null===(o=null===(r=null===(i=E.paymentMethodData)||void 0===i?void 0:i.info)||void 0===r?void 0:r.billingAddress)||void 0===o?void 0:o.countryCode,address_city:null===(u=null===(s=null===(a=E.paymentMethodData)||void 0===a?void 0:a.info)||void 0===s?void 0:s.billingAddress)||void 0===u?void 0:u.locality,address_postcode:null===(d=null===(c=null===(l=E.paymentMethodData)||void 0===l?void 0:l.info)||void 0===c?void 0:c.billingAddress)||void 0===d?void 0:d.postalCode,address_state:null===(f=null===(p=null===(h=E.paymentMethodData)||void 0===h?void 0:h.info)||void 0===p?void 0:p.billingAddress)||void 0===f?void 0:f.administrativeArea,ref_token:E.paymentMethodData.tokenizationData.token})}},w.isShippingRequired()&&{shipping:A(A(A(A(A({},T&&{method:T}),w.hasShippingOptions()&&{options:w.meta.shipping_options}),S&&{address_line1:S}),O&&{address_line2:O}),{address_country:null===(v=null==E?void 0:E.shippingAddress)||void 0===v?void 0:v.countryCode,address_city:null===(m=null==E?void 0:E.shippingAddress)||void 0===m?void 0:m.locality,address_postcode:null===(y=null==E?void 0:E.shippingAddress)||void 0===y?void 0:y.postalCode,address_state:null===(g=null==E?void 0:E.shippingAddress)||void 0===g?void 0:g.administrativeArea,contact:{first_name:null===(_=null==E?void 0:E.shippingAddress)||void 0===_?void 0:_.name,email:null==E?void 0:E.email,phone:null===(k=null==E?void 0:E.shippingAddress)||void 0===k?void 0:k.phoneNumber}})}),onSuccess:function(){return t({transactionState:"SUCCESS"})},onError:function(e){return t({transactionState:"ERROR",error:{intent:"PAYMENT_AUTHORIZATION",message:e,reason:"PAYMENT_DATA_INVALID"}})}})})}},{key:"onPaymentDataChanged",value:function(e){var n=this;if(this.isShippingRequired()){var t=this.parseUpdateData(e);return this.eventEmitter.emit(vn.UPDATE,t),new Promise(function(e,t){n.latestShippingChangePromiseResolve=e,n.latestShippingChangePromiseReject=t})}}},{key:"createRequest",value:function(){return{apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[this.createCardData()],existingPaymentMethodRequired:!0}}},{key:"createPaymentDataRequest",value:function(){var e,t,n,i;this.isShippingRequired()&&this.hasShippingOptions()&&(this.selectedShippingOption=null===(e=this.meta)||void 0===e?void 0:e.shipping_options[0]);var r=this.getMerchantId();return A({apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[A(A({},this.createCardData()),{tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:"paydock",gatewayMerchantId:r}}})],transactionInfo:{totalPriceStatus:"FINAL",totalPriceLabel:this.meta.amount_label,totalPrice:this.meta.amount.toString(),currencyCode:this.meta.currency.toUpperCase(),countryCode:this.meta.country.toUpperCase()},merchantInfo:A(A({},null!==(t=this.meta)&&void 0!==t&&t.merchant_name?{merchantName:null===(n=this.meta)||void 0===n?void 0:n.merchant_name}:{}),{merchantId:r}),callbackIntents:["PAYMENT_AUTHORIZATION"].concat(o(this.isShippingRequired()?["SHIPPING_ADDRESS"]:[]),o(this.hasShippingOptions()?["SHIPPING_OPTION"]:[]))},this.isShippingRequired()&&A({shippingAddressRequired:!0},this.hasShippingOptions()&&{shippingOptionRequired:!0,shippingOptionParameters:{defaultSelectedOptionId:null===(i=this.selectedShippingOption)||void 0===i?void 0:i.id,shippingOptions:this.formatShippingOptions(this.meta.shipping_options)}}))}},{key:"createCardData",value:function(){return this.getMetaRawDataInitialization()||{type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],billingAddressRequired:!!this.meta.show_billing_address}}}}]),xn);function xn(e,t,n,i){l(this,xn);var u=c(this,(xn.__proto__||Object.getPrototypeOf(xn)).call(this,e,t));return u.gatewayName=n,u.eventEmitter=i,u.parseUpdateData=function(n){var e,t,i,r,o,a,s=null===(t=null===(e=u.meta)||void 0===e?void 0:e.shipping_options)||void 0===t?void 0:t.find(function(e){var t;return e.id===(null===(t=null==n?void 0:n.shippingOptionData)||void 0===t?void 0:t.id)});return A({shipping:{address_city:null===(i=n.shippingAddress)||void 0===i?void 0:i.locality,address_state:null===(r=n.shippingAddress)||void 0===r?void 0:r.administrativeArea,address_postcode:null===(o=null==n?void 0:n.shippingAddress)||void 0===o?void 0:o.postalCode,address_country:null===(a=null==n?void 0:n.shippingAddress)||void 0===a?void 0:a.countryCode}},s&&{selected_shipping_option:{id:null==s?void 0:s.id,label:null==s?void 0:s.label,detail:null==s?void 0:s.detail,type:null==s?void 0:s.type}})},u.formatShippingOptions=function(e){return e.map(function(e){return{id:e.id,label:e.label,description:(null==e?void 0:e.detail)||""}})},u.eventEmitter=i,u}var Ln,In,Un=(s(Dn,mn),n(Dn,[{key:"initializeChildWallets",value:function(){var e,t,n,i,r,o;this.childWallets=[];var a=!(null===(n=null===(t=null===(e=this.meta)||void 0===e?void 0:e.credentials)||void 0===t?void 0:t.apple)||void 0===n||!n.merchant),s=!(null===(o=null===(r=null===(i=this.meta)||void 0===i?void 0:i.credentials)||void 0===r?void 0:r.google)||void 0===o||!o.merchant);!a||this.meta.wallets&&!this.meta.wallets.includes(oe.APPLE)||this.childWallets.push(new An(this.publicKey,this.meta,this.getGatewayName(),this.eventEmitter)),!s||this.meta.wallets&&!this.meta.wallets.includes(oe.GOOGLE)||this.childWallets.push(new Rn(this.publicKey,this.meta,this.getGatewayName(),this.eventEmitter))}},{key:"getGatewayName",value:function(){return ie.MASTERCARD}},{key:"setEnv",value:function(t){return this.childWallets.forEach(function(e){return e.setEnv(t)}),this}},{key:"update",value:function(t){this.childWallets.forEach(function(e){return e.update(t)})}}]),Dn);function Dn(){return l(this,Dn),c(this,(Dn.__proto__||Object.getPrototypeOf(Dn)).apply(this,arguments))}(In=Ln=Ln||{})[In.PUBLIC_KEY=0]="PUBLIC_KEY",In[In.TOKEN=1]="TOKEN";var Nn=(n(Mn,[{key:"setEnv",value:function(e,t){return this.env.setEnv(e,t),this}},{key:"setAuthType",value:function(){return this.authType=h.validateJWT(this.auth)?Ln.TOKEN:Ln.PUBLIC_KEY}},{key:"getClient",value:function(e,t){var i=this,r=new XMLHttpRequest;return r.open(e,this.env.getConf().url+t,!0),r.setRequestHeader("Content-Type","application/json; charset=UTF-8"),this.setAuthHeader(r),{config:r,send:function(e,t,n){r.onload=function(){return i.parser({text:r.responseText,status:r.status},t,n)},r.send(JSON.stringify(e))}}}},{key:"getClientPromise",value:function(e,t){var i=this,r=new XMLHttpRequest;return r.open(e,this.env.getConf().url+t,!0),r.setRequestHeader("Content-Type","application/json; charset=UTF-8"),this.setAuthHeader(r),{config:r,send:function(n){return new Promise(function(e,t){r.onload=function(){return e({text:r.responseText,status:r.status})},r.send(JSON.stringify(n))}).then(function(e){return i.parserPromise(e)})}}}},{key:"parser",value:function(e,t,n){var i=e.text,r=e.status;try{var o=JSON.parse(i);if(200<=r&&r<300||302===r)return t(o.resource.data);n(o.error||{message:"unknown error"})}catch(e){}}},{key:"parserPromise",value:function(e){var t=e.text,n=e.status;try{var i=JSON.parse(t);return 200<=n&&n<300||302===n?Promise.resolve(i.resource.data):Promise.reject(i.error||{message:"unknown error"})}catch(e){return Promise.reject(e)}}},{key:"setAuthHeader",value:function(e){switch(this.authType){case Ln.PUBLIC_KEY:e.setRequestHeader("x-user-public-key",this.auth);break;case Ln.TOKEN:e.setRequestHeader("x-access-token",this.auth)}}}]),Mn);function Mn(e,t){l(this,Mn),this.auth=e,this.authType=t||this.setAuthType(),this.env=new V(H)}var Fn=(n(jn,[{key:"walletCapture",value:function(e){return this.api.getClientPromise("POST","/v1/charges/wallet/capture").send(e)}},{key:"walletCallback",value:function(e){return this.api.getClientPromise("POST","/v1/charges/wallet/callback").send(e)}},{key:"standalone3dsProcess",value:function(e){return this.api.getClientPromise("POST","/v1/charges/standalone-3ds/process").send(e)}},{key:"standalone3dsHandle",value:function(){return this.api.getClientPromise("GET","/v1/charges/standalone-3ds/handle").send(void 0)}}]),jn);function jn(e){l(this,jn),this.api=e}var Hn,Bn=(n(zn,[{key:"getConfig",value:function(e){var t="/v1/services/:service_id/config".replace(":service_id",e);return this.api.getClientPromise("GET",t).send(void 0)}}]),zn);function zn(e){l(this,zn),this.api=e}(Hn||(Hn={})).VISA_SRC="VisaSRC";var qn=(s(Wn,Nn),n(Wn,[{key:"charge",value:function(){return new Fn(this)}},{key:"service",value:function(){return new Bn(this)}}]),Wn);function Wn(){return l(this,Wn),c(this,(Wn.__proto__||Object.getPrototypeOf(Wn)).apply(this,arguments))}var Vn=(s(Yn,mn),n(Yn,[{key:"load",value:function(e){this.storageDispatcher.create(),this.mount(e)}},{key:"setEnv",value:function(e){return a(Yn.prototype.__proto__||Object.getPrototypeOf(Yn.prototype),"setEnv",this).call(this,e),this.storageDispatcher.setEnv(e),this}},{key:"mount",value:function(e){var t,n,i,r,o=this,a={};null!==(t=this.meta)&&void 0!==t&&t.style&&"object"===K(null===(n=this.meta)||void 0===n?void 0:n.style)&&(a=JSON.parse(JSON.stringify((null===(i=this.meta)||void 0===i?void 0:i.style.afterpay)||(null===(r=this.meta)||void 0===r?void 0:r.style))));var s=this.getButton(a);s.onclick=function(){return o.onAfterPayButtonClicked()};var u=this.getButtonStyle(a);e.getElement().appendChild(s),e.getElement().appendChild(u)}},{key:"onAfterPayButtonClicked",value:function(){var r=this;return this.storageDispatcher.push({intent:Dt.WIDGET_SESSION,data:{token:this.token}}),new Promise(function(){var e,t,n=document.createElement("script"),i=null===(e=r.meta)||void 0===e?void 0:e.country;n.type="text/javascript",n.src="live"===(null===(t=r.meta)||void 0===t?void 0:t.gateway_mode)?"https://portal.afterpay.com/afterpay.js":"https://portal.sandbox.afterpay.com/afterpay.js",n.async=!0,n.defer=!0,n.onload=function(){window.AfterPay.initialize({countryCode:i}),r.getCheckoutSession().then(function(e){window.AfterPay.redirect({token:e.ref_token})}).catch(function(e){window.AfterPay.close(),r.eventEmitter.emit(vn.UNAVAILABLE,{err:e})})},document.head.appendChild(n)})}},{key:"getCheckoutSession",value:function(){var e=this;return new Promise(function(t,n){return e.eventEmitter.emit(vn.CALLBACK,{data:{request_type:"CREATE_SESSION",wallet_type:oe.AFTERPAY},onSuccess:function(e){t(e)},onError:function(e){n(e)}})})}},{key:"getButton",value:function(e){var t=document.createElement("button");return t.classList.add("afterpay-checkout-btn"),t.setAttribute("type","button"),t.innerHTML='\n <div class="afterpay-checkout-btn__wrapper">\n <svg viewBox="0 0 390 94"\n height="'+this.getHeight(e)+'"\n xmlns="http://www.w3.org/2000/svg">\n <g fill="currentColor">\n <path\n d="M388.6 21.4l-34.8 71.8h-14.4l13-26.8-20.5-45h14.8l13.2 30.1 14.3-30.1zM41 46.9c0-8.6-6.2-14.6-13.9-14.6s-13.9 6.1-13.9 14.6c0 8.4 6.2 14.6 13.9 14.6 7.6 0 13.9-6.1 13.9-14.6m.1 25.5v-6.6c-3.8 4.6-9.4 7.4-16.1 7.4C11 73.2.4 62 .4 46.9c0-15 11-26.4 24.9-26.4 6.5 0 12 2.9 15.8 7.3v-6.4h12.5v51H41.1zM114.6 61.1c-4.4 0-5.6-1.6-5.6-5.9V32.5h8.1V21.4H109V8.9H96.1v12.4H79.5v-5.1c0-4.3 1.6-5.9 6.1-5.9h2.8V.4h-6.2C71.6.4 66.6 3.9 66.6 14.5v6.8h-7.1v11.1h7.1v39.9h12.9V32.5h16.6v25c0 10.4 4 14.9 14.4 14.9h6.6V61.1h-2.5zM160.7 42.3c-.9-6.6-6.3-10.6-12.6-10.6s-11.5 3.9-12.9 10.6h25.5zm-25.6 7.9c.9 7.5 6.3 11.8 13.2 11.8 5.4 0 9.6-2.6 12-6.6h13.2c-3.1 10.8-12.7 17.7-25.5 17.7-15.4 0-26.2-10.8-26.2-26.2 0-15.4 11.4-26.5 26.5-26.5 15.2 0 26.2 11.2 26.2 26.5 0 1.1-.1 2.2-.3 3.3h-39.1zM256.2 46.9c0-8.3-6.2-14.6-13.9-14.6s-13.9 6.1-13.9 14.6c0 8.4 6.2 14.6 13.9 14.6 7.6 0 13.9-6.4 13.9-14.6m-40.4 46.3V21.4h12.5V28c3.8-4.7 9.4-7.5 16.1-7.5 13.8 0 24.6 11.3 24.6 26.3s-11 26.4-24.9 26.4c-6.4 0-11.7-2.6-15.4-6.8v26.8h-12.9zM314.2 46.9c0-8.6-6.2-14.6-13.9-14.6-7.6 0-13.9 6.1-13.9 14.6 0 8.4 6.2 14.6 13.9 14.6s13.9-6.1 13.9-14.6m.1 25.5v-6.6c-3.8 4.6-9.4 7.4-16.1 7.4-14 0-24.6-11.2-24.6-26.3 0-15 11-26.4 24.9-26.4 6.5 0 12 2.9 15.8 7.3v-6.4h12.5v51h-12.5zM193.2 26.4s3.2-5.9 11-5.9c3.3 0 5.5 1.2 5.5 1.2v13s-4.7-2.9-9.1-2.3c-4.3.6-7.1 4.6-7.1 9.9v30.2h-13v-51H193v4.9h.2z" />\n </g>\n </svg>\n <svg viewBox="0 0 107 96"\n height="'+this.getHeight(e)+'"\n xmlns="http://www.w3.org/2000/svg">\n <path\n d="M99 19.5L84.2 11l-15-8.6c-10-5.7-22.4 1.5-22.4 13v1.9c0 1.1.6 2 1.5 2.6l7 4c1.9 1.1 4.4-.3 4.4-2.5v-4.6c0-2.3 2.5-3.7 4.4-2.6l13.8 7.9L91.6 30c2 1.1 2 4 0 5.1L77.9 43l-13.8 7.9c-2 1.1-4.4-.3-4.4-2.6V46c0-11.5-12.4-18.7-22.4-13l-15 8.6-14.8 8.5c-10 5.7-10 20.2 0 26l14.8 8.5 15 8.6c10 5.7 22.4-1.5 22.4-13v-1.9c0-1.1-.6-2-1.5-2.6l-7-4c-1.9-1.1-4.4.3-4.4 2.5v4.6c0 2.3-2.5 3.7-4.4 2.6l-13.8-7.9-13.7-7.9c-2-1.1-2-4 0-5.1l13.7-7.9 13.8-7.9c2-1.1 4.4.3 4.4 2.6v2.3c0 11.5 12.4 18.7 22.4 13l15-8.6L99 45.5c10.1-5.8 10.1-20.2 0-26"\n fill="currentColor" />\n </svg>\n </div>\n ',t}},{key:"getButtonStyle",value:function(e){var t=document.createElement("style"),n=this.generateButtonColor(e.button_type);return t.innerText="\n .afterpay-checkout-btn {\n outline: none;\n border: none;\n border-radius: "+this.getHeight(e)+";\n padding: 0;\n margin: 0;\n transition: all 300ms;\n cursor: pointer;\n }\n\n .afterpay-checkout-btn:active {\n opacity: 0.7;\n }\n\n .afterpay-checkout-btn__wrapper {\n display: flex;\n align-items: center;\n padding: 10px 20px;\n color: "+n.color+";\n background-color: "+n.background+";\n border-radius: "+this.getHeight(e)+";\n }\n ",t}},{key:"generateButtonColor",value:function(e){switch(e){case"black":return{color:"#B2FCE3",background:"#000"};case"mint":return{color:"#000",background:"#B2FCE3"};default:return{color:"#fff",background:"#000"}}}},{key:"getHeight",value:function(e){return e.height?Number.isNaN(Number(e.height))?e.height:e.height+"px":"40px"}}]),Yn);function Yn(e,t){l(this,Yn);var n=c(this,(Yn.__proto__||Object.getPrototypeOf(Yn)).call(this,e,t));return n.token=e,n.storageDispatcher=new Mt("afterpay.wallet.paydock"),n}var Kn="unavailable",Gn="update",Jn="paymentSuccessful",Xn="paymentError",Zn="paymentInReview",Qn=(n($n,[{key:"load",value:function(){try{this.setupServiceCallbacks(),this.service.load(this.container)}catch(e){throw this.eventEmitter.emit(Kn,null),e}}},{key:"update",value:function(e){this.service.update(e)}},{key:"setEnv",value:function(e,t){this.api.setEnv(e,t),this.service.setEnv(e)}},{key:"close",value:function(){"function"==typeof this.service.close&&this.service.close()}},{key:"on",value:function(e,t){var n=this;return e===Gn&&(this.hasUpdateHandler=!0),"function"==typeof t?this.eventEmitter.subscribe(e,t):new Promise(function(t){return n.eventEmitter.subscribe(e,function(e){return t(e)})})}},{key:"onUnavailable",value:function(e){var t=this;return"function"==typeof e?this.eventEmitter.subscribe(Kn,e):new Promise(function(e){return t.eventEmitter.subscribe(Kn,function(){return e()})})}},{key:"onUpdate",value:function(e){var n=this;return this.hasUpdateHandler=!0,"function"==typeof e?this.eventEmitter.subscribe(Gn,e):new Promise(function(t){return n.eventEmitter.subscribe(Gn,function(e){return t(e)})})}},{key:"onPaymentSuccessful",value:function(e){var n=this;return"function"==typeof e?this.eventEmitter.subscribe(Jn,e):new Promise(function(t){return n.eventEmitter.subscribe(Jn,function(e){return t(e)})})}},{key:"onPaymentInReview",value:function(e){var n=this;return"function"==typeof e?this.eventEmitter.subscribe(Zn,e):new Promise(function(t){return n.eventEmitter.subscribe(Zn,function(e){return t(e)})})}},{key:"onPaymentError",value:function(e){var n=this;return"function"==typeof e?this.eventEmitter.subscribe(Xn,e):new Promise(function(t){return n.eventEmitter.subscribe(Xn,function(e){return t(e)})})}},{key:"setupServiceCallbacks",value:function(){this.setupUnavailableCallback(),this.setupUpdateCallback(),this.setupWalletCallback(),this.setupPaymentCallback(),this.setupPaymentSuccessCallback(),this.setupPaymentInReviewCallback(),this.setupPaymentErrorCallback()}},{key:"setupUnavailableCallback",value:function(){var t=this;this.service.on(vn.UNAVAILABLE,function(e){return t.eventEmitter.emit(Kn,{event:Kn,data:e})})}},{key:"setupUpdateCallback",value:function(){var t=this;this.service.on(vn.UPDATE,function(e){return t.hasUpdateHandler?t.eventEmitter.emit(Gn,{event:Gn,data:e}):t.update({success:!0})})}},{key:"setupWalletCallback",value:function(){var r=this;this.service.on(vn.CALLBACK,function(e){var t=e.data,n=e.onSuccess,i=e.onError;r.api.charge().walletCallback(t).then(function(e){return n(e)},function(e){return i(e.message)})})}},{key:"setupPaymentCallback",value:function(){var r=this;this.service.on(vn.PAYMENT_METHOD_SELECTED,function(e){var n=e.data,i=e.onSuccess,t=e.onError;r.api.charge().walletCapture(n).then(function(e){"function"==typeof i&&i();var t="inreview"===e.status?Zn:Jn;r.eventEmitter.emit(t,{event:t,data:A(A({},e),n.customer&&{payer_name:n.customer.payer_name,payer_email:n.customer.payer_email,payer_phone:n.customer.payer_phone})})},function(e){"function"==typeof t&&t(e),r.eventEmitter.emit(Xn,{event:Xn,data:e})})})}},{key:"setupPaymentSuccessCallback",value:function(){var t=this;this.service.on(vn.PAYMENT_SUCCESS,function(e){return t.eventEmitter.emit(Jn,{event:Jn,data:e})})}},{key:"setupPaymentInReviewCallback",value:function(){var t=this;this.service.on(vn.PAYMENT_IN_REVIEW,function(e){return t.eventEmitter.emit(Zn,{event:Zn,data:e})})}},{key:"setupPaymentErrorCallback",value:function(){var t=this;this.service.on(vn.PAYMENT_ERROR,function(e){return t.eventEmitter.emit(Xn,{event:Xn,data:e})})}}]),$n);function $n(e,t,n){l(this,$n),this.hasUpdateHandler=!1;var i=h.validateJWT(t);if(!i)throw new Error("Invalid charge token");this.eventEmitter=new tt,this.container=new Te(e);var r=h.extractMeta(i.body);switch(this.api=new qn(t,Ln.TOKEN),r.gateway.type){case ie.STRIPE:this.service=new On(r.credentials.client_auth,A(A({},n),{amount:r.charge.amount,currency:r.charge.currency}));break;case ie.FLYPAY:this.service=new gn(t,A(A({},n),{id:r.charge.id,gateway_mode:r.gateway.mode,amount:r.charge.amount,currency:r.charge.currency,reference:r.charge.reference}));break;case ie.PAYPAL:this.service=new kn(r.credentials.client_auth,A(A({},n),{id:r.charge.id,gateway_mode:r.gateway.mode,amount:r.charge.amount,currency:r.charge.currency,capture:r.charge.capture}));break;case ie.MASTERCARD:this.service=new Un("",A(A({},n),{credentials:r.gateway.credentials,amount:r.charge.amount,currency:r.charge.currency,gateway_mode:r.gateway.mode}));break;case ie.AFTERPAY:this.service=new Vn(t,A(A({},n),{id:r.charge.id,gateway_mode:r.gateway.mode,amount:r.charge.amount,currency:r.charge.currency,reference:r.charge.reference}))}}var ei=(n(ti,[{key:"setStyles",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setStyle(t,e[t])}},{key:"setStyle",value:function(e,t){-1!==te.values(le).indexOf(e)?this.link.setParams(r({},e,t)):console.warn("Widget::setStyle[s: unsupported style param "+e)}},{key:"setRefId",value:function(e){this.link.setParams({ref_id:e})}},{key:"setLimit",value:function(e){this.link.setParams({limit:e})}},{key:"setEnv",value:function(e,t){for(var n in this.link.setEnv(e,t),this.configs)this.configs.hasOwnProperty(n)&&this.configs[n].setEnv(e,t)}},{key:"getEnv",value:function(){this.link.getEnv()}},{key:"getIFrameUrl",value:function(){return this.link.getUrl()}},{key:"filterByGatewayIds",value:function(e){this.link.setParams({gateway_ids:e.join(",")})}},{key:"filterByTypes",value:function(e){var t=[],n=!0,i=!1,r=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var s=o.value;e.hasOwnProperty(s)&&(-1===te.values(se).indexOf(s)?console.warn("PaymentSourceWidget::filterByTypes: unsupported type "+s):t.push(s))}}catch(e){i=!0,r=e}finally{try{!n&&a.return&&a.return()}finally{if(i)throw r}}this.link.setParams({payment_source_types:t.join(",")})}},{key:"setLanguage",value:function(e){this.link.setParams({language:e})}}]),ti);function ti(e,t){l(this,ti),this.configs=[],this.configTokens=[],this.link=new $("/payment-sources"),this.link.setParams(A({query_token:t},h.validateJWT(e)?{access_token:e}:{public_key:e}))}var ni=(s(ii,ei),n(ii,[{key:"load",value:function(){this.iFrame.load(this.getIFrameUrl(),{title:"Payment Sources"})}},{key:"on",value:function(e,t){this.event.on(e,this.link.getParams().widget_id,t)}},{key:"hide",value:function(e){console.info("PayDock SDK"),this.iFrame.hide(e)}},{key:"show",value:function(){this.iFrame.show()}},{key:"reload",value:function(){this.iFrame.remove(),this.load()}},{key:"onSelectInsert",value:function(t,n){this.on(xe.SELECT,function(e){Se.insertToInput(t,n,e)})}}]),ii);function ii(e,t,n){l(this,ii);var i=c(this,(ii.__proto__||Object.getPrototypeOf(ii)).call(this,t,n));return i.container=new Te(e),i.iFrame=new Pe(i.container),i.event=new Le(window),i}var ri,oi,ai={visibility:"hidden",border:"0",width:"0",height:"0"};(oi=ri=ri||{}).SUCCESS="success",oi.ERROR="error",oi.PENDING="pending";var si="chargeAuthSuccess",ui="chargeAuthReject",li="chargeAuthDecoupled",ci="chargeAuthChallenge",di="error",hi=(n(pi,[{key:"load",value:function(e,t){var n=e.initialization_url,i=e.secondary_url,r=e.charge_3ds_id;try{this.setupIFrameEvents(r),this.initializeIFrames(n,i,t)}catch(e){this.eventEmitter.emit(di,this.parseError(e,r))}}},{key:"initializeIFrames",value:function(e,t,n,i){var r=!(3<arguments.length&&void 0!==i)||i,o=this.container.getElement();if(o){var a=document.createElement("div");if(a.setAttribute("id","paydock_authorization_iframe"),o.appendChild(a),this.browserAndChallengeContainer=new Te("#paydock_authorization_iframe"),this.iFrameAuthorization=new Pe(this.browserAndChallengeContainer),this.iFrameAuthorization.load(e,{title:n}),t){var s=document.createElement("div");s.setAttribute("id","paydock_secondary_iframe"),o.appendChild(s),this.monitoringContainer=new Te("#paydock_secondary_iframe"),this.iFrameSecondaryUrl=new Pe(this.monitoringContainer),this.iFrameSecondaryUrl.load(t,{title:n})}else this.iFrameSecondaryUrl=void 0;this.hideIframes(r)}}},{key:"hideIframes",value:function(e){var t,n=!(0<arguments.length&&void 0!==e)||e;for(var i in ai)ai.hasOwnProperty(i)&&(n&&this.iFrameAuthorization.setStyle(i,ai[i]),null!==(t=this.iFrameSecondaryUrl)&&void 0!==t&&t.setStyle(i,ai[i]))}},{key:"setupIFrameEvents",value:function(e){var t=this;this.iFrameEvent.on(xe.CHARGE_AUTH,e,function(e){"MethodSkipped"===e.status||"MethodFinished"===e.status?t.performAuthentication(e):"AuthTimedOut"!==e.status&&"invalid_event"!==e.status||t.eventEmitter.emit(ui,t.parseHandleResponse({status:e.status},e.charge_3ds_id))}),this.iFrameEvent.on(xe.CHARGE_AUTH_SUCCESS,e,function(e){t.processResult(e.charge_3ds_id)})}},{key:"parseResultData",value:function(e,t){return{status:e.status,charge_3ds_id:t}}},{key:"parseHandleResponse",value:function(e,t){var n=e.status,i=e.result;return{status:n,charge_3ds_id:t,result:{description:null==i?void 0:i.description}}}},{key:"parseError",value:function(e,t){return{charge_3ds_id:t,error:e}}},{key:"processResult",value:function(n){var i=this;this.resultRead||(this.resultRead=!0,this.api.charge().standalone3dsHandle().then(function(e){var t;i.iFrameAuthorization.remove(),null!==(t=i.iFrameSecondaryUrl)&&void 0!==t&&t.remove(),e.status===ri.SUCCESS?i.eventEmitter.emit(si,i.parseResultData(e,n)):i.eventEmitter.emit(ui,i.parseResultData(e,n))},function(e){i.eventEmitter.emit(di,i.parseError(e,n))}))}},{key:"externalAPI",value:function(e,t){var i=new XMLHttpRequest;return i.open(e,t,!0),new Promise(function(t,n){i.onload=function(){try{var e=JSON.parse(i.responseText);t(e)}catch(e){n(e)}},i.send()})}},{key:"doPolling",value:function(t,n){var i=this;this.externalAPI("GET",t).then(function(e){if(e.event&&"AuthResultNotReady"!==e.event){if("AuthResultReady"!==e.event)throw new Error("Event not supported");i.processResult(n)}else setTimeout(function(){i.doPolling(t,n)},2e3)}).catch(function(e){return i.eventEmitter.emit(di,i.parseError(e,n))})}},{key:"performAuthentication",value:function(e){var t,i=this,r=e.charge_3ds_id;this.iFrameAuthorization.remove(),null!==(t=this.iFrameSecondaryUrl)&&void 0!==t&&t.remove(),this.api.charge().standalone3dsProcess({charge_3ds_id:r}).then(function(e){var t,n;if("success"===e.status)i.eventEmitter.emit(si,i.parseHandleResponse(e,r));else{if("pending"!==e.status)return i.eventEmitter.emit(ui,i.parseHandleResponse(e,r));null!==(t=null==e?void 0:e.result)&&void 0!==t&&t.challenge?(i.eventEmitter.emit(ci,i.parseHandleResponse(e,r)),i.initializeIFrames(e.result.challenge_url,void 0,"Authentication Challenge",!1),e.result.secondary_url&&i.doPolling(e.result.secondary_url,r)):null!==(n=null==e?void 0:e.result)&&void 0!==n&&n.decoupled_challenge&&(i.eventEmitter.emit(li,i.parseHandleResponse(e,r)),e.result.secondary_url&&i.doPolling(e.result.secondary_url,r))}},function(e){i.eventEmitter.emit(di,i.parseError(e,r))})}}]),pi);function pi(e,t,n){l(this,pi),this.container=e,this.api=t,this.eventEmitter=n,this.resultRead=!1,this.iFrameEvent=new Le(window)}var fi,vi,mi="GPayments",yi=(n(gi,[{key:"load",value:function(e,t){var n=h.validateJWT(e);if(!n)throw new Error("Invalid charge token");var i=h.extractData(n.body),r=new qn(e,Ln.TOKEN);switch(r.setEnv(this.env,this.alias),i.service_type){case mi:new hi(this.container,r,this.eventEmitter).load(i,t.title)}}},{key:"setEnv",value:function(e,t){this.env=e,this.alias=t}}]),gi);function gi(e,t){l(this,gi),this.env=z,this.container=e,this.eventEmitter=t}(vi=fi=fi||{}).HTML="html",vi.URL="url",vi.STANDALONE_3DS="standalone_3ds";var _i=(n(ki,[{key:"load",value:function(){this.token.format===fi.HTML?this.iFrame.loadFromHtml(this.token.content,{title:"3d secure authentication"}):this.token.format===fi.URL?this.iFrame.load(this.token.content,{title:"3d secure authentication"}):this.token.format===fi.STANDALONE_3DS?this.standalone3dsService.load(this.token.content,{title:"3d secure authentication"}):console.error("Token contain unsupported payload")}},{key:"setEnv",value:function(e,t){for(var n in this.link.setEnv(e,t),this.standalone3dsService.setEnv(e,t),this.configs)this.configs.hasOwnProperty(n)&&this.configs[n].setEnv(e,t)}},{key:"getEnv",value:function(){return this.link.getEnv()}},{key:"on",value:function(e,t){var n=this;return this.token.format===fi.STANDALONE_3DS?"function"==typeof t?this.eventEmitter.subscribe(e,t):new Promise(function(t){return n.eventEmitter.subscribe(e,function(e){return t(e)})}):"function"==typeof t?this.event.on(e,this.link.getParams().ref_id,t):new Promise(function(t){return n.event.on(e,n.link.getParams().ref_id,function(e){return t(e)})})}},{key:"hide",value:function(e){this.iFrame.hide(e)}},{key:"show",value:function(){this.iFrame.show()}},{key:"reload",value:function(){this.iFrame.remove(),this.load()}}],[{key:"extractToken",value:function(e){return JSON.parse(window.atob(e))}}]),ki);function ki(e,t){l(this,ki),this.configs=[],this.link=new $("/3ds/webhook"),this.token=ki.extractToken(t),this.link.setParams({ref_id:this.token.charge_3ds_id}),this.container=new Te(e),this.iFrame=new Pe(this.container),this.eventEmitter=new tt,this.standalone3dsService=new yi(this.container,this.eventEmitter),this.event=new Le(window)}var Ei="/v1/charges/3ds",wi=(n(bi,[{key:"preAuth",value:function(e,t){return"function"==typeof t?this.api.getClient("POST",Ei).send(A(A({},e),{_3ds:A(A({},e._3ds),{browser_details:{name:ot.getBrowserName(),java_enabled:ot.isJavaEnabled().toString(),language:ot.getLanguage(),screen_height:ot.getScreenHeight().toString(),screen_width:ot.getScreenWidth().toString(),time_zone:ot.getTimezoneOffset().toString(),color_depth:ot.getColorDepth().toString()}})}),function(e){t(e)}):this.api.getClientPromise("POST",Ei).send(A(A({},e),{_3ds:A(A({},e._3ds),{browser_details:{name:ot.getBrowserName(),java_enabled:ot.isJavaEnabled().toString(),language:ot.getLanguage(),screen_height:ot.getScreenHeight().toString(),screen_width:ot.getScreenWidth().toString(),time_zone:ot.getTimezoneOffset().toString(),color_depth:ot.getColorDepth().toString()}})}))}}]),bi);function bi(e){l(this,bi),this.api=e}var Ci,Si,Oi=(s(Ti,Nn),n(Ti,[{key:"getBrowserDetails",value:function(){return{name:ot.getBrowserName(),java_enabled:ot.isJavaEnabled().toString(),language:ot.getLanguage(),screen_height:ot.getScreenHeight().toString(),screen_width:ot.getScreenWidth().toString(),time_zone:ot.getTimezoneOffset().toString(),color_depth:ot.getColorDepth().toString()}}},{key:"charge",value:function(){return new wi(this)}}]),Ti);function Ti(e){l(this,Ti);var t=c(this,(Ti.__proto__||Object.getPrototypeOf(Ti)).call(this,e));return t.publicKey=t.auth,t}(Si=Ci=Ci||{}).AFTER_LOAD="after_load",Si.SYSTEM_ERROR="system_error",Si.CVV_SECURE_CODE_REQUESTED="cvv_secure_code_requested",Si.CARD_NUMBER_SECURE_CODE_REQUESTED="card_number_secure_code_requested",Si.ACCESS_FORBIDDEN="access_forbidden",Si.SESSION_EXPIRED="session_expired",Si.OPERATION_FORBIDDEN="operation_forbidden";var Ai=(s(Pi,Le),n(Pi,[{key:"on",value:function(e,t,n){for(var i in Ci)Ci.hasOwnProperty(i)&&e===Ci[i]&&this.listeners.push({event:e,listener:n,widget_id:t})}}]),Pi);function Pi(){return l(this,Pi),c(this,(Pi.__proto__||Object.getPrototypeOf(Pi)).apply(this,arguments))}var Ri=(n(xi,[{key:"setEnv",value:function(e,t){this.link.setEnv(e,t)}},{key:"on",value:function(e,t){var n=this;return"function"==typeof t?this.event.on(e,this.link.getParams().widget_id,t):new Promise(function(t){return n.event.on(e,n.link.getParams().widget_id,function(e){return t(e)})})}},{key:"setStyles",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setStyle(t,e[t])}},{key:"setStyle",value:function(e,t){-1!==te.values(le).indexOf(e)?this.link.setParams(r({},e,t)):console.warn("Widget::setStyle[s: unsupported style param "+e)}},{key:"load",value:function(){this.iFrame.load(this.link.getUrl(),{title:"Vault Display"})}}]),xi);function xi(e,t){l(this,xi),this.validationData={},this.configs=[],this.container=new Te(e),this.iFrame=new Pe(this.container),this.triggerElement=new De(this.iFrame),this.event=new Ai(window),this.vaultDisplayToken=t,this.link=new $("/vault-display"),this.link.setParams({vault_display_token:t})}function Li(){l(this,Li)}var Ii,Ui;Li.buttonContainerStyles="display: flex; flex-direction: column; justify-content: center; align-items: center;",Li.buttonStyles="color: #ffff; background-color: #ffbe24; border: none; width: 100%; min-height: 40px; font-size: 16px; font-weight: bold; line-height: 19px; letter-spacing: 0.7px; text-transform: uppercase; border-radius: 4px; margin-bottom: 15px; cursor: pointer;",Li.footerContainerStyles="display: flex; flex: 1; flex-wrap: wrap; justify-content: center;",Li.footerTextStyles="text-align: center; color: #666666; margin: 2px 0;",Li.verticalLineStyle="display: inline-block; padding: 0.5px; background-color: #E5E5E5; height: 15px;",Li.clickToPayAllCardsStyle="height: 17px; margin-left: 8px; vertical-align: middle; padding-top: 3px;",(Ui=Ii=Ii||{}).CHECKOUT_BUTTON_LOADED="checkoutButtonLoaded",Ui.CHECKOUT_BUTTON_CLICKED="checkoutButtonClicked",Ui.IFRAME_LOADED="iframeLoaded",Ui.CHECKOUT_READY="checkoutReady",Ui.CHECKOUT_COMPLETED="checkoutCompleted",Ui.CHECKOUT_ERROR="checkoutError";var Di={BUTTON_TEXT_COLOR:"button_text_color",PRIMARY_COLOR:"primary_color",FONT_FAMILY:"font_family",CARD_SCHEMES:"card_schemes"},Ni="visa",Mi="mastercard",Fi="amex",ji="discover",Hi="/images/visa-src/Chevron_Large_V.png",Bi="/images/visa-src/vmad.svg",zi=function(e,n){return e.every(function(e,t){return e===n[t]})},qi=(n(Wi,[{key:"setupIFrameEvents",value:function(){var n=this,e=this.link.getParams().widget_id;this.iFrameEvent.on(Ii.CHECKOUT_READY,e,function(e){var t=e.data;n.eventEmitter.emit(Ii.CHECKOUT_READY,t)}),this.iFrameEvent.on(Ii.CHECKOUT_COMPLETED,e,function(e){var t=e.data;n.eventEmitter.emit(Ii.CHECKOUT_COMPLETED,t)}),this.iFrameEvent.on(Ii.CHECKOUT_ERROR,e,function(e){var t=e.data;n.eventEmitter.emit(Ii.CHECKOUT_ERROR,t)}),this.autoResize&&this.useAutoResize(!0)}},{key:"load",value:function(){var e,t=this,n=document.createElement("div");n.setAttribute("style",Li.buttonContainerStyles);var i=document.createElement("button");i.setAttribute("style",Li.buttonStyles),this.meta.customizations.primary_color&&(i.style.backgroundColor=this.meta.customizations.primary_color),this.meta.customizations.button_text_color&&(i.style.color=this.meta.customizations.button_text_color),i.innerHTML="Checkout";var r=document.createElement("div");r.setAttribute("style",Li.footerContainerStyles),document.createElement("div").setAttribute("style",Li.verticalLineStyle);var o=document.createElement("p");o.setAttribute("style",Li.footerTextStyles),o.innerHTML="WE ACCEPT";var a=document.createElement("img");a.setAttribute("style",Li.clickToPayAllCardsStyle),a.src=this.link.getBaseUrl()+(""+function(e,t){var n=1<arguments.length&&void 0!==t&&t;if(!e||!Array.isArray(e))return n?"/images/visa-src/Chevron_Large_VMAD.png":Bi;var i=e.sort();return zi([Fi,Mi,Ni],i)?n?"/images/visa-src/Chevron_Large_VMA.png":"/images/visa-src/logos/Networks_Large_VMA.png":zi([Mi,Ni],i)?n?"/images/visa-src/Chevron_Large_VM.png":"/images/visa-src/logos/Networks_Large_VM.png":zi([Mi],i)?n?"/images/visa-src/Chevron_Large_M.png":"/images/visa-src/logos/master-logo.png":zi([ji],i)?n?"/images/visa-src/Chevron_Large_D.png":"/images/visa-src/logos/Networks_Large_D.png":zi([Ni],i)?n?Hi:"/images/visa-src/logos/visa-logo.png":n?Hi:Bi}(null===(e=this.meta.customizations)||void 0===e?void 0:e.card_schemes,!0)),i.onclick=function(){t.eventEmitter.emit(Ii.CHECKOUT_BUTTON_CLICKED,{}),t.iFrame.load(t.link.getUrl(),{title:"Visa SRC checkout"}),t.iFrame.getElement().onload=function(){return t.eventEmitter.emit(Ii.IFRAME_LOADED,{})}},n.appendChild(i),n.appendChild(r),r.appendChild(o),r.appendChild(a),this.buttonContainer.getElement().appendChild(n),this.eventEmitter.emit(Ii.CHECKOUT_BUTTON_LOADED,{})}},{key:"getEnv",value:function(){return this.link.getEnv()}},{key:"hideButton",value:function(){this.buttonContainer.getElement()&&(this.buttonContainer.getElement().style.display="none")}},{key:"showButton",value:function(){this.buttonContainer.getElement()&&(this.buttonContainer.getElement().style.display="block")}},{key:"hideCheckout",value:function(){this.iFrame&&this.iFrame.hide()}},{key:"showCheckout",value:function(){this.iFrame&&this.iFrame.show()}},{key:"reload",value:function(){this.iFrame.remove(),this.load()}},{key:"useAutoResize",value:function(e){var n=this;this.autoResize&&!e||(this.autoResize=!0,this.iFrameEvent.on("resize",this.link.getParams().widget_id,function(e){var t=e.data;n.iFrame.getElement()&&(n.iFrame.getElement().scrolling="no",t.height&&n.iFrame.setStyle("height",t.height+"px"))}))}}]),Wi);function Wi(e,t,n,i,r,o,a,s,u){l(this,Wi),this.meta=r,this.eventEmitter=o,this.autoResize=a,this.link=new $("/secure-remote-commerce/visa"),this.link.setParams(A({service_id:n,public_key:i},r&&{meta:JSON.stringify(r)})),s&&this.link.setEnv(s,u),this.iFrameContainer=new Te(t),this.iFrame=new Pe(this.iFrameContainer),this.buttonContainer=new Te(e),this.iFrameEvent=new Le(window),this.setupIFrameEvents()}var Vi=(n(Yi,[{key:"setStyles",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setStyle(t,e[t])}},{key:"setStyle",value:function(e,t){-1!==te.values(Di).indexOf(e)?this.style[e]=t:console.warn("Widget::setStyle[s: unsupported style param "+e)}},{key:"load",value:function(){var n=this;this.provider||this.api.service().getConfig(this.service_id).then(function(e){var t=e.type;switch(n.meta.customizations=n.style,t){case Hn.VISA_SRC:n.provider=new qi(n.button_selector,n.iframe_selector,n.service_id,n.public_key_or_access_token,n.meta,n.eventEmitter,n.autoResize,n.env,n.alias)}n.provider&&n.provider.load()})}},{key:"setEnv",value:function(e,t){this.provider||(this.env=e,this.alias=t,this.api.setEnv(e,t))}},{key:"getEnv",value:function(){return this.provider?this.provider.getEnv():this.env}},{key:"on",value:function(e,t){var n=this;return"function"==typeof t?this.eventEmitter.subscribe(e,t):new Promise(function(t){return n.eventEmitter.subscribe(e,function(e){return t(e)})})}},{key:"hideButton",value:function(e){this.provider&&"function"==typeof this.provider.hideButton&&this.provider.hideButton(e)}},{key:"showButton",value:function(){this.provider&&"function"==typeof this.provider.showButton&&this.provider.showButton()}},{key:"hideCheckout",value:function(e){this.provider&&"function"==typeof this.provider.hideCheckout&&this.provider.hideCheckout(e)}},{key:"showCheckout",value:function(){this.provider&&"function"==typeof this.provider.showCheckout&&this.provider.showCheckout()}},{key:"reload",value:function(){this.provider&&this.provider.reload()}},{key:"useAutoResize",value:function(){this.autoResize=!0,this.provider&&"function"==typeof this.provider.useAutoResize&&this.provider.useAutoResize()}}]),Yi);function Yi(e,t,n,i,r){l(this,Yi),this.button_selector=e,this.iframe_selector=t,this.service_id=n,this.public_key_or_access_token=i,this.meta=r,this.autoResize=!1,this.style={},this.api=new qn(i,Ln.PUBLIC_KEY),this.eventEmitter=new tt}e.AfterpayCheckoutButton=tn,e.Api=Oi,e.CHECKOUT_BUTTON_EVENT=Ke,e.Canvas3ds=_i,e.Configuration=me,e.ELEMENT=de,e.EVENT=xe,e.ExternalCheckoutBuilder=Ze,e.ExternalCheckoutChecker=$e,e.FORM_FIELD=ue,e.HtmlMultiWidget=je,e.HtmlPaymentSourceWidget=ni,e.HtmlWidget=Be,e.MultiWidget=be,e.PAYMENT_TYPE=fe,e.PURPOSE=ve,e.PaymentSourceBuilder=Kt,e.PaymentSourceWidget=ei,e.PaypalCheckoutButton=an,e.SRC=Vi,e.STYLABLE_ELEMENT=ge,e.STYLABLE_ELEMENT_STATE=_e,e.STYLE=le,e.SUPPORTED_CARD_TYPES=he,e.TEXT=ce,e.TRIGGER=Ue,e.TYPE=Yt,e.VAULT_DISPLAY_STYLE={BACKGROUND_COLOR:"background_color",TEXT_COLOR:"text_color",BORDER_COLOR:"border_color",BUTTON_COLOR:"button_color",FONT_SIZE:"font_size",FONT_FAMILY:"font_family"},e.VaultDisplayWidget=Ri,e.WalletButtons=Qn,e.ZipmoneyCheckoutButton=$t,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).paydock={})}(this,function(e){"use strict";function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n=function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e};function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t,n){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,t);if(void 0===i){var r=Object.getPrototypeOf(e);return null===r?void 0:a(r,t,n)}if("value"in i)return i.value;var o=i.get;return void 0!==o?o.call(n):void 0}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function c(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var A=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},u=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],i=!0,r=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(i=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{!i&&s.return&&s.return()}finally{if(r)throw o}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},t="x-access-token",d="x-user-public-key",h=(n(p,null,[{key:"validateJWT",value:function(e){if(!e)return null;var t=e.split("."),n=u(t,3),i=n[0],r=n[1],o=n[2];if(!i||!r||!o)return null;if(2+i.length+r.length+o.length!==e.length)return null;try{return{head:JSON.parse(atob(i)),body:JSON.parse(atob(r)),signature:o}}catch(e){return null}}},{key:"extractData",value:function(e){try{return JSON.parse(atob(e.meta))}catch(e){return null}}},{key:"extractMeta",value:function(e){try{return JSON.parse(atob(e.meta)).meta}catch(e){return null}}},{key:"getAccessHeaderNameByToken",value:function(e){return p.validateJWT(e)?t:d}}]),p);function p(){l(this,p)}var v="sandbox",f="sandbox-kovena",m="sandbox-demo-kovena",y="production",g="staging",_="staging_1",k="staging_2",E="staging_3",w="staging_4",b="staging_5",C="staging_6",S="staging_7",O="staging_8",T="staging_9",P="staging_10",R="staging_11",x="staging_12",L="staging_13",I="staging_14",U="staging_15",D="staging_cba",N="sandbox_cba",M="preproduction_cba",F="production_cba",j=[{env:v,url:"https://widget-sandbox."},{env:f,url:"https://widget-sandbox."},{env:"sandbox-demo",url:"https://widget-sandbox-demo."},{env:m,url:"https://widget-sandbox-demo."},{env:y,url:"https://widget."},{env:g,url:"https://widsta."},{env:_,url:"https://widsta-1."},{env:k,url:"https://widsta-2."},{env:E,url:"https://widsta-3."},{env:w,url:"https://widsta-4."},{env:b,url:"https://widsta-5."},{env:C,url:"https://widsta-6."},{env:S,url:"https://widsta-7."},{env:O,url:"https://widsta-8."},{env:T,url:"https://widsta-9."},{env:P,url:"https://widsta-10."},{env:R,url:"https://widsta-11."},{env:x,url:"https://widsta-12."},{env:L,url:"https://widsta-13."},{env:I,url:"https://widsta-14."},{env:U,url:"https://widsta-15."},{env:D,url:"https://widget.staging.powerboard."},{env:N,url:"https://widget-sandbox-cba."},{env:M,url:"https://widget.preproduction.powerboard."},{env:F,url:"https://widget.powerboard."}],H=[{env:v,url:"https://api-sandbox."},{env:y,url:"https://api."},{env:g,url:"https://apista."},{env:_,url:"https://apista-1."},{env:k,url:"https://apista-2."},{env:E,url:"https://apista-3."},{env:w,url:"https://apista-4."},{env:b,url:"https://apista-5."},{env:C,url:"https://apista-6."},{env:S,url:"https://apista-7."},{env:O,url:"https://apista-8."},{env:T,url:"https://apista-9."},{env:P,url:"https://apista-10."},{env:R,url:"https://apista-11."},{env:x,url:"https://apista-12."},{env:L,url:"https://apista-13."},{env:I,url:"https://apista-14."},{env:U,url:"https://apista-15."},{env:D,url:"https://api.staging.powerboard."},{env:N,url:"https://api-sandbox-cba."},{env:M,url:"https://api.preproduction.powerboard."},{env:F,url:"https://api.powerboard."}],B=[f,m],z=v,q="paydock.com",W="kovena.com",V=(n(Y,[{key:"setEnv",value:function(e,t){if(!this.isValidMode(this.configs,e))throw new Error("unknown env: "+e);if(this.env=e,t&&!t.match("^([a-zA-Z0-9](?:(?:[a-zA-Z0-9-.]*(?!-)\\.(?![-.]))*[a-zA-Z0-9]+)?)$"))throw new Error("invalid: "+t);t?this.alias=t:-1!==B.indexOf(this.env)?this.alias=W:this.alias=q}},{key:"getEnv",value:function(){return this.env}},{key:"getConf",value:function(){for(var e in this.configs)if(this.configs.hasOwnProperty(e)&&this.configs[e].env===this.getEnv())return{url:-1!==this.configs[e].url.indexOf("localhost")?this.configs[e].url:this.configs[e].url+this.alias,env:this.configs[e].env};throw new Error("invalid env")}},{key:"isValidMode",value:function(e,t){for(var n in e)if(e.hasOwnProperty(n)&&e[n].env===t)return!0;return!1}}]),Y);function Y(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:z;l(this,Y),this.configs=e,this.setEnv(t)}var G=(n(J,null,[{key:"extendSearchParams",value:function(e,t,n){return e.replace(new RegExp("([?&]"+t+"(?=[=&#]|$)[^#&]*|(?=#|$))"),"&"+t+"="+encodeURIComponent(n)).replace(/^([^?&]+)&/,"$1?")}},{key:"serialize",value:function(t){return Object.keys(t).map(function(e){return encodeURIComponent(e)+"="+encodeURIComponent(t[e])}).join("&")}}]),J);function J(){l(this,J)}var X=(n(Z,null,[{key:"generate",value:function(){if("undefined"==typeof window||void 0===window.crypto||void 0===window.crypto.getRandomValues)return this.random()+this.random()+"-"+this.random()+"-"+this.random()+"-"+this.random()+"-"+this.random()+this.random()+this.random();var e=new Uint16Array(8);return window.crypto.getRandomValues(e),this.hash(e[0])+this.hash(e[1])+"-"+this.hash(e[2])+"-"+this.hash(e[3])+"-"+this.hash(e[4])+"-"+this.hash(e[5])+this.hash(e[6])+this.hash(e[7])}},{key:"hash",value:function(e){for(var t=e.toString(16);t.length<4;)t="0"+t;return t}},{key:"random",value:function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}}]),Z);function Z(){l(this,Z)}var Q="/wallet/flypay",$=(n(ee,[{key:"getNetUrl",value:function(){return this.env.getConf().url+this.linkResource}},{key:"getUrl",value:function(){var e=this.getNetUrl(),t=this.getParams();for(var n in t)t.hasOwnProperty(n)&&(e=G.extendSearchParams(e,n,t[n]));return e}},{key:"setParams",value:function(e){this.params=A({},this.params,e)}},{key:"concatParams",value:function(e){for(var t in e)e.hasOwnProperty(t)&&e[t].length&&("string"!=typeof this.params[t]&&(this.params[t]=""),this.params[t].length?this.params[t]+=","+e[t]:this.params[t]+=e[t])}},{key:"getParams",value:function(){return this.params}},{key:"setEnv",value:function(e,t){this.env.setEnv(e,t)}},{key:"getEnv",value:function(){return this.env.getEnv()}},{key:"getBaseUrl",value:function(){return this.env.getConf().url}}]),ee);function ee(e){l(this,ee),this.params={},this.widgetId=X.generate(),this.linkResource=e,this.env=new V(j),this.setParams({widget_id:this.widgetId})}var te=(n(ne,null,[{key:"values",value:function(t){return Object.keys(t).map(function(e){return t[e]})}}]),ne);function ne(){l(this,ne)}var ie,re,oe,ae,se={CARD:"card",BANK_ACCOUNT:"bank_account",CHECKOUT:"checkout"},ue={CARD_NAME:"card_name",CARD_NUMBER:"card_number",EXPIRE_MONTH:"expire_month",EXPIRE_YEAR:"expire_year",CARD_CCV:"card_ccv",CARD_PIN:"card_pin",ACCOUNT_NAME:"account_name",ACCOUNT_BSB:"account_bsb",ACCOUNT_NUMBER:"account_number",ACCOUNT_ROUTING:"account_routing",ACCOUNT_HOLDER_TYPE:"account_holder_type",ACCOUNT_BANK_NAME:"account_bank_name",ACCOUNT_TYPE:"account_type",FIRST_NAME:"first_name",LAST_NAME:"last_name",EMAIL:"email",PHONE:"phone",PHONE2:"phone2",ADDRESS_LINE1:"address_line1",ADDRESS_LINE2:"address_line2",ADDRESS_STATE:"address_state",ADDRESS_COUNTRY:"address_country",ADDRESS_CITY:"address_city",ADDRESS_POSTCODE:"address_postcode",ADDRESS_COMPANY:"address_company"},le={BACKGROUND_COLOR:"background_color",BACKGROUND_ACTIVE_COLOR:"background_active_color",TEXT_COLOR:"text_color",BORDER_COLOR:"border_color",ICON_SIZE:"icon_size",BUTTON_COLOR:"button_color",ERROR_COLOR:"error_color",SUCCESS_COLOR:"success_color",FONT_SIZE:"font_size",FONT_FAMILY:"font_family"},ce={TITLE:"title",TITLE_H1:"title_h1",TITLE_H2:"title_h2",TITLE_H3:"title_h3",TITLE_H4:"title_h4",TITLE_H5:"title_h5",TITLE_H6:"title_h6",FINISH:"finish_text",TITLE_DESCRIPTION:"title_description",SUBMIT_BUTTON:"submit_button",SUBMIT_BUTTON_PROCESSING:"submit_button_processing"},de={SUBMIT_BUTTON:"submit_button",TABS:"tabs"},he={AMEX:"amex",AUSBC:"ausbc",DINERS:"diners",DISCOVER:"discover",JAPCB:"japcb",LASER:"laser",MASTERCARD:"mastercard",SOLO:"solo",VISA:"visa",VISA_WHITE:"visa_white"},pe=[].concat(["brand_name","cart_border_color","reference","email","hdr_img","logo_img","pay_flow_color","first_name","last_name","address_line","address_line2","address_city","address_state","address_postcode","address_country","phone","hide_shipping_address"],["first_name","last_name","phone","tokenize","email","gender","date_of_birth","charge","statistics","hide_shipping_address"],["amount","currency","email","first_name","last_name","address_line","address_line2","address_city","address_state","address_postcode","address_country","phone"],["customer_storage_number","tokenise_algorithm"]);(re=ie=ie||{}).STRIPE="Stripe",re.FLYPAY="Flypay",re.PAYPAL="Paypal",re.MASTERCARD="MasterCard",re.AFTERPAY="Afterpay",(ae=oe=oe||{}).GOOGLE="google",ae.APPLE="apple",ae.FLYPAY="flypay",ae.PAYPAL="paypal",ae.AFTERPAY="afterpay";var ve={CARD:"card",GIFT_CARD:"gift_card",BANK_ACCOUNT:"bank_account",CHECKOUT:"checkout"},fe={PAYMENT_SOURCE:"payment_source",CARD_PAYMENT_SOURCE_WITH_CVV:"card_payment_source_with_cvv",CARD_PAYMENT_SOURCE_WITHOUT_CVV:"card_payment_source_without_cvv"},me=(n(ye,[{key:"setWebHookDestination",value:function(e){this.configs.webhook_destination=e}},{key:"setSuccessRedirectUrl",value:function(e){this.configs.success_redirect_url=e}},{key:"setErrorRedirectUrl",value:function(e){this.configs.error_redirect_url=e}},{key:"setFormFields",value:function(e){for(var t in Array.isArray(this.configs.defined_form_fields)||(this.configs.defined_form_fields=[]),e)e.hasOwnProperty(t)&&(-1!==te.values(ue).indexOf(e[t].replace("*",""))?this.configs.defined_form_fields.push(e[t]):console.warn("Configuration::setFormFields: unsupported form field "+e[t]))}},{key:"setMeta",value:function(e){for(var t in e)e.hasOwnProperty(t)&&(-1!==pe.indexOf(t)?this.configs.meta[t]=e[t]:console.warn("Configuration::setMeta: unsupported meta key "+t))}},{key:"setEnv",value:function(e,t){this.env.setEnv(e,t)}},{key:"setLabel",value:function(e){this.configs.label=e}},{key:"getEnv",value:function(){return this.env.getEnv()}},{key:"createToken",value:function(e,n,t){var i=2<arguments.length&&void 0!==t?t:function(e){};this.send(e,function(e,t){if(200<=t&&t<300)return n(e.resource.data.configuration_token);void 0===e.error||void 0===e.error.message?i("unknown error"):i(e.error.message)})}},{key:"send",value:function(e,t){var n=new XMLHttpRequest;n.open("POST",this.getUrl(),!0),n.setRequestHeader("Content-Type","application/json; charset=UTF-8"),n.setRequestHeader(h.getAccessHeaderNameByToken(e),e),n.send(JSON.stringify(this.getConfigs())),n.onload=function(){var e={};try{e=JSON.parse(n.responseText)}catch(e){}t(e,n.status)}}},{key:"getConfigs",value:function(){return this.configs}},{key:"getUrl",value:function(){return this.env.getConf().url+"/v1/remote-action/configs"}},{key:"setGiftCardSchemeData",value:function(e,t){if(this.configs.predefined_fields.type!==ve.GIFT_CARD)throw new Error("unsupported payment type");if(!e||!t)throw new Error("");this.configs.predefined_fields.gift_card_scheme=e,this.configs.predefined_fields.processing_network=t}}],[{key:"createEachToken",value:function(e,n,i,t){function r(t){n.hasOwnProperty(t)&&n[t].createToken(e,function(e){a[t]=e,u++,n.length===u&&ye.finishCreatingEachToken(a,s,i,o)},function(e){s.push("gateway: "+n[t].getConfigs().predefined_fields.gateway_id+" | "+e),u++,n.length===u&&ye.finishCreatingEachToken(a,s,i,o)})}var o=3<arguments.length&&void 0!==t?t:function(e){},a=new Array(n.length),s=[],u=0;for(var l in n)r(l)}},{key:"finishCreatingEachToken",value:function(e,t,n,i){1<=t.length?i(t):n(e)}}]),ye);function ye(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"default",t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:ve.CARD,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:fe.PAYMENT_SOURCE;if(l(this,ye),-1===te.values(ve).indexOf(t))throw new Error("unsupported payment type");if(t===ve.CHECKOUT)throw new Error('Payment type "checkout" is deprecated. Use CheckoutButton for this type of payments https://www.npmjs.com/package/@paydock/client-sdk#checkout-button');if(-1===te.values(fe).indexOf(n))throw new Error("unsupported purpose");this.env=new V(H),this.configs={purpose:n,meta:{},dynamic_fields_position:!0,predefined_fields:{gateway_id:e,type:t,gift_card_scheme:null,processing_network:null}}}var ge={INPUT:"input",SUBMIT_BUTTON:"submit_button",LABEL:"label",TITLE:"title",TITLE_DESCRIPTION:"title_description"},_e={ERROR:"error",FOCUS:"focus",HOVER:"hover"},ke=[{element:ge.INPUT,states:[_e.FOCUS,_e.ERROR],styles:["color","border","border_radius","background_color","height","text_decoration","font_size","font_family","line_height","font_weight","padding","margin","transition"]},{element:ge.SUBMIT_BUTTON,states:[_e.HOVER],styles:["color","border","border_radius","background_color","text_decoration","font_size","font_family","line_height","font_weight","padding","margin","transition","opacity"]},{element:ge.LABEL,states:[],styles:["color","text_decoration","font_size","font_family","line_height","font_weight","padding","margin"]},{element:ge.TITLE,states:[],styles:["color","text_decoration","font_size","font_family","line_height","font_weight","padding","margin","text_align"]},{element:ge.TITLE_DESCRIPTION,states:[],styles:["color","text_decoration","font_size","font_family","line_height","font_weight","padding","margin","text_align"]}],Ee=(n(we,null,[{key:"check",value:function(e,t,n,i){for(var r in e)if(e.hasOwnProperty(r)&&e[r].element===t){if(-1===e[r].states.indexOf(n)&&n)return!1;for(var o in i)if(i.hasOwnProperty(o)&&-1===e[r].styles.indexOf(o.replace("-","_")))return!1;return!0}return!1}},{key:"encode",value:function(e,t,n){var i=[];for(var r in n)n.hasOwnProperty(r)&&i.push(r.replace("_","-")+":"+n[r]);var o=i.join(";");return t?e+"::"+t+"{"+o+"}":e+"{"+o+"}"}},{key:"decode",value:function(e){var t=(e.match("::(.*){")||["",null])[1],n=null!==t?(e.match("(.*)::")||["",""])[1].trim():(e.match("(.*){")||["",""])[1].trim(),i=(e.match("{(.*)}")||["",""])[1].split(";"),r={};for(var o in i)if(i.hasOwnProperty(o)){var a=i[o].split(":");!a&&2!==a.length||(r[a[0].trim()]=(a[1]||"").trim())}return{element:n,state:t,styles:r}}}]),we);function we(){l(this,we)}var be=(n(Ce,[{key:"setStyles",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setStyle(t,e[t])}},{key:"usePhoneCountryMask",value:function(e){return e?!e.only_countries||/^[a-z]+$/.test(e.only_countries.join(""))&&2*e.only_countries.length===e.only_countries.join("").length?!e.preferred_countries||/^[a-z]+$/.test(e.preferred_countries.join(""))&&2*e.preferred_countries.length===e.preferred_countries.join("").length?e.default_country&&2!==e.default_country.length?console.warn("Widget::usePhoneCountryMask[s: default_country - incorrect value length"):(this.link.setParams({use_country_phone_mask:!0}),e.only_countries&&this.link.setParams({phone_mask_only_countries:e.only_countries.join(",")}),e.preferred_countries&&this.link.setParams({phone_mask_preferred_countries:e.preferred_countries.join(",")}),void(e.default_country&&this.link.setParams({phone_mask_default_country:e.default_country}))):console.warn("Widget::usePhoneCountryMask[s: preferred_countries - unsupported symbols or incorrect length of value"):console.warn("Widget::usePhoneCountryMask[s: only_countries - unsupported symbols or incorrect length of value"):this.link.setParams({use_country_phone_mask:!0})}},{key:"setStyle",value:function(e,t){-1!==te.values(le).indexOf(e)?this.link.setParams(r({},e,t)):console.warn("Widget::setStyle[s: unsupported style param "+e)}},{key:"setTexts",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setText(t,e[t])}},{key:"setText",value:function(e,t){-1!==te.values(ce).indexOf(e)?this.link.setParams(r({},e,t)):console.warn("Widget::setText[s: unsupported text param "+e)}},{key:"setElementStyle",value:function(e,t,n){var i=3===arguments.length?t:null,r=3===arguments.length?n:t;if(!Ee.check(ke,e,i,r))return console.warn('Styles for "'+e+'" element with "'+(i||"default")+'" state was ignored because some of the arguments are unacceptable');this.link.concatParams({element_styles:Ee.encode(e,i,r)})}},{key:"setFormValues",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setFormValue(t,e[t])}},{key:"setFormValue",value:function(e,t){return-1===te.values(ue).indexOf(e)?console.warn("Widget::setFormValues[s: unsupported field "+e):/\,/.test(t)||/\:/.test(t)?console.warn("Widget::setFormValues[s: "+e+" - unsupported symbols (: or ,) in value"):void("string"==typeof this.link.getParams().form_values&&this.link.getParams().form_values.length?this.link.setParams({form_values:this.link.getParams().form_values+","+e+":"+t}):this.link.setParams({form_values:e+":"+t}))}},{key:"setFormLabels",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setFormLabel(t,e[t])}},{key:"setFormLabel",value:function(e,t){if(-1===te.values(ue).indexOf(e))return console.warn("Widget::setFormLabel[s: unsupported field "+e);var n=null===t||""===t?" ":t;if(/\,/.test(n)||/\:/.test(n))return console.warn("Widget::setFormLabel[s: "+e+" - unsupported symbols (: or ,) in value");this.link.concatParams({form_labels:e+":"+n})}},{key:"setFormPlaceholders",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setFormPlaceholder(t,e[t])}},{key:"setFormPlaceholder",value:function(e,t){if(-1===te.values(ue).indexOf(e))return console.warn("Widget::setFormPlaceholder[s: unsupported field "+e);var n=null===t||""===t?" ":t;if(/\,/.test(n)||/\:/.test(n))return console.warn("Widget::setFormPlaceholder[s: "+e+" - unsupported symbols (: or ,) in value");this.link.concatParams({form_placeholders:e+":"+n})}},{key:"setFormElements",value:function(e){var t=this;e.forEach(function(e){return t.setFormElement(e)})}},{key:"setFormElement",value:function(e){e.value&&this.setFormValue(e.field,e.value),e.label&&this.setFormLabel(e.field,e.label),e.placeholder&&this.setFormPlaceholder(e.field,e.placeholder)}},{key:"setIcons",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setIcon(t,e[t])}},{key:"setIcon",value:function(e,t){if(/\,/.test(t)||/\:/.test(t))return console.warn("Widget::setIcon[s: "+e+" - unsupported symbols (: or ,) in value");"string"==typeof this.link.getParams().icons&&this.link.getParams().icons.length?this.link.setParams({icons:this.link.getParams().icons+","+e+":"+t}):this.link.setParams({icons:e+":"+t})}},{key:"setHiddenElements",value:function(e){var t=[],n=te.values(de).concat(te.values(ue));for(var i in e)e.hasOwnProperty(i)&&(-1!==n.indexOf(e[i])?t.push(e[i]):console.warn("Widget::setHiddenElements: unsupported element "+e[i]));t.length&&this.link.concatParams({hidden_elements:t.join(",")})}},{key:"setRefId",value:function(e){this.link.setParams({ref_id:e})}},{key:"useGatewayFieldValidation",value:function(){this.link.setParams({fields_validation:!0})}},{key:"setSupportedCardIcons",value:function(e,t){var n=[];for(var i in e)e.hasOwnProperty(i)&&(-1!==te.values(he).indexOf(e[i])?n.push(e[i]):console.warn("Widget::cardTypes: unsupported type of cards "+e[i]));n.length&&this.link.concatParams({supported_card_types:n.join(",")}),t&&this.link.setParams({validate_card_types:t})}},{key:"setEnv",value:function(e,t){for(var n in this.link.setEnv(e,t),this.configs)this.configs.hasOwnProperty(n)&&this.configs[n].setEnv(e,t)}},{key:"getEnv",value:function(){this.link.getEnv()}},{key:"loadIFrameUrl",value:function(t,e){var n=this,i=1<arguments.length&&void 0!==e?e:function(e){};if(this.link.setParams({configuration_tokens:""}),this.configTokens.length)return this.link.setParams({configuration_tokens:this.configTokens.join(",")}),t(this.link.getUrl());me.createEachToken(this.accessToken,this.configs,function(e){return n.link.concatParams({configuration_tokens:e.join(",")}),t(n.link.getUrl())},function(e){i(e)})}},{key:"setLanguage",value:function(e){this.link.setParams({language:e})}}]),Ce);function Ce(e,t){if(l(this,Ce),this.configs=[],this.configTokens=[],this.link=new $("/remote-action"),h.validateJWT(e)?this.link.setParams({token:e}):this.link.setParams({public_key:e}),this.accessToken=e,!t||Array.isArray(t)&&!t.length)throw Error("configuration token is required");if("string"==typeof t)this.configTokens.push(t);else if(t instanceof me)this.configs.push(t);else if(Array.isArray(t)&&"string"==typeof t[0])this.configTokens=t;else{if(!(Array.isArray(t)&&t[0]instanceof me))throw Error("Unsupported type of configuration token");this.configs=t}}var Se=(n(Oe,null,[{key:"insertToInput",value:function(e,t,n){if(void 0!==n[t]){var i=document.querySelector(e);i&&(i.value=n[t])}}},{key:"subscribe",value:function(e,t,n){t.addEventListener?t.addEventListener(e,n):t.attachEvent("on"+e,n)}}]),Oe);function Oe(){l(this,Oe)}var Te=(n(Ae,[{key:"isExist",value:function(){return!!this.getElement()}},{key:"getStyles",value:function(e){if(this.isExist()){var t=this.getElement().getAttribute("widget-style");if(!t)return{};var n=t.split(";");return void 0===n||n.length?this.convertConfigs(n,e):{}}}},{key:"on",value:function(e,t){this.isExist()&&Se.subscribe(e,this.getElement(),t)}},{key:"getAttr",value:function(e){if(this.isExist()){var t=this.getElement(),n=[];for(var i in e)if(e.hasOwnProperty(i)){var r=e[i].replace(/_/g,"-"),o=t.getAttribute(r);o&&n.push(e[i]+":"+o)}return void 0===n||n.length?this.convertConfigs(n,e):{}}}},{key:"getElement",value:function(){return document.querySelector(this.selector)}},{key:"convertConfigs",value:function(e,t){var n={};for(var i in e)if(e.hasOwnProperty(i)){var r=e[i].split(":"),o=r[0].replace(/-/g,"_").trim();-1!==t.indexOf(o)&&(n[o]=r[1].trim())}return n}}]),Ae);function Ae(e){l(this,Ae),this.selector=e}var Pe=(n(Re,[{key:"load",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(this.container.isExist()&&!this.isExist()){var i=document.createElement("iframe");i.setAttribute("src",e),n.title&&(i.title=n.title),this.container.getElement().appendChild(i)}}},{key:"loadFromHtml",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(this.container.isExist()&&!this.isExist()){var i=document.createElement("iframe");i.setAttribute("height","100%"),i.setAttribute("width","100%"),n.title&&(i.title=n.title),this.container.getElement().appendChild(i);var r=this.getElement().contentDocument;r.open(),r.write("<html><head><style>html, body {margin: 0;} iframe {border: 0; width: 100%}</style><title></title></head><body>{{content}}</body></html>".replace("{{content}}",e)),r.close()}}},{key:"remove",value:function(){if(this.container.isExist()&&this.isExist()){var e=this.getElement();this.container.getElement().removeChild(e)}}},{key:"show",value:function(){this.isExist()&&(this.setStyle("visibility","visible"),this.setStyle("display","block"))}},{key:"hide",value:function(e){var t=0<arguments.length&&void 0!==e&&e;this.isExist()&&(t?this.setStyle("visibility","hidden"):this.setStyle("display","none"))}},{key:"isExist",value:function(){return!!this.getElement()}},{key:"getElement",value:function(){return this.container.isExist()?this.container.getElement().querySelector("iframe"):null}},{key:"setStyle",value:function(e,t){this.getElement().style[e]=t}}]),Re);function Re(e){l(this,Re),this.container=e}var xe={AFTER_LOAD:"afterLoad",SUBMIT:"submit",FINISH:"finish",VALIDATION_ERROR:"validationError",SYSTEM_ERROR:"systemError",CHECKOUT_SUCCESS:"checkoutSuccess",CHECKOUT_READY:"checkoutReady",CHECKOUT_ERROR:"checkoutError",CHECKOUT_COMPLETED:"checkoutCompleted",VALIDATION:"validation",SELECT:"select",UNSELECT:"unselect",NEXT:"next",PREV:"prev",META_CHANGE:"metaChange",RESIZE:"resize",CHARGE_AUTH_SUCCESS:"chargeAuthSuccess",CHARGE_AUTH_REJECT:"chargeAuthReject",CHARGE_AUTH_CANCELLED:"chargeAuthCancelled",ADDITIONAL_DATA_SUCCESS:"additionalDataCollectSuccess",ADDITIONAL_DATA_REJECT:"additionalDataCollectReject",CHARGE_AUTH:"chargeAuth"},Le=(n(Ie,[{key:"emit",value:function(e){for(var t in this.listeners)this.listeners[t].event===e.event&&e.widget_id===this.listeners[t].widget_id&&this.listeners[t].listener.apply(this,[e])}},{key:"on",value:function(e,t,n){for(var i in xe)xe.hasOwnProperty(i)&&e===xe[i]&&this.listeners.push({event:e,listener:n,widget_id:t})}},{key:"subscribe",value:function(e,t){e.addEventListener?e.addEventListener("message",t):e.attachEvent("onmessage",t)}}]),Ie);function Ie(e){var n=this;l(this,Ie),this.listeners=[],e&&Se.subscribe("message",e,function(e){var t=void 0;try{t=JSON.parse(e.data)}catch(e){}t&&n.emit(t)})}var Ue={SUBMIT_FORM:"submit_form",CHANGE_TAB:"tab",HIDE_ELEMENTS:"hide_elements",SHOW_ELEMENTS:"show_elements",REFRESH_CHECKOUT:"refresh_checkout",UPDATE_FORM_VALUES:"update_form_values",INIT_CHECKOUT:"init_checkout"},De=(n(Ne,[{key:"push",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(this.iFrame.isExist()){-1===te.values(Ue).indexOf(e)&&console.warn("unsupported trigger type");var i={trigger:e,destination:"widget.paydock",data:n};this.iFrame.getElement().contentWindow.postMessage(JSON.stringify(i),"*")}}}]),Ne);function Ne(e){l(this,Ne),this.iFrame=e}var Me=(n(Fe,[{key:"getElement",value:function(){return document.querySelector(this.selector)}},{key:"isExist",value:function(){return!!this.getElement()}},{key:"beforeSubmit",value:function(t){var n=this;this.isExist()&&this.subscribe(this.getElement(),function(e){e.preventDefault(),n.intercepted=!0,t.apply(n,[])})}},{key:"continueSubmit",value:function(){var e=this;this.isExist()&&this.intercepted&&(this.intercepted=!1,setTimeout(function(){e.getElement().submit()},50))}},{key:"subscribe",value:function(e,t){e.addEventListener?e.addEventListener("submit",t):e.attachEvent("onsubmit",t)}}]),Fe);function Fe(e){l(this,Fe),this.intercepted=!1,this.selector=e}var je=(s(He,be),n(He,[{key:"load",value:function(){var t=this;this.setStyles(this.container.getStyles(te.values(le))),this.setTexts(this.container.getAttr(te.values(ce))),this.loadIFrameUrl(function(e){t.iFrame.load(e,{title:"Card details"}),t.afterLoad()},function(e){for(var t in console.error("Errors when creating a token[s, widget will not be load:"),e)e.hasOwnProperty(t)&&console.error("--- | "+e[t])})}},{key:"afterLoad",value:function(){var t=this;this.on(xe.VALIDATION,function(e){t.validationData=e})}},{key:"on",value:function(e,t){var n=this;return"function"==typeof t?this.event.on(e,this.link.getParams().widget_id,t):new Promise(function(t){return n.event.on(e,n.link.getParams().widget_id,function(e){return t(e)})})}},{key:"trigger",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};this.triggerElement.push(e,n)}},{key:"getValidationState",value:function(){return this.validationData}},{key:"isValidForm",value:function(){return!!this.validationData.form_valid}},{key:"isInvalidField",value:function(e){var t=0<arguments.length&&void 0!==e?e:"";return!!this.validationData.invalid_fields&&-1!==this.validationData.invalid_fields.indexOf(t)}},{key:"isFieldErrorShowed",value:function(e){var t=0<arguments.length&&void 0!==e?e:"";return!!this.validationData.invalid_showed_fields&&-1!==this.validationData.invalid_showed_fields.indexOf(t)}},{key:"isInvalidFieldByValidator",value:function(e,t){var n=0<arguments.length&&void 0!==e?e:"";return!(this.validationData.validators&&!this.validationData.validators[t])&&-1!==this.validationData.validators[t].indexOf(n)}},{key:"hide",value:function(e){this.iFrame.hide(e)}},{key:"show",value:function(){this.iFrame.show()}},{key:"reload",value:function(){this.iFrame.remove(),this.load()}},{key:"hideElements",value:function(e){var t=[],n=te.values(de).concat(te.values(ue));for(var i in e)e.hasOwnProperty(i)&&(-1!==n.indexOf(e[i])?t.push(e[i]):console.warn("Widget::hideElements: unsupported element "+e[i]));t.length&&this.trigger(Ue.HIDE_ELEMENTS,{elements:t.join(",")})}},{key:"showElements",value:function(e){var t=[],n=te.values(de).concat(te.values(ue));for(var i in e)e.hasOwnProperty(i)&&(-1!==n.indexOf(e[i])?t.push(e[i]):console.warn("Widget::showElements: unsupported element "+e[i]));t.length&&this.trigger(Ue.SHOW_ELEMENTS,{elements:t.join(",")})}},{key:"updateFormValues",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.updateFormValue(t,e[t])}},{key:"updateFormValue",value:function(e,t){return-1===te.values(ue).indexOf(e)?console.warn("Widget::setFormValues[s: unsupported field "+e):/\,/.test(t)||/\:/.test(t)?console.warn("Widget::setFormValues[s: "+e+" - unsupported symbols (: or ,) in value"):void this.trigger(Ue.UPDATE_FORM_VALUES,{form_values:e+":"+t})}},{key:"onFinishInsert",value:function(t,n){this.on(xe.FINISH,function(e){Se.insertToInput(t,n,e)})}},{key:"interceptSubmitForm",value:function(e){var t=this;this.setHiddenElements([de.SUBMIT_BUTTON]);var n=new Me(e);n.beforeSubmit(function(){t.triggerElement.push(Ue.SUBMIT_FORM,{}),t.event.on(xe.FINISH,t.link.getParams().widget_id,function(){n.continueSubmit()})})}},{key:"useCheckoutAutoSubmit",value:function(){var t=this;this.setHiddenElements([de.SUBMIT_BUTTON]),this.on(xe.CHECKOUT_SUCCESS,function(e){t.trigger(Ue.SUBMIT_FORM)}),this.on(xe.VALIDATION_ERROR,function(e){t.trigger(Ue.REFRESH_CHECKOUT)}),this.on(xe.SYSTEM_ERROR,function(e){t.trigger(Ue.REFRESH_CHECKOUT)})}},{key:"useAutoResize",value:function(){var t=this;this.on(xe.RESIZE,function(e){t.iFrame.getElement()&&(t.iFrame.getElement().scrolling="no",e.height&&t.iFrame.setStyle("height",e.height+"px"))})}}]),He);function He(e,t,n){l(this,He);var i=c(this,(He.__proto__||Object.getPrototypeOf(He)).call(this,t,n));return i.validationData={},i.container=new Te(e),i.iFrame=new Pe(i.container),i.triggerElement=new De(i.iFrame),i.event=new Le(window),i}var Be=(s(ze,je),n(ze,[{key:"setWebHookDestination",value:function(e){this.configs[0].setWebHookDestination(e)}},{key:"setSuccessRedirectUrl",value:function(e){this.configs[0].setSuccessRedirectUrl(e)}},{key:"setErrorRedirectUrl",value:function(e){this.configs[0].setErrorRedirectUrl(e)}},{key:"setFormFields",value:function(e){this.configs[0].setFormFields(e)}},{key:"setFormElements",value:function(e){var t=this;e.forEach(function(e){return t.setFormElement(e)})}},{key:"setFormElement",value:function(e){this.configs[0].setFormFields([e.field]),a(ze.prototype.__proto__||Object.getPrototypeOf(ze.prototype),"setFormElement",this).call(this,A(A({},e),{field:e.field.replace("*","")}))}},{key:"setMeta",value:function(e){this.configs[0].setMeta(e)}},{key:"setGiftCardScheme",value:function(e,t){this.configs[0].setGiftCardSchemeData(e,t)}}]),ze);function ze(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default",i=arguments[3],r=arguments[4];l(this,ze);var o=new me(n,i,r);return c(this,(ze.__proto__||Object.getPrototypeOf(ze)).call(this,e,t,o))}var qe,We,Ve,Ye,Ke={CLICK:"click",POPUP_REDIRECT:"popupRedirect",REDIRECT:"redirect",ERROR:"error",REFERRED:"referred",DECLINED:"declined",CANCELLED:"cancelled",ACCEPTED:"accepted",FINISH:"finish",CLOSE:"close"};(We=qe=qe||{}).CONTEXTUAL="contextual",We.REDIRECT="redirect",(Ye=Ve=Ve||{}).ZIPMONEY="Zipmoney",Ye.PAYPAL="PaypalClassic",Ye.AFTERPAY="Afterpay";var Ge="[Paydock:CheckoutButton]",Je=(n(Xe,[{key:"setEnv",value:function(e,t){this.env.setEnv(e,t)}},{key:"getEnv",value:function(){return this.env.getEnv()}},{key:"getUrl",value:function(){return this.env.getConf().url+this.getLink()}},{key:"create",value:function(e,t,n,i){var r=this,o=new XMLHttpRequest;o.onload=function(){r.parser(o.responseText,o.status,n,i)},o.open("POST",this.getUrl(),!0),o.setRequestHeader("Content-Type","application/json; charset=UTF-8"),o.setRequestHeader(h.getAccessHeaderNameByToken(e),e),o.send(JSON.stringify(t))}},{key:"get",value:function(e,t,n){var i=this,r=new XMLHttpRequest;r.onload=function(){i.parser(r.responseText,r.status,t,n)},r.open("GET",this.getUrl(),!0),r.setRequestHeader("Content-Type","application/json; charset=UTF-8"),r.setRequestHeader(h.getAccessHeaderNameByToken(e),e),r.send()}},{key:"parser",value:function(e,t,n,i){var r={};try{r=JSON.parse(e)}catch(e){}if(200<=t&&t<300||302===t)return n(r.resource.data,t);i(r.error||{message:"unknown error"},t)}}]),Xe);function Xe(){l(this,Xe),this.env=new V(H)}var Ze=(s(Qe,Je),n(Qe,[{key:"getLink",value:function(){return"/v1/payment_sources/external_checkout"}},{key:"setDescriptions",value:function(e){this.body.description=e}},{key:"setMeta",value:function(e){for(var t in e)e.hasOwnProperty(t)&&(-1!==pe.indexOf(t)?this.body.meta[t]=e[t]:console.warn("ExternalCheckout::setMeta: unsupported meta key "+t))}},{key:"getConfigs",value:function(){return this.body}},{key:"send",value:function(e,n,t){var i=2<arguments.length&&void 0!==t?t:function(e,t){};this.create(e,this.getConfigs(),function(e,t){n(e)},function(e,t){void 0===e.message?i(t+": unknown error","unknown_error"):i(e.message,e.code)})}}]),Qe);function Qe(e,t,n){l(this,Qe);var i=c(this,(Qe.__proto__||Object.getPrototypeOf(Qe)).call(this));return i.body={gateway_id:e,meta:{},success_redirect_url:t,error_redirect_url:n,redirect_url:t},i}var $e=(s(et,Je),n(et,[{key:"getLink",value:function(){return"/v1/payment_sources/external_checkout/:token".replace(":token",this.token)}},{key:"send",value:function(e,n,t){var i=2<arguments.length&&void 0!==t?t:function(e){};this.get(e,function(e,t){n(e)},function(e,t){void 0===e.message?i(t+": unknown error"):i(e.message)})}}]),et);function et(e){l(this,et);var t=c(this,(et.__proto__||Object.getPrototypeOf(et)).call(this));return t.token=e,t}var tt=(n(nt,[{key:"emit",value:function(e,t){var n=this.events[e];n&&n.forEach(function(e){e.call(null,t)})}},{key:"subscribe",value:function(e,t){var n=this;return this.events[e]||(this.events[e]=[]),this.events[e].push(t),function(){n.events[e]=n.events[e].filter(function(e){return t!==e})}}}]),nt);function nt(){l(this,nt),this.events={}}var it='\n <div class="cs-loader">\n <div class="cs-loader-inner">\n <label>\t●</label>\n <label>\t●</label>\n <label>\t●</label>\n <label>\t●</label>\n <label>\t●</label>\n <label>\t●</label>\n </div>\n </div>\n',rt="\n <style> \n .cs-loader {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n }\n \n .cs-loader-inner {\n transform: translateY(-50%);\n top: 50%;\n position: absolute;\n width: calc(100% - 200px);\n color: #8e8d8c;\n padding: 0 100px;\n text-align: center;\n }\n \n \n .cs-loader-inner label {\n font-size: 20px;\n opacity: 0;\n display:inline-block;\n }\n \n @keyframes lol {\n 0% {\n opacity: 0;\n transform: translateX(-300px);\n }\n 33% {\n opacity: 1;\n transform: translateX(0px);\n }\n 66% {\n opacity: 1;\n transform: translateX(0px);\n }\n 100% {\n opacity: 0;\n transform: translateX(300px);\n }\n }\n \n @-webkit-keyframes lol {\n 0% {\n opacity: 0;\n -webkit-transform: translateX(-300px);\n }\n 33% {\n opacity: 1;\n -webkit-transform: translateX(0px);\n }\n 66% {\n opacity: 1;\n -webkit-transform: translateX(0px);\n }\n 100% {\n opacity: 0;\n -webkit-transform: translateX(300px);\n -moz-transform: translateX(300px);\n }\n }\n \n .cs-loader-inner label:nth-child(6) {\n -webkit-animation: lol 3s infinite ease-in-out;\n -moz-animation: lol 3s infinite ease-in-out;\n animation: lol 3s infinite ease-in-out;\n }\n \n .cs-loader-inner label:nth-child(5) {\n -webkit-animation: lol 3s 100ms infinite ease-in-out;\n -moz-animation: lol 3s 100ms infinite ease-in-out;\n animation: lol 3s 100ms infinite ease-in-out;\n }\n \n .cs-loader-inner label:nth-child(4) {\n -webkit-animation: lol 3s 200ms infinite ease-in-out;\n -moz-animation: lol 3s 200ms infinite ease-in-out;\n animation: lol 3s 200ms infinite ease-in-out;\n }\n \n .cs-loader-inner label:nth-child(3) {\n -webkit-animation: lol 3s 300ms infinite ease-in-out;\n -moz-animation: lol 3s 300ms infinite ease-in-out;\n animation: lol 3s 300ms infinite ease-in-out;\n }\n \n .cs-loader-inner label:nth-child(2) {\n -webkit-animation: lol 3s 400ms infinite ease-in-out;\n -moz-animation: lol 3s 400ms infinite ease-in-out;\n animation: lol 3s 400ms infinite ease-in-out;\n }\n \n .cs-loader-inner label:nth-child(1) {\n -webkit-animation: lol 3s 500ms infinite ease-in-out;\n -moz-animation: lol 3s 500ms infinite ease-in-out;\n animation: lol 3s 500ms infinite ease-in-out;\n }\n </style>\n",ot=(n(at,null,[{key:"isFacebook",value:function(){return-1!==navigator.userAgent.indexOf("FBSN/iOS")&&-1!==navigator.userAgent.indexOf("AppleWebKit")&&-1!==navigator.userAgent.indexOf("(KHTML, like Gecko)")}},{key:"isInstagram",value:function(){return-1!==navigator.userAgent.indexOf("iOS")&&-1!==navigator.userAgent.indexOf("Instagram")&&-1!==navigator.userAgent.indexOf("(KHTML, like Gecko)")}},{key:"isSupportPopUp",value:function(){return!this.isFacebook()&&!this.isInstagram()}},{key:"getLanguage",value:function(){return window.navigator.language||""}},{key:"getTimezoneOffset",value:function(){return(new Date).getTimezoneOffset()}},{key:"getBrowserName",value:function(){var e=navigator.userAgent;return-1<e.indexOf("Firefox")?"Mozilla Firefox":-1<e.indexOf("Opera")?"Opera":-1<e.indexOf("Trident")?"Microsoft Internet Explorer":-1<e.indexOf("Edge")?"Microsoft Edge":-1<e.indexOf("Chrome")?"Google Chrome or Chromium":-1<e.indexOf("Safari")?"Apple Safari":"unknown"}},{key:"isJavaEnabled",value:function(){return navigator.javaEnabled()}},{key:"getColorDepth",value:function(){return screen.colorDepth}},{key:"getScreenHeight",value:function(){return screen.height}},{key:"getScreenWidth",value:function(){return screen.width}},{key:"getBrowserInfo",value:function(){var e=navigator.userAgent,t=e.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[],n=void 0;return/trident/i.test(t[1])?{name:"IE",version:(n=/\brv[ :]+(\d+)/g.exec(e)||[])[1]||""}:"Chrome"===t[1]&&null!=(n=e.match(/\bOPR|Edge\/(\d+)/))?{name:"Opera",version:n[1]}:(t=t[2]?[t[1],t[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(n=e.match(/version\/(\d+)/i))&&t.splice(1,1,n[1]),{name:t[0],version:t[1]})}}]),at);function at(){l(this,at)}var st="close",ut="focus",lt=(n(ct,[{key:"initControl",value:function(){if(!this.isInit()&&this.showControl){if(!ot.isSupportPopUp())return this.createLoader();this.createTemplate(),this.createStyles(),this.eventHandler()}}},{key:"initLoader",value:function(){!this.isInit()&&this.showLoader&&(this.createStyles(),this.createLoader())}},{key:"eventHandler",value:function(){var e=this,t=document.querySelector("[data-close]"),n=document.querySelector("[data-continue]");t&&Se.subscribe("click",t,function(){return e.eventEmitter.emit(st,{})}),n&&Se.subscribe("click",n,function(){return e.eventEmitter.emit(ut,{})})}},{key:"clear",value:function(){(this.style||this.overlay)&&(this.style.parentNode.removeChild(this.style),this.overlay.parentNode.removeChild(this.overlay),this.style=null,this.overlay=null)}},{key:"createLoader",value:function(){var e=this,t=document.body||document.getElementsByTagName("body")[0];this.overlay=document.createElement("div"),this.overlay.classList.add("checkout-overlay"),this.overlay.setAttribute("checkout-overlay"," "),this.overlay.innerHTML=rt+it,t.appendChild(this.overlay),setTimeout(function(){e.isInit()&&e.overlay.classList.add("display")},5)}},{key:"createTemplate",value:function(){var e=this,t=document.body||document.getElementsByTagName("body")[0],n=String('\n <div class="checkout-container">\n <strong class="checkout-title" data-title>{{title}}</strong>\n <p data-description>{{description}}</p>\n <a href="#" data-continue>Continue</a>\n <a href="#" data-close>Close</a>\n </div>\n');n=(n=n.replace("{{description}}",this.description)).replace("{{title}}",this.title),this.overlay=document.createElement("div"),this.overlay.classList.add("checkout-overlay"),this.overlay.setAttribute("checkout-overlay"," "),this.overlay.innerHTML=n,t.appendChild(this.overlay),setTimeout(function(){e.isInit()&&e.overlay.classList.add("display")},5)}},{key:"createStyles",value:function(){var e=document.head||document.getElementsByTagName("head")[0],t=String("\n .hide-continue-button [data-continue] {\n display: none;\n }\n \n .checkout-overlay .cs-loader-inner {\n color: #ddd;\n }\n\n .checkout-overlay { \n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0,0,0, 0.5);\n text-align: center;\n color: #fff;\n opacity: 0;\n }\n .checkout-overlay.display { \n opacity: 1;\n transition: opacity 0.7s ease-out;\n }\n .checkout-overlay a { color: #00f; }\n .checkout-container {\n position: absolute;\n top: 50%;\n left: 0;\n width: 100%;\n margin-top: -{{width}}px;\n }\n .checkout-title {\n font-size: 24px;\n display: block;\n text-transform: uppercase;\n }\n [data-close] {\n position: fixed;\n right: 32px;\n top: 32px;\n width: 32px;\n height: 32px;\n opacity: 0.3;\n overflow: hidden;\n text-indent: -9999px;\n }\n [data-close]:hover { opacity: 1; }\n [data-close]:before, [data-close]:after {\n position: absolute;\n left: 15px;\n content: ' ';\n height: 33px;\n width: 2px;\n background-color: #00f;\n }\n [data-close]:before { transform: rotate(45deg); }\n [data-close]:after { transform: rotate(-45deg); }\n"),n=document.querySelector(".checkout-container");t=t.replace("{{width}}",n?String(n.offsetHeight/2):"0"),this.style=document.createElement("style"),this.style.type="text/css",this.style.appendChild(document.createTextNode(t)),e.appendChild(this.style)}},{key:"setBackdropDescription",value:function(e){this.description=e}},{key:"setBackdropTitle",value:function(e){this.title=e}},{key:"onTrigger",value:function(e,t){this.eventEmitter.subscribe(e,t)}},{key:"isInit",value:function(){return!(!this.overlay||!this.style)}},{key:"hideContinueControl",value:function(){this.isInit()&&this.overlay.classList.add("hide-continue-button")}},{key:"turnOffControl",value:function(){this.showControl=!1}},{key:"turnOffLoader",value:function(){this.showLoader=!1}}]),ct);function ct(){l(this,ct),this.description="Don't see the secure checkout browser? We'll help you re-launch the window to complete your purchase",this.title="Checkout",this.overlay=null,this.style=null,this.showControl=!0,this.showLoader=!0,this.eventEmitter=new tt}var dt,ht,pt=(n(vt,[{key:"error",value:function(e,t,n){n(!0)}},{key:"setEnv",value:function(e,t){this.widgetEnv.setEnv(e,t)}}]),vt);function vt(){l(this,vt),this.widgetEnv=new V(j)}function ft(e){return s(o,0<arguments.length&&void 0!==e?e:pt),n(o,[{key:"continue",value:function(){}},{key:"stop",value:function(){}},{key:"error",value:function(e,t,n){n(!0)}},{key:"setSuspendedRedirectUri",value:function(e){this.suspendedRedirectUri=e}},{key:"setBackgroundTitle",value:function(e){this.background.setBackdropTitle(e)}},{key:"setBackgroundDescription",value:function(e){this.background.setBackdropDescription(e)}},{key:"turnOffBackdrop",value:function(){this.background.turnOffControl(),this.background.turnOffLoader()}}]),o;function o(){var e;l(this,o);for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];var r=c(this,(e=o.__proto__||Object.getPrototypeOf(o)).call.apply(e,[this].concat(n)));return r.background=new lt,r.background.onTrigger(ut,function(){return r.continue()}),r.background.onTrigger(st,function(){return r.stop()}),r}}(ht=dt=dt||{}).SUCCESS="success",ht.DECLINED="declined",ht.CLOSE="close",ht.REFERRED="referred",ht.ERROR="error";var mt="paydock-dispatcher",yt=(n(gt,[{key:"restartDispatcher",value:function(){var e=document.getElementById(mt);e&&e.parentNode&&e.parentNode.removeChild(e);var t=document.createElement("iframe");t.setAttribute("src",this.env.getConf().url+"/dispatcher"),t.id=mt,t.style.display="none",document.body.appendChild(t)}},{key:"on",value:function(n,i){var r=this;Se.subscribe("message",window,function(e){var t=null;try{t=JSON.parse(e.data)}catch(e){}t&&t.message_source===r.messageSource&&t.event===n&&i(t)})}},{key:"setEnv",value:function(e,t){this.env.setEnv(e,t),this.restartDispatcher()}}]),gt);function gt(e){l(this,gt),this.messageSource=e,this.env=new V(j)}var _t=(n(kt,[{key:"isExist",value:function(){return!(!this.getElement()||this.getElement().closed)}},{key:"getElement",value:function(){return this.window}},{key:"init",value:function(){var e=this;if(!ot.isSupportPopUp())return this.window=window;var t=this.getConfigs();this.window=window.open("about:blank","_blank","noopener=false,width="+t.width+",height="+t.height+",top="+t.top+",left="+t.left+",scrollbars="+(t.scrollbars?"yes":"no")+",resizable="+(t.resizable?"yes":"no")),this.showLoader();var n=setInterval(function(){e.isExist()||(clearInterval(n),e.eventEmitter.emit("close",{}))},200)}},{key:"redirect",value:function(e){this.isExist()&&(this.window.location.href=e)}},{key:"close",value:function(){this.isExist()&&this.getElement().close&&(this.getElement().close(),this.window=null)}},{key:"focus",value:function(){this.isExist()&&this.getElement().focus&&this.getElement().focus()}},{key:"setConfigs",value:function(e){this.configs=A(this.configs,e)}},{key:"getNetConfigs",value:function(){return A({},this.configs)}},{key:"getConfigs",value:function(){var e=this.getNetConfigs();return e.left=window.screenX+(window.screen.width/2-e.width/2),e.top=window.screenY+(window.screen.height/2-e.height/2),e}},{key:"onClose",value:function(e){this.eventEmitter.subscribe("close",e)}},{key:"initError",value:function(e){this.getElement().document.write("."),(this.getElement().document.body||this.getElement().document.getElementsByTagName("body")[0]).innerHTML="<style>\n .error-wrapper {\n color: #ff0000;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n }\n </style>"+'<div class="error-wrapper"><div>{{error}}</div></div>'.replace("{{error}}",e)}},{key:"showLoader",value:function(){this.getElement().document.write(".");var e=this.getElement().document.body||this.getElement().document.getElementsByTagName("body")[0];if(e.innerHTML=rt+it,this.env===g&&this.env===_&&this.env===k&&this.env===E&&this.env===w&&this.env===b&&this.env===C&&this.env===S&&this.env===O&&this.env===T&&this.env===P&&this.env===R&&this.env===x&&this.env===L&&this.env===I&&this.env===U){var t=0;Se.subscribe("click",e,function(){5==++t&&(e.innerHTML='\n <style>\n html{width: 100%;height: 100%;}\n body{margin: 0px;padding: 0px;background-color: #111;}\n \n .eye{\n width: 20px; height: 8px;\n background-color: #eee;\n border-radius:0px 0px 20px 20px;\n position: relative;\n top: 40px;\n left: 10px;\n box-shadow: 40px 0px 0px 0px #eee; \n }\n \n .head{\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden; \n position: relative;\n margin: -250px auto;\n width: 80px; height: 80px;\n background-color: #111;\n border-radius:50px;\n box-shadow: inset -4px 2px 0px 0px #eee;\n -webkit-animation:node 1.5s infinite alternate;\n -webkit-animation-timing-function:ease-out;\n -moz-animation:node 1.5s infinite alternate;\n -moz-animation-timing-function:ease-out;\n animation:node 1.5s infinite alternate;\n animation-timing-function:ease-out;\n }\n .body{ \n position: relative;\n margin: 90px auto;\n width: 140px; height: 120px;\n background-color: #111;\n border-radius: 50px/25px ;\n box-shadow: inset -5px 2px 0px 0px #eee;\n -webkit-animation:node2 1.5s infinite alternate;\n -webkit-animation-timing-function:ease-out; \n -moz-animation:node2 1.5s infinite alternate;\n -moz-animation-timing-function:ease-out; \n animation:node2 1.5s infinite alternate;\n animation-timing-function:ease-out; \n }\n \n @keyframes node {0%{ top:0px; }50%{ top:10px; }100% { top:0px;} }\n @keyframes node2 {0%{ top:-5px; }50%{ top:10px; }100% { top:-5px;}}\n @-moz-keyframes node {0%{ top:0px; }50%{ top:10px; }100% { top:0px;} }\n @-moz-keyframes node2 {0%{ top:-5px; }50%{ top:10px; }100% { top:-5px;}}\n @-webkit-keyframes node {0%{ top:0px; }50%{ top:10px; }100% { top:0px;} }\n @-webkit-keyframes node2 {0%{ top:-5px; }50%{ top:10px; }100% { top:-5px;}}\n \n \n .circ{\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n margin: 60px auto;\n width: 180px; height: 180px;\n background-color: #111;\n border-radius: 0px 0px 50px 50px;\n position: relative;\n z-index: -1; \n left: 0%;\n top: 20%;\n overflow: hidden;\n }\n \n .hands{\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n margin-top: 140px;\n width: 120px;height: 120px;\n position: absolute;\n background-color: #111;\n border-radius:20px;\n box-shadow:-1px -4px 0px 0px #eee;\n transform:rotate(45deg);\n -webkit-transform:rotate(45deg);\n -mox-transform:rotate(45deg);\n top:75%;left: 16%;\n z-index: 1;\n -webkit-animation:node2 1.5s infinite alternate;\n -webkit-animation-timing-function:ease-out;\n -moz-animation:node2 1.5s infinite alternate;\n -moz-animation-timing-function:ease-out;\n animation:node2 1.5s infinite alternate;\n animation-timing-function:ease-out;\n }\n \n .load{ position: absolute;\n width: 100px; height: 20px;\n margin: -10px auto;\n -webkit-font-smoothing: antialiased;\n -moz-font-smoothing: antialiased;\n font-smoothing: antialiased;\n font-family: \'Julius Sans One\', sans-serif;\n font-size:30px;\n font-weight:400;\n color:#eee;\n left: 10%;\n top: 5%;\n }\n </style>\n\n <div class="circ">\n <div class="load">A little patience ...</div>\n <div class="hands"></div>\n <div class="body"></div>\n <div class="head">\n <div class="eye"></div>\n </div>\n </div>\n')})}}},{key:"setEnv",value:function(e){this.env=e}}]),kt);function kt(){l(this,kt),this.configs={width:500,height:500,scrollbars:!0,resizable:!0,top:0,left:0},this.eventEmitter=new tt}var Et,wt=(Et=ft(),s(bt,Et),n(bt,[{key:"run",value:function(){this.isRunning()||(this.popup.init(),this.background.initControl())}},{key:"isRunning",value:function(){return this.popup.isExist()}},{key:"next",value:function(e){this.checkout=e,ot.isSupportPopUp()||window.localStorage.setItem("paydock_checkout_token",JSON.stringify(this.checkout)),this.popup.redirect(this.checkout.link)}},{key:"continue",value:function(){this.popup.focus()}},{key:"stop",value:function(){this.popup.close()}},{key:"onStop",value:function(e){var t=this;this.popup.onClose(function(){t.background.clear(),t.checkout=null,e()})}},{key:"onCheckout",value:function(e,i){var r=this;this.dispatcher.on(e,function(e){if(r.checkout&&r.checkout.reference_id===e.reference_id)r.background.clear(),i(r.checkout);else if(!ot.isSupportPopUp()){var t=window.localStorage.getItem("paydock_checkout_token");if(!t)return;var n=JSON.parse(t);n&&n.reference_id===e.reference_id&&(window.localStorage.removeItem("paydock_checkout_token"),r.checkout=n,r.background.clear(),i(r.checkout))}})}},{key:"setEnv",value:function(e,t){a(bt.prototype.__proto__||Object.getPrototypeOf(bt.prototype),"setEnv",this).call(this,e,t),this.dispatcher.setEnv(e,t),this.popup.setEnv(e)}}]),bt);function bt(e){l(this,bt);var t=c(this,(bt.__proto__||Object.getPrototypeOf(bt)).call(this));return t.publicKey=e,t.checkout=null,t.dispatcher=new yt("checkout.paydock"),setTimeout(function(){return t.dispatcher.restartDispatcher()},200),t.popup=new _t,t}function Ct(e){return"run"in e}function St(e){return"setRedirectUrl"in e}var Ot="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Tt(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}function At(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Pt(e,t){return e(t={exports:{}},t.exports),t.exports}At(Pt(function(e){!function r(o,a,s){function u(t,e){if(!a[t]){if(!o[t]){if(!e&&Tt)return Tt();if(l)return l(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=a[t]={exports:{}};o[t][0].call(i.exports,function(e){return u(o[t][1][e]||e)},i,i.exports,r,o,a,s)}return a[t].exports}for(var l=Tt,e=0;e<s.length;e++)u(s[e]);return u}({1:[function(e,t,n){function i(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(t){if(c===setTimeout)return setTimeout(t,0);if((c===i||!c)&&setTimeout)return c=setTimeout,setTimeout(t,0);try{return c(t,0)}catch(e){try{return c.call(null,t,0)}catch(e){return c.call(this,t,0)}}}function a(){f&&p&&(f=!1,p.length?v=p.concat(v):m=-1,v.length&&s())}function s(){if(!f){var e=o(a);f=!0;for(var t=v.length;t;){for(p=v,v=[];++m<t;)p&&p[m].run();m=-1,t=v.length}p=null,f=!1,function(t){if(d===clearTimeout)return clearTimeout(t);if((d===r||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(t);try{d(t)}catch(e){try{return d.call(null,t)}catch(e){return d.call(this,t)}}}(e)}}function u(e,t){this.fun=e,this.array=t}function l(){}var c,d,h=t.exports={};!function(){try{c="function"==typeof setTimeout?setTimeout:i}catch(e){c=i}try{d="function"==typeof clearTimeout?clearTimeout:r}catch(e){d=r}}();var p,v=[],f=!1,m=-1;h.nextTick=function(e){var t=new Array(arguments.length-1);if(1<arguments.length)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];v.push(new u(e,t)),1!==v.length||f||o(s)},u.prototype.run=function(){this.fun.apply(null,this.array)},h.title="browser",h.browser=!0,h.env={},h.argv=[],h.version="",h.versions={},h.on=l,h.addListener=l,h.once=l,h.off=l,h.removeListener=l,h.removeAllListeners=l,h.emit=l,h.prependListener=l,h.prependOnceListener=l,h.listeners=function(e){return[]},h.binding=function(e){throw new Error("process.binding is not supported")},h.cwd=function(){return"/"},h.chdir=function(e){throw new Error("process.chdir is not supported")},h.umask=function(){return 0}},{}],2:[function(e,i,r){(function(Y){!function(e){if("function"==typeof bootstrap)bootstrap("promise",e);else if("object"==(void 0===r?"undefined":K(r))&&"object"==(void 0===i?"undefined":K(i)))i.exports=e();else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeQ=e}else{if("undefined"==typeof window&&"undefined"==typeof self)throw new Error("This environment was not anticipated by Q. Please file a bug.");var t="undefined"!=typeof window?window:self,n=t.Q;t.Q=e(),t.Q.noConflict=function(){return t.Q=n,this}}}(function(){function e(e){return function(){return A.apply(e,arguments)}}function s(e,t){if(w&&t.stack&&"object"==(void 0===e?"undefined":K(e))&&null!==e&&e.stack){for(var n=[],i=t;i;i=i.source)i.stack&&(!e.__minimumStackCounter__||e.__minimumStackCounter__>i.stackCounter)&&(U(e,"__minimumStackCounter__",{value:i.stackCounter,configurable:!0}),n.unshift(i.stack));n.unshift(e.stack);var r=function(e){for(var t=e.split("\n"),n=[],i=0;i<t.length;++i){var r=t[i];a(r)||(-1!==(o=r).indexOf("(module.js:")||-1!==o.indexOf("(node.js:"))||!r||n.push(r)}var o;return n.join("\n")}(n.join("\n"+F+"\n"));U(e,"stack",{value:r,configurable:!0})}}function r(e){var t=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(e);if(t)return[t[1],Number(t[2])];var n=/at ([^ ]+):(\d+):(?:\d+)$/.exec(e);if(n)return[n[1],Number(n[2])];var i=/.*@(.+):(\d+)$/.exec(e);return i?[i[1],Number(i[2])]:void 0}function a(e){var t=r(e);if(t){var n=t[0],i=t[1];return n===C&&O<=i&&i<=V}}function t(){if(w)try{throw new Error}catch(e){var t=e.stack.split("\n"),n=r(0<t[0].indexOf("@")?t[1]:t[2]);if(!n)return;return C=n[0],n[1]}}function u(e){return e instanceof c?e:o(e)?(t=e,n=l(),u.nextTick(function(){try{t.then(n.resolve,n.reject,n.notify)}catch(e){n.reject(e)}}),n.promise):m(e);var t,n}function l(){function t(n){r=n,u.longStackSupport&&w&&(i.source=n),R(o,function(e,t){u.nextTick(function(){n.promiseDispatch.apply(n,t)})},void 0),a=o=void 0}var r,o=[],a=[],e=I(l.prototype),i=I(c.prototype);if(i.promiseDispatch=function(e,t,n){var i=P(arguments);o?(o.push(i),"when"===t&&n[1]&&a.push(n[1])):u.nextTick(function(){r.promiseDispatch.apply(r,i)})},i.valueOf=function(){if(o)return i;var e=h(r);return p(e)&&(r=e),e},i.inspect=function(){return r?r.inspect():{state:"pending"}},u.longStackSupport&&w)try{throw new Error}catch(t){i.stack=t.stack.substring(t.stack.indexOf("\n")+1),i.stackCounter=j++}return e.promise=i,e.resolve=function(e){r||t(u(e))},e.fulfill=function(e){r||t(m(e))},e.reject=function(e){r||t(f(e))},e.notify=function(n){r||R(a,function(e,t){u.nextTick(function(){t(n)})},void 0)},e}function n(e){if("function"!=typeof e)throw new TypeError("resolver must be a function.");var t=l();try{e(t.resolve,t.reject,t.notify)}catch(e){t.reject(e)}return t.promise}function i(r){return n(function(e,t){for(var n=0,i=r.length;n<i;n++)u(r[n]).then(e,t)})}function c(r,o,t){void 0===o&&(o=function(e){return f(new Error("Promise does not support operation: "+e))}),void 0===t&&(t=function(){return{state:"unknown"}});var a=I(c.prototype);if(a.promiseDispatch=function(e,t,n){var i;try{i=r[t]?r[t].apply(a,n):o.call(a,t,n)}catch(e){i=f(e)}e&&e(i)},a.inspect=t){var e=t();"rejected"===e.state&&(a.exception=e.reason),a.valueOf=function(){var e=t();return"pending"===e.state||"rejected"===e.state?a:e.value}}return a}function d(e,t,n,i){return u(e).then(t,n,i)}function h(e){if(p(e)){var t=e.inspect();if("fulfilled"===t.state)return t.value}return e}function p(e){return e instanceof c}function o(e){return(t=e)===Object(t)&&"function"==typeof e.then;var t}function v(){B.length=0,z.length=0,W=W||!0}function f(t){var e,n,i=c({when:function(e){return e&&function(t){if(W){var n=x(z,t);-1!==n&&("object"==(void 0===Y?"undefined":K(Y))&&"function"==typeof Y.emit&&u.nextTick.runAfter(function(){var e=x(q,t);-1!==e&&(Y.emit("rejectionHandled",B[n],t),q.splice(e,1))}),z.splice(n,1),B.splice(n,1))}}(this),e?e(t):this}},function(){return this},function(){return{state:"rejected",reason:t}});return e=i,n=t,W&&("object"==(void 0===Y?"undefined":K(Y))&&"function"==typeof Y.emit&&u.nextTick.runAfter(function(){-1!==x(z,e)&&(Y.emit("unhandledRejection",n,e),q.push(e))}),z.push(e),n&&void 0!==n.stack?B.push(n.stack):B.push("(no stack) "+n)),i}function m(n){return c({when:function(){return n},get:function(e){return n[e]},set:function(e,t){n[e]=t},delete:function(e){delete n[e]},post:function(e,t){return null==e?n.apply(void 0,t):n[e].apply(n,t)},apply:function(e,t){return n.apply(e,t)},keys:function(){return N(n)}},void 0,function(){return{state:"fulfilled",value:n}})}function y(e,t,n){return u(e).spread(t,n)}function g(e,t,n){return u(e).dispatch(t,n)}function _(e){return d(e,function(r){var o=0,a=l();return R(r,function(e,t,n){var i;p(t)&&"fulfilled"===(i=t.inspect()).state?r[n]=i.value:(++o,d(t,function(e){r[n]=e,0==--o&&a.resolve(r)},a.reject,function(e){a.notify({index:n,value:e})}))},void 0),0===o&&a.resolve(r),a.promise})}function k(r){if(0===r.length)return u.resolve();var o=u.defer(),a=0;return R(r,function(e,t,n){var i=r[n];a++,d(i,function(e){o.resolve(e)},function(e){0==--a&&(e.message="Q can't get fulfillment value from any promise, all promises were rejected. Last error message: "+e.message,o.reject(e))},function(e){o.notify({index:n,value:e})})},void 0),o.promise}function E(e){return d(e,function(e){return e=L(e,u),d(_(L(e,function(e){return d(e,b,b)})),function(){return e})})}var w=!1;try{throw new Error}catch(e){w=!!e.stack}function b(){}var C,S,O=t(),T=function(){function n(){for(var e,t;r.next;)e=(r=r.next).task,r.task=void 0,(t=r.domain)&&(r.domain=void 0,t.enter()),i(e,t);for(;u.length;)i(e=u.pop());o=!1}function i(e,t){try{e()}catch(e){if(s)throw t&&t.exit(),setTimeout(n,0),t&&t.enter(),e;setTimeout(function(){throw e},0)}t&&t.exit()}var r={task:void 0,next:null},t=r,o=!1,a=void 0,s=!1,u=[];if(T=function(e){t=t.next={task:e,domain:s&&Y.domain,next:null},o||(o=!0,a())},"object"==(void 0===Y?"undefined":K(Y))&&"[object process]"===Y.toString()&&Y.nextTick)s=!0,a=function(){Y.nextTick(n)};else if("function"==typeof setImmediate)a="undefined"!=typeof window?setImmediate.bind(window,n):function(){setImmediate(n)};else if("undefined"!=typeof MessageChannel){var e=new MessageChannel;e.port1.onmessage=function(){a=l,(e.port1.onmessage=n)()};var l=function(){e.port2.postMessage(0)};a=function(){setTimeout(n,0),l()}}else a=function(){setTimeout(n,0)};return T.runAfter=function(e){u.push(e),o||(o=!0,a())},T}(),A=Function.call,P=e(Array.prototype.slice),R=e(Array.prototype.reduce||function(e,t){var n=0,i=this.length;if(1===arguments.length)for(;;){if(n in this){t=this[n++];break}if(++n>=i)throw new TypeError}for(;n<i;n++)n in this&&(t=e(t,this[n],n));return t}),x=e(Array.prototype.indexOf||function(e){for(var t=0;t<this.length;t++)if(this[t]===e)return t;return-1}),L=e(Array.prototype.map||function(i,r){var o=this,a=[];return R(o,function(e,t,n){a.push(i.call(r,t,n,o))},void 0),a}),I=Object.create||function(e){function t(){}return t.prototype=e,new t},U=Object.defineProperty||function(e,t,n){return e[t]=n.value,e},D=e(Object.prototype.hasOwnProperty),N=Object.keys||function(e){var t=[];for(var n in e)D(e,n)&&t.push(n);return t},M=e(Object.prototype.toString);S="undefined"!=typeof ReturnValue?ReturnValue:function(e){this.value=e};var F="From previous event:";(u.resolve=u).nextTick=T,u.longStackSupport=!1;var j=1;"object"==(void 0===Y?"undefined":K(Y))&&Y&&Y.env&&Y.env.Q_DEBUG&&(u.longStackSupport=!0),(u.defer=l).prototype.makeNodeResolver=function(){var n=this;return function(e,t){e?n.reject(e):2<arguments.length?n.resolve(P(arguments,1)):n.resolve(t)}},u.Promise=n,(u.promise=n).race=i,n.all=_,n.reject=f,(n.resolve=u).passByCopy=function(e){return e},c.prototype.passByCopy=function(){return this},u.join=function(e,t){return u(e).join(t)},c.prototype.join=function(e){return u([this,e]).spread(function(e,t){if(e===t)return e;throw new Error("Q can't join: not the same: "+e+" "+t)})},u.race=i,c.prototype.race=function(){return this.then(u.race)},(u.makePromise=c).prototype.toString=function(){return"[object Promise]"},c.prototype.then=function(t,n,r){var i=this,o=l(),a=!1;return u.nextTick(function(){i.promiseDispatch(function(e){a||(a=!0,o.resolve(function(e){try{return"function"==typeof t?t(e):e}catch(e){return f(e)}}(e)))},"when",[function(e){a||(a=!0,o.resolve(function(e){if("function"==typeof n){s(e,i);try{return n(e)}catch(e){return f(e)}}return f(e)}(e)))}])}),i.promiseDispatch(void 0,"when",[void 0,function(e){var t,n,i=!1;try{n=e,t="function"==typeof r?r(n):n}catch(e){if(i=!0,!u.onerror)throw e;u.onerror(e)}i||o.notify(t)}]),o.promise},u.tap=function(e,t){return u(e).tap(t)},c.prototype.tap=function(t){return t=u(t),this.then(function(e){return t.fcall(e).thenResolve(e)})},u.when=d,c.prototype.thenResolve=function(e){return this.then(function(){return e})},u.thenResolve=function(e,t){return u(e).thenResolve(t)},c.prototype.thenReject=function(e){return this.then(function(){throw e})},u.thenReject=function(e,t){return u(e).thenReject(t)},u.nearer=h,u.isPromise=p,u.isPromiseAlike=o,u.isPending=function(e){return p(e)&&"pending"===e.inspect().state},c.prototype.isPending=function(){return"pending"===this.inspect().state},u.isFulfilled=function(e){return!p(e)||"fulfilled"===e.inspect().state},c.prototype.isFulfilled=function(){return"fulfilled"===this.inspect().state},u.isRejected=function(e){return p(e)&&"rejected"===e.inspect().state},c.prototype.isRejected=function(){return"rejected"===this.inspect().state};var H,B=[],z=[],q=[],W=!0;u.resetUnhandledRejections=v,u.getUnhandledReasons=function(){return B.slice()},u.stopUnhandledRejectionTracking=function(){v(),W=!1},v(),u.reject=f,u.fulfill=m,u.master=function(n){return c({isDef:function(){}},function(e,t){return g(n,e,t)},function(){return u(n).inspect()})},u.spread=y,c.prototype.spread=function(t,e){return this.all().then(function(e){return t.apply(void 0,e)},e)},u.async=function(t){return function(){function e(e,t){var n;if("undefined"==typeof StopIteration){try{n=i[e](t)}catch(e){return f(e)}return n.done?u(n.value):d(n.value,r,o)}try{n=i[e](t)}catch(e){return function(e){return"[object StopIteration]"===M(e)||e instanceof S}(e)?u(e.value):f(e)}return d(n,r,o)}var i=t.apply(this,arguments),r=e.bind(e,"next"),o=e.bind(e,"throw");return r()}},u.spawn=function(e){u.done(u.async(e)())},u.return=function(e){throw new S(e)},u.promised=function(n){return function(){return y([this,_(arguments)],function(e,t){return n.apply(e,t)})}},u.dispatch=g,c.prototype.dispatch=function(e,t){var n=this,i=l();return u.nextTick(function(){n.promiseDispatch(i.resolve,e,t)}),i.promise},u.get=function(e,t){return u(e).dispatch("get",[t])},c.prototype.get=function(e){return this.dispatch("get",[e])},u.set=function(e,t,n){return u(e).dispatch("set",[t,n])},c.prototype.set=function(e,t){return this.dispatch("set",[e,t])},u.del=u.delete=function(e,t){return u(e).dispatch("delete",[t])},c.prototype.del=c.prototype.delete=function(e){return this.dispatch("delete",[e])},u.mapply=u.post=function(e,t,n){return u(e).dispatch("post",[t,n])},c.prototype.mapply=c.prototype.post=function(e,t){return this.dispatch("post",[e,t])},u.send=u.mcall=u.invoke=function(e,t){return u(e).dispatch("post",[t,P(arguments,2)])},c.prototype.send=c.prototype.mcall=c.prototype.invoke=function(e){return this.dispatch("post",[e,P(arguments,1)])},u.fapply=function(e,t){return u(e).dispatch("apply",[void 0,t])},c.prototype.fapply=function(e){return this.dispatch("apply",[void 0,e])},u.try=u.fcall=function(e){return u(e).dispatch("apply",[void 0,P(arguments,1)])},c.prototype.fcall=function(){return this.dispatch("apply",[void 0,P(arguments)])},u.fbind=function(e){var t=u(e),n=P(arguments,1);return function(){return t.dispatch("apply",[this,n.concat(P(arguments))])}},c.prototype.fbind=function(){var e=this,t=P(arguments);return function(){return e.dispatch("apply",[this,t.concat(P(arguments))])}},u.keys=function(e){return u(e).dispatch("keys",[])},c.prototype.keys=function(){return this.dispatch("keys",[])},u.all=_,c.prototype.all=function(){return _(this)},u.any=k,c.prototype.any=function(){return k(this)},u.allResolved=(H=E,function(){return"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn("allResolved is deprecated, use allSettled instead.",new Error("").stack),H.apply(H,arguments)}),c.prototype.allResolved=function(){return E(this)},u.allSettled=function(e){return u(e).allSettled()},c.prototype.allSettled=function(){return this.then(function(e){return _(L(e,function(e){function t(){return e.inspect()}return(e=u(e)).then(t,t)}))})},u.fail=u.catch=function(e,t){return u(e).then(void 0,t)},c.prototype.fail=c.prototype.catch=function(e){return this.then(void 0,e)},u.progress=function(e,t){return u(e).then(void 0,void 0,t)},c.prototype.progress=function(e){return this.then(void 0,void 0,e)},u.fin=u.finally=function(e,t){return u(e).finally(t)},c.prototype.fin=c.prototype.finally=function(t){if(!t||"function"!=typeof t.apply)throw new Error("Q can't apply finally callback");return t=u(t),this.then(function(e){return t.fcall().then(function(){return e})},function(e){return t.fcall().then(function(){throw e})})},u.done=function(e,t,n,i){return u(e).done(t,n,i)},c.prototype.done=function(e,t,n){var i=function(e){u.nextTick(function(){if(s(e,r),!u.onerror)throw e;u.onerror(e)})},r=e||t||n?this.then(e,t,n):this;"object"==(void 0===Y?"undefined":K(Y))&&Y&&Y.domain&&(i=Y.domain.bind(i)),r.then(void 0,i)},u.timeout=function(e,t,n){return u(e).timeout(t,n)},c.prototype.timeout=function(e,t){var n=l(),i=setTimeout(function(){t&&"string"!=typeof t||((t=new Error(t||"Timed out after "+e+" ms")).code="ETIMEDOUT"),n.reject(t)},e);return this.then(function(e){clearTimeout(i),n.resolve(e)},function(e){clearTimeout(i),n.reject(e)},n.notify),n.promise},u.delay=function(e,t){return void 0===t&&(t=e,e=void 0),u(e).delay(t)},c.prototype.delay=function(n){return this.then(function(e){var t=l();return setTimeout(function(){t.resolve(e)},n),t.promise})},u.nfapply=function(e,t){return u(e).nfapply(t)},c.prototype.nfapply=function(e){var t=l(),n=P(e);return n.push(t.makeNodeResolver()),this.fapply(n).fail(t.reject),t.promise},u.nfcall=function(e){var t=P(arguments,1);return u(e).nfapply(t)},c.prototype.nfcall=function(){var e=P(arguments),t=l();return e.push(t.makeNodeResolver()),this.fapply(e).fail(t.reject),t.promise},u.nfbind=u.denodeify=function(n){if(void 0===n)throw new Error("Q can't wrap an undefined function");var i=P(arguments,1);return function(){var e=i.concat(P(arguments)),t=l();return e.push(t.makeNodeResolver()),u(n).fapply(e).fail(t.reject),t.promise}},c.prototype.nfbind=c.prototype.denodeify=function(){var e=P(arguments);return e.unshift(this),u.denodeify.apply(void 0,e)},u.nbind=function(n,i){var r=P(arguments,2);return function(){var e=r.concat(P(arguments)),t=l();return e.push(t.makeNodeResolver()),u(function(){return n.apply(i,arguments)}).fapply(e).fail(t.reject),t.promise}},c.prototype.nbind=function(){var e=P(arguments,0);return e.unshift(this),u.nbind.apply(void 0,e)},u.nmapply=u.npost=function(e,t,n){return u(e).npost(t,n)},c.prototype.nmapply=c.prototype.npost=function(e,t){var n=P(t||[]),i=l();return n.push(i.makeNodeResolver()),this.dispatch("post",[e,n]).fail(i.reject),i.promise},u.nsend=u.nmcall=u.ninvoke=function(e,t){var n=P(arguments,2),i=l();return n.push(i.makeNodeResolver()),u(e).dispatch("post",[t,n]).fail(i.reject),i.promise},c.prototype.nsend=c.prototype.nmcall=c.prototype.ninvoke=function(e){var t=P(arguments,1),n=l();return t.push(n.makeNodeResolver()),this.dispatch("post",[e,t]).fail(n.reject),n.promise},u.nodeify=function(e,t){return u(e).nodeify(t)},c.prototype.nodeify=function(t){if(!t)return this;this.then(function(e){u.nextTick(function(){t(null,e)})},function(e){u.nextTick(function(){t(e)})})},u.noConflict=function(){throw new Error("Q.noConflict only works when Q is used as a global")};var V=t();return u})}).call(this,e("_process"))},{_process:1}],3:[function(e,t,n){function o(e){switch(void 0===e?"undefined":K(e)){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}}t.exports=function(n,i,r,e){return i=i||"&",r=r||"=",null===n&&(n=void 0),"object"==(void 0===n?"undefined":K(n))?Object.keys(n).map(function(e){var t=encodeURIComponent(o(e))+r;return Array.isArray(n[e])?n[e].map(function(e){return t+encodeURIComponent(o(e))}).join(i):t+encodeURIComponent(o(n[e]))}).join(i):e?encodeURIComponent(o(e))+r+encodeURIComponent(o(n)):""}},{}],4:[function(e,t,n){function i(e){return e&&e.__esModule?e:{default:e}}function r(n,i,r){return l.default.information("zip:checkout:init"),c.default.Promise(function(e,t){return n.onCheckout(e,t,{})}).then(function(e){var t=e.redirect_uri||e.redirectUri||e.data&&(e.data.redirect_uri||e.data.redirectUri);if(!t)return l.default.debug("zip:checkout:error","Response does not contain redirectUri property"),r(e),void n.onError({code:"checkout_error",message:"The response does not contain the redirectUri property",detail:e});l.default.debug("zip:checkout:success",e),i({redirectUri:t})}).catch(function(e){l.default.debug("zip:checkout:error",e),r(e),n.onError({code:"checkout_error",message:"Checkout response error",detail:e})})}Object.defineProperty(n,"__esModule",{value:!0}),n.Checkout=void 0;var o=function(e,t,n){return t&&p(e.prototype,t),n&&p(e,n),e},a=i(e("./modal")),s=i(e("./options")),u=i(e("./utility")),l=i(e("./console")),c=i((e("./events"),e("q"))),d=(o(h,null,[{key:"init",value:function(t){if("function"!=typeof Object.assign&&(Object.assign=function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");e=Object(e);for(var t=1;t<arguments.length;t++){var n=arguments[t];if(null!=n)for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}),t=A({},s.default,t),!this._validate(t))return l.default.setLevel(t.logLevel),t.redirect?r(t,function(e){return t.redirectFn(e.redirectUri)}):(e=t,(n=new a.default).onClose=e.onComplete.bind(e),n.build(),void r(e,function(e){return n.setUri(e.redirectUri)},function(e){return n.close(!1)}));var e,n}},{key:"attachButton",value:function(e,t){var n=document.querySelectorAll(e);if(!n.length)return config.onError({code:"attach_error",message:"Cannot find button to attach zipMoney checkout"});for(var i=0;i<n.length;i++)u.default.addEventHandler(n[i],"click",function(){return Zip.Checkout.init(t)})}},{key:"_validate",value:function(e){return["error","information","debug"].indexOf(e.logLevel.toLowerCase())<0&&(e.logLevel="error"),["standard","express"].indexOf(e.request.toLowerCase())<0&&(e.request="standard"),e.onComplete=e.onComplete||function(){},e.onError=e.onError||function(){},e.checkoutUri||e.onCheckout!==s.default.onCheckout?"express"===e.request?e.onError({code:"not_implemented",message:"This feature is not yet implemented"}):e.redirect||e.onComplete!==s.default.onComplete||e.redirectUri?void 0:e.onError({code:"validation",message:"if onComplete function is not specified then redirectUri must be specified"}):e.onError({code:"validation",message:"if onCheckout function is not specified then checkoutUri must be specified"})}}]),h);function h(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,h)}function p(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}n.Checkout=d},{"./console":5,"./events":6,"./modal":8,"./options":9,"./utility":10,q:2}],5:[function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0});var i="error",r={error:function(){var e;(e=window.console).log.apply(e,arguments)},information:function(){var e;"error"!==i&&(e=window.console).log.apply(e,arguments)},debug:function(){var e;"debug"===i&&(e=window.console).log.apply(e,arguments)},setLevel:function(e){i=e}};n.default=r},{}],6:[function(c,e,d){(function(i){Object.defineProperty(d,"__esModule",{value:!0}),d.EventListener=void 0;var e=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e},t=c("./utility");function r(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}if((t&&t.__esModule?t:{default:t}).default.isIe){var n=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n};n.prototype=i.Event.prototype,i.CustomEvent=n}var o={},a=d.EventListener=(e(s,null,[{key:"constructor",value:function(){o={}}},{key:"on",value:function(e,t){o[e]=t}},{key:"off",value:function(e){o[e]=null}}]),s);function s(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s)}a.Event=function(e,t){this.eventType=e,this.data=t||{}},a.Event.eventTypes={resize:"resize",transition:"transition",close:"close",complete:"complete",clear:"clear"};var u=window.addEventListener?"addEventListener":"attachEvent",l=window[u];l("attachEvent"==u?"onmessage":"message",function(e){var t,n;e.data.zipmoney&&(t=e.data.msg,n=new i.CustomEvent("zipmoney",{detail:t}),i.dispatchEvent(n))},!1),l("zipmoney",function(e){var t,n=e.detail.eventType,i=o[n];i?i(e.detail.data||{}):(t=e,console.log("Unexpected Event",t))},!1)}).call(this,void 0!==Ot?Ot:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utility":10}],7:[function(i,e,t){(function(e){var t=i("./checkout"),n=i("./events");e.Zip=e.Zip||{},e.Zip.Checkout=t.Checkout,e.zipMoneyEvent=n.EventListener.ZipEvent}).call(this,void 0!==Ot?Ot:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./checkout":4,"./events":6}],8:[function(e,t,n){function i(e){return e&&e.__esModule?e:{default:e}}function o(){return Math.max(document.documentElement.clientHeight,window.innerHeight||0)}function s(){var e=document.body,t=document.documentElement;return Math.max(e.scrollHeight,e.offsetHeight,t.clientHeight,t.scrollHeight,t.offsetHeight)}function u(e){for(var t=document.querySelectorAll("html, body"),n=0;n<t.length;n++)t[n].style.overflowY=e}function l(e){var t=document.body.currentStyle||window.getComputedStyle(document.body),n=e-(document.body.offsetHeight+(parseInt(t.marginTop,10)+parseInt(t.marginBottom,10))-parseInt(t.height,10));document.body.style.height=n+"px"}Object.defineProperty(n,"__esModule",{value:!0});var r=function(e,t,n){return t&&m(e.prototype,t),n&&m(e,n),e},a=i(e("./utility")),c=e("./events"),d=(i(e("./console")),{iframeWidth:400,iframeMinWidth:320,iframeInitialHeight:704,iframeMinHeight:600,verticalMargin:35}),h=["resize","transition","close","complete","clear"],p="https://d3k1w8lx8mqizo.cloudfront.net/zm/",v=(r(f,[{key:"build",value:function(){this._initialHtmlHeight=s(),window.scrollTo(0,0);var e,t,n,i,r,o=this._frame=(e=this._frameUri,t=this._isMobile,(n=document.createElement("iframe")).id="zipmoney-iframe",n.frameborder=0,A(n.style,{padding:"0",border:"none",zIndex:"999999",backgroundColor:"#FFF",backgroundImage:"url("+p+"spinner.gif)",backgroundRepeat:"no-repeat",backgroundPosition:"50% 50%"}),A(n.style,t?{overflow:"scroll",width:"100%",height:"100%",position:"absolute",top:"0",bottom:"0",left:"0",right:"0",margin:"0"}:{width:d.iframeWidth+"px",minWidth:d.iframeMinWidth+"px",height:d.iframeInitialHeight+"px",margin:d.verticalMargin+"px auto 0 auto",display:"table-row",backgroundSize:"25%",textAlign:"center",boxShadow:"0px 0px 70px 0px rgb(0, 0, 0)"}),n.src=e||"",n);if(!this._isMobile){var a=((r=document.createElement("img")).src=p+"icon-close.png",A(r.style,{width:"50px",height:"50px",position:"absolute",top:"20px",right:"20px",cursor:"pointer"}),r);a.onclick=this.close.bind(this),this._overlay=((i=document.createElement("div")).className="zipmoney-overlay",A(i.style,{position:"absolute",left:"0",top:"0",display:"table-cell",textAlign:"center",verticalAlign:"middle",background:"rgba(0, 0, 0, 0.75)",zIndex:"10000",height:"100%",width:"100%"}),i),this._overlay.appendChild(a),this._overlay.appendChild(this._frame),this._overlay.appendChild(function(){var e=document.createElement("div");e.style.width=d.iframeWidth+"px",e.style.minWidth=d.iframeMinWidth+"px",e.style.margin="10px auto 0 auto",e.style.overflow="hidden";var t=document.createElement("img");t.src=p+"iframe-secure.png",t.style.cssFloat="left";var n=document.createElement("img");return n.src=p+"poweredby-trans.png",n.style.cssFloat="right",e.appendChild(t),e.appendChild(n),e}()),o=this._overlay}document.body.appendChild(o),this._isMobile&&l(this._frame.offsetHeight),u("auto"),this._startMonitoringWindowResize()}},{key:"setUri",value:function(e){this._frameUri=e,this._frame&&(this._frame.src=e)}},{key:"resize",value:function(e){var t=this._isMobile?16:0,n=(e=d.iframeMinHeight<=e?e:d.iframeMinHeight,(e+=t)+2*d.verticalMargin),i=o();this._frame.style.height=e+"px",this._overlay&&(this._overlay.style.height=Math.max(i,this._initialHtmlHeight,n)+"px"),this._isMobile&&l(e)}},{key:"transition",value:function(){window.scroll(0,0)}},{key:"close",value:function(e){var t=!(0<arguments.length&&void 0!==e)||e,n={state:"cancelled"};this._events.length&&(n=this._events.pop()),this._destroy(),this.onClose&&t&&this.onClose(n)}},{key:"complete",value:function(e){this._events.push(e)}},{key:"clear",value:function(){this._events=[]}},{key:"_startMonitoringWindowResize",value:function(){var r=this;this._resizeHandler=a.default.debounce(function(){return e=r,t=o(),n=s(),i=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,e._overlay&&(e._overlay.style.height=Math.max(t,n)+"px"),void(e._isMobile||i<d.iframeWidth?e._frame.style.width="100%":e._frame.style.width=d.iframeWidth+"px");var e,t,n,i},250),a.default.addEventHandler(window,"resize",this._resizeHandler)}},{key:"_stopMonitoringWindowResize",value:function(){a.default.removeEventHandler(window,"resize",this._resizeHandler)}},{key:"_destroy",value:function(){this._stopMonitoringWindowResize(),this._overlay?document.body.removeChild(this._overlay):document.body.removeChild(this._frame),this._isMobile&&(document.body.style.height="initial"),u("initial"),this._overlay=this._frame=null,h.forEach(function(e){return c.EventListener.off(c.EventListener.Event.eventTypes[e])})}}]),f);function f(){var t=this;(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,f),this._events=[],this._isMobile=a.default.isMobileDevice(),h.forEach(function(e){return c.EventListener.on(c.EventListener.Event.eventTypes[e],t[e].bind(t))})}function m(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}n.default=v},{"./console":5,"./events":6,"./utility":10}],9:[function(e,t,n){function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var r=i(e("./xr")),o=i(e("./console"));r.default.configure({headers:{"X-Requested-With":"XMLHttpRequest"}});var a={request:"standard",redirect:!1,logLevel:"Error",onCheckout:function(t,e){r.default.post(this.checkoutUri).then(function(e){return t(e.data)}).catch(e)},onShippingAddressChanged:function(e,t){r.default.post(this.shippingUri).then(e).catch(t)},onComplete:function(e){if(o.default.information("zip:completed",e),"cancelled"!==e.state){var t=e.checkoutId?"&checkoutId="+e.checkoutId:"";this.redirectFn(this.redirectUri+"?result="+e.state+t)}},onError:function(e){o.default.error(e)},redirectFn:function(e){window.location.href=e}};n.default=a},{"./console":5,"./xr":11}],10:[function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0});var i=(function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e}(r,null,[{key:"isIe",value:function(){var e=-1,t=window.navigator.userAgent,n=t.indexOf("MSIE "),i=t.indexOf("Trident/");if(0<n)e=parseInt(t.substring(n+5,t.indexOf(".",n)),10);else if(0<i){var r=t.indexOf("rv:");e=parseInt(t.substring(r+3,t.indexOf(".",r)),10)}return-1<e?e:void 0}},{key:"isMobileDevice",value:function(){var e=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4))}},{key:"debounce",value:function(i,r){var o;return function(){var e=this,t=arguments,n=!o;clearTimeout(o),o=setTimeout(function(){o=null,i.apply(e,t)},r),n&&i.apply(e,t)}}},{key:"addEventHandler",value:function(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,n)}},{key:"removeEventHandler",value:function(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent&&e.detachEvent("on"+t,n)}}]),r);function r(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r)}function o(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}n.default=i},{}],11:[function(e,t,n){function i(e){return e&&e.__esModule?e:{default:e}}function u(e,t){return{status:e.status,response:e.response,data:t,xhr:e}}function l(e){for(var t=arguments.length,n=Array(1<t?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];for(var r in n)if({}.hasOwnProperty.call(n,r)){var o=n[r];if("object"===(void 0===o?"undefined":c(o)))for(var a in o)!{}.hasOwnProperty.call(o,a)||(e[a]=o[a])}return e}function r(s){return t=function(t,n){var i=l({},p,v,s),r=i.xmlHttpRequest();for(var e in i.abort&&s.abort(function(){n(u(r)),r.abort()}),r.open(i.method,i.params?i.url.split("?")[0]+"?"+(0,d.default)(i.params):i.url,!0),r.withCredentials=i.withCredentials,r.addEventListener(h.LOAD,function(){if(200<=r.status&&r.status<300){var e=null;r.responseText&&(e=!0===i.raw?r.responseText:i.load(r.responseText)),t(u(r,e))}else n(u(r))}),r.addEventListener(h.ABORT,function(){return n(u(r))}),r.addEventListener(h.ERROR,function(){return n(u(r))}),r.addEventListener(h.TIMEOUT,function(){return n(u(r))}),i.headers)!{}.hasOwnProperty.call(i.headers,e)||r.setRequestHeader(e,i.headers[e]);for(var o in i.events)!{}.hasOwnProperty.call(i.events,o)||r.addEventListener(o,i.events[o].bind(null,r),!1);var a="object"!==c(i.data)||i.raw?i.data:i.dump(i.data);void 0!==a?r.send(a):r.send()},((e=s)&&e.promise?e.promise:v.promise||p.promise)(t);var e,t}Object.defineProperty(n,"__esModule",{value:!0});var c="function"==typeof Symbol&&"symbol"==K(Symbol.iterator)?function(e){return void 0===e?"undefined":K(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":K(e)},d=i(e("querystring/encode")),o=i(e("q")),a={GET:"GET",POST:"POST",PUT:"PUT",DELETE:"DELETE",PATCH:"PATCH",OPTIONS:"OPTIONS"},h={READY_STATE_CHANGE:"readystatechange",LOAD_START:"loadstart",PROGRESS:"progress",ABORT:"abort",ERROR:"error",LOAD:"load",TIMEOUT:"timeout",LOAD_END:"loadend"},p={method:a.GET,data:void 0,headers:{Accept:"application/json","Content-Type":"application/json"},dump:JSON.stringify,load:JSON.parse,xmlHttpRequest:function(){return new XMLHttpRequest},promise:function(e){return o.default.Promise(e)},withCredentials:!1},v={};r.assign=l,r.encode=d.default,r.configure=function(e){v=l({},v,e)},r.Methods=a,r.Events=h,r.defaults=p,r.get=function(e,t,n){return r(l({url:e,method:a.GET,params:t},n))},r.put=function(e,t,n){return r(l({url:e,method:a.PUT,data:t},n))},r.post=function(e,t,n){return r(l({url:e,method:a.POST,data:t},n))},r.patch=function(e,t,n){return r(l({url:e,method:a.PATCH,data:t},n))},r.del=function(e,t){return r(l({url:e,method:a.DELETE},t))},r.options=function(e,t){return r(l({url:e,method:a.OPTIONS},t))},n.default=r},{q:2,"querystring/encode":3}]},{},[7])}));var Rt=(s(xt,pt),n(xt,[{key:"setEnv",value:function(e,t){a(xt.prototype.__proto__||Object.getPrototypeOf(xt.prototype),"setEnv",this).call(this,e,t),this.apiEnv.setEnv(e,t)}},{key:"getCheckoutUri",value:function(e){return this.apiEnv.getConf().url+"/v1/echo?"+G.serialize({json_body:JSON.stringify({redirect_uri:e})})}}]),xt);function xt(){l(this,xt);var e=c(this,(xt.__proto__||Object.getPrototypeOf(xt)).call(this));return e.apiEnv=new V(H),e}var Lt,It=(Lt=ft(Rt),s(Ut,Lt),n(Ut,[{key:"run",value:function(){this.runs=!0,this.background.initLoader()}},{key:"isRunning",value:function(){return this.runs}},{key:"next",value:function(e){var t=this;this.background.clear(),this.checkout=e;var n=this.getCheckoutUri(this.checkout.link);Zip.Checkout.init({checkoutUri:n,onComplete:function(e){return t.eventHandler(e)},onError:function(e){return t.eventHandler(e)}})}},{key:"getSuccessRedirectUri",value:function(){return this.suspendedRedirectUri?this.suspendedRedirectUri:this.widgetEnv.getConf().url+String("/checkout/zipmoney/suspended")}},{key:"getErrorRedirectUri",value:function(){return this.getSuccessRedirectUri()}},{key:"stop",value:function(){a(Ut.prototype.__proto__||Object.getPrototypeOf(Ut.prototype),"stop",this).call(this),this.runs=!1;var e=document.querySelector(".zipmoney-overlay");e&&e.remove(),this.eventEmitter.emit(dt.CLOSE)}},{key:"onStop",value:function(e){var t=this;this.eventEmitter.subscribe(dt.CLOSE,function(){t.background.clear(),e()})}},{key:"onCheckout",value:function(e,t){var n=this;this.eventEmitter.subscribe(e,function(){t(n.checkout)})}},{key:"eventHandler",value:function(e){switch(this.runs=!1,e.state){case"approved":this.eventEmitter.emit(dt.CLOSE),this.eventEmitter.emit(dt.SUCCESS);break;case"declined":this.eventEmitter.emit(dt.CLOSE),this.eventEmitter.emit(dt.DECLINED);break;case"cancelled":this.eventEmitter.emit(dt.CLOSE);break;case"referred":this.eventEmitter.emit(dt.CLOSE),this.eventEmitter.emit(dt.REFERRED);break;default:console.warn("[CheckoutButton:Zipmoney] Unknown gateway status.")}}}]),Ut);function Ut(){l(this,Ut);var e=c(this,(Ut.__proto__||Object.getPrototypeOf(Ut)).call(this));return e.runs=!1,e.eventEmitter=new tt,e}var Dt,Nt="[Paydock:StorageDispatcher]";(Dt||(Dt={})).WIDGET_SESSION="widget-session";var Mt=(n(Ft,[{key:"create",value:function(e){var t=0<arguments.length&&void 0!==e&&e;if(this.dispatcherFrame&&!t)return this.dispatcherFrame;this.dispatcherFrame&&this.destroy();var n=document.createElement("iframe");return n.setAttribute("src",this.env.getConf().url+"/storage-dispatcher"),n.setAttribute("id","pd-storage-dispatcher"),n.style.display="none",document.body.appendChild(n),this.dispatcherFrame=n,console.info(Nt+" initialized."),n}},{key:"destroy",value:function(){this.dispatcherFrame&&this.dispatcherFrame.parentNode&&(this.dispatcherFrame.parentNode.removeChild(this.dispatcherFrame),this.dispatcherFrame=void 0)}},{key:"push",value:function(e){var t;if(this.dispatcherFrame){var n=A(A({},this.defaultPayload),e);null!==(t=this.dispatcherFrame.contentWindow)&&void 0!==t&&t.postMessage(n,this.env.getConf().url)}else console.error(Nt+" dispatcher is not initialized.")}},{key:"setEnv",value:function(e,t){this.env.setEnv(e,t),this.create(!0)}}]),Ft);function Ft(e){l(this,Ft),this.messageSource=e,this.defaultPayload={destination:"widget.paydock"},this.env=new V(j),this.defaultPayload.source=e}var jt,Ht=(jt=function(e){return s(t,0<arguments.length&&void 0!==e?e:pt),n(t,[{key:"setRedirectUrl",value:function(e){this.merchantRedirectUrl=e}},{key:"getRedirectUrl",value:function(){return this.merchantRedirectUrl}},{key:"error",value:function(e,t,n){n(!1)}}]),t;function t(){return l(this,t),c(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}}(Rt),s(Bt,jt),n(Bt,[{key:"getProxyRedirectUrl",value:function(){return this.widgetEnv.getConf().url+"/checkout/zipmoney/response"}},{key:"next",value:function(e,t){this.storageDispatcher.create();var n={merchant_redirect_url:this.getRedirectUrl(),checkout_token:e.token,public_key:t.public_key,gateway_id:t.gateway_id};this.storageDispatcher.push({intent:Dt.WIDGET_SESSION,data:n});var i=this.getCheckoutUri(e.link);Zip.Checkout.init({checkoutUri:i,redirect:!0})}},{key:"getSuccessRedirectUri",value:function(){return this.getProxyRedirectUrl()}},{key:"getErrorRedirectUri",value:function(){return this.getProxyRedirectUrl()}},{key:"setEnv",value:function(e,t){a(Bt.prototype.__proto__||Object.getPrototypeOf(Bt.prototype),"setEnv",this).call(this,e,t),this.storageDispatcher.setEnv(e,t)}}]),Bt);function Bt(){l(this,Bt);var e=c(this,(Bt.__proto__||Object.getPrototypeOf(Bt)).call(this));return e.storageDispatcher=new Mt("zipmoney.checkout.paydock"),e}var zt=(s(qt,wt),n(qt,[{key:"getSuccessRedirectUri",value:function(){return this.widgetEnv.getConf().url+G.extendSearchParams("/checkout/success","merchant",encodeURIComponent(window.location.href))}},{key:"getErrorRedirectUri",value:function(){return this.widgetEnv.getConf().url+G.extendSearchParams("/checkout/error","merchant",encodeURIComponent(window.location.href))}}]),qt);function qt(){return l(this,qt),c(this,(qt.__proto__||Object.getPrototypeOf(qt)).apply(this,arguments))}var Wt=(s(Vt,wt),n(Vt,[{key:"getSuccessRedirectUri",value:function(){return this.widgetEnv.getConf().url+"/checkout/afterpay/merchant/{{merchant}}/success".replace("{{merchant}}",encodeURIComponent(window.btoa(window.location.href)))}},{key:"getErrorRedirectUri",value:function(){return this.widgetEnv.getConf().url+"/checkout/afterpay/merchant/{{merchant}}/error".replace("{{merchant}}",encodeURIComponent(window.btoa(window.location.href)))}},{key:"next",value:function(e,t){this.checkout=e,ot.isSupportPopUp()||window.localStorage.setItem("paydock_checkout_token",JSON.stringify(this.checkout)),this.popup.redirect(this.getRedirectUrl(this.checkout,t))}},{key:"error",value:function(e,t,n){return!t||t&&"invalid_amount"!==t?n(!0):(this.popup.initError(e),n(!1))}},{key:"run",value:function(){this.isRunning()||(this.popup.setConfigs({width:420,height:715}),this.popup.init(),this.background.initControl())}},{key:"getRedirectUrl",value:function(e,t){return this.widgetEnv.getConf().url+"/checkout/afterpay/init?"+G.serialize(A(A({},t),{token:e.reference_id,env:"live"===e.mode?"live":"test"}))}}]),Vt);function Vt(){return l(this,Vt),c(this,(Vt.__proto__||Object.getPrototypeOf(Vt)).apply(this,arguments))}var Yt={EXTERNAL_CHECKOUT_TOKEN:"external_checkout_token",CHECKOUT_TOKEN:"checkout_token",BANK_ACCOUNT:"bank_account",CARD:"card"},Kt=(s(Gt,Je),n(Gt,[{key:"getLink",value:function(){return"/v1/payment_sources/tokens"}},{key:"send",value:function(e,n,t){var i=2<arguments.length&&void 0!==t?t:function(e){};this.create(e,this.getConfigs(),function(e,t){return n(e)},function(e,t){void 0===e.message?i("unknown error"):i(e.message)})}},{key:"getConfigs",value:function(){return this.body}}]),Gt);function Gt(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:Yt.CARD;l(this,Gt);var i=c(this,(Gt.__proto__||Object.getPrototypeOf(Gt)).call(this));switch(i.body={gateway_id:e,type:n},n){case Yt.CARD:case Yt.BANK_ACCOUNT:delete t.gateway_id,delete t.type,delete t.checkout_token,i.body=A(i.body,t);break;case Yt.CHECKOUT_TOKEN:case Yt.EXTERNAL_CHECKOUT_TOKEN:i.body.checkout_token=t;break;default:throw new Error("Unsupported type of PaymentSourceToken")}return i}var Jt=(n(Xt,[{key:"init",value:function(e){var t=this;this.setEnv(e),this.runner.onCheckout(dt.SUCCESS,function(e){t.eventEmitter.emit(Ke.ACCEPTED,{}),t.background.initLoader(),t.runner.stop(),t.checkToken(e.token,function(){t.createOneTimeToken(e.token)})}),this.runner.onCheckout(dt.ERROR,function(){t.eventEmitter.emit(Ke.ERROR),console.error(Ge+" Error from checkout server."),t.runner.stop()}),this.runner.onCheckout(dt.REFERRED,function(){t.eventEmitter.emit(Ke.REFERRED),t.runner.stop()}),this.runner.onCheckout(dt.DECLINED,function(){t.eventEmitter.emit(Ke.DECLINED),t.runner.stop()}),this.eventEmitter.subscribe(Ke.ERROR,function(){t.runner.stop()}),this.eventEmitter.subscribe(Ke.FINISH,function(e){t.background.clear()})}},{key:"setEnv",value:function(e){this.env=e}},{key:"checkToken",value:function(e,t){var n=this,i=new $e(e);i.setEnv(this.env),i.send(this.params.accessToken,function(e){n.details=e,t()},function(){n.eventEmitter.emit(Ke.ERROR,{}),console.error(Ge+" Error during creating payment source token.")})}},{key:"createOneTimeToken",value:function(e){var t=this,n=new Kt(this.params.gatewayId,e,Yt.CHECKOUT_TOKEN);n.setEnv(this.env),n.send(this.params.accessToken,function(e){t.eventEmitter.emit(Ke.FINISH,{payment_source_token:e,checkout_email:t.details.checkout_email,checkout_holder:t.details.checkout_holder,gateway_type:t.details.gateway_type})},function(){t.eventEmitter.emit(Ke.ERROR,{}),console.error(Ge+" Error during creating payment source token.")})}}]),Xt);function Xt(e,t,n,i){var r=this;l(this,Xt),this.background=e,this.runner=t,this.eventEmitter=n,this.params=i,this.runner.onStop(function(){r.eventEmitter.emit(Ke.CLOSE)})}var Zt=(n(Qt,[{key:"chooseRunner",value:function(e,t){var n=this.getRunnerByMode(e,t);this.runner=new n(this.accessToken),Ct(this.runner)?(this.background=new lt,this.checkoutHandler=new Jt(this.background,this.runner,this.eventEmitter,{accessToken:this.accessToken,gatewayId:this.gatewayId}),this.checkoutHandler.init(this.env)):(this.background=void 0,this.checkoutHandler=void 0)}},{key:"buildAdditionalParams",value:function(){return{}}},{key:"initCheckout",value:function(e){var n=this;e.on("click",function(e){if(Ct(n.runner)){if(n.runner.isRunning())return;n.runner.run()}else if(St(n.runner)&&!n.runner.getRedirectUrl())throw Error(Ge+" The merchant redirect URL should is required in the '"+n.mode+"' mode.");n.eventEmitter.emit(Ke.CLICK);var t=new Ze(n.gatewayId,n.runner.getSuccessRedirectUri(),n.runner.getErrorRedirectUri());t.setMeta(n.meta),t.setEnv(n.env),t.send(n.accessToken,function(e){var t=Ct(n.runner)?Ke.POPUP_REDIRECT:Ke.REDIRECT;n.eventEmitter.emit(t),n.runner.next(e,n.buildAdditionalParams())},function(e,t){console.error(Ge+" "+e),n.eventEmitter.emit(Ke.ERROR,{error:e,code:t}),n.runner.error(e,t,function(e){e&&n.close()})})})}},{key:"on",value:function(e,t){this.eventEmitter.subscribe(e,t)}},{key:"close",value:function(){this.assertMethodSupport(this.runner,qe.CONTEXTUAL)&&this.runner.stop()}},{key:"onFinishInsert",value:function(t,n){this.on(Ke.FINISH,function(e){Se.insertToInput(t,n,e)})}},{key:"setMeta",value:function(e){this.meta=A(this.meta,e)}},{key:"setBackdropDescription",value:function(e){this.assertMethodSupport(this.runner,qe.CONTEXTUAL)&&this.runner.setBackgroundDescription(e)}},{key:"setBackdropTitle",value:function(e){this.assertMethodSupport(this.runner,qe.CONTEXTUAL)&&this.runner.setBackgroundTitle(e)}},{key:"setSuspendedRedirectUri",value:function(e){this.assertMethodSupport(this.runner,qe.CONTEXTUAL)&&this.runner.setSuspendedRedirectUri(e)}},{key:"setRedirectUrl",value:function(e){this.assertMethodSupport(this.runner,qe.REDIRECT)&&this.runner.setRedirectUrl(e)}},{key:"getSuccessRedirectUri",value:function(){return this.runner.getSuccessRedirectUri()}},{key:"turnOffBackdrop",value:function(){this.turnOffControlBackdrop(),this.turnOffLoaderBackdrop()}},{key:"turnOffControlBackdrop",value:function(){this.assertMethodSupport(this.runner,qe.CONTEXTUAL)&&this.runner.turnOffBackdrop()}},{key:"turnOffLoaderBackdrop",value:function(){var e;null!==(e=this.background)&&void 0!==e&&e.turnOffLoader()}},{key:"setEnv",value:function(e,t){var n;this.env=e,this.alias=t,null!==(n=this.checkoutHandler)&&void 0!==n&&n.setEnv(e),this.runner.setEnv(e,t)}},{key:"getEnv",value:function(){return this.env}},{key:"getRunnerByMode",value:function(e,t){if(e===Ve.PAYPAL){if(t===qe.REDIRECT)throw Error(Ge+" Gateway '"+e+"' do not support '"+t+"' mode");return zt}if(e===Ve.AFTERPAY){if(t===qe.REDIRECT)throw Error(Ge+" Gateway '"+e+"' do not support '"+t+"' mode");return Wt}if(e===Ve.ZIPMONEY)return t===qe.CONTEXTUAL?It:Ht;throw Error(Ge+" Unsupported gateway.")}},{key:"assertMethodSupport",value:function(e,t){var n=Ge+" The method is not supported in the '"+t+"' mode.";switch(t){case qe.CONTEXTUAL:if(Ct(e))return!0;console.warn(n);break;case qe.REDIRECT:if(St(e))return!0;console.warn(n)}return!1}}]),Qt);function Qt(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default",i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:Ve.PAYPAL,r=4<arguments.length&&void 0!==arguments[4]?arguments[4]:qe.CONTEXTUAL;l(this,Qt),this.accessToken=t,this.gatewayId=n,this.gatewayType=i,this.mode=r,this.window=window,this.meta={},this.env=z,this.eventEmitter=new tt,this.container=new Te(e),this.initCheckout(this.container),this.chooseRunner(i,r)}var $t=(s(en,Zt),n(en,[{key:"setSuspendedRedirectUri",value:function(e){a(en.prototype.__proto__||Object.getPrototypeOf(en.prototype),"setSuspendedRedirectUri",this).call(this,e)}},{key:"setRedirectUrl",value:function(e){Ct(this.runner)&&(a(en.prototype.__proto__||Object.getPrototypeOf(en.prototype),"chooseRunner",this).call(this,Ve.ZIPMONEY,qe.REDIRECT),a(en.prototype.__proto__||Object.getPrototypeOf(en.prototype),"setEnv",this).call(this,this.env,this.alias)),a(en.prototype.__proto__||Object.getPrototypeOf(en.prototype),"setRedirectUrl",this).call(this,e)}},{key:"buildAdditionalParams",value:function(){var e=a(en.prototype.__proto__||Object.getPrototypeOf(en.prototype),"buildAdditionalParams",this).call(this);return A(A({},e),{public_key:this.publicKey,gateway_id:this.gatewayId})}}]),en);function en(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default",i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:qe.CONTEXTUAL;l(this,en);var r=c(this,(en.__proto__||Object.getPrototypeOf(en)).call(this,e,t,n,Ve.ZIPMONEY,i));return r.publicKey=t,r.gatewayId=n,r.mode=i,r}var tn=(s(nn,Zt),n(nn,[{key:"showEnhancedTrackingProtectionPopup",value:function(e){var t=ot.getBrowserInfo(),n=t.name,i=t.version;e&&"Firefox"===n&&100<=+i&&(this.showETP=!0)}},{key:"buildAdditionalParams",value:function(){var e=a(nn.prototype.__proto__||Object.getPrototypeOf(nn.prototype),"buildAdditionalParams",this).call(this);return this.showETP&&(e.show_etp=!0),e}}]),nn);function nn(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default";l(this,nn);var i=c(this,(nn.__proto__||Object.getPrototypeOf(nn)).call(this,e,t,n,Ve.AFTERPAY));return i.accessToken=t,i.gatewayId=n,i.showETP=!1,i}var rn,on,an=(s(sn,Zt),sn);function sn(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default";l(this,sn);var i=c(this,(sn.__proto__||Object.getPrototypeOf(sn)).call(this,e,t,n,Ve.PAYPAL));return i.publicKey=t,i.gatewayId=n,i}(on=rn=rn||{}).AFTER_LOAD="after_load",on.UNAVAILABLE="unavailable",on.START_LOADING="start_loading",on.END_LOADING="end_loading",on.UPDATE="update",on.PAYMENT_SUCCESSFUL="payment_successful",on.PAYMENT_IN_REVIEW="payment_in_review",on.PAYMENT_ERROR="payment_error";var un=(s(ln,Le),n(ln,[{key:"on",value:function(e,t,n){for(var i in rn)rn.hasOwnProperty(i)&&e===rn[i]&&this.listeners.push({event:e,listener:n,widget_id:t})}}]),ln);function ln(){return l(this,ln),c(this,(ln.__proto__||Object.getPrototypeOf(ln)).apply(this,arguments))}var cn={CLOSE:"close",UPDATED:"updated"},dn=(s(hn,De),n(hn,[{key:"push",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(this.iFrame.isExist()){-1===te.values(cn).indexOf(e)&&console.warn("unsupported trigger type");var i={message_source:"wallet.paydock",reference_id:this.widgetId,trigger:e,destination:"widget.paydock",data:n};this.iFrame.getElement().contentWindow.postMessage(JSON.stringify(i),"*")}}}]),hn);function hn(e,t){l(this,hn);var n=c(this,(hn.__proto__||Object.getPrototypeOf(hn)).call(this,e));return n.widgetId=t,n}var pn=(s(vn,lt),n(vn,[{key:"initControl",value:function(){this.imageStyle||this.createImageStyles(),a(vn.prototype.__proto__||Object.getPrototypeOf(vn.prototype),"initControl",this).call(this)}},{key:"clear",value:function(){this.imageStyle&&this.imageStyle.parentNode.removeChild(this.imageStyle),this.imageStyle=null,a(vn.prototype.__proto__||Object.getPrototypeOf(vn.prototype),"clear",this).call(this)}},{key:"createTemplate",value:function(){var e=this,t=document.body||document.getElementsByTagName("body")[0],n=String('\n <div class="checkout-container">\n <div class="checkout-bg-logo"></div>\n <a href="#" data-close>Close</a>\n </div>\n');this.overlay=document.createElement("div"),this.overlay.classList.add("checkout-overlay"),this.overlay.setAttribute("checkout-overlay"," "),this.overlay.innerHTML=n,t.appendChild(this.overlay),setTimeout(function(){e.isInit()&&e.overlay.classList.add("display")},5)}},{key:"createImageStyles",value:function(){var e=document.head||document.getElementsByTagName("head")[0],t=String("\n .checkout-bg-logo {\n display: block;\n background: url({{url}}) no-repeat;\n width: 100px;\n height: 50px;\n margin: 0 auto;\n border-radius: 10px;\n background-size: contain;\n }\n");document.querySelector(".checkout-container"),t=t.replace("{{url}}",this.bgImageUrl),this.imageStyle=document.createElement("style"),this.imageStyle.type="text/css",this.imageStyle.appendChild(document.createTextNode(t)),e.appendChild(this.imageStyle)}}]),vn);function vn(e){l(this,vn);var t=c(this,(vn.__proto__||Object.getPrototypeOf(vn)).call(this));return t.bgImageUrl=e,t.imageStyle=null,t}var fn={UNAVAILABLE:"unavailable",UPDATE:"update",PAYMENT_METHOD_SELECTED:"payment_method_selected",PAYMENT_SUCCESS:"payment_success",PAYMENT_IN_REVIEW:"payment_in_review",PAYMENT_ERROR:"payment_error",CALLBACK:"callback"},mn=(n(yn,[{key:"initializeChildWallets",value:function(){this.childWallets=[]}},{key:"getGatewayName",value:function(){throw new Error("Method not implemented")}},{key:"setEnv",value:function(e){return this.env=e,this}},{key:"load",value:function(t){this.childWallets.forEach(function(e){return e.load(t)})}},{key:"update",value:function(){}},{key:"on",value:function(e,t){var n=this;if(-1===te.values(fn).indexOf(e))throw new Error("invalid wallet event");return"function"==typeof t?this.eventEmitter.subscribe(e,t):new Promise(function(t){return n.eventEmitter.subscribe(e,function(e){return t(e)})})}}]),yn);function yn(e,t){l(this,yn),this.publicKey=e,this.meta=t,this.env=z,this.eventEmitter=new tt,this.initializeChildWallets()}var gn=(s(_n,mn),n(_n,[{key:"load",value:function(e){this.container=e,this.iFrame=new Pe(this.container);var t=this.link.getParams().widget_id;this.triggerElement=new dn(this.iFrame,t),this.setupIFrameEvents(t),this.background=this.initBackground(),this.iFrame.load(this.link.getUrl())}},{key:"close",value:function(){this.triggerElement.push(cn.CLOSE),this.background.clear()}},{key:"update",value:function(e){this.triggerElement.push(cn.UPDATED,e)}},{key:"setEnv",value:function(e){return this.link.setEnv(e),this}},{key:"initBackground",value:function(){var e=this,t=new pn(this.link.getNetUrl().replace(Q,"/images/logo.png"));return t.setBackdropTitle(""),t.setBackdropDescription(""),t.onTrigger(st,function(){return e.triggerElement.push(cn.CLOSE)}),t}},{key:"setupIFrameEvents",value:function(e){var t=this;this.event.on(rn.UNAVAILABLE,e,function(e){return t.eventEmitter.emit(fn.UNAVAILABLE,null)}),this.event.on(rn.START_LOADING,e,function(e){return t.background.initControl()}),this.event.on(rn.END_LOADING,e,function(e){return t.background.clear()}),this.event.on(rn.UPDATE,e,function(e){t.eventEmitter.emit(fn.UPDATE,t.parseUpdateData(e))}),this.event.on(rn.PAYMENT_SUCCESSFUL,e,function(e){t.eventEmitter.emit(fn.PAYMENT_SUCCESS,t.parsePaymentSuccessfulData(e)),t.iFrame.getElement()||t.background.clear()}),this.event.on(rn.PAYMENT_IN_REVIEW,e,function(e){t.eventEmitter.emit(fn.PAYMENT_IN_REVIEW,t.parsePaymentSuccessfulData(e)),t.iFrame.getElement()||t.background.clear()}),this.event.on(rn.PAYMENT_ERROR,e,function(e){t.eventEmitter.emit(fn.PAYMENT_ERROR,e),t.iFrame.getElement()||t.background.clear()})}},{key:"parsePaymentSuccessfulData",value:function(e){var t;return{id:this.meta.id,amount:e.amount,currency:e.currencyCode,status:null===(t=e.charge)||void 0===t?void 0:t.status}}},{key:"parseUpdateData",value:function(e){return A(A(A({wallet_response_code:e.responseCode,wallet_session_id:e.sessionId},e.paymentMethodDetails?{payment_source:{wallet_payment_method_id:e.paymentMethodDetails.paymentMethodId,card_number_last4:e.paymentMethodDetails.lastFourDigitsOfPan,card_scheme:e.paymentMethodDetails.paymentScheme}}:{}),e.loyaltyAccountSummary?{wallet_loyalty_account:{id:e.loyaltyAccountSummary.loyaltyAccountId,barcode:e.loyaltyAccountSummary.loyaltyAccountBarcode}}:{}),e.deliveryAddressDetails?{shipping:{address_line1:e.deliveryAddressDetails.line1,address_line2:e.deliveryAddressDetails.line2,address_postcode:e.deliveryAddressDetails.postalCode,address_city:e.deliveryAddressDetails.city,address_state:e.deliveryAddressDetails.state,address_country:e.deliveryAddressDetails.countryCode,address_company:e.deliveryAddressDetails.companyName,wallet_address_id:e.deliveryAddressDetails.addressId,post_office_box_number:e.deliveryAddressDetails.postOfficeBoxNumber,wallet_address_created_timestamp:e.deliveryAddressDetails.createdTimestamp,wallet_address_updated_timestamp:e.deliveryAddressDetails.updatedTimestamp,wallet_address_name:e.deliveryAddressDetails.name}}:{})}}]),_n);function _n(e,t){l(this,_n);var n=c(this,(_n.__proto__||Object.getPrototypeOf(_n)).call(this,e,t));n.link=new $(Q);var i=t.amount,r=t.currency,o=t.id,a=t.gateway_mode,s=t.reference,u=t.request_shipping;return n.link.setParams(A({token:e,amount:i,currency:r,gateway_mode:a,credentials:s||o},u?{request_shipping:u}:{})),n.token=e,n.event=new un(window),n}var kn=(s(En,mn),n(En,[{key:"load",value:function(e){var t,r=this;if(!window.Promise)return this.eventEmitter.emit(fn.UNAVAILABLE,null),Promise.resolve();var n=(null===(t=e.getElement())||void 0===t?void 0:t.id)||"",i=document.createElement("script");return i.src="https://www.paypal.com/sdk/js?client-id="+this.publicKey+"¤cy="+this.meta.currency+(!0===this.meta.pay_later?"&enable-funding=paylater&disable-funding=card":"&disable-funding=credit,card")+(this.meta.capture?"":"&intent=authorize"),i.async=!0,i.onload=function(){window.paypal?(r.paypal=window.paypal,r.paypal.Buttons(A(A({},r.meta.style&&{style:r.meta.style}),{createOrder:function(){return new Promise(function(t,n){r.eventEmitter.emit(fn.CALLBACK,{data:A({request_type:"CREATE_TRANSACTION"},r.meta.request_shipping&&{request_shipping:r.meta.request_shipping}),onSuccess:function(e){return t(e.id)},onError:function(e){return n(e)}})})},onShippingChange:function(i){return new Promise(function(e,t){var n=r.parseUpdateData(i);r.latestShippingData=n.shipping,r.latestShippingChangePromiseResolve=e,r.latestShippingChangePromiseReject=t,r.eventEmitter.emit(fn.UPDATE,n)})},onApprove:function(n){return r.pendingApprovalPromise=r.pendingApprovalPromise||new Promise(function(e,t){return r.eventEmitter.emit(fn.PAYMENT_METHOD_SELECTED,{data:{payment_method_id:n.orderID,customer:{payment_source:{external_payer_id:n.payerID}}},onSuccess:function(){r.pendingApprovalPromise=void 0,e(!0)},onError:function(e){r.pendingApprovalPromise=void 0,t(e)}})}),r.pendingApprovalPromise},onError:function(){}})).render("#"+n)):r.eventEmitter.emit(fn.UNAVAILABLE,null)},document.head.appendChild(i),Promise.resolve()}},{key:"update",value:function(e){var t=this;if(this.latestShippingChangePromiseResolve&&this.latestShippingChangePromiseReject)return e.success?void this.eventEmitter.emit(fn.CALLBACK,{data:{request_type:"UPDATE_TRANSACTION",shipping:this.latestShippingData},onSuccess:function(){return t.latestShippingChangePromiseResolve(!0)},onError:function(){return t.latestShippingChangePromiseReject()}}):this.latestShippingChangePromiseReject()}},{key:"parseUpdateData",value:function(e){var t;return A(A({wallet_order_id:e.orderID,wallet_session_id:e.paymentID,payment_source:{wallet_payment_method_id:e.paymentToken}},e.shipping_address&&{shipping:{address_city:e.shipping_address.city,address_state:e.shipping_address.state,address_postcode:e.shipping_address.postal_code,address_country:e.shipping_address.country_code}}),e.selected_shipping_option&&{selected_shipping_option:{id:e.selected_shipping_option.id,label:e.selected_shipping_option.label,amount:e.selected_shipping_option.amount.value,currency:e.selected_shipping_option.amount.currency_code,type:null===(t=e.selected_shipping_option)||void 0===t?void 0:t.type}})}}]),En);function En(){return l(this,En),c(this,(En.__proto__||Object.getPrototypeOf(En)).apply(this,arguments))}var wn=Pt(function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"===K(Symbol.iterator)?function(e){return void 0===e?"undefined":K(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":K(e)})(e)}Object.defineProperty(t,"__esModule",{value:!0});function r(i){return null!==l?l:l=new Promise(function(e,t){if("undefined"!=typeof window)if(window.Stripe&&i&&console.warn(u),window.Stripe)e(window.Stripe);else try{var n=function(){for(var e=document.querySelectorAll('script[src^="'.concat(a,'"]')),t=0;t<e.length;t++){var n=e[t];if(s.test(n.src))return n}return null}();n&&i?console.warn(u):n=n||function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="".concat(a).concat(t);var i=document.head||document.body;if(!i)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return i.appendChild(n),n}(i),n.addEventListener("load",function(){window.Stripe?e(window.Stripe):t(new Error("Stripe.js not available"))}),n.addEventListener("error",function(){t(new Error("Failed to load Stripe.js"))})}catch(e){return void t(e)}else e(null)})}function i(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];c=!0;var i=Date.now();return r(o).then(function(e){return function(e,t,n){if(null===e)return null;var i,r,o=e.apply(void 0,t);return r=n,(i=o)&&i._registerWrapper&&i._registerWrapper({name:"stripe-js",version:"1.11.0",startTime:r}),o}(e,t,i)})}var o,a="https://js.stripe.com/v3",s=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,u="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",l=null,c=!1;i.setLoadParameters=function(e){if(c)throw new Error("You cannot change load parameters after calling loadStripe");o=function(e){var t="invalid load parameters; expected object of shape\n\n {advancedFraudSignals: boolean}\n\nbut received\n\n ".concat(JSON.stringify(e),"\n");if(null===e||"object"!==n(e))throw new Error(t);if(1===Object.keys(e).length&&"boolean"==typeof e.advancedFraudSignals)return e;throw new Error(t)}(e)},t.loadStripe=i});At(wn);wn.loadStripe;var bn=wn.loadStripe,Cn="success",Sn="fail",On=(s(Tn,mn),n(Tn,[{key:"initPaymentRequest",value:function(){return this.stripe.paymentRequest({country:this.meta.country.toUpperCase(),currency:this.meta.currency.toLowerCase(),total:{label:this.meta.amount_label,amount:Math.floor(100*this.meta.amount)},requestPayerName:!0===this.meta.request_payer_name,requestPayerEmail:!0===this.meta.request_payer_email,requestPayerPhone:!0===this.meta.request_payer_phone})}},{key:"createWalletButton",value:function(){return this.stripe.elements().create("paymentRequestButton",{paymentRequest:this.paymentRequest})}},{key:"load",value:function(t){var n=this;return bn(this.publicKey).then(function(e){n.stripe=e,n.paymentRequest=n.initPaymentRequest()}).then(function(){return n.checkAvailability()}).then(function(e){return n.mount(t,e)}).then(function(){return n.setOnPaymentMethodSelected()})}},{key:"checkAvailability",value:function(){var i=this;return this.paymentRequest.canMakePayment().then(function(e){if(e){var t=!i.meta.wallets||i.meta.wallets.includes(oe.GOOGLE),n=!i.meta.wallets||i.meta.wallets.includes(oe.APPLE);return{google_pay:t&&!e.applePay,apple_pay:n&&e.applePay,flypay:!1}}})}},{key:"mount",value:function(e,t){if(!t||!t.apple_pay&&!t.google_pay)return this.eventEmitter.emit(fn.UNAVAILABLE,null);this.createWalletButton().mount(e.getElement())}},{key:"setOnPaymentMethodSelected",value:function(){var c=this;this.paymentRequest.on("paymentmethod",function(e){var t,n,i=e.paymentMethod,r=i.id,o=i.card,a=i.billing_details,s=a.name,u=a.address,l={payment_method_id:r,customer:{payer_name:e.payerName,payer_email:e.payerEmail,payer_phone:e.payerPhone,payment_source:{wallet_type:c.getWalletType(null===(t=null==o?void 0:o.wallet)||void 0===t?void 0:t.type),card_name:s,type:null===(n=null==o?void 0:o.wallet)||void 0===n?void 0:n.type,card_scheme:null==o?void 0:o.brand,card_number_last4:null==o?void 0:o.last4,expire_month:null==o?void 0:o.exp_month,expire_year:null==o?void 0:o.exp_year,address_line1:u.line1,address_line2:u.line2,address_city:u.city,address_postcode:u.postal_code,address_state:u.state,address_country:u.country}}};c.eventEmitter.emit(fn.PAYMENT_METHOD_SELECTED,{data:l,onSuccess:function(){return e.complete(Cn)},onError:function(){return e.complete(Sn)}})})}},{key:"getWalletType",value:function(e){return e?"google_pay"===e?oe.GOOGLE:oe.APPLE:null}}]),Tn);function Tn(){return l(this,Tn),c(this,(Tn.__proto__||Object.getPrototypeOf(Tn)).apply(this,arguments))}var An=(s(Pn,mn),n(Pn,[{key:"getGatewayName",value:function(){return this.gatewayName}},{key:"getMerchantId",value:function(){var e,t,n;return(null===(n=null===(t=null===(e=this.meta)||void 0===e?void 0:e.credentials)||void 0===t?void 0:t[oe.APPLE])||void 0===n?void 0:n.merchant)||""}},{key:"getMetaStyles",value:function(){var e,t,n;if(null!==(e=this.meta)&&void 0!==e&&e.style&&"object"===K(null===(t=this.meta)||void 0===t?void 0:t.style)){var i=JSON.parse(JSON.stringify(null===(n=this.meta)||void 0===n?void 0:n.style));return"google"in i&&(null==i||delete i.google),"apple"in i?null==i?void 0:i.apple:i}return null}},{key:"getMetaRawDataInitialization",value:function(){var e,t,n,i;if(null!==(e=this.meta)&&void 0!==e&&e.raw_data_initialization&&null!==(t=this.meta)&&void 0!==t&&t.raw_data_initialization&&"object"===K(null===(n=this.meta)||void 0===n?void 0:n.raw_data_initialization)){var r=JSON.parse(JSON.stringify(null===(i=this.meta)||void 0===i?void 0:i.raw_data_initialization));return"google"in r&&(null==r||delete r.google),"apple"in r?null==r?void 0:r.apple:r}return null}},{key:"isShippingRequired",value:function(){var e;return null===(e=this.meta)||void 0===e?void 0:e.request_shipping}},{key:"hasShippingOptions",value:function(){var e,t;return(null===(e=this.meta)||void 0===e?void 0:e.request_shipping)&&!(null===(t=this.meta)||void 0===t||!t.shipping_options)}},{key:"load",value:function(n){var i=this;if(window.Promise)return this.checkAvailability().then(function(e){var t;e?(i.isShippingRequired()&&i.hasShippingOptions()&&(i.selectedShippingOption=null===(t=i.meta)||void 0===t?void 0:t.shipping_options[0],i.latestShippingData.shippingMethod=i.formatShippingOptions([i.selectedShippingOption])[0]),i.mount(n)):i.eventEmitter.emit(fn.UNAVAILABLE,{wallet:oe.APPLE})}).catch(function(e){return console.error("Error checking ApplePay availability",e)});this.eventEmitter.emit(fn.UNAVAILABLE,{wallet:oe.APPLE})}},{key:"update",value:function(e){var t,n,i;if(this.latestShippingChangePromiseResolve&&this.latestShippingChangePromiseReject){if(!e.success||!e.body)return this.latestShippingChangePromiseReject();var r=null===(t=null==e?void 0:e.body)||void 0===t?void 0:t.amount,o=null===(n=null==e?void 0:e.body)||void 0===n?void 0:n.shipping_options;r&&(this.meta.amount=r),o&&(this.meta.shipping_options=o,this.selectedShippingOption=o?o[0]:void 0);var a=A({newTotal:{label:null===(i=this.meta)||void 0===i?void 0:i.amount_label,amount:this.meta.amount.toString(),type:"final"}},this.isShippingRequired()&&this.hasShippingOptions()&&{newShippingMethods:this.formatShippingOptions(this.meta.shipping_options)});this.paymentSession.completeShippingContactSelection(a),this.latestShippingChangePromiseResolve({})}}},{key:"checkAvailability",value:function(){var n=this;return new Promise(function(t,e){window.ApplePaySession&&ApplePaySession||t(!1),ApplePaySession.canMakePaymentsWithActiveCard(n.getMerchantId()).then(function(e){return t(e)}).catch(function(e){return t(!1)})})}},{key:"mount",value:function(e){var t=this,n=document.createElement("style");n.innerHTML=this.createButtonStyle(),document.head.appendChild(n);var i=document.createElement("div");i.onclick=function(){return t.onApplePayButtonClicked()},i.classList.add("paydock-apple-container","apple-pay-button","apple-pay-button-black"),e.getElement().appendChild(i)}},{key:"onApplePayButtonClicked",value:function(){this.paymentSession=new ApplePaySession(3,this.createRequest()),this.paymentSession.onvalidatemerchant=this.onValidateMerchant,this.paymentSession.onpaymentauthorized=this.onPaymentAuthorized,this.paymentSession.onshippingcontactselected=this.onShippingContactSelected,this.paymentSession.onshippingmethodselected=this.onShippingMethodSelected,this.paymentSession.begin()}},{key:"createRequest",value:function(){var e,t=this.getMetaRawDataInitialization();return t&&"object"===(void 0===t?"undefined":K(t))&&("object"===K(t.total)?t.total.amount=this.meta.amount.toString():t.total={label:(null===(e=this.meta)||void 0===e?void 0:e.amount_label)||"",amount:this.meta.amount.toString()},this.isShippingRequired()&&this.hasShippingOptions()&&(t.shippingMethods=this.formatShippingOptions(this.meta.shipping_options))),t||A(A(A({countryCode:this.meta.country.toUpperCase(),currencyCode:this.meta.currency.toUpperCase(),merchantCapabilities:["supports3DS","supportsCredit","supportsDebit"],supportedNetworks:["visa","masterCard","amex","discover"]},this.meta.show_billing_address&&{requiredBillingContactFields:["name","postalAddress"]}),this.isShippingRequired()&&A({requiredShippingContactFields:["postalAddress","name","phone","email"]},this.hasShippingOptions()&&{shippingMethods:this.formatShippingOptions(this.meta.shipping_options)})),{total:{label:this.meta.amount_label,amount:this.meta.amount.toString(),type:"final"}})}},{key:"getMerchantSession",value:function(){var e=this;return new Promise(function(t,n){return e.eventEmitter.emit(fn.CALLBACK,{data:A({request_type:"CREATE_SESSION",wallet_type:oe.APPLE,session_id:window.location.hostname},e.isShippingRequired()&&{request_shipping:e.meta.request_shipping}),onSuccess:function(e){return t(e)},onError:function(e){return n(e)}})})}},{key:"createButtonStyle",value:function(){var e,t;return"\n .paydock-apple-container {\n width: 100%;\n height: 40px;\n }\n\n @supports (-webkit-appearance: -apple-pay-button) {\n .apple-pay-button {\n display: inline-block;\n -webkit-appearance: -apple-pay-button;\n -apple-pay-button-type: "+((null===(e=this.getMetaStyles())||void 0===e?void 0:e.button_type)||"plain")+"\n }\n .apple-pay-button-black {\n -apple-pay-button-style: black;\n }\n .apple-pay-button-white {\n -apple-pay-button-style: white;\n }\n .apple-pay-button-white-with-line {\n -apple-pay-button-style: white-outline;\n }\n }\n\n @supports not (-webkit-appearance: -apple-pay-button) {\n .apple-pay-button {\n display: inline-block;\n background-size: 100% 60%;\n background-repeat: no-repeat;\n background-position: 50% 50%;\n border-radius: 5px;\n padding: 0px;\n box-sizing: border-box;\n min-width: 200px;\n min-height: 32px;\n max-height: 64px;\n -apple-pay-button-type: "+((null===(t=this.getMetaStyles())||void 0===t?void 0:t.button_type)||"plain")+"\n }\n .apple-pay-button-black {\n background-image: -webkit-named-image(apple-pay-logo-white);\n background-color: black;\n }\n .apple-pay-button-white {\n background-image: -webkit-named-image(apple-pay-logo-black);\n background-color: white;\n }\n .apple-pay-button-white-with-line {\n background-image: -webkit-named-image(apple-pay-logo-black);\n background-color: white;\n border: .5px solid black;\n }\n }\n "}}]),Pn);function Pn(e,t,n,i){l(this,Pn);var u=c(this,(Pn.__proto__||Object.getPrototypeOf(Pn)).call(this,e,t));return u.gatewayName=n,u.eventEmitter=i,u.latestShippingData={},u.onValidateMerchant=function(e){u.getMerchantSession().then(function(e){u.paymentSession.completeMerchantValidation(e)}).catch(function(e){return console.error("Error fetching merchant session",e)})},u.onPaymentAuthorized=function(e){var t,n=e.payment,i=n.token,r=n.billingContact,o=n.shippingContact;u.latestShippingData.shippingContact=o;var a=null===(t=u.selectedShippingOption)||void 0===t?void 0:t.type,s=[null==o?void 0:o.givenName,null==o?void 0:o.familyName].join(" ").trim();u.eventEmitter.emit(fn.PAYMENT_METHOD_SELECTED,{data:A({customer:{payment_source:A(A({wallet_type:oe.APPLE},s&&{card_name:s}),{type:i.paymentMethod.type,card_scheme:i.paymentMethod.network,address_line1:null==r?void 0:r.addressLines[0],address_line2:null==r?void 0:r.addressLines[1],address_country:null==r?void 0:r.countryCode,address_city:null==r?void 0:r.locality,address_postcode:null==r?void 0:r.postalCode,address_state:null==r?void 0:r.administrativeArea,ref_token:i.paymentData?JSON.stringify(i.paymentData):""})}},u.meta.request_shipping&&o&&{shipping:A(A(A({},a&&{method:a}),u.hasShippingOptions()&&{options:u.meta.shipping_options}),{address_line1:o.addressLines[0],address_line2:o.addressLines[1],address_country:o.countryCode,address_city:o.locality,address_postcode:o.postalCode,address_state:o.administrativeArea,contact:{first_name:o.givenName,last_name:o.familyName,email:o.emailAddress,phone:o.phoneNumber}})}),onSuccess:function(){return u.paymentSession.completePayment(ApplePaySession.STATUS_SUCCESS)},onError:function(){return u.paymentSession.completePayment(ApplePaySession.STATUS_FAILURE)}})},u.onShippingContactSelected=function(e){u.latestShippingData.shippingContact=e.shippingContact;var t=u.parseUpdateData(u.latestShippingData);return u.eventEmitter.emit(fn.UPDATE,t),new Promise(function(e,t){u.latestShippingChangePromiseResolve=e,u.latestShippingChangePromiseReject=t})},u.onShippingMethodSelected=function(e){var t,n;u.latestShippingData.shippingMethod=e.shippingMethod;var i={newTotal:{label:u.meta.amount_label||(null===(n=null===(t=u.getMetaRawDataInitialization())||void 0===t?void 0:t.total)||void 0===n?void 0:n.label),amount:u.meta.amount.toString(),type:"final"}};u.paymentSession.completeShippingMethodSelection(i)},u.parseUpdateData=function(e){var t,n,i,r,o,a,s,u;return A({shipping:{address_city:null===(t=null==e?void 0:e.shippingContact)||void 0===t?void 0:t.locality,address_state:null===(n=null==e?void 0:e.shippingContact)||void 0===n?void 0:n.administrativeArea,address_postcode:null===(i=null==e?void 0:e.shippingContact)||void 0===i?void 0:i.postalCode,address_country:null===(r=null==e?void 0:e.shippingContact)||void 0===r?void 0:r.countryCode}},(null==e?void 0:e.shippingMethod)&&{selected_shipping_option:{id:null===(o=null==e?void 0:e.shippingMethod)||void 0===o?void 0:o.identifier,label:null===(a=null==e?void 0:e.shippingMethod)||void 0===a?void 0:a.label,detail:null===(s=null==e?void 0:e.shippingMethod)||void 0===s?void 0:s.detail,amount:null===(u=null==e?void 0:e.shippingMethod)||void 0===u?void 0:u.amount}})},u.formatShippingOptions=function(e){return e.map(function(e){return{identifier:e.id,label:e.label,detail:(null==e?void 0:e.detail)||"",amount:e.amount}})},u.eventEmitter=i,u}var Rn=(s(xn,mn),n(xn,[{key:"getGatewayName",value:function(){return this.gatewayName}},{key:"getMerchantId",value:function(){var e,t,n;return null===(n=null===(t=null===(e=this.meta)||void 0===e?void 0:e.credentials)||void 0===t?void 0:t[oe.GOOGLE])||void 0===n?void 0:n.merchant}},{key:"getMetaStyles",value:function(){var e,t,n,i;return"object"===K(null===(e=this.meta)||void 0===e?void 0:e.style)&&"google"in(null===(t=this.meta)||void 0===t?void 0:t.style)?null===(i=null===(n=this.meta)||void 0===n?void 0:n.style)||void 0===i?void 0:i.google:null}},{key:"getMetaRawDataInitialization",value:function(){var e,t,n,i,r;return null!==(e=this.meta)&&void 0!==e&&e.raw_data_initialization&&"object"===K(null===(t=this.meta)||void 0===t?void 0:t.raw_data_initialization)&&"google"in(null===(n=this.meta)||void 0===n?void 0:n.raw_data_initialization)?null===(r=null===(i=this.meta)||void 0===i?void 0:i.raw_data_initialization)||void 0===r?void 0:r.google:null}},{key:"isShippingRequired",value:function(){return this.meta.request_shipping}},{key:"hasShippingOptions",value:function(){return this.meta.request_shipping&&!!this.meta.shipping_options}},{key:"load",value:function(a){var s=this;if(window.Promise)return new Promise(function(r,o){var e=document.createElement("script");e.type="text/javascript",e.src="https://pay.google.com/gp/p/js/pay.js",e.async=!0,e.onload=function(){var e,t,n,i;if(!window.google)return s.eventEmitter.emit(fn.UNAVAILABLE,{wallet:oe.GOOGLE}),void o();s.isShippingRequired()&&s.hasShippingOptions()&&(s.selectedShippingOption=null===(e=s.meta)||void 0===e?void 0:e.shipping_options[0]),s.paymentsClient=new google.payments.api.PaymentsClient(A({merchantInfo:A(A({},null!==(t=s.meta)&&void 0!==t&&t.merchant_name?{merchantName:null===(n=s.meta)||void 0===n?void 0:n.merchant_name}:{}),{merchantId:s.getMerchantId()}),paymentDataCallbacks:A({onPaymentAuthorized:function(e){return s.onPaymentAuthorized(e)}},s.isShippingRequired()&&{onPaymentDataChanged:function(e){return s.onPaymentDataChanged(e)}})},"live"===(null===(i=s.meta)||void 0===i?void 0:i.gateway_mode)?{environment:"PRODUCTION"}:{environment:"TEST"})),s.checkAvailability().then(function(e){if(!e)return s.eventEmitter.emit(fn.UNAVAILABLE,{wallet:oe.GOOGLE}),void o();s.mount(a),r()})},document.head.appendChild(e)});this.eventEmitter.emit(fn.UNAVAILABLE,{wallet:oe.GOOGLE})}},{key:"update",value:function(e){var t,n,i,r;if(this.latestShippingChangePromiseResolve&&this.latestShippingChangePromiseReject){if(!e.success)return this.latestShippingChangePromiseReject();var o=(null===(t=null==e?void 0:e.body)||void 0===t?void 0:t.amount)||this.meta.amount,a=(null===(n=null==e?void 0:e.body)||void 0===n?void 0:n.shipping_options)||this.meta.shipping_options;o&&(this.meta.amount=o),a&&(this.meta.shipping_options=a,this.selectedShippingOption=a?a[0]:void 0);var s=A({newTransactionInfo:{totalPriceStatus:"FINAL",totalPriceLabel:this.meta.amount_label,totalPrice:null===(i=this.meta.amount)||void 0===i?void 0:i.toString(),currencyCode:this.meta.currency.toUpperCase(),countryCode:this.meta.country.toUpperCase()}},this.isShippingRequired()&&this.hasShippingOptions()&&{newShippingOptionParameters:{defaultSelectedOptionId:null===(r=this.selectedShippingOption)||void 0===r?void 0:r.id,shippingOptions:this.formatShippingOptions(this.meta.shipping_options)}});this.latestShippingChangePromiseResolve(s)}}},{key:"checkAvailability",value:function(){return this.paymentsClient.isReadyToPay(this.createRequest()).then(function(e){return!!e.result}).catch(function(e){return console.error("Error checking GooglePay availability",e),!1})}},{key:"mount",value:function(e){var t,n,i,r=this;e.getElement().appendChild(this.paymentsClient.createButton({onClick:function(){return r.loadPaymentData()},buttonType:(null===(t=this.getMetaStyles())||void 0===t?void 0:t.button_type)||"pay",buttonSizeMode:(null===(n=this.getMetaStyles())||void 0===n?void 0:n.button_size_mode)||"fill",buttonColor:(null===(i=this.getMetaStyles())||void 0===i?void 0:i.button_color)||"default"}))}},{key:"loadPaymentData",value:function(){this.paymentsClient.loadPaymentData(this.createPaymentDataRequest()).catch(function(){console.error("Error while loading payment data")})}},{key:"onPaymentAuthorized",value:function(E){var e,t,n,i,r,o,a,s,u,w=this,b=null===(n=null===(t=null===(e=E.paymentMethodData)||void 0===e?void 0:e.info)||void 0===t?void 0:t.billingAddress)||void 0===n?void 0:n.address1,C=null===(o=null===(r=null===(i=E.paymentMethodData)||void 0===i?void 0:i.info)||void 0===r?void 0:r.billingAddress)||void 0===o?void 0:o.address2,S=null===(a=null==E?void 0:E.shippingAddress)||void 0===a?void 0:a.address1,O=null===(s=null==E?void 0:E.shippingAddress)||void 0===s?void 0:s.address2,T=null===(u=this.selectedShippingOption)||void 0===u?void 0:u.type;return new Promise(function(t){var e,n,i,r,o,a,s,u,l,c,d,h,p,v,f,m,y,g,_,k;return w.eventEmitter.emit(fn.PAYMENT_METHOD_SELECTED,{data:A({customer:{payment_source:A(A(A(A({wallet_type:oe.GOOGLE,type:E.paymentMethodData.type,card_scheme:null===(n=null===(e=E.paymentMethodData)||void 0===e?void 0:e.info)||void 0===n?void 0:n.cardNetwork},b&&{address_line1:b}),C&&{address_line2:C}),C&&{address_line2:C}),{address_country:null===(o=null===(r=null===(i=E.paymentMethodData)||void 0===i?void 0:i.info)||void 0===r?void 0:r.billingAddress)||void 0===o?void 0:o.countryCode,address_city:null===(u=null===(s=null===(a=E.paymentMethodData)||void 0===a?void 0:a.info)||void 0===s?void 0:s.billingAddress)||void 0===u?void 0:u.locality,address_postcode:null===(d=null===(c=null===(l=E.paymentMethodData)||void 0===l?void 0:l.info)||void 0===c?void 0:c.billingAddress)||void 0===d?void 0:d.postalCode,address_state:null===(v=null===(p=null===(h=E.paymentMethodData)||void 0===h?void 0:h.info)||void 0===p?void 0:p.billingAddress)||void 0===v?void 0:v.administrativeArea,ref_token:E.paymentMethodData.tokenizationData.token})}},w.isShippingRequired()&&{shipping:A(A(A(A(A({},T&&{method:T}),w.hasShippingOptions()&&{options:w.meta.shipping_options}),S&&{address_line1:S}),O&&{address_line2:O}),{address_country:null===(f=null==E?void 0:E.shippingAddress)||void 0===f?void 0:f.countryCode,address_city:null===(m=null==E?void 0:E.shippingAddress)||void 0===m?void 0:m.locality,address_postcode:null===(y=null==E?void 0:E.shippingAddress)||void 0===y?void 0:y.postalCode,address_state:null===(g=null==E?void 0:E.shippingAddress)||void 0===g?void 0:g.administrativeArea,contact:{first_name:null===(_=null==E?void 0:E.shippingAddress)||void 0===_?void 0:_.name,email:null==E?void 0:E.email,phone:null===(k=null==E?void 0:E.shippingAddress)||void 0===k?void 0:k.phoneNumber}})}),onSuccess:function(){return t({transactionState:"SUCCESS"})},onError:function(e){return t({transactionState:"ERROR",error:{intent:"PAYMENT_AUTHORIZATION",message:e,reason:"PAYMENT_DATA_INVALID"}})}})})}},{key:"onPaymentDataChanged",value:function(e){var n=this;if(this.isShippingRequired()){var t=this.parseUpdateData(e);return this.eventEmitter.emit(fn.UPDATE,t),new Promise(function(e,t){n.latestShippingChangePromiseResolve=e,n.latestShippingChangePromiseReject=t})}}},{key:"createRequest",value:function(){return{apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[this.createCardData()],existingPaymentMethodRequired:!0}}},{key:"createPaymentDataRequest",value:function(){var e,t,n,i;this.isShippingRequired()&&this.hasShippingOptions()&&(this.selectedShippingOption=null===(e=this.meta)||void 0===e?void 0:e.shipping_options[0]);var r=this.getMerchantId();return A({apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[A(A({},this.createCardData()),{tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:"paydock",gatewayMerchantId:r}}})],transactionInfo:{totalPriceStatus:"FINAL",totalPriceLabel:this.meta.amount_label,totalPrice:this.meta.amount.toString(),currencyCode:this.meta.currency.toUpperCase(),countryCode:this.meta.country.toUpperCase()},merchantInfo:A(A({},null!==(t=this.meta)&&void 0!==t&&t.merchant_name?{merchantName:null===(n=this.meta)||void 0===n?void 0:n.merchant_name}:{}),{merchantId:r}),callbackIntents:["PAYMENT_AUTHORIZATION"].concat(o(this.isShippingRequired()?["SHIPPING_ADDRESS"]:[]),o(this.hasShippingOptions()?["SHIPPING_OPTION"]:[]))},this.isShippingRequired()&&A({shippingAddressRequired:!0},this.hasShippingOptions()&&{shippingOptionRequired:!0,shippingOptionParameters:{defaultSelectedOptionId:null===(i=this.selectedShippingOption)||void 0===i?void 0:i.id,shippingOptions:this.formatShippingOptions(this.meta.shipping_options)}}))}},{key:"createCardData",value:function(){return this.getMetaRawDataInitialization()||{type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],billingAddressRequired:!!this.meta.show_billing_address}}}}]),xn);function xn(e,t,n,i){l(this,xn);var u=c(this,(xn.__proto__||Object.getPrototypeOf(xn)).call(this,e,t));return u.gatewayName=n,u.eventEmitter=i,u.parseUpdateData=function(n){var e,t,i,r,o,a,s=null===(t=null===(e=u.meta)||void 0===e?void 0:e.shipping_options)||void 0===t?void 0:t.find(function(e){var t;return e.id===(null===(t=null==n?void 0:n.shippingOptionData)||void 0===t?void 0:t.id)});return A({shipping:{address_city:null===(i=n.shippingAddress)||void 0===i?void 0:i.locality,address_state:null===(r=n.shippingAddress)||void 0===r?void 0:r.administrativeArea,address_postcode:null===(o=null==n?void 0:n.shippingAddress)||void 0===o?void 0:o.postalCode,address_country:null===(a=null==n?void 0:n.shippingAddress)||void 0===a?void 0:a.countryCode}},s&&{selected_shipping_option:{id:null==s?void 0:s.id,label:null==s?void 0:s.label,detail:null==s?void 0:s.detail,type:null==s?void 0:s.type}})},u.formatShippingOptions=function(e){return e.map(function(e){return{id:e.id,label:e.label,description:(null==e?void 0:e.detail)||""}})},u.eventEmitter=i,u}var Ln,In,Un=(s(Dn,mn),n(Dn,[{key:"initializeChildWallets",value:function(){var e,t,n,i,r,o;this.childWallets=[];var a=!(null===(n=null===(t=null===(e=this.meta)||void 0===e?void 0:e.credentials)||void 0===t?void 0:t.apple)||void 0===n||!n.merchant),s=!(null===(o=null===(r=null===(i=this.meta)||void 0===i?void 0:i.credentials)||void 0===r?void 0:r.google)||void 0===o||!o.merchant);!a||this.meta.wallets&&!this.meta.wallets.includes(oe.APPLE)||this.childWallets.push(new An(this.publicKey,this.meta,this.getGatewayName(),this.eventEmitter)),!s||this.meta.wallets&&!this.meta.wallets.includes(oe.GOOGLE)||this.childWallets.push(new Rn(this.publicKey,this.meta,this.getGatewayName(),this.eventEmitter))}},{key:"getGatewayName",value:function(){return ie.MASTERCARD}},{key:"setEnv",value:function(t){return this.childWallets.forEach(function(e){return e.setEnv(t)}),this}},{key:"update",value:function(t){this.childWallets.forEach(function(e){return e.update(t)})}}]),Dn);function Dn(){return l(this,Dn),c(this,(Dn.__proto__||Object.getPrototypeOf(Dn)).apply(this,arguments))}(In=Ln=Ln||{})[In.PUBLIC_KEY=0]="PUBLIC_KEY",In[In.TOKEN=1]="TOKEN";var Nn=(n(Mn,[{key:"setEnv",value:function(e,t){return this.env.setEnv(e,t),this}},{key:"setAuthType",value:function(){return this.authType=h.validateJWT(this.auth)?Ln.TOKEN:Ln.PUBLIC_KEY}},{key:"getClient",value:function(e,t){var i=this,r=new XMLHttpRequest;return r.open(e,this.env.getConf().url+t,!0),r.setRequestHeader("Content-Type","application/json; charset=UTF-8"),this.setAuthHeader(r),{config:r,send:function(e,t,n){r.onload=function(){return i.parser({text:r.responseText,status:r.status},t,n)},r.send(JSON.stringify(e))}}}},{key:"getClientPromise",value:function(e,t){var i=this,r=new XMLHttpRequest;return r.open(e,this.env.getConf().url+t,!0),r.setRequestHeader("Content-Type","application/json; charset=UTF-8"),this.setAuthHeader(r),{config:r,send:function(n){return new Promise(function(e,t){r.onload=function(){return e({text:r.responseText,status:r.status})},r.send(JSON.stringify(n))}).then(function(e){return i.parserPromise(e)})}}}},{key:"parser",value:function(e,t,n){var i=e.text,r=e.status;try{var o=JSON.parse(i);if(200<=r&&r<300||302===r)return t(o.resource.data);n(o.error||{message:"unknown error"})}catch(e){}}},{key:"parserPromise",value:function(e){var t=e.text,n=e.status;try{var i=JSON.parse(t);return 200<=n&&n<300||302===n?Promise.resolve(i.resource.data):Promise.reject(i.error||{message:"unknown error"})}catch(e){return Promise.reject(e)}}},{key:"setAuthHeader",value:function(e){switch(this.authType){case Ln.PUBLIC_KEY:e.setRequestHeader("x-user-public-key",this.auth);break;case Ln.TOKEN:e.setRequestHeader("x-access-token",this.auth)}}}]),Mn);function Mn(e,t){l(this,Mn),this.auth=e,this.authType=t||this.setAuthType(),this.env=new V(H)}var Fn=(n(jn,[{key:"walletCapture",value:function(e){return this.api.getClientPromise("POST","/v1/charges/wallet/capture").send(e)}},{key:"walletCallback",value:function(e){return this.api.getClientPromise("POST","/v1/charges/wallet/callback").send(e)}},{key:"standalone3dsProcess",value:function(e){return this.api.getClientPromise("POST","/v1/charges/standalone-3ds/process").send(e)}},{key:"standalone3dsHandle",value:function(){return this.api.getClientPromise("GET","/v1/charges/standalone-3ds/handle").send(void 0)}}]),jn);function jn(e){l(this,jn),this.api=e}var Hn,Bn=(n(zn,[{key:"getConfig",value:function(e){var t="/v1/services/:service_id/config".replace(":service_id",e);return this.api.getClientPromise("GET",t).send(void 0)}}]),zn);function zn(e){l(this,zn),this.api=e}(Hn||(Hn={})).VISA_SRC="VisaSRC";var qn=(s(Wn,Nn),n(Wn,[{key:"charge",value:function(){return new Fn(this)}},{key:"service",value:function(){return new Bn(this)}}]),Wn);function Wn(){return l(this,Wn),c(this,(Wn.__proto__||Object.getPrototypeOf(Wn)).apply(this,arguments))}var Vn=(s(Yn,mn),n(Yn,[{key:"load",value:function(e){this.storageDispatcher.create(),this.mount(e)}},{key:"setEnv",value:function(e){return a(Yn.prototype.__proto__||Object.getPrototypeOf(Yn.prototype),"setEnv",this).call(this,e),this.storageDispatcher.setEnv(e),this}},{key:"mount",value:function(e){var t,n,i,r,o=this,a={};null!==(t=this.meta)&&void 0!==t&&t.style&&"object"===K(null===(n=this.meta)||void 0===n?void 0:n.style)&&(a=JSON.parse(JSON.stringify((null===(i=this.meta)||void 0===i?void 0:i.style.afterpay)||(null===(r=this.meta)||void 0===r?void 0:r.style))));var s=this.getButton(a);s.onclick=function(){return o.onAfterPayButtonClicked()};var u=this.getButtonStyle(a);e.getElement().appendChild(s),e.getElement().appendChild(u)}},{key:"onAfterPayButtonClicked",value:function(){var r=this;return this.storageDispatcher.push({intent:Dt.WIDGET_SESSION,data:{token:this.token}}),new Promise(function(){var e,t,n=document.createElement("script"),i=null===(e=r.meta)||void 0===e?void 0:e.country;n.type="text/javascript",n.src="live"===(null===(t=r.meta)||void 0===t?void 0:t.gateway_mode)?"https://portal.afterpay.com/afterpay.js":"https://portal.sandbox.afterpay.com/afterpay.js",n.async=!0,n.defer=!0,n.onload=function(){window.AfterPay.initialize({countryCode:i}),r.getCheckoutSession().then(function(e){window.AfterPay.redirect({token:e.ref_token})}).catch(function(e){window.AfterPay.close(),r.eventEmitter.emit(fn.UNAVAILABLE,{err:e})})},document.head.appendChild(n)})}},{key:"getCheckoutSession",value:function(){var e=this;return new Promise(function(t,n){return e.eventEmitter.emit(fn.CALLBACK,{data:{request_type:"CREATE_SESSION",wallet_type:oe.AFTERPAY},onSuccess:function(e){t(e)},onError:function(e){n(e)}})})}},{key:"getButton",value:function(e){var t=document.createElement("button");return t.classList.add("afterpay-checkout-btn"),t.setAttribute("type","button"),t.innerHTML='\n <div class="afterpay-checkout-btn__wrapper">\n <svg viewBox="0 0 390 94"\n height="'+this.getHeight(e)+'"\n xmlns="http://www.w3.org/2000/svg">\n <g fill="currentColor">\n <path\n d="M388.6 21.4l-34.8 71.8h-14.4l13-26.8-20.5-45h14.8l13.2 30.1 14.3-30.1zM41 46.9c0-8.6-6.2-14.6-13.9-14.6s-13.9 6.1-13.9 14.6c0 8.4 6.2 14.6 13.9 14.6 7.6 0 13.9-6.1 13.9-14.6m.1 25.5v-6.6c-3.8 4.6-9.4 7.4-16.1 7.4C11 73.2.4 62 .4 46.9c0-15 11-26.4 24.9-26.4 6.5 0 12 2.9 15.8 7.3v-6.4h12.5v51H41.1zM114.6 61.1c-4.4 0-5.6-1.6-5.6-5.9V32.5h8.1V21.4H109V8.9H96.1v12.4H79.5v-5.1c0-4.3 1.6-5.9 6.1-5.9h2.8V.4h-6.2C71.6.4 66.6 3.9 66.6 14.5v6.8h-7.1v11.1h7.1v39.9h12.9V32.5h16.6v25c0 10.4 4 14.9 14.4 14.9h6.6V61.1h-2.5zM160.7 42.3c-.9-6.6-6.3-10.6-12.6-10.6s-11.5 3.9-12.9 10.6h25.5zm-25.6 7.9c.9 7.5 6.3 11.8 13.2 11.8 5.4 0 9.6-2.6 12-6.6h13.2c-3.1 10.8-12.7 17.7-25.5 17.7-15.4 0-26.2-10.8-26.2-26.2 0-15.4 11.4-26.5 26.5-26.5 15.2 0 26.2 11.2 26.2 26.5 0 1.1-.1 2.2-.3 3.3h-39.1zM256.2 46.9c0-8.3-6.2-14.6-13.9-14.6s-13.9 6.1-13.9 14.6c0 8.4 6.2 14.6 13.9 14.6 7.6 0 13.9-6.4 13.9-14.6m-40.4 46.3V21.4h12.5V28c3.8-4.7 9.4-7.5 16.1-7.5 13.8 0 24.6 11.3 24.6 26.3s-11 26.4-24.9 26.4c-6.4 0-11.7-2.6-15.4-6.8v26.8h-12.9zM314.2 46.9c0-8.6-6.2-14.6-13.9-14.6-7.6 0-13.9 6.1-13.9 14.6 0 8.4 6.2 14.6 13.9 14.6s13.9-6.1 13.9-14.6m.1 25.5v-6.6c-3.8 4.6-9.4 7.4-16.1 7.4-14 0-24.6-11.2-24.6-26.3 0-15 11-26.4 24.9-26.4 6.5 0 12 2.9 15.8 7.3v-6.4h12.5v51h-12.5zM193.2 26.4s3.2-5.9 11-5.9c3.3 0 5.5 1.2 5.5 1.2v13s-4.7-2.9-9.1-2.3c-4.3.6-7.1 4.6-7.1 9.9v30.2h-13v-51H193v4.9h.2z" />\n </g>\n </svg>\n <svg viewBox="0 0 107 96"\n height="'+this.getHeight(e)+'"\n xmlns="http://www.w3.org/2000/svg">\n <path\n d="M99 19.5L84.2 11l-15-8.6c-10-5.7-22.4 1.5-22.4 13v1.9c0 1.1.6 2 1.5 2.6l7 4c1.9 1.1 4.4-.3 4.4-2.5v-4.6c0-2.3 2.5-3.7 4.4-2.6l13.8 7.9L91.6 30c2 1.1 2 4 0 5.1L77.9 43l-13.8 7.9c-2 1.1-4.4-.3-4.4-2.6V46c0-11.5-12.4-18.7-22.4-13l-15 8.6-14.8 8.5c-10 5.7-10 20.2 0 26l14.8 8.5 15 8.6c10 5.7 22.4-1.5 22.4-13v-1.9c0-1.1-.6-2-1.5-2.6l-7-4c-1.9-1.1-4.4.3-4.4 2.5v4.6c0 2.3-2.5 3.7-4.4 2.6l-13.8-7.9-13.7-7.9c-2-1.1-2-4 0-5.1l13.7-7.9 13.8-7.9c2-1.1 4.4.3 4.4 2.6v2.3c0 11.5 12.4 18.7 22.4 13l15-8.6L99 45.5c10.1-5.8 10.1-20.2 0-26"\n fill="currentColor" />\n </svg>\n </div>\n ',t}},{key:"getButtonStyle",value:function(e){var t=document.createElement("style"),n=this.generateButtonColor(e.button_type);return t.innerText="\n .afterpay-checkout-btn {\n outline: none;\n border: none;\n border-radius: "+this.getHeight(e)+";\n padding: 0;\n margin: 0;\n transition: all 300ms;\n cursor: pointer;\n }\n\n .afterpay-checkout-btn:active {\n opacity: 0.7;\n }\n\n .afterpay-checkout-btn__wrapper {\n display: flex;\n align-items: center;\n padding: 10px 20px;\n color: "+n.color+";\n background-color: "+n.background+";\n border-radius: "+this.getHeight(e)+";\n }\n ",t}},{key:"generateButtonColor",value:function(e){switch(e){case"black":return{color:"#B2FCE3",background:"#000"};case"mint":return{color:"#000",background:"#B2FCE3"};default:return{color:"#fff",background:"#000"}}}},{key:"getHeight",value:function(e){return e.height?Number.isNaN(Number(e.height))?e.height:e.height+"px":"40px"}}]),Yn);function Yn(e,t){l(this,Yn);var n=c(this,(Yn.__proto__||Object.getPrototypeOf(Yn)).call(this,e,t));return n.token=e,n.storageDispatcher=new Mt("afterpay.wallet.paydock"),n}var Kn="unavailable",Gn="update",Jn="paymentSuccessful",Xn="paymentError",Zn="paymentInReview",Qn=(n($n,[{key:"load",value:function(){try{this.setupServiceCallbacks(),this.service.load(this.container)}catch(e){throw this.eventEmitter.emit(Kn,null),e}}},{key:"update",value:function(e){this.service.update(e)}},{key:"setEnv",value:function(e,t){this.api.setEnv(e,t),this.service.setEnv(e)}},{key:"close",value:function(){"function"==typeof this.service.close&&this.service.close()}},{key:"on",value:function(e,t){var n=this;return e===Gn&&(this.hasUpdateHandler=!0),"function"==typeof t?this.eventEmitter.subscribe(e,t):new Promise(function(t){return n.eventEmitter.subscribe(e,function(e){return t(e)})})}},{key:"onUnavailable",value:function(e){var t=this;return"function"==typeof e?this.eventEmitter.subscribe(Kn,e):new Promise(function(e){return t.eventEmitter.subscribe(Kn,function(){return e()})})}},{key:"onUpdate",value:function(e){var n=this;return this.hasUpdateHandler=!0,"function"==typeof e?this.eventEmitter.subscribe(Gn,e):new Promise(function(t){return n.eventEmitter.subscribe(Gn,function(e){return t(e)})})}},{key:"onPaymentSuccessful",value:function(e){var n=this;return"function"==typeof e?this.eventEmitter.subscribe(Jn,e):new Promise(function(t){return n.eventEmitter.subscribe(Jn,function(e){return t(e)})})}},{key:"onPaymentInReview",value:function(e){var n=this;return"function"==typeof e?this.eventEmitter.subscribe(Zn,e):new Promise(function(t){return n.eventEmitter.subscribe(Zn,function(e){return t(e)})})}},{key:"onPaymentError",value:function(e){var n=this;return"function"==typeof e?this.eventEmitter.subscribe(Xn,e):new Promise(function(t){return n.eventEmitter.subscribe(Xn,function(e){return t(e)})})}},{key:"setupServiceCallbacks",value:function(){this.setupUnavailableCallback(),this.setupUpdateCallback(),this.setupWalletCallback(),this.setupPaymentCallback(),this.setupPaymentSuccessCallback(),this.setupPaymentInReviewCallback(),this.setupPaymentErrorCallback()}},{key:"setupUnavailableCallback",value:function(){var t=this;this.service.on(fn.UNAVAILABLE,function(e){return t.eventEmitter.emit(Kn,{event:Kn,data:e})})}},{key:"setupUpdateCallback",value:function(){var t=this;this.service.on(fn.UPDATE,function(e){return t.hasUpdateHandler?t.eventEmitter.emit(Gn,{event:Gn,data:e}):t.update({success:!0})})}},{key:"setupWalletCallback",value:function(){var r=this;this.service.on(fn.CALLBACK,function(e){var t=e.data,n=e.onSuccess,i=e.onError;r.api.charge().walletCallback(t).then(function(e){return n(e)},function(e){return i(e.message)})})}},{key:"setupPaymentCallback",value:function(){var r=this;this.service.on(fn.PAYMENT_METHOD_SELECTED,function(e){var n=e.data,i=e.onSuccess,t=e.onError;r.api.charge().walletCapture(n).then(function(e){"function"==typeof i&&i();var t="inreview"===e.status?Zn:Jn;r.eventEmitter.emit(t,{event:t,data:A(A({},e),n.customer&&{payer_name:n.customer.payer_name,payer_email:n.customer.payer_email,payer_phone:n.customer.payer_phone})})},function(e){"function"==typeof t&&t(e),r.eventEmitter.emit(Xn,{event:Xn,data:e})})})}},{key:"setupPaymentSuccessCallback",value:function(){var t=this;this.service.on(fn.PAYMENT_SUCCESS,function(e){return t.eventEmitter.emit(Jn,{event:Jn,data:e})})}},{key:"setupPaymentInReviewCallback",value:function(){var t=this;this.service.on(fn.PAYMENT_IN_REVIEW,function(e){return t.eventEmitter.emit(Zn,{event:Zn,data:e})})}},{key:"setupPaymentErrorCallback",value:function(){var t=this;this.service.on(fn.PAYMENT_ERROR,function(e){return t.eventEmitter.emit(Xn,{event:Xn,data:e})})}}]),$n);function $n(e,t,n){l(this,$n),this.hasUpdateHandler=!1;var i=h.validateJWT(t);if(!i)throw new Error("Invalid charge token");this.eventEmitter=new tt,this.container=new Te(e);var r=h.extractMeta(i.body);switch(this.api=new qn(t,Ln.TOKEN),r.gateway.type){case ie.STRIPE:this.service=new On(r.credentials.client_auth,A(A({},n),{amount:r.charge.amount,currency:r.charge.currency}));break;case ie.FLYPAY:this.service=new gn(t,A(A({},n),{id:r.charge.id,gateway_mode:r.gateway.mode,amount:r.charge.amount,currency:r.charge.currency,reference:r.charge.reference}));break;case ie.PAYPAL:this.service=new kn(r.credentials.client_auth,A(A({},n),{id:r.charge.id,gateway_mode:r.gateway.mode,amount:r.charge.amount,currency:r.charge.currency,capture:r.charge.capture}));break;case ie.MASTERCARD:this.service=new Un("",A(A({},n),{credentials:r.gateway.credentials,amount:r.charge.amount,currency:r.charge.currency,gateway_mode:r.gateway.mode}));break;case ie.AFTERPAY:this.service=new Vn(t,A(A({},n),{id:r.charge.id,gateway_mode:r.gateway.mode,amount:r.charge.amount,currency:r.charge.currency,reference:r.charge.reference}))}}var ei=(n(ti,[{key:"setStyles",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setStyle(t,e[t])}},{key:"setStyle",value:function(e,t){-1!==te.values(le).indexOf(e)?this.link.setParams(r({},e,t)):console.warn("Widget::setStyle[s: unsupported style param "+e)}},{key:"setRefId",value:function(e){this.link.setParams({ref_id:e})}},{key:"setLimit",value:function(e){this.link.setParams({limit:e})}},{key:"setEnv",value:function(e,t){for(var n in this.link.setEnv(e,t),this.configs)this.configs.hasOwnProperty(n)&&this.configs[n].setEnv(e,t)}},{key:"getEnv",value:function(){this.link.getEnv()}},{key:"getIFrameUrl",value:function(){return this.link.getUrl()}},{key:"filterByGatewayIds",value:function(e){this.link.setParams({gateway_ids:e.join(",")})}},{key:"filterByTypes",value:function(e){var t=[],n=!0,i=!1,r=void 0;try{for(var o,a=e[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var s=o.value;e.hasOwnProperty(s)&&(-1===te.values(se).indexOf(s)?console.warn("PaymentSourceWidget::filterByTypes: unsupported type "+s):t.push(s))}}catch(e){i=!0,r=e}finally{try{!n&&a.return&&a.return()}finally{if(i)throw r}}this.link.setParams({payment_source_types:t.join(",")})}},{key:"setLanguage",value:function(e){this.link.setParams({language:e})}}]),ti);function ti(e,t){l(this,ti),this.configs=[],this.configTokens=[],this.link=new $("/payment-sources"),this.link.setParams(A({query_token:t},h.validateJWT(e)?{access_token:e}:{public_key:e}))}var ni=(s(ii,ei),n(ii,[{key:"load",value:function(){this.iFrame.load(this.getIFrameUrl(),{title:"Payment Sources"})}},{key:"on",value:function(e,t){this.event.on(e,this.link.getParams().widget_id,t)}},{key:"hide",value:function(e){console.info("PayDock SDK"),this.iFrame.hide(e)}},{key:"show",value:function(){this.iFrame.show()}},{key:"reload",value:function(){this.iFrame.remove(),this.load()}},{key:"onSelectInsert",value:function(t,n){this.on(xe.SELECT,function(e){Se.insertToInput(t,n,e)})}}]),ii);function ii(e,t,n){l(this,ii);var i=c(this,(ii.__proto__||Object.getPrototypeOf(ii)).call(this,t,n));return i.container=new Te(e),i.iFrame=new Pe(i.container),i.event=new Le(window),i}var ri,oi,ai={visibility:"hidden",border:"0",width:"0",height:"0"};(oi=ri=ri||{}).SUCCESS="success",oi.ERROR="error",oi.PENDING="pending";var si="chargeAuthSuccess",ui="chargeAuthReject",li="chargeAuthDecoupled",ci="chargeAuthChallenge",di="error",hi=(n(pi,[{key:"load",value:function(e,t){var n=e.initialization_url,i=e.secondary_url,r=e.charge_3ds_id;try{this.setupIFrameEvents(r),this.initializeIFrames(n,i,t)}catch(e){this.eventEmitter.emit(di,this.parseError(e,r))}}},{key:"initializeIFrames",value:function(e,t,n,i){var r=!(3<arguments.length&&void 0!==i)||i,o=this.container.getElement();if(o){var a=document.createElement("div");if(a.setAttribute("id","paydock_authorization_iframe"),o.appendChild(a),this.browserAndChallengeContainer=new Te("#paydock_authorization_iframe"),this.iFrameAuthorization=new Pe(this.browserAndChallengeContainer),this.iFrameAuthorization.load(e,{title:n}),t){var s=document.createElement("div");s.setAttribute("id","paydock_secondary_iframe"),o.appendChild(s),this.monitoringContainer=new Te("#paydock_secondary_iframe"),this.iFrameSecondaryUrl=new Pe(this.monitoringContainer),this.iFrameSecondaryUrl.load(t,{title:n})}else this.iFrameSecondaryUrl=void 0;this.hideIframes(r)}}},{key:"hideIframes",value:function(e){var t,n=!(0<arguments.length&&void 0!==e)||e;for(var i in ai)ai.hasOwnProperty(i)&&(n&&this.iFrameAuthorization.setStyle(i,ai[i]),null!==(t=this.iFrameSecondaryUrl)&&void 0!==t&&t.setStyle(i,ai[i]))}},{key:"setupIFrameEvents",value:function(e){var t=this;this.iFrameEvent.on(xe.CHARGE_AUTH,e,function(e){"MethodSkipped"===e.status||"MethodFinished"===e.status?t.performAuthentication(e):"AuthTimedOut"!==e.status&&"invalid_event"!==e.status||t.eventEmitter.emit(ui,t.parseHandleResponse({status:e.status},e.charge_3ds_id))}),this.iFrameEvent.on(xe.CHARGE_AUTH_SUCCESS,e,function(e){t.processResult(e.charge_3ds_id)})}},{key:"parseResultData",value:function(e,t){return{status:e.status,charge_3ds_id:t}}},{key:"parseHandleResponse",value:function(e,t){var n=e.status,i=e.result;return{status:n,charge_3ds_id:t,result:{description:null==i?void 0:i.description}}}},{key:"parseError",value:function(e,t){return{charge_3ds_id:t,error:e}}},{key:"processResult",value:function(n){var i=this;this.resultRead||(this.resultRead=!0,this.api.charge().standalone3dsHandle().then(function(e){var t;i.iFrameAuthorization.remove(),null!==(t=i.iFrameSecondaryUrl)&&void 0!==t&&t.remove(),e.status===ri.SUCCESS?i.eventEmitter.emit(si,i.parseResultData(e,n)):i.eventEmitter.emit(ui,i.parseResultData(e,n))},function(e){i.eventEmitter.emit(di,i.parseError(e,n))}))}},{key:"externalAPI",value:function(e,t){var i=new XMLHttpRequest;return i.open(e,t,!0),new Promise(function(t,n){i.onload=function(){try{var e=JSON.parse(i.responseText);t(e)}catch(e){n(e)}},i.send()})}},{key:"doPolling",value:function(t,n){var i=this;this.externalAPI("GET",t).then(function(e){if(e.event&&"AuthResultNotReady"!==e.event){if("AuthResultReady"!==e.event)throw new Error("Event not supported");i.processResult(n)}else setTimeout(function(){i.doPolling(t,n)},2e3)}).catch(function(e){return i.eventEmitter.emit(di,i.parseError(e,n))})}},{key:"performAuthentication",value:function(e){var t,i=this,r=e.charge_3ds_id;this.iFrameAuthorization.remove(),null!==(t=this.iFrameSecondaryUrl)&&void 0!==t&&t.remove(),this.api.charge().standalone3dsProcess({charge_3ds_id:r}).then(function(e){var t,n;if("success"===e.status)i.eventEmitter.emit(si,i.parseHandleResponse(e,r));else{if("pending"!==e.status)return i.eventEmitter.emit(ui,i.parseHandleResponse(e,r));null!==(t=null==e?void 0:e.result)&&void 0!==t&&t.challenge?(i.eventEmitter.emit(ci,i.parseHandleResponse(e,r)),i.initializeIFrames(e.result.challenge_url,void 0,"Authentication Challenge",!1),e.result.secondary_url&&i.doPolling(e.result.secondary_url,r)):null!==(n=null==e?void 0:e.result)&&void 0!==n&&n.decoupled_challenge&&(i.eventEmitter.emit(li,i.parseHandleResponse(e,r)),e.result.secondary_url&&i.doPolling(e.result.secondary_url,r))}},function(e){i.eventEmitter.emit(di,i.parseError(e,r))})}}]),pi);function pi(e,t,n){l(this,pi),this.container=e,this.api=t,this.eventEmitter=n,this.resultRead=!1,this.iFrameEvent=new Le(window)}var vi,fi,mi="GPayments",yi=(n(gi,[{key:"load",value:function(e,t){var n=h.validateJWT(e);if(!n)throw new Error("Invalid charge token");var i=h.extractData(n.body),r=new qn(e,Ln.TOKEN);switch(r.setEnv(this.env,this.alias),i.service_type){case mi:new hi(this.container,r,this.eventEmitter).load(i,t.title)}}},{key:"setEnv",value:function(e,t){this.env=e,this.alias=t}}]),gi);function gi(e,t){l(this,gi),this.env=z,this.container=e,this.eventEmitter=t}(fi=vi=vi||{}).HTML="html",fi.URL="url",fi.STANDALONE_3DS="standalone_3ds";var _i=(n(ki,[{key:"load",value:function(){this.token.format===vi.HTML?this.iFrame.loadFromHtml(this.token.content,{title:"3d secure authentication"}):this.token.format===vi.URL?this.iFrame.load(this.token.content,{title:"3d secure authentication"}):this.token.format===vi.STANDALONE_3DS?this.standalone3dsService.load(this.token.content,{title:"3d secure authentication"}):console.error("Token contain unsupported payload")}},{key:"setEnv",value:function(e,t){for(var n in this.link.setEnv(e,t),this.standalone3dsService.setEnv(e,t),this.configs)this.configs.hasOwnProperty(n)&&this.configs[n].setEnv(e,t)}},{key:"getEnv",value:function(){return this.link.getEnv()}},{key:"on",value:function(e,t){var n=this;return this.token.format===vi.STANDALONE_3DS?"function"==typeof t?this.eventEmitter.subscribe(e,t):new Promise(function(t){return n.eventEmitter.subscribe(e,function(e){return t(e)})}):"function"==typeof t?this.event.on(e,this.link.getParams().ref_id,t):new Promise(function(t){return n.event.on(e,n.link.getParams().ref_id,function(e){return t(e)})})}},{key:"hide",value:function(e){this.iFrame.hide(e)}},{key:"show",value:function(){this.iFrame.show()}},{key:"reload",value:function(){this.iFrame.remove(),this.load()}}],[{key:"extractToken",value:function(e){return JSON.parse(window.atob(e))}}]),ki);function ki(e,t){l(this,ki),this.configs=[],this.link=new $("/3ds/webhook"),this.token=ki.extractToken(t),this.link.setParams({ref_id:this.token.charge_3ds_id}),this.container=new Te(e),this.iFrame=new Pe(this.container),this.eventEmitter=new tt,this.standalone3dsService=new yi(this.container,this.eventEmitter),this.event=new Le(window)}var Ei="/v1/charges/3ds",wi=(n(bi,[{key:"preAuth",value:function(e,t){return"function"==typeof t?this.api.getClient("POST",Ei).send(A(A({},e),{_3ds:A(A({},e._3ds),{browser_details:{name:ot.getBrowserName(),java_enabled:ot.isJavaEnabled().toString(),language:ot.getLanguage(),screen_height:ot.getScreenHeight().toString(),screen_width:ot.getScreenWidth().toString(),time_zone:ot.getTimezoneOffset().toString(),color_depth:ot.getColorDepth().toString()}})}),function(e){t(e)}):this.api.getClientPromise("POST",Ei).send(A(A({},e),{_3ds:A(A({},e._3ds),{browser_details:{name:ot.getBrowserName(),java_enabled:ot.isJavaEnabled().toString(),language:ot.getLanguage(),screen_height:ot.getScreenHeight().toString(),screen_width:ot.getScreenWidth().toString(),time_zone:ot.getTimezoneOffset().toString(),color_depth:ot.getColorDepth().toString()}})}))}}]),bi);function bi(e){l(this,bi),this.api=e}var Ci,Si,Oi=(s(Ti,Nn),n(Ti,[{key:"getBrowserDetails",value:function(){return{name:ot.getBrowserName(),java_enabled:ot.isJavaEnabled().toString(),language:ot.getLanguage(),screen_height:ot.getScreenHeight().toString(),screen_width:ot.getScreenWidth().toString(),time_zone:ot.getTimezoneOffset().toString(),color_depth:ot.getColorDepth().toString()}}},{key:"charge",value:function(){return new wi(this)}}]),Ti);function Ti(e){l(this,Ti);var t=c(this,(Ti.__proto__||Object.getPrototypeOf(Ti)).call(this,e));return t.publicKey=t.auth,t}(Si=Ci=Ci||{}).AFTER_LOAD="after_load",Si.SYSTEM_ERROR="system_error",Si.CVV_SECURE_CODE_REQUESTED="cvv_secure_code_requested",Si.CARD_NUMBER_SECURE_CODE_REQUESTED="card_number_secure_code_requested",Si.ACCESS_FORBIDDEN="access_forbidden",Si.SESSION_EXPIRED="session_expired",Si.OPERATION_FORBIDDEN="operation_forbidden";var Ai=(s(Pi,Le),n(Pi,[{key:"on",value:function(e,t,n){for(var i in Ci)Ci.hasOwnProperty(i)&&e===Ci[i]&&this.listeners.push({event:e,listener:n,widget_id:t})}}]),Pi);function Pi(){return l(this,Pi),c(this,(Pi.__proto__||Object.getPrototypeOf(Pi)).apply(this,arguments))}var Ri=(n(xi,[{key:"setEnv",value:function(e,t){this.link.setEnv(e,t)}},{key:"on",value:function(e,t){var n=this;return"function"==typeof t?this.event.on(e,this.link.getParams().widget_id,t):new Promise(function(t){return n.event.on(e,n.link.getParams().widget_id,function(e){return t(e)})})}},{key:"setStyles",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setStyle(t,e[t])}},{key:"setStyle",value:function(e,t){-1!==te.values(le).indexOf(e)?this.link.setParams(r({},e,t)):console.warn("Widget::setStyle[s: unsupported style param "+e)}},{key:"load",value:function(){this.iFrame.load(this.link.getUrl(),{title:"Vault Display"})}}]),xi);function xi(e,t){l(this,xi),this.validationData={},this.configs=[],this.container=new Te(e),this.iFrame=new Pe(this.container),this.triggerElement=new De(this.iFrame),this.event=new Ai(window),this.vaultDisplayToken=t,this.link=new $("/vault-display"),this.link.setParams({vault_display_token:t})}function Li(){l(this,Li)}var Ii,Ui;Li.buttonContainerStyles="display: flex; flex-direction: column; justify-content: center; align-items: center;",Li.buttonStyles="color: #ffff; background-color: #ffbe24; border: none; width: 100%; min-height: 40px; font-size: 16px; font-weight: bold; line-height: 19px; letter-spacing: 0.7px; text-transform: uppercase; border-radius: 4px; margin-bottom: 15px; cursor: pointer;",Li.footerContainerStyles="display: flex; flex: 1; flex-wrap: wrap; justify-content: center;",Li.footerTextStyles="text-align: center; color: #666666; margin: 2px 0;",Li.verticalLineStyle="display: inline-block; padding: 0.5px; background-color: #E5E5E5; height: 15px;",Li.clickToPayAllCardsStyle="height: 17px; margin-left: 8px; vertical-align: middle; padding-top: 3px;",(Ui=Ii=Ii||{}).CHECKOUT_BUTTON_LOADED="checkoutButtonLoaded",Ui.CHECKOUT_BUTTON_CLICKED="checkoutButtonClicked",Ui.IFRAME_LOADED="iframeLoaded",Ui.CHECKOUT_READY="checkoutReady",Ui.CHECKOUT_COMPLETED="checkoutCompleted",Ui.CHECKOUT_ERROR="checkoutError";var Di={BUTTON_TEXT_COLOR:"button_text_color",PRIMARY_COLOR:"primary_color",FONT_FAMILY:"font_family",CARD_SCHEMES:"card_schemes"},Ni="visa",Mi="mastercard",Fi="amex",ji="discover",Hi="/images/visa-src/Chevron_Large_V.png",Bi="/images/visa-src/vmad.svg",zi=function(e,n){return e.every(function(e,t){return e===n[t]})},qi=(n(Wi,[{key:"setupIFrameEvents",value:function(){var n=this,e=this.link.getParams().widget_id;this.iFrameEvent.on(Ii.CHECKOUT_READY,e,function(e){var t=e.data;n.eventEmitter.emit(Ii.CHECKOUT_READY,t)}),this.iFrameEvent.on(Ii.CHECKOUT_COMPLETED,e,function(e){var t=e.data;n.eventEmitter.emit(Ii.CHECKOUT_COMPLETED,t)}),this.iFrameEvent.on(Ii.CHECKOUT_ERROR,e,function(e){var t=e.data;n.eventEmitter.emit(Ii.CHECKOUT_ERROR,t)}),this.autoResize&&this.useAutoResize(!0)}},{key:"load",value:function(){var e,t=this,n=document.createElement("div");n.setAttribute("style",Li.buttonContainerStyles);var i=document.createElement("button");i.setAttribute("style",Li.buttonStyles),this.meta.customizations.primary_color&&(i.style.backgroundColor=this.meta.customizations.primary_color),this.meta.customizations.button_text_color&&(i.style.color=this.meta.customizations.button_text_color),i.innerHTML="Checkout";var r=document.createElement("div");r.setAttribute("style",Li.footerContainerStyles),document.createElement("div").setAttribute("style",Li.verticalLineStyle);var o=document.createElement("p");o.setAttribute("style",Li.footerTextStyles),o.innerHTML="WE ACCEPT";var a=document.createElement("img");a.setAttribute("style",Li.clickToPayAllCardsStyle),a.src=this.link.getBaseUrl()+(""+function(e,t){var n=1<arguments.length&&void 0!==t&&t;if(!e||!Array.isArray(e))return n?"/images/visa-src/Chevron_Large_VMAD.png":Bi;var i=e.sort();return zi([Fi,Mi,Ni],i)?n?"/images/visa-src/Chevron_Large_VMA.png":"/images/visa-src/logos/Networks_Large_VMA.png":zi([Mi,Ni],i)?n?"/images/visa-src/Chevron_Large_VM.png":"/images/visa-src/logos/Networks_Large_VM.png":zi([Mi],i)?n?"/images/visa-src/Chevron_Large_M.png":"/images/visa-src/logos/master-logo.png":zi([ji],i)?n?"/images/visa-src/Chevron_Large_D.png":"/images/visa-src/logos/Networks_Large_D.png":zi([Ni],i)?n?Hi:"/images/visa-src/logos/visa-logo.png":n?Hi:Bi}(null===(e=this.meta.customizations)||void 0===e?void 0:e.card_schemes,!0)),i.onclick=function(){t.eventEmitter.emit(Ii.CHECKOUT_BUTTON_CLICKED,{}),t.iFrame.load(t.link.getUrl(),{title:"Visa SRC checkout"}),t.iFrame.getElement().onload=function(){return t.eventEmitter.emit(Ii.IFRAME_LOADED,{})}},n.appendChild(i),n.appendChild(r),r.appendChild(o),r.appendChild(a),this.buttonContainer.getElement().appendChild(n),this.eventEmitter.emit(Ii.CHECKOUT_BUTTON_LOADED,{})}},{key:"getEnv",value:function(){return this.link.getEnv()}},{key:"hideButton",value:function(){this.buttonContainer.getElement()&&(this.buttonContainer.getElement().style.display="none")}},{key:"showButton",value:function(){this.buttonContainer.getElement()&&(this.buttonContainer.getElement().style.display="block")}},{key:"hideCheckout",value:function(){this.iFrame&&this.iFrame.hide()}},{key:"showCheckout",value:function(){this.iFrame&&this.iFrame.show()}},{key:"reload",value:function(){this.iFrame.remove(),this.load()}},{key:"useAutoResize",value:function(e){var n=this;this.autoResize&&!e||(this.autoResize=!0,this.iFrameEvent.on("resize",this.link.getParams().widget_id,function(e){var t=e.data;n.iFrame.getElement()&&(n.iFrame.getElement().scrolling="no",t.height&&n.iFrame.setStyle("height",t.height+"px"))}))}}]),Wi);function Wi(e,t,n,i,r,o,a,s,u){l(this,Wi),this.meta=r,this.eventEmitter=o,this.autoResize=a,this.link=new $("/secure-remote-commerce/visa"),this.link.setParams(A({service_id:n,public_key:i},r&&{meta:JSON.stringify(r)})),s&&this.link.setEnv(s,u),this.iFrameContainer=new Te(t),this.iFrame=new Pe(this.iFrameContainer),this.buttonContainer=new Te(e),this.iFrameEvent=new Le(window),this.setupIFrameEvents()}var Vi=(n(Yi,[{key:"setStyles",value:function(e){for(var t in e)e.hasOwnProperty(t)&&this.setStyle(t,e[t])}},{key:"setStyle",value:function(e,t){-1!==te.values(Di).indexOf(e)?this.style[e]=t:console.warn("Widget::setStyle[s: unsupported style param "+e)}},{key:"load",value:function(){var n=this;this.provider||this.api.service().getConfig(this.service_id).then(function(e){var t=e.type;switch(n.meta.customizations=n.style,t){case Hn.VISA_SRC:n.provider=new qi(n.button_selector,n.iframe_selector,n.service_id,n.public_key_or_access_token,n.meta,n.eventEmitter,n.autoResize,n.env,n.alias)}n.provider&&n.provider.load()})}},{key:"setEnv",value:function(e,t){this.provider||(this.env=e,this.alias=t,this.api.setEnv(e,t))}},{key:"getEnv",value:function(){return this.provider?this.provider.getEnv():this.env}},{key:"on",value:function(e,t){var n=this;return"function"==typeof t?this.eventEmitter.subscribe(e,t):new Promise(function(t){return n.eventEmitter.subscribe(e,function(e){return t(e)})})}},{key:"hideButton",value:function(e){this.provider&&"function"==typeof this.provider.hideButton&&this.provider.hideButton(e)}},{key:"showButton",value:function(){this.provider&&"function"==typeof this.provider.showButton&&this.provider.showButton()}},{key:"hideCheckout",value:function(e){this.provider&&"function"==typeof this.provider.hideCheckout&&this.provider.hideCheckout(e)}},{key:"showCheckout",value:function(){this.provider&&"function"==typeof this.provider.showCheckout&&this.provider.showCheckout()}},{key:"reload",value:function(){this.provider&&this.provider.reload()}},{key:"useAutoResize",value:function(){this.autoResize=!0,this.provider&&"function"==typeof this.provider.useAutoResize&&this.provider.useAutoResize()}}]),Yi);function Yi(e,t,n,i,r){l(this,Yi),this.button_selector=e,this.iframe_selector=t,this.service_id=n,this.public_key_or_access_token=i,this.meta=r,this.autoResize=!1,this.style={},this.api=new qn(i,Ln.PUBLIC_KEY),this.eventEmitter=new tt}e.AfterpayCheckoutButton=tn,e.Api=Oi,e.CHECKOUT_BUTTON_EVENT=Ke,e.Canvas3ds=_i,e.Configuration=me,e.ELEMENT=de,e.EVENT=xe,e.ExternalCheckoutBuilder=Ze,e.ExternalCheckoutChecker=$e,e.FORM_FIELD=ue,e.HtmlMultiWidget=je,e.HtmlPaymentSourceWidget=ni,e.HtmlWidget=Be,e.MultiWidget=be,e.PAYMENT_TYPE=ve,e.PURPOSE=fe,e.PaymentSourceBuilder=Kt,e.PaymentSourceWidget=ei,e.PaypalCheckoutButton=an,e.SRC=Vi,e.STYLABLE_ELEMENT=ge,e.STYLABLE_ELEMENT_STATE=_e,e.STYLE=le,e.SUPPORTED_CARD_TYPES=he,e.TEXT=ce,e.TRIGGER=Ue,e.TYPE=Yt,e.VAULT_DISPLAY_STYLE={BACKGROUND_COLOR:"background_color",TEXT_COLOR:"text_color",BORDER_COLOR:"border_color",BUTTON_COLOR:"button_color",FONT_SIZE:"font_size",FONT_FAMILY:"font_family"},e.VaultDisplayWidget=Ri,e.WalletButtons=Qn,e.ZipmoneyCheckoutButton=$t,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
@@ -9,12 +9,13 @@ export declare class PaypalWalletService extends WalletService implements IWalle
|
|
|
9
9
|
protected paypal: any;
|
|
10
10
|
protected latestShippingChangePromiseResolve: (value: unknown) => void;
|
|
11
11
|
protected latestShippingChangePromiseReject: () => void;
|
|
12
|
-
protected latestShippingData
|
|
12
|
+
protected latestShippingData?: {
|
|
13
13
|
address_city?: string;
|
|
14
14
|
address_state?: string;
|
|
15
15
|
address_postcode?: string;
|
|
16
16
|
address_country?: string;
|
|
17
17
|
};
|
|
18
|
+
protected pendingApprovalPromise?: Promise<any>;
|
|
18
19
|
load(container: Container): Promise<void>;
|
|
19
20
|
update(data: IWalletServiceUpdate): void;
|
|
20
21
|
private parseUpdateData;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { WalletService, WALLET_EVENT, } from "./wallet-service";
|
|
2
2
|
export class PaypalWalletService extends WalletService {
|
|
3
3
|
load(container) {
|
|
4
|
+
var _a;
|
|
4
5
|
if (!window.Promise) {
|
|
5
6
|
// Given that this library does not rely in any polyfill for promises, and this integration depends on them, we early return if Promises are not supported for the browser (like I.E. 11).
|
|
6
7
|
this.eventEmitter.emit(WALLET_EVENT.UNAVAILABLE, null);
|
|
7
|
-
return;
|
|
8
|
+
return Promise.resolve();
|
|
8
9
|
}
|
|
9
|
-
const buttonId = container.getElement().id || '';
|
|
10
|
+
const buttonId = ((_a = container.getElement()) === null || _a === void 0 ? void 0 : _a.id) || '';
|
|
10
11
|
const paypalScript = document.createElement("script");
|
|
11
12
|
paypalScript.src = `https://www.paypal.com/sdk/js?client-id=${this.publicKey}¤cy=${this.meta.currency}${(this.meta.pay_later === true) ? '&enable-funding=paylater&disable-funding=card' : `&disable-funding=credit,card`}${!this.meta.capture ? `&intent=authorize` : ''}`;
|
|
12
13
|
paypalScript.async = true;
|
|
@@ -25,11 +26,20 @@ export class PaypalWalletService extends WalletService {
|
|
|
25
26
|
this.latestShippingChangePromiseResolve = resolve;
|
|
26
27
|
this.latestShippingChangePromiseReject = reject;
|
|
27
28
|
this.eventEmitter.emit(WALLET_EVENT.UPDATE, parsedCallbackData);
|
|
28
|
-
}), onApprove: (data) =>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
}), onApprove: (data) => {
|
|
30
|
+
this.pendingApprovalPromise = this.pendingApprovalPromise || new Promise((resolve, reject) => this.eventEmitter.emit(WALLET_EVENT.PAYMENT_METHOD_SELECTED, {
|
|
31
|
+
data: { payment_method_id: data.orderID, customer: { payment_source: { external_payer_id: data.payerID } } },
|
|
32
|
+
onSuccess: () => {
|
|
33
|
+
this.pendingApprovalPromise = undefined;
|
|
34
|
+
resolve(true);
|
|
35
|
+
},
|
|
36
|
+
onError: (err) => {
|
|
37
|
+
this.pendingApprovalPromise = undefined;
|
|
38
|
+
reject(err);
|
|
39
|
+
},
|
|
40
|
+
}));
|
|
41
|
+
return this.pendingApprovalPromise;
|
|
42
|
+
}, onError: (err) => {
|
|
33
43
|
// Error handling so that paypal does not throw an uncaught error
|
|
34
44
|
// We're already handling errors and notifying Merchants at "wallet-buttons.ts"
|
|
35
45
|
} })).render(`#${buttonId}`);
|
|
@@ -40,7 +50,7 @@ export class PaypalWalletService extends WalletService {
|
|
|
40
50
|
;
|
|
41
51
|
};
|
|
42
52
|
document.head.appendChild(paypalScript);
|
|
43
|
-
return;
|
|
53
|
+
return Promise.resolve();
|
|
44
54
|
}
|
|
45
55
|
update(data) {
|
|
46
56
|
if (!this.latestShippingChangePromiseResolve || !this.latestShippingChangePromiseReject)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paypal.wallet-service.js","sourceRoot":"","sources":["../../wallet-buttons/paypal.wallet-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,aAAa,EACb,YAAY,GACf,MAAM,kBAAkB,CAAC;AAU1B,MAAM,OAAO,mBAAoB,SAAQ,aAAa;
|
|
1
|
+
{"version":3,"file":"paypal.wallet-service.js","sourceRoot":"","sources":["../../wallet-buttons/paypal.wallet-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,aAAa,EACb,YAAY,GACf,MAAM,kBAAkB,CAAC;AAU1B,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IAO3C,IAAI,CAAC,SAAoB;;QAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACjB,0LAA0L;YAC1L,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACvD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;QAED,MAAM,QAAQ,GAAG,OAAA,SAAS,CAAC,UAAU,EAAE,0CAAE,EAAE,KAAI,EAAE,CAAC;QAClD,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtD,YAAY,CAAC,GAAG,GAAG,2CAA2C,IAAI,CAAC,SAAS,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,8BAA8B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAClR,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE;YACvB,IAAI,MAAM,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,iCACZ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAClD,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;4BAC1C,IAAI,kBACA,YAAY,EAAE,oBAAoB,IAC/B,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CACpF;4BACD,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;4BACnC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;yBAChC,CAAC,CAAA;oBACN,CAAC,CAAC,EACF,gBAAgB,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBAClE,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;wBACtD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;wBACtD,IAAI,CAAC,kCAAkC,GAAG,OAAO,CAAC;wBAClD,IAAI,CAAC,iCAAiC,GAAG,MAAM,CAAC;wBAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;oBACpE,CAAC,CAAC,EACF,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;wBAChB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAChH,YAAY,CAAC,uBAAuB,EACpC;4BACI,IAAI,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,cAAc,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE;4BAC5G,SAAS,EAAE,GAAG,EAAE;gCACZ,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;gCACxC,OAAO,CAAC,IAAI,CAAC,CAAC;4BAClB,CAAC;4BACD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gCACb,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;gCACxC,MAAM,CAAC,GAAG,CAAC,CAAC;4BAChB,CAAC;yBACJ,CACJ,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC,sBAAsB,CAAC;oBACvC,CAAC,EACD,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;wBAClB,iEAAiE;wBACjE,+EAA+E;oBACnF,CAAC,IACH,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;aAC7B;iBAAM;gBACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;aAC1D;YAAA,CAAC;QACN,CAAC,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,IAA0B;QACpC,IAAI,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,IAAI,CAAC,iCAAiC;YACnF,OAAO;QAEX,IAAI,CAAC,IAAI,CAAC,OAAO;YACb,OAAO,IAAI,CAAC,iCAAiC,EAAE,CAAC;QAEpD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC1C,IAAI,EAAE,EAAE,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE;YAC/E,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC;YAClE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iCAAiC,EAAE;SAC1D,CAAC,CAAC;IACP,CAAC;IAEO,eAAe,CAAC,IAAmB;;QACvC,qCACI,eAAe,EAAE,IAAI,CAAC,OAAO,EAC7B,iBAAiB,EAAE,IAAI,CAAC,SAAS,EACjC,cAAc,EAAE;gBACZ,wBAAwB,EAAE,IAAI,CAAC,YAAY;aAC9C,IACE,IAAI,CAAC,gBAAgB,IAAI;YACxB,QAAQ,EAAE;gBACN,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI;gBACxC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;gBAC1C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW;gBACnD,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY;aACtD;SACJ,GACE,IAAI,CAAC,wBAAwB,IAAI;YAChC,wBAAwB,EAAE;gBACtB,EAAE,EAAE,IAAI,CAAC,wBAAwB,CAAC,EAAE;gBACpC,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK;gBAC1C,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK;gBAClD,QAAQ,EAAE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,aAAa;gBAC5D,IAAI,QAAE,IAAI,CAAC,wBAAwB,0CAAE,IAAI;aAC5C;SACJ,EACH;IACN,CAAC;CACJ"}
|