@mx-cartographer/experiences 7.2.15-alpha-ram4-finstrong-testing → 7.2.15-alpha-ram5-finstrong-testing
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/dist/finstrong/index.es.js +171 -169
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import { PieChart as _n, BarPlot as hn } from "@mui/x-charts";
|
|
|
6
6
|
import { TrendingUp as gt, ArrowRightAlt as mn, TrendingDown as gn, AccountBalance as yt, ChevronRight as Z, MultilineChart as bt, CreditCard as Ke, CheckCircle as yn, Cancel as bn, Savings as fn, ContentCopy as xn, Add as ft, Cardiology as Sn, Payments as Cn, CalendarMonth as vn, ExpandMore as wn } from "@mxenabled/mx-icons";
|
|
7
7
|
import { P as k, H3 as N, Text as I, InstitutionLogo as xt, H2 as Pe, MerchantLogo as kn, Icon as Mn } from "@mxenabled/mxui";
|
|
8
8
|
import { g as Dn, a as In, r as rt, b as An, c as je, d as St, C as ve, e as we, f as Tn, h as On, i as Rn, j as Ct, k as at, l as Fn, m as it, n as Pn, o as vt, p as Bn, q as wt, s as Te, t as Ln, u as Wn, v as $n, w as zn, A as ee, x as En, P as Gn } from "../FinstrongStore-BbnA6Crl.mjs";
|
|
9
|
-
import { y as
|
|
9
|
+
import { y as ji, F as Yi } from "../FinstrongStore-BbnA6Crl.mjs";
|
|
10
10
|
import * as st from "d3";
|
|
11
11
|
import { observer as S } from "mobx-react-lite";
|
|
12
12
|
import { u as v, b as j, p as J, z as F, q as Hn, a as kt, d as Me, m as Ye, g as Nn, f as Kn, j as Ve, h as jn, i as Yn } from "../hooks-C41HAxM5.mjs";
|
|
@@ -51,28 +51,30 @@ import { ResponsiveChartContainer as po } from "@mui/x-charts/ResponsiveChartCon
|
|
|
51
51
|
import { useSpring as uo, animated as lt } from "@react-spring/web";
|
|
52
52
|
import { startOfMonth as Lt } from "date-fns/startOfMonth";
|
|
53
53
|
import { endOfMonth as Wt } from "date-fns/endOfMonth";
|
|
54
|
-
import {
|
|
55
|
-
import {
|
|
56
|
-
import {
|
|
54
|
+
import { startOfDay as _o } from "date-fns/startOfDay";
|
|
55
|
+
import { endOfDay as ho } from "date-fns/endOfDay";
|
|
56
|
+
import { g as mo, S as go, b as yo } from "../SpendingLegend-CopEyF2t.mjs";
|
|
57
|
+
import { formatISO as bo } from "date-fns/formatISO";
|
|
58
|
+
import { fromUnixTime as fo } from "date-fns/fromUnixTime";
|
|
57
59
|
import { startOfToday as dt } from "date-fns/startOfToday";
|
|
58
|
-
import { subDays as
|
|
59
|
-
import { c as
|
|
60
|
-
import { LocalizationProvider as
|
|
60
|
+
import { subDays as xo } from "date-fns/subDays";
|
|
61
|
+
import { c as So, d as pt, S as Co, i as vo } from "../ManageIncome-n6qSYGHO.mjs";
|
|
62
|
+
import { LocalizationProvider as wo, DatePicker as ko, StaticDatePicker as Mo } from "@mui/x-date-pickers";
|
|
61
63
|
import { AdapterDateFns as $t } from "@mui/x-date-pickers/AdapterDateFnsV3";
|
|
62
|
-
import { R as
|
|
63
|
-
import { LocalizationProvider as
|
|
64
|
-
import { format as
|
|
65
|
-
import
|
|
66
|
-
import
|
|
67
|
-
import
|
|
68
|
-
import
|
|
69
|
-
import
|
|
70
|
-
import
|
|
71
|
-
import
|
|
72
|
-
import
|
|
73
|
-
import
|
|
74
|
-
import
|
|
75
|
-
const
|
|
64
|
+
import { R as Do } from "../RecurringSettings-BwnDPthJ.mjs";
|
|
65
|
+
import { LocalizationProvider as Io } from "@mui/x-date-pickers/LocalizationProvider";
|
|
66
|
+
import { format as Ao } from "date-fns/format";
|
|
67
|
+
import To from "@mui/lab/Timeline";
|
|
68
|
+
import Oo, { timelineItemClasses as Ro } from "@mui/lab/TimelineItem";
|
|
69
|
+
import Fo from "@mui/lab/TimelineConnector";
|
|
70
|
+
import Po from "@mui/lab/TimelineContent";
|
|
71
|
+
import Bo from "@mui/lab/TimelineDot";
|
|
72
|
+
import Lo from "@mui/lab/TimelineSeparator";
|
|
73
|
+
import Wo from "@mui/material/Accordion";
|
|
74
|
+
import $o from "@mui/material/AccordionDetails";
|
|
75
|
+
import zo from "@mui/material/AccordionSummary";
|
|
76
|
+
import Eo from "@mui/material/CardHeader";
|
|
77
|
+
const Go = ({
|
|
76
78
|
dialScoreData: t,
|
|
77
79
|
dataIndex: r,
|
|
78
80
|
arcColor: n,
|
|
@@ -178,7 +180,7 @@ const zo = ({
|
|
|
178
180
|
},
|
|
179
181
|
slots: {
|
|
180
182
|
pieArc: (he) => /* @__PURE__ */ e(
|
|
181
|
-
|
|
183
|
+
Go,
|
|
182
184
|
{
|
|
183
185
|
arcColor: he.color,
|
|
184
186
|
arcRadius: t,
|
|
@@ -325,7 +327,7 @@ const zo = ({
|
|
|
325
327
|
}
|
|
326
328
|
);
|
|
327
329
|
}
|
|
328
|
-
),
|
|
330
|
+
), Ho = S(
|
|
329
331
|
({
|
|
330
332
|
arcRadius: t,
|
|
331
333
|
size: r = "L",
|
|
@@ -464,7 +466,7 @@ const zo = ({
|
|
|
464
466
|
) : null;
|
|
465
467
|
};
|
|
466
468
|
var _e = /* @__PURE__ */ ((t) => (t.SpendLessThanYouMake = "spendLessThanYouMake", t.PayBillsOnTime = "payBillsOnTime", t.SaveEnoughToLiveOn = "saveEnoughToLiveOn", t.MaintainEmergencySavings = "maintainEmergencySavings", t.HaveManageableDebt = "haveManageableDebt", t.HaveAGoodCreditScore = "haveAGoodCreditScore", t))(_e || {});
|
|
467
|
-
const
|
|
469
|
+
const No = ({ isOpen: t, onClose: r }) => {
|
|
468
470
|
const { common: n, finstrong: o } = v(), { isMobile: c } = Ue(), { updateUser: a, user: s } = J(), [d, l] = m.useState(s.credit_score || 0), p = !isNaN(d), h = () => {
|
|
469
471
|
r(), setTimeout(() => l(s.credit_score || 0), 300);
|
|
470
472
|
}, _ = () => {
|
|
@@ -510,10 +512,10 @@ const Go = ({ isOpen: t, onClose: r }) => {
|
|
|
510
512
|
)
|
|
511
513
|
}
|
|
512
514
|
);
|
|
513
|
-
}, Gt = S(
|
|
515
|
+
}, Gt = S(No), ze = {
|
|
514
516
|
credit_over_time_title: "Your Credit Over Time",
|
|
515
517
|
credit_over_time_zero_state_desc: "Add your credit score to start building a full picture of your credit health."
|
|
516
|
-
},
|
|
518
|
+
}, Ko = ({ chartFor: t }) => {
|
|
517
519
|
const r = E(), n = r.palette.mode === "dark", { monthlySummaries: o } = F(), { user: c } = J(), { finstrong: a } = v(), [s, { width: d }] = It(), l = {
|
|
518
520
|
savingsOverTime: {
|
|
519
521
|
icon: /* @__PURE__ */ e(gt, { size: 48, sx: { marginBottom: 8 } }),
|
|
@@ -596,13 +598,13 @@ const Go = ({ isOpen: t, onClose: r }) => {
|
|
|
596
598
|
/* @__PURE__ */ e(k, { fontWeight: 600, variant: "body1", children: l.title }),
|
|
597
599
|
/* @__PURE__ */ e(k, { align: "center", variant: "subtitle1", children: l.description })
|
|
598
600
|
] }) });
|
|
599
|
-
}, Je = S(
|
|
601
|
+
}, Je = S(Ko), jo = {
|
|
600
602
|
updated_score: "Updated Score"
|
|
601
|
-
},
|
|
603
|
+
}, Yo = () => {
|
|
602
604
|
const { healthScoreChange: t } = F(), { user: r } = J(), { availableWidth: n } = Hn(), { isSmallMobile: o } = Ue(n), [c, a] = m.useState(!1);
|
|
603
605
|
return /* @__PURE__ */ i(u, { sx: { gap: 28 }, children: [
|
|
604
606
|
/* @__PURE__ */ e(
|
|
605
|
-
|
|
607
|
+
Ho,
|
|
606
608
|
{
|
|
607
609
|
arcRadius: o ? 124 : 154,
|
|
608
610
|
footerCenterContent: t,
|
|
@@ -610,11 +612,11 @@ const Go = ({ isOpen: t, onClose: r }) => {
|
|
|
610
612
|
size: o ? "M" : "L"
|
|
611
613
|
}
|
|
612
614
|
),
|
|
613
|
-
/* @__PURE__ */ e($, { onClick: () => a(!0), variant: "contained", children:
|
|
615
|
+
/* @__PURE__ */ e($, { onClick: () => a(!0), variant: "contained", children: jo.updated_score }),
|
|
614
616
|
/* @__PURE__ */ e(Gt, { isOpen: c, onClose: () => a(!1) }),
|
|
615
617
|
/* @__PURE__ */ e(Je, { chartFor: "creditOverTime" })
|
|
616
618
|
] });
|
|
617
|
-
},
|
|
619
|
+
}, Vo = S(Yo), Le = ({ status: t }) => {
|
|
618
620
|
const { finstrong: r } = v(), n = On(Rn[t]), o = {
|
|
619
621
|
GOOD: r.key_indicators_good,
|
|
620
622
|
FAIR: r.key_indicators_fair,
|
|
@@ -642,15 +644,15 @@ const Go = ({ isOpen: t, onClose: r }) => {
|
|
|
642
644
|
variant: "filled"
|
|
643
645
|
}
|
|
644
646
|
);
|
|
645
|
-
},
|
|
647
|
+
}, Xo = {
|
|
646
648
|
keep_strong_credit_score: "Keep a Strong Credit Score"
|
|
647
|
-
},
|
|
649
|
+
}, qo = () => {
|
|
648
650
|
const { user: t } = J(), r = Ct(t.credit_score ?? null);
|
|
649
651
|
return /* @__PURE__ */ i(u, { sx: { flexDirection: "row", justifyContent: "space-between" }, children: [
|
|
650
|
-
/* @__PURE__ */ e(N, { children:
|
|
652
|
+
/* @__PURE__ */ e(N, { children: Xo.keep_strong_credit_score }),
|
|
651
653
|
/* @__PURE__ */ e(Le, { status: r })
|
|
652
654
|
] });
|
|
653
|
-
},
|
|
655
|
+
}, Uo = S(qo), Zo = ({
|
|
654
656
|
additionalContent: t,
|
|
655
657
|
connectTitle: r,
|
|
656
658
|
connectDescription: n,
|
|
@@ -706,7 +708,7 @@ const Go = ({ isOpen: t, onClose: r }) => {
|
|
|
706
708
|
)
|
|
707
709
|
] })
|
|
708
710
|
] }) : /* @__PURE__ */ e(Q, {});
|
|
709
|
-
}, Ht = S(
|
|
711
|
+
}, Ht = S(Zo), Jo = ({
|
|
710
712
|
onClick: t,
|
|
711
713
|
shouldShowBalance: r = !0,
|
|
712
714
|
loadAccounts: n
|
|
@@ -761,7 +763,7 @@ const Go = ({ isOpen: t, onClose: r }) => {
|
|
|
761
763
|
l
|
|
762
764
|
);
|
|
763
765
|
}) }) : null;
|
|
764
|
-
}, Nt = S(
|
|
766
|
+
}, Nt = S(Jo), Qo = ({ loadAccounts: t, loadMoreLabel: r }) => {
|
|
765
767
|
const n = E(), { config: o } = kt(), { connect: c, finstrong: a } = v(), { accounts: s } = v(), { selectedAccounts: d } = j(), [l, p] = m.useState(!1), [h, _] = m.useState(!1), b = m.useMemo(
|
|
766
768
|
() => d.filter(
|
|
767
769
|
(y) => t ? t.includes(y.account_type) : !0
|
|
@@ -826,7 +828,7 @@ const Go = ({ isOpen: t, onClose: r }) => {
|
|
|
826
828
|
}
|
|
827
829
|
)
|
|
828
830
|
] });
|
|
829
|
-
}, Kt = S(
|
|
831
|
+
}, Kt = S(Qo), Se = ({ balance: t, title: r, sx: n }) => /* @__PURE__ */ i(
|
|
830
832
|
u,
|
|
831
833
|
{
|
|
832
834
|
sx: {
|
|
@@ -864,21 +866,21 @@ const B = {
|
|
|
864
866
|
suggested_goal: "Suggested Goal: $25,000",
|
|
865
867
|
weekly: "Weekly",
|
|
866
868
|
years: "Years"
|
|
867
|
-
},
|
|
869
|
+
}, er = [
|
|
868
870
|
{ id: U.Monthly, label: B.monthly },
|
|
869
871
|
{ id: U.BiWeekly, label: B.bi_weekly },
|
|
870
872
|
{ id: U.Weekly, label: B.weekly },
|
|
871
873
|
{ id: U.Daily, label: B.daily }
|
|
872
|
-
],
|
|
874
|
+
], tr = {
|
|
873
875
|
[U.Monthly]: B.estimated_period_monthly,
|
|
874
876
|
[U.BiWeekly]: B.estimated_period_bi_weekly,
|
|
875
877
|
[U.Weekly]: B.estimated_period_weekly,
|
|
876
878
|
[U.Daily]: B.estimated_period_daily
|
|
877
|
-
},
|
|
879
|
+
}, nr = [
|
|
878
880
|
{ id: ke.Months, label: B.months },
|
|
879
881
|
{ id: ke.Years, label: B.years },
|
|
880
882
|
{ id: ke.Days, label: B.days }
|
|
881
|
-
],
|
|
883
|
+
], or = ({ total: t }) => {
|
|
882
884
|
const r = Math.ceil((t + 1) / 1e3) * 1e3, [n, o] = m.useState(0), [c, a] = m.useState(at(t)), [s, d] = m.useState(
|
|
883
885
|
at(t)
|
|
884
886
|
), [l, p] = m.useState(r), [h, _] = m.useState(Fn(t)), [b, f] = m.useState(ke.Months);
|
|
@@ -912,7 +914,7 @@ const B = {
|
|
|
912
914
|
/* @__PURE__ */ e(I, { variant: "h2", children: L(n, "0,0") }),
|
|
913
915
|
/* @__PURE__ */ i(I, { sx: { alignSelf: "end", height: 24 }, variant: "subtitle2", children: [
|
|
914
916
|
"/",
|
|
915
|
-
|
|
917
|
+
tr[c]
|
|
916
918
|
] })
|
|
917
919
|
] }),
|
|
918
920
|
title: B.estimated_contribution
|
|
@@ -939,7 +941,7 @@ const B = {
|
|
|
939
941
|
{
|
|
940
942
|
label: B.how_often_contribute,
|
|
941
943
|
onChange: d,
|
|
942
|
-
options:
|
|
944
|
+
options: er,
|
|
943
945
|
required: !0,
|
|
944
946
|
value: s
|
|
945
947
|
}
|
|
@@ -980,17 +982,17 @@ const B = {
|
|
|
980
982
|
}
|
|
981
983
|
}
|
|
982
984
|
},
|
|
983
|
-
children: /* @__PURE__ */ e(ct, { label: "", onChange: f, options:
|
|
985
|
+
children: /* @__PURE__ */ e(ct, { label: "", onChange: f, options: nr, value: b })
|
|
984
986
|
}
|
|
985
987
|
)
|
|
986
988
|
] }),
|
|
987
989
|
/* @__PURE__ */ e($, { fullWidth: !0, onClick: w, type: "submit", variant: "contained", children: B.calculate })
|
|
988
990
|
] }) }) });
|
|
989
|
-
},
|
|
991
|
+
}, rr = S(or), Ae = {
|
|
990
992
|
connect_accounts: "Connect Accounts",
|
|
991
993
|
more_accounts: "More Accounts",
|
|
992
994
|
your_savings: "Your Savings"
|
|
993
|
-
},
|
|
995
|
+
}, ar = () => {
|
|
994
996
|
const { savingsAccounts: t } = Me(), [r, n] = m.useState(!1), o = m.useMemo(
|
|
995
997
|
() => t.reduce((c, a) => c + (a.balance ?? 0), 0),
|
|
996
998
|
[t]
|
|
@@ -1000,7 +1002,7 @@ const B = {
|
|
|
1000
1002
|
/* @__PURE__ */ e(Se, { balance: o, title: Ae.your_savings }),
|
|
1001
1003
|
t.length ? /* @__PURE__ */ e(Kt, { loadAccounts: [He.SAVINGS], loadMoreLabel: Ae.connect_accounts }) : /* @__PURE__ */ e(eo, { onClick: () => n(!0), variant: "contained", children: Ae.connect_accounts })
|
|
1002
1004
|
] }) }),
|
|
1003
|
-
/* @__PURE__ */ e(
|
|
1005
|
+
/* @__PURE__ */ e(rr, { total: o }),
|
|
1004
1006
|
/* @__PURE__ */ e(
|
|
1005
1007
|
oe,
|
|
1006
1008
|
{
|
|
@@ -1010,7 +1012,7 @@ const B = {
|
|
|
1010
1012
|
}
|
|
1011
1013
|
)
|
|
1012
1014
|
] });
|
|
1013
|
-
},
|
|
1015
|
+
}, ir = S(ar), We = S(
|
|
1014
1016
|
({ label: t, value: r, status: n, bottomComponent: o, statusBarData: c = [] }) => {
|
|
1015
1017
|
const a = {
|
|
1016
1018
|
GOOD: {
|
|
@@ -1070,14 +1072,14 @@ const B = {
|
|
|
1070
1072
|
}
|
|
1071
1073
|
);
|
|
1072
1074
|
}
|
|
1073
|
-
),
|
|
1075
|
+
), sr = {
|
|
1074
1076
|
sticky_label: "You have saved"
|
|
1075
|
-
},
|
|
1077
|
+
}, cr = ["$0", "$250", "$500", "$750", "$1k"], lr = () => {
|
|
1076
1078
|
const { healthScore: t } = F(), r = Math.round(t.emergency_savings_on_hand ?? NaN) || null, n = Pn(r), o = vt(r);
|
|
1077
1079
|
return /* @__PURE__ */ e(
|
|
1078
1080
|
We,
|
|
1079
1081
|
{
|
|
1080
|
-
bottomComponent: /* @__PURE__ */ e(u, { sx: { flexDirection: "row", justifyContent: "space-between" }, children:
|
|
1082
|
+
bottomComponent: /* @__PURE__ */ e(u, { sx: { flexDirection: "row", justifyContent: "space-between" }, children: cr.map((c) => /* @__PURE__ */ i(u, { sx: { alignItems: "center", height: 24, width: 30 }, children: [
|
|
1081
1083
|
/* @__PURE__ */ e(
|
|
1082
1084
|
ne,
|
|
1083
1085
|
{
|
|
@@ -1091,7 +1093,7 @@ const B = {
|
|
|
1091
1093
|
),
|
|
1092
1094
|
/* @__PURE__ */ e(I, { variant: "caption", children: c })
|
|
1093
1095
|
] }, c)) }),
|
|
1094
|
-
label:
|
|
1096
|
+
label: sr.sticky_label,
|
|
1095
1097
|
status: o,
|
|
1096
1098
|
statusBarData: [
|
|
1097
1099
|
{
|
|
@@ -1101,7 +1103,7 @@ const B = {
|
|
|
1101
1103
|
value: L(r ?? 0, "0,0.00")
|
|
1102
1104
|
}
|
|
1103
1105
|
);
|
|
1104
|
-
},
|
|
1106
|
+
}, dr = S(lr), ut = 65, _t = 34, pr = ({
|
|
1105
1107
|
transactions: t,
|
|
1106
1108
|
bgcolor: r,
|
|
1107
1109
|
height: n = "calc(100dvh - 36px)",
|
|
@@ -1175,7 +1177,7 @@ const B = {
|
|
|
1175
1177
|
]
|
|
1176
1178
|
}
|
|
1177
1179
|
) }) });
|
|
1178
|
-
},
|
|
1180
|
+
}, ur = S(pr), $e = ({
|
|
1179
1181
|
transactions: t = [],
|
|
1180
1182
|
amountColor: r = "success.main",
|
|
1181
1183
|
amountPosition: n = "center",
|
|
@@ -1275,12 +1277,12 @@ const B = {
|
|
|
1275
1277
|
isOpen: l,
|
|
1276
1278
|
onClose: () => p(!1),
|
|
1277
1279
|
title: d.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_transactions,
|
|
1278
|
-
children: /* @__PURE__ */ e(
|
|
1280
|
+
children: /* @__PURE__ */ e(ur, { transactions: t })
|
|
1279
1281
|
}
|
|
1280
1282
|
)
|
|
1281
1283
|
] })
|
|
1282
1284
|
] });
|
|
1283
|
-
},
|
|
1285
|
+
}, _r = () => {
|
|
1284
1286
|
const {
|
|
1285
1287
|
finstrong: {
|
|
1286
1288
|
key_indicators_spend: { pay_bills_on_time_drawer: t }
|
|
@@ -1330,7 +1332,7 @@ const B = {
|
|
|
1330
1332
|
]
|
|
1331
1333
|
}
|
|
1332
1334
|
) });
|
|
1333
|
-
},
|
|
1335
|
+
}, hr = S(_r), mr = () => {
|
|
1334
1336
|
const { healthScore: t } = F(), { finstrong: r } = v(), { key_indicators_spend: n } = r, { pay_bills_on_time_drawer: o } = n, c = Bn(t.spending_fee_transaction_count);
|
|
1335
1337
|
return /* @__PURE__ */ i(
|
|
1336
1338
|
u,
|
|
@@ -1354,7 +1356,7 @@ const B = {
|
|
|
1354
1356
|
]
|
|
1355
1357
|
}
|
|
1356
1358
|
);
|
|
1357
|
-
},
|
|
1359
|
+
}, gr = S(mr), yr = () => {
|
|
1358
1360
|
const { savingsAndCheckingAccountsBalance: t } = Me(), { finstrong: r } = v();
|
|
1359
1361
|
return /* @__PURE__ */ i(u, { gap: 16, sx: { p: 16 }, children: [
|
|
1360
1362
|
/* @__PURE__ */ e(
|
|
@@ -1372,7 +1374,7 @@ const B = {
|
|
|
1372
1374
|
}
|
|
1373
1375
|
)
|
|
1374
1376
|
] });
|
|
1375
|
-
},
|
|
1377
|
+
}, br = S(yr), fr = () => {
|
|
1376
1378
|
const { finstrong: t } = v(), { healthScore: r, allTransactions: n, loadSpendTransactions: o, loadDebtSpend: c } = F(), { isInitialized: a } = j();
|
|
1377
1379
|
m.useEffect(() => {
|
|
1378
1380
|
a && (o().finally(), c().finally());
|
|
@@ -1391,7 +1393,7 @@ const B = {
|
|
|
1391
1393
|
),
|
|
1392
1394
|
/* @__PURE__ */ e($e, { amountColor: "text.primary", transactions: s })
|
|
1393
1395
|
] }) : /* @__PURE__ */ e(Q, {});
|
|
1394
|
-
},
|
|
1396
|
+
}, xr = S(fr), Sr = () => {
|
|
1395
1397
|
const [t, r] = m.useState(0), { finstrong: n } = v();
|
|
1396
1398
|
return /* @__PURE__ */ i(z, { children: [
|
|
1397
1399
|
/* @__PURE__ */ i(K, { children: [
|
|
@@ -1424,12 +1426,12 @@ const B = {
|
|
|
1424
1426
|
]
|
|
1425
1427
|
}
|
|
1426
1428
|
),
|
|
1427
|
-
/* @__PURE__ */ e(ue, { index: 0, name: "available-details", value: t, children: /* @__PURE__ */ e(
|
|
1428
|
-
/* @__PURE__ */ e(ue, { index: 1, name: "spending-details", value: t, children: /* @__PURE__ */ e(
|
|
1429
|
+
/* @__PURE__ */ e(ue, { index: 0, name: "available-details", value: t, children: /* @__PURE__ */ e(br, {}) }),
|
|
1430
|
+
/* @__PURE__ */ e(ue, { index: 1, name: "spending-details", value: t, children: /* @__PURE__ */ e(xr, {}) })
|
|
1429
1431
|
] }),
|
|
1430
1432
|
/* @__PURE__ */ e(Je, { chartFor: "savingsOverTime" })
|
|
1431
1433
|
] });
|
|
1432
|
-
},
|
|
1434
|
+
}, Cr = S(Sr), vr = () => {
|
|
1433
1435
|
const { finstrong: t } = v(), { healthScore: r } = F(), n = r.months_of_cash_on_hand, o = wt(n ? n * 30 : null), c = 183 / 6, a = Math.floor(n), s = Math.round((n - a) * c), d = n / 6 * 100;
|
|
1434
1436
|
return /* @__PURE__ */ e(
|
|
1435
1437
|
We,
|
|
@@ -1479,7 +1481,7 @@ const B = {
|
|
|
1479
1481
|
value: Y(t.key_indicators_save.drawer_progress_bar_value, a, s)
|
|
1480
1482
|
}
|
|
1481
1483
|
);
|
|
1482
|
-
},
|
|
1484
|
+
}, wr = S(vr), kr = () => {
|
|
1483
1485
|
const { healthScore: t } = F(), { finstrong: r } = v(), n = Te(t.debt_to_income_ratio) ?? 0, o = Object.keys(t).length === 0, a = ((s) => o ? "MISSING" : s <= 30 ? "GOOD" : s >= 31 && s <= 39 ? "FAIR" : s >= 40 ? "OFF_TRACK" : "MISSING")(n);
|
|
1484
1486
|
return /* @__PURE__ */ e(
|
|
1485
1487
|
We,
|
|
@@ -1559,7 +1561,7 @@ const B = {
|
|
|
1559
1561
|
value: L(t.ninety_day_debt_spend, "0,0.00")
|
|
1560
1562
|
}
|
|
1561
1563
|
);
|
|
1562
|
-
},
|
|
1564
|
+
}, Mr = S(kr), Dr = () => {
|
|
1563
1565
|
const { healthScore: t, allTransactions: r } = F(), { connect: n, finstrong: o } = v(), [c, a] = m.useState(!1);
|
|
1564
1566
|
return /* @__PURE__ */ i(u, { gap: 16, sx: { p: 16 }, children: [
|
|
1565
1567
|
/* @__PURE__ */ e(
|
|
@@ -1592,7 +1594,7 @@ const B = {
|
|
|
1592
1594
|
}
|
|
1593
1595
|
)
|
|
1594
1596
|
] });
|
|
1595
|
-
},
|
|
1597
|
+
}, Ir = S(Dr), Ar = () => {
|
|
1596
1598
|
const { allTransactions: t, healthScore: r } = F(), { connect: n, finstrong: o } = v(), [c, a] = m.useState(!1);
|
|
1597
1599
|
return /* @__PURE__ */ i(u, { gap: 16, sx: { p: 16 }, children: [
|
|
1598
1600
|
/* @__PURE__ */ e(
|
|
@@ -1631,7 +1633,7 @@ const B = {
|
|
|
1631
1633
|
}
|
|
1632
1634
|
)
|
|
1633
1635
|
] });
|
|
1634
|
-
},
|
|
1636
|
+
}, Tr = S(Ar), Or = ({
|
|
1635
1637
|
color: t,
|
|
1636
1638
|
data: r,
|
|
1637
1639
|
series: n,
|
|
@@ -1815,7 +1817,7 @@ const B = {
|
|
|
1815
1817
|
bar: (g) => {
|
|
1816
1818
|
const { ownerState: x, style: M, ...W } = g;
|
|
1817
1819
|
return /* @__PURE__ */ e(
|
|
1818
|
-
|
|
1820
|
+
Or,
|
|
1819
1821
|
{
|
|
1820
1822
|
...W,
|
|
1821
1823
|
color: x.color,
|
|
@@ -1877,7 +1879,7 @@ const B = {
|
|
|
1877
1879
|
]
|
|
1878
1880
|
}
|
|
1879
1881
|
);
|
|
1880
|
-
},
|
|
1882
|
+
}, Rr = () => {
|
|
1881
1883
|
const { loadDebtSpend: t, loadIncome: r, monthlySummaries: n } = F(), { isInitialized: o } = j(), [c, a] = m.useState(0), { finstrong: s } = v();
|
|
1882
1884
|
return m.useEffect(() => {
|
|
1883
1885
|
o && (t().finally(), r().finally());
|
|
@@ -1921,7 +1923,7 @@ const B = {
|
|
|
1921
1923
|
index: 0,
|
|
1922
1924
|
name: "income-details",
|
|
1923
1925
|
value: c,
|
|
1924
|
-
children: /* @__PURE__ */ e(
|
|
1926
|
+
children: /* @__PURE__ */ e(Ir, {})
|
|
1925
1927
|
}
|
|
1926
1928
|
),
|
|
1927
1929
|
/* @__PURE__ */ e(
|
|
@@ -1931,7 +1933,7 @@ const B = {
|
|
|
1931
1933
|
index: 1,
|
|
1932
1934
|
name: "debt-payment-details",
|
|
1933
1935
|
value: c,
|
|
1934
|
-
children: /* @__PURE__ */ e(
|
|
1936
|
+
children: /* @__PURE__ */ e(Tr, {})
|
|
1935
1937
|
}
|
|
1936
1938
|
)
|
|
1937
1939
|
] }),
|
|
@@ -1982,7 +1984,7 @@ const B = {
|
|
|
1982
1984
|
)
|
|
1983
1985
|
] })
|
|
1984
1986
|
] });
|
|
1985
|
-
},
|
|
1987
|
+
}, Fr = S(Rr), Pr = () => {
|
|
1986
1988
|
const { healthScore: t } = F(), { finstrong: r } = v(), n = Te(t.spend_to_income_ratio) ?? 0, o = Object.keys(t).length === 0, a = ((d) => o ? "MISSING" : d < 100 ? "GOOD" : d >= 100 && d <= 109 ? "FAIR" : d >= 110 ? "OFF_TRACK" : "MISSING")(n), s = {
|
|
1987
1989
|
GOOD: [{ percentage: `${n}%` }],
|
|
1988
1990
|
FAIR: [{ percentage: "100%" }, { percentage: `${n - 100}%` }],
|
|
@@ -2021,17 +2023,17 @@ const B = {
|
|
|
2021
2023
|
value: o ? "$0" : L(t.ninety_day_spend, "0,0.00")
|
|
2022
2024
|
}
|
|
2023
2025
|
);
|
|
2024
|
-
},
|
|
2026
|
+
}, Br = S(Pr), Lr = () => {
|
|
2025
2027
|
const t = E(), { monthlySummaries: r, handleFinstrongWidgetPrimaryCtaClick: n } = F(), { finstrong: o, goals: c, spending: a } = v(), { selectedAccounts: s } = j(), { categories: d, dateRangeCategoryTotals: l, loadDateRangeCategoryTotals: p } = Ye(), { appDataStore: h } = Kn(), [_, b] = m.useState("");
|
|
2026
2028
|
m.useEffect(() => {
|
|
2027
2029
|
p(
|
|
2028
2030
|
s,
|
|
2029
|
-
Lt(/* @__PURE__ */ new Date()),
|
|
2030
|
-
Wt(/* @__PURE__ */ new Date())
|
|
2031
|
+
_o(Lt(/* @__PURE__ */ new Date())),
|
|
2032
|
+
ho(Wt(/* @__PURE__ */ new Date()))
|
|
2031
2033
|
).finally();
|
|
2032
2034
|
}, [s]);
|
|
2033
2035
|
const f = m.useMemo(
|
|
2034
|
-
() =>
|
|
2036
|
+
() => mo(d, c, t, l),
|
|
2035
2037
|
[d, l]
|
|
2036
2038
|
);
|
|
2037
2039
|
console.log(JSON.parse(JSON.stringify(f)), "spendingData");
|
|
@@ -2120,7 +2122,7 @@ const B = {
|
|
|
2120
2122
|
),
|
|
2121
2123
|
/* @__PURE__ */ i(u, { sx: { gap: 12, py: 16, flexDirection: "row", justifyContent: "center" }, children: [
|
|
2122
2124
|
/* @__PURE__ */ e(
|
|
2123
|
-
|
|
2125
|
+
go,
|
|
2124
2126
|
{
|
|
2125
2127
|
data: f,
|
|
2126
2128
|
onSelected: w,
|
|
@@ -2129,7 +2131,7 @@ const B = {
|
|
|
2129
2131
|
}
|
|
2130
2132
|
),
|
|
2131
2133
|
/* @__PURE__ */ e(
|
|
2132
|
-
|
|
2134
|
+
yo,
|
|
2133
2135
|
{
|
|
2134
2136
|
data: f,
|
|
2135
2137
|
onSelected: w,
|
|
@@ -2161,11 +2163,11 @@ const B = {
|
|
|
2161
2163
|
}
|
|
2162
2164
|
)
|
|
2163
2165
|
] });
|
|
2164
|
-
},
|
|
2166
|
+
}, Wr = S(Lr), Ee = {
|
|
2165
2167
|
credit_score_description: "Credit scores usually go from 300 to 850. Think of 700+ as good, 800+ as awesome, and below 600 as needing work. You can often check yours for free with your bank or credit card company.",
|
|
2166
2168
|
maintain_emergency_savings_description: "With at least $1,000 saved, you're ready for surprises, freeing you to save for major goals.",
|
|
2167
2169
|
maintain_emergency_savings_title: "Maintain Emergency Savings"
|
|
2168
|
-
},
|
|
2170
|
+
}, $r = ({
|
|
2169
2171
|
drawerFor: t,
|
|
2170
2172
|
isOpen: r,
|
|
2171
2173
|
onClose: n
|
|
@@ -2174,8 +2176,8 @@ const B = {
|
|
|
2174
2176
|
spendLessThanYouMake: {
|
|
2175
2177
|
title: o.key_indicators_spend.spend_less_than_you_make_drawer.spend_less_than_you_make_title,
|
|
2176
2178
|
description: o.key_indicators_spend.spend_less_than_you_make_drawer.spend_less_than_you_make_description,
|
|
2177
|
-
stickyComponent: /* @__PURE__ */ e(
|
|
2178
|
-
content: /* @__PURE__ */ e(
|
|
2179
|
+
stickyComponent: /* @__PURE__ */ e(Br, {}),
|
|
2180
|
+
content: /* @__PURE__ */ e(Wr, {}),
|
|
2179
2181
|
drawerType: "connectDrawer",
|
|
2180
2182
|
connectTitle: o.connect_your_accounts,
|
|
2181
2183
|
connectDescription: o.connect_more_accounts_to_unlock_a_fuller_understanding_of_your_finances
|
|
@@ -2183,16 +2185,16 @@ const B = {
|
|
|
2183
2185
|
payBillsOnTime: {
|
|
2184
2186
|
title: o.key_indicators_spend.pay_bills_on_time_drawer.pay_bills_on_time_title,
|
|
2185
2187
|
description: o.key_indicators_spend.pay_bills_on_time_drawer.pay_bills_on_time_description,
|
|
2186
|
-
stickyComponent: /* @__PURE__ */ e(
|
|
2187
|
-
content: /* @__PURE__ */ e(
|
|
2188
|
+
stickyComponent: /* @__PURE__ */ e(gr, {}),
|
|
2189
|
+
content: /* @__PURE__ */ e(hr, {}),
|
|
2188
2190
|
drawerType: "connectDrawer",
|
|
2189
2191
|
connectTitle: o.connect_your_accounts,
|
|
2190
2192
|
connectDescription: o.connect_more_accounts_to_unlock_a_fuller_understanding_of_your_finances
|
|
2191
2193
|
},
|
|
2192
2194
|
maintainEmergencySavings: {
|
|
2193
|
-
content: /* @__PURE__ */ e(
|
|
2195
|
+
content: /* @__PURE__ */ e(ir, {}),
|
|
2194
2196
|
description: Ee.maintain_emergency_savings_description,
|
|
2195
|
-
stickyComponent: /* @__PURE__ */ e(
|
|
2197
|
+
stickyComponent: /* @__PURE__ */ e(dr, {}),
|
|
2196
2198
|
title: Ee.maintain_emergency_savings_title,
|
|
2197
2199
|
drawerType: "connectDrawer",
|
|
2198
2200
|
connectTitle: o.connect_your_accounts,
|
|
@@ -2201,23 +2203,23 @@ const B = {
|
|
|
2201
2203
|
haveManageableDebt: {
|
|
2202
2204
|
title: o.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_title,
|
|
2203
2205
|
description: o.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_description,
|
|
2204
|
-
stickyComponent: /* @__PURE__ */ e(
|
|
2205
|
-
content: /* @__PURE__ */ e(
|
|
2206
|
+
stickyComponent: /* @__PURE__ */ e(Mr, {}),
|
|
2207
|
+
content: /* @__PURE__ */ e(Fr, {}),
|
|
2206
2208
|
drawerType: "connectDrawer",
|
|
2207
2209
|
connectTitle: o.dont_see_all_your_accounts,
|
|
2208
2210
|
connectDescription: o.connect_more_accounts_to_view_more_accurate_financial_picture
|
|
2209
2211
|
},
|
|
2210
2212
|
haveAGoodCreditScore: {
|
|
2211
|
-
title: /* @__PURE__ */ e(
|
|
2213
|
+
title: /* @__PURE__ */ e(Uo, {}),
|
|
2212
2214
|
description: Ee.credit_score_description,
|
|
2213
2215
|
stickyComponent: null,
|
|
2214
|
-
content: /* @__PURE__ */ e(
|
|
2216
|
+
content: /* @__PURE__ */ e(Vo, {})
|
|
2215
2217
|
},
|
|
2216
2218
|
saveEnoughToLiveOn: {
|
|
2217
2219
|
title: o.key_indicators_save.drawer_title,
|
|
2218
2220
|
description: o.key_indicators_save.drawer_description,
|
|
2219
|
-
stickyComponent: /* @__PURE__ */ e(
|
|
2220
|
-
content: /* @__PURE__ */ e(
|
|
2221
|
+
stickyComponent: /* @__PURE__ */ e(wr, {}),
|
|
2222
|
+
content: /* @__PURE__ */ e(Cr, {}),
|
|
2221
2223
|
drawerType: "connectDrawer",
|
|
2222
2224
|
connectTitle: o.dont_see_all_your_accounts,
|
|
2223
2225
|
connectDescription: o.connect_more_accounts_to_view_more_accurate_financial_picture
|
|
@@ -2239,7 +2241,7 @@ const B = {
|
|
|
2239
2241
|
children: /* @__PURE__ */ e(u, { sx: { gap: 16 }, children: a.content })
|
|
2240
2242
|
}
|
|
2241
2243
|
);
|
|
2242
|
-
},
|
|
2244
|
+
}, zr = S($r), xe = ({
|
|
2243
2245
|
drawerFor: t,
|
|
2244
2246
|
title: r,
|
|
2245
2247
|
description: n,
|
|
@@ -2275,7 +2277,7 @@ const B = {
|
|
|
2275
2277
|
}
|
|
2276
2278
|
),
|
|
2277
2279
|
/* @__PURE__ */ e(
|
|
2278
|
-
|
|
2280
|
+
zr,
|
|
2279
2281
|
{
|
|
2280
2282
|
drawerFor: t,
|
|
2281
2283
|
isOpen: c,
|
|
@@ -2283,7 +2285,7 @@ const B = {
|
|
|
2283
2285
|
}
|
|
2284
2286
|
)
|
|
2285
2287
|
] });
|
|
2286
|
-
},
|
|
2288
|
+
}, Er = () => {
|
|
2287
2289
|
const { finstrong: t } = v(), { key_indicators_spend: r } = t, { healthScore: n } = F(), o = (s) => {
|
|
2288
2290
|
const d = $n(s), l = {
|
|
2289
2291
|
GOOD: r.ratio_good_description,
|
|
@@ -2328,7 +2330,7 @@ const B = {
|
|
|
2328
2330
|
}
|
|
2329
2331
|
)
|
|
2330
2332
|
] });
|
|
2331
|
-
},
|
|
2333
|
+
}, Gr = S(Er), Hr = () => {
|
|
2332
2334
|
const { healthScore: t } = F(), { finstrong: r } = v(), { key_indicators_save: n } = r, o = (d) => {
|
|
2333
2335
|
const l = wt(d), p = {
|
|
2334
2336
|
GOOD: n.days_of_cash_good_description,
|
|
@@ -2386,7 +2388,7 @@ const B = {
|
|
|
2386
2388
|
}
|
|
2387
2389
|
)
|
|
2388
2390
|
] });
|
|
2389
|
-
},
|
|
2391
|
+
}, Nr = S(Hr), Kr = () => {
|
|
2390
2392
|
const { healthScore: t } = F(), { finstrong: r } = v(), { key_indicators_borrow: n } = r, { user: o } = J(), c = (l) => {
|
|
2391
2393
|
const p = zn(l), h = {
|
|
2392
2394
|
GOOD: n.manage_debit_good_description,
|
|
@@ -2438,7 +2440,7 @@ const B = {
|
|
|
2438
2440
|
}
|
|
2439
2441
|
)
|
|
2440
2442
|
] });
|
|
2441
|
-
},
|
|
2443
|
+
}, jr = S(Kr), Yr = () => {
|
|
2442
2444
|
const [t, r] = m.useState(0), { finstrong: n } = v();
|
|
2443
2445
|
return /* @__PURE__ */ i(z, { children: [
|
|
2444
2446
|
/* @__PURE__ */ i(
|
|
@@ -2493,11 +2495,11 @@ const B = {
|
|
|
2493
2495
|
]
|
|
2494
2496
|
}
|
|
2495
2497
|
),
|
|
2496
|
-
/* @__PURE__ */ e(ue, { index: 0, name: "spend-details", value: t, children: /* @__PURE__ */ e(
|
|
2497
|
-
/* @__PURE__ */ e(ue, { index: 1, name: "save-details", value: t, children: /* @__PURE__ */ e(
|
|
2498
|
-
/* @__PURE__ */ e(ue, { index: 2, name: "borrow-details", value: t, children: /* @__PURE__ */ e(
|
|
2498
|
+
/* @__PURE__ */ e(ue, { index: 0, name: "spend-details", value: t, children: /* @__PURE__ */ e(Gr, {}) }),
|
|
2499
|
+
/* @__PURE__ */ e(ue, { index: 1, name: "save-details", value: t, children: /* @__PURE__ */ e(Nr, {}) }),
|
|
2500
|
+
/* @__PURE__ */ e(ue, { index: 2, name: "borrow-details", value: t, children: /* @__PURE__ */ e(jr, {}) })
|
|
2499
2501
|
] });
|
|
2500
|
-
},
|
|
2502
|
+
}, Vr = S(Yr), Xr = ({ onClick: t }) => {
|
|
2501
2503
|
const { finstrong: r } = v(), { isCopyLoaded: n } = j();
|
|
2502
2504
|
return n ? /* @__PURE__ */ i(u, { sx: { alignItems: "center", gap: 12, pt: 12, pb: 32 }, children: [
|
|
2503
2505
|
/* @__PURE__ */ e(bt, { size: 48 }),
|
|
@@ -2522,9 +2524,9 @@ const B = {
|
|
|
2522
2524
|
}
|
|
2523
2525
|
) })
|
|
2524
2526
|
] }) : /* @__PURE__ */ e(Q, {});
|
|
2525
|
-
},
|
|
2527
|
+
}, qr = S(Xr), Ur = {
|
|
2526
2528
|
add_more_income: "Add More Income"
|
|
2527
|
-
},
|
|
2529
|
+
}, Zr = ({
|
|
2528
2530
|
firstDay: t,
|
|
2529
2531
|
frequency: r,
|
|
2530
2532
|
secondDay: n,
|
|
@@ -2548,7 +2550,7 @@ const B = {
|
|
|
2548
2550
|
), p;
|
|
2549
2551
|
}, []) }),
|
|
2550
2552
|
/* @__PURE__ */ e(
|
|
2551
|
-
|
|
2553
|
+
So,
|
|
2552
2554
|
{
|
|
2553
2555
|
firstDay: t,
|
|
2554
2556
|
frequency: r,
|
|
@@ -2566,20 +2568,20 @@ const B = {
|
|
|
2566
2568
|
fullWidth: !0,
|
|
2567
2569
|
onClick: () => c({ step: O.MonthlyIncome, type: "main" }),
|
|
2568
2570
|
startIcon: /* @__PURE__ */ e(ft, {}),
|
|
2569
|
-
children:
|
|
2571
|
+
children: Ur.add_more_income
|
|
2570
2572
|
}
|
|
2571
2573
|
) })
|
|
2572
|
-
] }),
|
|
2574
|
+
] }), Jr = S(Zr), Qr = {
|
|
2573
2575
|
select_date: "Select Date"
|
|
2574
|
-
},
|
|
2576
|
+
}, ea = ({ selectedDate: t, setSelectedDate: r }) => {
|
|
2575
2577
|
const n = E(), o = (c) => {
|
|
2576
2578
|
r(Math.floor(new Date(c).getTime() / 1e3));
|
|
2577
2579
|
};
|
|
2578
|
-
return /* @__PURE__ */ e(C, { sx: { p: 24 }, children: /* @__PURE__ */ e(
|
|
2579
|
-
|
|
2580
|
+
return /* @__PURE__ */ e(C, { sx: { p: 24 }, children: /* @__PURE__ */ e(wo, { dateAdapter: $t, children: /* @__PURE__ */ e(
|
|
2581
|
+
ko,
|
|
2580
2582
|
{
|
|
2581
2583
|
disableFuture: !0,
|
|
2582
|
-
label:
|
|
2584
|
+
label: Qr.select_date,
|
|
2583
2585
|
onChange: o,
|
|
2584
2586
|
slotProps: {
|
|
2585
2587
|
nextIconButton: {
|
|
@@ -2605,9 +2607,9 @@ const B = {
|
|
|
2605
2607
|
value: t ? new Date(t * 1e3) : null
|
|
2606
2608
|
}
|
|
2607
2609
|
) }) });
|
|
2608
|
-
},
|
|
2610
|
+
}, ta = S(ea), na = {
|
|
2609
2611
|
credit_score: "Credit Score"
|
|
2610
|
-
},
|
|
2612
|
+
}, oa = ({ creditScore: t, setCreditScore: r }) => {
|
|
2611
2613
|
const n = !isNaN(t);
|
|
2612
2614
|
return /* @__PURE__ */ e(C, { sx: { p: 24 }, children: /* @__PURE__ */ e(
|
|
2613
2615
|
Oe,
|
|
@@ -2619,12 +2621,12 @@ const B = {
|
|
|
2619
2621
|
noValidate: !0,
|
|
2620
2622
|
pattern: "[0-9]*"
|
|
2621
2623
|
},
|
|
2622
|
-
label:
|
|
2624
|
+
label: na.credit_score,
|
|
2623
2625
|
onChange: (o) => r(Number(o.target.value)),
|
|
2624
2626
|
value: n ? t : ""
|
|
2625
2627
|
}
|
|
2626
2628
|
) });
|
|
2627
|
-
},
|
|
2629
|
+
}, ra = S(oa), Yt = ({ value: t, completeCopy: r }) => /* @__PURE__ */ i(u, { sx: { gap: 8 }, children: [
|
|
2628
2630
|
/* @__PURE__ */ e(u, { sx: { flexDirection: "row", gap: 4 }, children: Array.from({ length: 4 }).map((n, o) => /* @__PURE__ */ e(
|
|
2629
2631
|
C,
|
|
2630
2632
|
{
|
|
@@ -2642,7 +2644,7 @@ const B = {
|
|
|
2642
2644
|
"% ",
|
|
2643
2645
|
r
|
|
2644
2646
|
] })
|
|
2645
|
-
] }),
|
|
2647
|
+
] }), aa = ({
|
|
2646
2648
|
completeCopy: t,
|
|
2647
2649
|
primaryText: r,
|
|
2648
2650
|
secondaryText: n,
|
|
@@ -2674,7 +2676,7 @@ const B = {
|
|
|
2674
2676
|
credit_score_secondary: "Your ability to borrow money is a key part of your financial strength score.",
|
|
2675
2677
|
do_it_later: "Do It Later",
|
|
2676
2678
|
next: "Next"
|
|
2677
|
-
},
|
|
2679
|
+
}, ia = ({ isOpen: t, onClose: r }) => {
|
|
2678
2680
|
const { visibleAccounts: n } = Me(), { calculateHealthScore: o } = F(), { finstrong: c } = v(), { setSelectedAccounts: a } = j(), { addRepeatingTransaction: s, setDateRange: d } = Ve(), { filter: l, setFilter: p, transactions: h } = jn(), { user: _, userProfile: b, updateUser: f, updateUserProfile: w } = J(), [y, D] = m.useState(_.credit_score || 0), [g, x] = m.useState(
|
|
2679
2681
|
ht
|
|
2680
2682
|
), [M, W] = m.useState(1), [G, H] = m.useState(Ot.EveryMonth), [T, V] = m.useState([]), [re, ae] = m.useState(!1), [Ce, ie] = m.useState(!1), [X, se] = m.useState(_.birthday), [ce, he] = m.useState(15), [q, Qe] = m.useState("");
|
|
@@ -2684,7 +2686,7 @@ const B = {
|
|
|
2684
2686
|
p({
|
|
2685
2687
|
accounts: n.map((A) => A.guid),
|
|
2686
2688
|
dateRange: {
|
|
2687
|
-
start:
|
|
2689
|
+
start: xo(/* @__PURE__ */ new Date(), 90),
|
|
2688
2690
|
end: /* @__PURE__ */ new Date()
|
|
2689
2691
|
},
|
|
2690
2692
|
custom: pt
|
|
@@ -2705,7 +2707,7 @@ const B = {
|
|
|
2705
2707
|
}, [g.step, le, T.length, _.birthday, _.credit_score]), qt = (A) => {
|
|
2706
2708
|
p({
|
|
2707
2709
|
...l,
|
|
2708
|
-
custom: (R) => A ?
|
|
2710
|
+
custom: (R) => A ? vo(R, A) : pt(R)
|
|
2709
2711
|
});
|
|
2710
2712
|
}, Ut = {
|
|
2711
2713
|
[O.ConnectAccounts]: {
|
|
@@ -2716,7 +2718,7 @@ const B = {
|
|
|
2716
2718
|
},
|
|
2717
2719
|
[O.MonthlyIncome]: {
|
|
2718
2720
|
detail: /* @__PURE__ */ e(
|
|
2719
|
-
|
|
2721
|
+
Jr,
|
|
2720
2722
|
{
|
|
2721
2723
|
firstDay: M,
|
|
2722
2724
|
frequency: G,
|
|
@@ -2737,7 +2739,7 @@ const B = {
|
|
|
2737
2739
|
),
|
|
2738
2740
|
detailActionContent: P.confirm_income,
|
|
2739
2741
|
main: /* @__PURE__ */ e(
|
|
2740
|
-
|
|
2742
|
+
Co,
|
|
2741
2743
|
{
|
|
2742
2744
|
onSearch: qt,
|
|
2743
2745
|
onSelected: (A) => {
|
|
@@ -2750,13 +2752,13 @@ const B = {
|
|
|
2750
2752
|
secondaryText: P.add_income_secondary
|
|
2751
2753
|
},
|
|
2752
2754
|
[O.Birthday]: {
|
|
2753
|
-
main: /* @__PURE__ */ e(
|
|
2755
|
+
main: /* @__PURE__ */ e(ta, { selectedDate: X, setSelectedDate: se }),
|
|
2754
2756
|
mainActionContent: P.next,
|
|
2755
2757
|
primaryText: P.birthday_primary,
|
|
2756
2758
|
secondaryText: P.birthday_secondary
|
|
2757
2759
|
},
|
|
2758
2760
|
[O.CreditScore]: {
|
|
2759
|
-
main: /* @__PURE__ */ e(
|
|
2761
|
+
main: /* @__PURE__ */ e(ra, { creditScore: y, setCreditScore: D }),
|
|
2760
2762
|
mainActionContent: P.next,
|
|
2761
2763
|
primaryText: P.credit_score_primary,
|
|
2762
2764
|
secondaryText: P.credit_score_secondary
|
|
@@ -2819,13 +2821,13 @@ const B = {
|
|
|
2819
2821
|
merchant_guid: cn,
|
|
2820
2822
|
payee: ln,
|
|
2821
2823
|
transaction_type: dn
|
|
2822
|
-
} = R, pn = Qn(ot,
|
|
2824
|
+
} = R, pn = Qn(ot, fo(de)), un = {
|
|
2823
2825
|
account_guid: ge,
|
|
2824
2826
|
amount: Ie,
|
|
2825
2827
|
created_by: 0,
|
|
2826
2828
|
description: ln || on || rn,
|
|
2827
2829
|
merchant_guid: cn,
|
|
2828
|
-
predicted_occurs_on:
|
|
2830
|
+
predicted_occurs_on: bo(pn, { representation: "date" }),
|
|
2829
2831
|
recurrence_day: an,
|
|
2830
2832
|
recurrence_type: ot,
|
|
2831
2833
|
repeating_transaction_type: Rt.Income,
|
|
@@ -2862,7 +2864,7 @@ const B = {
|
|
|
2862
2864
|
] }),
|
|
2863
2865
|
me && !re && /* @__PURE__ */ i(m.Fragment, { children: [
|
|
2864
2866
|
/* @__PURE__ */ e(
|
|
2865
|
-
|
|
2867
|
+
aa,
|
|
2866
2868
|
{
|
|
2867
2869
|
completeCopy: c.complete,
|
|
2868
2870
|
primaryText: me.primaryText,
|
|
@@ -2888,11 +2890,11 @@ const B = {
|
|
|
2888
2890
|
}
|
|
2889
2891
|
)
|
|
2890
2892
|
] });
|
|
2891
|
-
},
|
|
2893
|
+
}, sa = S(ia), Ge = {
|
|
2892
2894
|
onboarding_title: "Financial Strength Starts Here",
|
|
2893
2895
|
onboarding_subtitle: "By analyzing your spending and saving, FinStrong provides a score and guidance to help you improve your financial habits.",
|
|
2894
2896
|
get_started: "Get Started"
|
|
2895
|
-
},
|
|
2897
|
+
}, ca = () => {
|
|
2896
2898
|
const [t, r] = m.useState(!1);
|
|
2897
2899
|
return /* @__PURE__ */ i(m.Fragment, { children: [
|
|
2898
2900
|
/* @__PURE__ */ i(
|
|
@@ -2917,9 +2919,9 @@ const B = {
|
|
|
2917
2919
|
]
|
|
2918
2920
|
}
|
|
2919
2921
|
),
|
|
2920
|
-
/* @__PURE__ */ e(
|
|
2922
|
+
/* @__PURE__ */ e(sa, { isOpen: t, onClose: () => r(!1) })
|
|
2921
2923
|
] });
|
|
2922
|
-
},
|
|
2924
|
+
}, la = ({ isOpen: t, onClose: r }) => {
|
|
2923
2925
|
const { finstrong: n } = v(), o = E(), { updateUser: c, user: a } = J(), [s, d] = m.useState(a.birthday), l = (h) => {
|
|
2924
2926
|
d(Math.floor(new Date(h).getTime() / 1e3));
|
|
2925
2927
|
};
|
|
@@ -2933,8 +2935,8 @@ const B = {
|
|
|
2933
2935
|
},
|
|
2934
2936
|
onSecondaryAction: r,
|
|
2935
2937
|
title: n.date_of_birth,
|
|
2936
|
-
children: /* @__PURE__ */ e(
|
|
2937
|
-
|
|
2938
|
+
children: /* @__PURE__ */ e(Io, { dateAdapter: $t, children: /* @__PURE__ */ e(
|
|
2939
|
+
Mo,
|
|
2938
2940
|
{
|
|
2939
2941
|
disableFuture: !0,
|
|
2940
2942
|
onChange: l,
|
|
@@ -2968,7 +2970,7 @@ const B = {
|
|
|
2968
2970
|
) })
|
|
2969
2971
|
}
|
|
2970
2972
|
);
|
|
2971
|
-
},
|
|
2973
|
+
}, da = S(la), pa = ({ isOpen: t, onClose: r }) => {
|
|
2972
2974
|
const { visibleFinstrongAccounts: n } = Me(), {
|
|
2973
2975
|
accounts: o,
|
|
2974
2976
|
common: c,
|
|
@@ -3044,10 +3046,10 @@ const B = {
|
|
|
3044
3046
|
isOpen: p === ee.MonthlyIncome,
|
|
3045
3047
|
onClose: () => h(null),
|
|
3046
3048
|
title: c.settings,
|
|
3047
|
-
children: /* @__PURE__ */ e(
|
|
3049
|
+
children: /* @__PURE__ */ e(Do, {})
|
|
3048
3050
|
}
|
|
3049
3051
|
),
|
|
3050
|
-
/* @__PURE__ */ e(
|
|
3052
|
+
/* @__PURE__ */ e(da, { isOpen: p === ee.DateOfBirth, onClose: () => h(null) }),
|
|
3051
3053
|
/* @__PURE__ */ e(Gt, { isOpen: p === ee.CreditScore, onClose: () => h(null) }),
|
|
3052
3054
|
/* @__PURE__ */ e(
|
|
3053
3055
|
Mt,
|
|
@@ -3058,16 +3060,16 @@ const B = {
|
|
|
3058
3060
|
}
|
|
3059
3061
|
)
|
|
3060
3062
|
] });
|
|
3061
|
-
},
|
|
3063
|
+
}, ua = S(pa), mt = ({
|
|
3062
3064
|
content: t,
|
|
3063
3065
|
islast: r = !1
|
|
3064
|
-
}) => /* @__PURE__ */ i(
|
|
3065
|
-
/* @__PURE__ */ i(
|
|
3066
|
-
/* @__PURE__ */ e(
|
|
3067
|
-
!r && /* @__PURE__ */ e(
|
|
3066
|
+
}) => /* @__PURE__ */ i(Oo, { sx: { minHeight: 0 }, children: [
|
|
3067
|
+
/* @__PURE__ */ i(Lo, { children: [
|
|
3068
|
+
/* @__PURE__ */ e(Bo, { sx: { bgcolor: "divider", borderWidth: 1, p: 3 } }),
|
|
3069
|
+
!r && /* @__PURE__ */ e(Fo, { sx: { bgcolor: "divider", width: 0.1 } })
|
|
3068
3070
|
] }),
|
|
3069
|
-
/* @__PURE__ */ e(
|
|
3070
|
-
] }),
|
|
3071
|
+
/* @__PURE__ */ e(Po, { sx: { pb: 16, pl: 12, pr: 0, pt: 5 }, children: /* @__PURE__ */ e(k, { fontSize: 13, fontWeight: 400, variant: "subtitle2", children: t }) })
|
|
3072
|
+
] }), _a = ({ report: t }) => {
|
|
3071
3073
|
const { finstrong: r } = v(), { score_history_drawer_timeline: n } = r, {
|
|
3072
3074
|
health_score_point_difference: o,
|
|
3073
3075
|
newer_credit_score: c,
|
|
@@ -3077,7 +3079,7 @@ const B = {
|
|
|
3077
3079
|
older_health_score: l,
|
|
3078
3080
|
newer_health_score: p,
|
|
3079
3081
|
newer_score_calculated_at: h
|
|
3080
|
-
} = t, _ =
|
|
3082
|
+
} = t, _ = Ao(new Date(h), "MMM d"), b = () => o === 0 ? "info.lighter" : o > 0 ? "success.lighter" : "error.lighter", f = () => o === 0 ? Y(n.stayed_at, l) : o > 0 ? n.less_spending : n.more_spending, w = () => {
|
|
3081
3083
|
if (o === 0) return null;
|
|
3082
3084
|
const y = o > 0 ? n.up_from : n.down_from, D = Y(y, l, p);
|
|
3083
3085
|
return /* @__PURE__ */ i(z, { children: [
|
|
@@ -3125,10 +3127,10 @@ const B = {
|
|
|
3125
3127
|
}
|
|
3126
3128
|
) }),
|
|
3127
3129
|
o !== 0 && /* @__PURE__ */ e(C, { sx: { color: "text.secondary", pb: 8, pl: 32, pr: 16, pt: 12 }, children: /* @__PURE__ */ i(
|
|
3128
|
-
|
|
3130
|
+
To,
|
|
3129
3131
|
{
|
|
3130
3132
|
sx: {
|
|
3131
|
-
[`& .${
|
|
3133
|
+
[`& .${Ro.root}:before`]: {
|
|
3132
3134
|
flex: 0,
|
|
3133
3135
|
padding: 0
|
|
3134
3136
|
},
|
|
@@ -3161,7 +3163,7 @@ const B = {
|
|
|
3161
3163
|
}
|
|
3162
3164
|
) })
|
|
3163
3165
|
] }) });
|
|
3164
|
-
},
|
|
3166
|
+
}, ha = S(_a), ma = ({ isOpen: t, onClose: r }) => {
|
|
3165
3167
|
const n = E(), { finstrong: o } = v(), { isCopyLoaded: c, isInitialized: a } = j(), { healthScore: s, healthScoreChangeReports: d, augmentedChartData: l } = F();
|
|
3166
3168
|
if (!c || !a) return /* @__PURE__ */ e(Q, {});
|
|
3167
3169
|
const p = je(s.health_score || 0, o), h = d.slice().reverse();
|
|
@@ -3210,10 +3212,10 @@ const B = {
|
|
|
3210
3212
|
]
|
|
3211
3213
|
}
|
|
3212
3214
|
),
|
|
3213
|
-
children: /* @__PURE__ */ e(u, { sx: { gap: 16 }, children: h.map((_, b) => /* @__PURE__ */ e(
|
|
3215
|
+
children: /* @__PURE__ */ e(u, { sx: { gap: 16 }, children: h.map((_, b) => /* @__PURE__ */ e(ha, { report: _ }, b)) })
|
|
3214
3216
|
}
|
|
3215
3217
|
);
|
|
3216
|
-
},
|
|
3218
|
+
}, ga = S(ma), ya = ({ copy: t }) => {
|
|
3217
3219
|
const r = E(), n = [
|
|
3218
3220
|
r.palette.chartMono.chartMono5,
|
|
3219
3221
|
r.palette.chartMono.chartMono4,
|
|
@@ -3273,7 +3275,7 @@ const B = {
|
|
|
3273
3275
|
)) })
|
|
3274
3276
|
] })
|
|
3275
3277
|
] });
|
|
3276
|
-
},
|
|
3278
|
+
}, ba = ({ isOpen: t, onClose: r }) => {
|
|
3277
3279
|
const { finstrong: n } = v(), { isCopyLoaded: o } = j();
|
|
3278
3280
|
return o ? /* @__PURE__ */ e(te, { isOpen: t, onClose: r, title: n.score_rubric, children: /* @__PURE__ */ i(u, { sx: { gap: 36, p: 24 }, children: [
|
|
3279
3281
|
/* @__PURE__ */ i(u, { sx: { gap: 20 }, children: [
|
|
@@ -3281,7 +3283,7 @@ const B = {
|
|
|
3281
3283
|
/* @__PURE__ */ e(N, { sx: { textWrap: "wrap" }, children: n.your_path_to_financial_freedom }),
|
|
3282
3284
|
/* @__PURE__ */ e(k, { variant: "subtitle1", children: n.finstrong_freedom_description })
|
|
3283
3285
|
] }),
|
|
3284
|
-
/* @__PURE__ */ e(C, { children: /* @__PURE__ */ e(
|
|
3286
|
+
/* @__PURE__ */ e(C, { children: /* @__PURE__ */ e(ya, { copy: n }) })
|
|
3285
3287
|
] }),
|
|
3286
3288
|
/* @__PURE__ */ i(u, { sx: { gap: 12 }, children: [
|
|
3287
3289
|
/* @__PURE__ */ e(I, { sx: { fontWeight: 600 }, variant: "body1", children: n.how_do_we_do_this }),
|
|
@@ -3353,11 +3355,11 @@ const B = {
|
|
|
3353
3355
|
)
|
|
3354
3356
|
] })
|
|
3355
3357
|
] }) }) : /* @__PURE__ */ e(Q, {});
|
|
3356
|
-
},
|
|
3358
|
+
}, fa = S(ba), xa = S(() => {
|
|
3357
3359
|
const [t, r] = m.useState(!1), n = E(), [o, { width: c }] = It(), { finstrong: a } = v(), { isCopyLoaded: s, isInitialized: d } = j(), { healthScore: l, healthScoreChange: p } = F(), h = n.palette.mode === "dark", _ = je(l?.health_score, a);
|
|
3358
3360
|
return !s || !d ? /* @__PURE__ */ e(Q, {}) : /* @__PURE__ */ i(K, { ref: o, sx: { p: 16 }, children: [
|
|
3359
3361
|
/* @__PURE__ */ e(
|
|
3360
|
-
|
|
3362
|
+
Eo,
|
|
3361
3363
|
{
|
|
3362
3364
|
action: /* @__PURE__ */ e(
|
|
3363
3365
|
$,
|
|
@@ -3393,7 +3395,7 @@ const B = {
|
|
|
3393
3395
|
}
|
|
3394
3396
|
) }),
|
|
3395
3397
|
l?.health_score ? /* @__PURE__ */ i(
|
|
3396
|
-
|
|
3398
|
+
Wo,
|
|
3397
3399
|
{
|
|
3398
3400
|
sx: {
|
|
3399
3401
|
px: 16,
|
|
@@ -3408,7 +3410,7 @@ const B = {
|
|
|
3408
3410
|
},
|
|
3409
3411
|
children: [
|
|
3410
3412
|
/* @__PURE__ */ e(
|
|
3411
|
-
|
|
3413
|
+
zo,
|
|
3412
3414
|
{
|
|
3413
3415
|
expandIcon: /* @__PURE__ */ e(wn, { size: 20 }),
|
|
3414
3416
|
sx: {
|
|
@@ -3421,7 +3423,7 @@ const B = {
|
|
|
3421
3423
|
children: /* @__PURE__ */ e(k, { sx: { fontWeight: 600 }, variant: "body1", children: a.accordion_title_text })
|
|
3422
3424
|
}
|
|
3423
3425
|
),
|
|
3424
|
-
/* @__PURE__ */ e(
|
|
3426
|
+
/* @__PURE__ */ e($o, { sx: { "&.MuiAccordionDetails-root": { padding: 0, pb: 16 } }, children: /* @__PURE__ */ e(k, { variant: "subtitle1", children: _.scoreContent }) })
|
|
3425
3427
|
]
|
|
3426
3428
|
}
|
|
3427
3429
|
) : /* @__PURE__ */ e(
|
|
@@ -3446,14 +3448,14 @@ const B = {
|
|
|
3446
3448
|
}
|
|
3447
3449
|
),
|
|
3448
3450
|
/* @__PURE__ */ e(
|
|
3449
|
-
|
|
3451
|
+
fa,
|
|
3450
3452
|
{
|
|
3451
3453
|
isOpen: t,
|
|
3452
3454
|
onClose: () => r(!1)
|
|
3453
3455
|
}
|
|
3454
3456
|
)
|
|
3455
3457
|
] });
|
|
3456
|
-
}),
|
|
3458
|
+
}), Sa = ({ onBackClick: t, sx: r, onPrimaryCtaClick: n }) => {
|
|
3457
3459
|
const { visibleAccounts: o } = Me(), { dateRange: c, isDataLoaded: a, loadBudgetData: s, setTheme: d } = Yn(), { reloadCategoryTotals: l } = Ye(), p = F(), {
|
|
3458
3460
|
augmentedChartData: h,
|
|
3459
3461
|
calculateHealthScore: _,
|
|
@@ -3501,7 +3503,7 @@ const B = {
|
|
|
3501
3503
|
},
|
|
3502
3504
|
children: [
|
|
3503
3505
|
/* @__PURE__ */ i(u, { sx: { gap: 24, width: { md: 432 } }, children: [
|
|
3504
|
-
/* @__PURE__ */ e(
|
|
3506
|
+
/* @__PURE__ */ e(xa, {}),
|
|
3505
3507
|
/* @__PURE__ */ e(
|
|
3506
3508
|
Be,
|
|
3507
3509
|
{
|
|
@@ -3551,13 +3553,13 @@ const B = {
|
|
|
3551
3553
|
title: y.peer_average,
|
|
3552
3554
|
useCustomMark: !0
|
|
3553
3555
|
}
|
|
3554
|
-
) : /* @__PURE__ */ e(
|
|
3555
|
-
b.health_score !== null && /* @__PURE__ */ e(
|
|
3556
|
+
) : /* @__PURE__ */ e(qr, { onClick: () => se(!0) }),
|
|
3557
|
+
b.health_score !== null && /* @__PURE__ */ e(Vr, {})
|
|
3556
3558
|
] }) })
|
|
3557
3559
|
]
|
|
3558
3560
|
}
|
|
3559
|
-
) : /* @__PURE__ */ e(
|
|
3560
|
-
/* @__PURE__ */ e(
|
|
3561
|
+
) : /* @__PURE__ */ e(ca, {}),
|
|
3562
|
+
/* @__PURE__ */ e(ua, { isOpen: re, onClose: () => ae(!1) }),
|
|
3561
3563
|
/* @__PURE__ */ e(
|
|
3562
3564
|
oe,
|
|
3563
3565
|
{
|
|
@@ -3567,7 +3569,7 @@ const B = {
|
|
|
3567
3569
|
}
|
|
3568
3570
|
),
|
|
3569
3571
|
/* @__PURE__ */ e(
|
|
3570
|
-
|
|
3572
|
+
ga,
|
|
3571
3573
|
{
|
|
3572
3574
|
isOpen: Ce,
|
|
3573
3575
|
onClose: () => ie(!1)
|
|
@@ -3576,12 +3578,12 @@ const B = {
|
|
|
3576
3578
|
]
|
|
3577
3579
|
}
|
|
3578
3580
|
);
|
|
3579
|
-
},
|
|
3581
|
+
}, Hi = S(Sa);
|
|
3580
3582
|
export {
|
|
3581
|
-
|
|
3583
|
+
Ho as CreditScoreGraph,
|
|
3582
3584
|
zt as DialScoreCard,
|
|
3583
3585
|
Et as FinancialStrengthGraph,
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3586
|
+
ji as FinstrongApi,
|
|
3587
|
+
Yi as FinstrongStore,
|
|
3588
|
+
Hi as FinstrongWidget
|
|
3587
3589
|
};
|
package/package.json
CHANGED