@mx-cartographer/experiences 7.0.11-alpha.al0 → 7.0.11
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.
- package/CHANGELOG.md +4 -0
- package/dist/{Account-D_kRKI6x.mjs → Account-BVKkr6ft.mjs} +1 -1
- package/dist/{AccountDetailsContent-Dfja2v8K.mjs → AccountDetailsContent-BmQ5a3Lk.mjs} +8 -8
- package/dist/{AccountDetailsHeader-nc5mqlHm.mjs → AccountDetailsHeader-vSwO-5Wk.mjs} +5 -5
- package/dist/{AccountFields-DeebSePp.mjs → AccountFields-VRK4zgvW.mjs} +2 -2
- package/dist/{AccountListItem-dh03tivj.mjs → AccountListItem-SkBUCsb0.mjs} +3 -3
- package/dist/{AccountStore-Cp7xWX8n.mjs → AccountStore-3Umlm7QY.mjs} +5 -5
- package/dist/{Accounts-DppzmFak.mjs → Accounts-CYsoAdW-.mjs} +1 -1
- package/dist/{BeatApi-D0WcLW3O.mjs → BeatApi-DLu87ijw.mjs} +3 -3
- package/dist/{BeatStore-y6WVs07e.mjs → BeatStore-By4aGoRM.mjs} +17 -17
- package/dist/{BudgetUtil-DmWvHV7C.mjs → BudgetUtil-CeSLAcsl.mjs} +1 -1
- package/dist/{CategorySelectorDrawer-uTU7Nwn2.mjs → CategorySelectorDrawer-BPvjZ-Xo.mjs} +1 -1
- package/dist/{CategoryStore-BfYppD3g.mjs → CategoryStore-BOyzQjQp.mjs} +4 -4
- package/dist/{ConnectDrawer-BfYwIgKa.mjs → ConnectDrawer-BA9H_xx8.mjs} +1 -1
- package/dist/{ConnectionsDrawer-BKG07Loi.mjs → ConnectionsDrawer-Bs-NUsAs.mjs} +2 -2
- package/dist/{CurrencyInput-BtrNBP3z.mjs → CurrencyInput-bEx2Mbd0.mjs} +1 -1
- package/dist/{DebtsStore-BR1o55kk.mjs → DebtsStore-BwmpJMik.mjs} +1 -1
- package/dist/{ExportCsvAction-BH369hls.mjs → ExportCsvAction-CvyiKLTh.mjs} +3 -3
- package/dist/{Fetch-CJ9cgjgV.mjs → Fetch-CkFKy79O.mjs} +8 -9
- package/dist/{FinstrongStore-rC2F4Tq3.mjs → FinstrongStore-mkALvztw.mjs} +4 -4
- package/dist/{GoalStore-rZKi2YjE.mjs → GoalStore-BH5TWxYr.mjs} +21 -21
- package/dist/{Help-t24Ldz-O.mjs → Help-B3oENhkG.mjs} +1 -1
- package/dist/{LineChart-CfEEnHUy.mjs → LineChart-BWWmmJxV.mjs} +204 -183
- package/dist/{ListItemAction-Cwadpg85.mjs → ListItemAction-DNZZ5fSa.mjs} +1 -1
- package/dist/{ManageIncome-xksS_sWM.mjs → ManageIncome-DCUX6T2b.mjs} +4 -4
- package/dist/MerchantStore-DVH-QOf0.mjs +37 -0
- package/dist/{MicroWidgetContainer-DwTAjSdX.mjs → MicroWidgetContainer-Dxz8uBN9.mjs} +1 -1
- package/dist/{MiniWidgetContainer-CxggrnHk.mjs → MiniWidgetContainer-CTyjmE1h.mjs} +1 -1
- package/dist/{NetWorthStore-5qSDIglU.mjs → NetWorthStore-NKD8a-19.mjs} +2 -2
- package/dist/{NotificationSettings-Cny7J1hO.mjs → NotificationSettings-uXVwpIa1.mjs} +2 -2
- package/dist/{NotificationStore-DpV9hXSE.mjs → NotificationStore-DHtSGySy.mjs} +4 -8
- package/dist/{OriginalBalanceAction-DDMRgIBU.mjs → OriginalBalanceAction-DepsKiJz.mjs} +3 -3
- package/dist/{RecurringSettings-DXQ64A8U.mjs → RecurringSettings-BD_CIXnV.mjs} +3 -3
- package/dist/{RecurringTransactionsStore-CXhnipfd.mjs → RecurringTransactionsStore-D62XJtdL.mjs} +16 -20
- package/dist/{SettingsStore-CLLqNa_S.mjs → SettingsStore-B4gi6oOw.mjs} +29 -33
- package/dist/{Transaction-CXMMfhz-.mjs → Transaction-Dns0Kuuy.mjs} +1 -1
- package/dist/{TransactionApi-C0HMGDBV.mjs → TransactionApi-DbbcjI2L.mjs} +29 -29
- package/dist/{TransactionDetails-v77agHHP.mjs → TransactionDetails-DFDYdDae.mjs} +5 -5
- package/dist/{TransactionStore-Cu_KM_J9.mjs → TransactionStore-BVKUoEHj.mjs} +25 -29
- package/dist/TrendsStore-WrHxzdbQ.mjs +565 -0
- package/dist/{ViewMoreMicroCard-DJoNOqkD.mjs → ViewMoreMicroCard-BZI5VMNW.mjs} +2 -5
- package/dist/{WidgetContainer-QcfqagZD.mjs → WidgetContainer-BHhhVctF.mjs} +2 -2
- package/dist/accounts/api/AccountApi.d.ts +2 -2
- package/dist/accounts/index.es.js +12 -12
- package/dist/analytics/index.es.js +2 -2
- package/dist/budgets/api/BudgetsApi.d.ts +2 -2
- package/dist/budgets/index.es.js +10 -10
- package/dist/cashflow/api/CashflowApi.d.ts +2 -3
- package/dist/cashflow/index.es.js +10 -10
- package/dist/categories/index.es.js +2 -2
- package/dist/common/api/AnalyticsApi.d.ts +2 -2
- package/dist/common/api/AppDataApi.d.ts +2 -2
- package/dist/common/api/BeatApi.d.ts +2 -2
- package/dist/common/api/CategoryApi.d.ts +3 -2
- package/dist/common/api/GlobalCopyApi.d.ts +1 -2
- package/dist/common/api/LocalizedCopyApi.d.ts +1 -2
- package/dist/common/api/NotificationApi.d.ts +2 -2
- package/dist/common/api/ScheduledPaymentsApi.d.ts +2 -3
- package/dist/common/api/UserApi.d.ts +2 -2
- package/dist/common/context/GlobalDataProvider.d.ts +2 -3
- package/dist/common/context/hooks.d.ts +1 -4
- package/dist/common/context/index.d.ts +1 -1
- package/dist/common/index.es.js +315 -321
- package/dist/common/stores/GlobalStore.d.ts +1 -2
- package/dist/common/types/index.d.ts +0 -1
- package/dist/common/utils/Fetch.d.ts +1 -3
- package/dist/dashboard/index.es.js +2 -2
- package/dist/debts/index.es.js +197 -180
- package/dist/{exportTransactionsToCSV-DpP_a1g8.mjs → exportTransactionsToCSV-B4JW8rfR.mjs} +1 -1
- package/dist/finstrong/api/FinstrongApi.d.ts +1 -2
- package/dist/finstrong/index.es.js +7 -7
- package/dist/goals/api/GoalApi.d.ts +2 -3
- package/dist/goals/index.es.js +11 -11
- package/dist/help/api/HelpApi.d.ts +2 -2
- package/dist/help/index.es.js +3 -3
- package/dist/hooks-DkUqN6JE.mjs +71 -0
- package/dist/insights/index.es.js +1 -1
- package/dist/investments/api/HoldingApi.d.ts +2 -3
- package/dist/investments/index.es.js +3 -3
- package/dist/merchants/api/MerchantApi.d.ts +1 -2
- package/dist/merchants/index.es.js +2 -2
- package/dist/microinsights/context/InsightsMicroWidgetDataProvider.d.ts +1 -2
- package/dist/microinsights/context/hooks.d.ts +1 -1
- package/dist/microinsights/index.es.js +1 -1
- package/dist/networth/index.es.js +7 -7
- package/dist/notifications/index.es.js +5 -5
- package/dist/recurringtransactions/api/RepeatingTransactionsApi.d.ts +2 -2
- package/dist/recurringtransactions/index.es.js +10 -10
- package/dist/settings/api/SettingsApi.d.ts +2 -3
- package/dist/settings/index.es.js +7 -7
- package/dist/spending/index.es.js +4 -4
- package/dist/transactions/api/TransactionApi.d.ts +2 -3
- package/dist/transactions/index.es.js +14 -14
- package/dist/trends/index.es.js +10 -10
- package/dist/{useCombineEvents-Dbjzfwvo.mjs → useCombineEvents-DaDBSR_1.mjs} +29 -29
- package/package.json +1 -1
- package/dist/MerchantStore-h96aTml7.mjs +0 -37
- package/dist/TrendsStore-B4Q-iLX0.mjs +0 -547
- package/dist/common/types/Handlers.d.ts +0 -2
- package/dist/hooks-DcS6DyRl.mjs +0 -74
package/dist/debts/index.es.js
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
import { jsx as e, jsxs as s, Fragment as L } from "react/jsx-runtime";
|
|
2
2
|
import y from "react";
|
|
3
|
-
import { observer as
|
|
3
|
+
import { observer as S } from "mobx-react-lite";
|
|
4
4
|
import f from "@mui/material/Stack";
|
|
5
|
-
import { useTheme as j, Card as
|
|
5
|
+
import { useTheme as j, Card as me, Stack as _, Box as O } from "@mui/material";
|
|
6
6
|
import { Text as i, H3 as we, InstitutionLogo as Ce, Icon as ee } from "@mxenabled/mxui";
|
|
7
|
-
import { intervalToDuration as
|
|
8
|
-
import { D as $ } from "../DebtsStore-
|
|
9
|
-
import { a as
|
|
7
|
+
import { intervalToDuration as Se, formatDuration as De } from "date-fns";
|
|
8
|
+
import { D as $ } from "../DebtsStore-BwmpJMik.mjs";
|
|
9
|
+
import { a as Sr } from "../DebtsStore-BwmpJMik.mjs";
|
|
10
10
|
import { f as B, a as ve } from "../NumberFormatting-CtWHhyBX.mjs";
|
|
11
11
|
import { f as K, D as U } from "../Dialog-CWW597AF.mjs";
|
|
12
|
-
import { G as Te, x as q, u as C, j as z, e as M, c as Z, a as Ae } from "../hooks-
|
|
12
|
+
import { G as Te, x as q, u as C, j as z, e as M, c as Z, a as Ae } from "../hooks-DkUqN6JE.mjs";
|
|
13
13
|
import { u as X } from "../useScreenSize-B6JyS_Lj.mjs";
|
|
14
14
|
import { D as te } from "../Drawer-kEE73B87.mjs";
|
|
15
15
|
import { b as T } from "../Localization-2MODESHW.mjs";
|
|
16
|
-
import { A as Ee, u as Ie } from "../AccountDetailsHeader-
|
|
16
|
+
import { A as Ee, u as Ie } from "../AccountDetailsHeader-vSwO-5Wk.mjs";
|
|
17
17
|
import Be from "@mui/material/Card";
|
|
18
18
|
import Me from "@mui/material/CardContent";
|
|
19
19
|
import ke from "@mui/material/CardHeader";
|
|
20
20
|
import { LineChart as Pe } from "@mui/x-charts";
|
|
21
|
+
import re from "@mui/material/Box";
|
|
21
22
|
import { useTheme as Ne } from "@mui/material/styles";
|
|
22
|
-
import { A as v, W as Re } from "../WidgetContainer-
|
|
23
|
-
import
|
|
23
|
+
import { A as v, W as Re } from "../WidgetContainer-BHhhVctF.mjs";
|
|
24
|
+
import le from "@mui/material/Tab";
|
|
24
25
|
import $e from "@mui/material/Tabs";
|
|
25
|
-
import
|
|
26
|
+
import he from "@mui/material/List";
|
|
26
27
|
import W from "@mui/material/Divider";
|
|
27
|
-
import { M as Le, I as He, O as Fe } from "../OriginalBalanceAction-
|
|
28
|
+
import { M as Le, I as He, O as Fe } from "../OriginalBalanceAction-DepsKiJz.mjs";
|
|
28
29
|
import Oe from "@mui/material/TextField";
|
|
29
|
-
import { L as J } from "../ListItemAction-
|
|
30
|
-
import { C as
|
|
31
|
-
import
|
|
32
|
-
import
|
|
33
|
-
import
|
|
34
|
-
import { Error as We, CheckCircle as
|
|
35
|
-
import { T as
|
|
30
|
+
import { L as J } from "../ListItemAction-DNZZ5fSa.mjs";
|
|
31
|
+
import { C as ae } from "../CurrencyInput-bEx2Mbd0.mjs";
|
|
32
|
+
import se from "@mui/material/Alert";
|
|
33
|
+
import ce from "@mui/material/AlertTitle";
|
|
34
|
+
import de from "@mui/material/Paper";
|
|
35
|
+
import { Error as We, CheckCircle as ue } from "@mxenabled/mx-icons";
|
|
36
|
+
import { T as pe } from "../TabContentContainer-j01JYR_7.mjs";
|
|
36
37
|
import { DataGridPro as Ge } from "@mui/x-data-grid-pro";
|
|
37
|
-
import ue from "@mui/material/Box";
|
|
38
38
|
import { H as G } from "../HeaderCell-DjuifqHJ.mjs";
|
|
39
|
-
import { f as je } from "../ConnectDrawer-
|
|
39
|
+
import { f as je } from "../ConnectDrawer-BA9H_xx8.mjs";
|
|
40
40
|
import be from "@mui/material/Button";
|
|
41
41
|
import ze from "@mui/material/IconButton";
|
|
42
42
|
import Xe from "@mui/material/ListItem";
|
|
@@ -68,25 +68,25 @@ function Ke(a, o, n = 0) {
|
|
|
68
68
|
const d = /* @__PURE__ */ new Date(), m = /* @__PURE__ */ new Date();
|
|
69
69
|
for (; r.some((p) => p.balance >= 0.01 && !p.is_impossible); ) {
|
|
70
70
|
let p = !1;
|
|
71
|
-
for (const [
|
|
72
|
-
if (
|
|
73
|
-
const k = (
|
|
74
|
-
let u =
|
|
75
|
-
|
|
76
|
-
const A = Math.min(
|
|
77
|
-
if (A <=
|
|
78
|
-
|
|
71
|
+
for (const [g, x] of r.entries()) {
|
|
72
|
+
if (x.balance <= 0.01 || x.is_impossible) continue;
|
|
73
|
+
const k = (x.interest_rate ?? 0) / 100 / 12, D = x.balance * k;
|
|
74
|
+
let u = x.monthly_payment ?? 0;
|
|
75
|
+
g === 0 && n && (u += n), x.balance += D;
|
|
76
|
+
const A = Math.min(x.balance, u + l);
|
|
77
|
+
if (A <= D) {
|
|
78
|
+
x.is_impossible = !0;
|
|
79
79
|
continue;
|
|
80
80
|
}
|
|
81
|
-
|
|
81
|
+
x.balance -= A, x.balance = x.balance < 0.01 ? 0 : x.balance, t += D, x.balance <= 0 && (l += u), A > 0 && (p = !0);
|
|
82
82
|
}
|
|
83
83
|
p && m.setMonth(m.getMonth() + 1);
|
|
84
84
|
}
|
|
85
|
-
const c = r.some((p) => p.is_impossible && p.balance > 0), h =
|
|
85
|
+
const c = r.some((p) => p.is_impossible && p.balance > 0), h = Se({ start: d, end: m });
|
|
86
86
|
return {
|
|
87
87
|
payoffSavings: c ? "N/A" : B(t, "0,0.00"),
|
|
88
88
|
payoffDate: c ? "Never" : K(m, U.MONTH_YEAR),
|
|
89
|
-
payoffDuration: c ? "Stagnant" :
|
|
89
|
+
payoffDuration: c ? "Stagnant" : De(h, { format: ["years", "months"] }) || "0 months"
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
92
|
const R = () => {
|
|
@@ -95,11 +95,11 @@ const R = () => {
|
|
|
95
95
|
return q().uiStore;
|
|
96
96
|
}, Ue = ({ debts: a, onClickCta: o, sx: n }) => {
|
|
97
97
|
const r = j(), { isMobile: t } = X(), { debts: l } = C(), { selectedDebtPriority: d } = R(), { monthlyCashFlowProfile: m } = z(), { payoffDate: c, payoffSavings: h, payoffDuration: p } = y.useMemo(() => {
|
|
98
|
-
const
|
|
99
|
-
return Ke(a, d,
|
|
98
|
+
const g = m?.extra_payment ?? 0;
|
|
99
|
+
return Ke(a, d, g);
|
|
100
100
|
}, [a, d, m]);
|
|
101
101
|
return /* @__PURE__ */ e(
|
|
102
|
-
|
|
102
|
+
me,
|
|
103
103
|
{
|
|
104
104
|
sx: {
|
|
105
105
|
boxShadow: r.shadows[2],
|
|
@@ -145,7 +145,7 @@ const R = () => {
|
|
|
145
145
|
] })
|
|
146
146
|
}
|
|
147
147
|
);
|
|
148
|
-
}, qe =
|
|
148
|
+
}, qe = S(Ue), Ze = ({ isOpen: a, onClose: o, sx: n }) => {
|
|
149
149
|
const r = j(), { debts: t } = C(), [l, d] = y.useState(!1);
|
|
150
150
|
return /* @__PURE__ */ e(
|
|
151
151
|
te,
|
|
@@ -163,7 +163,7 @@ const R = () => {
|
|
|
163
163
|
/* @__PURE__ */ e(i, { variant: "H1", children: t.snowball_drawer_savings }),
|
|
164
164
|
/* @__PURE__ */ e(i, { color: r.palette.secondary.main, variant: "Small", children: t.snowball_drawer_duration_description })
|
|
165
165
|
] }),
|
|
166
|
-
/* @__PURE__ */ s(
|
|
166
|
+
/* @__PURE__ */ s(me, { sx: { display: "grid", py: 16, px: 24 }, children: [
|
|
167
167
|
/* @__PURE__ */ e(i, { mb: 4, variant: "H3", children: t.snowball_drawer_question }),
|
|
168
168
|
/* @__PURE__ */ e(
|
|
169
169
|
i,
|
|
@@ -507,7 +507,7 @@ const R = () => {
|
|
|
507
507
|
] })
|
|
508
508
|
}
|
|
509
509
|
);
|
|
510
|
-
}, Je =
|
|
510
|
+
}, Je = S(Ze), Qe = "#FF7B08";
|
|
511
511
|
function et(a, o) {
|
|
512
512
|
const [n, r, t] = a.replace(/^#/, "").match(/.{1,2}/g).map((d) => parseInt(d, 16)), l = [
|
|
513
513
|
Math.max(0, Math.min(255, Math.round(n * o))),
|
|
@@ -529,7 +529,7 @@ const ye = ({
|
|
|
529
529
|
...new Set(
|
|
530
530
|
h.flatMap((b) => b.dataset.map((w) => new Date(w.x).getTime()))
|
|
531
531
|
)
|
|
532
|
-
].sort((b, w) => b - w).map((b) => new Date(b)),
|
|
532
|
+
].sort((b, w) => b - w).map((b) => new Date(b)), g = h.map((b) => {
|
|
533
533
|
const w = new Map(b.dataset.map((N) => [new Date(N.x).getTime(), N.y]));
|
|
534
534
|
let I = w.get(p[0].getTime()) ?? 0;
|
|
535
535
|
const P = p.map((N) => {
|
|
@@ -537,14 +537,14 @@ const ye = ({
|
|
|
537
537
|
return I = H, { x: N, y: H };
|
|
538
538
|
});
|
|
539
539
|
return { ...b, dataset: P };
|
|
540
|
-
}),
|
|
540
|
+
}), x = g.reduce(
|
|
541
541
|
(b, w) => b + (w.dataset[0]?.y ?? 0),
|
|
542
542
|
0
|
|
543
543
|
), E = p.map((b, w) => {
|
|
544
|
-
const I = w / (p.length - 1), P =
|
|
544
|
+
const I = w / (p.length - 1), P = x * (1 - I);
|
|
545
545
|
return { x: b, y: P };
|
|
546
|
-
}), k = Math.ceil(
|
|
547
|
-
const I = 1 - w /
|
|
546
|
+
}), k = Math.ceil(x / 100) * 100, D = p, u = g.map((b, w) => {
|
|
547
|
+
const I = 1 - w / g.length * 0.5, P = et(Qe, I);
|
|
548
548
|
return {
|
|
549
549
|
id: `debt-${w}`,
|
|
550
550
|
guid: b.guid,
|
|
@@ -571,71 +571,88 @@ const ye = ({
|
|
|
571
571
|
});
|
|
572
572
|
const A = (b) => u.findIndex((w) => w?.guid === b);
|
|
573
573
|
return /* @__PURE__ */ e(
|
|
574
|
-
|
|
574
|
+
re,
|
|
575
575
|
{
|
|
576
|
-
axisHighlight: { x: "none" },
|
|
577
|
-
disableLineItemHighlight: !0,
|
|
578
|
-
height: o,
|
|
579
|
-
onAreaClick: (b, w) => {
|
|
580
|
-
l?.();
|
|
581
|
-
const I = u.find((P) => P.id === w.seriesId);
|
|
582
|
-
c(v.DEBTS_CLICK_CHART_AREA, { account_guid: I?.guid });
|
|
583
|
-
},
|
|
584
|
-
onHighlightChange: (b) => {
|
|
585
|
-
const w = u.find((I) => I.id === b?.seriesId)?.guid;
|
|
586
|
-
d?.(w ?? "");
|
|
587
|
-
},
|
|
588
|
-
series: u,
|
|
589
|
-
skipAnimation: !0,
|
|
590
|
-
slotProps: {
|
|
591
|
-
legend: {
|
|
592
|
-
hidden: !0
|
|
593
|
-
}
|
|
594
|
-
},
|
|
595
576
|
sx: {
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
opacity: 0.4,
|
|
603
|
-
transition: "opacity 0.3s ease"
|
|
604
|
-
},
|
|
605
|
-
"& .MuiAreaElement-root:hover": {
|
|
606
|
-
opacity: 1
|
|
607
|
-
},
|
|
608
|
-
"& .MuiLineElement-series-payoff-line": {
|
|
609
|
-
strokeDasharray: "10 5",
|
|
610
|
-
strokeWidth: 1
|
|
611
|
-
},
|
|
612
|
-
[`& .MuiLineElement-series-debt-${A(t ?? "0")}`]: {
|
|
613
|
-
opacity: 1
|
|
614
|
-
},
|
|
615
|
-
[`& .MuiAreaElement-series-debt-${A(t ?? "0")}`]: {
|
|
616
|
-
opacity: 1
|
|
577
|
+
width: "100%",
|
|
578
|
+
height: "100%",
|
|
579
|
+
touchAction: "pan-y",
|
|
580
|
+
"& svg": {
|
|
581
|
+
touchAction: "pan-y",
|
|
582
|
+
userSelect: "none"
|
|
617
583
|
},
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
tooltip: { trigger: "none" },
|
|
621
|
-
width: n,
|
|
622
|
-
xAxis: [
|
|
623
|
-
{
|
|
624
|
-
data: S,
|
|
625
|
-
scaleType: "time",
|
|
626
|
-
min: p[0],
|
|
627
|
-
disableTicks: !0,
|
|
628
|
-
valueFormatter: (b) => K(b, U.MONTH_SHORT_YEAR)
|
|
584
|
+
"& .recharts-wrapper": {
|
|
585
|
+
touchAction: "pan-y"
|
|
629
586
|
}
|
|
630
|
-
|
|
631
|
-
|
|
587
|
+
},
|
|
588
|
+
children: /* @__PURE__ */ e(
|
|
589
|
+
Pe,
|
|
632
590
|
{
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
591
|
+
axisHighlight: { x: "none" },
|
|
592
|
+
disableLineItemHighlight: !0,
|
|
593
|
+
height: o,
|
|
594
|
+
onAreaClick: (b, w) => {
|
|
595
|
+
l?.();
|
|
596
|
+
const I = u.find((P) => P.id === w.seriesId);
|
|
597
|
+
c(v.DEBTS_CLICK_CHART_AREA, { account_guid: I?.guid });
|
|
598
|
+
},
|
|
599
|
+
onHighlightChange: (b) => {
|
|
600
|
+
const w = u.find((I) => I.id === b?.seriesId)?.guid;
|
|
601
|
+
d?.(w ?? "");
|
|
602
|
+
},
|
|
603
|
+
series: u,
|
|
604
|
+
skipAnimation: !0,
|
|
605
|
+
slotProps: {
|
|
606
|
+
legend: {
|
|
607
|
+
hidden: !0
|
|
608
|
+
}
|
|
609
|
+
},
|
|
610
|
+
sx: {
|
|
611
|
+
p: 4,
|
|
612
|
+
"& .MuiBarLabel-root": {
|
|
613
|
+
fontSize: 10,
|
|
614
|
+
fontWeight: 600
|
|
615
|
+
},
|
|
616
|
+
"& .MuiAreaElement-root": {
|
|
617
|
+
opacity: 0.4,
|
|
618
|
+
transition: "opacity 0.3s ease"
|
|
619
|
+
},
|
|
620
|
+
"& .MuiAreaElement-root:hover": {
|
|
621
|
+
opacity: 1
|
|
622
|
+
},
|
|
623
|
+
"& .MuiLineElement-series-payoff-line": {
|
|
624
|
+
strokeDasharray: "10 5",
|
|
625
|
+
strokeWidth: 1
|
|
626
|
+
},
|
|
627
|
+
[`& .MuiLineElement-series-debt-${A(t ?? "0")}`]: {
|
|
628
|
+
opacity: 1
|
|
629
|
+
},
|
|
630
|
+
[`& .MuiAreaElement-series-debt-${A(t ?? "0")}`]: {
|
|
631
|
+
opacity: 1
|
|
632
|
+
},
|
|
633
|
+
...a
|
|
634
|
+
},
|
|
635
|
+
tooltip: { trigger: "none" },
|
|
636
|
+
width: n,
|
|
637
|
+
xAxis: [
|
|
638
|
+
{
|
|
639
|
+
data: D,
|
|
640
|
+
scaleType: "time",
|
|
641
|
+
min: p[0],
|
|
642
|
+
disableTicks: !0,
|
|
643
|
+
valueFormatter: (b) => K(b, U.MONTH_SHORT_YEAR)
|
|
644
|
+
}
|
|
645
|
+
],
|
|
646
|
+
yAxis: [
|
|
647
|
+
{
|
|
648
|
+
min: 0,
|
|
649
|
+
max: k,
|
|
650
|
+
disableTicks: !0,
|
|
651
|
+
valueFormatter: (b) => B(b, "0a")
|
|
652
|
+
}
|
|
653
|
+
]
|
|
637
654
|
}
|
|
638
|
-
|
|
655
|
+
)
|
|
639
656
|
}
|
|
640
657
|
);
|
|
641
658
|
}, tt = () => {
|
|
@@ -665,9 +682,9 @@ const ye = ({
|
|
|
665
682
|
}
|
|
666
683
|
)
|
|
667
684
|
] });
|
|
668
|
-
}, rt =
|
|
685
|
+
}, rt = S(tt), at = () => {
|
|
669
686
|
const a = j(), { onEvent: o } = M(), { debts: n } = C(), { selectedDebtChartData: r, showCompleted: t, showError: l } = R();
|
|
670
|
-
return y.useEffect(() => o(v.DEBT_SCHEDULE_VIEW), []), /* @__PURE__ */ e(
|
|
687
|
+
return y.useEffect(() => o(v.DEBT_SCHEDULE_VIEW), []), /* @__PURE__ */ e(he, { children: l || t ? /* @__PURE__ */ e(
|
|
671
688
|
i,
|
|
672
689
|
{
|
|
673
690
|
color: a.palette.secondary.main,
|
|
@@ -729,7 +746,7 @@ const ye = ({
|
|
|
729
746
|
}
|
|
730
747
|
) })
|
|
731
748
|
] }) });
|
|
732
|
-
}, ot =
|
|
749
|
+
}, ot = S(at), nt = S(({ debt: a }) => {
|
|
733
750
|
const { debts: o } = C(), { updateAccount: n } = Z(), { onEvent: r } = M(), [t, l] = y.useState(a.interest_rate ?? 0), d = t < 0, m = async () => {
|
|
734
751
|
await n({ ...a.account, interest_rate: t }), a.interest_rate = t, r(v.DEBTS_SAVE_RATE_ACTION, { account_guid: a.guid });
|
|
735
752
|
}, c = () => {
|
|
@@ -759,7 +776,7 @@ const ye = ({
|
|
|
759
776
|
)
|
|
760
777
|
}
|
|
761
778
|
);
|
|
762
|
-
}), it =
|
|
779
|
+
}), it = S(({ debt: a }) => {
|
|
763
780
|
const { debts: o } = C(), { updateAccount: n } = Z(), { onEvent: r } = M(), [t, l] = y.useState(a.monthly_payment ?? 0), d = t < 0 || t > 9999999999e-2, m = async () => {
|
|
764
781
|
await n({ ...a.account, minimum_payment: t }), a.monthly_payment = t, r(v.DEBTS_SAVE_PAYMENT_ACTION, { account_guid: a.guid });
|
|
765
782
|
}, c = () => {
|
|
@@ -778,7 +795,7 @@ const ye = ({
|
|
|
778
795
|
secondaryText: B(a.monthly_payment, "0,0"),
|
|
779
796
|
zeroStateText: a.monthly_payment ? void 0 : o.add_monthly_payment,
|
|
780
797
|
children: /* @__PURE__ */ e(
|
|
781
|
-
|
|
798
|
+
ae,
|
|
782
799
|
{
|
|
783
800
|
amount: t,
|
|
784
801
|
autoFocus: !0,
|
|
@@ -791,7 +808,7 @@ const ye = ({
|
|
|
791
808
|
)
|
|
792
809
|
}
|
|
793
810
|
);
|
|
794
|
-
}), lt =
|
|
811
|
+
}), lt = S(({ debt: a }) => {
|
|
795
812
|
const { debts: o } = C(), { updateAccount: n } = Z(), { onEvent: r } = M(), [t, l] = y.useState(a.original_balance ?? 0), d = t < 0 || t > 9999999999e-2, m = async () => {
|
|
796
813
|
await n({ ...a.account, original_balance: t }), a.original_balance = t, r(v.DEBTS_SAVE_BALANCE_ACTION, { account_guid: a.guid });
|
|
797
814
|
}, c = () => {
|
|
@@ -810,7 +827,7 @@ const ye = ({
|
|
|
810
827
|
secondaryText: B(a.original_balance, "0,0"),
|
|
811
828
|
zeroStateText: a.original_balance ? void 0 : o.add_original_balance,
|
|
812
829
|
children: /* @__PURE__ */ e(
|
|
813
|
-
|
|
830
|
+
ae,
|
|
814
831
|
{
|
|
815
832
|
amount: t,
|
|
816
833
|
autoFocus: !0,
|
|
@@ -843,15 +860,15 @@ const ye = ({
|
|
|
843
860
|
/* @__PURE__ */ e(W, {})
|
|
844
861
|
] })
|
|
845
862
|
] });
|
|
846
|
-
}, ct =
|
|
863
|
+
}, ct = S(st), dt = ({ setTabValue: a, sx: o }) => {
|
|
847
864
|
const { debts: n } = C(), { showError: r, showCompleted: t } = R();
|
|
848
865
|
return y.useEffect(() => {
|
|
849
866
|
r && a(1);
|
|
850
867
|
}, [r]), !r && !t ? /* @__PURE__ */ e(L, {}) : /* @__PURE__ */ s(f, { gap: 16, children: [
|
|
851
|
-
/* @__PURE__ */ e(
|
|
852
|
-
|
|
868
|
+
/* @__PURE__ */ e(de, { sx: { my: 16, mx: 24, ...o }, children: /* @__PURE__ */ s(
|
|
869
|
+
se,
|
|
853
870
|
{
|
|
854
|
-
icon: r ? /* @__PURE__ */ e(We, { filled: !0 }) : /* @__PURE__ */ e(
|
|
871
|
+
icon: r ? /* @__PURE__ */ e(We, { filled: !0 }) : /* @__PURE__ */ e(ue, { color: "success", filled: !0 }),
|
|
855
872
|
severity: "error",
|
|
856
873
|
sx: {
|
|
857
874
|
alignItems: "start",
|
|
@@ -864,13 +881,13 @@ const ye = ({
|
|
|
864
881
|
}
|
|
865
882
|
},
|
|
866
883
|
children: [
|
|
867
|
-
/* @__PURE__ */ e(
|
|
884
|
+
/* @__PURE__ */ e(ce, { sx: { fontWeight: 600, marginTop: 2 }, variant: "Body", children: r ? n.status_error_title : n.status_complete_title }),
|
|
868
885
|
/* @__PURE__ */ e(i, { component: "p", sx: { whiteSpace: "wrap" }, variant: "ParagraphSmall", children: r ? n.status_error_description : n.status_complete_description })
|
|
869
886
|
]
|
|
870
887
|
}
|
|
871
888
|
) }),
|
|
872
|
-
r && /* @__PURE__ */ e(
|
|
873
|
-
|
|
889
|
+
r && /* @__PURE__ */ e(de, { sx: { mb: 16, mt: 100, mx: 24, ...o }, children: /* @__PURE__ */ s(
|
|
890
|
+
se,
|
|
874
891
|
{
|
|
875
892
|
icon: /* @__PURE__ */ e(L, {}),
|
|
876
893
|
severity: "error",
|
|
@@ -882,13 +899,13 @@ const ye = ({
|
|
|
882
899
|
}
|
|
883
900
|
},
|
|
884
901
|
children: [
|
|
885
|
-
/* @__PURE__ */ e(
|
|
902
|
+
/* @__PURE__ */ e(ce, { sx: { fontWeight: 600, marginTop: 2 }, variant: "Body", children: n.status_info_title }),
|
|
886
903
|
/* @__PURE__ */ e(i, { component: "p", sx: { whiteSpace: "wrap" }, variant: "ParagraphSmall", children: n.status_info_description })
|
|
887
904
|
]
|
|
888
905
|
}
|
|
889
906
|
) })
|
|
890
907
|
] });
|
|
891
|
-
}, pt =
|
|
908
|
+
}, pt = S(dt), mt = () => {
|
|
892
909
|
const { debts: a } = C(), { showError: o, showCompleted: n } = R(), [r, t] = y.useState(0);
|
|
893
910
|
return /* @__PURE__ */ s(L, { children: [
|
|
894
911
|
(o || n) && /* @__PURE__ */ e(pt, { setTabValue: t, sx: { mt: -24 } }),
|
|
@@ -903,7 +920,7 @@ const ye = ({
|
|
|
903
920
|
variant: "fullWidth",
|
|
904
921
|
children: [
|
|
905
922
|
/* @__PURE__ */ e(
|
|
906
|
-
|
|
923
|
+
le,
|
|
907
924
|
{
|
|
908
925
|
"aria-controls": "debt-schedule-tabpanel-0",
|
|
909
926
|
id: "debt-schedule-tab-0",
|
|
@@ -911,7 +928,7 @@ const ye = ({
|
|
|
911
928
|
}
|
|
912
929
|
),
|
|
913
930
|
/* @__PURE__ */ e(
|
|
914
|
-
|
|
931
|
+
le,
|
|
915
932
|
{
|
|
916
933
|
"aria-controls": "debt-details-tabpanel-1",
|
|
917
934
|
id: "debt-details-tab-1",
|
|
@@ -921,10 +938,10 @@ const ye = ({
|
|
|
921
938
|
]
|
|
922
939
|
}
|
|
923
940
|
),
|
|
924
|
-
/* @__PURE__ */ e(
|
|
925
|
-
/* @__PURE__ */ e(
|
|
941
|
+
/* @__PURE__ */ e(pe, { index: 0, name: "debt-schedule", value: r, children: /* @__PURE__ */ e(ot, {}) }),
|
|
942
|
+
/* @__PURE__ */ e(pe, { index: 1, name: "debt-details", value: r, children: /* @__PURE__ */ e(ct, {}) })
|
|
926
943
|
] });
|
|
927
|
-
}, ht =
|
|
944
|
+
}, ht = S(mt), ut = ({ isOpen: a, onClose: o, sx: n }) => {
|
|
928
945
|
const { debts: r } = C(), { showError: t, showCompleted: l } = R(), d = t || l ? /* @__PURE__ */ e(L, {}) : /* @__PURE__ */ e(rt, {});
|
|
929
946
|
return /* @__PURE__ */ e(
|
|
930
947
|
te,
|
|
@@ -940,7 +957,7 @@ const ye = ({
|
|
|
940
957
|
] })
|
|
941
958
|
}
|
|
942
959
|
);
|
|
943
|
-
}, bt =
|
|
960
|
+
}, bt = S(() => {
|
|
944
961
|
const { debts: a } = C(), { monthlyCashFlowProfile: o, updateMonthlyCashFlowProfile: n } = z(), { onEvent: r } = M(), [t, l] = y.useState(o?.extra_payment ?? 0), d = t < 0 || t > 9999999999e-2, m = async () => {
|
|
945
962
|
o && (await n({ ...o, extra_payment: t }), o.extra_payment = t, r(v.DEBTS_SAVE_PAYDOWN_ACTION, {
|
|
946
963
|
user_guid: o?.user_guid
|
|
@@ -961,7 +978,7 @@ const ye = ({
|
|
|
961
978
|
secondaryText: B(o?.extra_payment, "0,0"),
|
|
962
979
|
zeroStateText: o?.extra_payment ? void 0 : a.add_extra_payment,
|
|
963
980
|
children: /* @__PURE__ */ e(
|
|
964
|
-
|
|
981
|
+
ae,
|
|
965
982
|
{
|
|
966
983
|
amount: t,
|
|
967
984
|
autoFocus: !0,
|
|
@@ -994,7 +1011,7 @@ const ye = ({
|
|
|
994
1011
|
/* @__PURE__ */ e(i, { bold: !0, textAlign: "right", variant: "Body", children: B(r, "0,0") })
|
|
995
1012
|
] }) })
|
|
996
1013
|
] });
|
|
997
|
-
}, yt =
|
|
1014
|
+
}, yt = S(_t), ft = ({ isOpen: a, onClose: o, sx: n }) => {
|
|
998
1015
|
const { debts: r } = C();
|
|
999
1016
|
return /* @__PURE__ */ e(
|
|
1000
1017
|
te,
|
|
@@ -1008,7 +1025,7 @@ const ye = ({
|
|
|
1008
1025
|
}
|
|
1009
1026
|
);
|
|
1010
1027
|
};
|
|
1011
|
-
function
|
|
1028
|
+
function gt(a, o) {
|
|
1012
1029
|
const n = (r) => {
|
|
1013
1030
|
if (typeof r == "number") return r;
|
|
1014
1031
|
if (r === "!" || r === "✓") return 1 / 0;
|
|
@@ -1016,7 +1033,7 @@ function xt(a, o) {
|
|
|
1016
1033
|
};
|
|
1017
1034
|
return n(a) - n(o);
|
|
1018
1035
|
}
|
|
1019
|
-
function
|
|
1036
|
+
function xt(a) {
|
|
1020
1037
|
return a.is_paid_off ? "✓" : a.priority === void 0 || a.is_impossible ? "!" : a.priority;
|
|
1021
1038
|
}
|
|
1022
1039
|
const wt = (a) => {
|
|
@@ -1028,7 +1045,7 @@ const wt = (a) => {
|
|
|
1028
1045
|
}, Ct = (a) => {
|
|
1029
1046
|
const o = String(a.formattedValue), n = wt(o);
|
|
1030
1047
|
return /* @__PURE__ */ e(
|
|
1031
|
-
|
|
1048
|
+
re,
|
|
1032
1049
|
{
|
|
1033
1050
|
sx: {
|
|
1034
1051
|
display: "flex",
|
|
@@ -1044,7 +1061,7 @@ const wt = (a) => {
|
|
|
1044
1061
|
children: /* @__PURE__ */ e(i, { color: n.text, fontWeight: 700, variant: "Small", children: o })
|
|
1045
1062
|
}
|
|
1046
1063
|
);
|
|
1047
|
-
},
|
|
1064
|
+
}, St = (a) => {
|
|
1048
1065
|
const o = a.row.account, n = je[o.account_type];
|
|
1049
1066
|
return /* @__PURE__ */ s(f, { alignItems: "center", flexDirection: "row", children: [
|
|
1050
1067
|
/* @__PURE__ */ e(
|
|
@@ -1059,7 +1076,7 @@ const wt = (a) => {
|
|
|
1059
1076
|
/* @__PURE__ */ e(i, { variant: "XSmall", children: n })
|
|
1060
1077
|
] })
|
|
1061
1078
|
] });
|
|
1062
|
-
},
|
|
1079
|
+
}, Dt = ({
|
|
1063
1080
|
sx: a = {},
|
|
1064
1081
|
debts: o,
|
|
1065
1082
|
hoveredDebtGuid: n,
|
|
@@ -1068,13 +1085,13 @@ const wt = (a) => {
|
|
|
1068
1085
|
}) => {
|
|
1069
1086
|
const l = j(), { onEvent: d } = M(), { isMobile: m } = X(), { debts: c } = C(), [h, p] = y.useState([
|
|
1070
1087
|
{ field: "priority", sort: "asc" }
|
|
1071
|
-
]),
|
|
1088
|
+
]), g = [
|
|
1072
1089
|
{
|
|
1073
1090
|
field: "priority",
|
|
1074
1091
|
headerName: c.table_column_priority,
|
|
1075
1092
|
renderHeader: G,
|
|
1076
1093
|
renderCell: Ct,
|
|
1077
|
-
sortComparator:
|
|
1094
|
+
sortComparator: gt,
|
|
1078
1095
|
sortable: !0,
|
|
1079
1096
|
hideSortIcons: !0,
|
|
1080
1097
|
type: "custom",
|
|
@@ -1087,7 +1104,7 @@ const wt = (a) => {
|
|
|
1087
1104
|
field: "account",
|
|
1088
1105
|
headerName: c.table_column_account,
|
|
1089
1106
|
renderHeader: G,
|
|
1090
|
-
renderCell:
|
|
1107
|
+
renderCell: St,
|
|
1091
1108
|
sortable: !1,
|
|
1092
1109
|
type: "custom",
|
|
1093
1110
|
align: "left",
|
|
@@ -1147,8 +1164,8 @@ const wt = (a) => {
|
|
|
1147
1164
|
minWidth: 122,
|
|
1148
1165
|
flex: 0.6
|
|
1149
1166
|
}
|
|
1150
|
-
],
|
|
1151
|
-
...
|
|
1167
|
+
], x = [
|
|
1168
|
+
...g.slice(0, 3),
|
|
1152
1169
|
{
|
|
1153
1170
|
field: "chevron",
|
|
1154
1171
|
headerName: "",
|
|
@@ -1164,13 +1181,13 @@ const wt = (a) => {
|
|
|
1164
1181
|
], E = y.useMemo(() => o.map((u, A) => ({
|
|
1165
1182
|
...u,
|
|
1166
1183
|
id: A,
|
|
1167
|
-
priority:
|
|
1184
|
+
priority: xt(u)
|
|
1168
1185
|
})), [o]), k = (u) => {
|
|
1169
1186
|
const Y = u.target.closest("[data-id]")?.getAttribute("data-id"), b = o[Number(Y)];
|
|
1170
1187
|
r?.(b?.guid ?? "");
|
|
1171
|
-
},
|
|
1188
|
+
}, D = (u) => E.find((A) => A.guid === u)?.id;
|
|
1172
1189
|
return /* @__PURE__ */ e(
|
|
1173
|
-
|
|
1190
|
+
re,
|
|
1174
1191
|
{
|
|
1175
1192
|
sx: {
|
|
1176
1193
|
height: "100dvh",
|
|
@@ -1183,7 +1200,7 @@ const wt = (a) => {
|
|
|
1183
1200
|
children: /* @__PURE__ */ e(
|
|
1184
1201
|
Ge,
|
|
1185
1202
|
{
|
|
1186
|
-
columns: m ?
|
|
1203
|
+
columns: m ? x : g,
|
|
1187
1204
|
disableColumnFilter: !0,
|
|
1188
1205
|
disableColumnMenu: !0,
|
|
1189
1206
|
hideFooter: !0,
|
|
@@ -1205,7 +1222,7 @@ const wt = (a) => {
|
|
|
1205
1222
|
sortModel: h,
|
|
1206
1223
|
sortingOrder: ["asc", "desc"],
|
|
1207
1224
|
sx: {
|
|
1208
|
-
[`& .MuiDataGrid-row[data-id="${
|
|
1225
|
+
[`& .MuiDataGrid-row[data-id="${D(n)}"]`]: {
|
|
1209
1226
|
backgroundColor: l.palette.mode === "light" ? "#f8f9fb" : "#1f2329",
|
|
1210
1227
|
filter: "brightness(98%)"
|
|
1211
1228
|
}
|
|
@@ -1239,7 +1256,7 @@ const wt = (a) => {
|
|
|
1239
1256
|
children: /* @__PURE__ */ e(ee, { name: l })
|
|
1240
1257
|
}
|
|
1241
1258
|
);
|
|
1242
|
-
}, Tt =
|
|
1259
|
+
}, Tt = S(({ buttonEl: a, onClose: o }) => {
|
|
1243
1260
|
const { onEvent: n } = M(), { debts: r } = C(), { selectedDebtPriority: t, setSelectedDebtPriority: l } = R(), d = !!a, m = [
|
|
1244
1261
|
{
|
|
1245
1262
|
priority: $.HIGHEST_INTEREST,
|
|
@@ -1271,7 +1288,7 @@ const wt = (a) => {
|
|
|
1271
1288
|
vertical: "top",
|
|
1272
1289
|
horizontal: "left"
|
|
1273
1290
|
},
|
|
1274
|
-
children: /* @__PURE__ */ e(
|
|
1291
|
+
children: /* @__PURE__ */ e(he, { children: m.map(({ priority: h, text: p }) => /* @__PURE__ */ s(
|
|
1275
1292
|
Xe,
|
|
1276
1293
|
{
|
|
1277
1294
|
onClick: () => c(h),
|
|
@@ -1291,14 +1308,14 @@ const wt = (a) => {
|
|
|
1291
1308
|
},
|
|
1292
1309
|
children: [
|
|
1293
1310
|
/* @__PURE__ */ e(i, { color: "inherit", variant: "Small", children: p }),
|
|
1294
|
-
t === h && /* @__PURE__ */ e(
|
|
1311
|
+
t === h && /* @__PURE__ */ e(ue, { color: "inherit", filled: !0, fontSize: "small" })
|
|
1295
1312
|
]
|
|
1296
1313
|
},
|
|
1297
1314
|
h
|
|
1298
1315
|
)) })
|
|
1299
1316
|
}
|
|
1300
1317
|
);
|
|
1301
|
-
}), At =
|
|
1318
|
+
}), At = S(() => {
|
|
1302
1319
|
const { onEvent: a } = M(), { debts: o } = C(), { selectedDebtPriority: n } = R(), [r, t] = y.useState(null), l = (h) => {
|
|
1303
1320
|
t(h.currentTarget), a(v.DEBTS_CLICK_PRIORITIZE);
|
|
1304
1321
|
}, d = () => {
|
|
@@ -1327,20 +1344,20 @@ const wt = (a) => {
|
|
|
1327
1344
|
let c = !1;
|
|
1328
1345
|
for (const [h, p] of r.entries()) {
|
|
1329
1346
|
if (p.balance <= 0.01) continue;
|
|
1330
|
-
const
|
|
1331
|
-
let
|
|
1332
|
-
h === 0 && (
|
|
1333
|
-
const u = Math.min(p.balance,
|
|
1347
|
+
const g = l[h].dataset, E = (p.interest_rate ?? 0) / 100 / 12, k = p.balance * E;
|
|
1348
|
+
let D = p.monthly_payment ?? 0;
|
|
1349
|
+
h === 0 && (D += n), p.balance += k;
|
|
1350
|
+
const u = Math.min(p.balance, D + d);
|
|
1334
1351
|
if (u <= k) {
|
|
1335
|
-
p.is_impossible = !0, l[h].is_impossible = !0, l[h].priority = void 0,
|
|
1352
|
+
p.is_impossible = !0, l[h].is_impossible = !0, l[h].priority = void 0, g.push({ x: new Date(t), y: p.balance });
|
|
1336
1353
|
continue;
|
|
1337
1354
|
}
|
|
1338
|
-
p.balance -= u, p.balance = p.balance < 0.01 ? 0 : p.balance,
|
|
1355
|
+
p.balance -= u, p.balance = p.balance < 0.01 ? 0 : p.balance, g.push({
|
|
1339
1356
|
x: new Date(t),
|
|
1340
1357
|
y: Math.max(0, p.balance),
|
|
1341
1358
|
payment: u,
|
|
1342
1359
|
extra: d
|
|
1343
|
-
}), p.balance <= 0 && (d +=
|
|
1360
|
+
}), p.balance <= 0 && (d += D, l[h].projected_payoff_date = new Date(t)), u > 0 && (c = !0);
|
|
1344
1361
|
}
|
|
1345
1362
|
c && t.setMonth(t.getMonth() + 1);
|
|
1346
1363
|
}
|
|
@@ -1349,7 +1366,7 @@ const wt = (a) => {
|
|
|
1349
1366
|
}), l.forEach((c) => {
|
|
1350
1367
|
c.priority = !c.is_paid_off && !c.is_impossible ? m++ : void 0;
|
|
1351
1368
|
}), l;
|
|
1352
|
-
}, It =
|
|
1369
|
+
}, It = S(({ onClick: a }) => {
|
|
1353
1370
|
const { debts: o } = C(), { isDesktop: n } = X(), { totalMonthlyPayments: r } = q(), { monthlyCashFlowProfile: t } = z(), l = r + Number(t?.extra_payment), d = n ? o.paydown_button_long : o.paydown_button_short;
|
|
1354
1371
|
return /* @__PURE__ */ e(
|
|
1355
1372
|
be,
|
|
@@ -1364,7 +1381,7 @@ const wt = (a) => {
|
|
|
1364
1381
|
}
|
|
1365
1382
|
);
|
|
1366
1383
|
}), Bt = ({ onBackClick: a, sx: o }) => {
|
|
1367
|
-
const [n, r] = y.useState(!1), [t, l] = y.useState(!1), [d, m] = y.useState(!1), [c, h] = y.useState(""), { isDesktop: p, isMobile:
|
|
1384
|
+
const [n, r] = y.useState(!1), [t, l] = y.useState(!1), [d, m] = y.useState(!1), [c, h] = y.useState(""), { isDesktop: p, isMobile: g } = X(), { debts: x } = C(), { onEvent: E } = M(), { isCopyLoaded: k, isInitialized: D, setSelectedAccounts: u } = Ae(), { setSelectedAccount: A } = Ie(), { selectedDebtPriority: V, setSelectedDebtChartData: Y } = R(), { visibleDebtAccounts: b } = Z(), { goalsLoaded: w, loadGoals: I, monthlyCashFlowProfile: P } = z(), { debts: N } = q(), H = y.useMemo(() => {
|
|
1368
1385
|
const F = P?.extra_payment ?? 0;
|
|
1369
1386
|
return Et(N, V, F);
|
|
1370
1387
|
}, [N, V, P]);
|
|
@@ -1373,68 +1390,68 @@ const wt = (a) => {
|
|
|
1373
1390
|
}, []), y.useEffect(() => {
|
|
1374
1391
|
u(b);
|
|
1375
1392
|
}, [b]), y.useEffect(() => {
|
|
1376
|
-
|
|
1377
|
-
}, [
|
|
1378
|
-
const
|
|
1379
|
-
const F = b.find((Q) => Q.guid === c),
|
|
1380
|
-
F && A(F),
|
|
1381
|
-
}, fe = () => E(v.DEBTS_CLICK_FILTER),
|
|
1393
|
+
D && I().finally();
|
|
1394
|
+
}, [D]);
|
|
1395
|
+
const oe = (F) => h(F), ne = () => {
|
|
1396
|
+
const F = b.find((Q) => Q.guid === c), ie = H.find((Q) => Q.guid === c);
|
|
1397
|
+
F && A(F), ie && Y(ie), r(!0);
|
|
1398
|
+
}, fe = () => E(v.DEBTS_CLICK_FILTER), ge = () => {
|
|
1382
1399
|
m(!0), E(v.DEBTS_CLICK_SNOWBALL_CTA);
|
|
1383
|
-
},
|
|
1400
|
+
}, xe = () => {
|
|
1384
1401
|
l(!0), E(v.DEBTS_CLICK_PAYDOWN);
|
|
1385
1402
|
};
|
|
1386
|
-
return !w || !k || !
|
|
1403
|
+
return !w || !k || !D ? /* @__PURE__ */ e(Ye, {}) : /* @__PURE__ */ s(
|
|
1387
1404
|
Re,
|
|
1388
1405
|
{
|
|
1389
1406
|
accountOptions: b,
|
|
1390
1407
|
actions: [
|
|
1391
1408
|
/* @__PURE__ */ e(At, {}, "prioritize-debts"),
|
|
1392
|
-
/* @__PURE__ */ e(It, { onClick:
|
|
1409
|
+
/* @__PURE__ */ e(It, { onClick: xe }, "extra-paydown")
|
|
1393
1410
|
],
|
|
1394
1411
|
onAccountsFilterClick: fe,
|
|
1395
1412
|
onBackClick: a,
|
|
1396
1413
|
sx: o,
|
|
1397
|
-
title:
|
|
1414
|
+
title: x.title,
|
|
1398
1415
|
children: [
|
|
1399
1416
|
/* @__PURE__ */ s(f, { sx: { px: p ? "48px" : "24px" }, children: [
|
|
1400
1417
|
/* @__PURE__ */ s(
|
|
1401
1418
|
f,
|
|
1402
1419
|
{
|
|
1403
1420
|
sx: {
|
|
1404
|
-
alignItems:
|
|
1405
|
-
flexDirection:
|
|
1406
|
-
mx:
|
|
1421
|
+
alignItems: g ? "flex-start" : "flex-end",
|
|
1422
|
+
flexDirection: g ? "column" : "row",
|
|
1423
|
+
mx: g ? "-12px" : 0
|
|
1407
1424
|
},
|
|
1408
1425
|
children: [
|
|
1409
1426
|
/* @__PURE__ */ e(
|
|
1410
1427
|
ye,
|
|
1411
1428
|
{
|
|
1412
1429
|
debts: H,
|
|
1413
|
-
height:
|
|
1430
|
+
height: g ? 250 : void 0,
|
|
1414
1431
|
hoveredDebtGuid: c,
|
|
1415
|
-
onClickArea:
|
|
1416
|
-
onHoverArea:
|
|
1417
|
-
sx: { mr:
|
|
1432
|
+
onClickArea: ne,
|
|
1433
|
+
onHoverArea: oe,
|
|
1434
|
+
sx: { mr: g ? "4px" : "-48px" }
|
|
1418
1435
|
}
|
|
1419
1436
|
),
|
|
1420
1437
|
/* @__PURE__ */ e(
|
|
1421
1438
|
qe,
|
|
1422
1439
|
{
|
|
1423
1440
|
debts: H,
|
|
1424
|
-
onClickCta:
|
|
1425
|
-
sx: { mb:
|
|
1441
|
+
onClickCta: ge,
|
|
1442
|
+
sx: { mb: g ? "0px" : "64px" }
|
|
1426
1443
|
}
|
|
1427
1444
|
)
|
|
1428
1445
|
]
|
|
1429
1446
|
}
|
|
1430
1447
|
),
|
|
1431
|
-
/* @__PURE__ */ e(f, { sx: { mx:
|
|
1432
|
-
|
|
1448
|
+
/* @__PURE__ */ e(f, { sx: { mx: g ? "-24px" : 0 }, children: /* @__PURE__ */ e(
|
|
1449
|
+
Dt,
|
|
1433
1450
|
{
|
|
1434
1451
|
debts: H,
|
|
1435
1452
|
hoveredDebtGuid: c,
|
|
1436
|
-
onClickRow:
|
|
1437
|
-
onHoverRow:
|
|
1453
|
+
onClickRow: ne,
|
|
1454
|
+
onHoverRow: oe
|
|
1438
1455
|
}
|
|
1439
1456
|
) })
|
|
1440
1457
|
] }),
|
|
@@ -1450,10 +1467,10 @@ const wt = (a) => {
|
|
|
1450
1467
|
]
|
|
1451
1468
|
}
|
|
1452
1469
|
);
|
|
1453
|
-
},
|
|
1470
|
+
}, xr = S(Bt);
|
|
1454
1471
|
export {
|
|
1455
1472
|
ye as DebtsChart,
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1473
|
+
Sr as DebtsStore,
|
|
1474
|
+
Dt as DebtsTable,
|
|
1475
|
+
xr as DebtsWidget
|
|
1459
1476
|
};
|