@mx-cartographer/experiences 7.1.1 → 7.1.2

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 (36) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/{Account-DoxALziV.mjs → Account-8IUM_CLv.mjs} +1 -1
  3. package/dist/{AccountDetailsContent-BpY7i5Vt.mjs → AccountDetailsContent-CuZSSAEc.mjs} +6 -6
  4. package/dist/{AccountDetailsHeader-D0FKqNmV.mjs → AccountDetailsHeader-BZBsIKdF.mjs} +4 -4
  5. package/dist/{AccountFields-CgkCSvJV.mjs → AccountFields-BD_0GT68.mjs} +2 -2
  6. package/dist/{AccountListItem-DbpLvx5I.mjs → AccountListItem-CllIBCao.mjs} +3 -3
  7. package/dist/{AccountStore-DWiQAs6V.mjs → AccountStore-BL0FE1QL.mjs} +53 -45
  8. package/dist/{Accounts-CNnOAmr2.mjs → Accounts-Bvc9TJaO.mjs} +1 -1
  9. package/dist/{ConnectDrawer-DJA_S-rX.mjs → ConnectDrawer-CPTXh70j.mjs} +7 -7
  10. package/dist/{ConnectionsDrawer-CU3E2RLw.mjs → ConnectionsDrawer-Dkb4vBmt.mjs} +1 -1
  11. package/dist/{DebtsStore-CoZ30R-_.mjs → DebtsStore-D4grpB4m.mjs} +1 -1
  12. package/dist/{GoalStore-BgiYFwWB.mjs → GoalStore-B5MZzPLZ.mjs} +1 -1
  13. package/dist/{ManageIncome-BXlzeXk6.mjs → ManageIncome-DUuT-yMV.mjs} +2 -2
  14. package/dist/{NetWorthStore-f6RQno5Z.mjs → NetWorthStore-Do1Gk8Te.mjs} +2 -2
  15. package/dist/{RecurringSettings-1t4mROQZ.mjs → RecurringSettings-BVOt46uV.mjs} +2 -2
  16. package/dist/{TransactionDetails-B2Z5S7FM.mjs → TransactionDetails-_cXLXTd3.mjs} +1 -1
  17. package/dist/{WidgetContainer-B8MRJ5Y1.mjs → WidgetContainer-DtPnPQZY.mjs} +9 -9
  18. package/dist/accounts/index.es.js +11 -11
  19. package/dist/accounts/stores/AccountStore.d.ts +2 -0
  20. package/dist/budgets/index.es.js +4 -4
  21. package/dist/cashflow/index.es.js +5 -5
  22. package/dist/common/index.es.js +9 -9
  23. package/dist/dashboard/index.es.js +6 -6
  24. package/dist/debts/index.es.js +5 -5
  25. package/dist/finstrong/index.es.js +4 -4
  26. package/dist/goals/index.es.js +48 -48
  27. package/dist/help/index.es.js +1 -1
  28. package/dist/investments/index.es.js +2 -2
  29. package/dist/networth/index.es.js +4 -4
  30. package/dist/recurringtransactions/index.es.js +5 -5
  31. package/dist/settings/index.es.js +1 -1
  32. package/dist/spending/index.es.js +2 -2
  33. package/dist/transactions/index.es.js +4 -4
  34. package/dist/trends/index.es.js +3 -3
  35. package/dist/{useAccountDisplayName-CyPD_TFR.mjs → useAccountDisplayName-BXGkZN5B.mjs} +1 -1
  36. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## [7.1.2] - 11-07-2025
2
+
3
+ - **ADDED** - `visibleRetirementAccounts` and `retirementAccounts` getters to `AccountStore`
4
+ - **UPDATED** - `AddRetirementAccountAction` and `GoalDetailsDrawer` to retirement accounts instead of only investment accounts
5
+
1
6
  ## [7.1.1] - 11-06-2025
2
7
 
3
8
  - **UPDATED** - Cash Flow widget to show add income button when no recurring income transactions
@@ -1,4 +1,4 @@
1
- import { A as C } from "./ConnectDrawer-DJA_S-rX.mjs";
1
+ import { A as C } from "./ConnectDrawer-CPTXh70j.mjs";
2
2
  const I = [
3
3
  C.ANY,
4
4
  C.CASH,
@@ -11,10 +11,10 @@ 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-D0FKqNmV.mjs";
14
+ import { u as D } from "./AccountDetailsHeader-BZBsIKdF.mjs";
15
15
  import { d as z, u as E, g as O, h as X } from "./hooks-CE2TKk4a.mjs";
16
- import { A as at } from "./AccountListItem-DbpLvx5I.mjs";
17
- import { A as k } from "./WidgetContainer-B8MRJ5Y1.mjs";
16
+ import { A as at } from "./AccountListItem-CllIBCao.mjs";
17
+ import { A as k } from "./WidgetContainer-DtPnPQZY.mjs";
18
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";
@@ -22,7 +22,7 @@ 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 { m, N as Q, k as Z, F as P } from "./ConnectDrawer-DJA_S-rX.mjs";
25
+ import { n as m, N as Q, l as Z, F as P } from "./ConnectDrawer-CPTXh70j.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,13 +38,13 @@ 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-C4xNRL2W.mjs";
41
- import { b as Dt } from "./AccountFields-CgkCSvJV.mjs";
41
+ import { b as Dt } from "./AccountFields-BD_0GT68.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-B2Z5S7FM.mjs";
47
+ import { T as vt, a as Lt } from "./TransactionDetails-_cXLXTd3.mjs";
48
48
  import { T as j } from "./TabContentContainer-j01JYR_7.mjs";
49
49
  const U = ({
50
50
  children: e,
@@ -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 v } from "./AccountFields-CgkCSvJV.mjs";
5
+ import { g as v } from "./AccountFields-BD_0GT68.mjs";
6
6
  import h from "react";
7
7
  import { G as E, d as y, m as S, u as _, f as G } from "./hooks-CE2TKk4a.mjs";
8
8
  import O from "@mui/material/Card";
@@ -11,11 +11,11 @@ import M from "@mui/material/CardHeader";
11
11
  import { useTheme as B } from "@mui/material/styles";
12
12
  import { g as H, a as U, b as j } from "./SpendingData-D5vsfYKo.mjs";
13
13
  import { L as z } from "./LineChart-B35qvXik.mjs";
14
- import { I as f, P as g, S as C } from "./Account-DoxALziV.mjs";
15
- import { A } from "./ConnectDrawer-DJA_S-rX.mjs";
14
+ import { I as f, P as g, S as C } from "./Account-8IUM_CLv.mjs";
15
+ import { A } from "./ConnectDrawer-CPTXh70j.mjs";
16
16
  import { L as Y } from "./Loader-DUaFpDGv.mjs";
17
17
  import { f as R, D as $ } from "./Dialog-CWW597AF.mjs";
18
- import { u as k } from "./useAccountDisplayName-CyPD_TFR.mjs";
18
+ import { u as k } from "./useAccountDisplayName-BXGkZN5B.mjs";
19
19
  import { f as F } from "./NumberFormatting-Buh7u8Oi.mjs";
20
20
  const b = () => {
21
21
  if (!h.useContext(E))
@@ -1,7 +1,7 @@
1
1
  import { jsx as u } from "react/jsx-runtime";
2
2
  import { Icon as p, Text as y } from "@mxenabled/mxui";
3
- import { F as m, A as d, a as v, P as h, b as F } from "./ConnectDrawer-DJA_S-rX.mjs";
4
- import { i as T, u as D, a as A, b as g, c as O } from "./Accounts-CNnOAmr2.mjs";
3
+ import { F as m, A as d, a as v, P as h, b as F } from "./ConnectDrawer-CPTXh70j.mjs";
4
+ import { i as T, u as D, a as A, b as g, c as O } from "./Accounts-Bvc9TJaO.mjs";
5
5
  import { f as _, i as b, a as N, b as S } from "./NumberFormatting-Buh7u8Oi.mjs";
6
6
  import { b as i } from "./Localization-2MODESHW.mjs";
7
7
  import { f as o, D as f } from "./Dialog-CWW597AF.mjs";
@@ -10,9 +10,9 @@ import B from "@mui/material/styles/useTheme";
10
10
  import { InstitutionLogo as L, Text as o } from "@mxenabled/mxui";
11
11
  import { Error as A } from "@mxenabled/mx-icons";
12
12
  import { I as j } from "./IconBacking-B9oC6uL2.mjs";
13
- import { g as T } from "./AccountFields-CgkCSvJV.mjs";
14
- import { u as X } from "./useAccountDisplayName-CyPD_TFR.mjs";
15
- import { d } from "./ConnectDrawer-DJA_S-rX.mjs";
13
+ import { g as T } from "./AccountFields-BD_0GT68.mjs";
14
+ import { u as X } from "./useAccountDisplayName-BXGkZN5B.mjs";
15
+ import { d } from "./ConnectDrawer-CPTXh70j.mjs";
16
16
  import { u as $ } from "./hooks-CE2TKk4a.mjs";
17
17
  import { f as k } from "./NumberFormatting-Buh7u8Oi.mjs";
18
18
  const w = {
@@ -1,11 +1,11 @@
1
- import { makeAutoObservable as _, runInAction as a } from "mobx";
2
- import { i as g } from "./User-DaJAQ09j.mjs";
3
- import { F as f, A as i } from "./Fetch-87LIQbEA.mjs";
4
- import { A as n, d as h, E as p, h as y, i as I } from "./ConnectDrawer-DJA_S-rX.mjs";
5
- class l {
1
+ import { makeAutoObservable as A, runInAction as a } from "mobx";
2
+ import { i as f } from "./User-DaJAQ09j.mjs";
3
+ import { F as p, A as i } from "./Fetch-87LIQbEA.mjs";
4
+ import { A as c, h as d, d as h, E as y, i as I, j as b } from "./ConnectDrawer-CPTXh70j.mjs";
5
+ class _ {
6
6
  fetchInstance;
7
- constructor(t, e, s) {
8
- this.fetchInstance = new f(t, e, void 0, s);
7
+ constructor(t, e, n) {
8
+ this.fetchInstance = new p(t, e, void 0, n);
9
9
  }
10
10
  createAccount = async (t) => this.fetchInstance.post(i.ACCOUNTS, t).then((e) => e.account).catch((e) => e);
11
11
  deleteAccount = async (t) => this.fetchInstance.delete(`${i.ACCOUNTS}/${t}`).catch((e) => e);
@@ -17,26 +17,26 @@ class l {
17
17
  refreshAllMembers = async () => this.fetchInstance.get(`${i.MEMBERS}/refresh_all`).then((t) => t).catch((t) => t);
18
18
  updateAccount = async (t) => this.fetchInstance.put(`${i.ACCOUNTS}/${t.guid}`, t).then((e) => e.account).catch((e) => e);
19
19
  }
20
- class b {
20
+ class E {
21
21
  isLoading = !1;
22
22
  selectedAccount = {};
23
23
  selectedMember = {};
24
24
  constructor() {
25
- _(this);
25
+ A(this);
26
26
  }
27
27
  setIsLoading = (t) => this.isLoading = t;
28
28
  setSelectedAccount = (t) => this.selectedAccount = t;
29
29
  setSelectedMember = (t) => this.selectedMember = t;
30
30
  }
31
- class N {
31
+ class T {
32
32
  globalStore;
33
- api = new l("/", "");
33
+ api = new _("/", "");
34
34
  accounts = [];
35
35
  institutions = [];
36
36
  members = [];
37
37
  uiStore;
38
38
  constructor(t) {
39
- this.globalStore = t, this.uiStore = new b(), this.api = new l(t.endpoint, t.sessionToken, t.onError), _(this);
39
+ this.globalStore = t, this.uiStore = new E(), this.api = new _(t.endpoint, t.sessionToken, t.onError), A(this);
40
40
  }
41
41
  loadAccountData = async ({
42
42
  accounts: t,
@@ -46,36 +46,41 @@ class N {
46
46
  };
47
47
  get cashAccounts() {
48
48
  return this.accounts.filter(
49
- (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 === c.CASH || t.account_type === c.CHECKING || t.account_type === c.PREPAID || t.account_type === c.SAVINGS || t.account_type === c.CHECKING_LINE_OF_CREDIT
50
50
  );
51
51
  }
52
52
  get cashBalance() {
53
53
  return this.cashAccounts.reduce((t, e) => t + (e?.balance || 0), 0);
54
54
  }
55
55
  get checkingAccounts() {
56
- return this.accounts.filter((t) => t.account_type === n.CHECKING);
56
+ return this.accounts.filter((t) => t.account_type === c.CHECKING);
57
57
  }
58
58
  get debtAccounts() {
59
59
  return this.accounts.filter(
60
- (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 === c.CREDIT_CARD || t.account_type === c.LOAN || t.account_type === c.MORTGAGE || t.account_type === c.LINE_OF_CREDIT || t.account_type === c.CHECKING_LINE_OF_CREDIT
61
61
  );
62
62
  }
63
63
  get finstrongAccounts() {
64
64
  const t = /* @__PURE__ */ new Set([
65
- n.CHECKING,
66
- n.SAVINGS,
67
- n.CREDIT_CARD,
68
- n.INVESTMENT
65
+ c.CHECKING,
66
+ c.SAVINGS,
67
+ c.CREDIT_CARD,
68
+ c.INVESTMENT
69
69
  ]);
70
70
  return this.accounts.filter((e) => t.has(e.account_type));
71
71
  }
72
72
  get investmentAccounts() {
73
73
  return this.accounts.filter(
74
- (t) => t.account_type === n.INVESTMENT
74
+ (t) => t.account_type === c.INVESTMENT
75
75
  );
76
76
  }
77
77
  get savingsAccounts() {
78
- return this.accounts.filter((t) => t.account_type === n.SAVINGS);
78
+ return this.accounts.filter((t) => t.account_type === c.SAVINGS);
79
+ }
80
+ get retirementAccounts() {
81
+ return this.accounts.filter(
82
+ (t) => t.account_type === c.INVESTMENT || t.account_type === c.SAVINGS || t.account_type === c.CHECKING || t.account_type === c.CASH || t.account_type === c.PROPERTY || t.account_type === c.INSURANCE && (t.account_subtype === d.WHOLE_LIFE || t.account_subtype === d.UNIVERSAL_LIFE || t.account_subtype === d.VARIABLE_UNIVERSAL_LIFE)
83
+ );
79
84
  }
80
85
  get visibleAccounts() {
81
86
  return this.accounts.filter((t) => !t.is_hidden);
@@ -97,6 +102,9 @@ class N {
97
102
  (t) => !(t.is_closed || t.is_deleted || t.is_hidden)
98
103
  );
99
104
  }
105
+ get visibleRetirementAccounts() {
106
+ return this.retirementAccounts.filter((t) => !t.is_hidden);
107
+ }
100
108
  get visibleInvestmentAccounts() {
101
109
  return this.investmentAccounts.filter((t) => !t.is_hidden);
102
110
  }
@@ -114,24 +122,24 @@ class N {
114
122
  }
115
123
  };
116
124
  augmentAccounts = (t = this.accounts) => {
117
- const e = [], s = this.globalStore.userStore.userFeatures, c = g(
118
- s,
125
+ const e = [], n = this.globalStore.userStore.userFeatures, s = f(
126
+ n,
119
127
  "MD_EXCLUDE_EXTERNAL_ACCOUNTS"
120
128
  );
121
129
  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);
130
+ if (s && r.member_is_managed_by_user) continue;
131
+ const o = this.members.find((g) => g.guid === r.member_guid);
124
132
  if (!o) continue;
125
133
  let u = h.Connected;
126
- p.includes(o.connection_status) ? u = h.Error : y.includes(o.connection_status) ? u = h.Processing : I.includes(o.connection_status) && (u = h.RequiresMfa);
127
- const A = [
134
+ y.includes(o.connection_status) ? u = h.Error : I.includes(o.connection_status) ? u = h.Processing : b.includes(o.connection_status) && (u = h.RequiresMfa);
135
+ const m = [
128
136
  r.user_name || r.feed_name || "",
129
137
  r.account_number ? `*${r.account_number}` : ""
130
138
  ].join(" ").trim();
131
139
  e.push({
132
140
  ...r,
133
141
  connectionStatus: u,
134
- institutionName: A,
142
+ institutionName: m,
135
143
  memberName: o.name
136
144
  }), o.connectionStatus = u;
137
145
  }
@@ -170,18 +178,18 @@ class N {
170
178
  };
171
179
  mergeAccounts = async (t) => {
172
180
  try {
173
- const e = await this.api.mergeAccounts(t), s = e[Object.keys(e)[0]];
181
+ const e = await this.api.mergeAccounts(t), n = e[Object.keys(e)[0]];
174
182
  a(() => {
175
- const c = this.accounts.findIndex((o) => o.guid === t[1]);
176
- this.accounts.splice(c, 1);
183
+ const s = this.accounts.findIndex((o) => o.guid === t[1]);
184
+ this.accounts.splice(s, 1);
177
185
  const r = this.accounts.findIndex((o) => o.guid === t[0]);
178
- this.accounts.splice(r, 1, s);
186
+ this.accounts.splice(r, 1, n);
179
187
  });
180
188
  } catch (e) {
181
189
  console.error(`Error occurred while merging accounts: ${e}`);
182
190
  }
183
191
  };
184
- sortAccounts = (t = this.accounts) => t.sort((e, s) => e.account_type > s.account_type ? 1 : e.account_type < s.account_type ? -1 : (e.name || "") > (s.name || "") ? 1 : (e.name || "") < (s.name || "") ? -1 : 0);
192
+ 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);
185
193
  refreshAccounts = async () => {
186
194
  this.uiStore.setIsLoading(!0), await Promise.all([this.loadAccounts(), this.loadInstitutions()]), this.uiStore.setIsLoading(!1);
187
195
  };
@@ -195,7 +203,7 @@ class N {
195
203
  removeAccount = async (t) => {
196
204
  try {
197
205
  await this.api.deleteAccount(t), a(() => {
198
- const e = this.accounts.findIndex((s) => s.guid === t);
206
+ const e = this.accounts.findIndex((n) => n.guid === t);
199
207
  this.accounts.splice(e, 1);
200
208
  });
201
209
  } catch (e) {
@@ -206,30 +214,30 @@ class N {
206
214
  try {
207
215
  const e = await this.api.updateAccount(t);
208
216
  a(() => {
209
- const s = this.accounts.findIndex(
210
- (c) => c.guid === e.guid
217
+ const n = this.accounts.findIndex(
218
+ (s) => s.guid === e.guid
211
219
  );
212
- this.accounts.splice(s, 1, e), this.accounts = this.augmentAccounts(this.accounts);
220
+ this.accounts.splice(n, 1, e), this.accounts = this.augmentAccounts(this.accounts);
213
221
  });
214
222
  } catch (e) {
215
223
  console.error(`Error occurred while updating account: ${e}`);
216
224
  }
217
225
  };
218
226
  updateAccountFiltering = async (t, e) => {
219
- for (const s of t) {
220
- const c = this.accounts.find((r) => r.guid === s);
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;
227
+ for (const n of t) {
228
+ const s = this.accounts.find((r) => r.guid === n);
229
+ if (s) {
230
+ 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;
223
231
  try {
224
- this.updateAccount(c);
232
+ this.updateAccount(s);
225
233
  } catch (r) {
226
- console.error(`Failed to update account ${s} (added):`, r);
234
+ console.error(`Failed to update account ${n} (added):`, r);
227
235
  }
228
236
  }
229
237
  }
230
238
  };
231
239
  }
232
240
  export {
233
- l as A,
234
- N as a
241
+ _ as A,
242
+ T as a
235
243
  };
@@ -1,4 +1,4 @@
1
- import { A as _ } from "./ConnectDrawer-DJA_S-rX.mjs";
1
+ import { A as _ } from "./ConnectDrawer-CPTXh70j.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,
@@ -533,12 +533,12 @@ export {
533
533
  uE as e,
534
534
  PE as f,
535
535
  AE as g,
536
- bE as h,
537
- DE as i,
538
- NI as j,
539
- RI as k,
540
- _I as l,
541
- eE as m,
542
- sE as n,
536
+ sE as h,
537
+ bE as i,
538
+ DE as j,
539
+ NI as k,
540
+ RI as l,
541
+ _I as m,
542
+ eE as n,
543
543
  EI as o
544
544
  };
@@ -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-DJA_S-rX.mjs";
6
+ import { C as a, c, M as i } from "./ConnectDrawer-CPTXh70j.mjs";
7
7
  import { d as b, e as w, u as _ } from "./hooks-CE2TKk4a.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 r, fromUnixTime as _, startOfMonth as m } from "date-fns";
3
- import { A as p } from "./ConnectDrawer-DJA_S-rX.mjs";
3
+ import { A as p } from "./ConnectDrawer-CPTXh70j.mjs";
4
4
  const E = 12, T = 100;
5
5
  var c = /* @__PURE__ */ ((a) => (a[a.FASTEST_PAYOFF_FIRST = 1] = "FASTEST_PAYOFF_FIRST", a[a.HIGHEST_INTEREST = 2] = "HIGHEST_INTEREST", a[a.LOWEST_BALANCE = 3] = "LOWEST_BALANCE", a[a.HIGHEST_BALANCE = 4] = "HIGHEST_BALANCE", a))(c || {});
6
6
  const b = {
@@ -7,7 +7,7 @@ import O from "@mui/material/CardHeader";
7
7
  import S from "@mui/material/Stack";
8
8
  import { AccountBalance as w, ChevronRight as L } from "@mxenabled/mx-icons";
9
9
  import { Text as A } from "@mxenabled/mxui";
10
- import { k as b } from "./ConnectDrawer-DJA_S-rX.mjs";
10
+ import { l as b } from "./ConnectDrawer-CPTXh70j.mjs";
11
11
  import { a as y } from "./hooks-CE2TKk4a.mjs";
12
12
  import { makeAutoObservable as D, runInAction as c } from "mobx";
13
13
  import { F as v, A as i } from "./Fetch-87LIQbEA.mjs";
@@ -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 $ from "@mui/material/Button";
18
18
  import { Delete as me, Add as he, ReceiptLong as pe } from "@mxenabled/mx-icons";
19
- import { T as X, a as ye, u as ge, S as fe, b as Ce } from "./TransactionDetails-B2Z5S7FM.mjs";
19
+ import { T as X, a as ye, u as ge, S as fe, b as Ce } from "./TransactionDetails-_cXLXTd3.mjs";
20
20
  import { getDayOfYear as be } from "date-fns/getDayOfYear";
21
21
  import { setDayOfYear as xe } from "date-fns/setDayOfYear";
22
22
  import { AdapterDateFns as Se } 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, j as M, g as F, b as Ae, h as Z, o as De } from "./hooks-CE2TKk4a.mjs";
26
26
  import { b as Ie, f as J } from "./NumberFormatting-Buh7u8Oi.mjs";
27
27
  import { D as O } from "./Drawer-kEE73B87.mjs";
28
- import { A as R } from "./WidgetContainer-B8MRJ5Y1.mjs";
28
+ import { A as R } from "./WidgetContainer-DtPnPQZY.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-CNnOAmr2.mjs";
7
- import { e as N, a as M, f as v } from "./ConnectDrawer-DJA_S-rX.mjs";
6
+ import { a as b } from "./Accounts-Bvc9TJaO.mjs";
7
+ import { e as N, a as M, f as v } from "./ConnectDrawer-CPTXh70j.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));
@@ -7,10 +7,10 @@ import b from "@mui/material/Tabs";
7
7
  import d from "@mui/material/Divider";
8
8
  import R from "@mui/material/List";
9
9
  import T from "@mui/material/Stack";
10
- import { R as C, A as S, a as E, M as v } from "./ManageIncome-BXlzeXk6.mjs";
10
+ import { R as C, A as S, a as E, M as v } from "./ManageIncome-DUuT-yMV.mjs";
11
11
  import { u as _, j as A, g as f } from "./hooks-CE2TKk4a.mjs";
12
12
  import { R as y, F as N } from "./RecurringTransactions-ej39mgA6.mjs";
13
- import { A as m } from "./WidgetContainer-B8MRJ5Y1.mjs";
13
+ import { A as m } from "./WidgetContainer-DtPnPQZY.mjs";
14
14
  const I = h(() => {
15
15
  const { recurring: g } = _(), { repeatingTransactions: n } = A(), { onEvent: o } = f(), l = (r) => {
16
16
  o(m.RECURRING_TRANSACTIONS_CLICK_EXPENSE, {
@@ -17,7 +17,7 @@ import { fromUnixTime as W } from "date-fns/fromUnixTime";
17
17
  import { isSameDay as Ne } from "date-fns/isSameDay";
18
18
  import { h as Ye } from "./DateUtil-BcuH7ErC.mjs";
19
19
  import { L as Ie } from "./Loader-DUaFpDGv.mjs";
20
- import { A as P } from "./WidgetContainer-B8MRJ5Y1.mjs";
20
+ import { A as P } from "./WidgetContainer-DtPnPQZY.mjs";
21
21
  import ne from "@mui/material/Paper";
22
22
  import ce from "@mui/material/Button";
23
23
  import je from "@mui/material/FormGroup";
@@ -10,7 +10,7 @@ import q from "@mui/material/Divider";
10
10
  import z from "@mui/material/IconButton";
11
11
  import Y from "@mui/material/Stack";
12
12
  import { ChevronLeft as le } from "@mxenabled/mx-icons";
13
- import { Icon as T, Text as j, DateRangePicker as J, H1 as Ce, H3 as de } from "@mxenabled/mxui";
13
+ import { Icon as T, Text as X, DateRangePicker as J, H1 as Ce, H3 as de } from "@mxenabled/mxui";
14
14
  import { u as Te } from "./useDimensions-27p2evRx.mjs";
15
15
  import { L as Ie } from "./Loader-DUaFpDGv.mjs";
16
16
  import { g as Ee, b as Re, u as ge, a as Ae, W as Se } from "./hooks-CE2TKk4a.mjs";
@@ -26,7 +26,7 @@ import { endOfYear as Le } from "date-fns/endOfYear";
26
26
  import { startOfMonth as De } from "date-fns/startOfMonth";
27
27
  import { startOfToday as pe } from "date-fns/startOfToday";
28
28
  import { startOfYear as ke } from "date-fns/startOfYear";
29
- import { subMonths as X } from "date-fns/subMonths";
29
+ import { subMonths as j } from "date-fns/subMonths";
30
30
  import { subDays as he } from "date-fns/subDays";
31
31
  import { subYears as _e } from "date-fns/subYears";
32
32
  import Oe from "@mui/material/ButtonGroup";
@@ -37,7 +37,7 @@ import Ke from "@mui/material/ToggleButtonGroup";
37
37
  import Ge from "@mui/material/styles/useTheme";
38
38
  import { f as K, D as G, a as Me } from "./Dialog-CWW597AF.mjs";
39
39
  import { D as We } from "./Drawer-kEE73B87.mjs";
40
- import { j as ye, k as xe } from "./ConnectDrawer-DJA_S-rX.mjs";
40
+ import { k as ye, l as xe } from "./ConnectDrawer-CPTXh70j.mjs";
41
41
  const ve = {
42
42
  ACCOUNTS_CLICK_ACCOUNT: "accounts_widget_click_account",
43
43
  ACCOUNTS_CLICK_CONNECT: "accounts_widget_click_connect_accounts",
@@ -187,14 +187,14 @@ const ve = {
187
187
  }, [h]);
188
188
  const I = () => {
189
189
  const e = V(te());
190
- return [V(X(e, h)), e];
190
+ return [V(j(e, h)), e];
191
191
  }, w = (e) => {
192
192
  const [i, E] = s, S = e === "previous";
193
193
  let u;
194
194
  if (c === _.dateRangePickerCopy.dateRangeThisMonth || c === _.dateRangePickerCopy.dateRangeLastMonth)
195
195
  u = [
196
- S ? X(i, 1) : Q(i, 1),
197
- V(S ? X(E, 1) : Q(E, 1))
196
+ S ? j(i, 1) : Q(i, 1),
197
+ V(S ? j(E, 1) : Q(E, 1))
198
198
  ];
199
199
  else if (c === _.dateRangePickerCopy.dateRangeYTD || c === _.dateRangePickerCopy.dateRangeLastYear) {
200
200
  const R = ke(i), g = Le(i);
@@ -232,9 +232,9 @@ const ve = {
232
232
  children: [
233
233
  n === "readonly" && /* @__PURE__ */ d(Y, { alignItems: "center", direction: "row", gap: 8, children: [
234
234
  /* @__PURE__ */ t(T, { name: "calendar_month", size: 24 }),
235
- /* @__PURE__ */ t(j, { bold: !0, children: K(r[0], G.MONTH_DAY) }),
235
+ /* @__PURE__ */ t(X, { bold: !0, children: K(r[0], G.MONTH_DAY) }),
236
236
  /* @__PURE__ */ t(T, { name: "remove" }),
237
- /* @__PURE__ */ t(j, { bold: !0, children: K(r[1], G.MONTH_DAY_YEAR) })
237
+ /* @__PURE__ */ t(X, { bold: !0, children: K(r[1], G.MONTH_DAY_YEAR) })
238
238
  ] }),
239
239
  n !== "readonly" && n !== "timeframebuttons" && n !== "timeframetabs" && /* @__PURE__ */ d(
240
240
  Oe,
@@ -322,7 +322,7 @@ const ve = {
322
322
  children: C.tabs.map((e) => /* @__PURE__ */ t(
323
323
  fe,
324
324
  {
325
- label: /* @__PURE__ */ t(j, { bold: !0, variant: "Body", children: e.label }),
325
+ label: /* @__PURE__ */ t(X, { bold: !0, variant: "Body", children: e.label }),
326
326
  sx: { minWidth: 80 },
327
327
  value: e.value
328
328
  },
@@ -7,25 +7,25 @@ import E from "@mui/material/List";
7
7
  import O from "@mui/material/ListSubheader";
8
8
  import _ from "@mui/system/Stack";
9
9
  import { Text as v } from "@mxenabled/mxui";
10
- import { A as K } from "../AccountDetailsContent-BpY7i5Vt.mjs";
11
- import { u as D1 } from "../AccountDetailsContent-BpY7i5Vt.mjs";
12
- import { u as z, A as P } from "../AccountDetailsHeader-D0FKqNmV.mjs";
13
- import { A as W } from "../AccountListItem-DbpLvx5I.mjs";
14
- import { a as Y } from "../AccountFields-CgkCSvJV.mjs";
15
- import { g as U1, b as $1 } from "../AccountFields-CgkCSvJV.mjs";
10
+ import { A as K } from "../AccountDetailsContent-CuZSSAEc.mjs";
11
+ import { u as D1 } from "../AccountDetailsContent-CuZSSAEc.mjs";
12
+ import { u as z, A as P } from "../AccountDetailsHeader-BZBsIKdF.mjs";
13
+ import { A as W } from "../AccountListItem-CllIBCao.mjs";
14
+ import { a as Y } from "../AccountFields-BD_0GT68.mjs";
15
+ import { g as U1, b as $1 } from "../AccountFields-BD_0GT68.mjs";
16
16
  import { u as w, b as S, d as T, g as D, a as q } from "../hooks-CE2TKk4a.mjs";
17
17
  import { f as I } from "../NumberFormatting-Buh7u8Oi.mjs";
18
18
  import { D as J } from "../Drawer-kEE73B87.mjs";
19
- import { A as y, W as Q } from "../WidgetContainer-B8MRJ5Y1.mjs";
20
- import { C as X } from "../ConnectionsDrawer-CU3E2RLw.mjs";
19
+ import { A as y, W as Q } from "../WidgetContainer-DtPnPQZY.mjs";
20
+ import { C as X } from "../ConnectionsDrawer-Dkb4vBmt.mjs";
21
21
  import { u as N } from "../useScreenSize-B6JyS_Lj.mjs";
22
22
  import { L as R } from "../Loader-DUaFpDGv.mjs";
23
- import { k as U, l as e1 } from "../ConnectDrawer-DJA_S-rX.mjs";
24
- import { F as G1, M as K1 } from "../ConnectDrawer-DJA_S-rX.mjs";
23
+ import { l as U, m as e1 } from "../ConnectDrawer-CPTXh70j.mjs";
24
+ import { F as G1, M as K1 } from "../ConnectDrawer-CPTXh70j.mjs";
25
25
  import t1 from "@mui/material/ListItem";
26
26
  import { M as $ } from "../MiniWidgetContainer-DTQdRK-3.mjs";
27
27
  import l1 from "@mui/material/Stack";
28
- import { A as P1, a as Y1 } from "../AccountStore-DWiQAs6V.mjs";
28
+ import { A as P1, a as Y1 } from "../AccountStore-BL0FE1QL.mjs";
29
29
  const i1 = () => {
30
30
  const [c, H] = d.useState(""), { accounts: C } = w(), { selectedAccounts: l } = S(), { setSelectedAccount: h, setSelectedMember: r } = z(), { members: L } = T(), { onEvent: f } = D(), s = [...new Set(l.map((t) => t.account_type))], a = l.find((t) => c === t.guid), u = d.useMemo(
31
31
  () => l.filter((t) => t.is_hidden),
@@ -20,12 +20,14 @@ export declare class AccountStore {
20
20
  get finstrongAccounts(): Account[];
21
21
  get investmentAccounts(): Account[];
22
22
  get savingsAccounts(): Account[];
23
+ get retirementAccounts(): Account[];
23
24
  get visibleAccounts(): Account[];
24
25
  get visibleCashAccounts(): Account[];
25
26
  get visibleCashBalance(): number;
26
27
  get visibleCheckingAccounts(): Account[];
27
28
  get visibleDebtAccounts(): Account[];
28
29
  get visibleFinstrongAccounts(): Account[];
30
+ get visibleRetirementAccounts(): Account[];
29
31
  get visibleInvestmentAccounts(): Account[];
30
32
  get visibleSavingsAccounts(): Account[];
31
33
  addAccount: (account: Account) => Promise<void>;
@@ -21,13 +21,13 @@ import { D as k } from "../Drawer-kEE73B87.mjs";
21
21
  import Fe from "@mui/material/ListItemSecondaryAction";
22
22
  import { C as He } from "../CurrencyInput-C4xNRL2W.mjs";
23
23
  import { a as $ } from "../Dialog-CWW597AF.mjs";
24
- import { C as We } from "../ConnectionsDrawer-CU3E2RLw.mjs";
24
+ import { C as We } from "../ConnectionsDrawer-Dkb4vBmt.mjs";
25
25
  import * as O from "d3";
26
26
  import Xe from "@mui/material/Tooltip";
27
27
  import { u as se } from "../useScreenSize-B6JyS_Lj.mjs";
28
28
  import { L as G } from "../Loader-DUaFpDGv.mjs";
29
29
  import { E as de } from "../EmptyState-DA_lfRBv.mjs";
30
- import { A as L, W as Ke } from "../WidgetContainer-B8MRJ5Y1.mjs";
30
+ import { A as L, W as Ke } from "../WidgetContainer-DtPnPQZY.mjs";
31
31
  import { u as Ve } from "../BudgetUtil-psfk-Amb.mjs";
32
32
  import { M as Ye } from "../MiniWidgetContainer-DTQdRK-3.mjs";
33
33
  import { isAfter as Ze } from "date-fns/isAfter";
@@ -37,7 +37,7 @@ import Je from "@mui/material/Snackbar";
37
37
  import ye from "@mui/material/Tab";
38
38
  import Qe from "@mui/material/Tabs";
39
39
  import { e as et } from "../exportTransactionsToCSV-D8TTNrrE.mjs";
40
- import { T as Te, a as tt } from "../TransactionDetails-B2Z5S7FM.mjs";
40
+ import { T as Te, a as tt } from "../TransactionDetails-_cXLXTd3.mjs";
41
41
  import pe from "@mui/material/Card";
42
42
  import he from "@mui/material/CardContent";
43
43
  import { S as ge } from "../StatusBar-BK_uYHAB.mjs";
@@ -46,7 +46,7 @@ import { u as nt, b as ot } from "../CategorySelectorDrawer-BmenK5bu.mjs";
46
46
  import De from "@mui/material/CardHeader";
47
47
  import { subDays as at } from "date-fns/subDays";
48
48
  import rt from "@mui/material/IconButton";
49
- import { M as st } from "../ManageIncome-BXlzeXk6.mjs";
49
+ import { M as st } from "../ManageIncome-DUuT-yMV.mjs";
50
50
  const it = I(() => {
51
51
  const { budgets: t } = w(), { totalBudgeted: o } = D(), { incomeTotal: i } = ee(), s = i - o;
52
52
  return /* @__PURE__ */ m(S, { direction: "row", justifyContent: "center", my: 16, spacing: 20, children: [
@@ -17,13 +17,13 @@ import { C as Gn } from "../CashflowStore-D9Dpuz7X.mjs";
17
17
  import { b as j } from "../Localization-2MODESHW.mjs";
18
18
  import { M as Ve } from "../MiniWidgetContainer-DTQdRK-3.mjs";
19
19
  import { E as Ke } from "../EmptyState-DA_lfRBv.mjs";
20
- import { R as Je } from "../RecurringSettings-1t4mROQZ.mjs";
20
+ import { R as Je } from "../RecurringSettings-BVOt46uV.mjs";
21
21
  import Ze from "@mui/material/Tabs";
22
22
  import ye from "@mui/material/Tab";
23
23
  import { getUnixTime as U } from "date-fns/getUnixTime";
24
24
  import ee from "@mui/material/List";
25
25
  import ne from "@mui/material/ListItem";
26
- import { A as et } from "../AccountListItem-DbpLvx5I.mjs";
26
+ import { A as et } from "../AccountListItem-CllIBCao.mjs";
27
27
  import { f as Q, D as V } from "../Dialog-CWW597AF.mjs";
28
28
  import tt from "@mui/material/ListSubheader";
29
29
  import { f as Z } from "../NumberFormatting-Buh7u8Oi.mjs";
@@ -35,17 +35,17 @@ import { alpha as nt, keyframes as ot } from "@mui/material/styles";
35
35
  import { DataGridPro as at } from "@mui/x-data-grid-pro";
36
36
  import { T as Se } from "../TabContentContainer-j01JYR_7.mjs";
37
37
  import W from "@mui/material/Button";
38
- import { M as it, S as rt, i as st, d as we, c as ct } from "../ManageIncome-BXlzeXk6.mjs";
38
+ import { M as it, S as rt, i as st, d as we, c as ct } from "../ManageIncome-DUuT-yMV.mjs";
39
39
  import { D as Me } from "../Drawer-kEE73B87.mjs";
40
40
  import { formatISO as lt } from "date-fns/formatISO";
41
41
  import { fromUnixTime as _e } from "date-fns/fromUnixTime";
42
42
  import { startOfMonth as dt } from "date-fns/startOfMonth";
43
43
  import { subDays as Ge } from "date-fns/subDays";
44
- import { S as mt, b as ut } from "../TransactionDetails-B2Z5S7FM.mjs";
44
+ import { S as mt, b as ut } from "../TransactionDetails-_cXLXTd3.mjs";
45
45
  import { F as ht, R as Ie, e as De } from "../RecurringTransactions-ej39mgA6.mjs";
46
46
  import { h as pt } from "../DateUtil-BcuH7ErC.mjs";
47
47
  import { endOfToday as ft } from "date-fns/endOfToday";
48
- import { W as ve, A as Ae } from "../WidgetContainer-B8MRJ5Y1.mjs";
48
+ import { W as ve, A as Ae } from "../WidgetContainer-DtPnPQZY.mjs";
49
49
  import { F as gt, A as B } from "../Fetch-87LIQbEA.mjs";
50
50
  const K = () => {
51
51
  if (!p.useContext(Ye))