@paydock/client-sdk 1.11.13-beta → 1.77.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +760 -1018
  2. package/bundles/widget.umd.js +43 -44
  3. package/bundles/widget.umd.min.js +1 -1
  4. package/lib/api/api-base.d.ts +1 -1
  5. package/lib/api/api-base.js +2 -24
  6. package/lib/api/api-base.js.map +1 -1
  7. package/lib/canvas-3ds/services/standalone3ds-service.js +2 -2
  8. package/lib/canvas-3ds/services/standalone3ds-service.js.map +1 -1
  9. package/lib/checkout-button/checkout-button.js +1 -1
  10. package/lib/checkout-button/checkout-button.js.map +1 -1
  11. package/lib/checkout-button/index.d.ts +3 -1
  12. package/lib/checkout-button/index.js +3 -1
  13. package/lib/checkout-button/index.js.map +1 -1
  14. package/lib/checkout-button/runner.d.ts +1 -1
  15. package/lib/checkout-button/runner.js +2 -27
  16. package/lib/checkout-button/runner.js.map +1 -1
  17. package/lib/checkout-button/zipmoney.runner.d.ts +1 -1
  18. package/lib/checkout-button/zipmoney.runner.js +2 -27
  19. package/lib/checkout-button/zipmoney.runner.js.map +1 -1
  20. package/lib/components/dispatcher.d.ts +1 -1
  21. package/lib/components/dispatcher.js +2 -27
  22. package/lib/components/dispatcher.js.map +1 -1
  23. package/lib/components/http-core.js +2 -27
  24. package/lib/components/http-core.js.map +1 -1
  25. package/lib/components/link.d.ts +1 -1
  26. package/lib/components/link.js +2 -27
  27. package/lib/components/link.js.map +1 -1
  28. package/lib/components/param.d.ts +3 -1
  29. package/lib/components/param.js.map +1 -1
  30. package/lib/components/popup.js +1 -1
  31. package/lib/components/popup.js.map +1 -1
  32. package/lib/{components → configs/env}/env.d.ts +9 -0
  33. package/lib/configs/env/env.js +129 -0
  34. package/lib/configs/env/env.js.map +1 -0
  35. package/lib/payment-source-widget/payment-source-widget.d.ts +1 -1
  36. package/lib/payment-source-widget/payment-source-widget.js +1 -1
  37. package/lib/wallet-buttons/apple.wallet-service.js +2 -13
  38. package/lib/wallet-buttons/apple.wallet-service.js.map +1 -1
  39. package/lib/wallet-buttons/google.wallet-service.js +7 -5
  40. package/lib/wallet-buttons/google.wallet-service.js.map +1 -1
  41. package/lib/wallet-buttons/wallet-service.js +2 -2
  42. package/lib/wallet-buttons/wallet-service.js.map +1 -1
  43. package/lib/widget/configuration.d.ts +3 -1
  44. package/lib/widget/configuration.js +5 -28
  45. package/lib/widget/configuration.js.map +1 -1
  46. package/lib/widget/html-multi-widget.d.ts +2 -1
  47. package/lib/widget/html-multi-widget.js +2 -1
  48. package/lib/widget/html-multi-widget.js.map +1 -1
  49. package/lib/widget/html-widget.d.ts +3 -1
  50. package/lib/widget/html-widget.js +3 -1
  51. package/lib/widget/html-widget.js.map +1 -1
  52. package/lib/widget/index.d.ts +0 -7
  53. package/lib/widget/index.js +0 -7
  54. package/lib/widget/index.js.map +1 -1
  55. package/lib/widget/meta.d.ts +7 -0
  56. package/lib/widget/meta.js +8 -0
  57. package/lib/widget/meta.js.map +1 -0
  58. package/package.json +3 -1
  59. package/slate.md +17 -16
  60. package/lib/components/env.js +0 -77
  61. package/lib/components/env.js.map +0 -1
@@ -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 Y="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},t=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 n(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 o=Object.getPrototypeOf(e);return null===o?void 0:a(o,t,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0}function o(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 r(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 P=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},s=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],i=!0,o=!1,r=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){o=!0,r=e}finally{try{!i&&s.return&&s.return()}finally{if(o)throw r}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},u="x-access-token",d="x-user-public-key",h=(t(p,null,[{key:"validateJWT",value:function(e){if(!e)return null;var t=e.split("."),n=s(t,3),i=n[0],o=n[1],r=n[2];if(!i||!o||!r)return null;if(2+i.length+o.length+r.length!==e.length)return null;try{return{head:JSON.parse(atob(i)),body:JSON.parse(atob(o)),signature:r}}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)?u:d}}]),p);function p(){l(this,p)}var v="sandbox",f="sandbox-kovena",m="sandbox-demo",y="sandbox-demo-kovena",g="production",_="staging",k="staging_1",E="staging_2",b="staging_3",w="staging_4",C="staging_5",S="staging_6",O="staging_7",T="staging_8",A="staging_9",R="staging_10",x="staging_11",L="staging_12",I="staging_13",D="staging_14",U="staging_15",N="staging_cba",M="sandbox_cba",F="production_cba",j=[f,y],H=v,B="paydock.com",z="kovena.com",q=(t(W,[{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!==j.indexOf(this.env)?this.alias=z:this.alias=B}},{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}}]),W);function W(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:H;l(this,W),this.configs=e,this.setEnv(t)}var V=(t(K,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("&")}}]),K);function K(){l(this,K)}var G=(t(J,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)}}]),J);function J(){l(this,J)}var X="/wallet/flypay",Z=(t(Q,[{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=V.extendSearchParams(e,n,t[n]));return e}},{key:"setParams",value:function(e){this.params=P({},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}}]),Q);function Q(e){l(this,Q),this.params={},this.widgetId=G.generate(),this.linkResource=e,this.env=new q([{env:f,url:"https://widget-sandbox."},{env:m,url:"https://widget-sandbox-demo."},{env:y,url:"https://widget-sandbox-demo."},{env:v,url:"https://widget-sandbox."},{env:g,url:"https://widget."},{env:_,url:"https://widsta."},{env:k,url:"https://widsta-1."},{env:E,url:"https://widsta-2."},{env:b,url:"https://widsta-3."},{env:w,url:"https://widsta-4."},{env:C,url:"https://widsta-5."},{env:S,url:"https://widsta-6."},{env:O,url:"https://widsta-7."},{env:T,url:"https://widsta-8."},{env:A,url:"https://widsta-9."},{env:R,url:"https://widsta-10."},{env:x,url:"https://widsta-11."},{env:L,url:"https://widsta-12."},{env:I,url:"https://widsta-13."},{env:D,url:"https://widsta-14."},{env:U,url:"https://widsta-15."},{env:N,url:"https://widget-staging-cba."},{env:M,url:"https://widget-sandbox-cba."},{env:F,url:"https://widget-cba."}]),this.setParams({widget_id:this.widgetId})}var $=(t(ee,null,[{key:"values",value:function(t){return Object.keys(t).map(function(e){return t[e]})}}]),ee);function ee(){l(this,ee)}var te,ne,ie,oe,re={CARD:"card",BANK_ACCOUNT:"bank_account",CHECKOUT:"checkout"},ae={CARD_NAME:"card_name",CARD_NUMBER:"card_number",EXPIRE_MONTH:"expire_month",EXPIRE_YEAR:"expire_year",CARD_CCV:"card_ccv",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"},se={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"},ue={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"},le={SUBMIT_BUTTON:"submit_button",TABS:"tabs"},ce={AMEX:"amex",AUSBC:"ausbc",DINERS:"diners",DISCOVER:"discover",JAPCB:"japcb",LASER:"laser",MASTERCARD:"mastercard",SOLO:"solo",VISA:"visa",VISA_WHITE:"visa_white"},de=[].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"]);(ne=te=te||{}).STRIPE="Stripe",ne.FLYPAY="Flypay",ne.PAYPAL="Paypal",ne.MASTERCARD="MasterCard",(oe=ie=ie||{}).GOOGLE="google",oe.APPLE="apple",oe.FLYPAY="flypay",oe.PAYPAL="paypal";var he={CARD:"card",BANK_ACCOUNT:"bank_account",CHECKOUT:"checkout"},pe={PAYMENT_SOURCE:"payment_source",CARD_PAYMENT_SOURCE_WITH_CVV:"card_payment_source_with_cvv",CARD_PAYMENT_SOURCE_WITHOUT_CVV:"card_payment_source_without_cvv"},ve=(t(fe,[{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!==$.values(ae).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!==de.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:"createEachToken",value:function(e,n,i,t){function o(t){n.hasOwnProperty(t)&&n[t].createToken(e,function(e){a[t]=e,u++,n.length===u&&fe.finishCreatingEachToken(a,s,i,r)},function(e){s.push("gateway: "+n[t].getConfigs().predefined_fields.gateway_id+" | "+e),u++,n.length===u&&fe.finishCreatingEachToken(a,s,i,r)})}var r=3<arguments.length&&void 0!==t?t:function(e){},a=new Array(n.length),s=[],u=0;for(var l in n)o(l)}},{key:"finishCreatingEachToken",value:function(e,t,n,i){1<=t.length?i(t):n(e)}}]),fe);function fe(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"default",t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:he.CARD,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:pe.PAYMENT_SOURCE;if(l(this,fe),-1===$.values(he).indexOf(t))throw new Error("unsupported payment type");if(t===he.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===$.values(pe).indexOf(n))throw new Error("unsupported purpose");this.env=new q([{env:f,url:"https://api-sandbox."},{env:m,url:"https://api-sandbox-demo."},{env:y,url:"https://api-sandbox-demo."},{env:v,url:"https://api-sandbox."},{env:g,url:"https://api."},{env:_,url:"https://apista."},{env:k,url:"https://apista-1."},{env:E,url:"https://apista-2."},{env:b,url:"https://apista-3."},{env:w,url:"https://apista-4."},{env:C,url:"https://apista-5."},{env:S,url:"https://apista-6."},{env:O,url:"https://apista-7."},{env:T,url:"https://apista-8."},{env:A,url:"https://apista-9."},{env:R,url:"https://apista-10."},{env:x,url:"https://apista-11."},{env:L,url:"https://apista-12."},{env:I,url:"https://apista-13."},{env:D,url:"https://apista-14."},{env:U,url:"https://apista-15."},{env:N,url:"https://api-staging-cba."},{env:M,url:"https://api-sandbox-cba."},{env:F,url:"https://api-cba."}]),this.configs={purpose:n,meta:{},dynamic_fields_position:!0,predefined_fields:{gateway_id:e,type:t}}}var me={INPUT:"input",SUBMIT_BUTTON:"submit_button",LABEL:"label",TITLE:"title",TITLE_DESCRIPTION:"title_description"},ye={ERROR:"error",FOCUS:"focus",HOVER:"hover"},ge=[{element:me.INPUT,states:[ye.FOCUS,ye.ERROR],styles:["color","border","border_radius","background_color","height","text_decoration","font_size","font_family","line_height","font_weight","padding","margin","transition"]},{element:me.SUBMIT_BUTTON,states:[ye.HOVER],styles:["color","border","border_radius","background_color","text_decoration","font_size","font_family","line_height","font_weight","padding","margin","transition","opacity"]},{element:me.LABEL,states:[],styles:["color","text_decoration","font_size","font_family","line_height","font_weight","padding","margin"]},{element:me.TITLE,states:[],styles:["color","text_decoration","font_size","font_family","line_height","font_weight","padding","margin","text_align"]},{element:me.TITLE_DESCRIPTION,states:[],styles:["color","text_decoration","font_size","font_family","line_height","font_weight","padding","margin","text_align"]}],_e=(t(ke,null,[{key:"check",value:function(e,t,n,i){for(var o in e)if(e.hasOwnProperty(o)&&e[o].element===t){if(-1===e[o].states.indexOf(n)&&n)return!1;for(var r in i)if(i.hasOwnProperty(r)&&-1===e[o].styles.indexOf(r.replace("-","_")))return!1;return!0}return!1}},{key:"encode",value:function(e,t,n){var i=[];for(var o in n)n.hasOwnProperty(o)&&i.push(o.replace("_","-")+":"+n[o]);var r=i.join(";");return t?e+"::"+t+"{"+r+"}":e+"{"+r+"}"}},{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(";"),o={};for(var r in i)if(i.hasOwnProperty(r)){var a=i[r].split(":");!a&&2!==a.length||(o[a[0].trim()]=(a[1]||"").trim())}return{element:n,state:t,styles:o}}}]),ke);function ke(){l(this,ke)}var Ee=(t(be,[{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!==$.values(se).indexOf(e)?this.link.setParams(n({},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!==$.values(ue).indexOf(e)?this.link.setParams(n({},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,o=3===arguments.length?n:t;if(!_e.check(ge,e,i,o))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:_e.encode(e,i,o)})}},{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===$.values(ae).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===$.values(ae).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===$.values(ae).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=$.values(le).concat($.values(ae));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!==$.values(ce).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());ve.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})}}]),be);function be(e,t){if(l(this,be),this.configs=[],this.configTokens=[],this.link=new Z("/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 ve)this.configs.push(t);else if(Array.isArray(t)&&"string"==typeof t[0])this.configTokens=t;else{if(!(Array.isArray(t)&&t[0]instanceof ve))throw Error("Unsupported type of configuration token");this.configs=t}}var we=(t(Ce,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)}}]),Ce);function Ce(){l(this,Ce)}var Se=(t(Oe,[{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()&&we.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 o=e[i].replace(/_/g,"-"),r=t.getAttribute(o);r&&n.push(e[i]+":"+r)}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 o=e[i].split(":"),r=o[0].replace(/-/g,"_").trim();-1!==t.indexOf(r)&&(n[r]=o[1].trim())}return n}}]),Oe);function Oe(e){l(this,Oe),this.selector=e}var Te=(t(Ae,[{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 o=this.getElement().contentDocument;o.open(),o.write("<html><head><style>html, body {margin: 0;} iframe {border: 0; width: 100%}</style><title></title></head><body>{{content}}</body></html>".replace("{{content}}",e)),o.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}}]),Ae);function Ae(e){l(this,Ae),this.container=e}var Pe={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"},Re=(t(xe,[{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 Pe)Pe.hasOwnProperty(i)&&e===Pe[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)}}]),xe);function xe(e){var n=this;l(this,xe),this.listeners=[],e&&we.subscribe("message",e,function(e){var t=void 0;try{t=JSON.parse(e.data)}catch(e){}t&&n.emit(t)})}var Le={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"},Ie=(t(De,[{key:"push",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(this.iFrame.isExist()){-1===$.values(Le).indexOf(e)&&console.warn("unsupported trigger type");var i={trigger:e,destination:"widget.paydock",data:n};this.iFrame.getElement().contentWindow.postMessage(JSON.stringify(i),"*")}}}]),De);function De(e){l(this,De),this.iFrame=e}var Ue=(t(Ne,[{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)}}]),Ne);function Ne(e){l(this,Ne),this.intercepted=!1,this.selector=e}var Me=(o(Fe,Ee),t(Fe,[{key:"load",value:function(){var t=this;this.setStyles(this.container.getStyles($.values(se))),this.setTexts(this.container.getAttr($.values(ue))),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(Pe.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=$.values(le).concat($.values(ae));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(Le.HIDE_ELEMENTS,{elements:t.join(",")})}},{key:"showElements",value:function(e){var t=[],n=$.values(le).concat($.values(ae));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(Le.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===$.values(ae).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(Le.UPDATE_FORM_VALUES,{form_values:e+":"+t})}},{key:"onFinishInsert",value:function(t,n){this.on(Pe.FINISH,function(e){we.insertToInput(t,n,e)})}},{key:"interceptSubmitForm",value:function(e){var t=this;this.setHiddenElements([le.SUBMIT_BUTTON]);var n=new Ue(e);n.beforeSubmit(function(){t.triggerElement.push(Le.SUBMIT_FORM,{}),t.event.on(Pe.FINISH,t.link.getParams().widget_id,function(){n.continueSubmit()})})}},{key:"useCheckoutAutoSubmit",value:function(){var t=this;this.setHiddenElements([le.SUBMIT_BUTTON]),this.on(Pe.CHECKOUT_SUCCESS,function(e){t.trigger(Le.SUBMIT_FORM)}),this.on(Pe.VALIDATION_ERROR,function(e){t.trigger(Le.REFRESH_CHECKOUT)}),this.on(Pe.SYSTEM_ERROR,function(e){t.trigger(Le.REFRESH_CHECKOUT)})}},{key:"useAutoResize",value:function(){var t=this;this.on(Pe.RESIZE,function(e){t.iFrame.getElement()&&(t.iFrame.getElement().scrolling="no",e.height&&t.iFrame.setStyle("height",e.height+"px"))})}}]),Fe);function Fe(e,t,n){l(this,Fe);var i=c(this,(Fe.__proto__||Object.getPrototypeOf(Fe)).call(this,t,n));return i.validationData={},i.container=new Se(e),i.iFrame=new Te(i.container),i.triggerElement=new Ie(i.iFrame),i.event=new Re(window),i}var je=(o(He,Me),t(He,[{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(He.prototype.__proto__||Object.getPrototypeOf(He.prototype),"setFormElement",this).call(this,P(P({},e),{field:e.field.replace("*","")}))}},{key:"setMeta",value:function(e){this.configs[0].setMeta(e)}}]),He);function He(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default",i=arguments[3],o=arguments[4];l(this,He);var r=new ve(n,i,o);return c(this,(He.__proto__||Object.getPrototypeOf(He)).call(this,e,t,r))}var Be=(t(ze,[{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 o=this,r=new XMLHttpRequest;r.onload=function(){o.parser(r.responseText,r.status,n,i)},r.open("POST",this.getUrl(),!0),r.setRequestHeader("Content-Type","application/json; charset=UTF-8"),r.setRequestHeader(h.getAccessHeaderNameByToken(e),e),r.send(JSON.stringify(t))}},{key:"get",value:function(e,t,n){var i=this,o=new XMLHttpRequest;o.onload=function(){i.parser(o.responseText,o.status,t,n)},o.open("GET",this.getUrl(),!0),o.setRequestHeader("Content-Type","application/json; charset=UTF-8"),o.setRequestHeader(h.getAccessHeaderNameByToken(e),e),o.send()}},{key:"parser",value:function(e,t,n,i){var o={};try{o=JSON.parse(e)}catch(e){}if(200<=t&&t<300||302===t)return n(o.resource.data,t);i(o.error||{message:"unknown error"},t)}}]),ze);function ze(){l(this,ze),this.env=new q([{env:f,url:"https://api-sandbox."},{env:m,url:"https://api-sandbox-demo."},{env:y,url:"https://api-sandbox-demo."},{env:v,url:"https://api-sandbox."},{env:g,url:"https://api."},{env:_,url:"https://apista."},{env:k,url:"https://apista-1."},{env:E,url:"https://apista-2."},{env:b,url:"https://apista-3."},{env:w,url:"https://apista-4."},{env:C,url:"https://apista-5."},{env:S,url:"https://apista-6."},{env:O,url:"https://apista-7."},{env:T,url:"https://apista-8."},{env:A,url:"https://apista-9."},{env:R,url:"https://apista-10."},{env:x,url:"https://apista-11."},{env:L,url:"https://apista-12."},{env:I,url:"https://apista-13."},{env:D,url:"https://apista-14."},{env:U,url:"https://apista-15."},{env:N,url:"https://api-staging-cba."},{env:M,url:"https://api-sandbox-cba."},{env:F,url:"https://api-cba."}])}var qe=(o(We,Be),t(We,[{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!==de.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)})}}]),We);function We(e,t,n){l(this,We);var i=c(this,(We.__proto__||Object.getPrototypeOf(We)).call(this));return i.body={gateway_id:e,meta:{},success_redirect_url:t,error_redirect_url:n,redirect_url:t},i}var Ve=(o(Ke,Be),t(Ke,[{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)})}}]),Ke);function Ke(e){l(this,Ke);var t=c(this,(Ke.__proto__||Object.getPrototypeOf(Ke)).call(this));return t.token=e,t}var Ye=(t(Ge,[{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})}}}]),Ge);function Ge(){l(this,Ge),this.events={}}var Je='\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',Xe="\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",Ze=(t(Qe,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]})}}]),Qe);function Qe(){l(this,Qe)}var $e="close",et="focus",tt=(t(nt,[{key:"initControl",value:function(){if(!this.isInit()&&this.showControl){if(!Ze.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&&we.subscribe("click",t,function(){return e.eventEmitter.emit($e,{})}),n&&we.subscribe("click",n,function(){return e.eventEmitter.emit(et,{})})}},{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=Xe+Je,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}}]),nt);function nt(){l(this,nt),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 Ye}var it={EXTERNAL_CHECKOUT_TOKEN:"external_checkout_token",CHECKOUT_TOKEN:"checkout_token",BANK_ACCOUNT:"bank_account",CARD:"card"},ot=(o(rt,Be),t(rt,[{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}}]),rt);function rt(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:it.CARD;l(this,rt);var i=c(this,(rt.__proto__||Object.getPrototypeOf(rt)).call(this));switch(i.body={gateway_id:e,type:n},n){case it.CARD:case it.BANK_ACCOUNT:delete t.gateway_id,delete t.type,delete t.checkout_token,i.body=P(i.body,t);break;case it.CHECKOUT_TOKEN:case it.EXTERNAL_CHECKOUT_TOKEN:i.body.checkout_token=t;break;default:throw new Error("Unsupported type of PaymentSourceToken")}return i}var at="success",st="declined",ut="close",lt="referred",ct="error",dt=(t(ht,[{key:"continue",value:function(){}},{key:"next",value:function(){}},{key:"stop",value:function(){}},{key:"error",value:function(e,t,n){n(!0)}},{key:"setCustomRedirectUri",value:function(e){this.customRedirectUti=e}},{key:"setEnv",value:function(e,t){this.widgetEnv.setEnv(e,t)}},{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()}}]),ht);function ht(){var e=this;l(this,ht),this.customRedirectUti=null,this.background=new tt,this.background.onTrigger(et,function(){return e.continue()}),this.background.onTrigger($e,function(){return e.stop()}),this.widgetEnv=new q([{env:v,url:"https://widget-sandbox."},{env:f,url:"https://widget-sandbox."},{env:m,url:"https://widget-sandbox-demo."},{env:y,url:"https://widget-sandbox-demo."},{env:g,url:"https://widget."},{env:_,url:"https://widsta."},{env:k,url:"https://widsta-1."},{env:E,url:"https://widsta-2."},{env:b,url:"https://widsta-3."},{env:w,url:"https://widsta-4."},{env:C,url:"https://widsta-5."},{env:S,url:"https://widsta-6."},{env:O,url:"https://widsta-7."},{env:T,url:"https://widsta-8."},{env:A,url:"https://widsta-9."},{env:R,url:"https://widsta-10."},{env:x,url:"https://widsta-11."},{env:L,url:"https://widsta-12."},{env:I,url:"https://widsta-13."},{env:D,url:"https://widsta-14."},{env:U,url:"https://widsta-15."},{env:N,url:"https://widget-staging-cba."},{env:M,url:"https://widget-sandbox-cba."},{env:F,url:"https://widget-cba."}])}var pt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function vt(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}function ft(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function mt(e,t){return e(t={exports:{}},t.exports),t.exports}ft(mt(function(e){!function o(r,a,s){function u(t,e){if(!a[t]){if(!r[t]){if(!e&&vt)return vt();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:{}};r[t][0].call(i.exports,function(e){return u(r[t][1][e]||e)},i,i.exports,o,r,a,s)}return a[t].exports}for(var l=vt,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 o(){throw new Error("clearTimeout has not been defined")}function r(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=r(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===o||!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:o}catch(e){d=o}}();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||r(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,o){(function(K){!function(e){if("function"==typeof bootstrap)bootstrap("promise",e);else if("object"==(void 0===o?"undefined":Y(o))&&"object"==(void 0===i?"undefined":Y(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(b&&t.stack&&"object"==(void 0===e?"undefined":Y(e))&&null!==e&&e.stack){for(var n=[],i=t;i;i=i.source)i.stack&&(!e.__minimumStackCounter__||e.__minimumStackCounter__>i.stackCounter)&&(D(e,"__minimumStackCounter__",{value:i.stackCounter,configurable:!0}),n.unshift(i.stack));n.unshift(e.stack);var o=function(e){for(var t=e.split("\n"),n=[],i=0;i<t.length;++i){var o=t[i];a(o)||(-1!==(r=o).indexOf("(module.js:")||-1!==r.indexOf("(node.js:"))||!o||n.push(o)}var r;return n.join("\n")}(n.join("\n"+F+"\n"));D(e,"stack",{value:o,configurable:!0})}}function o(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=o(e);if(t){var n=t[0],i=t[1];return n===C&&O<=i&&i<=V}}function t(){if(b)try{throw new Error}catch(e){var t=e.stack.split("\n"),n=o(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:r(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){o=n,u.longStackSupport&&b&&(i.source=n),R(r,function(e,t){u.nextTick(function(){n.promiseDispatch.apply(n,t)})},void 0),a=r=void 0}var o,r=[],a=[],e=I(l.prototype),i=I(c.prototype);if(i.promiseDispatch=function(e,t,n){var i=P(arguments);r?(r.push(i),"when"===t&&n[1]&&a.push(n[1])):u.nextTick(function(){o.promiseDispatch.apply(o,i)})},i.valueOf=function(){if(r)return i;var e=h(o);return p(e)&&(o=e),e},i.inspect=function(){return o?o.inspect():{state:"pending"}},u.longStackSupport&&b)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){o||t(u(e))},e.fulfill=function(e){o||t(m(e))},e.reject=function(e){o||t(f(e))},e.notify=function(n){o||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(o){return n(function(e,t){for(var n=0,i=o.length;n<i;n++)u(o[n]).then(e,t)})}function c(o,r,t){void 0===r&&(r=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=o[t]?o[t].apply(a,n):r.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 r(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===K?"undefined":Y(K))&&"function"==typeof K.emit&&u.nextTick.runAfter(function(){var e=x(q,t);-1!==e&&(K.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===K?"undefined":Y(K))&&"function"==typeof K.emit&&u.nextTick.runAfter(function(){-1!==x(z,e)&&(K.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(o){var r=0,a=l();return R(o,function(e,t,n){var i;p(t)&&"fulfilled"===(i=t.inspect()).state?o[n]=i.value:(++r,d(t,function(e){o[n]=e,0==--r&&a.resolve(o)},a.reject,function(e){a.notify({index:n,value:e})}))},void 0),0===r&&a.resolve(o),a.promise})}function k(o){if(0===o.length)return u.resolve();var r=u.defer(),a=0;return R(o,function(e,t,n){var i=o[n];a++,d(i,function(e){r.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,r.reject(e))},function(e){r.notify({index:n,value:e})})},void 0),r.promise}function E(e){return d(e,function(e){return e=L(e,u),d(_(L(e,function(e){return d(e,w,w)})),function(){return e})})}var b=!1;try{throw new Error}catch(e){b=!!e.stack}function w(){}var C,S,O=t(),T=function(){function n(){for(var e,t;o.next;)e=(o=o.next).task,o.task=void 0,(t=o.domain)&&(o.domain=void 0,t.enter()),i(e,t);for(;u.length;)i(e=u.pop());r=!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 o={task:void 0,next:null},t=o,r=!1,a=void 0,s=!1,u=[];if(T=function(e){t=t.next={task:e,domain:s&&K.domain,next:null},r||(r=!0,a())},"object"==(void 0===K?"undefined":Y(K))&&"[object process]"===K.toString()&&K.nextTick)s=!0,a=function(){K.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),r||(r=!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,o){var r=this,a=[];return R(r,function(e,t,n){a.push(i.call(o,t,n,r))},void 0),a}),I=Object.create||function(e){function t(){}return t.prototype=e,new t},D=Object.defineProperty||function(e,t,n){return e[t]=n.value,e},U=e(Object.prototype.hasOwnProperty),N=Object.keys||function(e){var t=[];for(var n in e)U(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===K?"undefined":Y(K))&&K&&K.env&&K.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,o){var i=this,r=l(),a=!1;return u.nextTick(function(){i.promiseDispatch(function(e){a||(a=!0,r.resolve(function(e){try{return"function"==typeof t?t(e):e}catch(e){return f(e)}}(e)))},"when",[function(e){a||(a=!0,r.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 o?o(n):n}catch(e){if(i=!0,!u.onerror)throw e;u.onerror(e)}i||r.notify(t)}]),r.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=r,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,o,r)}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,o,r)}var i=t.apply(this,arguments),o=e.bind(e,"next"),r=e.bind(e,"throw");return o()}},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,o),!u.onerror)throw e;u.onerror(e)})},o=e||t||n?this.then(e,t,n):this;"object"==(void 0===K?"undefined":Y(K))&&K&&K.domain&&(i=K.domain.bind(i)),o.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 o=P(arguments,2);return function(){var e=o.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 r(e){switch(void 0===e?"undefined":Y(e)){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}}t.exports=function(n,i,o,e){return i=i||"&",o=o||"=",null===n&&(n=void 0),"object"==(void 0===n?"undefined":Y(n))?Object.keys(n).map(function(e){var t=encodeURIComponent(r(e))+o;return Array.isArray(n[e])?n[e].map(function(e){return t+encodeURIComponent(r(e))}).join(i):t+encodeURIComponent(r(n[e]))}).join(i):e?encodeURIComponent(r(e))+o+encodeURIComponent(r(n)):""}},{}],4:[function(e,t,n){function i(e){return e&&e.__esModule?e:{default:e}}function o(n,i,o){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"),o(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),o(e),n.onError({code:"checkout_error",message:"Checkout response error",detail:e})})}Object.defineProperty(n,"__esModule",{value:!0}),n.Checkout=void 0;var r=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=(r(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=P({},s.default,t),!this._validate(t))return l.default.setLevel(t.logLevel),t.redirect?o(t,function(e){return t.redirectFn(e.redirectUri)}):(e=t,(n=new a.default).onClose=e.onComplete.bind(e),n.build(),void o(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",o={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=o},{}],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&&o(e.prototype,t),n&&o(e,n),e},t=c("./utility");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)}}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 r={},a=d.EventListener=(e(s,null,[{key:"constructor",value:function(){r={}}},{key:"on",value:function(e,t){r[e]=t}},{key:"off",value:function(e){r[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=r[n];i?i(e.detail.data||{}):(t=e,console.log("Unexpected Event",t))},!1)}).call(this,void 0!==pt?pt:"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!==pt?pt:"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 r(){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 o=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=(o(f,[{key:"build",value:function(){this._initialHtmlHeight=s(),window.scrollTo(0,0);var e,t,n,i,o,r=this._frame=(e=this._frameUri,t=this._isMobile,(n=document.createElement("iframe")).id="zipmoney-iframe",n.frameborder=0,P(n.style,{padding:"0",border:"none",zIndex:"999999",backgroundColor:"#FFF",backgroundImage:"url("+p+"spinner.gif)",backgroundRepeat:"no-repeat",backgroundPosition:"50% 50%"}),P(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=((o=document.createElement("img")).src=p+"icon-close.png",P(o.style,{width:"50px",height:"50px",position:"absolute",top:"20px",right:"20px",cursor:"pointer"}),o);a.onclick=this.close.bind(this),this._overlay=((i=document.createElement("div")).className="zipmoney-overlay",P(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}()),r=this._overlay}document.body.appendChild(r),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=r();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 o=this;this._resizeHandler=a.default.debounce(function(){return e=o,t=r(),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 o=i(e("./xr")),r=i(e("./console"));o.default.configure({headers:{"X-Requested-With":"XMLHttpRequest"}});var a={request:"standard",redirect:!1,logLevel:"Error",onCheckout:function(t,e){o.default.post(this.checkoutUri).then(function(e){return t(e.data)}).catch(e)},onShippingAddressChanged:function(e,t){o.default.post(this.shippingUri).then(e).catch(t)},onComplete:function(e){if(r.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){r.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&&r(e.prototype,t),n&&r(e,n),e}(o,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 o=t.indexOf("rv:");e=parseInt(t.substring(o+3,t.indexOf(".",o)),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,o){var r;return function(){var e=this,t=arguments,n=!r;clearTimeout(r),r=setTimeout(function(){r=null,i.apply(e,t)},o),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)}}]),o);function o(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o)}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)}}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 o in n)if({}.hasOwnProperty.call(n,o)){var r=n[o];if("object"===(void 0===r?"undefined":c(r)))for(var a in r)!{}.hasOwnProperty.call(r,a)||(e[a]=r[a])}return e}function o(s){return t=function(t,n){var i=l({},p,v,s),o=i.xmlHttpRequest();for(var e in i.abort&&s.abort(function(){n(u(o)),o.abort()}),o.open(i.method,i.params?i.url.split("?")[0]+"?"+(0,d.default)(i.params):i.url,!0),o.withCredentials=i.withCredentials,o.addEventListener(h.LOAD,function(){if(200<=o.status&&o.status<300){var e=null;o.responseText&&(e=!0===i.raw?o.responseText:i.load(o.responseText)),t(u(o,e))}else n(u(o))}),o.addEventListener(h.ABORT,function(){return n(u(o))}),o.addEventListener(h.ERROR,function(){return n(u(o))}),o.addEventListener(h.TIMEOUT,function(){return n(u(o))}),i.headers)!{}.hasOwnProperty.call(i.headers,e)||o.setRequestHeader(e,i.headers[e]);for(var r in i.events)!{}.hasOwnProperty.call(i.events,r)||o.addEventListener(r,i.events[r].bind(null,o),!1);var a="object"!==c(i.data)||i.raw?i.data:i.dump(i.data);void 0!==a?o.send(a):o.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"==Y(Symbol.iterator)?function(e){return void 0===e?"undefined":Y(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":Y(e)},d=i(e("querystring/encode")),r=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 r.default.Promise(e)},withCredentials:!1},v={};o.assign=l,o.encode=d.default,o.configure=function(e){v=l({},v,e)},o.Methods=a,o.Events=h,o.defaults=p,o.get=function(e,t,n){return o(l({url:e,method:a.GET,params:t},n))},o.put=function(e,t,n){return o(l({url:e,method:a.PUT,data:t},n))},o.post=function(e,t,n){return o(l({url:e,method:a.POST,data:t},n))},o.patch=function(e,t,n){return o(l({url:e,method:a.PATCH,data:t},n))},o.del=function(e,t){return o(l({url:e,method:a.DELETE},t))},o.options=function(e,t){return o(l({url:e,method:a.OPTIONS},t))},n.default=o},{q:2,"querystring/encode":3}]},{},[7])}));var yt=(o(gt,dt),t(gt,[{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=String("/v1/echo");n=V.extendSearchParams(n,h.validateJWT(this.publicKey)?"access_token":"public_key",this.publicKey),n=V.extendSearchParams(n,"json_body",encodeURIComponent(JSON.stringify({redirect_uri:this.checkout.link}))),Zip.Checkout.init({checkoutUri:this.echoEnv.getConf().url+n,onComplete:function(e){return t.eventHandler(e)},onError:function(e){return t.eventHandler(e)}})}},{key:"stop",value:function(){a(gt.prototype.__proto__||Object.getPrototypeOf(gt.prototype),"stop",this).call(this),this.runs=!1;var e=document.querySelector(".zipmoney-overlay");e&&e.remove(),this.eventEmitter.emit(ut,{})}},{key:"onStop",value:function(e){var t=this;this.eventEmitter.subscribe(ut,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(ut,{}),this.eventEmitter.emit(at,{});break;case"declined":this.eventEmitter.emit(ut,{}),this.eventEmitter.emit(st,{});break;case"cancelled":this.eventEmitter.emit(ut,{});break;case"referred":this.eventEmitter.emit(ut,{}),this.eventEmitter.emit(lt,{});break;default:console.warn("Unknown gateway status")}}},{key:"getSuccessRedirectUri",value:function(){return this.customRedirectUti?this.customRedirectUti:this.widgetEnv.getConf().url+String("/checkout/zipmoney")}},{key:"getErrorRedirectUri",value:function(){return this.getSuccessRedirectUri()}},{key:"setEnv",value:function(e,t){a(gt.prototype.__proto__||Object.getPrototypeOf(gt.prototype),"setEnv",this).call(this,e,t),this.echoEnv.setEnv(e,t)}}]),gt);function gt(e){l(this,gt);var t=c(this,(gt.__proto__||Object.getPrototypeOf(gt)).call(this));return t.publicKey=e,t.checkout=null,t.runs=!1,t.eventEmitter=new Ye,t.echoEnv=new q([{env:v,url:"https://api-sandbox."},{env:f,url:"https://api-sandbox."},{env:m,url:"https://api-sandbox-demo."},{env:y,url:"https://api-sandbox-demo."},{env:g,url:"https://api."},{env:_,url:"https://apista."},{env:k,url:"https://apista-1."},{env:E,url:"https://apista-2."},{env:b,url:"https://apista-3."},{env:w,url:"https://apista-4."},{env:C,url:"https://apista-5."},{env:S,url:"https://apista-6."},{env:O,url:"https://apista-7."},{env:T,url:"https://apista-8."},{env:A,url:"https://apista-9."},{env:R,url:"https://apista-10."},{env:x,url:"https://apista-11."},{env:L,url:"https://apista-12."},{env:I,url:"https://apista-13."},{env:D,url:"https://apista-14."},{env:U,url:"https://apista-15."},{env:N,url:"https://api-staging-cba."},{env:M,url:"https://api-sandbox-cba."},{env:F,url:"https://api-cba."}]),t}o(_t,Be),t(_t,[{key:"getLink",value:function(){return String("/v1/gateways/:gateway_id").replace(":gateway_id",this.gatewayID)}},{key:"sendRequest",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)})}}],[{key:"sendRequest",value:function(e,t,n,i,o){var r=4<arguments.length&&void 0!==o?o:function(e){},a=new this(e);a.setEnv(n),a.sendRequest(t,i,r)}}]);function _t(e){l(this,_t);var t=c(this,(_t.__proto__||Object.getPrototypeOf(_t)).call(this));return t.gatewayID=e,t}var kt="Zipmoney",Et="PaypalClassic",bt="Afterpay",wt="paydock-dispatcher",Ct=(t(St,[{key:"restartDispatcher",value:function(){var e=document.getElementById(wt);e&&e.parentNode.removeChild(e);var t=document.createElement("iframe");t.setAttribute("src",this.env.getConf().url+"/dispatcher"),t.id=wt,t.style.display="none",document.body.appendChild(t)}},{key:"on",value:function(n,i){var o=this;we.subscribe("message",window,function(e){var t=null;try{t=JSON.parse(e.data)}catch(e){}t&&t.message_source===o.messageSource&&t.event===n&&i(t)})}},{key:"setEnv",value:function(e,t){this.env.setEnv(e,t),this.restartDispatcher()}}]),St);function St(e){l(this,St),this.messageSource=e,this.env=new q([{env:v,url:"https://widget-sandbox."},{env:f,url:"https://widget-sandbox."},{env:m,url:"https://widget-sandbox-demo."},{env:y,url:"https://widget-sandbox-demo."},{env:g,url:"https://widget."},{env:_,url:"https://widsta."},{env:k,url:"https://widsta-1."},{env:E,url:"https://widsta-2."},{env:b,url:"https://widsta-3."},{env:w,url:"https://widsta-4."},{env:C,url:"https://widsta-5."},{env:S,url:"https://widsta-6."},{env:O,url:"https://widsta-7."},{env:T,url:"https://widsta-8."},{env:A,url:"https://widsta-9."},{env:R,url:"https://widsta-10."},{env:x,url:"https://widsta-11."},{env:L,url:"https://widsta-12."},{env:I,url:"https://widsta-13."},{env:D,url:"https://widsta-14."},{env:U,url:"https://widsta-15."},{env:N,url:"https://widget-staging-cba."},{env:M,url:"https://widget-sandbox-cba."},{env:F,url:"https://widget-cba."}])}var Ot=(t(Tt,[{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(!Ze.isSupportPopUp())return this.window=window;var t=this.getConfigs();this.window=window.open("about:blank","_blank","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=P(this.configs,e)}},{key:"getNetConfigs",value:function(){return P({},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=Xe+Je,this.env===_&&this.env===k&&this.env===E&&this.env===b&&this.env===w&&this.env===C&&this.env===S&&this.env===O&&this.env===T&&this.env===A&&this.env===R&&this.env===x&&this.env===L&&this.env===I&&this.env===D&&this.env===U){var t=0;we.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}}]),Tt);function Tt(){l(this,Tt),this.configs={width:500,height:500,scrollbars:!0,resizable:!0,top:0,left:0},this.eventEmitter=new Ye}var At=(o(Pt,dt),t(Pt,[{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,Ze.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 o=this;this.dispatcher.on(e,function(e){if(o.checkout&&o.checkout.reference_id===e.reference_id)o.background.clear(),i(o.checkout);else if(!Ze.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"),o.checkout=n,o.background.clear(),i(o.checkout))}})}},{key:"setEnv",value:function(e,t){a(Pt.prototype.__proto__||Object.getPrototypeOf(Pt.prototype),"setEnv",this).call(this,e,t),this.dispatcher.setEnv(e,t),this.popup.setEnv(e)}}]),Pt);function Pt(e){l(this,Pt);var t=c(this,(Pt.__proto__||Object.getPrototypeOf(Pt)).call(this));return t.publicKey=e,t.checkout=null,t.dispatcher=new Ct("checkout.paydock"),setTimeout(function(){return t.dispatcher.restartDispatcher()},200),t.popup=new Ot,t}var Rt=(o(xt,At),t(xt,[{key:"getSuccessRedirectUri",value:function(){return this.widgetEnv.getConf().url+V.extendSearchParams("/checkout/success","merchant",encodeURIComponent(window.location.href))}},{key:"getErrorRedirectUri",value:function(){return this.widgetEnv.getConf().url+V.extendSearchParams("/checkout/error","merchant",encodeURIComponent(window.location.href))}}]),xt);function xt(){return l(this,xt),c(this,(xt.__proto__||Object.getPrototypeOf(xt)).apply(this,arguments))}var Lt=(o(It,At),t(It,[{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,Ze.isSupportPopUp()||window.localStorage.setItem("paydock_checkout_token",JSON.stringify(this.checkout)),this.popup.redirect(this.getRedirectUrl(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){return this.widgetEnv.getConf().url+"/checkout/afterpay/init?"+V.serialize(P(P({},e),{token:this.checkout.reference_id,env:"live"===this.checkout.mode?"live":"test"}))}}]),It);function It(){return l(this,It),c(this,(It.__proto__||Object.getPrototypeOf(It)).apply(this,arguments))}var Dt={CLICK:"click",POPUP_REDIRECT:"popupRedirect",ERROR:"error",REFERRED:"referred",DECLINED:"declined",CANCELLED:"cancelled",ACCEPTED:"accepted",FINISH:"finish",CLOSE:"close"},Ut=(t(Nt,[{key:"buildAdditionalParams",value:function(){return{}}},{key:"initCheckout",value:function(){var n=this;this.container.on("click",function(e){if(!n.runner.isRunning()){n.eventEmitter.emit(Dt.CLICK,{}),n.runner.run();var t=new qe(n.gatewayId,n.runner.getSuccessRedirectUri(),n.runner.getErrorRedirectUri());t.setMeta(n.meta),t.setEnv(n.env),t.send(n.aceessToken,function(e){n.eventEmitter.emit(Dt.POPUP_REDIRECT,{}),n.runner.next(e,n.buildAdditionalParams())},function(e,t){n.eventEmitter.emit(Dt.ERROR,{}),n.runner.error(e,t,function(e){e&&n.close()})})}})}},{key:"initCheckoutHandlers",value:function(){var t=this;this.runner.onCheckout(at,function(e){t.eventEmitter.emit(Dt.ACCEPTED,{}),t.background.initLoader(),t.close(),t.checkToken(e.token,function(){t.createOneTimeToken(e.token)})}),this.runner.onCheckout(ct,function(){t.eventEmitter.emit(Dt.ERROR,{}),console.error("Error from checkout server"),t.close()}),this.runner.onCheckout(lt,function(){t.eventEmitter.emit(Dt.REFERRED,{}),t.close()}),this.runner.onCheckout(st,function(){t.eventEmitter.emit(Dt.DECLINED,{}),t.close()}),this.eventEmitter.subscribe(Dt.ERROR,function(){t.background.clear()}),this.eventEmitter.subscribe(Dt.FINISH,function(){t.background.clear()})}},{key:"checkToken",value:function(e,t){var n=this,i=new Ve(e);i.setEnv(this.env),i.send(this.aceessToken,function(e){n.details=e,t()},function(){n.eventEmitter.emit(Dt.ERROR,{}),console.error("Error during creating payment source token")})}},{key:"createOneTimeToken",value:function(e){var t=this,n=new ot(this.gatewayId,e,it.CHECKOUT_TOKEN);n.setEnv(this.env),n.send(this.aceessToken,function(e){t.eventEmitter.emit(Dt.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(Dt.ERROR,{}),console.error("Error during creating payment source token")})}},{key:"on",value:function(e,t){this.eventEmitter.subscribe(e,t)}},{key:"close",value:function(){this.runner.stop()}},{key:"onFinishInsert",value:function(t,n){this.on(Dt.FINISH,function(e){we.insertToInput(t,n,e)})}},{key:"setMeta",value:function(e){this.meta=P(this.meta,e)}},{key:"setBackdropDescription",value:function(e){this.runner.setBackgroundDescription(e)}},{key:"setBackdropTitle",value:function(e){this.runner.setBackgroundTitle(e)}},{key:"setSuspendedRedirectUri",value:function(e){this.runner.setCustomRedirectUri(e)}},{key:"turnOffBackdrop",value:function(){this.turnOffControlBackdrop(),this.turnOffLoaderBackdrop()}},{key:"turnOffControlBackdrop",value:function(){this.runner.turnOffBackdrop()}},{key:"turnOffLoaderBackdrop",value:function(){this.background.turnOffLoader()}},{key:"setEnv",value:function(e,t){this.env=e,this.runner.setEnv(e,t)}},{key:"getEnv",value:function(){return this.env}}]),Nt);function Nt(e,t){var n=this,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default",o=3<arguments.length&&void 0!==arguments[3]?arguments[3]:Et;switch(l(this,Nt),this.aceessToken=t,this.gatewayId=i,this.gatewayType=o,this.details=null,this.meta={},this.env=H,this.eventEmitter=new Ye,this.container=new Se(e),this.background=new tt,o){case Et:this.runner=new Rt(t);break;case bt:this.runner=new Lt(t);break;case kt:this.runner=new yt(t)}this.initCheckout(),this.initCheckoutHandlers(),this.runner.onStop(function(){n.eventEmitter.emit(Dt.CLOSE,{})})}var Mt=(o(Ft,Ut),t(Ft,[{key:"setSuspendedRedirectUri",value:function(e){a(Ft.prototype.__proto__||Object.getPrototypeOf(Ft.prototype),"setSuspendedRedirectUri",this).call(this,e)}}]),Ft);function Ft(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default";l(this,Ft);var i=c(this,(Ft.__proto__||Object.getPrototypeOf(Ft)).call(this,e,t,n,kt));return i.publicKey=t,i.gatewayId=n,i}var jt=(o(Ht,Ut),t(Ht,[{key:"showEnhancedTrackingProtectionPopup",value:function(e){var t=Ze.getBrowserInfo(),n=t.name,i=t.version;e&&"Firefox"===n&&100<=+i&&(this.showETP=!0)}},{key:"buildAdditionalParams",value:function(){var e=a(Ht.prototype.__proto__||Object.getPrototypeOf(Ht.prototype),"buildAdditionalParams",this).call(this);return this.showETP&&(e.show_etp=!0),e}}]),Ht);function Ht(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default";l(this,Ht);var i=c(this,(Ht.__proto__||Object.getPrototypeOf(Ht)).call(this,e,t,n,bt));return i.accessToken=t,i.gatewayId=n,i.showETP=!1,i}var Bt,zt,qt=(o(Wt,Ut),Wt);function Wt(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default";l(this,Wt);var i=c(this,(Wt.__proto__||Object.getPrototypeOf(Wt)).call(this,e,t,n,Et));return i.publicKey=t,i.gatewayId=n,i}(zt=Bt=Bt||{}).AFTER_LOAD="after_load",zt.UNAVAILABLE="unavailable",zt.START_LOADING="start_loading",zt.END_LOADING="end_loading",zt.UPDATE="update",zt.PAYMENT_SUCCESSFUL="payment_successful",zt.PAYMENT_IN_REVIEW="payment_in_review",zt.PAYMENT_ERROR="payment_error";var Vt=(o(Kt,Re),t(Kt,[{key:"on",value:function(e,t,n){for(var i in Bt)Bt.hasOwnProperty(i)&&e===Bt[i]&&this.listeners.push({event:e,listener:n,widget_id:t})}}]),Kt);function Kt(){return l(this,Kt),c(this,(Kt.__proto__||Object.getPrototypeOf(Kt)).apply(this,arguments))}var Yt={CLOSE:"close",UPDATED:"updated"},Gt=(o(Jt,Ie),t(Jt,[{key:"push",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(this.iFrame.isExist()){-1===$.values(Yt).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),"*")}}}]),Jt);function Jt(e,t){l(this,Jt);var n=c(this,(Jt.__proto__||Object.getPrototypeOf(Jt)).call(this,e));return n.widgetId=t,n}var Xt=(o(Zt,tt),t(Zt,[{key:"initControl",value:function(){this.imageStyle||this.createImageStyles(),a(Zt.prototype.__proto__||Object.getPrototypeOf(Zt.prototype),"initControl",this).call(this)}},{key:"clear",value:function(){this.imageStyle&&this.imageStyle.parentNode.removeChild(this.imageStyle),this.imageStyle=null,a(Zt.prototype.__proto__||Object.getPrototypeOf(Zt.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)}}]),Zt);function Zt(e){l(this,Zt);var t=c(this,(Zt.__proto__||Object.getPrototypeOf(Zt)).call(this));return t.bgImageUrl=e,t.imageStyle=null,t}var Qt={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"},$t=(t(en,[{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===$.values(Qt).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)})})}}]),en);function en(e,t){l(this,en),this.publicKey=e,this.meta=t,this.env=v,this.eventEmitter=new Ye,this.initializeChildWallets()}var tn=(o(nn,$t),t(nn,[{key:"load",value:function(e){this.container=e,this.iFrame=new Te(this.container);var t=this.link.getParams().widget_id;this.triggerElement=new Gt(this.iFrame,t),this.setupIFrameEvents(t),this.background=this.initBackground(),this.iFrame.load(this.link.getUrl())}},{key:"close",value:function(){this.triggerElement.push(Yt.CLOSE),this.background.clear()}},{key:"update",value:function(e){this.triggerElement.push(Yt.UPDATED,e)}},{key:"setEnv",value:function(e){return this.link.setEnv(e),this}},{key:"initBackground",value:function(){var e=this,t=new Xt(this.link.getNetUrl().replace(X,"/images/logo.png"));return t.setBackdropTitle(""),t.setBackdropDescription(""),t.onTrigger($e,function(){return e.triggerElement.push(Yt.CLOSE)}),t}},{key:"setupIFrameEvents",value:function(e){var t=this;this.event.on(Bt.UNAVAILABLE,e,function(e){return t.eventEmitter.emit(Qt.UNAVAILABLE,null)}),this.event.on(Bt.START_LOADING,e,function(e){return t.background.initControl()}),this.event.on(Bt.END_LOADING,e,function(e){return t.background.clear()}),this.event.on(Bt.UPDATE,e,function(e){t.eventEmitter.emit(Qt.UPDATE,t.parseUpdateData(e))}),this.event.on(Bt.PAYMENT_SUCCESSFUL,e,function(e){t.eventEmitter.emit(Qt.PAYMENT_SUCCESS,t.parsePaymentSuccessfulData(e)),t.iFrame.getElement()||t.background.clear()}),this.event.on(Bt.PAYMENT_IN_REVIEW,e,function(e){t.eventEmitter.emit(Qt.PAYMENT_IN_REVIEW,t.parsePaymentSuccessfulData(e)),t.iFrame.getElement()||t.background.clear()}),this.event.on(Bt.PAYMENT_ERROR,e,function(e){t.eventEmitter.emit(Qt.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 P(P(P({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}}:{})}}]),nn);function nn(e,t){l(this,nn);var n=c(this,(nn.__proto__||Object.getPrototypeOf(nn)).call(this,e,t));n.link=new Z(X);var i=t.amount,o=t.currency,r=t.id,a=t.gateway_mode,s=t.reference,u=t.request_shipping;return n.link.setParams(P({token:e,amount:i,currency:o,gateway_mode:a,credentials:s||r},u?{request_shipping:u}:{})),n.token=e,n.event=new Vt(window),n}var on=(o(rn,$t),t(rn,[{key:"load",value:function(e){var o=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+"&currency="+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?(o.paypal=window.paypal,o.paypal.Buttons(P(P({},o.meta.style&&{style:o.meta.style}),{createOrder:function(){return new Promise(function(t,n){o.eventEmitter.emit(Qt.CALLBACK,{data:P({request_type:"CREATE_TRANSACTION"},o.meta.request_shipping&&{request_shipping:o.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=o.parseUpdateData(i);o.latestShippingData=n.shipping,o.latestShippingChangePromiseResolve=e,o.latestShippingChangePromiseReject=t,o.eventEmitter.emit(Qt.UPDATE,n)})},onApprove:function(n){return new Promise(function(e,t){return o.eventEmitter.emit(Qt.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)):o.eventEmitter.emit(Qt.UNAVAILABLE,null)},document.head.appendChild(n)}else this.eventEmitter.emit(Qt.UNAVAILABLE,null)}},{key:"update",value:function(e){var t=this;if(this.latestShippingChangePromiseResolve&&this.latestShippingChangePromiseReject)return e.success?void this.eventEmitter.emit(Qt.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 P(P({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}})}}]),rn);function rn(){return l(this,rn),c(this,(rn.__proto__||Object.getPrototypeOf(rn)).apply(this,arguments))}var an=mt(function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"===Y(Symbol.iterator)?function(e){return void 0===e?"undefined":Y(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":Y(e)})(e)}Object.defineProperty(t,"__esModule",{value:!0});function o(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 o(r).then(function(e){return function(e,t,n){if(null===e)return null;var i,o,r=e.apply(void 0,t);return o=n,(i=r)&&i._registerWrapper&&i._registerWrapper({name:"stripe-js",version:"1.11.0",startTime:o}),r}(e,t,i)})}var r,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");r=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});ft(an);an.loadStripe;var sn=an.loadStripe,un="success",ln="fail",cn=(o(dn,$t),t(dn,[{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 sn(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(ie.GOOGLE),n=!i.meta.wallets||i.meta.wallets.includes(ie.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(Qt.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,o=i.id,r=i.card,a=i.billing_details,s=a.name,u=a.address,l={payment_method_id:o,customer:{payer_name:e.payerName,payer_email:e.payerEmail,payer_phone:e.payerPhone,payment_source:{wallet_type:c.getWalletType(null===(t=null==r?void 0:r.wallet)||void 0===t?void 0:t.type),card_name:s,type:null===(n=null==r?void 0:r.wallet)||void 0===n?void 0:n.type,card_scheme:null==r?void 0:r.brand,card_number_last4:null==r?void 0:r.last4,expire_month:null==r?void 0:r.exp_month,expire_year:null==r?void 0:r.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(Qt.PAYMENT_METHOD_SELECTED,{data:l,onSuccess:function(){return e.complete(un)},onError:function(){return e.complete(ln)}})})}},{key:"getWalletType",value:function(e){return e?"google_pay"===e?ie.GOOGLE:ie.APPLE:null}}]),dn);function dn(){return l(this,dn),c(this,(dn.__proto__||Object.getPrototypeOf(dn)).apply(this,arguments))}var hn=(o(pn,$t),t(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[ie.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"===Y(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"===Y(null===(n=this.meta)||void 0===n?void 0:n.raw_data_initialization)){var o=JSON.parse(JSON.stringify(null===(i=this.meta)||void 0===i?void 0:i.raw_data_initialization));return"google"in o&&(null==o||delete o.google),"apple"in o?null==o?void 0:o.apple:o}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(Qt.UNAVAILABLE,{wallet:ie.APPLE})}).catch(function(e){return console.error("Error checking ApplePay availability",e)});this.eventEmitter.emit(Qt.UNAVAILABLE,{wallet:ie.APPLE})}},{key:"update",value:function(e){var t,n,i;if(this.latestShippingChangePromiseResolve&&this.latestShippingChangePromiseReject){if(!e.success||!e.body)return this.latestShippingChangePromiseReject();var o=null===(t=null==e?void 0:e.body)||void 0===t?void 0:t.amount,r=null===(n=null==e?void 0:e.body)||void 0===n?void 0:n.shipping_options;o&&(this.meta.amount=o),r&&(this.meta.shipping_options=r,this.selectedShippingOption=r?r[0]:void 0);var a=P({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":Y(t))&&("object"===Y(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||P(P(P({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()&&P({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(Qt.CALLBACK,{data:P({request_type:"CREATE_SESSION",wallet_type:ie.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 s=c(this,(pn.__proto__||Object.getPrototypeOf(pn)).call(this,e,t));return s.gatewayName=n,s.eventEmitter=i,s.latestShippingData={},s.onValidateMerchant=function(e){s.getMerchantSession().then(function(e){s.paymentSession.completeMerchantValidation(e)}).catch(function(e){return console.error("Error fetching merchant session",e)})},s.onPaymentAuthorized=function(e){var t,n=e.payment,i=n.token,o=n.billingContact,r=n.shippingContact;s.latestShippingData.shippingContact=r;var a=null===(t=s.selectedShippingOption)||void 0===t?void 0:t.type;s.eventEmitter.emit(Qt.PAYMENT_METHOD_SELECTED,{data:P({customer:{payment_source:{wallet_type:ie.APPLE,card_name:i.paymentMethod.displayName,type:i.paymentMethod.type,card_scheme:i.paymentMethod.network,address_line1:null==o?void 0:o.addressLines[0],address_line2:null==o?void 0:o.addressLines[1],address_country:null==o?void 0:o.countryCode,address_city:null==o?void 0:o.locality,address_postcode:null==o?void 0:o.postalCode,address_state:null==o?void 0:o.administrativeArea,ref_token:i.paymentData?JSON.stringify(i.paymentData):""}}},s.meta.request_shipping&&r&&{shipping:P(P(P({},a&&{method:a}),s.hasShippingOptions()&&{options:s.meta.shipping_options}),{address_line1:r.addressLines[0],address_line2:r.addressLines[1],address_country:r.countryCode,address_city:r.locality,address_postcode:r.postalCode,address_state:r.administrativeArea,contact:{first_name:r.givenName,last_name:r.familyName,email:r.emailAddress,phone:r.phoneNumber}})}),onSuccess:function(){return s.paymentSession.completePayment(ApplePaySession.STATUS_SUCCESS)},onError:function(){return s.paymentSession.completePayment(ApplePaySession.STATUS_FAILURE)}})},s.onShippingContactSelected=function(e){s.latestShippingData.shippingContact=e.shippingContact;var t=s.parseUpdateData(s.latestShippingData);return s.eventEmitter.emit(Qt.UPDATE,t),new Promise(function(e,t){s.latestShippingChangePromiseResolve=e,s.latestShippingChangePromiseReject=t})},s.onShippingMethodSelected=function(e){var t,n;s.latestShippingData.shippingMethod=e.shippingMethod;var i={newTotal:{label:s.meta.amount_label||(null===(n=null===(t=s.getMetaRawDataInitialization())||void 0===t?void 0:t.total)||void 0===n?void 0:n.label),amount:s.meta.amount.toString(),type:"final"}};s.paymentSession.completeShippingMethodSelection(i)},s.parseUpdateData=function(e){var t,n,i,o,r,a,s,u;return P({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===(o=null==e?void 0:e.shippingContact)||void 0===o?void 0:o.countryCode}},(null==e?void 0:e.shippingMethod)&&{selected_shipping_option:{id:null===(r=null==e?void 0:e.shippingMethod)||void 0===r?void 0:r.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}})},s.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}})},s.eventEmitter=i,s}var vn=(o(fn,$t),t(fn,[{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[ie.GOOGLE])||void 0===n?void 0:n.merchant}},{key:"getMetaStyles",value:function(){var e,t,n,i;return"object"===Y(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,o;return null!==(e=this.meta)&&void 0!==e&&e.raw_data_initialization&&"object"===Y(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===(o=null===(i=this.meta)||void 0===i?void 0:i.raw_data_initialization)||void 0===o?void 0:o.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(o,r){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(Qt.UNAVAILABLE,{wallet:ie.GOOGLE}),void r();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(P({merchantInfo:P(P({},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:P({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(Qt.UNAVAILABLE,{wallet:ie.GOOGLE}),void r();s.mount(a),o()})},document.head.appendChild(e)});this.eventEmitter.emit(Qt.UNAVAILABLE,{wallet:ie.GOOGLE})}},{key:"update",value:function(e){var t,n,i,o;if(this.latestShippingChangePromiseResolve&&this.latestShippingChangePromiseReject){if(!e.success)return this.latestShippingChangePromiseReject();var r=(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;r&&(this.meta.amount=r),a&&(this.meta.shipping_options=a,this.selectedShippingOption=a?a[0]:void 0);var s=P({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===(o=this.selectedShippingOption)||void 0===o?void 0:o.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,o=this;e.getElement().appendChild(this.paymentsClient.createButton({onClick:function(){return o.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(b){var e,t,n,i,o,r,a,s,u,w=this,C=null===(n=null===(t=null===(e=b.paymentMethodData)||void 0===e?void 0:e.info)||void 0===t?void 0:t.billingAddress)||void 0===n?void 0:n.address1,S=null===(r=null===(o=null===(i=b.paymentMethodData)||void 0===i?void 0:i.info)||void 0===o?void 0:o.billingAddress)||void 0===r?void 0:r.address2,O=null===(a=null==b?void 0:b.shippingAddress)||void 0===a?void 0:a.address1,T=null===(s=null==b?void 0:b.shippingAddress)||void 0===s?void 0:s.address2,A=null===(u=this.selectedShippingOption)||void 0===u?void 0:u.type;return new Promise(function(t){var e,n,i,o,r,a,s,u,l,c,d,h,p,v,f,m,y,g,_,k,E;return w.eventEmitter.emit(Qt.PAYMENT_METHOD_SELECTED,{data:P({customer:{payment_source:P(P(P(P({wallet_type:ie.GOOGLE,card_name:null===(e=b.paymentMethodData)||void 0===e?void 0:e.description,type:b.paymentMethodData.type,card_scheme:null===(i=null===(n=b.paymentMethodData)||void 0===n?void 0:n.info)||void 0===i?void 0:i.cardNetwork},C&&{address_line1:C}),S&&{address_line2:S}),S&&{address_line2:S}),{address_country:null===(a=null===(r=null===(o=b.paymentMethodData)||void 0===o?void 0:o.info)||void 0===r?void 0:r.billingAddress)||void 0===a?void 0:a.countryCode,address_city:null===(l=null===(u=null===(s=b.paymentMethodData)||void 0===s?void 0:s.info)||void 0===u?void 0:u.billingAddress)||void 0===l?void 0:l.locality,address_postcode:null===(h=null===(d=null===(c=b.paymentMethodData)||void 0===c?void 0:c.info)||void 0===d?void 0:d.billingAddress)||void 0===h?void 0:h.postalCode,address_state:null===(f=null===(v=null===(p=b.paymentMethodData)||void 0===p?void 0:p.info)||void 0===v?void 0:v.billingAddress)||void 0===f?void 0:f.administrativeArea,ref_token:b.paymentMethodData.tokenizationData.token})}},w.isShippingRequired()&&{shipping:P(P(P(P(P({},A&&{method:A}),w.hasShippingOptions()&&{options:w.meta.shipping_options}),O&&{address_line1:O}),T&&{address_line2:T}),{address_country:null===(m=null==b?void 0:b.shippingAddress)||void 0===m?void 0:m.countryCode,address_city:null===(y=null==b?void 0:b.shippingAddress)||void 0===y?void 0:y.locality,address_postcode:null===(g=null==b?void 0:b.shippingAddress)||void 0===g?void 0:g.postalCode,address_state:null===(_=null==b?void 0:b.shippingAddress)||void 0===_?void 0:_.administrativeArea,contact:{first_name:null===(k=null==b?void 0:b.shippingAddress)||void 0===k?void 0:k.name,email:null==b?void 0:b.email,phone:null===(E=null==b?void 0:b.shippingAddress)||void 0===E?void 0:E.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(Qt.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 o=this.getMerchantId();return P({apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[P(P({},this.createCardData()),{tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:"paydock",gatewayMerchantId:o}}})],transactionInfo:{totalPriceStatus:"FINAL",totalPriceLabel:this.meta.amount_label,totalPrice:this.meta.amount.toString(),currencyCode:this.meta.currency.toUpperCase(),countryCode:this.meta.country.toUpperCase()},merchantInfo:P(P({},null!==(t=this.meta)&&void 0!==t&&t.merchant_name?{merchantName:null===(n=this.meta)||void 0===n?void 0:n.merchant_name}:{}),{merchantId:o}),callbackIntents:["PAYMENT_AUTHORIZATION"].concat(r(this.isShippingRequired()?["SHIPPING_ADDRESS"]:[]),r(this.hasShippingOptions()?["SHIPPING_OPTION"]:[]))},this.isShippingRequired()&&P({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}}}}]),fn);function fn(e,t,n,i){l(this,fn);var u=c(this,(fn.__proto__||Object.getPrototypeOf(fn)).call(this,e,t));return u.gatewayName=n,u.eventEmitter=i,u.parseUpdateData=function(n){var e,t,i,o,r,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 P({shipping:{address_city:null===(i=n.shippingAddress)||void 0===i?void 0:i.locality,address_state:null===(o=n.shippingAddress)||void 0===o?void 0:o.administrativeArea,address_postcode:null===(r=null==n?void 0:n.shippingAddress)||void 0===r?void 0:r.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 mn,yn,gn=(o(_n,$t),t(_n,[{key:"initializeChildWallets",value:function(){var e,t,n,i,o,r;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===(r=null===(o=null===(i=this.meta)||void 0===i?void 0:i.credentials)||void 0===o?void 0:o.google)||void 0===r||!r.merchant);!a||this.meta.wallets&&!this.meta.wallets.includes(ie.APPLE)||this.childWallets.push(new hn(this.publicKey,this.meta,this.getGatewayName(),this.eventEmitter)),!s||this.meta.wallets&&!this.meta.wallets.includes(ie.GOOGLE)||this.childWallets.push(new vn(this.publicKey,this.meta,this.getGatewayName(),this.eventEmitter))}},{key:"getGatewayName",value:function(){return te.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)})}}]),_n);function _n(){return l(this,_n),c(this,(_n.__proto__||Object.getPrototypeOf(_n)).apply(this,arguments))}(yn=mn=mn||{})[yn.PUBLIC_KEY=0]="PUBLIC_KEY",yn[yn.TOKEN=1]="TOKEN";var kn=(t(En,[{key:"setEnv",value:function(e,t){return this.env.setEnv(e,t),this}},{key:"setAuthType",value:function(){return this.authType=h.validateJWT(this.auth)?mn.TOKEN:mn.PUBLIC_KEY}},{key:"getClient",value:function(e,t){var i=this,o=new XMLHttpRequest;return o.open(e,this.env.getConf().url+t,!0),o.setRequestHeader("Content-Type","application/json; charset=UTF-8"),this.setAuthHeader(o),{config:o,send:function(e,t,n){o.onload=function(){return i.parser({text:o.responseText,status:o.status},t,n)},o.send(JSON.stringify(e))}}}},{key:"getClientPromise",value:function(e,t){var i=this,o=new XMLHttpRequest;return o.open(e,this.env.getConf().url+t,!0),o.setRequestHeader("Content-Type","application/json; charset=UTF-8"),this.setAuthHeader(o),{config:o,send:function(n){return new Promise(function(e,t){o.onload=function(){return e({text:o.responseText,status:o.status})},o.send(JSON.stringify(n))}).then(function(e){return i.parserPromise(e)})}}}},{key:"parser",value:function(e,t,n){var i=e.text,o=e.status;try{var r=JSON.parse(i);if(200<=o&&o<300||302===o)return t(r.resource.data);n(r.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 mn.PUBLIC_KEY:e.setRequestHeader("x-user-public-key",this.auth);break;case mn.TOKEN:e.setRequestHeader("x-access-token",this.auth)}}}]),En);function En(e,t){l(this,En),this.auth=e,this.authType=t||this.setAuthType(),this.env=new q([{env:v,url:"https://api-sandbox."},{env:g,url:"https://api."},{env:_,url:"https://apista."},{env:k,url:"https://apista-1."},{env:E,url:"https://apista-2."},{env:b,url:"https://apista-3."},{env:w,url:"https://apista-4."},{env:C,url:"https://apista-5."},{env:S,url:"https://apista-6."},{env:O,url:"https://apista-7."},{env:T,url:"https://apista-8."},{env:A,url:"https://apista-9."},{env:R,url:"https://apista-10."},{env:x,url:"https://apista-11."},{env:L,url:"https://apista-12."},{env:I,url:"https://apista-13."},{env:D,url:"https://apista-14."},{env:U,url:"https://apista-15."},{env:N,url:"https://api-staging-cba."},{env:M,url:"https://api-sandbox-cba."},{env:F,url:"https://api-cba."}])}var bn=(t(wn,[{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)}}]),wn);function wn(e){l(this,wn),this.api=e}var Cn,Sn=(t(On,[{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)}}]),On);function On(e){l(this,On),this.api=e}(Cn||(Cn={})).VISA_SRC="VisaSRC";var Tn=(o(An,kn),t(An,[{key:"charge",value:function(){return new bn(this)}},{key:"service",value:function(){return new Sn(this)}}]),An);function An(){return l(this,An),c(this,(An.__proto__||Object.getPrototypeOf(An)).apply(this,arguments))}var Pn="unavailable",Rn="update",xn="paymentSuccessful",Ln="paymentError",In="paymentInReview",Dn=(t(Un,[{key:"load",value:function(){try{this.setupServiceCallbacks(),this.service.load(this.container)}catch(e){throw this.eventEmitter.emit(Pn,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===Rn&&(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(Pn,e):new Promise(function(e){return t.eventEmitter.subscribe(Pn,function(){return e()})})}},{key:"onUpdate",value:function(e){var n=this;return this.hasUpdateHandler=!0,"function"==typeof e?this.eventEmitter.subscribe(Rn,e):new Promise(function(t){return n.eventEmitter.subscribe(Rn,function(e){return t(e)})})}},{key:"onPaymentSuccessful",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:"onPaymentInReview",value:function(e){var n=this;return"function"==typeof e?this.eventEmitter.subscribe(In,e):new Promise(function(t){return n.eventEmitter.subscribe(In,function(e){return t(e)})})}},{key:"onPaymentError",value:function(e){var n=this;return"function"==typeof e?this.eventEmitter.subscribe(Ln,e):new Promise(function(t){return n.eventEmitter.subscribe(Ln,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(Qt.UNAVAILABLE,function(e){return t.eventEmitter.emit(Pn,{event:Pn,data:e})})}},{key:"setupUpdateCallback",value:function(){var t=this;this.service.on(Qt.UPDATE,function(e){return t.hasUpdateHandler?t.eventEmitter.emit(Rn,{event:Rn,data:e}):t.update({success:!0})})}},{key:"setupWalletCallback",value:function(){var o=this;this.service.on(Qt.CALLBACK,function(e){var t=e.data,n=e.onSuccess,i=e.onError;o.api.charge().walletCallback(t).then(function(e){return n(e)},function(e){return i(e.message)})})}},{key:"setupPaymentCallback",value:function(){var o=this;this.service.on(Qt.PAYMENT_METHOD_SELECTED,function(e){var n=e.data,i=e.onSuccess,t=e.onError;o.api.charge().walletCapture(n).then(function(e){"function"==typeof i&&i();var t="inreview"===e.status?In:xn;o.eventEmitter.emit(t,{event:t,data:P(P({},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),o.eventEmitter.emit(Ln,{event:Ln,data:e})})})}},{key:"setupPaymentSuccessCallback",value:function(){var t=this;this.service.on(Qt.PAYMENT_SUCCESS,function(e){return t.eventEmitter.emit(xn,{event:xn,data:e})})}},{key:"setupPaymentInReviewCallback",value:function(){var t=this;this.service.on(Qt.PAYMENT_IN_REVIEW,function(e){return t.eventEmitter.emit(In,{event:In,data:e})})}},{key:"setupPaymentErrorCallback",value:function(){var t=this;this.service.on(Qt.PAYMENT_ERROR,function(e){return t.eventEmitter.emit(Ln,{event:Ln,data:e})})}}]),Un);function Un(e,t,n){l(this,Un),this.hasUpdateHandler=!1;var i=h.validateJWT(t);if(!i)throw new Error("Invalid charge token");this.eventEmitter=new Ye,this.container=new Se(e);var o=h.extractMeta(i.body);switch(this.api=new Tn(t,mn.TOKEN),o.gateway.type){case te.STRIPE:this.service=new cn(o.credentials.client_auth,P(P({},n),{amount:o.charge.amount,currency:o.charge.currency}));break;case te.FLYPAY:this.service=new tn(t,P(P({},n),{id:o.charge.id,gateway_mode:o.gateway.mode,amount:o.charge.amount,currency:o.charge.currency,reference:o.charge.reference}));break;case te.PAYPAL:this.service=new on(o.credentials.client_auth,P(P({},n),{id:o.charge.id,gateway_mode:o.gateway.mode,amount:o.charge.amount,currency:o.charge.currency,capture:o.charge.capture}));break;case te.MASTERCARD:this.service=new gn("",P(P({},n),{credentials:o.gateway.credentials,amount:o.charge.amount,currency:o.charge.currency,gateway_mode:o.gateway.mode}))}}var Nn=(t(Mn,[{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!==$.values(se).indexOf(e)?this.link.setParams(n({},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,o=void 0;try{for(var r,a=e[Symbol.iterator]();!(n=(r=a.next()).done);n=!0){var s=r.value;e.hasOwnProperty(s)&&(-1===$.values(re).indexOf(s)?console.warn("PaymentSourceWidget::filterByTypes: unsupported type "+s):t.push(s))}}catch(e){i=!0,o=e}finally{try{!n&&a.return&&a.return()}finally{if(i)throw o}}this.link.setParams({payment_source_types:t.join(",")})}},{key:"setLanguage",value:function(e){this.link.setParams({language:e})}}]),Mn);function Mn(e,t){l(this,Mn),this.configs=[],this.configTokens=[],this.link=new Z("/payment-sources"),this.link.setParams(P({query_token:t},h.validateJWT(e)?{access_token:e}:{public_key:e}))}var Fn=(o(jn,Nn),t(jn,[{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(Pe.SELECT,function(e){we.insertToInput(t,n,e)})}}]),jn);function jn(e,t,n){l(this,jn);var i=c(this,(jn.__proto__||Object.getPrototypeOf(jn)).call(this,t,n));return i.container=new Se(e),i.iFrame=new Te(i.container),i.event=new Re(window),i}var Hn,Bn,zn={visibility:"hidden",border:"0",width:"0",height:"0"};(Bn=Hn=Hn||{}).SUCCESS="success",Bn.ERROR="error",Bn.PENDING="pending";var qn="chargeAuthSuccess",Wn="chargeAuthReject",Vn="chargeAuthDecoupled",Kn="chargeAuthChallenge",Yn="error",Gn=(t(Jn,[{key:"load",value:function(e,t){var n=e.initialization_url,i=e.secondary_url,o=e.charge_3ds_id;try{this.setupIFrameEvents(o),this.initializeIFrames(n,i,t)}catch(e){this.eventEmitter.emit(Yn,this.parseError(e,o))}}},{key:"initializeIFrames",value:function(e,t,n,i){var o=!(3<arguments.length&&void 0!==i)||i,r=document.createElement("div");r.setAttribute("id","paydock_authorization_iframe"),this.container.getElement().appendChild(r),this.browserAndChallengeContainer=new Se("#paydock_authorization_iframe"),this.iFrameAuthorization=new Te(this.browserAndChallengeContainer),this.iFrameAuthorization.load(e,{title:n});var a=document.createElement("div");a.setAttribute("id","paydock_secondary_iframe"),this.container.getElement().appendChild(a),this.monitoringContainer=new Se("#paydock_secondary_iframe"),this.iFrameSecondaryUrl=new Te(this.monitoringContainer),this.iFrameSecondaryUrl.load(t,{title:n}),this.hideIframes(o)}},{key:"hideIframes",value:function(e){var t=!(0<arguments.length&&void 0!==e)||e;for(var n in zn)zn.hasOwnProperty(n)&&(t&&this.iFrameAuthorization.setStyle(n,zn[n]),this.iFrameSecondaryUrl.setStyle(n,zn[n]))}},{key:"setupIFrameEvents",value:function(e){var t=this;this.iFrameEvent.on(Pe.CHARGE_AUTH,e,function(e){"MethodSkipped"===e.status||"MethodFinished"===e.status?t.performAuthentication(e):"AuthTimedOut"!==e.status&&"invalid_event"!==e.status||t.eventEmitter.emit(Wn,t.parseHandleResponse({status:e.status},e.charge_3ds_id))}),this.iFrameEvent.on(Pe.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(t){var n=this;this.resultRead||(this.resultRead=!0,this.api.charge().standalone3dsHandle().then(function(e){n.iFrameAuthorization.remove(),n.iFrameSecondaryUrl.remove(),e.status===Hn.SUCCESS?n.eventEmitter.emit(qn,n.parseResultData(e,t)):n.eventEmitter.emit(Wn,n.parseResultData(e,t))},function(e){n.eventEmitter.emit(Yn,n.parseError(e,t))}))}},{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(Yn,i.parseError(e,n))})}},{key:"performAuthentication",value:function(e){var i=this,o=e.charge_3ds_id;this.iFrameAuthorization.remove(),this.iFrameSecondaryUrl.remove(),this.api.charge().standalone3dsProcess({charge_3ds_id:o}).then(function(e){var t,n;if("success"===e.status)i.eventEmitter.emit(qn,i.parseHandleResponse(e,o));else{if("pending"!==e.status)return i.eventEmitter.emit(Wn,i.parseHandleResponse(e,o));null!==(t=null==e?void 0:e.result)&&void 0!==t&&t.challenge?(i.eventEmitter.emit(Kn,i.parseHandleResponse(e,o)),i.initializeIFrames(e.result.challenge_url,"authenticationResult.result.secondary_url","Authentication Challenge",!1),i.doPolling(e.result.secondary_url,o)):null!==(n=null==e?void 0:e.result)&&void 0!==n&&n.decoupled_challenge&&(i.eventEmitter.emit(Vn,i.parseHandleResponse(e,o)),i.doPolling(e.result.secondary_url,o))}},function(e){i.eventEmitter.emit(Yn,i.parseError(e,o))})}}]),Jn);function Jn(e,t,n){l(this,Jn),this.container=e,this.api=t,this.eventEmitter=n,this.resultRead=!1,this.iFrameEvent=new Re(window)}var Xn,Zn,Qn="GPayments",$n=(t(ei,[{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),o=new Tn(e,mn.TOKEN);switch(o.setEnv(this.env,this.alias),i.service_type){case Qn:new Gn(this.container,o,this.eventEmitter).load(i,t.title)}}},{key:"setEnv",value:function(e,t){this.env=e,this.alias=t}}]),ei);function ei(e,t){l(this,ei),this.env=v,this.container=e,this.eventEmitter=t}(Zn=Xn=Xn||{}).HTML="html",Zn.URL="url",Zn.STANDALONE_3DS="standalone_3ds";var ti=(t(ni,[{key:"load",value:function(){this.token.format===Xn.HTML?this.iFrame.loadFromHtml(this.token.content,{title:"3d secure authentication"}):this.token.format===Xn.URL?this.iFrame.load(this.token.content,{title:"3d secure authentication"}):this.token.format===Xn.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===Xn.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))}}]),ni);function ni(e,t){l(this,ni),this.configs=[],this.link=new Z("/3ds/webhook"),this.token=ni.extractToken(t),this.link.setParams({ref_id:this.token.charge_3ds_id}),this.container=new Se(e),this.iFrame=new Te(this.container),this.eventEmitter=new Ye,this.standalone3dsService=new $n(this.container,this.eventEmitter),this.event=new Re(window)}var ii="/v1/charges/3ds",oi=(t(ri,[{key:"preAuth",value:function(e,t){return"function"==typeof t?this.api.getClient("POST",ii).send(P(P({},e),{_3ds:P(P({},e._3ds),{browser_details:{name:Ze.getBrowserName(),java_enabled:Ze.isJavaEnabled().toString(),language:Ze.getLanguage(),screen_height:Ze.getScreenHeight().toString(),screen_width:Ze.getScreenWidth().toString(),time_zone:Ze.getTimezoneOffset().toString(),color_depth:Ze.getColorDepth().toString()}})}),function(e){t(e)}):this.api.getClientPromise("POST",ii).send(P(P({},e),{_3ds:P(P({},e._3ds),{browser_details:{name:Ze.getBrowserName(),java_enabled:Ze.isJavaEnabled().toString(),language:Ze.getLanguage(),screen_height:Ze.getScreenHeight().toString(),screen_width:Ze.getScreenWidth().toString(),time_zone:Ze.getTimezoneOffset().toString(),color_depth:Ze.getColorDepth().toString()}})}))}}]),ri);function ri(e){l(this,ri),this.api=e}var ai,si,ui=(o(li,kn),t(li,[{key:"getBrowserDetails",value:function(){return{name:Ze.getBrowserName(),java_enabled:Ze.isJavaEnabled().toString(),language:Ze.getLanguage(),screen_height:Ze.getScreenHeight().toString(),screen_width:Ze.getScreenWidth().toString(),time_zone:Ze.getTimezoneOffset().toString(),color_depth:Ze.getColorDepth().toString()}}},{key:"charge",value:function(){return new oi(this)}}]),li);function li(e){l(this,li);var t=c(this,(li.__proto__||Object.getPrototypeOf(li)).call(this,e));return t.publicKey=t.auth,t}(si=ai=ai||{}).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 ci=(o(di,Re),t(di,[{key:"on",value:function(e,t,n){for(var i in ai)ai.hasOwnProperty(i)&&e===ai[i]&&this.listeners.push({event:e,listener:n,widget_id:t})}}]),di);function di(){return l(this,di),c(this,(di.__proto__||Object.getPrototypeOf(di)).apply(this,arguments))}var hi=(t(pi,[{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!==$.values(se).indexOf(e)?this.link.setParams(n({},e,t)):console.warn("Widget::setStyle[s: unsupported style param "+e)}},{key:"load",value:function(){this.iFrame.load(this.link.getUrl(),{title:"Vault Display"})}}]),pi);function pi(e,t){l(this,pi),this.validationData={},this.configs=[],this.container=new Se(e),this.iFrame=new Te(this.container),this.triggerElement=new Ie(this.iFrame),this.event=new ci(window),this.vaultDisplayToken=t,this.link=new Z("/vault-display"),this.link.setParams({vault_display_token:t})}function vi(){l(this,vi)}var fi,mi;vi.buttonContainerStyles="display: flex; flex-direction: column; justify-content: center; align-items: center;",vi.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;",vi.footerContainerStyles="display: flex; flex: 1; flex-wrap: wrap; justify-content: center;",vi.footerTextStyles="text-align: center; color: #666666; margin: 2px 0;",vi.verticalLineStyle="display: inline-block; padding: 0.5px; background-color: #E5E5E5; height: 15px;",vi.clickToPayAllCardsStyle="height: 17px; margin-left: 8px; vertical-align: middle; padding-top: 3px;",(mi=fi=fi||{}).CHECKOUT_BUTTON_LOADED="checkoutButtonLoaded",mi.CHECKOUT_BUTTON_CLICKED="checkoutButtonClicked",mi.IFRAME_LOADED="iframeLoaded",mi.CHECKOUT_READY="checkoutReady",mi.CHECKOUT_COMPLETED="checkoutCompleted",mi.CHECKOUT_ERROR="checkoutError";var yi={BUTTON_TEXT_COLOR:"button_text_color",PRIMARY_COLOR:"primary_color",FONT_FAMILY:"font_family",CARD_SCHEMES:"card_schemes"},gi="visa",_i="mastercard",ki="amex",Ei="discover",bi="/images/visa-src/Chevron_Large_V.png",wi="/images/visa-src/vmad.svg",Ci=function(e,n){return e.every(function(e,t){return e===n[t]})},Si=(t(Oi,[{key:"setupIFrameEvents",value:function(){var n=this,e=this.link.getParams().widget_id;this.iFrameEvent.on(fi.CHECKOUT_READY,e,function(e){var t=e.data;n.eventEmitter.emit(fi.CHECKOUT_READY,t)}),this.iFrameEvent.on(fi.CHECKOUT_COMPLETED,e,function(e){var t=e.data;n.eventEmitter.emit(fi.CHECKOUT_COMPLETED,t)}),this.iFrameEvent.on(fi.CHECKOUT_ERROR,e,function(e){var t=e.data;n.eventEmitter.emit(fi.CHECKOUT_ERROR,t)}),this.autoResize&&this.useAutoResize(!0)}},{key:"load",value:function(){var e,t=this,n=document.createElement("div");n.setAttribute("style",vi.buttonContainerStyles);var i=document.createElement("button");i.setAttribute("style",vi.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 o=document.createElement("div");o.setAttribute("style",vi.footerContainerStyles),document.createElement("div").setAttribute("style",vi.verticalLineStyle);var r=document.createElement("p");r.setAttribute("style",vi.footerTextStyles),r.innerHTML="WE ACCEPT";var a=document.createElement("img");a.setAttribute("style",vi.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":wi;var i=e.sort();return Ci([ki,_i,gi],i)?n?"/images/visa-src/Chevron_Large_VMA.png":"/images/visa-src/logos/Networks_Large_VMA.png":Ci([_i,gi],i)?n?"/images/visa-src/Chevron_Large_VM.png":"/images/visa-src/logos/Networks_Large_VM.png":Ci([_i],i)?n?"/images/visa-src/Chevron_Large_M.png":"/images/visa-src/logos/master-logo.png":Ci([Ei],i)?n?"/images/visa-src/Chevron_Large_D.png":"/images/visa-src/logos/Networks_Large_D.png":Ci([gi],i)?n?bi:"/images/visa-src/logos/visa-logo.png":n?bi:wi}(null===(e=this.meta.customizations)||void 0===e?void 0:e.card_schemes,!0)),i.onclick=function(){t.eventEmitter.emit(fi.CHECKOUT_BUTTON_CLICKED,{}),t.iFrame.load(t.link.getUrl(),{title:"Visa SRC checkout"}),t.iFrame.getElement().onload=function(){return t.eventEmitter.emit(fi.IFRAME_LOADED,{})}},n.appendChild(i),n.appendChild(o),o.appendChild(r),o.appendChild(a),this.buttonContainer.getElement().appendChild(n),this.eventEmitter.emit(fi.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"))}))}}]),Oi);function Oi(e,t,n,i,o,r,a,s,u){l(this,Oi),this.meta=o,this.eventEmitter=r,this.autoResize=a,this.link=new Z("/secure-remote-commerce/visa"),this.link.setParams(P({service_id:n,public_key:i},o&&{meta:JSON.stringify(o)})),s&&this.link.setEnv(s,u),this.iFrameContainer=new Se(t),this.iFrame=new Te(this.iFrameContainer),this.buttonContainer=new Se(e),this.iFrameEvent=new Re(window),this.setupIFrameEvents()}var Ti=(t(Ai,[{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!==$.values(yi).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 Cn.VISA_SRC:n.provider=new Si(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()}}]),Ai);function Ai(e,t,n,i,o){l(this,Ai),this.button_selector=e,this.iframe_selector=t,this.service_id=n,this.public_key_or_access_token=i,this.meta=o,this.autoResize=!1,this.style={},this.api=new Tn(i,mn.PUBLIC_KEY),this.eventEmitter=new Ye}e.AfterpayCheckoutButton=jt,e.Api=ui,e.CHECKOUT_BUTTON_EVENT=Dt,e.Canvas3ds=ti,e.CheckoutButton=Ut,e.Configuration=ve,e.ELEMENT=le,e.EVENT=Pe,e.ExternalCheckoutBuilder=qe,e.ExternalCheckoutChecker=Ve,e.FORM_FIELD=ae,e.HtmlMultiWidget=Me,e.HtmlPaymentSourceWidget=Fn,e.HtmlWidget=je,e.MultiWidget=Ee,e.PAYMENT_TYPE=he,e.PURPOSE=pe,e.PaymentSourceBuilder=ot,e.PaymentSourceWidget=Nn,e.PaypalCheckoutButton=qt,e.SRC=Ti,e.STYLABLE_ELEMENT=me,e.STYLABLE_ELEMENT_STATE=ye,e.STYLE=se,e.SUPPORTED_CARD_TYPES=ce,e.TEXT=ue,e.TRIGGER=Le,e.TYPE=it,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=hi,e.WalletButtons=Dn,e.ZipmoneyCheckoutButton=Mt,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 Y="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},t=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 n(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 o=Object.getPrototypeOf(e);return null===o?void 0:a(o,t,n)}if("value"in i)return i.value;var r=i.get;return void 0!==r?r.call(n):void 0}function o(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 r(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},s=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],i=!0,o=!1,r=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){o=!0,r=e}finally{try{!i&&s.return&&s.return()}finally{if(o)throw r}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},u="x-access-token",d="x-user-public-key",h=(t(p,null,[{key:"validateJWT",value:function(e){if(!e)return null;var t=e.split("."),n=s(t,3),i=n[0],o=n[1],r=n[2];if(!i||!o||!r)return null;if(2+i.length+o.length+r.length!==e.length)return null;try{return{head:JSON.parse(atob(i)),body:JSON.parse(atob(o)),signature:r}}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)?u: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",b="staging_4",w="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",D="staging_15",U="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:b,url:"https://widsta-4."},{env:w,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:D,url:"https://widsta-15."},{env:U,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:b,url:"https://apista-4."},{env:w,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:D,url:"https://apista-15."},{env:U,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=(t(K,[{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}}]),K);function K(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:z;l(this,K),this.configs=e,this.setEnv(t)}var G=(t(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=(t(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",$=(t(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=(t(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,oe,re,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",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"]);(oe=ie=ie||{}).STRIPE="Stripe",oe.FLYPAY="Flypay",oe.PAYPAL="Paypal",oe.MASTERCARD="MasterCard",(ae=re=re||{}).GOOGLE="google",ae.APPLE="apple",ae.FLYPAY="flypay",ae.PAYPAL="paypal";var fe={CARD:"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=(t(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:"createEachToken",value:function(e,n,i,t){function o(t){n.hasOwnProperty(t)&&n[t].createToken(e,function(e){a[t]=e,u++,n.length===u&&ye.finishCreatingEachToken(a,s,i,r)},function(e){s.push("gateway: "+n[t].getConfigs().predefined_fields.gateway_id+" | "+e),u++,n.length===u&&ye.finishCreatingEachToken(a,s,i,r)})}var r=3<arguments.length&&void 0!==t?t:function(e){},a=new Array(n.length),s=[],u=0;for(var l in n)o(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}}}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=(t(be,null,[{key:"check",value:function(e,t,n,i){for(var o in e)if(e.hasOwnProperty(o)&&e[o].element===t){if(-1===e[o].states.indexOf(n)&&n)return!1;for(var r in i)if(i.hasOwnProperty(r)&&-1===e[o].styles.indexOf(r.replace("-","_")))return!1;return!0}return!1}},{key:"encode",value:function(e,t,n){var i=[];for(var o in n)n.hasOwnProperty(o)&&i.push(o.replace("_","-")+":"+n[o]);var r=i.join(";");return t?e+"::"+t+"{"+r+"}":e+"{"+r+"}"}},{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(";"),o={};for(var r in i)if(i.hasOwnProperty(r)){var a=i[r].split(":");!a&&2!==a.length||(o[a[0].trim()]=(a[1]||"").trim())}return{element:n,state:t,styles:o}}}]),be);function be(){l(this,be)}var we=(t(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(n({},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(n({},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,o=3===arguments.length?n:t;if(!Ee.check(ke,e,i,o))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,o)})}},{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=(t(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=(t(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 o=e[i].replace(/_/g,"-"),r=t.getAttribute(o);r&&n.push(e[i]+":"+r)}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 o=e[i].split(":"),r=o[0].replace(/-/g,"_").trim();-1!==t.indexOf(r)&&(n[r]=o[1].trim())}return n}}]),Ae);function Ae(e){l(this,Ae),this.selector=e}var Pe=(t(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 o=this.getElement().contentDocument;o.open(),o.write("<html><head><style>html, body {margin: 0;} iframe {border: 0; width: 100%}</style><title></title></head><body>{{content}}</body></html>".replace("{{content}}",e)),o.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=(t(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 De={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"},Ue=(t(Ne,[{key:"push",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(this.iFrame.isExist()){-1===te.values(De).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=(t(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=(o(He,we),t(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(De.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(De.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(De.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(De.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(De.SUBMIT_FORM)}),this.on(xe.VALIDATION_ERROR,function(e){t.trigger(De.REFRESH_CHECKOUT)}),this.on(xe.SYSTEM_ERROR,function(e){t.trigger(De.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 Ue(i.iFrame),i.event=new Le(window),i}var Be=(o(ze,je),t(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)}}]),ze);function ze(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default",i=arguments[3],o=arguments[4];l(this,ze);var r=new me(n,i,o);return c(this,(ze.__proto__||Object.getPrototypeOf(ze)).call(this,e,t,r))}var qe=(t(We,[{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 o=this,r=new XMLHttpRequest;r.onload=function(){o.parser(r.responseText,r.status,n,i)},r.open("POST",this.getUrl(),!0),r.setRequestHeader("Content-Type","application/json; charset=UTF-8"),r.setRequestHeader(h.getAccessHeaderNameByToken(e),e),r.send(JSON.stringify(t))}},{key:"get",value:function(e,t,n){var i=this,o=new XMLHttpRequest;o.onload=function(){i.parser(o.responseText,o.status,t,n)},o.open("GET",this.getUrl(),!0),o.setRequestHeader("Content-Type","application/json; charset=UTF-8"),o.setRequestHeader(h.getAccessHeaderNameByToken(e),e),o.send()}},{key:"parser",value:function(e,t,n,i){var o={};try{o=JSON.parse(e)}catch(e){}if(200<=t&&t<300||302===t)return n(o.resource.data,t);i(o.error||{message:"unknown error"},t)}}]),We);function We(){l(this,We),this.env=new V(H)}var Ve=(o(Ke,qe),t(Ke,[{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)})}}]),Ke);function Ke(e,t,n){l(this,Ke);var i=c(this,(Ke.__proto__||Object.getPrototypeOf(Ke)).call(this));return i.body={gateway_id:e,meta:{},success_redirect_url:t,error_redirect_url:n,redirect_url:t},i}var Ye=(o(Ge,qe),t(Ge,[{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)})}}]),Ge);function Ge(e){l(this,Ge);var t=c(this,(Ge.__proto__||Object.getPrototypeOf(Ge)).call(this));return t.token=e,t}var Je=(t(Xe,[{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})}}}]),Xe);function Xe(){l(this,Xe),this.events={}}var Ze='\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',Qe="\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",$e=(t(et,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]})}}]),et);function et(){l(this,et)}var tt="close",nt="focus",it=(t(ot,[{key:"initControl",value:function(){if(!this.isInit()&&this.showControl){if(!$e.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(tt,{})}),n&&Se.subscribe("click",n,function(){return e.eventEmitter.emit(nt,{})})}},{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=Qe+Ze,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}}]),ot);function ot(){l(this,ot),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 Je}var rt={EXTERNAL_CHECKOUT_TOKEN:"external_checkout_token",CHECKOUT_TOKEN:"checkout_token",BANK_ACCOUNT:"bank_account",CARD:"card"},at=(o(st,qe),t(st,[{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}}]),st);function st(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:rt.CARD;l(this,st);var i=c(this,(st.__proto__||Object.getPrototypeOf(st)).call(this));switch(i.body={gateway_id:e,type:n},n){case rt.CARD:case rt.BANK_ACCOUNT:delete t.gateway_id,delete t.type,delete t.checkout_token,i.body=A(i.body,t);break;case rt.CHECKOUT_TOKEN:case rt.EXTERNAL_CHECKOUT_TOKEN:i.body.checkout_token=t;break;default:throw new Error("Unsupported type of PaymentSourceToken")}return i}var ut="success",lt="declined",ct="close",dt="referred",ht="error",pt=(t(ft,[{key:"continue",value:function(){}},{key:"next",value:function(){}},{key:"stop",value:function(){}},{key:"error",value:function(e,t,n){n(!0)}},{key:"setCustomRedirectUri",value:function(e){this.customRedirectUti=e}},{key:"setEnv",value:function(e,t){this.widgetEnv.setEnv(e,t)}},{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()}}]),ft);function ft(){var e=this;l(this,ft),this.customRedirectUti=null,this.background=new it,this.background.onTrigger(nt,function(){return e.continue()}),this.background.onTrigger(tt,function(){return e.stop()}),this.widgetEnv=new V(j)}var vt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function mt(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}function yt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function gt(e,t){return e(t={exports:{}},t.exports),t.exports}yt(gt(function(e){!function o(r,a,s){function u(t,e){if(!a[t]){if(!r[t]){if(!e&&mt)return mt();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:{}};r[t][0].call(i.exports,function(e){return u(r[t][1][e]||e)},i,i.exports,o,r,a,s)}return a[t].exports}for(var l=mt,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 o(){throw new Error("clearTimeout has not been defined")}function r(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=r(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===o||!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:o}catch(e){d=o}}();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||r(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,o){(function(K){!function(e){if("function"==typeof bootstrap)bootstrap("promise",e);else if("object"==(void 0===o?"undefined":Y(o))&&"object"==(void 0===i?"undefined":Y(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(b&&t.stack&&"object"==(void 0===e?"undefined":Y(e))&&null!==e&&e.stack){for(var n=[],i=t;i;i=i.source)i.stack&&(!e.__minimumStackCounter__||e.__minimumStackCounter__>i.stackCounter)&&(D(e,"__minimumStackCounter__",{value:i.stackCounter,configurable:!0}),n.unshift(i.stack));n.unshift(e.stack);var o=function(e){for(var t=e.split("\n"),n=[],i=0;i<t.length;++i){var o=t[i];a(o)||(-1!==(r=o).indexOf("(module.js:")||-1!==r.indexOf("(node.js:"))||!o||n.push(o)}var r;return n.join("\n")}(n.join("\n"+F+"\n"));D(e,"stack",{value:o,configurable:!0})}}function o(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=o(e);if(t){var n=t[0],i=t[1];return n===C&&O<=i&&i<=V}}function t(){if(b)try{throw new Error}catch(e){var t=e.stack.split("\n"),n=o(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:r(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){o=n,u.longStackSupport&&b&&(i.source=n),R(r,function(e,t){u.nextTick(function(){n.promiseDispatch.apply(n,t)})},void 0),a=r=void 0}var o,r=[],a=[],e=I(l.prototype),i=I(c.prototype);if(i.promiseDispatch=function(e,t,n){var i=P(arguments);r?(r.push(i),"when"===t&&n[1]&&a.push(n[1])):u.nextTick(function(){o.promiseDispatch.apply(o,i)})},i.valueOf=function(){if(r)return i;var e=h(o);return p(e)&&(o=e),e},i.inspect=function(){return o?o.inspect():{state:"pending"}},u.longStackSupport&&b)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){o||t(u(e))},e.fulfill=function(e){o||t(m(e))},e.reject=function(e){o||t(v(e))},e.notify=function(n){o||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(o){return n(function(e,t){for(var n=0,i=o.length;n<i;n++)u(o[n]).then(e,t)})}function c(o,r,t){void 0===r&&(r=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=o[t]?o[t].apply(a,n):r.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 r(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===K?"undefined":Y(K))&&"function"==typeof K.emit&&u.nextTick.runAfter(function(){var e=x(q,t);-1!==e&&(K.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===K?"undefined":Y(K))&&"function"==typeof K.emit&&u.nextTick.runAfter(function(){-1!==x(z,e)&&(K.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(o){var r=0,a=l();return R(o,function(e,t,n){var i;p(t)&&"fulfilled"===(i=t.inspect()).state?o[n]=i.value:(++r,d(t,function(e){o[n]=e,0==--r&&a.resolve(o)},a.reject,function(e){a.notify({index:n,value:e})}))},void 0),0===r&&a.resolve(o),a.promise})}function k(o){if(0===o.length)return u.resolve();var r=u.defer(),a=0;return R(o,function(e,t,n){var i=o[n];a++,d(i,function(e){r.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,r.reject(e))},function(e){r.notify({index:n,value:e})})},void 0),r.promise}function E(e){return d(e,function(e){return e=L(e,u),d(_(L(e,function(e){return d(e,w,w)})),function(){return e})})}var b=!1;try{throw new Error}catch(e){b=!!e.stack}function w(){}var C,S,O=t(),T=function(){function n(){for(var e,t;o.next;)e=(o=o.next).task,o.task=void 0,(t=o.domain)&&(o.domain=void 0,t.enter()),i(e,t);for(;u.length;)i(e=u.pop());r=!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 o={task:void 0,next:null},t=o,r=!1,a=void 0,s=!1,u=[];if(T=function(e){t=t.next={task:e,domain:s&&K.domain,next:null},r||(r=!0,a())},"object"==(void 0===K?"undefined":Y(K))&&"[object process]"===K.toString()&&K.nextTick)s=!0,a=function(){K.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),r||(r=!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,o){var r=this,a=[];return R(r,function(e,t,n){a.push(i.call(o,t,n,r))},void 0),a}),I=Object.create||function(e){function t(){}return t.prototype=e,new t},D=Object.defineProperty||function(e,t,n){return e[t]=n.value,e},U=e(Object.prototype.hasOwnProperty),N=Object.keys||function(e){var t=[];for(var n in e)U(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===K?"undefined":Y(K))&&K&&K.env&&K.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,o){var i=this,r=l(),a=!1;return u.nextTick(function(){i.promiseDispatch(function(e){a||(a=!0,r.resolve(function(e){try{return"function"==typeof t?t(e):e}catch(e){return v(e)}}(e)))},"when",[function(e){a||(a=!0,r.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 o?o(n):n}catch(e){if(i=!0,!u.onerror)throw e;u.onerror(e)}i||r.notify(t)}]),r.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=r,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,o,r)}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,o,r)}var i=t.apply(this,arguments),o=e.bind(e,"next"),r=e.bind(e,"throw");return o()}},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,o),!u.onerror)throw e;u.onerror(e)})},o=e||t||n?this.then(e,t,n):this;"object"==(void 0===K?"undefined":Y(K))&&K&&K.domain&&(i=K.domain.bind(i)),o.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 o=P(arguments,2);return function(){var e=o.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 r(e){switch(void 0===e?"undefined":Y(e)){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}}t.exports=function(n,i,o,e){return i=i||"&",o=o||"=",null===n&&(n=void 0),"object"==(void 0===n?"undefined":Y(n))?Object.keys(n).map(function(e){var t=encodeURIComponent(r(e))+o;return Array.isArray(n[e])?n[e].map(function(e){return t+encodeURIComponent(r(e))}).join(i):t+encodeURIComponent(r(n[e]))}).join(i):e?encodeURIComponent(r(e))+o+encodeURIComponent(r(n)):""}},{}],4:[function(e,t,n){function i(e){return e&&e.__esModule?e:{default:e}}function o(n,i,o){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"),o(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),o(e),n.onError({code:"checkout_error",message:"Checkout response error",detail:e})})}Object.defineProperty(n,"__esModule",{value:!0}),n.Checkout=void 0;var r=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=(r(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?o(t,function(e){return t.redirectFn(e.redirectUri)}):(e=t,(n=new a.default).onClose=e.onComplete.bind(e),n.build(),void o(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",o={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=o},{}],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&&o(e.prototype,t),n&&o(e,n),e},t=c("./utility");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)}}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 r={},a=d.EventListener=(e(s,null,[{key:"constructor",value:function(){r={}}},{key:"on",value:function(e,t){r[e]=t}},{key:"off",value:function(e){r[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=r[n];i?i(e.detail.data||{}):(t=e,console.log("Unexpected Event",t))},!1)}).call(this,void 0!==vt?vt:"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!==vt?vt:"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 r(){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 o=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=(o(v,[{key:"build",value:function(){this._initialHtmlHeight=s(),window.scrollTo(0,0);var e,t,n,i,o,r=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=((o=document.createElement("img")).src=p+"icon-close.png",A(o.style,{width:"50px",height:"50px",position:"absolute",top:"20px",right:"20px",cursor:"pointer"}),o);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}()),r=this._overlay}document.body.appendChild(r),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=r();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 o=this;this._resizeHandler=a.default.debounce(function(){return e=o,t=r(),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 o=i(e("./xr")),r=i(e("./console"));o.default.configure({headers:{"X-Requested-With":"XMLHttpRequest"}});var a={request:"standard",redirect:!1,logLevel:"Error",onCheckout:function(t,e){o.default.post(this.checkoutUri).then(function(e){return t(e.data)}).catch(e)},onShippingAddressChanged:function(e,t){o.default.post(this.shippingUri).then(e).catch(t)},onComplete:function(e){if(r.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){r.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&&r(e.prototype,t),n&&r(e,n),e}(o,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 o=t.indexOf("rv:");e=parseInt(t.substring(o+3,t.indexOf(".",o)),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,o){var r;return function(){var e=this,t=arguments,n=!r;clearTimeout(r),r=setTimeout(function(){r=null,i.apply(e,t)},o),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)}}]),o);function o(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o)}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)}}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 o in n)if({}.hasOwnProperty.call(n,o)){var r=n[o];if("object"===(void 0===r?"undefined":c(r)))for(var a in r)!{}.hasOwnProperty.call(r,a)||(e[a]=r[a])}return e}function o(s){return t=function(t,n){var i=l({},p,f,s),o=i.xmlHttpRequest();for(var e in i.abort&&s.abort(function(){n(u(o)),o.abort()}),o.open(i.method,i.params?i.url.split("?")[0]+"?"+(0,d.default)(i.params):i.url,!0),o.withCredentials=i.withCredentials,o.addEventListener(h.LOAD,function(){if(200<=o.status&&o.status<300){var e=null;o.responseText&&(e=!0===i.raw?o.responseText:i.load(o.responseText)),t(u(o,e))}else n(u(o))}),o.addEventListener(h.ABORT,function(){return n(u(o))}),o.addEventListener(h.ERROR,function(){return n(u(o))}),o.addEventListener(h.TIMEOUT,function(){return n(u(o))}),i.headers)!{}.hasOwnProperty.call(i.headers,e)||o.setRequestHeader(e,i.headers[e]);for(var r in i.events)!{}.hasOwnProperty.call(i.events,r)||o.addEventListener(r,i.events[r].bind(null,o),!1);var a="object"!==c(i.data)||i.raw?i.data:i.dump(i.data);void 0!==a?o.send(a):o.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"==Y(Symbol.iterator)?function(e){return void 0===e?"undefined":Y(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":Y(e)},d=i(e("querystring/encode")),r=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 r.default.Promise(e)},withCredentials:!1},f={};o.assign=l,o.encode=d.default,o.configure=function(e){f=l({},f,e)},o.Methods=a,o.Events=h,o.defaults=p,o.get=function(e,t,n){return o(l({url:e,method:a.GET,params:t},n))},o.put=function(e,t,n){return o(l({url:e,method:a.PUT,data:t},n))},o.post=function(e,t,n){return o(l({url:e,method:a.POST,data:t},n))},o.patch=function(e,t,n){return o(l({url:e,method:a.PATCH,data:t},n))},o.del=function(e,t){return o(l({url:e,method:a.DELETE},t))},o.options=function(e,t){return o(l({url:e,method:a.OPTIONS},t))},n.default=o},{q:2,"querystring/encode":3}]},{},[7])}));var _t=(o(kt,pt),t(kt,[{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=String("/v1/echo");n=G.extendSearchParams(n,h.validateJWT(this.publicKey)?"access_token":"public_key",this.publicKey),n=G.extendSearchParams(n,"json_body",encodeURIComponent(JSON.stringify({redirect_uri:this.checkout.link}))),Zip.Checkout.init({checkoutUri:this.echoEnv.getConf().url+n,onComplete:function(e){return t.eventHandler(e)},onError:function(e){return t.eventHandler(e)}})}},{key:"stop",value:function(){a(kt.prototype.__proto__||Object.getPrototypeOf(kt.prototype),"stop",this).call(this),this.runs=!1;var e=document.querySelector(".zipmoney-overlay");e&&e.remove(),this.eventEmitter.emit(ct,{})}},{key:"onStop",value:function(e){var t=this;this.eventEmitter.subscribe(ct,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(ct,{}),this.eventEmitter.emit(ut,{});break;case"declined":this.eventEmitter.emit(ct,{}),this.eventEmitter.emit(lt,{});break;case"cancelled":this.eventEmitter.emit(ct,{});break;case"referred":this.eventEmitter.emit(ct,{}),this.eventEmitter.emit(dt,{});break;default:console.warn("Unknown gateway status")}}},{key:"getSuccessRedirectUri",value:function(){return this.customRedirectUti?this.customRedirectUti:this.widgetEnv.getConf().url+String("/checkout/zipmoney")}},{key:"getErrorRedirectUri",value:function(){return this.getSuccessRedirectUri()}},{key:"setEnv",value:function(e,t){a(kt.prototype.__proto__||Object.getPrototypeOf(kt.prototype),"setEnv",this).call(this,e,t),this.echoEnv.setEnv(e,t)}}]),kt);function kt(e){l(this,kt);var t=c(this,(kt.__proto__||Object.getPrototypeOf(kt)).call(this));return t.publicKey=e,t.checkout=null,t.runs=!1,t.eventEmitter=new Je,t.echoEnv=new V(H),t}o(Et,qe),t(Et,[{key:"getLink",value:function(){return String("/v1/gateways/:gateway_id").replace(":gateway_id",this.gatewayID)}},{key:"sendRequest",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)})}}],[{key:"sendRequest",value:function(e,t,n,i,o){var r=4<arguments.length&&void 0!==o?o:function(e){},a=new this(e);a.setEnv(n),a.sendRequest(t,i,r)}}]);function Et(e){l(this,Et);var t=c(this,(Et.__proto__||Object.getPrototypeOf(Et)).call(this));return t.gatewayID=e,t}var bt="Zipmoney",wt="PaypalClassic",Ct="Afterpay",St="paydock-dispatcher",Ot=(t(Tt,[{key:"restartDispatcher",value:function(){var e=document.getElementById(St);e&&e.parentNode.removeChild(e);var t=document.createElement("iframe");t.setAttribute("src",this.env.getConf().url+"/dispatcher"),t.id=St,t.style.display="none",document.body.appendChild(t)}},{key:"on",value:function(n,i){var o=this;Se.subscribe("message",window,function(e){var t=null;try{t=JSON.parse(e.data)}catch(e){}t&&t.message_source===o.messageSource&&t.event===n&&i(t)})}},{key:"setEnv",value:function(e,t){this.env.setEnv(e,t),this.restartDispatcher()}}]),Tt);function Tt(e){l(this,Tt),this.messageSource=e,this.env=new V(j)}var At=(t(Pt,[{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(!$e.isSupportPopUp())return this.window=window;var t=this.getConfigs();this.window=window.open("about:blank","_blank","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=Qe+Ze,this.env===g&&this.env===_&&this.env===k&&this.env===E&&this.env===b&&this.env===w&&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===D){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}}]),Pt);function Pt(){l(this,Pt),this.configs={width:500,height:500,scrollbars:!0,resizable:!0,top:0,left:0},this.eventEmitter=new Je}var Rt=(o(xt,pt),t(xt,[{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,$e.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 o=this;this.dispatcher.on(e,function(e){if(o.checkout&&o.checkout.reference_id===e.reference_id)o.background.clear(),i(o.checkout);else if(!$e.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"),o.checkout=n,o.background.clear(),i(o.checkout))}})}},{key:"setEnv",value:function(e,t){a(xt.prototype.__proto__||Object.getPrototypeOf(xt.prototype),"setEnv",this).call(this,e,t),this.dispatcher.setEnv(e,t),this.popup.setEnv(e)}}]),xt);function xt(e){l(this,xt);var t=c(this,(xt.__proto__||Object.getPrototypeOf(xt)).call(this));return t.publicKey=e,t.checkout=null,t.dispatcher=new Ot("checkout.paydock"),setTimeout(function(){return t.dispatcher.restartDispatcher()},200),t.popup=new At,t}var Lt=(o(It,Rt),t(It,[{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))}}]),It);function It(){return l(this,It),c(this,(It.__proto__||Object.getPrototypeOf(It)).apply(this,arguments))}var Dt=(o(Ut,Rt),t(Ut,[{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,$e.isSupportPopUp()||window.localStorage.setItem("paydock_checkout_token",JSON.stringify(this.checkout)),this.popup.redirect(this.getRedirectUrl(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){return this.widgetEnv.getConf().url+"/checkout/afterpay/init?"+G.serialize(A(A({},e),{token:this.checkout.reference_id,env:"live"===this.checkout.mode?"live":"test"}))}}]),Ut);function Ut(){return l(this,Ut),c(this,(Ut.__proto__||Object.getPrototypeOf(Ut)).apply(this,arguments))}var Nt={CLICK:"click",POPUP_REDIRECT:"popupRedirect",ERROR:"error",REFERRED:"referred",DECLINED:"declined",CANCELLED:"cancelled",ACCEPTED:"accepted",FINISH:"finish",CLOSE:"close"},Mt=(t(Ft,[{key:"buildAdditionalParams",value:function(){return{}}},{key:"initCheckout",value:function(){var n=this;this.container.on("click",function(e){if(!n.runner.isRunning()){n.eventEmitter.emit(Nt.CLICK,{}),n.runner.run();var t=new Ve(n.gatewayId,n.runner.getSuccessRedirectUri(),n.runner.getErrorRedirectUri());t.setMeta(n.meta),t.setEnv(n.env),t.send(n.aceessToken,function(e){n.eventEmitter.emit(Nt.POPUP_REDIRECT,{}),n.runner.next(e,n.buildAdditionalParams())},function(e,t){n.eventEmitter.emit(Nt.ERROR,{}),n.runner.error(e,t,function(e){e&&n.close()})})}})}},{key:"initCheckoutHandlers",value:function(){var t=this;this.runner.onCheckout(ut,function(e){t.eventEmitter.emit(Nt.ACCEPTED,{}),t.background.initLoader(),t.close(),t.checkToken(e.token,function(){t.createOneTimeToken(e.token)})}),this.runner.onCheckout(ht,function(){t.eventEmitter.emit(Nt.ERROR,{}),console.error("Error from checkout server"),t.close()}),this.runner.onCheckout(dt,function(){t.eventEmitter.emit(Nt.REFERRED,{}),t.close()}),this.runner.onCheckout(lt,function(){t.eventEmitter.emit(Nt.DECLINED,{}),t.close()}),this.eventEmitter.subscribe(Nt.ERROR,function(){t.background.clear()}),this.eventEmitter.subscribe(Nt.FINISH,function(){t.background.clear()})}},{key:"checkToken",value:function(e,t){var n=this,i=new Ye(e);i.setEnv(this.env),i.send(this.aceessToken,function(e){n.details=e,t()},function(){n.eventEmitter.emit(Nt.ERROR,{}),console.error("Error during creating payment source token")})}},{key:"createOneTimeToken",value:function(e){var t=this,n=new at(this.gatewayId,e,rt.CHECKOUT_TOKEN);n.setEnv(this.env),n.send(this.aceessToken,function(e){t.eventEmitter.emit(Nt.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(Nt.ERROR,{}),console.error("Error during creating payment source token")})}},{key:"on",value:function(e,t){this.eventEmitter.subscribe(e,t)}},{key:"close",value:function(){this.runner.stop()}},{key:"onFinishInsert",value:function(t,n){this.on(Nt.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.runner.setBackgroundDescription(e)}},{key:"setBackdropTitle",value:function(e){this.runner.setBackgroundTitle(e)}},{key:"setSuspendedRedirectUri",value:function(e){this.runner.setCustomRedirectUri(e)}},{key:"turnOffBackdrop",value:function(){this.turnOffControlBackdrop(),this.turnOffLoaderBackdrop()}},{key:"turnOffControlBackdrop",value:function(){this.runner.turnOffBackdrop()}},{key:"turnOffLoaderBackdrop",value:function(){this.background.turnOffLoader()}},{key:"setEnv",value:function(e,t){this.env=e,this.runner.setEnv(e,t)}},{key:"getEnv",value:function(){return this.env}}]),Ft);function Ft(e,t){var n=this,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default",o=3<arguments.length&&void 0!==arguments[3]?arguments[3]:wt;switch(l(this,Ft),this.aceessToken=t,this.gatewayId=i,this.gatewayType=o,this.details=null,this.meta={},this.env=z,this.eventEmitter=new Je,this.container=new Te(e),this.background=new it,o){case wt:this.runner=new Lt(t);break;case Ct:this.runner=new Dt(t);break;case bt:this.runner=new _t(t)}this.initCheckout(),this.initCheckoutHandlers(),this.runner.onStop(function(){n.eventEmitter.emit(Nt.CLOSE,{})})}var jt=(o(Ht,Mt),t(Ht,[{key:"setSuspendedRedirectUri",value:function(e){a(Ht.prototype.__proto__||Object.getPrototypeOf(Ht.prototype),"setSuspendedRedirectUri",this).call(this,e)}}]),Ht);function Ht(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default";l(this,Ht);var i=c(this,(Ht.__proto__||Object.getPrototypeOf(Ht)).call(this,e,t,n,bt));return i.publicKey=t,i.gatewayId=n,i}var Bt=(o(zt,Mt),t(zt,[{key:"showEnhancedTrackingProtectionPopup",value:function(e){var t=$e.getBrowserInfo(),n=t.name,i=t.version;e&&"Firefox"===n&&100<=+i&&(this.showETP=!0)}},{key:"buildAdditionalParams",value:function(){var e=a(zt.prototype.__proto__||Object.getPrototypeOf(zt.prototype),"buildAdditionalParams",this).call(this);return this.showETP&&(e.show_etp=!0),e}}]),zt);function zt(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default";l(this,zt);var i=c(this,(zt.__proto__||Object.getPrototypeOf(zt)).call(this,e,t,n,Ct));return i.accessToken=t,i.gatewayId=n,i.showETP=!1,i}var qt,Wt,Vt=(o(Kt,Mt),Kt);function Kt(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"default";l(this,Kt);var i=c(this,(Kt.__proto__||Object.getPrototypeOf(Kt)).call(this,e,t,n,wt));return i.publicKey=t,i.gatewayId=n,i}(Wt=qt=qt||{}).AFTER_LOAD="after_load",Wt.UNAVAILABLE="unavailable",Wt.START_LOADING="start_loading",Wt.END_LOADING="end_loading",Wt.UPDATE="update",Wt.PAYMENT_SUCCESSFUL="payment_successful",Wt.PAYMENT_IN_REVIEW="payment_in_review",Wt.PAYMENT_ERROR="payment_error";var Yt=(o(Gt,Le),t(Gt,[{key:"on",value:function(e,t,n){for(var i in qt)qt.hasOwnProperty(i)&&e===qt[i]&&this.listeners.push({event:e,listener:n,widget_id:t})}}]),Gt);function Gt(){return l(this,Gt),c(this,(Gt.__proto__||Object.getPrototypeOf(Gt)).apply(this,arguments))}var Jt={CLOSE:"close",UPDATED:"updated"},Xt=(o(Zt,Ue),t(Zt,[{key:"push",value:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(this.iFrame.isExist()){-1===te.values(Jt).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),"*")}}}]),Zt);function Zt(e,t){l(this,Zt);var n=c(this,(Zt.__proto__||Object.getPrototypeOf(Zt)).call(this,e));return n.widgetId=t,n}var Qt=(o($t,it),t($t,[{key:"initControl",value:function(){this.imageStyle||this.createImageStyles(),a($t.prototype.__proto__||Object.getPrototypeOf($t.prototype),"initControl",this).call(this)}},{key:"clear",value:function(){this.imageStyle&&this.imageStyle.parentNode.removeChild(this.imageStyle),this.imageStyle=null,a($t.prototype.__proto__||Object.getPrototypeOf($t.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)}}]),$t);function $t(e){l(this,$t);var t=c(this,($t.__proto__||Object.getPrototypeOf($t)).call(this));return t.bgImageUrl=e,t.imageStyle=null,t}var en={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"},tn=(t(nn,[{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(en).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)})})}}]),nn);function nn(e,t){l(this,nn),this.publicKey=e,this.meta=t,this.env=z,this.eventEmitter=new Je,this.initializeChildWallets()}var on=(o(rn,tn),t(rn,[{key:"load",value:function(e){this.container=e,this.iFrame=new Pe(this.container);var t=this.link.getParams().widget_id;this.triggerElement=new Xt(this.iFrame,t),this.setupIFrameEvents(t),this.background=this.initBackground(),this.iFrame.load(this.link.getUrl())}},{key:"close",value:function(){this.triggerElement.push(Jt.CLOSE),this.background.clear()}},{key:"update",value:function(e){this.triggerElement.push(Jt.UPDATED,e)}},{key:"setEnv",value:function(e){return this.link.setEnv(e),this}},{key:"initBackground",value:function(){var e=this,t=new Qt(this.link.getNetUrl().replace(Q,"/images/logo.png"));return t.setBackdropTitle(""),t.setBackdropDescription(""),t.onTrigger(tt,function(){return e.triggerElement.push(Jt.CLOSE)}),t}},{key:"setupIFrameEvents",value:function(e){var t=this;this.event.on(qt.UNAVAILABLE,e,function(e){return t.eventEmitter.emit(en.UNAVAILABLE,null)}),this.event.on(qt.START_LOADING,e,function(e){return t.background.initControl()}),this.event.on(qt.END_LOADING,e,function(e){return t.background.clear()}),this.event.on(qt.UPDATE,e,function(e){t.eventEmitter.emit(en.UPDATE,t.parseUpdateData(e))}),this.event.on(qt.PAYMENT_SUCCESSFUL,e,function(e){t.eventEmitter.emit(en.PAYMENT_SUCCESS,t.parsePaymentSuccessfulData(e)),t.iFrame.getElement()||t.background.clear()}),this.event.on(qt.PAYMENT_IN_REVIEW,e,function(e){t.eventEmitter.emit(en.PAYMENT_IN_REVIEW,t.parsePaymentSuccessfulData(e)),t.iFrame.getElement()||t.background.clear()}),this.event.on(qt.PAYMENT_ERROR,e,function(e){t.eventEmitter.emit(en.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}}:{})}}]),rn);function rn(e,t){l(this,rn);var n=c(this,(rn.__proto__||Object.getPrototypeOf(rn)).call(this,e,t));n.link=new $(Q);var i=t.amount,o=t.currency,r=t.id,a=t.gateway_mode,s=t.reference,u=t.request_shipping;return n.link.setParams(A({token:e,amount:i,currency:o,gateway_mode:a,credentials:s||r},u?{request_shipping:u}:{})),n.token=e,n.event=new Yt(window),n}var an=(o(sn,tn),t(sn,[{key:"load",value:function(e){var o=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+"&currency="+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?(o.paypal=window.paypal,o.paypal.Buttons(A(A({},o.meta.style&&{style:o.meta.style}),{createOrder:function(){return new Promise(function(t,n){o.eventEmitter.emit(en.CALLBACK,{data:A({request_type:"CREATE_TRANSACTION"},o.meta.request_shipping&&{request_shipping:o.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=o.parseUpdateData(i);o.latestShippingData=n.shipping,o.latestShippingChangePromiseResolve=e,o.latestShippingChangePromiseReject=t,o.eventEmitter.emit(en.UPDATE,n)})},onApprove:function(n){return new Promise(function(e,t){return o.eventEmitter.emit(en.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)):o.eventEmitter.emit(en.UNAVAILABLE,null)},document.head.appendChild(n)}else this.eventEmitter.emit(en.UNAVAILABLE,null)}},{key:"update",value:function(e){var t=this;if(this.latestShippingChangePromiseResolve&&this.latestShippingChangePromiseReject)return e.success?void this.eventEmitter.emit(en.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}})}}]),sn);function sn(){return l(this,sn),c(this,(sn.__proto__||Object.getPrototypeOf(sn)).apply(this,arguments))}var un=gt(function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"===Y(Symbol.iterator)?function(e){return void 0===e?"undefined":Y(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":Y(e)})(e)}Object.defineProperty(t,"__esModule",{value:!0});function o(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 o(r).then(function(e){return function(e,t,n){if(null===e)return null;var i,o,r=e.apply(void 0,t);return o=n,(i=r)&&i._registerWrapper&&i._registerWrapper({name:"stripe-js",version:"1.11.0",startTime:o}),r}(e,t,i)})}var r,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");r=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});yt(un);un.loadStripe;var ln=un.loadStripe,cn="success",dn="fail",hn=(o(pn,tn),t(pn,[{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 ln(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(re.GOOGLE),n=!i.meta.wallets||i.meta.wallets.includes(re.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(en.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,o=i.id,r=i.card,a=i.billing_details,s=a.name,u=a.address,l={payment_method_id:o,customer:{payer_name:e.payerName,payer_email:e.payerEmail,payer_phone:e.payerPhone,payment_source:{wallet_type:c.getWalletType(null===(t=null==r?void 0:r.wallet)||void 0===t?void 0:t.type),card_name:s,type:null===(n=null==r?void 0:r.wallet)||void 0===n?void 0:n.type,card_scheme:null==r?void 0:r.brand,card_number_last4:null==r?void 0:r.last4,expire_month:null==r?void 0:r.exp_month,expire_year:null==r?void 0:r.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(en.PAYMENT_METHOD_SELECTED,{data:l,onSuccess:function(){return e.complete(cn)},onError:function(){return e.complete(dn)}})})}},{key:"getWalletType",value:function(e){return e?"google_pay"===e?re.GOOGLE:re.APPLE:null}}]),pn);function pn(){return l(this,pn),c(this,(pn.__proto__||Object.getPrototypeOf(pn)).apply(this,arguments))}var fn=(o(vn,tn),t(vn,[{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[re.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"===Y(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"===Y(null===(n=this.meta)||void 0===n?void 0:n.raw_data_initialization)){var o=JSON.parse(JSON.stringify(null===(i=this.meta)||void 0===i?void 0:i.raw_data_initialization));return"google"in o&&(null==o||delete o.google),"apple"in o?null==o?void 0:o.apple:o}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(en.UNAVAILABLE,{wallet:re.APPLE})}).catch(function(e){return console.error("Error checking ApplePay availability",e)});this.eventEmitter.emit(en.UNAVAILABLE,{wallet:re.APPLE})}},{key:"update",value:function(e){var t,n,i;if(this.latestShippingChangePromiseResolve&&this.latestShippingChangePromiseReject){if(!e.success||!e.body)return this.latestShippingChangePromiseReject();var o=null===(t=null==e?void 0:e.body)||void 0===t?void 0:t.amount,r=null===(n=null==e?void 0:e.body)||void 0===n?void 0:n.shipping_options;o&&(this.meta.amount=o),r&&(this.meta.shipping_options=r,this.selectedShippingOption=r?r[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":Y(t))&&("object"===Y(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(en.CALLBACK,{data:A({request_type:"CREATE_SESSION",wallet_type:re.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 "}}]),vn);function vn(e,t,n,i){l(this,vn);var u=c(this,(vn.__proto__||Object.getPrototypeOf(vn)).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,o=n.billingContact,r=n.shippingContact;u.latestShippingData.shippingContact=r;var a=null===(t=u.selectedShippingOption)||void 0===t?void 0:t.type,s=[null==r?void 0:r.givenName,null==r?void 0:r.familyName].join(" ").trim();u.eventEmitter.emit(en.PAYMENT_METHOD_SELECTED,{data:A({customer:{payment_source:A(A({wallet_type:re.APPLE},s&&{card_name:s}),{type:i.paymentMethod.type,card_scheme:i.paymentMethod.network,address_line1:null==o?void 0:o.addressLines[0],address_line2:null==o?void 0:o.addressLines[1],address_country:null==o?void 0:o.countryCode,address_city:null==o?void 0:o.locality,address_postcode:null==o?void 0:o.postalCode,address_state:null==o?void 0:o.administrativeArea,ref_token:i.paymentData?JSON.stringify(i.paymentData):""})}},u.meta.request_shipping&&r&&{shipping:A(A(A({},a&&{method:a}),u.hasShippingOptions()&&{options:u.meta.shipping_options}),{address_line1:r.addressLines[0],address_line2:r.addressLines[1],address_country:r.countryCode,address_city:r.locality,address_postcode:r.postalCode,address_state:r.administrativeArea,contact:{first_name:r.givenName,last_name:r.familyName,email:r.emailAddress,phone:r.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(en.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,o,r,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===(o=null==e?void 0:e.shippingContact)||void 0===o?void 0:o.countryCode}},(null==e?void 0:e.shippingMethod)&&{selected_shipping_option:{id:null===(r=null==e?void 0:e.shippingMethod)||void 0===r?void 0:r.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 mn=(o(yn,tn),t(yn,[{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[re.GOOGLE])||void 0===n?void 0:n.merchant}},{key:"getMetaStyles",value:function(){var e,t,n,i;return"object"===Y(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,o;return null!==(e=this.meta)&&void 0!==e&&e.raw_data_initialization&&"object"===Y(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===(o=null===(i=this.meta)||void 0===i?void 0:i.raw_data_initialization)||void 0===o?void 0:o.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(o,r){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(en.UNAVAILABLE,{wallet:re.GOOGLE}),void r();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(en.UNAVAILABLE,{wallet:re.GOOGLE}),void r();s.mount(a),o()})},document.head.appendChild(e)});this.eventEmitter.emit(en.UNAVAILABLE,{wallet:re.GOOGLE})}},{key:"update",value:function(e){var t,n,i,o;if(this.latestShippingChangePromiseResolve&&this.latestShippingChangePromiseReject){if(!e.success)return this.latestShippingChangePromiseReject();var r=(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;r&&(this.meta.amount=r),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===(o=this.selectedShippingOption)||void 0===o?void 0:o.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,o=this;e.getElement().appendChild(this.paymentsClient.createButton({onClick:function(){return o.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,o,r,a,s,u,b=this,w=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===(r=null===(o=null===(i=E.paymentMethodData)||void 0===i?void 0:i.info)||void 0===o?void 0:o.billingAddress)||void 0===r?void 0:r.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,o,r,a,s,u,l,c,d,h,p,f,v,m,y,g,_,k;return b.eventEmitter.emit(en.PAYMENT_METHOD_SELECTED,{data:A({customer:{payment_source:A(A(A(A({wallet_type:re.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},w&&{address_line1:w}),C&&{address_line2:C}),C&&{address_line2:C}),{address_country:null===(r=null===(o=null===(i=E.paymentMethodData)||void 0===i?void 0:i.info)||void 0===o?void 0:o.billingAddress)||void 0===r?void 0:r.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})}},b.isShippingRequired()&&{shipping:A(A(A(A(A({},T&&{method:T}),b.hasShippingOptions()&&{options:b.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(en.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 o=this.getMerchantId();return A({apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[A(A({},this.createCardData()),{tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:"paydock",gatewayMerchantId:o}}})],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:o}),callbackIntents:["PAYMENT_AUTHORIZATION"].concat(r(this.isShippingRequired()?["SHIPPING_ADDRESS"]:[]),r(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}}}}]),yn);function yn(e,t,n,i){l(this,yn);var u=c(this,(yn.__proto__||Object.getPrototypeOf(yn)).call(this,e,t));return u.gatewayName=n,u.eventEmitter=i,u.parseUpdateData=function(n){var e,t,i,o,r,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===(o=n.shippingAddress)||void 0===o?void 0:o.administrativeArea,address_postcode:null===(r=null==n?void 0:n.shippingAddress)||void 0===r?void 0:r.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 gn,_n,kn=(o(En,tn),t(En,[{key:"initializeChildWallets",value:function(){var e,t,n,i,o,r;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===(r=null===(o=null===(i=this.meta)||void 0===i?void 0:i.credentials)||void 0===o?void 0:o.google)||void 0===r||!r.merchant);!a||this.meta.wallets&&!this.meta.wallets.includes(re.APPLE)||this.childWallets.push(new fn(this.publicKey,this.meta,this.getGatewayName(),this.eventEmitter)),!s||this.meta.wallets&&!this.meta.wallets.includes(re.GOOGLE)||this.childWallets.push(new mn(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)})}}]),En);function En(){return l(this,En),c(this,(En.__proto__||Object.getPrototypeOf(En)).apply(this,arguments))}(_n=gn=gn||{})[_n.PUBLIC_KEY=0]="PUBLIC_KEY",_n[_n.TOKEN=1]="TOKEN";var bn=(t(wn,[{key:"setEnv",value:function(e,t){return this.env.setEnv(e,t),this}},{key:"setAuthType",value:function(){return this.authType=h.validateJWT(this.auth)?gn.TOKEN:gn.PUBLIC_KEY}},{key:"getClient",value:function(e,t){var i=this,o=new XMLHttpRequest;return o.open(e,this.env.getConf().url+t,!0),o.setRequestHeader("Content-Type","application/json; charset=UTF-8"),this.setAuthHeader(o),{config:o,send:function(e,t,n){o.onload=function(){return i.parser({text:o.responseText,status:o.status},t,n)},o.send(JSON.stringify(e))}}}},{key:"getClientPromise",value:function(e,t){var i=this,o=new XMLHttpRequest;return o.open(e,this.env.getConf().url+t,!0),o.setRequestHeader("Content-Type","application/json; charset=UTF-8"),this.setAuthHeader(o),{config:o,send:function(n){return new Promise(function(e,t){o.onload=function(){return e({text:o.responseText,status:o.status})},o.send(JSON.stringify(n))}).then(function(e){return i.parserPromise(e)})}}}},{key:"parser",value:function(e,t,n){var i=e.text,o=e.status;try{var r=JSON.parse(i);if(200<=o&&o<300||302===o)return t(r.resource.data);n(r.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 gn.PUBLIC_KEY:e.setRequestHeader("x-user-public-key",this.auth);break;case gn.TOKEN:e.setRequestHeader("x-access-token",this.auth)}}}]),wn);function wn(e,t){l(this,wn),this.auth=e,this.authType=t||this.setAuthType(),this.env=new V(H)}var Cn=(t(Sn,[{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)}}]),Sn);function Sn(e){l(this,Sn),this.api=e}var On,Tn=(t(An,[{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)}}]),An);function An(e){l(this,An),this.api=e}(On||(On={})).VISA_SRC="VisaSRC";var Pn=(o(Rn,bn),t(Rn,[{key:"charge",value:function(){return new Cn(this)}},{key:"service",value:function(){return new Tn(this)}}]),Rn);function Rn(){return l(this,Rn),c(this,(Rn.__proto__||Object.getPrototypeOf(Rn)).apply(this,arguments))}var xn="unavailable",Ln="update",In="paymentSuccessful",Dn="paymentError",Un="paymentInReview",Nn=(t(Mn,[{key:"load",value:function(){try{this.setupServiceCallbacks(),this.service.load(this.container)}catch(e){throw this.eventEmitter.emit(xn,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===Ln&&(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(xn,e):new Promise(function(e){return t.eventEmitter.subscribe(xn,function(){return e()})})}},{key:"onUpdate",value:function(e){var n=this;return this.hasUpdateHandler=!0,"function"==typeof e?this.eventEmitter.subscribe(Ln,e):new Promise(function(t){return n.eventEmitter.subscribe(Ln,function(e){return t(e)})})}},{key:"onPaymentSuccessful",value:function(e){var n=this;return"function"==typeof e?this.eventEmitter.subscribe(In,e):new Promise(function(t){return n.eventEmitter.subscribe(In,function(e){return t(e)})})}},{key:"onPaymentInReview",value:function(e){var n=this;return"function"==typeof e?this.eventEmitter.subscribe(Un,e):new Promise(function(t){return n.eventEmitter.subscribe(Un,function(e){return t(e)})})}},{key:"onPaymentError",value:function(e){var n=this;return"function"==typeof e?this.eventEmitter.subscribe(Dn,e):new Promise(function(t){return n.eventEmitter.subscribe(Dn,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(en.UNAVAILABLE,function(e){return t.eventEmitter.emit(xn,{event:xn,data:e})})}},{key:"setupUpdateCallback",value:function(){var t=this;this.service.on(en.UPDATE,function(e){return t.hasUpdateHandler?t.eventEmitter.emit(Ln,{event:Ln,data:e}):t.update({success:!0})})}},{key:"setupWalletCallback",value:function(){var o=this;this.service.on(en.CALLBACK,function(e){var t=e.data,n=e.onSuccess,i=e.onError;o.api.charge().walletCallback(t).then(function(e){return n(e)},function(e){return i(e.message)})})}},{key:"setupPaymentCallback",value:function(){var o=this;this.service.on(en.PAYMENT_METHOD_SELECTED,function(e){var n=e.data,i=e.onSuccess,t=e.onError;o.api.charge().walletCapture(n).then(function(e){"function"==typeof i&&i();var t="inreview"===e.status?Un:In;o.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),o.eventEmitter.emit(Dn,{event:Dn,data:e})})})}},{key:"setupPaymentSuccessCallback",value:function(){var t=this;this.service.on(en.PAYMENT_SUCCESS,function(e){return t.eventEmitter.emit(In,{event:In,data:e})})}},{key:"setupPaymentInReviewCallback",value:function(){var t=this;this.service.on(en.PAYMENT_IN_REVIEW,function(e){return t.eventEmitter.emit(Un,{event:Un,data:e})})}},{key:"setupPaymentErrorCallback",value:function(){var t=this;this.service.on(en.PAYMENT_ERROR,function(e){return t.eventEmitter.emit(Dn,{event:Dn,data:e})})}}]),Mn);function Mn(e,t,n){l(this,Mn),this.hasUpdateHandler=!1;var i=h.validateJWT(t);if(!i)throw new Error("Invalid charge token");this.eventEmitter=new Je,this.container=new Te(e);var o=h.extractMeta(i.body);switch(this.api=new Pn(t,gn.TOKEN),o.gateway.type){case ie.STRIPE:this.service=new hn(o.credentials.client_auth,A(A({},n),{amount:o.charge.amount,currency:o.charge.currency}));break;case ie.FLYPAY:this.service=new on(t,A(A({},n),{id:o.charge.id,gateway_mode:o.gateway.mode,amount:o.charge.amount,currency:o.charge.currency,reference:o.charge.reference}));break;case ie.PAYPAL:this.service=new an(o.credentials.client_auth,A(A({},n),{id:o.charge.id,gateway_mode:o.gateway.mode,amount:o.charge.amount,currency:o.charge.currency,capture:o.charge.capture}));break;case ie.MASTERCARD:this.service=new kn("",A(A({},n),{credentials:o.gateway.credentials,amount:o.charge.amount,currency:o.charge.currency,gateway_mode:o.gateway.mode}))}}var Fn=(t(jn,[{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(n({},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,o=void 0;try{for(var r,a=e[Symbol.iterator]();!(n=(r=a.next()).done);n=!0){var s=r.value;e.hasOwnProperty(s)&&(-1===te.values(se).indexOf(s)?console.warn("PaymentSourceWidget::filterByTypes: unsupported type "+s):t.push(s))}}catch(e){i=!0,o=e}finally{try{!n&&a.return&&a.return()}finally{if(i)throw o}}this.link.setParams({payment_source_types:t.join(",")})}},{key:"setLanguage",value:function(e){this.link.setParams({language:e})}}]),jn);function jn(e,t){l(this,jn),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 Hn=(o(Bn,Fn),t(Bn,[{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)})}}]),Bn);function Bn(e,t,n){l(this,Bn);var i=c(this,(Bn.__proto__||Object.getPrototypeOf(Bn)).call(this,t,n));return i.container=new Te(e),i.iFrame=new Pe(i.container),i.event=new Le(window),i}var zn,qn,Wn={visibility:"hidden",border:"0",width:"0",height:"0"};(qn=zn=zn||{}).SUCCESS="success",qn.ERROR="error",qn.PENDING="pending";var Vn="chargeAuthSuccess",Kn="chargeAuthReject",Yn="chargeAuthDecoupled",Gn="chargeAuthChallenge",Jn="error",Xn=(t(Zn,[{key:"load",value:function(e,t){var n=e.initialization_url,i=e.secondary_url,o=e.charge_3ds_id;try{this.setupIFrameEvents(o),this.initializeIFrames(n,i,t)}catch(e){this.eventEmitter.emit(Jn,this.parseError(e,o))}}},{key:"initializeIFrames",value:function(e,t,n,i){var o=!(3<arguments.length&&void 0!==i)||i,r=document.createElement("div");r.setAttribute("id","paydock_authorization_iframe"),this.container.getElement().appendChild(r),this.browserAndChallengeContainer=new Te("#paydock_authorization_iframe"),this.iFrameAuthorization=new Pe(this.browserAndChallengeContainer),this.iFrameAuthorization.load(e,{title:n});var a=document.createElement("div");a.setAttribute("id","paydock_secondary_iframe"),this.container.getElement().appendChild(a),this.monitoringContainer=new Te("#paydock_secondary_iframe"),this.iFrameSecondaryUrl=new Pe(this.monitoringContainer),this.iFrameSecondaryUrl.load(t,{title:n}),this.hideIframes(o)}},{key:"hideIframes",value:function(e){var t=!(0<arguments.length&&void 0!==e)||e;for(var n in Wn)Wn.hasOwnProperty(n)&&(t&&this.iFrameAuthorization.setStyle(n,Wn[n]),this.iFrameSecondaryUrl.setStyle(n,Wn[n]))}},{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(Kn,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(t){var n=this;this.resultRead||(this.resultRead=!0,this.api.charge().standalone3dsHandle().then(function(e){n.iFrameAuthorization.remove(),n.iFrameSecondaryUrl.remove(),e.status===zn.SUCCESS?n.eventEmitter.emit(Vn,n.parseResultData(e,t)):n.eventEmitter.emit(Kn,n.parseResultData(e,t))},function(e){n.eventEmitter.emit(Jn,n.parseError(e,t))}))}},{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(Jn,i.parseError(e,n))})}},{key:"performAuthentication",value:function(e){var i=this,o=e.charge_3ds_id;this.iFrameAuthorization.remove(),this.iFrameSecondaryUrl.remove(),this.api.charge().standalone3dsProcess({charge_3ds_id:o}).then(function(e){var t,n;if("success"===e.status)i.eventEmitter.emit(Vn,i.parseHandleResponse(e,o));else{if("pending"!==e.status)return i.eventEmitter.emit(Kn,i.parseHandleResponse(e,o));null!==(t=null==e?void 0:e.result)&&void 0!==t&&t.challenge?(i.eventEmitter.emit(Gn,i.parseHandleResponse(e,o)),i.initializeIFrames(e.result.challenge_url,"authenticationResult.result.secondary_url","Authentication Challenge",!1),i.doPolling(e.result.secondary_url,o)):null!==(n=null==e?void 0:e.result)&&void 0!==n&&n.decoupled_challenge&&(i.eventEmitter.emit(Yn,i.parseHandleResponse(e,o)),i.doPolling(e.result.secondary_url,o))}},function(e){i.eventEmitter.emit(Jn,i.parseError(e,o))})}}]),Zn);function Zn(e,t,n){l(this,Zn),this.container=e,this.api=t,this.eventEmitter=n,this.resultRead=!1,this.iFrameEvent=new Le(window)}var Qn,$n,ei="GPayments",ti=(t(ni,[{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),o=new Pn(e,gn.TOKEN);switch(o.setEnv(this.env,this.alias),i.service_type){case ei:new Xn(this.container,o,this.eventEmitter).load(i,t.title)}}},{key:"setEnv",value:function(e,t){this.env=e,this.alias=t}}]),ni);function ni(e,t){l(this,ni),this.env=z,this.container=e,this.eventEmitter=t}($n=Qn=Qn||{}).HTML="html",$n.URL="url",$n.STANDALONE_3DS="standalone_3ds";var ii=(t(oi,[{key:"load",value:function(){this.token.format===Qn.HTML?this.iFrame.loadFromHtml(this.token.content,{title:"3d secure authentication"}):this.token.format===Qn.URL?this.iFrame.load(this.token.content,{title:"3d secure authentication"}):this.token.format===Qn.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===Qn.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))}}]),oi);function oi(e,t){l(this,oi),this.configs=[],this.link=new $("/3ds/webhook"),this.token=oi.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 Je,this.standalone3dsService=new ti(this.container,this.eventEmitter),this.event=new Le(window)}var ri="/v1/charges/3ds",ai=(t(si,[{key:"preAuth",value:function(e,t){return"function"==typeof t?this.api.getClient("POST",ri).send(A(A({},e),{_3ds:A(A({},e._3ds),{browser_details:{name:$e.getBrowserName(),java_enabled:$e.isJavaEnabled().toString(),language:$e.getLanguage(),screen_height:$e.getScreenHeight().toString(),screen_width:$e.getScreenWidth().toString(),time_zone:$e.getTimezoneOffset().toString(),color_depth:$e.getColorDepth().toString()}})}),function(e){t(e)}):this.api.getClientPromise("POST",ri).send(A(A({},e),{_3ds:A(A({},e._3ds),{browser_details:{name:$e.getBrowserName(),java_enabled:$e.isJavaEnabled().toString(),language:$e.getLanguage(),screen_height:$e.getScreenHeight().toString(),screen_width:$e.getScreenWidth().toString(),time_zone:$e.getTimezoneOffset().toString(),color_depth:$e.getColorDepth().toString()}})}))}}]),si);function si(e){l(this,si),this.api=e}var ui,li,ci=(o(di,bn),t(di,[{key:"getBrowserDetails",value:function(){return{name:$e.getBrowserName(),java_enabled:$e.isJavaEnabled().toString(),language:$e.getLanguage(),screen_height:$e.getScreenHeight().toString(),screen_width:$e.getScreenWidth().toString(),time_zone:$e.getTimezoneOffset().toString(),color_depth:$e.getColorDepth().toString()}}},{key:"charge",value:function(){return new ai(this)}}]),di);function di(e){l(this,di);var t=c(this,(di.__proto__||Object.getPrototypeOf(di)).call(this,e));return t.publicKey=t.auth,t}(li=ui=ui||{}).AFTER_LOAD="after_load",li.SYSTEM_ERROR="system_error",li.CVV_SECURE_CODE_REQUESTED="cvv_secure_code_requested",li.CARD_NUMBER_SECURE_CODE_REQUESTED="card_number_secure_code_requested",li.ACCESS_FORBIDDEN="access_forbidden",li.SESSION_EXPIRED="session_expired",li.OPERATION_FORBIDDEN="operation_forbidden";var hi=(o(pi,Le),t(pi,[{key:"on",value:function(e,t,n){for(var i in ui)ui.hasOwnProperty(i)&&e===ui[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 fi=(t(vi,[{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(n({},e,t)):console.warn("Widget::setStyle[s: unsupported style param "+e)}},{key:"load",value:function(){this.iFrame.load(this.link.getUrl(),{title:"Vault Display"})}}]),vi);function vi(e,t){l(this,vi),this.validationData={},this.configs=[],this.container=new Te(e),this.iFrame=new Pe(this.container),this.triggerElement=new Ue(this.iFrame),this.event=new hi(window),this.vaultDisplayToken=t,this.link=new $("/vault-display"),this.link.setParams({vault_display_token:t})}function mi(){l(this,mi)}var yi,gi;mi.buttonContainerStyles="display: flex; flex-direction: column; justify-content: center; align-items: center;",mi.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;",mi.footerContainerStyles="display: flex; flex: 1; flex-wrap: wrap; justify-content: center;",mi.footerTextStyles="text-align: center; color: #666666; margin: 2px 0;",mi.verticalLineStyle="display: inline-block; padding: 0.5px; background-color: #E5E5E5; height: 15px;",mi.clickToPayAllCardsStyle="height: 17px; margin-left: 8px; vertical-align: middle; padding-top: 3px;",(gi=yi=yi||{}).CHECKOUT_BUTTON_LOADED="checkoutButtonLoaded",gi.CHECKOUT_BUTTON_CLICKED="checkoutButtonClicked",gi.IFRAME_LOADED="iframeLoaded",gi.CHECKOUT_READY="checkoutReady",gi.CHECKOUT_COMPLETED="checkoutCompleted",gi.CHECKOUT_ERROR="checkoutError";var _i={BUTTON_TEXT_COLOR:"button_text_color",PRIMARY_COLOR:"primary_color",FONT_FAMILY:"font_family",CARD_SCHEMES:"card_schemes"},ki="visa",Ei="mastercard",bi="amex",wi="discover",Ci="/images/visa-src/Chevron_Large_V.png",Si="/images/visa-src/vmad.svg",Oi=function(e,n){return e.every(function(e,t){return e===n[t]})},Ti=(t(Ai,[{key:"setupIFrameEvents",value:function(){var n=this,e=this.link.getParams().widget_id;this.iFrameEvent.on(yi.CHECKOUT_READY,e,function(e){var t=e.data;n.eventEmitter.emit(yi.CHECKOUT_READY,t)}),this.iFrameEvent.on(yi.CHECKOUT_COMPLETED,e,function(e){var t=e.data;n.eventEmitter.emit(yi.CHECKOUT_COMPLETED,t)}),this.iFrameEvent.on(yi.CHECKOUT_ERROR,e,function(e){var t=e.data;n.eventEmitter.emit(yi.CHECKOUT_ERROR,t)}),this.autoResize&&this.useAutoResize(!0)}},{key:"load",value:function(){var e,t=this,n=document.createElement("div");n.setAttribute("style",mi.buttonContainerStyles);var i=document.createElement("button");i.setAttribute("style",mi.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 o=document.createElement("div");o.setAttribute("style",mi.footerContainerStyles),document.createElement("div").setAttribute("style",mi.verticalLineStyle);var r=document.createElement("p");r.setAttribute("style",mi.footerTextStyles),r.innerHTML="WE ACCEPT";var a=document.createElement("img");a.setAttribute("style",mi.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":Si;var i=e.sort();return Oi([bi,Ei,ki],i)?n?"/images/visa-src/Chevron_Large_VMA.png":"/images/visa-src/logos/Networks_Large_VMA.png":Oi([Ei,ki],i)?n?"/images/visa-src/Chevron_Large_VM.png":"/images/visa-src/logos/Networks_Large_VM.png":Oi([Ei],i)?n?"/images/visa-src/Chevron_Large_M.png":"/images/visa-src/logos/master-logo.png":Oi([wi],i)?n?"/images/visa-src/Chevron_Large_D.png":"/images/visa-src/logos/Networks_Large_D.png":Oi([ki],i)?n?Ci:"/images/visa-src/logos/visa-logo.png":n?Ci:Si}(null===(e=this.meta.customizations)||void 0===e?void 0:e.card_schemes,!0)),i.onclick=function(){t.eventEmitter.emit(yi.CHECKOUT_BUTTON_CLICKED,{}),t.iFrame.load(t.link.getUrl(),{title:"Visa SRC checkout"}),t.iFrame.getElement().onload=function(){return t.eventEmitter.emit(yi.IFRAME_LOADED,{})}},n.appendChild(i),n.appendChild(o),o.appendChild(r),o.appendChild(a),this.buttonContainer.getElement().appendChild(n),this.eventEmitter.emit(yi.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"))}))}}]),Ai);function Ai(e,t,n,i,o,r,a,s,u){l(this,Ai),this.meta=o,this.eventEmitter=r,this.autoResize=a,this.link=new $("/secure-remote-commerce/visa"),this.link.setParams(A({service_id:n,public_key:i},o&&{meta:JSON.stringify(o)})),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 Pi=(t(Ri,[{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(_i).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 On.VISA_SRC:n.provider=new Ti(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()}}]),Ri);function Ri(e,t,n,i,o){l(this,Ri),this.button_selector=e,this.iframe_selector=t,this.service_id=n,this.public_key_or_access_token=i,this.meta=o,this.autoResize=!1,this.style={},this.api=new Pn(i,gn.PUBLIC_KEY),this.eventEmitter=new Je}e.AfterpayCheckoutButton=Bt,e.Api=ci,e.CHECKOUT_BUTTON_EVENT=Nt,e.Canvas3ds=ii,e.CheckoutButton=Mt,e.Configuration=me,e.ELEMENT=de,e.EVENT=xe,e.ExternalCheckoutBuilder=Ve,e.ExternalCheckoutChecker=Ye,e.FORM_FIELD=ue,e.HtmlMultiWidget=je,e.HtmlPaymentSourceWidget=Hn,e.HtmlWidget=Be,e.MultiWidget=we,e.PAYMENT_TYPE=fe,e.PURPOSE=ve,e.PaymentSourceBuilder=at,e.PaymentSourceWidget=Fn,e.PaypalCheckoutButton=Vt,e.SRC=Pi,e.STYLABLE_ELEMENT=ge,e.STYLABLE_ELEMENT_STATE=_e,e.STYLE=le,e.SUPPORTED_CARD_TYPES=he,e.TEXT=ce,e.TRIGGER=De,e.TYPE=rt,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=fi,e.WalletButtons=Nn,e.ZipmoneyCheckoutButton=jt,Object.defineProperty(e,"__esModule",{value:!0})});