@mx-cartographer/experiences 7.3.0-alpha.sms1 → 7.3.1

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 (105) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/dist/{Account-Bxw0_4FU.mjs → Account-YwUMFz93.mjs} +1 -1
  3. package/dist/{AccountDetailsContent-CAM9y39M.mjs → AccountDetailsContent-BgCST7mK.mjs} +8 -8
  4. package/dist/AccountDetailsHeader-jAFWoHj7.mjs +87 -0
  5. package/dist/{AccountFields-C9FlatNb.mjs → AccountFields-DPxMPBF0.mjs} +2 -2
  6. package/dist/{AccountListItem-JFMZROh7.mjs → AccountListItem-D6rWAreC.mjs} +8 -8
  7. package/dist/{AccountStore-BgNOyMdp.mjs → AccountStore-B5E98oM1.mjs} +100 -74
  8. package/dist/Accounts-UIlYCmHb.mjs +9 -0
  9. package/dist/{BeatApi-DhJpgCLz.mjs → BeatApi-De2IaqH2.mjs} +1 -1
  10. package/dist/{BeatStore-IBnXd4YK.mjs → BeatStore-D_NYuBSz.mjs} +1 -1
  11. package/dist/{BudgetUtil-B2ZXyw-g.mjs → BudgetUtil-CXvenbdN.mjs} +1 -1
  12. package/dist/{CategorySelectorDrawer-DUe4lH5-.mjs → CategorySelectorDrawer-Buy70Y3V.mjs} +21 -19
  13. package/dist/CategoryStore-BEdFs69_.mjs +183 -0
  14. package/dist/CategoryUtil-BR3H5i6n.mjs +78 -0
  15. package/dist/{ConnectDrawer-BQNs-hjk.mjs → ConnectDrawer-CbxHKlRv.mjs} +10 -10
  16. package/dist/{ConnectionsDrawer-ByGQE7D5.mjs → ConnectionsDrawer-C6kanU7I.mjs} +4 -4
  17. package/dist/{CurrencyInput-DUsQbkXb.mjs → CurrencyInput-lSC7oPDg.mjs} +1 -1
  18. package/dist/{DebtsStore-C9bblOgW.mjs → DebtsStore-DgIcphe_.mjs} +1 -1
  19. package/dist/{ExportCsvAction-sX8Rg4Ov.mjs → ExportCsvAction-DNSgmdyv.mjs} +3 -3
  20. package/dist/{Fetch-87LIQbEA.mjs → Fetch-DecPFeGU.mjs} +24 -22
  21. package/dist/{FinstrongStore-F2c607dj.mjs → FinstrongStore-CL7t5lBL.mjs} +1 -1
  22. package/dist/{GoalStore-D-aB35SY.mjs → GoalStore-CAlmSu4U.mjs} +112 -152
  23. package/dist/{Help-B6dIcujh.mjs → Help-hi9I9EYP.mjs} +1 -1
  24. package/dist/{LineChart-D4GI7nVh.mjs → LineChart-eK4IQImU.mjs} +2 -2
  25. package/dist/{ListItemAction-DHa3KJPs.mjs → ListItemAction-BmL5buOf.mjs} +1 -1
  26. package/dist/{ManageIncome-1s_q5W4X.mjs → ManageIncome-Cypo9qY4.mjs} +66 -65
  27. package/dist/{MerchantStore-DrFvsUyy.mjs → MerchantStore-WvZ4gnQe.mjs} +1 -1
  28. package/dist/{MicroWidgetContainer-DpeqN9n3.mjs → MicroWidgetContainer-CFdMGJKg.mjs} +1 -1
  29. package/dist/{MiniWidgetContainer-D0gfmbaF.mjs → MiniWidgetContainer-BdgBvpga.mjs} +1 -1
  30. package/dist/{NetWorthStore-DCsTZpuS.mjs → NetWorthStore-CxqIxAgN.mjs} +2 -2
  31. package/dist/{NotificationSettings-DqrkNMod.mjs → NotificationSettings-DxytNHlN.mjs} +240 -237
  32. package/dist/{NotificationStore-BxP_P2dA.mjs → NotificationStore-CDX_kqHa.mjs} +7 -15
  33. package/dist/{OriginalBalanceAction-CWuVvRq9.mjs → OriginalBalanceAction-V6FEoIDe.mjs} +3 -3
  34. package/dist/{RecurringSettings-A_rAGCTP.mjs → RecurringSettings-iIupYxJW.mjs} +4 -4
  35. package/dist/{RecurringTransactions-DK8dWldr.mjs → RecurringTransactions-ej39mgA6.mjs} +3 -3
  36. package/dist/{RecurringTransactionsStore-C4YOD7_D.mjs → RecurringTransactionsStore-BiwCzScZ.mjs} +26 -29
  37. package/dist/{SettingsStore-BcgS_Ohv.mjs → SettingsStore-krIRNwHK.mjs} +3 -3
  38. package/dist/{ToggleListItem-r0Kx56wF.mjs → ToggleListItem-ciFTiqRS.mjs} +19 -14
  39. package/dist/TransactionApi-CjBoLleL.mjs +86 -0
  40. package/dist/{TransactionDetails-oP1eSuiS.mjs → TransactionDetails-BUoNbsu-.mjs} +402 -367
  41. package/dist/TransactionStore-CtGTg0XS.mjs +677 -0
  42. package/dist/TrendsStore-5PvDT_o6.mjs +182 -0
  43. package/dist/{User-BQUxBeZV.mjs → User-Bj34_i8g.mjs} +1 -1
  44. package/dist/{ViewMoreMicroCard-SCn2wt4i.mjs → ViewMoreMicroCard-lihSDk2J.mjs} +517 -493
  45. package/dist/{WidgetContainer-BHWANqT4.mjs → WidgetContainer-BnTgAfQn.mjs} +2 -2
  46. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsChart.d.ts +4 -1
  47. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsHeader.d.ts +2 -1
  48. package/dist/accounts/index.es.js +241 -203
  49. package/dist/accounts/stores/AccountStore.d.ts +22 -25
  50. package/dist/accounts/utils/Accounts.d.ts +1 -2
  51. package/dist/analytics/index.es.js +2 -2
  52. package/dist/budgets/index.es.js +500 -507
  53. package/dist/budgets/store/BudgetsStore.d.ts +0 -1
  54. package/dist/cashflow/index.es.js +384 -382
  55. package/dist/categories/index.es.js +2 -2
  56. package/dist/categories/stores/CategoryStore.d.ts +1 -5
  57. package/dist/categories/util/CategoryUtil.d.ts +2 -3
  58. package/dist/common/components/charts/index.d.ts +0 -2
  59. package/dist/common/index.es.js +391 -376
  60. package/dist/common/stores/AppDataStore.d.ts +1 -3
  61. package/dist/common/stores/GlobalCopyStore.d.ts +1 -0
  62. package/dist/common/stores/GlobalStore.d.ts +10 -4
  63. package/dist/common/stores/UserStore.d.ts +2 -3
  64. package/dist/common/types/Account.d.ts +6 -9
  65. package/dist/common/types/Global.d.ts +1 -0
  66. package/dist/dashboard/index.es.js +2 -2
  67. package/dist/debts/index.es.js +506 -498
  68. package/dist/exportTransactionsToCSV-C4PkIYP6.mjs +48 -0
  69. package/dist/finstrong/index.es.js +417 -415
  70. package/dist/goals/index.es.js +559 -557
  71. package/dist/goals/stores/GoalStore.d.ts +4 -17
  72. package/dist/help/index.es.js +3 -3
  73. package/dist/{hooks-D6XlXHf4.mjs → hooks-Cy8JnjCg.mjs} +2 -2
  74. package/dist/insights/index.es.js +1 -1
  75. package/dist/investments/index.es.js +437 -435
  76. package/dist/investments/stores/HoldingStore.d.ts +0 -1
  77. package/dist/merchants/index.es.js +2 -2
  78. package/dist/microinsights/carousel/BeatList.d.ts +10 -0
  79. package/dist/microinsights/carousel/CarouselControls.d.ts +1 -1
  80. package/dist/microinsights/index.es.js +1 -1
  81. package/dist/microinsights/interfaces.d.ts +0 -1
  82. package/dist/networth/index.es.js +176 -174
  83. package/dist/notifications/index.es.js +23 -23
  84. package/dist/notifications/stores/NotificationStore.d.ts +1 -3
  85. package/dist/recurringtransactions/index.es.js +175 -173
  86. package/dist/recurringtransactions/stores/RecurringTransactionsStore.d.ts +2 -3
  87. package/dist/settings/index.es.js +285 -279
  88. package/dist/spending/index.es.js +328 -304
  89. package/dist/transactions/components/shared/TransactionDetails.d.ts +1 -0
  90. package/dist/transactions/index.es.js +63 -64
  91. package/dist/transactions/stores/TransactionStore.d.ts +77 -21
  92. package/dist/trends/index.es.js +948 -583
  93. package/dist/{useAccountDisplayName-BUAApBIb.mjs → useAccountDisplayName-D6sQsNNQ.mjs} +2 -2
  94. package/dist/{useCombineEvents-BUDIR1ba.mjs → useCombineEvents-CRwX-qWE.mjs} +1 -1
  95. package/dist/{useInsightsEnabled-DBpwEq10.mjs → useInsightsEnabled-BxytCjq5.mjs} +1 -1
  96. package/package.json +3 -3
  97. package/dist/AccountDetailsHeader-JtSX6Uf9.mjs +0 -120
  98. package/dist/Accounts-BRf_YeTf.mjs +0 -27
  99. package/dist/CategoryStore-yHI0hWmK.mjs +0 -174
  100. package/dist/CategoryUtil-pZRIYOgN.mjs +0 -80
  101. package/dist/TransactionApi-B3Tksf7L.mjs +0 -86
  102. package/dist/TransactionStore-ai3uII_r.mjs +0 -690
  103. package/dist/TrendsStore-DCYbpXPO.mjs +0 -559
  104. package/dist/exportTransactionsToCSV-7bVS7KXf.mjs +0 -47
  105. package/dist/useAriaLive-B3_pRUio.mjs +0 -35
@@ -1,71 +1,71 @@
1
- import { jsx as e, jsxs as s, Fragment as $ } from "react/jsx-runtime";
2
- import x from "react";
1
+ import { jsx as e, jsxs as s, Fragment as H } from "react/jsx-runtime";
2
+ import g from "react";
3
3
  import { observer as D } from "mobx-react-lite";
4
- import g from "@mui/material/Stack";
5
- import { useTheme as X, Card as be, Stack as y, Box as G } from "@mui/material";
6
- import { Text as l, H3 as ve, InstitutionLogo as De, Icon as ee } from "@mxenabled/mxui";
7
- import { intervalToDuration as Te, formatDuration as Ae } from "date-fns";
8
- import { addMonths as le } from "date-fns/addMonths";
9
- import { fromUnixTime as se } from "date-fns/fromUnixTime";
10
- import { getUnixTime as ce } from "date-fns/getUnixTime";
11
- import { D as B, M as Ee, I as Ie } from "../DebtsStore-C9bblOgW.mjs";
12
- import { a as Fr } from "../DebtsStore-C9bblOgW.mjs";
13
- import { f as M, a as Be } from "../NumberFormatting-Buh7u8Oi.mjs";
14
- import { f as K, D as U } from "../Dialog-CWW597AF.mjs";
15
- import { G as Me, y as q, u as C, l as V, g as k, d as Z, b as Pe } from "../hooks-D6XlXHf4.mjs";
4
+ import w from "@mui/material/Stack";
5
+ import { useTheme as X, Card as _e, Stack as _, Box as W } from "@mui/material";
6
+ import { Text as l, H3 as De, InstitutionLogo as Te, Icon as te } from "@mxenabled/mxui";
7
+ import { intervalToDuration as Ae, formatDuration as Ee } from "date-fns";
8
+ import { addMonths as se } from "date-fns/addMonths";
9
+ import { fromUnixTime as ce } from "date-fns/fromUnixTime";
10
+ import { getUnixTime as de } from "date-fns/getUnixTime";
11
+ import { D as P, M as Ie, I as Be } from "../DebtsStore-DgIcphe_.mjs";
12
+ import { a as Lr } from "../DebtsStore-DgIcphe_.mjs";
13
+ import { f as k, a as Me } from "../NumberFormatting-Buh7u8Oi.mjs";
14
+ import { f as U, D as q } from "../Dialog-CWW597AF.mjs";
15
+ import { G as Pe, y as Z, u as S, l as V, g as F, d as J, n as ke, b as Ne } from "../hooks-Cy8JnjCg.mjs";
16
16
  import { u as Y } from "../useScreenSize-B6JyS_Lj.mjs";
17
- import { D as te } from "../Drawer-kEE73B87.mjs";
18
- import { b as A } from "../Localization-2MODESHW.mjs";
19
- import { A as ke, u as Ne } from "../AccountDetailsHeader-JtSX6Uf9.mjs";
20
- import Fe from "@mui/material/Card";
21
- import Re from "@mui/material/CardContent";
22
- import Le from "@mui/material/CardHeader";
23
- import { LineChart as $e } from "@mui/x-charts";
24
- import re from "@mui/material/Box";
25
- import { useTheme as He } from "@mui/material/styles";
26
- import { A as T, W as Oe } from "../WidgetContainer-BHWANqT4.mjs";
27
- import de from "@mui/material/Tab";
28
- import We from "@mui/material/Tabs";
29
- import _e from "@mui/material/List";
30
- import j from "@mui/material/Divider";
31
- import { M as Ge, I as je, O as ze } from "../OriginalBalanceAction-CWuVvRq9.mjs";
32
- import Xe from "@mui/material/TextField";
33
- import { L as J } from "../ListItemAction-DHa3KJPs.mjs";
34
- import { C as ae } from "../CurrencyInput-DUsQbkXb.mjs";
35
- import pe from "@mui/material/Alert";
36
- import me from "@mui/material/AlertTitle";
37
- import he from "@mui/material/Paper";
38
- import { Error as Ve, CheckCircle as ye } from "@mxenabled/mx-icons";
39
- import { T as ue } from "../TabContentContainer-j01JYR_7.mjs";
40
- import { DataGridPro as Ye } from "@mui/x-data-grid-pro";
41
- import { H as z } from "../HeaderCell-DjuifqHJ.mjs";
42
- import { i as Ke } from "../ConnectDrawer-BQNs-hjk.mjs";
43
- import fe from "@mui/material/Button";
44
- import Ue from "@mui/material/IconButton";
45
- import qe from "@mui/material/ListItem";
46
- import Ze from "@mui/material/Popover";
47
- import { L as Je } from "../Loader-DUaFpDGv.mjs";
48
- const Qe = (a, n = 0, r = 0) => {
17
+ import { D as re } from "../Drawer-kEE73B87.mjs";
18
+ import { b as I } from "../Localization-2MODESHW.mjs";
19
+ import { A as Fe, u as Re } from "../AccountDetailsHeader-jAFWoHj7.mjs";
20
+ import Le from "@mui/material/Card";
21
+ import $e from "@mui/material/CardContent";
22
+ import He from "@mui/material/CardHeader";
23
+ import { LineChart as Oe } from "@mui/x-charts";
24
+ import ae from "@mui/material/Box";
25
+ import { useTheme as We } from "@mui/material/styles";
26
+ import { A as T, W as Ge } from "../WidgetContainer-BnTgAfQn.mjs";
27
+ import pe from "@mui/material/Tab";
28
+ import je from "@mui/material/Tabs";
29
+ import ye from "@mui/material/List";
30
+ import G from "@mui/material/Divider";
31
+ import { M as ze, I as Xe, O as Ve } from "../OriginalBalanceAction-V6FEoIDe.mjs";
32
+ import Ye from "@mui/material/TextField";
33
+ import { L as Q } from "../ListItemAction-BmL5buOf.mjs";
34
+ import { C as ne } from "../CurrencyInput-lSC7oPDg.mjs";
35
+ import me from "@mui/material/Alert";
36
+ import he from "@mui/material/AlertTitle";
37
+ import ue from "@mui/material/Paper";
38
+ import { Error as Ke, CheckCircle as fe } from "@mxenabled/mx-icons";
39
+ import { T as be } from "../TabContentContainer-j01JYR_7.mjs";
40
+ import { DataGridPro as Ue } from "@mui/x-data-grid-pro";
41
+ import { H as j } from "../HeaderCell-DjuifqHJ.mjs";
42
+ import { f as qe } from "../ConnectDrawer-CbxHKlRv.mjs";
43
+ import xe from "@mui/material/Button";
44
+ import Ze from "@mui/material/IconButton";
45
+ import Je from "@mui/material/ListItem";
46
+ import Qe from "@mui/material/Popover";
47
+ import { L as et } from "../Loader-DUaFpDGv.mjs";
48
+ const tt = (a, n = 0, r = 0) => {
49
49
  if (r === 0) return 0;
50
- const t = n / (Ee * Ie);
50
+ const t = n / (Ie * Be);
51
51
  return Math.ceil(
52
52
  t === 0 ? a / r : -Math.log(1 - t * a / r) / Math.log(1 + t)
53
53
  );
54
- }, et = (a, n, r, t, o) => {
54
+ }, rt = (a, n, r, t, o) => {
55
55
  const i = [];
56
56
  if (r === 0) {
57
- for (let d = 0; d < a; d++) {
58
- const c = n - t * (d + 1), m = n - t * d, b = c >= 0 ? t : m;
57
+ for (let c = 0; c < a; c++) {
58
+ const d = n - t * (c + 1), m = n - t * c, u = d >= 0 ? t : m;
59
59
  i.push({
60
- balance: c >= 0 ? c : 0,
60
+ balance: d >= 0 ? d : 0,
61
61
  interest: r,
62
- payment: b,
63
- principal: b,
64
- timestamp: ce(
65
- le(
66
- se(o),
62
+ payment: u,
63
+ principal: u,
64
+ timestamp: de(
65
+ se(
66
+ ce(o),
67
67
  // convert seconds → Date
68
- d + 1
68
+ c + 1
69
69
  // add (index + 1) months
70
70
  )
71
71
  )
@@ -74,46 +74,46 @@ const Qe = (a, n = 0, r = 0) => {
74
74
  return i;
75
75
  }
76
76
  const p = r / 1200;
77
- for (let d = 0; d < a; d++) {
78
- const c = ce(le(se(o), d + 1)), m = Math.pow(1 + p, d), b = n * m - t * ((m - 1) / p), f = Math.pow(1 + p, d + 1), u = n * f - t * ((f - 1) / p), S = t + Math.min(u, 0), P = b * p;
77
+ for (let c = 0; c < a; c++) {
78
+ const d = de(se(ce(o), c + 1)), m = Math.pow(1 + p, c), u = n * m - t * ((m - 1) / p), x = Math.pow(1 + p, c + 1), h = n * x - t * ((x - 1) / p), v = t + Math.min(h, 0), B = u * p;
79
79
  i.push({
80
- balance: Math.max(0, u),
81
- interest: P,
82
- payment: S,
83
- principal: S - P,
84
- timestamp: c
80
+ balance: Math.max(0, h),
81
+ interest: B,
82
+ payment: v,
83
+ principal: v - B,
84
+ timestamp: d
85
85
  });
86
86
  }
87
87
  return i;
88
- }, tt = (a) => (a[a.length - 1] || {}).timestamp, rt = (a) => {
89
- const { monthly_payment: n, interest_rate: r, balance: t, payment_due_date: o } = a, i = Qe(t, r ?? 0, n ?? 0), p = et(
88
+ }, at = (a) => (a[a.length - 1] || {}).timestamp, nt = (a) => {
89
+ const { monthly_payment: n, interest_rate: r, balance: t, payment_due_date: o } = a, i = tt(t, r ?? 0, n ?? 0), p = rt(
90
90
  i,
91
91
  t,
92
92
  r ?? 0,
93
93
  n ?? 0,
94
94
  o
95
- ), d = tt(p);
95
+ ), c = at(p);
96
96
  return {
97
97
  ...a,
98
- minimumFinalPayment: d,
98
+ minimumFinalPayment: c,
99
99
  minimumPayments: p
100
100
  };
101
- }, xe = (a, n) => {
101
+ }, ge = (a, n) => {
102
102
  const [r, t] = a.reduce(
103
- ([o, i], p) => (p.is_paid_off || p.is_impossible ? i.push({ ...p, minimumPayments: [] }) : o.push(rt(p)), [o, i]),
103
+ ([o, i], p) => (p.is_paid_off || p.is_impossible ? i.push({ ...p, minimumPayments: [] }) : o.push(nt(p)), [o, i]),
104
104
  [[], []]
105
105
  );
106
106
  switch (n) {
107
- case B.FASTEST_PAYOFF_FIRST:
107
+ case P.FASTEST_PAYOFF_FIRST:
108
108
  r.sort((o, i) => (o.minimumFinalPayment ?? 0) - (i.minimumFinalPayment ?? 0));
109
109
  break;
110
- case B.HIGHEST_INTEREST:
110
+ case P.HIGHEST_INTEREST:
111
111
  r.sort((o, i) => (i.interest_rate ?? 0) - (o.interest_rate ?? 0));
112
112
  break;
113
- case B.LOWEST_BALANCE:
113
+ case P.LOWEST_BALANCE:
114
114
  r.sort((o, i) => o.balance - i.balance);
115
115
  break;
116
- case B.HIGHEST_BALANCE:
116
+ case P.HIGHEST_BALANCE:
117
117
  r.sort((o, i) => i.balance - o.balance);
118
118
  break;
119
119
  default:
@@ -121,47 +121,47 @@ const Qe = (a, n = 0, r = 0) => {
121
121
  }
122
122
  a.splice(0, a.length, ...r, ...t);
123
123
  };
124
- function at(a, n, r = 0) {
125
- const t = a.map((b) => ({ ...b })).filter(
126
- (b) => b.interest_rate !== void 0 && b.monthly_payment !== void 0 && !b.is_paid_off
124
+ function ot(a, n, r = 0) {
125
+ const t = a.map((u) => ({ ...u })).filter(
126
+ (u) => u.interest_rate !== void 0 && u.monthly_payment !== void 0 && !u.is_paid_off
127
127
  );
128
- xe(t, n);
128
+ ge(t, n);
129
129
  let o = 0, i = 0;
130
- const p = /* @__PURE__ */ new Date(), d = /* @__PURE__ */ new Date();
131
- for (; t.some((b) => b.balance >= 0.01 && !b.is_impossible); ) {
132
- let b = !1;
133
- for (const [f, u] of t.entries()) {
134
- if (u.balance <= 0.01 || u.is_impossible) continue;
135
- const P = (u.interest_rate ?? 0) / 100 / 12, E = u.balance * P;
136
- let _ = u.monthly_payment ?? 0;
137
- f === 0 && r && (_ += r), u.balance += E;
138
- const v = Math.min(u.balance, _ + i);
139
- if (v <= E) {
140
- u.is_impossible = !0;
130
+ const p = /* @__PURE__ */ new Date(), c = /* @__PURE__ */ new Date();
131
+ for (; t.some((u) => u.balance >= 0.01 && !u.is_impossible); ) {
132
+ let u = !1;
133
+ for (const [x, h] of t.entries()) {
134
+ if (h.balance <= 0.01 || h.is_impossible) continue;
135
+ const B = (h.interest_rate ?? 0) / 100 / 12, N = h.balance * B;
136
+ let C = h.monthly_payment ?? 0;
137
+ x === 0 && r && (C += r), h.balance += N;
138
+ const A = Math.min(h.balance, C + i);
139
+ if (A <= N) {
140
+ h.is_impossible = !0;
141
141
  continue;
142
142
  }
143
- u.balance -= v, u.balance = u.balance < 0.01 ? 0 : u.balance, o += E, u.balance <= 0 && (i += _), v > 0 && (b = !0);
143
+ h.balance -= A, h.balance = h.balance < 0.01 ? 0 : h.balance, o += N, h.balance <= 0 && (i += C), A > 0 && (u = !0);
144
144
  }
145
- b && d.setMonth(d.getMonth() + 1);
145
+ u && c.setMonth(c.getMonth() + 1);
146
146
  }
147
- const c = t.some((b) => b.is_impossible && b.balance > 0), m = Te({ start: p, end: d });
147
+ const d = t.some((u) => u.is_impossible && u.balance > 0), m = Ae({ start: p, end: c });
148
148
  return {
149
- payoffSavings: c ? "N/A" : M(o, "0,0.00"),
150
- payoffDate: c ? "Never" : K(d, U.MONTH_YEAR),
151
- payoffDuration: c ? "Stagnant" : Ae(m, { format: ["years", "months"] }) || "0 months"
149
+ payoffSavings: d ? "N/A" : k(o, "0,0.00"),
150
+ payoffDate: d ? "Never" : U(c, q.MONTH_YEAR),
151
+ payoffDuration: d ? "Stagnant" : Ee(m, { format: ["years", "months"] }) || "0 months"
152
152
  };
153
153
  }
154
- const R = () => {
155
- if (!x.useContext(Me))
154
+ const L = () => {
155
+ if (!g.useContext(Pe))
156
156
  throw new Error("useCateUiStore() must be used within the GlobalDataContext");
157
- return q().uiStore;
158
- }, nt = ({ debts: a, onClickCta: n, sx: r }) => {
159
- const t = X(), { isMobile: o } = Y(), { debts: i } = C(), { selectedDebtPriority: p } = R(), { monthlyCashFlowProfile: d } = V(), { payoffDate: c, payoffSavings: m, payoffDuration: b } = x.useMemo(() => {
160
- const f = d?.extra_payment ?? 0;
161
- return at(a, p, f);
162
- }, [a, p, d]);
157
+ return Z().uiStore;
158
+ }, it = ({ debts: a, onClickCta: n, sx: r }) => {
159
+ const t = X(), { isMobile: o } = Y(), { debts: i } = S(), { selectedDebtPriority: p } = L(), { monthlyCashFlowProfile: c } = V(), { payoffDate: d, payoffSavings: m, payoffDuration: u } = g.useMemo(() => {
160
+ const x = c?.extra_payment ?? 0;
161
+ return ot(a, p, x);
162
+ }, [a, p, c]);
163
163
  return /* @__PURE__ */ e(
164
- be,
164
+ _e,
165
165
  {
166
166
  sx: {
167
167
  boxShadow: t.shadows[2],
@@ -169,9 +169,9 @@ const R = () => {
169
169
  minWidth: "186px",
170
170
  ...r
171
171
  },
172
- children: /* @__PURE__ */ s(y, { sx: { gap: "12px", p: "16px" }, children: [
172
+ children: /* @__PURE__ */ s(_, { sx: { gap: "12px", p: "16px" }, children: [
173
173
  /* @__PURE__ */ s(
174
- y,
174
+ _,
175
175
  {
176
176
  gap: o ? "4px" : "0",
177
177
  sx: {
@@ -181,16 +181,16 @@ const R = () => {
181
181
  },
182
182
  children: [
183
183
  /* @__PURE__ */ e(l, { variant: "XSmall", children: i.snowball_card_date_description }),
184
- /* @__PURE__ */ e(l, { bold: !0, color: t.palette.primary.main, variant: "Small", children: c })
184
+ /* @__PURE__ */ e(l, { bold: !0, color: t.palette.primary.main, variant: "Small", children: d })
185
185
  ]
186
186
  }
187
187
  ),
188
- /* @__PURE__ */ s(y, { gap: o ? "4px" : "0", children: [
188
+ /* @__PURE__ */ s(_, { gap: o ? "4px" : "0", children: [
189
189
  /* @__PURE__ */ e(l, { bold: !0, variant: "Small", children: m }),
190
190
  /* @__PURE__ */ e(l, { sx: { whiteSpace: "normal" }, variant: "XSmall", children: i.snowball_card_amount_description })
191
191
  ] }),
192
- /* @__PURE__ */ s(y, { gap: o ? "4px" : "0", children: [
193
- /* @__PURE__ */ e(l, { bold: !0, variant: "Small", children: b }),
192
+ /* @__PURE__ */ s(_, { gap: o ? "4px" : "0", children: [
193
+ /* @__PURE__ */ e(l, { bold: !0, variant: "Small", children: u }),
194
194
  /* @__PURE__ */ e(l, { variant: "XSmall", children: i.snowball_card_duration_description })
195
195
  ] }),
196
196
  /* @__PURE__ */ e(
@@ -207,24 +207,24 @@ const R = () => {
207
207
  ] })
208
208
  }
209
209
  );
210
- }, ot = D(nt), it = ({ isOpen: a, onClose: n }) => {
211
- const r = X(), { debts: t } = C(), [o, i] = x.useState(!1);
210
+ }, lt = D(it), st = ({ isOpen: a, onClose: n }) => {
211
+ const r = X(), { debts: t } = S(), [o, i] = g.useState(!1);
212
212
  return /* @__PURE__ */ e(
213
- te,
213
+ re,
214
214
  {
215
215
  ariaLabelClose: "",
216
216
  isOpen: a,
217
217
  onClose: n,
218
218
  title: t.snowball_drawer_title,
219
- children: /* @__PURE__ */ s(y, { bgcolor: r.palette.background.default, height: "100%", children: [
220
- /* @__PURE__ */ s(y, { alignItems: "center", px: 24, py: 24, children: [
221
- /* @__PURE__ */ s(y, { alignItems: "center", pb: 24, children: [
219
+ children: /* @__PURE__ */ s(_, { bgcolor: r.palette.background.default, height: "100%", children: [
220
+ /* @__PURE__ */ s(_, { alignItems: "center", px: 24, py: 24, children: [
221
+ /* @__PURE__ */ s(_, { alignItems: "center", pb: 24, children: [
222
222
  /* @__PURE__ */ e(l, { mb: 12, variant: "H3", children: t.snowball_drawer_subtitle }),
223
223
  /* @__PURE__ */ e(l, { color: r.palette.secondary.main, variant: "Small", children: t.snowball_drawer_amount_description }),
224
224
  /* @__PURE__ */ e(l, { variant: "H1", children: t.snowball_drawer_savings }),
225
225
  /* @__PURE__ */ e(l, { color: r.palette.secondary.main, variant: "Small", children: t.snowball_drawer_duration_description })
226
226
  ] }),
227
- /* @__PURE__ */ s(be, { sx: { display: "grid", py: 16, px: 24 }, children: [
227
+ /* @__PURE__ */ s(_e, { sx: { display: "grid", py: 16, px: 24 }, children: [
228
228
  /* @__PURE__ */ e(l, { mb: 4, variant: "H3", children: t.snowball_drawer_question }),
229
229
  /* @__PURE__ */ e(
230
230
  l,
@@ -249,7 +249,7 @@ const R = () => {
249
249
  )
250
250
  ] })
251
251
  ] }),
252
- /* @__PURE__ */ s(y, { children: [
252
+ /* @__PURE__ */ s(_, { children: [
253
253
  /* @__PURE__ */ e(
254
254
  l,
255
255
  {
@@ -260,14 +260,14 @@ const R = () => {
260
260
  children: t.snowball_drawer_disclaimer
261
261
  }
262
262
  ),
263
- /* @__PURE__ */ s(y, { flexDirection: "row", justifyContent: "space-between", sx: { pt: 12, px: 24, pb: 8 }, children: [
264
- /* @__PURE__ */ e(l, { bold: !0, variant: "XSmall", children: A(t.snowball_drawer_month_header, 1) }),
263
+ /* @__PURE__ */ s(_, { flexDirection: "row", justifyContent: "space-between", sx: { pt: 12, px: 24, pb: 8 }, children: [
264
+ /* @__PURE__ */ e(l, { bold: !0, variant: "XSmall", children: I(t.snowball_drawer_month_header, 1) }),
265
265
  /* @__PURE__ */ e(l, { bold: !0, variant: "XSmall", children: t.snowball_drawer_payment_header })
266
266
  ] }),
267
- /* @__PURE__ */ s(y, { bgcolor: r.palette.background.paper, mb: 24, children: [
268
- /* @__PURE__ */ s(y, { alignItems: "center", flexDirection: "row", pl: 24, children: [
267
+ /* @__PURE__ */ s(_, { bgcolor: r.palette.background.paper, mb: 24, children: [
268
+ /* @__PURE__ */ s(_, { alignItems: "center", flexDirection: "row", pl: 24, children: [
269
269
  /* @__PURE__ */ e(
270
- G,
270
+ W,
271
271
  {
272
272
  sx: {
273
273
  display: "flex",
@@ -283,7 +283,7 @@ const R = () => {
283
283
  }
284
284
  ),
285
285
  /* @__PURE__ */ s(
286
- y,
286
+ _,
287
287
  {
288
288
  sx: {
289
289
  borderBottom: `1px solid ${r.palette.border.light}`,
@@ -293,18 +293,18 @@ const R = () => {
293
293
  pr: 24
294
294
  },
295
295
  children: [
296
- /* @__PURE__ */ s(y, { flexGrow: 1, children: [
297
- /* @__PURE__ */ e(l, { variant: "Body", children: A(t.snowball_drawer_debt_label, "A") }),
296
+ /* @__PURE__ */ s(_, { flexGrow: 1, children: [
297
+ /* @__PURE__ */ e(l, { variant: "Body", children: I(t.snowball_drawer_debt_label, "A") }),
298
298
  /* @__PURE__ */ s(l, { color: r.palette.secondary.main, variant: "XSmall", children: [
299
- A(
299
+ I(
300
300
  t.snowball_drawer_rollover_explainer_pt1,
301
301
  "$100"
302
302
  ),
303
- /* @__PURE__ */ e("strong", { children: A(t.snowball_drawer_debt_label, "B") }),
303
+ /* @__PURE__ */ e("strong", { children: I(t.snowball_drawer_debt_label, "B") }),
304
304
  t.snowball_drawer_rollover_explainer_pt2
305
305
  ] })
306
306
  ] }),
307
- /* @__PURE__ */ s(y, { children: [
307
+ /* @__PURE__ */ s(_, { children: [
308
308
  /* @__PURE__ */ e(l, { variant: "Body", children: "$100.00" }),
309
309
  /* @__PURE__ */ e(
310
310
  l,
@@ -321,9 +321,9 @@ const R = () => {
321
321
  }
322
322
  )
323
323
  ] }),
324
- /* @__PURE__ */ s(y, { alignItems: "center", flexDirection: "row", pl: 24, children: [
324
+ /* @__PURE__ */ s(_, { alignItems: "center", flexDirection: "row", pl: 24, children: [
325
325
  /* @__PURE__ */ e(
326
- G,
326
+ W,
327
327
  {
328
328
  sx: {
329
329
  width: 20,
@@ -335,7 +335,7 @@ const R = () => {
335
335
  }
336
336
  ),
337
337
  /* @__PURE__ */ s(
338
- y,
338
+ _,
339
339
  {
340
340
  sx: {
341
341
  borderBottom: `1px solid ${r.palette.border.light}`,
@@ -345,15 +345,15 @@ const R = () => {
345
345
  pr: 24
346
346
  },
347
347
  children: [
348
- /* @__PURE__ */ e(l, { flexGrow: 1, variant: "Body", children: A(t.snowball_drawer_debt_label, "B") }),
348
+ /* @__PURE__ */ e(l, { flexGrow: 1, variant: "Body", children: I(t.snowball_drawer_debt_label, "B") }),
349
349
  /* @__PURE__ */ e(l, { variant: "Body", children: "$400.00" })
350
350
  ]
351
351
  }
352
352
  )
353
353
  ] }),
354
- /* @__PURE__ */ s(y, { alignItems: "center", flexDirection: "row", pl: 24, py: 14, children: [
354
+ /* @__PURE__ */ s(_, { alignItems: "center", flexDirection: "row", pl: 24, py: 14, children: [
355
355
  /* @__PURE__ */ e(
356
- G,
356
+ W,
357
357
  {
358
358
  sx: {
359
359
  width: 20,
@@ -364,13 +364,13 @@ const R = () => {
364
364
  }
365
365
  }
366
366
  ),
367
- /* @__PURE__ */ s(y, { flexDirection: "row", flexGrow: 1, pr: 24, children: [
368
- /* @__PURE__ */ e(l, { flexGrow: 1, variant: "Body", children: A(t.snowball_drawer_debt_label, "C") }),
367
+ /* @__PURE__ */ s(_, { flexDirection: "row", flexGrow: 1, pr: 24, children: [
368
+ /* @__PURE__ */ e(l, { flexGrow: 1, variant: "Body", children: I(t.snowball_drawer_debt_label, "C") }),
369
369
  /* @__PURE__ */ e(l, { variant: "Body", children: "$1,000.00" })
370
370
  ] })
371
371
  ] }),
372
372
  /* @__PURE__ */ s(
373
- y,
373
+ _,
374
374
  {
375
375
  sx: {
376
376
  py: 8,
@@ -387,14 +387,14 @@ const R = () => {
387
387
  }
388
388
  )
389
389
  ] }),
390
- /* @__PURE__ */ s(y, { flexDirection: "row", justifyContent: "space-between", sx: { pt: 12, px: 24, pb: 8 }, children: [
391
- /* @__PURE__ */ e(l, { bold: !0, variant: "XSmall", children: A(t.snowball_drawer_month_header, 2) }),
390
+ /* @__PURE__ */ s(_, { flexDirection: "row", justifyContent: "space-between", sx: { pt: 12, px: 24, pb: 8 }, children: [
391
+ /* @__PURE__ */ e(l, { bold: !0, variant: "XSmall", children: I(t.snowball_drawer_month_header, 2) }),
392
392
  /* @__PURE__ */ e(l, { bold: !0, variant: "XSmall", children: t.snowball_drawer_payment_header })
393
393
  ] }),
394
- /* @__PURE__ */ s(y, { bgcolor: r.palette.background.paper, mb: 24, children: [
395
- /* @__PURE__ */ s(y, { alignItems: "center", flexDirection: "row", pl: 24, children: [
394
+ /* @__PURE__ */ s(_, { bgcolor: r.palette.background.paper, mb: 24, children: [
395
+ /* @__PURE__ */ s(_, { alignItems: "center", flexDirection: "row", pl: 24, children: [
396
396
  /* @__PURE__ */ e(
397
- G,
397
+ W,
398
398
  {
399
399
  sx: {
400
400
  display: "flex",
@@ -410,7 +410,7 @@ const R = () => {
410
410
  }
411
411
  ),
412
412
  /* @__PURE__ */ s(
413
- y,
413
+ _,
414
414
  {
415
415
  sx: {
416
416
  borderBottom: `1px solid ${r.palette.border.light}`,
@@ -420,18 +420,18 @@ const R = () => {
420
420
  pr: 24
421
421
  },
422
422
  children: [
423
- /* @__PURE__ */ s(y, { flexGrow: 1, children: [
424
- /* @__PURE__ */ e(l, { variant: "Body", children: A(t.snowball_drawer_debt_label, "B") }),
423
+ /* @__PURE__ */ s(_, { flexGrow: 1, children: [
424
+ /* @__PURE__ */ e(l, { variant: "Body", children: I(t.snowball_drawer_debt_label, "B") }),
425
425
  /* @__PURE__ */ s(l, { color: r.palette.secondary.main, variant: "XSmall", children: [
426
- A(
426
+ I(
427
427
  t.snowball_drawer_rollover_explainer_pt1,
428
428
  "$500"
429
429
  ),
430
- /* @__PURE__ */ e("strong", { children: A(t.snowball_drawer_debt_label, "C") }),
430
+ /* @__PURE__ */ e("strong", { children: I(t.snowball_drawer_debt_label, "C") }),
431
431
  t.snowball_drawer_rollover_explainer_pt2
432
432
  ] })
433
433
  ] }),
434
- /* @__PURE__ */ s(y, { children: [
434
+ /* @__PURE__ */ s(_, { children: [
435
435
  /* @__PURE__ */ e(l, { variant: "Body", children: "$500.00" }),
436
436
  /* @__PURE__ */ e(
437
437
  l,
@@ -448,9 +448,9 @@ const R = () => {
448
448
  }
449
449
  )
450
450
  ] }),
451
- /* @__PURE__ */ s(y, { alignItems: "center", flexDirection: "row", pl: 24, children: [
451
+ /* @__PURE__ */ s(_, { alignItems: "center", flexDirection: "row", pl: 24, children: [
452
452
  /* @__PURE__ */ e(
453
- G,
453
+ W,
454
454
  {
455
455
  sx: {
456
456
  width: 20,
@@ -462,7 +462,7 @@ const R = () => {
462
462
  }
463
463
  ),
464
464
  /* @__PURE__ */ s(
465
- y,
465
+ _,
466
466
  {
467
467
  sx: {
468
468
  flexDirection: "row",
@@ -471,14 +471,14 @@ const R = () => {
471
471
  pr: 24
472
472
  },
473
473
  children: [
474
- /* @__PURE__ */ e(l, { flexGrow: 1, variant: "Body", children: A(t.snowball_drawer_debt_label, "C") }),
474
+ /* @__PURE__ */ e(l, { flexGrow: 1, variant: "Body", children: I(t.snowball_drawer_debt_label, "C") }),
475
475
  /* @__PURE__ */ e(l, { variant: "Body", children: "$1,000.00" })
476
476
  ]
477
477
  }
478
478
  )
479
479
  ] }),
480
480
  /* @__PURE__ */ s(
481
- y,
481
+ _,
482
482
  {
483
483
  sx: {
484
484
  py: 8,
@@ -495,14 +495,14 @@ const R = () => {
495
495
  }
496
496
  )
497
497
  ] }),
498
- /* @__PURE__ */ s(y, { flexDirection: "row", justifyContent: "space-between", sx: { pt: 12, px: 24, pb: 8 }, children: [
499
- /* @__PURE__ */ e(l, { bold: !0, variant: "XSmall", children: A(t.snowball_drawer_month_header, 3) }),
498
+ /* @__PURE__ */ s(_, { flexDirection: "row", justifyContent: "space-between", sx: { pt: 12, px: 24, pb: 8 }, children: [
499
+ /* @__PURE__ */ e(l, { bold: !0, variant: "XSmall", children: I(t.snowball_drawer_month_header, 3) }),
500
500
  /* @__PURE__ */ e(l, { bold: !0, variant: "XSmall", children: t.snowball_drawer_payment_header })
501
501
  ] }),
502
- /* @__PURE__ */ s(y, { bgcolor: r.palette.background.paper, mb: 24, children: [
503
- /* @__PURE__ */ s(y, { alignItems: "center", flexDirection: "row", pl: 24, children: [
502
+ /* @__PURE__ */ s(_, { bgcolor: r.palette.background.paper, mb: 24, children: [
503
+ /* @__PURE__ */ s(_, { alignItems: "center", flexDirection: "row", pl: 24, children: [
504
504
  /* @__PURE__ */ e(
505
- G,
505
+ W,
506
506
  {
507
507
  sx: {
508
508
  display: "flex",
@@ -518,7 +518,7 @@ const R = () => {
518
518
  }
519
519
  ),
520
520
  /* @__PURE__ */ s(
521
- y,
521
+ _,
522
522
  {
523
523
  sx: {
524
524
  alignItems: "center",
@@ -528,8 +528,8 @@ const R = () => {
528
528
  pr: 24
529
529
  },
530
530
  children: [
531
- /* @__PURE__ */ e(y, { flexGrow: 1, children: /* @__PURE__ */ e(l, { variant: "Body", children: A(t.snowball_drawer_debt_label, "C") }) }),
532
- /* @__PURE__ */ s(y, { children: [
531
+ /* @__PURE__ */ e(_, { flexGrow: 1, children: /* @__PURE__ */ e(l, { variant: "Body", children: I(t.snowball_drawer_debt_label, "C") }) }),
532
+ /* @__PURE__ */ s(_, { children: [
533
533
  /* @__PURE__ */ e(l, { variant: "Body", children: "$1,500.00" }),
534
534
  /* @__PURE__ */ e(
535
535
  l,
@@ -547,7 +547,7 @@ const R = () => {
547
547
  )
548
548
  ] }),
549
549
  /* @__PURE__ */ s(
550
- y,
550
+ _,
551
551
  {
552
552
  sx: {
553
553
  py: 8,
@@ -568,8 +568,8 @@ const R = () => {
568
568
  ] })
569
569
  }
570
570
  );
571
- }, lt = D(it), st = "#FF7B08";
572
- function ct(a, n) {
571
+ }, ct = D(st), dt = "#FF7B08";
572
+ function pt(a, n) {
573
573
  const [r, t, o] = a.replace(/^#/, "").match(/.{1,2}/g).map((p) => parseInt(p, 16)), i = [
574
574
  Math.max(0, Math.min(255, Math.round(r * n))),
575
575
  Math.max(0, Math.min(255, Math.round(t * n))),
@@ -577,7 +577,7 @@ function ct(a, n) {
577
577
  ];
578
578
  return `rgb(${i[0]}, ${i[1]}, ${i[2]})`;
579
579
  }
580
- const ge = ({
580
+ const we = ({
581
581
  sx: a,
582
582
  height: n = 500,
583
583
  width: r,
@@ -586,32 +586,32 @@ const ge = ({
586
586
  onClickArea: i,
587
587
  onHoverArea: p
588
588
  }) => {
589
- const d = He(), { onEvent: c } = k(), m = t.filter((h) => !h.is_impossible), b = [
589
+ const c = We(), { onEvent: d } = F(), m = t.filter((b) => !b.is_impossible), u = [
590
590
  ...new Set(
591
- m.flatMap((h) => h.dataset.map((w) => new Date(w.x).getTime()))
591
+ m.flatMap((b) => b.dataset.map((f) => new Date(f.x).getTime()))
592
592
  )
593
- ].sort((h, w) => h - w).map((h) => new Date(h)), f = m.map((h) => {
594
- const w = new Map(h.dataset.map((F) => [new Date(F.x).getTime(), F.y]));
595
- let I = w.get(b[0].getTime()) ?? 0;
596
- const N = b.map((F) => {
597
- const O = w.get(F.getTime()) ?? I;
598
- return I = O, { x: F, y: O };
593
+ ].sort((b, f) => b - f).map((b) => new Date(b)), x = m.map((b) => {
594
+ const f = new Map(b.dataset.map((R) => [new Date(R.x).getTime(), R.y]));
595
+ let E = f.get(u[0].getTime()) ?? 0;
596
+ const $ = u.map((R) => {
597
+ const z = f.get(R.getTime()) ?? E;
598
+ return E = z, { x: R, y: z };
599
599
  });
600
- return { ...h, dataset: N };
601
- }), u = f.reduce(
602
- (h, w) => h + (w.dataset[0]?.y ?? 0),
600
+ return { ...b, dataset: $ };
601
+ }), h = x.reduce(
602
+ (b, f) => b + (f.dataset[0]?.y ?? 0),
603
603
  0
604
- ), S = b.map((h, w) => {
605
- const I = w / (b.length - 1), N = u * (1 - I);
606
- return { x: h, y: N };
607
- }), P = Math.ceil(u / 100) * 100, E = b, _ = f.map((h, w) => {
608
- const I = 1 - w / f.length * 0.5, N = ct(st, I);
604
+ ), v = u.map((b, f) => {
605
+ const E = f / (u.length - 1), $ = h * (1 - E);
606
+ return { x: b, y: $ };
607
+ }), B = Math.ceil(h / 100) * 100, N = u, C = x.map((b, f) => {
608
+ const E = 1 - f / x.length * 0.5, $ = pt(dt, E);
609
609
  return {
610
- id: `debt-${w}`,
611
- guid: h.guid,
612
- label: h.name,
613
- data: h.dataset.map((F) => F.y),
614
- color: N,
610
+ id: `debt-${f}`,
611
+ guid: b.guid,
612
+ label: b.name,
613
+ data: b.dataset.map((R) => R.y),
614
+ color: $,
615
615
  curve: "linear",
616
616
  type: "line",
617
617
  area: !0,
@@ -619,20 +619,20 @@ const ge = ({
619
619
  showMark: !1
620
620
  };
621
621
  });
622
- _.push({
622
+ C.push({
623
623
  id: "payoff-line",
624
624
  label: "Payoff Line",
625
- data: S.map((h) => h.y),
626
- color: d.palette.grey[700],
625
+ data: v.map((b) => b.y),
626
+ color: c.palette.grey[700],
627
627
  curve: "linear",
628
628
  type: "line",
629
629
  stack: void 0,
630
630
  showMark: !1,
631
631
  disableHighlight: !0
632
632
  });
633
- const v = (h) => _.findIndex((w) => w?.guid === h);
633
+ const A = (b) => C.findIndex((f) => f?.guid === b);
634
634
  return /* @__PURE__ */ e(
635
- re,
635
+ ae,
636
636
  {
637
637
  sx: {
638
638
  width: "100%",
@@ -647,21 +647,21 @@ const ge = ({
647
647
  }
648
648
  },
649
649
  children: /* @__PURE__ */ e(
650
- $e,
650
+ Oe,
651
651
  {
652
652
  axisHighlight: { x: "none" },
653
653
  disableLineItemHighlight: !0,
654
654
  height: n,
655
- onAreaClick: (h, w) => {
655
+ onAreaClick: (b, f) => {
656
656
  i?.();
657
- const I = _.find((N) => N.id === w.seriesId);
658
- c(T.DEBTS_CLICK_CHART_AREA, { account_guid: I?.guid });
657
+ const E = C.find(($) => $.id === f.seriesId);
658
+ d(T.DEBTS_CLICK_CHART_AREA, { account_guid: E?.guid });
659
659
  },
660
- onHighlightChange: (h) => {
661
- const w = _.find((I) => I.id === h?.seriesId)?.guid;
662
- p?.(w ?? "");
660
+ onHighlightChange: (b) => {
661
+ const f = C.find((E) => E.id === b?.seriesId)?.guid;
662
+ p?.(f ?? "");
663
663
  },
664
- series: _,
664
+ series: C,
665
665
  skipAnimation: !0,
666
666
  slotProps: {
667
667
  legend: {
@@ -685,14 +685,14 @@ const ge = ({
685
685
  strokeDasharray: "10 5",
686
686
  strokeWidth: 1
687
687
  },
688
- [`& .MuiLineElement-series-debt-${v(o ?? "0")}`]: {
688
+ [`& .MuiLineElement-series-debt-${A(o ?? "0")}`]: {
689
689
  opacity: 1
690
690
  },
691
- [`& .MuiAreaElement-series-debt-${v(o ?? "0")}`]: {
691
+ [`& .MuiAreaElement-series-debt-${A(o ?? "0")}`]: {
692
692
  opacity: 1
693
693
  },
694
694
  "& .MuiChartsAxis-tickLabel > tspan": {
695
- fontFamily: d.typography.Small.fontFamily
695
+ fontFamily: c.typography.Small.fontFamily
696
696
  },
697
697
  ...a
698
698
  },
@@ -700,30 +700,30 @@ const ge = ({
700
700
  width: r,
701
701
  xAxis: [
702
702
  {
703
- data: E,
703
+ data: N,
704
704
  scaleType: "time",
705
- min: b[0],
705
+ min: u[0],
706
706
  disableTicks: !0,
707
- valueFormatter: (h) => K(h, U.MONTH_SHORT_YEAR)
707
+ valueFormatter: (b) => U(b, q.MONTH_SHORT_YEAR)
708
708
  }
709
709
  ],
710
710
  yAxis: [
711
711
  {
712
712
  min: 0,
713
- max: P,
713
+ max: B,
714
714
  disableTicks: !0,
715
- valueFormatter: (h) => M(h, "0a")
715
+ valueFormatter: (b) => k(b, "0a")
716
716
  }
717
717
  ]
718
718
  }
719
719
  )
720
720
  }
721
721
  );
722
- }, dt = () => {
723
- const a = X(), { debts: n } = C(), { selectedDebtChartData: r } = R();
724
- return /* @__PURE__ */ s($, { children: [
722
+ }, mt = () => {
723
+ const a = X(), { debts: n } = S(), { selectedDebtChartData: r } = L();
724
+ return /* @__PURE__ */ s(H, { children: [
725
725
  /* @__PURE__ */ s(
726
- Fe,
726
+ Le,
727
727
  {
728
728
  sx: {
729
729
  "& .MuiCardContent-root:last-child": {
@@ -731,8 +731,8 @@ const ge = ({
731
731
  }
732
732
  },
733
733
  children: [
734
- /* @__PURE__ */ e(Le, { sx: { pb: 0 }, title: /* @__PURE__ */ e(ve, { sx: { pb: 4 }, children: n.details_chart_title }) }),
735
- /* @__PURE__ */ e(Re, { sx: { p: 0 }, children: /* @__PURE__ */ e(ge, { debts: [r], height: 250 }) })
734
+ /* @__PURE__ */ e(He, { sx: { pb: 0 }, title: /* @__PURE__ */ e(De, { sx: { pb: 4 }, children: n.details_chart_title }) }),
735
+ /* @__PURE__ */ e($e, { sx: { p: 0 }, children: /* @__PURE__ */ e(we, { debts: [r], height: 250 }) })
736
736
  ]
737
737
  }
738
738
  ),
@@ -746,9 +746,9 @@ const ge = ({
746
746
  }
747
747
  )
748
748
  ] });
749
- }, pt = D(dt), mt = () => {
750
- const a = X(), { onEvent: n } = k(), { debts: r } = C(), { selectedDebtChartData: t, showCompleted: o, showError: i } = R();
751
- return x.useEffect(() => n(T.DEBT_SCHEDULE_VIEW), []), /* @__PURE__ */ e(_e, { children: i || o ? /* @__PURE__ */ e(
749
+ }, ht = D(mt), ut = () => {
750
+ const a = X(), { onEvent: n } = F(), { debts: r } = S(), { selectedDebtChartData: t, showCompleted: o, showError: i } = L();
751
+ return g.useEffect(() => n(T.DEBT_SCHEDULE_VIEW), []), /* @__PURE__ */ e(ye, { children: i || o ? /* @__PURE__ */ e(
752
752
  l,
753
753
  {
754
754
  color: a.palette.secondary.main,
@@ -757,13 +757,13 @@ const ge = ({
757
757
  variant: "Small",
758
758
  children: i ? r.schedule_error_message : r.schedule_complete_message
759
759
  }
760
- ) : /* @__PURE__ */ s($, { children: [
761
- /* @__PURE__ */ s(g, { flexDirection: "row", justifyContent: "space-between", sx: { pt: 12, px: 24, pb: 8 }, children: [
760
+ ) : /* @__PURE__ */ s(H, { children: [
761
+ /* @__PURE__ */ s(w, { flexDirection: "row", justifyContent: "space-between", sx: { pt: 12, px: 24, pb: 8 }, children: [
762
762
  /* @__PURE__ */ e(l, { bold: !0, variant: "XSmall", children: r.schedule_month_heading }),
763
763
  /* @__PURE__ */ e(l, { bold: !0, variant: "XSmall", children: r.schedule_amount_heading })
764
764
  ] }),
765
- t.dataset.slice(1).map(({ x: p, y: d, payment: c }) => /* @__PURE__ */ e(g, { bgcolor: a.palette.background.paper, children: /* @__PURE__ */ e(g, { alignItems: "center", flexDirection: "row", pl: 24, children: /* @__PURE__ */ s(
766
- g,
765
+ t.dataset.slice(1).map(({ x: p, y: c, payment: d }) => /* @__PURE__ */ e(w, { bgcolor: a.palette.background.paper, children: /* @__PURE__ */ e(w, { alignItems: "center", flexDirection: "row", pl: 24, children: /* @__PURE__ */ s(
766
+ w,
767
767
  {
768
768
  sx: {
769
769
  borderBottom: `1px solid ${a.palette.border.light}`,
@@ -773,12 +773,12 @@ const ge = ({
773
773
  pr: 24
774
774
  },
775
775
  children: [
776
- /* @__PURE__ */ s(g, { flexGrow: 1, children: [
777
- /* @__PURE__ */ e(l, { bold: !0, variant: "Body", children: K(p, U.MONTH_YEAR) }),
776
+ /* @__PURE__ */ s(w, { flexGrow: 1, children: [
777
+ /* @__PURE__ */ e(l, { bold: !0, variant: "Body", children: U(p, q.MONTH_YEAR) }),
778
778
  /* @__PURE__ */ e(l, { color: a.palette.secondary.main, variant: "XSmall", children: r.schedule_month_label })
779
779
  ] }),
780
- /* @__PURE__ */ s(g, { children: [
781
- /* @__PURE__ */ e(l, { bold: !0, variant: "Body", children: M(d, "0,0.00") }),
780
+ /* @__PURE__ */ s(w, { children: [
781
+ /* @__PURE__ */ e(l, { bold: !0, variant: "Body", children: k(c, "0,0.00") }),
782
782
  /* @__PURE__ */ e(
783
783
  l,
784
784
  {
@@ -786,15 +786,15 @@ const ge = ({
786
786
  color: a.palette.success.main,
787
787
  textAlign: "end",
788
788
  variant: "Tiny",
789
- children: `+${M(c, "0,0")}`
789
+ children: `+${k(d, "0,0")}`
790
790
  }
791
791
  )
792
792
  ] })
793
793
  ]
794
794
  }
795
795
  ) }) }, String(p))),
796
- /* @__PURE__ */ e(g, { bgcolor: "background.paper", children: /* @__PURE__ */ s(
797
- g,
796
+ /* @__PURE__ */ e(w, { bgcolor: "background.paper", children: /* @__PURE__ */ s(
797
+ w,
798
798
  {
799
799
  sx: {
800
800
  alignItems: "center",
@@ -810,26 +810,26 @@ const ge = ({
810
810
  }
811
811
  ) })
812
812
  ] }) });
813
- }, ht = D(mt), ut = D(({ debt: a }) => {
814
- const { debts: n } = C(), { updateAccount: r } = Z(), { onEvent: t } = k(), [o, i] = x.useState(a.interest_rate ?? 0), p = o < 0, d = async () => {
813
+ }, bt = D(ut), _t = D(({ debt: a }) => {
814
+ const { debts: n } = S(), { updateAccount: r } = J(), { onEvent: t } = F(), [o, i] = g.useState(a.interest_rate ?? 0), p = o < 0, c = async () => {
815
815
  await r({ ...a.account, interest_rate: o }), a.interest_rate = o, t(T.DEBTS_SAVE_RATE_ACTION, { account_guid: a.guid });
816
- }, c = () => {
816
+ }, d = () => {
817
817
  setTimeout(() => {
818
818
  i(a.interest_rate ?? 0);
819
819
  }, 250);
820
820
  };
821
821
  return /* @__PURE__ */ e(
822
- J,
822
+ Q,
823
823
  {
824
824
  isSaveDisabled: p,
825
825
  label: `${n.details_interest_rate} (%)`,
826
- onCancel: c,
827
- onSave: d,
826
+ onCancel: d,
827
+ onSave: c,
828
828
  primaryText: n.details_interest_rate,
829
- secondaryText: Be(Number(a.interest_rate) / 100),
829
+ secondaryText: Me(Number(a.interest_rate) / 100),
830
830
  zeroStateText: a.interest_rate ? void 0 : n.add_interest_rate,
831
831
  children: /* @__PURE__ */ e(
832
- Xe,
832
+ Ye,
833
833
  {
834
834
  error: p,
835
835
  fullWidth: !0,
@@ -840,26 +840,26 @@ const ge = ({
840
840
  )
841
841
  }
842
842
  );
843
- }), bt = D(({ debt: a }) => {
844
- const { debts: n } = C(), { updateAccount: r } = Z(), { onEvent: t } = k(), [o, i] = x.useState(a.monthly_payment ?? 0), p = o < 0 || o > 9999999999e-2, d = async () => {
843
+ }), yt = D(({ debt: a }) => {
844
+ const { debts: n } = S(), { updateAccount: r } = J(), { onEvent: t } = F(), [o, i] = g.useState(a.monthly_payment ?? 0), p = o < 0 || o > 9999999999e-2, c = async () => {
845
845
  await r({ ...a.account, minimum_payment: o }), a.monthly_payment = o, t(T.DEBTS_SAVE_PAYMENT_ACTION, { account_guid: a.guid });
846
- }, c = () => {
846
+ }, d = () => {
847
847
  setTimeout(() => {
848
848
  i(a.monthly_payment ?? 0);
849
849
  }, 250);
850
850
  };
851
851
  return /* @__PURE__ */ e(
852
- J,
852
+ Q,
853
853
  {
854
854
  isSaveDisabled: p,
855
855
  label: n.details_monthly_payment,
856
- onCancel: c,
857
- onSave: d,
856
+ onCancel: d,
857
+ onSave: c,
858
858
  primaryText: n.details_monthly_payment,
859
- secondaryText: M(a.monthly_payment, "0,0"),
859
+ secondaryText: k(a.monthly_payment, "0,0"),
860
860
  zeroStateText: a.monthly_payment ? void 0 : n.add_monthly_payment,
861
861
  children: /* @__PURE__ */ e(
862
- ae,
862
+ ne,
863
863
  {
864
864
  amount: o,
865
865
  autoFocus: !0,
@@ -872,26 +872,26 @@ const ge = ({
872
872
  )
873
873
  }
874
874
  );
875
- }), _t = D(({ debt: a }) => {
876
- const { debts: n } = C(), { updateAccount: r } = Z(), { onEvent: t } = k(), [o, i] = x.useState(a.original_balance ?? 0), p = o < 0 || o > 9999999999e-2, d = async () => {
875
+ }), ft = D(({ debt: a }) => {
876
+ const { debts: n } = S(), { updateAccount: r } = J(), { onEvent: t } = F(), [o, i] = g.useState(a.original_balance ?? 0), p = o < 0 || o > 9999999999e-2, c = async () => {
877
877
  await r({ ...a.account, original_balance: o }), a.original_balance = o, t(T.DEBTS_SAVE_BALANCE_ACTION, { account_guid: a.guid });
878
- }, c = () => {
878
+ }, d = () => {
879
879
  setTimeout(() => {
880
880
  i(a.original_balance ?? 0);
881
881
  }, 250);
882
882
  };
883
883
  return /* @__PURE__ */ e(
884
- J,
884
+ Q,
885
885
  {
886
886
  isSaveDisabled: p,
887
887
  label: n.details_original_balance,
888
- onCancel: c,
889
- onSave: d,
888
+ onCancel: d,
889
+ onSave: c,
890
890
  primaryText: n.details_original_balance,
891
- secondaryText: M(a.original_balance, "0,0"),
891
+ secondaryText: k(a.original_balance, "0,0"),
892
892
  zeroStateText: a.original_balance ? void 0 : n.add_original_balance,
893
893
  children: /* @__PURE__ */ e(
894
- ae,
894
+ ne,
895
895
  {
896
896
  amount: o,
897
897
  autoFocus: !0,
@@ -904,35 +904,35 @@ const ge = ({
904
904
  )
905
905
  }
906
906
  );
907
- }), yt = () => {
908
- const { onEvent: a } = k(), { selectedDebtChartData: n } = R();
909
- return x.useEffect(() => a(T.DEBT_DETAILS_VIEW), []), /* @__PURE__ */ s(g, { bgcolor: "background.paper", children: [
910
- n?.goal && /* @__PURE__ */ s($, { children: [
911
- /* @__PURE__ */ e(Ge, { goal: n.goal }),
912
- /* @__PURE__ */ e(j, {}),
913
- /* @__PURE__ */ e(je, { goal: n.goal }),
914
- /* @__PURE__ */ e(j, {}),
907
+ }), xt = () => {
908
+ const { onEvent: a } = F(), { selectedDebtChartData: n } = L();
909
+ return g.useEffect(() => a(T.DEBT_DETAILS_VIEW), []), /* @__PURE__ */ s(w, { bgcolor: "background.paper", children: [
910
+ n?.goal && /* @__PURE__ */ s(H, { children: [
915
911
  /* @__PURE__ */ e(ze, { goal: n.goal }),
916
- /* @__PURE__ */ e(j, {})
912
+ /* @__PURE__ */ e(G, {}),
913
+ /* @__PURE__ */ e(Xe, { goal: n.goal }),
914
+ /* @__PURE__ */ e(G, {}),
915
+ /* @__PURE__ */ e(Ve, { goal: n.goal }),
916
+ /* @__PURE__ */ e(G, {})
917
917
  ] }),
918
- !n?.goal && n?.account && /* @__PURE__ */ s($, { children: [
919
- /* @__PURE__ */ e(bt, { debt: n }),
920
- /* @__PURE__ */ e(j, {}),
921
- /* @__PURE__ */ e(ut, { debt: n }),
922
- /* @__PURE__ */ e(j, {}),
918
+ !n?.goal && n?.account && /* @__PURE__ */ s(H, { children: [
919
+ /* @__PURE__ */ e(yt, { debt: n }),
920
+ /* @__PURE__ */ e(G, {}),
923
921
  /* @__PURE__ */ e(_t, { debt: n }),
924
- /* @__PURE__ */ e(j, {})
922
+ /* @__PURE__ */ e(G, {}),
923
+ /* @__PURE__ */ e(ft, { debt: n }),
924
+ /* @__PURE__ */ e(G, {})
925
925
  ] })
926
926
  ] });
927
- }, ft = D(yt), xt = ({ setTabValue: a, sx: n }) => {
928
- const { debts: r } = C(), { showError: t, showCompleted: o } = R();
929
- return x.useEffect(() => {
927
+ }, gt = D(xt), wt = ({ setTabValue: a, sx: n }) => {
928
+ const { debts: r } = S(), { showError: t, showCompleted: o } = L();
929
+ return g.useEffect(() => {
930
930
  t && a(1);
931
- }, [t]), !t && !o ? /* @__PURE__ */ e($, {}) : /* @__PURE__ */ s(g, { gap: 16, children: [
932
- /* @__PURE__ */ e(he, { sx: { my: 16, mx: 24, ...n }, children: /* @__PURE__ */ s(
933
- pe,
931
+ }, [t]), !t && !o ? /* @__PURE__ */ e(H, {}) : /* @__PURE__ */ s(w, { gap: 16, children: [
932
+ /* @__PURE__ */ e(ue, { sx: { my: 16, mx: 24, ...n }, children: /* @__PURE__ */ s(
933
+ me,
934
934
  {
935
- icon: t ? /* @__PURE__ */ e(Ve, { filled: !0 }) : /* @__PURE__ */ e(ye, { color: "success", filled: !0 }),
935
+ icon: t ? /* @__PURE__ */ e(Ke, { filled: !0 }) : /* @__PURE__ */ e(fe, { color: "success", filled: !0 }),
936
936
  severity: "error",
937
937
  sx: {
938
938
  alignItems: "start",
@@ -945,15 +945,15 @@ const ge = ({
945
945
  }
946
946
  },
947
947
  children: [
948
- /* @__PURE__ */ e(me, { sx: { fontWeight: 600, marginTop: 2 }, variant: "Body", children: t ? r.status_error_title : r.status_complete_title }),
948
+ /* @__PURE__ */ e(he, { sx: { fontWeight: 600, marginTop: 2 }, variant: "Body", children: t ? r.status_error_title : r.status_complete_title }),
949
949
  /* @__PURE__ */ e(l, { component: "p", sx: { whiteSpace: "wrap" }, variant: "ParagraphSmall", children: t ? r.status_error_description : r.status_complete_description })
950
950
  ]
951
951
  }
952
952
  ) }),
953
- t && /* @__PURE__ */ e(he, { sx: { mb: 16, mt: 100, mx: 24, ...n }, children: /* @__PURE__ */ s(
954
- pe,
953
+ t && /* @__PURE__ */ e(ue, { sx: { mb: 16, mt: 100, mx: 24, ...n }, children: /* @__PURE__ */ s(
954
+ me,
955
955
  {
956
- icon: /* @__PURE__ */ e($, {}),
956
+ icon: /* @__PURE__ */ e(H, {}),
957
957
  severity: "error",
958
958
  sx: {
959
959
  borderRadius: 2,
@@ -963,18 +963,18 @@ const ge = ({
963
963
  }
964
964
  },
965
965
  children: [
966
- /* @__PURE__ */ e(me, { sx: { fontWeight: 600, marginTop: 2 }, variant: "Body", children: r.status_info_title }),
966
+ /* @__PURE__ */ e(he, { sx: { fontWeight: 600, marginTop: 2 }, variant: "Body", children: r.status_info_title }),
967
967
  /* @__PURE__ */ e(l, { component: "p", sx: { whiteSpace: "wrap" }, variant: "ParagraphSmall", children: r.status_info_description })
968
968
  ]
969
969
  }
970
970
  ) })
971
971
  ] });
972
- }, gt = D(xt), wt = () => {
973
- const { debts: a } = C(), { showError: n, showCompleted: r } = R(), [t, o] = x.useState(0);
974
- return /* @__PURE__ */ s($, { children: [
975
- (n || r) && /* @__PURE__ */ e(gt, { setTabValue: o, sx: { mt: -24 } }),
972
+ }, Ct = D(wt), St = () => {
973
+ const { debts: a } = S(), { showError: n, showCompleted: r } = L(), [t, o] = g.useState(0);
974
+ return /* @__PURE__ */ s(H, { children: [
975
+ (n || r) && /* @__PURE__ */ e(Ct, { setTabValue: o, sx: { mt: -24 } }),
976
976
  /* @__PURE__ */ s(
977
- We,
977
+ je,
978
978
  {
979
979
  "aria-label": a.details_tabs_aria_label,
980
980
  centered: !0,
@@ -984,7 +984,7 @@ const ge = ({
984
984
  variant: "fullWidth",
985
985
  children: [
986
986
  /* @__PURE__ */ e(
987
- de,
987
+ pe,
988
988
  {
989
989
  "aria-controls": "debt-schedule-tabpanel-0",
990
990
  id: "debt-schedule-tab-0",
@@ -992,7 +992,7 @@ const ge = ({
992
992
  }
993
993
  ),
994
994
  /* @__PURE__ */ e(
995
- de,
995
+ pe,
996
996
  {
997
997
  "aria-controls": "debt-details-tabpanel-1",
998
998
  id: "debt-details-tab-1",
@@ -1002,46 +1002,46 @@ const ge = ({
1002
1002
  ]
1003
1003
  }
1004
1004
  ),
1005
- /* @__PURE__ */ e(ue, { index: 0, name: "debt-schedule", value: t, children: /* @__PURE__ */ e(ht, {}) }),
1006
- /* @__PURE__ */ e(ue, { index: 1, name: "debt-details", value: t, children: /* @__PURE__ */ e(ft, {}) })
1005
+ /* @__PURE__ */ e(be, { index: 0, name: "debt-schedule", value: t, children: /* @__PURE__ */ e(bt, {}) }),
1006
+ /* @__PURE__ */ e(be, { index: 1, name: "debt-details", value: t, children: /* @__PURE__ */ e(gt, {}) })
1007
1007
  ] });
1008
- }, Ct = D(wt), St = ({ isOpen: a, onClose: n }) => {
1009
- const { debts: r } = C(), { showError: t, showCompleted: o } = R(), i = t || o ? /* @__PURE__ */ e($, {}) : /* @__PURE__ */ e(pt, {});
1008
+ }, vt = D(St), Dt = ({ isOpen: a, onClose: n }) => {
1009
+ const { debts: r } = S(), { showError: t, showCompleted: o } = L(), i = t || o ? /* @__PURE__ */ e(H, {}) : /* @__PURE__ */ e(ht, {});
1010
1010
  return /* @__PURE__ */ e(
1011
- te,
1011
+ re,
1012
1012
  {
1013
1013
  ariaLabelClose: r.details_close_aria,
1014
1014
  isOpen: a,
1015
1015
  onClose: n,
1016
1016
  title: r.details_title,
1017
- children: /* @__PURE__ */ s(g, { bgcolor: "background.default", children: [
1018
- /* @__PURE__ */ e(ke, { customDetailsChart: i }),
1019
- /* @__PURE__ */ e(Ct, {})
1017
+ children: /* @__PURE__ */ s(w, { bgcolor: "background.default", children: [
1018
+ /* @__PURE__ */ e(Fe, { customDetailsChart: i }),
1019
+ /* @__PURE__ */ e(vt, {})
1020
1020
  ] })
1021
1021
  }
1022
1022
  );
1023
- }, vt = D(() => {
1024
- const { debts: a } = C(), { monthlyCashFlowProfile: n, updateMonthlyCashFlowProfile: r } = V(), { onEvent: t } = k(), [o, i] = x.useState(n?.extra_payment ?? 0), p = o < 0 || o > 9999999999e-2, d = async () => {
1023
+ }, Tt = D(() => {
1024
+ const { debts: a } = S(), { monthlyCashFlowProfile: n, updateMonthlyCashFlowProfile: r } = V(), { onEvent: t } = F(), [o, i] = g.useState(n?.extra_payment ?? 0), p = o < 0 || o > 9999999999e-2, c = async () => {
1025
1025
  n && (await r({ ...n, extra_payment: o }), n.extra_payment = o, t(T.DEBTS_SAVE_PAYDOWN_ACTION, {
1026
1026
  user_guid: n?.user_guid
1027
1027
  }));
1028
- }, c = () => {
1028
+ }, d = () => {
1029
1029
  setTimeout(() => {
1030
1030
  i(n?.extra_payment ?? 0);
1031
1031
  }, 250);
1032
1032
  };
1033
1033
  return /* @__PURE__ */ e(
1034
- J,
1034
+ Q,
1035
1035
  {
1036
1036
  isSaveDisabled: p,
1037
1037
  label: a.paydown_drawer_extra_payment,
1038
- onCancel: c,
1039
- onSave: d,
1038
+ onCancel: d,
1039
+ onSave: c,
1040
1040
  primaryText: a.paydown_drawer_extra_payment,
1041
- secondaryText: M(n?.extra_payment, "0,0"),
1041
+ secondaryText: k(n?.extra_payment, "0,0"),
1042
1042
  zeroStateText: n?.extra_payment ? void 0 : a.add_extra_payment,
1043
1043
  children: /* @__PURE__ */ e(
1044
- ae,
1044
+ ne,
1045
1045
  {
1046
1046
  amount: o,
1047
1047
  autoFocus: !0,
@@ -1054,40 +1054,40 @@ const ge = ({
1054
1054
  )
1055
1055
  }
1056
1056
  );
1057
- }), Dt = () => {
1058
- const { debts: a } = C(), { totalMonthlyPayments: n } = q(), { monthlyCashFlowProfile: r } = V(), t = n + Number(r?.extra_payment);
1059
- return /* @__PURE__ */ s(g, { sx: { backgroundColor: "background.default", height: "100%" }, children: [
1060
- /* @__PURE__ */ s(g, { p: 24, children: [
1061
- /* @__PURE__ */ s(g, { alignItems: "center", gap: 4, mb: 24, children: [
1057
+ }), At = () => {
1058
+ const { debts: a } = S(), { totalMonthlyPayments: n } = Z(), { monthlyCashFlowProfile: r } = V(), t = n + Number(r?.extra_payment);
1059
+ return /* @__PURE__ */ s(w, { sx: { backgroundColor: "background.default", height: "100%" }, children: [
1060
+ /* @__PURE__ */ s(w, { p: 24, children: [
1061
+ /* @__PURE__ */ s(w, { alignItems: "center", gap: 4, mb: 24, children: [
1062
1062
  /* @__PURE__ */ e(l, { variant: "Body", children: a.paydown_drawer_mimimum_label }),
1063
- /* @__PURE__ */ e(l, { bold: !0, variant: "H1", children: M(n, "0,0") }),
1063
+ /* @__PURE__ */ e(l, { bold: !0, variant: "H1", children: k(n, "0,0") }),
1064
1064
  /* @__PURE__ */ e(l, { textAlign: "center", truncate: !1, variant: "Small", width: 208, children: a.paydown_drawer_minimum_info })
1065
1065
  ] }),
1066
- /* @__PURE__ */ s(g, { children: [
1066
+ /* @__PURE__ */ s(w, { children: [
1067
1067
  /* @__PURE__ */ e(l, { variant: "H3", children: a.paydown_drawer_subtitle }),
1068
1068
  /* @__PURE__ */ e(l, { truncate: !1, variant: "ParagraphSmall", children: a.paydown_drawer_description })
1069
1069
  ] })
1070
1070
  ] }),
1071
- /* @__PURE__ */ e(g, { sx: { backgroundColor: "background.paper" }, children: /* @__PURE__ */ e(vt, {}) }),
1072
- /* @__PURE__ */ e(g, { flexDirection: "row-reverse", px: 24, py: 12, children: /* @__PURE__ */ s(g, { gap: 4, children: [
1071
+ /* @__PURE__ */ e(w, { sx: { backgroundColor: "background.paper" }, children: /* @__PURE__ */ e(Tt, {}) }),
1072
+ /* @__PURE__ */ e(w, { flexDirection: "row-reverse", px: 24, py: 12, children: /* @__PURE__ */ s(w, { gap: 4, children: [
1073
1073
  /* @__PURE__ */ e(l, { variant: "Small", children: a.paydown_drawer_total_payment }),
1074
- /* @__PURE__ */ e(l, { bold: !0, textAlign: "right", variant: "Body", children: M(t, "0,0") })
1074
+ /* @__PURE__ */ e(l, { bold: !0, textAlign: "right", variant: "Body", children: k(t, "0,0") })
1075
1075
  ] }) })
1076
1076
  ] });
1077
- }, Tt = D(Dt), At = ({ isOpen: a, onClose: n }) => {
1078
- const { debts: r } = C();
1077
+ }, Et = D(At), It = ({ isOpen: a, onClose: n }) => {
1078
+ const { debts: r } = S();
1079
1079
  return /* @__PURE__ */ e(
1080
- te,
1080
+ re,
1081
1081
  {
1082
1082
  ariaLabelClose: r.paydown_drawer_close_aria,
1083
1083
  isOpen: a,
1084
1084
  onClose: n,
1085
1085
  title: r.paydown_drawer_title,
1086
- children: /* @__PURE__ */ e(Tt, {})
1086
+ children: /* @__PURE__ */ e(Et, {})
1087
1087
  }
1088
1088
  );
1089
1089
  };
1090
- function Et(a, n) {
1090
+ function Bt(a, n) {
1091
1091
  const r = (t) => {
1092
1092
  if (typeof t == "number") return t;
1093
1093
  if (t === "!" || t === "✓") return 1 / 0;
@@ -1095,19 +1095,19 @@ function Et(a, n) {
1095
1095
  };
1096
1096
  return r(a) - r(n);
1097
1097
  }
1098
- function It(a) {
1098
+ function Mt(a) {
1099
1099
  return a.is_paid_off ? "✓" : a.priority === void 0 || a.is_impossible ? "!" : a.priority;
1100
1100
  }
1101
- const Bt = (a) => {
1101
+ const Pt = (a) => {
1102
1102
  const n = {
1103
1103
  text: "#121417",
1104
1104
  background: "#FFB252"
1105
1105
  };
1106
1106
  return a === "!" && (n.text = "#FFFFFF", n.background = "#DF320C"), a === "✓" && (n.text = "#FFFFFF", n.background = "#09A57F"), n;
1107
- }, Mt = (a) => {
1108
- const n = String(a.formattedValue), r = Bt(n);
1107
+ }, kt = (a) => {
1108
+ const n = String(a.formattedValue), r = Pt(n);
1109
1109
  return /* @__PURE__ */ e(
1110
- re,
1110
+ ae,
1111
1111
  {
1112
1112
  sx: {
1113
1113
  display: "flex",
@@ -1123,77 +1123,77 @@ const Bt = (a) => {
1123
1123
  children: /* @__PURE__ */ e(l, { color: r.text, fontWeight: 700, variant: "Small", children: n })
1124
1124
  }
1125
1125
  );
1126
- }, Pt = (a) => {
1127
- const n = a.row.account, r = Ke[n.account_type];
1128
- return /* @__PURE__ */ s(g, { alignItems: "center", flexDirection: "row", children: [
1126
+ }, Nt = (a) => {
1127
+ const n = a.row.account, r = qe[n.account_type];
1128
+ return /* @__PURE__ */ s(w, { alignItems: "center", flexDirection: "row", children: [
1129
1129
  /* @__PURE__ */ e(
1130
- De,
1130
+ Te,
1131
1131
  {
1132
1132
  alt: `${n.institutionName}`,
1133
1133
  institutionGuid: n.institution_guid || ""
1134
1134
  }
1135
1135
  ),
1136
- /* @__PURE__ */ s(g, { ml: 12, children: [
1136
+ /* @__PURE__ */ s(w, { ml: 12, children: [
1137
1137
  /* @__PURE__ */ e(l, { variant: "Small", children: n.name }),
1138
1138
  /* @__PURE__ */ e(l, { variant: "XSmall", children: r })
1139
1139
  ] })
1140
1140
  ] });
1141
- }, kt = ({
1141
+ }, Ft = ({
1142
1142
  sx: a = {},
1143
1143
  debts: n,
1144
1144
  hoveredDebtGuid: r,
1145
1145
  onHoverRow: t,
1146
1146
  onClickRow: o
1147
1147
  }) => {
1148
- const i = X(), { onEvent: p } = k(), { isMobile: d } = Y(), { debts: c } = C(), [m, b] = x.useState([
1148
+ const i = X(), { onEvent: p } = F(), { isMobile: c } = Y(), { debts: d } = S(), [m, u] = g.useState([
1149
1149
  { field: "priority", sort: "asc" }
1150
- ]), f = [
1150
+ ]), x = [
1151
1151
  {
1152
1152
  field: "priority",
1153
- headerName: c.table_column_priority,
1154
- renderHeader: z,
1155
- renderCell: Mt,
1156
- sortComparator: Et,
1153
+ headerName: d.table_column_priority,
1154
+ renderHeader: j,
1155
+ renderCell: kt,
1156
+ sortComparator: Bt,
1157
1157
  sortable: !0,
1158
1158
  hideSortIcons: !0,
1159
1159
  type: "custom",
1160
1160
  align: "left",
1161
1161
  headerAlign: "left",
1162
- minWidth: d ? 67 : 72,
1163
- flex: d ? 0.2 : 0.4
1162
+ minWidth: c ? 67 : 72,
1163
+ flex: c ? 0.2 : 0.4
1164
1164
  },
1165
1165
  {
1166
1166
  field: "account",
1167
- headerName: c.table_column_account,
1168
- renderHeader: z,
1169
- renderCell: Pt,
1167
+ headerName: d.table_column_account,
1168
+ renderHeader: j,
1169
+ renderCell: Nt,
1170
1170
  sortable: !1,
1171
1171
  type: "custom",
1172
1172
  align: "left",
1173
1173
  headerAlign: "left",
1174
- minWidth: d ? 180 : 225,
1174
+ minWidth: c ? 180 : 225,
1175
1175
  flex: 1
1176
1176
  },
1177
1177
  {
1178
1178
  field: "balance",
1179
- headerName: c.table_column_balance,
1180
- renderHeader: z,
1181
- renderCell: (_) => /* @__PURE__ */ e(l, { color: i.palette.text.primary, variant: "Small", children: M(_.value, "0,0") }),
1179
+ headerName: d.table_column_balance,
1180
+ renderHeader: j,
1181
+ renderCell: (y) => /* @__PURE__ */ e(l, { color: i.palette.text.primary, variant: "Small", children: k(y.value, "0,0") }),
1182
1182
  sortable: !0,
1183
- hideSortIcons: d,
1183
+ hideSortIcons: c,
1184
1184
  type: "number",
1185
- align: d ? "right" : "left",
1186
- headerAlign: d ? "right" : "left",
1187
- minWidth: d ? 70 : 122,
1188
- flex: d ? 0.4 : 0.6
1185
+ align: c ? "right" : "left",
1186
+ headerAlign: c ? "right" : "left",
1187
+ minWidth: c ? 70 : 122,
1188
+ flex: c ? 0.4 : 0.6
1189
1189
  },
1190
1190
  {
1191
1191
  field: "interest_rate",
1192
- headerName: c.table_column_interest_rate,
1193
- renderHeader: z,
1194
- renderCell: (_) => /* @__PURE__ */ e(l, { color: i.palette.text.primary, variant: "Small", children: isNaN(_.value) ? "---" : `${Number(_.value).toFixed(2)}%` }),
1192
+ headerName: d.table_column_interest_rate,
1193
+ renderHeader: j,
1194
+ renderCell: (y) => /* @__PURE__ */ e(l, { color: i.palette.text.primary, variant: "Small", children: isNaN(y.value) ? "---" : `${Number(y.value).toFixed(2)}%` }),
1195
1195
  sortable: !0,
1196
- hideSortIcons: d,
1196
+ hideSortIcons: c,
1197
1197
  type: "number",
1198
1198
  align: "left",
1199
1199
  headerAlign: "left",
@@ -1202,11 +1202,11 @@ const Bt = (a) => {
1202
1202
  },
1203
1203
  {
1204
1204
  field: "projected_payoff_date",
1205
- headerName: c.table_column_payoff_date,
1206
- renderHeader: z,
1207
- renderCell: (_) => /* @__PURE__ */ e(l, { color: i.palette.text.primary, variant: "Small", children: _.value ? K(_.value, U.MONTH_SHORT_YEAR) : "---" }),
1205
+ headerName: d.table_column_payoff_date,
1206
+ renderHeader: j,
1207
+ renderCell: (y) => /* @__PURE__ */ e(l, { color: i.palette.text.primary, variant: "Small", children: y.value ? U(y.value, q.MONTH_SHORT_YEAR) : "---" }),
1208
1208
  sortable: !0,
1209
- hideSortIcons: d,
1209
+ hideSortIcons: c,
1210
1210
  type: "number",
1211
1211
  align: "left",
1212
1212
  headerAlign: "left",
@@ -1215,24 +1215,24 @@ const Bt = (a) => {
1215
1215
  },
1216
1216
  {
1217
1217
  field: "monthly_payment",
1218
- headerName: c.table_column_amount_due,
1219
- renderHeader: z,
1220
- renderCell: (_) => /* @__PURE__ */ e(l, { color: i.palette.text.primary, variant: "Small", children: typeof _.value == "number" ? M(_.value, "0,0") : "---" }),
1218
+ headerName: d.table_column_amount_due,
1219
+ renderHeader: j,
1220
+ renderCell: (y) => /* @__PURE__ */ e(l, { color: i.palette.text.primary, variant: "Small", children: typeof y.value == "number" ? k(y.value, "0,0") : "---" }),
1221
1221
  sortable: !0,
1222
- hideSortIcons: d,
1222
+ hideSortIcons: c,
1223
1223
  type: "number",
1224
1224
  align: "left",
1225
1225
  headerAlign: "left",
1226
1226
  minWidth: 122,
1227
1227
  flex: 0.6
1228
1228
  }
1229
- ], u = [
1230
- ...f.slice(0, 3),
1229
+ ], h = [
1230
+ ...x.slice(0, 3),
1231
1231
  {
1232
1232
  field: "chevron",
1233
1233
  headerName: "",
1234
1234
  renderHeader: void 0,
1235
- renderCell: () => /* @__PURE__ */ e(ee, { name: "chevron_right'" }),
1235
+ renderCell: () => /* @__PURE__ */ e(te, { name: "chevron_right'" }),
1236
1236
  sortable: !0,
1237
1237
  hideSortIcons: !0,
1238
1238
  type: "custom",
@@ -1240,16 +1240,20 @@ const Bt = (a) => {
1240
1240
  headerAlign: "right",
1241
1241
  width: 20
1242
1242
  }
1243
- ], S = x.useMemo(() => n.map((_, v) => ({
1244
- ..._,
1245
- id: v,
1246
- priority: It(_)
1247
- })), [n]), P = (_) => {
1248
- const L = _.target.closest("[data-id]")?.getAttribute("data-id"), h = n[Number(L)];
1249
- t?.(h?.guid ?? "");
1250
- }, E = (_) => S.find((v) => v.guid === _)?.id;
1243
+ ], v = g.useMemo(() => n.map((y, M) => ({
1244
+ ...y,
1245
+ id: M,
1246
+ priority: Mt(y)
1247
+ })), [n]), B = (y) => {
1248
+ const f = y.target.closest("[data-id]")?.getAttribute("data-id"), E = n[Number(f)];
1249
+ t?.(E?.guid ?? "");
1250
+ }, N = (y) => {
1251
+ c || B(y);
1252
+ }, C = (y) => {
1253
+ c && B(y);
1254
+ }, A = (y) => v.find((M) => M.guid === y)?.id;
1251
1255
  return /* @__PURE__ */ e(
1252
- re,
1256
+ ae,
1253
1257
  {
1254
1258
  sx: {
1255
1259
  height: "100dvh",
@@ -1260,31 +1264,33 @@ const Bt = (a) => {
1260
1264
  ...a
1261
1265
  },
1262
1266
  children: /* @__PURE__ */ e(
1263
- Ye,
1267
+ Ue,
1264
1268
  {
1265
- columns: d ? u : f,
1269
+ columns: c ? h : x,
1266
1270
  disableColumnFilter: !0,
1267
1271
  disableColumnMenu: !0,
1268
1272
  hideFooter: !0,
1269
1273
  initialState: { sorting: { sortModel: m } },
1270
- onRowClick: (_) => {
1271
- o(), p(T.DEBTS_CLICK_TABLE_ROW, { account_guid: _.row.guid });
1274
+ onRowClick: (y) => {
1275
+ o(), p(T.DEBTS_CLICK_TABLE_ROW, { account_guid: y.row.guid });
1272
1276
  },
1273
- onSortModelChange: (_) => {
1274
- b(_), p(T.DEBTS_CLICK_TABLE_SORT);
1277
+ onSortModelChange: (y) => {
1278
+ u(y), p(T.DEBTS_CLICK_TABLE_SORT);
1275
1279
  },
1276
- rows: S,
1280
+ rows: v,
1277
1281
  slotProps: {
1278
1282
  baseIconButton: { color: "secondary", sx: { ml: 8 } },
1279
1283
  row: {
1280
- onMouseEnter: P,
1281
- onMouseLeave: () => t?.("")
1284
+ onMouseEnter: N,
1285
+ onMouseLeave: () => !c && t?.(""),
1286
+ onTouchStart: C,
1287
+ onClick: c ? C : void 0
1282
1288
  }
1283
1289
  },
1284
1290
  sortModel: m,
1285
1291
  sortingOrder: ["asc", "desc"],
1286
1292
  sx: {
1287
- [`& .MuiDataGrid-row[data-id="${E(r)}"]`]: {
1293
+ [`& .MuiDataGrid-row[data-id="${A(r)}"]`]: {
1288
1294
  backgroundColor: i.palette.mode === "light" ? "#f8f9fb" : "#1f2329",
1289
1295
  filter: "brightness(98%)"
1290
1296
  }
@@ -1293,54 +1299,54 @@ const Bt = (a) => {
1293
1299
  )
1294
1300
  }
1295
1301
  );
1296
- }, Nt = ({ buttonText: a, isOpen: n, onClick: r }) => {
1302
+ }, Rt = ({ buttonText: a, isOpen: n, onClick: r }) => {
1297
1303
  const { isDesktop: t, isTablet: o } = Y(), i = n ? "unfold_less" : "unfold_more";
1298
1304
  return t || o ? /* @__PURE__ */ e(
1299
- fe,
1305
+ xe,
1300
1306
  {
1301
1307
  "aria-controls": "prioritize-debts",
1302
1308
  "aria-describedby": "prioritize-debts",
1303
1309
  "aria-haspopup": !0,
1304
1310
  "aria-label": "prioritize-debts",
1305
1311
  onClick: r,
1306
- startIcon: /* @__PURE__ */ e(ee, { name: i }),
1312
+ startIcon: /* @__PURE__ */ e(te, { name: i }),
1307
1313
  sx: { justifyContent: "start", minWidth: 214, mx: 4 },
1308
1314
  children: a
1309
1315
  }
1310
1316
  ) : /* @__PURE__ */ e(
1311
- Ue,
1317
+ Ze,
1312
1318
  {
1313
1319
  "aria-controls": "prioritize-debts",
1314
1320
  "aria-describedby": "prioritize-debts",
1315
1321
  "aria-haspopup": !0,
1316
1322
  "aria-label": "prioritize-debts",
1317
1323
  onClick: r,
1318
- children: /* @__PURE__ */ e(ee, { name: i })
1324
+ children: /* @__PURE__ */ e(te, { name: i })
1319
1325
  }
1320
1326
  );
1321
- }, Ft = D(({ buttonEl: a, onClose: n }) => {
1322
- const { onEvent: r } = k(), { debts: t } = C(), { selectedDebtPriority: o, setSelectedDebtPriority: i } = R(), p = !!a, d = [
1327
+ }, Lt = D(({ buttonEl: a, onClose: n }) => {
1328
+ const { onEvent: r } = F(), { debts: t } = S(), { selectedDebtPriority: o, setSelectedDebtPriority: i } = L(), p = !!a, c = [
1323
1329
  {
1324
- priority: B.FASTEST_PAYOFF_FIRST,
1330
+ priority: P.FASTEST_PAYOFF_FIRST,
1325
1331
  text: t.priority_sort_fastest_payoff
1326
1332
  },
1327
1333
  {
1328
- priority: B.HIGHEST_INTEREST,
1334
+ priority: P.HIGHEST_INTEREST,
1329
1335
  text: t.priority_sort_highest_interest
1330
1336
  },
1331
1337
  {
1332
- priority: B.LOWEST_BALANCE,
1338
+ priority: P.LOWEST_BALANCE,
1333
1339
  text: t.priority_sort_lowest_balance
1334
1340
  },
1335
1341
  {
1336
- priority: B.HIGHEST_BALANCE,
1342
+ priority: P.HIGHEST_BALANCE,
1337
1343
  text: t.priority_sort_highest_balance
1338
1344
  }
1339
- ], c = (m) => {
1345
+ ], d = (m) => {
1340
1346
  i(m), r(T.DEBTS_CLICK_PRIORITY, { debts_priority: m });
1341
1347
  };
1342
1348
  return /* @__PURE__ */ e(
1343
- Ze,
1349
+ Qe,
1344
1350
  {
1345
1351
  anchorEl: a,
1346
1352
  anchorOrigin: {
@@ -1354,10 +1360,10 @@ const Bt = (a) => {
1354
1360
  vertical: "top",
1355
1361
  horizontal: "left"
1356
1362
  },
1357
- children: /* @__PURE__ */ e(_e, { children: d.map(({ priority: m, text: b }) => /* @__PURE__ */ s(
1358
- qe,
1363
+ children: /* @__PURE__ */ e(ye, { children: c.map(({ priority: m, text: u }) => /* @__PURE__ */ s(
1364
+ Je,
1359
1365
  {
1360
- onClick: () => c(m),
1366
+ onClick: () => d(m),
1361
1367
  sx: {
1362
1368
  bgcolor: o === m ? "primary.main" : void 0,
1363
1369
  color: o === m ? "#fff" : void 0,
@@ -1373,70 +1379,70 @@ const Bt = (a) => {
1373
1379
  }
1374
1380
  },
1375
1381
  children: [
1376
- /* @__PURE__ */ e(l, { color: "inherit", variant: "Small", children: b }),
1377
- o === m && /* @__PURE__ */ e(ye, { color: "inherit", filled: !0, fontSize: "small" })
1382
+ /* @__PURE__ */ e(l, { color: "inherit", variant: "Small", children: u }),
1383
+ o === m && /* @__PURE__ */ e(fe, { color: "inherit", filled: !0, fontSize: "small" })
1378
1384
  ]
1379
1385
  },
1380
1386
  m
1381
1387
  )) })
1382
1388
  }
1383
1389
  );
1384
- }), Rt = D(() => {
1385
- const { onEvent: a } = k(), { debts: n } = C(), { selectedDebtPriority: r } = R(), [t, o] = x.useState(null), i = (m) => {
1390
+ }), $t = D(() => {
1391
+ const { onEvent: a } = F(), { debts: n } = S(), { selectedDebtPriority: r } = L(), [t, o] = g.useState(null), i = (m) => {
1386
1392
  o(m.currentTarget), a(T.DEBTS_CLICK_PRIORITIZE);
1387
1393
  }, p = () => {
1388
1394
  o(null);
1389
- }, d = !!t, c = x.useMemo(() => ({
1390
- [B.FASTEST_PAYOFF_FIRST]: n.priority_sort_fastest_payoff,
1391
- [B.HIGHEST_INTEREST]: n.priority_sort_highest_interest,
1392
- [B.HIGHEST_BALANCE]: n.priority_sort_highest_balance,
1393
- [B.LOWEST_BALANCE]: n.priority_sort_lowest_balance
1395
+ }, c = !!t, d = g.useMemo(() => ({
1396
+ [P.FASTEST_PAYOFF_FIRST]: n.priority_sort_fastest_payoff,
1397
+ [P.HIGHEST_INTEREST]: n.priority_sort_highest_interest,
1398
+ [P.HIGHEST_BALANCE]: n.priority_sort_highest_balance,
1399
+ [P.LOWEST_BALANCE]: n.priority_sort_lowest_balance
1394
1400
  })[r] ?? n.priority_sort_lowest_balance, [r]);
1395
- return /* @__PURE__ */ s(y, { children: [
1396
- /* @__PURE__ */ e(Nt, { buttonText: c, isOpen: d, onClick: i }),
1397
- /* @__PURE__ */ e(Ft, { buttonEl: t, onClose: p })
1401
+ return /* @__PURE__ */ s(_, { children: [
1402
+ /* @__PURE__ */ e(Rt, { buttonText: d, isOpen: c, onClick: i }),
1403
+ /* @__PURE__ */ e(Lt, { buttonEl: t, onClose: p })
1398
1404
  ] });
1399
- }), Lt = (a, n, r = 0) => {
1400
- const t = a.map((c) => ({ ...c }));
1401
- xe(t, n);
1405
+ }), Ht = (a, n, r = 0) => {
1406
+ const t = a.map((d) => ({ ...d }));
1407
+ ge(t, n);
1402
1408
  const o = /* @__PURE__ */ new Date(), i = [];
1403
- let p = 0, d = 1;
1404
- for (const c of t)
1409
+ let p = 0, c = 1;
1410
+ for (const d of t)
1405
1411
  i.push({
1406
- ...c,
1412
+ ...d,
1407
1413
  // Start with the initial balance
1408
- dataset: [{ x: new Date(o), y: c.balance }]
1414
+ dataset: [{ x: new Date(o), y: d.balance }]
1409
1415
  });
1410
- for (; t.some((c) => c.balance >= 0.01 && !c.is_impossible); ) {
1411
- let c = !1, m = !1, b = !1;
1412
- for (const [f, u] of t.entries()) {
1413
- if (u.balance <= 0.01) continue;
1414
- const S = i[f].dataset, E = (u.interest_rate ?? 0) / 100 / 12, _ = u.balance * E, v = u.monthly_payment ?? 0;
1415
- let H = v, L = 0;
1416
- !b && r > 0 && (H += r, b = !0), !m && p > 0 && (L = p, m = !0), u.balance += _;
1417
- const h = Math.min(u.balance, H + L);
1418
- if (h <= _) {
1419
- u.is_impossible = !0, i[f].is_impossible = !0, i[f].priority = void 0, S.push({ x: new Date(o), y: u.balance });
1416
+ for (; t.some((d) => d.balance >= 0.01 && !d.is_impossible); ) {
1417
+ let d = !1, m = !1, u = !1;
1418
+ for (const [x, h] of t.entries()) {
1419
+ if (h.balance <= 0.01) continue;
1420
+ const v = i[x].dataset, N = (h.interest_rate ?? 0) / 100 / 12, C = h.balance * N, A = h.monthly_payment ?? 0;
1421
+ let y = A, M = 0;
1422
+ !u && r > 0 && (y += r, u = !0), !m && p > 0 && (M = p, m = !0), h.balance += C;
1423
+ const b = Math.min(h.balance, y + M);
1424
+ if (b <= C) {
1425
+ h.is_impossible = !0, i[x].is_impossible = !0, i[x].priority = void 0, v.push({ x: new Date(o), y: h.balance });
1420
1426
  continue;
1421
1427
  }
1422
- u.balance -= h, u.balance = u.balance < 0.01 ? 0 : u.balance, S.push({
1428
+ h.balance -= b, h.balance = h.balance < 0.01 ? 0 : h.balance, v.push({
1423
1429
  x: new Date(o),
1424
- y: Math.max(0, u.balance),
1425
- payment: h,
1426
- extra: L
1427
- }), u.balance <= 0 && (p += v, i[f].projected_payoff_date = new Date(o)), h > 0 && (c = !0);
1430
+ y: Math.max(0, h.balance),
1431
+ payment: b,
1432
+ extra: M
1433
+ }), h.balance <= 0 && (p += A, i[x].projected_payoff_date = new Date(o)), b > 0 && (d = !0);
1428
1434
  }
1429
- c && o.setMonth(o.getMonth() + 1);
1435
+ d && o.setMonth(o.getMonth() + 1);
1430
1436
  }
1431
- return i.forEach((c) => {
1432
- (c.interest_rate === void 0 || c.monthly_payment === void 0) && (c.projected_payoff_date = void 0);
1433
- }), i.forEach((c) => {
1434
- c.priority = !c.is_paid_off && !c.is_impossible ? d++ : void 0;
1437
+ return i.forEach((d) => {
1438
+ (d.interest_rate === void 0 || d.monthly_payment === void 0) && (d.projected_payoff_date = void 0);
1439
+ }), i.forEach((d) => {
1440
+ d.priority = !d.is_paid_off && !d.is_impossible ? c++ : void 0;
1435
1441
  }), i;
1436
- }, $t = D(({ onClick: a }) => {
1437
- const { debts: n } = C(), { isDesktop: r } = Y(), { totalMonthlyPayments: t } = q(), { monthlyCashFlowProfile: o } = V(), i = t + Number(o?.extra_payment), p = r ? n.paydown_button_long : n.paydown_button_short;
1442
+ }, Ot = D(({ onClick: a }) => {
1443
+ const { debts: n } = S(), { isDesktop: r } = Y(), { totalMonthlyPayments: t } = Z(), { monthlyCashFlowProfile: o } = V(), i = t + Number(o?.extra_payment), p = r ? n.paydown_button_long : n.paydown_button_short;
1438
1444
  return /* @__PURE__ */ e(
1439
- fe,
1445
+ xe,
1440
1446
  {
1441
1447
  "aria-controls": "extra-paydown",
1442
1448
  "aria-describedby": "extra-paydown",
@@ -1444,100 +1450,102 @@ const Bt = (a) => {
1444
1450
  "aria-label": "extra-paydown",
1445
1451
  onClick: a,
1446
1452
  sx: { justifyContent: "start", minWidth: 100, mx: 4 },
1447
- children: A(p, M(i, "0,0"))
1453
+ children: I(p, k(i, "0,0"))
1448
1454
  }
1449
1455
  );
1450
- }), Ht = ({ onBackClick: a, sx: n }) => {
1451
- const [r, t] = x.useState(!1), [o, i] = x.useState(!1), [p, d] = x.useState(!1), [c, m] = x.useState(""), { isDesktop: b, isMobile: f } = Y(), { debts: u } = C(), { onEvent: S } = k(), { isCopyLoaded: P, isInitialized: E, setSelectedAccounts: _ } = Pe(), { setSelectedAccount: v } = Ne(), { selectedDebtPriority: H, setSelectedDebtChartData: L } = R(), { visibleDebtAccounts: h } = Z(), { goalsLoaded: w, loadGoals: I, monthlyCashFlowProfile: N } = V(), { debts: F } = q(), O = x.useMemo(() => {
1452
- const W = N?.extra_payment ?? 0;
1453
- return Lt(F, H, W);
1454
- }, [F, H, N]);
1455
- x.useEffect(() => {
1456
- _(h), S(T.DEBTS_VIEW);
1457
- }, []), x.useEffect(() => {
1458
- _(h);
1459
- }, [h]), x.useEffect(() => {
1460
- E && I().finally();
1461
- }, [E]);
1462
- const ne = (W) => m(W), oe = () => {
1463
- const W = h.find((Q) => Q.guid === c), ie = O.find((Q) => Q.guid === c);
1464
- W && v(W), ie && L(ie), t(!0);
1465
- }, we = () => S(T.DEBTS_CLICK_FILTER), Ce = () => {
1466
- d(!0), S(T.DEBTS_CLICK_SNOWBALL_CTA);
1467
- }, Se = () => {
1468
- i(!0), S(T.DEBTS_CLICK_PAYDOWN);
1456
+ }), Wt = ({ onBackClick: a, sx: n }) => {
1457
+ const [r, t] = g.useState(!1), [o, i] = g.useState(!1), [p, c] = g.useState(!1), [d, m] = g.useState(""), { isDesktop: u, isMobile: x } = Y(), { debts: h } = S(), { onEvent: v } = F(), { onLoad: B } = ke(), { isCopyLoaded: N, isInitialized: C, setSelectedAccounts: A } = Ne(), { setSelectedAccount: y } = Re(), { selectedDebtPriority: M, setSelectedDebtChartData: b } = L(), { visibleDebtAccounts: f } = J(), { goalsLoaded: E, loadGoals: $, monthlyCashFlowProfile: R } = V(), { debts: z } = Z(), K = g.useMemo(() => {
1458
+ const O = R?.extra_payment ?? 0;
1459
+ return Ht(z, M, O);
1460
+ }, [z, M, R]);
1461
+ g.useEffect(() => {
1462
+ A(f), v(T.DEBTS_VIEW);
1463
+ }, []), g.useEffect(() => {
1464
+ A(f);
1465
+ }, [f]), g.useEffect(() => {
1466
+ C && $().finally(() => {
1467
+ B?.("DebtsWidget");
1468
+ });
1469
+ }, [C]);
1470
+ const oe = (O) => m(O), ie = () => {
1471
+ const O = f.find((ee) => ee.guid === d), le = K.find((ee) => ee.guid === d);
1472
+ O && y(O), le && b(le), t(!0);
1473
+ }, Ce = () => v(T.DEBTS_CLICK_FILTER), Se = () => {
1474
+ c(!0), v(T.DEBTS_CLICK_SNOWBALL_CTA);
1475
+ }, ve = () => {
1476
+ i(!0), v(T.DEBTS_CLICK_PAYDOWN);
1469
1477
  };
1470
- return !w || !P || !E ? /* @__PURE__ */ e(Je, {}) : /* @__PURE__ */ s(
1471
- Oe,
1478
+ return !E || !N || !C ? /* @__PURE__ */ e(et, {}) : /* @__PURE__ */ s(
1479
+ Ge,
1472
1480
  {
1473
- accountOptions: h,
1481
+ accountOptions: f,
1474
1482
  actions: [
1475
- /* @__PURE__ */ e(Rt, {}, "prioritize-debts"),
1476
- /* @__PURE__ */ e($t, { onClick: Se }, "extra-paydown")
1483
+ /* @__PURE__ */ e($t, {}, "prioritize-debts"),
1484
+ /* @__PURE__ */ e(Ot, { onClick: ve }, "extra-paydown")
1477
1485
  ],
1478
- onAccountsFilterClick: we,
1486
+ onAccountsFilterClick: Ce,
1479
1487
  onBackClick: a,
1480
1488
  sx: n,
1481
- title: u.title,
1489
+ title: h.title,
1482
1490
  children: [
1483
- /* @__PURE__ */ s(g, { sx: { px: b ? "48px" : "24px" }, children: [
1491
+ /* @__PURE__ */ s(w, { sx: { px: u ? "48px" : "24px" }, children: [
1484
1492
  /* @__PURE__ */ s(
1485
- g,
1493
+ w,
1486
1494
  {
1487
1495
  sx: {
1488
- alignItems: f ? "flex-start" : "flex-end",
1489
- flexDirection: f ? "column" : "row",
1490
- mx: f ? "-12px" : 0
1496
+ alignItems: x ? "flex-start" : "flex-end",
1497
+ flexDirection: x ? "column" : "row",
1498
+ mx: x ? "-12px" : 0
1491
1499
  },
1492
1500
  children: [
1493
1501
  /* @__PURE__ */ e(
1494
- ge,
1502
+ we,
1495
1503
  {
1496
- debts: O,
1497
- height: f ? 250 : void 0,
1498
- hoveredDebtGuid: c,
1499
- onClickArea: oe,
1500
- onHoverArea: ne,
1501
- sx: { mr: f ? "4px" : "-48px" }
1504
+ debts: K,
1505
+ height: x ? 250 : void 0,
1506
+ hoveredDebtGuid: d,
1507
+ onClickArea: ie,
1508
+ onHoverArea: oe,
1509
+ sx: { mr: x ? "4px" : "-48px" }
1502
1510
  }
1503
1511
  ),
1504
1512
  /* @__PURE__ */ e(
1505
- ot,
1513
+ lt,
1506
1514
  {
1507
- debts: O,
1508
- onClickCta: Ce,
1509
- sx: { mb: f ? "0px" : "64px" }
1515
+ debts: K,
1516
+ onClickCta: Se,
1517
+ sx: { mb: x ? "0px" : "64px" }
1510
1518
  }
1511
1519
  )
1512
1520
  ]
1513
1521
  }
1514
1522
  ),
1515
- /* @__PURE__ */ e(g, { sx: { mx: f ? "-24px" : 0 }, children: /* @__PURE__ */ e(
1516
- kt,
1523
+ /* @__PURE__ */ e(w, { sx: { mx: x ? "-24px" : 0 }, children: /* @__PURE__ */ e(
1524
+ Ft,
1517
1525
  {
1518
- debts: O,
1519
- hoveredDebtGuid: c,
1520
- onClickRow: oe,
1521
- onHoverRow: ne
1526
+ debts: K,
1527
+ hoveredDebtGuid: d,
1528
+ onClickRow: ie,
1529
+ onHoverRow: oe
1522
1530
  }
1523
1531
  ) })
1524
1532
  ] }),
1525
1533
  /* @__PURE__ */ e(
1526
- lt,
1534
+ ct,
1527
1535
  {
1528
1536
  isOpen: p,
1529
- onClose: () => d(!1)
1537
+ onClose: () => c(!1)
1530
1538
  }
1531
1539
  ),
1532
- /* @__PURE__ */ e(St, { isOpen: r, onClose: () => t(!1) }),
1533
- /* @__PURE__ */ e(At, { isOpen: o, onClose: () => i(!1) })
1540
+ /* @__PURE__ */ e(Dt, { isOpen: r, onClose: () => t(!1) }),
1541
+ /* @__PURE__ */ e(It, { isOpen: o, onClose: () => i(!1) })
1534
1542
  ]
1535
1543
  }
1536
1544
  );
1537
- }, Pr = D(Ht);
1545
+ }, Nr = D(Wt);
1538
1546
  export {
1539
- ge as DebtsChart,
1540
- Fr as DebtsStore,
1541
- kt as DebtsTable,
1542
- Pr as DebtsWidget
1547
+ we as DebtsChart,
1548
+ Lr as DebtsStore,
1549
+ Ft as DebtsTable,
1550
+ Nr as DebtsWidget
1543
1551
  };