@mx-cartographer/experiences 7.11.1 → 7.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/{AccountDetailsHeader-Bf3yJZ-O.mjs → AccountDetailsHeader-hDo7gojQ.mjs} +1 -1
  3. package/dist/{AccountFields-Dnc0q9ee.mjs → AccountFields-C-sby5mF.mjs} +1 -1
  4. package/dist/{AccountListItem-BH5hrQCD.mjs → AccountListItem-CjeAlrPC.mjs} +1 -1
  5. package/dist/Accounts-CseLC3lL.mjs +5 -0
  6. package/dist/Connect-Dg9HlAWv.mjs +39 -0
  7. package/dist/ConnectDrawer-BLwcW0Oe.mjs +58 -0
  8. package/dist/{ConnectionsDrawer-VoUA-VzG.mjs → ConnectionsDrawer-UQTh9UEc.mjs} +8 -7
  9. package/dist/GlobalAccountFilter-C8mpfudV.mjs +215 -0
  10. package/dist/{GoalStore-LzW4e18a.mjs → GoalStore-DzOZ0je_.mjs} +1 -1
  11. package/dist/{WidgetContainer-lNbK1wCG.mjs → WidgetContainer-B5jzz8M1.mjs} +1 -1
  12. package/dist/accounts/index.es.js +29 -28
  13. package/dist/budgets/index.es.js +2 -2
  14. package/dist/cashflow/index.es.js +2 -2
  15. package/dist/common/index.es.js +154 -153
  16. package/dist/dashboard/index.es.js +35 -34
  17. package/dist/debts/components/actions/DebtsPriorityAction.d.ts +5 -1
  18. package/dist/debts/components/debtspaydown/PaydownButton.d.ts +2 -1
  19. package/dist/debts/components/debtspriority/DebtsPriorityButton.d.ts +2 -1
  20. package/dist/debts/index.es.js +159 -143
  21. package/dist/finstrong/index.es.js +4 -4
  22. package/dist/goals/index.es.js +3 -3
  23. package/dist/help/index.es.js +1 -1
  24. package/dist/insights/index.es.js +1 -1
  25. package/dist/investments/index.es.js +2 -2
  26. package/dist/networth/index.es.js +2 -2
  27. package/dist/recurringtransactions/index.es.js +1 -1
  28. package/dist/settings/index.es.js +1 -1
  29. package/dist/spending/index.es.js +1 -1
  30. package/dist/transactions/index.es.js +2 -2
  31. package/dist/trends/index.es.js +2 -2
  32. package/package.json +1 -1
  33. package/dist/GlobalAccountFilter-DnhoRX8C.mjs +0 -318
@@ -3,7 +3,7 @@ import g from "react";
3
3
  import { observer as v } from "mobx-react-lite";
4
4
  import x from "@mui/material/Stack";
5
5
  import { useTheme as V, Card as we, Stack as _, Box as W } from "@mui/material";
6
- import { Text as l, P as Ce, H3 as Fe, InstitutionLogo as Le, Icon as oe } from "@mxenabled/mxui";
6
+ import { Text as l, P as Ce, H3 as Fe, InstitutionLogo as Le, Icon as ne } from "@mxenabled/mxui";
7
7
  import { intervalToDuration as $e, formatDuration as He } from "date-fns";
8
8
  import { addMonths as he } from "date-fns/addMonths";
9
9
  import { fromUnixTime as ue } from "date-fns/fromUnixTime";
@@ -11,16 +11,16 @@ import { getUnixTime as be } from "date-fns/getUnixTime";
11
11
  import { a as P, M as Oe, I as We } from "../DebtsStore-BZqNLaqd.mjs";
12
12
  import { D as ra } from "../DebtsStore-BZqNLaqd.mjs";
13
13
  import { f as N, a as Ge } from "../NumberFormatting-DjTD0t3W.mjs";
14
- import { f as J, D as Q } from "../DateFormats-Cs-NbEZ7.mjs";
15
- import { G as je, v as ee, u as C, l as Y, g as R, d as te, a as ze, b as Xe } from "../hooks-0kWPTHNb.mjs";
14
+ import { f as Q, D as ee } from "../DateFormats-Cs-NbEZ7.mjs";
15
+ import { G as je, v as te, u as C, l as Y, g as R, d as re, a as ze, b as Xe } from "../hooks-0kWPTHNb.mjs";
16
16
  import { u as K } from "../useScreenSize-B6JyS_Lj.mjs";
17
- import { D as ne } from "../Drawer-DV4NTsFg.mjs";
17
+ import { D as ie } from "../Drawer-DV4NTsFg.mjs";
18
18
  import { b as E } from "../Localization-2MODESHW.mjs";
19
- import { A as Ve, u as Ye } from "../AccountDetailsHeader-Bf3yJZ-O.mjs";
19
+ import { A as Ve, u as Ye } from "../AccountDetailsHeader-hDo7gojQ.mjs";
20
20
  import Ke from "@mui/material/Card";
21
21
  import Ue from "@mui/material/CardContent";
22
22
  import qe from "@mui/material/CardHeader";
23
- import ie from "@mui/material/Box";
23
+ import le from "@mui/material/Box";
24
24
  import { useTheme as Ze } from "@mui/material/styles";
25
25
  import { LineChart as Je } from "@mui/x-charts/LineChart";
26
26
  import { A as D } from "../Analytics-i5h6BxR1.mjs";
@@ -30,8 +30,8 @@ import Se from "@mui/material/List";
30
30
  import G from "@mui/material/Divider";
31
31
  import { M as et, I as tt, O as rt } from "../OriginalBalanceAction-CBZ_YHmB.mjs";
32
32
  import at from "@mui/material/TextField";
33
- import { L as re } from "../ListItemAction-Dq1lMdxh.mjs";
34
- import { C as le } from "../CurrencyInput-PMOAH5R3.mjs";
33
+ import { L as ae } from "../ListItemAction-Dq1lMdxh.mjs";
34
+ import { C as se } from "../CurrencyInput-PMOAH5R3.mjs";
35
35
  import ye from "@mui/material/Alert";
36
36
  import fe from "@mui/material/AlertTitle";
37
37
  import ge from "@mui/material/Paper";
@@ -44,10 +44,10 @@ import De from "@mui/material/Button";
44
44
  import lt from "@mui/material/IconButton";
45
45
  import st from "@mui/material/ListItem";
46
46
  import ct from "@mui/material/Popover";
47
- import { b as dt } from "../GlobalAccountFilter-DnhoRX8C.mjs";
47
+ import { C as dt } from "../ConnectDrawer-BLwcW0Oe.mjs";
48
48
  import { u as pt } from "../useWidgetLoadTimer-yzSfT9dS.mjs";
49
49
  import { L as mt } from "../Loader-D3rjKx72.mjs";
50
- import { W as ht } from "../WidgetContainer-lNbK1wCG.mjs";
50
+ import { W as ht } from "../WidgetContainer-B5jzz8M1.mjs";
51
51
  import { E as ut } from "../EmptyState-DHAkGsjk.mjs";
52
52
  const bt = (a, o = 0, r = 0) => {
53
53
  if (r === 0) return 0;
@@ -59,12 +59,12 @@ const bt = (a, o = 0, r = 0) => {
59
59
  const i = [];
60
60
  if (r === 0) {
61
61
  for (let d = 0; d < a; d++) {
62
- const p = o - t * (d + 1), m = o - t * d, u = p >= 0 ? t : m;
62
+ const p = o - t * (d + 1), h = o - t * d, m = p >= 0 ? t : h;
63
63
  i.push({
64
64
  balance: p >= 0 ? p : 0,
65
65
  interest: r,
66
- payment: u,
67
- principal: u,
66
+ payment: m,
67
+ principal: m,
68
68
  timestamp: be(
69
69
  he(
70
70
  ue(n),
@@ -79,7 +79,7 @@ const bt = (a, o = 0, r = 0) => {
79
79
  }
80
80
  const c = r / 1200;
81
81
  for (let d = 0; d < a; d++) {
82
- const p = be(he(ue(n), d + 1)), m = Math.pow(1 + c, d), u = o * m - t * ((m - 1) / c), w = Math.pow(1 + c, d + 1), b = o * w - t * ((w - 1) / c), B = t + Math.min(b, 0), M = u * c;
82
+ const p = be(he(ue(n), d + 1)), h = Math.pow(1 + c, d), m = o * h - t * ((h - 1) / c), w = Math.pow(1 + c, d + 1), b = o * w - t * ((w - 1) / c), B = t + Math.min(b, 0), M = m * c;
83
83
  i.push({
84
84
  balance: Math.max(0, b),
85
85
  interest: M,
@@ -126,14 +126,14 @@ const bt = (a, o = 0, r = 0) => {
126
126
  a.splice(0, a.length, ...r, ...t);
127
127
  };
128
128
  function gt(a, o, r = 0) {
129
- const t = a.map((u) => ({ ...u })).filter(
130
- (u) => u.interest_rate !== void 0 && u.monthly_payment !== void 0 && !u.is_paid_off
129
+ const t = a.map((m) => ({ ...m })).filter(
130
+ (m) => m.interest_rate !== void 0 && m.monthly_payment !== void 0 && !m.is_paid_off
131
131
  );
132
132
  Te(t, o);
133
133
  let n = 0, i = 0;
134
134
  const c = /* @__PURE__ */ new Date(), d = /* @__PURE__ */ new Date();
135
- for (; t.some((u) => u.balance >= 0.01 && !u.is_impossible); ) {
136
- let u = !1;
135
+ for (; t.some((m) => m.balance >= 0.01 && !m.is_impossible); ) {
136
+ let m = !1;
137
137
  for (const [w, b] of t.entries()) {
138
138
  if (b.balance <= 0.01 || b.is_impossible) continue;
139
139
  const M = (b.interest_rate ?? 0) / 100 / 12, I = b.balance * M;
@@ -144,23 +144,23 @@ function gt(a, o, r = 0) {
144
144
  b.is_impossible = !0;
145
145
  continue;
146
146
  }
147
- b.balance -= T, b.balance = b.balance < 0.01 ? 0 : b.balance, n += I, b.balance <= 0 && (i += S), T > 0 && (u = !0);
147
+ b.balance -= T, b.balance = b.balance < 0.01 ? 0 : b.balance, n += I, b.balance <= 0 && (i += S), T > 0 && (m = !0);
148
148
  }
149
- u && d.setMonth(d.getMonth() + 1);
149
+ m && d.setMonth(d.getMonth() + 1);
150
150
  }
151
- const p = t.some((u) => u.is_impossible && u.balance > 0), m = $e({ start: c, end: d });
151
+ const p = t.some((m) => m.is_impossible && m.balance > 0), h = $e({ start: c, end: d });
152
152
  return {
153
153
  payoffSavings: p ? "N/A" : N(n, "0,0.00"),
154
- payoffDate: p ? "Never" : J(d, Q.MONTH_YEAR),
155
- payoffDuration: p ? "Stagnant" : He(m, { format: ["years", "months"] }) || "0 months"
154
+ payoffDate: p ? "Never" : Q(d, ee.MONTH_YEAR),
155
+ payoffDuration: p ? "Stagnant" : He(h, { format: ["years", "months"] }) || "0 months"
156
156
  };
157
157
  }
158
158
  const F = () => {
159
159
  if (!g.useContext(je))
160
160
  throw new Error("useCateUiStore() must be used within the GlobalDataContext");
161
- return ee().uiStore;
161
+ return te().uiStore;
162
162
  }, xt = ({ debts: a, onClickCta: o, sx: r }) => {
163
- const t = V(), { isMobile: n } = K(), { debts: i } = C(), { selectedDebtPriority: c } = F(), { monthlyCashFlowProfile: d } = Y(), { payoffDate: p, payoffSavings: m, payoffDuration: u } = g.useMemo(() => {
163
+ const t = V(), { isMobile: n } = K(), { debts: i } = C(), { selectedDebtPriority: c } = F(), { monthlyCashFlowProfile: d } = Y(), { payoffDate: p, payoffSavings: h, payoffDuration: m } = g.useMemo(() => {
164
164
  const w = d?.extra_payment ?? 0;
165
165
  return gt(a, c, w);
166
166
  }, [a, c, d]);
@@ -190,11 +190,11 @@ const F = () => {
190
190
  }
191
191
  ),
192
192
  /* @__PURE__ */ s(_, { gap: n ? "4px" : "0", children: [
193
- /* @__PURE__ */ e(l, { bold: !0, variant: "Small", children: m }),
193
+ /* @__PURE__ */ e(l, { bold: !0, variant: "Small", children: h }),
194
194
  /* @__PURE__ */ e(l, { sx: { whiteSpace: "normal" }, variant: "XSmall", children: i.snowball_card_amount_description })
195
195
  ] }),
196
196
  /* @__PURE__ */ s(_, { gap: n ? "4px" : "0", children: [
197
- /* @__PURE__ */ e(l, { bold: !0, variant: "Small", children: u }),
197
+ /* @__PURE__ */ e(l, { bold: !0, variant: "Small", children: m }),
198
198
  /* @__PURE__ */ e(l, { variant: "XSmall", children: i.snowball_card_duration_description })
199
199
  ] }),
200
200
  /* @__PURE__ */ e(
@@ -214,7 +214,7 @@ const F = () => {
214
214
  }, wt = v(xt), Ct = ({ isOpen: a, onClose: o }) => {
215
215
  const r = V(), { debts: t } = C(), [n, i] = g.useState(!1);
216
216
  return /* @__PURE__ */ e(
217
- ne,
217
+ ie,
218
218
  {
219
219
  ariaLabelClose: "",
220
220
  isOpen: a,
@@ -590,31 +590,31 @@ const Ae = ({
590
590
  onClickArea: i,
591
591
  onHoverArea: c
592
592
  }) => {
593
- const d = Ze(), { onEvent: p } = R(), m = t.filter((h) => !h.is_impossible), u = [
593
+ const d = Ze(), { onEvent: p } = R(), h = t.filter((u) => !u.is_impossible), m = [
594
594
  ...new Set(
595
- m.flatMap((h) => h.dataset.map((f) => new Date(f.x).getTime()))
595
+ h.flatMap((u) => u.dataset.map((f) => new Date(f.x).getTime()))
596
596
  )
597
- ].sort((h, f) => h - f).map((h) => new Date(h)), w = m.map((h) => {
598
- const f = new Map(h.dataset.map((L) => [new Date(L.x).getTime(), L.y]));
599
- let A = f.get(u[0].getTime()) ?? 0;
600
- const k = u.map((L) => {
597
+ ].sort((u, f) => u - f).map((u) => new Date(u)), w = h.map((u) => {
598
+ const f = new Map(u.dataset.map((L) => [new Date(L.x).getTime(), L.y]));
599
+ let A = f.get(m[0].getTime()) ?? 0;
600
+ const k = m.map((L) => {
601
601
  const z = f.get(L.getTime()) ?? A;
602
602
  return A = z, { x: L, y: z };
603
603
  });
604
- return { ...h, dataset: k };
604
+ return { ...u, dataset: k };
605
605
  }), b = w.reduce(
606
- (h, f) => h + (f.dataset[0]?.y ?? 0),
606
+ (u, f) => u + (f.dataset[0]?.y ?? 0),
607
607
  0
608
- ), B = u.map((h, f) => {
609
- const A = f / (u.length - 1), k = b * (1 - A);
610
- return { x: h, y: k };
611
- }), M = Math.ceil(b / 100) * 100, I = u, S = w.map((h, f) => {
608
+ ), B = m.map((u, f) => {
609
+ const A = f / (m.length - 1), k = b * (1 - A);
610
+ return { x: u, y: k };
611
+ }), M = Math.ceil(b / 100) * 100, I = m, S = w.map((u, f) => {
612
612
  const A = 1 - f / w.length * 0.5, k = Dt(vt, A);
613
613
  return {
614
614
  id: `debt-${f}`,
615
- guid: h.guid,
616
- label: h.name,
617
- data: h.dataset.map((L) => L.y),
615
+ guid: u.guid,
616
+ label: u.name,
617
+ data: u.dataset.map((L) => L.y),
618
618
  color: k,
619
619
  curve: "linear",
620
620
  type: "line",
@@ -626,7 +626,7 @@ const Ae = ({
626
626
  S.push({
627
627
  id: "payoff-line",
628
628
  label: "Payoff Line",
629
- data: B.map((h) => h.y),
629
+ data: B.map((u) => u.y),
630
630
  color: d.palette.grey[700],
631
631
  curve: "linear",
632
632
  type: "line",
@@ -634,9 +634,9 @@ const Ae = ({
634
634
  showMark: !1,
635
635
  disableHighlight: !0
636
636
  });
637
- const T = (h) => S.findIndex((f) => f?.guid === h);
637
+ const T = (u) => S.findIndex((f) => f?.guid === u);
638
638
  return /* @__PURE__ */ e(
639
- ie,
639
+ le,
640
640
  {
641
641
  sx: {
642
642
  width: "100%",
@@ -658,13 +658,13 @@ const Ae = ({
658
658
  height: o,
659
659
  hideLegend: !0,
660
660
  margin: { bottom: 24, left: 32, right: 72, top: 48 },
661
- onAreaClick: (h, f) => {
661
+ onAreaClick: (u, f) => {
662
662
  i?.();
663
663
  const A = S.find((k) => k.id === f.seriesId);
664
664
  p(D.DEBTS_CLICK_CHART_AREA, { account_guid: A?.guid });
665
665
  },
666
- onHighlightChange: (h) => {
667
- const f = S.find((A) => A.id === h?.seriesId)?.guid;
666
+ onHighlightChange: (u) => {
667
+ const f = S.find((A) => A.id === u?.seriesId)?.guid;
668
668
  c?.(f ?? "");
669
669
  },
670
670
  series: S,
@@ -703,10 +703,10 @@ const Ae = ({
703
703
  {
704
704
  data: I,
705
705
  disableTicks: !0,
706
- min: u[0],
706
+ min: m[0],
707
707
  scaleType: "time",
708
708
  tickLabelMinGap: 24,
709
- valueFormatter: (h) => J(h, Q.MONTH_SHORT_YEAR)
709
+ valueFormatter: (u) => Q(u, ee.MONTH_SHORT_YEAR)
710
710
  }
711
711
  ],
712
712
  yAxis: [
@@ -714,7 +714,7 @@ const Ae = ({
714
714
  min: 0,
715
715
  max: M,
716
716
  disableTicks: !0,
717
- valueFormatter: (h) => N(h, "0a")
717
+ valueFormatter: (u) => N(u, "0a")
718
718
  }
719
719
  ]
720
720
  }
@@ -776,7 +776,7 @@ const Ae = ({
776
776
  },
777
777
  children: [
778
778
  /* @__PURE__ */ s(x, { flexGrow: 1, children: [
779
- /* @__PURE__ */ e(l, { bold: !0, variant: "Body", children: J(c, Q.MONTH_YEAR) }),
779
+ /* @__PURE__ */ e(l, { bold: !0, variant: "Body", children: Q(c, ee.MONTH_YEAR) }),
780
780
  /* @__PURE__ */ e(l, { color: a.palette.secondary.main, variant: "XSmall", children: r.schedule_month_label })
781
781
  ] }),
782
782
  /* @__PURE__ */ s(x, { children: [
@@ -813,7 +813,7 @@ const Ae = ({
813
813
  ) })
814
814
  ] }) });
815
815
  }, It = v(Et), Bt = v(({ debt: a }) => {
816
- const { debts: o } = C(), { updateAccount: r } = te(), { onEvent: t } = R(), [n, i] = g.useState(a.interest_rate ?? 0), c = n < 0, d = async () => {
816
+ const { debts: o } = C(), { updateAccount: r } = re(), { onEvent: t } = R(), [n, i] = g.useState(a.interest_rate ?? 0), c = n < 0, d = async () => {
817
817
  await r({ ...a.account, interest_rate: n }), a.interest_rate = n, t(D.DEBTS_SAVE_RATE_ACTION, { account_guid: a.guid });
818
818
  }, p = () => {
819
819
  setTimeout(() => {
@@ -821,7 +821,7 @@ const Ae = ({
821
821
  }, 250);
822
822
  };
823
823
  return /* @__PURE__ */ e(
824
- re,
824
+ ae,
825
825
  {
826
826
  isSaveDisabled: c,
827
827
  label: `${o.details_interest_rate} (%)`,
@@ -835,7 +835,7 @@ const Ae = ({
835
835
  {
836
836
  error: c,
837
837
  fullWidth: !0,
838
- onChange: (m) => i(isNaN(parseFloat(m.target.value)) ? 0 : parseFloat(m.target.value)),
838
+ onChange: (h) => i(isNaN(parseFloat(h.target.value)) ? 0 : parseFloat(h.target.value)),
839
839
  type: "number",
840
840
  value: n
841
841
  }
@@ -843,7 +843,7 @@ const Ae = ({
843
843
  }
844
844
  );
845
845
  }), Mt = v(({ debt: a }) => {
846
- const { debts: o } = C(), { updateAccount: r } = te(), { onEvent: t } = R(), [n, i] = g.useState(a.monthly_payment ?? 0), c = n < 0 || n > 9999999999e-2, d = async () => {
846
+ const { debts: o } = C(), { updateAccount: r } = re(), { onEvent: t } = R(), [n, i] = g.useState(a.monthly_payment ?? 0), c = n < 0 || n > 9999999999e-2, d = async () => {
847
847
  await r({ ...a.account, minimum_payment: n }), a.monthly_payment = n, t(D.DEBTS_SAVE_PAYMENT_ACTION, { account_guid: a.guid });
848
848
  }, p = () => {
849
849
  setTimeout(() => {
@@ -851,7 +851,7 @@ const Ae = ({
851
851
  }, 250);
852
852
  };
853
853
  return /* @__PURE__ */ e(
854
- re,
854
+ ae,
855
855
  {
856
856
  isSaveDisabled: c,
857
857
  label: o.details_monthly_payment,
@@ -861,21 +861,21 @@ const Ae = ({
861
861
  secondaryText: N(a.monthly_payment, "0,0"),
862
862
  zeroStateText: a.monthly_payment ? void 0 : o.add_monthly_payment,
863
863
  children: /* @__PURE__ */ e(
864
- le,
864
+ se,
865
865
  {
866
866
  amount: n,
867
867
  autoFocus: !0,
868
868
  error: c,
869
869
  fullWidth: !0,
870
870
  minAmount: 0,
871
- setAmount: (m) => i(isNaN(Number(m)) ? n : Number(m)),
871
+ setAmount: (h) => i(isNaN(Number(h)) ? n : Number(h)),
872
872
  sx: { ".MuiTypography-Body": { p: 0 } }
873
873
  }
874
874
  )
875
875
  }
876
876
  );
877
877
  }), kt = v(({ debt: a }) => {
878
- const { debts: o } = C(), { updateAccount: r } = te(), { onEvent: t } = R(), [n, i] = g.useState(a.original_balance ?? 0), c = n < 0 || n > 9999999999e-2, d = async () => {
878
+ const { debts: o } = C(), { updateAccount: r } = re(), { onEvent: t } = R(), [n, i] = g.useState(a.original_balance ?? 0), c = n < 0 || n > 9999999999e-2, d = async () => {
879
879
  await r({ ...a.account, original_balance: n }), a.original_balance = n, t(D.DEBTS_SAVE_BALANCE_ACTION, { account_guid: a.guid });
880
880
  }, p = () => {
881
881
  setTimeout(() => {
@@ -883,7 +883,7 @@ const Ae = ({
883
883
  }, 250);
884
884
  };
885
885
  return /* @__PURE__ */ e(
886
- re,
886
+ ae,
887
887
  {
888
888
  isSaveDisabled: c,
889
889
  label: o.details_original_balance,
@@ -893,14 +893,14 @@ const Ae = ({
893
893
  secondaryText: N(a.original_balance, "0,0"),
894
894
  zeroStateText: a.original_balance ? void 0 : o.add_original_balance,
895
895
  children: /* @__PURE__ */ e(
896
- le,
896
+ se,
897
897
  {
898
898
  amount: n,
899
899
  autoFocus: !0,
900
900
  error: c,
901
901
  fullWidth: !0,
902
902
  minAmount: 0,
903
- setAmount: (m) => i(isNaN(Number(m)) ? n : Number(m)),
903
+ setAmount: (h) => i(isNaN(Number(h)) ? n : Number(h)),
904
904
  sx: { ".MuiTypography-Body": { p: 0 } }
905
905
  }
906
906
  )
@@ -1010,7 +1010,7 @@ const Ae = ({
1010
1010
  }, $t = v(Lt), Ht = ({ isOpen: a, onClose: o }) => {
1011
1011
  const { debts: r } = C(), { showError: t, showCompleted: n } = F(), i = t || n ? /* @__PURE__ */ e($, {}) : /* @__PURE__ */ e(At, {});
1012
1012
  return /* @__PURE__ */ e(
1013
- ne,
1013
+ ie,
1014
1014
  {
1015
1015
  ariaLabelClose: r.details_close_aria,
1016
1016
  isOpen: a,
@@ -1033,7 +1033,7 @@ const Ae = ({
1033
1033
  }, 250);
1034
1034
  };
1035
1035
  return /* @__PURE__ */ e(
1036
- re,
1036
+ ae,
1037
1037
  {
1038
1038
  isSaveDisabled: c,
1039
1039
  label: a.paydown_drawer_extra_payment,
@@ -1043,21 +1043,21 @@ const Ae = ({
1043
1043
  secondaryText: N(o?.extra_payment, "0,0"),
1044
1044
  zeroStateText: o?.extra_payment ? void 0 : a.add_extra_payment,
1045
1045
  children: /* @__PURE__ */ e(
1046
- le,
1046
+ se,
1047
1047
  {
1048
1048
  amount: n,
1049
1049
  autoFocus: !0,
1050
1050
  error: c,
1051
1051
  fullWidth: !0,
1052
1052
  minAmount: 0,
1053
- setAmount: (m) => i(isNaN(Number(m)) ? n : Number(m)),
1053
+ setAmount: (h) => i(isNaN(Number(h)) ? n : Number(h)),
1054
1054
  sx: { ".MuiTypography-Body": { p: 0 } }
1055
1055
  }
1056
1056
  )
1057
1057
  }
1058
1058
  );
1059
1059
  }), Wt = () => {
1060
- const { debts: a } = C(), { totalMonthlyPayments: o } = ee(), { monthlyCashFlowProfile: r } = Y(), t = o + Number(r?.extra_payment);
1060
+ const { debts: a } = C(), { totalMonthlyPayments: o } = te(), { monthlyCashFlowProfile: r } = Y(), t = o + Number(r?.extra_payment);
1061
1061
  return /* @__PURE__ */ s(x, { sx: { backgroundColor: "background.default", height: "100%" }, children: [
1062
1062
  /* @__PURE__ */ s(x, { p: 24, children: [
1063
1063
  /* @__PURE__ */ s(x, { alignItems: "center", gap: 4, mb: 24, children: [
@@ -1079,7 +1079,7 @@ const Ae = ({
1079
1079
  }, Gt = v(Wt), jt = ({ isOpen: a, onClose: o }) => {
1080
1080
  const { debts: r } = C();
1081
1081
  return /* @__PURE__ */ e(
1082
- ne,
1082
+ ie,
1083
1083
  {
1084
1084
  ariaLabelClose: r.paydown_drawer_close_aria,
1085
1085
  isOpen: a,
@@ -1109,7 +1109,7 @@ const Vt = (a) => {
1109
1109
  }, Yt = (a) => {
1110
1110
  const o = String(a.formattedValue), r = Vt(o);
1111
1111
  return /* @__PURE__ */ e(
1112
- ie,
1112
+ le,
1113
1113
  {
1114
1114
  sx: {
1115
1115
  display: "flex",
@@ -1147,7 +1147,7 @@ const Vt = (a) => {
1147
1147
  onHoverRow: t,
1148
1148
  onClickRow: n
1149
1149
  }) => {
1150
- const i = V(), { onEvent: c } = R(), { isMobile: d } = K(), { debts: p, common: m } = C(), [u, w] = g.useState([
1150
+ const i = V(), { onEvent: c } = R(), { isMobile: d } = K(), { debts: p, common: h } = C(), [m, w] = g.useState([
1151
1151
  { field: "priority", sort: "asc" }
1152
1152
  ]), b = [
1153
1153
  {
@@ -1206,7 +1206,7 @@ const Vt = (a) => {
1206
1206
  field: "projected_payoff_date",
1207
1207
  headerName: p.table_column_payoff_date,
1208
1208
  renderHeader: j,
1209
- renderCell: (y) => /* @__PURE__ */ e(l, { color: i.palette.text.primary, variant: "Small", children: y.value ? J(y.value, Q.MONTH_SHORT_YEAR) : "---" }),
1209
+ renderCell: (y) => /* @__PURE__ */ e(l, { color: i.palette.text.primary, variant: "Small", children: y.value ? Q(y.value, ee.MONTH_SHORT_YEAR) : "---" }),
1210
1210
  sortable: !0,
1211
1211
  hideSortIcons: d,
1212
1212
  type: "number",
@@ -1234,7 +1234,7 @@ const Vt = (a) => {
1234
1234
  field: "chevron",
1235
1235
  headerClassName: "chevron-header",
1236
1236
  headerName: "",
1237
- renderCell: () => /* @__PURE__ */ e(_, { "aria-label": m.see_details, role: "button", children: /* @__PURE__ */ e(oe, { name: "chevron_right" }) }),
1237
+ renderCell: () => /* @__PURE__ */ e(_, { "aria-label": h.see_details, role: "button", children: /* @__PURE__ */ e(ne, { name: "chevron_right" }) }),
1238
1238
  sortable: !1,
1239
1239
  hideSortIcons: !0,
1240
1240
  type: "custom",
@@ -1242,9 +1242,9 @@ const Vt = (a) => {
1242
1242
  headerAlign: "right",
1243
1243
  width: 20
1244
1244
  }
1245
- ], M = g.useMemo(() => o.map((y, h) => ({
1245
+ ], M = g.useMemo(() => o.map((y, u) => ({
1246
1246
  ...y,
1247
- id: h,
1247
+ id: u,
1248
1248
  priority: Xt(y)
1249
1249
  })), [o]), I = (y) => {
1250
1250
  const A = y.target.closest("[data-id]")?.getAttribute("data-id"), k = o[Number(A)];
@@ -1253,9 +1253,9 @@ const Vt = (a) => {
1253
1253
  d || I(y);
1254
1254
  }, T = (y) => {
1255
1255
  d && I(y);
1256
- }, H = (y) => M.find((h) => h.guid === y)?.id;
1256
+ }, H = (y) => M.find((u) => u.guid === y)?.id;
1257
1257
  return /* @__PURE__ */ e(
1258
- ie,
1258
+ le,
1259
1259
  {
1260
1260
  sx: {
1261
1261
  height: "100dvh",
@@ -1272,7 +1272,7 @@ const Vt = (a) => {
1272
1272
  disableColumnFilter: !0,
1273
1273
  disableColumnMenu: !0,
1274
1274
  hideFooter: !0,
1275
- initialState: { sorting: { sortModel: u } },
1275
+ initialState: { sorting: { sortModel: m } },
1276
1276
  onRowClick: (y) => {
1277
1277
  n(), c(D.DEBTS_CLICK_TABLE_ROW, { account_guid: y.row.guid });
1278
1278
  },
@@ -1289,7 +1289,7 @@ const Vt = (a) => {
1289
1289
  onClick: d ? T : void 0
1290
1290
  }
1291
1291
  },
1292
- sortModel: u,
1292
+ sortModel: m,
1293
1293
  sortingOrder: ["asc", "desc"],
1294
1294
  sx: {
1295
1295
  "& .chevron-header": { display: "none" },
@@ -1302,17 +1302,23 @@ const Vt = (a) => {
1302
1302
  )
1303
1303
  }
1304
1304
  );
1305
- }, qt = ({ buttonText: a, isOpen: o, onClick: r }) => {
1306
- const { isDesktop: t, isTablet: n } = K(), i = o ? "unfold_less" : "unfold_more";
1307
- return t || n ? /* @__PURE__ */ e(
1305
+ }, qt = ({
1306
+ buttonText: a,
1307
+ disabled: o,
1308
+ isOpen: r,
1309
+ onClick: t
1310
+ }) => {
1311
+ const { isDesktop: n, isTablet: i } = K(), c = r ? "unfold_less" : "unfold_more";
1312
+ return n || i ? /* @__PURE__ */ e(
1308
1313
  De,
1309
1314
  {
1310
1315
  "aria-controls": "prioritize-debts",
1311
1316
  "aria-describedby": "prioritize-debts",
1312
1317
  "aria-haspopup": !0,
1313
1318
  "aria-label": "prioritize-debts",
1314
- onClick: r,
1315
- startIcon: /* @__PURE__ */ e(oe, { name: i }),
1319
+ disabled: o,
1320
+ onClick: t,
1321
+ startIcon: /* @__PURE__ */ e(ne, { name: c }),
1316
1322
  sx: { justifyContent: "start", minWidth: 214, mx: 4 },
1317
1323
  children: a
1318
1324
  }
@@ -1323,8 +1329,9 @@ const Vt = (a) => {
1323
1329
  "aria-describedby": "prioritize-debts",
1324
1330
  "aria-haspopup": !0,
1325
1331
  "aria-label": "prioritize-debts",
1326
- onClick: r,
1327
- children: /* @__PURE__ */ e(oe, { name: i })
1332
+ disabled: o,
1333
+ onClick: t,
1334
+ children: /* @__PURE__ */ e(ne, { name: c })
1328
1335
  }
1329
1336
  );
1330
1337
  }, Zt = v(({ buttonEl: a, onClose: o }) => {
@@ -1345,8 +1352,8 @@ const Vt = (a) => {
1345
1352
  priority: P.HIGHEST_BALANCE,
1346
1353
  text: t.priority_sort_highest_balance
1347
1354
  }
1348
- ], p = (m) => {
1349
- i(m), r(D.DEBTS_CLICK_PRIORITY, { debts_priority: m });
1355
+ ], p = (h) => {
1356
+ i(h), r(D.DEBTS_CLICK_PRIORITY, { debts_priority: h });
1350
1357
  };
1351
1358
  return /* @__PURE__ */ e(
1352
1359
  ct,
@@ -1363,13 +1370,13 @@ const Vt = (a) => {
1363
1370
  vertical: "top",
1364
1371
  horizontal: "left"
1365
1372
  },
1366
- children: /* @__PURE__ */ e(Se, { children: d.map(({ priority: m, text: u }) => /* @__PURE__ */ s(
1373
+ children: /* @__PURE__ */ e(Se, { children: d.map(({ priority: h, text: m }) => /* @__PURE__ */ s(
1367
1374
  st,
1368
1375
  {
1369
- onClick: () => p(m),
1376
+ onClick: () => p(h),
1370
1377
  sx: {
1371
- bgcolor: n === m ? "primary.main" : void 0,
1372
- color: n === m ? "#fff" : void 0,
1378
+ bgcolor: n === h ? "primary.main" : void 0,
1379
+ color: n === h ? "#fff" : void 0,
1373
1380
  justifyContent: "space-between",
1374
1381
  minHeight: 44,
1375
1382
  minWidth: 268,
@@ -1382,28 +1389,36 @@ const Vt = (a) => {
1382
1389
  }
1383
1390
  },
1384
1391
  children: [
1385
- /* @__PURE__ */ e(l, { color: "inherit", variant: "Small", children: u }),
1386
- n === m && /* @__PURE__ */ e(ve, { color: "inherit", filled: !0, fontSize: "small" })
1392
+ /* @__PURE__ */ e(l, { color: "inherit", variant: "Small", children: m }),
1393
+ n === h && /* @__PURE__ */ e(ve, { color: "inherit", filled: !0, fontSize: "small" })
1387
1394
  ]
1388
1395
  },
1389
- m
1396
+ h
1390
1397
  )) })
1391
1398
  }
1392
1399
  );
1393
- }), Jt = v(() => {
1394
- const { onEvent: a } = R(), { debts: o } = C(), { selectedDebtPriority: r } = F(), [t, n] = g.useState(null), i = (m) => {
1395
- n(m.currentTarget), a(D.DEBTS_CLICK_PRIORITIZE);
1396
- }, c = () => {
1397
- n(null);
1398
- }, d = !!t, p = g.useMemo(() => ({
1399
- [P.FASTEST_PAYOFF_FIRST]: o.priority_sort_fastest_payoff,
1400
- [P.HIGHEST_INTEREST]: o.priority_sort_highest_interest,
1401
- [P.HIGHEST_BALANCE]: o.priority_sort_highest_balance,
1402
- [P.LOWEST_BALANCE]: o.priority_sort_lowest_balance
1403
- })[r] ?? o.priority_sort_lowest_balance, [r]);
1400
+ }), Jt = v(({ disabled: a }) => {
1401
+ const { onEvent: o } = R(), { debts: r } = C(), { selectedDebtPriority: t } = F(), [n, i] = g.useState(null), c = (m) => {
1402
+ i(m.currentTarget), o(D.DEBTS_CLICK_PRIORITIZE);
1403
+ }, d = () => {
1404
+ i(null);
1405
+ }, p = !!n, h = g.useMemo(() => ({
1406
+ [P.FASTEST_PAYOFF_FIRST]: r.priority_sort_fastest_payoff,
1407
+ [P.HIGHEST_INTEREST]: r.priority_sort_highest_interest,
1408
+ [P.HIGHEST_BALANCE]: r.priority_sort_highest_balance,
1409
+ [P.LOWEST_BALANCE]: r.priority_sort_lowest_balance
1410
+ })[t] ?? r.priority_sort_lowest_balance, [t]);
1404
1411
  return /* @__PURE__ */ s(_, { children: [
1405
- /* @__PURE__ */ e(qt, { buttonText: p, isOpen: d, onClick: i }),
1406
- /* @__PURE__ */ e(Zt, { buttonEl: t, onClose: c })
1412
+ /* @__PURE__ */ e(
1413
+ qt,
1414
+ {
1415
+ buttonText: h,
1416
+ disabled: a,
1417
+ isOpen: p,
1418
+ onClick: c
1419
+ }
1420
+ ),
1421
+ /* @__PURE__ */ e(Zt, { buttonEl: n, onClose: d })
1407
1422
  ] });
1408
1423
  }), Qt = (a, o, r = 0) => {
1409
1424
  const t = a.map((p) => ({ ...p }));
@@ -1417,23 +1432,23 @@ const Vt = (a) => {
1417
1432
  dataset: [{ x: new Date(n), y: p.balance }]
1418
1433
  });
1419
1434
  for (; t.some((p) => p.balance >= 0.01 && !p.is_impossible); ) {
1420
- let p = !1, m = !1, u = !1;
1435
+ let p = !1, h = !1, m = !1;
1421
1436
  for (const [w, b] of t.entries()) {
1422
1437
  if (b.balance <= 0.01) continue;
1423
1438
  const B = i[w].dataset, I = (b.interest_rate ?? 0) / 100 / 12, S = b.balance * I, T = b.monthly_payment ?? 0;
1424
1439
  let H = T, y = 0;
1425
- !u && r > 0 && (H += r, u = !0), !m && c > 0 && (y = c, m = !0), b.balance += S;
1426
- const h = Math.min(b.balance, H + y);
1427
- if (h <= S) {
1440
+ !m && r > 0 && (H += r, m = !0), !h && c > 0 && (y = c, h = !0), b.balance += S;
1441
+ const u = Math.min(b.balance, H + y);
1442
+ if (u <= S) {
1428
1443
  b.is_impossible = !0, i[w].is_impossible = !0, i[w].priority = void 0, B.push({ x: new Date(n), y: b.balance });
1429
1444
  continue;
1430
1445
  }
1431
- b.balance -= h, b.balance = b.balance < 0.01 ? 0 : b.balance, B.push({
1446
+ b.balance -= u, b.balance = b.balance < 0.01 ? 0 : b.balance, B.push({
1432
1447
  x: new Date(n),
1433
1448
  y: Math.max(0, b.balance),
1434
- payment: h,
1449
+ payment: u,
1435
1450
  extra: y
1436
- }), b.balance <= 0 && (c += T, i[w].projected_payoff_date = new Date(n)), h > 0 && (p = !0);
1451
+ }), b.balance <= 0 && (c += T, i[w].projected_payoff_date = new Date(n)), u > 0 && (p = !0);
1437
1452
  }
1438
1453
  p && n.setMonth(n.getMonth() + 1);
1439
1454
  }
@@ -1447,8 +1462,8 @@ const Vt = (a) => {
1447
1462
  header: o ? a.empty_state_header : a.empty_state_header_no_aggregation,
1448
1463
  onClickHandler: o ? r : void 0,
1449
1464
  primaryButton: o ? a.connect_accounts : void 0
1450
- }), tr = v(({ onClick: a }) => {
1451
- const { debts: o } = C(), { isDesktop: r } = K(), { totalMonthlyPayments: t } = ee(), { monthlyCashFlowProfile: n } = Y(), i = t + Number(n?.extra_payment), c = r ? o.paydown_button_long : o.paydown_button_short;
1465
+ }), tr = v(({ disabled: a, onClick: o }) => {
1466
+ const { debts: r } = C(), { isDesktop: t } = K(), { totalMonthlyPayments: n } = te(), { monthlyCashFlowProfile: i } = Y(), c = n + Number(i?.extra_payment), d = t ? r.paydown_button_long : r.paydown_button_short;
1452
1467
  return /* @__PURE__ */ e(
1453
1468
  De,
1454
1469
  {
@@ -1456,36 +1471,37 @@ const Vt = (a) => {
1456
1471
  "aria-describedby": "extra-paydown",
1457
1472
  "aria-haspopup": !0,
1458
1473
  "aria-label": "extra-paydown",
1459
- onClick: a,
1474
+ disabled: a,
1475
+ onClick: o,
1460
1476
  sx: { justifyContent: "start", minWidth: 100, mx: 4 },
1461
- children: E(c, N(i, "0,0"))
1477
+ children: E(d, N(c, "0,0"))
1462
1478
  }
1463
1479
  );
1464
1480
  }), rr = ({ onBackClick: a, sx: o }) => {
1465
1481
  const { isDesktop: r, isMobile: t } = K(), { connect: n, debts: i } = C(), { onEvent: c } = R(), {
1466
1482
  config: { show_connections_widget_in_master: d }
1467
- } = ze(), { isInitialized: p } = Xe(), { setSelectedAccount: m } = Ye(), { selectedDebtPriority: u, setSelectedDebtChartData: w } = F(), {
1483
+ } = ze(), { isInitialized: p } = Xe(), { setSelectedAccount: h } = Ye(), { selectedDebtPriority: m, setSelectedDebtChartData: w } = F(), {
1468
1484
  isAccountDataLoaded: b,
1469
1485
  loadAccountData: B,
1470
1486
  detailedAccounts: M,
1471
1487
  visibleDebtAccounts: I
1472
- } = te(), { isAllGoalDataLoaded: S, loadGoalData: T, monthlyCashFlowProfile: H } = Y(), { debts: y } = ee(), [h, f] = g.useState(!1), [A, k] = g.useState(!1), [L, z] = g.useState(!1), [U, Ee] = g.useState(""), [Ie, se] = g.useState(!1);
1488
+ } = re(), { isAllGoalDataLoaded: S, loadGoalData: T, monthlyCashFlowProfile: H } = Y(), { debts: y } = te(), [u, f] = g.useState(!1), [A, k] = g.useState(!1), [L, z] = g.useState(!1), [U, Ee] = g.useState(""), [Ie, ce] = g.useState(!1);
1473
1489
  pt({
1474
1490
  widgetName: "DebtsWidget",
1475
1491
  isLoaded: S
1476
1492
  });
1477
1493
  const q = g.useMemo(() => {
1478
1494
  const O = H?.extra_payment ?? 0;
1479
- return Qt(y, u, O);
1480
- }, [y, u, H]);
1495
+ return Qt(y, m, O);
1496
+ }, [y, m, H]);
1481
1497
  g.useEffect(() => {
1482
1498
  b || B().finally(), c(D.DEBTS_VIEW);
1483
1499
  }, []), g.useEffect(() => {
1484
1500
  p && T().finally();
1485
1501
  }, [p]);
1486
- const ce = (O) => Ee(O), de = () => {
1487
- const O = I.find((ae) => ae.guid === U), me = q.find((ae) => ae.guid === U);
1488
- O && m(O), me && w(me), f(!0);
1502
+ const de = (O) => Ee(O), pe = () => {
1503
+ const O = I.find((oe) => oe.guid === U), me = q.find((oe) => oe.guid === U);
1504
+ O && h(O), me && w(me), f(!0);
1489
1505
  }, Be = () => c(D.DEBTS_CLICK_FILTER), Me = () => {
1490
1506
  z(!0), c(D.DEBTS_CLICK_SNOWBALL_CTA);
1491
1507
  }, ke = () => {
@@ -1493,17 +1509,17 @@ const Vt = (a) => {
1493
1509
  };
1494
1510
  if (!p || !S)
1495
1511
  return /* @__PURE__ */ e(mt, {});
1496
- const Pe = M.length === 0, Ne = I.length === 0, Re = y.length === 0, pe = Pe || Ne || Re, Z = er(
1512
+ const Pe = M.length === 0, Ne = I.length === 0, Re = y.length === 0, Z = Pe || Ne || Re, J = er(
1497
1513
  i,
1498
1514
  d,
1499
- () => se(!0)
1515
+ () => ce(!0)
1500
1516
  );
1501
1517
  return /* @__PURE__ */ s(
1502
1518
  ht,
1503
1519
  {
1504
1520
  actions: [
1505
- /* @__PURE__ */ e(Jt, {}, "prioritize-debts"),
1506
- /* @__PURE__ */ e(tr, { onClick: ke }, "extra-paydown")
1521
+ /* @__PURE__ */ e(Jt, { disabled: Z }, "prioritize-debts"),
1522
+ /* @__PURE__ */ e(tr, { disabled: Z, onClick: ke }, "extra-paydown")
1507
1523
  ],
1508
1524
  allowedAccountTypes: [
1509
1525
  X.CREDIT_CARD,
@@ -1518,18 +1534,18 @@ const Vt = (a) => {
1518
1534
  title: i.title,
1519
1535
  children: [
1520
1536
  /* @__PURE__ */ s(x, { sx: { pt: 48, px: r ? "48px" : "24px" }, children: [
1521
- pe && /* @__PURE__ */ e(
1537
+ Z && /* @__PURE__ */ e(
1522
1538
  ut,
1523
1539
  {
1524
- header: Z.header,
1540
+ header: J.header,
1525
1541
  icon: "note_stack",
1526
- onClick: Z.onClickHandler,
1527
- primaryButton: Z.primaryButton,
1528
- subText: Z.description,
1542
+ onClick: J.onClickHandler,
1543
+ primaryButton: J.primaryButton,
1544
+ subText: J.description,
1529
1545
  sx: { maxWidth: 400 }
1530
1546
  }
1531
1547
  ),
1532
- !pe && /* @__PURE__ */ s($, { children: [
1548
+ !Z && /* @__PURE__ */ s($, { children: [
1533
1549
  /* @__PURE__ */ s(
1534
1550
  x,
1535
1551
  {
@@ -1545,8 +1561,8 @@ const Vt = (a) => {
1545
1561
  debts: q,
1546
1562
  height: t ? 250 : void 0,
1547
1563
  hoveredDebtGuid: U,
1548
- onClickArea: de,
1549
- onHoverArea: ce,
1564
+ onClickArea: pe,
1565
+ onHoverArea: de,
1550
1566
  sx: { mr: t ? "4px" : "-48px" }
1551
1567
  }
1552
1568
  ),
@@ -1566,8 +1582,8 @@ const Vt = (a) => {
1566
1582
  {
1567
1583
  debts: q,
1568
1584
  hoveredDebtGuid: U,
1569
- onClickRow: de,
1570
- onHoverRow: ce
1585
+ onClickRow: pe,
1586
+ onHoverRow: de
1571
1587
  }
1572
1588
  ) })
1573
1589
  ] })
@@ -1579,12 +1595,12 @@ const Vt = (a) => {
1579
1595
  onClose: () => z(!1)
1580
1596
  }
1581
1597
  ),
1582
- /* @__PURE__ */ e(Ht, { isOpen: h, onClose: () => f(!1) }),
1598
+ /* @__PURE__ */ e(Ht, { isOpen: u, onClose: () => f(!1) }),
1583
1599
  /* @__PURE__ */ e(jt, { isOpen: A, onClose: () => k(!1) }),
1584
1600
  /* @__PURE__ */ e(
1585
1601
  dt,
1586
1602
  {
1587
- onClose: () => se(!1),
1603
+ onClose: () => ce(!1),
1588
1604
  showConnectWidget: Ie,
1589
1605
  title: n.mini_title
1590
1606
  }