@payrails/web-sdk 3.4.0 → 3.4.2-RC.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -1,7 +1,7 @@
1
- !function(){"use strict";function e(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))}function t(e,t,i,n){if("a"===i&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?n:"a"===i?n.call(e):n?n.value:t.get(e)}function i(e,t,i,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,i):o?o.value=i:t.set(e,i),i}exports.ElementType=void 0,function(e){e.CARD_NUMBER="CARD_NUMBER",e.CARDHOLDER_NAME="CARDHOLDER_NAME",e.CVV="CVV",e.EXPIRATION_MONTH="EXPIRATION_MONTH",e.EXPIRATION_YEAR="EXPIRATION_YEAR"}(exports.ElementType||(exports.ElementType={})),"function"==typeof SuppressedError&&SuppressedError;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function o(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var s={};!function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});var t=(e=>(e.PAYRAILS_CLIENT_CONFIG_MALFORMED="payrails:client:init.config_malformed",e.PAYRAILS_CLIENT_COLLECT_CONTAINER_MOUNT="payrails:client:collectContainer.unmountable",e.PAYRAILS_CLIENT_UI_ELEMENT_MISSING="payrails:client:mount.ui_element_missing",e.PAYRAILS_CLIENT_PARENT_ELEMENT_MISSING="payrails:client:mount.parent_element_missing",e.PAYRAILS_CLIENT_SUBELEMENTS_RENDER_ERROR="payrails:client:mount.subelements_render_error",e.PAYRAILS_CLIENT_CARD_FORM_MISSING="payrails:client:pay.card_form_missing",e.PAYRAILS_CLIENT_GPAY_LOADING_ERROR="payrails:client:mount.gpay_loading_error",e.PAYRAILS_CLIENT_GPAY_CONFIG_MISSING="payrails:client:init.gpay_config_missing",e.PAYRAILS_CLIENT_APPLEPAY_LOADING_ERROR="payrails:client:mount.applepay_loading_error",e.PAYRAILS_CLIENT_APPLEPAY_CONFIG_MISSING="payrails:client:init.applepay_config_missing",e.PAYRAILS_CLIENT_PAYPAL_LOADING_ERROR="payrails:client:init.paypal_loading_error",e.PAYRAILS_CLIENT_PAYPAL_CONFIG_MISSING="payrails:client:init.paypal_config_missing",e.PAYRAILS_CLIENT_PAYPAL_ORDER_CREATION="payrails:client:init.paypal_order_creation",e.PAYRAILS_CLIENT_PAYPAL_BUTTON_MOUNT="payrails:client:mount.paypal_button_error",e.PAYRAILS_CLIENT_PAYMENT_EXECUTOR_PAY_ERROR="payrails:client:payment_executor.pay_error",e.PAYRAILS_CLIENT_PAYMENT_EXECUTOR_3DS_ERROR="payrails:client:payment_executor.3ds_error",e.PAYRAILS_CLIENT_PAYMENT_EXECUTOR_CONFIRM_ERROR="payrails:client:payment_executor.confirm_error",e.PAYRAILS_API_UNAUTHORIZED="payrails:api:unauthorized",e.PAYRAILS_API_TOO_MANY_REQUESTS="payrails:api:too_many_requests",e.PAYRAILS_API_UNSUCCESSFUL="payrails:api:unsuccessful",e.PAYRAILS_API_AUTHORIZATION_NOT_REQUESTED="payrails:api:authorization_not_requested",e.PAYRAILS_API_AUTHENTICATION_ERROR="payrails:api:request_authentication_error",e.PAYRAILS_API_AUTHORIZATION_ERROR="payrails:api:request_authorization_error",e.PAYRAILS_CLIENT_API_URL_NOT_FOUND="payrails:client:api_url_not_found",e.PAYRAILS_CLIENT_WORKFLOW_EXECUTION_NOT_FOUND="payrails:client:workflow_execution_not_found",e.PAYRAILS_CARD_FORM_CREATION_FAILED="payrails:card_form:iframe_creation_failed",e.PAYRAILS_CARD_FORM_IFRAME_URL_MISSING="payrails:card_form:iframe_url_missing",e.PAYRAILS_CLIENT_UNKNOWN_ERROR="payrails:client:unknown",e.PAYRAILS_API_UNKNOWN_ERROR="payrails:api:unknown",e.PAYRAILS_CLIENT_ONPAY_CALLBACK_FAILED="payrails:client:card.onpay_callback_failed",e.PAYRAILS_CARD_FORM_ELEMENT_NOT_MOUNTED_IN_ELEMENT_MATCH_RULE="payrails.card_form.element_not_mounted_in_element_match_rule",e.PAYRAILS_CARD_FORM_REQUIRED_PARAMS_NOT_PROVIDED="payrails.card_form.required_params_not_provided",e.PAYRAILS_CARD_FORM_CLIENT_CONNECTION="payrails.card_form.client_connection",e.PAYRAILS_CARD_FORM_IFRAME_NOT_FOUND="payrails.card_form.iframe_not_found",e.PAYRAILS_CARD_FORM_IFRAME_LOADING_ERROR="payrails.card_form.iframe_loading_error",e.PAYRAILS_CARD_FORM_CSP_ERROR="payrails.card_form.iframe_csp_error",e.PAYRAILS_CARD_FORM_COMPLETE_AND_VALID_INPUTS="payrails.card_form.complete_and_valid_inputs",e.PAYRAILS_CARD_FORM_COLLECT_ELEMENT_NOT_MOUNTED="payrails.card_form.collect_element_not_mounted",e))(t||{});const i={"payrails:client:init.config_malformed":{description:"The provided configuration string is invalid. Please ensure it matches the required format and structure as defined in the documentation",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:unknown":{description:"Unknown Client",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:unauthorized":{description:"Unauthorized access to the Payrails API",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:too_many_requests":{description:"Too many requests to the Payrails API",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:unsuccessful":{description:"Unsuccessful request to the Payrails API",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:collectContainer.unmountable":{description:"Collect container cannot be mounted",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:mount.ui_element_missing":{description:"Colect container element does not exist",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:pay.card_form_missing":{description:"Trying to collect values from non-existent card form",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:mount.gpay_loading_error":{description:"Google pay can not be initialized",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:init.paypal_loading_error":{description:"Paypal can not be initialized",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:init.paypal_order_creation":{description:"Paypal order creation failed",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:mount.paypal_button_error":{description:"PaypalButtonError occurred",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:mount.parent_element_missing":{description:"Parent element not found",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:mount.subelements_render_error":{description:"Subelements could not be rendered. Please set id for the element first.",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:api_url_not_found":{description:"API URL not found",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:workflow_execution_not_found":{description:"Workflow execution not found",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:init.paypal_config_missing":{description:"Paypal config not found",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:authorization_not_requested":{description:"Authorization was not requested",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:init.gpay_config_missing":{description:"Google pay config not found",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:mount.applepay_loading_error":{description:"Apple pay can not be initialized",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:init.applepay_config_missing":{description:"Apple pay config not found",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:card_form:iframe_creation_failed":{description:"Error occured while creating an iframe",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:card_form:iframe_url_missing":{description:"Iframe URL is missing",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:card.onpay_callback_failed":{description:"Callback passed to onPaymentButtonClicked threw an error",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:request_authentication_error":{description:"Authentication error",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:unknown":{description:"Unknown API error",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:payment_executor.pay_error":{description:"Error occured while executing a payment",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:payment_executor.confirm_error":{description:"Error occured while confirming a payment",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:request_authorization_error":{description:"Authorization error",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:payment_executor.3ds_error":{description:"Authorization failed after 3DS challenge.",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.element_not_mounted_in_element_match_rule":{description:"Interface: collect element - collect element is not mounted in ValidationRule params at index %s1 in validations array",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.required_params_not_provided":{description:"Interface: collect element - Required params are not provided.",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.client_connection":{description:"Interface: collect container - client connection not established. client info has not reached iframes",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.iframe_not_found":{description:"Interface: collect element - frame not found:",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.complete_and_valid_inputs":{description:"Interface: collect container - Provide complete and valid inputs",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.collect_element_not_mounted":{description:"Interface: composable collect - collect element is not mounted",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.iframe_loading_error":{description:"Interface: collect element - Error occured while loading iframe",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.iframe_csp_error":{description:"Interface: collect element - Content Security Policy error",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"}};var n=(e=>(e.ERROR="payrails:error",e.INFO="payrails:info",e.DEBUG="payrails:debug",e.WARN="payrails:warn",e))(n||{});class o extends Error{constructor(e,t){const{description:n,docUrl:s,cause:r}=t??{},{description:a,docUrl:l}=i[e]||{},d=n??a??"An unknown error occurred",c=s??l;super(d),this.name=e,this.docUrl=c,this.cause=r,this.message=d,Error.captureStackTrace&&Error.captureStackTrace(this,o)}toJSON(){return{name:this.name,message:this.message,docUrl:this.docUrl,stack:this.stack,cause:this.cause}}}e.ERROR_CODES=t,e.PAYRAILS_OBSERVABILITY_EVENTS=n,e.PayrailsError=o}(s);var r={};let a;!function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});class t{log(e,t){console.log(JSON.stringify({level:e,mssg:t.mssg,error:t.error,withMetada:t.withMetada,extra:t.extra}))}}var i=(e=>(e.ERROR="payrails:error",e.INFO="payrails:info",e.DEBUG="payrails:debug",e.WARN="payrails:warn",e))(i||{}),o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n?n:"undefined"!=typeof self?self:{};function s(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r={},a={},l={};Object.defineProperty(l,"__esModule",{value:!0}),l.isntString=void 0,l.isntString=function(e){return"string"!=typeof e};var d={},c={};Object.defineProperty(c,"__esModule",{value:!0}),c.subscribers=c.childWindows=c.prefix=void 0,c.prefix="/*framebus*/",c.childWindows=[],c.subscribers={};var E={},_={},u={},I={};Object.defineProperty(I,"__esModule",{value:!0}),I.subscriptionArgsInvalid=void 0;var h=l;I.subscriptionArgsInvalid=function(e,t,i){return!!h.isntString(e)||("function"!=typeof t||h.isntString(i))};var p={},f={};Object.defineProperty(f,"__esModule",{value:!0}),f.hasOpener=void 0,f.hasOpener=function(e){return e.top===e&&(null!=e.opener&&(e.opener!==e&&!0!==e.opener.closed))},Object.defineProperty(p,"__esModule",{value:!0}),p.broadcast=void 0;var N,T=f;function O(){if(N)return u;N=1,Object.defineProperty(u,"__esModule",{value:!0}),u.Framebus=void 0;var e=l,t=I,i=p,n=y(),o=c,s=function(){function s(e){void 0===e&&(e="*"),this.origin=e}return s.target=function(e){return void 0===e&&(e="*"),new s(e)},s.prototype.include=function(e){return null!=e&&(null!=e.Window&&(e.constructor===e.Window&&(o.childWindows.push(e),!0)))},s.prototype.target=function(e){return s.target(e)},s.prototype.emit=function(t,o,s){var r=this.origin;if(e.isntString(t))return!1;if(e.isntString(r))return!1;"function"==typeof o&&(s=o,o=void 0);var a=n.packagePayload(t,r,o,s);return!!a&&(i.broadcast(window.top||window.self,a,r),!0)},s.prototype.on=function(e,i){var n=this.origin;return!t.subscriptionArgsInvalid(e,i,n)&&(o.subscribers[n]=o.subscribers[n]||{},o.subscribers[n][e]=o.subscribers[n][e]||[],o.subscribers[n][e].push(i),!0)},s.prototype.off=function(e,i){var n=this.origin;if(t.subscriptionArgsInvalid(e,i,n))return!1;var s=o.subscribers[n]&&o.subscribers[n][e];if(!s)return!1;for(var r=0;r<s.length;r++)if(s[r]===i)return s.splice(r,1),!0;return!1},s}();return u.Framebus=s,u}p.broadcast=function e(t,i,n){var o,s=0;try{for(t.postMessage(i,n),T.hasOpener(t)&&e(t.opener.top,i,n);o=t.frames[s];)e(o,i,n),s++}catch(e){}};var m,v,A=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))};function y(){if(v)return E;v=1,Object.defineProperty(E,"__esModule",{value:!0}),E.packagePayload=void 0;var e=function(){if(m)return _;m=1;var e=o&&o.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(_,"__esModule",{value:!0}),_.subscribeReplier=void 0;var t=O(),i=e(A);return _.subscribeReplier=function(e,n){var o=i.default();return t.Framebus.target(n).on(o,(function i(s,r){e(s,r),t.Framebus.target(n).off(o,i)})),o},_}(),t=c;return E.packagePayload=function(i,n,o,s){var r,a={event:i,origin:n};"function"==typeof s&&(a.reply=e.subscribeReplier(s,n)),a.eventData=o;try{r=t.prefix+JSON.stringify(a)}catch(e){throw new Error("Could not stringify event: "+e.message)}return r},E}Object.defineProperty(d,"__esModule",{value:!0}),d.unpackPayload=void 0;var L=c,R=y();d.unpackPayload=function(e){var t;if(e.data.slice(0,L.prefix.length)!==L.prefix)return!1;try{t=JSON.parse(e.data.slice(L.prefix.length))}catch(e){return!1}if(t.reply){var i=e.origin,n=e.source,o=t.reply;t.reply=function(e){if(n){var t=R.packagePayload(o,i,e);t&&n.postMessage(t,i)}}}return t};var g={};Object.defineProperty(g,"__esModule",{value:!0}),g.dispatch=void 0;var S=c;g.dispatch=function(e,t,i,n,o){if(S.subscribers[e]&&S.subscribers[e][t]){var s=[];i&&s.push(i),n&&s.push(n);for(var r=0;r<S.subscribers[e][t].length;r++)S.subscribers[e][t][r].apply(o,s)}};var D={};Object.defineProperty(D,"__esModule",{value:!0}),D.broadcastToChildWindows=void 0;var C=p,P=c;D.broadcastToChildWindows=function(e,t,i){for(var n=P.childWindows.length-1;n>=0;n--){var o=P.childWindows[n];o.closed?P.childWindows.splice(n,1):i!==o&&C.broadcast(o.top,e,t)}},Object.defineProperty(a,"__esModule",{value:!0}),a.onmessage=void 0;var b=l,M=d,w=g,U=D;a.onmessage=function(e){if(!b.isntString(e.data)){var t=M.unpackPayload(e);if(t){var i=t.eventData,n=t.reply;w.dispatch("*",t.event,i,n,e),w.dispatch(e.origin,t.event,i,n,e),U.broadcastToChildWindows(e.data,t.origin,e.source)}}},Object.defineProperty(r,"__esModule",{value:!0}),r.detach=r.attach=void 0;var k=a,Y=!1;r.attach=function(){Y||"undefined"==typeof window||(Y=!0,window.addEventListener("message",k.onmessage,!1))},r.detach=function(){Y=!1,window.removeEventListener("message",k.onmessage,!1)};var x=r,V=new(O().Framebus);x.attach();const G=s(V);class F{constructor(){this.listeners=[],this.isDestroyed=!1}on(e,t){G.on(e,t),this.listeners.push({eventName:e,callback:t})}off(e,t){G.off(e,t);const i=this.listeners.findIndex((t=>t.eventName===e));-1!==i&&this.listeners.splice(i,1)}emit(e,t,i=void 0){G.emit(e,t,i)}hasListener(e){return-1!==this.listeners.findIndex((t=>t.eventName===e))}teardown(){this.listeners.forEach((e=>{G.off(e.eventName,e.handler)})),this.listeners=[]}}class B{constructor(){this.bus=new F}log(e,t){this.bus.emit(i.ERROR,{level:e,event:t})}}var j=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===X}(e)}(e)};var X="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function W(e,t){return!1!==t.clone&&t.isMergeableObject(e)?q((i=e,Array.isArray(i)?[]:{}),e,t):e;var i}function $(e,t,i){return e.concat(t).map((function(e){return W(e,i)}))}function z(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function K(e,t){try{return t in e}catch(e){return!1}}function H(e,t,i){var n={};return i.isMergeableObject(e)&&z(e).forEach((function(t){n[t]=W(e[t],i)})),z(t).forEach((function(o){(function(e,t){return K(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,o)||(K(e,o)&&i.isMergeableObject(t[o])?n[o]=function(e,t){if(!t.customMerge)return q;var i=t.customMerge(e);return"function"==typeof i?i:q}(o,i)(e[o],t[o],i):n[o]=W(t[o],i))})),n}function q(e,t,i){(i=i||{}).arrayMerge=i.arrayMerge||$,i.isMergeableObject=i.isMergeableObject||j,i.cloneUnlessOtherwiseSpecified=W;var n=Array.isArray(t);return n===Array.isArray(e)?n?i.arrayMerge(e,t,i):H(e,t,i):W(t,i)}q.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,i){return q(e,i,t)}),{})};const J=s(q);class Z{constructor(){this.state={}}static getInstance(){return Z.instance||(Z.instance=new Z),Z.instance}getState(e){return this.state[e]}setState(e){this.state=J(this.state,e)}}const Q=Z.getInstance(),ee=()=>window&&window.navigator,te=()=>window&&window.screen,ie=()=>({resolution:`${te().width}x${te().height}`,user_agent:ee().userAgent,language:ee().language});class ne{constructor(e){this.adapter=[new B],this.enabled=e.enabled||!0,this.initGlobalState(e),e.logLevel=e.logLevel||"error","debug"===e.logLevel&&this.addAdapter(new t)}static init(e){ne.instance=new ne(e)}static getLogger(){return ne.instance}initGlobalState(e){Q.setState({payrails:e.payrails,sdk:e.sdk})}static setState(e){Q.setState(e)}log(e,t,i){this.enabled&&this.adapter.forEach((n=>{n.log(e,{mssg:t,error:null==i?void 0:i.error,withMetada:{...this.constructMetadata(),...null==i?void 0:i.withMetada},extra:null==i?void 0:i.extra})}))}constructMetadata(){return{device:ie(),payrails:Q.getState("payrails"),sdk:Q.getState("sdk")}}addAdapter(e){this.adapter.push(e)}static log(e,t){this.getLogger().log("info",e,t)}static debug(e,t){this.getLogger().log("debug",e,t)}static info(e,t){this.getLogger().log("info",e,t)}static warn(e,t){this.getLogger().log("warning",e,t)}static error(e,t){this.getLogger().log("error",e,t)}static exception(e,t){this.error(e,t)}}e.PayrailsLogger=ne,e.getDeviceInfo=ie}(r);const l=new Uint8Array(16);function d(){if(!a&&(a="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!a))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return a(l)}const c=[];for(let e=0;e<256;++e)c.push((e+256).toString(16).slice(1));var E={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function _(e,t,i){if(E.randomUUID&&!t&&!e)return E.randomUUID();const n=(e=e||{}).random||(e.rng||d)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){i=i||0;for(let e=0;e<16;++e)t[i+e]=n[e];return t}return function(e,t=0){return c[e[t+0]]+c[e[t+1]]+c[e[t+2]]+c[e[t+3]]+"-"+c[e[t+4]]+c[e[t+5]]+"-"+c[e[t+6]]+c[e[t+7]]+"-"+c[e[t+8]]+c[e[t+9]]+"-"+c[e[t+10]]+c[e[t+11]]+c[e[t+12]]+c[e[t+13]]+c[e[t+14]]+c[e[t+15]]}(n)}var u;!function(e){e.GET="GET",e.POST="POST"}(u||(u={}));const I=({url:t,method:i=u.GET,token:n,body:o})=>e(void 0,void 0,void 0,(function*(){const e={method:i,headers:Object.assign(Object.assign(Object.assign({},O()),T(n)),m())};i===u.POST&&(e.body=JSON.stringify(o||{}));const s=yield fetch(t,e),r=yield s.json();if([401,403].includes(s.status))throw new h(t,i);if(429===s.status)throw new f(t,i);if(!s.ok)throw new p(t,i);return{ok:s.ok,req:Object.assign({url:t},e),res:r}}));class h extends s.PayrailsError{constructor(e,t){super(s.ERROR_CODES.PAYRAILS_API_UNAUTHORIZED,{description:`[${t}] ${e} unauthorized`})}}class p extends s.PayrailsError{constructor(e,t){super(s.ERROR_CODES.PAYRAILS_API_UNSUCCESSFUL,{description:`[${t}] ${e} unsuccessful`})}}class f extends s.PayrailsError{constructor(e,t){super(s.ERROR_CODES.PAYRAILS_API_TOO_MANY_REQUESTS,{description:`[${t}] ${e} too many requests`})}}class N extends s.PayrailsError{constructor(e,t){super(s.ERROR_CODES.PAYRAILS_API_TOO_MANY_REQUESTS,{description:`[${t}] ${e} max poll attempts exceeded.`})}}const T=e=>({authorization:`Bearer ${e}`}),O=()=>({"x-idempotency-key":_()}),m=()=>{const e={version:"3.4.0",type:"web-sdk"};return{"x-client-version":e.version,"x-client-type":e.type}},v={success:"https://payrails.io/success",error:"https://payrails.io/error",cancel:"https://payrails.io/cancel"};class A{constructor(e,t,i=v,n=680,o=60,s=2e3,r=5){this.sdkConfig=e,this.execution=t,this.returnLinks=i,this.POLL_INTERVAL=n,this.MAX_POLL_ATTEMPTS=o,this.POLL_INITIAL_DELAY=s,this.POLL_ERROR_COUNT_MULTIPLIER=r}pay(t){return e(this,void 0,void 0,(function*(){try{const e=(yield this.authorize(t)).res.links.execution;return yield this.pollForAuthorizationResult(e)}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PAYMENT_EXECUTOR_PAY_ERROR,{cause:e});throw r.PayrailsLogger.error(t.message,{error:t}),e}}))}confirm(t,i={}){return e(this,void 0,void 0,(function*(){try{const e=yield I({url:t,method:u.POST,token:this.sdkConfig.token,body:{data:i}}),n=yield this.pollForAuthorizationResult(e.res.links.execution);if(n.finalState)return n;const o=n.response.status.slice().sort(((e,t)=>new Date(t.time).getTime()-new Date(e.time).getTime()))[0].time,{res:s}=yield this.getExecution(e.res.links.execution,o);return{finalState:s.status.find((({code:e,time:t})=>["authorizeSuccessful","authorizeFailed"].includes(e)&&new Date(t)>new Date(o))),response:s}}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PAYMENT_EXECUTOR_CONFIRM_ERROR,{cause:e});throw r.PayrailsLogger.error(t.message,{error:t}),e}}))}getExecution(t,i,n=0){return e(this,void 0,void 0,(function*(){if(n>this.MAX_POLL_ATTEMPTS)throw new N(t,u.GET);0===n&&i&&(yield this.wait(this.POLL_INITIAL_DELAY));try{const e=yield I({url:t,token:this.sdkConfig.token});if(i){if(!e.res.status.find((({time:e})=>new Date(e)>new Date(i))))return yield this.wait(this.POLL_INTERVAL),this.getExecution(t,i,n+1)}return e}catch(e){if(e instanceof p)return yield this.wait(this.POLL_INTERVAL),this.getExecution(t,i,n+this.POLL_ERROR_COUNT_MULTIPLIER);if(e instanceof f)return yield this.wait(this.POLL_INTERVAL*n),this.getExecution(t,i,n+1);throw e}}))}createApplePaySession(t){return e(this,void 0,void 0,(function*(){return I({url:t.requestUrl,method:u.POST,token:this.sdkConfig.token,body:{integrationType:"api",paymentMethodCode:"applePay",amount:this.sdkConfig.amount,meta:{sessionURL:t.sessionUrl,clientDomain:t.clientDomain||window.location.host}}})}))}authorize(t){return e(this,void 0,void 0,(function*(){if(!this.execution.authorizeLink||!this.sdkConfig.amount){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_WORKFLOW_EXECUTION_NOT_FOUND,{description:"SDK was not initialized with workflow execution"});throw r.PayrailsLogger.error(e.message,{error:e}),e}const{success:e,error:i,cancel:n}=this.returnLinks;return I({url:this.execution.authorizeLink,method:u.POST,token:this.sdkConfig.token,body:{amount:this.sdkConfig.amount,paymentComposition:t,returnInfo:{success:e,cancel:n,error:i}}})}))}wait(t){return e(this,void 0,void 0,(function*(){return new Promise((e=>setTimeout(e,t)))}))}pollForAuthorizationResult(t,i=0){return e(this,void 0,void 0,(function*(){const e=(yield this.getExecution(t)).res,n=e.status,o=["authorizePending","authorizeSuccessful","authorizeFailed"],a=n.find((({code:e})=>"authorizeRequested"===e));if(!a&&i<10)return yield new Promise((e=>setTimeout(e,this.POLL_INTERVAL))),this.pollForAuthorizationResult(t,i+1);if(!a){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_API_AUTHORIZATION_NOT_REQUESTED);throw r.PayrailsLogger.error(e.message,{error:e}),e}const l=n.find((({code:e,time:t})=>"confirmRequested"===e&&new Date(t)>new Date(a.time))),d=l?l.time:a.time;let c=n.find((({code:e,time:t})=>o.includes(e)&&new Date(t)>new Date(d)));if(!c){const{res:e}=yield this.getExecution(t,d);return c=e.status.find((({code:e,time:t})=>o.includes(e)&&new Date(t)>new Date(d))),{finalState:c,response:e}}return{finalState:c,response:e}}))}}var y,L,R;!function(e){e.CARD="card",e.GOOGLE_PAY="googlePay",e.PAYPAL="payPal",e.APPLE_PAY="applePay"}(y||(y={})),function(e){e.ENABLED="enabled",e.CREATED="created",e.DELETED="deleted",e.DISABLED="disabled",e.INVALID="invalid",e.TRANSIENT="transient"}(L||(L={}));class g{constructor(e){this.executionResponse=e}get lookup(){return this.executionResponse.initialResults.find((({body:{name:e}})=>"lookup"===e))}get holderReference(){return this.executionResponse.holderReference}get savedCreditCards(){return this.getStoredInstrumentForPaymentMethod(y.CARD)}get savedPaypalAccounts(){return this.getStoredInstrumentForPaymentMethod(y.PAYPAL)}get savedGooglePayAccounts(){return this.getStoredInstrumentForPaymentMethod(y.GOOGLE_PAY)}get savedApplePayAccounts(){return this.getStoredInstrumentForPaymentMethod(y.APPLE_PAY)}get paypalConfig(){const e=this.availablePaymentMethods.find((({paymentMethodCode:e})=>e===y.PAYPAL));if(!e){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PAYPAL_CONFIG_MISSING);throw r.PayrailsLogger.error(e.message,{error:e,extra:{availablePaymentMethods:this.availablePaymentMethods}}),e}return e.config||{}}get googlePayConfig(){const e=this.availablePaymentMethods.find((({paymentMethodCode:e})=>e===y.GOOGLE_PAY));if(!e){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_GPAY_CONFIG_MISSING);throw r.PayrailsLogger.error(e.message,{error:e,extra:{availablePaymentMethods:this.availablePaymentMethods}}),e}return e?[e.config]:[]}isPaymentMethodAvailable(e){return this.availablePaymentMethods.some((({paymentMethodCode:t})=>t===e))}get applePayConfig(){const e=this.availablePaymentMethods.find((({paymentMethodCode:e})=>e===y.APPLE_PAY));if(!e){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_APPLEPAY_CONFIG_MISSING);throw r.PayrailsLogger.error(e.message,{error:e,extra:{availablePaymentMethods:this.availablePaymentMethods}}),e}return e.config.parameters}get url(){return this.response.links.self}get response(){return this.executionResponse}get meta(){return this.executionResponse.meta}get availablePaymentMethods(){var e;return(null===(e=this.lookup)||void 0===e?void 0:e.body.data.paymentCompositionOptions)||[]}get authorizeLink(){var e;return null===(e=this.lookup)||void 0===e?void 0:e.body.links.authorize.href}get createSessionLink(){var e;return null===(e=this.response.links.startPaymentSession)||void 0===e?void 0:e.href}get storedPaymentInstruments(){return this.availablePaymentMethods.flatMap((e=>e.paymentInstruments||[]))}getStoredInstrumentForPaymentMethod(e){var t;return(null===(t=this.availablePaymentMethods.find((({paymentMethodCode:t})=>t===e)))||void 0===t?void 0:t.paymentInstruments)||[]}}class S{constructor(e,{id:t="",className:i=""}={}){this.subElements=[];const n=document.createElement(e);t&&(this.id=t,n.setAttribute("id",t)),i&&n.setAttribute("class",i),this.element=n}get parentElement(){return this.element.parentElement}get selector(){if(!this.id)throw new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_UI_ELEMENT_MISSING);return`#${this.id}`}mount(e){const t=document.querySelector(e);if(!t)throw new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PARENT_ELEMENT_MISSING,{description:`Element with selector "${e}" not found in in the DOM`});t.appendChild(this.element),this.subElements.forEach((e=>{if(!this.id)throw new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_SUBELEMENTS_RENDER_ERROR);e.mount(this.selector)}))}unmount(){var e;this.subElements.forEach((e=>e.unmount())),null===(e=this.parentElement)||void 0===e||e.removeChild(this.element)}}class D extends S{get bin(){var e;return this.selectedInstrument?this.selectedInstrument.data.bin?this.selectedInstrument.data.bin:"":(null===(e=this.cardForm)||void 0===e?void 0:e.bin)||""}constructor(e,t,i,n){var o;super("button",{id:"payrails-card-payment-button"}),this.sdkConfig=e,this.execution=t,this.options=i,this.returnLinks=n,this.selectedInstrument=null,this.element.innerText=(null===(o=null==i?void 0:i.translations)||void 0===o?void 0:o.label)||"Pay",this.element.addEventListener("click",this.onPay.bind(this)),this.element.addEventListener("mouseenter",(()=>{var e;this.element.classList.contains("disabled")||(this.element.classList.add("hover"),this.setStyles((null===(e=this.options.styles)||void 0===e?void 0:e.hover)||{}))})),this.element.addEventListener("mouseleave",(()=>{var e;this.element.classList.contains("disabled")||(this.element.classList.remove("hover"),this.removeStyles((null===(e=this.options.styles)||void 0===e?void 0:e.hover)||{}))})),this.paymentExecutor=new A(this.sdkConfig,this.execution,this.returnLinks)}setDisabled(e){var t,i,n,o,s;this.element.classList.contains("disabled")!==e&&(null===(i=null===(t=this.options.events)||void 0===t?void 0:t.onStateChanged)||void 0===i||i.call(t,e?"disabled":"enabled")),this.element.disabled=e,e?(this.element.classList.add("disabled"),(null===(n=this.options.styles)||void 0===n?void 0:n.disabled)&&this.setStyles(this.options.styles.disabled)):(this.element.classList.remove("disabled"),this.removeStyles((null===(o=this.options.styles)||void 0===o?void 0:o.disabled)||{}),(null===(s=this.options.styles)||void 0===s?void 0:s.base)&&this.setStyles(this.options.styles.base))}setSavedCreditCard(e){console.warn("setSavedCreditCard is deprecated, please use setSavedInstrument"),this.setSavedInstrument(e)}setSavedInstrument(e){this.selectedInstrument=e,this.setDisabled(!1)}setStyles(e){var t;const i=Object.assign(Object.assign({},null===(t=this.options.styles)||void 0===t?void 0:t.base),e);Object.keys(i).forEach((e=>{this.element.style[e]=i[e]}))}removeStyles(e){var t;const i=Object.keys((null===(t=this.options.styles)||void 0===t?void 0:t.base)||{});Object.keys(e).forEach((e=>{var t,n;i.includes(e)?this.element.style[e]=null===(n=null===(t=this.options.styles)||void 0===t?void 0:t.base)||void 0===n?void 0:n[e]:this.element.style[e]=""}))}setLabel(e){this.element.innerText=e}setCardForm(e){this.cardForm=e}triggerLoading(e){var t,i,n,o;const s=this.element.offsetWidth;this.element.style.minWidth=`${s}px`,e?(this.element.innerHTML='<div class="dot-flashing"></div>',this.element.classList.add("loading"),(null===(t=this.options.styles)||void 0===t?void 0:t.loading)&&this.setStyles(this.options.styles.loading)):(this.element.innerText=(null===(n=null===(i=this.options)||void 0===i?void 0:i.translations)||void 0===n?void 0:n.label)||"Pay",this.element.classList.remove("loading"),this.removeStyles((null===(o=this.options.styles)||void 0===o?void 0:o.loading)||{}))}onAuthorizationFailed(e){var t,i;this.setDisabled(!1),this.triggerLoading(!1),(null===(t=this.options.events)||void 0===t?void 0:t.onAuthorizeFailed)&&(null===(i=this.options.events)||void 0===i||i.onAuthorizeFailed(e))}onPay(){var t,i,n,o,a,l,d,c,E,_,u,I;return e(this,void 0,void 0,(function*(){if(this.setDisabled(!0),this.triggerLoading(!0),null===(t=this.options.events)||void 0===t?void 0:t.onPaymentButtonClicked)try{if(!1===(yield null===(i=this.options.events)||void 0===i?void 0:i.onPaymentButtonClicked({bin:this.bin||""}))){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_ONPAY_CALLBACK_FAILED,{description:"Callback passed to onPaymentButtonClicked resolved to false"});return r.PayrailsLogger.error(e.message,{error:e}),void this.onAuthorizationFailed({code:exports.AuthorizationFailureReasons.VALIDATION_FAILED,message:e.message})}}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_ONPAY_CALLBACK_FAILED,{description:"Callback passed to onPaymentButtonClicked threw an error",cause:e});return r.PayrailsLogger.error(t.message,{error:t}),void this.onAuthorizationFailed({code:exports.AuthorizationFailureReasons.VALIDATION_FAILED,message:t.message})}try{let e=[{paymentMethodCode:y.CARD,integrationType:"api",amount:this.sdkConfig.amount,storeInstrument:!1}];if(null===(n=this.selectedInstrument)||void 0===n?void 0:n.id)e[0].paymentInstrumentId=null===(o=this.selectedInstrument)||void 0===o?void 0:o.id,e[0].paymentMethodCode=null===(a=this.selectedInstrument)||void 0===a?void 0:a.paymentMethod;else{if(!this.cardForm){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_CARD_FORM_MISSING);throw r.PayrailsLogger.error(e.message,{error:e}),e}e="Payrails"===(null===(d=null===(l=this.sdkConfig)||void 0===l?void 0:l.vaultConfiguration)||void 0===d?void 0:d.vaultType)?yield this.constructEncryptedPayment(e):yield this.constructTokenizedPayment(e)}const t=yield this.paymentExecutor.pay(e);this.handleAuthorizationResult(t)}catch(e){let t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_API_AUTHENTICATION_ERROR,{cause:e});e instanceof h||[401,403].includes(null===(c=null==e?void 0:e.error)||void 0===c?void 0:c.code)?(null===(_=null===(E=this.options.events)||void 0===E?void 0:E.onPaymentSessionExpired)||void 0===_||_.call(E),t.message="API token is not valid or expired.",r.PayrailsLogger.error(t.message,{error:t}),this.onAuthorizationFailed({code:exports.AuthorizationFailureReasons.AUTHENTICATION_ERROR,message:t.message})):e.toString().includes("Invalid token")?(null===(I=null===(u=this.options.events)||void 0===u?void 0:u.onPaymentSessionExpired)||void 0===I||I.call(u),t.message="Vault token is not valid or expired.",r.PayrailsLogger.error(t.message,{error:t})):t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_API_UNKNOWN_ERROR,{cause:e}),this.onAuthorizationFailed({code:exports.AuthorizationFailureReasons.AUTHENTICATION_ERROR,message:t.message})}}))}constructTokenizedPayment(t){return e(this,void 0,void 0,(function*(){const{storeInstrument:e,enrollInstrumentToNetworkOffers:i,cardData:n}=yield this.cardForm.collectValues();return t[0].paymentInstrumentData={vaultToken:null==n?void 0:n.instrumentId,card:{numberToken:null==n?void 0:n.card_number,securityCodeToken:null==n?void 0:n.security_code}},t[0].storeInstrument=e,t[0].enrollInstrumentToNetworkOffers=i,t}))}constructEncryptedPayment(t){return e(this,void 0,void 0,(function*(){const{cardData:e,storeInstrument:i,enrollInstrumentToNetworkOffers:n}=yield this.cardForm.collectValues();return t[0].paymentInstrumentData=Object.assign({},e),t[0].storeInstrument=i,t[0].enrollInstrumentToNetworkOffers=n,t}))}handleAuthorizationResult(e){var t,i,n;let o;switch(null===(t=null==e?void 0:e.finalState)||void 0===t?void 0:t.code){case"authorizeSuccessful":this.triggerLoading(!1),(null===(i=this.options.events)||void 0===i?void 0:i.onAuthorizeSuccess)&&this.options.events.onAuthorizeSuccess();break;case"authorizePending":"3ds"===(null===(n=null==e?void 0:e.response)||void 0===n?void 0:n.actionRequired)&&this.handle3ds(e);break;default:o=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_API_AUTHORIZATION_ERROR),r.PayrailsLogger.error(o.message,{error:o,extra:{result:e}}),this.onAuthorizationFailed({code:exports.AuthorizationFailureReasons.AUTHORIZATION_ERROR,message:o.message})}}handle3ds(t){var i,n,o,a;try{null===(n=null===(i=this.options.events)||void 0===i?void 0:i.onThreeDSecureChallenge)||void 0===n||n.call(i)}catch(e){}const l=null===(o=null==t?void 0:t.response)||void 0===o?void 0:o.links["3ds"];if(l){const t=[[250,400],[390,400],[500,600],[600,400]],i=screen.width,n=t.reduce(((e,t)=>i>t[0]?t:e),[250,400]),o=document.createElement("iframe");o.setAttribute("id","payrails-3ds-frame"),o.setAttribute("src",l),o.setAttribute("width",n[0].toString()),o.setAttribute("height",n[1].toString());const d=document.createElement("div");d.setAttribute("id","payrails-3ds-challenge"),d.appendChild(o);const c=document.createElement("div");c.addEventListener("click",(()=>e(this,void 0,void 0,(function*(){c.remove()})))),c.setAttribute("id","payrails-3ds-popup-background"),c.appendChild(d);const E=t=>e(this,void 0,void 0,(function*(){var e,i,n;if(t.data&&'{"type":"3DS-challenge-completed"}'===t.data){window.removeEventListener("message",E),c.remove();if(!(yield this.paymentExecutor.getExecution(this.execution.url)).res.status.find((({code:e})=>"authorizeSuccessful"===e))&&(null===(e=this.options.events)||void 0===e?void 0:e.onAuthorizeFailed)){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PAYMENT_EXECUTOR_3DS_ERROR);return r.PayrailsLogger.error(e.message,{error:e}),void this.onAuthorizationFailed({code:exports.AuthorizationFailureReasons.AUTHORIZATION_ERROR,message:"Authorization failed after 3DS challenge."})}if(null===(i=this.options.events)||void 0===i?void 0:i.onAuthorizeSuccess)return void(null===(n=this.options.events)||void 0===n||n.onAuthorizeSuccess())}}));null===(a=document.querySelector("body"))||void 0===a||a.appendChild(c),window.addEventListener("message",E),d.style.width=`${n[0]+4}px`,d.style.height=`${n[1]+4}px`}}}exports.AuthorizationFailureReasons=void 0,(R=exports.AuthorizationFailureReasons||(exports.AuthorizationFailureReasons={})).VALIDATION_FAILED="VALIDATION_FAILED",R.AUTHORIZATION_ERROR="AUTHORIZATION_ERROR",R.AUTHENTICATION_ERROR="AUTHENTICATION_ERROR",R.UNKNOWN_ERROR="UNKNOWN_ERROR";var C={},P={},b={};Object.defineProperty(b,"__esModule",{value:!0}),b.isntString=void 0,b.isntString=function(e){return"string"!=typeof e};var M={},w={};Object.defineProperty(w,"__esModule",{value:!0}),w.subscribers=w.childWindows=w.prefix=void 0,w.prefix="/*framebus*/",w.childWindows=[],w.subscribers={};var U={},k={},Y={},x={};Object.defineProperty(x,"__esModule",{value:!0}),x.subscriptionArgsInvalid=void 0;var V=b;x.subscriptionArgsInvalid=function(e,t,i){return!!V.isntString(e)||("function"!=typeof t||V.isntString(i))};var G={},F={};Object.defineProperty(F,"__esModule",{value:!0}),F.hasOpener=void 0,F.hasOpener=function(e){return e.top===e&&(null!=e.opener&&(e.opener!==e&&!0!==e.opener.closed))},Object.defineProperty(G,"__esModule",{value:!0}),G.broadcast=void 0;var B,j=F;function X(){if(B)return Y;B=1,Object.defineProperty(Y,"__esModule",{value:!0}),Y.Framebus=void 0;var e=b,t=x,i=G,n=K(),o=w,s=function(){function s(e){void 0===e&&(e="*"),this.origin=e}return s.target=function(e){return void 0===e&&(e="*"),new s(e)},s.prototype.include=function(e){return null!=e&&(null!=e.Window&&(e.constructor===e.Window&&(o.childWindows.push(e),!0)))},s.prototype.target=function(e){return s.target(e)},s.prototype.emit=function(t,o,s){var r=this.origin;if(e.isntString(t))return!1;if(e.isntString(r))return!1;"function"==typeof o&&(s=o,o=void 0);var a=n.packagePayload(t,r,o,s);return!!a&&(i.broadcast(window.top||window.self,a,r),!0)},s.prototype.on=function(e,i){var n=this.origin;return!t.subscriptionArgsInvalid(e,i,n)&&(o.subscribers[n]=o.subscribers[n]||{},o.subscribers[n][e]=o.subscribers[n][e]||[],o.subscribers[n][e].push(i),!0)},s.prototype.off=function(e,i){var n=this.origin;if(t.subscriptionArgsInvalid(e,i,n))return!1;var s=o.subscribers[n]&&o.subscribers[n][e];if(!s)return!1;for(var r=0;r<s.length;r++)if(s[r]===i)return s.splice(r,1),!0;return!1},s}();return Y.Framebus=s,Y}G.broadcast=function e(t,i,n){var o,s=0;try{for(t.postMessage(i,n),j.hasOpener(t)&&e(t.opener.top,i,n);o=t.frames[s];)e(o,i,n),s++}catch(e){}};var W,$,z=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))};function K(){if($)return U;$=1,Object.defineProperty(U,"__esModule",{value:!0}),U.packagePayload=void 0;var e=function(){if(W)return k;W=1;var e=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(k,"__esModule",{value:!0}),k.subscribeReplier=void 0;var t=X(),i=e(z);return k.subscribeReplier=function(e,n){var o=i.default();return t.Framebus.target(n).on(o,(function i(s,r){e(s,r),t.Framebus.target(n).off(o,i)})),o},k}(),t=w;return U.packagePayload=function(i,n,o,s){var r,a={event:i,origin:n};"function"==typeof s&&(a.reply=e.subscribeReplier(s,n)),a.eventData=o;try{r=t.prefix+JSON.stringify(a)}catch(e){throw new Error("Could not stringify event: "+e.message)}return r},U}Object.defineProperty(M,"__esModule",{value:!0}),M.unpackPayload=void 0;var H=w,q=K();M.unpackPayload=function(e){var t;if(e.data.slice(0,H.prefix.length)!==H.prefix)return!1;try{t=JSON.parse(e.data.slice(H.prefix.length))}catch(e){return!1}if(t.reply){var i=e.origin,n=e.source,o=t.reply;t.reply=function(e){if(n){var t=q.packagePayload(o,i,e);t&&n.postMessage(t,i)}}}return t};var J={};Object.defineProperty(J,"__esModule",{value:!0}),J.dispatch=void 0;var Z=w;J.dispatch=function(e,t,i,n,o){if(Z.subscribers[e]&&Z.subscribers[e][t]){var s=[];i&&s.push(i),n&&s.push(n);for(var r=0;r<Z.subscribers[e][t].length;r++)Z.subscribers[e][t][r].apply(o,s)}};var Q={};Object.defineProperty(Q,"__esModule",{value:!0}),Q.broadcastToChildWindows=void 0;var ee=G,te=w;Q.broadcastToChildWindows=function(e,t,i){for(var n=te.childWindows.length-1;n>=0;n--){var o=te.childWindows[n];o.closed?te.childWindows.splice(n,1):i!==o&&ee.broadcast(o.top,e,t)}},Object.defineProperty(P,"__esModule",{value:!0}),P.onmessage=void 0;var ie=b,ne=M,oe=J,se=Q;P.onmessage=function(e){if(!ie.isntString(e.data)){var t=ne.unpackPayload(e);if(t){var i=t.eventData,n=t.reply;oe.dispatch("*",t.event,i,n,e),oe.dispatch(e.origin,t.event,i,n,e),se.broadcastToChildWindows(e.data,t.origin,e.source)}}},Object.defineProperty(C,"__esModule",{value:!0}),C.detach=C.attach=void 0;var re=P,ae=!1;C.attach=function(){ae||"undefined"==typeof window||(ae=!0,window.addEventListener("message",re.onmessage,!1))},C.detach=function(){ae=!1,window.removeEventListener("message",re.onmessage,!1)};var le=C,de=new(X().Framebus);le.attach();var ce=o(de);const Ee={INITIALIZE_CLIENT:"%s1 - Initializing skyflow client.",CLIENT_INITIALIZED:"%s1 - Initialized skyflow client successfully.",CREATE_COLLECT_CONTAINER:"%s1 - Creating Collect container.",COLLECT_CONTAINER_CREATED:"%s1 - Created Collect container successfully.",VALIDATE_RECORDS:"%s1 - Validating insert records.",VALIDATE_DETOKENIZE_INPUT:"%s1 - Validating detokenize input.",VALIDATE_GET_INPUT:"%s1 - Validating get input.",VALIDATE_DELETE_INPUT:"%s1 - Validating delete input.",VALIDATE_COLLECT_RECORDS:"%s1 - Validating collect element input.",CREATED_ELEMENT:"%s1 - Created %s2 element.",ELEMENT_MOUNTED:"%s1 - %s2 Element mounted.",COLLECT_SUBMIT_SUCCESS:"%s1 - Data has been collected successfully.",INSERT_DATA_SUCCESS:"%s1 - Data has been inserted successfully.",DELETE_SUCCESS:"%s1 - Data has been deleted successfully.",BEARER_TOKEN_LISTENER:"%s1 - Get bearer token listener added.",CAPTURED_BEARER_TOKEN_EVENT:"%s1 - Captured bearer token event.",BEARER_TOKEN_RESOLVED:"%s1 - GetBearerToken promise resolved successfully.",REUSE_BEARER_TOKEN:"%s1 - Reusing the bearer token.",PUREJS_CONTROLLER_INITIALIZED:"%s1 - SkyflowController initialized.",PUREJS_LISTENER_READY:"%s1 - Purejs listener ready.",EMIT_PURE_JS_CONTROLLER:"%s1 - Emitted Skyflow controller event.",INSERT_TRIGGERED:"%s1 - Insert method triggered.",DETOKENIZE_TRIGGERED:"%s1 - Detokenize method triggered.",GET_TRIGGERED:"%s1 - Get method triggered.",GET_BY_ID_TRIGGERED:"%s1 - Get method triggered.",DELETE_TRIGGERED:"%s1 - Delete method triggered.",EMIT_PURE_JS_REQUEST:"%s1 - Emitted %s2 request.",CAPTURE_PURE_JS_REQUEST:"%s1 - Captured %s2 event.",LISTEN_PURE_JS_REQUEST:"%s1 - Listening to %s2 event.",CAPTURE_PUREJS_FRAME:"%s1 - Captured SkyflowController frame ready event.",FETCH_RECORDS_RESOLVED:"%s1 - Detokenize request is resolved.",INSERT_RECORDS_RESOLVED:"%s1 - Insert request is resolved.",GET_RESOLVED:"%s1 - Get request is resolved.",GET_BY_SKYFLOWID_RESOLVED:"%s1 - GetById request is resolved.",DELETE_RESOLVED:"%s1 - Delete request is resolved",EMIT_EVENT:"%s1 - %s2 event emitted",CAPTURE_EVENT:"%s1 - Captured event %s2",LISTEN_COLLECT_FRAME_READY:"%s1 - Listening to collect FRAME_READY event",EMIT_COLLECT_ELEMENT_FRAME_READY:"%s1 - Emitting collect element %s2 FRAME_READY event",ENTERED_COLLECT_FRAME_READY_CB:"%s1 - In IFrameForm constructor, Entered FRAME_READY callback",EXECUTE_COLLECT_ELEMENT_FRAME_READY_CB:"%s1 - In IFrameForm, executing collect element, %s2 FRAME_READY callback",CLIENT_METADATA_NOT_SET:"%s1 - Client metadata not set",EXECUTE_COLLECT_ELEMENT_INIT:"%s1 - calling Collect element init",INSIDE__COLLECT_ELEMENT_INIT:"%s1 - Inside Collect element init for %s2",CREATING_COLLECT_ELEMENT_FORM:"%s1 - Start, creating iframe form for %s2",COLLECT_FRAME_READY_CB:"%s1 - In FrameElements, executing collect element FRAME_READY cb for %s2, sending metadata",INSIDE_FRAME_ELEMENTS_CONSTRUCOTR:"%s1 - Inside FrameElements constructor",SETUP_IN_START:"%s1 - Inside FrameElements start(), calling setup",SETUP_IN_CONSTRUCTOR:"%s1 - Inside FrameElements constructor, calling setup",COLLECT_ELEMET_START:"%s1 - %s2, Collect Element start",COLLECT_CONTROLLER_START:"%s1 - %s2, Collect Controller start",EMIT_COLLECT_FRAME_CONTROLLER_EVENT:"%s1 - Emit collect FrameController FRAME_READY event",EXECUTE_COLLECT_CONTROLLER_READY_CB:"%s1 - Executing collect FrameController FRAME_READY callback, set client metadata",IFRAMEFORM_CONSTRUCTOR_FRAME_READY_LISTNER:"%s1 - In IFrameForm constructor, Adding listner for FRAME_READY event",IFRAMEFORM_CONSTRUCTOR_TOKENIZATION_LISTNER:"%s1 - In IFrameForm constructor, Adding listner for TOKENIZATION_REQUEST event",CURRENT_ENV:"%s1 - Client Env is %s2",CURRENT_LOG_LEVEL:"%s1 - Client LogLevel is %s2",VALIDATE_GET_BY_ID_INPUT:"%s1 - Validating getByID input."},_e={CLIENT_CONNECTION:"Interface: collect container - client connection not established. client info has not reached iframes",INVALID_BEARER_TOKEN:"Interface: init - Invalid token is generated from getBearerToken callback",BEARER_TOKEN_REJECTED:"Interface: init - GetBearerToken promise got rejected.",VAULTID_IS_REQUIRED:"Interface: init - Invalid client credentials. vaultID is required.",EMPTY_VAULTID_IN_INIT:"Interface: init - Invalid client credentials. vaultID cannot be empty.",VAULTURL_IS_REQUIRED:"Interface: init - Invalid client credentials. vaultURL is required.",EMPTY_VAULTURL_IN_INIT:"Interface: init - Invalid client credentials. vaultURL cannot be empty.",INVALID_VAULTURL_IN_INIT:"Interface: init - Invalid client credentials. Expecting https://XYZ for vaultURL",GET_BEARER_TOKEN_IS_REQUIRED:"Interface: init - Invalid client credentials. getBearerToken is required.",EMPTY_CONTAINER_TYPE:"Interface: client {containerType} container - Invalid container type. Container object cannot be empty.",INVALID_CONTAINER_TYPE:"Interface: client {containerType} container - Invalid container type. Invalid container object.",INVALID_COLLECT_VALUE:"Invalid value",INVALID_COLLECT_VALUE_WITH_LABEL:"Invalid %s1",REQUIRED_COLLECT_VALUE:"%s1 is required",DEFAULT_REQUIRED_COLLECT_VALUE:"Field is required",RECORDS_KEY_NOT_FOUND:"Interface: client insert - records object is required.",INVALID_RECORDS_IN_INSERT:"Interface: client insert - Invalid records. records object should be an array.",EMPTY_RECORDS_IN_INSERT:"Interface: client insert - records array cannot be empty.",MISSING_TABLE_IN_INSERT:'Interface: client insert - "table" key is required in records array at index %s1',EMPTY_TABLE_IN_INSERT:"Interface: client insert - table cannot be empty in records array at index %s1",INVALID_TABLE_IN_INSERT:"Interface: client insert - table of type string is required at index %s1 in records array.",EMPTY_FIELDS_IN_INSERT:"Interface: client insert - fields cannot be empty in records array at index %s1",MISSING_FIELDS_IN_INSERT:'Interface: client insert - "fields" key is required in records array at index %s1',INVALID_FIELDS_IN_INSERT:"Interface: client insert - fields of type object is required at index %s1 in records array.",INVALID_TOKENS_IN_INSERT:"Interface: client insert - Invalid tokens in options. tokens of type boolean is required.",RECORDS_KEY_NOT_FOUND_DELETE:"Interface: client delete - records object is required.",INVALID_RECORDS_IN_DELETE:"Interface: client delete - Invalid records. records object should be an array.",EMPTY_RECORDS_IN_DELETE:"Interface: client delete - records array cannot be empty.",MISSING_TABLE_IN_DELETE:'Interface: client delete - "table" key is required in records array at index %s1',EMPTY_TABLE_IN_DELETE:"Interface: client delete - table cannot be empty in records array at index %s1",INVALID_TABLE_IN_DELETE:"Interface: client delete - table of type string is required at index %s1 in records array.",MISSING_ID_IN_DELETE:'Interface: client delete - "id" key is required in records array at index %s1',EMPTY_ID_IN_DELETE:"Interface: client delete - id cannot be empty in records array at index %s1",INVALID_ID_IN_DELETE:"Interface: client delete - id of type string is required at index %s1 in records array.",DELETE_RECORDS_REJECTED:"Interface: client delete - delete request is rejected.",INVALID_TOKENS_IN_COLLECT:"Interface: collect container - Invalid tokens. tokens of type boolean is required.",RECORDS_KEY_NOT_FOUND_IN_ADDITIONAL_FIELDS:'Interface: collect container - "records" key not found in additionalFields',INVALID_RECORDS_IN_ADDITIONAL_FIELDS:"Interface: collect container - records should be an array inside additionalFields",EMPTY_RECORDS_IN_ADDITIONAL_FIELDS:"Interface: collect container - records object cannot be empty in additionalFields",MISSING_TABLE_IN_ADDITIONAL_FIELDS:'Interface: collect container - "table" key not found in additionalFields records at index %s1',INVALID_TABLE_IN_ADDITIONAL_FIELDS:"Interface: collect container - Provide valid table name in additionalFields records at index %s1",INVALID_SKYFLOW_ID_IN_ADDITIONAL_FIELDS:"Interface: collect container - Provide valid skyflow id in additionalFields records at index %s1",MISSING_FIELDS_IN_ADDITIONAL_FIELDS:'Interface: collect container - "fields" key not found in additionalFields records at index %s1',INVALID_FIELDS_IN_ADDITIONAL_FIELDS:"Interface: collect container - Provide valid fields in additionalFields records at index %s1",RECORDS_KEY_NOT_FOUND_DETOKENIZE:"Interface: client detokenize - records object is required.",EMPTY_RECORDS_DETOKENIZE:"Interface: client detokenize - records array cannot be empty.",INVALID_RECORDS_IN_DETOKENIZE:"Interface: client detokenize - Invalid records. records object should be an array.",MISSING_TOKEN_IN_DETOKENIZE:'Interface: client detokenize - "token" key is required in records array at index %s1 ',INVALID_TOKEN_IN_DETOKENIZE:"Interface: client detokenize - Invalid token. token of type string is required at index %s1 in records array.",RECORDS_KEY_NOT_FOUND_GET:"Interface: client get - records object is required.",INVALID_RECORDS_IN_GET:"Interface: client get - Invalid records. records object should be an array.",EMPTY_RECORDS_GET:"Interface: client get - records array cannot be empty.",MISSING_IDS_IN_GET:'Interface: client get - "ids" key is required in records array at index %s1',INVALID_IDS_IN_GET:"Interface: client get - Invalid ids. ids object should be an array.",INVALID_COLUMN_VALUES_IN_GET:"Interface: client get - Invalid column values. column values object should be an array.",EMPTY_IDS_IN_GET:"Interface: client get - ids array cannot be empty at index %s1",INVALID_SKYFLOWID_TYPE_IN_GET:"Interface: client get - Invalid skyflowId in ids array at index %s1",MISSING_TABLE_IN_GET:'Interface: client get - "table" key is required in records array at index %s1',INVALID_TABLE_IN_GET:"Interface: client get - table of type string is required at index %s1 in records array.",MISSING_REDACTION_IN_GET:'Interface: client get - "redaction" key is required in records array at index %s1',INVALID_REDACTION_TYPE_IN_GET:"Interface: client get - Invalid redaction type in records array at index %s1",INVALID_TOKENS_IN_GET:"Interface: client get - Invalid tokens in options. tokens of type boolean is required.",TOKENS_GET_COLUMN_NOT_SUPPORTED:"Interface: client get - column_name or column_values cannot be used with tokens in options.",REDACTION_WITH_TOKENS_NOT_SUPPORTED:"Interface: client get - redaction cannot be used when tokens are true in options.",INVALID_REDACTION_TYPE_IN_DETOKENIZE:"Interface: client get - Invalid redaction type in records array at index %s1",EMPTY_TABLE_IN_ADDITIONAL_FIELDS:"Interface: collect container - table cannot be empty in additionalFields at index %s1",EMPTY_FIELDS_IN_ADDITIONAL_FIELDS:"Interface: collect container - fields cannot be empty in additionalFields at index %s1",EMPTY_TOKEN_IN_DETOKENIZE:"Interface: client detokenize - token cannot be empty in records array at index %s1",EMPTY_SKYFLOWID_IN_GET:"Interface: client get - id cannot be empty in records array at index %s1",EMPTY_TABLE_IN_GET:"Interface: client get - table cannot be empty in records array at index %s1",EMPTY_REDACTION_TYPE_IN_GET:"Interface: client get - redaction cannot be empty in records array at index %s1",FETCH_RECORDS_REJECTED:"Interface: client detokenize - detokenize request is rejected.",INSERT_RECORDS_REJECTED:"Interface: client insert - insert request is rejected.",GET_REJECTED:"Interface: client get - get request is rejected.",MISSING_TABLE_IN_COLLECT:'Interface: collect element - "table" key is required.',EMPTY_TABLE_IN_COLLECT:"Interface: collect element - table cannot be empty.",EMPTY_SKYFLOW_ID_IN_ADDITIONAL_FIELDS:"Interface: collect element - id cannot be empty.",INVALID_TABLE_IN_COLLECT:"Interface: collect element - Invalid table. table of type string is required",INVALID_SKYFLOWID_IN_COLLECT:"Interface: collect element - Invalid id. id of type string is required",MISSING_COLUMN_IN_COLLECT:'Interface: collect element - "column" key is required.',EMPTY_COLUMN_IN_COLLECT:"Interface: collect element - column cannot be empty.",INVALID_COLUMN_IN_COLLECT:"Interface: collect element - Invalid column. column of type string is required",UNIQUE_ELEMENT_NAME:"The element name has to unique: %s1",ELEMENTS_NOT_MOUNTED:"Interface: collect container - Elements should be mounted before invoking collect",DUPLICATE_ELEMENT:"Interface: collect container - Duplicate column %s1 found in %s2.",DUPLICATE_ELEMENT_ADDITIONAL_FIELDS:"Interface: collect container - Duplicate column %s1 found in %s2 in additional fields",MISSING_ELEMENT_TYPE:'Interface:container element with type {TYPE} - Invalid element type. "type" key is required.',EMPTY_ELEMENT_TYPE:"Interface:container element with type {TYPE} - Invalid element type. type cannot be empty.",INVALID_ELEMENT_TYPE:"Interface:container element with type {TYPE} - invalid element type. type not found",INVALID_ELEMENT_SELECTOR:"Interface: container element with type {TYPE} - Div cannot be found.",CANNOT_CHANGE_ELEMENT:"Element can't be changed.",INVALID_IFRAME:"Error occured while creating an iframe",INVALID_FIELD:"Invalid Field.",FRAME_NOT_FOUND:"Interface: collect element - %s1 frame not found:",COMPLETE_AND_VALID_INPUTS:"Interface: collect container - Provide complete and valid inputs for %s1",REQUIRED_PARAMS_NOT_PROVIDED:"Interface: collect element - Required params are not provided.",INVALID_EVENT_TYPE:"Interface: collect element - Provide a valid event type.",INVALID_EVENT_LISTENER:'Interface: "on" on CollectElement - Provide valid event listener.',MISSING_HANDLER_IN_EVENT_LISTENER:'Interface: "on" on CollectElement - Second argument is missing. handler cannot be empty.',INVALID_HANDLER_IN_EVENT_LISTENER:'Interface: "on" on CollectElement - Invalid handler. handler should be of type function.',UNKNOWN_ERROR:"Unknown Error.",NETWORK_ERROR:"A network error occurred. This could be a CORS issue or a dropped internet connection. It is not possible for us to know. Please reach out to skyflow if you see this error",CONNECTION_ERROR:"Error while initializing the connection.",ERROR_OCCURED:"Error occurred.",INVALID_VALIDATIONS_TYPE:"Interface: collect element - Invalid validations type.",MISSING_VALIDATION_RULE_TYPE:"Interface: collect element - Type is missing in validationRule at index %s1 in validations array",INVALID_VALIDATION_RULE_TYPE:"Interface: collect element - Invalid ValidationRuleType at index %s1 in validations array",MISSING_VALIDATION_RULE_PARAMS:"Interface: collect element - params are missing in validationRule at index %s1 in validations array",INVALID_VALIDATION_RULE_PARAMS:"Interface: collect element - Invalid ValidationRule params at index %s1 in validations array",MISSING_REGEX_IN_REGEX_MATCH_RULE:"Interface: collect element - Missing regex in ValidationRule params at index %s1 in validations array",INVALID_REGEX_IN_REGEX_MATCH_RULE:"Interface: collect element - Invalid regex in ValidationRule params at index %s1 in validations array",MISSING_MIN_AND_MAX_IN_LENGTH_MATCH_RULE:"Interface: collect element - Either min or max is required in ValidationRule params at index %s1 in validations array",MISSING_ELEMENT_IN_ELEMENT_MATCH_RULE:"Interface: collect element - Missing element in ValidationRule params at index %s1 in validations array",INVALID_ELEMENT_IN_ELEMENT_MATCH_RULE:"Interface: collect element - Invalid collect element in ValidationRule params at index %s1 in validations array",ELEMENT_NOT_MOUNTED_IN_ELEMENT_MATCH_RULE:"Interface: collect element - collect element is not mounted in ValidationRule params at index %s1 in validations array",EMPTY_ELEMENT_IN_MOUNT:"Interface: mount element with type %s1 - Mount cannot be empty.",VALIDATION_FAILED:"Validation failed",INVALID_UPSERT_OPTION_TYPE:"Invalid upsert option, should be an array",EMPTY_UPSERT_OPTIONS_ARRAY:"upsert option cannot be an empty array, atleast one object of table and column is required.",INVALID_UPSERT_OPTION_OBJECT_TYPE:"Invalid upsert object at index %s1, an object of table and column is required.",MISSING_TABLE_IN_UPSERT_OPTION:'"table" key is required in upsert options object at index %s1',MISSING_COLUMN_IN_UPSERT_OPTION:'"column" key is required in upsert option at index %s1',INVALID_TABLE_IN_UPSERT_OPTION:"Invalid table in upsert object at index %s1, table of type non empty string is required",INVALID_COLUMN_IN_UPSERT_OPTION:"Invalid column in upsert object at index %s1, column of type non empty string is required",INVALID_RECORD_COLUMN_VALUE:"Invalid Record Column value.",MISSING_RECORD_COLUMN_VALUE:"Column Values is required when Column Name is specified.",MISSING_RECORD_COLUMN_NAME:"Column Name is required when Column Values are specified.",INVALID_RECORD_COLUMN_VALUE_TYPE:"Invalid Type of Records Column Values.",INVALID_COLUMN_VALUES_TYPE:"Invalid column values type, should be an Array.",EMPTY_RECORD_COLUMN_VALUES:"Record column values cannot be empty.",EMPTY_COLUMN_VALUE:"Column Value is empty.",MISSING_IDS_OR_COLUMN_VALUES_IN_GET:'Interface: client get - "ids" key or "columnValues" key is missing.',SKYFLOW_IDS_AND_COLUMN_NAME_BOTH_SPECIFIED:"ids and columnName can not be specified together.",GET_BY_SKYFLOWID_RESOLVED:"%s1 - GetById request is resolved.",RECORDS_KEY_NOT_FOUND_GETBYID:"Interface: client getById - records object is required.",INVALID_RECORDS_IN_GETBYID:"Interface: client getById - Invalid records. records object should be an array.",EMPTY_RECORDS_GETBYID:"Interface: client getById - records array cannot be empty.",MISSING_IDS_IN_GETBYID:'Interface: client getById - "ids" key is required in records array at index %s1',INVALID_IDS_IN_GETBYID:"Interface: client getById - Invalid ids. ids object should be an array.",EMPTY_IDS_IN_GETBYID:"Interface: client getById - ids array cannot be empty at index %s1",INVALID_SKYFLOWID_TYPE_IN_GETBYID:"Interface: client getById - Invalid skyflowId in ids array at index %s1",MISSING_TABLE_IN_GETBYID:'Interface: client getById - "table" key is required in records array at index %s1',INVALID_TABLE_IN_GETBYID:"Interface: client getById - table of type string is required at index %s1 in records array.",MISSING_REDACTION_IN_GETBYID:'Interface: client getById - "redaction" key is required in records array at index %s1',INVALID_REDACTION_TYPE_IN_GETBYID:"Interface: client getById - Invalid redaction type in records array at index %s1",EMPTY_SKYFLOWID_IN_GETBYID:"Interface: client getById - id cannot be empty in records array at index %s1",EMPTY_TABLE_IN_GETBYID:"Interface: client getById - table cannot be empty in records array at index %s1",EMPTY_REDACTION_TYPE_IN_GETBYID:"Interface: client getById - redaction cannot be empty in records array at index %s1",GET_BY_SKYFLOWID_REJECTED:"Interface: client getById - getById request is rejected.",MISSING_COMPOSABLE_LAYOUT_KEY:"Interface: client container - layout is required in composable container options.",EMPTY_COMPOSABLE_LAYOUT_ARRAY:"Interface: client container - layout array cannot be empty in composable container options.",INVALID_COMPOSABLE_LAYOUT_TYPE:"Interface: client container - invalid layout value, layout should be of type array of numbers in composable container options.",NEGATIVE_VALUES_COMPOSABLE_LAYOUT:"Interface: client container - layout array should only have postive numbers in composable container options.",MISMATCH_ELEMENT_COUNT_LAYOUT_SUM:"Interface: composable container mount - created elements count should be equal to sum of layout values.",MISSING_COMPOSABLE_CONTAINER_OPTIONS:"Interface: client composable container - options object is required for composable container.",INVALID_COMPOSABLE_CONTAINER_OPTIONS:"Interface: client composable container - invalid options value, should be an object type.",COMPOSABLE_CONTAINER_NOT_MOUNTED:"Interface: composable collect - container should be mounted before invoking collect.",INVALID_BOOLEAN_OPTIONS:"Interface: container create - Invaild %s1 in options, %s1 of type boolean is required.",INVALID_INPUT_OPTIONS_FORMAT:"Interface: container create - Invalid type, format must be of non-empty string type.",INVALID_INPUT_OPTIONS_TRANSLATION:"Interface: container create - Invalid type, translation must be of non-empty object type.",EMPTY_COLLECT_CUSTOM_FORMAT:"Interface: container create - %s1 cannot be empty object."},ue={INVALID_EXPIRATION_DATE_FORMAT:"EXPIRATION_DATE format must be in one of %s1, the format is set to default MM/YY",INVALID_EXPIRATION_YEAR_FORMAT:"EXPIRATION_YEAR format must be in one of %s1, the format is set to default YY",UNABLE_TO_SET_VALUE_IN_PROD_ENV:"%s1 setValue() cannot invoked while in PROD env. It is Not Recommeded",UNABLE_TO_CLEAR_VALUE_IN_PROD_ENV:"%s1 clearValue() cannot invoked while in PROD env. It is Not Recommeded",COLLECT_ALT_TEXT_DEPERECATED:"altText is DEPERECATED, passing altText will not have any effect",GET_BY_ID_DEPRECATED:"getById is deprecated, use new get method",INPUT_FORMATTING_NOT_SUPPROTED:"format or translation are not supported on %s1 element type.",INVALID_INPUT_TRANSLATION:"invalid or unsupported translation provided for %s1 element type."},Ie="collect_controller",he="element",pe="INSERT",fe="GET_BY_SKYFLOWID",Ne="GET",Te="DELETE",Oe={CHANGE:"CHANGE",READY:"READY",FOCUS:"FOCUS",BLUR:"BLUR",ESCAPE:"ESCAPE",CLICK:"CLICK",ERROR:"ERROR",SUCCESS:"SUCCESS",SUBMIT:"SUBMIT",CREATED:"CREATED",MOUNTED:"MOUNTED",HEIGHT:"HEIGHT"},me="FRAME_READY",ve="TOKENIZATION_REQUEST",Ae="INPUT_EVENT",ye="DESTROY FRAME",Le="SET_VALUE",Re="PUREJS_REQUEST",ge="PUREJS_FRAME_READY",Se="GET_BEARER_TOKEN",De="COLLECT_ELEMENT_SET_ERROR",Ce="COMPOSABLE_UPDATE_OPTIONS",Pe="COMPOSABLE_CONTAINER_MOUNTED",be="COLLECT_CONTAINER_MOUNTED";var Me,we;!function(e){e.CVV="CVV",e.EXPIRATION_DATE="EXPIRATION_DATE",e.CARD_NUMBER="CARD_NUMBER",e.CARDHOLDER_NAME="CARDHOLDER_NAME",e.INPUT_FIELD="INPUT_FIELD",e.PIN="PIN",e.EXPIRATION_MONTH="EXPIRATION_MONTH",e.EXPIRATION_YEAR="EXPIRATION_YEAR"}(Me||(Me={})),function(e){e.VISA="VISA",e.MASTERCARD="MASTERCARD",e.AMEX="AMEX",e.DINERS_CLUB="DINERS_CLUB",e.DISCOVER="DISCOVER",e.JCB="JCB",e.MAESTRO="MAESTRO",e.UNIONPAY="UNIONPAY",e.HIPERCARD="HIPERCARD",e.DEFAULT="DEFAULT",e.UNKNOWN="UNKNOWN"}(we||(we={}));const Ue={[we.AMEX]:["XXXX XXXXXX XXXXX",{X:"[0-9]"}],[we.VISA]:["XXXX XXXX XXXX XXXX",{X:"[0-9]"}],[we.MASTERCARD]:["XXXX XXXX XXXX XXXX",{X:"[0-9]"}],[we.DISCOVER]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}],[we.DINERS_CLUB]:["XXXX XXXXXX XXXXXX",{X:"[0-9]"}],[we.JCB]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}],[we.MAESTRO]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}],[we.UNIONPAY]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}],[we.HIPERCARD]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}],[we.DEFAULT]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}],[we.UNKNOWN]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}]},ke={textarea:{name:"textarea",attributes:{type:"textarea"},sensitive:!1},checkbox:{name:"checkbox",attributes:{type:"checkbox"},sensitive:!1},radio:{name:"radio",attributes:{type:"radio"},sensitive:!1},dropdown:{name:"dropdown",attributes:{type:"select"},sensitive:!1},[Me.CARDHOLDER_NAME]:{name:"cardHolderName",attributes:{type:"text",autocomplete:"cc-name"},sensitive:!0,regex:/^([a-zA-Z\\ \\,\\.\\-\\']{2,})$/},[Me.CARD_NUMBER]:{name:"CARD_NUMBER",attributes:{type:"text",autocomplete:"cc-number",inputmode:"numeric"},sensitive:!0,mask:Ue[we.DEFAULT],regex:/$|^[\s]*?([0-9]{2,6}[ -]?){3,5}[\s]*/},[Me.EXPIRATION_DATE]:{name:"EXPIRATION_DATE",attributes:{type:"text",autocomplete:"cc-exp",inputmode:"numeric"},sensitive:!0},[Me.EXPIRATION_MONTH]:{name:"EXPIRATION_MONTH",attributes:{maxLength:2,type:"text",inputmode:"numeric",autocomplete:"cc-exp-month"},sensitive:!0,mask:["XX",{X:"[0-9]"}]},[Me.EXPIRATION_YEAR]:{name:"EXPIRATION_YEAR",attributes:{type:"text",inputmode:"numeric",autocomplete:"cc-exp-year"},sensitive:!0},[Me.CVV]:{name:"CVV",attributes:{type:"text",inputmode:"numeric",maxLength:4},sensitive:!0,regex:/^$|^[0-9]{3,4}$/},[Me.INPUT_FIELD]:{name:"INPUT_FIELD",sensitive:!0,attributes:{type:"text"}},[Me.PIN]:{name:"PIN",attributes:{type:"text",inputmode:"numeric",maxLength:12,minLength:4},sensitive:!0,regex:/^$|^[0-9]{4,12}$/}},Ye="XXXX-XXXX-XXXX-XXXX",xe={height:"100%",width:"100%",margin:0,padding:0,border:0,position:"absolute",top:0,left:0,"user-select":"none"},Ve={position:"absolute",top:0,width:0,height:0,visibility:"hidden",left:"-99999999px","user-select":"none"},Ge={width:"100%",height:"100%",border:"0",padding:"0",margin:"0",outline:"none"},Fe={WEBPACKAUTOFILL:"-webkit-autofill",BASE:"base",FOCUS:"focus",COMPLETE:"complete",EMPTY:"empty",INVALID:"invalid",GLOBAL:"global",REQUIRED_ASTERISK:"requiredAsterisk"};Fe.BASE,Fe.REQUIRED_ASTERISK;const Be={[we.VISA]:{regex:/^4\d*/,maxCardLength:19,cardLengthRange:[13,16]},[we.MASTERCARD]:{regex:/^(5[1-5]|222[1-9]|22[3-9]|2[3-6]|27[0-1]|2720)\d*/,maxCardLength:16,cardLengthRange:[16]},[we.AMEX]:{regex:/^3[47]\d*/,maxCardLength:15,cardLengthRange:[15]},[we.DINERS_CLUB]:{regex:/^(36|38|30[0-5])\d*/,maxCardLength:16,cardLengthRange:[14,15,16,17,18,19]},[we.DISCOVER]:{regex:/^(6011|65|64[4-9]|622)\d*/,maxCardLength:16,cardLengthRange:[16,17,18,19]},[we.JCB]:{regex:/^35\d*/,maxCardLength:19,cardLengthRange:[16,17,18,19]},[we.HIPERCARD]:{regex:/^606282\d*/,maxCardLength:19,cardLengthRange:[14,15,16,17,18,19]},[we.UNIONPAY]:{regex:/^62\d*/,maxCardLength:19,cardLengthRange:[16,17,18,19]},[we.MAESTRO]:{regex:/^(5018|5020|5038|5043|5[6-9]|6020|6304|6703|6759|676[1-3])\d*/,maxCardLength:19,cardLengthRange:[12,13,14,15,16,17,18,19]}};we.DEFAULT,we.AMEX,we.DINERS_CLUB,we.DISCOVER,we.HIPERCARD,we.JCB,we.MAESTRO,we.MASTERCARD,we.UNIONPAY,we.VISA;const je="MM/YY",Xe=[je,"YYYY/MM","YY/MM","MM/YYYY"],We=["YY","YYYY"];var $e;!function(e){e.APPLICATIONORJSON="application/json",e.TEXTORPLAIN="text/plain",e.TEXTORXML="text/xml",e.FORMURLENCODED="application/x-www-form-urlencoded",e.FORMDATA="multipart/form-data"}($e||($e={})),Me.CARD_NUMBER,Me.EXPIRATION_DATE,Me.EXPIRATION_MONTH,Me.EXPIRATION_YEAR,Me.CVV,Me.EXPIRATION_DATE,Me.CARD_NUMBER,Me.CARDHOLDER_NAME,Me.INPUT_FIELD,_e.INVALID_COLLECT_VALUE,Me.PIN,Me.EXPIRATION_MONTH,Me.EXPIRATION_YEAR,Me.CVV,Me.EXPIRATION_DATE,Me.CARD_NUMBER,Me.CARDHOLDER_NAME,Me.INPUT_FIELD,_e.DEFAULT_REQUIRED_COLLECT_VALUE,Me.PIN,Me.EXPIRATION_MONTH,Me.EXPIRATION_YEAR;const ze=[Me.CARDHOLDER_NAME,Me.EXPIRATION_MONTH,Me.PIN,Me.CVV],Ke={X:"[0-9]"};class He{constructor(){this.events={}}on(e,t,i=!1){this.events[e]?this.events[e].push({priority:i,callback:t}):this.events[e]=[{priority:i,callback:t}]}off(e,t){const i=this.events[e];if(!i)return;const n=i.findIndex((e=>e.callback===t));i.splice(n,1)}_emit(e,...t){const i=this.events[e];i&&i.forEach((e=>{e.callback(...t)}))}hasListener(e){const t=this.events[e];return!!t&&t.length>0}resetEvents(){const e={};Object.keys(this.events).forEach((t=>{const i=this.events[t];if(i&&i.length>0){const n=[];i.forEach((e=>{e.priority&&n.push(e)})),e[t]=n}})),this.events=e}static createChild(e){e.prototype=Object.create(He.prototype,{constructor:e})}}
1
+ !function(){"use strict";function e(e,t,i,n){return new(i||(i=Promise))((function(o,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,a)}l((n=n.apply(e,t||[])).next())}))}function t(e,t,i,n){if("a"===i&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?n:"a"===i?n.call(e):n?n.value:t.get(e)}function i(e,t,i,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,i):o?o.value=i:t.set(e,i),i}exports.ElementType=void 0,function(e){e.CARD_NUMBER="CARD_NUMBER",e.CARDHOLDER_NAME="CARDHOLDER_NAME",e.CVV="CVV",e.EXPIRATION_MONTH="EXPIRATION_MONTH",e.EXPIRATION_YEAR="EXPIRATION_YEAR"}(exports.ElementType||(exports.ElementType={})),"function"==typeof SuppressedError&&SuppressedError;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function o(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var s={};!function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});var t=(e=>(e.PAYRAILS_CLIENT_CONFIG_MALFORMED="payrails:client:init.config_malformed",e.PAYRAILS_CLIENT_COLLECT_CONTAINER_MOUNT="payrails:client:collectContainer.unmountable",e.PAYRAILS_CLIENT_UI_ELEMENT_MISSING="payrails:client:mount.ui_element_missing",e.PAYRAILS_CLIENT_PARENT_ELEMENT_MISSING="payrails:client:mount.parent_element_missing",e.PAYRAILS_CLIENT_SUBELEMENTS_RENDER_ERROR="payrails:client:mount.subelements_render_error",e.PAYRAILS_CLIENT_CARD_FORM_MISSING="payrails:client:pay.card_form_missing",e.PAYRAILS_CLIENT_GPAY_LOADING_ERROR="payrails:client:mount.gpay_loading_error",e.PAYRAILS_CLIENT_GPAY_CONFIG_MISSING="payrails:client:init.gpay_config_missing",e.PAYRAILS_CLIENT_APPLEPAY_LOADING_ERROR="payrails:client:mount.applepay_loading_error",e.PAYRAILS_CLIENT_APPLEPAY_CONFIG_MISSING="payrails:client:init.applepay_config_missing",e.PAYRAILS_CLIENT_PAYPAL_LOADING_ERROR="payrails:client:init.paypal_loading_error",e.PAYRAILS_CLIENT_PAYPAL_CONFIG_MISSING="payrails:client:init.paypal_config_missing",e.PAYRAILS_CLIENT_PAYPAL_ORDER_CREATION="payrails:client:init.paypal_order_creation",e.PAYRAILS_CLIENT_PAYPAL_BUTTON_MOUNT="payrails:client:mount.paypal_button_error",e.PAYRAILS_CLIENT_PAYMENT_EXECUTOR_PAY_ERROR="payrails:client:payment_executor.pay_error",e.PAYRAILS_CLIENT_PAYMENT_EXECUTOR_3DS_ERROR="payrails:client:payment_executor.3ds_error",e.PAYRAILS_CLIENT_PAYMENT_EXECUTOR_CONFIRM_ERROR="payrails:client:payment_executor.confirm_error",e.PAYRAILS_API_UNAUTHORIZED="payrails:api:unauthorized",e.PAYRAILS_API_TOO_MANY_REQUESTS="payrails:api:too_many_requests",e.PAYRAILS_API_UNSUCCESSFUL="payrails:api:unsuccessful",e.PAYRAILS_API_AUTHORIZATION_NOT_REQUESTED="payrails:api:authorization_not_requested",e.PAYRAILS_API_AUTHENTICATION_ERROR="payrails:api:request_authentication_error",e.PAYRAILS_API_AUTHORIZATION_ERROR="payrails:api:request_authorization_error",e.PAYRAILS_CLIENT_API_URL_NOT_FOUND="payrails:client:api_url_not_found",e.PAYRAILS_CLIENT_WORKFLOW_EXECUTION_NOT_FOUND="payrails:client:workflow_execution_not_found",e.PAYRAILS_CARD_FORM_CREATION_FAILED="payrails:card_form:iframe_creation_failed",e.PAYRAILS_CARD_FORM_IFRAME_URL_MISSING="payrails:card_form:iframe_url_missing",e.PAYRAILS_CLIENT_UNKNOWN_ERROR="payrails:client:unknown",e.PAYRAILS_API_UNKNOWN_ERROR="payrails:api:unknown",e.PAYRAILS_CLIENT_ONPAY_CALLBACK_FAILED="payrails:client:card.onpay_callback_failed",e.PAYRAILS_CARD_FORM_ELEMENT_NOT_MOUNTED_IN_ELEMENT_MATCH_RULE="payrails.card_form.element_not_mounted_in_element_match_rule",e.PAYRAILS_CARD_FORM_REQUIRED_PARAMS_NOT_PROVIDED="payrails.card_form.required_params_not_provided",e.PAYRAILS_CARD_FORM_CLIENT_CONNECTION="payrails.card_form.client_connection",e.PAYRAILS_CARD_FORM_IFRAME_NOT_FOUND="payrails.card_form.iframe_not_found",e.PAYRAILS_CARD_FORM_IFRAME_LOADING_ERROR="payrails.card_form.iframe_loading_error",e.PAYRAILS_CARD_FORM_CSP_ERROR="payrails.card_form.iframe_csp_error",e.PAYRAILS_CARD_FORM_COMPLETE_AND_VALID_INPUTS="payrails.card_form.complete_and_valid_inputs",e.PAYRAILS_CARD_FORM_COLLECT_ELEMENT_NOT_MOUNTED="payrails.card_form.collect_element_not_mounted",e))(t||{});const i={"payrails:client:init.config_malformed":{description:"The provided configuration string is invalid. Please ensure it matches the required format and structure as defined in the documentation",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:unknown":{description:"Unknown Client",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:unauthorized":{description:"Unauthorized access to the Payrails API",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:too_many_requests":{description:"Too many requests to the Payrails API",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:unsuccessful":{description:"Unsuccessful request to the Payrails API",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:collectContainer.unmountable":{description:"Collect container cannot be mounted",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:mount.ui_element_missing":{description:"Colect container element does not exist",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:pay.card_form_missing":{description:"Trying to collect values from non-existent card form",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:mount.gpay_loading_error":{description:"Google pay can not be initialized",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:init.paypal_loading_error":{description:"Paypal can not be initialized",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:init.paypal_order_creation":{description:"Paypal order creation failed",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:mount.paypal_button_error":{description:"PaypalButtonError occurred",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:mount.parent_element_missing":{description:"Parent element not found",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:mount.subelements_render_error":{description:"Subelements could not be rendered. Please set id for the element first.",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:api_url_not_found":{description:"API URL not found",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:workflow_execution_not_found":{description:"Workflow execution not found",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:init.paypal_config_missing":{description:"Paypal config not found",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:authorization_not_requested":{description:"Authorization was not requested",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:init.gpay_config_missing":{description:"Google pay config not found",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:mount.applepay_loading_error":{description:"Apple pay can not be initialized",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:init.applepay_config_missing":{description:"Apple pay config not found",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:card_form:iframe_creation_failed":{description:"Error occured while creating an iframe",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:card_form:iframe_url_missing":{description:"Iframe URL is missing",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:card.onpay_callback_failed":{description:"Callback passed to onPaymentButtonClicked threw an error",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:request_authentication_error":{description:"Authentication error",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:unknown":{description:"Unknown API error",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:payment_executor.pay_error":{description:"Error occured while executing a payment",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:payment_executor.confirm_error":{description:"Error occured while confirming a payment",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:api:request_authorization_error":{description:"Authorization error",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails:client:payment_executor.3ds_error":{description:"Authorization failed after 3DS challenge.",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.element_not_mounted_in_element_match_rule":{description:"Interface: collect element - collect element is not mounted in ValidationRule params at index %s1 in validations array",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.required_params_not_provided":{description:"Interface: collect element - Required params are not provided.",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.client_connection":{description:"Interface: collect container - client connection not established. client info has not reached iframes",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.iframe_not_found":{description:"Interface: collect element - frame not found:",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.complete_and_valid_inputs":{description:"Interface: collect container - Provide complete and valid inputs",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.collect_element_not_mounted":{description:"Interface: composable collect - collect element is not mounted",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.iframe_loading_error":{description:"Interface: collect element - Error occured while loading iframe",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"},"payrails.card_form.iframe_csp_error":{description:"Interface: collect element - Content Security Policy error",docUrl:"https://docs.payrails.com/docs/sdk#initializing-the-sdk"}};var n=(e=>(e.ERROR="payrails:error",e.INFO="payrails:info",e.DEBUG="payrails:debug",e.WARN="payrails:warn",e))(n||{});class o extends Error{constructor(e,t){var n;const{description:s,docUrl:r,cause:a}=null!=t?t:{},{description:l,docUrl:d}=i[e]||{},c=null!=(n=null!=s?s:l)?n:"An unknown error occurred",E=null!=r?r:d;super(c),this.name=e,this.docUrl=E,this.cause=a,this.message=c,Error.captureStackTrace&&Error.captureStackTrace(this,o)}toJSON(){return{name:this.name,message:this.message,docUrl:this.docUrl,stack:this.stack,cause:this.cause}}}e.ERROR_CODES=t,e.PAYRAILS_OBSERVABILITY_EVENTS=n,e.PayrailsError=o}(s);var r={};let a;!function(e){var t=Object.defineProperty,i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,r=(e,i,n)=>i in e?t(e,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[i]=n,a=(e,t)=>{for(var n in t||(t={}))o.call(t,n)&&r(e,n,t[n]);if(i)for(var n of i(t))s.call(t,n)&&r(e,n,t[n]);return e};Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});class l{log(e,t){console.log(JSON.stringify({level:e,mssg:t.mssg,error:t.error,withMetada:t.withMetada,extra:t.extra}))}}var d=(e=>(e.ERROR="payrails:error",e.INFO="payrails:info",e.DEBUG="payrails:debug",e.WARN="payrails:warn",e))(d||{}),c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n?n:"undefined"!=typeof self?self:{};function E(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var _={},u={},I={};Object.defineProperty(I,"__esModule",{value:!0}),I.isntString=void 0,I.isntString=function(e){return"string"!=typeof e};var h={},p={};Object.defineProperty(p,"__esModule",{value:!0}),p.subscribers=p.childWindows=p.prefix=void 0,p.prefix="/*framebus*/",p.childWindows=[],p.subscribers={};var f={},N={},T={},O={};Object.defineProperty(O,"__esModule",{value:!0}),O.subscriptionArgsInvalid=void 0;var m=I;O.subscriptionArgsInvalid=function(e,t,i){return!!m.isntString(e)||("function"!=typeof t||m.isntString(i))};var v={},A={};Object.defineProperty(A,"__esModule",{value:!0}),A.hasOpener=void 0,A.hasOpener=function(e){return e.top===e&&(null!=e.opener&&(e.opener!==e&&!0!==e.opener.closed))},Object.defineProperty(v,"__esModule",{value:!0}),v.broadcast=void 0;var y,L=A;function R(){if(y)return T;y=1,Object.defineProperty(T,"__esModule",{value:!0}),T.Framebus=void 0;var e=I,t=O,i=v,n=C(),o=p,s=function(){function s(e){void 0===e&&(e="*"),this.origin=e}return s.target=function(e){return void 0===e&&(e="*"),new s(e)},s.prototype.include=function(e){return null!=e&&(null!=e.Window&&(e.constructor===e.Window&&(o.childWindows.push(e),!0)))},s.prototype.target=function(e){return s.target(e)},s.prototype.emit=function(t,o,s){var r=this.origin;if(e.isntString(t))return!1;if(e.isntString(r))return!1;"function"==typeof o&&(s=o,o=void 0);var a=n.packagePayload(t,r,o,s);return!!a&&(i.broadcast(window.top||window.self,a,r),!0)},s.prototype.on=function(e,i){var n=this.origin;return!t.subscriptionArgsInvalid(e,i,n)&&(o.subscribers[n]=o.subscribers[n]||{},o.subscribers[n][e]=o.subscribers[n][e]||[],o.subscribers[n][e].push(i),!0)},s.prototype.off=function(e,i){var n=this.origin;if(t.subscriptionArgsInvalid(e,i,n))return!1;var s=o.subscribers[n]&&o.subscribers[n][e];if(!s)return!1;for(var r=0;r<s.length;r++)if(s[r]===i)return s.splice(r,1),!0;return!1},s}();return T.Framebus=s,T}v.broadcast=function e(t,i,n){var o,s=0;try{for(t.postMessage(i,n),L.hasOpener(t)&&e(t.opener.top,i,n);o=t.frames[s];)e(o,i,n),s++}catch(e){}};var g,S,D=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))};function C(){if(S)return f;S=1,Object.defineProperty(f,"__esModule",{value:!0}),f.packagePayload=void 0;var e=function(){if(g)return N;g=1;var e=c&&c.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(N,"__esModule",{value:!0}),N.subscribeReplier=void 0;var t=R(),i=e(D);return N.subscribeReplier=function(e,n){var o=i.default();return t.Framebus.target(n).on(o,(function i(s,r){e(s,r),t.Framebus.target(n).off(o,i)})),o},N}(),t=p;return f.packagePayload=function(i,n,o,s){var r,a={event:i,origin:n};"function"==typeof s&&(a.reply=e.subscribeReplier(s,n)),a.eventData=o;try{r=t.prefix+JSON.stringify(a)}catch(e){throw new Error("Could not stringify event: "+e.message)}return r},f}Object.defineProperty(h,"__esModule",{value:!0}),h.unpackPayload=void 0;var P=p,b=C();h.unpackPayload=function(e){var t;if(e.data.slice(0,P.prefix.length)!==P.prefix)return!1;try{t=JSON.parse(e.data.slice(P.prefix.length))}catch(e){return!1}if(t.reply){var i=e.origin,n=e.source,o=t.reply;t.reply=function(e){if(n){var t=b.packagePayload(o,i,e);t&&n.postMessage(t,i)}}}return t};var M={};Object.defineProperty(M,"__esModule",{value:!0}),M.dispatch=void 0;var w=p;M.dispatch=function(e,t,i,n,o){if(w.subscribers[e]&&w.subscribers[e][t]){var s=[];i&&s.push(i),n&&s.push(n);for(var r=0;r<w.subscribers[e][t].length;r++)w.subscribers[e][t][r].apply(o,s)}};var U={};Object.defineProperty(U,"__esModule",{value:!0}),U.broadcastToChildWindows=void 0;var k=v,Y=p;U.broadcastToChildWindows=function(e,t,i){for(var n=Y.childWindows.length-1;n>=0;n--){var o=Y.childWindows[n];o.closed?Y.childWindows.splice(n,1):i!==o&&k.broadcast(o.top,e,t)}},Object.defineProperty(u,"__esModule",{value:!0}),u.onmessage=void 0;var x=I,V=h,G=M,F=U;u.onmessage=function(e){if(!x.isntString(e.data)){var t=V.unpackPayload(e);if(t){var i=t.eventData,n=t.reply;G.dispatch("*",t.event,i,n,e),G.dispatch(e.origin,t.event,i,n,e),F.broadcastToChildWindows(e.data,t.origin,e.source)}}},Object.defineProperty(_,"__esModule",{value:!0}),_.detach=_.attach=void 0;var B=u,j=!1;_.attach=function(){j||"undefined"==typeof window||(j=!0,window.addEventListener("message",B.onmessage,!1))},_.detach=function(){j=!1,window.removeEventListener("message",B.onmessage,!1)};var X=_,W=new(R().Framebus);X.attach();const $=E(W);class z{constructor(){this.listeners=[],this.isDestroyed=!1}on(e,t){$.on(e,t),this.listeners.push({eventName:e,callback:t})}off(e,t){$.off(e,t);const i=this.listeners.findIndex((t=>t.eventName===e));-1!==i&&this.listeners.splice(i,1)}emit(e,t,i=void 0){$.emit(e,t,i)}hasListener(e){return-1!==this.listeners.findIndex((t=>t.eventName===e))}teardown(){this.listeners.forEach((e=>{$.off(e.eventName,e.handler)})),this.listeners=[]}}class K{constructor(){this.bus=new z}log(e,t){this.bus.emit(d.ERROR,{level:e,event:t})}}var H=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===q}(e)}(e)};var q="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function J(e,t){return!1!==t.clone&&t.isMergeableObject(e)?ie((i=e,Array.isArray(i)?[]:{}),e,t):e;var i}function Z(e,t,i){return e.concat(t).map((function(e){return J(e,i)}))}function Q(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function ee(e,t){try{return t in e}catch(e){return!1}}function te(e,t,i){var n={};return i.isMergeableObject(e)&&Q(e).forEach((function(t){n[t]=J(e[t],i)})),Q(t).forEach((function(o){(function(e,t){return ee(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,o)||(ee(e,o)&&i.isMergeableObject(t[o])?n[o]=function(e,t){if(!t.customMerge)return ie;var i=t.customMerge(e);return"function"==typeof i?i:ie}(o,i)(e[o],t[o],i):n[o]=J(t[o],i))})),n}function ie(e,t,i){(i=i||{}).arrayMerge=i.arrayMerge||Z,i.isMergeableObject=i.isMergeableObject||H,i.cloneUnlessOtherwiseSpecified=J;var n=Array.isArray(t);return n===Array.isArray(e)?n?i.arrayMerge(e,t,i):te(e,t,i):J(t,i)}ie.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,i){return ie(e,i,t)}),{})};const ne=E(ie);class oe{constructor(){this.state={}}static getInstance(){return oe.instance||(oe.instance=new oe),oe.instance}getState(e){return this.state[e]}setState(e){this.state=ne(this.state,e)}}const se=oe.getInstance(),re=()=>window&&window.navigator,ae=()=>window&&window.screen,le=()=>({resolution:`${ae().width}x${ae().height}`,user_agent:re().userAgent,language:re().language});class de{constructor(e){this.adapter=[new K],this.enabled=e.enabled||!0,this.initGlobalState(e),e.logLevel=e.logLevel||"error","debug"===e.logLevel&&this.addAdapter(new l)}static init(e){de.instance=new de(e)}static getLogger(){return de.instance}initGlobalState(e){se.setState({payrails:e.payrails,sdk:e.sdk})}static setState(e){se.setState(e)}log(e,t,i){this.enabled&&this.adapter.forEach((n=>{n.log(e,{mssg:t,error:null==i?void 0:i.error,withMetada:a(a({},this.constructMetadata()),null==i?void 0:i.withMetada),extra:null==i?void 0:i.extra})}))}constructMetadata(){return{device:le(),payrails:se.getState("payrails"),sdk:se.getState("sdk")}}addAdapter(e){this.adapter.push(e)}static log(e,t){this.getLogger().log("info",e,t)}static debug(e,t){this.getLogger().log("debug",e,t)}static info(e,t){this.getLogger().log("info",e,t)}static warn(e,t){this.getLogger().log("warning",e,t)}static error(e,t){this.getLogger().log("error",e,t)}static exception(e,t){this.error(e,t)}}e.PayrailsLogger=de,e.getDeviceInfo=le}(r);const l=new Uint8Array(16);function d(){if(!a&&(a="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!a))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return a(l)}const c=[];for(let e=0;e<256;++e)c.push((e+256).toString(16).slice(1));var E={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function _(e,t,i){if(E.randomUUID&&!t&&!e)return E.randomUUID();const n=(e=e||{}).random||(e.rng||d)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){i=i||0;for(let e=0;e<16;++e)t[i+e]=n[e];return t}return function(e,t=0){return c[e[t+0]]+c[e[t+1]]+c[e[t+2]]+c[e[t+3]]+"-"+c[e[t+4]]+c[e[t+5]]+"-"+c[e[t+6]]+c[e[t+7]]+"-"+c[e[t+8]]+c[e[t+9]]+"-"+c[e[t+10]]+c[e[t+11]]+c[e[t+12]]+c[e[t+13]]+c[e[t+14]]+c[e[t+15]]}(n)}var u;!function(e){e.GET="GET",e.POST="POST"}(u||(u={}));const I=({url:t,method:i=u.GET,token:n,body:o})=>e(void 0,void 0,void 0,(function*(){const e={method:i,headers:Object.assign(Object.assign(Object.assign({},O()),T(n)),m())};i===u.POST&&(e.body=JSON.stringify(o||{}));const s=yield fetch(t,e),r=yield s.json();if([401,403].includes(s.status))throw new h(t,i);if(429===s.status)throw new f(t,i);if(!s.ok)throw new p(t,i);return{ok:s.ok,req:Object.assign({url:t},e),res:r}}));class h extends s.PayrailsError{constructor(e,t){super(s.ERROR_CODES.PAYRAILS_API_UNAUTHORIZED,{description:`[${t}] ${e} unauthorized`})}}class p extends s.PayrailsError{constructor(e,t){super(s.ERROR_CODES.PAYRAILS_API_UNSUCCESSFUL,{description:`[${t}] ${e} unsuccessful`})}}class f extends s.PayrailsError{constructor(e,t){super(s.ERROR_CODES.PAYRAILS_API_TOO_MANY_REQUESTS,{description:`[${t}] ${e} too many requests`})}}class N extends s.PayrailsError{constructor(e,t){super(s.ERROR_CODES.PAYRAILS_API_TOO_MANY_REQUESTS,{description:`[${t}] ${e} max poll attempts exceeded.`})}}const T=e=>({authorization:`Bearer ${e}`}),O=()=>({"x-idempotency-key":_()}),m=()=>{const e={version:"3.4.2-RC.0",type:"web-sdk"};return{"x-client-version":e.version,"x-client-type":e.type}},v={success:"https://payrails.io/success",error:"https://payrails.io/error",cancel:"https://payrails.io/cancel"};class A{constructor(e,t,i=v,n=680,o=60,s=2e3,r=5){this.sdkConfig=e,this.execution=t,this.returnLinks=i,this.POLL_INTERVAL=n,this.MAX_POLL_ATTEMPTS=o,this.POLL_INITIAL_DELAY=s,this.POLL_ERROR_COUNT_MULTIPLIER=r}pay(t){return e(this,void 0,void 0,(function*(){try{const e=(yield this.authorize(t)).res.links.execution;return yield this.pollForAuthorizationResult(e)}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PAYMENT_EXECUTOR_PAY_ERROR,{cause:e});throw r.PayrailsLogger.error(t.message,{error:t}),e}}))}confirm(t,i={}){return e(this,void 0,void 0,(function*(){try{const e=yield I({url:t,method:u.POST,token:this.sdkConfig.token,body:{data:i}}),n=yield this.pollForAuthorizationResult(e.res.links.execution);if(n.finalState)return n;const o=n.response.status.slice().sort(((e,t)=>new Date(t.time).getTime()-new Date(e.time).getTime()))[0].time,{res:s}=yield this.getExecution(e.res.links.execution,o);return{finalState:s.status.find((({code:e,time:t})=>["authorizeSuccessful","authorizeFailed"].includes(e)&&new Date(t)>new Date(o))),response:s}}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PAYMENT_EXECUTOR_CONFIRM_ERROR,{cause:e});throw r.PayrailsLogger.error(t.message,{error:t}),e}}))}getExecution(t,i,n=0){return e(this,void 0,void 0,(function*(){if(n>this.MAX_POLL_ATTEMPTS)throw new N(t,u.GET);0===n&&i&&(yield this.wait(this.POLL_INITIAL_DELAY));try{const e=yield I({url:t,token:this.sdkConfig.token});if(i){if(!e.res.status.find((({time:e})=>new Date(e)>new Date(i))))return yield this.wait(this.POLL_INTERVAL),this.getExecution(t,i,n+1)}return e}catch(e){if(e instanceof p)return yield this.wait(this.POLL_INTERVAL),this.getExecution(t,i,n+this.POLL_ERROR_COUNT_MULTIPLIER);if(e instanceof f)return yield this.wait(this.POLL_INTERVAL*n),this.getExecution(t,i,n+1);throw e}}))}createApplePaySession(t){return e(this,void 0,void 0,(function*(){return I({url:t.requestUrl,method:u.POST,token:this.sdkConfig.token,body:{integrationType:"api",paymentMethodCode:"applePay",amount:this.sdkConfig.amount,meta:{sessionURL:t.sessionUrl,clientDomain:t.clientDomain||window.location.host}}})}))}authorize(t){return e(this,void 0,void 0,(function*(){if(!this.execution.authorizeLink||!this.sdkConfig.amount){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_WORKFLOW_EXECUTION_NOT_FOUND,{description:"SDK was not initialized with workflow execution"});throw r.PayrailsLogger.error(e.message,{error:e}),e}const{success:e,error:i,cancel:n}=this.returnLinks;return I({url:this.execution.authorizeLink,method:u.POST,token:this.sdkConfig.token,body:{amount:this.sdkConfig.amount,paymentComposition:t,returnInfo:{success:e,cancel:n,error:i}}})}))}wait(t){return e(this,void 0,void 0,(function*(){return new Promise((e=>setTimeout(e,t)))}))}pollForAuthorizationResult(t,i=0){return e(this,void 0,void 0,(function*(){const e=(yield this.getExecution(t)).res,n=e.status,o=["authorizePending","authorizeSuccessful","authorizeFailed"],a=n.find((({code:e})=>"authorizeRequested"===e));if(!a&&i<10)return yield new Promise((e=>setTimeout(e,this.POLL_INTERVAL))),this.pollForAuthorizationResult(t,i+1);if(!a){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_API_AUTHORIZATION_NOT_REQUESTED);throw r.PayrailsLogger.error(e.message,{error:e}),e}const l=n.find((({code:e,time:t})=>"confirmRequested"===e&&new Date(t)>new Date(a.time))),d=l?l.time:a.time;let c=n.find((({code:e,time:t})=>o.includes(e)&&new Date(t)>new Date(d)));if(!c){const{res:e}=yield this.getExecution(t,d);return c=e.status.find((({code:e,time:t})=>o.includes(e)&&new Date(t)>new Date(d))),{finalState:c,response:e}}return{finalState:c,response:e}}))}}var y,L,R;!function(e){e.CARD="card",e.GOOGLE_PAY="googlePay",e.PAYPAL="payPal",e.APPLE_PAY="applePay"}(y||(y={})),function(e){e.ENABLED="enabled",e.CREATED="created",e.DELETED="deleted",e.DISABLED="disabled",e.INVALID="invalid",e.TRANSIENT="transient"}(L||(L={}));class g{constructor(e){this.executionResponse=e}get lookup(){return this.executionResponse.initialResults.find((({body:{name:e}})=>"lookup"===e))}get holderReference(){return this.executionResponse.holderReference}get savedCreditCards(){return this.getStoredInstrumentForPaymentMethod(y.CARD)}get savedPaypalAccounts(){return this.getStoredInstrumentForPaymentMethod(y.PAYPAL)}get savedGooglePayAccounts(){return this.getStoredInstrumentForPaymentMethod(y.GOOGLE_PAY)}get savedApplePayAccounts(){return this.getStoredInstrumentForPaymentMethod(y.APPLE_PAY)}get paypalConfig(){const e=this.availablePaymentMethods.find((({paymentMethodCode:e})=>e===y.PAYPAL));if(!e){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PAYPAL_CONFIG_MISSING);throw r.PayrailsLogger.error(e.message,{error:e,extra:{availablePaymentMethods:this.availablePaymentMethods}}),e}return e.config||{}}get googlePayConfig(){const e=this.availablePaymentMethods.find((({paymentMethodCode:e})=>e===y.GOOGLE_PAY));if(!e){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_GPAY_CONFIG_MISSING);throw r.PayrailsLogger.error(e.message,{error:e,extra:{availablePaymentMethods:this.availablePaymentMethods}}),e}return e?[e.config]:[]}isPaymentMethodAvailable(e){return this.availablePaymentMethods.some((({paymentMethodCode:t})=>t===e))}get applePayConfig(){const e=this.availablePaymentMethods.find((({paymentMethodCode:e})=>e===y.APPLE_PAY));if(!e){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_APPLEPAY_CONFIG_MISSING);throw r.PayrailsLogger.error(e.message,{error:e,extra:{availablePaymentMethods:this.availablePaymentMethods}}),e}return e.config.parameters}get url(){return this.response.links.self}get response(){return this.executionResponse}get meta(){return this.executionResponse.meta}get availablePaymentMethods(){var e;return(null===(e=this.lookup)||void 0===e?void 0:e.body.data.paymentCompositionOptions)||[]}get authorizeLink(){var e;return null===(e=this.lookup)||void 0===e?void 0:e.body.links.authorize.href}get createSessionLink(){var e;return null===(e=this.response.links.startPaymentSession)||void 0===e?void 0:e.href}get storedPaymentInstruments(){return this.availablePaymentMethods.flatMap((e=>e.paymentInstruments||[]))}getStoredInstrumentForPaymentMethod(e){var t;return(null===(t=this.availablePaymentMethods.find((({paymentMethodCode:t})=>t===e)))||void 0===t?void 0:t.paymentInstruments)||[]}}class S{constructor(e,{id:t="",className:i=""}={}){this.subElements=[];const n=document.createElement(e);t&&(this.id=t,n.setAttribute("id",t)),i&&n.setAttribute("class",i),this.element=n}get parentElement(){return this.element.parentElement}get selector(){if(!this.id)throw new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_UI_ELEMENT_MISSING);return`#${this.id}`}mount(e){const t=document.querySelector(e);if(!t)throw new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PARENT_ELEMENT_MISSING,{description:`Element with selector "${e}" not found in in the DOM`});t.appendChild(this.element),this.subElements.forEach((e=>{if(!this.id)throw new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_SUBELEMENTS_RENDER_ERROR);e.mount(this.selector)}))}unmount(){var e;this.subElements.forEach((e=>e.unmount())),null===(e=this.parentElement)||void 0===e||e.removeChild(this.element)}}class D extends S{get bin(){var e;return this.selectedInstrument?this.selectedInstrument.data.bin?this.selectedInstrument.data.bin:"":(null===(e=this.cardForm)||void 0===e?void 0:e.bin)||""}constructor(e,t,i,n){var o;super("button",{id:"payrails-card-payment-button"}),this.sdkConfig=e,this.execution=t,this.options=i,this.returnLinks=n,this.selectedInstrument=null,this.element.innerText=(null===(o=null==i?void 0:i.translations)||void 0===o?void 0:o.label)||"Pay",this.element.addEventListener("click",this.onPay.bind(this)),this.element.addEventListener("mouseenter",(()=>{var e;this.element.classList.contains("disabled")||(this.element.classList.add("hover"),this.setStyles((null===(e=this.options.styles)||void 0===e?void 0:e.hover)||{}))})),this.element.addEventListener("mouseleave",(()=>{var e;this.element.classList.contains("disabled")||(this.element.classList.remove("hover"),this.removeStyles((null===(e=this.options.styles)||void 0===e?void 0:e.hover)||{}))})),this.paymentExecutor=new A(this.sdkConfig,this.execution,this.returnLinks)}setDisabled(e){var t,i,n,o,s;this.element.classList.contains("disabled")!==e&&(null===(i=null===(t=this.options.events)||void 0===t?void 0:t.onStateChanged)||void 0===i||i.call(t,e?"disabled":"enabled")),this.element.disabled=e,e?(this.element.classList.add("disabled"),(null===(n=this.options.styles)||void 0===n?void 0:n.disabled)&&this.setStyles(this.options.styles.disabled)):(this.element.classList.remove("disabled"),this.removeStyles((null===(o=this.options.styles)||void 0===o?void 0:o.disabled)||{}),(null===(s=this.options.styles)||void 0===s?void 0:s.base)&&this.setStyles(this.options.styles.base))}setSavedCreditCard(e){console.warn("setSavedCreditCard is deprecated, please use setSavedInstrument"),this.setSavedInstrument(e)}setSavedInstrument(e){this.selectedInstrument=e,this.setDisabled(!1)}setStyles(e){var t;const i=Object.assign(Object.assign({},null===(t=this.options.styles)||void 0===t?void 0:t.base),e);Object.keys(i).forEach((e=>{this.element.style[e]=i[e]}))}removeStyles(e){var t;const i=Object.keys((null===(t=this.options.styles)||void 0===t?void 0:t.base)||{});Object.keys(e).forEach((e=>{var t,n;i.includes(e)?this.element.style[e]=null===(n=null===(t=this.options.styles)||void 0===t?void 0:t.base)||void 0===n?void 0:n[e]:this.element.style[e]=""}))}setLabel(e){this.element.innerText=e}setCardForm(e){this.cardForm=e}triggerLoading(e){var t,i,n,o;const s=this.element.offsetWidth;this.element.style.minWidth=`${s}px`,e?(this.element.innerHTML='<div class="dot-flashing"></div>',this.element.classList.add("loading"),(null===(t=this.options.styles)||void 0===t?void 0:t.loading)&&this.setStyles(this.options.styles.loading)):(this.element.innerText=(null===(n=null===(i=this.options)||void 0===i?void 0:i.translations)||void 0===n?void 0:n.label)||"Pay",this.element.classList.remove("loading"),this.removeStyles((null===(o=this.options.styles)||void 0===o?void 0:o.loading)||{}))}onAuthorizationFailed(e){var t,i;this.setDisabled(!1),this.triggerLoading(!1),(null===(t=this.options.events)||void 0===t?void 0:t.onAuthorizeFailed)&&(null===(i=this.options.events)||void 0===i||i.onAuthorizeFailed(e))}onPay(){var t,i,n,o,a,l,d,c,E,_,u,I;return e(this,void 0,void 0,(function*(){if(this.setDisabled(!0),this.triggerLoading(!0),null===(t=this.options.events)||void 0===t?void 0:t.onPaymentButtonClicked)try{if(!1===(yield null===(i=this.options.events)||void 0===i?void 0:i.onPaymentButtonClicked({bin:this.bin||""}))){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_ONPAY_CALLBACK_FAILED,{description:"Callback passed to onPaymentButtonClicked resolved to false"});return r.PayrailsLogger.error(e.message,{error:e}),void this.onAuthorizationFailed({code:exports.AuthorizationFailureReasons.VALIDATION_FAILED,message:e.message})}}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_ONPAY_CALLBACK_FAILED,{description:"Callback passed to onPaymentButtonClicked threw an error",cause:e});return r.PayrailsLogger.error(t.message,{error:t}),void this.onAuthorizationFailed({code:exports.AuthorizationFailureReasons.VALIDATION_FAILED,message:t.message})}try{let e=[{paymentMethodCode:y.CARD,integrationType:"api",amount:this.sdkConfig.amount,storeInstrument:!1}];if(null===(n=this.selectedInstrument)||void 0===n?void 0:n.id)e[0].paymentInstrumentId=null===(o=this.selectedInstrument)||void 0===o?void 0:o.id,e[0].paymentMethodCode=null===(a=this.selectedInstrument)||void 0===a?void 0:a.paymentMethod;else{if(!this.cardForm){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_CARD_FORM_MISSING);throw r.PayrailsLogger.error(e.message,{error:e}),e}e="Payrails"===(null===(d=null===(l=this.sdkConfig)||void 0===l?void 0:l.vaultConfiguration)||void 0===d?void 0:d.vaultType)?yield this.constructEncryptedPayment(e):yield this.constructTokenizedPayment(e)}const t=yield this.paymentExecutor.pay(e);this.handleAuthorizationResult(t)}catch(e){let t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_API_AUTHENTICATION_ERROR,{cause:e});e instanceof h||[401,403].includes(null===(c=null==e?void 0:e.error)||void 0===c?void 0:c.code)?(null===(_=null===(E=this.options.events)||void 0===E?void 0:E.onPaymentSessionExpired)||void 0===_||_.call(E),t.message="API token is not valid or expired.",r.PayrailsLogger.error(t.message,{error:t}),this.onAuthorizationFailed({code:exports.AuthorizationFailureReasons.AUTHENTICATION_ERROR,message:t.message})):e.toString().includes("Invalid token")?(null===(I=null===(u=this.options.events)||void 0===u?void 0:u.onPaymentSessionExpired)||void 0===I||I.call(u),t.message="Vault token is not valid or expired.",r.PayrailsLogger.error(t.message,{error:t})):t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_API_UNKNOWN_ERROR,{cause:e}),this.onAuthorizationFailed({code:exports.AuthorizationFailureReasons.AUTHENTICATION_ERROR,message:t.message})}}))}constructTokenizedPayment(t){return e(this,void 0,void 0,(function*(){const{storeInstrument:e,enrollInstrumentToNetworkOffers:i,cardData:n}=yield this.cardForm.collectValues();return t[0].paymentInstrumentData={vaultToken:null==n?void 0:n.instrumentId,card:{numberToken:null==n?void 0:n.card_number,securityCodeToken:null==n?void 0:n.security_code}},t[0].storeInstrument=e,t[0].enrollInstrumentToNetworkOffers=i,t}))}constructEncryptedPayment(t){return e(this,void 0,void 0,(function*(){const{cardData:e,storeInstrument:i,enrollInstrumentToNetworkOffers:n}=yield this.cardForm.collectValues();return t[0].paymentInstrumentData=Object.assign({},e),t[0].storeInstrument=i,t[0].enrollInstrumentToNetworkOffers=n,t}))}handleAuthorizationResult(e){var t,i,n;let o;switch(null===(t=null==e?void 0:e.finalState)||void 0===t?void 0:t.code){case"authorizeSuccessful":this.triggerLoading(!1),(null===(i=this.options.events)||void 0===i?void 0:i.onAuthorizeSuccess)&&this.options.events.onAuthorizeSuccess();break;case"authorizePending":"3ds"===(null===(n=null==e?void 0:e.response)||void 0===n?void 0:n.actionRequired)&&this.handle3ds(e);break;default:o=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_API_AUTHORIZATION_ERROR),r.PayrailsLogger.error(o.message,{error:o,extra:{result:e}}),this.onAuthorizationFailed({code:exports.AuthorizationFailureReasons.AUTHORIZATION_ERROR,message:o.message})}}handle3ds(t){var i,n,o,a;try{null===(n=null===(i=this.options.events)||void 0===i?void 0:i.onThreeDSecureChallenge)||void 0===n||n.call(i)}catch(e){}const l=null===(o=null==t?void 0:t.response)||void 0===o?void 0:o.links["3ds"];if(l){const t=[[250,400],[390,400],[500,600],[600,400]],i=screen.width,n=t.reduce(((e,t)=>i>t[0]?t:e),[250,400]),o=document.createElement("iframe");o.setAttribute("id","payrails-3ds-frame"),o.setAttribute("src",l),o.setAttribute("width",n[0].toString()),o.setAttribute("height",n[1].toString());const d=document.createElement("div");d.setAttribute("id","payrails-3ds-challenge"),d.appendChild(o);const c=document.createElement("div");c.addEventListener("click",(()=>e(this,void 0,void 0,(function*(){c.remove()})))),c.setAttribute("id","payrails-3ds-popup-background"),c.appendChild(d);const E=t=>e(this,void 0,void 0,(function*(){var e,i,n;if(t.data&&'{"type":"3DS-challenge-completed"}'===t.data){window.removeEventListener("message",E),c.remove();if(!(yield this.paymentExecutor.getExecution(this.execution.url)).res.status.find((({code:e})=>"authorizeSuccessful"===e))&&(null===(e=this.options.events)||void 0===e?void 0:e.onAuthorizeFailed)){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PAYMENT_EXECUTOR_3DS_ERROR);return r.PayrailsLogger.error(e.message,{error:e}),void this.onAuthorizationFailed({code:exports.AuthorizationFailureReasons.AUTHORIZATION_ERROR,message:"Authorization failed after 3DS challenge."})}if(null===(i=this.options.events)||void 0===i?void 0:i.onAuthorizeSuccess)return void(null===(n=this.options.events)||void 0===n||n.onAuthorizeSuccess())}}));null===(a=document.querySelector("body"))||void 0===a||a.appendChild(c),window.addEventListener("message",E),d.style.width=`${n[0]+4}px`,d.style.height=`${n[1]+4}px`}}}exports.AuthorizationFailureReasons=void 0,(R=exports.AuthorizationFailureReasons||(exports.AuthorizationFailureReasons={})).VALIDATION_FAILED="VALIDATION_FAILED",R.AUTHORIZATION_ERROR="AUTHORIZATION_ERROR",R.AUTHENTICATION_ERROR="AUTHENTICATION_ERROR",R.UNKNOWN_ERROR="UNKNOWN_ERROR";var C={},P={},b={};Object.defineProperty(b,"__esModule",{value:!0}),b.isntString=void 0,b.isntString=function(e){return"string"!=typeof e};var M={},w={};Object.defineProperty(w,"__esModule",{value:!0}),w.subscribers=w.childWindows=w.prefix=void 0,w.prefix="/*framebus*/",w.childWindows=[],w.subscribers={};var U={},k={},Y={},x={};Object.defineProperty(x,"__esModule",{value:!0}),x.subscriptionArgsInvalid=void 0;var V=b;x.subscriptionArgsInvalid=function(e,t,i){return!!V.isntString(e)||("function"!=typeof t||V.isntString(i))};var G={},F={};Object.defineProperty(F,"__esModule",{value:!0}),F.hasOpener=void 0,F.hasOpener=function(e){return e.top===e&&(null!=e.opener&&(e.opener!==e&&!0!==e.opener.closed))},Object.defineProperty(G,"__esModule",{value:!0}),G.broadcast=void 0;var B,j=F;function X(){if(B)return Y;B=1,Object.defineProperty(Y,"__esModule",{value:!0}),Y.Framebus=void 0;var e=b,t=x,i=G,n=K(),o=w,s=function(){function s(e){void 0===e&&(e="*"),this.origin=e}return s.target=function(e){return void 0===e&&(e="*"),new s(e)},s.prototype.include=function(e){return null!=e&&(null!=e.Window&&(e.constructor===e.Window&&(o.childWindows.push(e),!0)))},s.prototype.target=function(e){return s.target(e)},s.prototype.emit=function(t,o,s){var r=this.origin;if(e.isntString(t))return!1;if(e.isntString(r))return!1;"function"==typeof o&&(s=o,o=void 0);var a=n.packagePayload(t,r,o,s);return!!a&&(i.broadcast(window.top||window.self,a,r),!0)},s.prototype.on=function(e,i){var n=this.origin;return!t.subscriptionArgsInvalid(e,i,n)&&(o.subscribers[n]=o.subscribers[n]||{},o.subscribers[n][e]=o.subscribers[n][e]||[],o.subscribers[n][e].push(i),!0)},s.prototype.off=function(e,i){var n=this.origin;if(t.subscriptionArgsInvalid(e,i,n))return!1;var s=o.subscribers[n]&&o.subscribers[n][e];if(!s)return!1;for(var r=0;r<s.length;r++)if(s[r]===i)return s.splice(r,1),!0;return!1},s}();return Y.Framebus=s,Y}G.broadcast=function e(t,i,n){var o,s=0;try{for(t.postMessage(i,n),j.hasOpener(t)&&e(t.opener.top,i,n);o=t.frames[s];)e(o,i,n),s++}catch(e){}};var W,$,z=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))};function K(){if($)return U;$=1,Object.defineProperty(U,"__esModule",{value:!0}),U.packagePayload=void 0;var e=function(){if(W)return k;W=1;var e=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(k,"__esModule",{value:!0}),k.subscribeReplier=void 0;var t=X(),i=e(z);return k.subscribeReplier=function(e,n){var o=i.default();return t.Framebus.target(n).on(o,(function i(s,r){e(s,r),t.Framebus.target(n).off(o,i)})),o},k}(),t=w;return U.packagePayload=function(i,n,o,s){var r,a={event:i,origin:n};"function"==typeof s&&(a.reply=e.subscribeReplier(s,n)),a.eventData=o;try{r=t.prefix+JSON.stringify(a)}catch(e){throw new Error("Could not stringify event: "+e.message)}return r},U}Object.defineProperty(M,"__esModule",{value:!0}),M.unpackPayload=void 0;var H=w,q=K();M.unpackPayload=function(e){var t;if(e.data.slice(0,H.prefix.length)!==H.prefix)return!1;try{t=JSON.parse(e.data.slice(H.prefix.length))}catch(e){return!1}if(t.reply){var i=e.origin,n=e.source,o=t.reply;t.reply=function(e){if(n){var t=q.packagePayload(o,i,e);t&&n.postMessage(t,i)}}}return t};var J={};Object.defineProperty(J,"__esModule",{value:!0}),J.dispatch=void 0;var Z=w;J.dispatch=function(e,t,i,n,o){if(Z.subscribers[e]&&Z.subscribers[e][t]){var s=[];i&&s.push(i),n&&s.push(n);for(var r=0;r<Z.subscribers[e][t].length;r++)Z.subscribers[e][t][r].apply(o,s)}};var Q={};Object.defineProperty(Q,"__esModule",{value:!0}),Q.broadcastToChildWindows=void 0;var ee=G,te=w;Q.broadcastToChildWindows=function(e,t,i){for(var n=te.childWindows.length-1;n>=0;n--){var o=te.childWindows[n];o.closed?te.childWindows.splice(n,1):i!==o&&ee.broadcast(o.top,e,t)}},Object.defineProperty(P,"__esModule",{value:!0}),P.onmessage=void 0;var ie=b,ne=M,oe=J,se=Q;P.onmessage=function(e){if(!ie.isntString(e.data)){var t=ne.unpackPayload(e);if(t){var i=t.eventData,n=t.reply;oe.dispatch("*",t.event,i,n,e),oe.dispatch(e.origin,t.event,i,n,e),se.broadcastToChildWindows(e.data,t.origin,e.source)}}},Object.defineProperty(C,"__esModule",{value:!0}),C.detach=C.attach=void 0;var re=P,ae=!1;C.attach=function(){ae||"undefined"==typeof window||(ae=!0,window.addEventListener("message",re.onmessage,!1))},C.detach=function(){ae=!1,window.removeEventListener("message",re.onmessage,!1)};var le=C,de=new(X().Framebus);le.attach();var ce=o(de);const Ee={INITIALIZE_CLIENT:"%s1 - Initializing skyflow client.",CLIENT_INITIALIZED:"%s1 - Initialized skyflow client successfully.",CREATE_COLLECT_CONTAINER:"%s1 - Creating Collect container.",COLLECT_CONTAINER_CREATED:"%s1 - Created Collect container successfully.",VALIDATE_RECORDS:"%s1 - Validating insert records.",VALIDATE_DETOKENIZE_INPUT:"%s1 - Validating detokenize input.",VALIDATE_GET_INPUT:"%s1 - Validating get input.",VALIDATE_DELETE_INPUT:"%s1 - Validating delete input.",VALIDATE_COLLECT_RECORDS:"%s1 - Validating collect element input.",CREATED_ELEMENT:"%s1 - Created %s2 element.",ELEMENT_MOUNTED:"%s1 - %s2 Element mounted.",COLLECT_SUBMIT_SUCCESS:"%s1 - Data has been collected successfully.",INSERT_DATA_SUCCESS:"%s1 - Data has been inserted successfully.",DELETE_SUCCESS:"%s1 - Data has been deleted successfully.",BEARER_TOKEN_LISTENER:"%s1 - Get bearer token listener added.",CAPTURED_BEARER_TOKEN_EVENT:"%s1 - Captured bearer token event.",BEARER_TOKEN_RESOLVED:"%s1 - GetBearerToken promise resolved successfully.",REUSE_BEARER_TOKEN:"%s1 - Reusing the bearer token.",PUREJS_CONTROLLER_INITIALIZED:"%s1 - SkyflowController initialized.",PUREJS_LISTENER_READY:"%s1 - Purejs listener ready.",EMIT_PURE_JS_CONTROLLER:"%s1 - Emitted Skyflow controller event.",INSERT_TRIGGERED:"%s1 - Insert method triggered.",DETOKENIZE_TRIGGERED:"%s1 - Detokenize method triggered.",GET_TRIGGERED:"%s1 - Get method triggered.",GET_BY_ID_TRIGGERED:"%s1 - Get method triggered.",DELETE_TRIGGERED:"%s1 - Delete method triggered.",EMIT_PURE_JS_REQUEST:"%s1 - Emitted %s2 request.",CAPTURE_PURE_JS_REQUEST:"%s1 - Captured %s2 event.",LISTEN_PURE_JS_REQUEST:"%s1 - Listening to %s2 event.",CAPTURE_PUREJS_FRAME:"%s1 - Captured SkyflowController frame ready event.",FETCH_RECORDS_RESOLVED:"%s1 - Detokenize request is resolved.",INSERT_RECORDS_RESOLVED:"%s1 - Insert request is resolved.",GET_RESOLVED:"%s1 - Get request is resolved.",GET_BY_SKYFLOWID_RESOLVED:"%s1 - GetById request is resolved.",DELETE_RESOLVED:"%s1 - Delete request is resolved",EMIT_EVENT:"%s1 - %s2 event emitted",CAPTURE_EVENT:"%s1 - Captured event %s2",LISTEN_COLLECT_FRAME_READY:"%s1 - Listening to collect FRAME_READY event",EMIT_COLLECT_ELEMENT_FRAME_READY:"%s1 - Emitting collect element %s2 FRAME_READY event",ENTERED_COLLECT_FRAME_READY_CB:"%s1 - In IFrameForm constructor, Entered FRAME_READY callback",EXECUTE_COLLECT_ELEMENT_FRAME_READY_CB:"%s1 - In IFrameForm, executing collect element, %s2 FRAME_READY callback",CLIENT_METADATA_NOT_SET:"%s1 - Client metadata not set",EXECUTE_COLLECT_ELEMENT_INIT:"%s1 - calling Collect element init",INSIDE__COLLECT_ELEMENT_INIT:"%s1 - Inside Collect element init for %s2",CREATING_COLLECT_ELEMENT_FORM:"%s1 - Start, creating iframe form for %s2",COLLECT_FRAME_READY_CB:"%s1 - In FrameElements, executing collect element FRAME_READY cb for %s2, sending metadata",INSIDE_FRAME_ELEMENTS_CONSTRUCOTR:"%s1 - Inside FrameElements constructor",SETUP_IN_START:"%s1 - Inside FrameElements start(), calling setup",SETUP_IN_CONSTRUCTOR:"%s1 - Inside FrameElements constructor, calling setup",COLLECT_ELEMET_START:"%s1 - %s2, Collect Element start",COLLECT_CONTROLLER_START:"%s1 - %s2, Collect Controller start",EMIT_COLLECT_FRAME_CONTROLLER_EVENT:"%s1 - Emit collect FrameController FRAME_READY event",EXECUTE_COLLECT_CONTROLLER_READY_CB:"%s1 - Executing collect FrameController FRAME_READY callback, set client metadata",IFRAMEFORM_CONSTRUCTOR_FRAME_READY_LISTNER:"%s1 - In IFrameForm constructor, Adding listner for FRAME_READY event",IFRAMEFORM_CONSTRUCTOR_TOKENIZATION_LISTNER:"%s1 - In IFrameForm constructor, Adding listner for TOKENIZATION_REQUEST event",CURRENT_ENV:"%s1 - Client Env is %s2",CURRENT_LOG_LEVEL:"%s1 - Client LogLevel is %s2",VALIDATE_GET_BY_ID_INPUT:"%s1 - Validating getByID input."},_e={CLIENT_CONNECTION:"Interface: collect container - client connection not established. client info has not reached iframes",INVALID_BEARER_TOKEN:"Interface: init - Invalid token is generated from getBearerToken callback",BEARER_TOKEN_REJECTED:"Interface: init - GetBearerToken promise got rejected.",VAULTID_IS_REQUIRED:"Interface: init - Invalid client credentials. vaultID is required.",EMPTY_VAULTID_IN_INIT:"Interface: init - Invalid client credentials. vaultID cannot be empty.",VAULTURL_IS_REQUIRED:"Interface: init - Invalid client credentials. vaultURL is required.",EMPTY_VAULTURL_IN_INIT:"Interface: init - Invalid client credentials. vaultURL cannot be empty.",INVALID_VAULTURL_IN_INIT:"Interface: init - Invalid client credentials. Expecting https://XYZ for vaultURL",GET_BEARER_TOKEN_IS_REQUIRED:"Interface: init - Invalid client credentials. getBearerToken is required.",EMPTY_CONTAINER_TYPE:"Interface: client {containerType} container - Invalid container type. Container object cannot be empty.",INVALID_CONTAINER_TYPE:"Interface: client {containerType} container - Invalid container type. Invalid container object.",INVALID_COLLECT_VALUE:"Invalid value",INVALID_COLLECT_VALUE_WITH_LABEL:"Invalid %s1",REQUIRED_COLLECT_VALUE:"%s1 is required",DEFAULT_REQUIRED_COLLECT_VALUE:"Field is required",RECORDS_KEY_NOT_FOUND:"Interface: client insert - records object is required.",INVALID_RECORDS_IN_INSERT:"Interface: client insert - Invalid records. records object should be an array.",EMPTY_RECORDS_IN_INSERT:"Interface: client insert - records array cannot be empty.",MISSING_TABLE_IN_INSERT:'Interface: client insert - "table" key is required in records array at index %s1',EMPTY_TABLE_IN_INSERT:"Interface: client insert - table cannot be empty in records array at index %s1",INVALID_TABLE_IN_INSERT:"Interface: client insert - table of type string is required at index %s1 in records array.",EMPTY_FIELDS_IN_INSERT:"Interface: client insert - fields cannot be empty in records array at index %s1",MISSING_FIELDS_IN_INSERT:'Interface: client insert - "fields" key is required in records array at index %s1',INVALID_FIELDS_IN_INSERT:"Interface: client insert - fields of type object is required at index %s1 in records array.",INVALID_TOKENS_IN_INSERT:"Interface: client insert - Invalid tokens in options. tokens of type boolean is required.",RECORDS_KEY_NOT_FOUND_DELETE:"Interface: client delete - records object is required.",INVALID_RECORDS_IN_DELETE:"Interface: client delete - Invalid records. records object should be an array.",EMPTY_RECORDS_IN_DELETE:"Interface: client delete - records array cannot be empty.",MISSING_TABLE_IN_DELETE:'Interface: client delete - "table" key is required in records array at index %s1',EMPTY_TABLE_IN_DELETE:"Interface: client delete - table cannot be empty in records array at index %s1",INVALID_TABLE_IN_DELETE:"Interface: client delete - table of type string is required at index %s1 in records array.",MISSING_ID_IN_DELETE:'Interface: client delete - "id" key is required in records array at index %s1',EMPTY_ID_IN_DELETE:"Interface: client delete - id cannot be empty in records array at index %s1",INVALID_ID_IN_DELETE:"Interface: client delete - id of type string is required at index %s1 in records array.",DELETE_RECORDS_REJECTED:"Interface: client delete - delete request is rejected.",INVALID_TOKENS_IN_COLLECT:"Interface: collect container - Invalid tokens. tokens of type boolean is required.",RECORDS_KEY_NOT_FOUND_IN_ADDITIONAL_FIELDS:'Interface: collect container - "records" key not found in additionalFields',INVALID_RECORDS_IN_ADDITIONAL_FIELDS:"Interface: collect container - records should be an array inside additionalFields",EMPTY_RECORDS_IN_ADDITIONAL_FIELDS:"Interface: collect container - records object cannot be empty in additionalFields",MISSING_TABLE_IN_ADDITIONAL_FIELDS:'Interface: collect container - "table" key not found in additionalFields records at index %s1',INVALID_TABLE_IN_ADDITIONAL_FIELDS:"Interface: collect container - Provide valid table name in additionalFields records at index %s1",INVALID_SKYFLOW_ID_IN_ADDITIONAL_FIELDS:"Interface: collect container - Provide valid skyflow id in additionalFields records at index %s1",MISSING_FIELDS_IN_ADDITIONAL_FIELDS:'Interface: collect container - "fields" key not found in additionalFields records at index %s1',INVALID_FIELDS_IN_ADDITIONAL_FIELDS:"Interface: collect container - Provide valid fields in additionalFields records at index %s1",RECORDS_KEY_NOT_FOUND_DETOKENIZE:"Interface: client detokenize - records object is required.",EMPTY_RECORDS_DETOKENIZE:"Interface: client detokenize - records array cannot be empty.",INVALID_RECORDS_IN_DETOKENIZE:"Interface: client detokenize - Invalid records. records object should be an array.",MISSING_TOKEN_IN_DETOKENIZE:'Interface: client detokenize - "token" key is required in records array at index %s1 ',INVALID_TOKEN_IN_DETOKENIZE:"Interface: client detokenize - Invalid token. token of type string is required at index %s1 in records array.",RECORDS_KEY_NOT_FOUND_GET:"Interface: client get - records object is required.",INVALID_RECORDS_IN_GET:"Interface: client get - Invalid records. records object should be an array.",EMPTY_RECORDS_GET:"Interface: client get - records array cannot be empty.",MISSING_IDS_IN_GET:'Interface: client get - "ids" key is required in records array at index %s1',INVALID_IDS_IN_GET:"Interface: client get - Invalid ids. ids object should be an array.",INVALID_COLUMN_VALUES_IN_GET:"Interface: client get - Invalid column values. column values object should be an array.",EMPTY_IDS_IN_GET:"Interface: client get - ids array cannot be empty at index %s1",INVALID_SKYFLOWID_TYPE_IN_GET:"Interface: client get - Invalid skyflowId in ids array at index %s1",MISSING_TABLE_IN_GET:'Interface: client get - "table" key is required in records array at index %s1',INVALID_TABLE_IN_GET:"Interface: client get - table of type string is required at index %s1 in records array.",MISSING_REDACTION_IN_GET:'Interface: client get - "redaction" key is required in records array at index %s1',INVALID_REDACTION_TYPE_IN_GET:"Interface: client get - Invalid redaction type in records array at index %s1",INVALID_TOKENS_IN_GET:"Interface: client get - Invalid tokens in options. tokens of type boolean is required.",TOKENS_GET_COLUMN_NOT_SUPPORTED:"Interface: client get - column_name or column_values cannot be used with tokens in options.",REDACTION_WITH_TOKENS_NOT_SUPPORTED:"Interface: client get - redaction cannot be used when tokens are true in options.",INVALID_REDACTION_TYPE_IN_DETOKENIZE:"Interface: client get - Invalid redaction type in records array at index %s1",EMPTY_TABLE_IN_ADDITIONAL_FIELDS:"Interface: collect container - table cannot be empty in additionalFields at index %s1",EMPTY_FIELDS_IN_ADDITIONAL_FIELDS:"Interface: collect container - fields cannot be empty in additionalFields at index %s1",EMPTY_TOKEN_IN_DETOKENIZE:"Interface: client detokenize - token cannot be empty in records array at index %s1",EMPTY_SKYFLOWID_IN_GET:"Interface: client get - id cannot be empty in records array at index %s1",EMPTY_TABLE_IN_GET:"Interface: client get - table cannot be empty in records array at index %s1",EMPTY_REDACTION_TYPE_IN_GET:"Interface: client get - redaction cannot be empty in records array at index %s1",FETCH_RECORDS_REJECTED:"Interface: client detokenize - detokenize request is rejected.",INSERT_RECORDS_REJECTED:"Interface: client insert - insert request is rejected.",GET_REJECTED:"Interface: client get - get request is rejected.",MISSING_TABLE_IN_COLLECT:'Interface: collect element - "table" key is required.',EMPTY_TABLE_IN_COLLECT:"Interface: collect element - table cannot be empty.",EMPTY_SKYFLOW_ID_IN_ADDITIONAL_FIELDS:"Interface: collect element - id cannot be empty.",INVALID_TABLE_IN_COLLECT:"Interface: collect element - Invalid table. table of type string is required",INVALID_SKYFLOWID_IN_COLLECT:"Interface: collect element - Invalid id. id of type string is required",MISSING_COLUMN_IN_COLLECT:'Interface: collect element - "column" key is required.',EMPTY_COLUMN_IN_COLLECT:"Interface: collect element - column cannot be empty.",INVALID_COLUMN_IN_COLLECT:"Interface: collect element - Invalid column. column of type string is required",UNIQUE_ELEMENT_NAME:"The element name has to unique: %s1",ELEMENTS_NOT_MOUNTED:"Interface: collect container - Elements should be mounted before invoking collect",DUPLICATE_ELEMENT:"Interface: collect container - Duplicate column %s1 found in %s2.",DUPLICATE_ELEMENT_ADDITIONAL_FIELDS:"Interface: collect container - Duplicate column %s1 found in %s2 in additional fields",MISSING_ELEMENT_TYPE:'Interface:container element with type {TYPE} - Invalid element type. "type" key is required.',EMPTY_ELEMENT_TYPE:"Interface:container element with type {TYPE} - Invalid element type. type cannot be empty.",INVALID_ELEMENT_TYPE:"Interface:container element with type {TYPE} - invalid element type. type not found",INVALID_ELEMENT_SELECTOR:"Interface: container element with type {TYPE} - Div cannot be found.",CANNOT_CHANGE_ELEMENT:"Element can't be changed.",INVALID_IFRAME:"Error occured while creating an iframe",INVALID_FIELD:"Invalid Field.",FRAME_NOT_FOUND:"Interface: collect element - %s1 frame not found:",COMPLETE_AND_VALID_INPUTS:"Interface: collect container - Provide complete and valid inputs for %s1",REQUIRED_PARAMS_NOT_PROVIDED:"Interface: collect element - Required params are not provided.",INVALID_EVENT_TYPE:"Interface: collect element - Provide a valid event type.",INVALID_EVENT_LISTENER:'Interface: "on" on CollectElement - Provide valid event listener.',MISSING_HANDLER_IN_EVENT_LISTENER:'Interface: "on" on CollectElement - Second argument is missing. handler cannot be empty.',INVALID_HANDLER_IN_EVENT_LISTENER:'Interface: "on" on CollectElement - Invalid handler. handler should be of type function.',UNKNOWN_ERROR:"Unknown Error.",NETWORK_ERROR:"A network error occurred. This could be a CORS issue or a dropped internet connection. It is not possible for us to know. Please reach out to skyflow if you see this error",CONNECTION_ERROR:"Error while initializing the connection.",ERROR_OCCURED:"Error occurred.",INVALID_VALIDATIONS_TYPE:"Interface: collect element - Invalid validations type.",MISSING_VALIDATION_RULE_TYPE:"Interface: collect element - Type is missing in validationRule at index %s1 in validations array",INVALID_VALIDATION_RULE_TYPE:"Interface: collect element - Invalid ValidationRuleType at index %s1 in validations array",MISSING_VALIDATION_RULE_PARAMS:"Interface: collect element - params are missing in validationRule at index %s1 in validations array",INVALID_VALIDATION_RULE_PARAMS:"Interface: collect element - Invalid ValidationRule params at index %s1 in validations array",MISSING_REGEX_IN_REGEX_MATCH_RULE:"Interface: collect element - Missing regex in ValidationRule params at index %s1 in validations array",INVALID_REGEX_IN_REGEX_MATCH_RULE:"Interface: collect element - Invalid regex in ValidationRule params at index %s1 in validations array",MISSING_MIN_AND_MAX_IN_LENGTH_MATCH_RULE:"Interface: collect element - Either min or max is required in ValidationRule params at index %s1 in validations array",MISSING_ELEMENT_IN_ELEMENT_MATCH_RULE:"Interface: collect element - Missing element in ValidationRule params at index %s1 in validations array",INVALID_ELEMENT_IN_ELEMENT_MATCH_RULE:"Interface: collect element - Invalid collect element in ValidationRule params at index %s1 in validations array",ELEMENT_NOT_MOUNTED_IN_ELEMENT_MATCH_RULE:"Interface: collect element - collect element is not mounted in ValidationRule params at index %s1 in validations array",EMPTY_ELEMENT_IN_MOUNT:"Interface: mount element with type %s1 - Mount cannot be empty.",VALIDATION_FAILED:"Validation failed",INVALID_UPSERT_OPTION_TYPE:"Invalid upsert option, should be an array",EMPTY_UPSERT_OPTIONS_ARRAY:"upsert option cannot be an empty array, atleast one object of table and column is required.",INVALID_UPSERT_OPTION_OBJECT_TYPE:"Invalid upsert object at index %s1, an object of table and column is required.",MISSING_TABLE_IN_UPSERT_OPTION:'"table" key is required in upsert options object at index %s1',MISSING_COLUMN_IN_UPSERT_OPTION:'"column" key is required in upsert option at index %s1',INVALID_TABLE_IN_UPSERT_OPTION:"Invalid table in upsert object at index %s1, table of type non empty string is required",INVALID_COLUMN_IN_UPSERT_OPTION:"Invalid column in upsert object at index %s1, column of type non empty string is required",INVALID_RECORD_COLUMN_VALUE:"Invalid Record Column value.",MISSING_RECORD_COLUMN_VALUE:"Column Values is required when Column Name is specified.",MISSING_RECORD_COLUMN_NAME:"Column Name is required when Column Values are specified.",INVALID_RECORD_COLUMN_VALUE_TYPE:"Invalid Type of Records Column Values.",INVALID_COLUMN_VALUES_TYPE:"Invalid column values type, should be an Array.",EMPTY_RECORD_COLUMN_VALUES:"Record column values cannot be empty.",EMPTY_COLUMN_VALUE:"Column Value is empty.",MISSING_IDS_OR_COLUMN_VALUES_IN_GET:'Interface: client get - "ids" key or "columnValues" key is missing.',SKYFLOW_IDS_AND_COLUMN_NAME_BOTH_SPECIFIED:"ids and columnName can not be specified together.",GET_BY_SKYFLOWID_RESOLVED:"%s1 - GetById request is resolved.",RECORDS_KEY_NOT_FOUND_GETBYID:"Interface: client getById - records object is required.",INVALID_RECORDS_IN_GETBYID:"Interface: client getById - Invalid records. records object should be an array.",EMPTY_RECORDS_GETBYID:"Interface: client getById - records array cannot be empty.",MISSING_IDS_IN_GETBYID:'Interface: client getById - "ids" key is required in records array at index %s1',INVALID_IDS_IN_GETBYID:"Interface: client getById - Invalid ids. ids object should be an array.",EMPTY_IDS_IN_GETBYID:"Interface: client getById - ids array cannot be empty at index %s1",INVALID_SKYFLOWID_TYPE_IN_GETBYID:"Interface: client getById - Invalid skyflowId in ids array at index %s1",MISSING_TABLE_IN_GETBYID:'Interface: client getById - "table" key is required in records array at index %s1',INVALID_TABLE_IN_GETBYID:"Interface: client getById - table of type string is required at index %s1 in records array.",MISSING_REDACTION_IN_GETBYID:'Interface: client getById - "redaction" key is required in records array at index %s1',INVALID_REDACTION_TYPE_IN_GETBYID:"Interface: client getById - Invalid redaction type in records array at index %s1",EMPTY_SKYFLOWID_IN_GETBYID:"Interface: client getById - id cannot be empty in records array at index %s1",EMPTY_TABLE_IN_GETBYID:"Interface: client getById - table cannot be empty in records array at index %s1",EMPTY_REDACTION_TYPE_IN_GETBYID:"Interface: client getById - redaction cannot be empty in records array at index %s1",GET_BY_SKYFLOWID_REJECTED:"Interface: client getById - getById request is rejected.",MISSING_COMPOSABLE_LAYOUT_KEY:"Interface: client container - layout is required in composable container options.",EMPTY_COMPOSABLE_LAYOUT_ARRAY:"Interface: client container - layout array cannot be empty in composable container options.",INVALID_COMPOSABLE_LAYOUT_TYPE:"Interface: client container - invalid layout value, layout should be of type array of numbers in composable container options.",NEGATIVE_VALUES_COMPOSABLE_LAYOUT:"Interface: client container - layout array should only have postive numbers in composable container options.",MISMATCH_ELEMENT_COUNT_LAYOUT_SUM:"Interface: composable container mount - created elements count should be equal to sum of layout values.",MISSING_COMPOSABLE_CONTAINER_OPTIONS:"Interface: client composable container - options object is required for composable container.",INVALID_COMPOSABLE_CONTAINER_OPTIONS:"Interface: client composable container - invalid options value, should be an object type.",COMPOSABLE_CONTAINER_NOT_MOUNTED:"Interface: composable collect - container should be mounted before invoking collect.",INVALID_BOOLEAN_OPTIONS:"Interface: container create - Invaild %s1 in options, %s1 of type boolean is required.",INVALID_INPUT_OPTIONS_FORMAT:"Interface: container create - Invalid type, format must be of non-empty string type.",INVALID_INPUT_OPTIONS_TRANSLATION:"Interface: container create - Invalid type, translation must be of non-empty object type.",EMPTY_COLLECT_CUSTOM_FORMAT:"Interface: container create - %s1 cannot be empty object."},ue={INVALID_EXPIRATION_DATE_FORMAT:"EXPIRATION_DATE format must be in one of %s1, the format is set to default MM/YY",INVALID_EXPIRATION_YEAR_FORMAT:"EXPIRATION_YEAR format must be in one of %s1, the format is set to default YY",UNABLE_TO_SET_VALUE_IN_PROD_ENV:"%s1 setValue() cannot invoked while in PROD env. It is Not Recommeded",UNABLE_TO_CLEAR_VALUE_IN_PROD_ENV:"%s1 clearValue() cannot invoked while in PROD env. It is Not Recommeded",COLLECT_ALT_TEXT_DEPERECATED:"altText is DEPERECATED, passing altText will not have any effect",GET_BY_ID_DEPRECATED:"getById is deprecated, use new get method",INPUT_FORMATTING_NOT_SUPPROTED:"format or translation are not supported on %s1 element type.",INVALID_INPUT_TRANSLATION:"invalid or unsupported translation provided for %s1 element type."},Ie="collect_controller",he="element",pe="INSERT",fe="GET_BY_SKYFLOWID",Ne="GET",Te="DELETE",Oe={CHANGE:"CHANGE",READY:"READY",FOCUS:"FOCUS",BLUR:"BLUR",ESCAPE:"ESCAPE",CLICK:"CLICK",ERROR:"ERROR",SUCCESS:"SUCCESS",SUBMIT:"SUBMIT",CREATED:"CREATED",MOUNTED:"MOUNTED",HEIGHT:"HEIGHT"},me="FRAME_READY",ve="TOKENIZATION_REQUEST",Ae="INPUT_EVENT",ye="DESTROY FRAME",Le="SET_VALUE",Re="PUREJS_REQUEST",ge="PUREJS_FRAME_READY",Se="GET_BEARER_TOKEN",De="COLLECT_ELEMENT_SET_ERROR",Ce="COMPOSABLE_UPDATE_OPTIONS",Pe="COMPOSABLE_CONTAINER_MOUNTED",be="COLLECT_CONTAINER_MOUNTED";var Me,we;!function(e){e.CVV="CVV",e.EXPIRATION_DATE="EXPIRATION_DATE",e.CARD_NUMBER="CARD_NUMBER",e.CARDHOLDER_NAME="CARDHOLDER_NAME",e.INPUT_FIELD="INPUT_FIELD",e.PIN="PIN",e.EXPIRATION_MONTH="EXPIRATION_MONTH",e.EXPIRATION_YEAR="EXPIRATION_YEAR"}(Me||(Me={})),function(e){e.VISA="VISA",e.MASTERCARD="MASTERCARD",e.AMEX="AMEX",e.DINERS_CLUB="DINERS_CLUB",e.DISCOVER="DISCOVER",e.JCB="JCB",e.MAESTRO="MAESTRO",e.UNIONPAY="UNIONPAY",e.HIPERCARD="HIPERCARD",e.DEFAULT="DEFAULT",e.UNKNOWN="UNKNOWN"}(we||(we={}));const Ue={[we.AMEX]:["XXXX XXXXXX XXXXX",{X:"[0-9]"}],[we.VISA]:["XXXX XXXX XXXX XXXX",{X:"[0-9]"}],[we.MASTERCARD]:["XXXX XXXX XXXX XXXX",{X:"[0-9]"}],[we.DISCOVER]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}],[we.DINERS_CLUB]:["XXXX XXXXXX XXXXXX",{X:"[0-9]"}],[we.JCB]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}],[we.MAESTRO]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}],[we.UNIONPAY]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}],[we.HIPERCARD]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}],[we.DEFAULT]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}],[we.UNKNOWN]:["XXXX XXXX XXXX XXXX XXX",{X:"[0-9]"}]},ke={textarea:{name:"textarea",attributes:{type:"textarea"},sensitive:!1},checkbox:{name:"checkbox",attributes:{type:"checkbox"},sensitive:!1},radio:{name:"radio",attributes:{type:"radio"},sensitive:!1},dropdown:{name:"dropdown",attributes:{type:"select"},sensitive:!1},[Me.CARDHOLDER_NAME]:{name:"cardHolderName",attributes:{type:"text",autocomplete:"cc-name"},sensitive:!0,regex:/^([a-zA-Z\\ \\,\\.\\-\\']{2,})$/},[Me.CARD_NUMBER]:{name:"CARD_NUMBER",attributes:{type:"text",autocomplete:"cc-number",inputmode:"numeric"},sensitive:!0,mask:Ue[we.DEFAULT],regex:/$|^[\s]*?([0-9]{2,6}[ -]?){3,5}[\s]*/},[Me.EXPIRATION_DATE]:{name:"EXPIRATION_DATE",attributes:{type:"text",autocomplete:"cc-exp",inputmode:"numeric"},sensitive:!0},[Me.EXPIRATION_MONTH]:{name:"EXPIRATION_MONTH",attributes:{maxLength:2,type:"text",inputmode:"numeric",autocomplete:"cc-exp-month"},sensitive:!0,mask:["XX",{X:"[0-9]"}]},[Me.EXPIRATION_YEAR]:{name:"EXPIRATION_YEAR",attributes:{type:"text",inputmode:"numeric",autocomplete:"cc-exp-year"},sensitive:!0},[Me.CVV]:{name:"CVV",attributes:{type:"text",inputmode:"numeric",maxLength:4},sensitive:!0,regex:/^$|^[0-9]{3,4}$/},[Me.INPUT_FIELD]:{name:"INPUT_FIELD",sensitive:!0,attributes:{type:"text"}},[Me.PIN]:{name:"PIN",attributes:{type:"text",inputmode:"numeric",maxLength:12,minLength:4},sensitive:!0,regex:/^$|^[0-9]{4,12}$/}},Ye="XXXX-XXXX-XXXX-XXXX",xe={height:"100%",width:"100%",margin:0,padding:0,border:0,position:"absolute",top:0,left:0,"user-select":"none"},Ve={position:"absolute",top:0,width:0,height:0,visibility:"hidden",left:"-99999999px","user-select":"none"},Ge={width:"100%",height:"100%",border:"0",padding:"0",margin:"0",outline:"none"},Fe={WEBPACKAUTOFILL:"-webkit-autofill",BASE:"base",FOCUS:"focus",COMPLETE:"complete",EMPTY:"empty",INVALID:"invalid",GLOBAL:"global",REQUIRED_ASTERISK:"requiredAsterisk"};Fe.BASE,Fe.REQUIRED_ASTERISK;const Be={[we.VISA]:{regex:/^4\d*/,maxCardLength:19,cardLengthRange:[13,16]},[we.MASTERCARD]:{regex:/^(5[1-5]|222[1-9]|22[3-9]|2[3-6]|27[0-1]|2720)\d*/,maxCardLength:16,cardLengthRange:[16]},[we.AMEX]:{regex:/^3[47]\d*/,maxCardLength:15,cardLengthRange:[15]},[we.DINERS_CLUB]:{regex:/^(36|38|30[0-5])\d*/,maxCardLength:16,cardLengthRange:[14,15,16,17,18,19]},[we.DISCOVER]:{regex:/^(6011|65|64[4-9]|622)\d*/,maxCardLength:16,cardLengthRange:[16,17,18,19]},[we.JCB]:{regex:/^35\d*/,maxCardLength:19,cardLengthRange:[16,17,18,19]},[we.HIPERCARD]:{regex:/^606282\d*/,maxCardLength:19,cardLengthRange:[14,15,16,17,18,19]},[we.UNIONPAY]:{regex:/^62\d*/,maxCardLength:19,cardLengthRange:[16,17,18,19]},[we.MAESTRO]:{regex:/^(5018|5020|5038|5043|5[6-9]|6020|6304|6703|6759|676[1-3])\d*/,maxCardLength:19,cardLengthRange:[12,13,14,15,16,17,18,19]}};we.DEFAULT,we.AMEX,we.DINERS_CLUB,we.DISCOVER,we.HIPERCARD,we.JCB,we.MAESTRO,we.MASTERCARD,we.UNIONPAY,we.VISA;const je="MM/YY",Xe=[je,"YYYY/MM","YY/MM","MM/YYYY"],We=["YY","YYYY"];var $e;!function(e){e.APPLICATIONORJSON="application/json",e.TEXTORPLAIN="text/plain",e.TEXTORXML="text/xml",e.FORMURLENCODED="application/x-www-form-urlencoded",e.FORMDATA="multipart/form-data"}($e||($e={})),Me.CARD_NUMBER,Me.EXPIRATION_DATE,Me.EXPIRATION_MONTH,Me.EXPIRATION_YEAR,Me.CVV,Me.EXPIRATION_DATE,Me.CARD_NUMBER,Me.CARDHOLDER_NAME,Me.INPUT_FIELD,_e.INVALID_COLLECT_VALUE,Me.PIN,Me.EXPIRATION_MONTH,Me.EXPIRATION_YEAR,Me.CVV,Me.EXPIRATION_DATE,Me.CARD_NUMBER,Me.CARDHOLDER_NAME,Me.INPUT_FIELD,_e.DEFAULT_REQUIRED_COLLECT_VALUE,Me.PIN,Me.EXPIRATION_MONTH,Me.EXPIRATION_YEAR;const ze=[Me.CARDHOLDER_NAME,Me.EXPIRATION_MONTH,Me.PIN,Me.CVV],Ke={X:"[0-9]"};class He{constructor(){this.events={}}on(e,t,i=!1){this.events[e]?this.events[e].push({priority:i,callback:t}):this.events[e]=[{priority:i,callback:t}]}off(e,t){const i=this.events[e];if(!i)return;const n=i.findIndex((e=>e.callback===t));i.splice(n,1)}_emit(e,...t){const i=this.events[e];i&&i.forEach((e=>{e.callback(...t)}))}hasListener(e){const t=this.events[e];return!!t&&t.length>0}resetEvents(){const e={};Object.keys(this.events).forEach((t=>{const i=this.events[t];if(i&&i.length>0){const n=[];i.forEach((e=>{e.priority&&n.push(e)})),e[t]=n}})),this.events=e}static createChild(e){e.prototype=Object.create(He.prototype,{constructor:e})}}
2
2
  /* @copyright
3
3
  Copyright (c) 2022 Skyflow, Inc.
4
- */const qe={IFRAME_SECURE_SITE:"https://js.skyflow.com/v1/elements/index.html",IFRAME_SECURE_ORGIN:"https://js.skyflow.com"},Je="https://assets.payrails.io/9969e96/card/index.html",Ze="https://assets.payrails.io",Qe={src:"about:blank",frameBorder:0,allowtransparency:!0,scrolling:"no",style:"width: 100%;",allow:"clipboard-read; clipboard-write"},et=(e,t)=>{Object.keys(t).forEach((i=>{if(Object.prototype.hasOwnProperty.call(t,i)){const n=t[i];null==n?e.removeAttribute(i):e.setAttribute(i,n)}}))};var tt=(e={})=>{const t=document.createElement("iframe"),i=Object.assign(Object.assign({},Qe),e);return Object.assign(t.style,xe),et(t,i),t.getAttribute("id")||(t.id=t.name),t};const it=()=>qe.IFRAME_SECURE_SITE,nt=(e,t)=>{Object.keys(t).forEach((i=>{Object.prototype.hasOwnProperty.call(t,i)&&(e.style[i]=t[i])}))};function ot(e){return JSON.parse(JSON.stringify(e))}class st{constructor(){this.listeners=[],this.isDestroyed=!1}on(e,t){ce.on(e,t),this.listeners.push({eventName:e,callback:t})}off(e,t){ce.off(e,t);const i=this.listeners.findIndex((t=>t.eventName===e));-1!==i&&this.listeners.splice(i,1)}emit(e,t,i=void 0){ce.emit(e,t,i)}hasListener(e){return-1!==this.listeners.findIndex((t=>t.eventName===e))}teardown(){this.listeners.forEach((e=>{ce.off(e.eventName,e.handler)})),this.listeners=[]}}var rt,at,lt,dt,ct,Et,_t;!function(e){e.DEFAULT="DEFAULT",e.PLAIN_TEXT="PLAIN_TEXT",e.MASKED="MASKED",e.REDACTED="REDACTED"}(rt||(rt={})),function(e){e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.DELETE="DELETE"}(at||(at={})),function(e){e.CHANGE="CHANGE",e.READY="READY",e.FOCUS="FOCUS",e.BLUR="BLUR",e.SUBMIT="SUBMIT"}(lt||(lt={})),function(e){e.WARN="WARN",e.INFO="INFO",e.DEBUG="DEBUG",e.ERROR="ERROR"}(dt||(dt={})),function(e){e.DEV="DEV",e.PROD="PROD"}(ct||(ct={})),function(e){e.LOG="LOG",e.WARN="WARN",e.ERROR="ERROR"}(Et||(Et={})),function(e){e.REGEX_MATCH_RULE="REGEX_MATCH_RULE",e.LENGTH_MATCH_RULE="LENGTH_MATCH_RULE",e.ELEMENT_VALUE_MATCH_RULE="ELEMENT_VALUE_MATCH_RULE"}(_t||(_t={}));const ut={DEBUG:{showDebugLogs:!0,showInfoLogs:!0,showWarnLogs:!0,showErrorLogs:!0},INFO:{showDebugLogs:!1,showInfoLogs:!0,showWarnLogs:!0,showErrorLogs:!0},WARN:{showDebugLogs:!1,showInfoLogs:!1,showWarnLogs:!0,showErrorLogs:!0},ERROR:{showDebugLogs:!1,showInfoLogs:!1,showWarnLogs:!1,showErrorLogs:!0}},It={PROD:{doesReturnValue:!1},DEV:{doesReturnValue:!0}},ht="[Skyflow]",pt=(e,t,i)=>{if(i&&ut[i]){const{showDebugLogs:n,showInfoLogs:o,showWarnLogs:s,showErrorLogs:r}=ut[i];t===Et.LOG&&n?console.log(`${dt.DEBUG}: ${ht} ${e}`):t===Et.LOG&&o?console.log(`${dt.INFO}: ${ht} ${e}`):t===Et.WARN&&s?console.warn(`${dt.WARN}: ${ht} ${e}`):t===Et.ERROR&&r&&console.error(`${dt.ERROR}: ${ht} ${e}`)}},ft=(...e)=>{const t=e[0],i=e.filter(((e,t)=>0!==t));return t?t.replace(/%s[0-9]+/g,(e=>{const t=e.replace("%s","")-1;return i[t]})):""},Nt=(e="")=>{const t=e.split(":");if("group"===t[1])return"composable container";let i=atob(t[2]);return-1!==i.indexOf(":")&&(i=i.substring(0,i.indexOf(":"))),i};class Tt extends Error{constructor(e,t,i=!1){const n={code:e.code,description:t&&(null==t?void 0:t.length)>0?ft(e.description,...t):e.description};super(n.description),i?this.error=n:this.errors=[n]}}const Ot={INVALID_FIELD:{code:400,description:_e.INVALID_FIELD},VAULTID_IS_REQUIRED:{code:400,description:_e.VAULTID_IS_REQUIRED},EMPTY_VAULTID_IN_INIT:{code:400,description:_e.EMPTY_VAULTID_IN_INIT},VAULTURL_IS_REQUIRED:{code:400,description:_e.VAULTURL_IS_REQUIRED},EMPTY_VAULTURL_IN_INIT:{code:400,description:_e.EMPTY_VAULTURL_IN_INIT},INVALID_VAULTURL_IN_INIT:{code:400,description:_e.INVALID_VAULTURL_IN_INIT},GET_BEARER_TOKEN_IS_REQUIRED:{code:400,description:_e.GET_BEARER_TOKEN_IS_REQUIRED},EMPTY_CONTAINER_TYPE:{code:400,description:_e.EMPTY_CONTAINER_TYPE},INVALID_CONTAINER_TYPE:{code:400,description:_e.INVALID_CONTAINER_TYPE},UNIQUE_ELEMENT_NAME:{code:400,description:_e.UNIQUE_ELEMENT_NAME},ELEMENTS_NOT_MOUNTED:{code:400,description:_e.ELEMENTS_NOT_MOUNTED},MISSING_TABLE_IN_COLLECT:{code:400,description:_e.MISSING_TABLE_IN_COLLECT},EMPTY_TABLE_IN_COLLECT:{code:400,description:_e.EMPTY_TABLE_IN_COLLECT},EMPTY_SKYFLOW_ID_IN_ADDITIONAL_FIELDS:{code:400,description:_e.EMPTY_SKYFLOW_ID_IN_ADDITIONAL_FIELDS},INVALID_TABLE_IN_COLLECT:{code:400,description:_e.INVALID_TABLE_IN_COLLECT},INVALID_SKYFLOWID_IN_COLLECT:{code:400,description:_e.INVALID_SKYFLOWID_IN_COLLECT},MISSING_COLUMN_IN_COLLECT:{code:400,description:_e.MISSING_COLUMN_IN_COLLECT},EMPTY_COLUMN_IN_COLLECT:{code:400,description:_e.EMPTY_TABLE_IN_COLLECT},INVALID_COLUMN_IN_COLLECT:{code:400,description:_e.INVALID_COLUMN_IN_COLLECT},CLIENT_CONNECTION:{code:400,description:_e.CLIENT_CONNECTION},RECORDS_KEY_NOT_FOUND:{code:404,description:_e.RECORDS_KEY_NOT_FOUND},EMPTY_RECORDS_IN_INSERT:{code:400,description:_e.EMPTY_RECORDS_IN_INSERT},INVALID_RECORDS_IN_INSERT:{code:404,description:_e.INVALID_RECORDS_IN_INSERT},INVALID_TABLE_IN_INSERT:{code:400,description:_e.INVALID_TABLE_IN_INSERT},EMPTY_TABLE_IN_INSERT:{code:400,description:_e.EMPTY_TABLE_IN_INSERT},MISSING_TABLE_IN_INSERT:{code:400,description:_e.MISSING_TABLE_IN_INSERT},EMPTY_FIELDS_IN_INSERT:{code:400,description:_e.EMPTY_FIELDS_IN_INSERT},MISSING_FIELDS_IN_INSERT:{code:404,description:_e.MISSING_FIELDS_IN_INSERT},INVALID_FIELDS_IN_INSERT:{code:404,description:_e.INVALID_FIELDS_IN_INSERT},INVALID_TOKENS_IN_INSERT:{code:404,description:_e.INVALID_TOKENS_IN_INSERT},RECORDS_KEY_NOT_FOUND_DETOKENIZE:{code:404,description:_e.RECORDS_KEY_NOT_FOUND_DETOKENIZE},EMPTY_RECORDS_DETOKENIZE:{code:400,description:_e.EMPTY_RECORDS_DETOKENIZE},INVALID_RECORDS_IN_DETOKENIZE:{code:404,description:_e.INVALID_RECORDS_IN_DETOKENIZE},MISSING_TOKEN_IN_DETOKENIZE:{code:400,description:_e.MISSING_TOKEN_IN_DETOKENIZE},INVALID_TOKEN_IN_DETOKENIZE:{code:400,description:_e.INVALID_TOKEN_IN_DETOKENIZE},RECORDS_KEY_NOT_FOUND_GET:{code:400,description:_e.RECORDS_KEY_NOT_FOUND_GET},INVALID_RECORDS_IN_GET:{code:400,description:_e.INVALID_RECORDS_IN_GET},EMPTY_RECORDS_GET:{code:400,description:_e.EMPTY_RECORDS_GET},MISSING_IDS_IN_GET:{code:400,description:_e.MISSING_IDS_IN_GET},INVALID_IDS_IN_GET:{code:400,description:_e.INVALID_IDS_IN_GET},INVALID_COLUMN_VALUES_IN_GET:{code:400,description:_e.INVALID_COLUMN_VALUES_IN_GET},EMPTY_IDS_IN_GET:{code:400,description:_e.EMPTY_IDS_IN_GET},INVALID_SKYFLOWID_TYPE_IN_GET:{code:400,description:_e.INVALID_SKYFLOWID_TYPE_IN_GET},MISSING_TABLE_IN_GET:{code:400,description:_e.MISSING_TABLE_IN_GET},INVALID_TABLE_IN_GET:{code:400,description:_e.INVALID_TABLE_IN_GET},MISSING_REDACTION_IN_GET:{code:400,description:_e.MISSING_REDACTION_IN_GET},INVALID_REDACTION_TYPE_IN_GET:{code:400,description:_e.INVALID_REDACTION_TYPE_IN_GET},INVALID_TOKENS_IN_GET:{code:400,description:_e.INVALID_TOKENS_IN_GET},TOKENS_GET_COLUMN_NOT_SUPPORTED:{code:400,description:_e.TOKENS_GET_COLUMN_NOT_SUPPORTED},REDACTION_WITH_TOKENS_NOT_SUPPORTED:{code:400,description:_e.REDACTION_WITH_TOKENS_NOT_SUPPORTED},INVALID_REDACTION_TYPE_IN_DETOKENIZE:{code:400,description:_e.INVALID_REDACTION_TYPE_IN_DETOKENIZE},INVALID_TOKENS_IN_COLLECT:{code:404,description:_e.INVALID_TOKENS_IN_COLLECT},RECORDS_KEY_NOT_FOUND_IN_ADDITIONAL_FIELDS:{code:404,description:_e.RECORDS_KEY_NOT_FOUND_IN_ADDITIONAL_FIELDS},INVALID_RECORDS_IN_ADDITIONAL_FIELDS:{code:404,description:_e.INVALID_RECORDS_IN_ADDITIONAL_FIELDS},EMPTY_RECORDS_IN_ADDITIONAL_FIELDS:{code:400,description:_e.EMPTY_RECORDS_IN_ADDITIONAL_FIELDS},MISSING_TABLE_IN_ADDITIONAL_FIELDS:{code:400,description:_e.MISSING_TABLE_IN_ADDITIONAL_FIELDS},INVALID_TABLE_IN_ADDITIONAL_FIELDS:{code:400,description:_e.INVALID_TABLE_IN_ADDITIONAL_FIELDS},INVALID_SKYFLOW_ID_IN_ADDITIONAL_FIELDS:{code:400,description:_e.INVALID_SKYFLOW_ID_IN_ADDITIONAL_FIELDS},MISSING_FIELDS_IN_ADDITIONAL_FIELDS:{code:400,description:_e.MISSING_FIELDS_IN_ADDITIONAL_FIELDS},INVALID_FIELDS_IN_ADDITIONAL_FIELDS:{code:400,description:_e.INVALID_FIELDS_IN_ADDITIONAL_FIELDS},RECORDS_KEY_NOT_FOUND_DELETE:{code:400,description:_e.RECORDS_KEY_NOT_FOUND_DELETE},EMPTY_RECORDS_IN_DELETE:{code:400,description:_e.EMPTY_RECORDS_IN_DELETE},INVALID_RECORDS_IN_DELETE:{code:404,description:_e.INVALID_RECORDS_IN_DELETE},INVALID_TABLE_IN_DELETE:{code:400,description:_e.INVALID_TABLE_IN_DELETE},EMPTY_TABLE_IN_DELETE:{code:400,description:_e.EMPTY_TABLE_IN_DELETE},MISSING_TABLE_IN_DELETE:{code:400,description:_e.MISSING_TABLE_IN_DELETE},EMPTY_ID_IN_DELETE:{code:400,description:_e.EMPTY_ID_IN_DELETE},MISSING_ID_IN_DELETE:{code:404,description:_e.MISSING_ID_IN_DELETE},INVALID_ID_IN_DELETE:{code:404,description:_e.INVALID_ID_IN_DELETE},EMPTY_TABLE_IN_ADDITIONAL_FIELDS:{code:400,description:_e.EMPTY_TABLE_IN_ADDITIONAL_FIELDS},EMPTY_FIELDS_IN_ADDITIONAL_FIELDS:{code:400,description:_e.EMPTY_FIELDS_IN_ADDITIONAL_FIELDS},EMPTY_TOKEN_IN_DETOKENIZE:{code:400,description:_e.EMPTY_TOKEN_IN_DETOKENIZE},EMPTY_SKYFLOWID_IN_GET:{code:400,description:_e.EMPTY_SKYFLOWID_IN_GET},EMPTY_TABLE_IN_GET:{code:400,description:_e.EMPTY_TABLE_IN_GET},EMPTY_REDACTION_TYPE_IN_GET:{code:400,description:_e.EMPTY_REDACTION_TYPE_IN_GET},DUPLICATE_ELEMENT:{code:400,description:_e.DUPLICATE_ELEMENT},DUPLICATE_ELEMENT_ADDITIONAL_FIELDS:{code:400,description:_e.DUPLICATE_ELEMENT_ADDITIONAL_FIELDS},MISSING_ELEMENT_TYPE:{code:400,description:_e.MISSING_ELEMENT_TYPE},EMPTY_ELEMENT_TYPE:{code:400,description:_e.EMPTY_ELEMENT_TYPE},INVALID_ELEMENT_TYPE:{code:400,description:_e.INVALID_ELEMENT_TYPE},INVALID_ELEMENT_SELECTOR:{code:400,description:_e.INVALID_ELEMENT_SELECTOR},FRAME_NOT_FOUND:{code:400,description:_e.FRAME_NOT_FOUND},REQUIRED_PARAMS_NOT_PROVIDED:{code:400,description:_e.REQUIRED_PARAMS_NOT_PROVIDED},INVALID_RECORD_COLUMN_VALUE:{code:400,description:_e.INVALID_RECORD_COLUMN_VALUE},MISSING_RECORD_COLUMN_VALUE:{code:400,description:_e.MISSING_RECORD_COLUMN_VALUE},MISSING_RECORD_COLUMN_NAME:{code:400,description:_e.MISSING_RECORD_COLUMN_NAME},INVALID_EVENT_TYPE:{code:400,description:_e.INVALID_EVENT_TYPE},INVALID_EVENT_LISTENER:{code:400,description:_e.INVALID_EVENT_LISTENER},MISSING_HANDLER_IN_EVENT_LISTENER:{code:400,description:_e.MISSING_HANDLER_IN_EVENT_LISTENER},INVALID_HANDLER_IN_EVENT_LISTENER:{code:400,description:_e.INVALID_HANDLER_IN_EVENT_LISTENER},UNKNOWN_ERROR:{code:400,description:_e.UNKNOWN_ERROR},CONNECTION_ERROR:{code:400,description:_e.CONNECTION_ERROR},NETWORK_ERROR:{code:500,description:_e.NETWORK_ERROR},COMPLETE_AND_VALID_INPUTS:{code:400,description:_e.COMPLETE_AND_VALID_INPUTS},INVALID_VALIDATIONS_TYPE:{code:400,description:_e.INVALID_VALIDATIONS_TYPE},MISSING_VALIDATION_RULE_TYPE:{code:400,description:_e.MISSING_VALIDATION_RULE_TYPE},INVALID_VALIDATION_RULE_TYPE:{code:400,description:_e.INVALID_VALIDATION_RULE_TYPE},MISSING_VALIDATION_RULE_PARAMS:{code:400,description:_e.MISSING_VALIDATION_RULE_PARAMS},INVALID_VALIDATION_RULE_PARAMS:{code:400,description:_e.INVALID_VALIDATION_RULE_PARAMS},MISSING_REGEX_IN_REGEX_MATCH_RULE:{code:400,description:_e.MISSING_REGEX_IN_REGEX_MATCH_RULE},INVALID_REGEX_IN_REGEX_MATCH_RULE:{code:400,description:_e.INVALID_REGEX_IN_REGEX_MATCH_RULE},MISSING_MIN_AND_MAX_IN_LENGTH_MATCH_RULE:{code:400,description:_e.MISSING_MIN_AND_MAX_IN_LENGTH_MATCH_RULE},MISSING_ELEMENT_IN_ELEMENT_MATCH_RULE:{code:400,description:_e.MISSING_ELEMENT_IN_ELEMENT_MATCH_RULE},INVALID_ELEMENT_IN_ELEMENT_MATCH_RULE:{code:400,description:_e.INVALID_ELEMENT_IN_ELEMENT_MATCH_RULE},ELEMENT_NOT_MOUNTED_IN_ELEMENT_MATCH_RULE:{code:400,description:_e.ELEMENT_NOT_MOUNTED_IN_ELEMENT_MATCH_RULE},EMPTY_ELEMENT_IN_MOUNT:{code:400,description:_e.EMPTY_ELEMENT_IN_MOUNT},INVALID_TABLE_IN_UPSERT_OPTION:{code:400,description:_e.INVALID_TABLE_IN_UPSERT_OPTION},INVALID_COLUMN_IN_UPSERT_OPTION:{code:400,description:_e.INVALID_COLUMN_IN_UPSERT_OPTION},INVALID_UPSERT_OPTION_TYPE:{code:400,description:_e.INVALID_UPSERT_OPTION_TYPE},EMPTY_UPSERT_OPTIONS_ARRAY:{code:400,description:_e.EMPTY_UPSERT_OPTIONS_ARRAY},INVALID_UPSERT_OPTION_OBJECT_TYPE:{code:400,description:_e.INVALID_UPSERT_OPTION_OBJECT_TYPE},MISSING_TABLE_IN_UPSERT_OPTION:{code:400,description:_e.MISSING_TABLE_IN_UPSERT_OPTION},MISSING_COLUMN_IN_UPSERT_OPTION:{code:400,description:_e.MISSING_COLUMN_IN_UPSERT_OPTION},INVALID_RECORD_COLUMN_VALUE_TYPE:{code:400,description:_e.INVALID_RECORD_COLUMN_VALUE_TYPE},INVALID_COLUMN_VALUES_TYPE:{code:400,description:_e.INVALID_COLUMN_VALUES_TYPE},EMPTY_RECORD_COLUMN_VALUES:{code:400,description:_e.EMPTY_RECORD_COLUMN_VALUES},EMPTY_COLUMN_VALUE:{code:400,description:_e.EMPTY_COLUMN_VALUE},MISSING_IDS_OR_COLUMN_VALUES_IN_GET:{code:400,description:_e.MISSING_IDS_OR_COLUMN_VALUES_IN_GET},SKYFLOW_IDS_AND_COLUMN_NAME_BOTH_SPECIFIED:{code:400,description:_e.SKYFLOW_IDS_AND_COLUMN_NAME_BOTH_SPECIFIED},RECORDS_KEY_NOT_FOUND_GETBYID:{code:400,description:_e.RECORDS_KEY_NOT_FOUND_GETBYID},INVALID_RECORDS_IN_GETBYID:{code:400,description:_e.INVALID_RECORDS_IN_GETBYID},EMPTY_RECORDS_GETBYID:{code:400,description:_e.EMPTY_RECORDS_GETBYID},MISSING_IDS_IN_GETBYID:{code:400,description:_e.MISSING_IDS_IN_GETBYID},INVALID_IDS_IN_GETBYID:{code:400,description:_e.INVALID_IDS_IN_GETBYID},EMPTY_IDS_IN_GETBYID:{code:400,description:_e.EMPTY_IDS_IN_GETBYID},INVALID_SKYFLOWID_TYPE_IN_GETBYID:{code:400,description:_e.INVALID_SKYFLOWID_TYPE_IN_GETBYID},MISSING_TABLE_IN_GETBYID:{code:400,description:_e.MISSING_TABLE_IN_GETBYID},INVALID_TABLE_IN_GETBYID:{code:400,description:_e.INVALID_TABLE_IN_GETBYID},MISSING_REDACTION_IN_GETBYID:{code:400,description:_e.MISSING_REDACTION_IN_GETBYID},INVALID_REDACTION_TYPE_IN_GETBYID:{code:400,description:_e.INVALID_REDACTION_TYPE_IN_GETBYID},EMPTY_SKYFLOWID_IN_GETBYID:{code:400,description:_e.EMPTY_SKYFLOWID_IN_GETBYID},EMPTY_TABLE_IN_GETBYID:{code:400,description:_e.EMPTY_TABLE_IN_GETBYID},EMPTY_REDACTION_TYPE_IN_GETBYID:{code:400,description:_e.EMPTY_REDACTION_TYPE_IN_GETBYID},MISSING_COMPOSABLE_LAYOUT_KEY:{code:400,description:_e.MISSING_COMPOSABLE_LAYOUT_KEY},EMPTY_COMPOSABLE_LAYOUT_ARRAY:{code:400,description:_e.EMPTY_COMPOSABLE_LAYOUT_ARRAY},INVALID_COMPOSABLE_LAYOUT_TYPE:{code:400,description:_e.INVALID_COMPOSABLE_LAYOUT_TYPE},NEGATIVE_VALUES_COMPOSABLE_LAYOUT:{code:400,description:_e.NEGATIVE_VALUES_COMPOSABLE_LAYOUT},MISMATCH_ELEMENT_COUNT_LAYOUT_SUM:{code:400,description:_e.MISMATCH_ELEMENT_COUNT_LAYOUT_SUM},MISSING_COMPOSABLE_CONTAINER_OPTIONS:{code:400,description:_e.MISSING_COMPOSABLE_CONTAINER_OPTIONS},INVALID_COMPOSABLE_CONTAINER_OPTIONS:{code:400,description:_e.INVALID_COMPOSABLE_CONTAINER_OPTIONS},COMPOSABLE_CONTAINER_NOT_MOUNTED:{code:400,description:_e.COMPOSABLE_CONTAINER_NOT_MOUNTED},INVALID_BOOLEAN_OPTIONS:{code:400,description:_e.INVALID_BOOLEAN_OPTIONS},EMPTY_COLLECT_CUSTOM_FORMAT:{code:400,description:_e.EMPTY_COLLECT_CUSTOM_FORMAT},INVALID_INPUT_OPTIONS_FORMAT:{code:400,description:_e.INVALID_INPUT_OPTIONS_FORMAT},INVALID_INPUT_OPTIONS_TRANSLATION:{code:400,description:_e.INVALID_INPUT_OPTIONS_TRANSLATION}},mt=(e,t)=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"records"))throw new Tt(Ot.RECORDS_KEY_NOT_FOUND,[],!0);const{records:i}=e;if(!i||!Array.isArray(i))throw new Tt(Ot.INVALID_RECORDS_IN_INSERT,[],!0);if(0===i.length)throw new Tt(Ot.EMPTY_RECORDS_IN_INSERT,[],!0);if(i.forEach(((e,t)=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"table"))throw new Tt(Ot.MISSING_TABLE_IN_INSERT,[`${t}`],!0);if(!e.table)throw new Tt(Ot.EMPTY_TABLE_IN_INSERT,[`${t}`],!0);if(!("string"==typeof e.table||e.table instanceof String))throw new Tt(Ot.INVALID_TABLE_IN_INSERT,[`${t}`],!0);if(!Object.prototype.hasOwnProperty.call(e,"fields"))throw new Tt(Ot.MISSING_FIELDS_IN_INSERT,[`${t}`],!0);if(!e.fields)throw new Tt(Ot.EMPTY_FIELDS_IN_INSERT,[`${t}`],!0);if("object"!=typeof e.fields||Array.isArray(e.fields))throw new Tt(Ot.INVALID_FIELDS_IN_INSERT,[`${t}`],!0)})),t&&t.tokens&&"boolean"!=typeof t.tokens)throw new Tt(Ot.INVALID_TOKENS_IN_INSERT,[],!0)},vt=e=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"records"))throw new Tt(Ot.RECORDS_KEY_NOT_FOUND_IN_ADDITIONAL_FIELDS,[],!0);const{records:t}=e;if(!t||!Array.isArray(t))throw new Tt(Ot.INVALID_RECORDS_IN_ADDITIONAL_FIELDS,[],!0);if(0===t.length)throw new Tt(Ot.EMPTY_RECORDS_IN_ADDITIONAL_FIELDS,[],!0);t.forEach(((e,t)=>{var i,n,o,s;if(!e||!Object.prototype.hasOwnProperty.call(e,"table"))throw new Tt(Ot.MISSING_TABLE_IN_ADDITIONAL_FIELDS,[`${t}`],!0);if(!e.table)throw new Tt(Ot.EMPTY_TABLE_IN_ADDITIONAL_FIELDS,[`${t}`],!0);if(void 0!==(null===(i=e.fields)||void 0===i?void 0:i.skyflowID)){if(!(null===(n=e.fields)||void 0===n?void 0:n.skyflowID))throw new Tt(Ot.EMPTY_SKYFLOW_ID_IN_ADDITIONAL_FIELDS,[`${t}`],!0);if(!("string"==typeof(null===(o=e.fields)||void 0===o?void 0:o.skyflowID)||(null===(s=e.fields)||void 0===s?void 0:s.skyflowID)instanceof String))throw new Tt(Ot.INVALID_SKYFLOW_ID_IN_ADDITIONAL_FIELDS,[`${t}`],!0)}if(!("string"==typeof e.table||e.table instanceof String))throw new Tt(Ot.INVALID_TABLE_IN_ADDITIONAL_FIELDS,[`${t}`],!0);if(!Object.prototype.hasOwnProperty.call(e,"fields"))throw new Tt(Ot.MISSING_FIELDS_IN_ADDITIONAL_FIELDS,[`${t}`],!0);if(!e.fields)throw new Tt(Ot.EMPTY_FIELDS_IN_ADDITIONAL_FIELDS,[`${t}`],!0);if("object"!=typeof e.fields||Array.isArray(e.fields))throw new Tt(Ot.INVALID_FIELDS_IN_ADDITIONAL_FIELDS,[`${t}`],!0)}))},At=(e,t)=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"records"))throw new Tt(Ot.RECORDS_KEY_NOT_FOUND_GET);const{records:i}=e;if(!i||!Array.isArray(i))throw new Tt(Ot.INVALID_RECORDS_IN_GET,[]);if(0===i.length)throw new Tt(Ot.EMPTY_RECORDS_GET);if(t&&Object.prototype.hasOwnProperty.call(t,"tokens")&&"boolean"!=typeof(null==t?void 0:t.tokens))throw new Tt(Ot.INVALID_TOKENS_IN_GET);i.forEach(((e,i)=>{var n,o,s;if(0===Object.keys(e).length)throw new Tt(Ot.EMPTY_RECORDS_GET);if(0===(null===(n=e.ids)||void 0===n?void 0:n.length))throw new Tt(Ot.EMPTY_IDS_IN_GET,[`${i}`]);if(!(null==e.ids||e.ids&&Array.isArray(e.ids)))throw new Tt(Ot.INVALID_IDS_IN_GET,[`${i}`]);if(null===(o=e.ids)||void 0===o||o.forEach((e=>{if(!e)throw new Tt(Ot.EMPTY_SKYFLOWID_IN_GET,[`${i}`]);if(!("string"==typeof e||e instanceof String))throw new Tt(Ot.INVALID_SKYFLOWID_TYPE_IN_GET,[`${i}`])})),!Object.prototype.hasOwnProperty.call(e,"table"))throw new Tt(Ot.MISSING_TABLE_IN_GET,[`${i}`]);if(!e.table)throw new Tt(Ot.EMPTY_TABLE_IN_GET,[`${i}`]);if(!("string"==typeof e.table||e.table instanceof String))throw new Tt(Ot.INVALID_TABLE_IN_GET,[`${i}`]);if(!t||!Object.prototype.hasOwnProperty.call(t,"tokens")||!0!==(null==t?void 0:t.tokens)){if(!Object.prototype.hasOwnProperty.call(e,"redaction"))throw new Tt(Ot.MISSING_REDACTION_IN_GET,[`${i}`]);if(!e.redaction)throw new Tt(Ot.EMPTY_REDACTION_TYPE_IN_GET,[`${i}`]);if(!Object.values(rt).includes(e.redaction))throw new Tt(Ot.INVALID_REDACTION_TYPE_IN_GET,[`${i}`])}if(!0===Object.prototype.hasOwnProperty.call(e,"ids")&&!0===Object.prototype.hasOwnProperty.call(e,"columnName"))throw new Tt(Ot.SKYFLOW_IDS_AND_COLUMN_NAME_BOTH_SPECIFIED,[`${i}`]);if(Object.prototype.hasOwnProperty.call(e,"columnName")){if(!Object.prototype.hasOwnProperty.call(e,"columnName")||!Object.prototype.hasOwnProperty.call(e,"columnValues"))throw new Tt(Ot.MISSING_RECORD_COLUMN_VALUE,[`${i}`])}else if(!1===Object.prototype.hasOwnProperty.call(e,"ids")&&!1===Object.prototype.hasOwnProperty.call(e,"columnValues"))throw new Tt(Ot.MISSING_IDS_OR_COLUMN_VALUES_IN_GET,[`${i}`]);if(0===(null===(s=e.columnValues)||void 0===s?void 0:s.length))throw new Tt(Ot.EMPTY_RECORD_COLUMN_VALUES,[`${i}`]);if(!(null==e.columnValues||e.columnValues&&Array.isArray(e.columnValues)))throw new Tt(Ot.INVALID_COLUMN_VALUES_IN_GET,[`${i}`]);if(void 0!==e.columnName&&void 0===e.columnValues)throw new Tt(Ot.MISSING_RECORD_COLUMN_VALUE,[`${i}`]);if(void 0===e.columnName&&void 0!==e.columnValues)throw new Tt(Ot.MISSING_RECORD_COLUMN_NAME,[`${i}`]);const r=e.columnName;if(null!=r&&"string"!=typeof r)throw new Tt(Ot.INVALID_RECORD_COLUMN_VALUE,[`${i}`]);const a=e.columnValues;if(null!=a){if(0===a.length||null===a)throw new Tt(Ot.EMPTY_RECORD_COLUMN_VALUES,[`${i}`]);a.forEach((e=>{if(""===e||null===e)throw new Tt(Ot.EMPTY_COLUMN_VALUE,[`${i}`]);if("string"!=typeof e)throw new Tt(Ot.INVALID_RECORD_COLUMN_VALUE_TYPE,[`${i}`])}))}if(t&&Object.prototype.hasOwnProperty.call(t,"tokens")&&!0===(null==t?void 0:t.tokens)){if(r||a)throw new Tt(Ot.TOKENS_GET_COLUMN_NOT_SUPPORTED);if(e.redaction)throw new Tt(Ot.REDACTION_WITH_TOKENS_NOT_SUPPORTED)}}))},yt=e=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"records"))throw new Tt(Ot.RECORDS_KEY_NOT_FOUND_GETBYID);const{records:t}=e;if(!t||!Array.isArray(t))throw new Tt(Ot.INVALID_RECORDS_IN_GETBYID,[]);if(0===t.length)throw new Tt(Ot.EMPTY_RECORDS_GETBYID);t.forEach(((e,t)=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"ids"))throw new Tt(Ot.MISSING_IDS_IN_GETBYID,[`${t}`]);if(!e.ids||!Array.isArray(e.ids))throw new Tt(Ot.INVALID_IDS_IN_GETBYID,[`${t}`]);if(0===e.ids.length)throw new Tt(Ot.EMPTY_IDS_IN_GETBYID,[`${t}`]);if(e.ids.forEach((e=>{if(!e)throw new Tt(Ot.EMPTY_SKYFLOWID_IN_GETBYID,[`${t}`]);if(!("string"==typeof e||e instanceof String))throw new Tt(Ot.INVALID_SKYFLOWID_TYPE_IN_GETBYID,[`${t}`])})),!Object.prototype.hasOwnProperty.call(e,"table"))throw new Tt(Ot.MISSING_TABLE_IN_GETBYID,[`${t}`]);if(!e.table)throw new Tt(Ot.EMPTY_TABLE_IN_GETBYID,[`${t}`]);if(!("string"==typeof e.table||e.table instanceof String))throw new Tt(Ot.INVALID_TABLE_IN_GETBYID,[`${t}`]);if(!Object.prototype.hasOwnProperty.call(e,"redaction"))throw new Tt(Ot.MISSING_REDACTION_IN_GETBYID,[`${t}`]);if(!e.redaction)throw new Tt(Ot.EMPTY_REDACTION_TYPE_IN_GETBYID,[`${t}`]);if(!Object.values(rt).includes(e.redaction))throw new Tt(Ot.INVALID_REDACTION_TYPE_IN_GETBYID,[`${t}`])}))},Lt=(e,t)=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"records"))throw new Tt(Ot.RECORDS_KEY_NOT_FOUND_DELETE,[],!0);const{records:i}=e;if(!i||!Array.isArray(i))throw new Tt(Ot.INVALID_RECORDS_IN_DELETE,[],!0);if(0===i.length)throw new Tt(Ot.EMPTY_RECORDS_IN_DELETE,[],!0);i.forEach(((e,t)=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"table"))throw new Tt(Ot.MISSING_TABLE_IN_DELETE,[`${t}`],!0);if(!e.table)throw new Tt(Ot.EMPTY_TABLE_IN_DELETE,[`${t}`],!0);if(!("string"==typeof e.table||e.table instanceof String))throw new Tt(Ot.INVALID_TABLE_IN_DELETE,[`${t}`],!0);if(!Object.prototype.hasOwnProperty.call(e,"id"))throw new Tt(Ot.MISSING_ID_IN_DELETE,[`${t}`],!0);if(!e.id)throw new Tt(Ot.EMPTY_ID_IN_DELETE,[`${t}`],!0);if(!("string"==typeof e.id||e.id instanceof String))throw new Tt(Ot.INVALID_ID_IN_DELETE,[`${t}`],!0)}))},Rt=e=>{let t=!0;try{new RegExp(e)}catch(e){t=!1}return t},gt=e=>{if(!Object.prototype.hasOwnProperty.call(e,"getBearerToken"))throw new Tt(Ot.GET_BEARER_TOKEN_IS_REQUIRED,[],!0)},St=(e,t)=>{if(!Object.prototype.hasOwnProperty.call(e,"type"))throw new Tt(Ot.MISSING_ELEMENT_TYPE,[],!0);if(!e.type)throw new Tt(Ot.EMPTY_ELEMENT_TYPE,[],!0);if(Object.prototype.hasOwnProperty.call(e,"altText")&&pt(ue.COLLECT_ALT_TEXT_DEPERECATED,Et.WARN,t),Object.prototype.hasOwnProperty.call(e,"skyflowID")&&"string"!=typeof e.skyflowID)throw new Tt(Ot.INVALID_SKYFLOWID_IN_COLLECT,[],!0)},Dt=e=>{if(!e||!Array.isArray(e))throw new Tt(Ot.INVALID_UPSERT_OPTION_TYPE,[],!0);if(!e.length)throw new Tt(Ot.EMPTY_UPSERT_OPTIONS_ARRAY,[],!0);e.forEach(((e,t)=>{if(!e||"object"!=typeof e)throw new Tt(Ot.INVALID_UPSERT_OPTION_OBJECT_TYPE,[t],!0);if(!Object.prototype.hasOwnProperty.call(e,"table"))throw new Tt(Ot.MISSING_TABLE_IN_UPSERT_OPTION,[t],!0);if(!e.table||"string"!=typeof e.table||!e.table.length)throw new Tt(Ot.INVALID_TABLE_IN_UPSERT_OPTION,[t],!0);if(!Object.prototype.hasOwnProperty.call(e,"column"))throw new Tt(Ot.MISSING_COLUMN_IN_UPSERT_OPTION,[t],!0);if(!e.column||"string"!=typeof e.column||!e.column.length)throw new Tt(Ot.INVALID_COLUMN_IN_UPSERT_OPTION,[t],!0)}))},Ct=e=>"boolean"==typeof e;function Pt(e){const t=e.split(":");return t.length>2?(t.pop(),t.pop(),t.join(":")):""}const bt=(e,t,i)=>{if("string"!=typeof e)return e;if(t===Me.CARD_NUMBER){if(e=e&&e.replace(/\s/g,""),!i){const t=((e="")=>{const t=e.replace(/[\s-]/g,"");let i=we.DEFAULT;return Object.entries(Be).forEach((([e,n])=>{n.regex.test(t)&&(i=e)})),i})(e),i=t!==we.DEFAULT&&t===we.AMEX?6:8;return e.length>i?e.replace(new RegExp(`.(?=.{0,${(null==e?void 0:e.length)-i-1}}$)`,"g"),"X"):e}return e}return i?e:void 0};function Mt(e){var t,i,n,o,a;if((null===(t=null==e?void 0:e.options)||void 0===t?void 0:t.customElementsURL)&&(e=>{if(!e||"https"!==e.substring(0,5).toLowerCase())return!1;try{if(new URL(e))return!0}catch(e){return!1}return!0})(null===(i=null==e?void 0:e.options)||void 0===i?void 0:i.customElementsURL)){const t=null===(n=null==e?void 0:e.options)||void 0===n?void 0:n.customElementsURL,i=new URL(t),s=`${i.protocol}//${i.hostname}`;qe.IFRAME_SECURE_ORGIN=s,qe.IFRAME_SECURE_SITE=null===(o=null==e?void 0:e.options)||void 0===o?void 0:o.customElementsURL}if("Payrails"===(null===(a=e.options)||void 0===a?void 0:a.deserializedData.vaultConfiguration.vaultType)){if(!qe.IFRAME_SECURE_ORGIN||!qe.IFRAME_SECURE_SITE){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CARD_FORM_IFRAME_NOT_FOUND);throw r.PayrailsLogger.error(e.message,{error:e,extra:{IFRAME_SECURE_ORGIN:qe.IFRAME_SECURE_ORGIN,IFRAME_SECURE_SITE:qe.IFRAME_SECURE_SITE}}),e}qe.IFRAME_SECURE_ORGIN=Ze,qe.IFRAME_SECURE_SITE=Je}}class wt{constructor(e,t,i,n){this.setAttributess=e=>{et(this.iframe,{src:e})},this.mount=e=>{var t;this.unmount();try{if("string"==typeof e){if(this.container=document.querySelector(e)||void 0,!this.container)throw new Tt(Ot.INVALID_ELEMENT_SELECTOR,[],!0)}else{if(!(e instanceof HTMLElement))throw new Tt(Ot.INVALID_ELEMENT_SELECTOR,[],!0);this.container=e}}catch(e){console.error(e)}et(this.iframe,{src:it()}),null===(t=this.container)||void 0===t||t.appendChild(this.iframe)},this.setIframeHeight=e=>{this.iframe.getAttribute("height")!==e&&this.iframe.setAttribute("height",`${e}px`)},this.unmount=()=>{this.iframe.remove()},this.name=`${e}:${i}:${n}`,this.metadata=t,this.iframe=tt({name:this.name})}}class Ut{}var kt,Yt,xt,Vt,Gt,Ft,Bt,jt,Xt,Wt,$t,zt,Kt,Ht,qt,Jt,Zt,Qt,ei,ti;const ii="Element";class ni extends Ut{constructor(e,n,o,s,r=!1,a,l,d,c){var E;super(),this.type=vn.COLLECT,kt.set(this,void 0),Yt.set(this,!1),xt.set(this,void 0),Vt.set(this,void 0),Gt.set(this,{isEmpty:!0,isComplete:!1,isValid:!1,isFocused:!1,value:void 0,isRequired:!1}),Ft.set(this,void 0),Bt.set(this,new He),jt.set(this,void 0),Xt.set(this,new st),Wt.set(this,void 0),$t.set(this,[]),zt.set(this,!1),Kt.set(this,void 0),Ht.set(this,void 0),qt.set(this,!1),this.getID=()=>t(this,kt,"f"),this.mount=e=>{var n;if(!e)throw new Tt(Ot.EMPTY_ELEMENT_IN_MOUNT,["CollectElement"],!0);const o=(e,n)=>{if(e.name===t(this,Wt,"f").name){n(t(this,Ft,"f")),t(this,ti,"f").call(this);const e=function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(i[n[o]]=e[n[o]])}return i}(t(this,xt,"f")[0],["name"]);t(this,Vt,"f").length>1?t(this,Vt,"f").forEach(((e,i)=>{t(this,jt,"f")&&t(this,jt,"f")._emit(`${Oe.READY}:${e.elementName}`,Object.assign(Object.assign({},t(this,xt,"f")[i]),{elementType:e.elementType}))})):t(this,Bt,"f")._emit(Oe.READY,Object.assign({},e)),t(this,Xt,"f").off(me+this.containerId,o),pt(`${ft(Ee.ELEMENT_MOUNTED,ii,Nt(t(this,Wt,"f").name))} `,Et.LOG,t(this,Kt,"f").logLevel),t(this,$t,"f").forEach((e=>e())),i(this,$t,[],"f")}};if(t(this,Vt,"f").length>1)t(this,Wt,"f").mount(e),t(this,Xt,"f").on(me+this.containerId,o);else{if(t(this,qt,"f"))return t(this,Wt,"f").mount(e),void t(this,Xt,"f").on(me+this.containerId,o);null===(n=t(this,jt,"f"))||void 0===n||n.on(be,(i=>{(null==i?void 0:i.containerId)===this.containerId&&(t(this,Wt,"f").mount(e),t(this,Xt,"f").on(me+this.containerId,o))}))}},this.unmount=()=>{t(this,Wt,"f").unmount()},this.update=e=>{let n=ot(e);const o=()=>{t(this,Yt,"f")&&(n={rows:[{elements:[Object.assign({},n)]}]}),i(this,Ft,si(t(this,Ft,"f"),n),"f"),i(this,Vt,ri(t(this,Ft,"f")),"f"),t(this,Yt,"f")?t(this,Xt,"f").emit(Le,{name:t(this,Wt,"f").name,options:t(this,Vt,"f")[0],isSingleElementAPI:!0}):(t(this,Vt,"f").forEach((e=>{t(this,Xt,"f").emit(Le,{name:e.elementName,options:e,isSingleElementAPI:!0})})),t(this,Xt,"f").emit(Le,{name:t(this,Wt,"f").name,options:t(this,Ft,"f"),isSingleElementAPI:!1})),t(this,ti,"f").call(this)};t(this,zt,"f")?o():t(this,$t,"f").push(o)},Jt.set(this,(e=>{t(this,Yt,"f")||t(this,Bt,"f").on(Le,(()=>{e(t(this,Vt,"f"))}),!0)})),this.updateElement=e=>{t(this,Xt,"f").emit(Le,{name:e.elementName,options:e,isSingleElementAPI:!0})},Zt.set(this,(()=>{t(this,xt,"f").forEach(((e,i)=>{if(0===i){t(this,Gt,"f").isEmpty=e.isEmpty,t(this,Gt,"f").isComplete=e.isComplete,t(this,Gt,"f").isValid=e.isValid,t(this,Gt,"f").isFocused=e.isFocused,t(this,Gt,"f").isRequired=e.isRequired,t(this,Gt,"f").value={};const n=t(this,Vt,"f")[i].elementName,o=e.value&&bt(e.value,e.elementType,t(this,Ht,"f"));t(this,Yt,"f")?t(this,Gt,"f").value=o:t(this,Gt,"f").value[n]=o}else t(this,Gt,"f").isEmpty=t(this,Gt,"f").isEmpty||e.isEmpty,t(this,Gt,"f").isComplete=t(this,Gt,"f").isComplete&&e.isComplete,t(this,Gt,"f").isValid=t(this,Gt,"f").isValid&&e.isValid,t(this,Gt,"f").isFocused=t(this,Gt,"f").isFocused||e.isFocused,t(this,Gt,"f").isRequired=t(this,Gt,"f").isRequired||e.isRequired,t(this,Gt,"f").value||(t(this,Gt,"f").value={}),t(this,Vt,"f")[i].sensitive||(t(this,Gt,"f").value[t(this,Vt,"f")[i].elementName]=e.value||"")}))})),this.getState=()=>({isEmpty:t(this,Gt,"f").isEmpty,isComplete:t(this,Gt,"f").isComplete,isValid:t(this,Gt,"f").isValid,isFocused:t(this,Gt,"f").isFocused,value:t(this,Gt,"f").value,required:t(this,Gt,"f").isRequired}),this.getOptions=()=>{let e=ot(t(this,Ft,"f"));return t(this,Yt,"f")?e=e.rows[0].elements[0]:e.rows.forEach((e=>{e.elements.forEach((e=>{delete e.elementName}))})),delete e.elementName,e},Qt.set(this,(e=>{t(this,Bt,"f").on(ye,(()=>{const i=t(this,Vt,"f").map((e=>e.elementName));t(this,Yt,"f")||i.push(t(this,Wt,"f").name),e(i)}),!0)})),ei.set(this,(()=>{t(this,Xt,"f").on(Ae,(e=>{if(t(this,Yt,"f")&&e.event===Oe.READY&&e.name===t(this,Wt,"f").name)t(this,Bt,"f")._emit(Oe.READY);else{const i=t(this,Vt,"f").length>1;t(this,Vt,"f").forEach(((n,o)=>{var s;if(e.name===n.elementName){let r="";switch(e.event){case Oe.FOCUS:r=Oe.FOCUS;break;case Oe.BLUR:r=Oe.BLUR;break;case Oe.CHANGE:r=Oe.CHANGE;break;case Oe.READY:r=Oe.READY;break;case Oe.SUBMIT:return void(null===(s=t(this,jt,"f"))||void 0===s||s._emit(Oe.SUBMIT));default:throw new Tt(Ot.INVALID_EVENT_TYPE,[],!0)}t(this,xt,"f")[o].isEmpty=e.value.isEmpty,t(this,xt,"f")[o].isValid=e.value.isValid,t(this,xt,"f")[o].isComplete=e.value.isComplete,t(this,xt,"f")[o].isFocused=e.value.isFocused,t(this,xt,"f")[o].isRequired=e.value.isRequired,Object.prototype.hasOwnProperty.call(e.value,"value")?t(this,xt,"f")[o].value=e.value.value:t(this,xt,"f")[o].value=void 0,r=i?`${r}:${e.name}`:r,t(this,Xt,"f").emit(Oe.HEIGHT+t(this,Wt,"f").name,{},(e=>{t(this,Wt,"f").setIframeHeight(e.height)})),t(this,Zt,"f").call(this);const a=Object.assign(Object.assign({},t(this,xt,"f")[o]),{elementType:n.elementType});i&&t(this,jt,"f")?t(this,jt,"f")._emit(r,a):t(this,Bt,"f")._emit(r,a)}}))}}))})),ti.set(this,(()=>{const{rows:e}=t(this,Ft,"f");e.forEach((e=>{e.elements.forEach((e=>{e.elementType!==ke.radio.name&&e.elementType!==ke.checkbox.name&&(e.value=void 0)}))})),i(this,Vt,ri(t(this,Ft,"f")),"f")})),this.containerId=s.containerId,i(this,kt,e,"f"),i(this,Kt,d,"f"),i(this,Ft,si(n),"f"),i(this,Vt,ri(n),"f"),i(this,Yt,r,"f"),c&&i(this,jt,c,"f"),i(this,Ht,It[t(this,Kt,"f").env].doesReturnValue,"f"),this.elementType=t(this,Yt,"f")?t(this,Vt,"f")[0].elementType:"group",i(this,xt,[],"f"),t(this,Vt,"f").forEach((e=>{t(this,xt,"f").push({isEmpty:!0,isComplete:!1,isValid:!1,isFocused:!1,value:t(this,Ht,"f")?"":void 0,elementType:e.elementType,name:e.elementName,isRequired:!1})})),i(this,Wt,new wt(t(this,Ft,"f").elementName,o,this.containerId,t(this,Kt,"f").logLevel),"f"),t(this,ei,"f").call(this),t(this,Qt,"f").call(this,a),t(this,Jt,"f").call(this,l),pt(ft(Ee.CREATED_ELEMENT,ii,Nt(t(this,Wt,"f").name)),Et.LOG,t(this,Kt,"f").logLevel),i(this,qt,s.isMounted,"f"),null===(E=t(this,jt,"f"))||void 0===E||E.on(be,(e=>{(null==e?void 0:e.containerId)===this.containerId&&i(this,qt,!0,"f")})),t(this,Xt,"f").on(Oe.MOUNTED,(e=>{s.type===vn.COMPOSABLE?t(this,Vt,"f").forEach((t=>{e.name===t.elementName&&(t.isMounted=!0,i(this,zt,!0,"f"))})):e.name===t(this,Vt,"f")[0].elementName&&(t(this,Vt,"f")[0].isMounted=!0,i(this,zt,!0,"f")),t(this,Xt,"f").emit(Oe.HEIGHT+t(this,Wt,"f").name,{},(e=>{t(this,Wt,"f").setIframeHeight(e.height)}))}))}on(e,i){if(!Object.values(Oe).includes(e))throw new Tt(Ot.INVALID_EVENT_LISTENER,[],!0);if(!i)throw new Tt(Ot.MISSING_HANDLER_IN_EVENT_LISTENER,[],!0);if("function"!=typeof i)throw new Tt(Ot.INVALID_HANDLER_IN_EVENT_LISTENER,[],!0);t(this,Bt,"f").on(e,(e=>{void 0===e.value&&(e.value=""),delete e.isComplete,delete e.name,i(e)}))}iframeName(){return t(this,Wt,"f").name}isMounted(){return t(this,zt,"f")}isValidElement(){for(let e=0;e<t(this,Vt,"f").length;e+=1){if(!Object.prototype.hasOwnProperty.call(t(this,Vt,"f")[e],"table"))throw new Tt(Ot.MISSING_TABLE_IN_COLLECT,[],!0);if(!t(this,Vt,"f")[e].table)throw new Tt(Ot.EMPTY_TABLE_IN_COLLECT,[],!0);if(!("string"==typeof t(this,Vt,"f")[e].table||t(this,Vt,"f")[e].table instanceof String))throw new Tt(Ot.INVALID_TABLE_IN_COLLECT,[],!0);if(!Object.prototype.hasOwnProperty.call(t(this,Vt,"f")[e],"column"))throw new Tt(Ot.MISSING_COLUMN_IN_COLLECT,[],!0);if(!t(this,Vt,"f")[e].column)throw new Tt(Ot.EMPTY_COLUMN_IN_COLLECT,[],!0);if(!("string"==typeof t(this,Vt,"f")[e].column||t(this,Vt,"f")[e].column instanceof String))throw new Tt(Ot.INVALID_COLUMN_IN_COLLECT,[],!0);if(void 0!==t(this,Vt,"f")[e].skyflowID&&!t(this,Vt,"f")[e].skyflowID)throw new Tt(Ot.EMPTY_SKYFLOW_ID_IN_ADDITIONAL_FIELDS,[],!0)}return!0}setError(e){t(this,Xt,"f").emit(De,{name:Pt(t(this,Wt,"f").name),isTriggerError:!0,clientErrorText:e})}resetError(){t(this,Xt,"f").emit(De,{name:Pt(t(this,Wt,"f").name),isTriggerError:!1})}setValue(e){t(this,Kt,"f").env!==ct.PROD?t(this,Yt,"f")&&t(this,Xt,"f").emit(Le,{name:t(this,Wt,"f").name,options:Object.assign(Object.assign({},t(this,Vt,"f")[0]),{value:e}),isSingleElementAPI:!0}):pt(ft(ue.UNABLE_TO_SET_VALUE_IN_PROD_ENV,t(this,Vt,"f")[0].elementType),Et.WARN,t(this,Kt,"f").logLevel)}clearValue(){t(this,Kt,"f").env!==ct.PROD?t(this,Yt,"f")&&t(this,Xt,"f").emit(Le,{name:t(this,Wt,"f").name,options:Object.assign(Object.assign({},t(this,Vt,"f")[0]),{value:""}),isSingleElementAPI:!0}):pt(ft(ue.UNABLE_TO_CLEAR_VALUE_IN_PROD_ENV,t(this,Vt,"f")[0].elementType),Et.WARN,t(this,Kt,"f").logLevel)}}function oi(e,t,i={}){if("group"!==e&&!Object.prototype.hasOwnProperty.call(ke,e))throw new Tt(Ot.INVALID_ELEMENT_TYPE,[],!0);if(Object.prototype.hasOwnProperty.call(t,"validations")){if(!Array.isArray(t.validations))throw new Tt(Ot.INVALID_VALIDATIONS_TYPE,[],!0);t.validations.forEach(((e,t)=>{if(!Object.prototype.hasOwnProperty.call(e,"type"))throw new Tt(Ot.MISSING_VALIDATION_RULE_TYPE,[`${t}`],!0);if(!Object.values(_t).includes(e.type))throw new Tt(Ot.INVALID_VALIDATION_RULE_TYPE,[`${t}`],!0);if(!Object.prototype.hasOwnProperty.call(e,"params"))throw new Tt(Ot.MISSING_VALIDATION_RULE_PARAMS,[`${t}`],!0);if("object"!=typeof e.params||Array.isArray(e.params)||null===e.params)throw new Tt(Ot.INVALID_VALIDATION_RULE_PARAMS,[`${t}`],!0);if(e.type===_t.REGEX_MATCH_RULE){if(!Object.prototype.hasOwnProperty.call(e.params,"regex"))throw new Tt(Ot.MISSING_REGEX_IN_REGEX_MATCH_RULE,[`${t}`],!0)}else if(e.type===_t.LENGTH_MATCH_RULE&&!Object.prototype.hasOwnProperty.call(e.params,"min")&&!Object.prototype.hasOwnProperty.call(e.params,"max"))throw new Tt(Ot.MISSING_MIN_AND_MAX_IN_LENGTH_MATCH_RULE,[`${t}`],!0)}))}if(Object.prototype.hasOwnProperty.call(i,"name")&&i.name!==t.name)throw new Error("Name attribute can't be updated");if((i=Object.assign(Object.assign({},t),i)).mask||i.replacePattern){const{type:t}=ke[e].attributes;"text"===t&&"textarea"===t&&"email"===t||(delete i.mask,delete i.replacePattern)}if(void 0===!i.mask&&!Array.isArray(i.mask))throw new Error("mask option has to be array or undefined");if(Array.isArray(i.mask)){const e=i.mask;if("string"!=typeof e[0]||e[1]&&"object"!=typeof e[1])throw new Error("mask array values has to be string")}if(Array.isArray(i.replacePattern)){const e=i.replacePattern;if("string"!=typeof e[0]||e[1]&&"string"!=typeof e[1])throw new Error("replacePatterns array values has to be string")}if((e===ke.radio.name||e===ke.checkbox.name)&&!i.value)throw new Error("Elements radio and checkbox requires value attribute");if(!(e!==ke.dropdown.name||i.options&&Array.isArray(i.options)&&0!==i.options.length))throw new Error("Element dropdown requires options attribute with an array of objects containing value and text attributes")}function si(e,t={},i=!0){return(t=Object.assign(Object.assign({},e),t)).rows.forEach(((n,o)=>{const s=n,r=e.rows[o];t.rows[o]=Object.assign(Object.assign({},r),s),s.elements.forEach(((e,t)=>{var n,o;const a=r.elements[t],l=e;if(l.elementType&&a.elementType!==l.elementType&&a.elementName&&a.elementName!==l.elementName)throw new Error(_e.CANNOT_CHANGE_ELEMENT);oi(a.elementType,a,l),s.elements[t]=Object.assign(Object.assign(Object.assign({},a),l),{elementName:a.elementName});const d=l.classes||{},c=l.styles||{};c.base=Object.assign(Object.assign({},Ge),c.base),l.classes=d,l.styles=c;const E=(null===(n=null==l?void 0:l.labelStyles)||void 0===n?void 0:n.classes)||{},_=(null===(o=null==l?void 0:l.labelStyles)||void 0===o?void 0:o.styles)||{};i&&function(e,t){Object.values(Fe).forEach((i=>{if(e[i]||t[i])switch(i){case Fe.BASE:t[i]=Object.assign({},t[i]);break;case Fe.FOCUS:t[Fe.BASE]=Object.assign(Object.assign({},t[Fe.BASE]),{":focus":Object.assign({},t[Fe.BASE]&&t[Fe.BASE][":focus"])});break;case Fe.WEBPACKAUTOFILL:t[Fe.BASE]=Object.assign(Object.assign({},t[Fe.BASE]),{":-webkit-autofill":Object.assign({},t[Fe.BASE]&&t[Fe.BASE][":-webkit-autofill"])});break;default:t[i]=Object.assign(Object.assign({},t[Fe.BASE]),t[i])}})),Object.keys(t).forEach((e=>{const i=t[e][":-webkit-autofill"];"object"==typeof i&&Object.keys(i).forEach((e=>{i[e]&&!i[e].includes("!important")&&(i[e]=`${i[e]} !important`)}))}))}(E,_),l.labelStyles={labelClasses:E},l.labelStyles.styles=_}))})),t}kt=new WeakMap,Yt=new WeakMap,xt=new WeakMap,Vt=new WeakMap,Gt=new WeakMap,Ft=new WeakMap,Bt=new WeakMap,jt=new WeakMap,Xt=new WeakMap,Wt=new WeakMap,$t=new WeakMap,zt=new WeakMap,Kt=new WeakMap,Ht=new WeakMap,qt=new WeakMap,Jt=new WeakMap,Zt=new WeakMap,Qt=new WeakMap,ei=new WeakMap,ti=new WeakMap;const ri=e=>{const{rows:t}=e,i=[];return t.forEach((e=>{e.elements.forEach((e=>{i.push(e)}))})),i},ai=e=>{const t=e.validations;return t&&Array.isArray(t)&&t.length>0&&t.forEach(((e,t)=>{if(e&&e.type===_t.ELEMENT_VALUE_MATCH_RULE){if(e.params&&!Object.prototype.hasOwnProperty.call(e.params,"element"))throw new Tt(Ot.MISSING_ELEMENT_IN_ELEMENT_MATCH_RULE,[`${t}`],!0);if(e.params&&(null==e.params.element||!(e.params.element instanceof ni)))throw new Tt(Ot.INVALID_ELEMENT_IN_ELEMENT_MATCH_RULE,[`${t}`],!0);e.params&&e.params.element&&e.params.element instanceof ni&&(e.params.element=e.params.element.iframeName())}else if(e&&e.type===_t.REGEX_MATCH_RULE){if(e.params&&e.params.regex&&!Rt(e.params.regex))throw new Tt(Ot.INVALID_REGEX_IN_REGEX_MATCH_RULE,[`${t}`],!0);e.params&&e.params.regex&&Rt(e.params.regex)&&(e.params.regex=e.params.regex.toString())}})),t},li=(e,t,i)=>{let n=Object.assign({required:!1},t);if((Object.prototype.hasOwnProperty.call(n,"format")||Object.prototype.hasOwnProperty.call(n,"translation"))&&(ze.includes(e)?(pt(ft(ue.INPUT_FORMATTING_NOT_SUPPROTED,e),Et.WARN,i),null==n||delete n.format,null==n||delete n.translation):e===ke.INPUT_FIELD.name&&((e=>{if(e){if(Object.prototype.hasOwnProperty.call(e,"format")&&"string"!=typeof e.format)throw new Tt(Ot.INVALID_INPUT_OPTIONS_FORMAT,[],!0);if(Object.prototype.hasOwnProperty.call(e,"translation")&&("object"!=typeof e.translation||"[object Object]"!==Object.prototype.toString.call(e.translation)))throw new Tt(Ot.INVALID_INPUT_OPTIONS_TRANSLATION,[],!0)}})(t),n=Object.assign(Object.assign({},n),{mask:[n.format,n.translation?n.translation:Ke]}),null==n||delete n.format,null==n||delete n.translation)),e===ke.CARD_NUMBER.name){Object.prototype.hasOwnProperty.call(n,"enableCardIcon")||(n=Object.assign(Object.assign({},n),{enableCardIcon:!0}));let e=" ";(null==n?void 0:n.format)===Ye&&(e="-"),n=Object.assign(Object.assign({},n),{cardSeperator:e}),null==n||delete n.format,null==n||delete n.translation}else if(e===ke.EXPIRATION_DATE.name){let e=!1;n.format&&(e=!!(o=n.format.toUpperCase())&&Xe.includes(o),e||pt(ft(ue.INVALID_EXPIRATION_DATE_FORMAT,Xe.toString()),Et.WARN,i)),n=Object.assign(Object.assign({},n),{format:e?n.format.toUpperCase():je}),null==n||delete n.translation}else if(e===ke.EXPIRATION_YEAR.name){let e=!1;n.format&&(e=(e=>!!e&&We.includes(e))(n.format.toUpperCase()),e||pt(ft(ue.INVALID_EXPIRATION_YEAR_FORMAT,We.toString()),Et.WARN,i)),n=Object.assign(Object.assign({},n),{format:e?n.format.toUpperCase():"YY"}),null==n||delete n.translation}var o;if(Object.prototype.hasOwnProperty.call(n,"enableCardIcon")&&!Ct(n.enableCardIcon))throw new Tt(Ot.INVALID_BOOLEAN_OPTIONS,["enableCardIcon"],!0);if(Object.prototype.hasOwnProperty.call(n,"enableCopy")&&!Ct(n.enableCopy))throw new Tt(Ot.INVALID_BOOLEAN_OPTIONS,["enableCopy"],!0);if(Object.prototype.hasOwnProperty.call(n,"required")&&!Ct(n.required))throw new Tt(Ot.INVALID_BOOLEAN_OPTIONS,["required"],!0);return n};function di(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=crypto.getRandomValues(new Uint32Array(1))[0]/Math.pow(2,32)*16|0;return("x"===e?t:3&t|8).toString(16)}))}class ci{}var Ei,_i,ui,Ii,hi,pi,fi,Ni,Ti,Oi,mi,vi;const Ai="CollectContainer";class yi extends ci{constructor(e,n,o,s){super(),Ei.set(this,void 0),_i.set(this,{}),ui.set(this,void 0),Ii.set(this,void 0),hi.set(this,void 0),this.type=vn.COLLECT,pi.set(this,void 0),fi.set(this,!1),this.create=(e,i={required:!1})=>{St(e,t(this,Ii,"f").logLevel);const n=ai(e),o=li(e.type,i,t(this,Ii,"f").logLevel),s={rows:[{elements:[Object.assign(Object.assign(Object.assign({elementType:e.type,name:e.column,accept:i.allowedFileType},e),o),{validations:n})]}]};return t(this,Ni,"f").call(this,s,!0)},Ni.set(this,((e,i=!1)=>{const n=[],o=ot(e);if(o.rows.forEach((e=>{e.elements.forEach((e=>{const t=e,{elementType:i}=t;oi(i,t),t.sensitive=t.sensitive||ke[i].sensitive,t.replacePattern=t.replacePattern||ke[i].replacePattern,t.mask=t.mask||ke[i].mask,t.isMounted=!1,t.elementType!==ke.radio.name&&t.elementType!==ke.checkbox.name||(t.elementName=`${t.elementName}:${btoa(t.value)}`),t.elementName=`${he}:${t.elementType}:${btoa(di())}`,t.label=e.label,t.skyflowID=e.skyflowID,n.push(t)}))})),o.elementName=i?n[0].elementName:`${he}:group:${btoa(o.name)}`,i&&!t(this,_i,"f")[n[0].elementName]&&t(this,vi,"f").call(this,n[0].name))throw new Tt(Ot.UNIQUE_ELEMENT_NAME,[`${n[0].name}`],!0);let s=t(this,_i,"f")[o.elementName];if(s)i?s.update(n[0]):s.update(o);else{const e=di();s=new ni(e,o,t(this,ui,"f"),{containerId:t(this,Ei,"f"),isMounted:t(this,fi,"f"),type:this.type},i,t(this,Oi,"f"),t(this,mi,"f"),t(this,Ii,"f"),t(this,pi,"f")),t(this,_i,"f")[o.elementName]=s,t(this,hi,"f")[e]=s}return i||n.forEach((e=>{const i=e.elementName;t(this,_i,"f")[i]?t(this,_i,"f")[i].update(e):t(this,_i,"f")[i]=this.create(e.elementType,s)})),s})),Ti.set(this,(e=>{Object.keys(t(this,_i,"f")).forEach((i=>{i===e&&delete t(this,_i,"f")[i]}))})),Oi.set(this,(e=>{e.forEach((e=>{t(this,Ti,"f").call(this,e)}))})),mi.set(this,(e=>{e.forEach((e=>{t(this,_i,"f")[e.elementName]&&t(this,_i,"f")[e.elementName].update(e)}))})),vi.set(this,(e=>{const i=Object.keys(t(this,_i,"f"));for(let t=0;t<i.length;t+=1)if(atob(i[t].split(":")[2])===e)return!0;return!1})),this.collect=(e={tokens:!0})=>new Promise(((i,n)=>{try{gt(t(this,ui,"f").clientJSON.config);if(Object.values(t(this,_i,"f")).forEach((e=>{if(!e.isMounted())throw new Tt(Ot.ELEMENTS_NOT_MOUNTED,[],!0);e.isValidElement()})),Object.prototype.hasOwnProperty.call(e,"tokens")&&!Ct(e.tokens))throw new Tt(Ot.INVALID_TOKENS_IN_COLLECT,[],!0);(null==e?void 0:e.additionalFields)&&vt(e.additionalFields),(null==e?void 0:e.upsert)&&Dt(null==e?void 0:e.upsert),ce.emit(ve+t(this,Ei,"f"),Object.assign(Object.assign({},e),{tokens:void 0===(null==e?void 0:e.tokens)||e.tokens}),(e=>{!e||(null==e?void 0:e.error)?(pt(`${JSON.stringify(null==e?void 0:e.error)}`,Et.ERROR,t(this,Ii,"f").logLevel),n(null==e?void 0:e.error)):(pt(ft(Ee.COLLECT_SUBMIT_SUCCESS,Ai),Et.LOG,t(this,Ii,"f").logLevel),i(e))})),pt(ft(Ee.EMIT_EVENT,Ai,ve),Et.LOG,t(this,Ii,"f").logLevel)}catch(e){pt(`${e.message}`,Et.ERROR,t(this,Ii,"f").logLevel),n(e)}})),i(this,Ei,di(),"f"),i(this,ui,n,"f"),i(this,hi,o,"f"),i(this,Ii,s,"f"),i(this,pi,new He,"f");const r=tt({name:`${Ie}:${t(this,Ei,"f")}:${t(this,Ii,"f").logLevel}`});et(r,{src:it()}),nt(r,Object.assign({},Ve)),pt(ft(Ee.CREATE_COLLECT_CONTAINER,Ai),Et.LOG,t(this,Ii,"f").logLevel);const a=(e,o)=>{e.name===Ie+t(this,Ei,"f")&&(o(Object.assign(Object.assign({},n),{clientJSON:Object.assign(Object.assign({},n.clientJSON),{config:Object.assign({},n.clientJSON.config)}),context:s})),i(this,fi,!0,"f"),t(this,pi,"f")._emit(be,{containerId:t(this,Ei,"f")}),ce.target(qe.IFRAME_SECURE_ORGIN).off(me+t(this,Ei,"f"),a))};ce.target(qe.IFRAME_SECURE_ORGIN).on(me+t(this,Ei,"f"),a),document.body.append(r)}}Ei=new WeakMap,_i=new WeakMap,ui=new WeakMap,Ii=new WeakMap,hi=new WeakMap,pi=new WeakMap,fi=new WeakMap,Ni=new WeakMap,Ti=new WeakMap,Oi=new WeakMap,mi=new WeakMap,vi=new WeakMap;var Li=function(e,t){for(var i,n=-1,o=e.length;++n<o;){var s=t(e[n]);void 0!==s&&(i=void 0===i?s:i+s)}return i},Ri=function(e){return e};var gi,Si,Di,Ci,Pi,bi,Mi,wi,Ui,ki,Yi,xi,Vi,Gi,Fi,Bi,ji,Xi,Wi,$i,zi,Ki,Hi,qi=o((function(e){return e&&e.length?Li(e,Ri):0}));class Ji{constructor(e,n){gi.set(this,void 0),Si.set(this,void 0),this.type=vn.COMPOSABLE,Di.set(this,!1),Ci.set(this,!1),this.update=e=>{i(this,Ci,!0,"f"),t(this,Di,"f")?(t(this,Si,"f")._emit(Ce,{elementName:t(this,gi,"f"),elementOptions:e}),i(this,Ci,!1,"f")):t(this,Ci,"f")&&t(this,Si,"f").on(`${lt.READY}:${t(this,gi,"f")}`,(()=>{t(this,Si,"f")._emit(Ce,{elementName:t(this,gi,"f"),elementOptions:e}),i(this,Di,!0,"f"),i(this,Ci,!1,"f")}))},i(this,gi,e,"f"),i(this,Si,n,"f"),t(this,Si,"f").on(`${lt.READY}:${t(this,gi,"f")}`,(()=>{i(this,Di,!0,"f")}))}on(e,i){if(!Object.values(Oe).includes(e))throw new Tt(Ot.INVALID_EVENT_LISTENER,[],!0);if(!i)throw new Tt(Ot.MISSING_HANDLER_IN_EVENT_LISTENER,[],!0);if("function"!=typeof i)throw new Tt(Ot.INVALID_HANDLER_IN_EVENT_LISTENER,[],!0);t(this,Si,"f").on(`${e}:${t(this,gi,"f")}`,(e=>{void 0===e.value&&(e.value=""),delete e.isComplete,delete e.name,i(e)}))}}gi=new WeakMap,Si=new WeakMap,Di=new WeakMap,Ci=new WeakMap;const Zi="CollectContainer";class Qi extends ci{constructor(e,n,o,a){super(),Pi.set(this,void 0),bi.set(this,{}),Mi.set(this,void 0),wi.set(this,{rows:[]}),Ui.set(this,[]),ki.set(this,void 0),Yi.set(this,void 0),xi.set(this,void 0),Vi.set(this,!1),Gi.set(this,void 0),Fi.set(this,void 0),this.type=vn.COMPOSABLE,Bi.set(this,!1),ji.set(this,{}),this.create=(e,i={required:!1})=>{St(e,t(this,ki,"f").logLevel);const n=ai(e),o=li(e.type,i,t(this,ki,"f").logLevel),s=`${he}:${e.type}:${btoa(di())}`;return t(this,Ui,"f").push(Object.assign(Object.assign(Object.assign({elementType:e.type,name:e.column},e),o),{validations:n,elementName:s})),new Ji(s,t(this,xi,"f"))},Xi.set(this,((e,n=!1)=>{const o=[];if(i(this,ji,ot(e),"f"),t(this,ji,"f").rows.forEach((e=>{e.elements.forEach((e=>{const t=e,{elementType:i}=t;oi(i,t),t.sensitive=t.sensitive||ke[i].sensitive,t.replacePattern=t.replacePattern||ke[i].replacePattern,t.mask=t.mask||ke[i].mask,t.isMounted=!1,t.label=e.label,t.skyflowID=e.skyflowID,o.push(t)}))})),t(this,ji,"f").elementName=n?o[0].elementName:`${he}:group:${btoa(t(this,ji,"f").name)}`,n&&!t(this,bi,"f")[o[0].elementName]&&t(this,Ki,"f").call(this,o[0].name))throw new Tt(Ot.UNIQUE_ELEMENT_NAME,[`${o[0].name}`],!0);let s=t(this,bi,"f")[t(this,ji,"f").elementName];if(s)n?s.update(o[0]):s.update(t(this,ji,"f"));else{const e=di();s=new ni(e,t(this,ji,"f"),t(this,Mi,"f"),{containerId:t(this,Pi,"f"),isMounted:t(this,Bi,"f"),type:this.type},!0,t(this,$i,"f"),t(this,zi,"f"),t(this,ki,"f"),t(this,xi,"f")),t(this,bi,"f")[t(this,ji,"f").elementName]=s,t(this,Yi,"f")[e]=s}return s})),Wi.set(this,(e=>{Object.keys(t(this,bi,"f")).forEach((i=>{i===e&&delete t(this,bi,"f")[i]}))})),$i.set(this,(e=>{e.forEach((e=>{t(this,Wi,"f").call(this,e)}))})),zi.set(this,(e=>{e.forEach((e=>{t(this,bi,"f")[e.elementName]&&t(this,bi,"f")[e.elementName].update(e)}))})),Ki.set(this,(e=>{const i=Object.keys(t(this,bi,"f"));for(let t=0;t<i.length;t+=1)if(atob(i[t].split(":")[2])===e)return!0;return!1})),this.on=(e,i)=>{if(!Object.values(Oe).includes(e))throw new Tt(Ot.INVALID_EVENT_LISTENER,[],!0);if(!i)throw new Tt(Ot.MISSING_HANDLER_IN_EVENT_LISTENER,[],!0);if("function"!=typeof i)throw new Tt(Ot.INVALID_HANDLER_IN_EVENT_LISTENER,[],!0);t(this,xi,"f").on(Oe.SUBMIT,(()=>{i()}))},this.mount=e=>{if(!e)throw new Tt(Ot.EMPTY_ELEMENT_IN_MOUNT,["CollectElement"],!0);const{layout:n}=t(this,Gi,"f");if(qi(n)!==t(this,Ui,"f").length)throw new Tt(Ot.MISMATCH_ELEMENT_COUNT_LAYOUT_SUM,[],!0);let o=0;if(n.forEach(((e,i)=>{t(this,wi,"f").rows=[...t(this,wi,"f").rows,{elements:[]}];for(let n=0;n<e;n++)t(this,wi,"f").rows[i].elements.push(t(this,Ui,"f")[o]),o++})),t(this,Gi,"f").styles&&(t(this,wi,"f").styles=Object.assign({},t(this,Gi,"f").styles)),t(this,Gi,"f").errorTextStyles&&(t(this,wi,"f").errorTextStyles=Object.assign({},t(this,Gi,"f").errorTextStyles)),t(this,Bi,"f"))return i(this,Fi,t(this,Xi,"f").call(this,t(this,wi,"f"),!1),"f"),t(this,Fi,"f").mount(e),void i(this,Vi,!0,"f");t(this,xi,"f").on(Pe+t(this,Pi,"f"),(()=>{i(this,Fi,t(this,Xi,"f").call(this,t(this,wi,"f"),!1),"f"),t(this,Fi,"f").mount(e),i(this,Vi,!0,"f")}))},this.unmount=()=>{t(this,Fi,"f").unmount()},this.collect=(e={tokens:!0})=>new Promise(((i,n)=>{try{if(gt(t(this,Mi,"f").clientJSON.config),!t(this,Vi,"f")){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CARD_FORM_COLLECT_ELEMENT_NOT_MOUNTED);throw r.PayrailsLogger.error(e.message,{error:e}),e}ri(t(this,ji,"f")).forEach((e=>{if(!(null==e?void 0:e.isMounted))throw new Tt(Ot.ELEMENTS_NOT_MOUNTED,[],!0)}));if(Object.values(t(this,bi,"f")).forEach((e=>{e.isValidElement()})),e&&e.tokens&&"boolean"!=typeof e.tokens)throw new Tt(Ot.INVALID_TOKENS_IN_COLLECT,[],!0);(null==e?void 0:e.additionalFields)&&vt(e.additionalFields),(null==e?void 0:e.upsert)&&Dt(null==e?void 0:e.upsert),ce.emit(ve+t(this,Pi,"f"),Object.assign(Object.assign({},e),{tokens:void 0===(null==e?void 0:e.tokens)||e.tokens}),(e=>{!e||(null==e?void 0:e.error)?(pt(`${JSON.stringify(null==e?void 0:e.error)}`,Et.ERROR,t(this,ki,"f").logLevel),n(null==e?void 0:e.error)):(pt(ft(Ee.COLLECT_SUBMIT_SUCCESS,Zi),Et.LOG,t(this,ki,"f").logLevel),i(e))})),pt(ft(Ee.EMIT_EVENT,Zi,ve),Et.LOG,t(this,ki,"f").logLevel)}catch(e){pt(`${e.message}`,Et.ERROR,t(this,ki,"f").logLevel),n(e)}})),Hi.set(this,(()=>{t(this,xi,"f").on(Ce,(e=>{let i;const n=t(this,Ui,"f").map(((t,n)=>t.elementName===e.elementName?(i=n,Object.assign({elementName:t.elementName},e.elementOptions)):t));t(this,Fi,"f")&&t(this,Fi,"f").updateElement(Object.assign({},n[i]))}))})),i(this,Pi,di(),"f"),i(this,Mi,n,"f"),i(this,Yi,o,"f"),i(this,ki,a,"f"),i(this,Gi,e,"f"),i(this,xi,new He,"f");const l=tt({name:`${Ie}:${t(this,Pi,"f")}:${t(this,ki,"f").logLevel}`});et(l,{src:it()}),nt(l,Object.assign({},Ve)),pt(ft(Ee.CREATE_COLLECT_CONTAINER,Zi),Et.LOG,t(this,ki,"f").logLevel);const d=(e,o)=>{e.name===Ie+t(this,Pi,"f")&&(o(Object.assign(Object.assign({},n),{clientJSON:Object.assign(Object.assign({},n.clientJSON),{config:Object.assign({},n.clientJSON.config)}),context:a})),i(this,Bi,!0,"f"),t(this,xi,"f")._emit(Pe+t(this,Pi,"f"),{containerId:t(this,Pi,"f")}),ce.target(qe.IFRAME_SECURE_ORGIN).off(me+t(this,Pi,"f"),d))};ce.target(qe.IFRAME_SECURE_ORGIN).on(me+t(this,Pi,"f"),d),document.body.append(l),t(this,Hi,"f").call(this)}}var en,tn,nn,on;Pi=new WeakMap,bi=new WeakMap,Mi=new WeakMap,wi=new WeakMap,Ui=new WeakMap,ki=new WeakMap,Yi=new WeakMap,xi=new WeakMap,Vi=new WeakMap,Gi=new WeakMap,Fi=new WeakMap,Bi=new WeakMap,ji=new WeakMap,Xi=new WeakMap,Wi=new WeakMap,$i=new WeakMap,zi=new WeakMap,Ki=new WeakMap,Hi=new WeakMap;const sn="SkyflowContainer";class rn{constructor(e,n){var o,s;en.set(this,void 0),tn.set(this,void 0),nn.set(this,!1),on.set(this,void 0),i(this,tn,e,"f"),i(this,en,(null===(s=null===(o=t(this,tn,"f").toJSON())||void 0===o?void 0:o.metaData)||void 0===s?void 0:s.uuid)||"","f"),i(this,on,n,"f");const r=tt({name:`skyflow_controller:${t(this,en,"f")}`});et(r,{src:it()}),nt(r,Object.assign({},Ve)),document.body.append(r),ce.target(qe.IFRAME_SECURE_ORGIN).on(ge+t(this,en,"f"),((e,o)=>{pt(ft(Ee.CAPTURE_PUREJS_FRAME,sn),Et.LOG,t(this,on,"f").logLevel),o({client:t(this,tn,"f"),context:n}),i(this,nn,!0,"f")})),pt(ft(Ee.PUREJS_CONTROLLER_INITIALIZED,sn),Et.LOG,t(this,on,"f").logLevel)}insert(e,i){return t(this,nn,"f")?new Promise(((n,o)=>{gt(t(this,tn,"f").config);try{pt(ft(Ee.VALIDATE_RECORDS,sn),Et.LOG,t(this,on,"f").logLevel),(null==(i=i?Object.assign(Object.assign({},i),{tokens:void 0===(null==i?void 0:i.tokens)||i.tokens}):{tokens:!0})?void 0:i.upsert)&&Dt(i.upsert),mt(e,i),ce.emit(Re+t(this,en,"f"),{type:pe,records:e,options:i},(e=>{e.error?(pt(`${JSON.stringify(e.error)}`,Et.ERROR,t(this,on,"f").logLevel),o(e.error)):n(e)})),pt(ft(Ee.EMIT_PURE_JS_REQUEST,sn,pe),Et.LOG,t(this,on,"f").logLevel)}catch(e){pt(e.message,Et.ERROR,t(this,on,"f").logLevel),o(e)}})):new Promise(((n,o)=>{try{gt(t(this,tn,"f").config),pt(ft(Ee.VALIDATE_RECORDS,sn),Et.LOG,t(this,on,"f").logLevel),(null==(i=i?Object.assign(Object.assign({},i),{tokens:void 0===(null==i?void 0:i.tokens)||i.tokens}):{tokens:!0})?void 0:i.upsert)&&Dt(i.upsert),mt(e,i),ce.target(qe.IFRAME_SECURE_ORGIN).on(ge+t(this,en,"f"),(()=>{ce.emit(Re+t(this,en,"f"),{type:pe,records:e,options:i},(e=>{e.error?(pt(`${JSON.stringify(e.error)}`,Et.ERROR,t(this,on,"f").logLevel),o(e.error)):n(e)}))})),pt(ft(Ee.EMIT_PURE_JS_REQUEST,sn,pe),Et.LOG,t(this,on,"f").logLevel)}catch(e){pt(e.message,Et.ERROR,t(this,on,"f").logLevel),o(e)}}))}getById(e){return t(this,nn,"f")?new Promise(((i,n)=>{gt(t(this,tn,"f").config);try{pt(ft(Ee.VALIDATE_GET_BY_ID_INPUT,sn),Et.LOG,t(this,on,"f").logLevel),yt(e),pt(ft(Ee.EMIT_PURE_JS_REQUEST,sn,fe),Et.LOG,t(this,on,"f").logLevel)}catch(e){pt(e.message,Et.ERROR,t(this,on,"f").logLevel),n(e)}})):new Promise(((i,n)=>{try{gt(t(this,tn,"f").config),pt(ft(Ee.VALIDATE_GET_BY_ID_INPUT,sn),Et.LOG,t(this,on,"f").logLevel),yt(e),pt(ft(Ee.EMIT_PURE_JS_REQUEST,sn,fe),Et.LOG,t(this,on,"f").logLevel)}catch(e){pt(e.message,Et.ERROR,t(this,on,"f").logLevel),n(e)}}))}get(e,i){return t(this,nn,"f")?new Promise(((n,o)=>{gt(t(this,tn,"f").config);try{pt(ft(Ee.VALIDATE_GET_INPUT,sn),Et.LOG,t(this,on,"f").logLevel),At(e,i),pt(ft(Ee.EMIT_PURE_JS_REQUEST,sn,Ne),Et.LOG,t(this,on,"f").logLevel)}catch(e){pt(e.message,Et.ERROR,t(this,on,"f").logLevel),o(e)}})):new Promise(((n,o)=>{try{gt(t(this,tn,"f").config),pt(ft(Ee.VALIDATE_GET_INPUT,sn),Et.LOG,t(this,on,"f").logLevel),At(e,i),pt(ft(Ee.EMIT_PURE_JS_REQUEST,sn,Ne),Et.LOG,t(this,on,"f").logLevel)}catch(e){pt(e.message,Et.ERROR,t(this,on,"f").logLevel),o(e)}}))}delete(e,i){return t(this,nn,"f")?new Promise(((n,o)=>{gt(t(this,tn,"f").config);try{pt(ft(Ee.VALIDATE_DELETE_INPUT,sn),Et.LOG,t(this,on,"f").logLevel),Lt(e),ce.emit(Re+t(this,en,"f"),{type:Te,records:e,options:i},(e=>{e.error?(pt(`${JSON.stringify(e.error)}`,Et.ERROR,t(this,on,"f").logLevel),o(e.error)):n(e)})),pt(ft(Ee.EMIT_PURE_JS_REQUEST,sn,Te),Et.LOG,t(this,on,"f").logLevel)}catch(e){pt(e.message,Et.ERROR,t(this,on,"f").logLevel),o(e)}})):new Promise(((n,o)=>{try{gt(t(this,tn,"f").config),pt(ft(Ee.VALIDATE_RECORDS,sn),Et.LOG,t(this,on,"f").logLevel),Lt(e),ce.target(qe.IFRAME_SECURE_ORGIN).on(ge+t(this,en,"f"),(()=>{ce.emit(Re+t(this,en,"f"),{type:Te,records:e,options:i},(e=>{e.error?(pt(`${JSON.stringify(e.error)}`,Et.ERROR,t(this,on,"f").logLevel),o(e.error)):n(e)}))})),pt(ft(Ee.EMIT_PURE_JS_REQUEST,sn,Te),Et.LOG,t(this,on,"f").logLevel)}catch(e){pt(e.message,Et.ERROR,t(this,on,"f").logLevel),o(e)}}))}}function an(e){this.message=e}en=new WeakMap,tn=new WeakMap,nn=new WeakMap,on=new WeakMap,an.prototype=new Error,an.prototype.name="InvalidCharacterError";var ln="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new an("'atob' failed: The string to be decoded is not correctly encoded.");for(var i,n,o=0,s=0,r="";n=t.charAt(s++);~n&&(i=o%4?64*i+n:n,o++%4)?r+=String.fromCharCode(255&i>>(-2*o&6)):0)n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(n);return r};function dn(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(ln(e).replace(/(.)/g,(function(e,t){var i=t.charCodeAt(0).toString(16).toUpperCase();return i.length<2&&(i="0"+i),"%"+i})))}(t)}catch(e){return ln(t)}}function cn(e){this.message=e}cn.prototype=new Error,cn.prototype.name="InvalidTokenError";const En=e=>{try{if(!e)return!1;if(t=e,"[object String]"!==Object.prototype.toString.call(t))return!1;let i=!1;const n=function(e,t){if("string"!=typeof e)throw new cn("Invalid token specified");var i=!0===(t=t||{}).header?0:1;try{return JSON.parse(dn(e.split(".")[i]))}catch(e){throw new cn("Invalid token specified: "+e.message)}}(e),o=(new Date).getTime()/1e3,s=n.exp;return s&&o>s&&(i=!0),!i}catch(e){return!1}var t};var _n,un,In,hn,pn,fn,Nn,Tn,On,mn,vn,An={name:"skyflow-js",preferGlobal:!0,analyze:!1,version:"1.30.1",author:"Skyflow",description:"Skyflow JavaScript SDK"};class yn{constructor(e,n){_n.set(this,void 0),this.request=e=>new Promise(((i,n)=>{var o,s,r,a;const l=new XMLHttpRequest;if(l){if(l.open(e.requestMethod,e.url),e.headers){const i=function(e,t,i){var n,o,s,r,a;const l={sdkName:e.name,sdkVersion:e.version},d=function(e,t){return""!==e?`${e}`:`${t.sdkName}@${t.sdkVersion}`}(t.sdkVersion,l),c=function(e){var t,i,n,o,s,r,a,l,d,c,E,_;let u=null,I=null;return/Windows/.test(e)?(u="Windows",I=null!==(i=null===(t=/Windows NT (\d+\.\d+)/.exec(e))||void 0===t?void 0:t[1])&&void 0!==i?i:null):/Android/.test(e)?(u="Android",I=null!==(o=null===(n=/Android (\d+\.\d+)/.exec(e))||void 0===n?void 0:n[1])&&void 0!==o?o:null):/iOS/.test(e)||/iPhone/.test(e)?(u="iOS",I=null!==(a=null===(r=null===(s=/OS (\d+[._]\d+[._]?\d*)/.exec(e))||void 0===s?void 0:s[1])||void 0===r?void 0:r.replace(/_/g,"."))&&void 0!==a?a:null):/Mac OS X/.test(e)?(u="Mac OS X",I=null!==(c=null===(d=null===(l=/Mac OS X (\d+([._]\d+)*)/.exec(e))||void 0===l?void 0:l[1])||void 0===d?void 0:d.replace(/_/g,"."))&&void 0!==c?c:null):/Linux/.test(e)&&(u="Linux",I=null!==(_=null===(E=/Linux( \w+)*?\/([\w.]+)/.exec(e))||void 0===E?void 0:E[2])&&void 0!==_?_:null),{os:u,version:I}}(i.userAgent),E=function(e){let t="",i="";if(-1!==e.indexOf("MSIE")||-1!==e.indexOf("Trident/")){t="Internet Explorer";const n=e.match(/(MSIE|rv:)\s?([\d.]+)/);n&&(i=n[2])}else if(-1!==e.indexOf("Edge")){t="Microsoft Edge";const n=e.match(/Edge\/([\d.]+)/);n&&(i=n[1])}else if(-1!==e.indexOf("Chrome")){t="Google Chrome";const n=e.match(/Chrome\/([\d.]+)/);n&&(i=n[1])}else if(-1!==e.indexOf("Firefox")){t="Mozilla Firefox";const n=e.match(/Firefox\/([\d.]+)/);n&&(i=n[1])}else if(-1!==e.indexOf("Safari")){t="Apple Safari";const n=e.match(/Version\/([\d.]+)/);n&&(i=n[1])}return{browserName:t,browserVersion:i}}(i.userAgent);var _;return{sdk_name_version:d,sdk_client_device_model:(_=i.userAgent,/(ipad|tablet)/gi.test(_)?"tablet":/Mobile|iP(hone|od)|Android|BlackBerry|IEMobile/.test(_)?"mobile":"desktop"),sdk_os_version:null!==(n=i.platform)&&void 0!==n?n:`${null!==(o=c.os)&&void 0!==o?o:""} ${null!==(s=c.version)&&void 0!==s?s:""}`,sdk_runtime_details:`${null!==(r=E.browserName)&&void 0!==r?r:""} ${null!==(a=E.browserVersion)&&void 0!==a?a:""}`}}(An,t(this,_n,"f"),navigator);e.headers["sky-metadata"]=JSON.stringify(i);const{headers:n}=e;Object.keys(e.headers).forEach((e=>{"content-type"===e&&n[e]&&n[e].includes($e.FORMDATA)||l.setRequestHeader(e,n[e])}))}(null===(s=null===(o=e.headers)||void 0===o?void 0:o["content-type"])||void 0===s?void 0:s.includes($e.FORMURLENCODED))||(null===(a=null===(r=e.headers)||void 0===r?void 0:r["content-type"])||void 0===a?void 0:a.includes($e.FORMDATA))?l.send(e.body):l.send(JSON.stringify(Object.assign({},e.body))),l.onload=()=>{var e,t,o;const s=l.getAllResponseHeaders().trim().split(/[\r\n]+/),r={};s.forEach((e=>{const t=e.split(": "),i=t.shift()||"",n=t.join(": ");r[i]=n}));const a=r["content-type"],d=r["x-request-id"];if(l.status<200||l.status>=400)if(a&&a.includes("application/json")){let i=JSON.parse(l.response);(null===(e=null==i?void 0:i.error)||void 0===e?void 0:e.message)&&(i=d?`${null===(t=null==i?void 0:i.error)||void 0===t?void 0:t.message} - requestId: ${d}`:null===(o=null==i?void 0:i.error)||void 0===o?void 0:o.message),n(new Tt({code:l.status,description:i},[],!0))}else a&&a.includes("text/plain")?n(new Tt({code:l.status,description:d?`${l.response} - requestId: ${d}`:l.response},[],!0)):n(new Tt({code:l.status,description:d?`${_e.ERROR_OCCURED} - requestId: ${d}`:_e.ERROR_OCCURED},[],!0));a&&a.includes("application/json")&&i(JSON.parse(l.response)),i(l.response)},l.onerror=()=>{n(new Tt(Ot.NETWORK_ERROR,[],!0))}}else n(new Tt(Ot.CONNECTION_ERROR,[],!0))})),this.config=e,i(this,_n,n,"f")}toJSON(){return{config:this.config,metaData:t(this,_n,"f")}}static fromJSON(e){return new yn(e.config,e.metaData)}}_n=new WeakMap,function(e){e.COLLECT="COLLECT",e.COMPOSABLE="COMPOSABLE"}(vn||(vn={}));const Ln="Skyflow";class Rn{constructor(e){var n,o;un.set(this,void 0),In.set(this,di()),hn.set(this,{uuid:t(this,In,"f"),clientDomain:window.location.origin}),pn.set(this,void 0),fn.set(this,""),Nn.set(this,void 0),Tn.set(this,void 0),On.set(this,void 0),mn.set(this,void 0);const s=localStorage.getItem("sdk_version")||"";t(this,hn,"f").sdkVersion=s,i(this,un,new yn(Object.assign({},e),t(this,hn,"f")),"f"),i(this,Tn,(null===(n=null==e?void 0:e.options)||void 0===n?void 0:n.logLevel)||dt.ERROR,"f"),i(this,On,(null===(o=null==e?void 0:e.options)||void 0===o?void 0:o.env)||ct.PROD,"f"),i(this,mn,{},"f"),i(this,pn,new rn(t(this,un,"f"),{logLevel:t(this,Tn,"f"),env:t(this,On,"f")}),"f");ce.target(qe.IFRAME_SECURE_ORGIN).on(Se+t(this,In,"f"),((e,n)=>{pt(ft(Ee.CAPTURED_BEARER_TOKEN_EVENT,Ln),Et.LOG,t(this,Tn,"f")),!t(this,un,"f").config.getBearerToken||t(this,fn,"f")&&En(t(this,fn,"f"))?(pt(ft(Ee.REUSE_BEARER_TOKEN,Ln),Et.LOG,t(this,Tn,"f")),n({authToken:t(this,fn,"f")})):t(this,un,"f").config.getBearerToken().then((e=>{En(e)?(pt(ft(Ee.BEARER_TOKEN_RESOLVED,Ln),Et.LOG,t(this,Tn,"f")),i(this,fn,e,"f"),n({authToken:t(this,fn,"f")})):(pt(_e.INVALID_BEARER_TOKEN,Et.ERROR,t(this,Tn,"f")),n({error:_e.INVALID_BEARER_TOKEN}))})).catch((e=>{pt(_e.BEARER_TOKEN_REJECTED,Et.ERROR,t(this,Tn,"f")),n({error:e})}))})),pt(ft(Ee.BEARER_TOKEN_LISTENER,Ln),Et.LOG,t(this,Tn,"f")),pt(ft(Ee.CURRENT_ENV,Ln,t(this,On,"f")),Et.LOG,t(this,Tn,"f")),pt(ft(Ee.CURRENT_LOG_LEVEL,Ln,t(this,Tn,"f")),Et.LOG,t(this,Tn,"f"))}static init(e){var t;const i=(null===(t=null==e?void 0:e.options)||void 0===t?void 0:t.logLevel)||dt.ERROR;Mt(e),pt(ft(Ee.INITIALIZE_CLIENT,Ln),Et.LOG,i);const n=e;var o;n.vaultURL="string"!=typeof(o=e.vaultURL)?o:"/"===(null==o?void 0:o.trim().slice(-1))?o.slice(0,-1):o.trim();const s=new Rn(n);return pt(ft(Ee.CLIENT_INITIALIZED,Ln),Et.LOG,i),s}container(e,i){switch(e){case vn.COLLECT:{const n=new yi(i,Object.assign(Object.assign({},t(this,hn,"f")),{clientJSON:t(this,un,"f").toJSON(),containerType:e}),t(this,mn,"f"),{logLevel:t(this,Tn,"f"),env:t(this,On,"f")});return pt(ft(Ee.COLLECT_CONTAINER_CREATED,Ln),Et.LOG,t(this,Tn,"f")),n}case vn.COMPOSABLE:{(e=>{if(!e)throw new Tt(Ot.MISSING_COMPOSABLE_CONTAINER_OPTIONS,[],!0);if("object"!=typeof e)throw new Tt(Ot.INVALID_COMPOSABLE_CONTAINER_OPTIONS,[],!0);if(!Object.prototype.hasOwnProperty.call(e,"layout"))throw new Tt(Ot.MISSING_COMPOSABLE_LAYOUT_KEY,[],!0);if(!e.layout)throw new Tt(Ot.INVALID_COMPOSABLE_LAYOUT_TYPE,[],!0);if(!Array.isArray(e.layout))throw new Tt(Ot.INVALID_COMPOSABLE_LAYOUT_TYPE,[],!0);if(0===e.layout.length)throw new Tt(Ot.EMPTY_COMPOSABLE_LAYOUT_ARRAY,[],!0);e.layout.forEach((e=>{if("number"!=typeof e)throw new Tt(Ot.INVALID_COMPOSABLE_LAYOUT_TYPE,[],!0);if(e<0)throw new Tt(Ot.NEGATIVE_VALUES_COMPOSABLE_LAYOUT,[],!0)}))})(i);const n=new Qi(i,Object.assign(Object.assign({},t(this,hn,"f")),{clientJSON:t(this,un,"f").toJSON(),containerType:e}),t(this,mn,"f"),{logLevel:t(this,Tn,"f"),env:t(this,On,"f")});return pt(ft(Ee.COLLECT_CONTAINER_CREATED,Ln),Et.LOG,t(this,Tn,"f")),n}default:if(!e)throw new Tt(Ot.EMPTY_CONTAINER_TYPE,[],!0);throw new Tt(Ot.INVALID_CONTAINER_TYPE,[],!0)}}insert(e,i){return pt(ft(Ee.INSERT_TRIGGERED,Ln),Et.LOG,t(this,Tn,"f")),t(this,pn,"f").insert(e,i)}getById(e){return pt(ue.GET_BY_ID_DEPRECATED,Et.WARN,t(this,Tn,"f")),pt(ft(Ee.GET_BY_ID_TRIGGERED,Ln),Et.LOG,t(this,Tn,"f")),t(this,pn,"f").getById(e)}get(e,i){return pt(ft(Ee.GET_TRIGGERED,Ln),Et.LOG,t(this,Tn,"f")),t(this,pn,"f").get(e,i)}delete(e,i){return pt(ft(Ee.DELETE_TRIGGERED,Ln),Et.LOG,t(this,Tn,"f")),t(this,pn,"f").delete(e,i)}static get ContainerType(){return vn}static get ElementType(){return Me}static get RedactionType(){return rt}static get RequestMethod(){return at}static get LogLevel(){return dt}static get EventName(){return lt}static get Env(){return ct}static get ValidationRuleType(){return _t}}un=new WeakMap,In=new WeakMap,hn=new WeakMap,pn=new WeakMap,fn=new WeakMap,Nn=new WeakMap,Tn=new WeakMap,On=new WeakMap,mn=new WeakMap;class gn{constructor(e){this.loadFunction=e,this.loadScript()}get loader(){return this.loadingPromise||(this.loadingPromise=this.loadScript()),this.loadingPromise}loadScript(){return e(this,void 0,void 0,(function*(){return this.loadingPromise||(this.loadingPromise=new Promise(((e,t)=>{this.loadFunction().then((t=>{t&&e(t)}),(()=>{t()})).catch((()=>{}))}))),this.loadingPromise}))}}class Sn extends S{constructor(e){super("span",{id:e.id,className:"payrails-store-instrument"}),this.options=e,this.createHTML(),this.applyStyles(),this.addListeners()}get isChecked(){var e;return!!(null===(e=this.element.querySelector("input"))||void 0===e?void 0:e.checked)}createHTML(){var e,t,i,n,o,s,r,a,l;const d=(null===(i=null===(t=null===(e=this.options)||void 0===e?void 0:e.translations)||void 0===t?void 0:t.labels)||void 0===i?void 0:i.saveInstrument)||(null===(s=null===(o=null===(n=this.options)||void 0===n?void 0:n.translations)||void 0===o?void 0:o.labels)||void 0===s?void 0:s.storeInstrument)||"Save instrument for future payments",c=`${this.id}-checkbox`;(null===(l=null===(a=null===(r=this.options)||void 0===r?void 0:r.translations)||void 0===a?void 0:a.labels)||void 0===l?void 0:l.saveInstrument)&&console.warn("The saveInstrument label is deprecated, please use storeInstrument instead"),this.element.innerHTML=`<label for="${c}"><input type="checkbox" id="${c}" name="${c}" class="payrails-store-instrument-checkbox">${d}</label>`}applyStyles(){var e,t;Object.keys((null===(t=null===(e=this.options)||void 0===e?void 0:e.styles)||void 0===t?void 0:t.storeInstrumentCheckbox)||{}).forEach((e=>{var t,i,n;this.element.style[e]=null===(n=null===(i=null===(t=this.options)||void 0===t?void 0:t.styles)||void 0===i?void 0:i.storeInstrumentCheckbox)||void 0===n?void 0:n[e]}))}addListeners(){this.element.addEventListener("change",(e=>{var t,i,n,o;(null===(i=null===(t=this.options)||void 0===t?void 0:t.events)||void 0===i?void 0:i.onSaveInstrumentCheckboxChanged)&&(null===(o=null===(n=this.options)||void 0===n?void 0:n.events)||void 0===o||o.onSaveInstrumentCheckboxChanged({checked:this.isChecked})),e.stopPropagation(),e.stopImmediatePropagation()}))}}class Dn extends S{constructor(t,i){var n,o;super(t,i),this.options=i,this.storeInstrumentCheckbox=null,(null===(n=this.options)||void 0===n?void 0:n.showStoreInstrumentCheckbox)&&(this.storeInstrumentCheckbox=new Sn(Object.assign(Object.assign({},i),{id:`${null===(o=this.options)||void 0===o?void 0:o.id}-store-instrument-checkbox`,events:{onSaveInstrumentCheckboxChanged:t=>e(this,void 0,void 0,(function*(){var e,n;null===(n=null===(e=null==i?void 0:i.events)||void 0===e?void 0:e.onSaveInstrumentCheckboxChanged)||void 0===n||n.call(e,t)}))}})),this.subElements.push(this.storeInstrumentCheckbox))}get shouldStoreInstrument(){var e,t;return(null===(e=this.storeInstrumentCheckbox)||void 0===e?void 0:e.isChecked)||(null===(t=this.options)||void 0===t?void 0:t.alwaysStoreInstrument)||!1}}class Cn extends Dn{constructor(t,i,n){super("div",Object.assign(Object.assign({},n),{id:"payrails-apple-pay-button"})),this.sdkConfig=t,this.execution=i,this.options=n,this.appleButton=null,this.paymentExecutor=new A(t,i),this.loadScript=new gn((()=>e(this,void 0,void 0,(function*(){const t=document.createElement("script");return t.src="https://applepay.cdn-apple.com/jsapi/v1/apple-pay-sdk.js",new Promise(((i,n)=>{t.onload=()=>e(this,void 0,void 0,(function*(){var e,t,n;(yield this.isApplePayAvailable())?(null===(n=null===(t=null===(e=this.options)||void 0===e?void 0:e.events)||void 0===t?void 0:t.onApplePayAvailable)||void 0===n||n.call(t),i(!0)):i(!1)})),t.onerror=()=>{n()},document.body.appendChild(t)}))}))))}mount(t){super.mount(t),(()=>{e(this,void 0,void 0,(function*(){try{yield this.loadScript.loader,yield this.mountApplePayButton()}catch(e){}}))})()}unmount(){var e,t;null===(t=null===(e=this.appleButton)||void 0===e?void 0:e.parentElement)||void 0===t||t.removeChild(this.appleButton),super.unmount()}isApplePayAvailable(){return e(this,void 0,void 0,(function*(){if(!(null===window||void 0===window?void 0:window.ApplePaySession))return!1;return yield ApplePaySession.canMakePayments()}))}mountApplePayButton(){var t,i,n,o,s;return e(this,void 0,void 0,(function*(){if(null===window||void 0===window?void 0:window.ApplePaySession)try{if(!this.isApplePayAvailable())return;null===(i=null===(t=this.options.events)||void 0===t?void 0:t.onApplePayAvailable)||void 0===i||i.call(t);const e=(null===(n=this.options.styles)||void 0===n?void 0:n.type)||"buy",r=(null===(o=this.options.styles)||void 0===o?void 0:o.style)||"black";this.element.innerHTML=`<apple-pay-button buttonstyle="${r}" type="${e}" locale="en-GB"></apple-pay-button>`,null===(s=this.storeInstrumentCheckbox)||void 0===s||s.mount(this.selector);const a=this.element.querySelector("apple-pay-button");null==a||a.setAttribute("style","width: 100%;"),null==a||a.addEventListener("click",(()=>{this.createApplePaySession()}))}catch(e){}}))}createApplePaySession(){const t=this.execution.applePayConfig,{countryCode:i,supportedNetworks:n,merchantCapabilities:o}=t,{amount:s}=this.sdkConfig;try{const t={countryCode:i,currencyCode:s.currency,merchantCapabilities:o,supportedNetworks:n,total:{label:"",type:"final",amount:s.value}},r=new ApplePaySession(3,t);return r.onvalidatemerchant=t=>e(this,void 0,void 0,(function*(){const{res:e}=yield this.paymentExecutor.createApplePaySession({requestUrl:this.execution.createSessionLink,sessionUrl:t.validationURL,clientDomain:this.options.clientDomain}),i=e.data.data;r.completeMerchantValidation(i)})),r.onpaymentauthorized=t=>e(this,void 0,void 0,(function*(){var e,i,n,o,s,a,l,d,c,E,_,u;try{const E=yield this.onApplePayAuthorized(t.payment.token);if("authorizeSuccessful"===(null===(e=null==E?void 0:E.finalState)||void 0===e?void 0:e.code))(null===(i=this.options.events)||void 0===i?void 0:i.onAuthorizeSuccess)&&this.options.events.onAuthorizeSuccess();else r.completePayment(ApplePaySession.STATUS_FAILURE),(null===(o=null===(n=this.options)||void 0===n?void 0:n.events)||void 0===o?void 0:o.onAuthorizeFailed)&&(null===(s=this.options)||void 0===s||s.events.onAuthorizeFailed());r.completePayment(ApplePaySession.STATUS_SUCCESS),(null===(l=null===(a=this.options)||void 0===a?void 0:a.events)||void 0===l?void 0:l.onAuthorizeSuccess)&&(null===(c=null===(d=this.options)||void 0===d?void 0:d.events)||void 0===c||c.onAuthorizeSuccess(E))}catch(e){r.completePayment(ApplePaySession.STATUS_FAILURE),(null===(_=null===(E=this.options)||void 0===E?void 0:E.events)||void 0===_?void 0:_.onAuthorizeFailed)&&(null===(u=this.options)||void 0===u||u.events.onAuthorizeFailed(e))}})),r.begin(),r}catch(e){return null}}onApplePayAuthorized(t){return e(this,void 0,void 0,(function*(){const e=Object.assign(Object.assign({},t),{paymentNetwork:t.paymentMethod.network,paymentInstrumentName:t.paymentMethod.displayName}),i=[{paymentMethodCode:"applePay",integrationType:"api",paymentInstrumentData:{paymentToken:JSON.stringify(e)},amount:this.sdkConfig.amount,storeInstrument:this.shouldStoreInstrument}];return yield this.paymentExecutor.pay(i)}))}}const{CARD_NUMBER:Pn,CVV:bn,CARDHOLDER_NAME:Mn,EXPIRATION_MONTH:wn,EXPIRATION_YEAR:Un}=exports.ElementType,kn={base:{border:"none",padding:"10px 16px",color:"#1d1d1d",backgroundColor:"#fff"},invalid:{backgroundColor:"#f9e1e1",borderColor:"#f25226",border:"1px solid"}},Yn=[{type:Mn,placeholder:"Card holder",styles:Object.assign(Object.assign({},kn),{base:Object.assign(Object.assign({},kn.base),{border:"1px solid #eae8ee",padding:"10px 16px",borderTopLeftRadius:"4px",borderTopRightRadius:"4px"})})},{type:Pn,placeholder:"1234 1234 1234 1234",styles:Object.assign(Object.assign({},kn),{base:Object.assign(Object.assign({},kn.base),{border:"1px solid #eae8ee",padding:"10px 16px",borderTopLeftRadius:"4px",borderTopRightRadius:"4px",textIndent:"0"}),cardIcon:{position:"absolute",right:"8px",height:"24px",bottom:"calc(50% - 12px)"}})},{type:wn,placeholder:"MM",styles:Object.assign(Object.assign({},kn),{base:Object.assign(Object.assign({},kn.base),{borderBottom:"1px solid #eae8ee",borderLeft:"1px solid #eae8ee",borderRight:"1px solid #eae8ee",borderBottomLeftRadius:"4px"})})},{type:Un,placeholder:"YY",format:"YY",styles:Object.assign(Object.assign({},kn),{base:Object.assign(Object.assign({},kn.base),{borderBottom:"1px solid #eae8ee",borderRight:"1px solid #eae8ee"})})},{type:bn,placeholder:"CVC",styles:Object.assign(Object.assign({},kn),{base:Object.assign(Object.assign({},kn.base),{borderBottom:"1px solid #eae8ee",borderRight:"1px solid #eae8ee",borderBottomRightRadius:"4px"})})}];class xn extends Dn{get bin(){return this.collectContainer.bin}constructor(e,t){var i,n,o,s,r;super("div",Object.assign(Object.assign({},t),{translations:Object.assign(Object.assign({},null==t?void 0:t.translations),{labels:Object.assign(Object.assign({},null===(i=null==t?void 0:t.translations)||void 0===i?void 0:i.labels),{saveInstrument:null===(o=null===(n=null==t?void 0:t.translations)||void 0===n?void 0:n.labels)||void 0===o?void 0:o.saveCreditCard})}),styles:Object.assign({storeInstrumentCheckbox:null===(s=null==t?void 0:t.styles)||void 0===s?void 0:s.storeCardCheckbox},null==t?void 0:t.styles),id:"payrails-card-form"})),this.collectContainer=e,this.options=t,this.formFields=[],(null===(r=null==t?void 0:t.styles)||void 0===r?void 0:r.storeCardCheckbox)&&console.warn("The `storeCardCheckbox` option for styles is deprecated. Please use `storeInstrumentCheckbox` instead."),Yn.forEach((({type:e,styles:i,format:n,placeholder:o})=>{var s,r,a,l,d,c,E;if(!(null===(s=this.options)||void 0===s?void 0:s.showCardHolderName)&&e===exports.ElementType.CARDHOLDER_NAME)return;const _=new Vn(this.collectContainer,{type:e,label:null===(a=null===(r=null==t?void 0:t.translations)||void 0===r?void 0:r.labels)||void 0===a?void 0:a[e],placeholder:(null===(d=null===(l=null==t?void 0:t.translations)||void 0===l?void 0:l.placeholders)||void 0===d?void 0:d[e])||o,labelStyles:this.prepareLabelStyles(e),inputStyles:this.prepareInputStyles(i,e),format:n,events:{onFocus:null===(E=null===(c=this.options)||void 0===c?void 0:c.events)||void 0===E?void 0:E.onFocus,onChange:this.onChange.bind(this),onReady:this.triggerOnReady.bind(this)}});this.formFields.push(_)})),this.subElements.push(this.collectContainer),this.storeInstrumentCheckbox&&this.subElements.push(this.storeInstrumentCheckbox)}tokenize(e){return this.collectContainer.tokenize(e)}show(){var e,t;const i=document.getElementById(this.collectContainer.id);if(!i){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_COLLECT_CONTAINER_MOUNT);throw r.PayrailsLogger.error(e.message,{error:e}),e}Object.assign(i.style,null===(t=null===(e=this.options)||void 0===e?void 0:e.styles)||void 0===t?void 0:t.wrapper),this.element.style.display="flex"}hide(){this.element.style.display="none"}triggerOnReady(){var e,t,i;this.formFields.reduce(((e,t)=>e&&t.isReady),!0)&&(null===(i=null===(t=null===(e=this.options)||void 0===e?void 0:e.events)||void 0===t?void 0:t.onReady)||void 0===i||i.call(t))}prepareLabelStyles(e){return["base"].reduce(((t,i)=>{var n,o,s,r,a,l,d,c;return t[i]=Object.assign(Object.assign(Object.assign({},null===(o=null===(n=this.options)||void 0===n?void 0:n.styles)||void 0===o?void 0:o.base),null===(a=null===(r=null===(s=this.options)||void 0===s?void 0:s.styles)||void 0===r?void 0:r.labels)||void 0===a?void 0:a.all),null===(c=null===(d=null===(l=this.options)||void 0===l?void 0:l.styles)||void 0===d?void 0:d.labels)||void 0===c?void 0:c[e]),t}),{})}prepareInputStyles(e,t){var i;let n=JSON.parse(JSON.stringify(e));return(null===(i=this.options)||void 0===i?void 0:i.showCardHolderName)&&t===exports.ElementType.CARD_NUMBER&&(this.element.setAttribute("class","with-card-holder"),n=Object.assign(Object.assign({},e),{base:Object.assign(Object.assign({},kn.base),{border:"1px solid #eae8ee",borderTop:"none",padding:"10px 16px",textIndent:"0"})})),["base","complete","empty","focus","invalid","cardIcon","copyIcon"].forEach((e=>{var i,o,s,r,a,l,d,c;n[e]=Object.assign(Object.assign(Object.assign({},n[e]),null===(r=null===(s=null===(o=null===(i=this.options)||void 0===i?void 0:i.styles)||void 0===o?void 0:o.inputFields)||void 0===s?void 0:s.all)||void 0===r?void 0:r[e]),null===(c=null===(d=null===(l=null===(a=this.options)||void 0===a?void 0:a.styles)||void 0===l?void 0:l.inputFields)||void 0===d?void 0:d[t])||void 0===c?void 0:c[e])})),n}get isValid(){return this.formFields.reduce(((e,t)=>e&&t.isValid),!0)}get cardNetwork(){var e,t;return null!==(t=null===(e=this.formFields.find((e=>Boolean(e.cardNetwork))))||void 0===e?void 0:e.cardNetwork)&&void 0!==t?t:""}onChange(){var e,t,i,n;(null===(t=null===(e=this.options)||void 0===e?void 0:e.events)||void 0===t?void 0:t.onChange)&&(null===(n=null===(i=this.options)||void 0===i?void 0:i.events)||void 0===n||n.onChange({isValid:this.isValid,cardNetwork:this.cardNetwork,bin:this.bin}))}collectValues(){return e(this,void 0,void 0,(function*(){return{cardData:yield this.collectContainer.collect(),storeInstrument:this.shouldStoreInstrument,enrollInstrumentToNetworkOffers:Boolean(this.enforceEnrollInstrumentToNetworkOffersForMasterCard())}}))}enforceEnrollInstrumentToNetworkOffersForMasterCard(){var e;return"mastercard"!==this.cardNetwork&&(null===(e=this.options)||void 0===e?void 0:e.enrollInstrumentToNetworkOffers)}}class Vn{constructor(e,t){this.isValid=!1,this.isReady=!1,this.cardNetwork="";const{events:i}=t,n=e.createCollectElement(t);(null==i?void 0:i.onFocus)&&n.on("FOCUS",i.onFocus),n.on("READY",(()=>{var e,i;this.isReady=!0,null===(i=null===(e=t.events)||void 0===e?void 0:e.onReady)||void 0===i||i.call(e)})),n.on("CHANGE",(e=>{const{isEmpty:t,isValid:n,network:o}=e;this.isValid=!t&&n,this.cardNetwork=null!=o?o:"",(null==i?void 0:i.onChange)&&i.onChange(this)}))}}class Gn extends S{constructor(e,t){super("div",{id:"payrails-card-list"}),this.workflowExecution=e,this.listItems=[],this.workflowExecution.savedCreditCards.forEach((e=>{const i=new Fn((()=>{(null==t?void 0:t.onCardChange)&&t.onCardChange(e)}),e);this.listItems.push(i),this.subElements.push(i)}))}reset(){this.element.querySelectorAll("input").forEach((e=>e.checked=!1))}}class Fn extends S{constructor(e,t){super("div",{className:"payrails-card-list-item",id:`payrails-card-list-item-${t.id}`});const{id:i}=t,n=this.createCardLabel(t),o=document.createElement("label");o.setAttribute("for",i),o.addEventListener("click",e);const s=document.createElement("input");s.setAttribute("type","radio"),s.setAttribute("name","payment-option"),s.setAttribute("id",i),s.setAttribute("value",i),o.appendChild(s);const r=document.createElement("span");r.innerText=n,o.appendChild(r),this.element.appendChild(o)}createCardLabel({data:e={}}){return`****${null==e?void 0:e.suffix}`}}class Bn extends S{constructor(e="Authorization failed, please try again."){super("div",{id:"authorization-failed-message"}),this.element.innerText=e,this.element.innerHTML=`\n <div>\n <svg class="checkmark-cross" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">\n <circle class="checkmark-cross_circle" cx="26" cy="26" r="25" fill="none"/>\n <path class="checkmark-cross_check" fill="none" d="M14.1 14.1l23.8 23.8 m0,-23.8 l-23.8,23.8"/>\n </svg>\n </div>\n <div>${e}</div>`,this.element.addEventListener("click",(e=>{e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation(),this.unmount()}))}}class jn extends S{constructor(e){var t;super("div",{id:"payrails-authorization-success-msg"}),this.element.innerHTML=`\n <div class="checkmark-wrapper">\n <svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">\n <circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/>\n <path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>\n </svg>\n </div>\n <div id="payrails-authorization-success">${(null===(t=null==e?void 0:e.translations)||void 0===t?void 0:t.label)||"Payment successful"}</div`}}class Xn extends S{constructor(e,t,i,n){super("div",{id:e,className:"payrails-dropin-item"}),this.events=i,this.styles=n,this.isActive=!1,this.applyBaseStyles();const o=`payrails-dropin-item-${e}`,s=document.createElement("label");s.setAttribute("for",o);const r=document.createElement("input");r.setAttribute("type","radio"),r.setAttribute("name","payment-option"),r.setAttribute("id",o),r.setAttribute("value",o),this.input=r,s.appendChild(r),this.label=s;const a=document.createElement("span");s.appendChild(a),a.innerText=t,this.element.appendChild(s)}get identifier(){return`payrails-dropin-item-${this.id}`}deactivate(){var e,t;this.isActive&&(this.isActive=!1,this.label.style.marginBottom="0",this.applyBaseStyles(),null===(e=this.component)||void 0===e||e.unmount(),(null===(t=this.events)||void 0===t?void 0:t.onDeactivate)&&this.events.onDeactivate())}applyBaseStyles(){var e,t;Object.keys((null===(e=this.styles)||void 0===e?void 0:e.active)||{}).forEach((e=>{this.element.style.removeProperty(e)})),Object.assign(this.element.style,null===(t=this.styles)||void 0===t?void 0:t.base)}applyActiveStyles(){var e,t;Object.assign(this.element.style,null===(e=this.styles)||void 0===e?void 0:e.base,null===(t=this.styles)||void 0===t?void 0:t.active)}activate(){var e,t;this.isActive||(null===(e=this.component)||void 0===e||e.mount(this.selector),this.label.style.marginBottom="8px",this.applyActiveStyles(),this.isActive=!0,(null===(t=this.events)||void 0===t?void 0:t.onActivate)&&this.events.onActivate())}}class Wn extends Xn{constructor(){super(...arguments),this.buttonShown=!1}activate(){if(!this.buttonShown)return super.activate(),void(this.buttonShown=!0);this.label.style.marginBottom="8px",this.applyActiveStyles(),this.isActive=!0,this.element.querySelector(this.component.selector).style.display="block"}deactivate(){this.isActive&&(this.isActive=!1,this.label.style.marginBottom="0",this.applyBaseStyles(),this.element.querySelector(this.component.selector).style.display="none")}mountAfterAvailable(){super.mount(`#${this.loadElementId}`)}mount(e){const t=document.querySelector(e);if(!t){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_UI_ELEMENT_MISSING);throw r.PayrailsLogger.error(e.message,{error:e}),e}const i=document.createElement("div");i.setAttribute("id",this.loadElementId),i.setAttribute("style","width: 100%;"),t.appendChild(i)}unmount(){var e;super.unmount(),null===(e=document.querySelector(`#${this.loadElementId}`))||void 0===e||e.remove()}}class $n extends Wn{constructor(e,t,i){var n,o;super("apple-pay-dropin",(null===(o=null===(n=i.translations)||void 0===n?void 0:n.labels)||void 0===o?void 0:o.label)||"Apple Pay",void 0,i.styles),this.loadElementId="apple-pay-dropin-load-element",this.component=new Cn(e,t,Object.assign(Object.assign({},i),{events:{onApplePayAvailable:()=>{this.mountAfterAvailable()}}}))}mount(e){const t=document.querySelector(e);if(!t){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_UI_ELEMENT_MISSING);throw r.PayrailsLogger.error(e.message,{error:e}),e}const i=document.createElement("div");i.setAttribute("id",this.loadElementId),i.setAttribute("style","width: 100%;"),t.appendChild(i)}}class zn extends Xn{constructor(e,t,i){super("payrails-credit-card-wrapper","Card",void 0,i),this.cardForm=e,this.paymentButton=t,this.cardFormShown=!1,this.component=new Kn(e,t)}activate(){var e,t;this.label.style.marginBottom="8px",this.applyActiveStyles(),this.cardFormShown||(this.cardFormShown=!0,null===(e=this.component)||void 0===e||e.mount(this.selector)),this.isActive||(this.paymentButton.selectedInstrument=null,this.paymentButton.mount(this.selector),this.paymentButton.setDisabled(!this.cardForm.isValid),this.paymentButton.mount("#payrails-card-form"),this.input.checked=!0,this.cardForm.show(),this.isActive=!0,(null===(t=this.events)||void 0===t?void 0:t.onActivate)&&this.events.onActivate())}deactivate(){var e;this.isActive&&(this.label.style.marginBottom="0",this.applyBaseStyles(),this.paymentButton.unmount(),this.cardForm.hide(),this.isActive=!1,(null===(e=this.events)||void 0===e?void 0:e.onDeactivate)&&this.events.onDeactivate())}}class Kn extends S{constructor(e,t){super("div",{id:"payrails-form-container"}),this.subElements.push(e,t)}}const Hn={apiVersion:2,apiVersionMinor:0};class qn extends Dn{constructor(t,i,n){super("div",Object.assign(Object.assign({},n),{id:"payrails-google-pay-button"})),this.sdkConfig=t,this.execution=i,this.options=n,this.googleButton=null,this.paymentExecutor=new A(t,i),this.loadScript=new gn((()=>e(this,void 0,void 0,(function*(){const e=document.createElement("script");return e.src="https://pay.google.com/gp/p/js/pay.js",new Promise(((t,i)=>{e.onload=()=>{const e=new google.payments.api.PaymentsClient({environment:this.options.environment||"TEST",merchantInfo:this.options.merchantInfo}),n=Object.assign(Object.assign({},Hn),{allowedPaymentMethods:this.execution.googlePayConfig});e.isReadyToPay(n).then((n=>{var o,s,r;n?(null===(r=null===(s=null===(o=this.options)||void 0===o?void 0:o.events)||void 0===s?void 0:s.onGooglePayAvailable)||void 0===r||r.call(s),t(e)):i()}),i)},e.onerror=()=>{i()},document.body.appendChild(e)}))}))))}sdkLoaded(t){var i,n,o,a,l,d,c,E;return e(this,void 0,void 0,(function*(){try{const s=(null===(n=null===(i=this.options)||void 0===i?void 0:i.styles)||void 0===n?void 0:n.buttonColor)||"black",r=(null===(a=null===(o=this.options)||void 0===o?void 0:o.styles)||void 0===a?void 0:a.buttonType)||"long",_=(null===(d=null===(l=this.options)||void 0===l?void 0:l.styles)||void 0===d?void 0:d.buttonSizeMode)||"fill",u=(null===(E=null===(c=this.options)||void 0===c?void 0:c.styles)||void 0===E?void 0:E.buttonLocale)||void 0;return this.googleButton=t.createButton({buttonColor:s,buttonType:r,buttonSizeMode:_,buttonLocale:u,onClick:()=>e(this,void 0,void 0,(function*(){var e,t,i;if(null===(t=null===(e=this.options)||void 0===e?void 0:e.events)||void 0===t?void 0:t.onPaymentButtonClicked){if(!(yield null===(i=this.options)||void 0===i?void 0:i.events.onPaymentButtonClicked()))return}yield this.onPaymentButtonClicked()})),allowedPaymentMethods:this.execution.googlePayConfig}),this.element.appendChild(this.googleButton),this.googleButton}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_GPAY_LOADING_ERROR,{cause:e,description:e.message});throw r.PayrailsLogger.error(t.message,{error:t}),t}}))}onLoadPaymentData(t){var i,n,o,s;return e(this,void 0,void 0,(function*(){const e=[{paymentMethodCode:"googlePay",integrationType:"api",paymentInstrumentData:Object.assign(Object.assign({},t),{paymentToken:t.paymentMethodData.tokenizationData.token}),amount:this.sdkConfig.amount,storeInstrument:this.shouldStoreInstrument}],r=yield this.paymentExecutor.pay(e);(null===(n=null===(i=this.options)||void 0===i?void 0:i.events)||void 0===n?void 0:n.onAuthorizeSuccess)&&(null===(s=null===(o=this.options)||void 0===o?void 0:o.events)||void 0===s||s.onAuthorizeSuccess(r))}))}onPaymentButtonClicked(){var t,i,n,o,s;return e(this,void 0,void 0,(function*(){const e=Object.assign({},Hn);e.allowedPaymentMethods=this.execution.googlePayConfig,e.transactionInfo={totalPriceStatus:"FINAL",totalPrice:null===(t=this.sdkConfig.amount)||void 0===t?void 0:t.value,currencyCode:null===(i=this.sdkConfig.amount)||void 0===i?void 0:i.currency,countryCode:null===(s=null===(o=null===(n=this.execution.meta)||void 0===n?void 0:n.customer)||void 0===o?void 0:o.country)||void 0===s?void 0:s.code};(yield this.loadScript.loader).loadPaymentData(e).then((e=>{this.onLoadPaymentData(e)})).catch((e=>{var t,i,n;(null===(i=null===(t=this.options)||void 0===t?void 0:t.events)||void 0===i?void 0:i.onAuthorizeFailed)&&(null===(n=this.options)||void 0===n||n.events.onAuthorizeFailed(e))}))}))}mount(t){super.mount(t),(()=>{e(this,void 0,void 0,(function*(){var e;try{const t=yield this.loadScript.loader,i=yield this.sdkLoaded(t);this.element.appendChild(i),null===(e=this.storeInstrumentCheckbox)||void 0===e||e.mount(this.selector)}catch(e){}}))})()}unmount(){var e,t,i;null===(t=null===(e=this.googleButton)||void 0===e?void 0:e.parentElement)||void 0===t||t.removeChild(this.googleButton),null===(i=this.storeInstrumentCheckbox)||void 0===i||i.unmount(),super.unmount()}}class Jn extends Wn{constructor(e,t,i){var n,o;super("google-pay-dropin",(null===(o=null===(n=i.translations)||void 0===n?void 0:n.labels)||void 0===o?void 0:o.label)||"Google Pay",void 0,i.styles),this.loadElementId="google-pay-dropin-load-element",this.component=new qn(e,t,Object.assign(Object.assign({},i),{events:Object.assign(Object.assign({},i.events),{onGooglePayAvailable:()=>{this.mountAfterAvailable()}})}))}mount(e){const t=document.querySelector(e);if(!t){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_UI_ELEMENT_MISSING);throw r.PayrailsLogger.error(e.message,{error:e}),e}const i=document.createElement("div");i.setAttribute("id",this.loadElementId),i.setAttribute("style","width: 100%;"),t.appendChild(i)}}
4
+ */const qe={IFRAME_SECURE_SITE:"https://js.skyflow.com/v1/elements/index.html",IFRAME_SECURE_ORGIN:"https://js.skyflow.com"},Je={IFRAME_SECURE_SITE:void 0,IFRAME_SECURE_ORGIN:void 0},Ze={src:"about:blank",frameBorder:0,allowtransparency:!0,scrolling:"no",style:"width: 100%;",allow:"clipboard-read; clipboard-write"},Qe=(e,t)=>{Object.keys(t).forEach((i=>{if(Object.prototype.hasOwnProperty.call(t,i)){const n=t[i];null==n?e.removeAttribute(i):e.setAttribute(i,n)}}))};var et=(e={})=>{const t=document.createElement("iframe"),i=Object.assign(Object.assign({},Ze),e);return Object.assign(t.style,xe),Qe(t,i),t.getAttribute("id")||(t.id=t.name),t};const tt=()=>qe.IFRAME_SECURE_SITE,it=(e,t)=>{Object.keys(t).forEach((i=>{Object.prototype.hasOwnProperty.call(t,i)&&(e.style[i]=t[i])}))};function nt(e){return JSON.parse(JSON.stringify(e))}class ot{constructor(){this.listeners=[],this.isDestroyed=!1}on(e,t){ce.on(e,t),this.listeners.push({eventName:e,callback:t})}off(e,t){ce.off(e,t);const i=this.listeners.findIndex((t=>t.eventName===e));-1!==i&&this.listeners.splice(i,1)}emit(e,t,i=void 0){ce.emit(e,t,i)}hasListener(e){return-1!==this.listeners.findIndex((t=>t.eventName===e))}teardown(){this.listeners.forEach((e=>{ce.off(e.eventName,e.handler)})),this.listeners=[]}}var st,rt,at,lt,dt,ct,Et;!function(e){e.DEFAULT="DEFAULT",e.PLAIN_TEXT="PLAIN_TEXT",e.MASKED="MASKED",e.REDACTED="REDACTED"}(st||(st={})),function(e){e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.DELETE="DELETE"}(rt||(rt={})),function(e){e.CHANGE="CHANGE",e.READY="READY",e.FOCUS="FOCUS",e.BLUR="BLUR",e.SUBMIT="SUBMIT"}(at||(at={})),function(e){e.WARN="WARN",e.INFO="INFO",e.DEBUG="DEBUG",e.ERROR="ERROR"}(lt||(lt={})),function(e){e.DEV="DEV",e.PROD="PROD"}(dt||(dt={})),function(e){e.LOG="LOG",e.WARN="WARN",e.ERROR="ERROR"}(ct||(ct={})),function(e){e.REGEX_MATCH_RULE="REGEX_MATCH_RULE",e.LENGTH_MATCH_RULE="LENGTH_MATCH_RULE",e.ELEMENT_VALUE_MATCH_RULE="ELEMENT_VALUE_MATCH_RULE"}(Et||(Et={}));const _t={DEBUG:{showDebugLogs:!0,showInfoLogs:!0,showWarnLogs:!0,showErrorLogs:!0},INFO:{showDebugLogs:!1,showInfoLogs:!0,showWarnLogs:!0,showErrorLogs:!0},WARN:{showDebugLogs:!1,showInfoLogs:!1,showWarnLogs:!0,showErrorLogs:!0},ERROR:{showDebugLogs:!1,showInfoLogs:!1,showWarnLogs:!1,showErrorLogs:!0}},ut={PROD:{doesReturnValue:!1},DEV:{doesReturnValue:!0}},It="[Skyflow]",ht=(e,t,i)=>{if(i&&_t[i]){const{showDebugLogs:n,showInfoLogs:o,showWarnLogs:s,showErrorLogs:r}=_t[i];t===ct.LOG&&n?console.log(`${lt.DEBUG}: ${It} ${e}`):t===ct.LOG&&o?console.log(`${lt.INFO}: ${It} ${e}`):t===ct.WARN&&s?console.warn(`${lt.WARN}: ${It} ${e}`):t===ct.ERROR&&r&&console.error(`${lt.ERROR}: ${It} ${e}`)}},pt=(...e)=>{const t=e[0],i=e.filter(((e,t)=>0!==t));return t?t.replace(/%s[0-9]+/g,(e=>{const t=e.replace("%s","")-1;return i[t]})):""},ft=(e="")=>{const t=e.split(":");if("group"===t[1])return"composable container";let i=atob(t[2]);return-1!==i.indexOf(":")&&(i=i.substring(0,i.indexOf(":"))),i};class Nt extends Error{constructor(e,t,i=!1){const n={code:e.code,description:t&&(null==t?void 0:t.length)>0?pt(e.description,...t):e.description};super(n.description),i?this.error=n:this.errors=[n]}}const Tt={INVALID_FIELD:{code:400,description:_e.INVALID_FIELD},VAULTID_IS_REQUIRED:{code:400,description:_e.VAULTID_IS_REQUIRED},EMPTY_VAULTID_IN_INIT:{code:400,description:_e.EMPTY_VAULTID_IN_INIT},VAULTURL_IS_REQUIRED:{code:400,description:_e.VAULTURL_IS_REQUIRED},EMPTY_VAULTURL_IN_INIT:{code:400,description:_e.EMPTY_VAULTURL_IN_INIT},INVALID_VAULTURL_IN_INIT:{code:400,description:_e.INVALID_VAULTURL_IN_INIT},GET_BEARER_TOKEN_IS_REQUIRED:{code:400,description:_e.GET_BEARER_TOKEN_IS_REQUIRED},EMPTY_CONTAINER_TYPE:{code:400,description:_e.EMPTY_CONTAINER_TYPE},INVALID_CONTAINER_TYPE:{code:400,description:_e.INVALID_CONTAINER_TYPE},UNIQUE_ELEMENT_NAME:{code:400,description:_e.UNIQUE_ELEMENT_NAME},ELEMENTS_NOT_MOUNTED:{code:400,description:_e.ELEMENTS_NOT_MOUNTED},MISSING_TABLE_IN_COLLECT:{code:400,description:_e.MISSING_TABLE_IN_COLLECT},EMPTY_TABLE_IN_COLLECT:{code:400,description:_e.EMPTY_TABLE_IN_COLLECT},EMPTY_SKYFLOW_ID_IN_ADDITIONAL_FIELDS:{code:400,description:_e.EMPTY_SKYFLOW_ID_IN_ADDITIONAL_FIELDS},INVALID_TABLE_IN_COLLECT:{code:400,description:_e.INVALID_TABLE_IN_COLLECT},INVALID_SKYFLOWID_IN_COLLECT:{code:400,description:_e.INVALID_SKYFLOWID_IN_COLLECT},MISSING_COLUMN_IN_COLLECT:{code:400,description:_e.MISSING_COLUMN_IN_COLLECT},EMPTY_COLUMN_IN_COLLECT:{code:400,description:_e.EMPTY_TABLE_IN_COLLECT},INVALID_COLUMN_IN_COLLECT:{code:400,description:_e.INVALID_COLUMN_IN_COLLECT},CLIENT_CONNECTION:{code:400,description:_e.CLIENT_CONNECTION},RECORDS_KEY_NOT_FOUND:{code:404,description:_e.RECORDS_KEY_NOT_FOUND},EMPTY_RECORDS_IN_INSERT:{code:400,description:_e.EMPTY_RECORDS_IN_INSERT},INVALID_RECORDS_IN_INSERT:{code:404,description:_e.INVALID_RECORDS_IN_INSERT},INVALID_TABLE_IN_INSERT:{code:400,description:_e.INVALID_TABLE_IN_INSERT},EMPTY_TABLE_IN_INSERT:{code:400,description:_e.EMPTY_TABLE_IN_INSERT},MISSING_TABLE_IN_INSERT:{code:400,description:_e.MISSING_TABLE_IN_INSERT},EMPTY_FIELDS_IN_INSERT:{code:400,description:_e.EMPTY_FIELDS_IN_INSERT},MISSING_FIELDS_IN_INSERT:{code:404,description:_e.MISSING_FIELDS_IN_INSERT},INVALID_FIELDS_IN_INSERT:{code:404,description:_e.INVALID_FIELDS_IN_INSERT},INVALID_TOKENS_IN_INSERT:{code:404,description:_e.INVALID_TOKENS_IN_INSERT},RECORDS_KEY_NOT_FOUND_DETOKENIZE:{code:404,description:_e.RECORDS_KEY_NOT_FOUND_DETOKENIZE},EMPTY_RECORDS_DETOKENIZE:{code:400,description:_e.EMPTY_RECORDS_DETOKENIZE},INVALID_RECORDS_IN_DETOKENIZE:{code:404,description:_e.INVALID_RECORDS_IN_DETOKENIZE},MISSING_TOKEN_IN_DETOKENIZE:{code:400,description:_e.MISSING_TOKEN_IN_DETOKENIZE},INVALID_TOKEN_IN_DETOKENIZE:{code:400,description:_e.INVALID_TOKEN_IN_DETOKENIZE},RECORDS_KEY_NOT_FOUND_GET:{code:400,description:_e.RECORDS_KEY_NOT_FOUND_GET},INVALID_RECORDS_IN_GET:{code:400,description:_e.INVALID_RECORDS_IN_GET},EMPTY_RECORDS_GET:{code:400,description:_e.EMPTY_RECORDS_GET},MISSING_IDS_IN_GET:{code:400,description:_e.MISSING_IDS_IN_GET},INVALID_IDS_IN_GET:{code:400,description:_e.INVALID_IDS_IN_GET},INVALID_COLUMN_VALUES_IN_GET:{code:400,description:_e.INVALID_COLUMN_VALUES_IN_GET},EMPTY_IDS_IN_GET:{code:400,description:_e.EMPTY_IDS_IN_GET},INVALID_SKYFLOWID_TYPE_IN_GET:{code:400,description:_e.INVALID_SKYFLOWID_TYPE_IN_GET},MISSING_TABLE_IN_GET:{code:400,description:_e.MISSING_TABLE_IN_GET},INVALID_TABLE_IN_GET:{code:400,description:_e.INVALID_TABLE_IN_GET},MISSING_REDACTION_IN_GET:{code:400,description:_e.MISSING_REDACTION_IN_GET},INVALID_REDACTION_TYPE_IN_GET:{code:400,description:_e.INVALID_REDACTION_TYPE_IN_GET},INVALID_TOKENS_IN_GET:{code:400,description:_e.INVALID_TOKENS_IN_GET},TOKENS_GET_COLUMN_NOT_SUPPORTED:{code:400,description:_e.TOKENS_GET_COLUMN_NOT_SUPPORTED},REDACTION_WITH_TOKENS_NOT_SUPPORTED:{code:400,description:_e.REDACTION_WITH_TOKENS_NOT_SUPPORTED},INVALID_REDACTION_TYPE_IN_DETOKENIZE:{code:400,description:_e.INVALID_REDACTION_TYPE_IN_DETOKENIZE},INVALID_TOKENS_IN_COLLECT:{code:404,description:_e.INVALID_TOKENS_IN_COLLECT},RECORDS_KEY_NOT_FOUND_IN_ADDITIONAL_FIELDS:{code:404,description:_e.RECORDS_KEY_NOT_FOUND_IN_ADDITIONAL_FIELDS},INVALID_RECORDS_IN_ADDITIONAL_FIELDS:{code:404,description:_e.INVALID_RECORDS_IN_ADDITIONAL_FIELDS},EMPTY_RECORDS_IN_ADDITIONAL_FIELDS:{code:400,description:_e.EMPTY_RECORDS_IN_ADDITIONAL_FIELDS},MISSING_TABLE_IN_ADDITIONAL_FIELDS:{code:400,description:_e.MISSING_TABLE_IN_ADDITIONAL_FIELDS},INVALID_TABLE_IN_ADDITIONAL_FIELDS:{code:400,description:_e.INVALID_TABLE_IN_ADDITIONAL_FIELDS},INVALID_SKYFLOW_ID_IN_ADDITIONAL_FIELDS:{code:400,description:_e.INVALID_SKYFLOW_ID_IN_ADDITIONAL_FIELDS},MISSING_FIELDS_IN_ADDITIONAL_FIELDS:{code:400,description:_e.MISSING_FIELDS_IN_ADDITIONAL_FIELDS},INVALID_FIELDS_IN_ADDITIONAL_FIELDS:{code:400,description:_e.INVALID_FIELDS_IN_ADDITIONAL_FIELDS},RECORDS_KEY_NOT_FOUND_DELETE:{code:400,description:_e.RECORDS_KEY_NOT_FOUND_DELETE},EMPTY_RECORDS_IN_DELETE:{code:400,description:_e.EMPTY_RECORDS_IN_DELETE},INVALID_RECORDS_IN_DELETE:{code:404,description:_e.INVALID_RECORDS_IN_DELETE},INVALID_TABLE_IN_DELETE:{code:400,description:_e.INVALID_TABLE_IN_DELETE},EMPTY_TABLE_IN_DELETE:{code:400,description:_e.EMPTY_TABLE_IN_DELETE},MISSING_TABLE_IN_DELETE:{code:400,description:_e.MISSING_TABLE_IN_DELETE},EMPTY_ID_IN_DELETE:{code:400,description:_e.EMPTY_ID_IN_DELETE},MISSING_ID_IN_DELETE:{code:404,description:_e.MISSING_ID_IN_DELETE},INVALID_ID_IN_DELETE:{code:404,description:_e.INVALID_ID_IN_DELETE},EMPTY_TABLE_IN_ADDITIONAL_FIELDS:{code:400,description:_e.EMPTY_TABLE_IN_ADDITIONAL_FIELDS},EMPTY_FIELDS_IN_ADDITIONAL_FIELDS:{code:400,description:_e.EMPTY_FIELDS_IN_ADDITIONAL_FIELDS},EMPTY_TOKEN_IN_DETOKENIZE:{code:400,description:_e.EMPTY_TOKEN_IN_DETOKENIZE},EMPTY_SKYFLOWID_IN_GET:{code:400,description:_e.EMPTY_SKYFLOWID_IN_GET},EMPTY_TABLE_IN_GET:{code:400,description:_e.EMPTY_TABLE_IN_GET},EMPTY_REDACTION_TYPE_IN_GET:{code:400,description:_e.EMPTY_REDACTION_TYPE_IN_GET},DUPLICATE_ELEMENT:{code:400,description:_e.DUPLICATE_ELEMENT},DUPLICATE_ELEMENT_ADDITIONAL_FIELDS:{code:400,description:_e.DUPLICATE_ELEMENT_ADDITIONAL_FIELDS},MISSING_ELEMENT_TYPE:{code:400,description:_e.MISSING_ELEMENT_TYPE},EMPTY_ELEMENT_TYPE:{code:400,description:_e.EMPTY_ELEMENT_TYPE},INVALID_ELEMENT_TYPE:{code:400,description:_e.INVALID_ELEMENT_TYPE},INVALID_ELEMENT_SELECTOR:{code:400,description:_e.INVALID_ELEMENT_SELECTOR},FRAME_NOT_FOUND:{code:400,description:_e.FRAME_NOT_FOUND},REQUIRED_PARAMS_NOT_PROVIDED:{code:400,description:_e.REQUIRED_PARAMS_NOT_PROVIDED},INVALID_RECORD_COLUMN_VALUE:{code:400,description:_e.INVALID_RECORD_COLUMN_VALUE},MISSING_RECORD_COLUMN_VALUE:{code:400,description:_e.MISSING_RECORD_COLUMN_VALUE},MISSING_RECORD_COLUMN_NAME:{code:400,description:_e.MISSING_RECORD_COLUMN_NAME},INVALID_EVENT_TYPE:{code:400,description:_e.INVALID_EVENT_TYPE},INVALID_EVENT_LISTENER:{code:400,description:_e.INVALID_EVENT_LISTENER},MISSING_HANDLER_IN_EVENT_LISTENER:{code:400,description:_e.MISSING_HANDLER_IN_EVENT_LISTENER},INVALID_HANDLER_IN_EVENT_LISTENER:{code:400,description:_e.INVALID_HANDLER_IN_EVENT_LISTENER},UNKNOWN_ERROR:{code:400,description:_e.UNKNOWN_ERROR},CONNECTION_ERROR:{code:400,description:_e.CONNECTION_ERROR},NETWORK_ERROR:{code:500,description:_e.NETWORK_ERROR},COMPLETE_AND_VALID_INPUTS:{code:400,description:_e.COMPLETE_AND_VALID_INPUTS},INVALID_VALIDATIONS_TYPE:{code:400,description:_e.INVALID_VALIDATIONS_TYPE},MISSING_VALIDATION_RULE_TYPE:{code:400,description:_e.MISSING_VALIDATION_RULE_TYPE},INVALID_VALIDATION_RULE_TYPE:{code:400,description:_e.INVALID_VALIDATION_RULE_TYPE},MISSING_VALIDATION_RULE_PARAMS:{code:400,description:_e.MISSING_VALIDATION_RULE_PARAMS},INVALID_VALIDATION_RULE_PARAMS:{code:400,description:_e.INVALID_VALIDATION_RULE_PARAMS},MISSING_REGEX_IN_REGEX_MATCH_RULE:{code:400,description:_e.MISSING_REGEX_IN_REGEX_MATCH_RULE},INVALID_REGEX_IN_REGEX_MATCH_RULE:{code:400,description:_e.INVALID_REGEX_IN_REGEX_MATCH_RULE},MISSING_MIN_AND_MAX_IN_LENGTH_MATCH_RULE:{code:400,description:_e.MISSING_MIN_AND_MAX_IN_LENGTH_MATCH_RULE},MISSING_ELEMENT_IN_ELEMENT_MATCH_RULE:{code:400,description:_e.MISSING_ELEMENT_IN_ELEMENT_MATCH_RULE},INVALID_ELEMENT_IN_ELEMENT_MATCH_RULE:{code:400,description:_e.INVALID_ELEMENT_IN_ELEMENT_MATCH_RULE},ELEMENT_NOT_MOUNTED_IN_ELEMENT_MATCH_RULE:{code:400,description:_e.ELEMENT_NOT_MOUNTED_IN_ELEMENT_MATCH_RULE},EMPTY_ELEMENT_IN_MOUNT:{code:400,description:_e.EMPTY_ELEMENT_IN_MOUNT},INVALID_TABLE_IN_UPSERT_OPTION:{code:400,description:_e.INVALID_TABLE_IN_UPSERT_OPTION},INVALID_COLUMN_IN_UPSERT_OPTION:{code:400,description:_e.INVALID_COLUMN_IN_UPSERT_OPTION},INVALID_UPSERT_OPTION_TYPE:{code:400,description:_e.INVALID_UPSERT_OPTION_TYPE},EMPTY_UPSERT_OPTIONS_ARRAY:{code:400,description:_e.EMPTY_UPSERT_OPTIONS_ARRAY},INVALID_UPSERT_OPTION_OBJECT_TYPE:{code:400,description:_e.INVALID_UPSERT_OPTION_OBJECT_TYPE},MISSING_TABLE_IN_UPSERT_OPTION:{code:400,description:_e.MISSING_TABLE_IN_UPSERT_OPTION},MISSING_COLUMN_IN_UPSERT_OPTION:{code:400,description:_e.MISSING_COLUMN_IN_UPSERT_OPTION},INVALID_RECORD_COLUMN_VALUE_TYPE:{code:400,description:_e.INVALID_RECORD_COLUMN_VALUE_TYPE},INVALID_COLUMN_VALUES_TYPE:{code:400,description:_e.INVALID_COLUMN_VALUES_TYPE},EMPTY_RECORD_COLUMN_VALUES:{code:400,description:_e.EMPTY_RECORD_COLUMN_VALUES},EMPTY_COLUMN_VALUE:{code:400,description:_e.EMPTY_COLUMN_VALUE},MISSING_IDS_OR_COLUMN_VALUES_IN_GET:{code:400,description:_e.MISSING_IDS_OR_COLUMN_VALUES_IN_GET},SKYFLOW_IDS_AND_COLUMN_NAME_BOTH_SPECIFIED:{code:400,description:_e.SKYFLOW_IDS_AND_COLUMN_NAME_BOTH_SPECIFIED},RECORDS_KEY_NOT_FOUND_GETBYID:{code:400,description:_e.RECORDS_KEY_NOT_FOUND_GETBYID},INVALID_RECORDS_IN_GETBYID:{code:400,description:_e.INVALID_RECORDS_IN_GETBYID},EMPTY_RECORDS_GETBYID:{code:400,description:_e.EMPTY_RECORDS_GETBYID},MISSING_IDS_IN_GETBYID:{code:400,description:_e.MISSING_IDS_IN_GETBYID},INVALID_IDS_IN_GETBYID:{code:400,description:_e.INVALID_IDS_IN_GETBYID},EMPTY_IDS_IN_GETBYID:{code:400,description:_e.EMPTY_IDS_IN_GETBYID},INVALID_SKYFLOWID_TYPE_IN_GETBYID:{code:400,description:_e.INVALID_SKYFLOWID_TYPE_IN_GETBYID},MISSING_TABLE_IN_GETBYID:{code:400,description:_e.MISSING_TABLE_IN_GETBYID},INVALID_TABLE_IN_GETBYID:{code:400,description:_e.INVALID_TABLE_IN_GETBYID},MISSING_REDACTION_IN_GETBYID:{code:400,description:_e.MISSING_REDACTION_IN_GETBYID},INVALID_REDACTION_TYPE_IN_GETBYID:{code:400,description:_e.INVALID_REDACTION_TYPE_IN_GETBYID},EMPTY_SKYFLOWID_IN_GETBYID:{code:400,description:_e.EMPTY_SKYFLOWID_IN_GETBYID},EMPTY_TABLE_IN_GETBYID:{code:400,description:_e.EMPTY_TABLE_IN_GETBYID},EMPTY_REDACTION_TYPE_IN_GETBYID:{code:400,description:_e.EMPTY_REDACTION_TYPE_IN_GETBYID},MISSING_COMPOSABLE_LAYOUT_KEY:{code:400,description:_e.MISSING_COMPOSABLE_LAYOUT_KEY},EMPTY_COMPOSABLE_LAYOUT_ARRAY:{code:400,description:_e.EMPTY_COMPOSABLE_LAYOUT_ARRAY},INVALID_COMPOSABLE_LAYOUT_TYPE:{code:400,description:_e.INVALID_COMPOSABLE_LAYOUT_TYPE},NEGATIVE_VALUES_COMPOSABLE_LAYOUT:{code:400,description:_e.NEGATIVE_VALUES_COMPOSABLE_LAYOUT},MISMATCH_ELEMENT_COUNT_LAYOUT_SUM:{code:400,description:_e.MISMATCH_ELEMENT_COUNT_LAYOUT_SUM},MISSING_COMPOSABLE_CONTAINER_OPTIONS:{code:400,description:_e.MISSING_COMPOSABLE_CONTAINER_OPTIONS},INVALID_COMPOSABLE_CONTAINER_OPTIONS:{code:400,description:_e.INVALID_COMPOSABLE_CONTAINER_OPTIONS},COMPOSABLE_CONTAINER_NOT_MOUNTED:{code:400,description:_e.COMPOSABLE_CONTAINER_NOT_MOUNTED},INVALID_BOOLEAN_OPTIONS:{code:400,description:_e.INVALID_BOOLEAN_OPTIONS},EMPTY_COLLECT_CUSTOM_FORMAT:{code:400,description:_e.EMPTY_COLLECT_CUSTOM_FORMAT},INVALID_INPUT_OPTIONS_FORMAT:{code:400,description:_e.INVALID_INPUT_OPTIONS_FORMAT},INVALID_INPUT_OPTIONS_TRANSLATION:{code:400,description:_e.INVALID_INPUT_OPTIONS_TRANSLATION}},Ot=(e,t)=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"records"))throw new Nt(Tt.RECORDS_KEY_NOT_FOUND,[],!0);const{records:i}=e;if(!i||!Array.isArray(i))throw new Nt(Tt.INVALID_RECORDS_IN_INSERT,[],!0);if(0===i.length)throw new Nt(Tt.EMPTY_RECORDS_IN_INSERT,[],!0);if(i.forEach(((e,t)=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"table"))throw new Nt(Tt.MISSING_TABLE_IN_INSERT,[`${t}`],!0);if(!e.table)throw new Nt(Tt.EMPTY_TABLE_IN_INSERT,[`${t}`],!0);if(!("string"==typeof e.table||e.table instanceof String))throw new Nt(Tt.INVALID_TABLE_IN_INSERT,[`${t}`],!0);if(!Object.prototype.hasOwnProperty.call(e,"fields"))throw new Nt(Tt.MISSING_FIELDS_IN_INSERT,[`${t}`],!0);if(!e.fields)throw new Nt(Tt.EMPTY_FIELDS_IN_INSERT,[`${t}`],!0);if("object"!=typeof e.fields||Array.isArray(e.fields))throw new Nt(Tt.INVALID_FIELDS_IN_INSERT,[`${t}`],!0)})),t&&t.tokens&&"boolean"!=typeof t.tokens)throw new Nt(Tt.INVALID_TOKENS_IN_INSERT,[],!0)},mt=e=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"records"))throw new Nt(Tt.RECORDS_KEY_NOT_FOUND_IN_ADDITIONAL_FIELDS,[],!0);const{records:t}=e;if(!t||!Array.isArray(t))throw new Nt(Tt.INVALID_RECORDS_IN_ADDITIONAL_FIELDS,[],!0);if(0===t.length)throw new Nt(Tt.EMPTY_RECORDS_IN_ADDITIONAL_FIELDS,[],!0);t.forEach(((e,t)=>{var i,n,o,s;if(!e||!Object.prototype.hasOwnProperty.call(e,"table"))throw new Nt(Tt.MISSING_TABLE_IN_ADDITIONAL_FIELDS,[`${t}`],!0);if(!e.table)throw new Nt(Tt.EMPTY_TABLE_IN_ADDITIONAL_FIELDS,[`${t}`],!0);if(void 0!==(null===(i=e.fields)||void 0===i?void 0:i.skyflowID)){if(!(null===(n=e.fields)||void 0===n?void 0:n.skyflowID))throw new Nt(Tt.EMPTY_SKYFLOW_ID_IN_ADDITIONAL_FIELDS,[`${t}`],!0);if(!("string"==typeof(null===(o=e.fields)||void 0===o?void 0:o.skyflowID)||(null===(s=e.fields)||void 0===s?void 0:s.skyflowID)instanceof String))throw new Nt(Tt.INVALID_SKYFLOW_ID_IN_ADDITIONAL_FIELDS,[`${t}`],!0)}if(!("string"==typeof e.table||e.table instanceof String))throw new Nt(Tt.INVALID_TABLE_IN_ADDITIONAL_FIELDS,[`${t}`],!0);if(!Object.prototype.hasOwnProperty.call(e,"fields"))throw new Nt(Tt.MISSING_FIELDS_IN_ADDITIONAL_FIELDS,[`${t}`],!0);if(!e.fields)throw new Nt(Tt.EMPTY_FIELDS_IN_ADDITIONAL_FIELDS,[`${t}`],!0);if("object"!=typeof e.fields||Array.isArray(e.fields))throw new Nt(Tt.INVALID_FIELDS_IN_ADDITIONAL_FIELDS,[`${t}`],!0)}))},vt=(e,t)=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"records"))throw new Nt(Tt.RECORDS_KEY_NOT_FOUND_GET);const{records:i}=e;if(!i||!Array.isArray(i))throw new Nt(Tt.INVALID_RECORDS_IN_GET,[]);if(0===i.length)throw new Nt(Tt.EMPTY_RECORDS_GET);if(t&&Object.prototype.hasOwnProperty.call(t,"tokens")&&"boolean"!=typeof(null==t?void 0:t.tokens))throw new Nt(Tt.INVALID_TOKENS_IN_GET);i.forEach(((e,i)=>{var n,o,s;if(0===Object.keys(e).length)throw new Nt(Tt.EMPTY_RECORDS_GET);if(0===(null===(n=e.ids)||void 0===n?void 0:n.length))throw new Nt(Tt.EMPTY_IDS_IN_GET,[`${i}`]);if(!(null==e.ids||e.ids&&Array.isArray(e.ids)))throw new Nt(Tt.INVALID_IDS_IN_GET,[`${i}`]);if(null===(o=e.ids)||void 0===o||o.forEach((e=>{if(!e)throw new Nt(Tt.EMPTY_SKYFLOWID_IN_GET,[`${i}`]);if(!("string"==typeof e||e instanceof String))throw new Nt(Tt.INVALID_SKYFLOWID_TYPE_IN_GET,[`${i}`])})),!Object.prototype.hasOwnProperty.call(e,"table"))throw new Nt(Tt.MISSING_TABLE_IN_GET,[`${i}`]);if(!e.table)throw new Nt(Tt.EMPTY_TABLE_IN_GET,[`${i}`]);if(!("string"==typeof e.table||e.table instanceof String))throw new Nt(Tt.INVALID_TABLE_IN_GET,[`${i}`]);if(!t||!Object.prototype.hasOwnProperty.call(t,"tokens")||!0!==(null==t?void 0:t.tokens)){if(!Object.prototype.hasOwnProperty.call(e,"redaction"))throw new Nt(Tt.MISSING_REDACTION_IN_GET,[`${i}`]);if(!e.redaction)throw new Nt(Tt.EMPTY_REDACTION_TYPE_IN_GET,[`${i}`]);if(!Object.values(st).includes(e.redaction))throw new Nt(Tt.INVALID_REDACTION_TYPE_IN_GET,[`${i}`])}if(!0===Object.prototype.hasOwnProperty.call(e,"ids")&&!0===Object.prototype.hasOwnProperty.call(e,"columnName"))throw new Nt(Tt.SKYFLOW_IDS_AND_COLUMN_NAME_BOTH_SPECIFIED,[`${i}`]);if(Object.prototype.hasOwnProperty.call(e,"columnName")){if(!Object.prototype.hasOwnProperty.call(e,"columnName")||!Object.prototype.hasOwnProperty.call(e,"columnValues"))throw new Nt(Tt.MISSING_RECORD_COLUMN_VALUE,[`${i}`])}else if(!1===Object.prototype.hasOwnProperty.call(e,"ids")&&!1===Object.prototype.hasOwnProperty.call(e,"columnValues"))throw new Nt(Tt.MISSING_IDS_OR_COLUMN_VALUES_IN_GET,[`${i}`]);if(0===(null===(s=e.columnValues)||void 0===s?void 0:s.length))throw new Nt(Tt.EMPTY_RECORD_COLUMN_VALUES,[`${i}`]);if(!(null==e.columnValues||e.columnValues&&Array.isArray(e.columnValues)))throw new Nt(Tt.INVALID_COLUMN_VALUES_IN_GET,[`${i}`]);if(void 0!==e.columnName&&void 0===e.columnValues)throw new Nt(Tt.MISSING_RECORD_COLUMN_VALUE,[`${i}`]);if(void 0===e.columnName&&void 0!==e.columnValues)throw new Nt(Tt.MISSING_RECORD_COLUMN_NAME,[`${i}`]);const r=e.columnName;if(null!=r&&"string"!=typeof r)throw new Nt(Tt.INVALID_RECORD_COLUMN_VALUE,[`${i}`]);const a=e.columnValues;if(null!=a){if(0===a.length||null===a)throw new Nt(Tt.EMPTY_RECORD_COLUMN_VALUES,[`${i}`]);a.forEach((e=>{if(""===e||null===e)throw new Nt(Tt.EMPTY_COLUMN_VALUE,[`${i}`]);if("string"!=typeof e)throw new Nt(Tt.INVALID_RECORD_COLUMN_VALUE_TYPE,[`${i}`])}))}if(t&&Object.prototype.hasOwnProperty.call(t,"tokens")&&!0===(null==t?void 0:t.tokens)){if(r||a)throw new Nt(Tt.TOKENS_GET_COLUMN_NOT_SUPPORTED);if(e.redaction)throw new Nt(Tt.REDACTION_WITH_TOKENS_NOT_SUPPORTED)}}))},At=e=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"records"))throw new Nt(Tt.RECORDS_KEY_NOT_FOUND_GETBYID);const{records:t}=e;if(!t||!Array.isArray(t))throw new Nt(Tt.INVALID_RECORDS_IN_GETBYID,[]);if(0===t.length)throw new Nt(Tt.EMPTY_RECORDS_GETBYID);t.forEach(((e,t)=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"ids"))throw new Nt(Tt.MISSING_IDS_IN_GETBYID,[`${t}`]);if(!e.ids||!Array.isArray(e.ids))throw new Nt(Tt.INVALID_IDS_IN_GETBYID,[`${t}`]);if(0===e.ids.length)throw new Nt(Tt.EMPTY_IDS_IN_GETBYID,[`${t}`]);if(e.ids.forEach((e=>{if(!e)throw new Nt(Tt.EMPTY_SKYFLOWID_IN_GETBYID,[`${t}`]);if(!("string"==typeof e||e instanceof String))throw new Nt(Tt.INVALID_SKYFLOWID_TYPE_IN_GETBYID,[`${t}`])})),!Object.prototype.hasOwnProperty.call(e,"table"))throw new Nt(Tt.MISSING_TABLE_IN_GETBYID,[`${t}`]);if(!e.table)throw new Nt(Tt.EMPTY_TABLE_IN_GETBYID,[`${t}`]);if(!("string"==typeof e.table||e.table instanceof String))throw new Nt(Tt.INVALID_TABLE_IN_GETBYID,[`${t}`]);if(!Object.prototype.hasOwnProperty.call(e,"redaction"))throw new Nt(Tt.MISSING_REDACTION_IN_GETBYID,[`${t}`]);if(!e.redaction)throw new Nt(Tt.EMPTY_REDACTION_TYPE_IN_GETBYID,[`${t}`]);if(!Object.values(st).includes(e.redaction))throw new Nt(Tt.INVALID_REDACTION_TYPE_IN_GETBYID,[`${t}`])}))},yt=(e,t)=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"records"))throw new Nt(Tt.RECORDS_KEY_NOT_FOUND_DELETE,[],!0);const{records:i}=e;if(!i||!Array.isArray(i))throw new Nt(Tt.INVALID_RECORDS_IN_DELETE,[],!0);if(0===i.length)throw new Nt(Tt.EMPTY_RECORDS_IN_DELETE,[],!0);i.forEach(((e,t)=>{if(!e||!Object.prototype.hasOwnProperty.call(e,"table"))throw new Nt(Tt.MISSING_TABLE_IN_DELETE,[`${t}`],!0);if(!e.table)throw new Nt(Tt.EMPTY_TABLE_IN_DELETE,[`${t}`],!0);if(!("string"==typeof e.table||e.table instanceof String))throw new Nt(Tt.INVALID_TABLE_IN_DELETE,[`${t}`],!0);if(!Object.prototype.hasOwnProperty.call(e,"id"))throw new Nt(Tt.MISSING_ID_IN_DELETE,[`${t}`],!0);if(!e.id)throw new Nt(Tt.EMPTY_ID_IN_DELETE,[`${t}`],!0);if(!("string"==typeof e.id||e.id instanceof String))throw new Nt(Tt.INVALID_ID_IN_DELETE,[`${t}`],!0)}))},Lt=e=>{let t=!0;try{new RegExp(e)}catch(e){t=!1}return t},Rt=e=>{if(!Object.prototype.hasOwnProperty.call(e,"getBearerToken"))throw new Nt(Tt.GET_BEARER_TOKEN_IS_REQUIRED,[],!0)},gt=(e,t)=>{if(!Object.prototype.hasOwnProperty.call(e,"type"))throw new Nt(Tt.MISSING_ELEMENT_TYPE,[],!0);if(!e.type)throw new Nt(Tt.EMPTY_ELEMENT_TYPE,[],!0);if(Object.prototype.hasOwnProperty.call(e,"altText")&&ht(ue.COLLECT_ALT_TEXT_DEPERECATED,ct.WARN,t),Object.prototype.hasOwnProperty.call(e,"skyflowID")&&"string"!=typeof e.skyflowID)throw new Nt(Tt.INVALID_SKYFLOWID_IN_COLLECT,[],!0)},St=e=>{if(!e||!Array.isArray(e))throw new Nt(Tt.INVALID_UPSERT_OPTION_TYPE,[],!0);if(!e.length)throw new Nt(Tt.EMPTY_UPSERT_OPTIONS_ARRAY,[],!0);e.forEach(((e,t)=>{if(!e||"object"!=typeof e)throw new Nt(Tt.INVALID_UPSERT_OPTION_OBJECT_TYPE,[t],!0);if(!Object.prototype.hasOwnProperty.call(e,"table"))throw new Nt(Tt.MISSING_TABLE_IN_UPSERT_OPTION,[t],!0);if(!e.table||"string"!=typeof e.table||!e.table.length)throw new Nt(Tt.INVALID_TABLE_IN_UPSERT_OPTION,[t],!0);if(!Object.prototype.hasOwnProperty.call(e,"column"))throw new Nt(Tt.MISSING_COLUMN_IN_UPSERT_OPTION,[t],!0);if(!e.column||"string"!=typeof e.column||!e.column.length)throw new Nt(Tt.INVALID_COLUMN_IN_UPSERT_OPTION,[t],!0)}))},Dt=e=>"boolean"==typeof e;function Ct(e){const t=e.split(":");return t.length>2?(t.pop(),t.pop(),t.join(":")):""}const Pt=(e,t,i)=>{if("string"!=typeof e)return e;if(t===Me.CARD_NUMBER){if(e=e&&e.replace(/\s/g,""),!i){const t=((e="")=>{const t=e.replace(/[\s-]/g,"");let i=we.DEFAULT;return Object.entries(Be).forEach((([e,n])=>{n.regex.test(t)&&(i=e)})),i})(e),i=t!==we.DEFAULT&&t===we.AMEX?6:8;return e.length>i?e.replace(new RegExp(`.(?=.{0,${(null==e?void 0:e.length)-i-1}}$)`,"g"),"X"):e}return e}return i?e:void 0};function bt(e){var t,i,n,o,a;if((null===(t=null==e?void 0:e.options)||void 0===t?void 0:t.customElementsURL)&&(e=>{if(!e||"https"!==e.substring(0,5).toLowerCase())return!1;try{if(new URL(e))return!0}catch(e){return!1}return!0})(null===(i=null==e?void 0:e.options)||void 0===i?void 0:i.customElementsURL)){const t=null===(n=null==e?void 0:e.options)||void 0===n?void 0:n.customElementsURL,i=new URL(t),s=`${i.protocol}//${i.hostname}`;qe.IFRAME_SECURE_ORGIN=s,qe.IFRAME_SECURE_SITE=null===(o=null==e?void 0:e.options)||void 0===o?void 0:o.customElementsURL}if("Payrails"===(null===(a=e.options)||void 0===a?void 0:a.deserializedData.vaultConfiguration.vaultType)){if(!qe.IFRAME_SECURE_ORGIN||!qe.IFRAME_SECURE_SITE){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CARD_FORM_IFRAME_NOT_FOUND);throw r.PayrailsLogger.error(e.message,{error:e,extra:{IFRAME_SECURE_ORGIN:qe.IFRAME_SECURE_ORGIN,IFRAME_SECURE_SITE:qe.IFRAME_SECURE_SITE}}),e}qe.IFRAME_SECURE_ORGIN=Je.IFRAME_SECURE_ORGIN,qe.IFRAME_SECURE_SITE=Je.IFRAME_SECURE_SITE}}class Mt{constructor(e,t,i,n){this.setAttributess=e=>{Qe(this.iframe,{src:e})},this.mount=e=>{var t;this.unmount();try{if("string"==typeof e){if(this.container=document.querySelector(e)||void 0,!this.container)throw new Nt(Tt.INVALID_ELEMENT_SELECTOR,[],!0)}else{if(!(e instanceof HTMLElement))throw new Nt(Tt.INVALID_ELEMENT_SELECTOR,[],!0);this.container=e}}catch(e){console.error(e)}Qe(this.iframe,{src:tt()}),null===(t=this.container)||void 0===t||t.appendChild(this.iframe)},this.setIframeHeight=e=>{this.iframe.getAttribute("height")!==e&&this.iframe.setAttribute("height",`${e}px`)},this.unmount=()=>{this.iframe.remove()},this.name=`${e}:${i}:${n}`,this.metadata=t,this.iframe=et({name:this.name})}}class wt{}var Ut,kt,Yt,xt,Vt,Gt,Ft,Bt,jt,Xt,Wt,$t,zt,Kt,Ht,qt,Jt,Zt,Qt,ei;const ti="Element";class ii extends wt{constructor(e,n,o,s,r=!1,a,l,d,c){var E;super(),this.type=mn.COLLECT,Ut.set(this,void 0),kt.set(this,!1),Yt.set(this,void 0),xt.set(this,void 0),Vt.set(this,{isEmpty:!0,isComplete:!1,isValid:!1,isFocused:!1,value:void 0,isRequired:!1}),Gt.set(this,void 0),Ft.set(this,new He),Bt.set(this,void 0),jt.set(this,new ot),Xt.set(this,void 0),Wt.set(this,[]),$t.set(this,!1),zt.set(this,void 0),Kt.set(this,void 0),Ht.set(this,!1),this.getID=()=>t(this,Ut,"f"),this.mount=e=>{var n;if(!e)throw new Nt(Tt.EMPTY_ELEMENT_IN_MOUNT,["CollectElement"],!0);const o=(e,n)=>{if(e.name===t(this,Xt,"f").name){n(t(this,Gt,"f")),t(this,ei,"f").call(this);const e=function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(i[n[o]]=e[n[o]])}return i}(t(this,Yt,"f")[0],["name"]);t(this,xt,"f").length>1?t(this,xt,"f").forEach(((e,i)=>{t(this,Bt,"f")&&t(this,Bt,"f")._emit(`${Oe.READY}:${e.elementName}`,Object.assign(Object.assign({},t(this,Yt,"f")[i]),{elementType:e.elementType}))})):t(this,Ft,"f")._emit(Oe.READY,Object.assign({},e)),t(this,jt,"f").off(me+this.containerId,o),ht(`${pt(Ee.ELEMENT_MOUNTED,ti,ft(t(this,Xt,"f").name))} `,ct.LOG,t(this,zt,"f").logLevel),t(this,Wt,"f").forEach((e=>e())),i(this,Wt,[],"f")}};if(t(this,xt,"f").length>1)t(this,Xt,"f").mount(e),t(this,jt,"f").on(me+this.containerId,o);else{if(t(this,Ht,"f"))return t(this,Xt,"f").mount(e),void t(this,jt,"f").on(me+this.containerId,o);null===(n=t(this,Bt,"f"))||void 0===n||n.on(be,(i=>{(null==i?void 0:i.containerId)===this.containerId&&(t(this,Xt,"f").mount(e),t(this,jt,"f").on(me+this.containerId,o))}))}},this.unmount=()=>{t(this,Xt,"f").unmount()},this.update=e=>{let n=nt(e);const o=()=>{t(this,kt,"f")&&(n={rows:[{elements:[Object.assign({},n)]}]}),i(this,Gt,oi(t(this,Gt,"f"),n),"f"),i(this,xt,si(t(this,Gt,"f")),"f"),t(this,kt,"f")?t(this,jt,"f").emit(Le,{name:t(this,Xt,"f").name,options:t(this,xt,"f")[0],isSingleElementAPI:!0}):(t(this,xt,"f").forEach((e=>{t(this,jt,"f").emit(Le,{name:e.elementName,options:e,isSingleElementAPI:!0})})),t(this,jt,"f").emit(Le,{name:t(this,Xt,"f").name,options:t(this,Gt,"f"),isSingleElementAPI:!1})),t(this,ei,"f").call(this)};t(this,$t,"f")?o():t(this,Wt,"f").push(o)},qt.set(this,(e=>{t(this,kt,"f")||t(this,Ft,"f").on(Le,(()=>{e(t(this,xt,"f"))}),!0)})),this.updateElement=e=>{t(this,jt,"f").emit(Le,{name:e.elementName,options:e,isSingleElementAPI:!0})},Jt.set(this,(()=>{t(this,Yt,"f").forEach(((e,i)=>{if(0===i){t(this,Vt,"f").isEmpty=e.isEmpty,t(this,Vt,"f").isComplete=e.isComplete,t(this,Vt,"f").isValid=e.isValid,t(this,Vt,"f").isFocused=e.isFocused,t(this,Vt,"f").isRequired=e.isRequired,t(this,Vt,"f").value={};const n=t(this,xt,"f")[i].elementName,o=e.value&&Pt(e.value,e.elementType,t(this,Kt,"f"));t(this,kt,"f")?t(this,Vt,"f").value=o:t(this,Vt,"f").value[n]=o}else t(this,Vt,"f").isEmpty=t(this,Vt,"f").isEmpty||e.isEmpty,t(this,Vt,"f").isComplete=t(this,Vt,"f").isComplete&&e.isComplete,t(this,Vt,"f").isValid=t(this,Vt,"f").isValid&&e.isValid,t(this,Vt,"f").isFocused=t(this,Vt,"f").isFocused||e.isFocused,t(this,Vt,"f").isRequired=t(this,Vt,"f").isRequired||e.isRequired,t(this,Vt,"f").value||(t(this,Vt,"f").value={}),t(this,xt,"f")[i].sensitive||(t(this,Vt,"f").value[t(this,xt,"f")[i].elementName]=e.value||"")}))})),this.getState=()=>({isEmpty:t(this,Vt,"f").isEmpty,isComplete:t(this,Vt,"f").isComplete,isValid:t(this,Vt,"f").isValid,isFocused:t(this,Vt,"f").isFocused,value:t(this,Vt,"f").value,required:t(this,Vt,"f").isRequired}),this.getOptions=()=>{let e=nt(t(this,Gt,"f"));return t(this,kt,"f")?e=e.rows[0].elements[0]:e.rows.forEach((e=>{e.elements.forEach((e=>{delete e.elementName}))})),delete e.elementName,e},Zt.set(this,(e=>{t(this,Ft,"f").on(ye,(()=>{const i=t(this,xt,"f").map((e=>e.elementName));t(this,kt,"f")||i.push(t(this,Xt,"f").name),e(i)}),!0)})),Qt.set(this,(()=>{t(this,jt,"f").on(Ae,(e=>{if(t(this,kt,"f")&&e.event===Oe.READY&&e.name===t(this,Xt,"f").name)t(this,Ft,"f")._emit(Oe.READY);else{const i=t(this,xt,"f").length>1;t(this,xt,"f").forEach(((n,o)=>{var s;if(e.name===n.elementName){let r="";switch(e.event){case Oe.FOCUS:r=Oe.FOCUS;break;case Oe.BLUR:r=Oe.BLUR;break;case Oe.CHANGE:r=Oe.CHANGE;break;case Oe.READY:r=Oe.READY;break;case Oe.SUBMIT:return void(null===(s=t(this,Bt,"f"))||void 0===s||s._emit(Oe.SUBMIT));default:throw new Nt(Tt.INVALID_EVENT_TYPE,[],!0)}t(this,Yt,"f")[o].isEmpty=e.value.isEmpty,t(this,Yt,"f")[o].isValid=e.value.isValid,t(this,Yt,"f")[o].isComplete=e.value.isComplete,t(this,Yt,"f")[o].isFocused=e.value.isFocused,t(this,Yt,"f")[o].isRequired=e.value.isRequired,Object.prototype.hasOwnProperty.call(e.value,"value")?t(this,Yt,"f")[o].value=e.value.value:t(this,Yt,"f")[o].value=void 0,r=i?`${r}:${e.name}`:r,t(this,jt,"f").emit(Oe.HEIGHT+t(this,Xt,"f").name,{},(e=>{t(this,Xt,"f").setIframeHeight(e.height)})),t(this,Jt,"f").call(this);const a=Object.assign(Object.assign({},t(this,Yt,"f")[o]),{elementType:n.elementType});i&&t(this,Bt,"f")?t(this,Bt,"f")._emit(r,a):t(this,Ft,"f")._emit(r,a)}}))}}))})),ei.set(this,(()=>{const{rows:e}=t(this,Gt,"f");e.forEach((e=>{e.elements.forEach((e=>{e.elementType!==ke.radio.name&&e.elementType!==ke.checkbox.name&&(e.value=void 0)}))})),i(this,xt,si(t(this,Gt,"f")),"f")})),this.containerId=s.containerId,i(this,Ut,e,"f"),i(this,zt,d,"f"),i(this,Gt,oi(n),"f"),i(this,xt,si(n),"f"),i(this,kt,r,"f"),c&&i(this,Bt,c,"f"),i(this,Kt,ut[t(this,zt,"f").env].doesReturnValue,"f"),this.elementType=t(this,kt,"f")?t(this,xt,"f")[0].elementType:"group",i(this,Yt,[],"f"),t(this,xt,"f").forEach((e=>{t(this,Yt,"f").push({isEmpty:!0,isComplete:!1,isValid:!1,isFocused:!1,value:t(this,Kt,"f")?"":void 0,elementType:e.elementType,name:e.elementName,isRequired:!1})})),i(this,Xt,new Mt(t(this,Gt,"f").elementName,o,this.containerId,t(this,zt,"f").logLevel),"f"),t(this,Qt,"f").call(this),t(this,Zt,"f").call(this,a),t(this,qt,"f").call(this,l),ht(pt(Ee.CREATED_ELEMENT,ti,ft(t(this,Xt,"f").name)),ct.LOG,t(this,zt,"f").logLevel),i(this,Ht,s.isMounted,"f"),null===(E=t(this,Bt,"f"))||void 0===E||E.on(be,(e=>{(null==e?void 0:e.containerId)===this.containerId&&i(this,Ht,!0,"f")})),t(this,jt,"f").on(Oe.MOUNTED,(e=>{s.type===mn.COMPOSABLE?t(this,xt,"f").forEach((t=>{e.name===t.elementName&&(t.isMounted=!0,i(this,$t,!0,"f"))})):e.name===t(this,xt,"f")[0].elementName&&(t(this,xt,"f")[0].isMounted=!0,i(this,$t,!0,"f")),t(this,jt,"f").emit(Oe.HEIGHT+t(this,Xt,"f").name,{},(e=>{t(this,Xt,"f").setIframeHeight(e.height)}))}))}on(e,i){if(!Object.values(Oe).includes(e))throw new Nt(Tt.INVALID_EVENT_LISTENER,[],!0);if(!i)throw new Nt(Tt.MISSING_HANDLER_IN_EVENT_LISTENER,[],!0);if("function"!=typeof i)throw new Nt(Tt.INVALID_HANDLER_IN_EVENT_LISTENER,[],!0);t(this,Ft,"f").on(e,(e=>{void 0===e.value&&(e.value=""),delete e.isComplete,delete e.name,i(e)}))}iframeName(){return t(this,Xt,"f").name}isMounted(){return t(this,$t,"f")}isValidElement(){for(let e=0;e<t(this,xt,"f").length;e+=1){if(!Object.prototype.hasOwnProperty.call(t(this,xt,"f")[e],"table"))throw new Nt(Tt.MISSING_TABLE_IN_COLLECT,[],!0);if(!t(this,xt,"f")[e].table)throw new Nt(Tt.EMPTY_TABLE_IN_COLLECT,[],!0);if(!("string"==typeof t(this,xt,"f")[e].table||t(this,xt,"f")[e].table instanceof String))throw new Nt(Tt.INVALID_TABLE_IN_COLLECT,[],!0);if(!Object.prototype.hasOwnProperty.call(t(this,xt,"f")[e],"column"))throw new Nt(Tt.MISSING_COLUMN_IN_COLLECT,[],!0);if(!t(this,xt,"f")[e].column)throw new Nt(Tt.EMPTY_COLUMN_IN_COLLECT,[],!0);if(!("string"==typeof t(this,xt,"f")[e].column||t(this,xt,"f")[e].column instanceof String))throw new Nt(Tt.INVALID_COLUMN_IN_COLLECT,[],!0);if(void 0!==t(this,xt,"f")[e].skyflowID&&!t(this,xt,"f")[e].skyflowID)throw new Nt(Tt.EMPTY_SKYFLOW_ID_IN_ADDITIONAL_FIELDS,[],!0)}return!0}setError(e){t(this,jt,"f").emit(De,{name:Ct(t(this,Xt,"f").name),isTriggerError:!0,clientErrorText:e})}resetError(){t(this,jt,"f").emit(De,{name:Ct(t(this,Xt,"f").name),isTriggerError:!1})}setValue(e){t(this,zt,"f").env!==dt.PROD?t(this,kt,"f")&&t(this,jt,"f").emit(Le,{name:t(this,Xt,"f").name,options:Object.assign(Object.assign({},t(this,xt,"f")[0]),{value:e}),isSingleElementAPI:!0}):ht(pt(ue.UNABLE_TO_SET_VALUE_IN_PROD_ENV,t(this,xt,"f")[0].elementType),ct.WARN,t(this,zt,"f").logLevel)}clearValue(){t(this,zt,"f").env!==dt.PROD?t(this,kt,"f")&&t(this,jt,"f").emit(Le,{name:t(this,Xt,"f").name,options:Object.assign(Object.assign({},t(this,xt,"f")[0]),{value:""}),isSingleElementAPI:!0}):ht(pt(ue.UNABLE_TO_CLEAR_VALUE_IN_PROD_ENV,t(this,xt,"f")[0].elementType),ct.WARN,t(this,zt,"f").logLevel)}}function ni(e,t,i={}){if("group"!==e&&!Object.prototype.hasOwnProperty.call(ke,e))throw new Nt(Tt.INVALID_ELEMENT_TYPE,[],!0);if(Object.prototype.hasOwnProperty.call(t,"validations")){if(!Array.isArray(t.validations))throw new Nt(Tt.INVALID_VALIDATIONS_TYPE,[],!0);t.validations.forEach(((e,t)=>{if(!Object.prototype.hasOwnProperty.call(e,"type"))throw new Nt(Tt.MISSING_VALIDATION_RULE_TYPE,[`${t}`],!0);if(!Object.values(Et).includes(e.type))throw new Nt(Tt.INVALID_VALIDATION_RULE_TYPE,[`${t}`],!0);if(!Object.prototype.hasOwnProperty.call(e,"params"))throw new Nt(Tt.MISSING_VALIDATION_RULE_PARAMS,[`${t}`],!0);if("object"!=typeof e.params||Array.isArray(e.params)||null===e.params)throw new Nt(Tt.INVALID_VALIDATION_RULE_PARAMS,[`${t}`],!0);if(e.type===Et.REGEX_MATCH_RULE){if(!Object.prototype.hasOwnProperty.call(e.params,"regex"))throw new Nt(Tt.MISSING_REGEX_IN_REGEX_MATCH_RULE,[`${t}`],!0)}else if(e.type===Et.LENGTH_MATCH_RULE&&!Object.prototype.hasOwnProperty.call(e.params,"min")&&!Object.prototype.hasOwnProperty.call(e.params,"max"))throw new Nt(Tt.MISSING_MIN_AND_MAX_IN_LENGTH_MATCH_RULE,[`${t}`],!0)}))}if(Object.prototype.hasOwnProperty.call(i,"name")&&i.name!==t.name)throw new Error("Name attribute can't be updated");if((i=Object.assign(Object.assign({},t),i)).mask||i.replacePattern){const{type:t}=ke[e].attributes;"text"===t&&"textarea"===t&&"email"===t||(delete i.mask,delete i.replacePattern)}if(void 0===!i.mask&&!Array.isArray(i.mask))throw new Error("mask option has to be array or undefined");if(Array.isArray(i.mask)){const e=i.mask;if("string"!=typeof e[0]||e[1]&&"object"!=typeof e[1])throw new Error("mask array values has to be string")}if(Array.isArray(i.replacePattern)){const e=i.replacePattern;if("string"!=typeof e[0]||e[1]&&"string"!=typeof e[1])throw new Error("replacePatterns array values has to be string")}if((e===ke.radio.name||e===ke.checkbox.name)&&!i.value)throw new Error("Elements radio and checkbox requires value attribute");if(!(e!==ke.dropdown.name||i.options&&Array.isArray(i.options)&&0!==i.options.length))throw new Error("Element dropdown requires options attribute with an array of objects containing value and text attributes")}function oi(e,t={},i=!0){return(t=Object.assign(Object.assign({},e),t)).rows.forEach(((n,o)=>{const s=n,r=e.rows[o];t.rows[o]=Object.assign(Object.assign({},r),s),s.elements.forEach(((e,t)=>{var n,o;const a=r.elements[t],l=e;if(l.elementType&&a.elementType!==l.elementType&&a.elementName&&a.elementName!==l.elementName)throw new Error(_e.CANNOT_CHANGE_ELEMENT);ni(a.elementType,a,l),s.elements[t]=Object.assign(Object.assign(Object.assign({},a),l),{elementName:a.elementName});const d=l.classes||{},c=l.styles||{};c.base=Object.assign(Object.assign({},Ge),c.base),l.classes=d,l.styles=c;const E=(null===(n=null==l?void 0:l.labelStyles)||void 0===n?void 0:n.classes)||{},_=(null===(o=null==l?void 0:l.labelStyles)||void 0===o?void 0:o.styles)||{};i&&function(e,t){Object.values(Fe).forEach((i=>{if(e[i]||t[i])switch(i){case Fe.BASE:t[i]=Object.assign({},t[i]);break;case Fe.FOCUS:t[Fe.BASE]=Object.assign(Object.assign({},t[Fe.BASE]),{":focus":Object.assign({},t[Fe.BASE]&&t[Fe.BASE][":focus"])});break;case Fe.WEBPACKAUTOFILL:t[Fe.BASE]=Object.assign(Object.assign({},t[Fe.BASE]),{":-webkit-autofill":Object.assign({},t[Fe.BASE]&&t[Fe.BASE][":-webkit-autofill"])});break;default:t[i]=Object.assign(Object.assign({},t[Fe.BASE]),t[i])}})),Object.keys(t).forEach((e=>{const i=t[e][":-webkit-autofill"];"object"==typeof i&&Object.keys(i).forEach((e=>{i[e]&&!i[e].includes("!important")&&(i[e]=`${i[e]} !important`)}))}))}(E,_),l.labelStyles={labelClasses:E},l.labelStyles.styles=_}))})),t}Ut=new WeakMap,kt=new WeakMap,Yt=new WeakMap,xt=new WeakMap,Vt=new WeakMap,Gt=new WeakMap,Ft=new WeakMap,Bt=new WeakMap,jt=new WeakMap,Xt=new WeakMap,Wt=new WeakMap,$t=new WeakMap,zt=new WeakMap,Kt=new WeakMap,Ht=new WeakMap,qt=new WeakMap,Jt=new WeakMap,Zt=new WeakMap,Qt=new WeakMap,ei=new WeakMap;const si=e=>{const{rows:t}=e,i=[];return t.forEach((e=>{e.elements.forEach((e=>{i.push(e)}))})),i},ri=e=>{const t=e.validations;return t&&Array.isArray(t)&&t.length>0&&t.forEach(((e,t)=>{if(e&&e.type===Et.ELEMENT_VALUE_MATCH_RULE){if(e.params&&!Object.prototype.hasOwnProperty.call(e.params,"element"))throw new Nt(Tt.MISSING_ELEMENT_IN_ELEMENT_MATCH_RULE,[`${t}`],!0);if(e.params&&(null==e.params.element||!(e.params.element instanceof ii)))throw new Nt(Tt.INVALID_ELEMENT_IN_ELEMENT_MATCH_RULE,[`${t}`],!0);e.params&&e.params.element&&e.params.element instanceof ii&&(e.params.element=e.params.element.iframeName())}else if(e&&e.type===Et.REGEX_MATCH_RULE){if(e.params&&e.params.regex&&!Lt(e.params.regex))throw new Nt(Tt.INVALID_REGEX_IN_REGEX_MATCH_RULE,[`${t}`],!0);e.params&&e.params.regex&&Lt(e.params.regex)&&(e.params.regex=e.params.regex.toString())}})),t},ai=(e,t,i)=>{let n=Object.assign({required:!1},t);if((Object.prototype.hasOwnProperty.call(n,"format")||Object.prototype.hasOwnProperty.call(n,"translation"))&&(ze.includes(e)?(ht(pt(ue.INPUT_FORMATTING_NOT_SUPPROTED,e),ct.WARN,i),null==n||delete n.format,null==n||delete n.translation):e===ke.INPUT_FIELD.name&&((e=>{if(e){if(Object.prototype.hasOwnProperty.call(e,"format")&&"string"!=typeof e.format)throw new Nt(Tt.INVALID_INPUT_OPTIONS_FORMAT,[],!0);if(Object.prototype.hasOwnProperty.call(e,"translation")&&("object"!=typeof e.translation||"[object Object]"!==Object.prototype.toString.call(e.translation)))throw new Nt(Tt.INVALID_INPUT_OPTIONS_TRANSLATION,[],!0)}})(t),n=Object.assign(Object.assign({},n),{mask:[n.format,n.translation?n.translation:Ke]}),null==n||delete n.format,null==n||delete n.translation)),e===ke.CARD_NUMBER.name){Object.prototype.hasOwnProperty.call(n,"enableCardIcon")||(n=Object.assign(Object.assign({},n),{enableCardIcon:!0}));let e=" ";(null==n?void 0:n.format)===Ye&&(e="-"),n=Object.assign(Object.assign({},n),{cardSeperator:e}),null==n||delete n.format,null==n||delete n.translation}else if(e===ke.EXPIRATION_DATE.name){let e=!1;n.format&&(e=!!(o=n.format.toUpperCase())&&Xe.includes(o),e||ht(pt(ue.INVALID_EXPIRATION_DATE_FORMAT,Xe.toString()),ct.WARN,i)),n=Object.assign(Object.assign({},n),{format:e?n.format.toUpperCase():je}),null==n||delete n.translation}else if(e===ke.EXPIRATION_YEAR.name){let e=!1;n.format&&(e=(e=>!!e&&We.includes(e))(n.format.toUpperCase()),e||ht(pt(ue.INVALID_EXPIRATION_YEAR_FORMAT,We.toString()),ct.WARN,i)),n=Object.assign(Object.assign({},n),{format:e?n.format.toUpperCase():"YY"}),null==n||delete n.translation}var o;if(Object.prototype.hasOwnProperty.call(n,"enableCardIcon")&&!Dt(n.enableCardIcon))throw new Nt(Tt.INVALID_BOOLEAN_OPTIONS,["enableCardIcon"],!0);if(Object.prototype.hasOwnProperty.call(n,"enableCopy")&&!Dt(n.enableCopy))throw new Nt(Tt.INVALID_BOOLEAN_OPTIONS,["enableCopy"],!0);if(Object.prototype.hasOwnProperty.call(n,"required")&&!Dt(n.required))throw new Nt(Tt.INVALID_BOOLEAN_OPTIONS,["required"],!0);return n};function li(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=crypto.getRandomValues(new Uint32Array(1))[0]/Math.pow(2,32)*16|0;return("x"===e?t:3&t|8).toString(16)}))}class di{}var ci,Ei,_i,ui,Ii,hi,pi,fi,Ni,Ti,Oi,mi;const vi="CollectContainer";class Ai extends di{constructor(e,n,o,s){super(),ci.set(this,void 0),Ei.set(this,{}),_i.set(this,void 0),ui.set(this,void 0),Ii.set(this,void 0),this.type=mn.COLLECT,hi.set(this,void 0),pi.set(this,!1),this.create=(e,i={required:!1})=>{gt(e,t(this,ui,"f").logLevel);const n=ri(e),o=ai(e.type,i,t(this,ui,"f").logLevel),s={rows:[{elements:[Object.assign(Object.assign(Object.assign({elementType:e.type,name:e.column,accept:i.allowedFileType},e),o),{validations:n})]}]};return t(this,fi,"f").call(this,s,!0)},fi.set(this,((e,i=!1)=>{const n=[],o=nt(e);if(o.rows.forEach((e=>{e.elements.forEach((e=>{const t=e,{elementType:i}=t;ni(i,t),t.sensitive=t.sensitive||ke[i].sensitive,t.replacePattern=t.replacePattern||ke[i].replacePattern,t.mask=t.mask||ke[i].mask,t.isMounted=!1,t.elementType!==ke.radio.name&&t.elementType!==ke.checkbox.name||(t.elementName=`${t.elementName}:${btoa(t.value)}`),t.elementName=`${he}:${t.elementType}:${btoa(li())}`,t.label=e.label,t.skyflowID=e.skyflowID,n.push(t)}))})),o.elementName=i?n[0].elementName:`${he}:group:${btoa(o.name)}`,i&&!t(this,Ei,"f")[n[0].elementName]&&t(this,mi,"f").call(this,n[0].name))throw new Nt(Tt.UNIQUE_ELEMENT_NAME,[`${n[0].name}`],!0);let s=t(this,Ei,"f")[o.elementName];if(s)i?s.update(n[0]):s.update(o);else{const e=li();s=new ii(e,o,t(this,_i,"f"),{containerId:t(this,ci,"f"),isMounted:t(this,pi,"f"),type:this.type},i,t(this,Ti,"f"),t(this,Oi,"f"),t(this,ui,"f"),t(this,hi,"f")),t(this,Ei,"f")[o.elementName]=s,t(this,Ii,"f")[e]=s}return i||n.forEach((e=>{const i=e.elementName;t(this,Ei,"f")[i]?t(this,Ei,"f")[i].update(e):t(this,Ei,"f")[i]=this.create(e.elementType,s)})),s})),Ni.set(this,(e=>{Object.keys(t(this,Ei,"f")).forEach((i=>{i===e&&delete t(this,Ei,"f")[i]}))})),Ti.set(this,(e=>{e.forEach((e=>{t(this,Ni,"f").call(this,e)}))})),Oi.set(this,(e=>{e.forEach((e=>{t(this,Ei,"f")[e.elementName]&&t(this,Ei,"f")[e.elementName].update(e)}))})),mi.set(this,(e=>{const i=Object.keys(t(this,Ei,"f"));for(let t=0;t<i.length;t+=1)if(atob(i[t].split(":")[2])===e)return!0;return!1})),this.collect=(e={tokens:!0})=>new Promise(((i,n)=>{try{Rt(t(this,_i,"f").clientJSON.config);if(Object.values(t(this,Ei,"f")).forEach((e=>{if(!e.isMounted())throw new Nt(Tt.ELEMENTS_NOT_MOUNTED,[],!0);e.isValidElement()})),Object.prototype.hasOwnProperty.call(e,"tokens")&&!Dt(e.tokens))throw new Nt(Tt.INVALID_TOKENS_IN_COLLECT,[],!0);(null==e?void 0:e.additionalFields)&&mt(e.additionalFields),(null==e?void 0:e.upsert)&&St(null==e?void 0:e.upsert),ce.emit(ve+t(this,ci,"f"),Object.assign(Object.assign({},e),{tokens:void 0===(null==e?void 0:e.tokens)||e.tokens}),(e=>{!e||(null==e?void 0:e.error)?(ht(`${JSON.stringify(null==e?void 0:e.error)}`,ct.ERROR,t(this,ui,"f").logLevel),n(null==e?void 0:e.error)):(ht(pt(Ee.COLLECT_SUBMIT_SUCCESS,vi),ct.LOG,t(this,ui,"f").logLevel),i(e))})),ht(pt(Ee.EMIT_EVENT,vi,ve),ct.LOG,t(this,ui,"f").logLevel)}catch(e){ht(`${e.message}`,ct.ERROR,t(this,ui,"f").logLevel),n(e)}})),i(this,ci,li(),"f"),i(this,_i,n,"f"),i(this,Ii,o,"f"),i(this,ui,s,"f"),i(this,hi,new He,"f");const r=et({name:`${Ie}:${t(this,ci,"f")}:${t(this,ui,"f").logLevel}`});Qe(r,{src:tt()}),it(r,Object.assign({},Ve)),ht(pt(Ee.CREATE_COLLECT_CONTAINER,vi),ct.LOG,t(this,ui,"f").logLevel);const a=(e,o)=>{e.name===Ie+t(this,ci,"f")&&(o(Object.assign(Object.assign({},n),{clientJSON:Object.assign(Object.assign({},n.clientJSON),{config:Object.assign({},n.clientJSON.config)}),context:s})),i(this,pi,!0,"f"),t(this,hi,"f")._emit(be,{containerId:t(this,ci,"f")}),ce.target(qe.IFRAME_SECURE_ORGIN).off(me+t(this,ci,"f"),a))};ce.target(qe.IFRAME_SECURE_ORGIN).on(me+t(this,ci,"f"),a),document.body.append(r)}}ci=new WeakMap,Ei=new WeakMap,_i=new WeakMap,ui=new WeakMap,Ii=new WeakMap,hi=new WeakMap,pi=new WeakMap,fi=new WeakMap,Ni=new WeakMap,Ti=new WeakMap,Oi=new WeakMap,mi=new WeakMap;var yi=function(e,t){for(var i,n=-1,o=e.length;++n<o;){var s=t(e[n]);void 0!==s&&(i=void 0===i?s:i+s)}return i},Li=function(e){return e};var Ri,gi,Si,Di,Ci,Pi,bi,Mi,wi,Ui,ki,Yi,xi,Vi,Gi,Fi,Bi,ji,Xi,Wi,$i,zi,Ki,Hi=o((function(e){return e&&e.length?yi(e,Li):0}));class qi{constructor(e,n){Ri.set(this,void 0),gi.set(this,void 0),this.type=mn.COMPOSABLE,Si.set(this,!1),Di.set(this,!1),this.update=e=>{i(this,Di,!0,"f"),t(this,Si,"f")?(t(this,gi,"f")._emit(Ce,{elementName:t(this,Ri,"f"),elementOptions:e}),i(this,Di,!1,"f")):t(this,Di,"f")&&t(this,gi,"f").on(`${at.READY}:${t(this,Ri,"f")}`,(()=>{t(this,gi,"f")._emit(Ce,{elementName:t(this,Ri,"f"),elementOptions:e}),i(this,Si,!0,"f"),i(this,Di,!1,"f")}))},i(this,Ri,e,"f"),i(this,gi,n,"f"),t(this,gi,"f").on(`${at.READY}:${t(this,Ri,"f")}`,(()=>{i(this,Si,!0,"f")}))}on(e,i){if(!Object.values(Oe).includes(e))throw new Nt(Tt.INVALID_EVENT_LISTENER,[],!0);if(!i)throw new Nt(Tt.MISSING_HANDLER_IN_EVENT_LISTENER,[],!0);if("function"!=typeof i)throw new Nt(Tt.INVALID_HANDLER_IN_EVENT_LISTENER,[],!0);t(this,gi,"f").on(`${e}:${t(this,Ri,"f")}`,(e=>{void 0===e.value&&(e.value=""),delete e.isComplete,delete e.name,i(e)}))}}Ri=new WeakMap,gi=new WeakMap,Si=new WeakMap,Di=new WeakMap;const Ji="CollectContainer";class Zi extends di{constructor(e,n,o,a){super(),Ci.set(this,void 0),Pi.set(this,{}),bi.set(this,void 0),Mi.set(this,{rows:[]}),wi.set(this,[]),Ui.set(this,void 0),ki.set(this,void 0),Yi.set(this,void 0),xi.set(this,!1),Vi.set(this,void 0),Gi.set(this,void 0),this.type=mn.COMPOSABLE,Fi.set(this,!1),Bi.set(this,{}),this.create=(e,i={required:!1})=>{gt(e,t(this,Ui,"f").logLevel);const n=ri(e),o=ai(e.type,i,t(this,Ui,"f").logLevel),s=`${he}:${e.type}:${btoa(li())}`;return t(this,wi,"f").push(Object.assign(Object.assign(Object.assign({elementType:e.type,name:e.column},e),o),{validations:n,elementName:s})),new qi(s,t(this,Yi,"f"))},ji.set(this,((e,n=!1)=>{const o=[];if(i(this,Bi,nt(e),"f"),t(this,Bi,"f").rows.forEach((e=>{e.elements.forEach((e=>{const t=e,{elementType:i}=t;ni(i,t),t.sensitive=t.sensitive||ke[i].sensitive,t.replacePattern=t.replacePattern||ke[i].replacePattern,t.mask=t.mask||ke[i].mask,t.isMounted=!1,t.label=e.label,t.skyflowID=e.skyflowID,o.push(t)}))})),t(this,Bi,"f").elementName=n?o[0].elementName:`${he}:group:${btoa(t(this,Bi,"f").name)}`,n&&!t(this,Pi,"f")[o[0].elementName]&&t(this,zi,"f").call(this,o[0].name))throw new Nt(Tt.UNIQUE_ELEMENT_NAME,[`${o[0].name}`],!0);let s=t(this,Pi,"f")[t(this,Bi,"f").elementName];if(s)n?s.update(o[0]):s.update(t(this,Bi,"f"));else{const e=li();s=new ii(e,t(this,Bi,"f"),t(this,bi,"f"),{containerId:t(this,Ci,"f"),isMounted:t(this,Fi,"f"),type:this.type},!0,t(this,Wi,"f"),t(this,$i,"f"),t(this,Ui,"f"),t(this,Yi,"f")),t(this,Pi,"f")[t(this,Bi,"f").elementName]=s,t(this,ki,"f")[e]=s}return s})),Xi.set(this,(e=>{Object.keys(t(this,Pi,"f")).forEach((i=>{i===e&&delete t(this,Pi,"f")[i]}))})),Wi.set(this,(e=>{e.forEach((e=>{t(this,Xi,"f").call(this,e)}))})),$i.set(this,(e=>{e.forEach((e=>{t(this,Pi,"f")[e.elementName]&&t(this,Pi,"f")[e.elementName].update(e)}))})),zi.set(this,(e=>{const i=Object.keys(t(this,Pi,"f"));for(let t=0;t<i.length;t+=1)if(atob(i[t].split(":")[2])===e)return!0;return!1})),this.on=(e,i)=>{if(!Object.values(Oe).includes(e))throw new Nt(Tt.INVALID_EVENT_LISTENER,[],!0);if(!i)throw new Nt(Tt.MISSING_HANDLER_IN_EVENT_LISTENER,[],!0);if("function"!=typeof i)throw new Nt(Tt.INVALID_HANDLER_IN_EVENT_LISTENER,[],!0);t(this,Yi,"f").on(Oe.SUBMIT,(()=>{i()}))},this.mount=e=>{if(!e)throw new Nt(Tt.EMPTY_ELEMENT_IN_MOUNT,["CollectElement"],!0);const{layout:n}=t(this,Vi,"f");if(Hi(n)!==t(this,wi,"f").length)throw new Nt(Tt.MISMATCH_ELEMENT_COUNT_LAYOUT_SUM,[],!0);let o=0;if(n.forEach(((e,i)=>{t(this,Mi,"f").rows=[...t(this,Mi,"f").rows,{elements:[]}];for(let n=0;n<e;n++)t(this,Mi,"f").rows[i].elements.push(t(this,wi,"f")[o]),o++})),t(this,Vi,"f").styles&&(t(this,Mi,"f").styles=Object.assign({},t(this,Vi,"f").styles)),t(this,Vi,"f").errorTextStyles&&(t(this,Mi,"f").errorTextStyles=Object.assign({},t(this,Vi,"f").errorTextStyles)),t(this,Fi,"f"))return i(this,Gi,t(this,ji,"f").call(this,t(this,Mi,"f"),!1),"f"),t(this,Gi,"f").mount(e),void i(this,xi,!0,"f");t(this,Yi,"f").on(Pe+t(this,Ci,"f"),(()=>{i(this,Gi,t(this,ji,"f").call(this,t(this,Mi,"f"),!1),"f"),t(this,Gi,"f").mount(e),i(this,xi,!0,"f")}))},this.unmount=()=>{t(this,Gi,"f").unmount()},this.collect=(e={tokens:!0})=>new Promise(((i,n)=>{try{if(Rt(t(this,bi,"f").clientJSON.config),!t(this,xi,"f")){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CARD_FORM_COLLECT_ELEMENT_NOT_MOUNTED);throw r.PayrailsLogger.error(e.message,{error:e}),e}si(t(this,Bi,"f")).forEach((e=>{if(!(null==e?void 0:e.isMounted))throw new Nt(Tt.ELEMENTS_NOT_MOUNTED,[],!0)}));if(Object.values(t(this,Pi,"f")).forEach((e=>{e.isValidElement()})),e&&e.tokens&&"boolean"!=typeof e.tokens)throw new Nt(Tt.INVALID_TOKENS_IN_COLLECT,[],!0);(null==e?void 0:e.additionalFields)&&mt(e.additionalFields),(null==e?void 0:e.upsert)&&St(null==e?void 0:e.upsert),ce.emit(ve+t(this,Ci,"f"),Object.assign(Object.assign({},e),{tokens:void 0===(null==e?void 0:e.tokens)||e.tokens}),(e=>{!e||(null==e?void 0:e.error)?(ht(`${JSON.stringify(null==e?void 0:e.error)}`,ct.ERROR,t(this,Ui,"f").logLevel),n(null==e?void 0:e.error)):(ht(pt(Ee.COLLECT_SUBMIT_SUCCESS,Ji),ct.LOG,t(this,Ui,"f").logLevel),i(e))})),ht(pt(Ee.EMIT_EVENT,Ji,ve),ct.LOG,t(this,Ui,"f").logLevel)}catch(e){ht(`${e.message}`,ct.ERROR,t(this,Ui,"f").logLevel),n(e)}})),Ki.set(this,(()=>{t(this,Yi,"f").on(Ce,(e=>{let i;const n=t(this,wi,"f").map(((t,n)=>t.elementName===e.elementName?(i=n,Object.assign({elementName:t.elementName},e.elementOptions)):t));t(this,Gi,"f")&&t(this,Gi,"f").updateElement(Object.assign({},n[i]))}))})),i(this,Ci,li(),"f"),i(this,bi,n,"f"),i(this,ki,o,"f"),i(this,Ui,a,"f"),i(this,Vi,e,"f"),i(this,Yi,new He,"f");const l=et({name:`${Ie}:${t(this,Ci,"f")}:${t(this,Ui,"f").logLevel}`});Qe(l,{src:tt()}),it(l,Object.assign({},Ve)),ht(pt(Ee.CREATE_COLLECT_CONTAINER,Ji),ct.LOG,t(this,Ui,"f").logLevel);const d=(e,o)=>{e.name===Ie+t(this,Ci,"f")&&(o(Object.assign(Object.assign({},n),{clientJSON:Object.assign(Object.assign({},n.clientJSON),{config:Object.assign({},n.clientJSON.config)}),context:a})),i(this,Fi,!0,"f"),t(this,Yi,"f")._emit(Pe+t(this,Ci,"f"),{containerId:t(this,Ci,"f")}),ce.target(qe.IFRAME_SECURE_ORGIN).off(me+t(this,Ci,"f"),d))};ce.target(qe.IFRAME_SECURE_ORGIN).on(me+t(this,Ci,"f"),d),document.body.append(l),t(this,Ki,"f").call(this)}}var Qi,en,tn,nn;Ci=new WeakMap,Pi=new WeakMap,bi=new WeakMap,Mi=new WeakMap,wi=new WeakMap,Ui=new WeakMap,ki=new WeakMap,Yi=new WeakMap,xi=new WeakMap,Vi=new WeakMap,Gi=new WeakMap,Fi=new WeakMap,Bi=new WeakMap,ji=new WeakMap,Xi=new WeakMap,Wi=new WeakMap,$i=new WeakMap,zi=new WeakMap,Ki=new WeakMap;const on="SkyflowContainer";class sn{constructor(e,n){var o,s;Qi.set(this,void 0),en.set(this,void 0),tn.set(this,!1),nn.set(this,void 0),i(this,en,e,"f"),i(this,Qi,(null===(s=null===(o=t(this,en,"f").toJSON())||void 0===o?void 0:o.metaData)||void 0===s?void 0:s.uuid)||"","f"),i(this,nn,n,"f");const r=et({name:`skyflow_controller:${t(this,Qi,"f")}`});Qe(r,{src:tt()}),it(r,Object.assign({},Ve)),document.body.append(r),ce.target(qe.IFRAME_SECURE_ORGIN).on(ge+t(this,Qi,"f"),((e,o)=>{ht(pt(Ee.CAPTURE_PUREJS_FRAME,on),ct.LOG,t(this,nn,"f").logLevel),o({client:t(this,en,"f"),context:n}),i(this,tn,!0,"f")})),ht(pt(Ee.PUREJS_CONTROLLER_INITIALIZED,on),ct.LOG,t(this,nn,"f").logLevel)}insert(e,i){return t(this,tn,"f")?new Promise(((n,o)=>{Rt(t(this,en,"f").config);try{ht(pt(Ee.VALIDATE_RECORDS,on),ct.LOG,t(this,nn,"f").logLevel),(null==(i=i?Object.assign(Object.assign({},i),{tokens:void 0===(null==i?void 0:i.tokens)||i.tokens}):{tokens:!0})?void 0:i.upsert)&&St(i.upsert),Ot(e,i),ce.emit(Re+t(this,Qi,"f"),{type:pe,records:e,options:i},(e=>{e.error?(ht(`${JSON.stringify(e.error)}`,ct.ERROR,t(this,nn,"f").logLevel),o(e.error)):n(e)})),ht(pt(Ee.EMIT_PURE_JS_REQUEST,on,pe),ct.LOG,t(this,nn,"f").logLevel)}catch(e){ht(e.message,ct.ERROR,t(this,nn,"f").logLevel),o(e)}})):new Promise(((n,o)=>{try{Rt(t(this,en,"f").config),ht(pt(Ee.VALIDATE_RECORDS,on),ct.LOG,t(this,nn,"f").logLevel),(null==(i=i?Object.assign(Object.assign({},i),{tokens:void 0===(null==i?void 0:i.tokens)||i.tokens}):{tokens:!0})?void 0:i.upsert)&&St(i.upsert),Ot(e,i),ce.target(qe.IFRAME_SECURE_ORGIN).on(ge+t(this,Qi,"f"),(()=>{ce.emit(Re+t(this,Qi,"f"),{type:pe,records:e,options:i},(e=>{e.error?(ht(`${JSON.stringify(e.error)}`,ct.ERROR,t(this,nn,"f").logLevel),o(e.error)):n(e)}))})),ht(pt(Ee.EMIT_PURE_JS_REQUEST,on,pe),ct.LOG,t(this,nn,"f").logLevel)}catch(e){ht(e.message,ct.ERROR,t(this,nn,"f").logLevel),o(e)}}))}getById(e){return t(this,tn,"f")?new Promise(((i,n)=>{Rt(t(this,en,"f").config);try{ht(pt(Ee.VALIDATE_GET_BY_ID_INPUT,on),ct.LOG,t(this,nn,"f").logLevel),At(e),ht(pt(Ee.EMIT_PURE_JS_REQUEST,on,fe),ct.LOG,t(this,nn,"f").logLevel)}catch(e){ht(e.message,ct.ERROR,t(this,nn,"f").logLevel),n(e)}})):new Promise(((i,n)=>{try{Rt(t(this,en,"f").config),ht(pt(Ee.VALIDATE_GET_BY_ID_INPUT,on),ct.LOG,t(this,nn,"f").logLevel),At(e),ht(pt(Ee.EMIT_PURE_JS_REQUEST,on,fe),ct.LOG,t(this,nn,"f").logLevel)}catch(e){ht(e.message,ct.ERROR,t(this,nn,"f").logLevel),n(e)}}))}get(e,i){return t(this,tn,"f")?new Promise(((n,o)=>{Rt(t(this,en,"f").config);try{ht(pt(Ee.VALIDATE_GET_INPUT,on),ct.LOG,t(this,nn,"f").logLevel),vt(e,i),ht(pt(Ee.EMIT_PURE_JS_REQUEST,on,Ne),ct.LOG,t(this,nn,"f").logLevel)}catch(e){ht(e.message,ct.ERROR,t(this,nn,"f").logLevel),o(e)}})):new Promise(((n,o)=>{try{Rt(t(this,en,"f").config),ht(pt(Ee.VALIDATE_GET_INPUT,on),ct.LOG,t(this,nn,"f").logLevel),vt(e,i),ht(pt(Ee.EMIT_PURE_JS_REQUEST,on,Ne),ct.LOG,t(this,nn,"f").logLevel)}catch(e){ht(e.message,ct.ERROR,t(this,nn,"f").logLevel),o(e)}}))}delete(e,i){return t(this,tn,"f")?new Promise(((n,o)=>{Rt(t(this,en,"f").config);try{ht(pt(Ee.VALIDATE_DELETE_INPUT,on),ct.LOG,t(this,nn,"f").logLevel),yt(e),ce.emit(Re+t(this,Qi,"f"),{type:Te,records:e,options:i},(e=>{e.error?(ht(`${JSON.stringify(e.error)}`,ct.ERROR,t(this,nn,"f").logLevel),o(e.error)):n(e)})),ht(pt(Ee.EMIT_PURE_JS_REQUEST,on,Te),ct.LOG,t(this,nn,"f").logLevel)}catch(e){ht(e.message,ct.ERROR,t(this,nn,"f").logLevel),o(e)}})):new Promise(((n,o)=>{try{Rt(t(this,en,"f").config),ht(pt(Ee.VALIDATE_RECORDS,on),ct.LOG,t(this,nn,"f").logLevel),yt(e),ce.target(qe.IFRAME_SECURE_ORGIN).on(ge+t(this,Qi,"f"),(()=>{ce.emit(Re+t(this,Qi,"f"),{type:Te,records:e,options:i},(e=>{e.error?(ht(`${JSON.stringify(e.error)}`,ct.ERROR,t(this,nn,"f").logLevel),o(e.error)):n(e)}))})),ht(pt(Ee.EMIT_PURE_JS_REQUEST,on,Te),ct.LOG,t(this,nn,"f").logLevel)}catch(e){ht(e.message,ct.ERROR,t(this,nn,"f").logLevel),o(e)}}))}}function rn(e){this.message=e}Qi=new WeakMap,en=new WeakMap,tn=new WeakMap,nn=new WeakMap,rn.prototype=new Error,rn.prototype.name="InvalidCharacterError";var an="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new rn("'atob' failed: The string to be decoded is not correctly encoded.");for(var i,n,o=0,s=0,r="";n=t.charAt(s++);~n&&(i=o%4?64*i+n:n,o++%4)?r+=String.fromCharCode(255&i>>(-2*o&6)):0)n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(n);return r};function ln(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(an(e).replace(/(.)/g,(function(e,t){var i=t.charCodeAt(0).toString(16).toUpperCase();return i.length<2&&(i="0"+i),"%"+i})))}(t)}catch(e){return an(t)}}function dn(e){this.message=e}dn.prototype=new Error,dn.prototype.name="InvalidTokenError";const cn=e=>{try{if(!e)return!1;if(t=e,"[object String]"!==Object.prototype.toString.call(t))return!1;let i=!1;const n=function(e,t){if("string"!=typeof e)throw new dn("Invalid token specified");var i=!0===(t=t||{}).header?0:1;try{return JSON.parse(ln(e.split(".")[i]))}catch(e){throw new dn("Invalid token specified: "+e.message)}}(e),o=(new Date).getTime()/1e3,s=n.exp;return s&&o>s&&(i=!0),!i}catch(e){return!1}var t};var En,_n,un,In,hn,pn,fn,Nn,Tn,On,mn,vn={name:"skyflow-js",preferGlobal:!0,analyze:!1,version:"1.30.1",author:"Skyflow",description:"Skyflow JavaScript SDK"};class An{constructor(e,n){En.set(this,void 0),this.request=e=>new Promise(((i,n)=>{var o,s,r,a;const l=new XMLHttpRequest;if(l){if(l.open(e.requestMethod,e.url),e.headers){const i=function(e,t,i){var n,o,s,r,a;const l={sdkName:e.name,sdkVersion:e.version},d=function(e,t){return""!==e?`${e}`:`${t.sdkName}@${t.sdkVersion}`}(t.sdkVersion,l),c=function(e){var t,i,n,o,s,r,a,l,d,c,E,_;let u=null,I=null;return/Windows/.test(e)?(u="Windows",I=null!==(i=null===(t=/Windows NT (\d+\.\d+)/.exec(e))||void 0===t?void 0:t[1])&&void 0!==i?i:null):/Android/.test(e)?(u="Android",I=null!==(o=null===(n=/Android (\d+\.\d+)/.exec(e))||void 0===n?void 0:n[1])&&void 0!==o?o:null):/iOS/.test(e)||/iPhone/.test(e)?(u="iOS",I=null!==(a=null===(r=null===(s=/OS (\d+[._]\d+[._]?\d*)/.exec(e))||void 0===s?void 0:s[1])||void 0===r?void 0:r.replace(/_/g,"."))&&void 0!==a?a:null):/Mac OS X/.test(e)?(u="Mac OS X",I=null!==(c=null===(d=null===(l=/Mac OS X (\d+([._]\d+)*)/.exec(e))||void 0===l?void 0:l[1])||void 0===d?void 0:d.replace(/_/g,"."))&&void 0!==c?c:null):/Linux/.test(e)&&(u="Linux",I=null!==(_=null===(E=/Linux( \w+)*?\/([\w.]+)/.exec(e))||void 0===E?void 0:E[2])&&void 0!==_?_:null),{os:u,version:I}}(i.userAgent),E=function(e){let t="",i="";if(-1!==e.indexOf("MSIE")||-1!==e.indexOf("Trident/")){t="Internet Explorer";const n=e.match(/(MSIE|rv:)\s?([\d.]+)/);n&&(i=n[2])}else if(-1!==e.indexOf("Edge")){t="Microsoft Edge";const n=e.match(/Edge\/([\d.]+)/);n&&(i=n[1])}else if(-1!==e.indexOf("Chrome")){t="Google Chrome";const n=e.match(/Chrome\/([\d.]+)/);n&&(i=n[1])}else if(-1!==e.indexOf("Firefox")){t="Mozilla Firefox";const n=e.match(/Firefox\/([\d.]+)/);n&&(i=n[1])}else if(-1!==e.indexOf("Safari")){t="Apple Safari";const n=e.match(/Version\/([\d.]+)/);n&&(i=n[1])}return{browserName:t,browserVersion:i}}(i.userAgent);var _;return{sdk_name_version:d,sdk_client_device_model:(_=i.userAgent,/(ipad|tablet)/gi.test(_)?"tablet":/Mobile|iP(hone|od)|Android|BlackBerry|IEMobile/.test(_)?"mobile":"desktop"),sdk_os_version:null!==(n=i.platform)&&void 0!==n?n:`${null!==(o=c.os)&&void 0!==o?o:""} ${null!==(s=c.version)&&void 0!==s?s:""}`,sdk_runtime_details:`${null!==(r=E.browserName)&&void 0!==r?r:""} ${null!==(a=E.browserVersion)&&void 0!==a?a:""}`}}(vn,t(this,En,"f"),navigator);e.headers["sky-metadata"]=JSON.stringify(i);const{headers:n}=e;Object.keys(e.headers).forEach((e=>{"content-type"===e&&n[e]&&n[e].includes($e.FORMDATA)||l.setRequestHeader(e,n[e])}))}(null===(s=null===(o=e.headers)||void 0===o?void 0:o["content-type"])||void 0===s?void 0:s.includes($e.FORMURLENCODED))||(null===(a=null===(r=e.headers)||void 0===r?void 0:r["content-type"])||void 0===a?void 0:a.includes($e.FORMDATA))?l.send(e.body):l.send(JSON.stringify(Object.assign({},e.body))),l.onload=()=>{var e,t,o;const s=l.getAllResponseHeaders().trim().split(/[\r\n]+/),r={};s.forEach((e=>{const t=e.split(": "),i=t.shift()||"",n=t.join(": ");r[i]=n}));const a=r["content-type"],d=r["x-request-id"];if(l.status<200||l.status>=400)if(a&&a.includes("application/json")){let i=JSON.parse(l.response);(null===(e=null==i?void 0:i.error)||void 0===e?void 0:e.message)&&(i=d?`${null===(t=null==i?void 0:i.error)||void 0===t?void 0:t.message} - requestId: ${d}`:null===(o=null==i?void 0:i.error)||void 0===o?void 0:o.message),n(new Nt({code:l.status,description:i},[],!0))}else a&&a.includes("text/plain")?n(new Nt({code:l.status,description:d?`${l.response} - requestId: ${d}`:l.response},[],!0)):n(new Nt({code:l.status,description:d?`${_e.ERROR_OCCURED} - requestId: ${d}`:_e.ERROR_OCCURED},[],!0));a&&a.includes("application/json")&&i(JSON.parse(l.response)),i(l.response)},l.onerror=()=>{n(new Nt(Tt.NETWORK_ERROR,[],!0))}}else n(new Nt(Tt.CONNECTION_ERROR,[],!0))})),this.config=e,i(this,En,n,"f")}toJSON(){return{config:this.config,metaData:t(this,En,"f")}}static fromJSON(e){return new An(e.config,e.metaData)}}En=new WeakMap,function(e){e.COLLECT="COLLECT",e.COMPOSABLE="COMPOSABLE"}(mn||(mn={}));const yn="Skyflow";class Ln{constructor(e){var n,o;_n.set(this,void 0),un.set(this,li()),In.set(this,{uuid:t(this,un,"f"),clientDomain:window.location.origin}),hn.set(this,void 0),pn.set(this,""),fn.set(this,void 0),Nn.set(this,void 0),Tn.set(this,void 0),On.set(this,void 0);const s=localStorage.getItem("sdk_version")||"";t(this,In,"f").sdkVersion=s,i(this,_n,new An(Object.assign({},e),t(this,In,"f")),"f"),i(this,Nn,(null===(n=null==e?void 0:e.options)||void 0===n?void 0:n.logLevel)||lt.ERROR,"f"),i(this,Tn,(null===(o=null==e?void 0:e.options)||void 0===o?void 0:o.env)||dt.PROD,"f"),i(this,On,{},"f"),i(this,hn,new sn(t(this,_n,"f"),{logLevel:t(this,Nn,"f"),env:t(this,Tn,"f")}),"f");ce.target(qe.IFRAME_SECURE_ORGIN).on(Se+t(this,un,"f"),((e,n)=>{ht(pt(Ee.CAPTURED_BEARER_TOKEN_EVENT,yn),ct.LOG,t(this,Nn,"f")),!t(this,_n,"f").config.getBearerToken||t(this,pn,"f")&&cn(t(this,pn,"f"))?(ht(pt(Ee.REUSE_BEARER_TOKEN,yn),ct.LOG,t(this,Nn,"f")),n({authToken:t(this,pn,"f")})):t(this,_n,"f").config.getBearerToken().then((e=>{cn(e)?(ht(pt(Ee.BEARER_TOKEN_RESOLVED,yn),ct.LOG,t(this,Nn,"f")),i(this,pn,e,"f"),n({authToken:t(this,pn,"f")})):(ht(_e.INVALID_BEARER_TOKEN,ct.ERROR,t(this,Nn,"f")),n({error:_e.INVALID_BEARER_TOKEN}))})).catch((e=>{ht(_e.BEARER_TOKEN_REJECTED,ct.ERROR,t(this,Nn,"f")),n({error:e})}))})),ht(pt(Ee.BEARER_TOKEN_LISTENER,yn),ct.LOG,t(this,Nn,"f")),ht(pt(Ee.CURRENT_ENV,yn,t(this,Tn,"f")),ct.LOG,t(this,Nn,"f")),ht(pt(Ee.CURRENT_LOG_LEVEL,yn,t(this,Nn,"f")),ct.LOG,t(this,Nn,"f"))}static init(e){var t;const i=(null===(t=null==e?void 0:e.options)||void 0===t?void 0:t.logLevel)||lt.ERROR;bt(e),ht(pt(Ee.INITIALIZE_CLIENT,yn),ct.LOG,i);const n=e;var o;n.vaultURL="string"!=typeof(o=e.vaultURL)?o:"/"===(null==o?void 0:o.trim().slice(-1))?o.slice(0,-1):o.trim();const s=new Ln(n);return ht(pt(Ee.CLIENT_INITIALIZED,yn),ct.LOG,i),s}container(e,i){switch(e){case mn.COLLECT:{const n=new Ai(i,Object.assign(Object.assign({},t(this,In,"f")),{clientJSON:t(this,_n,"f").toJSON(),containerType:e}),t(this,On,"f"),{logLevel:t(this,Nn,"f"),env:t(this,Tn,"f")});return ht(pt(Ee.COLLECT_CONTAINER_CREATED,yn),ct.LOG,t(this,Nn,"f")),n}case mn.COMPOSABLE:{(e=>{if(!e)throw new Nt(Tt.MISSING_COMPOSABLE_CONTAINER_OPTIONS,[],!0);if("object"!=typeof e)throw new Nt(Tt.INVALID_COMPOSABLE_CONTAINER_OPTIONS,[],!0);if(!Object.prototype.hasOwnProperty.call(e,"layout"))throw new Nt(Tt.MISSING_COMPOSABLE_LAYOUT_KEY,[],!0);if(!e.layout)throw new Nt(Tt.INVALID_COMPOSABLE_LAYOUT_TYPE,[],!0);if(!Array.isArray(e.layout))throw new Nt(Tt.INVALID_COMPOSABLE_LAYOUT_TYPE,[],!0);if(0===e.layout.length)throw new Nt(Tt.EMPTY_COMPOSABLE_LAYOUT_ARRAY,[],!0);e.layout.forEach((e=>{if("number"!=typeof e)throw new Nt(Tt.INVALID_COMPOSABLE_LAYOUT_TYPE,[],!0);if(e<0)throw new Nt(Tt.NEGATIVE_VALUES_COMPOSABLE_LAYOUT,[],!0)}))})(i);const n=new Zi(i,Object.assign(Object.assign({},t(this,In,"f")),{clientJSON:t(this,_n,"f").toJSON(),containerType:e}),t(this,On,"f"),{logLevel:t(this,Nn,"f"),env:t(this,Tn,"f")});return ht(pt(Ee.COLLECT_CONTAINER_CREATED,yn),ct.LOG,t(this,Nn,"f")),n}default:if(!e)throw new Nt(Tt.EMPTY_CONTAINER_TYPE,[],!0);throw new Nt(Tt.INVALID_CONTAINER_TYPE,[],!0)}}insert(e,i){return ht(pt(Ee.INSERT_TRIGGERED,yn),ct.LOG,t(this,Nn,"f")),t(this,hn,"f").insert(e,i)}getById(e){return ht(ue.GET_BY_ID_DEPRECATED,ct.WARN,t(this,Nn,"f")),ht(pt(Ee.GET_BY_ID_TRIGGERED,yn),ct.LOG,t(this,Nn,"f")),t(this,hn,"f").getById(e)}get(e,i){return ht(pt(Ee.GET_TRIGGERED,yn),ct.LOG,t(this,Nn,"f")),t(this,hn,"f").get(e,i)}delete(e,i){return ht(pt(Ee.DELETE_TRIGGERED,yn),ct.LOG,t(this,Nn,"f")),t(this,hn,"f").delete(e,i)}static get ContainerType(){return mn}static get ElementType(){return Me}static get RedactionType(){return st}static get RequestMethod(){return rt}static get LogLevel(){return lt}static get EventName(){return at}static get Env(){return dt}static get ValidationRuleType(){return Et}}_n=new WeakMap,un=new WeakMap,In=new WeakMap,hn=new WeakMap,pn=new WeakMap,fn=new WeakMap,Nn=new WeakMap,Tn=new WeakMap,On=new WeakMap;class Rn{constructor(e){this.loadFunction=e,this.loadScript()}get loader(){return this.loadingPromise||(this.loadingPromise=this.loadScript()),this.loadingPromise}loadScript(){return e(this,void 0,void 0,(function*(){return this.loadingPromise||(this.loadingPromise=new Promise(((e,t)=>{this.loadFunction().then((t=>{t&&e(t)}),(()=>{t()})).catch((()=>{}))}))),this.loadingPromise}))}}class gn extends S{constructor(e){super("span",{id:e.id,className:"payrails-store-instrument"}),this.options=e,this.createHTML(),this.applyStyles(),this.addListeners()}get isChecked(){var e;return!!(null===(e=this.element.querySelector("input"))||void 0===e?void 0:e.checked)}createHTML(){var e,t,i,n,o,s,r,a,l;const d=(null===(i=null===(t=null===(e=this.options)||void 0===e?void 0:e.translations)||void 0===t?void 0:t.labels)||void 0===i?void 0:i.saveInstrument)||(null===(s=null===(o=null===(n=this.options)||void 0===n?void 0:n.translations)||void 0===o?void 0:o.labels)||void 0===s?void 0:s.storeInstrument)||"Save instrument for future payments",c=`${this.id}-checkbox`;(null===(l=null===(a=null===(r=this.options)||void 0===r?void 0:r.translations)||void 0===a?void 0:a.labels)||void 0===l?void 0:l.saveInstrument)&&console.warn("The saveInstrument label is deprecated, please use storeInstrument instead"),this.element.innerHTML=`<label for="${c}"><input type="checkbox" id="${c}" name="${c}" class="payrails-store-instrument-checkbox">${d}</label>`}applyStyles(){var e,t;Object.keys((null===(t=null===(e=this.options)||void 0===e?void 0:e.styles)||void 0===t?void 0:t.storeInstrumentCheckbox)||{}).forEach((e=>{var t,i,n;this.element.style[e]=null===(n=null===(i=null===(t=this.options)||void 0===t?void 0:t.styles)||void 0===i?void 0:i.storeInstrumentCheckbox)||void 0===n?void 0:n[e]}))}addListeners(){this.element.addEventListener("change",(e=>{var t,i,n,o;(null===(i=null===(t=this.options)||void 0===t?void 0:t.events)||void 0===i?void 0:i.onSaveInstrumentCheckboxChanged)&&(null===(o=null===(n=this.options)||void 0===n?void 0:n.events)||void 0===o||o.onSaveInstrumentCheckboxChanged({checked:this.isChecked})),e.stopPropagation(),e.stopImmediatePropagation()}))}}class Sn extends S{constructor(t,i){var n,o;super(t,i),this.options=i,this.storeInstrumentCheckbox=null,(null===(n=this.options)||void 0===n?void 0:n.showStoreInstrumentCheckbox)&&(this.storeInstrumentCheckbox=new gn(Object.assign(Object.assign({},i),{id:`${null===(o=this.options)||void 0===o?void 0:o.id}-store-instrument-checkbox`,events:{onSaveInstrumentCheckboxChanged:t=>e(this,void 0,void 0,(function*(){var e,n;null===(n=null===(e=null==i?void 0:i.events)||void 0===e?void 0:e.onSaveInstrumentCheckboxChanged)||void 0===n||n.call(e,t)}))}})),this.subElements.push(this.storeInstrumentCheckbox))}get shouldStoreInstrument(){var e,t;return(null===(e=this.storeInstrumentCheckbox)||void 0===e?void 0:e.isChecked)||(null===(t=this.options)||void 0===t?void 0:t.alwaysStoreInstrument)||!1}}class Dn extends Sn{constructor(t,i,n){super("div",Object.assign(Object.assign({},n),{id:"payrails-apple-pay-button"})),this.sdkConfig=t,this.execution=i,this.options=n,this.appleButton=null,this.paymentExecutor=new A(t,i),this.loadScript=new Rn((()=>e(this,void 0,void 0,(function*(){const t=document.createElement("script");return t.src="https://applepay.cdn-apple.com/jsapi/v1/apple-pay-sdk.js",new Promise(((i,n)=>{t.onload=()=>e(this,void 0,void 0,(function*(){var e,t,n;(yield this.isApplePayAvailable())?(null===(n=null===(t=null===(e=this.options)||void 0===e?void 0:e.events)||void 0===t?void 0:t.onApplePayAvailable)||void 0===n||n.call(t),i(!0)):i(!1)})),t.onerror=()=>{n()},document.body.appendChild(t)}))}))))}mount(t){super.mount(t),(()=>{e(this,void 0,void 0,(function*(){try{yield this.loadScript.loader,yield this.mountApplePayButton()}catch(e){}}))})()}unmount(){var e,t;null===(t=null===(e=this.appleButton)||void 0===e?void 0:e.parentElement)||void 0===t||t.removeChild(this.appleButton),super.unmount()}isApplePayAvailable(){return e(this,void 0,void 0,(function*(){if(!(null===window||void 0===window?void 0:window.ApplePaySession))return!1;return yield ApplePaySession.canMakePayments()}))}mountApplePayButton(){var t,i,n,o,s;return e(this,void 0,void 0,(function*(){if(null===window||void 0===window?void 0:window.ApplePaySession)try{if(!this.isApplePayAvailable())return;null===(i=null===(t=this.options.events)||void 0===t?void 0:t.onApplePayAvailable)||void 0===i||i.call(t);const e=(null===(n=this.options.styles)||void 0===n?void 0:n.type)||"buy",r=(null===(o=this.options.styles)||void 0===o?void 0:o.style)||"black";this.element.innerHTML=`<apple-pay-button buttonstyle="${r}" type="${e}" locale="en-GB"></apple-pay-button>`,null===(s=this.storeInstrumentCheckbox)||void 0===s||s.mount(this.selector);const a=this.element.querySelector("apple-pay-button");null==a||a.setAttribute("style","width: 100%;"),null==a||a.addEventListener("click",(()=>{this.createApplePaySession()}))}catch(e){}}))}createApplePaySession(){const t=this.execution.applePayConfig,{countryCode:i,supportedNetworks:n,merchantCapabilities:o}=t,{amount:s}=this.sdkConfig;try{const t={countryCode:i,currencyCode:s.currency,merchantCapabilities:o,supportedNetworks:n,total:{label:"",type:"final",amount:s.value}},r=new ApplePaySession(3,t);return r.onvalidatemerchant=t=>e(this,void 0,void 0,(function*(){const{res:e}=yield this.paymentExecutor.createApplePaySession({requestUrl:this.execution.createSessionLink,sessionUrl:t.validationURL,clientDomain:this.options.clientDomain}),i=e.data.data;r.completeMerchantValidation(i)})),r.onpaymentauthorized=t=>e(this,void 0,void 0,(function*(){var e,i,n,o,s,a,l,d,c,E,_,u;try{const E=yield this.onApplePayAuthorized(t.payment.token);if("authorizeSuccessful"===(null===(e=null==E?void 0:E.finalState)||void 0===e?void 0:e.code))(null===(i=this.options.events)||void 0===i?void 0:i.onAuthorizeSuccess)&&this.options.events.onAuthorizeSuccess();else r.completePayment(ApplePaySession.STATUS_FAILURE),(null===(o=null===(n=this.options)||void 0===n?void 0:n.events)||void 0===o?void 0:o.onAuthorizeFailed)&&(null===(s=this.options)||void 0===s||s.events.onAuthorizeFailed());r.completePayment(ApplePaySession.STATUS_SUCCESS),(null===(l=null===(a=this.options)||void 0===a?void 0:a.events)||void 0===l?void 0:l.onAuthorizeSuccess)&&(null===(c=null===(d=this.options)||void 0===d?void 0:d.events)||void 0===c||c.onAuthorizeSuccess(E))}catch(e){r.completePayment(ApplePaySession.STATUS_FAILURE),(null===(_=null===(E=this.options)||void 0===E?void 0:E.events)||void 0===_?void 0:_.onAuthorizeFailed)&&(null===(u=this.options)||void 0===u||u.events.onAuthorizeFailed(e))}})),r.begin(),r}catch(e){return null}}onApplePayAuthorized(t){return e(this,void 0,void 0,(function*(){const e=Object.assign(Object.assign({},t),{paymentNetwork:t.paymentMethod.network,paymentInstrumentName:t.paymentMethod.displayName}),i=[{paymentMethodCode:"applePay",integrationType:"api",paymentInstrumentData:{paymentToken:JSON.stringify(e)},amount:this.sdkConfig.amount,storeInstrument:this.shouldStoreInstrument}];return yield this.paymentExecutor.pay(i)}))}}const{CARD_NUMBER:Cn,CVV:Pn,CARDHOLDER_NAME:bn,EXPIRATION_MONTH:Mn,EXPIRATION_YEAR:wn}=exports.ElementType,Un={base:{border:"none",padding:"10px 16px",color:"#1d1d1d",backgroundColor:"#fff"},invalid:{backgroundColor:"#f9e1e1",borderColor:"#f25226",border:"1px solid"}},kn=[{type:bn,placeholder:"Card holder",styles:Object.assign(Object.assign({},Un),{base:Object.assign(Object.assign({},Un.base),{border:"1px solid #eae8ee",padding:"10px 16px",borderTopLeftRadius:"4px",borderTopRightRadius:"4px"})})},{type:Cn,placeholder:"1234 1234 1234 1234",styles:Object.assign(Object.assign({},Un),{base:Object.assign(Object.assign({},Un.base),{border:"1px solid #eae8ee",padding:"10px 16px",borderTopLeftRadius:"4px",borderTopRightRadius:"4px",textIndent:"0"}),cardIcon:{position:"absolute",right:"8px",height:"24px",bottom:"calc(50% - 12px)"}})},{type:Mn,placeholder:"MM",styles:Object.assign(Object.assign({},Un),{base:Object.assign(Object.assign({},Un.base),{borderBottom:"1px solid #eae8ee",borderLeft:"1px solid #eae8ee",borderRight:"1px solid #eae8ee",borderBottomLeftRadius:"4px"})})},{type:wn,placeholder:"YY",format:"YY",styles:Object.assign(Object.assign({},Un),{base:Object.assign(Object.assign({},Un.base),{borderBottom:"1px solid #eae8ee",borderRight:"1px solid #eae8ee"})})},{type:Pn,placeholder:"CVC",styles:Object.assign(Object.assign({},Un),{base:Object.assign(Object.assign({},Un.base),{borderBottom:"1px solid #eae8ee",borderRight:"1px solid #eae8ee",borderBottomRightRadius:"4px"})})}];class Yn extends Sn{get bin(){return this.collectContainer.bin}constructor(e,t){var i,n,o,s,r;super("div",Object.assign(Object.assign({},t),{translations:Object.assign(Object.assign({},null==t?void 0:t.translations),{labels:Object.assign(Object.assign({},null===(i=null==t?void 0:t.translations)||void 0===i?void 0:i.labels),{saveInstrument:null===(o=null===(n=null==t?void 0:t.translations)||void 0===n?void 0:n.labels)||void 0===o?void 0:o.saveCreditCard})}),styles:Object.assign({storeInstrumentCheckbox:null===(s=null==t?void 0:t.styles)||void 0===s?void 0:s.storeCardCheckbox},null==t?void 0:t.styles),id:"payrails-card-form"})),this.collectContainer=e,this.options=t,this.formFields=[],(null===(r=null==t?void 0:t.styles)||void 0===r?void 0:r.storeCardCheckbox)&&console.warn("The `storeCardCheckbox` option for styles is deprecated. Please use `storeInstrumentCheckbox` instead."),kn.forEach((({type:e,styles:i,format:n,placeholder:o})=>{var s,r,a,l,d,c,E;if(!(null===(s=this.options)||void 0===s?void 0:s.showCardHolderName)&&e===exports.ElementType.CARDHOLDER_NAME)return;const _=new xn(this.collectContainer,{type:e,label:null===(a=null===(r=null==t?void 0:t.translations)||void 0===r?void 0:r.labels)||void 0===a?void 0:a[e],placeholder:(null===(d=null===(l=null==t?void 0:t.translations)||void 0===l?void 0:l.placeholders)||void 0===d?void 0:d[e])||o,labelStyles:this.prepareLabelStyles(e),inputStyles:this.prepareInputStyles(i,e),format:n,events:{onFocus:null===(E=null===(c=this.options)||void 0===c?void 0:c.events)||void 0===E?void 0:E.onFocus,onChange:this.onChange.bind(this),onReady:this.triggerOnReady.bind(this)}});this.formFields.push(_)})),this.subElements.push(this.collectContainer),this.storeInstrumentCheckbox&&this.subElements.push(this.storeInstrumentCheckbox)}tokenize(e){return this.collectContainer.tokenize(e)}show(){var e,t;const i=document.getElementById(this.collectContainer.id);if(!i){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_COLLECT_CONTAINER_MOUNT);throw r.PayrailsLogger.error(e.message,{error:e}),e}Object.assign(i.style,null===(t=null===(e=this.options)||void 0===e?void 0:e.styles)||void 0===t?void 0:t.wrapper),this.element.style.display="flex"}hide(){this.element.style.display="none"}triggerOnReady(){var e,t,i;this.formFields.reduce(((e,t)=>e&&t.isReady),!0)&&(null===(i=null===(t=null===(e=this.options)||void 0===e?void 0:e.events)||void 0===t?void 0:t.onReady)||void 0===i||i.call(t))}prepareLabelStyles(e){return["base"].reduce(((t,i)=>{var n,o,s,r,a,l,d,c;return t[i]=Object.assign(Object.assign(Object.assign({},null===(o=null===(n=this.options)||void 0===n?void 0:n.styles)||void 0===o?void 0:o.base),null===(a=null===(r=null===(s=this.options)||void 0===s?void 0:s.styles)||void 0===r?void 0:r.labels)||void 0===a?void 0:a.all),null===(c=null===(d=null===(l=this.options)||void 0===l?void 0:l.styles)||void 0===d?void 0:d.labels)||void 0===c?void 0:c[e]),t}),{})}prepareInputStyles(e,t){var i;let n=JSON.parse(JSON.stringify(e));return(null===(i=this.options)||void 0===i?void 0:i.showCardHolderName)&&t===exports.ElementType.CARD_NUMBER&&(this.element.setAttribute("class","with-card-holder"),n=Object.assign(Object.assign({},e),{base:Object.assign(Object.assign({},Un.base),{border:"1px solid #eae8ee",borderTop:"none",padding:"10px 16px",textIndent:"0"})})),["base","complete","empty","focus","invalid","cardIcon","copyIcon"].forEach((e=>{var i,o,s,r,a,l,d,c;n[e]=Object.assign(Object.assign(Object.assign({},n[e]),null===(r=null===(s=null===(o=null===(i=this.options)||void 0===i?void 0:i.styles)||void 0===o?void 0:o.inputFields)||void 0===s?void 0:s.all)||void 0===r?void 0:r[e]),null===(c=null===(d=null===(l=null===(a=this.options)||void 0===a?void 0:a.styles)||void 0===l?void 0:l.inputFields)||void 0===d?void 0:d[t])||void 0===c?void 0:c[e])})),n}get isValid(){return this.formFields.reduce(((e,t)=>e&&t.isValid),!0)}get cardNetwork(){var e,t;return null!==(t=null===(e=this.formFields.find((e=>Boolean(e.cardNetwork))))||void 0===e?void 0:e.cardNetwork)&&void 0!==t?t:""}onChange(){var e,t,i,n;(null===(t=null===(e=this.options)||void 0===e?void 0:e.events)||void 0===t?void 0:t.onChange)&&(null===(n=null===(i=this.options)||void 0===i?void 0:i.events)||void 0===n||n.onChange({isValid:this.isValid,cardNetwork:this.cardNetwork,bin:this.bin}))}collectValues(){return e(this,void 0,void 0,(function*(){return{cardData:yield this.collectContainer.collect(),storeInstrument:this.shouldStoreInstrument,enrollInstrumentToNetworkOffers:Boolean(this.enforceEnrollInstrumentToNetworkOffersForMasterCard())}}))}enforceEnrollInstrumentToNetworkOffersForMasterCard(){var e;return"mastercard"!==this.cardNetwork&&(null===(e=this.options)||void 0===e?void 0:e.enrollInstrumentToNetworkOffers)}}class xn{constructor(e,t){this.isValid=!1,this.isReady=!1,this.cardNetwork="";const{events:i}=t,n=e.createCollectElement(t);(null==i?void 0:i.onFocus)&&n.on("FOCUS",i.onFocus),n.on("READY",(()=>{var e,i;this.isReady=!0,null===(i=null===(e=t.events)||void 0===e?void 0:e.onReady)||void 0===i||i.call(e)})),n.on("CHANGE",(e=>{const{isEmpty:t,isValid:n,network:o}=e;this.isValid=!t&&n,this.cardNetwork=null!=o?o:"",(null==i?void 0:i.onChange)&&i.onChange(this)}))}}class Vn extends S{constructor(e,t){super("div",{id:"payrails-card-list"}),this.workflowExecution=e,this.listItems=[],this.workflowExecution.savedCreditCards.forEach((e=>{const i=new Gn((()=>{(null==t?void 0:t.onCardChange)&&t.onCardChange(e)}),e);this.listItems.push(i),this.subElements.push(i)}))}reset(){this.element.querySelectorAll("input").forEach((e=>e.checked=!1))}}class Gn extends S{constructor(e,t){super("div",{className:"payrails-card-list-item",id:`payrails-card-list-item-${t.id}`});const{id:i}=t,n=this.createCardLabel(t),o=document.createElement("label");o.setAttribute("for",i),o.addEventListener("click",e);const s=document.createElement("input");s.setAttribute("type","radio"),s.setAttribute("name","payment-option"),s.setAttribute("id",i),s.setAttribute("value",i),o.appendChild(s);const r=document.createElement("span");r.innerText=n,o.appendChild(r),this.element.appendChild(o)}createCardLabel({data:e={}}){return`****${null==e?void 0:e.suffix}`}}class Fn extends S{constructor(e="Authorization failed, please try again."){super("div",{id:"authorization-failed-message"}),this.element.innerText=e,this.element.innerHTML=`\n <div>\n <svg class="checkmark-cross" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">\n <circle class="checkmark-cross_circle" cx="26" cy="26" r="25" fill="none"/>\n <path class="checkmark-cross_check" fill="none" d="M14.1 14.1l23.8 23.8 m0,-23.8 l-23.8,23.8"/>\n </svg>\n </div>\n <div>${e}</div>`,this.element.addEventListener("click",(e=>{e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation(),this.unmount()}))}}class Bn extends S{constructor(e){var t;super("div",{id:"payrails-authorization-success-msg"}),this.element.innerHTML=`\n <div class="checkmark-wrapper">\n <svg class="checkmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">\n <circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none"/>\n <path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8"/>\n </svg>\n </div>\n <div id="payrails-authorization-success">${(null===(t=null==e?void 0:e.translations)||void 0===t?void 0:t.label)||"Payment successful"}</div`}}class jn extends S{constructor(e,t,i,n){super("div",{id:e,className:"payrails-dropin-item"}),this.events=i,this.styles=n,this.isActive=!1,this.applyBaseStyles();const o=`payrails-dropin-item-${e}`,s=document.createElement("label");s.setAttribute("for",o);const r=document.createElement("input");r.setAttribute("type","radio"),r.setAttribute("name","payment-option"),r.setAttribute("id",o),r.setAttribute("value",o),this.input=r,s.appendChild(r),this.label=s;const a=document.createElement("span");s.appendChild(a),a.innerText=t,this.element.appendChild(s)}get identifier(){return`payrails-dropin-item-${this.id}`}deactivate(){var e,t;this.isActive&&(this.isActive=!1,this.label.style.marginBottom="0",this.applyBaseStyles(),null===(e=this.component)||void 0===e||e.unmount(),(null===(t=this.events)||void 0===t?void 0:t.onDeactivate)&&this.events.onDeactivate())}applyBaseStyles(){var e,t;Object.keys((null===(e=this.styles)||void 0===e?void 0:e.active)||{}).forEach((e=>{this.element.style.removeProperty(e)})),Object.assign(this.element.style,null===(t=this.styles)||void 0===t?void 0:t.base)}applyActiveStyles(){var e,t;Object.assign(this.element.style,null===(e=this.styles)||void 0===e?void 0:e.base,null===(t=this.styles)||void 0===t?void 0:t.active)}activate(){var e,t;this.isActive||(null===(e=this.component)||void 0===e||e.mount(this.selector),this.label.style.marginBottom="8px",this.applyActiveStyles(),this.isActive=!0,(null===(t=this.events)||void 0===t?void 0:t.onActivate)&&this.events.onActivate())}}class Xn extends jn{constructor(){super(...arguments),this.buttonShown=!1}activate(){if(!this.buttonShown)return super.activate(),void(this.buttonShown=!0);this.label.style.marginBottom="8px",this.applyActiveStyles(),this.isActive=!0,this.element.querySelector(this.component.selector).style.display="block"}deactivate(){this.isActive&&(this.isActive=!1,this.label.style.marginBottom="0",this.applyBaseStyles(),this.element.querySelector(this.component.selector).style.display="none")}mountAfterAvailable(){super.mount(`#${this.loadElementId}`)}mount(e){const t=document.querySelector(e);if(!t){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_UI_ELEMENT_MISSING);throw r.PayrailsLogger.error(e.message,{error:e}),e}const i=document.createElement("div");i.setAttribute("id",this.loadElementId),i.setAttribute("style","width: 100%;"),t.appendChild(i)}unmount(){var e;super.unmount(),null===(e=document.querySelector(`#${this.loadElementId}`))||void 0===e||e.remove()}}class Wn extends Xn{constructor(e,t,i){var n,o;super("apple-pay-dropin",(null===(o=null===(n=i.translations)||void 0===n?void 0:n.labels)||void 0===o?void 0:o.label)||"Apple Pay",void 0,i.styles),this.loadElementId="apple-pay-dropin-load-element",this.component=new Dn(e,t,Object.assign(Object.assign({},i),{events:{onApplePayAvailable:()=>{this.mountAfterAvailable()}}}))}mount(e){const t=document.querySelector(e);if(!t){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_UI_ELEMENT_MISSING);throw r.PayrailsLogger.error(e.message,{error:e}),e}const i=document.createElement("div");i.setAttribute("id",this.loadElementId),i.setAttribute("style","width: 100%;"),t.appendChild(i)}}class $n extends jn{constructor(e,t,i){super("payrails-credit-card-wrapper","Card",void 0,i),this.cardForm=e,this.paymentButton=t,this.cardFormShown=!1,this.component=new zn(e,t)}activate(){var e,t;this.label.style.marginBottom="8px",this.applyActiveStyles(),this.cardFormShown||(this.cardFormShown=!0,null===(e=this.component)||void 0===e||e.mount(this.selector)),this.isActive||(this.paymentButton.selectedInstrument=null,this.paymentButton.mount(this.selector),this.paymentButton.setDisabled(!this.cardForm.isValid),this.paymentButton.mount("#payrails-card-form"),this.input.checked=!0,this.cardForm.show(),this.isActive=!0,(null===(t=this.events)||void 0===t?void 0:t.onActivate)&&this.events.onActivate())}deactivate(){var e;this.isActive&&(this.label.style.marginBottom="0",this.applyBaseStyles(),this.paymentButton.unmount(),this.cardForm.hide(),this.isActive=!1,(null===(e=this.events)||void 0===e?void 0:e.onDeactivate)&&this.events.onDeactivate())}}class zn extends S{constructor(e,t){super("div",{id:"payrails-form-container"}),this.subElements.push(e,t)}}const Kn={apiVersion:2,apiVersionMinor:0};class Hn extends Sn{constructor(t,i,n){super("div",Object.assign(Object.assign({},n),{id:"payrails-google-pay-button"})),this.sdkConfig=t,this.execution=i,this.options=n,this.googleButton=null,this.paymentExecutor=new A(t,i),this.loadScript=new Rn((()=>e(this,void 0,void 0,(function*(){const e=document.createElement("script");return e.src="https://pay.google.com/gp/p/js/pay.js",new Promise(((t,i)=>{e.onload=()=>{const e=new google.payments.api.PaymentsClient({environment:this.options.environment||"TEST",merchantInfo:this.options.merchantInfo}),n=Object.assign(Object.assign({},Kn),{allowedPaymentMethods:this.execution.googlePayConfig});e.isReadyToPay(n).then((n=>{var o,s,r;n?(null===(r=null===(s=null===(o=this.options)||void 0===o?void 0:o.events)||void 0===s?void 0:s.onGooglePayAvailable)||void 0===r||r.call(s),t(e)):i()}),i)},e.onerror=()=>{i()},document.body.appendChild(e)}))}))))}sdkLoaded(t){var i,n,o,a,l,d,c,E;return e(this,void 0,void 0,(function*(){try{const s=(null===(n=null===(i=this.options)||void 0===i?void 0:i.styles)||void 0===n?void 0:n.buttonColor)||"black",r=(null===(a=null===(o=this.options)||void 0===o?void 0:o.styles)||void 0===a?void 0:a.buttonType)||"long",_=(null===(d=null===(l=this.options)||void 0===l?void 0:l.styles)||void 0===d?void 0:d.buttonSizeMode)||"fill",u=(null===(E=null===(c=this.options)||void 0===c?void 0:c.styles)||void 0===E?void 0:E.buttonLocale)||void 0;return this.googleButton=t.createButton({buttonColor:s,buttonType:r,buttonSizeMode:_,buttonLocale:u,onClick:()=>e(this,void 0,void 0,(function*(){var e,t,i;if(null===(t=null===(e=this.options)||void 0===e?void 0:e.events)||void 0===t?void 0:t.onPaymentButtonClicked){if(!(yield null===(i=this.options)||void 0===i?void 0:i.events.onPaymentButtonClicked()))return}yield this.onPaymentButtonClicked()})),allowedPaymentMethods:this.execution.googlePayConfig}),this.element.appendChild(this.googleButton),this.googleButton}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_GPAY_LOADING_ERROR,{cause:e,description:e.message});throw r.PayrailsLogger.error(t.message,{error:t}),t}}))}onLoadPaymentData(t){var i,n,o,s;return e(this,void 0,void 0,(function*(){const e=[{paymentMethodCode:"googlePay",integrationType:"api",paymentInstrumentData:Object.assign(Object.assign({},t),{paymentToken:t.paymentMethodData.tokenizationData.token}),amount:this.sdkConfig.amount,storeInstrument:this.shouldStoreInstrument}],r=yield this.paymentExecutor.pay(e);(null===(n=null===(i=this.options)||void 0===i?void 0:i.events)||void 0===n?void 0:n.onAuthorizeSuccess)&&(null===(s=null===(o=this.options)||void 0===o?void 0:o.events)||void 0===s||s.onAuthorizeSuccess(r))}))}onPaymentButtonClicked(){var t,i,n,o,s,r,a;return e(this,void 0,void 0,(function*(){const e=Object.assign(Object.assign({},Kn),{allowedPaymentMethods:this.execution.googlePayConfig,transactionInfo:{totalPriceStatus:"FINAL",totalPrice:null===(t=this.sdkConfig.amount)||void 0===t?void 0:t.value,currencyCode:null===(i=this.sdkConfig.amount)||void 0===i?void 0:i.currency,countryCode:null===(s=null===(o=null===(n=this.execution.meta)||void 0===n?void 0:n.customer)||void 0===o?void 0:o.country)||void 0===s?void 0:s.code},merchantInfo:{merchantId:(null===(r=this.options.merchantInfo)||void 0===r?void 0:r.merchantId)||"",merchantName:(null===(a=this.options.merchantInfo)||void 0===a?void 0:a.merchantName)||""}});(yield this.loadScript.loader).loadPaymentData(e).then((e=>{this.onLoadPaymentData(e)})).catch((e=>{var t,i,n;(null===(i=null===(t=this.options)||void 0===t?void 0:t.events)||void 0===i?void 0:i.onAuthorizeFailed)&&(null===(n=this.options)||void 0===n||n.events.onAuthorizeFailed(e))}))}))}mount(t){super.mount(t),(()=>{e(this,void 0,void 0,(function*(){var e;try{const t=yield this.loadScript.loader,i=yield this.sdkLoaded(t);this.element.appendChild(i),null===(e=this.storeInstrumentCheckbox)||void 0===e||e.mount(this.selector)}catch(e){}}))})()}unmount(){var e,t,i;null===(t=null===(e=this.googleButton)||void 0===e?void 0:e.parentElement)||void 0===t||t.removeChild(this.googleButton),null===(i=this.storeInstrumentCheckbox)||void 0===i||i.unmount(),super.unmount()}}class qn extends Xn{constructor(e,t,i){var n,o;super("google-pay-dropin",(null===(o=null===(n=i.translations)||void 0===n?void 0:n.labels)||void 0===o?void 0:o.label)||"Google Pay",void 0,i.styles),this.loadElementId="google-pay-dropin-load-element",this.component=new Hn(e,t,Object.assign(Object.assign({},i),{events:Object.assign(Object.assign({},i.events),{onGooglePayAvailable:()=>{this.mountAfterAvailable()}})}))}mount(e){const t=document.querySelector(e);if(!t){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_UI_ELEMENT_MISSING);throw r.PayrailsLogger.error(e.message,{error:e}),e}const i=document.createElement("div");i.setAttribute("id",this.loadElementId),i.setAttribute("style","width: 100%;"),t.appendChild(i)}}
5
5
  /*!
6
6
  * paypal-js v5.1.4 (2022-11-29T23:08:21.847Z)
7
7
  * Copyright 2020-present, PayPal, Inc. All rights reserved.
@@ -17,8 +17,8 @@ Copyright (c) 2022 Skyflow, Inc.
17
17
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
18
  * See the License for the specific language governing permissions and
19
19
  * limitations under the License.
20
- */function Zn(e){var t="https://www.paypal.com/sdk/js";e.sdkBaseURL&&(t=e.sdkBaseURL,delete e.sdkBaseURL),function(e){var t=e["merchant-id"],i=e["data-merchant-id"],n="",o="";Array.isArray(t)?t.length>1?(n="*",o=t.toString()):n=t.toString():"string"==typeof t&&t.length>0?n=t:"string"==typeof i&&i.length>0&&(n="*",o=i);e["merchant-id"]=n,e["data-merchant-id"]=o}(e);var i=Object.keys(e).filter((function(t){return void 0!==e[t]&&null!==e[t]&&""!==e[t]})).reduce((function(t,i){var n=e[i].toString();return"data-"===i.substring(0,5)?t.dataAttributes[i]=n:t.queryParams[i]=n,t}),{queryParams:{},dataAttributes:{}}),n=i.queryParams,o=i.dataAttributes;return{url:"".concat(t,"?").concat(Qn(n)),dataAttributes:o}}function Qn(e){var t="";return Object.keys(e).forEach((function(i){0!==t.length&&(t+="&"),t+=i+"="+e[i]})),t}function eo(e,t){void 0===t&&(t={});var i=document.createElement("script");return i.src=e,Object.keys(t).forEach((function(e){i.setAttribute(e,t[e]),"data-csp-nonce"===e&&i.setAttribute("nonce",t["data-csp-nonce"])})),i}function to(e,t){if(void 0===t&&(t=io()),oo(e,t),"undefined"==typeof window)return t.resolve(null);var i=Zn(e),n=i.url,o=i.dataAttributes,s=o["data-namespace"]||"paypal",r=no(s);return function(e,t){var i=document.querySelector('script[src="'.concat(e,'"]'));if(null===i)return null;var n=eo(e,t),o=i.cloneNode();if(delete o.dataset.uidAuto,Object.keys(o.dataset).length!==Object.keys(n.dataset).length)return null;var s=!0;return Object.keys(o.dataset).forEach((function(e){o.dataset[e]!==n.dataset[e]&&(s=!1)})),s?i:null}(n,o)&&r?t.resolve(r):function(e,t){void 0===t&&(t=io());oo(e,t);var i=e.url,n=e.attributes;if("string"!=typeof i||0===i.length)throw new Error("Invalid url.");if(void 0!==n&&"object"!=typeof n)throw new Error("Expected attributes to be an object.");return new t((function(e,t){if("undefined"==typeof window)return e();!function(e){var t=e.url,i=e.attributes,n=e.onSuccess,o=e.onError,s=eo(t,i);s.onerror=o,s.onload=n,document.head.insertBefore(s,document.head.firstElementChild)}({url:i,attributes:n,onSuccess:function(){return e()},onError:function(){var e=new Error('The script "'.concat(i,'" failed to load.'));return window.fetch?fetch(i).then((function(i){return 200===i.status&&t(e),i.text()})).then((function(e){var i=function(e){var t=e.split("/* Original Error:")[1];return t?t.replace(/\n/g,"").replace("*/","").trim():e}(e);t(new Error(i))})).catch((function(e){t(e)})):t(e)}})}))}({url:n,attributes:o},t).then((function(){var e=no(s);if(e)return e;throw new Error("The window.".concat(s," global variable is not available."))}))}function io(){if("undefined"==typeof Promise)throw new Error("Promise is undefined. To resolve the issue, use a Promise polyfill.");return Promise}function no(e){return window[e]}function oo(e,t){if("object"!=typeof e||null===e)throw new Error("Expected an options object.");if(void 0!==t&&"function"!=typeof t)throw new Error("Expected PromisePonyfill to be a function.")}class so extends Dn{constructor(t,i,n){super("div",Object.assign(Object.assign({},n),{id:"payrails-paypal-button",events:Object.assign(Object.assign({},null==n?void 0:n.events),{onSaveInstrumentCheckboxChanged:t=>e(this,void 0,void 0,(function*(){var e,i,n,o;null===(e=this.button)||void 0===e||e.close(),this.paypalLoader=null,this.paypalLoader=new gn(this.loadPaypal.bind(this)),this.button=yield this.paypalLoader.loader,this.button.render(`#${this.buttonWrapperId}`),null===(o=null===(n=null===(i=this.options)||void 0===i?void 0:i.events)||void 0===n?void 0:n.onSaveInstrumentCheckboxChanged)||void 0===o||o.call(n,t)}))})})),this.sdkConfig=t,this.execution=i,this.options=n,this.paypalLoader=null,this.buttonWrapperId="payrails-paypal-button-wrapper",this.checkboxWrapperId="payrails-paypal-checkbox-wrapper",this.createOneTimeOrder=()=>e(this,void 0,void 0,(function*(){var e,t,i,n,o,s,r;const a=[{paymentMethodCode:"payPal",integrationType:"api",amount:this.sdkConfig.amount,paymentInstrumentData:{providerData:{riskSessionCorrelationId:this.fraudNetGuid}},storeInstrument:!1}],l=yield this.paymentExecutor.pay(a),d=null===(i=null===(t=null===(e=l.response.links.confirm)||void 0===e?void 0:e.action)||void 0===t?void 0:t.parameters)||void 0===i?void 0:i.orderId;if(!d)throw null===(s=null===(o=null===(n=this.options)||void 0===n?void 0:n.events)||void 0===o?void 0:o.onAuthorizeFailed)||void 0===s||s.call(o),new ro("No order id returned");return this.confirmLink=null===(r=l.response.links.confirm)||void 0===r?void 0:r.href,d})),this.element.innerHTML=`<div id="${this.buttonWrapperId}"></div><div id="${this.checkboxWrapperId}"></div>`,this.paymentExecutor=new A(t,i),this.paypalLoader=new gn(this.loadPaypal.bind(this)),this.fraudNetGuid=null==n?void 0:n.fraudNetGuid}loadPaypal(){return e(this,void 0,void 0,(function*(){try{const e=this.execution.paypalConfig,t=this.shouldStoreInstrument?"tokenize":"Instant"===this.execution.paypalConfig.captureMode?"capture":"authorize",i=yield to({"client-id":e.clientId,components:"buttons,funding-eligibility",intent:t,currency:this.sdkConfig.amount.currency,vault:this.shouldStoreInstrument,"data-namespace":"payrailsPaypal"});return i&&(yield this.createPaypalButton(i))}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PAYPAL_LOADING_ERROR,{cause:e});throw r.PayrailsLogger.error(t.message,{error:t}),t}}))}createPaypalButton(t){var i,n,o;return e(this,void 0,void 0,(function*(){if(!t.Buttons)throw new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PAYPAL_LOADING_ERROR);const e=yield t.Buttons(this.createPayPalButtonConfig());return e.isEligible()?(null===(o=null===(n=null===(i=this.options)||void 0===i?void 0:i.events)||void 0===n?void 0:n.onPaypalAvailable)||void 0===o||o.call(n),e):null}))}createPayPalButtonConfig(){return this.shouldStoreInstrument?this.createBillingAgreementConfig():this.createOneTimeOrderConfig()}createBillingAgreementConfig(){return Object.assign(Object.assign({},this.createBaseConfig()),{onApprove:this.approvePayment.bind(this),createBillingAgreement:()=>e(this,void 0,void 0,(function*(){var e,t,i,n;const o=[{paymentMethodCode:"payPal",integrationType:"api",amount:this.sdkConfig.amount,paymentInstrumentData:{providerData:{riskSessionCorrelationId:this.fraudNetGuid}},storeInstrument:!0}],s=yield this.paymentExecutor.pay(o);return this.confirmLink=null===(e=s.response.links.confirm)||void 0===e?void 0:e.href,(null===(n=null===(i=null===(t=s.response.links.confirm)||void 0===t?void 0:t.action)||void 0===i?void 0:i.parameters)||void 0===n?void 0:n.tokenId)||""}))})}createOneTimeOrderConfig(){return Object.assign(Object.assign({},this.createBaseConfig()),{createOrder:this.createOneTimeOrder.bind(this),onApprove:this.approvePayment.bind(this)})}createBaseConfig(){var t,i,n,o,s,r,a,l,d,c;return{fundingSource:"paypal",style:{color:(null===(i=null===(t=this.options)||void 0===t?void 0:t.styles)||void 0===i?void 0:i.color)||"gold",height:(null===(o=null===(n=this.options)||void 0===n?void 0:n.styles)||void 0===o?void 0:o.height)||40,label:(null===(r=null===(s=this.options)||void 0===s?void 0:s.styles)||void 0===r?void 0:r.label)||"paypal",shape:(null===(l=null===(a=this.options)||void 0===a?void 0:a.styles)||void 0===l?void 0:l.shape)||"rect",tagline:(null===(c=null===(d=this.options)||void 0===d?void 0:d.styles)||void 0===c?void 0:c.tagline)||!1},onError:e=>{var t,i;(null===(i=null===(t=this.options)||void 0===t?void 0:t.events)||void 0===i?void 0:i.onAuthorizeFailed)&&this.options.events.onAuthorizeFailed(e)},onClick:(t,i)=>e(this,void 0,void 0,(function*(){var e,t;if(null===(t=null===(e=this.options)||void 0===e?void 0:e.events)||void 0===t?void 0:t.onPaymentButtonClicked){return(yield this.options.events.onPaymentButtonClicked())?i.resolve():i.reject()}}))}}approvePayment(t){var i,n,o,s,r,a,l,d,c,E;return e(this,void 0,void 0,(function*(){if(!this.confirmLink)throw null===(o=null===(n=null===(i=this.options)||void 0===i?void 0:i.events)||void 0===n?void 0:n.onAuthorizeFailed)||void 0===o||o.call(n),new ro("No confirm link");const e={};this.shouldStoreInstrument&&t.billingToken&&(e.tokenId=t.billingToken),this.fraudNetGuid&&(e.riskSessionCorrelationId=this.fraudNetGuid);const _=yield this.paymentExecutor.confirm(this.confirmLink,e);"authorizeSuccessful"===(null===(s=_.finalState)||void 0===s?void 0:s.code)?null===(l=null===(a=null===(r=this.options)||void 0===r?void 0:r.events)||void 0===a?void 0:a.onAuthorizeSuccess)||void 0===l||l.call(a):null===(E=null===(c=null===(d=this.options)||void 0===d?void 0:d.events)||void 0===c?void 0:c.onAuthorizeFailed)||void 0===E||E.call(c)}))}mount(t){super.mount(t),(()=>{e(this,void 0,void 0,(function*(){var e;this.paypalLoader||(this.paypalLoader=new gn(this.loadPaypal.bind(this)));const t=yield this.paypalLoader.loader;this.button=t;try{null===(e=this.storeInstrumentCheckbox)||void 0===e||e.mount(`#${this.checkboxWrapperId}`),yield null==t?void 0:t.render(`#${this.buttonWrapperId}`)}catch(e){const t=new ao(e.message,e);throw r.PayrailsLogger.error(t.message,{error:t}),t}}))})()}unmount(){var e;null===(e=this.button)||void 0===e||e.close(),this.paypalLoader=null,super.unmount()}}class ro extends s.PayrailsError{constructor(e,t){super(s.ERROR_CODES.PAYRAILS_CLIENT_PAYPAL_ORDER_CREATION,{description:`PaypalOrderError: ${e}`,cause:t})}}class ao extends s.PayrailsError{constructor(e,t){super(s.ERROR_CODES.PAYRAILS_CLIENT_PAYPAL_BUTTON_MOUNT,{description:`PaypalButtonError: ${e}`,cause:t})}}class lo extends Wn{constructor(e,t,i){var n,o;super("payrails-paypal-button-dropin",(null===(o=null===(n=null==i?void 0:i.translations)||void 0===n?void 0:n.labels)||void 0===o?void 0:o.label)||"PayPal",void 0,null==i?void 0:i.styles),this.loadElementId="paypal-dropin-load-element",this.component=new so(e,t,Object.assign(Object.assign({},i),{events:Object.assign(Object.assign({},null==i?void 0:i.events),{onPaypalAvailable:()=>{this.mountAfterAvailable()}})}))}}class co extends Xn{constructor(e,t,i,n){var o,s,r;const a=e.paymentMethod===y.PAYPAL?`${null===(o=e.data)||void 0===o?void 0:o.email}`:`${null===(s=e.data)||void 0===s?void 0:s.bin}**${null===(r=e.data)||void 0===r?void 0:r.suffix}`;super(`payrails-payment-instrument-${e.id}`,a,{onActivate:()=>{i(e),this.component.setDisabled(!1)}},n),this.component=t}}class Eo extends S{constructor(e,t,i,n,o,s){var r,a;super("fieldset",{id:"payrails-dropin-component"}),this.collectContainer=e,this.clientConfig=t,this.dropinConfig=i,this.execution=n,this.sdkConfig=o,this.returnLinks=s;void 0!==(null===(a=null===(r=this.dropinConfig.paymentMethodsConfiguration)||void 0===r?void 0:r.cards)||void 0===a?void 0:a.showExistingCards)&&console.warn("The `showExistingCards` option is deprecated and will be removed in a future version. Please use `showStoredInstruments` instead.");const l=new Map;this.execution.storedPaymentInstruments.forEach((e=>{if(this.isStoredInstrumentEnabled(e.paymentMethod)){this.cardPaymentButton=this.createCardPaymentButton();const t=this.createStoredInstrumentElement(e);l.set(t.identifier,t)}}));const d={[y.CARD]:this.createCreditCardButton.bind(this),[y.PAYPAL]:this.createPayPalButton.bind(this),[y.GOOGLE_PAY]:this.createGooglePayButton.bind(this),[y.APPLE_PAY]:this.createApplePayButton.bind(this)};this.execution.availablePaymentMethods.forEach((({paymentMethodCode:e})=>{if(e&&d[e]){d[e];const t=d[e]();l.set(t.identifier,t)}})),this.element.addEventListener("change",(e=>{var t,i;const n=(null===(t=null==e?void 0:e.target)||void 0===t?void 0:t.value)||"";l.forEach((e=>{e.deactivate()})),null===(i=l.get(n))||void 0===i||i.activate()})),this.subElements.push(...Array.from(l.values()))}createStoredInstrumentElement(e){var t;return this.cardPaymentButton=this.createCardPaymentButton(),new co(e,this.cardPaymentButton,(e=>{this.cardPaymentButton&&(this.cardPaymentButton.selectedInstrument=e)}),null===(t=this.dropinConfig.styles)||void 0===t?void 0:t.element)}createCreditCardButton(){var e;return this.creditCard=new zn(this.createCardForm(),this.createCardPaymentButton(),null===(e=this.dropinConfig.styles)||void 0===e?void 0:e.element),this.creditCard}createGooglePayButton(){var e,t,i,n;return this.googlePay=new Jn(this.sdkConfig,this.execution,Object.assign({environment:this.clientConfig.environment||"TEST",events:{onAuthorizeSuccess:e=>{var t;if(e)if("authorizeSuccessful"===(null===(t=null==e?void 0:e.finalState)||void 0===t?void 0:t.code))this.onAuthorizeSuccess();else this.onAuthorizeFailed()},onAuthorizeFailed:this.onAuthorizeFailed.bind(this),onPaymentButtonClicked:null===(e=this.dropinConfig.events)||void 0===e?void 0:e.onPaymentButtonClicked},styles:Object.assign(Object.assign({},null===(t=this.dropinConfig.styles)||void 0===t?void 0:t.googlePayButton),null===(i=this.dropinConfig.styles)||void 0===i?void 0:i.element)},null===(n=this.dropinConfig.paymentMethodsConfiguration)||void 0===n?void 0:n.googlePay)),this.googlePay}createPayPalButton(){var e,t,i;return this.paypal=new lo(this.sdkConfig,this.execution,Object.assign(Object.assign({},null===(e=this.dropinConfig.paymentMethodsConfiguration)||void 0===e?void 0:e.payPal),{styles:Object.assign(Object.assign({},null===(t=this.dropinConfig.styles)||void 0===t?void 0:t.paypalButton),null===(i=this.dropinConfig.styles)||void 0===i?void 0:i.element),events:{onAuthorizeSuccess:this.onAuthorizeSuccess.bind(this),onAuthorizeFailed:this.onAuthorizeFailed.bind(this),onSaveInstrumentCheckboxChanged:e=>{var t,i;null===(i=null===(t=this.dropinConfig.events)||void 0===t?void 0:t.onSaveInstrumentCheckboxChanged)||void 0===i||i.call(t,e)}}})),this.paypal}createCardForm(){var e,t,i,n;if(!this.cardForm){const o=null===(e=this.dropinConfig.paymentMethodsConfiguration)||void 0===e?void 0:e.cards,s=Boolean(null==o?void 0:o.showStoreInstrumentCheckbox),r=Boolean(null==o?void 0:o.showCardHolderName),a=Boolean(null==o?void 0:o.alwaysStoreInstrument);this.cardForm=new xn(this.collectContainer,{showStoreInstrumentCheckbox:s,showCardHolderName:r,alwaysStoreInstrument:a,translations:null===(t=this.dropinConfig.translations)||void 0===t?void 0:t.cardForm,styles:Object.assign(Object.assign({},null===(i=this.dropinConfig.styles)||void 0===i?void 0:i.cardForm),null===(n=this.dropinConfig.styles)||void 0===n?void 0:n.element),events:{onFocus:()=>{var e;null===(e=this.creditCard)||void 0===e||e.activate()},onChange:({isValid:e})=>{var t;null===(t=this.cardPaymentButton)||void 0===t||t.setDisabled(!e)},onSaveInstrumentCheckboxChanged:e=>{var t,i;null===(i=null===(t=this.dropinConfig.events)||void 0===t?void 0:t.onSaveInstrumentCheckboxChanged)||void 0===i||i.call(t,e)}}})}return this.cardPaymentButton&&this.cardPaymentButton.setCardForm(this.cardForm),this.cardForm}createApplePayButton(){var e,t,i,n;return this.applePay=new $n(this.sdkConfig,this.execution,Object.assign(Object.assign({events:{onAuthorizeSuccess:e=>{var t;if(e)if("authorizeSuccessful"===(null===(t=null==e?void 0:e.finalState)||void 0===t?void 0:t.code))this.onAuthorizeSuccess();else this.onAuthorizeFailed()},onAuthorizeFailed:this.onAuthorizeFailed.bind(this),onPaymentButtonClicked:null===(e=this.dropinConfig.events)||void 0===e?void 0:e.onPaymentButtonClicked}},null===(t=this.dropinConfig.paymentMethodsConfiguration)||void 0===t?void 0:t.applePay),{styles:Object.assign(Object.assign({},null===(i=this.dropinConfig.styles)||void 0===i?void 0:i.applePayButton),null===(n=this.dropinConfig.styles)||void 0===n?void 0:n.element)})),this.applePay}createCardPaymentButton(){var e,t;return this.cardPaymentButton||(this.cardPaymentButton=new D(this.sdkConfig,this.execution,{styles:null===(e=this.dropinConfig.styles)||void 0===e?void 0:e.cardPaymentButton,translations:null===(t=this.dropinConfig.translations)||void 0===t?void 0:t.cardPaymentButton,events:Object.assign(Object.assign({},this.dropinConfig.events),{onAuthorizeSuccess:this.onAuthorizeSuccess.bind(this),onAuthorizeFailed:this.onAuthorizeFailed.bind(this)})},this.returnLinks)),this.cardForm&&this.cardPaymentButton.setCardForm(this.cardForm),this.cardPaymentButton}onAuthorizeSuccess(){var e,t,i,n;this.subElements.forEach((e=>e.unmount())),new jn({translations:{label:null===(i=null===(t=null===(e=this.dropinConfig)||void 0===e?void 0:e.translations)||void 0===t?void 0:t.paymentResult)||void 0===i?void 0:i.success}}).mount(this.selector),(null===(n=this.dropinConfig.events)||void 0===n?void 0:n.onAuthorizeSuccess)&&this.dropinConfig.events.onAuthorizeSuccess()}onAuthorizeFailed(e){var t,i,n,o;new Bn(null===(i=null===(t=this.dropinConfig.translations)||void 0===t?void 0:t.paymentResult)||void 0===i?void 0:i.fail).mount(this.selector),null===(o=null===(n=this.dropinConfig.events)||void 0===n?void 0:n.onAuthorizeFailed)||void 0===o||o.call(n,e)}isStoredInstrumentEnabled(e){var t,i,n,o,s,r;switch(e){case y.CARD:return!1!==(null===(i=null===(t=this.dropinConfig.paymentMethodsConfiguration)||void 0===t?void 0:t.cards)||void 0===i?void 0:i.showStoredInstruments)||!1!==(null===(o=null===(n=this.dropinConfig.paymentMethodsConfiguration)||void 0===n?void 0:n.cards)||void 0===o?void 0:o.showExistingCards);case y.PAYPAL:case y.GOOGLE_PAY:case y.APPLE_PAY:return!1!==(null===(r=null===(s=this.dropinConfig.paymentMethodsConfiguration)||void 0===s?void 0:s[e])||void 0===r?void 0:r.showStoredInstruments);default:return!1}}}const _o=()=>{const e="https://assets.payrails.io/9969e96/card";[["https://js.skyflow.com/v1/elements/index.js","payrails-iframe-js-v1"],["https://js.skyflow.com/v1/elements/index.html","payrails-iframe-html-v1"],[`${e}/index.js`,"payrails-iframe-js-v2"],[`${e}/index.html`,"payrails-iframe-html-v2"]].forEach((([e,t])=>{if(!document.getElementById(t)){const i=document.createElement("link");i.id=t,i.rel="preload",i.as="script",i.href=e,document.head.appendChild(i)}}))},uo={visa:/^4\d*/,mastercard:/^(5[1-5]|222[1-9]|22[3-9]|2[3-6]|27[0-1]|2720)\d*/,amex:/^3[47]\d*/,diners:/^(36|38|30[0-5])\d*/,discover:/^(6011|65|64[4-9]|622)\d*/,jcb:/^35\d*/,hipercard:/^606282\d*/,unionpay:/^62\d*/,maestro:/^(5018|5020|5038|5043|5[6-9]|6020|6304|6703|6759|676[1-3])\d*/};class Io{constructor(e,t,i){this.sdkConfig=i,this.bin="",this.id="payrails-container-wrapper",this.containerType="COMPOSABLE",this.cardTableName=t.cardTableName||"cards",this.containerType=t.containerType||"COMPOSABLE",this.__container=e.container(this.containerType,t)}createCollectElement(e){const t={required:!!e.required,enableCardIcon:!1!==e.enableCardIcon},i=this.__container.create(Object.assign(Object.assign({table:this.cardTableName,labelStyles:{},errorTextStyles:{},column:this.elementToFieldMap.get(e.type)},e),{type:e.type===exports.ElementType.CARDHOLDER_NAME?"INPUT_FIELD":e.type}),e.format?Object.assign(Object.assign({},t),{format:e.format}):t);return this.attachCustomEventHandler(i)}mount(e){if("COLLECT"===this.containerType){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_COLLECT_CONTAINER_MOUNT);throw r.PayrailsLogger.error(e.message),e}this.element=document.createElement("span"),this.element.setAttribute("id",this.id);const t=document.querySelector(e);if(!t){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PARENT_ELEMENT_MISSING);throw r.PayrailsLogger.error(t.message,{error:t,extra:{elementSelector:e}}),t}t.appendChild(this.element),window.setTimeout((()=>{this.__container.mount(`#${this.id}`)}),50)}unmount(){this.element&&this.element.remove()}collect(){return e(this,void 0,void 0,(function*(){try{return"Payrails"===this.sdkConfig.vaultConfiguration.vaultType?yield this.collectPayrailsData():yield this.collectSkyflowData()}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CARD_FORM_ELEMENT_NOT_MOUNTED_IN_ELEMENT_MATCH_RULE,{description:"Error collecting data from the iframe!"});throw r.PayrailsLogger.error(t.message,{error:t}),t}}))}collectSkyflowData(){return e(this,void 0,void 0,(function*(){const e=(yield this.__container.collect()).records,{skyflow_id:t,card_number:i,cardholder_name:n,expiry_month:o,expiry_year:s,security_code:r}=e[0].fields;return{instrumentId:t,card_number:i,cardholder_name:n,expiry_month:o,expiry_year:s,security_code:r}}))}collectPayrailsData(){return e(this,void 0,void 0,(function*(){const e=yield this.__container.collect();return Object.assign(Object.assign({},e),{vaultProviderConfigId:this.sdkConfig.vaultConfiguration.providerConfigId})}))}tokenize(t){return e(this,void 0,void 0,(function*(){const e=yield this.collect(),i=this.sdkConfig.vaultConfiguration.links.saveInstrument.href,n=this.sdkConfig.token;if(!i){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_API_URL_NOT_FOUND,{description:"Save instrument URL not available!"});throw r.PayrailsLogger.error(e.message,{error:e}),e}const o=yield(({url:e,token:t,body:i})=>I({url:e,token:t,method:u.POST,body:i}))({url:i,token:n,body:this.constructSaveInstrumentBody(e,t)});return o.res}))}constructSaveInstrumentBody(e,t){var i,n;const o={holderReference:this.sdkConfig.holderReference,paymentMethod:"card",storeInstrument:null!==(i=null==t?void 0:t.storeInstrument)&&void 0!==i&&i,futureUsage:null!==(n=null==t?void 0:t.futureUsage)&&void 0!==n?n:"CardOnFile"};return"Payrails"===this.sdkConfig.vaultConfiguration.vaultType?o.data={encryptedData:e.encryptedData,vaultProviderConfigId:e.vaultProviderConfigId}:o.token={providerId:this.sdkConfig.vaultConfiguration.providerId,providerConfigId:this.sdkConfig.vaultConfiguration.providerConfigId,reference:e.instrumentId,type:"card",meta:{skyflow_id:e.instrumentId,card_number:e.card_number,cardholder_name:e.cardholder_name,expiry_month:e.expiry_month,expiry_year:e.expiry_year,security_code:e.security_code}},o}attachCustomEventHandler(e){return new Proxy(e,{get:(e,t)=>{if("on"!==t)return e[t];return((i,n)=>{e[t].call(e,i,(e=>{"CHANGE"===i?(e.elementType===exports.ElementType.CARD_NUMBER&&(e.network=function(e){for(const[t,i]of Object.entries(uo))if(i.test(e))return t;return""}(e.value),e.bin=this.formatBin(e.value),this.bin=this.formatBin(e.value)),n(e)):n(e)}))}).bind(e)}})}formatBin(e){return e.replace(/-|X/g,"")}get elementToFieldMap(){return new Map([[exports.ElementType.CARD_NUMBER,"card_number"],[exports.ElementType.CARDHOLDER_NAME,"cardholder_name"],[exports.ElementType.CVV,"security_code"],[exports.ElementType.EXPIRATION_MONTH,"expiry_month"],[exports.ElementType.EXPIRATION_YEAR,"expiry_year"]])}}class ho{constructor(e,t,i){this.pageId=e,this.sdkConfig=t,this.environment=i,this.guid=_().replace(/-/g,""),this.fnclsVal="fnparams-dede7cc5-15fd-4c75-a9f4-36c430ee3a99",this.configId=_(),this.scriptId=_(),this.execution=new g(t.execution)}mount(){this.loadFraudnet(this.pageId)}unmount(){var e,t;null===(e=document.getElementById(this.configId))||void 0===e||e.remove(),null===(t=document.getElementById(this.scriptId))||void 0===t||t.remove()}loadFraudnet(e){this.unmount();const t=this.createFraudnetConfig(e);document.body.appendChild(t);const i=document.createElement("script");i.setAttribute("id",this.scriptId),i.src="https://c.paypal.com/da/r/fb.js",document.body.appendChild(i)}get payPalConfig(){return this.execution.paypalConfig}createFraudnetConfig(e){const t=document.createElement("script");return t.setAttribute("type","application/json"),t.setAttribute("fncls",this.fnclsVal),t.setAttribute("id",this.configId),t.innerText=JSON.stringify({f:this.guid,s:`${this.payPalConfig.merchantId}_${e}`,sandbox:"TEST"===this.environment}),t}}const po=()=>{const e=document.getElementById("sdk-observer");return e||(()=>{const e=document.createElement("iframe");return e.id="sdk-observer",e.src="https://assets.payrails.io/9969e96/observability/index.html",e.width="1px",e.height="1px",document.body.appendChild(e),e})()};
20
+ */function Jn(e){var t="https://www.paypal.com/sdk/js";e.sdkBaseURL&&(t=e.sdkBaseURL,delete e.sdkBaseURL),function(e){var t=e["merchant-id"],i=e["data-merchant-id"],n="",o="";Array.isArray(t)?t.length>1?(n="*",o=t.toString()):n=t.toString():"string"==typeof t&&t.length>0?n=t:"string"==typeof i&&i.length>0&&(n="*",o=i);e["merchant-id"]=n,e["data-merchant-id"]=o}(e);var i=Object.keys(e).filter((function(t){return void 0!==e[t]&&null!==e[t]&&""!==e[t]})).reduce((function(t,i){var n=e[i].toString();return"data-"===i.substring(0,5)?t.dataAttributes[i]=n:t.queryParams[i]=n,t}),{queryParams:{},dataAttributes:{}}),n=i.queryParams,o=i.dataAttributes;return{url:"".concat(t,"?").concat(Zn(n)),dataAttributes:o}}function Zn(e){var t="";return Object.keys(e).forEach((function(i){0!==t.length&&(t+="&"),t+=i+"="+e[i]})),t}function Qn(e,t){void 0===t&&(t={});var i=document.createElement("script");return i.src=e,Object.keys(t).forEach((function(e){i.setAttribute(e,t[e]),"data-csp-nonce"===e&&i.setAttribute("nonce",t["data-csp-nonce"])})),i}function eo(e,t){if(void 0===t&&(t=to()),no(e,t),"undefined"==typeof window)return t.resolve(null);var i=Jn(e),n=i.url,o=i.dataAttributes,s=o["data-namespace"]||"paypal",r=io(s);return function(e,t){var i=document.querySelector('script[src="'.concat(e,'"]'));if(null===i)return null;var n=Qn(e,t),o=i.cloneNode();if(delete o.dataset.uidAuto,Object.keys(o.dataset).length!==Object.keys(n.dataset).length)return null;var s=!0;return Object.keys(o.dataset).forEach((function(e){o.dataset[e]!==n.dataset[e]&&(s=!1)})),s?i:null}(n,o)&&r?t.resolve(r):function(e,t){void 0===t&&(t=to());no(e,t);var i=e.url,n=e.attributes;if("string"!=typeof i||0===i.length)throw new Error("Invalid url.");if(void 0!==n&&"object"!=typeof n)throw new Error("Expected attributes to be an object.");return new t((function(e,t){if("undefined"==typeof window)return e();!function(e){var t=e.url,i=e.attributes,n=e.onSuccess,o=e.onError,s=Qn(t,i);s.onerror=o,s.onload=n,document.head.insertBefore(s,document.head.firstElementChild)}({url:i,attributes:n,onSuccess:function(){return e()},onError:function(){var e=new Error('The script "'.concat(i,'" failed to load.'));return window.fetch?fetch(i).then((function(i){return 200===i.status&&t(e),i.text()})).then((function(e){var i=function(e){var t=e.split("/* Original Error:")[1];return t?t.replace(/\n/g,"").replace("*/","").trim():e}(e);t(new Error(i))})).catch((function(e){t(e)})):t(e)}})}))}({url:n,attributes:o},t).then((function(){var e=io(s);if(e)return e;throw new Error("The window.".concat(s," global variable is not available."))}))}function to(){if("undefined"==typeof Promise)throw new Error("Promise is undefined. To resolve the issue, use a Promise polyfill.");return Promise}function io(e){return window[e]}function no(e,t){if("object"!=typeof e||null===e)throw new Error("Expected an options object.");if(void 0!==t&&"function"!=typeof t)throw new Error("Expected PromisePonyfill to be a function.")}class oo extends Sn{constructor(t,i,n){super("div",Object.assign(Object.assign({},n),{id:"payrails-paypal-button",events:Object.assign(Object.assign({},null==n?void 0:n.events),{onSaveInstrumentCheckboxChanged:t=>e(this,void 0,void 0,(function*(){var e,i,n,o;null===(e=this.button)||void 0===e||e.close(),this.paypalLoader=null,this.paypalLoader=new Rn(this.loadPaypal.bind(this)),this.button=yield this.paypalLoader.loader,this.button.render(`#${this.buttonWrapperId}`),null===(o=null===(n=null===(i=this.options)||void 0===i?void 0:i.events)||void 0===n?void 0:n.onSaveInstrumentCheckboxChanged)||void 0===o||o.call(n,t)}))})})),this.sdkConfig=t,this.execution=i,this.options=n,this.paypalLoader=null,this.buttonWrapperId="payrails-paypal-button-wrapper",this.checkboxWrapperId="payrails-paypal-checkbox-wrapper",this.createOneTimeOrder=()=>e(this,void 0,void 0,(function*(){var e,t,i,n,o,s,r;const a=[{paymentMethodCode:"payPal",integrationType:"api",amount:this.sdkConfig.amount,paymentInstrumentData:{providerData:{riskSessionCorrelationId:this.fraudNetGuid}},storeInstrument:!1}],l=yield this.paymentExecutor.pay(a),d=null===(i=null===(t=null===(e=l.response.links.confirm)||void 0===e?void 0:e.action)||void 0===t?void 0:t.parameters)||void 0===i?void 0:i.orderId;if(!d)throw null===(s=null===(o=null===(n=this.options)||void 0===n?void 0:n.events)||void 0===o?void 0:o.onAuthorizeFailed)||void 0===s||s.call(o),new so("No order id returned");return this.confirmLink=null===(r=l.response.links.confirm)||void 0===r?void 0:r.href,d})),this.element.innerHTML=`<div id="${this.buttonWrapperId}"></div><div id="${this.checkboxWrapperId}"></div>`,this.paymentExecutor=new A(t,i),this.paypalLoader=new Rn(this.loadPaypal.bind(this)),this.fraudNetGuid=null==n?void 0:n.fraudNetGuid}loadPaypal(){return e(this,void 0,void 0,(function*(){try{const e=this.execution.paypalConfig,t=this.shouldStoreInstrument?"tokenize":"Instant"===this.execution.paypalConfig.captureMode?"capture":"authorize",i=yield eo({"client-id":e.clientId,components:"buttons,funding-eligibility",intent:t,currency:this.sdkConfig.amount.currency,vault:this.shouldStoreInstrument,"data-namespace":"payrailsPaypal"});return i&&(yield this.createPaypalButton(i))}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PAYPAL_LOADING_ERROR,{cause:e});throw r.PayrailsLogger.error(t.message,{error:t}),t}}))}createPaypalButton(t){var i,n,o;return e(this,void 0,void 0,(function*(){if(!t.Buttons)throw new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PAYPAL_LOADING_ERROR);const e=yield t.Buttons(this.createPayPalButtonConfig());return e.isEligible()?(null===(o=null===(n=null===(i=this.options)||void 0===i?void 0:i.events)||void 0===n?void 0:n.onPaypalAvailable)||void 0===o||o.call(n),e):null}))}createPayPalButtonConfig(){return this.shouldStoreInstrument?this.createBillingAgreementConfig():this.createOneTimeOrderConfig()}createBillingAgreementConfig(){return Object.assign(Object.assign({},this.createBaseConfig()),{onApprove:this.approvePayment.bind(this),createBillingAgreement:()=>e(this,void 0,void 0,(function*(){var e,t,i,n;const o=[{paymentMethodCode:"payPal",integrationType:"api",amount:this.sdkConfig.amount,paymentInstrumentData:{providerData:{riskSessionCorrelationId:this.fraudNetGuid}},storeInstrument:!0}],s=yield this.paymentExecutor.pay(o);return this.confirmLink=null===(e=s.response.links.confirm)||void 0===e?void 0:e.href,(null===(n=null===(i=null===(t=s.response.links.confirm)||void 0===t?void 0:t.action)||void 0===i?void 0:i.parameters)||void 0===n?void 0:n.tokenId)||""}))})}createOneTimeOrderConfig(){return Object.assign(Object.assign({},this.createBaseConfig()),{createOrder:this.createOneTimeOrder.bind(this),onApprove:this.approvePayment.bind(this)})}createBaseConfig(){var t,i,n,o,s,r,a,l,d,c;return{fundingSource:"paypal",style:{color:(null===(i=null===(t=this.options)||void 0===t?void 0:t.styles)||void 0===i?void 0:i.color)||"gold",height:(null===(o=null===(n=this.options)||void 0===n?void 0:n.styles)||void 0===o?void 0:o.height)||40,label:(null===(r=null===(s=this.options)||void 0===s?void 0:s.styles)||void 0===r?void 0:r.label)||"paypal",shape:(null===(l=null===(a=this.options)||void 0===a?void 0:a.styles)||void 0===l?void 0:l.shape)||"rect",tagline:(null===(c=null===(d=this.options)||void 0===d?void 0:d.styles)||void 0===c?void 0:c.tagline)||!1},onError:e=>{var t,i;(null===(i=null===(t=this.options)||void 0===t?void 0:t.events)||void 0===i?void 0:i.onAuthorizeFailed)&&this.options.events.onAuthorizeFailed(e)},onClick:(t,i)=>e(this,void 0,void 0,(function*(){var e,t;if(null===(t=null===(e=this.options)||void 0===e?void 0:e.events)||void 0===t?void 0:t.onPaymentButtonClicked){return(yield this.options.events.onPaymentButtonClicked())?i.resolve():i.reject()}}))}}approvePayment(t){var i,n,o,s,r,a,l,d,c,E;return e(this,void 0,void 0,(function*(){if(!this.confirmLink)throw null===(o=null===(n=null===(i=this.options)||void 0===i?void 0:i.events)||void 0===n?void 0:n.onAuthorizeFailed)||void 0===o||o.call(n),new so("No confirm link");const e={};this.shouldStoreInstrument&&t.billingToken&&(e.tokenId=t.billingToken),this.fraudNetGuid&&(e.riskSessionCorrelationId=this.fraudNetGuid);const _=yield this.paymentExecutor.confirm(this.confirmLink,e);"authorizeSuccessful"===(null===(s=_.finalState)||void 0===s?void 0:s.code)?null===(l=null===(a=null===(r=this.options)||void 0===r?void 0:r.events)||void 0===a?void 0:a.onAuthorizeSuccess)||void 0===l||l.call(a):null===(E=null===(c=null===(d=this.options)||void 0===d?void 0:d.events)||void 0===c?void 0:c.onAuthorizeFailed)||void 0===E||E.call(c)}))}mount(t){super.mount(t),(()=>{e(this,void 0,void 0,(function*(){var e;this.paypalLoader||(this.paypalLoader=new Rn(this.loadPaypal.bind(this)));const t=yield this.paypalLoader.loader;this.button=t;try{null===(e=this.storeInstrumentCheckbox)||void 0===e||e.mount(`#${this.checkboxWrapperId}`),yield null==t?void 0:t.render(`#${this.buttonWrapperId}`)}catch(e){const t=new ro(e.message,e);throw r.PayrailsLogger.error(t.message,{error:t}),t}}))})()}unmount(){var e;null===(e=this.button)||void 0===e||e.close(),this.paypalLoader=null,super.unmount()}}class so extends s.PayrailsError{constructor(e,t){super(s.ERROR_CODES.PAYRAILS_CLIENT_PAYPAL_ORDER_CREATION,{description:`PaypalOrderError: ${e}`,cause:t})}}class ro extends s.PayrailsError{constructor(e,t){super(s.ERROR_CODES.PAYRAILS_CLIENT_PAYPAL_BUTTON_MOUNT,{description:`PaypalButtonError: ${e}`,cause:t})}}class ao extends Xn{constructor(e,t,i){var n,o;super("payrails-paypal-button-dropin",(null===(o=null===(n=null==i?void 0:i.translations)||void 0===n?void 0:n.labels)||void 0===o?void 0:o.label)||"PayPal",void 0,null==i?void 0:i.styles),this.loadElementId="paypal-dropin-load-element",this.component=new oo(e,t,Object.assign(Object.assign({},i),{events:Object.assign(Object.assign({},null==i?void 0:i.events),{onPaypalAvailable:()=>{this.mountAfterAvailable()}})}))}}class lo extends jn{constructor(e,t,i,n){var o,s,r;const a=e.paymentMethod===y.PAYPAL?`${null===(o=e.data)||void 0===o?void 0:o.email}`:`${null===(s=e.data)||void 0===s?void 0:s.bin}**${null===(r=e.data)||void 0===r?void 0:r.suffix}`;super(`payrails-payment-instrument-${e.id}`,a,{onActivate:()=>{i(e),this.component.setDisabled(!1)}},n),this.component=t}}class co extends S{constructor(e,t,i,n,o,s){var r,a;super("fieldset",{id:"payrails-dropin-component"}),this.collectContainer=e,this.clientConfig=t,this.dropinConfig=i,this.execution=n,this.sdkConfig=o,this.returnLinks=s;void 0!==(null===(a=null===(r=this.dropinConfig.paymentMethodsConfiguration)||void 0===r?void 0:r.cards)||void 0===a?void 0:a.showExistingCards)&&console.warn("The `showExistingCards` option is deprecated and will be removed in a future version. Please use `showStoredInstruments` instead.");const l=new Map;this.execution.storedPaymentInstruments.forEach((e=>{if(this.isStoredInstrumentEnabled(e.paymentMethod)){this.cardPaymentButton=this.createCardPaymentButton();const t=this.createStoredInstrumentElement(e);l.set(t.identifier,t)}}));const d={[y.CARD]:this.createCreditCardButton.bind(this),[y.PAYPAL]:this.createPayPalButton.bind(this),[y.GOOGLE_PAY]:this.createGooglePayButton.bind(this),[y.APPLE_PAY]:this.createApplePayButton.bind(this)};this.execution.availablePaymentMethods.forEach((({paymentMethodCode:e})=>{if(e&&d[e]){d[e];const t=d[e]();l.set(t.identifier,t)}})),this.element.addEventListener("change",(e=>{var t,i;const n=(null===(t=null==e?void 0:e.target)||void 0===t?void 0:t.value)||"";l.forEach((e=>{e.deactivate()})),null===(i=l.get(n))||void 0===i||i.activate()})),this.subElements.push(...Array.from(l.values()))}createStoredInstrumentElement(e){var t;return this.cardPaymentButton=this.createCardPaymentButton(),new lo(e,this.cardPaymentButton,(e=>{this.cardPaymentButton&&(this.cardPaymentButton.selectedInstrument=e)}),null===(t=this.dropinConfig.styles)||void 0===t?void 0:t.element)}createCreditCardButton(){var e;return this.creditCard=new $n(this.createCardForm(),this.createCardPaymentButton(),null===(e=this.dropinConfig.styles)||void 0===e?void 0:e.element),this.creditCard}createGooglePayButton(){var e,t,i,n;return this.googlePay=new qn(this.sdkConfig,this.execution,Object.assign({environment:this.clientConfig.environment||"TEST",events:{onAuthorizeSuccess:e=>{var t;if(e)if("authorizeSuccessful"===(null===(t=null==e?void 0:e.finalState)||void 0===t?void 0:t.code))this.onAuthorizeSuccess();else this.onAuthorizeFailed()},onAuthorizeFailed:this.onAuthorizeFailed.bind(this),onPaymentButtonClicked:null===(e=this.dropinConfig.events)||void 0===e?void 0:e.onPaymentButtonClicked},styles:Object.assign(Object.assign({},null===(t=this.dropinConfig.styles)||void 0===t?void 0:t.googlePayButton),null===(i=this.dropinConfig.styles)||void 0===i?void 0:i.element)},null===(n=this.dropinConfig.paymentMethodsConfiguration)||void 0===n?void 0:n.googlePay)),this.googlePay}createPayPalButton(){var e,t,i;return this.paypal=new ao(this.sdkConfig,this.execution,Object.assign(Object.assign({},null===(e=this.dropinConfig.paymentMethodsConfiguration)||void 0===e?void 0:e.payPal),{styles:Object.assign(Object.assign({},null===(t=this.dropinConfig.styles)||void 0===t?void 0:t.paypalButton),null===(i=this.dropinConfig.styles)||void 0===i?void 0:i.element),events:{onAuthorizeSuccess:this.onAuthorizeSuccess.bind(this),onAuthorizeFailed:this.onAuthorizeFailed.bind(this),onSaveInstrumentCheckboxChanged:e=>{var t,i;null===(i=null===(t=this.dropinConfig.events)||void 0===t?void 0:t.onSaveInstrumentCheckboxChanged)||void 0===i||i.call(t,e)}}})),this.paypal}createCardForm(){var e,t,i,n;if(!this.cardForm){const o=null===(e=this.dropinConfig.paymentMethodsConfiguration)||void 0===e?void 0:e.cards,s=Boolean(null==o?void 0:o.showStoreInstrumentCheckbox),r=Boolean(null==o?void 0:o.showCardHolderName),a=Boolean(null==o?void 0:o.alwaysStoreInstrument);this.cardForm=new Yn(this.collectContainer,{showStoreInstrumentCheckbox:s,showCardHolderName:r,alwaysStoreInstrument:a,translations:null===(t=this.dropinConfig.translations)||void 0===t?void 0:t.cardForm,styles:Object.assign(Object.assign({},null===(i=this.dropinConfig.styles)||void 0===i?void 0:i.cardForm),null===(n=this.dropinConfig.styles)||void 0===n?void 0:n.element),events:{onFocus:()=>{var e;null===(e=this.creditCard)||void 0===e||e.activate()},onChange:({isValid:e})=>{var t;null===(t=this.cardPaymentButton)||void 0===t||t.setDisabled(!e)},onSaveInstrumentCheckboxChanged:e=>{var t,i;null===(i=null===(t=this.dropinConfig.events)||void 0===t?void 0:t.onSaveInstrumentCheckboxChanged)||void 0===i||i.call(t,e)}}})}return this.cardPaymentButton&&this.cardPaymentButton.setCardForm(this.cardForm),this.cardForm}createApplePayButton(){var e,t,i,n;return this.applePay=new Wn(this.sdkConfig,this.execution,Object.assign(Object.assign({events:{onAuthorizeSuccess:e=>{var t;if(e)if("authorizeSuccessful"===(null===(t=null==e?void 0:e.finalState)||void 0===t?void 0:t.code))this.onAuthorizeSuccess();else this.onAuthorizeFailed()},onAuthorizeFailed:this.onAuthorizeFailed.bind(this),onPaymentButtonClicked:null===(e=this.dropinConfig.events)||void 0===e?void 0:e.onPaymentButtonClicked}},null===(t=this.dropinConfig.paymentMethodsConfiguration)||void 0===t?void 0:t.applePay),{styles:Object.assign(Object.assign({},null===(i=this.dropinConfig.styles)||void 0===i?void 0:i.applePayButton),null===(n=this.dropinConfig.styles)||void 0===n?void 0:n.element)})),this.applePay}createCardPaymentButton(){var e,t;return this.cardPaymentButton||(this.cardPaymentButton=new D(this.sdkConfig,this.execution,{styles:null===(e=this.dropinConfig.styles)||void 0===e?void 0:e.cardPaymentButton,translations:null===(t=this.dropinConfig.translations)||void 0===t?void 0:t.cardPaymentButton,events:Object.assign(Object.assign({},this.dropinConfig.events),{onAuthorizeSuccess:this.onAuthorizeSuccess.bind(this),onAuthorizeFailed:this.onAuthorizeFailed.bind(this)})},this.returnLinks)),this.cardForm&&this.cardPaymentButton.setCardForm(this.cardForm),this.cardPaymentButton}onAuthorizeSuccess(){var e,t,i,n;this.subElements.forEach((e=>e.unmount())),new Bn({translations:{label:null===(i=null===(t=null===(e=this.dropinConfig)||void 0===e?void 0:e.translations)||void 0===t?void 0:t.paymentResult)||void 0===i?void 0:i.success}}).mount(this.selector),(null===(n=this.dropinConfig.events)||void 0===n?void 0:n.onAuthorizeSuccess)&&this.dropinConfig.events.onAuthorizeSuccess()}onAuthorizeFailed(e){var t,i,n,o;new Fn(null===(i=null===(t=this.dropinConfig.translations)||void 0===t?void 0:t.paymentResult)||void 0===i?void 0:i.fail).mount(this.selector),null===(o=null===(n=this.dropinConfig.events)||void 0===n?void 0:n.onAuthorizeFailed)||void 0===o||o.call(n,e)}isStoredInstrumentEnabled(e){var t,i,n,o,s,r;switch(e){case y.CARD:return!1!==(null===(i=null===(t=this.dropinConfig.paymentMethodsConfiguration)||void 0===t?void 0:t.cards)||void 0===i?void 0:i.showStoredInstruments)||!1!==(null===(o=null===(n=this.dropinConfig.paymentMethodsConfiguration)||void 0===n?void 0:n.cards)||void 0===o?void 0:o.showExistingCards);case y.PAYPAL:case y.GOOGLE_PAY:case y.APPLE_PAY:return!1!==(null===(r=null===(s=this.dropinConfig.paymentMethodsConfiguration)||void 0===s?void 0:s[e])||void 0===r?void 0:r.showStoredInstruments);default:return!1}}}const Eo=()=>{[["https://js.skyflow.com/v1/elements/index.js","payrails-iframe-js-v1"],["https://js.skyflow.com/v1/elements/index.html","payrails-iframe-html-v1"],["undefined/index.js","payrails-iframe-js-v2"],["undefined/index.html","payrails-iframe-html-v2"]].forEach((([e,t])=>{if(!document.getElementById(t)){const i=document.createElement("link");i.id=t,i.rel="preload",i.as="script",i.href=e,document.head.appendChild(i)}}))},_o={visa:/^4\d*/,mastercard:/^(5[1-5]|222[1-9]|22[3-9]|2[3-6]|27[0-1]|2720)\d*/,amex:/^3[47]\d*/,diners:/^(36|38|30[0-5])\d*/,discover:/^(6011|65|64[4-9]|622)\d*/,jcb:/^35\d*/,hipercard:/^606282\d*/,unionpay:/^62\d*/,maestro:/^(5018|5020|5038|5043|5[6-9]|6020|6304|6703|6759|676[1-3])\d*/};class uo{constructor(e,t,i){this.sdkConfig=i,this.bin="",this.id="payrails-container-wrapper",this.containerType="COMPOSABLE",this.cardTableName=t.cardTableName||"cards",this.containerType=t.containerType||"COMPOSABLE",this.__container=e.container(this.containerType,t)}createCollectElement(e){const t={required:!!e.required,enableCardIcon:!1!==e.enableCardIcon},i=this.__container.create(Object.assign(Object.assign({table:this.cardTableName,labelStyles:{},errorTextStyles:{},column:this.elementToFieldMap.get(e.type)},e),{type:e.type===exports.ElementType.CARDHOLDER_NAME?"INPUT_FIELD":e.type}),e.format?Object.assign(Object.assign({},t),{format:e.format}):t);return this.attachCustomEventHandler(i)}mount(e){if("COLLECT"===this.containerType){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_COLLECT_CONTAINER_MOUNT);throw r.PayrailsLogger.error(e.message),e}this.element=document.createElement("span"),this.element.setAttribute("id",this.id);const t=document.querySelector(e);if(!t){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_PARENT_ELEMENT_MISSING);throw r.PayrailsLogger.error(t.message,{error:t,extra:{elementSelector:e}}),t}t.appendChild(this.element),window.setTimeout((()=>{this.__container.mount(`#${this.id}`)}),50)}unmount(){this.element&&this.element.remove()}collect(){return e(this,void 0,void 0,(function*(){try{return"Payrails"===this.sdkConfig.vaultConfiguration.vaultType?yield this.collectPayrailsData():yield this.collectSkyflowData()}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CARD_FORM_ELEMENT_NOT_MOUNTED_IN_ELEMENT_MATCH_RULE,{description:"Error collecting data from the iframe!"});throw r.PayrailsLogger.error(t.message,{error:t}),t}}))}collectSkyflowData(){return e(this,void 0,void 0,(function*(){const e=(yield this.__container.collect()).records,{skyflow_id:t,card_number:i,cardholder_name:n,expiry_month:o,expiry_year:s,security_code:r}=e[0].fields;return{instrumentId:t,card_number:i,cardholder_name:n,expiry_month:o,expiry_year:s,security_code:r}}))}collectPayrailsData(){return e(this,void 0,void 0,(function*(){const e=yield this.__container.collect();return Object.assign(Object.assign({},e),{vaultProviderConfigId:this.sdkConfig.vaultConfiguration.providerConfigId})}))}tokenize(t){return e(this,void 0,void 0,(function*(){const e=yield this.collect(),i=this.sdkConfig.vaultConfiguration.links.saveInstrument.href,n=this.sdkConfig.token;if(!i){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_API_URL_NOT_FOUND,{description:"Save instrument URL not available!"});throw r.PayrailsLogger.error(e.message,{error:e}),e}const o=yield(({url:e,token:t,body:i})=>I({url:e,token:t,method:u.POST,body:i}))({url:i,token:n,body:this.constructSaveInstrumentBody(e,t)});return o.res}))}constructSaveInstrumentBody(e,t){var i,n;const o={holderReference:this.sdkConfig.holderReference,paymentMethod:"card",storeInstrument:null!==(i=null==t?void 0:t.storeInstrument)&&void 0!==i&&i,futureUsage:null!==(n=null==t?void 0:t.futureUsage)&&void 0!==n?n:"CardOnFile"};return"Payrails"===this.sdkConfig.vaultConfiguration.vaultType?o.data={encryptedData:e.encryptedData,vaultProviderConfigId:e.vaultProviderConfigId}:o.token={providerId:this.sdkConfig.vaultConfiguration.providerId,providerConfigId:this.sdkConfig.vaultConfiguration.providerConfigId,reference:e.instrumentId,type:"card",meta:{skyflow_id:e.instrumentId,card_number:e.card_number,cardholder_name:e.cardholder_name,expiry_month:e.expiry_month,expiry_year:e.expiry_year,security_code:e.security_code}},o}attachCustomEventHandler(e){return new Proxy(e,{get:(e,t)=>{if("on"!==t)return e[t];return((i,n)=>{e[t].call(e,i,(e=>{"CHANGE"===i?(e.elementType===exports.ElementType.CARD_NUMBER&&(e.network=function(e){for(const[t,i]of Object.entries(_o))if(i.test(e))return t;return""}(e.value),e.bin=this.formatBin(e.value),this.bin=this.formatBin(e.value)),n(e)):n(e)}))}).bind(e)}})}formatBin(e){return e.replace(/-|X/g,"")}get elementToFieldMap(){return new Map([[exports.ElementType.CARD_NUMBER,"card_number"],[exports.ElementType.CARDHOLDER_NAME,"cardholder_name"],[exports.ElementType.CVV,"security_code"],[exports.ElementType.EXPIRATION_MONTH,"expiry_month"],[exports.ElementType.EXPIRATION_YEAR,"expiry_year"]])}}class Io{constructor(e,t,i){this.pageId=e,this.sdkConfig=t,this.environment=i,this.guid=_().replace(/-/g,""),this.fnclsVal="fnparams-dede7cc5-15fd-4c75-a9f4-36c430ee3a99",this.configId=_(),this.scriptId=_(),this.execution=new g(t.execution)}mount(){this.loadFraudnet(this.pageId)}unmount(){var e,t;null===(e=document.getElementById(this.configId))||void 0===e||e.remove(),null===(t=document.getElementById(this.scriptId))||void 0===t||t.remove()}loadFraudnet(e){this.unmount();const t=this.createFraudnetConfig(e);document.body.appendChild(t);const i=document.createElement("script");i.setAttribute("id",this.scriptId),i.src="https://c.paypal.com/da/r/fb.js",document.body.appendChild(i)}get payPalConfig(){return this.execution.paypalConfig}createFraudnetConfig(e){const t=document.createElement("script");return t.setAttribute("type","application/json"),t.setAttribute("fncls",this.fnclsVal),t.setAttribute("id",this.configId),t.innerText=JSON.stringify({f:this.guid,s:`${this.payPalConfig.merchantId}_${e}`,sandbox:"TEST"===this.environment}),t}}const ho=()=>{const e=document.getElementById("sdk-observer");return e||(()=>{const e=document.createElement("iframe");return e.id="sdk-observer",e.src=void 0,e.width="1px",e.height="1px",document.body.appendChild(e),e})()};
21
21
  /* @copyright
22
22
  Copyright (c) 2023 Payrails (https://www.payrails.com/)
23
23
  */
24
- class fo{static init(e,t){var i,n;try{po(),r.PayrailsLogger.init({enabled:(null===(i=null==t?void 0:t.telemetry)||void 0===i?void 0:i.enabled)||!0,logLevel:(null===(n=null==t?void 0:t.telemetry)||void 0===n?void 0:n.logLevel)||"error",environment:(null==t?void 0:t.environment)||"TEST",sdk:{name:"web-sdk",version:"3.4.0"}});const o=JSON.parse(atob(e.data));r.PayrailsLogger.setState({payrails:{execution_id:o.execution.id,holder_reference:o.holderReference,vault_provider:o.vaultConfiguration.vaultType,merchant_reference:o.execution.merchantReference,workflow:{code:o.execution.workflow.code,version:o.execution.workflow.version}}});const{vaultConfiguration:{vaultId:s,vaultUrl:a,token:l},execution:d}=o,c=Rn.init({vaultID:s,vaultURL:a,getBearerToken:()=>Promise.resolve(l),options:{initResponse:e,deserializedData:o}}),E=new g(d);return E.isPaymentMethodAvailable(y.CARD)&&_o(),new fo(o,c,E,t)}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_CONFIG_MALFORMED,{cause:e});throw r.PayrailsLogger.error(t.message,{error:t}),t}}update(e){this.sdkConfiguration.amount=e}collectContainer(e){if("COMPOSABLE"===e.containerType&&!e.layout){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_COLLECT_CONTAINER_MOUNT);throw r.PayrailsLogger.error(e.message,{error:e}),e}return this.__container=new Io(this.vaultClient,Object.assign(Object.assign({},e),{cardTableName:this.sdkConfiguration.vaultConfiguration.cardTableName}),this.sdkConfiguration),this.__container}googlePayButton(e){var t;if(this.logIntegrationMode("elements"),!this.execution){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_WORKFLOW_EXECUTION_NOT_FOUND);throw r.PayrailsLogger.error(e.message,{error:e}),e}return new qn(this.sdkConfiguration,this.execution,Object.assign({environment:null===(t=this.options)||void 0===t?void 0:t.environment},e))}applePayButton(e){if(this.logIntegrationMode("elements"),!this.execution){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_WORKFLOW_EXECUTION_NOT_FOUND);throw r.PayrailsLogger.error(e.message,{error:e}),e}return new Cn(this.sdkConfiguration,this.execution,e)}cardList(e){return this.logIntegrationMode("elements"),this.__cardList||(this.__cardList=new Gn(this.execution,{onCardChange:t=>{this.__cardPaymentButton&&(this.__cardPaymentButton.selectedInstrument=t,this.__cardPaymentButton.setDisabled(!1)),null==e||e.onCardChange(t)}})),this.__cardList}cardForm(e){var t,i;if(this.logIntegrationMode("elements"),!this.__cardForm){const n=this.getContainerLayout(null==e?void 0:e.showCardHolderName);this.__container=this.collectContainer(Object.assign(Object.assign({layout:n,errorTextStyles:{base:{display:"none"}}},null===(t=null==e?void 0:e.styles)||void 0===t?void 0:t.errorTextStyles),{styles:{base:null===(i=null==e?void 0:e.styles)||void 0===i?void 0:i.base}})),this.__cardForm=new xn(this.__container,Object.assign(Object.assign({},e),{events:Object.assign(Object.assign({},null==e?void 0:e.events),{onChange:t=>{var i;this.__cardPaymentButton&&(this.__cardPaymentButton.selectedInstrument=null,this.__cardForm&&this.__cardPaymentButton.setDisabled(!this.__cardForm.isValid)),(null===(i=null==e?void 0:e.events)||void 0===i?void 0:i.onChange)&&e.events.onChange(t)},onFocus:()=>{var t;this.__cardList&&this.__cardList.reset(),this.__cardPaymentButton&&(this.__cardPaymentButton.selectedInstrument=null,this.__cardForm&&this.__cardPaymentButton.setDisabled(!this.__cardForm.isValid)),(null===(t=null==e?void 0:e.events)||void 0===t?void 0:t.onFocus)&&e.events.onFocus()}})}))}return this.__cardPaymentButton&&this.__cardPaymentButton.setCardForm(this.__cardForm),this.__cardForm}dropin(e){var t,i,n;this.logIntegrationMode("dropin");const o=this.getContainerLayout(null===(i=null===(t=e.paymentMethodsConfiguration)||void 0===t?void 0:t.cards)||void 0===i?void 0:i.showCardHolderName);return this.__container=this.collectContainer({layout:o,errorTextStyles:{base:{display:"none"}}}),new Eo(this.__container,this.options||{},e,this.execution,this.sdkConfiguration,(null===(n=this.options)||void 0===n?void 0:n.returnLinks)||{})}getSavedCreditCards(){return this.logIntegrationMode("elements"),this.execution.savedCreditCards}getSavedGooglePayAccounts(){return this.logIntegrationMode("elements"),this.execution.savedGooglePayAccounts}getSavedApplePayAccounts(){return this.logIntegrationMode("elements"),this.execution.savedApplePayAccounts}getStoredInstruments(){return this.logIntegrationMode("elements"),this.execution.storedPaymentInstruments}getAvailablePaymentMethods(){return this.logIntegrationMode("elements"),this.execution.availablePaymentMethods.map((({paymentMethodCode:e})=>e)).filter((e=>!!e))}paymentButton(e){var t;return this.logIntegrationMode("elements"),this.__cardPaymentButton||(this.__cardPaymentButton=new D(this.sdkConfiguration,this.execution,e,(null===(t=this.options)||void 0===t?void 0:t.returnLinks)||{})),this.__cardPaymentButton.setDisabled(!0),this.__cardForm&&this.__cardPaymentButton.setCardForm(this.__cardForm),this.__cardPaymentButton}paypalButton(e){var t;return this.logIntegrationMode("elements"),this.__paypalButton=new so(this.sdkConfiguration,this.execution,Object.assign(Object.assign({},e),{fraudNetGuid:(null==e?void 0:e.fraudNetGuid)||(null===(t=this.__fraudNet)||void 0===t?void 0:t.guid)})),this.__paypalButton}getSavedPaypalAccounts(){return this.logIntegrationMode("elements"),this.execution.savedPaypalAccounts||[]}fraudNet(e){var t;return this.__fraudNet||(this.__fraudNet=new ho(e,this.sdkConfiguration,(null===(t=this.options)||void 0===t?void 0:t.environment)||"TEST")),this.__paypalButton&&(this.__paypalButton.fraudNetGuid=this.__fraudNet.guid),this.__fraudNet}logIntegrationMode(e){r.PayrailsLogger.setState({sdk:{integration_mode:e}})}constructor(e,t,i,n){var o;this.sdkConfiguration=e,this.vaultClient=t,this.execution=i,this.options=n,(null===(o=null==n?void 0:n.events)||void 0===o?void 0:o.onClientInitialized)&&n.events.onClientInitialized(this.execution)}getContainerLayout(e){return e?[1,1,3]:[1,3]}}fo.preloadCardForm=_o,exports.Payrails=fo}();
24
+ class po{static init(e,t){var i,n;try{ho(),r.PayrailsLogger.init({enabled:(null===(i=null==t?void 0:t.telemetry)||void 0===i?void 0:i.enabled)||!0,logLevel:(null===(n=null==t?void 0:t.telemetry)||void 0===n?void 0:n.logLevel)||"error",environment:(null==t?void 0:t.environment)||"TEST",sdk:{name:"web-sdk",version:"3.4.2-RC.0"}});const o=JSON.parse(atob(e.data));r.PayrailsLogger.setState({payrails:{execution_id:o.execution.id,holder_reference:o.holderReference,vault_provider:o.vaultConfiguration.vaultType,merchant_reference:o.execution.merchantReference,workflow:{code:o.execution.workflow.code,version:o.execution.workflow.version}}});const{vaultConfiguration:{vaultId:s,vaultUrl:a,token:l},execution:d}=o,c=Ln.init({vaultID:s,vaultURL:a,getBearerToken:()=>Promise.resolve(l),options:{initResponse:e,deserializedData:o}}),E=new g(d);return E.isPaymentMethodAvailable(y.CARD)&&Eo(),new po(o,c,E,t)}catch(e){const t=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_CONFIG_MALFORMED,{cause:e});throw r.PayrailsLogger.error(t.message,{error:t}),t}}update(e){this.sdkConfiguration.amount=e}collectContainer(e){if("COMPOSABLE"===e.containerType&&!e.layout){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_COLLECT_CONTAINER_MOUNT);throw r.PayrailsLogger.error(e.message,{error:e}),e}return this.__container=new uo(this.vaultClient,Object.assign(Object.assign({},e),{cardTableName:this.sdkConfiguration.vaultConfiguration.cardTableName}),this.sdkConfiguration),this.__container}googlePayButton(e){var t;if(this.logIntegrationMode("elements"),!this.execution){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_WORKFLOW_EXECUTION_NOT_FOUND);throw r.PayrailsLogger.error(e.message,{error:e}),e}return new Hn(this.sdkConfiguration,this.execution,Object.assign({environment:null===(t=this.options)||void 0===t?void 0:t.environment},e))}applePayButton(e){if(this.logIntegrationMode("elements"),!this.execution){const e=new s.PayrailsError(s.ERROR_CODES.PAYRAILS_CLIENT_WORKFLOW_EXECUTION_NOT_FOUND);throw r.PayrailsLogger.error(e.message,{error:e}),e}return new Dn(this.sdkConfiguration,this.execution,e)}cardList(e){return this.logIntegrationMode("elements"),this.__cardList||(this.__cardList=new Vn(this.execution,{onCardChange:t=>{this.__cardPaymentButton&&(this.__cardPaymentButton.selectedInstrument=t,this.__cardPaymentButton.setDisabled(!1)),null==e||e.onCardChange(t)}})),this.__cardList}cardForm(e){var t,i;if(this.logIntegrationMode("elements"),!this.__cardForm){const n=this.getContainerLayout(null==e?void 0:e.showCardHolderName);this.__container=this.collectContainer(Object.assign(Object.assign({layout:n,errorTextStyles:{base:{display:"none"}}},null===(t=null==e?void 0:e.styles)||void 0===t?void 0:t.errorTextStyles),{styles:{base:null===(i=null==e?void 0:e.styles)||void 0===i?void 0:i.base}})),this.__cardForm=new Yn(this.__container,Object.assign(Object.assign({},e),{events:Object.assign(Object.assign({},null==e?void 0:e.events),{onChange:t=>{var i;this.__cardPaymentButton&&(this.__cardPaymentButton.selectedInstrument=null,this.__cardForm&&this.__cardPaymentButton.setDisabled(!this.__cardForm.isValid)),(null===(i=null==e?void 0:e.events)||void 0===i?void 0:i.onChange)&&e.events.onChange(t)},onFocus:()=>{var t;this.__cardList&&this.__cardList.reset(),this.__cardPaymentButton&&(this.__cardPaymentButton.selectedInstrument=null,this.__cardForm&&this.__cardPaymentButton.setDisabled(!this.__cardForm.isValid)),(null===(t=null==e?void 0:e.events)||void 0===t?void 0:t.onFocus)&&e.events.onFocus()}})}))}return this.__cardPaymentButton&&this.__cardPaymentButton.setCardForm(this.__cardForm),this.__cardForm}dropin(e){var t,i,n;this.logIntegrationMode("dropin");const o=this.getContainerLayout(null===(i=null===(t=e.paymentMethodsConfiguration)||void 0===t?void 0:t.cards)||void 0===i?void 0:i.showCardHolderName);return this.__container=this.collectContainer({layout:o,errorTextStyles:{base:{display:"none"}}}),new co(this.__container,this.options||{},e,this.execution,this.sdkConfiguration,(null===(n=this.options)||void 0===n?void 0:n.returnLinks)||{})}getSavedCreditCards(){return this.logIntegrationMode("elements"),this.execution.savedCreditCards}getSavedGooglePayAccounts(){return this.logIntegrationMode("elements"),this.execution.savedGooglePayAccounts}getSavedApplePayAccounts(){return this.logIntegrationMode("elements"),this.execution.savedApplePayAccounts}getStoredInstruments(){return this.logIntegrationMode("elements"),this.execution.storedPaymentInstruments}getAvailablePaymentMethods(){return this.logIntegrationMode("elements"),this.execution.availablePaymentMethods.map((({paymentMethodCode:e})=>e)).filter((e=>!!e))}paymentButton(e){var t;return this.logIntegrationMode("elements"),this.__cardPaymentButton||(this.__cardPaymentButton=new D(this.sdkConfiguration,this.execution,e,(null===(t=this.options)||void 0===t?void 0:t.returnLinks)||{})),this.__cardPaymentButton.setDisabled(!0),this.__cardForm&&this.__cardPaymentButton.setCardForm(this.__cardForm),this.__cardPaymentButton}paypalButton(e){var t;return this.logIntegrationMode("elements"),this.__paypalButton=new oo(this.sdkConfiguration,this.execution,Object.assign(Object.assign({},e),{fraudNetGuid:(null==e?void 0:e.fraudNetGuid)||(null===(t=this.__fraudNet)||void 0===t?void 0:t.guid)})),this.__paypalButton}getSavedPaypalAccounts(){return this.logIntegrationMode("elements"),this.execution.savedPaypalAccounts||[]}fraudNet(e){var t;return this.__fraudNet||(this.__fraudNet=new Io(e,this.sdkConfiguration,(null===(t=this.options)||void 0===t?void 0:t.environment)||"TEST")),this.__paypalButton&&(this.__paypalButton.fraudNetGuid=this.__fraudNet.guid),this.__fraudNet}logIntegrationMode(e){r.PayrailsLogger.setState({sdk:{integration_mode:e}})}constructor(e,t,i,n){var o;this.sdkConfiguration=e,this.vaultClient=t,this.execution=i,this.options=n,(null===(o=null==n?void 0:n.events)||void 0===o?void 0:o.onClientInitialized)&&n.events.onClientInitialized(this.execution)}getContainerLayout(e){return e?[1,1,3]:[1,3]}}po.preloadCardForm=Eo,exports.Payrails=po}();
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@payrails/web-sdk",
3
- "version": "3.4.0",
3
+ "version": "3.4.2-RC.0",
4
4
  "description": "SDK providing tokenization options on the client for merchants",
5
5
  "main": "index.js",
6
6
  "types": "payrails.d.ts",
7
+ "publishConfig": {},
7
8
  "type": "commonjs",
9
+ "scripts": {},
8
10
  "author": "Payrails GitHub Bot <github@payrails.com>",
9
11
  "license": "MIT",
10
12
  "dependencies": {
11
13
  "@payrails/web-cse": "1.2.3",
12
14
  "@types/applepayjs": "14.0.4",
13
15
  "@types/googlepay": "0.7.5"
14
- },
15
- "scripts": {}
16
- }
16
+ }
17
+ }
package/payrails.d.ts CHANGED
@@ -127,17 +127,11 @@ interface StorablePaymentCompositionOption<I = CardMetadata | PayPalMetadata, C
127
127
  }
128
128
  interface GooglePayConfig {
129
129
  parameters: {
130
- allowedAuthMethods: string[];
131
- allowedCardNetworks: string[];
130
+ allowedAuthMethods: google.payments.api.CardAuthMethod[];
131
+ allowedCardNetworks: google.payments.api.CardNetwork[];
132
132
  };
133
- tokenizationSpecification: {
134
- parameters: {
135
- gateway: string;
136
- gatewayMerchantId: string;
137
- };
138
- type: string;
139
- };
140
- type: string;
133
+ tokenizationSpecification: google.payments.api.PaymentMethodTokenizationSpecification;
134
+ type: google.payments.api.PaymentMethodType;
141
135
  }
142
136
  interface PayPalConfig {
143
137
  clientId: string;
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2023 Payrails (https://www.payrails.com/)
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.