Socket
Socket
Sign inDemoInstall

@mxenabled/web-widget-sdk

Package Overview
Dependencies
1
Maintainers
10
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.3 to 0.0.4

1

dist/amd/index.js

@@ -900,2 +900,3 @@ define(['exports'], (function (exports) { 'use strict';

exports.TrendsWidget = TrendsWidget;
exports.Widget = Widget;

@@ -902,0 +903,0 @@ Object.defineProperty(exports, '__esModule', { value: true });

2

dist/amd/index.min.js

@@ -1,1 +0,1 @@

define(["exports"],(function(e){"use strict";function t(e){return"clientId"in e&&"string"==typeof e.clientId&&"apiKey"in e&&"string"==typeof e.apiKey&&"userGuid"in e&&"string"==typeof e.userGuid&&"environment"in e&&"string"==typeof e.environment}class n extends Error{constructor(){super("Missing required widget props!\n\nComponent needs one of the following groups of props:\n\n - url\n\n - or -\n\n - proxy\n\n - or -\n\n - apiKey\n - clientId\n - environment\n - userGuid"),Object.setPrototypeOf(this,n.prototype)}}class i extends Error{constructor(e){super(`Request failed: ${e}`),this.statusCode=e,Object.setPrototypeOf(this,i.prototype)}}var r;!function(e){e.SAND="sand",e.QA="qa",e.INT="integration",e.PROD="production"}(r||(r={}));const s={[r.SAND]:r.SAND,[r.QA]:r.QA,[r.INT]:r.INT,[r.PROD]:r.PROD};const o={[r.SAND]:"https://api.sand.internal.mx",[r.QA]:"https://api.qa.internal.mx",[r.INT]:"https://int-api.mx.com",[r.PROD]:"https://api.mx.com"};function c(e){const t=function(e){const t=s[e];if(!t)throw new Error(`Invalid MX environment: ${e}`);return t}(e),n=o[t];if(!n)throw new Error(`Missing host for MX environment: ${e}`);return n}var u,d;function a(e){return{client_redirect_url:e.clientRedirectUrl,color_scheme:e.colorScheme,current_institution_code:e.currentInstitutionCode,current_institution_guid:e.currentInstitutionGuid,current_member_guid:e.currentMemberGuid,disable_institution_search:e.disableInstitutionSearch,include_transactions:e.includeTransactions,is_mobile_webview:e.isMobileWebview||!1,mode:e.mode,oauth_referral_source:e.oauthReferralSource,ui_message_version:e.uiMessageVersion||4,ui_message_webview_url_scheme:e.uiMessageWebviewUrlScheme,update_credentials:e.updateCredentials,wait_for_full_aggregation:e.waitForFullAggregation,widget_type:e.widgetType}}function g(e){return e.widget_url.url}function m(e){const i=function(e){if(function(e){return"proxy"in e&&"string"==typeof e.proxy}(e))return function(e){return e.proxy}(e);if(t(e))return function(e){const t=c(e.environment),n=e.userGuid;return`${t}/users/${n}/widget_urls`}(e);throw new n}(e),r=function(e){const n={Accept:"application/vnd.mx.api.v1+json","Content-Type":"application/json"};e.language&&(n["Accept-Language"]=e.language);if(t(e)){const{apiKey:t,clientId:i}=e,r=btoa(`${i}:${t}`);n.Authorization=`Basic ${r}`}const i="cors",r="POST",s=JSON.stringify({widget_url:a(e)});return{method:r,headers:n,body:s,mode:i}}(e);return{url:i,options:r}}function p(e){return e}function l(e){if(!e.ok)throw new i(e.status);return e.json()}function C(e){console.error(e)}!function(e){e.AccountsWidget="accounts_widget",e.BudgetsWidget="budgets_widget",e.ConnectWidget="connect_widget",e.ConnectionsWidget="connections_widget",e.DebtsWidget="debts_widget",e.FinstrongWidget="finstrong_widget",e.GoalsWidget="goals_widget",e.HelpWidget="help_widget",e.MasterWidget="master_widget",e.MiniBudgetsWidget="mini_budgets_widget",e.MiniFinstrongWidget="mini_finstrong_widget",e.MiniPulseCarouselWidget="mini_pulse_carousel_widget",e.MiniSpendingWidget="mini_spending_widget",e.PulseWidget="pulse_widget",e.SettingsWidget="settings_widget",e.SpendingWidget="spending_widget",e.TransactionsWidget="transactions_widget",e.TrendsWidget="trends_widget"}(u||(u={}));class _ extends Error{messageType;field;expectedType;gotValue;constructor(e,t,n,i){super(`Unable to decode '${t}' from '${e}'`),this.messageType=e,this.field=t,this.expectedType=n,this.gotValue=i,Object.setPrototypeOf(this,_.prototype)}}class h extends Error{postMessageType;constructor(e){super(`Unknown post message: ${e}`),this.postMessageType=e,Object.setPrototypeOf(this,h.prototype)}}function b(e,t,n,i){const r=e[n],s=void 0!==r,o="string"==typeof r,c="number"==typeof r,u="object"==typeof r&&!Array.isArray(r),d="string"===i,a="number"===i,g=i instanceof Array,m="object"==typeof i&&!Array.isArray(i);if(!s)throw new _(t,n,i,r);if(d&&!o)throw new _(t,n,i,r);if(a&&!c)throw new _(t,n,i,r);if(!(!g||o&&i.includes(r)))throw new _(t,n,i,r);if(m&&!u)throw new _(t,n,i,r);m&&u&&Object.keys(i).forEach((e=>{b(r,t,e,i[e])}))}!function(e){e.Load="mx/load",e.Ping="mx/ping",e.FocusTrap="mx/focusTrap",e.ConnectLoaded="mx/connect/loaded",e.ConnectEnterCredentials="mx/connect/enterCredentials",e.ConnectInstitutionSearch="mx/connect/institutionSearch",e.ConnectSelectedInstitution="mx/connect/selectedInstitution",e.ConnectMemberConnected="mx/connect/memberConnected",e.ConnectConnectedPrimaryAction="mx/connect/connected/primaryAction",e.ConnectMemberDeleted="mx/connect/memberDeleted",e.ConnectCreateMemberError="mx/connect/createMemberError",e.ConnectMemberStatusUpdate="mx/connect/memberStatusUpdate",e.ConnectOAuthError="mx/connect/oauthError",e.ConnectOAuthRequested="mx/connect/oauthRequested",e.ConnectStepChange="mx/connect/stepChange",e.ConnectSubmitMFA="mx/connect/submitMFA",e.ConnectUpdateCredentials="mx/connect/updateCredentials",e.PulseOverdraftWarningCtaTransferFunds="mx/pulse/overdraftWarning/cta/transferFunds",e.AccountCreated="mx/account/created"}(d||(d={}));const f={[d.Load]:d.Load,[d.Ping]:d.Ping,[d.FocusTrap]:d.FocusTrap,"mx/focustrap":d.FocusTrap,[d.ConnectLoaded]:d.ConnectLoaded,[d.ConnectEnterCredentials]:d.ConnectEnterCredentials,"mx/connect/entercredentials":d.ConnectEnterCredentials,[d.ConnectInstitutionSearch]:d.ConnectInstitutionSearch,"mx/connect/institutionsearch":d.ConnectInstitutionSearch,[d.ConnectSelectedInstitution]:d.ConnectSelectedInstitution,"mx/connect/selectedinstitution":d.ConnectSelectedInstitution,[d.ConnectMemberConnected]:d.ConnectMemberConnected,"mx/connect/memberconnected":d.ConnectMemberConnected,[d.ConnectConnectedPrimaryAction]:d.ConnectConnectedPrimaryAction,"mx/connect/connected/primaryaction":d.ConnectConnectedPrimaryAction,[d.ConnectMemberDeleted]:d.ConnectMemberDeleted,"mx/connect/memberdeleted":d.ConnectMemberDeleted,[d.ConnectCreateMemberError]:d.ConnectCreateMemberError,"mx/connect/createmembererror":d.ConnectCreateMemberError,[d.ConnectMemberStatusUpdate]:d.ConnectMemberStatusUpdate,"mx/connect/memberstatusupdate":d.ConnectMemberStatusUpdate,[d.ConnectOAuthError]:d.ConnectOAuthError,"mx/connect/oautherror":d.ConnectOAuthError,[d.ConnectOAuthRequested]:d.ConnectOAuthRequested,"mx/connect/oauthrequested":d.ConnectOAuthRequested,[d.ConnectStepChange]:d.ConnectStepChange,"mx/connect/stepchange":d.ConnectStepChange,[d.ConnectSubmitMFA]:d.ConnectSubmitMFA,"mx/connect/submitmfa":d.ConnectSubmitMFA,[d.ConnectUpdateCredentials]:d.ConnectUpdateCredentials,"mx/connect/updatecredentials":d.ConnectUpdateCredentials,[d.PulseOverdraftWarningCtaTransferFunds]:d.PulseOverdraftWarningCtaTransferFunds,"mx/pulse/overdraftwarning/cta/transferfunds":d.PulseOverdraftWarningCtaTransferFunds,[d.AccountCreated]:d.AccountCreated};function x(e){const t=e.type||"type not provided";let n;if(!t||!(t in f))throw new h(t);n=f[t];const i=function(e,t){switch(e){case d.Load:return{type:e};case d.Ping:return b(t,"mx/ping","user_guid","string"),b(t,"mx/ping","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.FocusTrap:return b(t,"mx/focusTrap","user_guid","string"),b(t,"mx/focusTrap","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.ConnectLoaded:return b(t,"mx/connect/loaded","user_guid","string"),b(t,"mx/connect/loaded","session_guid","string"),b(t,"mx/connect/loaded","initial_step",["search","selectMember","enterCreds","mfa","connected","loginError","disclosure"]),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,initial_step:t.initial_step};case d.ConnectEnterCredentials:return b(t,"mx/connect/enterCredentials","user_guid","string"),b(t,"mx/connect/enterCredentials","session_guid","string"),b(t,"mx/connect/enterCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution:t.institution};case d.ConnectInstitutionSearch:return b(t,"mx/connect/institutionSearch","user_guid","string"),b(t,"mx/connect/institutionSearch","session_guid","string"),b(t,"mx/connect/institutionSearch","query","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,query:t.query};case d.ConnectSelectedInstitution:return b(t,"mx/connect/selectedInstitution","user_guid","string"),b(t,"mx/connect/selectedInstitution","session_guid","string"),b(t,"mx/connect/selectedInstitution","code","string"),b(t,"mx/connect/selectedInstitution","guid","string"),b(t,"mx/connect/selectedInstitution","name","string"),b(t,"mx/connect/selectedInstitution","url","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,code:t.code,guid:t.guid,name:t.name,url:t.url};case d.ConnectMemberConnected:return b(t,"mx/connect/memberConnected","user_guid","string"),b(t,"mx/connect/memberConnected","session_guid","string"),b(t,"mx/connect/memberConnected","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case d.ConnectConnectedPrimaryAction:return b(t,"mx/connect/connected/primaryAction","user_guid","string"),b(t,"mx/connect/connected/primaryAction","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.ConnectMemberDeleted:return b(t,"mx/connect/memberDeleted","user_guid","string"),b(t,"mx/connect/memberDeleted","session_guid","string"),b(t,"mx/connect/memberDeleted","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case d.ConnectCreateMemberError:return b(t,"mx/connect/createMemberError","user_guid","string"),b(t,"mx/connect/createMemberError","session_guid","string"),b(t,"mx/connect/createMemberError","institution_guid","string"),b(t,"mx/connect/createMemberError","institution_code","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution_guid:t.institution_guid,institution_code:t.institution_code};case d.ConnectMemberStatusUpdate:return b(t,"mx/connect/memberStatusUpdate","user_guid","string"),b(t,"mx/connect/memberStatusUpdate","session_guid","string"),b(t,"mx/connect/memberStatusUpdate","member_guid","string"),b(t,"mx/connect/memberStatusUpdate","connection_status","number"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,connection_status:t.connection_status};case d.ConnectOAuthError:return b(t,"mx/connect/oauthError","user_guid","string"),b(t,"mx/connect/oauthError","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.ConnectOAuthRequested:return b(t,"mx/connect/oauthRequested","user_guid","string"),b(t,"mx/connect/oauthRequested","session_guid","string"),b(t,"mx/connect/oauthRequested","url","string"),b(t,"mx/connect/oauthRequested","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,url:t.url,member_guid:t.member_guid};case d.ConnectStepChange:return b(t,"mx/connect/stepChange","user_guid","string"),b(t,"mx/connect/stepChange","session_guid","string"),b(t,"mx/connect/stepChange","previous","string"),b(t,"mx/connect/stepChange","current","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,previous:t.previous,current:t.current};case d.ConnectSubmitMFA:return b(t,"mx/connect/submitMFA","user_guid","string"),b(t,"mx/connect/submitMFA","session_guid","string"),b(t,"mx/connect/submitMFA","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case d.ConnectUpdateCredentials:return b(t,"mx/connect/updateCredentials","user_guid","string"),b(t,"mx/connect/updateCredentials","session_guid","string"),b(t,"mx/connect/updateCredentials","member_guid","string"),b(t,"mx/connect/updateCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,institution:t.institution};case d.PulseOverdraftWarningCtaTransferFunds:return b(t,"mx/pulse/overdraftWarning/cta/transferFunds","account_guid","string"),b(t,"mx/pulse/overdraftWarning/cta/transferFunds","amount","number"),{type:e,account_guid:t.account_guid,amount:t.amount};case d.AccountCreated:return b(t,"mx/account/created","guid","string"),{type:e,guid:t.guid};default:throw new h(e)}}(n,e.metadata||{});return i}function y(e,t,n){if(t instanceof _)n.onInvalidMessageError?.(e,t);else{if(!(t instanceof h))throw t;n.onInvalidMessageError?.(e,t)}}function w(e,t){t.onMessage?.(e)}function M(e,t){try{w(e,t);!function(e,t){switch(e.type){case d.Load:t.onLoad?.(e);break;case d.Ping:t.onPing?.(e);break;case d.FocusTrap:t.onFocusTrap?.(e);break;case d.AccountCreated:t.onAccountCreated?.(e);break;default:throw new h(e.type)}}(x(e.data),t)}catch(n){y(e,n,t)}}function A(e,t){try{w(e,t);!function(e,t){switch(e.type){case d.Load:t.onLoad?.(e);break;case d.Ping:t.onPing?.(e);break;case d.FocusTrap:t.onFocusTrap?.(e);break;case d.AccountCreated:t.onAccountCreated?.(e);break;case d.ConnectLoaded:t.onLoaded?.(e);break;case d.ConnectEnterCredentials:t.onEnterCredentials?.(e);break;case d.ConnectInstitutionSearch:t.onInstitutionSearch?.(e);break;case d.ConnectSelectedInstitution:t.onSelectedInstitution?.(e);break;case d.ConnectMemberConnected:t.onMemberConnected?.(e);break;case d.ConnectConnectedPrimaryAction:t.onConnectedPrimaryAction?.(e);break;case d.ConnectMemberDeleted:t.onMemberDeleted?.(e);break;case d.ConnectCreateMemberError:t.onCreateMemberError?.(e);break;case d.ConnectMemberStatusUpdate:t.onMemberStatusUpdate?.(e);break;case d.ConnectOAuthError:t.onOAuthError?.(e);break;case d.ConnectOAuthRequested:t.onOAuthRequested?.(e);break;case d.ConnectStepChange:t.onStepChange?.(e);break;case d.ConnectSubmitMFA:t.onSubmitMFA?.(e);break;case d.ConnectUpdateCredentials:t.onUpdateCredentials?.(e);break;default:throw new h(e.type)}}(x(e.data),t)}catch(n){y(e,n,t)}}function W(e,t){try{w(e,t);!function(e,t){switch(e.type){case d.Load:t.onLoad?.(e);break;case d.Ping:t.onPing?.(e);break;case d.FocusTrap:t.onFocusTrap?.(e);break;case d.AccountCreated:t.onAccountCreated?.(e);break;case d.PulseOverdraftWarningCtaTransferFunds:t.onOverdraftWarningCtaTransferFunds?.(e);break;default:throw new h(e.type)}}(x(e.data),t)}catch(n){y(e,n,t)}}class S{constructor(e){if(this.options=e,this.iframe=document.createElement("iframe"),this.style=e.style||{border:"none",height:"100%",width:"100%"},this.messageCallback=e=>{e.data.mx&&this.dispatcher(e,this.options)},"string"==typeof e.widgetContainer){const t=document.querySelector(e.widgetContainer);if(!t)throw new Error(`Unable to find widget container. Ensure that an element matching a selector for '${this.options.widgetContainer}' is available in the DOM before you initialize the widget.`);this.widgetContainer=t}else{if(!(e.widgetContainer instanceof Element))throw new Error("Invalid or missing value for widgetContainer property, expecting a query selector string or a DOM Element.");this.widgetContainer=e.widgetContainer}this.setupIframe(),this.setupListener()}get widgetType(){if(this.options.widgetType)return this.options.widgetType;throw new Error("Missing value for widgetType property, expecting a string (eg. connect_widget).")}get dispatcher(){return M}unmount(){this.teardownListener(),this.teardownIframe()}setupIframe(){this.iframe.setAttribute("data-test-id","mx-widget-iframe"),function(e){if(function(e){return"url"in e&&"string"==typeof e.url}(e))return Promise.resolve(e.url);const t=e.ssoRequestBuilder||m,n=e.ssoRequestPreprocess||p,i=e.ssoRequestPostprocess||g,r=e.onSsoUrlLoadError||C,s=n(t(e));return fetch(s.url,s.options).then(l).then(i).catch(r)}(Object.assign(Object.assign({},this.options),{widgetType:this.widgetType})).then((e=>{e&&(this.iframe.src=e)})),Object.keys(this.style).forEach((e=>{this.iframe.style[e]=this.style[e]})),this.widgetContainer.appendChild(this.iframe)}teardownIframe(){this.widgetContainer.removeChild(this.iframe)}setupListener(){window.addEventListener("message",this.messageCallback,!1)}teardownListener(){window.removeEventListener("message",this.messageCallback,!1)}}e.AccountsWidget=class extends S{get widgetType(){return u.AccountsWidget}},e.BudgetsWidget=class extends S{get widgetType(){return u.BudgetsWidget}},e.ConnectWidget=class extends S{get widgetType(){return u.ConnectWidget}get dispatcher(){return A}},e.ConnectionsWidget=class extends S{get widgetType(){return u.ConnectionsWidget}},e.DebtsWidget=class extends S{get widgetType(){return u.DebtsWidget}},e.FinstrongWidget=class extends S{get widgetType(){return u.FinstrongWidget}},e.GoalsWidget=class extends S{get widgetType(){return u.GoalsWidget}},e.HelpWidget=class extends S{get widgetType(){return u.HelpWidget}},e.MasterWidget=class extends S{get widgetType(){return u.MasterWidget}},e.MiniBudgetsWidget=class extends S{get widgetType(){return u.MiniBudgetsWidget}},e.MiniFinstrongWidget=class extends S{get widgetType(){return u.MiniFinstrongWidget}},e.MiniPulseCarouselWidget=class extends S{get widgetType(){return u.MiniPulseCarouselWidget}get dispatcher(){return W}},e.MiniSpendingWidget=class extends S{get widgetType(){return u.MiniSpendingWidget}},e.PulseWidget=class extends S{get widgetType(){return u.PulseWidget}get dispatcher(){return W}},e.SettingsWidget=class extends S{get widgetType(){return u.SettingsWidget}},e.SpendingWidget=class extends S{get widgetType(){return u.SpendingWidget}},e.TransactionsWidget=class extends S{get widgetType(){return u.TransactionsWidget}},e.TrendsWidget=class extends S{get widgetType(){return u.TrendsWidget}},Object.defineProperty(e,"__esModule",{value:!0})}));
define(["exports"],(function(e){"use strict";function t(e){return"clientId"in e&&"string"==typeof e.clientId&&"apiKey"in e&&"string"==typeof e.apiKey&&"userGuid"in e&&"string"==typeof e.userGuid&&"environment"in e&&"string"==typeof e.environment}class n extends Error{constructor(){super("Missing required widget props!\n\nComponent needs one of the following groups of props:\n\n - url\n\n - or -\n\n - proxy\n\n - or -\n\n - apiKey\n - clientId\n - environment\n - userGuid"),Object.setPrototypeOf(this,n.prototype)}}class i extends Error{constructor(e){super(`Request failed: ${e}`),this.statusCode=e,Object.setPrototypeOf(this,i.prototype)}}var r;!function(e){e.SAND="sand",e.QA="qa",e.INT="integration",e.PROD="production"}(r||(r={}));const s={[r.SAND]:r.SAND,[r.QA]:r.QA,[r.INT]:r.INT,[r.PROD]:r.PROD};const o={[r.SAND]:"https://api.sand.internal.mx",[r.QA]:"https://api.qa.internal.mx",[r.INT]:"https://int-api.mx.com",[r.PROD]:"https://api.mx.com"};function c(e){const t=function(e){const t=s[e];if(!t)throw new Error(`Invalid MX environment: ${e}`);return t}(e),n=o[t];if(!n)throw new Error(`Missing host for MX environment: ${e}`);return n}var u,d;function a(e){return{client_redirect_url:e.clientRedirectUrl,color_scheme:e.colorScheme,current_institution_code:e.currentInstitutionCode,current_institution_guid:e.currentInstitutionGuid,current_member_guid:e.currentMemberGuid,disable_institution_search:e.disableInstitutionSearch,include_transactions:e.includeTransactions,is_mobile_webview:e.isMobileWebview||!1,mode:e.mode,oauth_referral_source:e.oauthReferralSource,ui_message_version:e.uiMessageVersion||4,ui_message_webview_url_scheme:e.uiMessageWebviewUrlScheme,update_credentials:e.updateCredentials,wait_for_full_aggregation:e.waitForFullAggregation,widget_type:e.widgetType}}function g(e){return e.widget_url.url}function m(e){const i=function(e){if(function(e){return"proxy"in e&&"string"==typeof e.proxy}(e))return function(e){return e.proxy}(e);if(t(e))return function(e){const t=c(e.environment),n=e.userGuid;return`${t}/users/${n}/widget_urls`}(e);throw new n}(e),r=function(e){const n={Accept:"application/vnd.mx.api.v1+json","Content-Type":"application/json"};e.language&&(n["Accept-Language"]=e.language);if(t(e)){const{apiKey:t,clientId:i}=e,r=btoa(`${i}:${t}`);n.Authorization=`Basic ${r}`}const i="cors",r="POST",s=JSON.stringify({widget_url:a(e)});return{method:r,headers:n,body:s,mode:i}}(e);return{url:i,options:r}}function p(e){return e}function l(e){if(!e.ok)throw new i(e.status);return e.json()}function C(e){console.error(e)}!function(e){e.AccountsWidget="accounts_widget",e.BudgetsWidget="budgets_widget",e.ConnectWidget="connect_widget",e.ConnectionsWidget="connections_widget",e.DebtsWidget="debts_widget",e.FinstrongWidget="finstrong_widget",e.GoalsWidget="goals_widget",e.HelpWidget="help_widget",e.MasterWidget="master_widget",e.MiniBudgetsWidget="mini_budgets_widget",e.MiniFinstrongWidget="mini_finstrong_widget",e.MiniPulseCarouselWidget="mini_pulse_carousel_widget",e.MiniSpendingWidget="mini_spending_widget",e.PulseWidget="pulse_widget",e.SettingsWidget="settings_widget",e.SpendingWidget="spending_widget",e.TransactionsWidget="transactions_widget",e.TrendsWidget="trends_widget"}(u||(u={}));class _ extends Error{messageType;field;expectedType;gotValue;constructor(e,t,n,i){super(`Unable to decode '${t}' from '${e}'`),this.messageType=e,this.field=t,this.expectedType=n,this.gotValue=i,Object.setPrototypeOf(this,_.prototype)}}class h extends Error{postMessageType;constructor(e){super(`Unknown post message: ${e}`),this.postMessageType=e,Object.setPrototypeOf(this,h.prototype)}}function b(e,t,n,i){const r=e[n],s=void 0!==r,o="string"==typeof r,c="number"==typeof r,u="object"==typeof r&&!Array.isArray(r),d="string"===i,a="number"===i,g=i instanceof Array,m="object"==typeof i&&!Array.isArray(i);if(!s)throw new _(t,n,i,r);if(d&&!o)throw new _(t,n,i,r);if(a&&!c)throw new _(t,n,i,r);if(!(!g||o&&i.includes(r)))throw new _(t,n,i,r);if(m&&!u)throw new _(t,n,i,r);m&&u&&Object.keys(i).forEach((e=>{b(r,t,e,i[e])}))}!function(e){e.Load="mx/load",e.Ping="mx/ping",e.FocusTrap="mx/focusTrap",e.ConnectLoaded="mx/connect/loaded",e.ConnectEnterCredentials="mx/connect/enterCredentials",e.ConnectInstitutionSearch="mx/connect/institutionSearch",e.ConnectSelectedInstitution="mx/connect/selectedInstitution",e.ConnectMemberConnected="mx/connect/memberConnected",e.ConnectConnectedPrimaryAction="mx/connect/connected/primaryAction",e.ConnectMemberDeleted="mx/connect/memberDeleted",e.ConnectCreateMemberError="mx/connect/createMemberError",e.ConnectMemberStatusUpdate="mx/connect/memberStatusUpdate",e.ConnectOAuthError="mx/connect/oauthError",e.ConnectOAuthRequested="mx/connect/oauthRequested",e.ConnectStepChange="mx/connect/stepChange",e.ConnectSubmitMFA="mx/connect/submitMFA",e.ConnectUpdateCredentials="mx/connect/updateCredentials",e.PulseOverdraftWarningCtaTransferFunds="mx/pulse/overdraftWarning/cta/transferFunds",e.AccountCreated="mx/account/created"}(d||(d={}));const f={[d.Load]:d.Load,[d.Ping]:d.Ping,[d.FocusTrap]:d.FocusTrap,"mx/focustrap":d.FocusTrap,[d.ConnectLoaded]:d.ConnectLoaded,[d.ConnectEnterCredentials]:d.ConnectEnterCredentials,"mx/connect/entercredentials":d.ConnectEnterCredentials,[d.ConnectInstitutionSearch]:d.ConnectInstitutionSearch,"mx/connect/institutionsearch":d.ConnectInstitutionSearch,[d.ConnectSelectedInstitution]:d.ConnectSelectedInstitution,"mx/connect/selectedinstitution":d.ConnectSelectedInstitution,[d.ConnectMemberConnected]:d.ConnectMemberConnected,"mx/connect/memberconnected":d.ConnectMemberConnected,[d.ConnectConnectedPrimaryAction]:d.ConnectConnectedPrimaryAction,"mx/connect/connected/primaryaction":d.ConnectConnectedPrimaryAction,[d.ConnectMemberDeleted]:d.ConnectMemberDeleted,"mx/connect/memberdeleted":d.ConnectMemberDeleted,[d.ConnectCreateMemberError]:d.ConnectCreateMemberError,"mx/connect/createmembererror":d.ConnectCreateMemberError,[d.ConnectMemberStatusUpdate]:d.ConnectMemberStatusUpdate,"mx/connect/memberstatusupdate":d.ConnectMemberStatusUpdate,[d.ConnectOAuthError]:d.ConnectOAuthError,"mx/connect/oautherror":d.ConnectOAuthError,[d.ConnectOAuthRequested]:d.ConnectOAuthRequested,"mx/connect/oauthrequested":d.ConnectOAuthRequested,[d.ConnectStepChange]:d.ConnectStepChange,"mx/connect/stepchange":d.ConnectStepChange,[d.ConnectSubmitMFA]:d.ConnectSubmitMFA,"mx/connect/submitmfa":d.ConnectSubmitMFA,[d.ConnectUpdateCredentials]:d.ConnectUpdateCredentials,"mx/connect/updatecredentials":d.ConnectUpdateCredentials,[d.PulseOverdraftWarningCtaTransferFunds]:d.PulseOverdraftWarningCtaTransferFunds,"mx/pulse/overdraftwarning/cta/transferfunds":d.PulseOverdraftWarningCtaTransferFunds,[d.AccountCreated]:d.AccountCreated};function x(e){const t=e.type||"type not provided";let n;if(!t||!(t in f))throw new h(t);n=f[t];const i=function(e,t){switch(e){case d.Load:return{type:e};case d.Ping:return b(t,"mx/ping","user_guid","string"),b(t,"mx/ping","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.FocusTrap:return b(t,"mx/focusTrap","user_guid","string"),b(t,"mx/focusTrap","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.ConnectLoaded:return b(t,"mx/connect/loaded","user_guid","string"),b(t,"mx/connect/loaded","session_guid","string"),b(t,"mx/connect/loaded","initial_step",["search","selectMember","enterCreds","mfa","connected","loginError","disclosure"]),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,initial_step:t.initial_step};case d.ConnectEnterCredentials:return b(t,"mx/connect/enterCredentials","user_guid","string"),b(t,"mx/connect/enterCredentials","session_guid","string"),b(t,"mx/connect/enterCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution:t.institution};case d.ConnectInstitutionSearch:return b(t,"mx/connect/institutionSearch","user_guid","string"),b(t,"mx/connect/institutionSearch","session_guid","string"),b(t,"mx/connect/institutionSearch","query","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,query:t.query};case d.ConnectSelectedInstitution:return b(t,"mx/connect/selectedInstitution","user_guid","string"),b(t,"mx/connect/selectedInstitution","session_guid","string"),b(t,"mx/connect/selectedInstitution","code","string"),b(t,"mx/connect/selectedInstitution","guid","string"),b(t,"mx/connect/selectedInstitution","name","string"),b(t,"mx/connect/selectedInstitution","url","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,code:t.code,guid:t.guid,name:t.name,url:t.url};case d.ConnectMemberConnected:return b(t,"mx/connect/memberConnected","user_guid","string"),b(t,"mx/connect/memberConnected","session_guid","string"),b(t,"mx/connect/memberConnected","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case d.ConnectConnectedPrimaryAction:return b(t,"mx/connect/connected/primaryAction","user_guid","string"),b(t,"mx/connect/connected/primaryAction","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.ConnectMemberDeleted:return b(t,"mx/connect/memberDeleted","user_guid","string"),b(t,"mx/connect/memberDeleted","session_guid","string"),b(t,"mx/connect/memberDeleted","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case d.ConnectCreateMemberError:return b(t,"mx/connect/createMemberError","user_guid","string"),b(t,"mx/connect/createMemberError","session_guid","string"),b(t,"mx/connect/createMemberError","institution_guid","string"),b(t,"mx/connect/createMemberError","institution_code","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution_guid:t.institution_guid,institution_code:t.institution_code};case d.ConnectMemberStatusUpdate:return b(t,"mx/connect/memberStatusUpdate","user_guid","string"),b(t,"mx/connect/memberStatusUpdate","session_guid","string"),b(t,"mx/connect/memberStatusUpdate","member_guid","string"),b(t,"mx/connect/memberStatusUpdate","connection_status","number"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,connection_status:t.connection_status};case d.ConnectOAuthError:return b(t,"mx/connect/oauthError","user_guid","string"),b(t,"mx/connect/oauthError","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.ConnectOAuthRequested:return b(t,"mx/connect/oauthRequested","user_guid","string"),b(t,"mx/connect/oauthRequested","session_guid","string"),b(t,"mx/connect/oauthRequested","url","string"),b(t,"mx/connect/oauthRequested","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,url:t.url,member_guid:t.member_guid};case d.ConnectStepChange:return b(t,"mx/connect/stepChange","user_guid","string"),b(t,"mx/connect/stepChange","session_guid","string"),b(t,"mx/connect/stepChange","previous","string"),b(t,"mx/connect/stepChange","current","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,previous:t.previous,current:t.current};case d.ConnectSubmitMFA:return b(t,"mx/connect/submitMFA","user_guid","string"),b(t,"mx/connect/submitMFA","session_guid","string"),b(t,"mx/connect/submitMFA","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case d.ConnectUpdateCredentials:return b(t,"mx/connect/updateCredentials","user_guid","string"),b(t,"mx/connect/updateCredentials","session_guid","string"),b(t,"mx/connect/updateCredentials","member_guid","string"),b(t,"mx/connect/updateCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,institution:t.institution};case d.PulseOverdraftWarningCtaTransferFunds:return b(t,"mx/pulse/overdraftWarning/cta/transferFunds","account_guid","string"),b(t,"mx/pulse/overdraftWarning/cta/transferFunds","amount","number"),{type:e,account_guid:t.account_guid,amount:t.amount};case d.AccountCreated:return b(t,"mx/account/created","guid","string"),{type:e,guid:t.guid};default:throw new h(e)}}(n,e.metadata||{});return i}function y(e,t,n){if(t instanceof _)n.onInvalidMessageError?.(e,t);else{if(!(t instanceof h))throw t;n.onInvalidMessageError?.(e,t)}}function w(e,t){t.onMessage?.(e)}function M(e,t){try{w(e,t);!function(e,t){switch(e.type){case d.Load:t.onLoad?.(e);break;case d.Ping:t.onPing?.(e);break;case d.FocusTrap:t.onFocusTrap?.(e);break;case d.AccountCreated:t.onAccountCreated?.(e);break;default:throw new h(e.type)}}(x(e.data),t)}catch(n){y(e,n,t)}}function W(e,t){try{w(e,t);!function(e,t){switch(e.type){case d.Load:t.onLoad?.(e);break;case d.Ping:t.onPing?.(e);break;case d.FocusTrap:t.onFocusTrap?.(e);break;case d.AccountCreated:t.onAccountCreated?.(e);break;case d.ConnectLoaded:t.onLoaded?.(e);break;case d.ConnectEnterCredentials:t.onEnterCredentials?.(e);break;case d.ConnectInstitutionSearch:t.onInstitutionSearch?.(e);break;case d.ConnectSelectedInstitution:t.onSelectedInstitution?.(e);break;case d.ConnectMemberConnected:t.onMemberConnected?.(e);break;case d.ConnectConnectedPrimaryAction:t.onConnectedPrimaryAction?.(e);break;case d.ConnectMemberDeleted:t.onMemberDeleted?.(e);break;case d.ConnectCreateMemberError:t.onCreateMemberError?.(e);break;case d.ConnectMemberStatusUpdate:t.onMemberStatusUpdate?.(e);break;case d.ConnectOAuthError:t.onOAuthError?.(e);break;case d.ConnectOAuthRequested:t.onOAuthRequested?.(e);break;case d.ConnectStepChange:t.onStepChange?.(e);break;case d.ConnectSubmitMFA:t.onSubmitMFA?.(e);break;case d.ConnectUpdateCredentials:t.onUpdateCredentials?.(e);break;default:throw new h(e.type)}}(x(e.data),t)}catch(n){y(e,n,t)}}function A(e,t){try{w(e,t);!function(e,t){switch(e.type){case d.Load:t.onLoad?.(e);break;case d.Ping:t.onPing?.(e);break;case d.FocusTrap:t.onFocusTrap?.(e);break;case d.AccountCreated:t.onAccountCreated?.(e);break;case d.PulseOverdraftWarningCtaTransferFunds:t.onOverdraftWarningCtaTransferFunds?.(e);break;default:throw new h(e.type)}}(x(e.data),t)}catch(n){y(e,n,t)}}class S{constructor(e){if(this.options=e,this.iframe=document.createElement("iframe"),this.style=e.style||{border:"none",height:"100%",width:"100%"},this.messageCallback=e=>{e.data.mx&&this.dispatcher(e,this.options)},"string"==typeof e.widgetContainer){const t=document.querySelector(e.widgetContainer);if(!t)throw new Error(`Unable to find widget container. Ensure that an element matching a selector for '${this.options.widgetContainer}' is available in the DOM before you initialize the widget.`);this.widgetContainer=t}else{if(!(e.widgetContainer instanceof Element))throw new Error("Invalid or missing value for widgetContainer property, expecting a query selector string or a DOM Element.");this.widgetContainer=e.widgetContainer}this.setupIframe(),this.setupListener()}get widgetType(){if(this.options.widgetType)return this.options.widgetType;throw new Error("Missing value for widgetType property, expecting a string (eg. connect_widget).")}get dispatcher(){return M}unmount(){this.teardownListener(),this.teardownIframe()}setupIframe(){this.iframe.setAttribute("data-test-id","mx-widget-iframe"),function(e){if(function(e){return"url"in e&&"string"==typeof e.url}(e))return Promise.resolve(e.url);const t=e.ssoRequestBuilder||m,n=e.ssoRequestPreprocess||p,i=e.ssoRequestPostprocess||g,r=e.onSsoUrlLoadError||C,s=n(t(e));return fetch(s.url,s.options).then(l).then(i).catch(r)}(Object.assign(Object.assign({},this.options),{widgetType:this.widgetType})).then((e=>{e&&(this.iframe.src=e)})),Object.keys(this.style).forEach((e=>{this.iframe.style[e]=this.style[e]})),this.widgetContainer.appendChild(this.iframe)}teardownIframe(){this.widgetContainer.removeChild(this.iframe)}setupListener(){window.addEventListener("message",this.messageCallback,!1)}teardownListener(){window.removeEventListener("message",this.messageCallback,!1)}}e.AccountsWidget=class extends S{get widgetType(){return u.AccountsWidget}},e.BudgetsWidget=class extends S{get widgetType(){return u.BudgetsWidget}},e.ConnectWidget=class extends S{get widgetType(){return u.ConnectWidget}get dispatcher(){return W}},e.ConnectionsWidget=class extends S{get widgetType(){return u.ConnectionsWidget}},e.DebtsWidget=class extends S{get widgetType(){return u.DebtsWidget}},e.FinstrongWidget=class extends S{get widgetType(){return u.FinstrongWidget}},e.GoalsWidget=class extends S{get widgetType(){return u.GoalsWidget}},e.HelpWidget=class extends S{get widgetType(){return u.HelpWidget}},e.MasterWidget=class extends S{get widgetType(){return u.MasterWidget}},e.MiniBudgetsWidget=class extends S{get widgetType(){return u.MiniBudgetsWidget}},e.MiniFinstrongWidget=class extends S{get widgetType(){return u.MiniFinstrongWidget}},e.MiniPulseCarouselWidget=class extends S{get widgetType(){return u.MiniPulseCarouselWidget}get dispatcher(){return A}},e.MiniSpendingWidget=class extends S{get widgetType(){return u.MiniSpendingWidget}},e.PulseWidget=class extends S{get widgetType(){return u.PulseWidget}get dispatcher(){return A}},e.SettingsWidget=class extends S{get widgetType(){return u.SettingsWidget}},e.SpendingWidget=class extends S{get widgetType(){return u.SpendingWidget}},e.TransactionsWidget=class extends S{get widgetType(){return u.TransactionsWidget}},e.TrendsWidget=class extends S{get widgetType(){return u.TrendsWidget}},e.Widget=S,Object.defineProperty(e,"__esModule",{value:!0})}));

@@ -902,1 +902,2 @@ 'use strict';

exports.TrendsWidget = TrendsWidget;
exports.Widget = Widget;

@@ -1,1 +0,1 @@

"use strict";function e(e){return"clientId"in e&&"string"==typeof e.clientId&&"apiKey"in e&&"string"==typeof e.apiKey&&"userGuid"in e&&"string"==typeof e.userGuid&&"environment"in e&&"string"==typeof e.environment}Object.defineProperty(exports,"__esModule",{value:!0});class t extends Error{constructor(){super("Missing required widget props!\n\nComponent needs one of the following groups of props:\n\n - url\n\n - or -\n\n - proxy\n\n - or -\n\n - apiKey\n - clientId\n - environment\n - userGuid"),Object.setPrototypeOf(this,t.prototype)}}class n extends Error{constructor(e){super(`Request failed: ${e}`),this.statusCode=e,Object.setPrototypeOf(this,n.prototype)}}var r;!function(e){e.SAND="sand",e.QA="qa",e.INT="integration",e.PROD="production"}(r||(r={}));const i={[r.SAND]:r.SAND,[r.QA]:r.QA,[r.INT]:r.INT,[r.PROD]:r.PROD};const s={[r.SAND]:"https://api.sand.internal.mx",[r.QA]:"https://api.qa.internal.mx",[r.INT]:"https://int-api.mx.com",[r.PROD]:"https://api.mx.com"};function o(e){const t=function(e){const t=i[e];if(!t)throw new Error(`Invalid MX environment: ${e}`);return t}(e),n=s[t];if(!n)throw new Error(`Missing host for MX environment: ${e}`);return n}var c,u;function d(e){return{client_redirect_url:e.clientRedirectUrl,color_scheme:e.colorScheme,current_institution_code:e.currentInstitutionCode,current_institution_guid:e.currentInstitutionGuid,current_member_guid:e.currentMemberGuid,disable_institution_search:e.disableInstitutionSearch,include_transactions:e.includeTransactions,is_mobile_webview:e.isMobileWebview||!1,mode:e.mode,oauth_referral_source:e.oauthReferralSource,ui_message_version:e.uiMessageVersion||4,ui_message_webview_url_scheme:e.uiMessageWebviewUrlScheme,update_credentials:e.updateCredentials,wait_for_full_aggregation:e.waitForFullAggregation,widget_type:e.widgetType}}function a(e){return e.widget_url.url}function g(n){const r=function(n){if(function(e){return"proxy"in e&&"string"==typeof e.proxy}(n))return function(e){return e.proxy}(n);if(e(n))return function(e){const t=o(e.environment),n=e.userGuid;return`${t}/users/${n}/widget_urls`}(n);throw new t}(n),i=function(t){const n={Accept:"application/vnd.mx.api.v1+json","Content-Type":"application/json"};t.language&&(n["Accept-Language"]=t.language);if(e(t)){const{apiKey:e,clientId:r}=t,i=btoa(`${r}:${e}`);n.Authorization=`Basic ${i}`}const r="cors",i="POST",s=JSON.stringify({widget_url:d(t)});return{method:i,headers:n,body:s,mode:r}}(n);return{url:r,options:i}}function m(e){return e}function p(e){if(!e.ok)throw new n(e.status);return e.json()}function l(e){console.error(e)}!function(e){e.AccountsWidget="accounts_widget",e.BudgetsWidget="budgets_widget",e.ConnectWidget="connect_widget",e.ConnectionsWidget="connections_widget",e.DebtsWidget="debts_widget",e.FinstrongWidget="finstrong_widget",e.GoalsWidget="goals_widget",e.HelpWidget="help_widget",e.MasterWidget="master_widget",e.MiniBudgetsWidget="mini_budgets_widget",e.MiniFinstrongWidget="mini_finstrong_widget",e.MiniPulseCarouselWidget="mini_pulse_carousel_widget",e.MiniSpendingWidget="mini_spending_widget",e.PulseWidget="pulse_widget",e.SettingsWidget="settings_widget",e.SpendingWidget="spending_widget",e.TransactionsWidget="transactions_widget",e.TrendsWidget="trends_widget"}(c||(c={}));class C extends Error{messageType;field;expectedType;gotValue;constructor(e,t,n,r){super(`Unable to decode '${t}' from '${e}'`),this.messageType=e,this.field=t,this.expectedType=n,this.gotValue=r,Object.setPrototypeOf(this,C.prototype)}}class _ extends Error{postMessageType;constructor(e){super(`Unknown post message: ${e}`),this.postMessageType=e,Object.setPrototypeOf(this,_.prototype)}}function h(e,t,n,r){const i=e[n],s=void 0!==i,o="string"==typeof i,c="number"==typeof i,u="object"==typeof i&&!Array.isArray(i),d="string"===r,a="number"===r,g=r instanceof Array,m="object"==typeof r&&!Array.isArray(r);if(!s)throw new C(t,n,r,i);if(d&&!o)throw new C(t,n,r,i);if(a&&!c)throw new C(t,n,r,i);if(!(!g||o&&r.includes(i)))throw new C(t,n,r,i);if(m&&!u)throw new C(t,n,r,i);m&&u&&Object.keys(r).forEach((e=>{h(i,t,e,r[e])}))}!function(e){e.Load="mx/load",e.Ping="mx/ping",e.FocusTrap="mx/focusTrap",e.ConnectLoaded="mx/connect/loaded",e.ConnectEnterCredentials="mx/connect/enterCredentials",e.ConnectInstitutionSearch="mx/connect/institutionSearch",e.ConnectSelectedInstitution="mx/connect/selectedInstitution",e.ConnectMemberConnected="mx/connect/memberConnected",e.ConnectConnectedPrimaryAction="mx/connect/connected/primaryAction",e.ConnectMemberDeleted="mx/connect/memberDeleted",e.ConnectCreateMemberError="mx/connect/createMemberError",e.ConnectMemberStatusUpdate="mx/connect/memberStatusUpdate",e.ConnectOAuthError="mx/connect/oauthError",e.ConnectOAuthRequested="mx/connect/oauthRequested",e.ConnectStepChange="mx/connect/stepChange",e.ConnectSubmitMFA="mx/connect/submitMFA",e.ConnectUpdateCredentials="mx/connect/updateCredentials",e.PulseOverdraftWarningCtaTransferFunds="mx/pulse/overdraftWarning/cta/transferFunds",e.AccountCreated="mx/account/created"}(u||(u={}));const b={[u.Load]:u.Load,[u.Ping]:u.Ping,[u.FocusTrap]:u.FocusTrap,"mx/focustrap":u.FocusTrap,[u.ConnectLoaded]:u.ConnectLoaded,[u.ConnectEnterCredentials]:u.ConnectEnterCredentials,"mx/connect/entercredentials":u.ConnectEnterCredentials,[u.ConnectInstitutionSearch]:u.ConnectInstitutionSearch,"mx/connect/institutionsearch":u.ConnectInstitutionSearch,[u.ConnectSelectedInstitution]:u.ConnectSelectedInstitution,"mx/connect/selectedinstitution":u.ConnectSelectedInstitution,[u.ConnectMemberConnected]:u.ConnectMemberConnected,"mx/connect/memberconnected":u.ConnectMemberConnected,[u.ConnectConnectedPrimaryAction]:u.ConnectConnectedPrimaryAction,"mx/connect/connected/primaryaction":u.ConnectConnectedPrimaryAction,[u.ConnectMemberDeleted]:u.ConnectMemberDeleted,"mx/connect/memberdeleted":u.ConnectMemberDeleted,[u.ConnectCreateMemberError]:u.ConnectCreateMemberError,"mx/connect/createmembererror":u.ConnectCreateMemberError,[u.ConnectMemberStatusUpdate]:u.ConnectMemberStatusUpdate,"mx/connect/memberstatusupdate":u.ConnectMemberStatusUpdate,[u.ConnectOAuthError]:u.ConnectOAuthError,"mx/connect/oautherror":u.ConnectOAuthError,[u.ConnectOAuthRequested]:u.ConnectOAuthRequested,"mx/connect/oauthrequested":u.ConnectOAuthRequested,[u.ConnectStepChange]:u.ConnectStepChange,"mx/connect/stepchange":u.ConnectStepChange,[u.ConnectSubmitMFA]:u.ConnectSubmitMFA,"mx/connect/submitmfa":u.ConnectSubmitMFA,[u.ConnectUpdateCredentials]:u.ConnectUpdateCredentials,"mx/connect/updatecredentials":u.ConnectUpdateCredentials,[u.PulseOverdraftWarningCtaTransferFunds]:u.PulseOverdraftWarningCtaTransferFunds,"mx/pulse/overdraftwarning/cta/transferfunds":u.PulseOverdraftWarningCtaTransferFunds,[u.AccountCreated]:u.AccountCreated};function x(e){const t=e.type||"type not provided";let n;if(!t||!(t in b))throw new _(t);n=b[t];const r=function(e,t){switch(e){case u.Load:return{type:e};case u.Ping:return h(t,"mx/ping","user_guid","string"),h(t,"mx/ping","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.FocusTrap:return h(t,"mx/focusTrap","user_guid","string"),h(t,"mx/focusTrap","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.ConnectLoaded:return h(t,"mx/connect/loaded","user_guid","string"),h(t,"mx/connect/loaded","session_guid","string"),h(t,"mx/connect/loaded","initial_step",["search","selectMember","enterCreds","mfa","connected","loginError","disclosure"]),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,initial_step:t.initial_step};case u.ConnectEnterCredentials:return h(t,"mx/connect/enterCredentials","user_guid","string"),h(t,"mx/connect/enterCredentials","session_guid","string"),h(t,"mx/connect/enterCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution:t.institution};case u.ConnectInstitutionSearch:return h(t,"mx/connect/institutionSearch","user_guid","string"),h(t,"mx/connect/institutionSearch","session_guid","string"),h(t,"mx/connect/institutionSearch","query","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,query:t.query};case u.ConnectSelectedInstitution:return h(t,"mx/connect/selectedInstitution","user_guid","string"),h(t,"mx/connect/selectedInstitution","session_guid","string"),h(t,"mx/connect/selectedInstitution","code","string"),h(t,"mx/connect/selectedInstitution","guid","string"),h(t,"mx/connect/selectedInstitution","name","string"),h(t,"mx/connect/selectedInstitution","url","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,code:t.code,guid:t.guid,name:t.name,url:t.url};case u.ConnectMemberConnected:return h(t,"mx/connect/memberConnected","user_guid","string"),h(t,"mx/connect/memberConnected","session_guid","string"),h(t,"mx/connect/memberConnected","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case u.ConnectConnectedPrimaryAction:return h(t,"mx/connect/connected/primaryAction","user_guid","string"),h(t,"mx/connect/connected/primaryAction","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.ConnectMemberDeleted:return h(t,"mx/connect/memberDeleted","user_guid","string"),h(t,"mx/connect/memberDeleted","session_guid","string"),h(t,"mx/connect/memberDeleted","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case u.ConnectCreateMemberError:return h(t,"mx/connect/createMemberError","user_guid","string"),h(t,"mx/connect/createMemberError","session_guid","string"),h(t,"mx/connect/createMemberError","institution_guid","string"),h(t,"mx/connect/createMemberError","institution_code","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution_guid:t.institution_guid,institution_code:t.institution_code};case u.ConnectMemberStatusUpdate:return h(t,"mx/connect/memberStatusUpdate","user_guid","string"),h(t,"mx/connect/memberStatusUpdate","session_guid","string"),h(t,"mx/connect/memberStatusUpdate","member_guid","string"),h(t,"mx/connect/memberStatusUpdate","connection_status","number"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,connection_status:t.connection_status};case u.ConnectOAuthError:return h(t,"mx/connect/oauthError","user_guid","string"),h(t,"mx/connect/oauthError","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.ConnectOAuthRequested:return h(t,"mx/connect/oauthRequested","user_guid","string"),h(t,"mx/connect/oauthRequested","session_guid","string"),h(t,"mx/connect/oauthRequested","url","string"),h(t,"mx/connect/oauthRequested","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,url:t.url,member_guid:t.member_guid};case u.ConnectStepChange:return h(t,"mx/connect/stepChange","user_guid","string"),h(t,"mx/connect/stepChange","session_guid","string"),h(t,"mx/connect/stepChange","previous","string"),h(t,"mx/connect/stepChange","current","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,previous:t.previous,current:t.current};case u.ConnectSubmitMFA:return h(t,"mx/connect/submitMFA","user_guid","string"),h(t,"mx/connect/submitMFA","session_guid","string"),h(t,"mx/connect/submitMFA","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case u.ConnectUpdateCredentials:return h(t,"mx/connect/updateCredentials","user_guid","string"),h(t,"mx/connect/updateCredentials","session_guid","string"),h(t,"mx/connect/updateCredentials","member_guid","string"),h(t,"mx/connect/updateCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,institution:t.institution};case u.PulseOverdraftWarningCtaTransferFunds:return h(t,"mx/pulse/overdraftWarning/cta/transferFunds","account_guid","string"),h(t,"mx/pulse/overdraftWarning/cta/transferFunds","amount","number"),{type:e,account_guid:t.account_guid,amount:t.amount};case u.AccountCreated:return h(t,"mx/account/created","guid","string"),{type:e,guid:t.guid};default:throw new _(e)}}(n,e.metadata||{});return r}function f(e,t,n){if(t instanceof C)n.onInvalidMessageError?.(e,t);else{if(!(t instanceof _))throw t;n.onInvalidMessageError?.(e,t)}}function y(e,t){t.onMessage?.(e)}function w(e,t){try{y(e,t);!function(e,t){switch(e.type){case u.Load:t.onLoad?.(e);break;case u.Ping:t.onPing?.(e);break;case u.FocusTrap:t.onFocusTrap?.(e);break;case u.AccountCreated:t.onAccountCreated?.(e);break;default:throw new _(e.type)}}(x(e.data),t)}catch(n){f(e,n,t)}}function M(e,t){try{y(e,t);!function(e,t){switch(e.type){case u.Load:t.onLoad?.(e);break;case u.Ping:t.onPing?.(e);break;case u.FocusTrap:t.onFocusTrap?.(e);break;case u.AccountCreated:t.onAccountCreated?.(e);break;case u.ConnectLoaded:t.onLoaded?.(e);break;case u.ConnectEnterCredentials:t.onEnterCredentials?.(e);break;case u.ConnectInstitutionSearch:t.onInstitutionSearch?.(e);break;case u.ConnectSelectedInstitution:t.onSelectedInstitution?.(e);break;case u.ConnectMemberConnected:t.onMemberConnected?.(e);break;case u.ConnectConnectedPrimaryAction:t.onConnectedPrimaryAction?.(e);break;case u.ConnectMemberDeleted:t.onMemberDeleted?.(e);break;case u.ConnectCreateMemberError:t.onCreateMemberError?.(e);break;case u.ConnectMemberStatusUpdate:t.onMemberStatusUpdate?.(e);break;case u.ConnectOAuthError:t.onOAuthError?.(e);break;case u.ConnectOAuthRequested:t.onOAuthRequested?.(e);break;case u.ConnectStepChange:t.onStepChange?.(e);break;case u.ConnectSubmitMFA:t.onSubmitMFA?.(e);break;case u.ConnectUpdateCredentials:t.onUpdateCredentials?.(e);break;default:throw new _(e.type)}}(x(e.data),t)}catch(n){f(e,n,t)}}function A(e,t){try{y(e,t);!function(e,t){switch(e.type){case u.Load:t.onLoad?.(e);break;case u.Ping:t.onPing?.(e);break;case u.FocusTrap:t.onFocusTrap?.(e);break;case u.AccountCreated:t.onAccountCreated?.(e);break;case u.PulseOverdraftWarningCtaTransferFunds:t.onOverdraftWarningCtaTransferFunds?.(e);break;default:throw new _(e.type)}}(x(e.data),t)}catch(n){f(e,n,t)}}class W{constructor(e){if(this.options=e,this.iframe=document.createElement("iframe"),this.style=e.style||{border:"none",height:"100%",width:"100%"},this.messageCallback=e=>{e.data.mx&&this.dispatcher(e,this.options)},"string"==typeof e.widgetContainer){const t=document.querySelector(e.widgetContainer);if(!t)throw new Error(`Unable to find widget container. Ensure that an element matching a selector for '${this.options.widgetContainer}' is available in the DOM before you initialize the widget.`);this.widgetContainer=t}else{if(!(e.widgetContainer instanceof Element))throw new Error("Invalid or missing value for widgetContainer property, expecting a query selector string or a DOM Element.");this.widgetContainer=e.widgetContainer}this.setupIframe(),this.setupListener()}get widgetType(){if(this.options.widgetType)return this.options.widgetType;throw new Error("Missing value for widgetType property, expecting a string (eg. connect_widget).")}get dispatcher(){return w}unmount(){this.teardownListener(),this.teardownIframe()}setupIframe(){this.iframe.setAttribute("data-test-id","mx-widget-iframe"),function(e){if(function(e){return"url"in e&&"string"==typeof e.url}(e))return Promise.resolve(e.url);const t=e.ssoRequestBuilder||g,n=e.ssoRequestPreprocess||m,r=e.ssoRequestPostprocess||a,i=e.onSsoUrlLoadError||l,s=n(t(e));return fetch(s.url,s.options).then(p).then(r).catch(i)}(Object.assign(Object.assign({},this.options),{widgetType:this.widgetType})).then((e=>{e&&(this.iframe.src=e)})),Object.keys(this.style).forEach((e=>{this.iframe.style[e]=this.style[e]})),this.widgetContainer.appendChild(this.iframe)}teardownIframe(){this.widgetContainer.removeChild(this.iframe)}setupListener(){window.addEventListener("message",this.messageCallback,!1)}teardownListener(){window.removeEventListener("message",this.messageCallback,!1)}}exports.AccountsWidget=class extends W{get widgetType(){return c.AccountsWidget}},exports.BudgetsWidget=class extends W{get widgetType(){return c.BudgetsWidget}},exports.ConnectWidget=class extends W{get widgetType(){return c.ConnectWidget}get dispatcher(){return M}},exports.ConnectionsWidget=class extends W{get widgetType(){return c.ConnectionsWidget}},exports.DebtsWidget=class extends W{get widgetType(){return c.DebtsWidget}},exports.FinstrongWidget=class extends W{get widgetType(){return c.FinstrongWidget}},exports.GoalsWidget=class extends W{get widgetType(){return c.GoalsWidget}},exports.HelpWidget=class extends W{get widgetType(){return c.HelpWidget}},exports.MasterWidget=class extends W{get widgetType(){return c.MasterWidget}},exports.MiniBudgetsWidget=class extends W{get widgetType(){return c.MiniBudgetsWidget}},exports.MiniFinstrongWidget=class extends W{get widgetType(){return c.MiniFinstrongWidget}},exports.MiniPulseCarouselWidget=class extends W{get widgetType(){return c.MiniPulseCarouselWidget}get dispatcher(){return A}},exports.MiniSpendingWidget=class extends W{get widgetType(){return c.MiniSpendingWidget}},exports.PulseWidget=class extends W{get widgetType(){return c.PulseWidget}get dispatcher(){return A}},exports.SettingsWidget=class extends W{get widgetType(){return c.SettingsWidget}},exports.SpendingWidget=class extends W{get widgetType(){return c.SpendingWidget}},exports.TransactionsWidget=class extends W{get widgetType(){return c.TransactionsWidget}},exports.TrendsWidget=class extends W{get widgetType(){return c.TrendsWidget}};
"use strict";function e(e){return"clientId"in e&&"string"==typeof e.clientId&&"apiKey"in e&&"string"==typeof e.apiKey&&"userGuid"in e&&"string"==typeof e.userGuid&&"environment"in e&&"string"==typeof e.environment}Object.defineProperty(exports,"__esModule",{value:!0});class t extends Error{constructor(){super("Missing required widget props!\n\nComponent needs one of the following groups of props:\n\n - url\n\n - or -\n\n - proxy\n\n - or -\n\n - apiKey\n - clientId\n - environment\n - userGuid"),Object.setPrototypeOf(this,t.prototype)}}class n extends Error{constructor(e){super(`Request failed: ${e}`),this.statusCode=e,Object.setPrototypeOf(this,n.prototype)}}var r;!function(e){e.SAND="sand",e.QA="qa",e.INT="integration",e.PROD="production"}(r||(r={}));const i={[r.SAND]:r.SAND,[r.QA]:r.QA,[r.INT]:r.INT,[r.PROD]:r.PROD};const s={[r.SAND]:"https://api.sand.internal.mx",[r.QA]:"https://api.qa.internal.mx",[r.INT]:"https://int-api.mx.com",[r.PROD]:"https://api.mx.com"};function o(e){const t=function(e){const t=i[e];if(!t)throw new Error(`Invalid MX environment: ${e}`);return t}(e),n=s[t];if(!n)throw new Error(`Missing host for MX environment: ${e}`);return n}var c,u;function d(e){return{client_redirect_url:e.clientRedirectUrl,color_scheme:e.colorScheme,current_institution_code:e.currentInstitutionCode,current_institution_guid:e.currentInstitutionGuid,current_member_guid:e.currentMemberGuid,disable_institution_search:e.disableInstitutionSearch,include_transactions:e.includeTransactions,is_mobile_webview:e.isMobileWebview||!1,mode:e.mode,oauth_referral_source:e.oauthReferralSource,ui_message_version:e.uiMessageVersion||4,ui_message_webview_url_scheme:e.uiMessageWebviewUrlScheme,update_credentials:e.updateCredentials,wait_for_full_aggregation:e.waitForFullAggregation,widget_type:e.widgetType}}function a(e){return e.widget_url.url}function g(n){const r=function(n){if(function(e){return"proxy"in e&&"string"==typeof e.proxy}(n))return function(e){return e.proxy}(n);if(e(n))return function(e){const t=o(e.environment),n=e.userGuid;return`${t}/users/${n}/widget_urls`}(n);throw new t}(n),i=function(t){const n={Accept:"application/vnd.mx.api.v1+json","Content-Type":"application/json"};t.language&&(n["Accept-Language"]=t.language);if(e(t)){const{apiKey:e,clientId:r}=t,i=btoa(`${r}:${e}`);n.Authorization=`Basic ${i}`}const r="cors",i="POST",s=JSON.stringify({widget_url:d(t)});return{method:i,headers:n,body:s,mode:r}}(n);return{url:r,options:i}}function m(e){return e}function p(e){if(!e.ok)throw new n(e.status);return e.json()}function l(e){console.error(e)}!function(e){e.AccountsWidget="accounts_widget",e.BudgetsWidget="budgets_widget",e.ConnectWidget="connect_widget",e.ConnectionsWidget="connections_widget",e.DebtsWidget="debts_widget",e.FinstrongWidget="finstrong_widget",e.GoalsWidget="goals_widget",e.HelpWidget="help_widget",e.MasterWidget="master_widget",e.MiniBudgetsWidget="mini_budgets_widget",e.MiniFinstrongWidget="mini_finstrong_widget",e.MiniPulseCarouselWidget="mini_pulse_carousel_widget",e.MiniSpendingWidget="mini_spending_widget",e.PulseWidget="pulse_widget",e.SettingsWidget="settings_widget",e.SpendingWidget="spending_widget",e.TransactionsWidget="transactions_widget",e.TrendsWidget="trends_widget"}(c||(c={}));class C extends Error{messageType;field;expectedType;gotValue;constructor(e,t,n,r){super(`Unable to decode '${t}' from '${e}'`),this.messageType=e,this.field=t,this.expectedType=n,this.gotValue=r,Object.setPrototypeOf(this,C.prototype)}}class _ extends Error{postMessageType;constructor(e){super(`Unknown post message: ${e}`),this.postMessageType=e,Object.setPrototypeOf(this,_.prototype)}}function h(e,t,n,r){const i=e[n],s=void 0!==i,o="string"==typeof i,c="number"==typeof i,u="object"==typeof i&&!Array.isArray(i),d="string"===r,a="number"===r,g=r instanceof Array,m="object"==typeof r&&!Array.isArray(r);if(!s)throw new C(t,n,r,i);if(d&&!o)throw new C(t,n,r,i);if(a&&!c)throw new C(t,n,r,i);if(!(!g||o&&r.includes(i)))throw new C(t,n,r,i);if(m&&!u)throw new C(t,n,r,i);m&&u&&Object.keys(r).forEach((e=>{h(i,t,e,r[e])}))}!function(e){e.Load="mx/load",e.Ping="mx/ping",e.FocusTrap="mx/focusTrap",e.ConnectLoaded="mx/connect/loaded",e.ConnectEnterCredentials="mx/connect/enterCredentials",e.ConnectInstitutionSearch="mx/connect/institutionSearch",e.ConnectSelectedInstitution="mx/connect/selectedInstitution",e.ConnectMemberConnected="mx/connect/memberConnected",e.ConnectConnectedPrimaryAction="mx/connect/connected/primaryAction",e.ConnectMemberDeleted="mx/connect/memberDeleted",e.ConnectCreateMemberError="mx/connect/createMemberError",e.ConnectMemberStatusUpdate="mx/connect/memberStatusUpdate",e.ConnectOAuthError="mx/connect/oauthError",e.ConnectOAuthRequested="mx/connect/oauthRequested",e.ConnectStepChange="mx/connect/stepChange",e.ConnectSubmitMFA="mx/connect/submitMFA",e.ConnectUpdateCredentials="mx/connect/updateCredentials",e.PulseOverdraftWarningCtaTransferFunds="mx/pulse/overdraftWarning/cta/transferFunds",e.AccountCreated="mx/account/created"}(u||(u={}));const b={[u.Load]:u.Load,[u.Ping]:u.Ping,[u.FocusTrap]:u.FocusTrap,"mx/focustrap":u.FocusTrap,[u.ConnectLoaded]:u.ConnectLoaded,[u.ConnectEnterCredentials]:u.ConnectEnterCredentials,"mx/connect/entercredentials":u.ConnectEnterCredentials,[u.ConnectInstitutionSearch]:u.ConnectInstitutionSearch,"mx/connect/institutionsearch":u.ConnectInstitutionSearch,[u.ConnectSelectedInstitution]:u.ConnectSelectedInstitution,"mx/connect/selectedinstitution":u.ConnectSelectedInstitution,[u.ConnectMemberConnected]:u.ConnectMemberConnected,"mx/connect/memberconnected":u.ConnectMemberConnected,[u.ConnectConnectedPrimaryAction]:u.ConnectConnectedPrimaryAction,"mx/connect/connected/primaryaction":u.ConnectConnectedPrimaryAction,[u.ConnectMemberDeleted]:u.ConnectMemberDeleted,"mx/connect/memberdeleted":u.ConnectMemberDeleted,[u.ConnectCreateMemberError]:u.ConnectCreateMemberError,"mx/connect/createmembererror":u.ConnectCreateMemberError,[u.ConnectMemberStatusUpdate]:u.ConnectMemberStatusUpdate,"mx/connect/memberstatusupdate":u.ConnectMemberStatusUpdate,[u.ConnectOAuthError]:u.ConnectOAuthError,"mx/connect/oautherror":u.ConnectOAuthError,[u.ConnectOAuthRequested]:u.ConnectOAuthRequested,"mx/connect/oauthrequested":u.ConnectOAuthRequested,[u.ConnectStepChange]:u.ConnectStepChange,"mx/connect/stepchange":u.ConnectStepChange,[u.ConnectSubmitMFA]:u.ConnectSubmitMFA,"mx/connect/submitmfa":u.ConnectSubmitMFA,[u.ConnectUpdateCredentials]:u.ConnectUpdateCredentials,"mx/connect/updatecredentials":u.ConnectUpdateCredentials,[u.PulseOverdraftWarningCtaTransferFunds]:u.PulseOverdraftWarningCtaTransferFunds,"mx/pulse/overdraftwarning/cta/transferfunds":u.PulseOverdraftWarningCtaTransferFunds,[u.AccountCreated]:u.AccountCreated};function x(e){const t=e.type||"type not provided";let n;if(!t||!(t in b))throw new _(t);n=b[t];const r=function(e,t){switch(e){case u.Load:return{type:e};case u.Ping:return h(t,"mx/ping","user_guid","string"),h(t,"mx/ping","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.FocusTrap:return h(t,"mx/focusTrap","user_guid","string"),h(t,"mx/focusTrap","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.ConnectLoaded:return h(t,"mx/connect/loaded","user_guid","string"),h(t,"mx/connect/loaded","session_guid","string"),h(t,"mx/connect/loaded","initial_step",["search","selectMember","enterCreds","mfa","connected","loginError","disclosure"]),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,initial_step:t.initial_step};case u.ConnectEnterCredentials:return h(t,"mx/connect/enterCredentials","user_guid","string"),h(t,"mx/connect/enterCredentials","session_guid","string"),h(t,"mx/connect/enterCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution:t.institution};case u.ConnectInstitutionSearch:return h(t,"mx/connect/institutionSearch","user_guid","string"),h(t,"mx/connect/institutionSearch","session_guid","string"),h(t,"mx/connect/institutionSearch","query","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,query:t.query};case u.ConnectSelectedInstitution:return h(t,"mx/connect/selectedInstitution","user_guid","string"),h(t,"mx/connect/selectedInstitution","session_guid","string"),h(t,"mx/connect/selectedInstitution","code","string"),h(t,"mx/connect/selectedInstitution","guid","string"),h(t,"mx/connect/selectedInstitution","name","string"),h(t,"mx/connect/selectedInstitution","url","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,code:t.code,guid:t.guid,name:t.name,url:t.url};case u.ConnectMemberConnected:return h(t,"mx/connect/memberConnected","user_guid","string"),h(t,"mx/connect/memberConnected","session_guid","string"),h(t,"mx/connect/memberConnected","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case u.ConnectConnectedPrimaryAction:return h(t,"mx/connect/connected/primaryAction","user_guid","string"),h(t,"mx/connect/connected/primaryAction","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.ConnectMemberDeleted:return h(t,"mx/connect/memberDeleted","user_guid","string"),h(t,"mx/connect/memberDeleted","session_guid","string"),h(t,"mx/connect/memberDeleted","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case u.ConnectCreateMemberError:return h(t,"mx/connect/createMemberError","user_guid","string"),h(t,"mx/connect/createMemberError","session_guid","string"),h(t,"mx/connect/createMemberError","institution_guid","string"),h(t,"mx/connect/createMemberError","institution_code","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution_guid:t.institution_guid,institution_code:t.institution_code};case u.ConnectMemberStatusUpdate:return h(t,"mx/connect/memberStatusUpdate","user_guid","string"),h(t,"mx/connect/memberStatusUpdate","session_guid","string"),h(t,"mx/connect/memberStatusUpdate","member_guid","string"),h(t,"mx/connect/memberStatusUpdate","connection_status","number"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,connection_status:t.connection_status};case u.ConnectOAuthError:return h(t,"mx/connect/oauthError","user_guid","string"),h(t,"mx/connect/oauthError","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.ConnectOAuthRequested:return h(t,"mx/connect/oauthRequested","user_guid","string"),h(t,"mx/connect/oauthRequested","session_guid","string"),h(t,"mx/connect/oauthRequested","url","string"),h(t,"mx/connect/oauthRequested","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,url:t.url,member_guid:t.member_guid};case u.ConnectStepChange:return h(t,"mx/connect/stepChange","user_guid","string"),h(t,"mx/connect/stepChange","session_guid","string"),h(t,"mx/connect/stepChange","previous","string"),h(t,"mx/connect/stepChange","current","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,previous:t.previous,current:t.current};case u.ConnectSubmitMFA:return h(t,"mx/connect/submitMFA","user_guid","string"),h(t,"mx/connect/submitMFA","session_guid","string"),h(t,"mx/connect/submitMFA","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case u.ConnectUpdateCredentials:return h(t,"mx/connect/updateCredentials","user_guid","string"),h(t,"mx/connect/updateCredentials","session_guid","string"),h(t,"mx/connect/updateCredentials","member_guid","string"),h(t,"mx/connect/updateCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,institution:t.institution};case u.PulseOverdraftWarningCtaTransferFunds:return h(t,"mx/pulse/overdraftWarning/cta/transferFunds","account_guid","string"),h(t,"mx/pulse/overdraftWarning/cta/transferFunds","amount","number"),{type:e,account_guid:t.account_guid,amount:t.amount};case u.AccountCreated:return h(t,"mx/account/created","guid","string"),{type:e,guid:t.guid};default:throw new _(e)}}(n,e.metadata||{});return r}function f(e,t,n){if(t instanceof C)n.onInvalidMessageError?.(e,t);else{if(!(t instanceof _))throw t;n.onInvalidMessageError?.(e,t)}}function y(e,t){t.onMessage?.(e)}function w(e,t){try{y(e,t);!function(e,t){switch(e.type){case u.Load:t.onLoad?.(e);break;case u.Ping:t.onPing?.(e);break;case u.FocusTrap:t.onFocusTrap?.(e);break;case u.AccountCreated:t.onAccountCreated?.(e);break;default:throw new _(e.type)}}(x(e.data),t)}catch(n){f(e,n,t)}}function M(e,t){try{y(e,t);!function(e,t){switch(e.type){case u.Load:t.onLoad?.(e);break;case u.Ping:t.onPing?.(e);break;case u.FocusTrap:t.onFocusTrap?.(e);break;case u.AccountCreated:t.onAccountCreated?.(e);break;case u.ConnectLoaded:t.onLoaded?.(e);break;case u.ConnectEnterCredentials:t.onEnterCredentials?.(e);break;case u.ConnectInstitutionSearch:t.onInstitutionSearch?.(e);break;case u.ConnectSelectedInstitution:t.onSelectedInstitution?.(e);break;case u.ConnectMemberConnected:t.onMemberConnected?.(e);break;case u.ConnectConnectedPrimaryAction:t.onConnectedPrimaryAction?.(e);break;case u.ConnectMemberDeleted:t.onMemberDeleted?.(e);break;case u.ConnectCreateMemberError:t.onCreateMemberError?.(e);break;case u.ConnectMemberStatusUpdate:t.onMemberStatusUpdate?.(e);break;case u.ConnectOAuthError:t.onOAuthError?.(e);break;case u.ConnectOAuthRequested:t.onOAuthRequested?.(e);break;case u.ConnectStepChange:t.onStepChange?.(e);break;case u.ConnectSubmitMFA:t.onSubmitMFA?.(e);break;case u.ConnectUpdateCredentials:t.onUpdateCredentials?.(e);break;default:throw new _(e.type)}}(x(e.data),t)}catch(n){f(e,n,t)}}function W(e,t){try{y(e,t);!function(e,t){switch(e.type){case u.Load:t.onLoad?.(e);break;case u.Ping:t.onPing?.(e);break;case u.FocusTrap:t.onFocusTrap?.(e);break;case u.AccountCreated:t.onAccountCreated?.(e);break;case u.PulseOverdraftWarningCtaTransferFunds:t.onOverdraftWarningCtaTransferFunds?.(e);break;default:throw new _(e.type)}}(x(e.data),t)}catch(n){f(e,n,t)}}class A{constructor(e){if(this.options=e,this.iframe=document.createElement("iframe"),this.style=e.style||{border:"none",height:"100%",width:"100%"},this.messageCallback=e=>{e.data.mx&&this.dispatcher(e,this.options)},"string"==typeof e.widgetContainer){const t=document.querySelector(e.widgetContainer);if(!t)throw new Error(`Unable to find widget container. Ensure that an element matching a selector for '${this.options.widgetContainer}' is available in the DOM before you initialize the widget.`);this.widgetContainer=t}else{if(!(e.widgetContainer instanceof Element))throw new Error("Invalid or missing value for widgetContainer property, expecting a query selector string or a DOM Element.");this.widgetContainer=e.widgetContainer}this.setupIframe(),this.setupListener()}get widgetType(){if(this.options.widgetType)return this.options.widgetType;throw new Error("Missing value for widgetType property, expecting a string (eg. connect_widget).")}get dispatcher(){return w}unmount(){this.teardownListener(),this.teardownIframe()}setupIframe(){this.iframe.setAttribute("data-test-id","mx-widget-iframe"),function(e){if(function(e){return"url"in e&&"string"==typeof e.url}(e))return Promise.resolve(e.url);const t=e.ssoRequestBuilder||g,n=e.ssoRequestPreprocess||m,r=e.ssoRequestPostprocess||a,i=e.onSsoUrlLoadError||l,s=n(t(e));return fetch(s.url,s.options).then(p).then(r).catch(i)}(Object.assign(Object.assign({},this.options),{widgetType:this.widgetType})).then((e=>{e&&(this.iframe.src=e)})),Object.keys(this.style).forEach((e=>{this.iframe.style[e]=this.style[e]})),this.widgetContainer.appendChild(this.iframe)}teardownIframe(){this.widgetContainer.removeChild(this.iframe)}setupListener(){window.addEventListener("message",this.messageCallback,!1)}teardownListener(){window.removeEventListener("message",this.messageCallback,!1)}}exports.AccountsWidget=class extends A{get widgetType(){return c.AccountsWidget}},exports.BudgetsWidget=class extends A{get widgetType(){return c.BudgetsWidget}},exports.ConnectWidget=class extends A{get widgetType(){return c.ConnectWidget}get dispatcher(){return M}},exports.ConnectionsWidget=class extends A{get widgetType(){return c.ConnectionsWidget}},exports.DebtsWidget=class extends A{get widgetType(){return c.DebtsWidget}},exports.FinstrongWidget=class extends A{get widgetType(){return c.FinstrongWidget}},exports.GoalsWidget=class extends A{get widgetType(){return c.GoalsWidget}},exports.HelpWidget=class extends A{get widgetType(){return c.HelpWidget}},exports.MasterWidget=class extends A{get widgetType(){return c.MasterWidget}},exports.MiniBudgetsWidget=class extends A{get widgetType(){return c.MiniBudgetsWidget}},exports.MiniFinstrongWidget=class extends A{get widgetType(){return c.MiniFinstrongWidget}},exports.MiniPulseCarouselWidget=class extends A{get widgetType(){return c.MiniPulseCarouselWidget}get dispatcher(){return W}},exports.MiniSpendingWidget=class extends A{get widgetType(){return c.MiniSpendingWidget}},exports.PulseWidget=class extends A{get widgetType(){return c.PulseWidget}get dispatcher(){return W}},exports.SettingsWidget=class extends A{get widgetType(){return c.SettingsWidget}},exports.SpendingWidget=class extends A{get widgetType(){return c.SpendingWidget}},exports.TransactionsWidget=class extends A{get widgetType(){return c.TransactionsWidget}},exports.TrendsWidget=class extends A{get widgetType(){return c.TrendsWidget}},exports.Widget=A;

@@ -880,2 +880,2 @@ function isSsoUrlMethodUrl(props) {

export { AccountsWidget, BudgetsWidget, ConnectWidget, ConnectionsWidget, DebtsWidget, FinstrongWidget, GoalsWidget, HelpWidget, MasterWidget, MiniBudgetsWidget, MiniFinstrongWidget, MiniPulseCarouselWidget, MiniSpendingWidget, PulseWidget, SettingsWidget, SpendingWidget, TransactionsWidget, TrendsWidget };
export { AccountsWidget, BudgetsWidget, ConnectWidget, ConnectionsWidget, DebtsWidget, FinstrongWidget, GoalsWidget, HelpWidget, MasterWidget, MiniBudgetsWidget, MiniFinstrongWidget, MiniPulseCarouselWidget, MiniSpendingWidget, PulseWidget, SettingsWidget, SpendingWidget, TransactionsWidget, TrendsWidget, Widget };

@@ -1,1 +0,1 @@

function e(e){return"clientId"in e&&"string"==typeof e.clientId&&"apiKey"in e&&"string"==typeof e.apiKey&&"userGuid"in e&&"string"==typeof e.userGuid&&"environment"in e&&"string"==typeof e.environment}class t extends Error{constructor(){super("Missing required widget props!\n\nComponent needs one of the following groups of props:\n\n - url\n\n - or -\n\n - proxy\n\n - or -\n\n - apiKey\n - clientId\n - environment\n - userGuid"),Object.setPrototypeOf(this,t.prototype)}}class n extends Error{constructor(e){super(`Request failed: ${e}`),this.statusCode=e,Object.setPrototypeOf(this,n.prototype)}}var r;!function(e){e.SAND="sand",e.QA="qa",e.INT="integration",e.PROD="production"}(r||(r={}));const i={[r.SAND]:r.SAND,[r.QA]:r.QA,[r.INT]:r.INT,[r.PROD]:r.PROD};const s={[r.SAND]:"https://api.sand.internal.mx",[r.QA]:"https://api.qa.internal.mx",[r.INT]:"https://int-api.mx.com",[r.PROD]:"https://api.mx.com"};function o(e){const t=function(e){const t=i[e];if(!t)throw new Error(`Invalid MX environment: ${e}`);return t}(e),n=s[t];if(!n)throw new Error(`Missing host for MX environment: ${e}`);return n}var c,u;function d(e){return{client_redirect_url:e.clientRedirectUrl,color_scheme:e.colorScheme,current_institution_code:e.currentInstitutionCode,current_institution_guid:e.currentInstitutionGuid,current_member_guid:e.currentMemberGuid,disable_institution_search:e.disableInstitutionSearch,include_transactions:e.includeTransactions,is_mobile_webview:e.isMobileWebview||!1,mode:e.mode,oauth_referral_source:e.oauthReferralSource,ui_message_version:e.uiMessageVersion||4,ui_message_webview_url_scheme:e.uiMessageWebviewUrlScheme,update_credentials:e.updateCredentials,wait_for_full_aggregation:e.waitForFullAggregation,widget_type:e.widgetType}}function a(e){return e.widget_url.url}function g(n){const r=function(n){if(function(e){return"proxy"in e&&"string"==typeof e.proxy}(n))return function(e){return e.proxy}(n);if(e(n))return function(e){const t=o(e.environment),n=e.userGuid;return`${t}/users/${n}/widget_urls`}(n);throw new t}(n),i=function(t){const n={Accept:"application/vnd.mx.api.v1+json","Content-Type":"application/json"};t.language&&(n["Accept-Language"]=t.language);if(e(t)){const{apiKey:e,clientId:r}=t,i=btoa(`${r}:${e}`);n.Authorization=`Basic ${i}`}const r="cors",i="POST",s=JSON.stringify({widget_url:d(t)});return{method:i,headers:n,body:s,mode:r}}(n);return{url:r,options:i}}function m(e){return e}function p(e){if(!e.ok)throw new n(e.status);return e.json()}function l(e){console.error(e)}!function(e){e.AccountsWidget="accounts_widget",e.BudgetsWidget="budgets_widget",e.ConnectWidget="connect_widget",e.ConnectionsWidget="connections_widget",e.DebtsWidget="debts_widget",e.FinstrongWidget="finstrong_widget",e.GoalsWidget="goals_widget",e.HelpWidget="help_widget",e.MasterWidget="master_widget",e.MiniBudgetsWidget="mini_budgets_widget",e.MiniFinstrongWidget="mini_finstrong_widget",e.MiniPulseCarouselWidget="mini_pulse_carousel_widget",e.MiniSpendingWidget="mini_spending_widget",e.PulseWidget="pulse_widget",e.SettingsWidget="settings_widget",e.SpendingWidget="spending_widget",e.TransactionsWidget="transactions_widget",e.TrendsWidget="trends_widget"}(c||(c={}));class C extends Error{messageType;field;expectedType;gotValue;constructor(e,t,n,r){super(`Unable to decode '${t}' from '${e}'`),this.messageType=e,this.field=t,this.expectedType=n,this.gotValue=r,Object.setPrototypeOf(this,C.prototype)}}class _ extends Error{postMessageType;constructor(e){super(`Unknown post message: ${e}`),this.postMessageType=e,Object.setPrototypeOf(this,_.prototype)}}function h(e,t,n,r){const i=e[n],s=void 0!==i,o="string"==typeof i,c="number"==typeof i,u="object"==typeof i&&!Array.isArray(i),d="string"===r,a="number"===r,g=r instanceof Array,m="object"==typeof r&&!Array.isArray(r);if(!s)throw new C(t,n,r,i);if(d&&!o)throw new C(t,n,r,i);if(a&&!c)throw new C(t,n,r,i);if(!(!g||o&&r.includes(i)))throw new C(t,n,r,i);if(m&&!u)throw new C(t,n,r,i);m&&u&&Object.keys(r).forEach((e=>{h(i,t,e,r[e])}))}!function(e){e.Load="mx/load",e.Ping="mx/ping",e.FocusTrap="mx/focusTrap",e.ConnectLoaded="mx/connect/loaded",e.ConnectEnterCredentials="mx/connect/enterCredentials",e.ConnectInstitutionSearch="mx/connect/institutionSearch",e.ConnectSelectedInstitution="mx/connect/selectedInstitution",e.ConnectMemberConnected="mx/connect/memberConnected",e.ConnectConnectedPrimaryAction="mx/connect/connected/primaryAction",e.ConnectMemberDeleted="mx/connect/memberDeleted",e.ConnectCreateMemberError="mx/connect/createMemberError",e.ConnectMemberStatusUpdate="mx/connect/memberStatusUpdate",e.ConnectOAuthError="mx/connect/oauthError",e.ConnectOAuthRequested="mx/connect/oauthRequested",e.ConnectStepChange="mx/connect/stepChange",e.ConnectSubmitMFA="mx/connect/submitMFA",e.ConnectUpdateCredentials="mx/connect/updateCredentials",e.PulseOverdraftWarningCtaTransferFunds="mx/pulse/overdraftWarning/cta/transferFunds",e.AccountCreated="mx/account/created"}(u||(u={}));const b={[u.Load]:u.Load,[u.Ping]:u.Ping,[u.FocusTrap]:u.FocusTrap,"mx/focustrap":u.FocusTrap,[u.ConnectLoaded]:u.ConnectLoaded,[u.ConnectEnterCredentials]:u.ConnectEnterCredentials,"mx/connect/entercredentials":u.ConnectEnterCredentials,[u.ConnectInstitutionSearch]:u.ConnectInstitutionSearch,"mx/connect/institutionsearch":u.ConnectInstitutionSearch,[u.ConnectSelectedInstitution]:u.ConnectSelectedInstitution,"mx/connect/selectedinstitution":u.ConnectSelectedInstitution,[u.ConnectMemberConnected]:u.ConnectMemberConnected,"mx/connect/memberconnected":u.ConnectMemberConnected,[u.ConnectConnectedPrimaryAction]:u.ConnectConnectedPrimaryAction,"mx/connect/connected/primaryaction":u.ConnectConnectedPrimaryAction,[u.ConnectMemberDeleted]:u.ConnectMemberDeleted,"mx/connect/memberdeleted":u.ConnectMemberDeleted,[u.ConnectCreateMemberError]:u.ConnectCreateMemberError,"mx/connect/createmembererror":u.ConnectCreateMemberError,[u.ConnectMemberStatusUpdate]:u.ConnectMemberStatusUpdate,"mx/connect/memberstatusupdate":u.ConnectMemberStatusUpdate,[u.ConnectOAuthError]:u.ConnectOAuthError,"mx/connect/oautherror":u.ConnectOAuthError,[u.ConnectOAuthRequested]:u.ConnectOAuthRequested,"mx/connect/oauthrequested":u.ConnectOAuthRequested,[u.ConnectStepChange]:u.ConnectStepChange,"mx/connect/stepchange":u.ConnectStepChange,[u.ConnectSubmitMFA]:u.ConnectSubmitMFA,"mx/connect/submitmfa":u.ConnectSubmitMFA,[u.ConnectUpdateCredentials]:u.ConnectUpdateCredentials,"mx/connect/updatecredentials":u.ConnectUpdateCredentials,[u.PulseOverdraftWarningCtaTransferFunds]:u.PulseOverdraftWarningCtaTransferFunds,"mx/pulse/overdraftwarning/cta/transferfunds":u.PulseOverdraftWarningCtaTransferFunds,[u.AccountCreated]:u.AccountCreated};function f(e){const t=e.type||"type not provided";let n;if(!t||!(t in b))throw new _(t);n=b[t];const r=function(e,t){switch(e){case u.Load:return{type:e};case u.Ping:return h(t,"mx/ping","user_guid","string"),h(t,"mx/ping","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.FocusTrap:return h(t,"mx/focusTrap","user_guid","string"),h(t,"mx/focusTrap","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.ConnectLoaded:return h(t,"mx/connect/loaded","user_guid","string"),h(t,"mx/connect/loaded","session_guid","string"),h(t,"mx/connect/loaded","initial_step",["search","selectMember","enterCreds","mfa","connected","loginError","disclosure"]),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,initial_step:t.initial_step};case u.ConnectEnterCredentials:return h(t,"mx/connect/enterCredentials","user_guid","string"),h(t,"mx/connect/enterCredentials","session_guid","string"),h(t,"mx/connect/enterCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution:t.institution};case u.ConnectInstitutionSearch:return h(t,"mx/connect/institutionSearch","user_guid","string"),h(t,"mx/connect/institutionSearch","session_guid","string"),h(t,"mx/connect/institutionSearch","query","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,query:t.query};case u.ConnectSelectedInstitution:return h(t,"mx/connect/selectedInstitution","user_guid","string"),h(t,"mx/connect/selectedInstitution","session_guid","string"),h(t,"mx/connect/selectedInstitution","code","string"),h(t,"mx/connect/selectedInstitution","guid","string"),h(t,"mx/connect/selectedInstitution","name","string"),h(t,"mx/connect/selectedInstitution","url","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,code:t.code,guid:t.guid,name:t.name,url:t.url};case u.ConnectMemberConnected:return h(t,"mx/connect/memberConnected","user_guid","string"),h(t,"mx/connect/memberConnected","session_guid","string"),h(t,"mx/connect/memberConnected","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case u.ConnectConnectedPrimaryAction:return h(t,"mx/connect/connected/primaryAction","user_guid","string"),h(t,"mx/connect/connected/primaryAction","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.ConnectMemberDeleted:return h(t,"mx/connect/memberDeleted","user_guid","string"),h(t,"mx/connect/memberDeleted","session_guid","string"),h(t,"mx/connect/memberDeleted","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case u.ConnectCreateMemberError:return h(t,"mx/connect/createMemberError","user_guid","string"),h(t,"mx/connect/createMemberError","session_guid","string"),h(t,"mx/connect/createMemberError","institution_guid","string"),h(t,"mx/connect/createMemberError","institution_code","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution_guid:t.institution_guid,institution_code:t.institution_code};case u.ConnectMemberStatusUpdate:return h(t,"mx/connect/memberStatusUpdate","user_guid","string"),h(t,"mx/connect/memberStatusUpdate","session_guid","string"),h(t,"mx/connect/memberStatusUpdate","member_guid","string"),h(t,"mx/connect/memberStatusUpdate","connection_status","number"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,connection_status:t.connection_status};case u.ConnectOAuthError:return h(t,"mx/connect/oauthError","user_guid","string"),h(t,"mx/connect/oauthError","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.ConnectOAuthRequested:return h(t,"mx/connect/oauthRequested","user_guid","string"),h(t,"mx/connect/oauthRequested","session_guid","string"),h(t,"mx/connect/oauthRequested","url","string"),h(t,"mx/connect/oauthRequested","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,url:t.url,member_guid:t.member_guid};case u.ConnectStepChange:return h(t,"mx/connect/stepChange","user_guid","string"),h(t,"mx/connect/stepChange","session_guid","string"),h(t,"mx/connect/stepChange","previous","string"),h(t,"mx/connect/stepChange","current","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,previous:t.previous,current:t.current};case u.ConnectSubmitMFA:return h(t,"mx/connect/submitMFA","user_guid","string"),h(t,"mx/connect/submitMFA","session_guid","string"),h(t,"mx/connect/submitMFA","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case u.ConnectUpdateCredentials:return h(t,"mx/connect/updateCredentials","user_guid","string"),h(t,"mx/connect/updateCredentials","session_guid","string"),h(t,"mx/connect/updateCredentials","member_guid","string"),h(t,"mx/connect/updateCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,institution:t.institution};case u.PulseOverdraftWarningCtaTransferFunds:return h(t,"mx/pulse/overdraftWarning/cta/transferFunds","account_guid","string"),h(t,"mx/pulse/overdraftWarning/cta/transferFunds","amount","number"),{type:e,account_guid:t.account_guid,amount:t.amount};case u.AccountCreated:return h(t,"mx/account/created","guid","string"),{type:e,guid:t.guid};default:throw new _(e)}}(n,e.metadata||{});return r}function x(e,t,n){if(t instanceof C)n.onInvalidMessageError?.(e,t);else{if(!(t instanceof _))throw t;n.onInvalidMessageError?.(e,t)}}function y(e,t){t.onMessage?.(e)}function w(e,t){try{y(e,t);!function(e,t){switch(e.type){case u.Load:t.onLoad?.(e);break;case u.Ping:t.onPing?.(e);break;case u.FocusTrap:t.onFocusTrap?.(e);break;case u.AccountCreated:t.onAccountCreated?.(e);break;default:throw new _(e.type)}}(f(e.data),t)}catch(n){x(e,n,t)}}function M(e,t){try{y(e,t);!function(e,t){switch(e.type){case u.Load:t.onLoad?.(e);break;case u.Ping:t.onPing?.(e);break;case u.FocusTrap:t.onFocusTrap?.(e);break;case u.AccountCreated:t.onAccountCreated?.(e);break;case u.ConnectLoaded:t.onLoaded?.(e);break;case u.ConnectEnterCredentials:t.onEnterCredentials?.(e);break;case u.ConnectInstitutionSearch:t.onInstitutionSearch?.(e);break;case u.ConnectSelectedInstitution:t.onSelectedInstitution?.(e);break;case u.ConnectMemberConnected:t.onMemberConnected?.(e);break;case u.ConnectConnectedPrimaryAction:t.onConnectedPrimaryAction?.(e);break;case u.ConnectMemberDeleted:t.onMemberDeleted?.(e);break;case u.ConnectCreateMemberError:t.onCreateMemberError?.(e);break;case u.ConnectMemberStatusUpdate:t.onMemberStatusUpdate?.(e);break;case u.ConnectOAuthError:t.onOAuthError?.(e);break;case u.ConnectOAuthRequested:t.onOAuthRequested?.(e);break;case u.ConnectStepChange:t.onStepChange?.(e);break;case u.ConnectSubmitMFA:t.onSubmitMFA?.(e);break;case u.ConnectUpdateCredentials:t.onUpdateCredentials?.(e);break;default:throw new _(e.type)}}(f(e.data),t)}catch(n){x(e,n,t)}}function A(e,t){try{y(e,t);!function(e,t){switch(e.type){case u.Load:t.onLoad?.(e);break;case u.Ping:t.onPing?.(e);break;case u.FocusTrap:t.onFocusTrap?.(e);break;case u.AccountCreated:t.onAccountCreated?.(e);break;case u.PulseOverdraftWarningCtaTransferFunds:t.onOverdraftWarningCtaTransferFunds?.(e);break;default:throw new _(e.type)}}(f(e.data),t)}catch(n){x(e,n,t)}}class T{constructor(e){if(this.options=e,this.iframe=document.createElement("iframe"),this.style=e.style||{border:"none",height:"100%",width:"100%"},this.messageCallback=e=>{e.data.mx&&this.dispatcher(e,this.options)},"string"==typeof e.widgetContainer){const t=document.querySelector(e.widgetContainer);if(!t)throw new Error(`Unable to find widget container. Ensure that an element matching a selector for '${this.options.widgetContainer}' is available in the DOM before you initialize the widget.`);this.widgetContainer=t}else{if(!(e.widgetContainer instanceof Element))throw new Error("Invalid or missing value for widgetContainer property, expecting a query selector string or a DOM Element.");this.widgetContainer=e.widgetContainer}this.setupIframe(),this.setupListener()}get widgetType(){if(this.options.widgetType)return this.options.widgetType;throw new Error("Missing value for widgetType property, expecting a string (eg. connect_widget).")}get dispatcher(){return w}unmount(){this.teardownListener(),this.teardownIframe()}setupIframe(){this.iframe.setAttribute("data-test-id","mx-widget-iframe"),function(e){if(function(e){return"url"in e&&"string"==typeof e.url}(e))return Promise.resolve(e.url);const t=e.ssoRequestBuilder||g,n=e.ssoRequestPreprocess||m,r=e.ssoRequestPostprocess||a,i=e.onSsoUrlLoadError||l,s=n(t(e));return fetch(s.url,s.options).then(p).then(r).catch(i)}(Object.assign(Object.assign({},this.options),{widgetType:this.widgetType})).then((e=>{e&&(this.iframe.src=e)})),Object.keys(this.style).forEach((e=>{this.iframe.style[e]=this.style[e]})),this.widgetContainer.appendChild(this.iframe)}teardownIframe(){this.widgetContainer.removeChild(this.iframe)}setupListener(){window.addEventListener("message",this.messageCallback,!1)}teardownListener(){window.removeEventListener("message",this.messageCallback,!1)}}class S extends T{get widgetType(){return c.AccountsWidget}}class E extends T{get widgetType(){return c.BudgetsWidget}}class W extends T{get widgetType(){return c.ConnectWidget}get dispatcher(){return M}}class v extends T{get widgetType(){return c.ConnectionsWidget}}class O extends T{get widgetType(){return c.DebtsWidget}}class I extends T{get widgetType(){return c.FinstrongWidget}}class P extends T{get widgetType(){return c.GoalsWidget}}class F extends T{get widgetType(){return c.HelpWidget}}class k extends T{get widgetType(){return c.MasterWidget}}class q extends T{get widgetType(){return c.MiniBudgetsWidget}}class U extends T{get widgetType(){return c.MiniFinstrongWidget}}class L extends T{get widgetType(){return c.MiniPulseCarouselWidget}get dispatcher(){return A}}class D extends T{get widgetType(){return c.MiniSpendingWidget}}class R extends T{get widgetType(){return c.PulseWidget}get dispatcher(){return A}}class j extends T{get widgetType(){return c.SettingsWidget}}class $ extends T{get widgetType(){return c.SpendingWidget}}class N extends T{get widgetType(){return c.TransactionsWidget}}class G extends T{get widgetType(){return c.TrendsWidget}}export{S as AccountsWidget,E as BudgetsWidget,W as ConnectWidget,v as ConnectionsWidget,O as DebtsWidget,I as FinstrongWidget,P as GoalsWidget,F as HelpWidget,k as MasterWidget,q as MiniBudgetsWidget,U as MiniFinstrongWidget,L as MiniPulseCarouselWidget,D as MiniSpendingWidget,R as PulseWidget,j as SettingsWidget,$ as SpendingWidget,N as TransactionsWidget,G as TrendsWidget};
function e(e){return"clientId"in e&&"string"==typeof e.clientId&&"apiKey"in e&&"string"==typeof e.apiKey&&"userGuid"in e&&"string"==typeof e.userGuid&&"environment"in e&&"string"==typeof e.environment}class t extends Error{constructor(){super("Missing required widget props!\n\nComponent needs one of the following groups of props:\n\n - url\n\n - or -\n\n - proxy\n\n - or -\n\n - apiKey\n - clientId\n - environment\n - userGuid"),Object.setPrototypeOf(this,t.prototype)}}class n extends Error{constructor(e){super(`Request failed: ${e}`),this.statusCode=e,Object.setPrototypeOf(this,n.prototype)}}var r;!function(e){e.SAND="sand",e.QA="qa",e.INT="integration",e.PROD="production"}(r||(r={}));const i={[r.SAND]:r.SAND,[r.QA]:r.QA,[r.INT]:r.INT,[r.PROD]:r.PROD};const s={[r.SAND]:"https://api.sand.internal.mx",[r.QA]:"https://api.qa.internal.mx",[r.INT]:"https://int-api.mx.com",[r.PROD]:"https://api.mx.com"};function o(e){const t=function(e){const t=i[e];if(!t)throw new Error(`Invalid MX environment: ${e}`);return t}(e),n=s[t];if(!n)throw new Error(`Missing host for MX environment: ${e}`);return n}var c,u;function d(e){return{client_redirect_url:e.clientRedirectUrl,color_scheme:e.colorScheme,current_institution_code:e.currentInstitutionCode,current_institution_guid:e.currentInstitutionGuid,current_member_guid:e.currentMemberGuid,disable_institution_search:e.disableInstitutionSearch,include_transactions:e.includeTransactions,is_mobile_webview:e.isMobileWebview||!1,mode:e.mode,oauth_referral_source:e.oauthReferralSource,ui_message_version:e.uiMessageVersion||4,ui_message_webview_url_scheme:e.uiMessageWebviewUrlScheme,update_credentials:e.updateCredentials,wait_for_full_aggregation:e.waitForFullAggregation,widget_type:e.widgetType}}function a(e){return e.widget_url.url}function g(n){const r=function(n){if(function(e){return"proxy"in e&&"string"==typeof e.proxy}(n))return function(e){return e.proxy}(n);if(e(n))return function(e){const t=o(e.environment),n=e.userGuid;return`${t}/users/${n}/widget_urls`}(n);throw new t}(n),i=function(t){const n={Accept:"application/vnd.mx.api.v1+json","Content-Type":"application/json"};t.language&&(n["Accept-Language"]=t.language);if(e(t)){const{apiKey:e,clientId:r}=t,i=btoa(`${r}:${e}`);n.Authorization=`Basic ${i}`}const r="cors",i="POST",s=JSON.stringify({widget_url:d(t)});return{method:i,headers:n,body:s,mode:r}}(n);return{url:r,options:i}}function m(e){return e}function p(e){if(!e.ok)throw new n(e.status);return e.json()}function l(e){console.error(e)}!function(e){e.AccountsWidget="accounts_widget",e.BudgetsWidget="budgets_widget",e.ConnectWidget="connect_widget",e.ConnectionsWidget="connections_widget",e.DebtsWidget="debts_widget",e.FinstrongWidget="finstrong_widget",e.GoalsWidget="goals_widget",e.HelpWidget="help_widget",e.MasterWidget="master_widget",e.MiniBudgetsWidget="mini_budgets_widget",e.MiniFinstrongWidget="mini_finstrong_widget",e.MiniPulseCarouselWidget="mini_pulse_carousel_widget",e.MiniSpendingWidget="mini_spending_widget",e.PulseWidget="pulse_widget",e.SettingsWidget="settings_widget",e.SpendingWidget="spending_widget",e.TransactionsWidget="transactions_widget",e.TrendsWidget="trends_widget"}(c||(c={}));class C extends Error{messageType;field;expectedType;gotValue;constructor(e,t,n,r){super(`Unable to decode '${t}' from '${e}'`),this.messageType=e,this.field=t,this.expectedType=n,this.gotValue=r,Object.setPrototypeOf(this,C.prototype)}}class _ extends Error{postMessageType;constructor(e){super(`Unknown post message: ${e}`),this.postMessageType=e,Object.setPrototypeOf(this,_.prototype)}}function h(e,t,n,r){const i=e[n],s=void 0!==i,o="string"==typeof i,c="number"==typeof i,u="object"==typeof i&&!Array.isArray(i),d="string"===r,a="number"===r,g=r instanceof Array,m="object"==typeof r&&!Array.isArray(r);if(!s)throw new C(t,n,r,i);if(d&&!o)throw new C(t,n,r,i);if(a&&!c)throw new C(t,n,r,i);if(!(!g||o&&r.includes(i)))throw new C(t,n,r,i);if(m&&!u)throw new C(t,n,r,i);m&&u&&Object.keys(r).forEach((e=>{h(i,t,e,r[e])}))}!function(e){e.Load="mx/load",e.Ping="mx/ping",e.FocusTrap="mx/focusTrap",e.ConnectLoaded="mx/connect/loaded",e.ConnectEnterCredentials="mx/connect/enterCredentials",e.ConnectInstitutionSearch="mx/connect/institutionSearch",e.ConnectSelectedInstitution="mx/connect/selectedInstitution",e.ConnectMemberConnected="mx/connect/memberConnected",e.ConnectConnectedPrimaryAction="mx/connect/connected/primaryAction",e.ConnectMemberDeleted="mx/connect/memberDeleted",e.ConnectCreateMemberError="mx/connect/createMemberError",e.ConnectMemberStatusUpdate="mx/connect/memberStatusUpdate",e.ConnectOAuthError="mx/connect/oauthError",e.ConnectOAuthRequested="mx/connect/oauthRequested",e.ConnectStepChange="mx/connect/stepChange",e.ConnectSubmitMFA="mx/connect/submitMFA",e.ConnectUpdateCredentials="mx/connect/updateCredentials",e.PulseOverdraftWarningCtaTransferFunds="mx/pulse/overdraftWarning/cta/transferFunds",e.AccountCreated="mx/account/created"}(u||(u={}));const b={[u.Load]:u.Load,[u.Ping]:u.Ping,[u.FocusTrap]:u.FocusTrap,"mx/focustrap":u.FocusTrap,[u.ConnectLoaded]:u.ConnectLoaded,[u.ConnectEnterCredentials]:u.ConnectEnterCredentials,"mx/connect/entercredentials":u.ConnectEnterCredentials,[u.ConnectInstitutionSearch]:u.ConnectInstitutionSearch,"mx/connect/institutionsearch":u.ConnectInstitutionSearch,[u.ConnectSelectedInstitution]:u.ConnectSelectedInstitution,"mx/connect/selectedinstitution":u.ConnectSelectedInstitution,[u.ConnectMemberConnected]:u.ConnectMemberConnected,"mx/connect/memberconnected":u.ConnectMemberConnected,[u.ConnectConnectedPrimaryAction]:u.ConnectConnectedPrimaryAction,"mx/connect/connected/primaryaction":u.ConnectConnectedPrimaryAction,[u.ConnectMemberDeleted]:u.ConnectMemberDeleted,"mx/connect/memberdeleted":u.ConnectMemberDeleted,[u.ConnectCreateMemberError]:u.ConnectCreateMemberError,"mx/connect/createmembererror":u.ConnectCreateMemberError,[u.ConnectMemberStatusUpdate]:u.ConnectMemberStatusUpdate,"mx/connect/memberstatusupdate":u.ConnectMemberStatusUpdate,[u.ConnectOAuthError]:u.ConnectOAuthError,"mx/connect/oautherror":u.ConnectOAuthError,[u.ConnectOAuthRequested]:u.ConnectOAuthRequested,"mx/connect/oauthrequested":u.ConnectOAuthRequested,[u.ConnectStepChange]:u.ConnectStepChange,"mx/connect/stepchange":u.ConnectStepChange,[u.ConnectSubmitMFA]:u.ConnectSubmitMFA,"mx/connect/submitmfa":u.ConnectSubmitMFA,[u.ConnectUpdateCredentials]:u.ConnectUpdateCredentials,"mx/connect/updatecredentials":u.ConnectUpdateCredentials,[u.PulseOverdraftWarningCtaTransferFunds]:u.PulseOverdraftWarningCtaTransferFunds,"mx/pulse/overdraftwarning/cta/transferfunds":u.PulseOverdraftWarningCtaTransferFunds,[u.AccountCreated]:u.AccountCreated};function f(e){const t=e.type||"type not provided";let n;if(!t||!(t in b))throw new _(t);n=b[t];const r=function(e,t){switch(e){case u.Load:return{type:e};case u.Ping:return h(t,"mx/ping","user_guid","string"),h(t,"mx/ping","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.FocusTrap:return h(t,"mx/focusTrap","user_guid","string"),h(t,"mx/focusTrap","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.ConnectLoaded:return h(t,"mx/connect/loaded","user_guid","string"),h(t,"mx/connect/loaded","session_guid","string"),h(t,"mx/connect/loaded","initial_step",["search","selectMember","enterCreds","mfa","connected","loginError","disclosure"]),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,initial_step:t.initial_step};case u.ConnectEnterCredentials:return h(t,"mx/connect/enterCredentials","user_guid","string"),h(t,"mx/connect/enterCredentials","session_guid","string"),h(t,"mx/connect/enterCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution:t.institution};case u.ConnectInstitutionSearch:return h(t,"mx/connect/institutionSearch","user_guid","string"),h(t,"mx/connect/institutionSearch","session_guid","string"),h(t,"mx/connect/institutionSearch","query","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,query:t.query};case u.ConnectSelectedInstitution:return h(t,"mx/connect/selectedInstitution","user_guid","string"),h(t,"mx/connect/selectedInstitution","session_guid","string"),h(t,"mx/connect/selectedInstitution","code","string"),h(t,"mx/connect/selectedInstitution","guid","string"),h(t,"mx/connect/selectedInstitution","name","string"),h(t,"mx/connect/selectedInstitution","url","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,code:t.code,guid:t.guid,name:t.name,url:t.url};case u.ConnectMemberConnected:return h(t,"mx/connect/memberConnected","user_guid","string"),h(t,"mx/connect/memberConnected","session_guid","string"),h(t,"mx/connect/memberConnected","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case u.ConnectConnectedPrimaryAction:return h(t,"mx/connect/connected/primaryAction","user_guid","string"),h(t,"mx/connect/connected/primaryAction","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.ConnectMemberDeleted:return h(t,"mx/connect/memberDeleted","user_guid","string"),h(t,"mx/connect/memberDeleted","session_guid","string"),h(t,"mx/connect/memberDeleted","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case u.ConnectCreateMemberError:return h(t,"mx/connect/createMemberError","user_guid","string"),h(t,"mx/connect/createMemberError","session_guid","string"),h(t,"mx/connect/createMemberError","institution_guid","string"),h(t,"mx/connect/createMemberError","institution_code","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution_guid:t.institution_guid,institution_code:t.institution_code};case u.ConnectMemberStatusUpdate:return h(t,"mx/connect/memberStatusUpdate","user_guid","string"),h(t,"mx/connect/memberStatusUpdate","session_guid","string"),h(t,"mx/connect/memberStatusUpdate","member_guid","string"),h(t,"mx/connect/memberStatusUpdate","connection_status","number"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,connection_status:t.connection_status};case u.ConnectOAuthError:return h(t,"mx/connect/oauthError","user_guid","string"),h(t,"mx/connect/oauthError","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case u.ConnectOAuthRequested:return h(t,"mx/connect/oauthRequested","user_guid","string"),h(t,"mx/connect/oauthRequested","session_guid","string"),h(t,"mx/connect/oauthRequested","url","string"),h(t,"mx/connect/oauthRequested","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,url:t.url,member_guid:t.member_guid};case u.ConnectStepChange:return h(t,"mx/connect/stepChange","user_guid","string"),h(t,"mx/connect/stepChange","session_guid","string"),h(t,"mx/connect/stepChange","previous","string"),h(t,"mx/connect/stepChange","current","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,previous:t.previous,current:t.current};case u.ConnectSubmitMFA:return h(t,"mx/connect/submitMFA","user_guid","string"),h(t,"mx/connect/submitMFA","session_guid","string"),h(t,"mx/connect/submitMFA","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case u.ConnectUpdateCredentials:return h(t,"mx/connect/updateCredentials","user_guid","string"),h(t,"mx/connect/updateCredentials","session_guid","string"),h(t,"mx/connect/updateCredentials","member_guid","string"),h(t,"mx/connect/updateCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,institution:t.institution};case u.PulseOverdraftWarningCtaTransferFunds:return h(t,"mx/pulse/overdraftWarning/cta/transferFunds","account_guid","string"),h(t,"mx/pulse/overdraftWarning/cta/transferFunds","amount","number"),{type:e,account_guid:t.account_guid,amount:t.amount};case u.AccountCreated:return h(t,"mx/account/created","guid","string"),{type:e,guid:t.guid};default:throw new _(e)}}(n,e.metadata||{});return r}function x(e,t,n){if(t instanceof C)n.onInvalidMessageError?.(e,t);else{if(!(t instanceof _))throw t;n.onInvalidMessageError?.(e,t)}}function y(e,t){t.onMessage?.(e)}function w(e,t){try{y(e,t);!function(e,t){switch(e.type){case u.Load:t.onLoad?.(e);break;case u.Ping:t.onPing?.(e);break;case u.FocusTrap:t.onFocusTrap?.(e);break;case u.AccountCreated:t.onAccountCreated?.(e);break;default:throw new _(e.type)}}(f(e.data),t)}catch(n){x(e,n,t)}}function M(e,t){try{y(e,t);!function(e,t){switch(e.type){case u.Load:t.onLoad?.(e);break;case u.Ping:t.onPing?.(e);break;case u.FocusTrap:t.onFocusTrap?.(e);break;case u.AccountCreated:t.onAccountCreated?.(e);break;case u.ConnectLoaded:t.onLoaded?.(e);break;case u.ConnectEnterCredentials:t.onEnterCredentials?.(e);break;case u.ConnectInstitutionSearch:t.onInstitutionSearch?.(e);break;case u.ConnectSelectedInstitution:t.onSelectedInstitution?.(e);break;case u.ConnectMemberConnected:t.onMemberConnected?.(e);break;case u.ConnectConnectedPrimaryAction:t.onConnectedPrimaryAction?.(e);break;case u.ConnectMemberDeleted:t.onMemberDeleted?.(e);break;case u.ConnectCreateMemberError:t.onCreateMemberError?.(e);break;case u.ConnectMemberStatusUpdate:t.onMemberStatusUpdate?.(e);break;case u.ConnectOAuthError:t.onOAuthError?.(e);break;case u.ConnectOAuthRequested:t.onOAuthRequested?.(e);break;case u.ConnectStepChange:t.onStepChange?.(e);break;case u.ConnectSubmitMFA:t.onSubmitMFA?.(e);break;case u.ConnectUpdateCredentials:t.onUpdateCredentials?.(e);break;default:throw new _(e.type)}}(f(e.data),t)}catch(n){x(e,n,t)}}function A(e,t){try{y(e,t);!function(e,t){switch(e.type){case u.Load:t.onLoad?.(e);break;case u.Ping:t.onPing?.(e);break;case u.FocusTrap:t.onFocusTrap?.(e);break;case u.AccountCreated:t.onAccountCreated?.(e);break;case u.PulseOverdraftWarningCtaTransferFunds:t.onOverdraftWarningCtaTransferFunds?.(e);break;default:throw new _(e.type)}}(f(e.data),t)}catch(n){x(e,n,t)}}class T{constructor(e){if(this.options=e,this.iframe=document.createElement("iframe"),this.style=e.style||{border:"none",height:"100%",width:"100%"},this.messageCallback=e=>{e.data.mx&&this.dispatcher(e,this.options)},"string"==typeof e.widgetContainer){const t=document.querySelector(e.widgetContainer);if(!t)throw new Error(`Unable to find widget container. Ensure that an element matching a selector for '${this.options.widgetContainer}' is available in the DOM before you initialize the widget.`);this.widgetContainer=t}else{if(!(e.widgetContainer instanceof Element))throw new Error("Invalid or missing value for widgetContainer property, expecting a query selector string or a DOM Element.");this.widgetContainer=e.widgetContainer}this.setupIframe(),this.setupListener()}get widgetType(){if(this.options.widgetType)return this.options.widgetType;throw new Error("Missing value for widgetType property, expecting a string (eg. connect_widget).")}get dispatcher(){return w}unmount(){this.teardownListener(),this.teardownIframe()}setupIframe(){this.iframe.setAttribute("data-test-id","mx-widget-iframe"),function(e){if(function(e){return"url"in e&&"string"==typeof e.url}(e))return Promise.resolve(e.url);const t=e.ssoRequestBuilder||g,n=e.ssoRequestPreprocess||m,r=e.ssoRequestPostprocess||a,i=e.onSsoUrlLoadError||l,s=n(t(e));return fetch(s.url,s.options).then(p).then(r).catch(i)}(Object.assign(Object.assign({},this.options),{widgetType:this.widgetType})).then((e=>{e&&(this.iframe.src=e)})),Object.keys(this.style).forEach((e=>{this.iframe.style[e]=this.style[e]})),this.widgetContainer.appendChild(this.iframe)}teardownIframe(){this.widgetContainer.removeChild(this.iframe)}setupListener(){window.addEventListener("message",this.messageCallback,!1)}teardownListener(){window.removeEventListener("message",this.messageCallback,!1)}}class S extends T{get widgetType(){return c.AccountsWidget}}class E extends T{get widgetType(){return c.BudgetsWidget}}class W extends T{get widgetType(){return c.ConnectWidget}get dispatcher(){return M}}class v extends T{get widgetType(){return c.ConnectionsWidget}}class O extends T{get widgetType(){return c.DebtsWidget}}class I extends T{get widgetType(){return c.FinstrongWidget}}class P extends T{get widgetType(){return c.GoalsWidget}}class F extends T{get widgetType(){return c.HelpWidget}}class k extends T{get widgetType(){return c.MasterWidget}}class q extends T{get widgetType(){return c.MiniBudgetsWidget}}class U extends T{get widgetType(){return c.MiniFinstrongWidget}}class L extends T{get widgetType(){return c.MiniPulseCarouselWidget}get dispatcher(){return A}}class D extends T{get widgetType(){return c.MiniSpendingWidget}}class R extends T{get widgetType(){return c.PulseWidget}get dispatcher(){return A}}class j extends T{get widgetType(){return c.SettingsWidget}}class $ extends T{get widgetType(){return c.SpendingWidget}}class N extends T{get widgetType(){return c.TransactionsWidget}}class G extends T{get widgetType(){return c.TrendsWidget}}export{S as AccountsWidget,E as BudgetsWidget,W as ConnectWidget,v as ConnectionsWidget,O as DebtsWidget,I as FinstrongWidget,P as GoalsWidget,F as HelpWidget,k as MasterWidget,q as MiniBudgetsWidget,U as MiniFinstrongWidget,L as MiniPulseCarouselWidget,D as MiniSpendingWidget,R as PulseWidget,j as SettingsWidget,$ as SpendingWidget,N as TransactionsWidget,G as TrendsWidget,T as Widget};

@@ -904,2 +904,3 @@ (function (global, factory) {

exports.TrendsWidget = TrendsWidget;
exports.Widget = Widget;

@@ -906,0 +907,0 @@ Object.defineProperty(exports, '__esModule', { value: true });

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).widgetSdk={})}(this,(function(e){"use strict";function t(e){return"clientId"in e&&"string"==typeof e.clientId&&"apiKey"in e&&"string"==typeof e.apiKey&&"userGuid"in e&&"string"==typeof e.userGuid&&"environment"in e&&"string"==typeof e.environment}class n extends Error{constructor(){super("Missing required widget props!\n\nComponent needs one of the following groups of props:\n\n - url\n\n - or -\n\n - proxy\n\n - or -\n\n - apiKey\n - clientId\n - environment\n - userGuid"),Object.setPrototypeOf(this,n.prototype)}}class i extends Error{constructor(e){super(`Request failed: ${e}`),this.statusCode=e,Object.setPrototypeOf(this,i.prototype)}}var r;!function(e){e.SAND="sand",e.QA="qa",e.INT="integration",e.PROD="production"}(r||(r={}));const s={[r.SAND]:r.SAND,[r.QA]:r.QA,[r.INT]:r.INT,[r.PROD]:r.PROD};const o={[r.SAND]:"https://api.sand.internal.mx",[r.QA]:"https://api.qa.internal.mx",[r.INT]:"https://int-api.mx.com",[r.PROD]:"https://api.mx.com"};function c(e){const t=function(e){const t=s[e];if(!t)throw new Error(`Invalid MX environment: ${e}`);return t}(e),n=o[t];if(!n)throw new Error(`Missing host for MX environment: ${e}`);return n}var u,d;function a(e){return{client_redirect_url:e.clientRedirectUrl,color_scheme:e.colorScheme,current_institution_code:e.currentInstitutionCode,current_institution_guid:e.currentInstitutionGuid,current_member_guid:e.currentMemberGuid,disable_institution_search:e.disableInstitutionSearch,include_transactions:e.includeTransactions,is_mobile_webview:e.isMobileWebview||!1,mode:e.mode,oauth_referral_source:e.oauthReferralSource,ui_message_version:e.uiMessageVersion||4,ui_message_webview_url_scheme:e.uiMessageWebviewUrlScheme,update_credentials:e.updateCredentials,wait_for_full_aggregation:e.waitForFullAggregation,widget_type:e.widgetType}}function g(e){return e.widget_url.url}function m(e){const i=function(e){if(function(e){return"proxy"in e&&"string"==typeof e.proxy}(e))return function(e){return e.proxy}(e);if(t(e))return function(e){const t=c(e.environment),n=e.userGuid;return`${t}/users/${n}/widget_urls`}(e);throw new n}(e),r=function(e){const n={Accept:"application/vnd.mx.api.v1+json","Content-Type":"application/json"};e.language&&(n["Accept-Language"]=e.language);if(t(e)){const{apiKey:t,clientId:i}=e,r=btoa(`${i}:${t}`);n.Authorization=`Basic ${r}`}const i="cors",r="POST",s=JSON.stringify({widget_url:a(e)});return{method:r,headers:n,body:s,mode:i}}(e);return{url:i,options:r}}function p(e){return e}function l(e){if(!e.ok)throw new i(e.status);return e.json()}function C(e){console.error(e)}!function(e){e.AccountsWidget="accounts_widget",e.BudgetsWidget="budgets_widget",e.ConnectWidget="connect_widget",e.ConnectionsWidget="connections_widget",e.DebtsWidget="debts_widget",e.FinstrongWidget="finstrong_widget",e.GoalsWidget="goals_widget",e.HelpWidget="help_widget",e.MasterWidget="master_widget",e.MiniBudgetsWidget="mini_budgets_widget",e.MiniFinstrongWidget="mini_finstrong_widget",e.MiniPulseCarouselWidget="mini_pulse_carousel_widget",e.MiniSpendingWidget="mini_spending_widget",e.PulseWidget="pulse_widget",e.SettingsWidget="settings_widget",e.SpendingWidget="spending_widget",e.TransactionsWidget="transactions_widget",e.TrendsWidget="trends_widget"}(u||(u={}));class _ extends Error{messageType;field;expectedType;gotValue;constructor(e,t,n,i){super(`Unable to decode '${t}' from '${e}'`),this.messageType=e,this.field=t,this.expectedType=n,this.gotValue=i,Object.setPrototypeOf(this,_.prototype)}}class h extends Error{postMessageType;constructor(e){super(`Unknown post message: ${e}`),this.postMessageType=e,Object.setPrototypeOf(this,h.prototype)}}function b(e,t,n,i){const r=e[n],s=void 0!==r,o="string"==typeof r,c="number"==typeof r,u="object"==typeof r&&!Array.isArray(r),d="string"===i,a="number"===i,g=i instanceof Array,m="object"==typeof i&&!Array.isArray(i);if(!s)throw new _(t,n,i,r);if(d&&!o)throw new _(t,n,i,r);if(a&&!c)throw new _(t,n,i,r);if(!(!g||o&&i.includes(r)))throw new _(t,n,i,r);if(m&&!u)throw new _(t,n,i,r);m&&u&&Object.keys(i).forEach((e=>{b(r,t,e,i[e])}))}!function(e){e.Load="mx/load",e.Ping="mx/ping",e.FocusTrap="mx/focusTrap",e.ConnectLoaded="mx/connect/loaded",e.ConnectEnterCredentials="mx/connect/enterCredentials",e.ConnectInstitutionSearch="mx/connect/institutionSearch",e.ConnectSelectedInstitution="mx/connect/selectedInstitution",e.ConnectMemberConnected="mx/connect/memberConnected",e.ConnectConnectedPrimaryAction="mx/connect/connected/primaryAction",e.ConnectMemberDeleted="mx/connect/memberDeleted",e.ConnectCreateMemberError="mx/connect/createMemberError",e.ConnectMemberStatusUpdate="mx/connect/memberStatusUpdate",e.ConnectOAuthError="mx/connect/oauthError",e.ConnectOAuthRequested="mx/connect/oauthRequested",e.ConnectStepChange="mx/connect/stepChange",e.ConnectSubmitMFA="mx/connect/submitMFA",e.ConnectUpdateCredentials="mx/connect/updateCredentials",e.PulseOverdraftWarningCtaTransferFunds="mx/pulse/overdraftWarning/cta/transferFunds",e.AccountCreated="mx/account/created"}(d||(d={}));const f={[d.Load]:d.Load,[d.Ping]:d.Ping,[d.FocusTrap]:d.FocusTrap,"mx/focustrap":d.FocusTrap,[d.ConnectLoaded]:d.ConnectLoaded,[d.ConnectEnterCredentials]:d.ConnectEnterCredentials,"mx/connect/entercredentials":d.ConnectEnterCredentials,[d.ConnectInstitutionSearch]:d.ConnectInstitutionSearch,"mx/connect/institutionsearch":d.ConnectInstitutionSearch,[d.ConnectSelectedInstitution]:d.ConnectSelectedInstitution,"mx/connect/selectedinstitution":d.ConnectSelectedInstitution,[d.ConnectMemberConnected]:d.ConnectMemberConnected,"mx/connect/memberconnected":d.ConnectMemberConnected,[d.ConnectConnectedPrimaryAction]:d.ConnectConnectedPrimaryAction,"mx/connect/connected/primaryaction":d.ConnectConnectedPrimaryAction,[d.ConnectMemberDeleted]:d.ConnectMemberDeleted,"mx/connect/memberdeleted":d.ConnectMemberDeleted,[d.ConnectCreateMemberError]:d.ConnectCreateMemberError,"mx/connect/createmembererror":d.ConnectCreateMemberError,[d.ConnectMemberStatusUpdate]:d.ConnectMemberStatusUpdate,"mx/connect/memberstatusupdate":d.ConnectMemberStatusUpdate,[d.ConnectOAuthError]:d.ConnectOAuthError,"mx/connect/oautherror":d.ConnectOAuthError,[d.ConnectOAuthRequested]:d.ConnectOAuthRequested,"mx/connect/oauthrequested":d.ConnectOAuthRequested,[d.ConnectStepChange]:d.ConnectStepChange,"mx/connect/stepchange":d.ConnectStepChange,[d.ConnectSubmitMFA]:d.ConnectSubmitMFA,"mx/connect/submitmfa":d.ConnectSubmitMFA,[d.ConnectUpdateCredentials]:d.ConnectUpdateCredentials,"mx/connect/updatecredentials":d.ConnectUpdateCredentials,[d.PulseOverdraftWarningCtaTransferFunds]:d.PulseOverdraftWarningCtaTransferFunds,"mx/pulse/overdraftwarning/cta/transferfunds":d.PulseOverdraftWarningCtaTransferFunds,[d.AccountCreated]:d.AccountCreated};function x(e){const t=e.type||"type not provided";let n;if(!t||!(t in f))throw new h(t);n=f[t];const i=function(e,t){switch(e){case d.Load:return{type:e};case d.Ping:return b(t,"mx/ping","user_guid","string"),b(t,"mx/ping","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.FocusTrap:return b(t,"mx/focusTrap","user_guid","string"),b(t,"mx/focusTrap","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.ConnectLoaded:return b(t,"mx/connect/loaded","user_guid","string"),b(t,"mx/connect/loaded","session_guid","string"),b(t,"mx/connect/loaded","initial_step",["search","selectMember","enterCreds","mfa","connected","loginError","disclosure"]),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,initial_step:t.initial_step};case d.ConnectEnterCredentials:return b(t,"mx/connect/enterCredentials","user_guid","string"),b(t,"mx/connect/enterCredentials","session_guid","string"),b(t,"mx/connect/enterCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution:t.institution};case d.ConnectInstitutionSearch:return b(t,"mx/connect/institutionSearch","user_guid","string"),b(t,"mx/connect/institutionSearch","session_guid","string"),b(t,"mx/connect/institutionSearch","query","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,query:t.query};case d.ConnectSelectedInstitution:return b(t,"mx/connect/selectedInstitution","user_guid","string"),b(t,"mx/connect/selectedInstitution","session_guid","string"),b(t,"mx/connect/selectedInstitution","code","string"),b(t,"mx/connect/selectedInstitution","guid","string"),b(t,"mx/connect/selectedInstitution","name","string"),b(t,"mx/connect/selectedInstitution","url","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,code:t.code,guid:t.guid,name:t.name,url:t.url};case d.ConnectMemberConnected:return b(t,"mx/connect/memberConnected","user_guid","string"),b(t,"mx/connect/memberConnected","session_guid","string"),b(t,"mx/connect/memberConnected","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case d.ConnectConnectedPrimaryAction:return b(t,"mx/connect/connected/primaryAction","user_guid","string"),b(t,"mx/connect/connected/primaryAction","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.ConnectMemberDeleted:return b(t,"mx/connect/memberDeleted","user_guid","string"),b(t,"mx/connect/memberDeleted","session_guid","string"),b(t,"mx/connect/memberDeleted","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case d.ConnectCreateMemberError:return b(t,"mx/connect/createMemberError","user_guid","string"),b(t,"mx/connect/createMemberError","session_guid","string"),b(t,"mx/connect/createMemberError","institution_guid","string"),b(t,"mx/connect/createMemberError","institution_code","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution_guid:t.institution_guid,institution_code:t.institution_code};case d.ConnectMemberStatusUpdate:return b(t,"mx/connect/memberStatusUpdate","user_guid","string"),b(t,"mx/connect/memberStatusUpdate","session_guid","string"),b(t,"mx/connect/memberStatusUpdate","member_guid","string"),b(t,"mx/connect/memberStatusUpdate","connection_status","number"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,connection_status:t.connection_status};case d.ConnectOAuthError:return b(t,"mx/connect/oauthError","user_guid","string"),b(t,"mx/connect/oauthError","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.ConnectOAuthRequested:return b(t,"mx/connect/oauthRequested","user_guid","string"),b(t,"mx/connect/oauthRequested","session_guid","string"),b(t,"mx/connect/oauthRequested","url","string"),b(t,"mx/connect/oauthRequested","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,url:t.url,member_guid:t.member_guid};case d.ConnectStepChange:return b(t,"mx/connect/stepChange","user_guid","string"),b(t,"mx/connect/stepChange","session_guid","string"),b(t,"mx/connect/stepChange","previous","string"),b(t,"mx/connect/stepChange","current","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,previous:t.previous,current:t.current};case d.ConnectSubmitMFA:return b(t,"mx/connect/submitMFA","user_guid","string"),b(t,"mx/connect/submitMFA","session_guid","string"),b(t,"mx/connect/submitMFA","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case d.ConnectUpdateCredentials:return b(t,"mx/connect/updateCredentials","user_guid","string"),b(t,"mx/connect/updateCredentials","session_guid","string"),b(t,"mx/connect/updateCredentials","member_guid","string"),b(t,"mx/connect/updateCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,institution:t.institution};case d.PulseOverdraftWarningCtaTransferFunds:return b(t,"mx/pulse/overdraftWarning/cta/transferFunds","account_guid","string"),b(t,"mx/pulse/overdraftWarning/cta/transferFunds","amount","number"),{type:e,account_guid:t.account_guid,amount:t.amount};case d.AccountCreated:return b(t,"mx/account/created","guid","string"),{type:e,guid:t.guid};default:throw new h(e)}}(n,e.metadata||{});return i}function y(e,t,n){if(t instanceof _)n.onInvalidMessageError?.(e,t);else{if(!(t instanceof h))throw t;n.onInvalidMessageError?.(e,t)}}function w(e,t){t.onMessage?.(e)}function M(e,t){try{w(e,t);!function(e,t){switch(e.type){case d.Load:t.onLoad?.(e);break;case d.Ping:t.onPing?.(e);break;case d.FocusTrap:t.onFocusTrap?.(e);break;case d.AccountCreated:t.onAccountCreated?.(e);break;default:throw new h(e.type)}}(x(e.data),t)}catch(n){y(e,n,t)}}function T(e,t){try{w(e,t);!function(e,t){switch(e.type){case d.Load:t.onLoad?.(e);break;case d.Ping:t.onPing?.(e);break;case d.FocusTrap:t.onFocusTrap?.(e);break;case d.AccountCreated:t.onAccountCreated?.(e);break;case d.ConnectLoaded:t.onLoaded?.(e);break;case d.ConnectEnterCredentials:t.onEnterCredentials?.(e);break;case d.ConnectInstitutionSearch:t.onInstitutionSearch?.(e);break;case d.ConnectSelectedInstitution:t.onSelectedInstitution?.(e);break;case d.ConnectMemberConnected:t.onMemberConnected?.(e);break;case d.ConnectConnectedPrimaryAction:t.onConnectedPrimaryAction?.(e);break;case d.ConnectMemberDeleted:t.onMemberDeleted?.(e);break;case d.ConnectCreateMemberError:t.onCreateMemberError?.(e);break;case d.ConnectMemberStatusUpdate:t.onMemberStatusUpdate?.(e);break;case d.ConnectOAuthError:t.onOAuthError?.(e);break;case d.ConnectOAuthRequested:t.onOAuthRequested?.(e);break;case d.ConnectStepChange:t.onStepChange?.(e);break;case d.ConnectSubmitMFA:t.onSubmitMFA?.(e);break;case d.ConnectUpdateCredentials:t.onUpdateCredentials?.(e);break;default:throw new h(e.type)}}(x(e.data),t)}catch(n){y(e,n,t)}}function A(e,t){try{w(e,t);!function(e,t){switch(e.type){case d.Load:t.onLoad?.(e);break;case d.Ping:t.onPing?.(e);break;case d.FocusTrap:t.onFocusTrap?.(e);break;case d.AccountCreated:t.onAccountCreated?.(e);break;case d.PulseOverdraftWarningCtaTransferFunds:t.onOverdraftWarningCtaTransferFunds?.(e);break;default:throw new h(e.type)}}(x(e.data),t)}catch(n){y(e,n,t)}}class S{constructor(e){if(this.options=e,this.iframe=document.createElement("iframe"),this.style=e.style||{border:"none",height:"100%",width:"100%"},this.messageCallback=e=>{e.data.mx&&this.dispatcher(e,this.options)},"string"==typeof e.widgetContainer){const t=document.querySelector(e.widgetContainer);if(!t)throw new Error(`Unable to find widget container. Ensure that an element matching a selector for '${this.options.widgetContainer}' is available in the DOM before you initialize the widget.`);this.widgetContainer=t}else{if(!(e.widgetContainer instanceof Element))throw new Error("Invalid or missing value for widgetContainer property, expecting a query selector string or a DOM Element.");this.widgetContainer=e.widgetContainer}this.setupIframe(),this.setupListener()}get widgetType(){if(this.options.widgetType)return this.options.widgetType;throw new Error("Missing value for widgetType property, expecting a string (eg. connect_widget).")}get dispatcher(){return M}unmount(){this.teardownListener(),this.teardownIframe()}setupIframe(){this.iframe.setAttribute("data-test-id","mx-widget-iframe"),function(e){if(function(e){return"url"in e&&"string"==typeof e.url}(e))return Promise.resolve(e.url);const t=e.ssoRequestBuilder||m,n=e.ssoRequestPreprocess||p,i=e.ssoRequestPostprocess||g,r=e.onSsoUrlLoadError||C,s=n(t(e));return fetch(s.url,s.options).then(l).then(i).catch(r)}(Object.assign(Object.assign({},this.options),{widgetType:this.widgetType})).then((e=>{e&&(this.iframe.src=e)})),Object.keys(this.style).forEach((e=>{this.iframe.style[e]=this.style[e]})),this.widgetContainer.appendChild(this.iframe)}teardownIframe(){this.widgetContainer.removeChild(this.iframe)}setupListener(){window.addEventListener("message",this.messageCallback,!1)}teardownListener(){window.removeEventListener("message",this.messageCallback,!1)}}e.AccountsWidget=class extends S{get widgetType(){return u.AccountsWidget}},e.BudgetsWidget=class extends S{get widgetType(){return u.BudgetsWidget}},e.ConnectWidget=class extends S{get widgetType(){return u.ConnectWidget}get dispatcher(){return T}},e.ConnectionsWidget=class extends S{get widgetType(){return u.ConnectionsWidget}},e.DebtsWidget=class extends S{get widgetType(){return u.DebtsWidget}},e.FinstrongWidget=class extends S{get widgetType(){return u.FinstrongWidget}},e.GoalsWidget=class extends S{get widgetType(){return u.GoalsWidget}},e.HelpWidget=class extends S{get widgetType(){return u.HelpWidget}},e.MasterWidget=class extends S{get widgetType(){return u.MasterWidget}},e.MiniBudgetsWidget=class extends S{get widgetType(){return u.MiniBudgetsWidget}},e.MiniFinstrongWidget=class extends S{get widgetType(){return u.MiniFinstrongWidget}},e.MiniPulseCarouselWidget=class extends S{get widgetType(){return u.MiniPulseCarouselWidget}get dispatcher(){return A}},e.MiniSpendingWidget=class extends S{get widgetType(){return u.MiniSpendingWidget}},e.PulseWidget=class extends S{get widgetType(){return u.PulseWidget}get dispatcher(){return A}},e.SettingsWidget=class extends S{get widgetType(){return u.SettingsWidget}},e.SpendingWidget=class extends S{get widgetType(){return u.SpendingWidget}},e.TransactionsWidget=class extends S{get widgetType(){return u.TransactionsWidget}},e.TrendsWidget=class extends S{get widgetType(){return u.TrendsWidget}},Object.defineProperty(e,"__esModule",{value:!0})}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).widgetSdk={})}(this,(function(e){"use strict";function t(e){return"clientId"in e&&"string"==typeof e.clientId&&"apiKey"in e&&"string"==typeof e.apiKey&&"userGuid"in e&&"string"==typeof e.userGuid&&"environment"in e&&"string"==typeof e.environment}class n extends Error{constructor(){super("Missing required widget props!\n\nComponent needs one of the following groups of props:\n\n - url\n\n - or -\n\n - proxy\n\n - or -\n\n - apiKey\n - clientId\n - environment\n - userGuid"),Object.setPrototypeOf(this,n.prototype)}}class i extends Error{constructor(e){super(`Request failed: ${e}`),this.statusCode=e,Object.setPrototypeOf(this,i.prototype)}}var r;!function(e){e.SAND="sand",e.QA="qa",e.INT="integration",e.PROD="production"}(r||(r={}));const s={[r.SAND]:r.SAND,[r.QA]:r.QA,[r.INT]:r.INT,[r.PROD]:r.PROD};const o={[r.SAND]:"https://api.sand.internal.mx",[r.QA]:"https://api.qa.internal.mx",[r.INT]:"https://int-api.mx.com",[r.PROD]:"https://api.mx.com"};function c(e){const t=function(e){const t=s[e];if(!t)throw new Error(`Invalid MX environment: ${e}`);return t}(e),n=o[t];if(!n)throw new Error(`Missing host for MX environment: ${e}`);return n}var u,d;function a(e){return{client_redirect_url:e.clientRedirectUrl,color_scheme:e.colorScheme,current_institution_code:e.currentInstitutionCode,current_institution_guid:e.currentInstitutionGuid,current_member_guid:e.currentMemberGuid,disable_institution_search:e.disableInstitutionSearch,include_transactions:e.includeTransactions,is_mobile_webview:e.isMobileWebview||!1,mode:e.mode,oauth_referral_source:e.oauthReferralSource,ui_message_version:e.uiMessageVersion||4,ui_message_webview_url_scheme:e.uiMessageWebviewUrlScheme,update_credentials:e.updateCredentials,wait_for_full_aggregation:e.waitForFullAggregation,widget_type:e.widgetType}}function g(e){return e.widget_url.url}function m(e){const i=function(e){if(function(e){return"proxy"in e&&"string"==typeof e.proxy}(e))return function(e){return e.proxy}(e);if(t(e))return function(e){const t=c(e.environment),n=e.userGuid;return`${t}/users/${n}/widget_urls`}(e);throw new n}(e),r=function(e){const n={Accept:"application/vnd.mx.api.v1+json","Content-Type":"application/json"};e.language&&(n["Accept-Language"]=e.language);if(t(e)){const{apiKey:t,clientId:i}=e,r=btoa(`${i}:${t}`);n.Authorization=`Basic ${r}`}const i="cors",r="POST",s=JSON.stringify({widget_url:a(e)});return{method:r,headers:n,body:s,mode:i}}(e);return{url:i,options:r}}function p(e){return e}function l(e){if(!e.ok)throw new i(e.status);return e.json()}function C(e){console.error(e)}!function(e){e.AccountsWidget="accounts_widget",e.BudgetsWidget="budgets_widget",e.ConnectWidget="connect_widget",e.ConnectionsWidget="connections_widget",e.DebtsWidget="debts_widget",e.FinstrongWidget="finstrong_widget",e.GoalsWidget="goals_widget",e.HelpWidget="help_widget",e.MasterWidget="master_widget",e.MiniBudgetsWidget="mini_budgets_widget",e.MiniFinstrongWidget="mini_finstrong_widget",e.MiniPulseCarouselWidget="mini_pulse_carousel_widget",e.MiniSpendingWidget="mini_spending_widget",e.PulseWidget="pulse_widget",e.SettingsWidget="settings_widget",e.SpendingWidget="spending_widget",e.TransactionsWidget="transactions_widget",e.TrendsWidget="trends_widget"}(u||(u={}));class _ extends Error{messageType;field;expectedType;gotValue;constructor(e,t,n,i){super(`Unable to decode '${t}' from '${e}'`),this.messageType=e,this.field=t,this.expectedType=n,this.gotValue=i,Object.setPrototypeOf(this,_.prototype)}}class h extends Error{postMessageType;constructor(e){super(`Unknown post message: ${e}`),this.postMessageType=e,Object.setPrototypeOf(this,h.prototype)}}function b(e,t,n,i){const r=e[n],s=void 0!==r,o="string"==typeof r,c="number"==typeof r,u="object"==typeof r&&!Array.isArray(r),d="string"===i,a="number"===i,g=i instanceof Array,m="object"==typeof i&&!Array.isArray(i);if(!s)throw new _(t,n,i,r);if(d&&!o)throw new _(t,n,i,r);if(a&&!c)throw new _(t,n,i,r);if(!(!g||o&&i.includes(r)))throw new _(t,n,i,r);if(m&&!u)throw new _(t,n,i,r);m&&u&&Object.keys(i).forEach((e=>{b(r,t,e,i[e])}))}!function(e){e.Load="mx/load",e.Ping="mx/ping",e.FocusTrap="mx/focusTrap",e.ConnectLoaded="mx/connect/loaded",e.ConnectEnterCredentials="mx/connect/enterCredentials",e.ConnectInstitutionSearch="mx/connect/institutionSearch",e.ConnectSelectedInstitution="mx/connect/selectedInstitution",e.ConnectMemberConnected="mx/connect/memberConnected",e.ConnectConnectedPrimaryAction="mx/connect/connected/primaryAction",e.ConnectMemberDeleted="mx/connect/memberDeleted",e.ConnectCreateMemberError="mx/connect/createMemberError",e.ConnectMemberStatusUpdate="mx/connect/memberStatusUpdate",e.ConnectOAuthError="mx/connect/oauthError",e.ConnectOAuthRequested="mx/connect/oauthRequested",e.ConnectStepChange="mx/connect/stepChange",e.ConnectSubmitMFA="mx/connect/submitMFA",e.ConnectUpdateCredentials="mx/connect/updateCredentials",e.PulseOverdraftWarningCtaTransferFunds="mx/pulse/overdraftWarning/cta/transferFunds",e.AccountCreated="mx/account/created"}(d||(d={}));const f={[d.Load]:d.Load,[d.Ping]:d.Ping,[d.FocusTrap]:d.FocusTrap,"mx/focustrap":d.FocusTrap,[d.ConnectLoaded]:d.ConnectLoaded,[d.ConnectEnterCredentials]:d.ConnectEnterCredentials,"mx/connect/entercredentials":d.ConnectEnterCredentials,[d.ConnectInstitutionSearch]:d.ConnectInstitutionSearch,"mx/connect/institutionsearch":d.ConnectInstitutionSearch,[d.ConnectSelectedInstitution]:d.ConnectSelectedInstitution,"mx/connect/selectedinstitution":d.ConnectSelectedInstitution,[d.ConnectMemberConnected]:d.ConnectMemberConnected,"mx/connect/memberconnected":d.ConnectMemberConnected,[d.ConnectConnectedPrimaryAction]:d.ConnectConnectedPrimaryAction,"mx/connect/connected/primaryaction":d.ConnectConnectedPrimaryAction,[d.ConnectMemberDeleted]:d.ConnectMemberDeleted,"mx/connect/memberdeleted":d.ConnectMemberDeleted,[d.ConnectCreateMemberError]:d.ConnectCreateMemberError,"mx/connect/createmembererror":d.ConnectCreateMemberError,[d.ConnectMemberStatusUpdate]:d.ConnectMemberStatusUpdate,"mx/connect/memberstatusupdate":d.ConnectMemberStatusUpdate,[d.ConnectOAuthError]:d.ConnectOAuthError,"mx/connect/oautherror":d.ConnectOAuthError,[d.ConnectOAuthRequested]:d.ConnectOAuthRequested,"mx/connect/oauthrequested":d.ConnectOAuthRequested,[d.ConnectStepChange]:d.ConnectStepChange,"mx/connect/stepchange":d.ConnectStepChange,[d.ConnectSubmitMFA]:d.ConnectSubmitMFA,"mx/connect/submitmfa":d.ConnectSubmitMFA,[d.ConnectUpdateCredentials]:d.ConnectUpdateCredentials,"mx/connect/updatecredentials":d.ConnectUpdateCredentials,[d.PulseOverdraftWarningCtaTransferFunds]:d.PulseOverdraftWarningCtaTransferFunds,"mx/pulse/overdraftwarning/cta/transferfunds":d.PulseOverdraftWarningCtaTransferFunds,[d.AccountCreated]:d.AccountCreated};function x(e){const t=e.type||"type not provided";let n;if(!t||!(t in f))throw new h(t);n=f[t];const i=function(e,t){switch(e){case d.Load:return{type:e};case d.Ping:return b(t,"mx/ping","user_guid","string"),b(t,"mx/ping","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.FocusTrap:return b(t,"mx/focusTrap","user_guid","string"),b(t,"mx/focusTrap","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.ConnectLoaded:return b(t,"mx/connect/loaded","user_guid","string"),b(t,"mx/connect/loaded","session_guid","string"),b(t,"mx/connect/loaded","initial_step",["search","selectMember","enterCreds","mfa","connected","loginError","disclosure"]),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,initial_step:t.initial_step};case d.ConnectEnterCredentials:return b(t,"mx/connect/enterCredentials","user_guid","string"),b(t,"mx/connect/enterCredentials","session_guid","string"),b(t,"mx/connect/enterCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution:t.institution};case d.ConnectInstitutionSearch:return b(t,"mx/connect/institutionSearch","user_guid","string"),b(t,"mx/connect/institutionSearch","session_guid","string"),b(t,"mx/connect/institutionSearch","query","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,query:t.query};case d.ConnectSelectedInstitution:return b(t,"mx/connect/selectedInstitution","user_guid","string"),b(t,"mx/connect/selectedInstitution","session_guid","string"),b(t,"mx/connect/selectedInstitution","code","string"),b(t,"mx/connect/selectedInstitution","guid","string"),b(t,"mx/connect/selectedInstitution","name","string"),b(t,"mx/connect/selectedInstitution","url","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,code:t.code,guid:t.guid,name:t.name,url:t.url};case d.ConnectMemberConnected:return b(t,"mx/connect/memberConnected","user_guid","string"),b(t,"mx/connect/memberConnected","session_guid","string"),b(t,"mx/connect/memberConnected","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case d.ConnectConnectedPrimaryAction:return b(t,"mx/connect/connected/primaryAction","user_guid","string"),b(t,"mx/connect/connected/primaryAction","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.ConnectMemberDeleted:return b(t,"mx/connect/memberDeleted","user_guid","string"),b(t,"mx/connect/memberDeleted","session_guid","string"),b(t,"mx/connect/memberDeleted","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case d.ConnectCreateMemberError:return b(t,"mx/connect/createMemberError","user_guid","string"),b(t,"mx/connect/createMemberError","session_guid","string"),b(t,"mx/connect/createMemberError","institution_guid","string"),b(t,"mx/connect/createMemberError","institution_code","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,institution_guid:t.institution_guid,institution_code:t.institution_code};case d.ConnectMemberStatusUpdate:return b(t,"mx/connect/memberStatusUpdate","user_guid","string"),b(t,"mx/connect/memberStatusUpdate","session_guid","string"),b(t,"mx/connect/memberStatusUpdate","member_guid","string"),b(t,"mx/connect/memberStatusUpdate","connection_status","number"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,connection_status:t.connection_status};case d.ConnectOAuthError:return b(t,"mx/connect/oauthError","user_guid","string"),b(t,"mx/connect/oauthError","session_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid};case d.ConnectOAuthRequested:return b(t,"mx/connect/oauthRequested","user_guid","string"),b(t,"mx/connect/oauthRequested","session_guid","string"),b(t,"mx/connect/oauthRequested","url","string"),b(t,"mx/connect/oauthRequested","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,url:t.url,member_guid:t.member_guid};case d.ConnectStepChange:return b(t,"mx/connect/stepChange","user_guid","string"),b(t,"mx/connect/stepChange","session_guid","string"),b(t,"mx/connect/stepChange","previous","string"),b(t,"mx/connect/stepChange","current","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,previous:t.previous,current:t.current};case d.ConnectSubmitMFA:return b(t,"mx/connect/submitMFA","user_guid","string"),b(t,"mx/connect/submitMFA","session_guid","string"),b(t,"mx/connect/submitMFA","member_guid","string"),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid};case d.ConnectUpdateCredentials:return b(t,"mx/connect/updateCredentials","user_guid","string"),b(t,"mx/connect/updateCredentials","session_guid","string"),b(t,"mx/connect/updateCredentials","member_guid","string"),b(t,"mx/connect/updateCredentials","institution",{code:"string",guid:"string"}),{type:e,user_guid:t.user_guid,session_guid:t.session_guid,member_guid:t.member_guid,institution:t.institution};case d.PulseOverdraftWarningCtaTransferFunds:return b(t,"mx/pulse/overdraftWarning/cta/transferFunds","account_guid","string"),b(t,"mx/pulse/overdraftWarning/cta/transferFunds","amount","number"),{type:e,account_guid:t.account_guid,amount:t.amount};case d.AccountCreated:return b(t,"mx/account/created","guid","string"),{type:e,guid:t.guid};default:throw new h(e)}}(n,e.metadata||{});return i}function y(e,t,n){if(t instanceof _)n.onInvalidMessageError?.(e,t);else{if(!(t instanceof h))throw t;n.onInvalidMessageError?.(e,t)}}function w(e,t){t.onMessage?.(e)}function M(e,t){try{w(e,t);!function(e,t){switch(e.type){case d.Load:t.onLoad?.(e);break;case d.Ping:t.onPing?.(e);break;case d.FocusTrap:t.onFocusTrap?.(e);break;case d.AccountCreated:t.onAccountCreated?.(e);break;default:throw new h(e.type)}}(x(e.data),t)}catch(n){y(e,n,t)}}function T(e,t){try{w(e,t);!function(e,t){switch(e.type){case d.Load:t.onLoad?.(e);break;case d.Ping:t.onPing?.(e);break;case d.FocusTrap:t.onFocusTrap?.(e);break;case d.AccountCreated:t.onAccountCreated?.(e);break;case d.ConnectLoaded:t.onLoaded?.(e);break;case d.ConnectEnterCredentials:t.onEnterCredentials?.(e);break;case d.ConnectInstitutionSearch:t.onInstitutionSearch?.(e);break;case d.ConnectSelectedInstitution:t.onSelectedInstitution?.(e);break;case d.ConnectMemberConnected:t.onMemberConnected?.(e);break;case d.ConnectConnectedPrimaryAction:t.onConnectedPrimaryAction?.(e);break;case d.ConnectMemberDeleted:t.onMemberDeleted?.(e);break;case d.ConnectCreateMemberError:t.onCreateMemberError?.(e);break;case d.ConnectMemberStatusUpdate:t.onMemberStatusUpdate?.(e);break;case d.ConnectOAuthError:t.onOAuthError?.(e);break;case d.ConnectOAuthRequested:t.onOAuthRequested?.(e);break;case d.ConnectStepChange:t.onStepChange?.(e);break;case d.ConnectSubmitMFA:t.onSubmitMFA?.(e);break;case d.ConnectUpdateCredentials:t.onUpdateCredentials?.(e);break;default:throw new h(e.type)}}(x(e.data),t)}catch(n){y(e,n,t)}}function W(e,t){try{w(e,t);!function(e,t){switch(e.type){case d.Load:t.onLoad?.(e);break;case d.Ping:t.onPing?.(e);break;case d.FocusTrap:t.onFocusTrap?.(e);break;case d.AccountCreated:t.onAccountCreated?.(e);break;case d.PulseOverdraftWarningCtaTransferFunds:t.onOverdraftWarningCtaTransferFunds?.(e);break;default:throw new h(e.type)}}(x(e.data),t)}catch(n){y(e,n,t)}}class A{constructor(e){if(this.options=e,this.iframe=document.createElement("iframe"),this.style=e.style||{border:"none",height:"100%",width:"100%"},this.messageCallback=e=>{e.data.mx&&this.dispatcher(e,this.options)},"string"==typeof e.widgetContainer){const t=document.querySelector(e.widgetContainer);if(!t)throw new Error(`Unable to find widget container. Ensure that an element matching a selector for '${this.options.widgetContainer}' is available in the DOM before you initialize the widget.`);this.widgetContainer=t}else{if(!(e.widgetContainer instanceof Element))throw new Error("Invalid or missing value for widgetContainer property, expecting a query selector string or a DOM Element.");this.widgetContainer=e.widgetContainer}this.setupIframe(),this.setupListener()}get widgetType(){if(this.options.widgetType)return this.options.widgetType;throw new Error("Missing value for widgetType property, expecting a string (eg. connect_widget).")}get dispatcher(){return M}unmount(){this.teardownListener(),this.teardownIframe()}setupIframe(){this.iframe.setAttribute("data-test-id","mx-widget-iframe"),function(e){if(function(e){return"url"in e&&"string"==typeof e.url}(e))return Promise.resolve(e.url);const t=e.ssoRequestBuilder||m,n=e.ssoRequestPreprocess||p,i=e.ssoRequestPostprocess||g,r=e.onSsoUrlLoadError||C,s=n(t(e));return fetch(s.url,s.options).then(l).then(i).catch(r)}(Object.assign(Object.assign({},this.options),{widgetType:this.widgetType})).then((e=>{e&&(this.iframe.src=e)})),Object.keys(this.style).forEach((e=>{this.iframe.style[e]=this.style[e]})),this.widgetContainer.appendChild(this.iframe)}teardownIframe(){this.widgetContainer.removeChild(this.iframe)}setupListener(){window.addEventListener("message",this.messageCallback,!1)}teardownListener(){window.removeEventListener("message",this.messageCallback,!1)}}e.AccountsWidget=class extends A{get widgetType(){return u.AccountsWidget}},e.BudgetsWidget=class extends A{get widgetType(){return u.BudgetsWidget}},e.ConnectWidget=class extends A{get widgetType(){return u.ConnectWidget}get dispatcher(){return T}},e.ConnectionsWidget=class extends A{get widgetType(){return u.ConnectionsWidget}},e.DebtsWidget=class extends A{get widgetType(){return u.DebtsWidget}},e.FinstrongWidget=class extends A{get widgetType(){return u.FinstrongWidget}},e.GoalsWidget=class extends A{get widgetType(){return u.GoalsWidget}},e.HelpWidget=class extends A{get widgetType(){return u.HelpWidget}},e.MasterWidget=class extends A{get widgetType(){return u.MasterWidget}},e.MiniBudgetsWidget=class extends A{get widgetType(){return u.MiniBudgetsWidget}},e.MiniFinstrongWidget=class extends A{get widgetType(){return u.MiniFinstrongWidget}},e.MiniPulseCarouselWidget=class extends A{get widgetType(){return u.MiniPulseCarouselWidget}get dispatcher(){return W}},e.MiniSpendingWidget=class extends A{get widgetType(){return u.MiniSpendingWidget}},e.PulseWidget=class extends A{get widgetType(){return u.PulseWidget}get dispatcher(){return W}},e.SettingsWidget=class extends A{get widgetType(){return u.SettingsWidget}},e.SpendingWidget=class extends A{get widgetType(){return u.SpendingWidget}},e.TransactionsWidget=class extends A{get widgetType(){return u.TransactionsWidget}},e.TrendsWidget=class extends A{get widgetType(){return u.TrendsWidget}},e.Widget=A,Object.defineProperty(e,"__esModule",{value:!0})}));
{
"name": "@mxenabled/web-widget-sdk",
"version": "0.0.3",
"version": "0.0.4",
"description": "MX Web Widget SDK",

@@ -19,2 +19,3 @@ "files": [

"format": "npm run prettier -- -w",
"prepack": "npm run build",
"prettier": "prettier src example jest cypress",

@@ -21,0 +22,0 @@ "lint": "eslint src example jest cypress",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc