@mx-cartographer/experiences 7.0.8-alpha.ram5 → 7.0.9-alpha.mega1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/{Account-BFol-JYA.mjs → Account-Bdz1k5WZ.mjs} +1 -1
  3. package/dist/{AccountDetailsContent-DrjUQ6o3.mjs → AccountDetailsContent-CEjEyv_M.mjs} +14 -14
  4. package/dist/{AccountDetailsHeader-BOnB4or3.mjs → AccountDetailsHeader-uX5amBaR.mjs} +4 -4
  5. package/dist/{AccountFields-CeHZrIQe.mjs → AccountFields-Ckw28o6E.mjs} +2 -2
  6. package/dist/{AccountListItem-CR6I3Hl8.mjs → AccountListItem-DKwz0HGB.mjs} +2 -2
  7. package/dist/{AccountStore-Cu3GoLh-.mjs → AccountStore-DhfQsEK5.mjs} +67 -62
  8. package/dist/{Accounts-BuYXUMhP.mjs → Accounts-CAr848d0.mjs} +1 -1
  9. package/dist/{CategorySelectorDrawer-CMl0DOGM.mjs → CategorySelectorDrawer-Dyzb3UDU.mjs} +1 -1
  10. package/dist/{ConnectDrawer-WfKHsHSF.mjs → ConnectDrawer-yFS82Il7.mjs} +4 -4
  11. package/dist/{ConnectionsDrawer-Czp-E0-m.mjs → ConnectionsDrawer-Cl1jJGRv.mjs} +1 -1
  12. package/dist/{DebtsStore-D9holN8L.mjs → DebtsStore-Bep2cYsx.mjs} +1 -1
  13. package/dist/{GoalStore-Drf76ell.mjs → GoalStore-ChqCWX_U.mjs} +1 -1
  14. package/dist/{Help-BTtE2UTx.mjs → Help-BazrEpv7.mjs} +1 -1
  15. package/dist/Loader-Dp1P2gNw.mjs +14 -0
  16. package/dist/{ManageIncome-CZbYL8lE.mjs → ManageIncome-Dk2ZDGqw.mjs} +2 -2
  17. package/dist/{NetWorthStore-BK1_NbXW.mjs → NetWorthStore-DrBL4JEO.mjs} +2 -2
  18. package/dist/{NotificationSettings-BFMJN5do.mjs → NotificationSettings-BznqGVQ2.mjs} +1 -1
  19. package/dist/{RecurringSettings-DroTb4sJ.mjs → RecurringSettings-DNJs5JIe.mjs} +2 -2
  20. package/dist/{TransactionDetails-CzsGADKj.mjs → TransactionDetails-B6h5Qo1c.mjs} +3 -3
  21. package/dist/{ViewMoreMicroCard-BPEzFZRG.mjs → ViewMoreMicroCard-BZI5VMNW.mjs} +1 -1
  22. package/dist/{WidgetContainer-Bon2q4nA.mjs → WidgetContainer-D7sX3S6R.mjs} +2 -2
  23. package/dist/accounts/index.es.js +16 -16
  24. package/dist/analytics/index.es.js +1 -1
  25. package/dist/budgets/index.es.js +6 -6
  26. package/dist/cashflow/index.es.js +6 -6
  27. package/dist/categories/index.es.js +1 -1
  28. package/dist/common/index.es.js +9 -9
  29. package/dist/common/utils/User.d.ts +2 -0
  30. package/dist/dashboard/index.es.js +6 -6
  31. package/dist/debts/index.es.js +6 -6
  32. package/dist/finstrong/index.es.js +5 -5
  33. package/dist/goals/index.es.js +7 -7
  34. package/dist/help/index.es.js +3 -3
  35. package/dist/investments/index.es.js +3 -3
  36. package/dist/merchants/index.es.js +1 -1
  37. package/dist/microinsights/index.es.js +1 -1
  38. package/dist/networth/index.es.js +5 -5
  39. package/dist/notifications/index.es.js +2 -2
  40. package/dist/recurringtransactions/index.es.js +6 -6
  41. package/dist/settings/index.es.js +6 -6
  42. package/dist/spending/index.es.js +3 -3
  43. package/dist/transactions/index.es.js +6 -6
  44. package/dist/trends/index.es.js +4 -4
  45. package/package.json +1 -1
  46. package/dist/Loader-DUaFpDGv.mjs +0 -24
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [7.0.9] - 09-19-2025
2
+
3
+ - **ADDED** - Support for excluding external accounts based on feature flag
4
+
1
5
  ## [7.0.8] - 09-18-2025
2
6
 
3
7
  - **FIXED** - Cash Flow mini widget not getting data as a standalone widget
@@ -1,4 +1,4 @@
1
- import { A as C } from "./ConnectDrawer-WfKHsHSF.mjs";
1
+ import { A as C } from "./ConnectDrawer-yFS82Il7.mjs";
2
2
  const I = [
3
3
  C.ANY,
4
4
  C.CASH,
@@ -11,18 +11,18 @@ import M from "@mui/material/Divider";
11
11
  import v from "@mui/material/ListItem";
12
12
  import N from "@mui/material/ListItemButton";
13
13
  import w from "@mui/material/ListItemText";
14
- import { u as D } from "./AccountDetailsHeader-BOnB4or3.mjs";
14
+ import { u as D } from "./AccountDetailsHeader-uX5amBaR.mjs";
15
15
  import { c as z, u as E, e as O, f as X } from "./hooks-02T565vf.mjs";
16
- import { A as at } from "./AccountListItem-CR6I3Hl8.mjs";
17
- import { A as k } from "./WidgetContainer-Bon2q4nA.mjs";
18
- import { a as V, f as B, D as j } from "./Dialog-CWW597AF.mjs";
16
+ import { A as at } from "./AccountListItem-DKwz0HGB.mjs";
17
+ import { A as k } from "./WidgetContainer-D7sX3S6R.mjs";
18
+ import { a as V, f as B, D as K } from "./Dialog-CWW597AF.mjs";
19
19
  import { b as h } from "./Localization-2MODESHW.mjs";
20
20
  import { D as J } from "./Drawer-kEE73B87.mjs";
21
21
  import R from "@mui/material/ListItemAvatar";
22
22
  import ct from "@mui/material/Stack";
23
23
  import st from "@mui/material/styles/useTheme";
24
24
  import { Error as q, CheckCircle as it, Language as rt } from "@mxenabled/mx-icons";
25
- import { k as m, N as Q, j as Z, F as P } from "./ConnectDrawer-WfKHsHSF.mjs";
25
+ import { k as m, N as Q, h as Z, F as P } from "./ConnectDrawer-yFS82Il7.mjs";
26
26
  import { fromUnixTime as lt } from "date-fns/fromUnixTime";
27
27
  import { isToday as dt } from "date-fns/isToday";
28
28
  import { isYesterday as ut } from "date-fns/isYesterday";
@@ -38,14 +38,14 @@ import At from "@mui/material/MenuItem";
38
38
  import bt from "@mui/material/Select";
39
39
  import Tt from "@mui/material/TextField";
40
40
  import { C as St } from "./CurrencyInput-CSZjO22Z.mjs";
41
- import { a as Dt } from "./AccountFields-CeHZrIQe.mjs";
41
+ import { a as Dt } from "./AccountFields-Ckw28o6E.mjs";
42
42
  import Et from "@mui/material/Alert";
43
43
  import yt from "@mui/material/AlertTitle";
44
44
  import xt from "@mui/material/Link";
45
45
  import wt from "@mui/material/Paper";
46
46
  import { subDays as kt, startOfToday as It, endOfToday as Mt } from "date-fns";
47
- import { T as vt, a as Lt } from "./TransactionDetails-CzsGADKj.mjs";
48
- import { T as K } from "./TabContentContainer-j01JYR_7.mjs";
47
+ import { T as vt, a as Lt } from "./TransactionDetails-B6h5Qo1c.mjs";
48
+ import { T as j } from "./TabContentContainer-j01JYR_7.mjs";
49
49
  const U = ({
50
50
  children: e,
51
51
  isLast: o = !1,
@@ -314,11 +314,11 @@ const U = ({
314
314
  };
315
315
  default: {
316
316
  const c = () => {
317
- const i = e.successfully_aggregated_at ? lt(e.successfully_aggregated_at) : void 0, u = i && B(i, j.TIME_STAMP_HOUR_MINUTE);
317
+ const i = e.successfully_aggregated_at ? lt(e.successfully_aggregated_at) : void 0, u = i && B(i, K.TIME_STAMP_HOUR_MINUTE);
318
318
  if (u)
319
319
  return dt(i) ? h(o.last_updated_at, o.today, u) : ut(i) ? h(o.last_updated_at, o.yesterday, u) : h(
320
320
  o.last_updated_at,
321
- B(i, j.MONTH_DAY_YEAR),
321
+ B(i, K.MONTH_DAY_YEAR),
322
322
  u
323
323
  );
324
324
  };
@@ -609,7 +609,7 @@ const U = ({
609
609
  }
610
610
  )
611
611
  ] });
612
- }, Bt = b(Gt), jt = () => {
612
+ }, Bt = b(Gt), Kt = () => {
613
613
  const [e, o] = _.useState(""), { onEvent: n } = O(), { selectedAccount: c } = D(), { accounts: i } = E(), { setFilter: u, sortedTransactions: l } = X(), s = _.useMemo(
614
614
  () => l.find((r) => r.guid === e),
615
615
  [e, l]
@@ -632,7 +632,7 @@ const U = ({
632
632
  }
633
633
  )
634
634
  ] });
635
- }, Kt = b(jt), Yt = () => {
635
+ }, jt = b(Kt), Yt = () => {
636
636
  const [e, o] = _.useState(0), { accounts: n } = E();
637
637
  return /* @__PURE__ */ d(g, { children: [
638
638
  /* @__PURE__ */ t(Bt, { setTabValue: o }),
@@ -665,8 +665,8 @@ const U = ({
665
665
  ]
666
666
  }
667
667
  ),
668
- /* @__PURE__ */ t(K, { index: 0, name: "transaction-details", value: e, children: /* @__PURE__ */ t(Kt, {}) }),
669
- /* @__PURE__ */ t(K, { index: 1, name: "account-details", value: e, children: /* @__PURE__ */ t(Ht, {}) })
668
+ /* @__PURE__ */ t(j, { index: 0, name: "transaction-details", value: e, children: /* @__PURE__ */ t(jt, {}) }),
669
+ /* @__PURE__ */ t(j, { index: 1, name: "account-details", value: e, children: /* @__PURE__ */ t(Ht, {}) })
670
670
  ] });
671
671
  }, He = b(Yt);
672
672
  export {
@@ -2,7 +2,7 @@ import { jsx as e, jsxs as u } from "react/jsx-runtime";
2
2
  import { observer as p } from "mobx-react-lite";
3
3
  import d from "@mui/material/Stack";
4
4
  import { H3 as w, InstitutionLogo as I, Text as m, H2 as L } from "@mxenabled/mxui";
5
- import { g as N } from "./AccountFields-CeHZrIQe.mjs";
5
+ import { g as N } from "./AccountFields-Ckw28o6E.mjs";
6
6
  import h from "react";
7
7
  import { G as v, c as S, l as y, u as _, m as E } from "./hooks-02T565vf.mjs";
8
8
  import G from "@mui/material/Card";
@@ -11,9 +11,9 @@ import P from "@mui/material/CardHeader";
11
11
  import { useTheme as M } from "@mui/material/styles";
12
12
  import { g as B, a as H, b as U } from "./SpendingData-D5vsfYKo.mjs";
13
13
  import { L as j } from "./LineChart-CYiUS-px.mjs";
14
- import { I as f, P as g, S as C } from "./Account-BFol-JYA.mjs";
15
- import { A } from "./ConnectDrawer-WfKHsHSF.mjs";
16
- import { L as z } from "./Loader-DUaFpDGv.mjs";
14
+ import { I as f, P as g, S as C } from "./Account-Bdz1k5WZ.mjs";
15
+ import { A } from "./ConnectDrawer-yFS82Il7.mjs";
16
+ import { L as z } from "./Loader-Dp1P2gNw.mjs";
17
17
  import { f as Y, D as R } from "./Dialog-CWW597AF.mjs";
18
18
  import { f as $ } from "./NumberFormatting-CtWHhyBX.mjs";
19
19
  const b = () => {
@@ -1,7 +1,7 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
2
  import { Icon as p, Text as c } from "@mxenabled/mxui";
3
- import { F as m, A as b, a as v, P as h, b as F } from "./ConnectDrawer-WfKHsHSF.mjs";
4
- import { i as D, u as T, a as A, b as O, c as g } from "./Accounts-BuYXUMhP.mjs";
3
+ import { F as m, A as b, a as v, P as h, b as F } from "./ConnectDrawer-yFS82Il7.mjs";
4
+ import { i as D, u as T, a as A, b as O, c as g } from "./Accounts-CAr848d0.mjs";
5
5
  import { f as _, i as d, a as N, b as S } from "./NumberFormatting-CtWHhyBX.mjs";
6
6
  import { b as i } from "./Localization-2MODESHW.mjs";
7
7
  import { f, D as o } from "./Dialog-CWW597AF.mjs";
@@ -10,8 +10,8 @@ import C from "@mui/material/styles/useTheme";
10
10
  import { InstitutionLogo as B, Text as o } from "@mxenabled/mxui";
11
11
  import { Error as L } from "@mxenabled/mx-icons";
12
12
  import { I as A } from "./IconBacking-B9oC6uL2.mjs";
13
- import { g as j } from "./AccountFields-CeHZrIQe.mjs";
14
- import { d } from "./ConnectDrawer-WfKHsHSF.mjs";
13
+ import { g as j } from "./AccountFields-Ckw28o6E.mjs";
14
+ import { d } from "./ConnectDrawer-yFS82Il7.mjs";
15
15
  import { u as T } from "./hooks-02T565vf.mjs";
16
16
  import { f as X } from "./NumberFormatting-CtWHhyBX.mjs";
17
17
  const $ = {
@@ -1,33 +1,34 @@
1
- import { makeAutoObservable as m, runInAction as a } from "mobx";
2
- import { F as A, A as o } from "./Fetch-CkFKy79O.mjs";
3
- import { A as n, d as u, E as _, g, h as f } from "./ConnectDrawer-WfKHsHSF.mjs";
1
+ import { makeAutoObservable as _, runInAction as a } from "mobx";
2
+ import { F as g, A as i } from "./Fetch-CkFKy79O.mjs";
3
+ import { A as s, d, E as f, i as p, j as y } from "./ConnectDrawer-yFS82Il7.mjs";
4
4
  class l {
5
5
  fetchInstance;
6
6
  constructor(t, e) {
7
- this.fetchInstance = new A(t, e);
8
- }
9
- createAccount = async (t) => this.fetchInstance.post(o.ACCOUNTS, t).then((e) => e.account).catch((e) => e);
10
- deleteAccount = async (t) => this.fetchInstance.delete(`${o.ACCOUNTS}/${t}`).catch((e) => e);
11
- getAccounts = async () => this.fetchInstance.get(o.ACCOUNTS).then((t) => t.accounts).catch((t) => t);
12
- getInstitutions = async () => this.fetchInstance.get(o.INSTITUTIONS).then((t) => t).catch((t) => t);
13
- getMembers = async () => this.fetchInstance.get(o.MEMBERS).then((t) => t.members).catch((t) => t);
14
- getMonthlyAccountBalances = async (t) => this.fetchInstance.get(`${o.ACCOUNTS}/${t}/monthly_account_balances`).then((e) => e.monthly_account_balances).catch((e) => e);
15
- mergeAccounts = async (t) => this.fetchInstance.put(`${o.ACCOUNTS}/merge`, { accounts: t }).then((e) => e).catch((e) => e);
16
- refreshAllMembers = async () => this.fetchInstance.get(`${o.MEMBERS}/refresh_all`).then((t) => t).catch((t) => t);
17
- updateAccount = async (t) => this.fetchInstance.put(`${o.ACCOUNTS}/${t.guid}`, t).then((e) => e.account).catch((e) => e);
7
+ this.fetchInstance = new g(t, e);
8
+ }
9
+ createAccount = async (t) => this.fetchInstance.post(i.ACCOUNTS, t).then((e) => e.account).catch((e) => e);
10
+ deleteAccount = async (t) => this.fetchInstance.delete(`${i.ACCOUNTS}/${t}`).catch((e) => e);
11
+ getAccounts = async () => this.fetchInstance.get(i.ACCOUNTS).then((t) => t.accounts).catch((t) => t);
12
+ getInstitutions = async () => this.fetchInstance.get(i.INSTITUTIONS).then((t) => t).catch((t) => t);
13
+ getMembers = async () => this.fetchInstance.get(i.MEMBERS).then((t) => t.members).catch((t) => t);
14
+ getMonthlyAccountBalances = async (t) => this.fetchInstance.get(`${i.ACCOUNTS}/${t}/monthly_account_balances`).then((e) => e.monthly_account_balances).catch((e) => e);
15
+ mergeAccounts = async (t) => this.fetchInstance.put(`${i.ACCOUNTS}/merge`, { accounts: t }).then((e) => e).catch((e) => e);
16
+ refreshAllMembers = async () => this.fetchInstance.get(`${i.MEMBERS}/refresh_all`).then((t) => t).catch((t) => t);
17
+ updateAccount = async (t) => this.fetchInstance.put(`${i.ACCOUNTS}/${t.guid}`, t).then((e) => e.account).catch((e) => e);
18
18
  }
19
- class p {
19
+ const I = (h, t) => !!h.find((e) => e.feature_name === t)?.is_enabled;
20
+ class b {
20
21
  isLoading = !1;
21
22
  selectedAccount = {};
22
23
  selectedMember = {};
23
24
  constructor() {
24
- m(this);
25
+ _(this);
25
26
  }
26
27
  setIsLoading = (t) => this.isLoading = t;
27
28
  setSelectedAccount = (t) => this.selectedAccount = t;
28
29
  setSelectedMember = (t) => this.selectedMember = t;
29
30
  }
30
- class C {
31
+ class w {
31
32
  globalStore;
32
33
  api = new l("/", "");
33
34
  accounts = [];
@@ -35,7 +36,7 @@ class C {
35
36
  members = [];
36
37
  uiStore;
37
38
  constructor(t) {
38
- this.globalStore = t, this.uiStore = new p(), this.api = new l(t.endpoint, t.sessionToken), m(this);
39
+ this.globalStore = t, this.uiStore = new b(), this.api = new l(t.endpoint, t.sessionToken), _(this);
39
40
  }
40
41
  loadAccountData = async ({
41
42
  accounts: t,
@@ -45,36 +46,36 @@ class C {
45
46
  };
46
47
  get cashAccounts() {
47
48
  return this.accounts.filter(
48
- (t) => t.account_type === n.CASH || t.account_type === n.CHECKING || t.account_type === n.PREPAID || t.account_type === n.SAVINGS || t.account_type === n.CHECKING_LINE_OF_CREDIT
49
+ (t) => t.account_type === s.CASH || t.account_type === s.CHECKING || t.account_type === s.PREPAID || t.account_type === s.SAVINGS || t.account_type === s.CHECKING_LINE_OF_CREDIT
49
50
  );
50
51
  }
51
52
  get cashBalance() {
52
53
  return this.cashAccounts.reduce((t, e) => t + (e?.balance || 0), 0);
53
54
  }
54
55
  get checkingAccounts() {
55
- return this.accounts.filter((t) => t.account_type === n.CHECKING);
56
+ return this.accounts.filter((t) => t.account_type === s.CHECKING);
56
57
  }
57
58
  get debtAccounts() {
58
59
  return this.accounts.filter(
59
- (t) => t.account_type === n.CREDIT_CARD || t.account_type === n.LOAN || t.account_type === n.MORTGAGE || t.account_type === n.LINE_OF_CREDIT || t.account_type === n.CHECKING_LINE_OF_CREDIT
60
+ (t) => t.account_type === s.CREDIT_CARD || t.account_type === s.LOAN || t.account_type === s.MORTGAGE || t.account_type === s.LINE_OF_CREDIT || t.account_type === s.CHECKING_LINE_OF_CREDIT
60
61
  );
61
62
  }
62
63
  get finstrongAccounts() {
63
64
  const t = /* @__PURE__ */ new Set([
64
- n.CHECKING,
65
- n.SAVINGS,
66
- n.CREDIT_CARD,
67
- n.INVESTMENT
65
+ s.CHECKING,
66
+ s.SAVINGS,
67
+ s.CREDIT_CARD,
68
+ s.INVESTMENT
68
69
  ]);
69
70
  return this.accounts.filter((e) => t.has(e.account_type));
70
71
  }
71
72
  get investmentAccounts() {
72
73
  return this.accounts.filter(
73
- (t) => t.account_type === n.INVESTMENT
74
+ (t) => t.account_type === s.INVESTMENT
74
75
  );
75
76
  }
76
77
  get savingsAccounts() {
77
- return this.accounts.filter((t) => t.account_type === n.SAVINGS);
78
+ return this.accounts.filter((t) => t.account_type === s.SAVINGS);
78
79
  }
79
80
  get visibleAccounts() {
80
81
  return this.accounts.filter((t) => !t.is_hidden);
@@ -113,24 +114,28 @@ class C {
113
114
  }
114
115
  };
115
116
  augmentAccounts = (t = this.accounts) => {
116
- const e = [];
117
- return t.forEach((c) => {
118
- const s = this.members.findIndex(
119
- (r) => r.guid === c.member_guid
120
- );
121
- if (s > -1) {
122
- let r = u.Connected;
123
- const i = this.members[s];
124
- _.includes(i.connection_status) ? r = u.Error : g.includes(i.connection_status) ? r = u.Processing : f.includes(i.connection_status) && (r = u.RequiresMfa);
125
- let h = c.user_name || c.feed_name || "";
126
- c.account_number && (h = `${h} *${c.account_number}`), e.push({
127
- ...c,
128
- institutionName: h,
129
- memberName: i.name,
130
- connectionStatus: r
131
- }), this.members[s].connectionStatus = r;
132
- }
133
- }), e;
117
+ const e = [], n = this.globalStore.userStore.userFeatures, c = I(
118
+ n,
119
+ "MD_EXCLUDE_EXTERNAL_ACCOUNTS"
120
+ );
121
+ for (const r of t) {
122
+ if (c && r.member_is_managed_by_user) continue;
123
+ const o = this.members.find((m) => m.guid === r.member_guid);
124
+ if (!o) continue;
125
+ let u = d.Connected;
126
+ f.includes(o.connection_status) ? u = d.Error : p.includes(o.connection_status) ? u = d.Processing : y.includes(o.connection_status) && (u = d.RequiresMfa);
127
+ const A = [
128
+ r.user_name || r.feed_name || "",
129
+ r.account_number ? `*${r.account_number}` : ""
130
+ ].join(" ").trim();
131
+ e.push({
132
+ ...r,
133
+ connectionStatus: u,
134
+ institutionName: A,
135
+ memberName: o.name
136
+ }), o.connectionStatus = u;
137
+ }
138
+ return e;
134
139
  };
135
140
  loadAccounts = async (t) => {
136
141
  await this.loadMembers();
@@ -165,18 +170,18 @@ class C {
165
170
  };
166
171
  mergeAccounts = async (t) => {
167
172
  try {
168
- const e = await this.api.mergeAccounts(t), c = e[Object.keys(e)[0]];
173
+ const e = await this.api.mergeAccounts(t), n = e[Object.keys(e)[0]];
169
174
  a(() => {
170
- const s = this.accounts.findIndex((i) => i.guid === t[1]);
171
- this.accounts.splice(s, 1);
172
- const r = this.accounts.findIndex((i) => i.guid === t[0]);
173
- this.accounts.splice(r, 1, c);
175
+ const c = this.accounts.findIndex((o) => o.guid === t[1]);
176
+ this.accounts.splice(c, 1);
177
+ const r = this.accounts.findIndex((o) => o.guid === t[0]);
178
+ this.accounts.splice(r, 1, n);
174
179
  });
175
180
  } catch (e) {
176
181
  console.error(`Error occurred while merging accounts: ${e}`);
177
182
  }
178
183
  };
179
- sortAccounts = (t = this.accounts) => t.sort((e, c) => e.account_type > c.account_type ? 1 : e.account_type < c.account_type ? -1 : (e.name || "") > (c.name || "") ? 1 : (e.name || "") < (c.name || "") ? -1 : 0);
184
+ sortAccounts = (t = this.accounts) => t.sort((e, n) => e.account_type > n.account_type ? 1 : e.account_type < n.account_type ? -1 : (e.name || "") > (n.name || "") ? 1 : (e.name || "") < (n.name || "") ? -1 : 0);
180
185
  refreshAccounts = async () => {
181
186
  this.uiStore.setIsLoading(!0), await Promise.all([this.loadAccounts(), this.loadInstitutions()]), this.uiStore.setIsLoading(!1);
182
187
  };
@@ -190,7 +195,7 @@ class C {
190
195
  removeAccount = async (t) => {
191
196
  try {
192
197
  await this.api.deleteAccount(t), a(() => {
193
- const e = this.accounts.findIndex((c) => c.guid === t);
198
+ const e = this.accounts.findIndex((n) => n.guid === t);
194
199
  this.accounts.splice(e, 1);
195
200
  });
196
201
  } catch (e) {
@@ -201,24 +206,24 @@ class C {
201
206
  try {
202
207
  const e = await this.api.updateAccount(t);
203
208
  a(() => {
204
- const c = this.accounts.findIndex(
205
- (s) => s.guid === e.guid
209
+ const n = this.accounts.findIndex(
210
+ (c) => c.guid === e.guid
206
211
  );
207
- this.accounts.splice(c, 1, e), this.accounts = this.augmentAccounts(this.accounts);
212
+ this.accounts.splice(n, 1, e), this.accounts = this.augmentAccounts(this.accounts);
208
213
  });
209
214
  } catch (e) {
210
215
  console.error(`Error occurred while updating account: ${e}`);
211
216
  }
212
217
  };
213
218
  updateAccountFiltering = async (t, e) => {
214
- for (const c of t) {
215
- const s = this.accounts.find((r) => r.guid === c);
216
- if (s) {
217
- s.is_excluded_from_accounts = e, s.is_excluded_from_budgets = e, s.is_excluded_from_cash_flow = e, s.is_excluded_from_debts = e, s.is_excluded_from_goals = e, s.is_excluded_from_investments = e, s.is_excluded_from_net_worth = e, s.is_excluded_from_spending = e, s.is_excluded_from_transactions = e, s.is_excluded_from_trends = e;
219
+ for (const n of t) {
220
+ const c = this.accounts.find((r) => r.guid === n);
221
+ if (c) {
222
+ c.is_excluded_from_accounts = e, c.is_excluded_from_budgets = e, c.is_excluded_from_cash_flow = e, c.is_excluded_from_debts = e, c.is_excluded_from_goals = e, c.is_excluded_from_investments = e, c.is_excluded_from_net_worth = e, c.is_excluded_from_spending = e, c.is_excluded_from_transactions = e, c.is_excluded_from_trends = e;
218
223
  try {
219
- this.updateAccount(s);
224
+ this.updateAccount(c);
220
225
  } catch (r) {
221
- console.error(`Failed to update account ${c} (added):`, r);
226
+ console.error(`Failed to update account ${n} (added):`, r);
222
227
  }
223
228
  }
224
229
  }
@@ -226,5 +231,5 @@ class C {
226
231
  }
227
232
  export {
228
233
  l as A,
229
- C as a
234
+ w as a
230
235
  };
@@ -1,4 +1,4 @@
1
- import { A as _ } from "./ConnectDrawer-WfKHsHSF.mjs";
1
+ import { A as _ } from "./ConnectDrawer-yFS82Il7.mjs";
2
2
  const s = (t) => t && (t.account_type === _.CREDIT_CARD || t.account_type === _.LOAN || t.account_type === _.MORTGAGE || t.account_type === _.LINE_OF_CREDIT || t.account_type === _.CHECKING_LINE_OF_CREDIT), p = (t) => t.is_manual || !t.guid, E = (t) => t.account_type === _.LINE_OF_CREDIT || t.account_type === _.CREDIT_CARD || t.account_type === _.CHECKING_LINE_OF_CREDIT, a = (t) => t.account_type === _.SAVINGS || t.account_type === _.CHECKING || t.account_type === _.LINE_OF_CREDIT || t.account_type === _.CREDIT_CARD || t.account_type === _.LOAN || t.account_type === _.MORTGAGE, y = (t) => t.account_type === _.LOAN || t.account_type === _.MORTGAGE;
3
3
  export {
4
4
  s as a,
@@ -21,7 +21,7 @@ import ee from "@mui/material/Box";
21
21
  import te from "@mui/material/Chip";
22
22
  import I from "@mui/material/IconButton";
23
23
  import { S as oe } from "./SearchBox-B2_zLv8-.mjs";
24
- import { L as k } from "./Loader-DUaFpDGv.mjs";
24
+ import { L as k } from "./Loader-Dp1P2gNw.mjs";
25
25
  import { D as ae } from "./Drawer-kEE73B87.mjs";
26
26
  const h = () => {
27
27
  if (!C.useContext(K))
@@ -498,10 +498,10 @@ export {
498
498
  sE as d,
499
499
  ZE as e,
500
500
  CE as f,
501
- jE as g,
502
- LE as h,
503
- bE as i,
504
- yE as j,
501
+ bE as g,
502
+ yE as h,
503
+ jE as i,
504
+ LE as j,
505
505
  lE as k,
506
506
  iE as l,
507
507
  SE as m
@@ -3,7 +3,7 @@ import r from "react";
3
3
  import { observer as E } from "mobx-react-lite";
4
4
  import { useTheme as D } from "@mui/material/styles";
5
5
  import { ConnectionsWidget as L } from "@mxenabled/web-widget-sdk";
6
- import { C as a, c, M as i } from "./ConnectDrawer-WfKHsHSF.mjs";
6
+ import { C as a, c, M as i } from "./ConnectDrawer-yFS82Il7.mjs";
7
7
  import { c as b, d as w, u as _ } from "./hooks-02T565vf.mjs";
8
8
  import { D as x } from "./Drawer-kEE73B87.mjs";
9
9
  const I = ({
@@ -1,6 +1,6 @@
1
1
  import { makeAutoObservable as l } from "mobx";
2
2
  import { getDate as o, fromUnixTime as m, startOfMonth as _ } from "date-fns";
3
- import { A as b } from "./ConnectDrawer-WfKHsHSF.mjs";
3
+ import { A as b } from "./ConnectDrawer-yFS82Il7.mjs";
4
4
  var u = /* @__PURE__ */ ((a) => (a[a.HIGHEST_INTEREST = 1] = "HIGHEST_INTEREST", a[a.LOWEST_BALANCE = 2] = "LOWEST_BALANCE", a[a.HIGHEST_BALANCE = 3] = "HIGHEST_BALANCE", a))(u || {});
5
5
  const p = {
6
6
  unnamed_label: "Unnamed Debt"
@@ -7,7 +7,7 @@ import G from "@mui/material/CardHeader";
7
7
  import C from "@mui/material/Stack";
8
8
  import { AccountBalance as f, ChevronRight as I } from "@mxenabled/mx-icons";
9
9
  import { Text as A } from "@mxenabled/mxui";
10
- import { j as N } from "./ConnectDrawer-WfKHsHSF.mjs";
10
+ import { h as N } from "./ConnectDrawer-yFS82Il7.mjs";
11
11
  import { k as O } from "./hooks-02T565vf.mjs";
12
12
  import { makeAutoObservable as p, runInAction as i } from "mobx";
13
13
  import { F as w, A as s } from "./Fetch-CkFKy79O.mjs";
@@ -22,7 +22,7 @@ import at from "@mui/material/Alert";
22
22
  import ct from "@mui/material/Snackbar";
23
23
  import lt from "@mui/material/TextField";
24
24
  import { D as U } from "./Drawer-kEE73B87.mjs";
25
- import { L as dt } from "./Loader-DUaFpDGv.mjs";
25
+ import { L as dt } from "./Loader-Dp1P2gNw.mjs";
26
26
  import Ot from "@mui/material/ListItemAvatar";
27
27
  import Nt from "@mui/material/ListItem";
28
28
  import Dt from "@mui/material/ListItemIcon";
@@ -0,0 +1,14 @@
1
+ import { jsxs as s, jsx as o } from "react/jsx-runtime";
2
+ import c from "@mui/material/CircularProgress";
3
+ import i from "@mui/material/Stack";
4
+ import { useTokens as m, Text as a } from "@mxenabled/mxui";
5
+ const p = ({ height: t = 250, label: r = "", size: e = 32 }) => {
6
+ const n = m();
7
+ return /* @__PURE__ */ s(i, { alignItems: "center", gap: n.Spacing.XLarge, height: t, justifyContent: "center", children: [
8
+ /* @__PURE__ */ o(c, { size: e }),
9
+ r && /* @__PURE__ */ o(a, { children: r })
10
+ ] });
11
+ }, x = p;
12
+ export {
13
+ x as L
14
+ };
@@ -16,7 +16,7 @@ import { startOfToday as z } from "date-fns/startOfToday";
16
16
  import { endOfMonth as _e } from "date-fns/endOfMonth";
17
17
  import H from "@mui/material/Button";
18
18
  import { Delete as me, Add as ye, ReceiptLong as pe } from "@mxenabled/mx-icons";
19
- import { T as X, a as he, u as ge, S as fe, b as Ce } from "./TransactionDetails-CzsGADKj.mjs";
19
+ import { T as X, a as he, u as ge, S as fe, b as Ce } from "./TransactionDetails-B6h5Qo1c.mjs";
20
20
  import { getDayOfYear as be } from "date-fns/getDayOfYear";
21
21
  import { setDayOfYear as Se } from "date-fns/setDayOfYear";
22
22
  import { AdapterDateFns as ve } from "@mui/x-date-pickers/AdapterDateFnsV3";
@@ -25,7 +25,7 @@ import { LocalizationProvider as we } from "@mui/x-date-pickers/LocalizationProv
25
25
  import { u as w, h as M, e as F, a as Ae, f as Z, o as De } from "./hooks-02T565vf.mjs";
26
26
  import { b as Ie, f as J } from "./NumberFormatting-CtWHhyBX.mjs";
27
27
  import { D as O } from "./Drawer-kEE73B87.mjs";
28
- import { A as R } from "./WidgetContainer-Bon2q4nA.mjs";
28
+ import { A as R } from "./WidgetContainer-D7sX3S6R.mjs";
29
29
  import { f as Ee, D as Re, a as Te } from "./Dialog-CWW597AF.mjs";
30
30
  import { formatISO as Le } from "date-fns/formatISO";
31
31
  import { fromUnixTime as Oe } from "date-fns/fromUnixTime";
@@ -3,8 +3,8 @@ import { format as A } from "date-fns/format";
3
3
  import { fromUnixTime as W } from "date-fns/fromUnixTime";
4
4
  import { startOfMonth as _ } from "date-fns/startOfMonth";
5
5
  import { subMonths as B } from "date-fns/subMonths";
6
- import { a as b } from "./Accounts-BuYXUMhP.mjs";
7
- import { e as N, a as M, f as v } from "./ConnectDrawer-WfKHsHSF.mjs";
6
+ import { a as b } from "./Accounts-CAr848d0.mjs";
7
+ import { e as N, a as M, f as v } from "./ConnectDrawer-yFS82Il7.mjs";
8
8
  const f = 13, L = (n, t) => n.filter((e) => {
9
9
  const { is_closed: r, is_deleted: s, is_hidden: a, is_manual: i } = e;
10
10
  return r || s || a ? !1 : i || !e.guid ? !0 : t.some((l) => n.some((g) => l.guid === g.member_guid));
@@ -30,7 +30,7 @@ import R from "@mui/material/Button";
30
30
  import L from "@mui/material/TextField";
31
31
  import { u as fe } from "./useDimensions-27p2evRx.mjs";
32
32
  import X from "@mui/material/styles/useTheme";
33
- import { L as ge } from "./Loader-DUaFpDGv.mjs";
33
+ import { L as ge } from "./Loader-Dp1P2gNw.mjs";
34
34
  const ye = C(() => {
35
35
  const { common: n, settings: t } = D(), { sendEmailVerification: s } = T(), { user: l } = w(), i = X(), [r, a] = f.useState(!1), o = () => {
36
36
  a(!1);
@@ -7,10 +7,10 @@ import R from "@mui/material/Tabs";
7
7
  import l from "@mui/material/Divider";
8
8
  import T from "@mui/material/List";
9
9
  import C from "@mui/material/Stack";
10
- import { R as x, A as S, a as E, M as A } from "./ManageIncome-CZbYL8lE.mjs";
10
+ import { R as x, A as S, a as E, M as A } from "./ManageIncome-Dk2ZDGqw.mjs";
11
11
  import { u as h, h as y, e as _ } from "./hooks-02T565vf.mjs";
12
12
  import { R as v, F as N } from "./RepeatingTransaction-BW4J-jeJ.mjs";
13
- import { A as d } from "./WidgetContainer-Bon2q4nA.mjs";
13
+ import { A as d } from "./WidgetContainer-D7sX3S6R.mjs";
14
14
  const I = u(() => {
15
15
  const { recurring: r } = h(), { repeatingTransactions: s } = y(), { onEvent: o } = _(), a = (n) => {
16
16
  o(d.RECURRING_TRANSACTIONS_CLICK_EXPENSE, {
@@ -16,8 +16,8 @@ import { Receipt as Ke, Delete as re, ChevronRight as $e, Cancel as oe, Search a
16
16
  import { fromUnixTime as Y } from "date-fns/fromUnixTime";
17
17
  import { isSameDay as Ae } from "date-fns/isSameDay";
18
18
  import { h as He } from "./DateUtil-BcuH7ErC.mjs";
19
- import { L as Ne } from "./Loader-DUaFpDGv.mjs";
20
- import { A as P } from "./WidgetContainer-Bon2q4nA.mjs";
19
+ import { L as Ne } from "./Loader-Dp1P2gNw.mjs";
20
+ import { A as P } from "./WidgetContainer-D7sX3S6R.mjs";
21
21
  import ee from "@mui/material/Paper";
22
22
  import le from "@mui/material/Button";
23
23
  import Ue from "@mui/material/FormGroup";
@@ -29,7 +29,7 @@ import V from "@mui/material/Avatar";
29
29
  import B from "@mui/material/ListItem";
30
30
  import H from "@mui/material/ListItemButton";
31
31
  import U from "@mui/material/ListItemIcon";
32
- import { a as De } from "./CategorySelectorDrawer-CMl0DOGM.mjs";
32
+ import { a as De } from "./CategorySelectorDrawer-Dyzb3UDU.mjs";
33
33
  import { a as X, f as Ve, D as We } from "./Dialog-CWW597AF.mjs";
34
34
  import { b as ie } from "./Localization-2MODESHW.mjs";
35
35
  import { getUnixTime as Ye } from "date-fns/getUnixTime";
@@ -7,7 +7,7 @@ import ze from "@mui/material/Link";
7
7
  import K from "@mui/material/Stack";
8
8
  import Ee from "@mui/material/Typography";
9
9
  import { ChevronLeft as Ke, ChevronRight as Se } from "@mxenabled/mx-icons";
10
- import { L as $e } from "./Loader-DUaFpDGv.mjs";
10
+ import { L as $e } from "./Loader-Dp1P2gNw.mjs";
11
11
  import U from "@mui/material/Box";
12
12
  import ue from "@mui/material/IconButton";
13
13
  import { useInView as Me } from "react-intersection-observer";
@@ -11,7 +11,7 @@ import F from "@mui/material/IconButton";
11
11
  import Y from "@mui/material/Stack";
12
12
  import { Icon as s, Text as z, DateRangePicker as q, H1 as se, H3 as le } from "@mxenabled/mxui";
13
13
  import { u as Ce } from "./useDimensions-27p2evRx.mjs";
14
- import { L as de } from "./Loader-DUaFpDGv.mjs";
14
+ import { L as de } from "./Loader-Dp1P2gNw.mjs";
15
15
  import { e as Te, a as Ie, u as Ee, W as Re } from "./hooks-02T565vf.mjs";
16
16
  import { u as ae } from "./useScreenSize-B6JyS_Lj.mjs";
17
17
  import { addMonths as J } from "date-fns/addMonths";
@@ -35,7 +35,7 @@ import Oe from "@mui/material/ToggleButtonGroup";
35
35
  import fe from "@mui/material/styles/useTheme";
36
36
  import { f as K, D as G, a as be } from "./Dialog-CWW597AF.mjs";
37
37
  import { D as we } from "./Drawer-kEE73B87.mjs";
38
- import { i as Ke, j as Ge } from "./ConnectDrawer-WfKHsHSF.mjs";
38
+ import { g as Ke, h as Ge } from "./ConnectDrawer-yFS82Il7.mjs";
39
39
  const Me = {
40
40
  ACCOUNTS_CLICK_ACCOUNT: "accounts_widget_click_account",
41
41
  ACCOUNTS_CLICK_CONNECT: "accounts_widget_click_connect_accounts",