@mx-cartographer/experiences 3.17.1-alpha.mm2 → 3.17.1-alpha.mm4
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/index.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as t, jsxs as l, Fragment as
|
|
1
|
+
import { jsx as t, jsxs as l, Fragment as AA } from "react/jsx-runtime";
|
|
2
2
|
import C, { useMemo as lo, useRef as Ba, useEffect as pe, useState as fe, createContext as uo, useContext as ho } from "react";
|
|
3
3
|
import { observer as S } from "mobx-react-lite";
|
|
4
4
|
import D from "@mui/material/Box";
|
|
@@ -8,7 +8,7 @@ import de from "@mui/material/ListSubheader";
|
|
|
8
8
|
import Tr from "@mui/system/Stack";
|
|
9
9
|
import { AccountsIcon as go, P as EA, Icon as M, useTokens as RA, Text as p, H2 as Dt, CategoryIcon as ae, DialogHeader as Co, DialogFooter as fo, Drawer as mo, Footer as po, DateRangePicker as Lr, H3 as $t, H1 as ve, TextField as Be, IconWeight as jA, MerchantLogo as qe, CategoryIconVariants as Ka, InstitutionLogo as ye, THEMES as Ir, createMXTheme as rt } from "@kyper/mui";
|
|
10
10
|
import vo from "bowser";
|
|
11
|
-
import { getUnixTime as
|
|
11
|
+
import { getUnixTime as fA } from "date-fns/getUnixTime";
|
|
12
12
|
import { intlFormat as yo } from "date-fns/intlFormat";
|
|
13
13
|
import { Honeybadger as Mt } from "@honeybadger-io/react";
|
|
14
14
|
import Dr from "numeral";
|
|
@@ -32,7 +32,7 @@ import { nextDay as On } from "date-fns/nextDay";
|
|
|
32
32
|
import { setDate as Pn } from "date-fns/setDate";
|
|
33
33
|
import { startOfToday as eA } from "date-fns/startOfToday";
|
|
34
34
|
import { fromUnixTime as PA } from "date-fns/fromUnixTime";
|
|
35
|
-
import
|
|
35
|
+
import gA from "@mui/material/styles/useTheme";
|
|
36
36
|
import _t from "@mui/material/useMediaQuery";
|
|
37
37
|
import { css as $A, keyframes as bo } from "@mxenabled/cssinjs";
|
|
38
38
|
import { addDays as Ee } from "date-fns/addDays";
|
|
@@ -158,7 +158,7 @@ const Xs = async (A, e, n = "1.0.0", r = "Experiences") => {
|
|
|
158
158
|
analytics_event: {
|
|
159
159
|
...s,
|
|
160
160
|
app_version: "widgets-v2",
|
|
161
|
-
created_at:
|
|
161
|
+
created_at: fA(/* @__PURE__ */ new Date()).toString(),
|
|
162
162
|
host: o,
|
|
163
163
|
name: s?.label || "",
|
|
164
164
|
session_id: i.guid,
|
|
@@ -170,7 +170,7 @@ const Xs = async (A, e, n = "1.0.0", r = "Experiences") => {
|
|
|
170
170
|
analytics_pageview: {
|
|
171
171
|
...s,
|
|
172
172
|
app_version: "widgets-v2",
|
|
173
|
-
created_at:
|
|
173
|
+
created_at: fA(/* @__PURE__ */ new Date()).toString(),
|
|
174
174
|
host: o,
|
|
175
175
|
name: s.name,
|
|
176
176
|
session_id: i.guid,
|
|
@@ -178,7 +178,7 @@ const Xs = async (A, e, n = "1.0.0", r = "Experiences") => {
|
|
|
178
178
|
}
|
|
179
179
|
})
|
|
180
180
|
};
|
|
181
|
-
},
|
|
181
|
+
}, R = {
|
|
182
182
|
ACCOUNTS: "accounts",
|
|
183
183
|
ANALYTICS_EVENTS: "analytics_events",
|
|
184
184
|
ANALYTICS_FEATURE_VISITS: "feature_visits",
|
|
@@ -746,7 +746,7 @@ const Q7 = {
|
|
|
746
746
|
[b.UNCATEGORIZED]: "category",
|
|
747
747
|
UNKNOWN: "help"
|
|
748
748
|
}, Rr = 9999999999e-2;
|
|
749
|
-
var Ft = /* @__PURE__ */ ((A) => (A.CAD = "CAD", A.USD = "USD", A))(Ft || {}),
|
|
749
|
+
var Ft = /* @__PURE__ */ ((A) => (A.CAD = "CAD", A.USD = "USD", A))(Ft || {}), G = /* @__PURE__ */ ((A) => (A[A.Unknown = 0] = "Unknown", A[A.EveryWeek = 1] = "EveryWeek", A[A.EveryOtherWeek = 2] = "EveryOtherWeek", A[A.EveryMonth = 3] = "EveryMonth", A[A.EveryOtherMonth = 4] = "EveryOtherMonth", A[A.EveryQuarter = 5] = "EveryQuarter", A[A.EveryOtherQuarter = 6] = "EveryOtherQuarter", A[A.EveryYear = 7] = "EveryYear", A))(G || {});
|
|
750
750
|
const W7 = [
|
|
751
751
|
{ id: 0, copy: "frequency_unknown" },
|
|
752
752
|
{ id: 1, copy: "frequency_every_week" },
|
|
@@ -792,7 +792,7 @@ const dt = 44, Hr = (A, e) => A.find((n) => n.guid === e), Ac = (A, e) => A.find
|
|
|
792
792
|
}, tc = (A, e) => {
|
|
793
793
|
const n = A.find((r) => r.guid === e);
|
|
794
794
|
return n ? n.guid === b.INCOME || n.parent_guid === b.INCOME : !1;
|
|
795
|
-
}, nc = /(?<static>.*?)(?<dynamic>(?:_\d+{(?:.*?)}))|(?<staticEnd>.+)/g,
|
|
795
|
+
}, nc = /(?<static>.*?)(?<dynamic>(?:_\d+{(?:.*?)}))|(?<staticEnd>.+)/g, H = (A, ...e) => {
|
|
796
796
|
if (!A) return "";
|
|
797
797
|
const n = e.some((i) => typeof i != "string"), a = [...A.matchAll(nc)].reduce(
|
|
798
798
|
(i, o, s) => {
|
|
@@ -812,7 +812,7 @@ const dt = 44, Hr = (A, e) => A.find((n) => n.guid === e), Ac = (A, e) => A.find
|
|
|
812
812
|
[]
|
|
813
813
|
);
|
|
814
814
|
return n ? a : a.join("");
|
|
815
|
-
}, J7 = (A, e, n, ...r) => !A || !e ? "" :
|
|
815
|
+
}, J7 = (A, e, n, ...r) => !A || !e ? "" : H(n === 1 ? A : e, ...r), Ke = () => (window?.app?.options?.language || document.querySelector("html")?.getAttribute("lang") || "en-US").toLowerCase();
|
|
816
816
|
class YA {
|
|
817
817
|
endpoint = "/";
|
|
818
818
|
headers = {};
|
|
@@ -936,14 +936,14 @@ class uc {
|
|
|
936
936
|
this.fetchInstance = new YA(e, n);
|
|
937
937
|
}
|
|
938
938
|
initializeAnalyticsSession = async (e, n) => {
|
|
939
|
-
const r = vo.getParser(window.navigator.userAgent), { analytics_session: a } = await this.fetchInstance.post(
|
|
939
|
+
const r = vo.getParser(window.navigator.userAgent), { analytics_session: a } = await this.fetchInstance.post(R.ANALYTICS_SESSION, {
|
|
940
940
|
browser_name: r.getBrowserName() || "Unknown",
|
|
941
941
|
browser_version: r.getBrowserVersion() || "0.0.0",
|
|
942
942
|
is_first_visit: !1,
|
|
943
943
|
product_name: "Individual Widget",
|
|
944
944
|
product_version: e
|
|
945
945
|
});
|
|
946
|
-
return a ? (this.fetchInstance.post(
|
|
946
|
+
return a ? (this.fetchInstance.post(R.ANALYTICS_FEATURE_VISITS, {
|
|
947
947
|
feature_visit: {
|
|
948
948
|
analytics_session_guid: a.guid,
|
|
949
949
|
feature_name: n || "Experiences",
|
|
@@ -951,10 +951,10 @@ class uc {
|
|
|
951
951
|
}
|
|
952
952
|
}), { analytics_session: a }) : { analytics_session: null };
|
|
953
953
|
};
|
|
954
|
-
sendAnalyticEvent = async (e) => this.fetchInstance.post(
|
|
954
|
+
sendAnalyticEvent = async (e) => this.fetchInstance.post(R.ANALYTICS_EVENTS, e).catch((n) => {
|
|
955
955
|
throw n;
|
|
956
956
|
});
|
|
957
|
-
sendAnalyticsPageview = async (e) => this.fetchInstance.post(
|
|
957
|
+
sendAnalyticsPageview = async (e) => this.fetchInstance.post(R.ANALYTICS_PAGEVIEWS, e).catch((n) => {
|
|
958
958
|
throw n;
|
|
959
959
|
});
|
|
960
960
|
}
|
|
@@ -965,89 +965,89 @@ class nt {
|
|
|
965
965
|
}
|
|
966
966
|
getBeats = async (e, n) => {
|
|
967
967
|
const r = `page=${e || 1}&per_page=${n || 5}`;
|
|
968
|
-
return this.fetchInstance.get(`${
|
|
968
|
+
return this.fetchInstance.get(`${R.BEATS}?${r}`).then((a) => a.beats);
|
|
969
969
|
};
|
|
970
970
|
getBeatsWithAssociatedTransaction = async (e) => {
|
|
971
971
|
let n = "has_associated_transaction_guid=true";
|
|
972
|
-
return n += e ? `&from_date=${e}` : "", this.fetchInstance.get(`${
|
|
972
|
+
return n += e ? `&from_date=${e}` : "", this.fetchInstance.get(`${R.BEATS}?${n}`).then((r) => r.beats);
|
|
973
973
|
};
|
|
974
|
-
updateBeat = async (e) => this.fetchInstance.put(`${
|
|
974
|
+
updateBeat = async (e) => this.fetchInstance.put(`${R.BEATS}/${e.guid}`, e).then((n) => n.beat);
|
|
975
975
|
}
|
|
976
976
|
class Xt {
|
|
977
977
|
fetchInstance;
|
|
978
978
|
constructor(e, n) {
|
|
979
979
|
this.fetchInstance = new YA(e, n);
|
|
980
980
|
}
|
|
981
|
-
addCategory = async (e) => this.fetchInstance.post(
|
|
982
|
-
getCategories = async () => this.fetchInstance.get(
|
|
983
|
-
getDateRangeCategoryTotals = async (e, n, r) => this.fetchInstance.post(`${
|
|
981
|
+
addCategory = async (e) => this.fetchInstance.post(R.CATEGORIES, e).then((n) => n.category);
|
|
982
|
+
getCategories = async () => this.fetchInstance.get(R.CATEGORIES).then((e) => e.categories);
|
|
983
|
+
getDateRangeCategoryTotals = async (e, n, r) => this.fetchInstance.post(`${R.DATE_RANGE_CATEGORY_TOTALS}/from/${e}/to/${n}`, {
|
|
984
984
|
account_guid: r.map((a) => a.guid)
|
|
985
985
|
}).then((a) => a.date_range_category_totals);
|
|
986
|
-
getMonthlyCategoryTotals = async (e, n, r) => r ? this.fetchInstance.post(`${
|
|
986
|
+
getMonthlyCategoryTotals = async (e, n, r) => r ? this.fetchInstance.post(`${R.MONTHLY_CATEGORY_TOTALS}/from/${e}/to/${n}`, {
|
|
987
987
|
account_guid: r.length === 0 ? [""] : r.map((a) => a.guid)
|
|
988
|
-
}).then((a) => a.monthly_category_totals) : this.fetchInstance.get(`${
|
|
989
|
-
removeCategory = async (e) => this.fetchInstance.delete(`${
|
|
990
|
-
updateCategory = async (e) => this.fetchInstance.put(`${
|
|
988
|
+
}).then((a) => a.monthly_category_totals) : this.fetchInstance.get(`${R.MONTHLY_CATEGORY_TOTALS}/from/${e}/to/${n}`).then((a) => a.monthly_category_totals);
|
|
989
|
+
removeCategory = async (e) => this.fetchInstance.delete(`${R.CATEGORIES}/${e}`);
|
|
990
|
+
updateCategory = async (e) => this.fetchInstance.put(`${R.CATEGORIES}/${e.guid}`, e).then((n) => n.category);
|
|
991
991
|
}
|
|
992
992
|
class jt {
|
|
993
993
|
fetchInstance;
|
|
994
994
|
constructor(e, n) {
|
|
995
995
|
this.fetchInstance = new YA(e, n);
|
|
996
996
|
}
|
|
997
|
-
getGlobalCopy = async (e, n) => this.fetchInstance.post(`${
|
|
997
|
+
getGlobalCopy = async (e, n) => this.fetchInstance.post(`${R.LOCALIZED_CONTENT}/${e}`, { translation_key: n }).then((r) => r);
|
|
998
998
|
}
|
|
999
999
|
class Z7 {
|
|
1000
1000
|
fetchInstance;
|
|
1001
1001
|
constructor(e, n) {
|
|
1002
1002
|
this.fetchInstance = new YA(e, n);
|
|
1003
1003
|
}
|
|
1004
|
-
getLocalizedCopy = async (e) => this.fetchInstance.post(
|
|
1005
|
-
getLocalizedContent = async (e) => this.fetchInstance.post(`${
|
|
1004
|
+
getLocalizedCopy = async (e) => this.fetchInstance.post(R.LOCALIZED_COPY, e).then((n) => n);
|
|
1005
|
+
getLocalizedContent = async (e) => this.fetchInstance.post(`${R.LOCALIZED_CONTENT}/${e}`).then((n) => n);
|
|
1006
1006
|
}
|
|
1007
1007
|
class Br {
|
|
1008
1008
|
fetchInstance;
|
|
1009
1009
|
constructor(e, n) {
|
|
1010
1010
|
this.fetchInstance = new YA(e, n);
|
|
1011
1011
|
}
|
|
1012
|
-
getNotifications = () => this.fetchInstance.get(
|
|
1012
|
+
getNotifications = () => this.fetchInstance.get(R.NOTIFICATIONS).then(
|
|
1013
1013
|
(e) => e.notifications.map((n) => n.notification)
|
|
1014
1014
|
).finally();
|
|
1015
|
-
updateNotification = (e) => this.fetchInstance.put(`${
|
|
1015
|
+
updateNotification = (e) => this.fetchInstance.put(`${R.NOTIFICATIONS}/${e.guid}`, {
|
|
1016
1016
|
guid: e.guid,
|
|
1017
1017
|
has_been_viewed: e.has_been_viewed
|
|
1018
1018
|
}).then((n) => n.notification).finally();
|
|
1019
1019
|
// Note: The notifications/mark_all_as_viewed endpoint is broken, but still returns 202.
|
|
1020
1020
|
// A bug ticket has been filed to fix it, but should not require any changes here.
|
|
1021
|
-
markAllAsViewed = (e) => this.fetchInstance.put(`${
|
|
1021
|
+
markAllAsViewed = (e) => this.fetchInstance.put(`${R.NOTIFICATIONS}/mark_all_as_viewed`, { channel: e }).finally();
|
|
1022
1022
|
}
|
|
1023
1023
|
class Kr {
|
|
1024
1024
|
fetchInstance;
|
|
1025
1025
|
constructor(e, n) {
|
|
1026
1026
|
this.fetchInstance = new YA(e, n);
|
|
1027
1027
|
}
|
|
1028
|
-
addScheduledPayment = async (e) => this.fetchInstance.post(
|
|
1028
|
+
addScheduledPayment = async (e) => this.fetchInstance.post(R.SCHEDULED_PAYMENTS, {
|
|
1029
1029
|
...e,
|
|
1030
1030
|
is_recurring: "true",
|
|
1031
1031
|
transaction_type: UA.DEBIT
|
|
1032
1032
|
}).then((n) => n.scheduled_payment);
|
|
1033
|
-
getScheduledPayments = async () => this.fetchInstance.get(
|
|
1034
|
-
updateScheduledPayment = async (e) => this.fetchInstance.put(`${
|
|
1035
|
-
deleteScheduledPayment = async (e) => this.fetchInstance.delete(`${
|
|
1033
|
+
getScheduledPayments = async () => this.fetchInstance.get(R.SCHEDULED_PAYMENTS).then((e) => e.scheduled_payments);
|
|
1034
|
+
updateScheduledPayment = async (e) => this.fetchInstance.put(`${R.SCHEDULED_PAYMENTS}/${e.guid}`, e).then((n) => n.scheduled_payment);
|
|
1035
|
+
deleteScheduledPayment = async (e) => this.fetchInstance.delete(`${R.SCHEDULED_PAYMENTS}/${e}`).then((n) => n);
|
|
1036
1036
|
}
|
|
1037
1037
|
class qr {
|
|
1038
1038
|
fetchInstance;
|
|
1039
1039
|
constructor(e, n) {
|
|
1040
1040
|
this.fetchInstance = new YA(e, n);
|
|
1041
1041
|
}
|
|
1042
|
-
getUserProfile = async () => this.fetchInstance.get(
|
|
1043
|
-
updateUserProfile = async (e) => this.fetchInstance.put(`${
|
|
1042
|
+
getUserProfile = async () => this.fetchInstance.get(R.APP_DATA).then((e) => e.user_profile);
|
|
1043
|
+
updateUserProfile = async (e) => this.fetchInstance.put(`${R.USER_PROFILES}/${e.guid}`, e).then((n) => n.user_profile);
|
|
1044
1044
|
}
|
|
1045
1045
|
class kr {
|
|
1046
1046
|
fetchInstance;
|
|
1047
1047
|
constructor(e, n) {
|
|
1048
1048
|
this.fetchInstance = new YA(e, n);
|
|
1049
1049
|
}
|
|
1050
|
-
requestWidgetUrl = async (e) => this.fetchInstance.post(
|
|
1050
|
+
requestWidgetUrl = async (e) => this.fetchInstance.post(R.WIDGET_URLS, e).then((n) => n.widget_url);
|
|
1051
1051
|
}
|
|
1052
1052
|
const En = (A, e) => A.reduce((n, r) => (n[r.guid] = e?.includes(r.guid), n), {}), hc = (A) => A.reduce((e, n) => {
|
|
1053
1053
|
const r = ti[n.account_type], a = {
|
|
@@ -1166,13 +1166,13 @@ const En = (A, e) => A.reduce((n, r) => (n[r.guid] = e?.includes(r.guid), n), {}
|
|
|
1166
1166
|
return /* @__PURE__ */ t(W, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ t(
|
|
1167
1167
|
rA,
|
|
1168
1168
|
{
|
|
1169
|
-
"aria-label":
|
|
1169
|
+
"aria-label": H(n.accountTypeAccounts, v),
|
|
1170
1170
|
className: "mx-cmn-account-options-group",
|
|
1171
1171
|
dense: !0,
|
|
1172
1172
|
subheader: /* @__PURE__ */ t(de, { disableGutters: !0, children: /* @__PURE__ */ t(
|
|
1173
1173
|
dA,
|
|
1174
1174
|
{
|
|
1175
|
-
"aria-label":
|
|
1175
|
+
"aria-label": H(n.toggleAccountTypeAccounts, v),
|
|
1176
1176
|
"aria-pressed": I,
|
|
1177
1177
|
disableGutters: !0,
|
|
1178
1178
|
onClick: () => a(
|
|
@@ -1196,7 +1196,7 @@ const En = (A, e) => A.reduce((n, r) => (n[r.guid] = e?.includes(r.guid), n), {}
|
|
|
1196
1196
|
) }),
|
|
1197
1197
|
sx: { overflow: "auto", width: "100%" },
|
|
1198
1198
|
children: T.map((w) => {
|
|
1199
|
-
const x = c[w.guid],
|
|
1199
|
+
const x = c[w.guid], P = `${w.name}${h && w.accountNumber ? ` *${w.accountNumber.slice(-4)}` : ""}`;
|
|
1200
1200
|
return /* @__PURE__ */ t(
|
|
1201
1201
|
W,
|
|
1202
1202
|
{
|
|
@@ -1225,7 +1225,7 @@ const En = (A, e) => A.reduce((n, r) => (n[r.guid] = e?.includes(r.guid), n), {}
|
|
|
1225
1225
|
}
|
|
1226
1226
|
}
|
|
1227
1227
|
),
|
|
1228
|
-
label:
|
|
1228
|
+
label: P
|
|
1229
1229
|
}
|
|
1230
1230
|
)
|
|
1231
1231
|
},
|
|
@@ -1272,13 +1272,13 @@ const gc = (A, e) => {
|
|
|
1272
1272
|
}, [A, n]);
|
|
1273
1273
|
}, zA = () => ({
|
|
1274
1274
|
// Larger than 1200
|
|
1275
|
-
isDesktop: _t(
|
|
1275
|
+
isDesktop: _t(gA().breakpoints.up("xl")),
|
|
1276
1276
|
// Smaller than 768
|
|
1277
|
-
isMobile: _t(
|
|
1277
|
+
isMobile: _t(gA().breakpoints.down("md")),
|
|
1278
1278
|
// Between 768 and 992
|
|
1279
|
-
isSmallTablet: _t(
|
|
1279
|
+
isSmallTablet: _t(gA().breakpoints.between("md", "lg")),
|
|
1280
1280
|
// Between 768 and 1200
|
|
1281
|
-
isTablet: _t(
|
|
1281
|
+
isTablet: _t(gA().breakpoints.between("md", "xl"))
|
|
1282
1282
|
}), li = (A) => {
|
|
1283
1283
|
const e = Ba();
|
|
1284
1284
|
return pe(() => {
|
|
@@ -1561,10 +1561,10 @@ const gc = (A, e) => {
|
|
|
1561
1561
|
selectedIndex: c,
|
|
1562
1562
|
valueFormatter: u = (d) => `${d}`
|
|
1563
1563
|
}) => {
|
|
1564
|
-
const d = RA(), h = Sc(d), g = r.reduce(bc, []), f = A !== void 0 ? A : g.reduce(yc, 0) / g.length, m = Math.max(...g), y = Math.min(...g), v = g.reduce(Ec, 0), T = m >= 0, I = y < 0, w = Xr(T, I, a), x = Xr(I, T, a),
|
|
1564
|
+
const d = RA(), h = Sc(d), g = r.reduce(bc, []), f = A !== void 0 ? A : g.reduce(yc, 0) / g.length, m = Math.max(...g), y = Math.min(...g), v = g.reduce(Ec, 0), T = m >= 0, I = y < 0, w = Xr(T, I, a), x = Xr(I, T, a), P = wc(f, m, y, w || x), O = (_) => c === void 0 || _ === c ? n : `${n}80`, N = () => /* @__PURE__ */ t(
|
|
1565
1565
|
Fr,
|
|
1566
1566
|
{
|
|
1567
|
-
averageLineHeight:
|
|
1567
|
+
averageLineHeight: P,
|
|
1568
1568
|
bottomHeight: x,
|
|
1569
1569
|
color: "",
|
|
1570
1570
|
range: v,
|
|
@@ -1576,27 +1576,27 @@ const gc = (A, e) => {
|
|
|
1576
1576
|
return /* @__PURE__ */ l("div", { className: `mx-cmn-bar-chart ${h}`, children: [
|
|
1577
1577
|
/* @__PURE__ */ l("div", { className: "mx-cmn-chart-container", children: [
|
|
1578
1578
|
/* @__PURE__ */ t(N, {}),
|
|
1579
|
-
r.map((
|
|
1579
|
+
r.map((_, F) => /* @__PURE__ */ l(C.Fragment, { children: [
|
|
1580
1580
|
/* @__PURE__ */ t(
|
|
1581
1581
|
Fr,
|
|
1582
1582
|
{
|
|
1583
|
-
ariaLabel:
|
|
1584
|
-
averageLineHeight:
|
|
1583
|
+
ariaLabel: _.ariaLabel,
|
|
1584
|
+
averageLineHeight: P,
|
|
1585
1585
|
bottomHeight: x,
|
|
1586
|
-
color:
|
|
1587
|
-
index:
|
|
1586
|
+
color: O(F),
|
|
1587
|
+
index: F,
|
|
1588
1588
|
onClick: s,
|
|
1589
1589
|
range: v,
|
|
1590
1590
|
selectedIndex: c,
|
|
1591
1591
|
topHeight: w,
|
|
1592
|
-
value:
|
|
1593
|
-
valueLabel: u(
|
|
1592
|
+
value: _.value,
|
|
1593
|
+
valueLabel: u(_.value),
|
|
1594
1594
|
width: e,
|
|
1595
|
-
xAxisLabel:
|
|
1595
|
+
xAxisLabel: _.label
|
|
1596
1596
|
}
|
|
1597
1597
|
),
|
|
1598
1598
|
/* @__PURE__ */ t(N, {})
|
|
1599
|
-
] }, `column-${
|
|
1599
|
+
] }, `column-${F}`))
|
|
1600
1600
|
] }),
|
|
1601
1601
|
/* @__PURE__ */ t(fc, { color: n, labelAverage: i, labelMain: o })
|
|
1602
1602
|
] });
|
|
@@ -1631,7 +1631,7 @@ const gc = (A, e) => {
|
|
|
1631
1631
|
gap: 4
|
|
1632
1632
|
}
|
|
1633
1633
|
}), Ic = ({ beginDate: A, date: e, endDate: n, isInMonth: r, onClick: a }) => {
|
|
1634
|
-
const i =
|
|
1634
|
+
const i = gA(), o = RA(), s = Dc(o, i), c = A && n && et(e, { start: A, end: n }) && !JA(e, A) && !JA(e, n), u = A && n && JA(A, e) && !JA(A, n), d = n && A && JA(n, e) && !JA(A, n), h = A && JA(A, e) || n && JA(n, e), g = JA(e, eA());
|
|
1635
1635
|
return /* @__PURE__ */ t(
|
|
1636
1636
|
"div",
|
|
1637
1637
|
{
|
|
@@ -1729,11 +1729,11 @@ const Oc = ({
|
|
|
1729
1729
|
}, [e, n]);
|
|
1730
1730
|
const m = C.useMemo(() => {
|
|
1731
1731
|
const w = So({ start: bA(c), end: MA(c) }), x = [];
|
|
1732
|
-
for (let
|
|
1733
|
-
const
|
|
1734
|
-
for (let
|
|
1735
|
-
|
|
1736
|
-
x.push(
|
|
1732
|
+
for (let P = 0; P < w.length; P++) {
|
|
1733
|
+
const O = w[P], N = wo({ start: O, end: Ee(O, 6) }), _ = [];
|
|
1734
|
+
for (let F = 0; F < N.length; F++)
|
|
1735
|
+
_.push(N[F]);
|
|
1736
|
+
x.push(_);
|
|
1737
1737
|
}
|
|
1738
1738
|
return x;
|
|
1739
1739
|
}, [c]), y = (w) => {
|
|
@@ -1763,16 +1763,16 @@ const Oc = ({
|
|
|
1763
1763
|
}
|
|
1764
1764
|
),
|
|
1765
1765
|
/* @__PURE__ */ t("div", { className: "mx-cmn-calendar-header-row", children: m[0].map((w, x) => /* @__PURE__ */ t("div", { className: "mx-cmn-calendar-header-cell", children: /* @__PURE__ */ t(p, { bold: !0, variant: "Small", children: QA(w, "EEEEE") }) }, x)) }),
|
|
1766
|
-
m.map((w, x) => /* @__PURE__ */ t("div", { className: "mx-cmn-calendar-week", children: w.map((
|
|
1766
|
+
m.map((w, x) => /* @__PURE__ */ t("div", { className: "mx-cmn-calendar-week", children: w.map((P, O) => /* @__PURE__ */ t(
|
|
1767
1767
|
Ic,
|
|
1768
1768
|
{
|
|
1769
1769
|
beginDate: d,
|
|
1770
|
-
date:
|
|
1770
|
+
date: P,
|
|
1771
1771
|
endDate: g,
|
|
1772
|
-
isInMonth: To(
|
|
1772
|
+
isInMonth: To(P, c),
|
|
1773
1773
|
onClick: y
|
|
1774
1774
|
},
|
|
1775
|
-
|
|
1775
|
+
O
|
|
1776
1776
|
)) }, `w-${x}`)),
|
|
1777
1777
|
/* @__PURE__ */ t("div", { className: "mx-cmn-calendar-today-container", children: /* @__PURE__ */ t(sA, { onClick: v, size: "small", variant: "text", children: A.today }) })
|
|
1778
1778
|
] }) });
|
|
@@ -1863,7 +1863,7 @@ const Oc = ({
|
|
|
1863
1863
|
] });
|
|
1864
1864
|
}, Hc = (A) => {
|
|
1865
1865
|
const e = kA(), n = A.showLabel, r = A.style, a = Number(A.x), i = Number(A.y), o = A.handlers?.onMarkClick, s = A.handlers?.onMouseEnter, c = A.handlers?.onMouseLeave;
|
|
1866
|
-
return /* @__PURE__ */ l(
|
|
1866
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
1867
1867
|
n && /* @__PURE__ */ t(
|
|
1868
1868
|
"text",
|
|
1869
1869
|
{
|
|
@@ -1901,7 +1901,7 @@ const Oc = ({
|
|
|
1901
1901
|
}
|
|
1902
1902
|
)
|
|
1903
1903
|
] });
|
|
1904
|
-
}, zc = (A) => /* @__PURE__ */ l(
|
|
1904
|
+
}, zc = (A) => /* @__PURE__ */ l(AA, { children: [
|
|
1905
1905
|
/* @__PURE__ */ t("clipPath", { id: A.id, children: /* @__PURE__ */ t("rect", { height: A.height, width: A.width, x: "0", y: "0" }) }),
|
|
1906
1906
|
/* @__PURE__ */ t("g", { children: /* @__PURE__ */ t(
|
|
1907
1907
|
"path",
|
|
@@ -1964,23 +1964,23 @@ const Oc = ({
|
|
|
1964
1964
|
valueFormatterString: g = "0,0",
|
|
1965
1965
|
width: f
|
|
1966
1966
|
}) => {
|
|
1967
|
-
const m = kA(), y = n.flat().map((N) => N.x), v = n.flat().map((N) => N.y), T = Math.round(v.reduce((N,
|
|
1967
|
+
const m = kA(), y = n.flat().map((N) => N.x), v = n.flat().map((N) => N.y), T = Math.round(v.reduce((N, _) => _ + N, 0) / v.length), I = Math.floor(Math.min(...v) / 100) * 100, w = Math.ceil(Math.max(...v) / 100) * 100, x = I * 0.95, P = w * 2, O = n.map((N, _) => ({
|
|
1968
1968
|
type: s ? "bar" : "line",
|
|
1969
1969
|
curve: "linear",
|
|
1970
|
-
color: s ? m.palette.chart?.chart6 : e[
|
|
1971
|
-
data: N.map((
|
|
1970
|
+
color: s ? m.palette.chart?.chart6 : e[_] ?? m.palette.primary.main,
|
|
1971
|
+
data: N.map((F) => F.y),
|
|
1972
1972
|
area: c,
|
|
1973
1973
|
baseline: A,
|
|
1974
1974
|
showMark: !0,
|
|
1975
|
-
label: a[
|
|
1976
|
-
valueFormatter: (
|
|
1975
|
+
label: a[_],
|
|
1976
|
+
valueFormatter: (F) => z(F || 0, g)
|
|
1977
1977
|
}));
|
|
1978
1978
|
return /* @__PURE__ */ l("div", { style: { position: "relative" }, children: [
|
|
1979
1979
|
/* @__PURE__ */ l(
|
|
1980
1980
|
No,
|
|
1981
1981
|
{
|
|
1982
1982
|
height: r,
|
|
1983
|
-
series:
|
|
1983
|
+
series: O,
|
|
1984
1984
|
sx: {
|
|
1985
1985
|
p: 4,
|
|
1986
1986
|
"& .MuiBarLabel-root": {
|
|
@@ -1997,7 +1997,7 @@ const Oc = ({
|
|
|
1997
1997
|
colorMap: c ? {
|
|
1998
1998
|
type: "continuous",
|
|
1999
1999
|
min: x,
|
|
2000
|
-
max:
|
|
2000
|
+
max: P,
|
|
2001
2001
|
color: [m.palette.background.paper, e[0] ?? m.palette.primary.main]
|
|
2002
2002
|
} : void 0,
|
|
2003
2003
|
valueFormatter: (N) => z(N, g)
|
|
@@ -2008,7 +2008,7 @@ const Oc = ({
|
|
|
2008
2008
|
/* @__PURE__ */ t(
|
|
2009
2009
|
_o,
|
|
2010
2010
|
{
|
|
2011
|
-
slots: c &&
|
|
2011
|
+
slots: c && O.length < 2 ? {
|
|
2012
2012
|
line: (N) => /* @__PURE__ */ t(zc, { ...N, lineColor: e[0] ?? m.palette.primary.main })
|
|
2013
2013
|
} : void 0
|
|
2014
2014
|
}
|
|
@@ -2070,7 +2070,7 @@ const Oc = ({
|
|
|
2070
2070
|
Kc,
|
|
2071
2071
|
{
|
|
2072
2072
|
average: T,
|
|
2073
|
-
series:
|
|
2073
|
+
series: O,
|
|
2074
2074
|
style: { position: "absolute", top: 16, left: 16 }
|
|
2075
2075
|
}
|
|
2076
2076
|
)
|
|
@@ -2106,7 +2106,7 @@ const Oc = ({
|
|
|
2106
2106
|
if (!e)
|
|
2107
2107
|
throw new Error(`${A}() must be used within the GlobalDataContext`);
|
|
2108
2108
|
return e;
|
|
2109
|
-
}, LA = () => GA("useAccountStore").globalStore.accountStore, XA = () => GA("useBudgetsStore").globalStore.budgetsStore, rr = () => GA("useCashflowStore").globalStore.cashflowStore, NA = () => GA("useCategoryStore").globalStore.categoryStore, Ci = () => GA("useConnectStore").globalStore.connectStore, qc = () => GA("useDebtsStore").globalStore.debtsStore, ar = () => GA("useGlobalStore").globalStore,
|
|
2109
|
+
}, LA = () => GA("useAccountStore").globalStore.accountStore, XA = () => GA("useBudgetsStore").globalStore.budgetsStore, rr = () => GA("useCashflowStore").globalStore.cashflowStore, NA = () => GA("useCategoryStore").globalStore.categoryStore, Ci = () => GA("useConnectStore").globalStore.connectStore, qc = () => GA("useDebtsStore").globalStore.debtsStore, ar = () => GA("useGlobalStore").globalStore, CA = () => GA("useGlobalUiStore").globalStore.globalUiStore, L = () => GA("globalCopyStore").globalStore.copyStore.copy, fi = () => GA("useGoalStore").globalStore.goalStore, kc = () => GA("useMerchantStore").globalStore.merchantStore, Gc = () => GA("useNetWorthStore").globalStore.netWorthStore, mi = () => GA("useNotificationStore").globalStore.notificationStore, BA = () => GA("useRecurringActivityStore").globalStore.recurringActivityStore, uA = () => GA("useTransactionStore").globalStore.transactionStore, an = () => GA("useUserStore").globalStore.userStore, Y = () => ({ onEvent: GA().onEvent }), ef = () => ({ onPageView: GA().onPageView }), Fc = (A = "useWidgetContainerContext") => {
|
|
2110
2110
|
const e = C.useContext(hi);
|
|
2111
2111
|
if (!e)
|
|
2112
2112
|
throw new Error(`${A}() must be used within the WidgetContainerContext`);
|
|
@@ -2117,7 +2117,7 @@ const Oc = ({
|
|
|
2117
2117
|
/* @__PURE__ */ t(
|
|
2118
2118
|
D,
|
|
2119
2119
|
{
|
|
2120
|
-
"aria-label":
|
|
2120
|
+
"aria-label": H(n.category_icon_label_aria, r),
|
|
2121
2121
|
mb: 4,
|
|
2122
2122
|
role: "img",
|
|
2123
2123
|
children: /* @__PURE__ */ t(ae, { categoryGuid: e })
|
|
@@ -2264,24 +2264,24 @@ const Oc = ({
|
|
|
2264
2264
|
hoveredAreaData: null,
|
|
2265
2265
|
isAreaHovered: !1,
|
|
2266
2266
|
cursorPos: { x: 0, y: 0 }
|
|
2267
|
-
}), { hoveredSeriesId: y, hoveredAreaData: v, isAreaHovered: T, cursorPos: I } = f, w = T && y && v, x = !w,
|
|
2268
|
-
(K,
|
|
2269
|
-
) ?? [0],
|
|
2270
|
-
...i.flatMap((K) => K.dataset.map((
|
|
2271
|
-
),
|
|
2272
|
-
id: `stacked-${
|
|
2267
|
+
}), { hoveredSeriesId: y, hoveredAreaData: v, isAreaHovered: T, cursorPos: I } = f, w = T && y && v, x = !w, P = [...a, ...i], O = P[0]?.dataset.length ?? 0, N = P.flatMap((K) => K.dataset.map((hA) => hA.x)), _ = P.flatMap((K) => K.dataset.map((hA) => hA.y)), F = a[0]?.dataset?.map(
|
|
2268
|
+
(K, hA) => a.reduce((yA, be) => yA + be.dataset[hA]?.y || 0, 0)
|
|
2269
|
+
) ?? [0], X = Math.max(...F), Q = Math.max(
|
|
2270
|
+
...i.flatMap((K) => K.dataset.map((hA) => hA.y))
|
|
2271
|
+
), k = Math.floor(Math.min(..._) / 100) * 100, $ = Math.ceil(Math.max(X, Q) / 100) * 100, nA = a.map((K, hA) => ({
|
|
2272
|
+
id: `stacked-${hA}`,
|
|
2273
2273
|
guid: K.category_guid,
|
|
2274
2274
|
top_level_guid: K.top_level_category_guid,
|
|
2275
2275
|
area: !0,
|
|
2276
|
-
color: a[
|
|
2276
|
+
color: a[hA].category_color ?? c.palette.primary.main,
|
|
2277
2277
|
data: K.dataset.map((yA) => yA.y),
|
|
2278
|
-
label: a[
|
|
2278
|
+
label: a[hA].category_name,
|
|
2279
2279
|
stack: "total",
|
|
2280
2280
|
type: "line",
|
|
2281
2281
|
highlightScope: { highlight: "item" },
|
|
2282
2282
|
valueFormatter: (yA) => z(yA, "0,0")
|
|
2283
|
-
})),
|
|
2284
|
-
id: `unstacked-${
|
|
2283
|
+
})), mA = i.map((K, hA) => ({
|
|
2284
|
+
id: `unstacked-${hA}`,
|
|
2285
2285
|
guid: K.category_guid,
|
|
2286
2286
|
top_level_guid: K.top_level_category_guid,
|
|
2287
2287
|
area: !1,
|
|
@@ -2290,14 +2290,14 @@ const Oc = ({
|
|
|
2290
2290
|
label: K.category_name,
|
|
2291
2291
|
type: "line",
|
|
2292
2292
|
valueFormatter: (yA) => z(yA, "0,0")
|
|
2293
|
-
})), cA = [...nA, ...
|
|
2294
|
-
...nA.map(({ guid: K, top_level_guid:
|
|
2293
|
+
})), cA = [...nA, ...mA], vA = [
|
|
2294
|
+
...nA.map(({ guid: K, top_level_guid: hA }) => ({
|
|
2295
2295
|
guid: K,
|
|
2296
|
-
top_level_guid:
|
|
2296
|
+
top_level_guid: hA
|
|
2297
2297
|
})),
|
|
2298
|
-
...
|
|
2298
|
+
...mA.map(({ guid: K, top_level_guid: hA }) => ({
|
|
2299
2299
|
guid: K,
|
|
2300
|
-
top_level_guid:
|
|
2300
|
+
top_level_guid: hA
|
|
2301
2301
|
}))
|
|
2302
2302
|
], ee = (K) => {
|
|
2303
2303
|
const yA = K.startsWith("stacked-") ? a[parseInt(K.split("-")[1])] : i[parseInt(K.split("-")[1])];
|
|
@@ -2313,10 +2313,10 @@ const Oc = ({
|
|
|
2313
2313
|
const K = ee(String(y)).guid;
|
|
2314
2314
|
K && r?.(K);
|
|
2315
2315
|
}, Je = (K) => {
|
|
2316
|
-
const
|
|
2316
|
+
const hA = String(K?.seriesId), yA = ee(hA).guid, be = cA.find((lt) => lt.id === hA), mn = be && K?.dataIndex !== void 0, pn = be && K?.dataIndex === void 0;
|
|
2317
2317
|
if (mn)
|
|
2318
2318
|
m({
|
|
2319
|
-
hoveredSeriesId:
|
|
2319
|
+
hoveredSeriesId: hA,
|
|
2320
2320
|
hoveredAreaData: null,
|
|
2321
2321
|
isAreaHovered: !1,
|
|
2322
2322
|
cursorPos: I
|
|
@@ -2327,7 +2327,7 @@ const Oc = ({
|
|
|
2327
2327
|
y: vn
|
|
2328
2328
|
})) ?? [];
|
|
2329
2329
|
m({
|
|
2330
|
-
hoveredSeriesId:
|
|
2330
|
+
hoveredSeriesId: hA,
|
|
2331
2331
|
hoveredAreaData: lt,
|
|
2332
2332
|
isAreaHovered: !0,
|
|
2333
2333
|
cursorPos: I
|
|
@@ -2340,15 +2340,15 @@ const Oc = ({
|
|
|
2340
2340
|
cursorPos: I
|
|
2341
2341
|
});
|
|
2342
2342
|
}, ct = (K) => {
|
|
2343
|
-
const
|
|
2343
|
+
const hA = K.currentTarget.getBoundingClientRect();
|
|
2344
2344
|
m((yA) => ({
|
|
2345
2345
|
...yA,
|
|
2346
2346
|
cursorPos: {
|
|
2347
|
-
x: K.clientX -
|
|
2348
|
-
y: K.clientY -
|
|
2347
|
+
x: K.clientX - hA.left,
|
|
2348
|
+
y: K.clientY - hA.top
|
|
2349
2349
|
}
|
|
2350
2350
|
}));
|
|
2351
|
-
},
|
|
2351
|
+
}, pA = {
|
|
2352
2352
|
p: 4,
|
|
2353
2353
|
"& .MuiBarLabel-root": {
|
|
2354
2354
|
fontSize: 10,
|
|
@@ -2364,7 +2364,7 @@ const Oc = ({
|
|
|
2364
2364
|
'& [class*="MuiLineElement-series-unstacked-"]': {
|
|
2365
2365
|
strokeWidth: 3
|
|
2366
2366
|
},
|
|
2367
|
-
...h && nA.reduce((K,
|
|
2367
|
+
...h && nA.reduce((K, hA, yA) => {
|
|
2368
2368
|
const be = `.MuiAreaElement-series-stacked-${yA}`;
|
|
2369
2369
|
return K[be] = {
|
|
2370
2370
|
opacity: nA[yA].guid === h ? 0.9 : 0.2
|
|
@@ -2402,7 +2402,7 @@ const Oc = ({
|
|
|
2402
2402
|
}
|
|
2403
2403
|
) : null
|
|
2404
2404
|
},
|
|
2405
|
-
sx:
|
|
2405
|
+
sx: pA,
|
|
2406
2406
|
tooltip: {
|
|
2407
2407
|
trigger: x ? "item" : "none"
|
|
2408
2408
|
},
|
|
@@ -2412,14 +2412,14 @@ const Oc = ({
|
|
|
2412
2412
|
data: N,
|
|
2413
2413
|
scaleType: "time",
|
|
2414
2414
|
valueFormatter: (K) => Z(K, J.MONTH_SHORT_YEAR),
|
|
2415
|
-
tickNumber:
|
|
2415
|
+
tickNumber: O
|
|
2416
2416
|
// How many ticks to show on the x-axis
|
|
2417
2417
|
}
|
|
2418
2418
|
],
|
|
2419
2419
|
yAxis: [
|
|
2420
2420
|
{
|
|
2421
|
-
min:
|
|
2422
|
-
max:
|
|
2421
|
+
min: k,
|
|
2422
|
+
max: $ || 100
|
|
2423
2423
|
}
|
|
2424
2424
|
]
|
|
2425
2425
|
}
|
|
@@ -2642,7 +2642,7 @@ const Oc = ({
|
|
|
2642
2642
|
toolTipContent: i = "",
|
|
2643
2643
|
variant: o = "outlined"
|
|
2644
2644
|
}) => {
|
|
2645
|
-
const s =
|
|
2645
|
+
const s = gA(), c = s.palette.mode === "dark", { isDesktop: u, isMobile: d } = zA(), [h, g] = C.useState(r), [f, m] = C.useState(n.dateRangePickerCopy.dateRangeThisMonth), [y, v] = C.useState(h), [T, I] = C.useState(!1), [w, x] = C.useState(!0), [P, O] = C.useState(6), N = {
|
|
2646
2646
|
buttons: [
|
|
2647
2647
|
{ label: "3M", value: 3 },
|
|
2648
2648
|
{ label: "6M", value: 6 },
|
|
@@ -2659,28 +2659,28 @@ const Oc = ({
|
|
|
2659
2659
|
C.useEffect(() => {
|
|
2660
2660
|
v(r);
|
|
2661
2661
|
}, [r]), C.useEffect(() => {
|
|
2662
|
-
(o === "timeframebuttons" || o === "timeframetabs") && A.onRangeChanged(
|
|
2663
|
-
}, [
|
|
2664
|
-
const
|
|
2665
|
-
const
|
|
2666
|
-
return [MA(le(
|
|
2667
|
-
},
|
|
2668
|
-
const
|
|
2662
|
+
(o === "timeframebuttons" || o === "timeframetabs") && A.onRangeChanged(_());
|
|
2663
|
+
}, [P]);
|
|
2664
|
+
const _ = () => {
|
|
2665
|
+
const k = MA(Qe());
|
|
2666
|
+
return [MA(le(k, P)), k];
|
|
2667
|
+
}, F = (k) => {
|
|
2668
|
+
const $ = [...h], nA = h[0], mA = h[1], cA = k === "previous";
|
|
2669
2669
|
if (f === n.dateRangePickerCopy.dateRangeThisMonth)
|
|
2670
|
-
|
|
2670
|
+
$[0] = cA ? le(nA, 1) : ne(nA, 1), $[1] = MA(cA ? le(mA, 1) : ne(mA, 1));
|
|
2671
2671
|
else if (f === n.dateRangePickerCopy.dateRangeYTD || f === n.dateRangePickerCopy.dateRangeLastYear)
|
|
2672
|
-
|
|
2672
|
+
$[0] = cA ? Pr(Or(nA), 1) : bt(Or(nA), 1), $[1] = cA ? Pr(xr(nA), 1) : bt(xr(nA), 1);
|
|
2673
2673
|
else {
|
|
2674
|
-
const vA = jo(
|
|
2675
|
-
|
|
2674
|
+
const vA = jo(mA, nA);
|
|
2675
|
+
$[0] = k === "previous" ? ue(nA, vA) : Ee(nA, vA), $[1] = k === "previous" ? ue(mA, vA) : Ee(mA, vA);
|
|
2676
2676
|
}
|
|
2677
|
-
g(
|
|
2678
|
-
},
|
|
2677
|
+
g($), A.onRangeChanged($);
|
|
2678
|
+
}, X = () => {
|
|
2679
2679
|
g(y), x(
|
|
2680
2680
|
f === n.dateRangePickerCopy.dateRangeThisMonth || f === n.dateRangePickerCopy.dateRangeLastMonth
|
|
2681
2681
|
), A.onRangeChanged(y);
|
|
2682
|
-
},
|
|
2683
|
-
|
|
2682
|
+
}, Q = (k) => {
|
|
2683
|
+
O(k);
|
|
2684
2684
|
};
|
|
2685
2685
|
return /* @__PURE__ */ l(D, { className: "mx-cmn-date-range-selector", m: 4, children: [
|
|
2686
2686
|
/* @__PURE__ */ t(
|
|
@@ -2736,7 +2736,7 @@ const Oc = ({
|
|
|
2736
2736
|
"aria-disabled": A.shouldDisablePrevious,
|
|
2737
2737
|
"aria-label": n.dateRangePreviousAria,
|
|
2738
2738
|
color: A.shouldDisablePrevious ? "secondary" : "primary",
|
|
2739
|
-
onClick: () => A.shouldDisablePrevious ? null :
|
|
2739
|
+
onClick: () => A.shouldDisablePrevious ? null : F("previous"),
|
|
2740
2740
|
children: /* @__PURE__ */ t(M, { name: "chevron_left", size: 28 })
|
|
2741
2741
|
}
|
|
2742
2742
|
),
|
|
@@ -2765,7 +2765,7 @@ const Oc = ({
|
|
|
2765
2765
|
"aria-disabled": A.shouldDisableNext,
|
|
2766
2766
|
"aria-label": n.dateRangeNextAria,
|
|
2767
2767
|
color: A.shouldDisableNext ? "secondary" : "primary",
|
|
2768
|
-
onClick: () => A.shouldDisableNext ? null :
|
|
2768
|
+
onClick: () => A.shouldDisableNext ? null : F("next"),
|
|
2769
2769
|
children: /* @__PURE__ */ t(M, { name: "chevron_right", size: 28 })
|
|
2770
2770
|
}
|
|
2771
2771
|
)
|
|
@@ -2778,11 +2778,11 @@ const Oc = ({
|
|
|
2778
2778
|
color: e,
|
|
2779
2779
|
exclusive: !0,
|
|
2780
2780
|
orientation: "horizontal",
|
|
2781
|
-
value:
|
|
2782
|
-
children: N.buttons.map((
|
|
2781
|
+
value: P,
|
|
2782
|
+
children: N.buttons.map((k) => /* @__PURE__ */ t(
|
|
2783
2783
|
qn,
|
|
2784
2784
|
{
|
|
2785
|
-
onClick: () =>
|
|
2785
|
+
onClick: () => Q(k.value),
|
|
2786
2786
|
sx: {
|
|
2787
2787
|
fontSize: 15,
|
|
2788
2788
|
fontWeight: 600,
|
|
@@ -2806,10 +2806,10 @@ const Oc = ({
|
|
|
2806
2806
|
color: s.palette.grey[500]
|
|
2807
2807
|
}
|
|
2808
2808
|
},
|
|
2809
|
-
value:
|
|
2810
|
-
children:
|
|
2809
|
+
value: k.value,
|
|
2810
|
+
children: k.label
|
|
2811
2811
|
},
|
|
2812
|
-
|
|
2812
|
+
k.label
|
|
2813
2813
|
))
|
|
2814
2814
|
}
|
|
2815
2815
|
),
|
|
@@ -2817,17 +2817,17 @@ const Oc = ({
|
|
|
2817
2817
|
Oe,
|
|
2818
2818
|
{
|
|
2819
2819
|
indicatorColor: "primary",
|
|
2820
|
-
onChange: (
|
|
2820
|
+
onChange: (k, $) => Q($),
|
|
2821
2821
|
textColor: "primary",
|
|
2822
|
-
value:
|
|
2822
|
+
value: P,
|
|
2823
2823
|
variant: "fullWidth",
|
|
2824
|
-
children: N.tabs.map((
|
|
2824
|
+
children: N.tabs.map((k) => /* @__PURE__ */ t(
|
|
2825
2825
|
KA,
|
|
2826
2826
|
{
|
|
2827
|
-
label: /* @__PURE__ */ t(p, { bold: !0, variant: "Body", children:
|
|
2828
|
-
value:
|
|
2827
|
+
label: /* @__PURE__ */ t(p, { bold: !0, variant: "Body", children: k.label }),
|
|
2828
|
+
value: k.value
|
|
2829
2829
|
},
|
|
2830
|
-
|
|
2830
|
+
k.label
|
|
2831
2831
|
))
|
|
2832
2832
|
}
|
|
2833
2833
|
)
|
|
@@ -2841,7 +2841,7 @@ const Oc = ({
|
|
|
2841
2841
|
isOpen: T,
|
|
2842
2842
|
onClose: () => I(!1),
|
|
2843
2843
|
onPrimaryAction: () => {
|
|
2844
|
-
|
|
2844
|
+
X(), I(!1);
|
|
2845
2845
|
},
|
|
2846
2846
|
primaryText: n.dateRangeEditApply,
|
|
2847
2847
|
title: n.dateRangeEditTitle,
|
|
@@ -2850,8 +2850,8 @@ const Oc = ({
|
|
|
2850
2850
|
{
|
|
2851
2851
|
copy: n.dateRangePickerCopy,
|
|
2852
2852
|
dateRange: y,
|
|
2853
|
-
onRangeChanged: (
|
|
2854
|
-
v(
|
|
2853
|
+
onRangeChanged: (k, $) => {
|
|
2854
|
+
v(k), m($);
|
|
2855
2855
|
},
|
|
2856
2856
|
selectedShortcut: f,
|
|
2857
2857
|
sx: { p: 16 }
|
|
@@ -2865,7 +2865,7 @@ const Oc = ({
|
|
|
2865
2865
|
copy: { title: n.dateRangeEditTitle },
|
|
2866
2866
|
isOpen: !0,
|
|
2867
2867
|
onClose: () => I(!1),
|
|
2868
|
-
onPrimaryAction: () =>
|
|
2868
|
+
onPrimaryAction: () => X(),
|
|
2869
2869
|
primaryText: n.dateRangeEditApply,
|
|
2870
2870
|
sx: {
|
|
2871
2871
|
"& .MuiDialogContent-root": {
|
|
@@ -2877,8 +2877,8 @@ const Oc = ({
|
|
|
2877
2877
|
{
|
|
2878
2878
|
copy: n.dateRangePickerCopy,
|
|
2879
2879
|
dateRange: y,
|
|
2880
|
-
onRangeChanged: (
|
|
2881
|
-
v(
|
|
2880
|
+
onRangeChanged: (k, $) => {
|
|
2881
|
+
v(k), m($);
|
|
2882
2882
|
},
|
|
2883
2883
|
selectedShortcut: f,
|
|
2884
2884
|
sx: {
|
|
@@ -2951,7 +2951,7 @@ const Oc = ({
|
|
|
2951
2951
|
strokeWidth: r = ai,
|
|
2952
2952
|
children: a
|
|
2953
2953
|
}) => {
|
|
2954
|
-
const i =
|
|
2954
|
+
const i = gA(), o = (n - r) / 2, s = -90, c = e > 100 ? 100 : e, u = 2 * Math.PI * o * (1 - c / 100), d = n / 2;
|
|
2955
2955
|
return /* @__PURE__ */ l(
|
|
2956
2956
|
D,
|
|
2957
2957
|
{
|
|
@@ -3079,41 +3079,41 @@ const We = ({
|
|
|
3079
3079
|
sx: d = {},
|
|
3080
3080
|
title: h = ""
|
|
3081
3081
|
}) => {
|
|
3082
|
-
const [g, { height: f, width: m }] = yi(), { onEvent: y } = Y(), { isDesktop: v, isMobile: T, isTablet: I } = zA(), { displayedDateRange: w, selectedAccountGuids: x, setSelectedAccountGuids:
|
|
3082
|
+
const [g, { height: f, width: m }] = yi(), { onEvent: y } = Y(), { isDesktop: v, isMobile: T, isTablet: I } = zA(), { displayedDateRange: w, selectedAccountGuids: x, setSelectedAccountGuids: P } = CA(), { common: O } = L(), N = () => {
|
|
3083
3083
|
c && (c(), y(j.WIDGET_BACK_CLICK));
|
|
3084
|
-
},
|
|
3084
|
+
}, _ = {
|
|
3085
3085
|
accountFilterOptionsCopy: {
|
|
3086
|
-
accountTypeAccounts:
|
|
3087
|
-
cancelButton:
|
|
3088
|
-
filterButton:
|
|
3089
|
-
filterButtonAria:
|
|
3090
|
-
selectAllAccounts:
|
|
3091
|
-
toggleAccountTypeAccounts:
|
|
3092
|
-
unselectAllAccounts:
|
|
3093
|
-
zeroStateButton:
|
|
3094
|
-
zeroStateDescription:
|
|
3095
|
-
zeroStateTitle:
|
|
3086
|
+
accountTypeAccounts: O.account_filter.account_type_accounts,
|
|
3087
|
+
cancelButton: O.cancel_button,
|
|
3088
|
+
filterButton: O.filter_button,
|
|
3089
|
+
filterButtonAria: O.account_filter.filter_button_generic_aria,
|
|
3090
|
+
selectAllAccounts: O.account_filter.select_all_accounts,
|
|
3091
|
+
toggleAccountTypeAccounts: O.account_filter.toggle_account_type_accounts,
|
|
3092
|
+
unselectAllAccounts: O.account_filter.unselect_all_accounts,
|
|
3093
|
+
zeroStateButton: O.account_filter.zero_state_button,
|
|
3094
|
+
zeroStateDescription: O.account_filter.zero_state_description,
|
|
3095
|
+
zeroStateTitle: O.account_filter.zero_state_title
|
|
3096
3096
|
},
|
|
3097
|
-
title:
|
|
3098
|
-
},
|
|
3097
|
+
title: O.account_filter.title
|
|
3098
|
+
}, F = {
|
|
3099
3099
|
dateRangePickerCopy: {
|
|
3100
|
-
dateRangeFrom:
|
|
3101
|
-
dateRangeTo:
|
|
3102
|
-
dateRangeCustom:
|
|
3103
|
-
dateRangeSelectARange:
|
|
3104
|
-
dateRangeThisMonth:
|
|
3105
|
-
dateRangeLastMonth:
|
|
3106
|
-
dateRangeLast30Days:
|
|
3107
|
-
dateRangeLast90Days:
|
|
3108
|
-
dateRangeYTD:
|
|
3109
|
-
dateRangeLastYear:
|
|
3110
|
-
dateRangeSelect:
|
|
3100
|
+
dateRangeFrom: O.date_range_picker.from,
|
|
3101
|
+
dateRangeTo: O.date_range_picker.to,
|
|
3102
|
+
dateRangeCustom: O.date_range_picker.custom,
|
|
3103
|
+
dateRangeSelectARange: O.date_range_picker.select_range,
|
|
3104
|
+
dateRangeThisMonth: O.date_range_picker.this_month,
|
|
3105
|
+
dateRangeLastMonth: O.date_range_picker.last_month,
|
|
3106
|
+
dateRangeLast30Days: O.date_range_picker.last_30_days,
|
|
3107
|
+
dateRangeLast90Days: O.date_range_picker.last_90_days,
|
|
3108
|
+
dateRangeYTD: O.date_range_picker.ytd,
|
|
3109
|
+
dateRangeLastYear: O.date_range_picker.last_year,
|
|
3110
|
+
dateRangeSelect: O.date_range_picker.select
|
|
3111
3111
|
},
|
|
3112
|
-
dateRangeEditApply:
|
|
3113
|
-
dateRangeEditTitle:
|
|
3114
|
-
dateRangeNextAria:
|
|
3115
|
-
dateRangePreviousAria:
|
|
3116
|
-
},
|
|
3112
|
+
dateRangeEditApply: O.date_range_picker.edit_apply,
|
|
3113
|
+
dateRangeEditTitle: O.date_range_picker.edit_title,
|
|
3114
|
+
dateRangeNextAria: O.date_range_picker.next_aria,
|
|
3115
|
+
dateRangePreviousAria: O.date_range_picker.previous_aria
|
|
3116
|
+
}, X = a ? a.start : w.start, Q = a ? a.end : w.end;
|
|
3117
3117
|
return /* @__PURE__ */ l(
|
|
3118
3118
|
HA,
|
|
3119
3119
|
{
|
|
@@ -3139,8 +3139,8 @@ const We = ({
|
|
|
3139
3139
|
jr,
|
|
3140
3140
|
{
|
|
3141
3141
|
calendarActions: n,
|
|
3142
|
-
copy:
|
|
3143
|
-
range: [
|
|
3142
|
+
copy: F,
|
|
3143
|
+
range: [X, Q],
|
|
3144
3144
|
shouldShrinkToIcon: !1,
|
|
3145
3145
|
variant: i
|
|
3146
3146
|
}
|
|
@@ -3149,10 +3149,10 @@ const We = ({
|
|
|
3149
3149
|
di,
|
|
3150
3150
|
{
|
|
3151
3151
|
accounts: A,
|
|
3152
|
-
copy:
|
|
3153
|
-
onFilterClick: (
|
|
3154
|
-
const
|
|
3155
|
-
|
|
3152
|
+
copy: _,
|
|
3153
|
+
onFilterClick: (k) => {
|
|
3154
|
+
const $ = A.filter((nA) => k.includes(nA.guid)).map((nA) => nA.guid);
|
|
3155
|
+
P($), u?.();
|
|
3156
3156
|
},
|
|
3157
3157
|
selectedAccountGuids: x,
|
|
3158
3158
|
showAccountNumbers: !1,
|
|
@@ -3161,23 +3161,23 @@ const We = ({
|
|
|
3161
3161
|
}
|
|
3162
3162
|
),
|
|
3163
3163
|
e.map(
|
|
3164
|
-
(
|
|
3164
|
+
(k) => v || I ? /* @__PURE__ */ t(
|
|
3165
3165
|
sA,
|
|
3166
3166
|
{
|
|
3167
|
-
onClick:
|
|
3168
|
-
startIcon: /* @__PURE__ */ t(M, { name:
|
|
3167
|
+
onClick: k.onClick,
|
|
3168
|
+
startIcon: /* @__PURE__ */ t(M, { name: k.iconName }),
|
|
3169
3169
|
sx: { mx: 4 },
|
|
3170
|
-
children:
|
|
3170
|
+
children: k.label
|
|
3171
3171
|
},
|
|
3172
|
-
|
|
3172
|
+
k.iconName
|
|
3173
3173
|
) : /* @__PURE__ */ t(
|
|
3174
3174
|
qA,
|
|
3175
3175
|
{
|
|
3176
|
-
"aria-label":
|
|
3177
|
-
onClick:
|
|
3178
|
-
children: /* @__PURE__ */ t(M, { name:
|
|
3176
|
+
"aria-label": k.label,
|
|
3177
|
+
onClick: k.onClick,
|
|
3178
|
+
children: /* @__PURE__ */ t(M, { name: k.iconName })
|
|
3179
3179
|
},
|
|
3180
|
-
|
|
3180
|
+
k.iconName
|
|
3181
3181
|
)
|
|
3182
3182
|
)
|
|
3183
3183
|
] }),
|
|
@@ -3195,7 +3195,7 @@ const We = ({
|
|
|
3195
3195
|
T && c && /* @__PURE__ */ t(
|
|
3196
3196
|
qA,
|
|
3197
3197
|
{
|
|
3198
|
-
"aria-label":
|
|
3198
|
+
"aria-label": O.back_to_dashboard,
|
|
3199
3199
|
onClick: N,
|
|
3200
3200
|
sx: { ml: -16, mr: 16 },
|
|
3201
3201
|
children: /* @__PURE__ */ t(M, { name: "arrow_back" })
|
|
@@ -3212,8 +3212,8 @@ const We = ({
|
|
|
3212
3212
|
jr,
|
|
3213
3213
|
{
|
|
3214
3214
|
calendarActions: n,
|
|
3215
|
-
copy:
|
|
3216
|
-
range: [
|
|
3215
|
+
copy: F,
|
|
3216
|
+
range: [X, Q],
|
|
3217
3217
|
shouldShrinkToIcon: !1,
|
|
3218
3218
|
variant: i
|
|
3219
3219
|
}
|
|
@@ -3259,7 +3259,7 @@ const Qr = "connect_widget", Ur = "connections_widget", Al = ({
|
|
|
3259
3259
|
let a;
|
|
3260
3260
|
const { refreshAccounts: i } = LA(), { loadWidget: o } = Ci(), { connect: s } = L(), [c, u] = C.useState(!1), [d, h] = C.useState(!1), {
|
|
3261
3261
|
palette: { mode: g }
|
|
3262
|
-
} =
|
|
3262
|
+
} = gA();
|
|
3263
3263
|
return C.useEffect(() => (n ? (u(!0), o({ mode: g, ...A }).then((f) => {
|
|
3264
3264
|
a = new Yo({
|
|
3265
3265
|
container: `#${Qr}`,
|
|
@@ -3309,34 +3309,34 @@ const Qr = "connect_widget", Ur = "connections_widget", Al = ({
|
|
|
3309
3309
|
...h
|
|
3310
3310
|
}) => {
|
|
3311
3311
|
const [g, f] = C.useState(""), { common: m } = L(), y = a || m.currency_input, v = RA(), T = el(v), I = /^[0-9]*$/, w = /^(\d)*(\,)?([0-9]{1,2})?$/, x = /^(\d)*(\.)?([0-9]{1,2})?$/;
|
|
3312
|
-
let
|
|
3313
|
-
const
|
|
3312
|
+
let P;
|
|
3313
|
+
const O = C.useRef(Jo());
|
|
3314
3314
|
if (A)
|
|
3315
3315
|
switch (rc()) {
|
|
3316
3316
|
case Ft.CAD:
|
|
3317
|
-
|
|
3317
|
+
P = w;
|
|
3318
3318
|
break;
|
|
3319
3319
|
default:
|
|
3320
|
-
|
|
3320
|
+
P = x;
|
|
3321
3321
|
break;
|
|
3322
3322
|
}
|
|
3323
3323
|
else
|
|
3324
|
-
|
|
3324
|
+
P = I;
|
|
3325
3325
|
C.useEffect(() => {
|
|
3326
3326
|
N(n);
|
|
3327
3327
|
}, [n]);
|
|
3328
|
-
const N = (
|
|
3329
|
-
!r && (
|
|
3330
|
-
|
|
3328
|
+
const N = (_) => {
|
|
3329
|
+
!r && (_ === "" || _ === "." || _ === ",") ? (f(""), d?.(!1)) : Number(_) < c ? (f(
|
|
3330
|
+
H(
|
|
3331
3331
|
y.error_amount_must_be_equal_to,
|
|
3332
3332
|
z(c, "0")
|
|
3333
3333
|
)
|
|
3334
|
-
), d?.(!1)) : Number(
|
|
3335
|
-
|
|
3334
|
+
), d?.(!1)) : Number(_) > Rr ? (f(
|
|
3335
|
+
H(
|
|
3336
3336
|
y.error_amount_must_be_less_than_or_equal_to,
|
|
3337
3337
|
z(Rr, A ? "0,0.00" : "0,0", Math.floor)
|
|
3338
3338
|
)
|
|
3339
|
-
), d?.(!1)) :
|
|
3339
|
+
), d?.(!1)) : _.toString().match(P) ? i() ? (f(""), d?.(!0)) : (f(o), d?.(!1)) : (f(y.error_amount_is_invalid), d?.(!1)), u(_.toString());
|
|
3340
3340
|
};
|
|
3341
3341
|
return /* @__PURE__ */ t(
|
|
3342
3342
|
Be,
|
|
@@ -3355,8 +3355,8 @@ const Qr = "connect_widget", Ur = "connections_widget", Al = ({
|
|
|
3355
3355
|
pattern: "[0-9]*"
|
|
3356
3356
|
},
|
|
3357
3357
|
label: s,
|
|
3358
|
-
name: `currency-input-${
|
|
3359
|
-
onChange: (
|
|
3358
|
+
name: `currency-input-${O.current}`,
|
|
3359
|
+
onChange: (_) => N(_.target.value),
|
|
3360
3360
|
value: n,
|
|
3361
3361
|
...h
|
|
3362
3362
|
}
|
|
@@ -3379,7 +3379,7 @@ const Qr = "connect_widget", Ur = "connections_widget", Al = ({
|
|
|
3379
3379
|
tooltipText: a,
|
|
3380
3380
|
variant: i = "text"
|
|
3381
3381
|
}) => {
|
|
3382
|
-
const o =
|
|
3382
|
+
const o = gA();
|
|
3383
3383
|
return /* @__PURE__ */ l(C.Fragment, { children: [
|
|
3384
3384
|
/* @__PURE__ */ t(
|
|
3385
3385
|
sA,
|
|
@@ -3444,7 +3444,7 @@ const Qr = "connect_widget", Ur = "connections_widget", Al = ({
|
|
|
3444
3444
|
tooltip: r = "",
|
|
3445
3445
|
value: a
|
|
3446
3446
|
}) => {
|
|
3447
|
-
const i =
|
|
3447
|
+
const i = gA(), o = i.palette.mode === "light" ? i.palette.grey[400] : i.palette.grey[700], s = A ? i.palette.action.active : o;
|
|
3448
3448
|
return /* @__PURE__ */ t(
|
|
3449
3449
|
D,
|
|
3450
3450
|
{
|
|
@@ -3524,7 +3524,7 @@ const Qr = "connect_widget", Ur = "connections_widget", Al = ({
|
|
|
3524
3524
|
]
|
|
3525
3525
|
}
|
|
3526
3526
|
), Wt = ({ iconName: A, label: e, onClick: n, value: r }) => {
|
|
3527
|
-
const a = /* @__PURE__ */ l(
|
|
3527
|
+
const a = /* @__PURE__ */ l(AA, { children: [
|
|
3528
3528
|
/* @__PURE__ */ t(xA, { children: /* @__PURE__ */ t(Pe, { sx: { bgcolor: "border.light" }, variant: "rounded", children: /* @__PURE__ */ t(M, { name: A, sx: { color: "text.primary" }, weight: jA.Dark }) }) }),
|
|
3529
3529
|
/* @__PURE__ */ t(
|
|
3530
3530
|
tA,
|
|
@@ -3630,16 +3630,16 @@ class Yr {
|
|
|
3630
3630
|
constructor(e, n) {
|
|
3631
3631
|
this.fetchInstance = new YA(e, n);
|
|
3632
3632
|
}
|
|
3633
|
-
addBudget = async (e, n, r = null) => this.fetchInstance.post(
|
|
3633
|
+
addBudget = async (e, n, r = null) => this.fetchInstance.post(R.BUDGETS, {
|
|
3634
3634
|
amount: n,
|
|
3635
3635
|
category_guid: e.guid,
|
|
3636
3636
|
category_name: e.name,
|
|
3637
3637
|
parent_guid: r
|
|
3638
3638
|
}).then((a) => a.budget).catch((a) => a);
|
|
3639
|
-
deleteBudget = async (e) => this.fetchInstance.delete(`${
|
|
3640
|
-
generateBudgets = async () => this.fetchInstance.post(`${
|
|
3641
|
-
getBudgets = async () => this.fetchInstance.get(
|
|
3642
|
-
updateBudget = async (e) => this.fetchInstance.put(`${
|
|
3639
|
+
deleteBudget = async (e) => this.fetchInstance.delete(`${R.BUDGETS}/${e}`).then((n) => n);
|
|
3640
|
+
generateBudgets = async () => this.fetchInstance.post(`${R.BUDGETS}/generate`).then((e) => e);
|
|
3641
|
+
getBudgets = async () => this.fetchInstance.get(R.BUDGETS).then((e) => e.budgets).catch((e) => e);
|
|
3642
|
+
updateBudget = async (e) => this.fetchInstance.put(`${R.BUDGETS}/${e.guid}`, e).then((n) => n.budget).catch((n) => n);
|
|
3643
3643
|
}
|
|
3644
3644
|
const Vr = (A, e) => !A && !e ? 0 : !A && e ? 101 : e / A * 100, Jr = (A, e) => {
|
|
3645
3645
|
const n = {
|
|
@@ -3665,7 +3665,7 @@ const Vr = (A, e) => !A && !e ? 0 : !A && e ? 101 : e / A * 100, Jr = (A, e) =>
|
|
|
3665
3665
|
...i,
|
|
3666
3666
|
budgetColors: Jr(c, r),
|
|
3667
3667
|
category: o,
|
|
3668
|
-
description:
|
|
3668
|
+
description: H(
|
|
3669
3669
|
u < 0 ? n.budget_remaining_over : n.budget_remaining_left,
|
|
3670
3670
|
z(Math.abs(u), "0,0")
|
|
3671
3671
|
),
|
|
@@ -3684,7 +3684,7 @@ const Vr = (A, e) => !A && !e ? 0 : !A && e ? 101 : e / A * 100, Jr = (A, e) =>
|
|
|
3684
3684
|
...i,
|
|
3685
3685
|
budgetColors: Jr(d, r),
|
|
3686
3686
|
category: o,
|
|
3687
|
-
description:
|
|
3687
|
+
description: H(
|
|
3688
3688
|
u < 0 ? n.budget_remaining_over : n.budget_remaining_left,
|
|
3689
3689
|
z(Math.abs(u), "0,0")
|
|
3690
3690
|
),
|
|
@@ -3814,7 +3814,7 @@ const ot = () => {
|
|
|
3814
3814
|
return rr().uiStore;
|
|
3815
3815
|
}, ll = ({ remaining: A }) => {
|
|
3816
3816
|
const { cashflow: e } = L();
|
|
3817
|
-
return /* @__PURE__ */ l(
|
|
3817
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
3818
3818
|
/* @__PURE__ */ t(
|
|
3819
3819
|
D,
|
|
3820
3820
|
{
|
|
@@ -3830,7 +3830,7 @@ const ot = () => {
|
|
|
3830
3830
|
/* @__PURE__ */ t(SA, { amount: A, bold: !0, sx: { fontSize: 12 } })
|
|
3831
3831
|
] });
|
|
3832
3832
|
}, ir = S(ll), dl = ({ onAddIncomeClick: A }) => {
|
|
3833
|
-
const e =
|
|
3833
|
+
const e = gA(), { availableWidth: n } = Ot(), { cashAccounts: r, cashBalance: a } = LA(), { selectedAccountGuids: i } = CA(), { cashflow: o } = L(), { userProfile: s } = an(), {
|
|
3834
3834
|
daysUntilNextIncome: c,
|
|
3835
3835
|
expensesTilNextIncome: u,
|
|
3836
3836
|
selectedCashAccounts: d,
|
|
@@ -3846,10 +3846,10 @@ const ot = () => {
|
|
|
3846
3846
|
m && h(m), f(y);
|
|
3847
3847
|
}, [m, y]);
|
|
3848
3848
|
const v = C.useMemo(
|
|
3849
|
-
() => r.filter((x) => i.includes(x.guid)).reduce((x,
|
|
3849
|
+
() => r.filter((x) => i.includes(x.guid)).reduce((x, P) => x + (P?.balance || 0), 0),
|
|
3850
3850
|
[i, y]
|
|
3851
3851
|
), T = C.useMemo(
|
|
3852
|
-
() => u.filter((x) => i.includes(x.accountGuid || "")).reduce((x,
|
|
3852
|
+
() => u.filter((x) => i.includes(x.accountGuid || "")).reduce((x, P) => x + P.amount, 0),
|
|
3853
3853
|
[i, u]
|
|
3854
3854
|
), I = C.useMemo(
|
|
3855
3855
|
() => v - T,
|
|
@@ -3866,7 +3866,7 @@ const ot = () => {
|
|
|
3866
3866
|
children: [
|
|
3867
3867
|
/* @__PURE__ */ l(E, { pb: 14, pt: 12, children: [
|
|
3868
3868
|
/* @__PURE__ */ t(SA, { amount: v, variant: "H2" }),
|
|
3869
|
-
/* @__PURE__ */ t(EA, { variant: "XSmall", whiteSpace: "nowrap", children:
|
|
3869
|
+
/* @__PURE__ */ t(EA, { variant: "XSmall", whiteSpace: "nowrap", children: H(
|
|
3870
3870
|
o.total_cash_accounts,
|
|
3871
3871
|
d.length
|
|
3872
3872
|
) })
|
|
@@ -3874,7 +3874,7 @@ const ot = () => {
|
|
|
3874
3874
|
/* @__PURE__ */ t(E, { pt: 18, children: /* @__PURE__ */ t(M, { name: "remove" }) }),
|
|
3875
3875
|
/* @__PURE__ */ l(E, { pb: 14, pt: 12, children: [
|
|
3876
3876
|
/* @__PURE__ */ t(SA, { amount: T, variant: "H2" }),
|
|
3877
|
-
/* @__PURE__ */ t(EA, { variant: "XSmall", whiteSpace: "nowrap", children:
|
|
3877
|
+
/* @__PURE__ */ t(EA, { variant: "XSmall", whiteSpace: "nowrap", children: H(o.expenses_due, u.length) })
|
|
3878
3878
|
] }),
|
|
3879
3879
|
/* @__PURE__ */ t(E, { pt: 18, children: /* @__PURE__ */ t(M, { name: "equals" }) }),
|
|
3880
3880
|
/* @__PURE__ */ l(E, { pb: 14, pr: 24, pt: 12, children: [
|
|
@@ -3884,8 +3884,8 @@ const ot = () => {
|
|
|
3884
3884
|
/* @__PURE__ */ t(Yt, { body: o.tooltip_body, title: o.tooltip_title })
|
|
3885
3885
|
] })
|
|
3886
3886
|
] }),
|
|
3887
|
-
/* @__PURE__ */ t(E, { borderLeft: `1px solid ${e.palette.border.light}`, pb: 12, pl: 24, pt: 12, children: w ? /* @__PURE__ */ l(
|
|
3888
|
-
/* @__PURE__ */ t(p, { variant: "H2", children:
|
|
3887
|
+
/* @__PURE__ */ t(E, { borderLeft: `1px solid ${e.palette.border.light}`, pb: 12, pl: 24, pt: 12, children: w ? /* @__PURE__ */ l(AA, { children: [
|
|
3888
|
+
/* @__PURE__ */ t(p, { variant: "H2", children: H(o.days, c) }),
|
|
3889
3889
|
/* @__PURE__ */ t(EA, { variant: "XSmall", whiteSpace: "nowrap", children: o.next_paycheck })
|
|
3890
3890
|
] }) : /* @__PURE__ */ t(
|
|
3891
3891
|
sA,
|
|
@@ -3900,7 +3900,7 @@ const ot = () => {
|
|
|
3900
3900
|
}
|
|
3901
3901
|
) : /* @__PURE__ */ l(E, { border: `1px solid ${e.palette.border.light}`, borderRadius: 1, children: [
|
|
3902
3902
|
/* @__PURE__ */ l(E, { direction: "row", justifyContent: "space-between", p: 16, children: [
|
|
3903
|
-
/* @__PURE__ */ t(p, { variant: "Small", children:
|
|
3903
|
+
/* @__PURE__ */ t(p, { variant: "Small", children: H(
|
|
3904
3904
|
o.total_cash_accounts,
|
|
3905
3905
|
d.length
|
|
3906
3906
|
) }),
|
|
@@ -3908,7 +3908,7 @@ const ot = () => {
|
|
|
3908
3908
|
] }),
|
|
3909
3909
|
/* @__PURE__ */ t(q, {}),
|
|
3910
3910
|
/* @__PURE__ */ l(E, { direction: "row", justifyContent: "space-between", p: 16, children: [
|
|
3911
|
-
/* @__PURE__ */ t(p, { variant: "Small", children:
|
|
3911
|
+
/* @__PURE__ */ t(p, { variant: "Small", children: H(o.expenses_due, u.length) }),
|
|
3912
3912
|
/* @__PURE__ */ t(SA, { amount: T, bold: !0, symbol: "-", variant: "XSmall" })
|
|
3913
3913
|
] }),
|
|
3914
3914
|
/* @__PURE__ */ t(q, {}),
|
|
@@ -3929,7 +3929,7 @@ const ot = () => {
|
|
|
3929
3929
|
/* @__PURE__ */ t(q, {}),
|
|
3930
3930
|
w ? /* @__PURE__ */ l(E, { direction: "row", justifyContent: "space-between", p: 16, children: [
|
|
3931
3931
|
/* @__PURE__ */ t(p, { variant: "Small", children: o.next_paycheck }),
|
|
3932
|
-
/* @__PURE__ */ t(p, { bold: !0, variant: "XSmall", children:
|
|
3932
|
+
/* @__PURE__ */ t(p, { bold: !0, variant: "XSmall", children: H(o.days, c) })
|
|
3933
3933
|
] }) : /* @__PURE__ */ l(
|
|
3934
3934
|
E,
|
|
3935
3935
|
{
|
|
@@ -3974,14 +3974,14 @@ class Zr {
|
|
|
3974
3974
|
constructor(e, n) {
|
|
3975
3975
|
this.fetchInstance = new YA(e, n);
|
|
3976
3976
|
}
|
|
3977
|
-
addTag = async (e) => this.fetchInstance.post(
|
|
3978
|
-
addTagging = async (e) => this.fetchInstance.post(
|
|
3979
|
-
addTransaction = async (e) => this.fetchInstance.post(
|
|
3980
|
-
addTransactionRule = async (e) => this.fetchInstance.post(
|
|
3981
|
-
getTaggings = async () => this.fetchInstance.get(
|
|
3982
|
-
getTags = async () => this.fetchInstance.get(
|
|
3983
|
-
getTransactionRules = async () => this.fetchInstance.get(
|
|
3984
|
-
getTransactionsByDateRange = async (e, n) => this.fetchInstance.get(`${
|
|
3977
|
+
addTag = async (e) => this.fetchInstance.post(R.TAGS, e).then((n) => n.tag);
|
|
3978
|
+
addTagging = async (e) => this.fetchInstance.post(R.TAGGINGS, e).then((n) => n.tagging);
|
|
3979
|
+
addTransaction = async (e) => this.fetchInstance.post(R.TRANSACTIONS, e).then((n) => n.transaction);
|
|
3980
|
+
addTransactionRule = async (e) => this.fetchInstance.post(R.TRANSACTION_RULES, e).then((n) => n);
|
|
3981
|
+
getTaggings = async () => this.fetchInstance.get(R.TAGGINGS).then((e) => e.map((n) => n.tagging));
|
|
3982
|
+
getTags = async () => this.fetchInstance.get(R.TAGS).then((e) => e.map((n) => n.tag));
|
|
3983
|
+
getTransactionRules = async () => this.fetchInstance.get(R.TRANSACTION_RULES).then((e) => e.transaction_rules);
|
|
3984
|
+
getTransactionsByDateRange = async (e, n) => this.fetchInstance.get(`${R.TRANSACTIONS}/by_date/${e}/${n}`).then((r) => r.map((a) => a.transaction));
|
|
3985
3985
|
// DEPRECATED
|
|
3986
3986
|
getTransactionsByAccountsAndDateRange = async (e, n, r) => {
|
|
3987
3987
|
console.warn("DEPRECATED: getTransactionsByAccountsAndDateRange will be removed");
|
|
@@ -3989,13 +3989,13 @@ class Zr {
|
|
|
3989
3989
|
(i, o, s) => `${i}account_guids[]=${o}${s !== e.length - 1 ? "&" : ""}`,
|
|
3990
3990
|
""
|
|
3991
3991
|
);
|
|
3992
|
-
return this.fetchInstance.get(`${
|
|
3992
|
+
return this.fetchInstance.get(`${R.TRANSACTIONS}/by_date/${n}/${r}?${a}`).then((i) => i.map((o) => o.transaction));
|
|
3993
3993
|
};
|
|
3994
3994
|
// DEPRECATED
|
|
3995
|
-
getTransactionsByGuids = async (e) => (console.warn("DEPRECATED: getTransactionsByGuids will be removed"), this.fetchInstance.post(`${
|
|
3995
|
+
getTransactionsByGuids = async (e) => (console.warn("DEPRECATED: getTransactionsByGuids will be removed"), this.fetchInstance.post(`${R.TRANSACTIONS}/by_guids`, { guids: e.join("+") }).then((n) => n.map((r) => r.transaction)));
|
|
3996
3996
|
// DEPRECATED
|
|
3997
3997
|
getTransactionsByCategoryAndDate = async (e, n, r) => (console.warn("DEPRECATED: getTransactionsByCategoryAndDate will be removed"), this.fetchInstance.get(
|
|
3998
|
-
`${
|
|
3998
|
+
`${R.TRANSACTIONS}/by_category_guid/${e}/by_date/${n}/${r}`
|
|
3999
3999
|
).then((a) => a.map((i) => i.transaction)));
|
|
4000
4000
|
// DEPRECATED
|
|
4001
4001
|
getTransactionsByCategoryDateAndAccounts = async (e, n, r, a) => {
|
|
@@ -4005,7 +4005,7 @@ class Zr {
|
|
|
4005
4005
|
""
|
|
4006
4006
|
);
|
|
4007
4007
|
return this.fetchInstance.get(
|
|
4008
|
-
`${
|
|
4008
|
+
`${R.TRANSACTIONS}/by_category_guid/${e}/by_date/${n}/${r}?${i}`
|
|
4009
4009
|
).then((o) => o.map((s) => s.transaction));
|
|
4010
4010
|
};
|
|
4011
4011
|
// DEPRECATED
|
|
@@ -4016,7 +4016,7 @@ class Zr {
|
|
|
4016
4016
|
""
|
|
4017
4017
|
);
|
|
4018
4018
|
return this.fetchInstance.get(
|
|
4019
|
-
`${
|
|
4019
|
+
`${R.TRANSACTIONS}/by_category_guids/${e.join(
|
|
4020
4020
|
"+"
|
|
4021
4021
|
)}/by_date/${n}/${r}?${i}`
|
|
4022
4022
|
).then((o) => o.map((s) => s.transaction));
|
|
@@ -4032,7 +4032,7 @@ class Zr {
|
|
|
4032
4032
|
*/
|
|
4033
4033
|
getTransactionsByTopLevelCategoryAndDate = async (e, n, r, a = []) => {
|
|
4034
4034
|
console.warn("DEPRECATED: getTransactionsByTopLevelCategoryAndDate will be removed");
|
|
4035
|
-
let i = `${
|
|
4035
|
+
let i = `${R.TRANSACTIONS}/by_top_level_category_guid/${e}/by_date/${n}/${r}`;
|
|
4036
4036
|
if (a.length > 0) {
|
|
4037
4037
|
const o = a.reduce(
|
|
4038
4038
|
(s, c, u) => `${s}account_guids[]=${c}${u !== a.length - 1 ? "&" : ""}`,
|
|
@@ -4042,13 +4042,13 @@ class Zr {
|
|
|
4042
4042
|
}
|
|
4043
4043
|
return this.fetchInstance.get(i).then((o) => o.map((s) => s.transaction));
|
|
4044
4044
|
};
|
|
4045
|
-
removeTag = async (e) => this.fetchInstance.delete(`${
|
|
4046
|
-
removeTagging = async (e) => this.fetchInstance.delete(`${
|
|
4047
|
-
removeTransaction = async (e) => this.fetchInstance.delete(`${
|
|
4048
|
-
removeTransactionSplit = async (e) => this.fetchInstance.delete(`${
|
|
4049
|
-
updateTransactionRule = async (e) => this.fetchInstance.put(`${
|
|
4050
|
-
updateTag = async (e) => this.fetchInstance.put(`${
|
|
4051
|
-
updateTransaction = async (e) => this.fetchInstance.put(`${
|
|
4045
|
+
removeTag = async (e) => this.fetchInstance.delete(`${R.TAGS}/${e}`).then((n) => n);
|
|
4046
|
+
removeTagging = async (e) => this.fetchInstance.delete(`${R.TAGGINGS}/${e}`).then((n) => n);
|
|
4047
|
+
removeTransaction = async (e) => this.fetchInstance.delete(`${R.TRANSACTIONS}/${e}`).then((n) => n);
|
|
4048
|
+
removeTransactionSplit = async (e) => this.fetchInstance.delete(`${R.TRANSACTIONS}/${e}/unsplit`).then((n) => n);
|
|
4049
|
+
updateTransactionRule = async (e) => this.fetchInstance.put(`${R.TRANSACTION_RULES}/${e.guid}`, e).then((n) => n);
|
|
4050
|
+
updateTag = async (e) => this.fetchInstance.put(`${R.TAGS}/${e.guid}`, e).then((n) => n.tag);
|
|
4051
|
+
updateTransaction = async (e) => this.fetchInstance.put(`${R.TRANSACTIONS}/${e.guid}`, e).then((n) => n.transaction);
|
|
4052
4052
|
}
|
|
4053
4053
|
var Ct = /* @__PURE__ */ ((A) => (A[A.Category = 0] = "Category", A[A.Date = 1] = "Date", A[A.Memo = 2] = "Memo", A[A.Tags = 3] = "Tags", A))(Ct || {}), Bt = /* @__PURE__ */ ((A) => (A[A.SplitTransaction = 0] = "SplitTransaction", A[A.HideTransaction = 1] = "HideTransaction", A[A.MerchantLogo = 2] = "MerchantLogo", A))(Bt || {});
|
|
4054
4054
|
const gl = [
|
|
@@ -4418,7 +4418,7 @@ const gl = [
|
|
|
4418
4418
|
custom: i = () => !0,
|
|
4419
4419
|
searchTerm: o = ""
|
|
4420
4420
|
} = A;
|
|
4421
|
-
return n.filter((s) => !s.parent_guid).filter((s) => !!r.find((c) => c === s.account_guid)).filter((s) => s.date >
|
|
4421
|
+
return n.filter((s) => !s.parent_guid).filter((s) => !!r.find((c) => c === s.account_guid)).filter((s) => s.date > fA(a.start) && s.date < fA(a.end)).filter(i).filter((s) => {
|
|
4422
4422
|
if (o === pl && s.has_been_split)
|
|
4423
4423
|
return !1;
|
|
4424
4424
|
if (/^spl/i.test(o) && (s.has_been_split || s.parent_guid))
|
|
@@ -4598,8 +4598,8 @@ class Il {
|
|
|
4598
4598
|
this.setIsLoading(!0), this.transactions = [];
|
|
4599
4599
|
try {
|
|
4600
4600
|
const r = await this.api.getTransactionsByDateRange(
|
|
4601
|
-
|
|
4602
|
-
|
|
4601
|
+
fA(e),
|
|
4602
|
+
fA(n)
|
|
4603
4603
|
);
|
|
4604
4604
|
V(() => {
|
|
4605
4605
|
this.transactions = this.augmentTransactions(r);
|
|
@@ -4700,7 +4700,7 @@ class Il {
|
|
|
4700
4700
|
const Ae = () => {
|
|
4701
4701
|
if (!C.useContext(it))
|
|
4702
4702
|
throw new Error("useTransactionsUiStore() must be used within the GlobalDataContext");
|
|
4703
|
-
return
|
|
4703
|
+
return uA().uiStore;
|
|
4704
4704
|
}, wi = (A, e) => {
|
|
4705
4705
|
const n = xl(Dl(A, e)), r = encodeURIComponent(n), a = document.createElement("a");
|
|
4706
4706
|
a.href = `data:attachment/csv;charset=utf-8,${r}`, a.download = "transactions.csv", document.body.appendChild(a), a.click(), document.body.removeChild(a);
|
|
@@ -4724,7 +4724,7 @@ const Ae = () => {
|
|
|
4724
4724
|
let e = A.parent_guid ? "Split: " : "";
|
|
4725
4725
|
return e += A.is_hidden ? "(Excluded) " : "", e += A.description, e;
|
|
4726
4726
|
}, Pl = (A, e) => A.tags.map((n) => e.filter((a) => a.guid === n)[0]?.name ?? "").join(" "), Nl = ({ transaction: A, onClick: e }) => {
|
|
4727
|
-
const { associatedBeats: n } =
|
|
4727
|
+
const { associatedBeats: n } = uA(), { transactions: r } = L(), { showInsights: a } = Ae(), i = A.transaction_type === UA.CREDIT, o = C.useMemo(() => n.find((s) => s.associated_transaction_guid === A.guid), [n, A]);
|
|
4728
4728
|
return /* @__PURE__ */ l(
|
|
4729
4729
|
nl,
|
|
4730
4730
|
{
|
|
@@ -4792,7 +4792,7 @@ const Ae = () => {
|
|
|
4792
4792
|
width: o = "100%",
|
|
4793
4793
|
zeroState: s = /* @__PURE__ */ t(_l, {})
|
|
4794
4794
|
}) => {
|
|
4795
|
-
const { isLoading: c, sortedTransactions: u } =
|
|
4795
|
+
const { isLoading: c, sortedTransactions: u } = uA(), { setShowInsights: d, toggleSplit: h } = Ae(), { onEvent: g } = Y(), f = (v) => {
|
|
4796
4796
|
const T = u.find((I) => I.guid === v);
|
|
4797
4797
|
if (T?.has_been_split) {
|
|
4798
4798
|
h(T.guid);
|
|
@@ -4847,7 +4847,7 @@ const Ae = () => {
|
|
|
4847
4847
|
`${A.row.account}`,
|
|
4848
4848
|
A.row.number && ` | ${A.row.number}`
|
|
4849
4849
|
] }), Bl = (A) => {
|
|
4850
|
-
const { associatedBeats: e } =
|
|
4850
|
+
const { associatedBeats: e } = uA(), { showInsights: n } = Ae(), { amount: r, transaction_type: a } = A.row, i = e.find((s) => s.associated_transaction_guid === A.row.guid), o = a === UA.CREDIT;
|
|
4851
4851
|
return /* @__PURE__ */ l(E, { alignItems: "flex-end", tabIndex: A.tabIndex, children: [
|
|
4852
4852
|
/* @__PURE__ */ l(p, { color: o ? "success.main" : "text.primary", variant: "Small", children: [
|
|
4853
4853
|
o ? "+" : "",
|
|
@@ -4916,7 +4916,7 @@ const Ae = () => {
|
|
|
4916
4916
|
onCategoryClick: e,
|
|
4917
4917
|
onRowClick: n
|
|
4918
4918
|
}) => {
|
|
4919
|
-
const { isLoading: r, sortedTransactions: a } =
|
|
4919
|
+
const { isLoading: r, sortedTransactions: a } = uA(), { transactions: i } = L(), o = [
|
|
4920
4920
|
{
|
|
4921
4921
|
field: "flag",
|
|
4922
4922
|
headerName: "",
|
|
@@ -5026,12 +5026,12 @@ const Ul = ({
|
|
|
5026
5026
|
u = s.add_subcategory_title;
|
|
5027
5027
|
break;
|
|
5028
5028
|
case "edit":
|
|
5029
|
-
u =
|
|
5029
|
+
u = H(s.edit_subcategory_title, A);
|
|
5030
5030
|
break;
|
|
5031
5031
|
case "delete":
|
|
5032
|
-
u = s.delete_subcategory_heading, d =
|
|
5032
|
+
u = s.delete_subcategory_heading, d = H(
|
|
5033
5033
|
s.all_transactions_in_this_subcategory,
|
|
5034
|
-
/* @__PURE__ */ t(p, { bold: !0, children:
|
|
5034
|
+
/* @__PURE__ */ t(p, { bold: !0, children: H(s.all_parent_category, A) })
|
|
5035
5035
|
);
|
|
5036
5036
|
break;
|
|
5037
5037
|
}
|
|
@@ -5173,7 +5173,7 @@ const Ul = ({
|
|
|
5173
5173
|
/* @__PURE__ */ t(
|
|
5174
5174
|
qA,
|
|
5175
5175
|
{
|
|
5176
|
-
"aria-label":
|
|
5176
|
+
"aria-label": H(u.edit_subcategory_aria, e.name),
|
|
5177
5177
|
onClick: () => {
|
|
5178
5178
|
g(!0), i(!0), d(ce.ON_SUBCATEGORY_EDIT_CLICK);
|
|
5179
5179
|
},
|
|
@@ -5183,7 +5183,7 @@ const Ul = ({
|
|
|
5183
5183
|
/* @__PURE__ */ t(
|
|
5184
5184
|
qA,
|
|
5185
5185
|
{
|
|
5186
|
-
"aria-label":
|
|
5186
|
+
"aria-label": H(u.delete_subcategory_aria, e.name),
|
|
5187
5187
|
edge: "end",
|
|
5188
5188
|
onClick: () => {
|
|
5189
5189
|
m(!0), i(!0), d(ce.ON_SUBCATEGORY_DELETE_CLICK);
|
|
@@ -5275,7 +5275,7 @@ const Ul = ({
|
|
|
5275
5275
|
const d = [
|
|
5276
5276
|
{
|
|
5277
5277
|
...c,
|
|
5278
|
-
name:
|
|
5278
|
+
name: H(n.all_parent_category, c.name),
|
|
5279
5279
|
parent_guid: c.guid
|
|
5280
5280
|
},
|
|
5281
5281
|
...i
|
|
@@ -5489,8 +5489,8 @@ class gd {
|
|
|
5489
5489
|
this.setIsLoadingCategoryTotals(!0);
|
|
5490
5490
|
try {
|
|
5491
5491
|
const a = await this.api.getDateRangeCategoryTotals(
|
|
5492
|
-
|
|
5493
|
-
|
|
5492
|
+
fA(n),
|
|
5493
|
+
fA(r),
|
|
5494
5494
|
e
|
|
5495
5495
|
);
|
|
5496
5496
|
V(() => {
|
|
@@ -5501,7 +5501,7 @@ class gd {
|
|
|
5501
5501
|
}
|
|
5502
5502
|
};
|
|
5503
5503
|
loadMonthlyCategoryTotals = async (e = this.globalStore.accountStore.accounts, n, r) => {
|
|
5504
|
-
const a =
|
|
5504
|
+
const a = fA(bA(n ?? le(/* @__PURE__ */ new Date(), 11))), i = fA(MA(r ?? /* @__PURE__ */ new Date()));
|
|
5505
5505
|
try {
|
|
5506
5506
|
const o = await this.api.getMonthlyCategoryTotals(a, i, e);
|
|
5507
5507
|
V(() => {
|
|
@@ -5515,12 +5515,12 @@ class gd {
|
|
|
5515
5515
|
this.setIsLoadingCategoryTotals(!0);
|
|
5516
5516
|
try {
|
|
5517
5517
|
const a = await this.api.getDateRangeCategoryTotals(
|
|
5518
|
-
|
|
5519
|
-
|
|
5518
|
+
fA(n),
|
|
5519
|
+
fA(r),
|
|
5520
5520
|
e
|
|
5521
5521
|
), i = await this.api.getMonthlyCategoryTotals(
|
|
5522
|
-
|
|
5523
|
-
|
|
5522
|
+
fA(bA(le(r, 11))),
|
|
5523
|
+
fA(MA(r)),
|
|
5524
5524
|
e
|
|
5525
5525
|
);
|
|
5526
5526
|
V(() => {
|
|
@@ -5549,7 +5549,7 @@ class gd {
|
|
|
5549
5549
|
};
|
|
5550
5550
|
}
|
|
5551
5551
|
const Li = ({ transaction: A }) => {
|
|
5552
|
-
const { addOrUpdateTransactionRule: e, updateTransaction: n } =
|
|
5552
|
+
const { addOrUpdateTransactionRule: e, updateTransaction: n } = uA(), { categories: r } = NA(), { onEvent: a } = Y(), { setShouldDisableDrawerScroll: i, updateManualTransaction: o } = Ae(), { transactions: s } = L(), [c, u] = C.useState(!1), [d, h] = C.useState(""), g = async (v) => {
|
|
5553
5553
|
await n({ ...A, category_guid: d }), v && await e(d, A), h(""), a(j.TRANSACTION_DETAILS_CLICK_CATEGORY, {
|
|
5554
5554
|
transaction_guid: A.guid
|
|
5555
5555
|
});
|
|
@@ -5614,7 +5614,7 @@ const Li = ({ transaction: A }) => {
|
|
|
5614
5614
|
DA,
|
|
5615
5615
|
{
|
|
5616
5616
|
copy: {
|
|
5617
|
-
title:
|
|
5617
|
+
title: H(
|
|
5618
5618
|
s.actions_apply_to_all_transaction_types,
|
|
5619
5619
|
A.description
|
|
5620
5620
|
)
|
|
@@ -5625,7 +5625,7 @@ const Li = ({ transaction: A }) => {
|
|
|
5625
5625
|
onSecondaryAction: () => g(!1),
|
|
5626
5626
|
primaryText: s.actions_apply_to_all,
|
|
5627
5627
|
secondaryText: s.actions_this_time_only,
|
|
5628
|
-
children: /* @__PURE__ */ t(p, { children:
|
|
5628
|
+
children: /* @__PURE__ */ t(p, { children: H(
|
|
5629
5629
|
s.actions_all_past_and_future,
|
|
5630
5630
|
A.description,
|
|
5631
5631
|
y?.name
|
|
@@ -5634,8 +5634,8 @@ const Li = ({ transaction: A }) => {
|
|
|
5634
5634
|
)
|
|
5635
5635
|
] });
|
|
5636
5636
|
}, Ii = ({ transaction: A }) => {
|
|
5637
|
-
const e = RA(), { onEvent: n } = Y(), { updateTransaction: r } =
|
|
5638
|
-
d(
|
|
5637
|
+
const e = RA(), { onEvent: n } = Y(), { updateTransaction: r } = uA(), { updateManualTransaction: a } = Ae(), { common: i, transactions: o } = L(), [s, c] = C.useState(!1), [u, d] = C.useState(A.date), h = (f) => {
|
|
5638
|
+
d(fA(f));
|
|
5639
5639
|
}, g = async () => {
|
|
5640
5640
|
if (A.is_manual && !A.guid) {
|
|
5641
5641
|
a({ ...A, date: u }), c(!1);
|
|
@@ -5691,7 +5691,7 @@ const Li = ({ transaction: A }) => {
|
|
|
5691
5691
|
)
|
|
5692
5692
|
] });
|
|
5693
5693
|
}, Cd = ({ transaction: A }) => {
|
|
5694
|
-
const { onEvent: e } = Y(), { removeTransaction: n } =
|
|
5694
|
+
const { onEvent: e } = Y(), { removeTransaction: n } = uA(), { setShouldDisableDrawerScroll: r } = Ae(), { common: a, transactions: i } = L(), [o, s] = C.useState(!1), c = async () => {
|
|
5695
5695
|
await n(A.guid), e(B.ON_TRANSACTION_DELETE_DELETED);
|
|
5696
5696
|
};
|
|
5697
5697
|
return /* @__PURE__ */ l(D, { className: "mx-txn-delete", children: [
|
|
@@ -5731,7 +5731,7 @@ const Li = ({ transaction: A }) => {
|
|
|
5731
5731
|
)
|
|
5732
5732
|
] });
|
|
5733
5733
|
}, fd = S(Cd), md = ({ transaction: A }) => {
|
|
5734
|
-
const { onEvent: e } = Y(), { updateTransaction: n } =
|
|
5734
|
+
const { onEvent: e } = Y(), { updateTransaction: n } = uA(), { setShouldDisableDrawerScroll: r } = Ae(), { common: a, transactions: i } = L(), [o, s] = C.useState(!1), c = async () => {
|
|
5735
5735
|
await n({ ...A, merchant_guid: "" }), e(j.TRANSACTION_DETAILS_CLICK_DELETE_LOGO, {
|
|
5736
5736
|
transaction_guid: A.guid
|
|
5737
5737
|
});
|
|
@@ -5771,7 +5771,7 @@ const Li = ({ transaction: A }) => {
|
|
|
5771
5771
|
)
|
|
5772
5772
|
] });
|
|
5773
5773
|
}, pd = S(md), vd = ({ transaction: A }) => {
|
|
5774
|
-
const { onEvent: e } = Y(), { updateTransaction: n } =
|
|
5774
|
+
const { onEvent: e } = Y(), { updateTransaction: n } = uA(), { setShouldDisableDrawerScroll: r } = Ae(), { common: a, transactions: i } = L(), [o, s] = C.useState(!1), c = A.is_hidden, u = async () => {
|
|
5775
5775
|
await n({ ...A, is_hidden: !A.is_hidden }), e(
|
|
5776
5776
|
c ? B.ON_TRANSACTION_UNHIDDEN : B.ON_TRANSACTION_HIDDEN
|
|
5777
5777
|
);
|
|
@@ -5860,7 +5860,7 @@ const Li = ({ transaction: A }) => {
|
|
|
5860
5860
|
] })
|
|
5861
5861
|
] });
|
|
5862
5862
|
}, Ed = ({ transaction: A }) => {
|
|
5863
|
-
const { onEvent: e } = Y(), { updateTransaction: n } =
|
|
5863
|
+
const { onEvent: e } = Y(), { updateTransaction: n } = uA(), { updateManualTransaction: r } = Ae(), { common: a, transactions: i } = L(), [o, s] = C.useState(!1), [c, u] = C.useState("");
|
|
5864
5864
|
C.useEffect(() => {
|
|
5865
5865
|
o && u(A.memo ? A.memo : "");
|
|
5866
5866
|
}, [o]);
|
|
@@ -6032,7 +6032,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6032
6032
|
const o = RA(), { transactions: s } = L(), { onEvent: c } = Y(), [u, d] = C.useState("");
|
|
6033
6033
|
return C.useEffect(() => {
|
|
6034
6034
|
d(a.length <= 1 ? s.split_transaction_errors_min_splits : ""), d(
|
|
6035
|
-
a[0].amount < 0 ?
|
|
6035
|
+
a[0].amount < 0 ? H(
|
|
6036
6036
|
s.split_transaction_errors_totals_must_equal_amount,
|
|
6037
6037
|
z(i.amount, "0,0.00")
|
|
6038
6038
|
) : ""
|
|
@@ -6074,7 +6074,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6074
6074
|
) })
|
|
6075
6075
|
] });
|
|
6076
6076
|
}, Td = S(Sd), Ld = ({ transaction: A }) => {
|
|
6077
|
-
const { onEvent: e } = Y(), { splitTransaction: n, unSplitTransaction: r } =
|
|
6077
|
+
const { onEvent: e } = Y(), { splitTransaction: n, unSplitTransaction: r } = uA(), { common: a, transactions: i } = L(), { setShouldDisableDrawerScroll: o } = Ae(), { categories: s } = NA(), c = {
|
|
6078
6078
|
...A,
|
|
6079
6079
|
amount: A.amount - 1,
|
|
6080
6080
|
guid: "",
|
|
@@ -6090,27 +6090,27 @@ const Li = ({ transaction: A }) => {
|
|
|
6090
6090
|
parent_guid: A.guid,
|
|
6091
6091
|
top_level_category_guid: void 0
|
|
6092
6092
|
}, [d, h] = C.useState(!1), [g, f] = C.useState(!1), [m, y] = C.useState([]), v = () => {
|
|
6093
|
-
const
|
|
6094
|
-
|
|
6095
|
-
}, T = (
|
|
6096
|
-
if (
|
|
6097
|
-
const
|
|
6098
|
-
|
|
6093
|
+
const F = [...m];
|
|
6094
|
+
F.push({ ...u }), F[0].amount -= 1, y(F);
|
|
6095
|
+
}, T = (F) => {
|
|
6096
|
+
if (F > 0) {
|
|
6097
|
+
const X = m[F], Q = [...m];
|
|
6098
|
+
Q.splice(F, 1), Q[0].amount += X.amount, y(Q);
|
|
6099
6099
|
}
|
|
6100
|
-
}, I = (
|
|
6101
|
-
const
|
|
6102
|
-
|
|
6103
|
-
(
|
|
6100
|
+
}, I = (F, X) => {
|
|
6101
|
+
const Q = [...m];
|
|
6102
|
+
Q[F].amount = X, Q[0].amount = A.amount - Q.reduce(
|
|
6103
|
+
(k, $, nA) => k + (nA !== 0 ? $.amount : 0),
|
|
6104
6104
|
0
|
|
6105
|
-
), y(
|
|
6106
|
-
}, w = (
|
|
6107
|
-
const
|
|
6108
|
-
|
|
6109
|
-
...
|
|
6110
|
-
category_guid:
|
|
6111
|
-
category:
|
|
6112
|
-
top_level_category_guid:
|
|
6113
|
-
}, y(
|
|
6105
|
+
), y(Q);
|
|
6106
|
+
}, w = (F, X) => {
|
|
6107
|
+
const Q = [...m], k = s.find(($) => $.guid === X);
|
|
6108
|
+
k && (Q[F] = {
|
|
6109
|
+
...Q[F],
|
|
6110
|
+
category_guid: X,
|
|
6111
|
+
category: k.name,
|
|
6112
|
+
top_level_category_guid: k.parent_guid || X
|
|
6113
|
+
}, y(Q));
|
|
6114
6114
|
}, x = () => {
|
|
6115
6115
|
if (A.parent_guid || A.has_been_split) {
|
|
6116
6116
|
f(!0);
|
|
@@ -6119,19 +6119,19 @@ const Li = ({ transaction: A }) => {
|
|
|
6119
6119
|
y([{ ...c }, { ...u }]), e(j.TRANSACTION_DETAILS_CLICK_SPLIT, {
|
|
6120
6120
|
transaction_guid: A.guid
|
|
6121
6121
|
}), h(!0);
|
|
6122
|
-
}, O = async () => {
|
|
6123
|
-
e(B.ON_TRANSACTION_SPLIT_SAVE_CLICK), await n({ ...A, has_been_split: !0 }, m), h(!1);
|
|
6124
6122
|
}, P = async () => {
|
|
6123
|
+
e(B.ON_TRANSACTION_SPLIT_SAVE_CLICK), await n({ ...A, has_been_split: !0 }, m), h(!1);
|
|
6124
|
+
}, O = async () => {
|
|
6125
6125
|
e(B.ON_TRANSACTION_SPLIT_CANCEL_CLICK), y([{ ...c }, { ...u }]), h(!1);
|
|
6126
6126
|
}, N = async () => {
|
|
6127
6127
|
e(j.TRANSACTION_DETAILS_CLICK_UNSPLIT, {
|
|
6128
6128
|
transaction_guid: A.guid
|
|
6129
6129
|
});
|
|
6130
|
-
const
|
|
6131
|
-
await r(
|
|
6132
|
-
},
|
|
6133
|
-
const
|
|
6134
|
-
return
|
|
6130
|
+
const F = A.parent_guid ?? A.guid;
|
|
6131
|
+
await r(F);
|
|
6132
|
+
}, _ = C.useMemo(() => {
|
|
6133
|
+
const F = m.some((Q) => !Q.category_guid), X = m.some((Q) => Q.amount <= 0);
|
|
6134
|
+
return F || X;
|
|
6135
6135
|
}, [m]);
|
|
6136
6136
|
return /* @__PURE__ */ l(C.Fragment, { children: [
|
|
6137
6137
|
A && /* @__PURE__ */ t(W, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ l(dA, { onClick: x, children: [
|
|
@@ -6150,9 +6150,9 @@ const Li = ({ transaction: A }) => {
|
|
|
6150
6150
|
{
|
|
6151
6151
|
ariaLabelClose: a.close_aria,
|
|
6152
6152
|
isOpen: d,
|
|
6153
|
-
isPrimaryDisabled:
|
|
6154
|
-
onClose:
|
|
6155
|
-
onPrimaryAction:
|
|
6153
|
+
isPrimaryDisabled: _,
|
|
6154
|
+
onClose: O,
|
|
6155
|
+
onPrimaryAction: P,
|
|
6156
6156
|
primaryText: a.save_button,
|
|
6157
6157
|
secondaryText: a.cancel_button,
|
|
6158
6158
|
title: i.split_transaction_title,
|
|
@@ -6186,7 +6186,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6186
6186
|
},
|
|
6187
6187
|
primaryText: a.delete_button,
|
|
6188
6188
|
secondaryText: a.cancel_button,
|
|
6189
|
-
children: /* @__PURE__ */ t(p, { variant: "Paragraph", children:
|
|
6189
|
+
children: /* @__PURE__ */ t(p, { variant: "Paragraph", children: H(
|
|
6190
6190
|
i.split_transaction_unsplit_description,
|
|
6191
6191
|
A.description
|
|
6192
6192
|
) })
|
|
@@ -6194,7 +6194,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6194
6194
|
)
|
|
6195
6195
|
] });
|
|
6196
6196
|
}, Id = S(Ld), Dd = () => {
|
|
6197
|
-
const A =
|
|
6197
|
+
const A = gA(), { onEvent: e } = Y(), { addTag: n } = uA(), { transactions: r } = L(), [a, i] = C.useState(!1), [o, s] = C.useState(""), [c, u] = C.useState(""), d = C.useRef(null);
|
|
6198
6198
|
C.useEffect(() => {
|
|
6199
6199
|
a && d?.current?.focus();
|
|
6200
6200
|
}, [a]);
|
|
@@ -6281,7 +6281,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6281
6281
|
}
|
|
6282
6282
|
) });
|
|
6283
6283
|
}, Pd = S(Od), Nd = ({ onTagChecked: A, selectedTags: e, tag: n }) => {
|
|
6284
|
-
const { onEvent: r } = Y(), { removeTag: a, updateTag: i } =
|
|
6284
|
+
const { onEvent: r } = Y(), { removeTag: a, updateTag: i } = uA(), { common: o, transactions: s } = L(), [c, u] = C.useState(!1), [d, h] = C.useState(!1), [g, f] = C.useState(""), [m, y] = C.useState(""), v = async () => {
|
|
6285
6285
|
r(B.ON_TRANSACTION_TAGS_TAG_EDIT_SAVED), n && await i({ ...n, name: g }), u(!1);
|
|
6286
6286
|
}, T = async () => {
|
|
6287
6287
|
r(B.ON_TRANSACTION_TAGS_TAG_DELETED), await a(n.guid), h(!1);
|
|
@@ -6375,7 +6375,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6375
6375
|
}
|
|
6376
6376
|
);
|
|
6377
6377
|
}, Md = S(Nd), _d = ({ selectedTags: A, onTagChecked: e }) => {
|
|
6378
|
-
const { tags: n } =
|
|
6378
|
+
const { tags: n } = uA(), [r, a] = C.useState(""), i = n.filter(
|
|
6379
6379
|
(o) => o.name.toLowerCase().includes(r.toLowerCase())
|
|
6380
6380
|
);
|
|
6381
6381
|
return /* @__PURE__ */ l("div", { className: "mx-txn-tag-manager", children: [
|
|
@@ -6393,7 +6393,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6393
6393
|
] }, o.guid)) }) })
|
|
6394
6394
|
] });
|
|
6395
6395
|
}, Rd = S(_d), Hd = ({ transaction: A }) => {
|
|
6396
|
-
const { onEvent: e } = Y(), { tags: n, updateTaggings: r, updateTransaction: a } =
|
|
6396
|
+
const { onEvent: e } = Y(), { tags: n, updateTaggings: r, updateTransaction: a } = uA(), { common: i, transactions: o } = L(), { updateManualTransaction: s } = Ae(), [c, u] = C.useState(!1), [d, h] = C.useState(A.tags);
|
|
6397
6397
|
C.useEffect(() => {
|
|
6398
6398
|
h(A.tags);
|
|
6399
6399
|
}, [c, A]);
|
|
@@ -6448,7 +6448,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6448
6448
|
)
|
|
6449
6449
|
] });
|
|
6450
6450
|
}, Oi = S(Hd), zd = ({ transaction: A }) => {
|
|
6451
|
-
const { updateTransaction: e } =
|
|
6451
|
+
const { updateTransaction: e } = uA(), { common: n, transactions: r } = L(), { onEvent: a } = Y(), [i, o] = C.useState(!1), [s, c] = C.useState(""), u = C.useRef(null);
|
|
6452
6452
|
C.useEffect(() => {
|
|
6453
6453
|
i && (c(A.description), u?.current?.focus());
|
|
6454
6454
|
}, [i]);
|
|
@@ -6499,7 +6499,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6499
6499
|
)
|
|
6500
6500
|
] }) });
|
|
6501
6501
|
}, Bd = S(zd), Kd = ({ transaction: A }) => {
|
|
6502
|
-
const { updateTransaction: e } =
|
|
6502
|
+
const { updateTransaction: e } = uA(), { transactions: n } = L(), { onEvent: r } = Y(), a = gA(), i = async () => {
|
|
6503
6503
|
r(j.TRANSACTION_DETAILS_CLICK_FLAG, { transaction_guid: A.guid }), await e({ ...A, is_flagged: !A.is_flagged });
|
|
6504
6504
|
};
|
|
6505
6505
|
return /* @__PURE__ */ t("div", { className: "mx-txn-transaction-flag", children: /* @__PURE__ */ t(
|
|
@@ -6610,7 +6610,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6610
6610
|
}
|
|
6611
6611
|
);
|
|
6612
6612
|
}, Fd = S(Gd), Xd = () => {
|
|
6613
|
-
const { selectedAccounts: A } =
|
|
6613
|
+
const { selectedAccounts: A } = CA(), { common: e, transactions: n } = L(), { manualTransaction: r, setIsAmountValid: a, updateManualTransaction: i } = Ae(), [o, s] = C.useState(""), [c, u] = C.useState(""), d = C.useMemo(
|
|
6614
6614
|
() => A.filter((v) => v.is_manual),
|
|
6615
6615
|
[A]
|
|
6616
6616
|
).map((v) => ({
|
|
@@ -6708,7 +6708,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6708
6708
|
] })
|
|
6709
6709
|
] });
|
|
6710
6710
|
}, jd = S(Xd), Qd = ({ onClose: A, transaction: e }) => {
|
|
6711
|
-
const { addOrUpdateTransactionRule: n, updateTransaction: r } =
|
|
6711
|
+
const { addOrUpdateTransactionRule: n, updateTransaction: r } = uA(), { transactions: a } = L(), { categories: i } = NA(), [o, s] = C.useState(""), c = C.useMemo(
|
|
6712
6712
|
() => i.find((d) => d.guid === o),
|
|
6713
6713
|
[o]
|
|
6714
6714
|
), u = async (d) => {
|
|
@@ -6729,7 +6729,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6729
6729
|
DA,
|
|
6730
6730
|
{
|
|
6731
6731
|
copy: {
|
|
6732
|
-
title:
|
|
6732
|
+
title: H(
|
|
6733
6733
|
a.actions_apply_to_all_transaction_types,
|
|
6734
6734
|
e.description
|
|
6735
6735
|
)
|
|
@@ -6740,7 +6740,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6740
6740
|
onSecondaryAction: () => u(!1),
|
|
6741
6741
|
primaryText: a.actions_apply_to_all,
|
|
6742
6742
|
secondaryText: a.actions_this_time_only,
|
|
6743
|
-
children: /* @__PURE__ */ t(p, { children:
|
|
6743
|
+
children: /* @__PURE__ */ t(p, { children: H(
|
|
6744
6744
|
a.actions_all_past_and_future,
|
|
6745
6745
|
e.description,
|
|
6746
6746
|
c?.name
|
|
@@ -6754,7 +6754,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6754
6754
|
showInsights: n = !1,
|
|
6755
6755
|
sx: r = {}
|
|
6756
6756
|
}) => {
|
|
6757
|
-
const { accounts: a, refreshAccounts: i } = LA(), o =
|
|
6757
|
+
const { accounts: a, refreshAccounts: i } = LA(), o = gA(), {
|
|
6758
6758
|
manualTransaction: s,
|
|
6759
6759
|
isAmountValid: c,
|
|
6760
6760
|
searchValue: u,
|
|
@@ -6769,36 +6769,36 @@ const Li = ({ transaction: A }) => {
|
|
|
6769
6769
|
tags: T,
|
|
6770
6770
|
transactions: I,
|
|
6771
6771
|
updateTransaction: w
|
|
6772
|
-
} =
|
|
6773
|
-
displayedDateRange:
|
|
6774
|
-
isInitialized:
|
|
6775
|
-
selectedAccountGuids:
|
|
6776
|
-
selectedAccounts:
|
|
6777
|
-
setDisplayedDate:
|
|
6778
|
-
setSelectedAccounts:
|
|
6779
|
-
} =
|
|
6772
|
+
} = uA(), { common: x, transactions: P } = L(), { userProfile: O } = an(), { onEvent: N } = Y(), {
|
|
6773
|
+
displayedDateRange: _,
|
|
6774
|
+
isInitialized: F,
|
|
6775
|
+
selectedAccountGuids: X,
|
|
6776
|
+
selectedAccounts: Q,
|
|
6777
|
+
setDisplayedDate: k,
|
|
6778
|
+
setSelectedAccounts: $
|
|
6779
|
+
} = CA(), [nA, mA] = C.useState(""), [cA, vA] = C.useState(""), [ee, Ce] = C.useState(!1), [Fe, Ve] = C.useState(!1), [Je, ct] = C.useState(!1);
|
|
6780
6780
|
C.useEffect(() => {
|
|
6781
|
-
|
|
6781
|
+
$(a);
|
|
6782
6782
|
}, [a]), C.useEffect(() => {
|
|
6783
6783
|
const _A = bA(eA()), Sr = MA(eA());
|
|
6784
|
-
|
|
6784
|
+
k(_A, Sr), v({
|
|
6785
6785
|
dateRange: { start: _A, end: Sr },
|
|
6786
|
-
accounts:
|
|
6786
|
+
accounts: Q.map((co) => co.guid)
|
|
6787
6787
|
}), ct(!0), N(j.TRANSACTIONS_VIEW);
|
|
6788
6788
|
}, []), C.useEffect(() => {
|
|
6789
6789
|
Je && (v({
|
|
6790
6790
|
...m,
|
|
6791
|
-
dateRange: { start:
|
|
6792
|
-
accounts:
|
|
6793
|
-
}), y(
|
|
6794
|
-
}, [
|
|
6791
|
+
dateRange: { start: _.start, end: _.end },
|
|
6792
|
+
accounts: X
|
|
6793
|
+
}), y(_.start));
|
|
6794
|
+
}, [_, X]), C.useEffect(() => {
|
|
6795
6795
|
h(n);
|
|
6796
6796
|
}, [n]);
|
|
6797
|
-
const
|
|
6797
|
+
const pA = C.useMemo(
|
|
6798
6798
|
() => a.filter((_A) => _A.is_manual),
|
|
6799
6799
|
[a]
|
|
6800
|
-
), K = cA ? I.find((_A) => _A.guid === cA) : void 0,
|
|
6801
|
-
|
|
6800
|
+
), K = cA ? I.find((_A) => _A.guid === cA) : void 0, hA = c && !!s.payee && !!s.account_guid && !!s.category_guid, yA = (_A) => {
|
|
6801
|
+
k(_A[0], _A[1]);
|
|
6802
6802
|
}, be = (_A) => {
|
|
6803
6803
|
d(_A), v({
|
|
6804
6804
|
...m,
|
|
@@ -6807,34 +6807,34 @@ const Li = ({ transaction: A }) => {
|
|
|
6807
6807
|
}, mn = () => {
|
|
6808
6808
|
wi(I, T), N(j.TRANSACTIONS_CLICK_EXPORT);
|
|
6809
6809
|
}, pn = () => {
|
|
6810
|
-
|
|
6810
|
+
pA.length > 0 ? (g({
|
|
6811
6811
|
...bi,
|
|
6812
|
-
date:
|
|
6813
|
-
user_guid:
|
|
6814
|
-
}),
|
|
6812
|
+
date: fA(eA()),
|
|
6813
|
+
user_guid: O?.user_guid || ""
|
|
6814
|
+
}), mA(
|
|
6815
6815
|
"addTransaction"
|
|
6816
6816
|
/* AddTransaction */
|
|
6817
6817
|
), N(j.TRANSACTIONS_CLICK_ADD)) : (Ce(!0), N(j.TRANSACTIONS_ADD_MANUAL_ACCOUNT_MODAL));
|
|
6818
6818
|
}, lt = async () => {
|
|
6819
|
-
|
|
6819
|
+
hA && await f(s), mA("");
|
|
6820
6820
|
}, vn = () => {
|
|
6821
6821
|
Ce(!1), Ve(!0);
|
|
6822
6822
|
}, yn = () => {
|
|
6823
6823
|
Ve(!1), i();
|
|
6824
6824
|
};
|
|
6825
|
-
return !
|
|
6825
|
+
return !F || !Je ? /* @__PURE__ */ t(WA, {}) : /* @__PURE__ */ l(
|
|
6826
6826
|
he,
|
|
6827
6827
|
{
|
|
6828
6828
|
accountOptions: a,
|
|
6829
6829
|
actions: [
|
|
6830
6830
|
{
|
|
6831
6831
|
iconName: "open_in_new",
|
|
6832
|
-
label:
|
|
6832
|
+
label: P.export_csv_btn,
|
|
6833
6833
|
onClick: mn
|
|
6834
6834
|
},
|
|
6835
6835
|
{
|
|
6836
6836
|
iconName: "add",
|
|
6837
|
-
label:
|
|
6837
|
+
label: P.add_transaction_btn,
|
|
6838
6838
|
onClick: pn
|
|
6839
6839
|
}
|
|
6840
6840
|
],
|
|
@@ -6844,13 +6844,13 @@ const Li = ({ transaction: A }) => {
|
|
|
6844
6844
|
onAccountsFilterClick: () => N(j.ACCOUNTS_CLICK_FILTER),
|
|
6845
6845
|
onBackClick: A,
|
|
6846
6846
|
sx: r,
|
|
6847
|
-
title:
|
|
6847
|
+
title: P.transactions_title,
|
|
6848
6848
|
children: [
|
|
6849
6849
|
/* @__PURE__ */ t(D, { mt: 16, children: /* @__PURE__ */ t(
|
|
6850
6850
|
cn,
|
|
6851
6851
|
{
|
|
6852
6852
|
onChange: be,
|
|
6853
|
-
placeholder:
|
|
6853
|
+
placeholder: P.action_bar_search_placeholder,
|
|
6854
6854
|
searchValue: u
|
|
6855
6855
|
}
|
|
6856
6856
|
) }),
|
|
@@ -6866,13 +6866,13 @@ const Li = ({ transaction: A }) => {
|
|
|
6866
6866
|
{
|
|
6867
6867
|
height: `calc(${e} - ${ia}px)`,
|
|
6868
6868
|
onCategoryClick: (_A) => {
|
|
6869
|
-
vA(_A),
|
|
6869
|
+
vA(_A), mA(
|
|
6870
6870
|
"category"
|
|
6871
6871
|
/* Category */
|
|
6872
6872
|
);
|
|
6873
6873
|
},
|
|
6874
6874
|
onRowClick: (_A) => {
|
|
6875
|
-
vA(_A),
|
|
6875
|
+
vA(_A), mA(
|
|
6876
6876
|
"transaction"
|
|
6877
6877
|
/* Transaction */
|
|
6878
6878
|
), N(j.TRANSACTIONS_CLICK_DETAILS, { transaction_guid: _A });
|
|
@@ -6893,7 +6893,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6893
6893
|
{
|
|
6894
6894
|
height: `calc(${e} - ${ia}px)`,
|
|
6895
6895
|
onClick: (_A) => {
|
|
6896
|
-
vA(_A),
|
|
6896
|
+
vA(_A), mA(
|
|
6897
6897
|
"transaction"
|
|
6898
6898
|
/* Transaction */
|
|
6899
6899
|
);
|
|
@@ -6909,9 +6909,9 @@ const Li = ({ transaction: A }) => {
|
|
|
6909
6909
|
ariaLabelClose: x.close_aria,
|
|
6910
6910
|
isOpen: nA === "transaction",
|
|
6911
6911
|
onClose: () => {
|
|
6912
|
-
K && !K.has_been_viewed && w({ ...K, has_been_viewed: !0 }),
|
|
6912
|
+
K && !K.has_been_viewed && w({ ...K, has_been_viewed: !0 }), mA("");
|
|
6913
6913
|
},
|
|
6914
|
-
title:
|
|
6914
|
+
title: P.details_title,
|
|
6915
6915
|
children: K && /* @__PURE__ */ t(st, { transaction: K })
|
|
6916
6916
|
}
|
|
6917
6917
|
),
|
|
@@ -6919,7 +6919,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6919
6919
|
Ud,
|
|
6920
6920
|
{
|
|
6921
6921
|
onClose: () => {
|
|
6922
|
-
|
|
6922
|
+
mA(""), vA("");
|
|
6923
6923
|
},
|
|
6924
6924
|
transaction: K
|
|
6925
6925
|
}
|
|
@@ -6929,17 +6929,17 @@ const Li = ({ transaction: A }) => {
|
|
|
6929
6929
|
{
|
|
6930
6930
|
ariaLabelClose: x.close_aria,
|
|
6931
6931
|
isOpen: nA === "addTransaction",
|
|
6932
|
-
isPrimaryDisabled: !
|
|
6933
|
-
onClose: () =>
|
|
6932
|
+
isPrimaryDisabled: !hA,
|
|
6933
|
+
onClose: () => mA(""),
|
|
6934
6934
|
onPrimaryAction: lt,
|
|
6935
|
-
title:
|
|
6935
|
+
title: P.add_transaction_title,
|
|
6936
6936
|
children: /* @__PURE__ */ t(jd, {})
|
|
6937
6937
|
}
|
|
6938
6938
|
),
|
|
6939
6939
|
/* @__PURE__ */ t(
|
|
6940
6940
|
Fd,
|
|
6941
6941
|
{
|
|
6942
|
-
copy: { title:
|
|
6942
|
+
copy: { title: P.add_manual_account },
|
|
6943
6943
|
isOpen: ee,
|
|
6944
6944
|
onClose: () => {
|
|
6945
6945
|
Ce(!1);
|
|
@@ -6952,7 +6952,7 @@ const Li = ({ transaction: A }) => {
|
|
|
6952
6952
|
{
|
|
6953
6953
|
onClose: yn,
|
|
6954
6954
|
showConnectWidget: Fe,
|
|
6955
|
-
title:
|
|
6955
|
+
title: P.add_manual_account
|
|
6956
6956
|
}
|
|
6957
6957
|
)
|
|
6958
6958
|
]
|
|
@@ -6965,22 +6965,22 @@ const Li = ({ transaction: A }) => {
|
|
|
6965
6965
|
repeat_interval: null,
|
|
6966
6966
|
repeat_month: null,
|
|
6967
6967
|
repeat_weekday: null,
|
|
6968
|
-
start_date:
|
|
6968
|
+
start_date: fA(A.expectedDate)
|
|
6969
6969
|
}, r = `${vt(A.expectedDate)}`, a = `${At(A.expectedDate)}`, i = `${wt(A.expectedDate)}`;
|
|
6970
6970
|
switch (A.recurrenceType) {
|
|
6971
|
-
case
|
|
6971
|
+
case G.EveryWeek:
|
|
6972
6972
|
n.repeat_interval = "1", n.repeat_weekday = i;
|
|
6973
6973
|
break;
|
|
6974
|
-
case
|
|
6974
|
+
case G.EveryOtherWeek:
|
|
6975
6975
|
n.repeat_interval = "2", n.repeat_weekday = i;
|
|
6976
6976
|
break;
|
|
6977
|
-
case
|
|
6977
|
+
case G.EveryMonth:
|
|
6978
6978
|
n.repeat_day = r;
|
|
6979
6979
|
break;
|
|
6980
|
-
case
|
|
6980
|
+
case G.EveryQuarter:
|
|
6981
6981
|
n.repeat_day = r, n.repeat_interval = "3";
|
|
6982
6982
|
break;
|
|
6983
|
-
case
|
|
6983
|
+
case G.EveryYear:
|
|
6984
6984
|
n.repeat_day = r, n.repeat_month = a;
|
|
6985
6985
|
break;
|
|
6986
6986
|
}
|
|
@@ -6991,13 +6991,13 @@ const Li = ({ transaction: A }) => {
|
|
|
6991
6991
|
recurrence_type: A.recurrenceType
|
|
6992
6992
|
}), Yd = ({ activity: A }) => {
|
|
6993
6993
|
const { recurring: e } = L(), { cashflowSequences: n, scheduledPayments: r, updateCashflowSequence: a, updateScheduledPayment: i } = BA(), { onEvent: o } = Y(), [s, c] = C.useState(!1), u = A.activityType === IA.Income, d = [
|
|
6994
|
-
{ id:
|
|
6995
|
-
{ id:
|
|
6996
|
-
{ id:
|
|
6997
|
-
{ id:
|
|
6998
|
-
{ id:
|
|
6999
|
-
{ id:
|
|
7000
|
-
{ id:
|
|
6994
|
+
{ id: G.EveryWeek, label: e.frequency_every_week },
|
|
6995
|
+
{ id: G.EveryOtherWeek, label: e.frequency_every_other_week },
|
|
6996
|
+
{ id: G.EveryMonth, label: e.frequency_every_month },
|
|
6997
|
+
{ id: G.EveryOtherMonth, label: e.frequency_every_other_month },
|
|
6998
|
+
{ id: G.EveryQuarter, label: e.frequency_every_quarter },
|
|
6999
|
+
{ id: G.EveryOtherQuarter, label: e.frequency_every_other_quarter },
|
|
7000
|
+
{ id: G.EveryYear, label: e.frequency_every_year }
|
|
7001
7001
|
], h = async (m) => {
|
|
7002
7002
|
const y = { ...A, recurrenceType: m };
|
|
7003
7003
|
if (A.activityType === IA.Expense) {
|
|
@@ -7016,7 +7016,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7016
7016
|
}
|
|
7017
7017
|
);
|
|
7018
7018
|
}, f = d.find((m) => m.id === A.recurrenceType);
|
|
7019
|
-
return /* @__PURE__ */ l(
|
|
7019
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
7020
7020
|
/* @__PURE__ */ t(
|
|
7021
7021
|
Wt,
|
|
7022
7022
|
{
|
|
@@ -7037,7 +7037,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7037
7037
|
(m) => (
|
|
7038
7038
|
// Filter out every other month and every other quarter when income since cashflow
|
|
7039
7039
|
// sequence doesn't support them
|
|
7040
|
-
A.activityType === IA.Expense || m.id !==
|
|
7040
|
+
A.activityType === IA.Expense || m.id !== G.EveryOtherMonth && m.id !== G.EveryOtherQuarter
|
|
7041
7041
|
)
|
|
7042
7042
|
).map((m) => /* @__PURE__ */ l(C.Fragment, { children: [
|
|
7043
7043
|
/* @__PURE__ */ t(W, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ l(dA, { onClick: () => h(m.id), children: [
|
|
@@ -7074,7 +7074,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7074
7074
|
}
|
|
7075
7075
|
c(!1);
|
|
7076
7076
|
};
|
|
7077
|
-
return /* @__PURE__ */ l(
|
|
7077
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
7078
7078
|
/* @__PURE__ */ t(
|
|
7079
7079
|
Wt,
|
|
7080
7080
|
{
|
|
@@ -7104,8 +7104,8 @@ const Li = ({ transaction: A }) => {
|
|
|
7104
7104
|
)
|
|
7105
7105
|
] });
|
|
7106
7106
|
}, Zd = S(Jd), $d = ({ activity: A, onDeleted: e }) => {
|
|
7107
|
-
const { recurring: n } = L(), { categories: r } = NA(), { deleteCashflowSequence: a, deleteScheduledPayment: i, paidActivities: o } = BA(), { filter: s, setFilter: c, transactions: u } =
|
|
7108
|
-
() => u.find((
|
|
7107
|
+
const { recurring: n } = L(), { categories: r } = NA(), { deleteCashflowSequence: a, deleteScheduledPayment: i, paidActivities: o } = BA(), { filter: s, setFilter: c, transactions: u } = uA(), { selectedAccountGuids: d } = CA(), { onEvent: h } = Y(), [g, f] = C.useState(!1), [m, y] = C.useState(""), v = r.find((P) => P.guid === A.categoryGuid), T = A.activityType === IA.Income, I = C.useMemo(
|
|
7108
|
+
() => u.find((P) => P.guid === m),
|
|
7109
7109
|
[m]
|
|
7110
7110
|
);
|
|
7111
7111
|
C.useEffect(() => {
|
|
@@ -7115,14 +7115,14 @@ const Li = ({ transaction: A }) => {
|
|
|
7115
7115
|
});
|
|
7116
7116
|
}, []), C.useEffect(() => {
|
|
7117
7117
|
if (T && A.sequenceGuid) {
|
|
7118
|
-
const
|
|
7118
|
+
const P = o.filter((O) => O.sequenceGuid === A.sequenceGuid).map((O) => O.transactionGuid);
|
|
7119
7119
|
c({
|
|
7120
7120
|
...s,
|
|
7121
|
-
custom: (
|
|
7121
|
+
custom: (O) => !!P.find((N) => O.guid === N)
|
|
7122
7122
|
});
|
|
7123
7123
|
} else !T && A.scheduledPaymentGuid && c({
|
|
7124
7124
|
...s,
|
|
7125
|
-
custom: (
|
|
7125
|
+
custom: (P) => P.scheduled_payment_guid === A.scheduledPaymentGuid
|
|
7126
7126
|
});
|
|
7127
7127
|
}, [A]);
|
|
7128
7128
|
const w = async () => {
|
|
@@ -7152,7 +7152,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7152
7152
|
] })
|
|
7153
7153
|
] }),
|
|
7154
7154
|
/* @__PURE__ */ l(rA, { sx: { bgcolor: "background.paper" }, children: [
|
|
7155
|
-
A.institution && /* @__PURE__ */ l(
|
|
7155
|
+
A.institution && /* @__PURE__ */ l(AA, { children: [
|
|
7156
7156
|
/* @__PURE__ */ t(
|
|
7157
7157
|
Wt,
|
|
7158
7158
|
{
|
|
@@ -7163,7 +7163,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7163
7163
|
),
|
|
7164
7164
|
/* @__PURE__ */ t(q, { color: "secondary", variant: "inset" })
|
|
7165
7165
|
] }),
|
|
7166
|
-
v && /* @__PURE__ */ l(
|
|
7166
|
+
v && /* @__PURE__ */ l(AA, { children: [
|
|
7167
7167
|
/* @__PURE__ */ t(
|
|
7168
7168
|
Wt,
|
|
7169
7169
|
{
|
|
@@ -7221,42 +7221,42 @@ const Li = ({ transaction: A }) => {
|
|
|
7221
7221
|
gridColumn: 1,
|
|
7222
7222
|
zIndex: 2
|
|
7223
7223
|
}, un = (A) => A ? { margin: "0 0 -6px -4px" } : void 0, ur = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(ze, { size: e, sx: { ...un(A) }, children: /* @__PURE__ */ t(ps, { color: "primary", sx: { fontSize: e, ...dn } }) }), hr = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(ze, { size: e, sx: { ...un(A) }, children: /* @__PURE__ */ t(vs, { sx: { color: "categories.income", fontSize: e, ...dn } }) }), gr = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(ze, { size: e, sx: { ...un(A) }, children: /* @__PURE__ */ t(Gt, { color: "error", sx: { fontSize: e, ...dn } }) }), Cr = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(ze, { size: e, sx: { ...un(A) }, children: /* @__PURE__ */ t(Wa, { color: "success", sx: { fontSize: e, ...dn } }) }), oa = ({ copy: A, date: e, type: n }) => {
|
|
7224
|
-
let r = e && ys(e) ?
|
|
7224
|
+
let r = e && ys(e) ? H(A.monthly_ordinal, QA(e, "do")) : A.monthly;
|
|
7225
7225
|
switch (n) {
|
|
7226
|
-
case
|
|
7227
|
-
r = e ?
|
|
7226
|
+
case G.EveryQuarter:
|
|
7227
|
+
r = e ? H(A.quarterly_ordinal, QA(e, "do")) : A.quarterly;
|
|
7228
7228
|
break;
|
|
7229
|
-
case
|
|
7230
|
-
r = e ?
|
|
7229
|
+
case G.EveryWeek:
|
|
7230
|
+
r = e ? H(A.weekly_ordinal, QA(e, "do")) : A.weekly;
|
|
7231
7231
|
break;
|
|
7232
|
-
case
|
|
7233
|
-
r = e ?
|
|
7232
|
+
case G.EveryYear:
|
|
7233
|
+
r = e ? H(A.anually_ordinal, QA(e, "do")) : A.anually;
|
|
7234
7234
|
break;
|
|
7235
|
-
case
|
|
7236
|
-
r = e ?
|
|
7235
|
+
case G.EveryOtherWeek:
|
|
7236
|
+
r = e ? H(A.every_other_week_ordinal, QA(e, "do")) : A.every_other_week;
|
|
7237
7237
|
break;
|
|
7238
|
-
case
|
|
7239
|
-
r = e ?
|
|
7238
|
+
case G.EveryOtherMonth:
|
|
7239
|
+
r = e ? H(A.every_other_month_ordinal, QA(e, "do")) : A.every_other_month;
|
|
7240
7240
|
break;
|
|
7241
|
-
case
|
|
7242
|
-
r = e ?
|
|
7241
|
+
case G.EveryOtherQuarter:
|
|
7242
|
+
r = e ? H(A.every_other_quarter_ordinal, QA(e, "do")) : A.every_other_quarter;
|
|
7243
7243
|
break;
|
|
7244
7244
|
}
|
|
7245
7245
|
return r;
|
|
7246
7246
|
}, eu = (A, e) => {
|
|
7247
7247
|
switch (A.activityStatus) {
|
|
7248
7248
|
case OA.Paid:
|
|
7249
|
-
return A.occurredOnDate ?
|
|
7249
|
+
return A.occurredOnDate ? H(
|
|
7250
7250
|
e.paid_on,
|
|
7251
7251
|
Z(A.occurredOnDate, J.MONTH_DAY)
|
|
7252
7252
|
) : e.paid;
|
|
7253
7253
|
case OA.Missed:
|
|
7254
|
-
return
|
|
7254
|
+
return H(
|
|
7255
7255
|
e.missed_on,
|
|
7256
7256
|
Z(A.expectedDate, J.MONTH_DAY)
|
|
7257
7257
|
);
|
|
7258
7258
|
case OA.Upcoming:
|
|
7259
|
-
return
|
|
7259
|
+
return H(
|
|
7260
7260
|
e.upcoming_on,
|
|
7261
7261
|
Z(A.expectedDate, J.MONTH_DAY)
|
|
7262
7262
|
);
|
|
@@ -7304,7 +7304,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7304
7304
|
/* @__PURE__ */ t(E, { alignItems: "center", direction: "row", gap: 6, children: e ? /* @__PURE__ */ l(E, { direction: "row", gap: 4, children: [
|
|
7305
7305
|
tu(A),
|
|
7306
7306
|
/* @__PURE__ */ t(p, { variant: "XSmall", children: eu(A, a) })
|
|
7307
|
-
] }) : /* @__PURE__ */ l(
|
|
7307
|
+
] }) : /* @__PURE__ */ l(AA, { children: [
|
|
7308
7308
|
A.institutionGuid && /* @__PURE__ */ t(
|
|
7309
7309
|
ye,
|
|
7310
7310
|
{
|
|
@@ -7363,23 +7363,23 @@ const Li = ({ transaction: A }) => {
|
|
|
7363
7363
|
repeat_week: null,
|
|
7364
7364
|
repeat_weekday: null,
|
|
7365
7365
|
repeat_year: null,
|
|
7366
|
-
start_date:
|
|
7366
|
+
start_date: fA(n),
|
|
7367
7367
|
transaction_type: A.transaction_type
|
|
7368
7368
|
};
|
|
7369
7369
|
switch (e) {
|
|
7370
|
-
case
|
|
7370
|
+
case G.EveryWeek:
|
|
7371
7371
|
r.repeat_interval = "1", r.repeat_weekday = `${wt(n)}`;
|
|
7372
7372
|
break;
|
|
7373
|
-
case
|
|
7373
|
+
case G.EveryOtherWeek:
|
|
7374
7374
|
r.repeat_interval = "2", r.repeat_weekday = `${wt(n)}`;
|
|
7375
7375
|
break;
|
|
7376
|
-
case
|
|
7376
|
+
case G.EveryMonth:
|
|
7377
7377
|
r.repeat_day = `${vt(n)}`;
|
|
7378
7378
|
break;
|
|
7379
|
-
case
|
|
7379
|
+
case G.EveryQuarter:
|
|
7380
7380
|
r.repeat_interval = "3", r.repeat_day = `${vt(n)}`;
|
|
7381
7381
|
break;
|
|
7382
|
-
case
|
|
7382
|
+
case G.EveryYear:
|
|
7383
7383
|
r.repeat_day = `${vt(n)}`, r.repeat_month = `${At(n)}`;
|
|
7384
7384
|
break;
|
|
7385
7385
|
}
|
|
@@ -7402,18 +7402,18 @@ const Li = ({ transaction: A }) => {
|
|
|
7402
7402
|
merchant_guid: A.merchant_guid,
|
|
7403
7403
|
occurs_on: Gn(n, { representation: "date" }),
|
|
7404
7404
|
recurrence_day: 0,
|
|
7405
|
-
recurrence_type:
|
|
7405
|
+
recurrence_type: G.EveryMonth
|
|
7406
7406
|
};
|
|
7407
7407
|
switch (e) {
|
|
7408
|
-
case
|
|
7409
|
-
case
|
|
7408
|
+
case G.EveryWeek:
|
|
7409
|
+
case G.EveryOtherWeek:
|
|
7410
7410
|
r.recurrence_day = wt(n);
|
|
7411
7411
|
break;
|
|
7412
|
-
case
|
|
7413
|
-
case
|
|
7414
|
-
case
|
|
7415
|
-
case
|
|
7416
|
-
case
|
|
7412
|
+
case G.EveryMonth:
|
|
7413
|
+
case G.EveryOtherMonth:
|
|
7414
|
+
case G.EveryQuarter:
|
|
7415
|
+
case G.EveryOtherQuarter:
|
|
7416
|
+
case G.EveryYear:
|
|
7417
7417
|
r.recurrence_day = vt(n);
|
|
7418
7418
|
break;
|
|
7419
7419
|
}
|
|
@@ -7451,40 +7451,40 @@ const Li = ({ transaction: A }) => {
|
|
|
7451
7451
|
transaction: o
|
|
7452
7452
|
}) => {
|
|
7453
7453
|
const { recurring: s } = L(), c = [
|
|
7454
|
-
{ id:
|
|
7455
|
-
{ id:
|
|
7456
|
-
{ id:
|
|
7457
|
-
{ id:
|
|
7458
|
-
{ id:
|
|
7459
|
-
{ id:
|
|
7460
|
-
{ id:
|
|
7454
|
+
{ id: G.EveryWeek, label: s.frequency_every_week },
|
|
7455
|
+
{ id: G.EveryOtherWeek, label: s.frequency_every_other_week },
|
|
7456
|
+
{ id: G.EveryMonth, label: s.frequency_every_month },
|
|
7457
|
+
{ id: G.EveryOtherMonth, label: s.frequency_every_other_month },
|
|
7458
|
+
{ id: G.EveryQuarter, label: s.frequency_every_quarter },
|
|
7459
|
+
{ id: G.EveryOtherQuarter, label: s.frequency_every_other_quarter },
|
|
7460
|
+
{ id: G.EveryYear, label: s.frequency_every_year }
|
|
7461
7461
|
];
|
|
7462
7462
|
C.useEffect(() => {
|
|
7463
7463
|
const d = PA(o.date);
|
|
7464
|
-
i(zr(d)), a(
|
|
7464
|
+
i(zr(d)), a(G.EveryMonth);
|
|
7465
7465
|
}, [o]);
|
|
7466
7466
|
const u = (d) => {
|
|
7467
7467
|
const h = PA(o.date);
|
|
7468
7468
|
switch (Number(d.target.value)) {
|
|
7469
|
-
case
|
|
7469
|
+
case G.EveryWeek:
|
|
7470
7470
|
i(tr(h));
|
|
7471
7471
|
break;
|
|
7472
|
-
case
|
|
7472
|
+
case G.EveryOtherWeek:
|
|
7473
7473
|
i(sc(h));
|
|
7474
7474
|
break;
|
|
7475
|
-
case
|
|
7475
|
+
case G.EveryMonth:
|
|
7476
7476
|
i(zr(h));
|
|
7477
7477
|
break;
|
|
7478
|
-
case
|
|
7478
|
+
case G.EveryOtherMonth:
|
|
7479
7479
|
i(cc(h));
|
|
7480
7480
|
break;
|
|
7481
|
-
case
|
|
7481
|
+
case G.EveryQuarter:
|
|
7482
7482
|
i(oi(h));
|
|
7483
7483
|
break;
|
|
7484
|
-
case
|
|
7484
|
+
case G.EveryOtherQuarter:
|
|
7485
7485
|
i(lc(h));
|
|
7486
7486
|
break;
|
|
7487
|
-
case
|
|
7487
|
+
case G.EveryYear:
|
|
7488
7488
|
i(dc(h));
|
|
7489
7489
|
break;
|
|
7490
7490
|
}
|
|
@@ -7529,28 +7529,28 @@ const Li = ({ transaction: A }) => {
|
|
|
7529
7529
|
label: e,
|
|
7530
7530
|
onAddActivity: n = () => null
|
|
7531
7531
|
}) => {
|
|
7532
|
-
const { recurring: r } = L(), { addCashflowEvent: a, addCashflowSequence: i, addScheduledPayment: o } = BA(), { filter: s, setFilter: c, transactions: u } =
|
|
7533
|
-
() => u.find((
|
|
7532
|
+
const { recurring: r } = L(), { addCashflowEvent: a, addCashflowSequence: i, addScheduledPayment: o } = BA(), { filter: s, setFilter: c, transactions: u } = uA(), [d, h] = C.useState(!1), [g, f] = C.useState(""), [m, y] = C.useState(G.EveryMonth), [v, T] = C.useState(null), I = C.useMemo(
|
|
7533
|
+
() => u.find((O) => O.guid === g),
|
|
7534
7534
|
[g]
|
|
7535
7535
|
), w = () => {
|
|
7536
7536
|
h(!0), c(A ? { ...s, custom: Lt } : { ...s, custom: Hn });
|
|
7537
7537
|
}, x = async () => {
|
|
7538
7538
|
if (n(), !I || !v) {
|
|
7539
|
-
|
|
7539
|
+
P();
|
|
7540
7540
|
return;
|
|
7541
7541
|
}
|
|
7542
7542
|
if (A) {
|
|
7543
|
-
const
|
|
7543
|
+
const O = Mi(I, m, v), N = await i(O);
|
|
7544
7544
|
if (N) {
|
|
7545
|
-
const
|
|
7546
|
-
await a(
|
|
7545
|
+
const _ = _i(N, I);
|
|
7546
|
+
await a(_);
|
|
7547
7547
|
}
|
|
7548
7548
|
} else {
|
|
7549
|
-
const
|
|
7550
|
-
await o(
|
|
7549
|
+
const O = ru(I, m, v);
|
|
7550
|
+
await o(O, I);
|
|
7551
7551
|
}
|
|
7552
|
-
|
|
7553
|
-
},
|
|
7552
|
+
P();
|
|
7553
|
+
}, P = () => {
|
|
7554
7554
|
f(""), h(!1);
|
|
7555
7555
|
};
|
|
7556
7556
|
return /* @__PURE__ */ l(D, { children: [
|
|
@@ -7573,13 +7573,13 @@ const Li = ({ transaction: A }) => {
|
|
|
7573
7573
|
Ri,
|
|
7574
7574
|
{
|
|
7575
7575
|
description: A ? r.add_income_description : r.add_expense_description,
|
|
7576
|
-
onSearch: (
|
|
7576
|
+
onSearch: (O) => {
|
|
7577
7577
|
c({
|
|
7578
7578
|
...s,
|
|
7579
|
-
custom: (N) => A ?
|
|
7579
|
+
custom: (N) => A ? O ? zi(N, O) : Lt(N) : O ? ou(N, O) : Hn(N)
|
|
7580
7580
|
});
|
|
7581
7581
|
},
|
|
7582
|
-
onSelected: (
|
|
7582
|
+
onSelected: (O) => f(O)
|
|
7583
7583
|
}
|
|
7584
7584
|
)
|
|
7585
7585
|
}
|
|
@@ -7623,7 +7623,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7623
7623
|
scheduledPaymentGuid: r.guid
|
|
7624
7624
|
};
|
|
7625
7625
|
}), lu = () => {
|
|
7626
|
-
const { recurring: A } = L(), { scheduledPayments: e } = BA(), { transactions: n } =
|
|
7626
|
+
const { recurring: A } = L(), { scheduledPayments: e } = BA(), { transactions: n } = uA(), { selectedAccounts: r } = CA(), { onEvent: a } = Y(), i = cu(r, e, n), o = (c) => {
|
|
7627
7627
|
a(j.RECURRING_ACTIVITY_CLICK_EXPENSE, {
|
|
7628
7628
|
transaction_guid: c.transactionGuid
|
|
7629
7629
|
});
|
|
@@ -7640,7 +7640,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7640
7640
|
}, du = S(lu), zn = (A) => {
|
|
7641
7641
|
let e = A.user_name || A.feed_name || "";
|
|
7642
7642
|
return A.account_number && (e = `${e} *${A.account_number}`), e;
|
|
7643
|
-
}, Bn = (A) => A ? A.repeat_interval === "1" ?
|
|
7643
|
+
}, Bn = (A) => A ? A.repeat_interval === "1" ? G.EveryWeek : A.repeat_interval === "2" ? G.EveryOtherWeek : A.repeat_day && !A.repeat_month && !A.repeat_interval ? G.EveryMonth : A.repeat_day && A.repeat_interval === "3" ? G.EveryQuarter : A.repeat_day && A.repeat_month ? G.EveryYear : G.Unknown : G.Unknown, uu = (A, e, n, r, a, i) => {
|
|
7644
7644
|
const o = e.filter((d) => {
|
|
7645
7645
|
const h = a.find((f) => f.guid === d.cashflow_sequence_guid), g = i.find((f) => f.guid === d.transaction_guid);
|
|
7646
7646
|
return h?.end_date === null && g;
|
|
@@ -7695,7 +7695,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7695
7695
|
};
|
|
7696
7696
|
}), c = [];
|
|
7697
7697
|
return n && n.forEach((d) => c.push(...hu(A, d, i))), [...o, ...s, ...c].sort(
|
|
7698
|
-
(d, h) =>
|
|
7698
|
+
(d, h) => fA(d.occurredOnDate || d.expectedDate) - fA(h.occurredOnDate || h.expectedDate)
|
|
7699
7699
|
);
|
|
7700
7700
|
}, hu = (A, e, n) => {
|
|
7701
7701
|
const r = [], a = n.find((f) => f.scheduled_payment_guid === e.guid);
|
|
@@ -7718,14 +7718,14 @@ const Li = ({ transaction: A }) => {
|
|
|
7718
7718
|
}, c = e.recurrence_day, u = eA(), d = bA(eA()), h = Ee(eA(), 30);
|
|
7719
7719
|
let g = d;
|
|
7720
7720
|
switch (e.recurrence_type) {
|
|
7721
|
-
case
|
|
7721
|
+
case G.EveryWeek:
|
|
7722
7722
|
for (g = On(g, c); wA(g, h); )
|
|
7723
7723
|
r.push({
|
|
7724
7724
|
...s,
|
|
7725
7725
|
expectedDate: g
|
|
7726
7726
|
}), g = On(g, c);
|
|
7727
7727
|
break;
|
|
7728
|
-
case
|
|
7728
|
+
case G.EveryOtherWeek:
|
|
7729
7729
|
if (wA(o, d))
|
|
7730
7730
|
for (g = $e(o, 2); wA(g, h); )
|
|
7731
7731
|
tt(g, d) && r.push({
|
|
@@ -7748,7 +7748,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7748
7748
|
}), g = $e(g, 2);
|
|
7749
7749
|
}
|
|
7750
7750
|
break;
|
|
7751
|
-
case
|
|
7751
|
+
case G.EveryMonth:
|
|
7752
7752
|
r.push({
|
|
7753
7753
|
...s,
|
|
7754
7754
|
expectedDate: Pn(g, c)
|
|
@@ -7757,7 +7757,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7757
7757
|
expectedDate: ne(Pn(g, c), 1)
|
|
7758
7758
|
});
|
|
7759
7759
|
break;
|
|
7760
|
-
case
|
|
7760
|
+
case G.EveryOtherMonth:
|
|
7761
7761
|
wA(o, d) ? wA(ne(o, 2), h) && r.push({
|
|
7762
7762
|
...s,
|
|
7763
7763
|
expectedDate: ne(o, 2)
|
|
@@ -7766,7 +7766,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7766
7766
|
expectedDate: o
|
|
7767
7767
|
});
|
|
7768
7768
|
break;
|
|
7769
|
-
case
|
|
7769
|
+
case G.EveryQuarter:
|
|
7770
7770
|
wA(o, d) ? wA(Xe(o, 1), h) && r.push({
|
|
7771
7771
|
...s,
|
|
7772
7772
|
expectedDate: Xe(o, 1)
|
|
@@ -7775,7 +7775,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7775
7775
|
expectedDate: o
|
|
7776
7776
|
});
|
|
7777
7777
|
break;
|
|
7778
|
-
case
|
|
7778
|
+
case G.EveryOtherQuarter:
|
|
7779
7779
|
wA(o, d) ? wA(Xe(o, 2), h) && r.push({
|
|
7780
7780
|
...s,
|
|
7781
7781
|
expectedDate: Xe(o, 2)
|
|
@@ -7784,7 +7784,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7784
7784
|
expectedDate: o
|
|
7785
7785
|
});
|
|
7786
7786
|
break;
|
|
7787
|
-
case
|
|
7787
|
+
case G.EveryYear:
|
|
7788
7788
|
wA(o, d) ? wA(bt(o, 1), h) && r.push({
|
|
7789
7789
|
...s,
|
|
7790
7790
|
expectedDate: bt(o, 1)
|
|
@@ -7796,7 +7796,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7796
7796
|
}
|
|
7797
7797
|
return r.forEach((f) => {
|
|
7798
7798
|
const m = n.find(
|
|
7799
|
-
(y) => y.scheduled_payment_guid === f.scheduledPaymentGuid && y.date >
|
|
7799
|
+
(y) => y.scheduled_payment_guid === f.scheduledPaymentGuid && y.date > fA(ue(f.expectedDate, 3)) && y.date < fA(Ee(f.expectedDate, 3))
|
|
7800
7800
|
);
|
|
7801
7801
|
m ? (f.transactionGuid = m.guid, f.occurredOnDate = PA(m.date), f.activityStatus = OA.Paid) : wA(f.expectedDate, ue(u, 3)) && (f.activityStatus = OA.Missed);
|
|
7802
7802
|
}), r;
|
|
@@ -7818,7 +7818,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7818
7818
|
sequenceGuid: i.guid
|
|
7819
7819
|
};
|
|
7820
7820
|
}), Cu = () => {
|
|
7821
|
-
const { recurring: A } = L(), { selectedAccounts: e } =
|
|
7821
|
+
const { recurring: A } = L(), { selectedAccounts: e } = CA(), { cashflowEvents: n, cashflowSequences: r, projectedEvents: a } = BA(), { transactions: i } = uA(), { onEvent: o } = Y(), s = gu(
|
|
7822
7822
|
e,
|
|
7823
7823
|
n,
|
|
7824
7824
|
a,
|
|
@@ -7874,7 +7874,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7874
7874
|
start: bA(/* @__PURE__ */ new Date()),
|
|
7875
7875
|
end: Ee(eA(), 30)
|
|
7876
7876
|
}), mu = ({ day: A, outsideCurrentMonth: e, ...n }) => {
|
|
7877
|
-
const { recurring: r } = L(), { selectedAccountGuids: a } =
|
|
7877
|
+
const { recurring: r } = L(), { selectedAccountGuids: a } = CA(), { activities: i, setSelectedDay: o } = BA(), c = C.useMemo(
|
|
7878
7878
|
() => i.filter((m) => a.includes(m.accountGuid || "")),
|
|
7879
7879
|
[a, i]
|
|
7880
7880
|
).filter(
|
|
@@ -7889,7 +7889,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7889
7889
|
return /* @__PURE__ */ t(
|
|
7890
7890
|
Ua,
|
|
7891
7891
|
{
|
|
7892
|
-
badgeContent: c.length > 0 && /* @__PURE__ */ l(
|
|
7892
|
+
badgeContent: c.length > 0 && /* @__PURE__ */ l(AA, { children: [
|
|
7893
7893
|
d && /* @__PURE__ */ t(gr, { isOffset: !0 }),
|
|
7894
7894
|
h && /* @__PURE__ */ t(Cr, { isOffset: !0 }),
|
|
7895
7895
|
u && /* @__PURE__ */ t(ur, { isOffset: !0 }),
|
|
@@ -7949,7 +7949,7 @@ const Li = ({ transaction: A }) => {
|
|
|
7949
7949
|
}
|
|
7950
7950
|
);
|
|
7951
7951
|
}, yu = S(vu), sa = 58, Eu = () => {
|
|
7952
|
-
const A =
|
|
7952
|
+
const A = gA(), { onEvent: e } = Y(), { selectedDay: n } = BA(), [r, a] = C.useState(
|
|
7953
7953
|
Mr(/* @__PURE__ */ new Date()) * dt + sa
|
|
7954
7954
|
), i = (s) => {
|
|
7955
7955
|
a(Mr(s) * dt + sa), e(j.RECURRING_ACTIVITY_CLICK_CALENDAR_RIGHT);
|
|
@@ -8027,7 +8027,7 @@ const Li = ({ transaction: A }) => {
|
|
|
8027
8027
|
/* @__PURE__ */ t(p, { bold: !0, variant: "Body", children: i }),
|
|
8028
8028
|
n && /* @__PURE__ */ t(sA, { onClick: n, sx: { mt: -12 }, variant: "text", children: o.reset })
|
|
8029
8029
|
] }),
|
|
8030
|
-
A.length === 0 ? /* @__PURE__ */ t(p, { fontStyle: "italic", py: 24, sx: { textAlign: "center" }, children: o.no_activities }) : /* @__PURE__ */ t(rA, { children: e ? A.map((c, u) => /* @__PURE__ */ l(
|
|
8030
|
+
A.length === 0 ? /* @__PURE__ */ t(p, { fontStyle: "italic", py: 24, sx: { textAlign: "center" }, children: o.no_activities }) : /* @__PURE__ */ t(rA, { children: e ? A.map((c, u) => /* @__PURE__ */ l(AA, { children: [
|
|
8031
8031
|
/* @__PURE__ */ t(
|
|
8032
8032
|
Vt,
|
|
8033
8033
|
{
|
|
@@ -8038,7 +8038,7 @@ const Li = ({ transaction: A }) => {
|
|
|
8038
8038
|
c.expectedDate.toString() + u
|
|
8039
8039
|
),
|
|
8040
8040
|
/* @__PURE__ */ t(q, { sx: { mx: 24 } })
|
|
8041
|
-
] })) : s.map((c) => /* @__PURE__ */ l(
|
|
8041
|
+
] })) : s.map((c) => /* @__PURE__ */ l(AA, { children: [
|
|
8042
8042
|
/* @__PURE__ */ t(W, { children: /* @__PURE__ */ t(
|
|
8043
8043
|
rA,
|
|
8044
8044
|
{
|
|
@@ -8047,7 +8047,7 @@ const Li = ({ transaction: A }) => {
|
|
|
8047
8047
|
J.DAY_OF_WEEK_MONTH_DAY
|
|
8048
8048
|
) }) }),
|
|
8049
8049
|
sx: { width: "100%" },
|
|
8050
|
-
children: c.activities.map((u, d) => /* @__PURE__ */ l(
|
|
8050
|
+
children: c.activities.map((u, d) => /* @__PURE__ */ l(AA, { children: [
|
|
8051
8051
|
/* @__PURE__ */ t(
|
|
8052
8052
|
Vt,
|
|
8053
8053
|
{
|
|
@@ -8072,7 +8072,7 @@ const Li = ({ transaction: A }) => {
|
|
|
8072
8072
|
total: a,
|
|
8073
8073
|
onNewClick: i
|
|
8074
8074
|
}) => {
|
|
8075
|
-
const { recurring: o } = L(), s =
|
|
8075
|
+
const { recurring: o } = L(), s = gA(), c = C.useMemo(() => {
|
|
8076
8076
|
const u = [{ color: s.palette.success.main, percentage: `${n / e}` }];
|
|
8077
8077
|
return r && u.push({ color: s.palette.error.main, percentage: `${r / e}` }), u;
|
|
8078
8078
|
}, [n, e, r]);
|
|
@@ -8083,7 +8083,7 @@ const Li = ({ transaction: A }) => {
|
|
|
8083
8083
|
/* @__PURE__ */ l(E, { direction: "row", gap: 2, mb: 8, children: [
|
|
8084
8084
|
/* @__PURE__ */ t(p, { bold: !0, variant: "XSmall", children: z(n, "0,0.00") }),
|
|
8085
8085
|
/* @__PURE__ */ t(p, { variant: "XSmall", children: o.paid?.toLowerCase() }),
|
|
8086
|
-
r !== void 0 && /* @__PURE__ */ l(
|
|
8086
|
+
r !== void 0 && /* @__PURE__ */ l(AA, { children: [
|
|
8087
8087
|
/* @__PURE__ */ t(p, { variant: "XSmall", children: "/" }),
|
|
8088
8088
|
/* @__PURE__ */ t(p, { bold: !0, variant: "XSmall", children: z(r, "0,0.00") }),
|
|
8089
8089
|
/* @__PURE__ */ t(p, { variant: "XSmall", children: o.missed?.toLowerCase() })
|
|
@@ -8106,15 +8106,15 @@ const Li = ({ transaction: A }) => {
|
|
|
8106
8106
|
selectedDayActivities: o,
|
|
8107
8107
|
setSelectedDay: s,
|
|
8108
8108
|
upcomingActivities: c
|
|
8109
|
-
} = BA(), [u, d] = C.useState(0), { onEvent: h } = Y(), g = n.filter(wn), f = a.filter(wn), m = r.filter(wn), y = g.filter(Rt).reduce(ht, 0), v = f.filter(Rt).reduce(ht, 0), T = m.filter(Rt).reduce(ht, 0), I = g.filter(Rt).length, w = g.filter(bn).reduce(ht, 0), x = f.filter(bn).reduce(ht, 0),
|
|
8110
|
-
d(
|
|
8111
|
-
}, N = (
|
|
8109
|
+
} = BA(), [u, d] = C.useState(0), { onEvent: h } = Y(), g = n.filter(wn), f = a.filter(wn), m = r.filter(wn), y = g.filter(Rt).reduce(ht, 0), v = f.filter(Rt).reduce(ht, 0), T = m.filter(Rt).reduce(ht, 0), I = g.filter(Rt).length, w = g.filter(bn).reduce(ht, 0), x = f.filter(bn).reduce(ht, 0), P = g.filter(bn).length, O = (F, X) => {
|
|
8110
|
+
d(X);
|
|
8111
|
+
}, N = (F) => {
|
|
8112
8112
|
h(j.RECURRING_ACTIVITY_CLICK_UPCOMING, {
|
|
8113
|
-
transaction_guid:
|
|
8113
|
+
transaction_guid: F.transactionGuid
|
|
8114
8114
|
});
|
|
8115
|
-
},
|
|
8115
|
+
}, _ = (F) => {
|
|
8116
8116
|
h(j.RECURRING_ACTIVITY_CLICK_PAID, {
|
|
8117
|
-
transaction_guid:
|
|
8117
|
+
transaction_guid: F.transactionGuid
|
|
8118
8118
|
});
|
|
8119
8119
|
};
|
|
8120
8120
|
return /* @__PURE__ */ l(De, { container: !0, pt: 16, px: 24, spacing: 24, children: [
|
|
@@ -8135,7 +8135,7 @@ const Li = ({ transaction: A }) => {
|
|
|
8135
8135
|
expected: w,
|
|
8136
8136
|
paid: x,
|
|
8137
8137
|
title: A.deposits,
|
|
8138
|
-
total:
|
|
8138
|
+
total: P
|
|
8139
8139
|
}
|
|
8140
8140
|
),
|
|
8141
8141
|
!e && /* @__PURE__ */ t(
|
|
@@ -8147,7 +8147,7 @@ const Li = ({ transaction: A }) => {
|
|
|
8147
8147
|
}
|
|
8148
8148
|
),
|
|
8149
8149
|
e && /* @__PURE__ */ l(D, { children: [
|
|
8150
|
-
/* @__PURE__ */ l(Oe, { onChange:
|
|
8150
|
+
/* @__PURE__ */ l(Oe, { onChange: O, value: u, variant: "fullWidth", children: [
|
|
8151
8151
|
/* @__PURE__ */ t(
|
|
8152
8152
|
KA,
|
|
8153
8153
|
{
|
|
@@ -8168,7 +8168,7 @@ const Li = ({ transaction: A }) => {
|
|
|
8168
8168
|
onActivityClick: N
|
|
8169
8169
|
}
|
|
8170
8170
|
),
|
|
8171
|
-
u === 1 && /* @__PURE__ */ t(ft, { activities: f, onActivityClick:
|
|
8171
|
+
u === 1 && /* @__PURE__ */ t(ft, { activities: f, onActivityClick: _ })
|
|
8172
8172
|
] })
|
|
8173
8173
|
] }) }),
|
|
8174
8174
|
!e && /* @__PURE__ */ t(De, { sx: { minWidth: 450 }, xs: "auto", children: /* @__PURE__ */ l(E, { gap: 35, children: [
|
|
@@ -8177,9 +8177,9 @@ const Li = ({ transaction: A }) => {
|
|
|
8177
8177
|
ft,
|
|
8178
8178
|
{
|
|
8179
8179
|
activities: o || f,
|
|
8180
|
-
onActivityClick:
|
|
8180
|
+
onActivityClick: _,
|
|
8181
8181
|
onResetClick: i ? () => s(i) : void 0,
|
|
8182
|
-
title: i ?
|
|
8182
|
+
title: i ? H(
|
|
8183
8183
|
A.day_transactions,
|
|
8184
8184
|
Z(i, J.MONTH_DAY)
|
|
8185
8185
|
) : A.paid_activity
|
|
@@ -8188,7 +8188,7 @@ const Li = ({ transaction: A }) => {
|
|
|
8188
8188
|
] }) })
|
|
8189
8189
|
] });
|
|
8190
8190
|
}, Lu = S(Tu), Iu = ({ onBackClick: A, sx: e = {} }) => {
|
|
8191
|
-
const { accounts: n } = LA(), { recurring: r } = L(), { isInitialized: a, selectedAccountGuids: i, setSelectedAccounts: o } =
|
|
8191
|
+
const { accounts: n } = LA(), { recurring: r } = L(), { isInitialized: a, selectedAccountGuids: i, setSelectedAccounts: o } = CA(), { setFilter: s } = uA(), { isLoading: c } = BA(), { onEvent: u } = Y();
|
|
8192
8192
|
C.useEffect(() => {
|
|
8193
8193
|
o(n);
|
|
8194
8194
|
}, [n]), C.useEffect(() => {
|
|
@@ -8236,7 +8236,7 @@ const Li = ({ transaction: A }) => {
|
|
|
8236
8236
|
}
|
|
8237
8237
|
);
|
|
8238
8238
|
}, cf = S(Iu), Du = () => {
|
|
8239
|
-
const { recurring: A } = L(), { selectedAccountGuids: e } =
|
|
8239
|
+
const { recurring: A } = L(), { selectedAccountGuids: e } = CA(), { selectedDay: n, selectedDayActivities: r, setSelectedDay: a, upcomingActivities: i } = BA(), o = C.useMemo(
|
|
8240
8240
|
() => i.filter(
|
|
8241
8241
|
(u) => e.includes(u.accountGuid || "")
|
|
8242
8242
|
),
|
|
@@ -8252,7 +8252,7 @@ const Li = ({ transaction: A }) => {
|
|
|
8252
8252
|
isMini: !0,
|
|
8253
8253
|
onResetClick: n ? () => a(n) : void 0,
|
|
8254
8254
|
sx: { width: c ? "100%" : "calc(100% - 336px)", mt: 12 },
|
|
8255
|
-
title: n ?
|
|
8255
|
+
title: n ? H(
|
|
8256
8256
|
A.day_transactions,
|
|
8257
8257
|
Z(n, J.MONTH_DAY)
|
|
8258
8258
|
) : A.upcoming_activity
|
|
@@ -8260,7 +8260,7 @@ const Li = ({ transaction: A }) => {
|
|
|
8260
8260
|
)
|
|
8261
8261
|
] });
|
|
8262
8262
|
}, xu = S(Du), Ou = ({ onPrimaryCtaClick: A, sx: e }) => {
|
|
8263
|
-
const { recurring: n } = L(), { isInitialized: r, selectedAccountGuids: a } =
|
|
8263
|
+
const { recurring: n } = L(), { isInitialized: r, selectedAccountGuids: a } = CA(), { setFilter: i } = uA();
|
|
8264
8264
|
return C.useEffect(() => {
|
|
8265
8265
|
r && i({
|
|
8266
8266
|
dateRange: { start: ue(eA(), 90), end: Qe() },
|
|
@@ -8453,7 +8453,7 @@ class Pu {
|
|
|
8453
8453
|
const a = this.cashflowEvents.findLast((i) => i.guid === e.guid);
|
|
8454
8454
|
await this.cashflowApi.updateCashflowSequence({
|
|
8455
8455
|
...r,
|
|
8456
|
-
end_date: a?.occurred_on ||
|
|
8456
|
+
end_date: a?.occurred_on || fA(/* @__PURE__ */ new Date())
|
|
8457
8457
|
}), await this.addCashflowSequence({
|
|
8458
8458
|
...e,
|
|
8459
8459
|
guid: void 0
|
|
@@ -8491,9 +8491,9 @@ const Nu = {
|
|
|
8491
8491
|
event: "account_details_click_account_name",
|
|
8492
8492
|
label: e.account_name,
|
|
8493
8493
|
name: "user_name",
|
|
8494
|
-
placeholder:
|
|
8494
|
+
placeholder: H(e.enter_value, e.account_name),
|
|
8495
8495
|
type: VA.Input,
|
|
8496
|
-
validation: (r) => r ? "" :
|
|
8496
|
+
validation: (r) => r ? "" : H(e.field_is_required, e.account_name),
|
|
8497
8497
|
valueFormatter: (r) => r
|
|
8498
8498
|
}
|
|
8499
8499
|
];
|
|
@@ -8501,7 +8501,7 @@ const Nu = {
|
|
|
8501
8501
|
n.unshift({
|
|
8502
8502
|
label: e.account_balance,
|
|
8503
8503
|
name: "balance",
|
|
8504
|
-
placeholder:
|
|
8504
|
+
placeholder: H(e.enter_value, e.account_balance),
|
|
8505
8505
|
type: VA.Currency,
|
|
8506
8506
|
valueFormatter: (a) => z(a, "0,0.00")
|
|
8507
8507
|
});
|
|
@@ -8514,7 +8514,7 @@ const Nu = {
|
|
|
8514
8514
|
label: e.account_type,
|
|
8515
8515
|
name: "account_type",
|
|
8516
8516
|
options: r,
|
|
8517
|
-
placeholder:
|
|
8517
|
+
placeholder: H(e.select_value, e.account_type),
|
|
8518
8518
|
type: VA.Select,
|
|
8519
8519
|
valueFormatter: (a) => r.find((i) => i.value === a)?.label
|
|
8520
8520
|
});
|
|
@@ -8529,7 +8529,7 @@ const Nu = {
|
|
|
8529
8529
|
label: e.property_type,
|
|
8530
8530
|
name: "property_type",
|
|
8531
8531
|
options: r,
|
|
8532
|
-
placeholder:
|
|
8532
|
+
placeholder: H(e.select_value, e.property_type),
|
|
8533
8533
|
type: VA.Select,
|
|
8534
8534
|
valueFormatter: (a) => r.find((i) => i.value === a)?.label
|
|
8535
8535
|
});
|
|
@@ -8540,7 +8540,7 @@ const Nu = {
|
|
|
8540
8540
|
event: "account_details_click_interest_rate",
|
|
8541
8541
|
label: r,
|
|
8542
8542
|
name: a,
|
|
8543
|
-
placeholder:
|
|
8543
|
+
placeholder: H(e.enter_value, r),
|
|
8544
8544
|
type: VA.Input,
|
|
8545
8545
|
validation: (i) => Mn(i) ? "" : e.error_amount_is_invalid,
|
|
8546
8546
|
valueFormatter: (i) => Mn(i) ? ii(i / 100) : i
|
|
@@ -8549,7 +8549,7 @@ const Nu = {
|
|
|
8549
8549
|
return mr(A) && (n.push({
|
|
8550
8550
|
label: e.minimum_payment,
|
|
8551
8551
|
name: "minimum_payment",
|
|
8552
|
-
placeholder:
|
|
8552
|
+
placeholder: H(e.enter_value, e.minimum_payment),
|
|
8553
8553
|
type: VA.Currency,
|
|
8554
8554
|
valueFormatter: (r) => z(r, "0,0.00")
|
|
8555
8555
|
}), A.payment_due_at ? n.push({
|
|
@@ -8563,23 +8563,23 @@ const Nu = {
|
|
|
8563
8563
|
}) : n.push({
|
|
8564
8564
|
label: e.day_payment_due,
|
|
8565
8565
|
name: "day_payment_is_due",
|
|
8566
|
-
placeholder:
|
|
8566
|
+
placeholder: H(e.enter_value, e.day_payment_due),
|
|
8567
8567
|
type: VA.Date,
|
|
8568
|
-
valueFormatter: (r) =>
|
|
8568
|
+
valueFormatter: (r) => H(
|
|
8569
8569
|
e.day_of_every_month,
|
|
8570
8570
|
oc(r <= 31 ? r : new Date(r).getDate())
|
|
8571
8571
|
)
|
|
8572
8572
|
})), Ru(A) && n.push({
|
|
8573
8573
|
label: e.credit_limit,
|
|
8574
8574
|
name: "credit_limit",
|
|
8575
|
-
placeholder:
|
|
8575
|
+
placeholder: H(e.enter_value, e.credit_limit),
|
|
8576
8576
|
type: VA.Currency,
|
|
8577
8577
|
valueFormatter: (r) => z(r, "0,0.00")
|
|
8578
8578
|
}), zu(A) && n.push({
|
|
8579
8579
|
label: e.original_balance,
|
|
8580
8580
|
minAmount: 1,
|
|
8581
8581
|
name: "original_balance",
|
|
8582
|
-
placeholder:
|
|
8582
|
+
placeholder: H(e.enter_value, e.original_balance),
|
|
8583
8583
|
type: VA.Currency,
|
|
8584
8584
|
valueFormatter: (r) => z(r, "0,0.00")
|
|
8585
8585
|
}), n;
|
|
@@ -8594,7 +8594,7 @@ const Nu = {
|
|
|
8594
8594
|
default:
|
|
8595
8595
|
if (n = e.current_balance, r = A.balance, A.minimum_payment && A.payment_due_at) {
|
|
8596
8596
|
const s = typeof A.payment_due_at == "number" ? new Date(A.payment_due_at * 1e3) : A.payment_due_at;
|
|
8597
|
-
a = /* @__PURE__ */ t(p, { component: "strong", variant: "XSmall", children:
|
|
8597
|
+
a = /* @__PURE__ */ t(p, { component: "strong", variant: "XSmall", children: H(
|
|
8598
8598
|
e.payment_due_on,
|
|
8599
8599
|
z(A.minimum_payment, "0,0.00"),
|
|
8600
8600
|
Z(s, J.FULL_MONTH_DAY)
|
|
@@ -8620,7 +8620,7 @@ const Nu = {
|
|
|
8620
8620
|
);
|
|
8621
8621
|
let u;
|
|
8622
8622
|
(A.connectionStatus === je.Error || A.connectionStatus === je.RequiresMfa) && (u = /* @__PURE__ */ t(Mu, { size: 16 }));
|
|
8623
|
-
const d = /* @__PURE__ */ l(
|
|
8623
|
+
const d = /* @__PURE__ */ l(AA, { children: [
|
|
8624
8624
|
/* @__PURE__ */ t(xA, { children: /* @__PURE__ */ t(
|
|
8625
8625
|
Ua,
|
|
8626
8626
|
{
|
|
@@ -8643,7 +8643,7 @@ const Nu = {
|
|
|
8643
8643
|
A.is_hidden && !A.is_closed && a.is_hidden,
|
|
8644
8644
|
A.is_closed && a.is_closed
|
|
8645
8645
|
] }),
|
|
8646
|
-
secondary: /* @__PURE__ */ l(
|
|
8646
|
+
secondary: /* @__PURE__ */ l(AA, { children: [
|
|
8647
8647
|
/* @__PURE__ */ l(D, { sx: { alignItems: "center", display: "flex", justifyContent: "space-between" }, children: [
|
|
8648
8648
|
/* @__PURE__ */ t(p, { variant: "XSmall", children: i }),
|
|
8649
8649
|
/* @__PURE__ */ t(p, { bold: !0, variant: "Small", children: z(o, "0,0.00") })
|
|
@@ -8674,7 +8674,7 @@ const Nu = {
|
|
|
8674
8674
|
}
|
|
8675
8675
|
);
|
|
8676
8676
|
var It = /* @__PURE__ */ ((A) => (A.EXPENSE = "expense", A.INCOME = "income", A))(It || {});
|
|
8677
|
-
const ku = ({ activity: A }) => /* @__PURE__ */ l(
|
|
8677
|
+
const ku = ({ activity: A }) => /* @__PURE__ */ l(AA, { children: [
|
|
8678
8678
|
/* @__PURE__ */ l(W, { sx: { display: "flex", alignItems: "center", gap: 16, px: 24, py: 12 }, children: [
|
|
8679
8679
|
/* @__PURE__ */ l(E, { alignItems: "center", height: 32, width: 32, children: [
|
|
8680
8680
|
/* @__PURE__ */ t(p, { bold: !0, sx: { fontSize: 11 }, children: Z(A.expectedDate, J.MONTH) }),
|
|
@@ -8693,7 +8693,7 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
8693
8693
|
/* @__PURE__ */ t(q, {})
|
|
8694
8694
|
] }), la = S(ku), Gu = ({ total: A, type: e }) => {
|
|
8695
8695
|
const { cashflow: n } = L();
|
|
8696
|
-
return /* @__PURE__ */ l(
|
|
8696
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
8697
8697
|
/* @__PURE__ */ l(
|
|
8698
8698
|
de,
|
|
8699
8699
|
{
|
|
@@ -8730,7 +8730,7 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
8730
8730
|
] })
|
|
8731
8731
|
] }),
|
|
8732
8732
|
/* @__PURE__ */ t(E, { children: a.map((i) => {
|
|
8733
|
-
const o = n.filter(ua(i, r)).sort((d, h) =>
|
|
8733
|
+
const o = n.filter(ua(i, r)).sort((d, h) => fA(d.expectedDate) - fA(h.expectedDate)), s = e.filter(
|
|
8734
8734
|
ua(i, r)
|
|
8735
8735
|
), c = o.reduce(
|
|
8736
8736
|
(d, h) => d + h.amount,
|
|
@@ -8790,7 +8790,7 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
8790
8790
|
}) })
|
|
8791
8791
|
] });
|
|
8792
8792
|
}, Xu = S(Fu), ju = () => {
|
|
8793
|
-
const { availableWidth: A } = Ot(), e =
|
|
8793
|
+
const { availableWidth: A } = Ot(), e = gA(), { cashflow: n } = L(), { upcomingExpenses: r, upcomingIncome: a } = BA(), { dateRange: i, selectedCashAccounts: o } = ot(), s = [
|
|
8794
8794
|
{
|
|
8795
8795
|
field: "account",
|
|
8796
8796
|
flex: 1.5,
|
|
@@ -9057,7 +9057,7 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9057
9057
|
]
|
|
9058
9058
|
}
|
|
9059
9059
|
), ha = (A, e) => (n) => n.accountGuid && A.includes(n.accountGuid) && (Vn(n.expectedDate) || tt(n.expectedDate, e.start)) && wA(n.expectedDate, e.end), Yu = () => {
|
|
9060
|
-
const [A, e] = C.useState(!1), { availableWidth: n } = Ot(), { cashflow: r } = L(), { upcomingExpenses: a, upcomingIncome: i } = BA(), { selectedAccountGuids: o } =
|
|
9060
|
+
const [A, e] = C.useState(!1), { availableWidth: n } = Ot(), { cashflow: r } = L(), { upcomingExpenses: a, upcomingIncome: i } = BA(), { selectedAccountGuids: o } = CA(), { dateRange: s, selectedCashAccounts: c } = ot(), { userProfile: u } = an(), d = C.useMemo(
|
|
9061
9061
|
() => a.filter(ha(o, s)),
|
|
9062
9062
|
[s, o, a]
|
|
9063
9063
|
), h = C.useMemo(
|
|
@@ -9122,9 +9122,9 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9122
9122
|
)
|
|
9123
9123
|
}
|
|
9124
9124
|
)
|
|
9125
|
-
] }) : /* @__PURE__ */ l(
|
|
9125
|
+
] }) : /* @__PURE__ */ l(AA, { children: [
|
|
9126
9126
|
/* @__PURE__ */ t(Ne, { amount: g, label: r.cash_and_bank }),
|
|
9127
|
-
v ? /* @__PURE__ */ l(
|
|
9127
|
+
v ? /* @__PURE__ */ l(AA, { children: [
|
|
9128
9128
|
/* @__PURE__ */ t(p, { sx: { fontSize: 25, lineHeight: 1 }, children: "+" }),
|
|
9129
9129
|
/* @__PURE__ */ t(
|
|
9130
9130
|
Ne,
|
|
@@ -9173,7 +9173,7 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9173
9173
|
)
|
|
9174
9174
|
] });
|
|
9175
9175
|
}, Vu = S(Yu), Ju = ({ handleNextStep: A }) => {
|
|
9176
|
-
const { completeOnboarding: e } = rr(), { cashflow: n } = L(), r =
|
|
9176
|
+
const { completeOnboarding: e } = rr(), { cashflow: n } = L(), r = gA();
|
|
9177
9177
|
return /* @__PURE__ */ l(E, { children: [
|
|
9178
9178
|
/* @__PURE__ */ t(ve, { pb: 12, children: n.welcome_title }),
|
|
9179
9179
|
/* @__PURE__ */ t(
|
|
@@ -9257,15 +9257,15 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9257
9257
|
transform: rotate(360deg);
|
|
9258
9258
|
}
|
|
9259
9259
|
`, rh = () => {
|
|
9260
|
-
const { addCashflowEvent: A, addCashflowSequence: e, cashflowSequences: n } = BA(), { cashflow: r, common: a } = L(), { completeOnboarding: i } = rr(), { isDirty: o } = ot(), { isMobile: s } = zA(), { setDisplayedDate: c } =
|
|
9261
|
-
() => h.find((cA) => cA.guid ===
|
|
9262
|
-
[
|
|
9263
|
-
),
|
|
9264
|
-
|
|
9260
|
+
const { addCashflowEvent: A, addCashflowSequence: e, cashflowSequences: n } = BA(), { cashflow: r, common: a } = L(), { completeOnboarding: i } = rr(), { isDirty: o } = ot(), { isMobile: s } = zA(), { setDisplayedDate: c } = CA(), { filter: u, setFilter: d, transactions: h } = uA(), g = gA(), [f, m] = fe(!0), [y, v] = C.useState(G.EveryMonth), [T, I] = fe(!1), [w, x] = C.useState(null), [P, O] = fe(1), [N, _] = fe([]), [F, X] = fe(""), Q = C.useMemo(
|
|
9261
|
+
() => h.find((cA) => cA.guid === F),
|
|
9262
|
+
[F]
|
|
9263
|
+
), k = !!n.length, $ = async () => {
|
|
9264
|
+
O(2), c(
|
|
9265
9265
|
// Beginning of the month, 90 days before today
|
|
9266
9266
|
bA(ue(eA(), 90)),
|
|
9267
9267
|
eA()
|
|
9268
|
-
), d({ ...u, custom: Lt }),
|
|
9268
|
+
), d({ ...u, custom: Lt }), O(3);
|
|
9269
9269
|
}, nA = async () => {
|
|
9270
9270
|
if (!(N.length < 1)) {
|
|
9271
9271
|
I(!0);
|
|
@@ -9282,7 +9282,7 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9282
9282
|
}
|
|
9283
9283
|
i();
|
|
9284
9284
|
}
|
|
9285
|
-
},
|
|
9285
|
+
}, mA = !Q && f || !Q && N.length < 1;
|
|
9286
9286
|
return /* @__PURE__ */ l(
|
|
9287
9287
|
D,
|
|
9288
9288
|
{
|
|
@@ -9297,16 +9297,16 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9297
9297
|
py: 24
|
|
9298
9298
|
},
|
|
9299
9299
|
children: [
|
|
9300
|
-
|
|
9300
|
+
P === 1 && /* @__PURE__ */ t(
|
|
9301
9301
|
D,
|
|
9302
9302
|
{
|
|
9303
9303
|
sx: {
|
|
9304
9304
|
...s ? { display: "flex", flexDirection: "column", maxWidth: "100%", padding: "0 16px" } : { maxWidth: 590, ml: "40%", mr: 90 }
|
|
9305
9305
|
},
|
|
9306
|
-
children: /* @__PURE__ */ t(Zu, { handleNextStep:
|
|
9306
|
+
children: /* @__PURE__ */ t(Zu, { handleNextStep: $ })
|
|
9307
9307
|
}
|
|
9308
9308
|
),
|
|
9309
|
-
|
|
9309
|
+
P === 2 && /* @__PURE__ */ t(
|
|
9310
9310
|
D,
|
|
9311
9311
|
{
|
|
9312
9312
|
sx: {
|
|
@@ -9315,7 +9315,7 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9315
9315
|
children: /* @__PURE__ */ t(eh, {})
|
|
9316
9316
|
}
|
|
9317
9317
|
),
|
|
9318
|
-
|
|
9318
|
+
P === 3 && /* @__PURE__ */ l(
|
|
9319
9319
|
D,
|
|
9320
9320
|
{
|
|
9321
9321
|
sx: {
|
|
@@ -9324,10 +9324,10 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9324
9324
|
children: [
|
|
9325
9325
|
/* @__PURE__ */ t(ve, { pb: 12, children: r.add_income_title }),
|
|
9326
9326
|
/* @__PURE__ */ t(EA, { mb: 24, children: r.add_income_description }),
|
|
9327
|
-
N.length > 0 && !
|
|
9327
|
+
N.length > 0 && !Q && /* @__PURE__ */ l(AA, { children: [
|
|
9328
9328
|
/* @__PURE__ */ t(rA, { children: N.map((cA, vA) => /* @__PURE__ */ l(C.Fragment, { children: [
|
|
9329
9329
|
/* @__PURE__ */ t(cr, { bgcolor: "background.paper", children: rn(
|
|
9330
|
-
|
|
9330
|
+
fA(cA.nextDate || cA.date)
|
|
9331
9331
|
) }),
|
|
9332
9332
|
/* @__PURE__ */ t(sr, { transaction: cA }),
|
|
9333
9333
|
vA !== N.length - 1 && /* @__PURE__ */ t(q, {})
|
|
@@ -9344,7 +9344,7 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9344
9344
|
)
|
|
9345
9345
|
] })
|
|
9346
9346
|
] }),
|
|
9347
|
-
|
|
9347
|
+
mA && /* @__PURE__ */ t(
|
|
9348
9348
|
Ri,
|
|
9349
9349
|
{
|
|
9350
9350
|
bgcolor: "background.paper",
|
|
@@ -9353,12 +9353,12 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9353
9353
|
custom: (vA) => cA ? zi(vA, cA) : Lt(vA)
|
|
9354
9354
|
}),
|
|
9355
9355
|
onSelected: (cA) => {
|
|
9356
|
-
|
|
9356
|
+
X(cA), m(!1);
|
|
9357
9357
|
}
|
|
9358
9358
|
}
|
|
9359
9359
|
),
|
|
9360
|
-
!
|
|
9361
|
-
|
|
9360
|
+
!k && o && /* @__PURE__ */ t(EA, { color: "error", mt: 16, children: r.confirm_error }),
|
|
9361
|
+
Q && /* @__PURE__ */ l(AA, { children: [
|
|
9362
9362
|
/* @__PURE__ */ t(
|
|
9363
9363
|
Hi,
|
|
9364
9364
|
{
|
|
@@ -9368,17 +9368,17 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9368
9368
|
nextDate: w,
|
|
9369
9369
|
onFrequencyChange: v,
|
|
9370
9370
|
onNextDateChange: x,
|
|
9371
|
-
transaction:
|
|
9371
|
+
transaction: Q
|
|
9372
9372
|
}
|
|
9373
9373
|
),
|
|
9374
9374
|
/* @__PURE__ */ l(E, { direction: "row", gap: 16, ml: 24, mt: 32, children: [
|
|
9375
9375
|
/* @__PURE__ */ t(
|
|
9376
9376
|
sA,
|
|
9377
9377
|
{
|
|
9378
|
-
"aria-disabled": !
|
|
9378
|
+
"aria-disabled": !Q || !w,
|
|
9379
9379
|
onClick: () => {
|
|
9380
9380
|
const cA = [...N];
|
|
9381
|
-
cA.push({ ...
|
|
9381
|
+
cA.push({ ...Q, nextDate: w, frequency: y }), _(cA), X("");
|
|
9382
9382
|
},
|
|
9383
9383
|
variant: "contained",
|
|
9384
9384
|
children: a.confirm_button
|
|
@@ -9388,7 +9388,7 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9388
9388
|
sA,
|
|
9389
9389
|
{
|
|
9390
9390
|
onClick: () => {
|
|
9391
|
-
|
|
9391
|
+
X(""), m(!0), $();
|
|
9392
9392
|
},
|
|
9393
9393
|
variant: "outlined",
|
|
9394
9394
|
children: a.cancel_button
|
|
@@ -9396,7 +9396,7 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9396
9396
|
)
|
|
9397
9397
|
] })
|
|
9398
9398
|
] }),
|
|
9399
|
-
N.length > 0 && !
|
|
9399
|
+
N.length > 0 && !Q && /* @__PURE__ */ l(E, { direction: "row", gap: 16, ml: 24, mt: 32, children: [
|
|
9400
9400
|
/* @__PURE__ */ t(
|
|
9401
9401
|
sA,
|
|
9402
9402
|
{
|
|
@@ -9430,7 +9430,7 @@ const ku = ({ activity: A }) => /* @__PURE__ */ l($, { children: [
|
|
|
9430
9430
|
setSelectedAccounts: a,
|
|
9431
9431
|
shouldDisableNextDate: i,
|
|
9432
9432
|
shouldDisablePrevDate: o
|
|
9433
|
-
} =
|
|
9433
|
+
} = CA(), { onEvent: s } = Y(), { cashAccounts: c } = LA(), { setFilter: u } = uA(), { userProfile: d } = an(), { dateRange: h, setSelectedCashAccounts: g } = ot(), { cashflow: f } = L(), [m, y] = C.useState(!1);
|
|
9434
9434
|
return C.useEffect(() => {
|
|
9435
9435
|
a(c);
|
|
9436
9436
|
}, [c]), C.useEffect(() => {
|
|
@@ -9495,19 +9495,19 @@ class ga {
|
|
|
9495
9495
|
constructor(e, n) {
|
|
9496
9496
|
this.fetchInstance = new YA(e, n);
|
|
9497
9497
|
}
|
|
9498
|
-
addCashflowEvent = async (e) => this.fetchInstance.post(
|
|
9499
|
-
addCashflowSequence = async (e) => this.fetchInstance.post(
|
|
9500
|
-
getCashflowSequences = async () => this.fetchInstance.get(
|
|
9498
|
+
addCashflowEvent = async (e) => this.fetchInstance.post(R.CASHFLOW_EVENTS, { ...e }).then((n) => n);
|
|
9499
|
+
addCashflowSequence = async (e) => this.fetchInstance.post(R.CASHFLOW_SEQUENCES, { ...e }).then((n) => n.cashflow_sequence);
|
|
9500
|
+
getCashflowSequences = async () => this.fetchInstance.get(R.CASHFLOW_SEQUENCES).then((e) => e.cashflow_sequences);
|
|
9501
9501
|
getCashflowEventsByDateRange = async (e, n) => this.fetchInstance.get(
|
|
9502
|
-
`${
|
|
9502
|
+
`${R.CASHFLOW_EVENTS}/from/${fA(e)}/to/${fA(n)}`
|
|
9503
9503
|
).then((r) => r.cashflow_events);
|
|
9504
|
-
deleteCashflowSequence = async (e) => this.fetchInstance.delete(`${
|
|
9504
|
+
deleteCashflowSequence = async (e) => this.fetchInstance.delete(`${R.CASHFLOW_SEQUENCES}/${e}`).then((n) => n);
|
|
9505
9505
|
getProjectedCashflowEvents = async (e, n) => this.fetchInstance.get(
|
|
9506
|
-
`${
|
|
9506
|
+
`${R.CASHFLOW_SEQUENCES}/projected_events/from/${fA(
|
|
9507
9507
|
e
|
|
9508
|
-
)}/to/${
|
|
9508
|
+
)}/to/${fA(n)}`
|
|
9509
9509
|
).then((r) => r.cashflow_events);
|
|
9510
|
-
updateCashflowSequence = async (e) => this.fetchInstance.put(`${
|
|
9510
|
+
updateCashflowSequence = async (e) => this.fetchInstance.put(`${R.CASHFLOW_SEQUENCES}/${e.guid}`, e).then((n) => n.cashflow_sequence);
|
|
9511
9511
|
}
|
|
9512
9512
|
let oh = class {
|
|
9513
9513
|
// Cashflow is hard-coded to display 30 days starting from today
|
|
@@ -9673,7 +9673,7 @@ const dh = ({ debts: A, height: e = 500, width: n }) => {
|
|
|
9673
9673
|
}), hh = {
|
|
9674
9674
|
title: "Debts"
|
|
9675
9675
|
}, gh = ({ onBackClick: A, sx: e }) => {
|
|
9676
|
-
const [n, r] = C.useState(!1), { isInitialized: a, setSelectedAccounts: i } =
|
|
9676
|
+
const [n, r] = C.useState(!1), { isInitialized: a, setSelectedAccounts: i } = CA(), { accounts: o } = LA(), { debts: s } = qc();
|
|
9677
9677
|
C.useEffect(() => {
|
|
9678
9678
|
a && (i(o), r(!0));
|
|
9679
9679
|
}, [a]);
|
|
@@ -9789,10 +9789,10 @@ function vh(A, e) {
|
|
|
9789
9789
|
style: "percent",
|
|
9790
9790
|
minimumFractionDigits: 0,
|
|
9791
9791
|
maximumFractionDigits: 0
|
|
9792
|
-
}, i = e.projected_to_complete_at ? PA(e.projected_to_complete_at) : /* @__PURE__ */ new Date(), o =
|
|
9792
|
+
}, i = e.projected_to_complete_at ? PA(e.projected_to_complete_at) : /* @__PURE__ */ new Date(), o = H(
|
|
9793
9793
|
A.goal_percentage,
|
|
9794
9794
|
ii(n, a)
|
|
9795
|
-
), s =
|
|
9795
|
+
), s = H(
|
|
9796
9796
|
A.goal_projection,
|
|
9797
9797
|
Z(i, J.MONTH_SHORT_YEAR)
|
|
9798
9798
|
);
|
|
@@ -9856,13 +9856,13 @@ const yh = S(({ goal: A }) => {
|
|
|
9856
9856
|
] })
|
|
9857
9857
|
] });
|
|
9858
9858
|
}), gf = S(({ onBackClick: A, sx: e }) => {
|
|
9859
|
-
const { onEvent: n } = Y(), { isMobile: r } = zA(), { accounts: a } = LA(), { isInitialized: i, setSelectedAccounts: o } =
|
|
9859
|
+
const { onEvent: n } = Y(), { isMobile: r } = zA(), { accounts: a } = LA(), { isInitialized: i, setSelectedAccounts: o } = CA(), { goals: s } = L(), { loadGoals: c } = fi(), [u, d] = C.useState(0), h = 400, g = 205, f = 624, m = H(
|
|
9860
9860
|
r ? s.tab_subtitle_mobile : s.tab_subtitle,
|
|
9861
9861
|
z(h, "0,0")
|
|
9862
|
-
), y =
|
|
9862
|
+
), y = H(
|
|
9863
9863
|
r ? s.tab_subtitle_mobile : s.tab_subtitle,
|
|
9864
9864
|
z(g, "0,0")
|
|
9865
|
-
), v =
|
|
9865
|
+
), v = H(
|
|
9866
9866
|
r ? s.tab_subtitle_mobile : s.tab_subtitle,
|
|
9867
9867
|
z(f, "0,0")
|
|
9868
9868
|
);
|
|
@@ -9929,11 +9929,11 @@ class fa {
|
|
|
9929
9929
|
constructor(e, n) {
|
|
9930
9930
|
this.fetchInstance = new YA(e, n);
|
|
9931
9931
|
}
|
|
9932
|
-
addGoal = async (e) => this.fetchInstance.post(
|
|
9933
|
-
getGoalByGuid = async (e) => this.fetchInstance.get(`${
|
|
9934
|
-
getGoals = async () => this.fetchInstance.get(
|
|
9935
|
-
removeGoal = async (e) => this.fetchInstance.delete(`${
|
|
9936
|
-
updateGoal = async (e, n) => this.fetchInstance.put(`${
|
|
9932
|
+
addGoal = async (e) => this.fetchInstance.post(R.GOALS, e).then((n) => n);
|
|
9933
|
+
getGoalByGuid = async (e) => this.fetchInstance.get(`${R.GOALS}/${e}`).then((n) => n);
|
|
9934
|
+
getGoals = async () => this.fetchInstance.get(R.GOALS).then((e) => e);
|
|
9935
|
+
removeGoal = async (e) => this.fetchInstance.delete(`${R}/${e}`).then((n) => n);
|
|
9936
|
+
updateGoal = async (e, n) => this.fetchInstance.put(`${R.GOALS}/${n}`, e).then((r) => r);
|
|
9937
9937
|
}
|
|
9938
9938
|
class Eh {
|
|
9939
9939
|
api = new fa("/", "");
|
|
@@ -10028,10 +10028,10 @@ class pa {
|
|
|
10028
10028
|
this.fetchInstance = new YA(e, n);
|
|
10029
10029
|
}
|
|
10030
10030
|
getMerchants = async (e = [], n = [], r = 1, a = 25) => {
|
|
10031
|
-
let i =
|
|
10031
|
+
let i = R.MERCHANTS;
|
|
10032
10032
|
return i += `?page=${r}&per_page=${a}`, e.length && e.forEach((o) => i += `&fuzzy_name[]=${o}`), n.length && n.forEach((o) => i += `&guid[]=${o}`), this.fetchInstance.get(i).then((o) => o.merchants);
|
|
10033
10033
|
};
|
|
10034
|
-
getMerchantByGuid = async (e) => this.fetchInstance.get(`${
|
|
10034
|
+
getMerchantByGuid = async (e) => this.fetchInstance.get(`${R.MERCHANTS}/${e}`).then((n) => n.merchant);
|
|
10035
10035
|
}
|
|
10036
10036
|
class Th {
|
|
10037
10037
|
api = new pa("/", "");
|
|
@@ -10287,7 +10287,7 @@ const _h = ({
|
|
|
10287
10287
|
};
|
|
10288
10288
|
return h && (f.color = g ? "inherit" : f.color, f.backgroundColor = c.palette.action.hover), g && (f.backgroundColor = c.palette.primary.main, f.borderBottom = c.palette.border.light, f.color = c.palette.common.white), f;
|
|
10289
10289
|
};
|
|
10290
|
-
return /* @__PURE__ */ l(
|
|
10290
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
10291
10291
|
/* @__PURE__ */ l(rA, { children: [
|
|
10292
10292
|
/* @__PURE__ */ t(de, { sx: { backgroundColor: "transparent", mb: 8, mt: 12, mx: 8 }, children: /* @__PURE__ */ t(p, { bold: !0, component: "h2", variant: "Body", children: s.monthly_totals }) }),
|
|
10293
10293
|
/* @__PURE__ */ t(q, {}),
|
|
@@ -10338,7 +10338,7 @@ const _h = ({
|
|
|
10338
10338
|
] });
|
|
10339
10339
|
}, Gh = S(kh), Fh = ({ accounts: A, name: e, icon: n }) => {
|
|
10340
10340
|
const [r, a] = C.useState(!1);
|
|
10341
|
-
return /* @__PURE__ */ l(
|
|
10341
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
10342
10342
|
/* @__PURE__ */ t(W, { sx: (i) => ({ backgroundColor: i.palette.background.paper }), children: /* @__PURE__ */ l(dA, { onClick: () => a(!r), children: [
|
|
10343
10343
|
n && /* @__PURE__ */ t(re, { children: /* @__PURE__ */ t(M, { name: n, size: 24, sx: { mr: 12 } }) }),
|
|
10344
10344
|
/* @__PURE__ */ t(
|
|
@@ -10364,15 +10364,15 @@ const _h = ({
|
|
|
10364
10364
|
o < A.length - 1 ? /* @__PURE__ */ t(q, { variant: "inset" }) : /* @__PURE__ */ t(q, {})
|
|
10365
10365
|
] }, i.accountName)) })
|
|
10366
10366
|
] });
|
|
10367
|
-
}, Ea = ({ groupedAccounts: A }) => /* @__PURE__ */ t(
|
|
10367
|
+
}, Ea = ({ groupedAccounts: A }) => /* @__PURE__ */ t(AA, { children: A.map(({ accounts: e, icon: n, name: r }) => /* @__PURE__ */ t(Fh, { accounts: e, icon: n, name: r }, r)) }), Xh = ({
|
|
10368
10368
|
netWorth: A,
|
|
10369
10369
|
assets: e,
|
|
10370
10370
|
liabilities: n,
|
|
10371
10371
|
totalAssets: r,
|
|
10372
10372
|
totalLiabilities: a
|
|
10373
10373
|
}) => {
|
|
10374
|
-
const { net_worth: i } = L(), o =
|
|
10375
|
-
return /* @__PURE__ */ l(
|
|
10374
|
+
const { net_worth: i } = L(), o = gA();
|
|
10375
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
10376
10376
|
/* @__PURE__ */ l(
|
|
10377
10377
|
D,
|
|
10378
10378
|
{
|
|
@@ -10429,8 +10429,8 @@ const _h = ({
|
|
|
10429
10429
|
totalGains: r,
|
|
10430
10430
|
totalLosses: a
|
|
10431
10431
|
}) => {
|
|
10432
|
-
const { net_worth: i } = L(), o =
|
|
10433
|
-
return /* @__PURE__ */ l(
|
|
10432
|
+
const { net_worth: i } = L(), o = gA();
|
|
10433
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
10434
10434
|
/* @__PURE__ */ l(E, { alignItems: "center", justifyContent: "space-between", mb: 8, pt: 24, children: [
|
|
10435
10435
|
/* @__PURE__ */ t(p, { variant: "Small", children: si(A?.x) }),
|
|
10436
10436
|
/* @__PURE__ */ t(p, { variant: "Body", children: i.total_change }),
|
|
@@ -10475,7 +10475,7 @@ const _h = ({
|
|
|
10475
10475
|
] })
|
|
10476
10476
|
}
|
|
10477
10477
|
) }),
|
|
10478
|
-
n?.map((s) => /* @__PURE__ */ l(
|
|
10478
|
+
n?.map((s) => /* @__PURE__ */ l(AA, { children: [
|
|
10479
10479
|
/* @__PURE__ */ t(
|
|
10480
10480
|
W,
|
|
10481
10481
|
{
|
|
@@ -10498,7 +10498,7 @@ const _h = ({
|
|
|
10498
10498
|
] })
|
|
10499
10499
|
] });
|
|
10500
10500
|
}, Uh = S(Qh), ff = S(({ onBackClick: A }) => {
|
|
10501
|
-
const { isInitialized: e, selectedAccounts: n, setSelectedAccounts: r } =
|
|
10501
|
+
const { isInitialized: e, selectedAccounts: n, setSelectedAccounts: r } = CA(), { net_worth: a } = L(), { accounts: i } = LA(), {
|
|
10502
10502
|
assetsLiabilities: o,
|
|
10503
10503
|
gainsLosses: s,
|
|
10504
10504
|
hoveredData: c,
|
|
@@ -10508,34 +10508,34 @@ const _h = ({
|
|
|
10508
10508
|
selectedData: g,
|
|
10509
10509
|
setHoveredData: f,
|
|
10510
10510
|
setSelectedData: m
|
|
10511
|
-
} = Gc(), { isMobile: y } = zA(), { onEvent: v } = Y(), [T, I] = C.useState(!1), [w, x] = C.useState(6), [
|
|
10511
|
+
} = Gc(), { isMobile: y } = zA(), { onEvent: v } = Y(), [T, I] = C.useState(!1), [w, x] = C.useState(6), [P, O] = C.useState(!1), [N, _] = C.useState(!1), F = async () => {
|
|
10512
10512
|
await d(n), await u(w), I(!0);
|
|
10513
10513
|
};
|
|
10514
10514
|
C.useEffect(() => {
|
|
10515
10515
|
v(j.NET_WORTH_VIEW), r(i);
|
|
10516
10516
|
}, []), C.useEffect(() => {
|
|
10517
|
-
e &&
|
|
10517
|
+
e && F();
|
|
10518
10518
|
}, [e, n]), C.useEffect(() => {
|
|
10519
10519
|
v(j.NET_WORTH_WIDGET_CLICK_TIMEFRAME, { time_period: w + "M" }), u(w);
|
|
10520
10520
|
}, [w]);
|
|
10521
|
-
const
|
|
10522
|
-
m(vA), cA.currentTarget instanceof HTMLDivElement &&
|
|
10523
|
-
},
|
|
10521
|
+
const X = (cA, vA) => {
|
|
10522
|
+
m(vA), cA.currentTarget instanceof HTMLDivElement && O(!0);
|
|
10523
|
+
}, Q = (cA) => {
|
|
10524
10524
|
f(cA);
|
|
10525
|
-
},
|
|
10525
|
+
}, k = () => {
|
|
10526
10526
|
f(null);
|
|
10527
|
-
},
|
|
10528
|
-
v(j.NET_WORTH_WIDGET_CLICK_ASSETS_LIABILITIES),
|
|
10527
|
+
}, $ = () => {
|
|
10528
|
+
v(j.NET_WORTH_WIDGET_CLICK_ASSETS_LIABILITIES), _(!0);
|
|
10529
10529
|
}, nA = async (cA) => {
|
|
10530
10530
|
const vA = cA[0], ee = cA[1];
|
|
10531
10531
|
vA && ee && x(as(ee, vA));
|
|
10532
|
-
},
|
|
10532
|
+
}, mA = {
|
|
10533
10533
|
chartData: h,
|
|
10534
10534
|
hoveredData: c,
|
|
10535
|
-
onButtonClick:
|
|
10536
|
-
onDataClick:
|
|
10537
|
-
onMouseEnter:
|
|
10538
|
-
onMouseLeave:
|
|
10535
|
+
onButtonClick: $,
|
|
10536
|
+
onDataClick: X,
|
|
10537
|
+
onMouseEnter: Q,
|
|
10538
|
+
onMouseLeave: k,
|
|
10539
10539
|
selectedData: g
|
|
10540
10540
|
};
|
|
10541
10541
|
return T ? /* @__PURE__ */ t(
|
|
@@ -10550,18 +10550,18 @@ const _h = ({
|
|
|
10550
10550
|
onBackClick: A,
|
|
10551
10551
|
sx: { px: 16 },
|
|
10552
10552
|
title: a.net_worth,
|
|
10553
|
-
children: T && /* @__PURE__ */ l(
|
|
10553
|
+
children: T && /* @__PURE__ */ l(AA, { children: [
|
|
10554
10554
|
g && /* @__PURE__ */ t(Gh, { hoveredData: c, selectedData: g }),
|
|
10555
10555
|
/* @__PURE__ */ l(E, { direction: y ? "column" : "row", width: "100%", children: [
|
|
10556
|
-
/* @__PURE__ */ t(Rh, { ...
|
|
10557
|
-
/* @__PURE__ */ t(Kh, { ...
|
|
10556
|
+
/* @__PURE__ */ t(Rh, { ...mA }),
|
|
10557
|
+
/* @__PURE__ */ t(Kh, { ...mA })
|
|
10558
10558
|
] }),
|
|
10559
10559
|
/* @__PURE__ */ t(
|
|
10560
10560
|
lA,
|
|
10561
10561
|
{
|
|
10562
10562
|
ariaLabelClose: "Close",
|
|
10563
|
-
isOpen:
|
|
10564
|
-
onClose: () =>
|
|
10563
|
+
isOpen: P,
|
|
10564
|
+
onClose: () => O(!1),
|
|
10565
10565
|
shouldShowHeaderBorders: !1,
|
|
10566
10566
|
shouldShowHeaderShadow: !0,
|
|
10567
10567
|
title: a.gains_and_losses,
|
|
@@ -10573,7 +10573,7 @@ const _h = ({
|
|
|
10573
10573
|
{
|
|
10574
10574
|
ariaLabelClose: "Close",
|
|
10575
10575
|
isOpen: N,
|
|
10576
|
-
onClose: () =>
|
|
10576
|
+
onClose: () => _(!1),
|
|
10577
10577
|
shouldShowHeaderBorders: !1,
|
|
10578
10578
|
shouldShowHeaderShadow: !0,
|
|
10579
10579
|
title: a.assets_and_liabilities,
|
|
@@ -10587,17 +10587,17 @@ const _h = ({
|
|
|
10587
10587
|
switch (A) {
|
|
10588
10588
|
case 1:
|
|
10589
10589
|
case 2:
|
|
10590
|
-
return
|
|
10590
|
+
return R.BUDGETS;
|
|
10591
10591
|
case 3:
|
|
10592
10592
|
case 6:
|
|
10593
10593
|
case 7:
|
|
10594
10594
|
case 22:
|
|
10595
|
-
return
|
|
10595
|
+
return R.ACCOUNTS;
|
|
10596
10596
|
case 8:
|
|
10597
10597
|
case 9:
|
|
10598
10598
|
case 23:
|
|
10599
10599
|
case 29:
|
|
10600
|
-
return
|
|
10600
|
+
return R.TRANSACTIONS;
|
|
10601
10601
|
default:
|
|
10602
10602
|
return null;
|
|
10603
10603
|
}
|
|
@@ -10792,7 +10792,7 @@ const Ln = ({
|
|
|
10792
10792
|
onClick: n,
|
|
10793
10793
|
primaryText: r,
|
|
10794
10794
|
secondaryText: a
|
|
10795
|
-
}) => /* @__PURE__ */ l(
|
|
10795
|
+
}) => /* @__PURE__ */ l(AA, { children: [
|
|
10796
10796
|
/* @__PURE__ */ t(W, { sx: { backgroundColor: "background.paper" }, children: /* @__PURE__ */ l(dA, { onClick: n, children: [
|
|
10797
10797
|
/* @__PURE__ */ t(tA, { primary: r, secondary: a }),
|
|
10798
10798
|
A
|
|
@@ -10818,7 +10818,7 @@ const Ln = ({
|
|
|
10818
10818
|
() => r(!1)
|
|
10819
10819
|
);
|
|
10820
10820
|
};
|
|
10821
|
-
return /* @__PURE__ */ l(
|
|
10821
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
10822
10822
|
/* @__PURE__ */ t(de, { sx: { backgroundColor: "transparent", mb: 4, mt: 12, mx: 8 }, children: /* @__PURE__ */ t(p, { bold: !0, component: "h2", variant: "XSmall", children: h.actions }) }),
|
|
10823
10823
|
/* @__PURE__ */ t(
|
|
10824
10824
|
Ln,
|
|
@@ -10870,7 +10870,7 @@ const Ln = ({
|
|
|
10870
10870
|
e(!1);
|
|
10871
10871
|
},
|
|
10872
10872
|
onPrimaryAction: () => m({ is_closed: !c.is_closed }),
|
|
10873
|
-
children:
|
|
10873
|
+
children: H(
|
|
10874
10874
|
c.is_closed ? h.this_will_resume_updating_the_balance : h.this_will_set_the_balance_of_your_account,
|
|
10875
10875
|
c.name
|
|
10876
10876
|
)
|
|
@@ -10911,7 +10911,7 @@ const Ln = ({
|
|
|
10911
10911
|
onClose: () => i(!1),
|
|
10912
10912
|
onPrimaryAction: y,
|
|
10913
10913
|
children: [
|
|
10914
|
-
|
|
10914
|
+
H(
|
|
10915
10915
|
h.this_means_accounts_will_be_merged,
|
|
10916
10916
|
c.name,
|
|
10917
10917
|
o.name
|
|
@@ -10927,7 +10927,7 @@ const Ln = ({
|
|
|
10927
10927
|
case FA.CHALLENGED:
|
|
10928
10928
|
return {
|
|
10929
10929
|
cta: n.challenged_cta,
|
|
10930
|
-
main:
|
|
10930
|
+
main: H(
|
|
10931
10931
|
n.challenged_connection_description,
|
|
10932
10932
|
A.name
|
|
10933
10933
|
),
|
|
@@ -10948,7 +10948,7 @@ const Ln = ({
|
|
|
10948
10948
|
};
|
|
10949
10949
|
case FA.DELAYED:
|
|
10950
10950
|
return {
|
|
10951
|
-
main:
|
|
10951
|
+
main: H(
|
|
10952
10952
|
n.delayed_connection_description,
|
|
10953
10953
|
A.name
|
|
10954
10954
|
),
|
|
@@ -10958,7 +10958,7 @@ const Ln = ({
|
|
|
10958
10958
|
case FA.DENIED:
|
|
10959
10959
|
return {
|
|
10960
10960
|
cta: n.denied_cta,
|
|
10961
|
-
main:
|
|
10961
|
+
main: H(
|
|
10962
10962
|
n.denied_connection_description,
|
|
10963
10963
|
A.name
|
|
10964
10964
|
),
|
|
@@ -10973,7 +10973,7 @@ const Ln = ({
|
|
|
10973
10973
|
};
|
|
10974
10974
|
case FA.DISCONNECTED:
|
|
10975
10975
|
return {
|
|
10976
|
-
main:
|
|
10976
|
+
main: H(
|
|
10977
10977
|
n.disconnected_connection_description,
|
|
10978
10978
|
A.name
|
|
10979
10979
|
),
|
|
@@ -10995,7 +10995,7 @@ const Ln = ({
|
|
|
10995
10995
|
};
|
|
10996
10996
|
case FA.FAILED:
|
|
10997
10997
|
return {
|
|
10998
|
-
main:
|
|
10998
|
+
main: H(
|
|
10999
10999
|
n.failed_connection_description,
|
|
11000
11000
|
A.name
|
|
11001
11001
|
),
|
|
@@ -11005,7 +11005,7 @@ const Ln = ({
|
|
|
11005
11005
|
case FA.IMPAIRED:
|
|
11006
11006
|
return {
|
|
11007
11007
|
cta: n.impaired_cta,
|
|
11008
|
-
main:
|
|
11008
|
+
main: H(
|
|
11009
11009
|
n.impaired_connection_description,
|
|
11010
11010
|
A.name
|
|
11011
11011
|
),
|
|
@@ -11014,7 +11014,7 @@ const Ln = ({
|
|
|
11014
11014
|
};
|
|
11015
11015
|
case FA.IMPEDED:
|
|
11016
11016
|
return {
|
|
11017
|
-
main:
|
|
11017
|
+
main: H(
|
|
11018
11018
|
n.impeded_connection_description,
|
|
11019
11019
|
A.name,
|
|
11020
11020
|
A.name
|
|
@@ -11025,7 +11025,7 @@ const Ln = ({
|
|
|
11025
11025
|
case FA.IMPORTED:
|
|
11026
11026
|
return {
|
|
11027
11027
|
cta: n.imported_cta,
|
|
11028
|
-
main:
|
|
11028
|
+
main: H(
|
|
11029
11029
|
n.imported_connection_description,
|
|
11030
11030
|
A.name
|
|
11031
11031
|
),
|
|
@@ -11035,7 +11035,7 @@ const Ln = ({
|
|
|
11035
11035
|
case FA.LOCKED:
|
|
11036
11036
|
return {
|
|
11037
11037
|
cta: n.locked_cta,
|
|
11038
|
-
main:
|
|
11038
|
+
main: H(
|
|
11039
11039
|
n.locked_connection_description,
|
|
11040
11040
|
A.name
|
|
11041
11041
|
),
|
|
@@ -11060,7 +11060,7 @@ const Ln = ({
|
|
|
11060
11060
|
const r = () => {
|
|
11061
11061
|
const a = A.successfully_aggregated_at ? PA(A.successfully_aggregated_at) : void 0, i = a && Z(a, J.TIME_STAMP_HOUR_MINUTE);
|
|
11062
11062
|
if (i)
|
|
11063
|
-
return Vn(a) ?
|
|
11063
|
+
return Vn(a) ? H(e.last_updated_at, e.today, i) : Ls(a) ? H(e.last_updated_at, e.yesterday, i) : H(
|
|
11064
11064
|
e.last_updated_at,
|
|
11065
11065
|
Z(a, J.MONTH_DAY_YEAR),
|
|
11066
11066
|
i
|
|
@@ -11082,7 +11082,7 @@ const Ln = ({
|
|
|
11082
11082
|
}, ig = () => {
|
|
11083
11083
|
const [A, e] = C.useState(!1), {
|
|
11084
11084
|
palette: { mode: n }
|
|
11085
|
-
} =
|
|
11085
|
+
} = gA(), { selectedMember: r } = ge(), { accounts: a, connect: i } = L(), o = Fi(r, i), s = ei.includes(r.connection_status) ? {
|
|
11086
11086
|
color: "error.main",
|
|
11087
11087
|
ctaCopy: o.cta ?? "",
|
|
11088
11088
|
icon: /* @__PURE__ */ t(Yn, { sx: { ...In } }),
|
|
@@ -11094,7 +11094,7 @@ const Ln = ({
|
|
|
11094
11094
|
mainMessage: o.statusName,
|
|
11095
11095
|
secondaryMessage: o.title
|
|
11096
11096
|
};
|
|
11097
|
-
return /* @__PURE__ */ l(
|
|
11097
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
11098
11098
|
/* @__PURE__ */ t(de, { sx: { mb: 4, mt: 12, mx: 8 }, children: /* @__PURE__ */ t(p, { bold: !0, component: "h2", variant: "XSmall", children: a.connection_status }) }),
|
|
11099
11099
|
/* @__PURE__ */ t(W, { sx: { backgroundColor: "background.paper" }, children: r.is_manual || !s.ctaCopy ? /* @__PURE__ */ l(E, { alignItems: "center", direction: "row", px: 24, py: 12, children: [
|
|
11100
11100
|
/* @__PURE__ */ t(xA, { children: /* @__PURE__ */ t(ze, { backingSx: { backgroundColor: s.color, borderRadius: 1 }, size: 32, children: s.icon }) }),
|
|
@@ -11105,7 +11105,7 @@ const Ln = ({
|
|
|
11105
11105
|
tA,
|
|
11106
11106
|
{
|
|
11107
11107
|
primary: s.mainMessage,
|
|
11108
|
-
secondary: s.secondaryMessage && /* @__PURE__ */ l(
|
|
11108
|
+
secondary: s.secondaryMessage && /* @__PURE__ */ l(AA, { children: [
|
|
11109
11109
|
s.secondaryMessage,
|
|
11110
11110
|
" ",
|
|
11111
11111
|
/* @__PURE__ */ t(p, { bold: !0, sx: { color: "action.active" }, variant: "XSmall", children: s.ctaCopy })
|
|
@@ -11115,7 +11115,7 @@ const Ln = ({
|
|
|
11115
11115
|
/* @__PURE__ */ t(M, { name: "chevron_right" })
|
|
11116
11116
|
] }) }),
|
|
11117
11117
|
/* @__PURE__ */ t(q, { sx: { ml: r.is_manual || !r.institution_url ? 0 : 24 } }),
|
|
11118
|
-
!r.is_manual && r.institution_url && /* @__PURE__ */ l(
|
|
11118
|
+
!r.is_manual && r.institution_url && /* @__PURE__ */ l(AA, { children: [
|
|
11119
11119
|
/* @__PURE__ */ t(W, { sx: { backgroundColor: "background.paper" }, children: /* @__PURE__ */ l(dA, { component: "a", href: r.institution_url, target: "_blank", children: [
|
|
11120
11120
|
/* @__PURE__ */ t(xA, { children: /* @__PURE__ */ t(
|
|
11121
11121
|
ze,
|
|
@@ -11227,7 +11227,7 @@ const Ln = ({
|
|
|
11227
11227
|
{
|
|
11228
11228
|
copy: {
|
|
11229
11229
|
close_aria: i.close_aria,
|
|
11230
|
-
title:
|
|
11230
|
+
title: H(i.edit_field, A.label)
|
|
11231
11231
|
},
|
|
11232
11232
|
disablePrimaryButton: !!c || !d,
|
|
11233
11233
|
isOpen: e,
|
|
@@ -11241,7 +11241,7 @@ const Ln = ({
|
|
|
11241
11241
|
const A = window.app?.config, { onEvent: e } = Y(), { selectedAccount: n } = ge(), { accounts: r } = L(), a = Bu(n, r), i = n.member_is_managed_by_user || !n.member_is_managed_by_user && A.enable_renaming_home_accounts, [o, s] = C.useState(!1), [c, u] = C.useState(a[0]), d = a.filter(
|
|
11242
11242
|
(h) => i || n[h.name] || n[h.name] === 0
|
|
11243
11243
|
);
|
|
11244
|
-
return /* @__PURE__ */ l(
|
|
11244
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
11245
11245
|
d.map((h) => {
|
|
11246
11246
|
const g = n[h.name] || n[h.name] === 0, f = d.indexOf(h) === d.length - 1, m = /* @__PURE__ */ t(
|
|
11247
11247
|
tA,
|
|
@@ -11251,7 +11251,7 @@ const Ln = ({
|
|
|
11251
11251
|
secondary: /* @__PURE__ */ t(p, { bold: !0, sx: { fontSize: 15 }, children: g ? h.valueFormatter(n[h.name]) : h.placeholder })
|
|
11252
11252
|
}
|
|
11253
11253
|
);
|
|
11254
|
-
return /* @__PURE__ */ t(C.Fragment, { children: i ? /* @__PURE__ */ l(
|
|
11254
|
+
return /* @__PURE__ */ t(C.Fragment, { children: i ? /* @__PURE__ */ l(AA, { children: [
|
|
11255
11255
|
/* @__PURE__ */ t(W, { sx: { backgroundColor: "background.paper", px: 0 }, children: /* @__PURE__ */ l(
|
|
11256
11256
|
dA,
|
|
11257
11257
|
{
|
|
@@ -11265,7 +11265,7 @@ const Ln = ({
|
|
|
11265
11265
|
}
|
|
11266
11266
|
) }),
|
|
11267
11267
|
/* @__PURE__ */ t(q, { sx: { ml: f ? 0 : 24 } })
|
|
11268
|
-
] }) : g && /* @__PURE__ */ l(
|
|
11268
|
+
] }) : g && /* @__PURE__ */ l(AA, { children: [
|
|
11269
11269
|
/* @__PURE__ */ t(W, { sx: { backgroundColor: "background.paper", px: 24 }, children: m }),
|
|
11270
11270
|
/* @__PURE__ */ t(q, { sx: { ml: f ? 0 : 24 } })
|
|
11271
11271
|
] }) }, h.name);
|
|
@@ -11292,7 +11292,7 @@ const Ln = ({
|
|
|
11292
11292
|
o && A(1);
|
|
11293
11293
|
}, [o]), !o) return;
|
|
11294
11294
|
const s = Fi(r, i);
|
|
11295
|
-
return /* @__PURE__ */ l(
|
|
11295
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
11296
11296
|
/* @__PURE__ */ t(
|
|
11297
11297
|
me,
|
|
11298
11298
|
{
|
|
@@ -11343,13 +11343,13 @@ const Ln = ({
|
|
|
11343
11343
|
)
|
|
11344
11344
|
] });
|
|
11345
11345
|
}, Cg = S(gg), fg = () => {
|
|
11346
|
-
const [A, e] = C.useState(""), { onEvent: n } = Y(), { selectedAccount: r } = ge(), { accounts: a } = L(), { setFilter: i, sortedTransactions: o } =
|
|
11346
|
+
const [A, e] = C.useState(""), { onEvent: n } = Y(), { selectedAccount: r } = ge(), { accounts: a } = L(), { setFilter: i, sortedTransactions: o } = uA(), s = C.useMemo(() => o.find((c) => c.guid === A), [A]);
|
|
11347
11347
|
return C.useEffect(() => {
|
|
11348
11348
|
i({
|
|
11349
11349
|
dateRange: { start: os(ss(), 90), end: cs() },
|
|
11350
11350
|
accounts: [r.guid]
|
|
11351
11351
|
});
|
|
11352
|
-
}, [r]), C.useEffect(() => n(j.ACCOUNT_DETAILS_VIEW_TRANSACTIONS), []), /* @__PURE__ */ l(
|
|
11352
|
+
}, [r]), C.useEffect(() => n(j.ACCOUNT_DETAILS_VIEW_TRANSACTIONS), []), /* @__PURE__ */ l(AA, { children: [
|
|
11353
11353
|
/* @__PURE__ */ t(ke, { onClick: e }),
|
|
11354
11354
|
s && /* @__PURE__ */ t(
|
|
11355
11355
|
lA,
|
|
@@ -11364,7 +11364,7 @@ const Ln = ({
|
|
|
11364
11364
|
] });
|
|
11365
11365
|
}, mg = S(fg), pg = () => {
|
|
11366
11366
|
const [A, e] = C.useState(0), { accounts: n } = L();
|
|
11367
|
-
return /* @__PURE__ */ l(
|
|
11367
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
11368
11368
|
/* @__PURE__ */ t(Cg, { setTabValue: e }),
|
|
11369
11369
|
/* @__PURE__ */ l(
|
|
11370
11370
|
Oe,
|
|
@@ -11508,7 +11508,7 @@ const Ln = ({
|
|
|
11508
11508
|
u && /* @__PURE__ */ t(E, { children: /* @__PURE__ */ t(Pg, {}) })
|
|
11509
11509
|
] });
|
|
11510
11510
|
}, Mg = S(Ng), _g = () => {
|
|
11511
|
-
const [A, e] = C.useState(""), { accounts: n } = L(), { selectedAccounts: r } =
|
|
11511
|
+
const [A, e] = C.useState(""), { accounts: n } = L(), { selectedAccounts: r } = CA(), { setSelectedAccount: a, setSelectedMember: i } = ge(), { members: o } = LA(), { onEvent: s } = Y(), c = [...new Set(r.map((d) => d.account_type))], u = r.find((d) => A === d.guid);
|
|
11512
11512
|
return C.useEffect(() => {
|
|
11513
11513
|
if (u) {
|
|
11514
11514
|
a(u);
|
|
@@ -11623,7 +11623,7 @@ const Ln = ({
|
|
|
11623
11623
|
}
|
|
11624
11624
|
);
|
|
11625
11625
|
}, zg = S(Hg), Bg = ({ onBackClick: A, sx: e = {} }) => {
|
|
11626
|
-
const [n, r] = C.useState(!1), [a, i] = C.useState(!1), { accounts: o, refreshMembers: s } = LA(), { accounts: c } = L(), { setSelectedAccounts: u, selectedAccountGuids: d } =
|
|
11626
|
+
const [n, r] = C.useState(!1), [a, i] = C.useState(!1), { accounts: o, refreshMembers: s } = LA(), { accounts: c } = L(), { setSelectedAccounts: u, selectedAccountGuids: d } = CA(), { isDesktop: h } = zA(), { onEvent: g } = Y();
|
|
11627
11627
|
C.useEffect(() => {
|
|
11628
11628
|
u(o);
|
|
11629
11629
|
}, [o]);
|
|
@@ -11654,7 +11654,7 @@ const Ln = ({
|
|
|
11654
11654
|
onBackClick: A,
|
|
11655
11655
|
sx: e,
|
|
11656
11656
|
title: c.title,
|
|
11657
|
-
children: a ? /* @__PURE__ */ t(WA, {}) : /* @__PURE__ */ l(
|
|
11657
|
+
children: a ? /* @__PURE__ */ t(WA, {}) : /* @__PURE__ */ l(AA, { children: [
|
|
11658
11658
|
/* @__PURE__ */ l(D, { sx: { px: h ? 24 : 12 }, children: [
|
|
11659
11659
|
d.length < 1 && /* @__PURE__ */ t(p, { display: "flex", justifyContent: "center", my: 24, children: c.no_accounts }),
|
|
11660
11660
|
/* @__PURE__ */ t(Rg, {})
|
|
@@ -11671,7 +11671,7 @@ const Ln = ({
|
|
|
11671
11671
|
}
|
|
11672
11672
|
);
|
|
11673
11673
|
}, yf = S(Bg), Kg = (A, e) => A.filter((n) => e.includes(n.guid)).slice(0, 3), qg = ({ onPrimaryCtaClick: A, sx: e }) => {
|
|
11674
|
-
const { accounts: n } = LA(), { accounts: r } = L(), { selectedAccountGuids: a } =
|
|
11674
|
+
const { accounts: n } = LA(), { accounts: r } = L(), { selectedAccountGuids: a } = CA(), [i, o] = C.useState(n);
|
|
11675
11675
|
return C.useEffect(() => {
|
|
11676
11676
|
o(Kg(n, a));
|
|
11677
11677
|
}, [n, a]), /* @__PURE__ */ t(
|
|
@@ -12189,15 +12189,15 @@ class ba {
|
|
|
12189
12189
|
constructor(e, n) {
|
|
12190
12190
|
this.fetchInstance = new YA(e, n);
|
|
12191
12191
|
}
|
|
12192
|
-
createAccount = async (e) => this.fetchInstance.post(
|
|
12193
|
-
deleteAccount = async (e) => this.fetchInstance.delete(`${
|
|
12194
|
-
getAccounts = async () => this.fetchInstance.get(
|
|
12195
|
-
getInstitutions = async () => this.fetchInstance.get(
|
|
12196
|
-
getMembers = async () => this.fetchInstance.get(
|
|
12197
|
-
getMonthlyAccountBalances = async (e) => this.fetchInstance.get(`${
|
|
12198
|
-
mergeAccounts = async (e) => this.fetchInstance.put(`${
|
|
12199
|
-
refreshAllMembers = async () => this.fetchInstance.get(`${
|
|
12200
|
-
updateAccount = async (e) => this.fetchInstance.put(`${
|
|
12192
|
+
createAccount = async (e) => this.fetchInstance.post(R.ACCOUNTS, e).then((n) => n.account).catch((n) => n);
|
|
12193
|
+
deleteAccount = async (e) => this.fetchInstance.delete(`${R.ACCOUNTS}/${e}`).catch((n) => n);
|
|
12194
|
+
getAccounts = async () => this.fetchInstance.get(R.ACCOUNTS).then((e) => e.accounts).catch((e) => e);
|
|
12195
|
+
getInstitutions = async () => this.fetchInstance.get(R.INSTITUTIONS).then((e) => e).catch((e) => e);
|
|
12196
|
+
getMembers = async () => this.fetchInstance.get(R.MEMBERS).then((e) => e.members).catch((e) => e);
|
|
12197
|
+
getMonthlyAccountBalances = async (e) => this.fetchInstance.get(`${R.ACCOUNTS}/${e}/monthly_account_balances`).then((n) => n.monthly_account_balances).catch((n) => n);
|
|
12198
|
+
mergeAccounts = async (e) => this.fetchInstance.put(`${R.ACCOUNTS}/merge`, { accounts: e }).then((n) => n).catch((n) => n);
|
|
12199
|
+
refreshAllMembers = async () => this.fetchInstance.get(`${R.MEMBERS}/refresh_all`).then((e) => e).catch((e) => e);
|
|
12200
|
+
updateAccount = async (e) => this.fetchInstance.put(`${R.ACCOUNTS}/${e.guid}`, e).then((n) => n.account).catch((n) => n);
|
|
12201
12201
|
}
|
|
12202
12202
|
class jg {
|
|
12203
12203
|
isLoading = !1;
|
|
@@ -12385,7 +12385,7 @@ const wa = 5, Ug = 100, Wg = 25, Yg = (A) => {
|
|
|
12385
12385
|
});
|
|
12386
12386
|
}, Sa = 5, e1 = 2e3;
|
|
12387
12387
|
function t1({ bubble: A }) {
|
|
12388
|
-
const e =
|
|
12388
|
+
const e = gA(), {
|
|
12389
12389
|
guid: n,
|
|
12390
12390
|
budgetColors: { mercury: r },
|
|
12391
12391
|
radius: a
|
|
@@ -12508,7 +12508,7 @@ const r1 = ({
|
|
|
12508
12508
|
] });
|
|
12509
12509
|
}, Qi = S(
|
|
12510
12510
|
({ height: A, isDraggable: e = !1, shouldShowZeroState: n, unavailableWidth: r = 24 }) => {
|
|
12511
|
-
const { onEvent: a } = Y(), { setSelectedBudget: i } = XA(), { isLoadingCategoryTotals: o } = NA(), { isInitialized: s } =
|
|
12511
|
+
const { onEvent: a } = Y(), { setSelectedBudget: i } = XA(), { isLoadingCategoryTotals: o } = NA(), { isInitialized: s } = CA(), { availableWidth: c } = Ot(), { isMobile: u } = zA(), d = C.useMemo(() => c - r, [c]), h = (g) => {
|
|
12512
12512
|
i(g), a(j.BUDGETS_CLICK_BUDGET_CATEGORY, {
|
|
12513
12513
|
budget_category: g.category.name,
|
|
12514
12514
|
click_type: "bubble"
|
|
@@ -12525,7 +12525,7 @@ const r1 = ({
|
|
|
12525
12525
|
) });
|
|
12526
12526
|
}
|
|
12527
12527
|
), o1 = (A) => {
|
|
12528
|
-
const e =
|
|
12528
|
+
const e = gA(), { budgets: n, loadBudgets: r, setTheme: a } = XA(), { budgets: i } = L(), o = il(), s = n.length === 0;
|
|
12529
12529
|
return C.useEffect(() => {
|
|
12530
12530
|
a(e), r().finally();
|
|
12531
12531
|
}, []), /* @__PURE__ */ t(
|
|
@@ -12587,32 +12587,32 @@ const r1 = ({
|
|
|
12587
12587
|
] }, i.guid)) }) })
|
|
12588
12588
|
] });
|
|
12589
12589
|
}), l1 = S(() => {
|
|
12590
|
-
const A =
|
|
12591
|
-
const w = s.reduce((N,
|
|
12590
|
+
const A = gA(), { onEvent: e } = Y(), { accounts: n } = LA(), { budgets: r, common: a, recurring: i } = L(), { incomeCategories: o, spendCategories: s } = NA(), { detailedBudgets: c, totalBudgeted: u } = XA(), { projectedIncome: d } = BA(), { setFilter: h } = uA(), [g, f] = C.useState(!1), [m, y] = C.useMemo(() => {
|
|
12591
|
+
const w = s.reduce((N, _) => N + _.totalAmount, 0);
|
|
12592
12592
|
let x = w / u;
|
|
12593
12593
|
x > 1 && (x = 1);
|
|
12594
|
-
let
|
|
12595
|
-
x > 0.8 && x < 1 ?
|
|
12596
|
-
const
|
|
12594
|
+
let P = A.palette.success.main;
|
|
12595
|
+
x > 0.8 && x < 1 ? P = A.palette.warning.main : x >= 1 && (P = A.palette.error.main);
|
|
12596
|
+
const O = [
|
|
12597
12597
|
{
|
|
12598
|
-
color:
|
|
12598
|
+
color: P,
|
|
12599
12599
|
percentage: `${x}`
|
|
12600
12600
|
}
|
|
12601
12601
|
];
|
|
12602
|
-
return [w,
|
|
12602
|
+
return [w, O];
|
|
12603
12603
|
}, [c, s]), [v, T] = C.useMemo(() => {
|
|
12604
12604
|
const w = Math.abs(
|
|
12605
|
-
o.reduce((
|
|
12605
|
+
o.reduce((O, N) => O + N.totalAmount, 0)
|
|
12606
12606
|
);
|
|
12607
12607
|
let x = w / d;
|
|
12608
12608
|
x > 1 && (x = 1);
|
|
12609
|
-
const
|
|
12609
|
+
const P = [
|
|
12610
12610
|
{
|
|
12611
12611
|
color: A.palette.secondary.main,
|
|
12612
12612
|
percentage: `${x}`
|
|
12613
12613
|
}
|
|
12614
12614
|
];
|
|
12615
|
-
return [w,
|
|
12615
|
+
return [w, P];
|
|
12616
12616
|
}, [o, d]), I = () => {
|
|
12617
12617
|
h({
|
|
12618
12618
|
accounts: n.map((w) => w.guid),
|
|
@@ -12628,7 +12628,7 @@ const r1 = ({
|
|
|
12628
12628
|
/* @__PURE__ */ l(E, { gap: 8, children: [
|
|
12629
12629
|
/* @__PURE__ */ t(p, { bold: !0, sx: { mb: 8 }, variant: "Body", children: r.spending_title }),
|
|
12630
12630
|
/* @__PURE__ */ t(Tt, { data: y, height: 16 }),
|
|
12631
|
-
/* @__PURE__ */ t(p, { variant: "Small", children:
|
|
12631
|
+
/* @__PURE__ */ t(p, { variant: "Small", children: H(
|
|
12632
12632
|
r.spending_description,
|
|
12633
12633
|
z(m, "0,0"),
|
|
12634
12634
|
z(u, "0,0")
|
|
@@ -12648,7 +12648,7 @@ const r1 = ({
|
|
|
12648
12648
|
)
|
|
12649
12649
|
] }),
|
|
12650
12650
|
/* @__PURE__ */ t(Tt, { data: T, height: 16 }),
|
|
12651
|
-
/* @__PURE__ */ t(p, { variant: "Small", children:
|
|
12651
|
+
/* @__PURE__ */ t(p, { variant: "Small", children: H(
|
|
12652
12652
|
r.income_description,
|
|
12653
12653
|
z(v, "0,0"),
|
|
12654
12654
|
z(d, "0,0")
|
|
@@ -12690,7 +12690,7 @@ const r1 = ({
|
|
|
12690
12690
|
}), u1 = S(
|
|
12691
12691
|
({ category: A }) => {
|
|
12692
12692
|
const { budgets: e } = L(), { budgets: n } = XA(), r = C.useMemo(() => {
|
|
12693
|
-
const a = n.find((s) => s.category_guid === A.guid), i = z(A.totalAverageAmount, "0,0"), o = a ?
|
|
12693
|
+
const a = n.find((s) => s.category_guid === A.guid), i = z(A.totalAverageAmount, "0,0"), o = a ? H(e.recalculate_previous_budget, z(a.amount, "0,0")) : e.recalculate_new_budget;
|
|
12694
12694
|
return `${i} - ${o}`;
|
|
12695
12695
|
}, [e, n]);
|
|
12696
12696
|
return /* @__PURE__ */ l(C.Fragment, { children: [
|
|
@@ -12734,11 +12734,11 @@ const r1 = ({
|
|
|
12734
12734
|
const { budgets: r } = L(), { totalBudgeted: a } = XA(), { projectedIncome: i } = BA(), o = i - a;
|
|
12735
12735
|
return /* @__PURE__ */ l(E, { gap: 16, children: [
|
|
12736
12736
|
/* @__PURE__ */ l(E, { children: [
|
|
12737
|
-
/* @__PURE__ */ t(p, { children:
|
|
12737
|
+
/* @__PURE__ */ t(p, { children: H(
|
|
12738
12738
|
r.add_description_top,
|
|
12739
12739
|
z(o, "0,0")
|
|
12740
12740
|
) }),
|
|
12741
|
-
/* @__PURE__ */ t(p, { children:
|
|
12741
|
+
/* @__PURE__ */ t(p, { children: H(r.add_description_bottom, e) })
|
|
12742
12742
|
] }),
|
|
12743
12743
|
/* @__PURE__ */ t(
|
|
12744
12744
|
sn,
|
|
@@ -12898,7 +12898,7 @@ const r1 = ({
|
|
|
12898
12898
|
)
|
|
12899
12899
|
] });
|
|
12900
12900
|
}), v1 = S(({ budget: A }) => {
|
|
12901
|
-
const { category: e, subBudgets: n } = A, { budgets: r, common: a } = L(), { deleteBudget: i, selectedSubBudget: o, setSelectedSubBudget: s, updateBudget: c } = XA(), { filter: u, setFilter: d } =
|
|
12901
|
+
const { category: e, subBudgets: n } = A, { budgets: r, common: a } = L(), { deleteBudget: i, selectedSubBudget: o, setSelectedSubBudget: s, updateBudget: c } = XA(), { filter: u, setFilter: d } = uA(), [h, g] = C.useState(!1), [f, m] = C.useState(!1), [y, v] = C.useState("");
|
|
12902
12902
|
C.useEffect(() => {
|
|
12903
12903
|
o && (v(`${o.amount}`), d({
|
|
12904
12904
|
...u,
|
|
@@ -12973,13 +12973,13 @@ const r1 = ({
|
|
|
12973
12973
|
primaryColor: "error",
|
|
12974
12974
|
primaryText: "Delete",
|
|
12975
12975
|
secondaryColor: "secondary",
|
|
12976
|
-
children: /* @__PURE__ */ t(p, { variant: "Paragraph", children:
|
|
12976
|
+
children: /* @__PURE__ */ t(p, { variant: "Paragraph", children: H(r.delete_description, o.category.name) })
|
|
12977
12977
|
}
|
|
12978
12978
|
)
|
|
12979
12979
|
] })
|
|
12980
12980
|
] });
|
|
12981
12981
|
}), y1 = S(({ budget: A }) => {
|
|
12982
|
-
const { budgets: e, common: n, transactions: r } = L(), { sortedTransactions: a, tags: i } =
|
|
12982
|
+
const { budgets: e, common: n, transactions: r } = L(), { sortedTransactions: a, tags: i } = uA(), [o, s] = C.useState(0), [c, u] = C.useState(""), d = C.useMemo(
|
|
12983
12983
|
() => a.find((f) => f.guid === c),
|
|
12984
12984
|
[c]
|
|
12985
12985
|
), h = (f, m) => {
|
|
@@ -13029,19 +13029,19 @@ const r1 = ({
|
|
|
13029
13029
|
] })
|
|
13030
13030
|
] });
|
|
13031
13031
|
}), E1 = S(() => {
|
|
13032
|
-
const { selectedAccountGuids: A } =
|
|
13032
|
+
const { selectedAccountGuids: A } = CA(), { budgets: e, common: n } = L(), {
|
|
13033
13033
|
dateRange: r,
|
|
13034
13034
|
deleteBudget: a,
|
|
13035
13035
|
selectedBudget: i,
|
|
13036
13036
|
selectedSubBudget: o,
|
|
13037
13037
|
setSelectedBudget: s,
|
|
13038
13038
|
updateBudget: c
|
|
13039
|
-
} = XA(), { setFilter: u } =
|
|
13039
|
+
} = XA(), { setFilter: u } = uA(), [d, h] = C.useState(!1), [g, f] = C.useState(!1), [m, y] = C.useState(!1), [v, T] = C.useState("");
|
|
13040
13040
|
C.useEffect(() => {
|
|
13041
13041
|
i && !o && (T(`${i.amount}`), h(!0), u({
|
|
13042
13042
|
accounts: A,
|
|
13043
13043
|
dateRange: r,
|
|
13044
|
-
custom: (
|
|
13044
|
+
custom: (P) => P.category_guid === i.category_guid || P.top_level_category_guid === i.category_guid
|
|
13045
13045
|
}));
|
|
13046
13046
|
}, [i]);
|
|
13047
13047
|
const I = async () => {
|
|
@@ -13103,26 +13103,26 @@ const r1 = ({
|
|
|
13103
13103
|
primaryColor: "error",
|
|
13104
13104
|
primaryText: e.details_delete_button,
|
|
13105
13105
|
secondaryColor: "secondary",
|
|
13106
|
-
children: /* @__PURE__ */ t(p, { variant: "Paragraph", children:
|
|
13106
|
+
children: /* @__PURE__ */ t(p, { variant: "Paragraph", children: H(e.delete_description, i.category.name) })
|
|
13107
13107
|
}
|
|
13108
13108
|
)
|
|
13109
13109
|
] });
|
|
13110
13110
|
}), La = 480, Sf = S(({ onBackClick: A, sx: e }) => {
|
|
13111
|
-
const n =
|
|
13111
|
+
const n = gA(), { onEvent: r } = Y(), { accounts: a } = LA(), { budgets: i, common: o } = L(), { isInitialized: s, selectedAccounts: c, setDisplayedDate: u, setSelectedAccounts: d } = CA(), { dateRange: h, loadBudgets: g, setDateRange: f, setTheme: m } = XA(), { loadCashflowSequences: y } = BA(), { isDesktop: v, isTablet: T } = zA(), { reloadCategoryTotals: I } = NA(), [w, x] = C.useState(!1), [P, O] = C.useState(!1), [N, _] = C.useState("");
|
|
13112
13112
|
C.useEffect(() => {
|
|
13113
13113
|
m(n), d(a), u(h.start, h.end), r(j.BUDGETS_VIEW);
|
|
13114
13114
|
}, []), C.useEffect(() => {
|
|
13115
13115
|
s && (I(c, h.start, h.end).finally(), w || (y().finally(), g().finally(() => x(!0))));
|
|
13116
13116
|
}, [s, c, h]);
|
|
13117
|
-
const
|
|
13117
|
+
const F = (nA) => {
|
|
13118
13118
|
f({ start: nA[0] || /* @__PURE__ */ new Date(), end: nA[1] || /* @__PURE__ */ new Date() });
|
|
13119
|
-
}, Q = () => {
|
|
13120
|
-
r(j.BUDGETS_CLICK_FILTER);
|
|
13121
13119
|
}, X = () => {
|
|
13122
|
-
|
|
13123
|
-
},
|
|
13124
|
-
|
|
13125
|
-
},
|
|
13120
|
+
r(j.BUDGETS_CLICK_FILTER);
|
|
13121
|
+
}, Q = () => {
|
|
13122
|
+
O(!0), r(j.BUDGETS_CLICK_ADD);
|
|
13123
|
+
}, k = () => {
|
|
13124
|
+
O(!1), _(i.alert_recalculated_budgets);
|
|
13125
|
+
}, $ = tt(h.end, bA(/* @__PURE__ */ new Date()));
|
|
13126
13126
|
return !s || !w ? /* @__PURE__ */ t(WA, {}) : /* @__PURE__ */ l(
|
|
13127
13127
|
he,
|
|
13128
13128
|
{
|
|
@@ -13131,11 +13131,11 @@ const r1 = ({
|
|
|
13131
13131
|
{
|
|
13132
13132
|
iconName: "add",
|
|
13133
13133
|
label: i.add_title,
|
|
13134
|
-
onClick:
|
|
13134
|
+
onClick: Q
|
|
13135
13135
|
}
|
|
13136
13136
|
],
|
|
13137
|
-
calendarActions: { onRangeChanged:
|
|
13138
|
-
onAccountsFilterClick:
|
|
13137
|
+
calendarActions: { onRangeChanged: F, shouldDisableNext: $ },
|
|
13138
|
+
onAccountsFilterClick: X,
|
|
13139
13139
|
onBackClick: A,
|
|
13140
13140
|
sx: e,
|
|
13141
13141
|
title: i.budgets_title,
|
|
@@ -13170,10 +13170,10 @@ const r1 = ({
|
|
|
13170
13170
|
lA,
|
|
13171
13171
|
{
|
|
13172
13172
|
ariaLabelClose: o.close_aria,
|
|
13173
|
-
isOpen:
|
|
13174
|
-
onClose: () =>
|
|
13173
|
+
isOpen: P,
|
|
13174
|
+
onClose: () => O(!1),
|
|
13175
13175
|
title: i.add_new_title,
|
|
13176
|
-
children: /* @__PURE__ */ t(C1, { onRecalculateBudgets:
|
|
13176
|
+
children: /* @__PURE__ */ t(C1, { onRecalculateBudgets: k })
|
|
13177
13177
|
}
|
|
13178
13178
|
),
|
|
13179
13179
|
/* @__PURE__ */ t(
|
|
@@ -13181,9 +13181,9 @@ const r1 = ({
|
|
|
13181
13181
|
{
|
|
13182
13182
|
anchorOrigin: { vertical: "bottom", horizontal: "right" },
|
|
13183
13183
|
autoHideDuration: 3500,
|
|
13184
|
-
onClose: () =>
|
|
13184
|
+
onClose: () => _(""),
|
|
13185
13185
|
open: !!N,
|
|
13186
|
-
children: /* @__PURE__ */ t(Jn, { onClose: () =>
|
|
13186
|
+
children: /* @__PURE__ */ t(Jn, { onClose: () => _(""), severity: "success", variant: "filled", children: N })
|
|
13187
13187
|
}
|
|
13188
13188
|
)
|
|
13189
13189
|
]
|
|
@@ -13192,7 +13192,7 @@ const r1 = ({
|
|
|
13192
13192
|
});
|
|
13193
13193
|
var Kn = /* @__PURE__ */ ((A) => (A[A.Main = 0] = "Main", A[A.RightSide = 1] = "RightSide", A))(Kn || {});
|
|
13194
13194
|
const b1 = () => {
|
|
13195
|
-
const { accounts: A } = LA(), { selectedAccountGuids: e, setSelectedAccountGuids: n } =
|
|
13195
|
+
const { accounts: A } = LA(), { selectedAccountGuids: e, setSelectedAccountGuids: n } = CA(), { isMobile: r } = zA(), { common: a } = L(), i = {
|
|
13196
13196
|
accountFilterOptionsCopy: {
|
|
13197
13197
|
accountTypeAccounts: a.account_filter.account_type_accounts,
|
|
13198
13198
|
cancelButton: a.cancel_button,
|
|
@@ -13231,7 +13231,7 @@ const b1 = () => {
|
|
|
13231
13231
|
)
|
|
13232
13232
|
] }) });
|
|
13233
13233
|
}, w1 = S(b1), S1 = ({ widgets: A, isLoading: e }) => {
|
|
13234
|
-
const { isDesktop: n, isMobile: r } = zA(), { copyStore: a } = ar(), { setSelectedAccounts: i } =
|
|
13234
|
+
const { isDesktop: n, isMobile: r } = zA(), { copyStore: a } = ar(), { setSelectedAccounts: i } = CA(), { accounts: o } = LA();
|
|
13235
13235
|
C.useEffect(() => {
|
|
13236
13236
|
i(o);
|
|
13237
13237
|
}, [o]);
|
|
@@ -14034,8 +14034,8 @@ const b1 = () => {
|
|
|
14034
14034
|
)
|
|
14035
14035
|
] });
|
|
14036
14036
|
}, Yi = ({ Icon: A, label: e, onClick: n, itemCount: r }) => {
|
|
14037
|
-
const a =
|
|
14038
|
-
return /* @__PURE__ */ l(
|
|
14037
|
+
const a = gA();
|
|
14038
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
14039
14039
|
/* @__PURE__ */ t(W, { sx: { backgroundColor: "background.paper" }, children: /* @__PURE__ */ l(dA, { onClick: n, children: [
|
|
14040
14040
|
/* @__PURE__ */ t(A, { sx: { fontSize: 22, marginRight: "16px" } }),
|
|
14041
14041
|
/* @__PURE__ */ t(
|
|
@@ -14068,7 +14068,7 @@ const b1 = () => {
|
|
|
14068
14068
|
] });
|
|
14069
14069
|
}, Pf = ({ content: A, manageAccountsStore: e }) => {
|
|
14070
14070
|
const { groupedAccounts: n, toggleAccount: r } = e, [a, i] = C.useState(!1);
|
|
14071
|
-
return /* @__PURE__ */ l(
|
|
14071
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
14072
14072
|
/* @__PURE__ */ t(
|
|
14073
14073
|
Yi,
|
|
14074
14074
|
{
|
|
@@ -14183,7 +14183,7 @@ const Zi = ({
|
|
|
14183
14183
|
)
|
|
14184
14184
|
}
|
|
14185
14185
|
), k1 = "data:image/png;base64,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", G1 = ({ content: A = {} }) => {
|
|
14186
|
-
const e =
|
|
14186
|
+
const e = gA();
|
|
14187
14187
|
return /* @__PURE__ */ l(D, { px: 24, py: 32, children: [
|
|
14188
14188
|
/* @__PURE__ */ t(
|
|
14189
14189
|
p,
|
|
@@ -14233,7 +14233,7 @@ const Zi = ({
|
|
|
14233
14233
|
},
|
|
14234
14234
|
translatedSubCatetgory: o = ""
|
|
14235
14235
|
}) => {
|
|
14236
|
-
const s =
|
|
14236
|
+
const s = gA(), c = C.useMemo(
|
|
14237
14237
|
() => e.reduce((w, x) => ({ ...w, [x.name]: !1 }), {}),
|
|
14238
14238
|
[e]
|
|
14239
14239
|
), [u, d] = C.useState(c), { toastState: h, hideToast: g } = Ji(), f = li(a);
|
|
@@ -14241,18 +14241,18 @@ const Zi = ({
|
|
|
14241
14241
|
f && !a && d(c);
|
|
14242
14242
|
}, [f, a, c, d]);
|
|
14243
14243
|
const m = (w) => {
|
|
14244
|
-
const { name: x, checked:
|
|
14245
|
-
d((
|
|
14246
|
-
...
|
|
14247
|
-
[x]:
|
|
14244
|
+
const { name: x, checked: P } = w.target;
|
|
14245
|
+
d((O) => ({
|
|
14246
|
+
...O,
|
|
14247
|
+
[x]: P
|
|
14248
14248
|
}));
|
|
14249
14249
|
}, y = Object.values(u).filter(Boolean).length, v = () => {
|
|
14250
14250
|
d(c), i();
|
|
14251
14251
|
}, T = () => {
|
|
14252
14252
|
const w = e.reduce(
|
|
14253
|
-
(x,
|
|
14253
|
+
(x, P) => ({
|
|
14254
14254
|
...x,
|
|
14255
|
-
[
|
|
14255
|
+
[P.name]: y !== e.length
|
|
14256
14256
|
}),
|
|
14257
14257
|
{}
|
|
14258
14258
|
);
|
|
@@ -14333,9 +14333,9 @@ const Zi = ({
|
|
|
14333
14333
|
/* @__PURE__ */ t(W, { disablePadding: !0, children: /* @__PURE__ */ l(
|
|
14334
14334
|
dA,
|
|
14335
14335
|
{
|
|
14336
|
-
onClick: () => d((
|
|
14337
|
-
...
|
|
14338
|
-
[w.name]: !
|
|
14336
|
+
onClick: () => d((P) => ({
|
|
14337
|
+
...P,
|
|
14338
|
+
[w.name]: !P[w.name]
|
|
14339
14339
|
})),
|
|
14340
14340
|
children: [
|
|
14341
14341
|
/* @__PURE__ */ t(
|
|
@@ -14484,22 +14484,22 @@ const Zi = ({
|
|
|
14484
14484
|
update: r,
|
|
14485
14485
|
isUpdateError: a,
|
|
14486
14486
|
isUpdateLoading: i
|
|
14487
|
-
} = e, [o, s, c] = Q1(n), { toastState: u, showToast: d, hideToast: h, setMessage: g } = Ji(), [f, m] = C.useState(!1), [y, v] = C.useState(!1), [T, I] = C.useState(""), [w, x] = C.useState(""),
|
|
14487
|
+
} = e, [o, s, c] = Q1(n), { toastState: u, showToast: d, hideToast: h, setMessage: g } = Ji(), [f, m] = C.useState(!1), [y, v] = C.useState(!1), [T, I] = C.useState(""), [w, x] = C.useState(""), P = li(i);
|
|
14488
14488
|
pe(() => {
|
|
14489
|
-
|
|
14490
|
-
}, [
|
|
14491
|
-
const
|
|
14489
|
+
P && !i && (a ? d(A.something_went_wrong, "error") : d(void 0, "success"));
|
|
14490
|
+
}, [P, a]);
|
|
14491
|
+
const O = () => {
|
|
14492
14492
|
g(
|
|
14493
14493
|
n.length > 1 ? A.insights_unhidden : A.insight_unhidden
|
|
14494
|
-
), r(n.map((
|
|
14495
|
-
}, N = (
|
|
14496
|
-
v(!0), I(
|
|
14497
|
-
},
|
|
14494
|
+
), r(n.map((X) => X.name));
|
|
14495
|
+
}, N = (X, Q) => {
|
|
14496
|
+
v(!0), I(X), x(Q);
|
|
14497
|
+
}, _ = () => {
|
|
14498
14498
|
v(!1), x(""), I("");
|
|
14499
|
-
},
|
|
14500
|
-
r(
|
|
14499
|
+
}, F = (X, Q) => {
|
|
14500
|
+
r(X), Q && v(!1), g(X.length > 1 ? A.insights_unhidden : A.insight_unhidden);
|
|
14501
14501
|
};
|
|
14502
|
-
return /* @__PURE__ */ l(
|
|
14502
|
+
return /* @__PURE__ */ l(AA, { children: [
|
|
14503
14503
|
/* @__PURE__ */ t(
|
|
14504
14504
|
Yi,
|
|
14505
14505
|
{
|
|
@@ -14526,28 +14526,28 @@ const Zi = ({
|
|
|
14526
14526
|
/* @__PURE__ */ t(q, {}),
|
|
14527
14527
|
/* @__PURE__ */ l(E, { height: "calc(100vh - 61px)", children: [
|
|
14528
14528
|
n.length > 0 ? /* @__PURE__ */ t(rA, { sx: { height: "100%" }, children: o.map(
|
|
14529
|
-
(
|
|
14529
|
+
(X) => s[X.key] !== "" && /* @__PURE__ */ t(
|
|
14530
14530
|
rA,
|
|
14531
14531
|
{
|
|
14532
|
-
subheader: /* @__PURE__ */ t(Er, { children: s[
|
|
14533
|
-
children:
|
|
14534
|
-
(
|
|
14532
|
+
subheader: /* @__PURE__ */ t(Er, { children: s[X.key] }),
|
|
14533
|
+
children: X.subcategories.map(
|
|
14534
|
+
(Q, k) => Q.beats.length > 0 && /* @__PURE__ */ l(D, { children: [
|
|
14535
14535
|
/* @__PURE__ */ t(W, { disablePadding: !0, children: /* @__PURE__ */ l(
|
|
14536
14536
|
dA,
|
|
14537
14537
|
{
|
|
14538
|
-
onClick: () => N(
|
|
14538
|
+
onClick: () => N(X.key, Q.key),
|
|
14539
14539
|
children: [
|
|
14540
14540
|
/* @__PURE__ */ t(
|
|
14541
14541
|
tA,
|
|
14542
14542
|
{
|
|
14543
|
-
primary: c[
|
|
14543
|
+
primary: c[Q.key].replace(
|
|
14544
14544
|
/&/g,
|
|
14545
14545
|
"&"
|
|
14546
14546
|
),
|
|
14547
14547
|
secondary: /* @__PURE__ */ l(C.Fragment, { children: [
|
|
14548
|
-
|
|
14548
|
+
Q.beats.length,
|
|
14549
14549
|
" ",
|
|
14550
|
-
|
|
14550
|
+
Q.beats.length > 1 ? A.insights_hidden : A.insight_hidden
|
|
14551
14551
|
] })
|
|
14552
14552
|
}
|
|
14553
14553
|
),
|
|
@@ -14558,13 +14558,13 @@ const Zi = ({
|
|
|
14558
14558
|
/* @__PURE__ */ t(
|
|
14559
14559
|
q,
|
|
14560
14560
|
{
|
|
14561
|
-
sx: { ml:
|
|
14561
|
+
sx: { ml: k < X.subcategories.length - 1 ? 24 : 0 }
|
|
14562
14562
|
}
|
|
14563
14563
|
)
|
|
14564
|
-
] },
|
|
14564
|
+
] }, Q.key)
|
|
14565
14565
|
)
|
|
14566
14566
|
},
|
|
14567
|
-
|
|
14567
|
+
X.key
|
|
14568
14568
|
)
|
|
14569
14569
|
) }) : /* @__PURE__ */ t(G1, { content: A }),
|
|
14570
14570
|
/* @__PURE__ */ l(D, { boxSizing: "border-box", pb: 32, pt: 24, px: 24, children: [
|
|
@@ -14574,7 +14574,7 @@ const Zi = ({
|
|
|
14574
14574
|
color: "primary",
|
|
14575
14575
|
fullWidth: !0,
|
|
14576
14576
|
loading: i,
|
|
14577
|
-
onClick:
|
|
14577
|
+
onClick: O,
|
|
14578
14578
|
variant: "contained",
|
|
14579
14579
|
children: A.show_all_hidden_insights
|
|
14580
14580
|
}
|
|
@@ -14599,11 +14599,11 @@ const Zi = ({
|
|
|
14599
14599
|
F1,
|
|
14600
14600
|
{
|
|
14601
14601
|
content: A,
|
|
14602
|
-
disabledBeatTemplates: w !== "" ? o.filter((
|
|
14603
|
-
handleEnableBeatTemplates:
|
|
14602
|
+
disabledBeatTemplates: w !== "" ? o.filter((X) => X.key === T)[0].subcategories.filter((X) => X.key === w)[0].beats : [],
|
|
14603
|
+
handleEnableBeatTemplates: F,
|
|
14604
14604
|
isOpen: y,
|
|
14605
14605
|
isUpdateLoading: i,
|
|
14606
|
-
onClose:
|
|
14606
|
+
onClose: _,
|
|
14607
14607
|
translatedSubCatetgory: c[w]
|
|
14608
14608
|
}
|
|
14609
14609
|
)
|
|
@@ -15699,7 +15699,7 @@ const Pt = C.createContext(null), AC = ({
|
|
|
15699
15699
|
)
|
|
15700
15700
|
] })
|
|
15701
15701
|
] }), Ma = ({ beat: A, clientColorScheme: e, color: n, type: r }) => {
|
|
15702
|
-
const a =
|
|
15702
|
+
const a = gA(), i = e?.primary_300 ? e.primary_300 : a.palette.primary.main;
|
|
15703
15703
|
return r === 0 ? /* @__PURE__ */ t(M, { fill: !0, name: "error", sx: { color: n || i } }) : r === 1 && A ? /* @__PURE__ */ t(eC, { beat: A }) : r === 2 && A ? /* @__PURE__ */ t(rC, { beat: A }) : r === 3 && A ? /* @__PURE__ */ t(sC, { beat: A }) : /* @__PURE__ */ t(
|
|
15704
15704
|
M,
|
|
15705
15705
|
{
|
|
@@ -15888,7 +15888,7 @@ const Pt = C.createContext(null), AC = ({
|
|
|
15888
15888
|
variant: u,
|
|
15889
15889
|
widthOverrides: d
|
|
15890
15890
|
}) => {
|
|
15891
|
-
const h = fC(r, c, d), g = C.useRef(null), [f, m] = C.useState(0), [y, v] = C.useState(null), [T, I] = C.useState(null), { carouselCopy: w } = Ye(), { onEvent: x } = Nt(),
|
|
15891
|
+
const h = fC(r, c, d), g = C.useRef(null), [f, m] = C.useState(0), [y, v] = C.useState(null), [T, I] = C.useState(null), { carouselCopy: w } = Ye(), { onEvent: x } = Nt(), P = () => {
|
|
15892
15892
|
x(se.ON_CAROUSEL_FORWARD_CLICK), g.current && g.current.scrollTo({
|
|
15893
15893
|
left: (
|
|
15894
15894
|
// Adds the flex gap to the carousel ulRef's width
|
|
@@ -15897,7 +15897,7 @@ const Pt = C.createContext(null), AC = ({
|
|
|
15897
15897
|
top: 0,
|
|
15898
15898
|
behavior: "smooth"
|
|
15899
15899
|
});
|
|
15900
|
-
},
|
|
15900
|
+
}, O = () => {
|
|
15901
15901
|
x(se.ON_CAROUSEL_BACK_CLICK), g.current && g.current.scrollTo({
|
|
15902
15902
|
left: (g.current.offsetWidth + 8) * (Math.floor(f / (g.current.offsetWidth + 8)) - 1),
|
|
15903
15903
|
top: 0,
|
|
@@ -15905,55 +15905,55 @@ const Pt = C.createContext(null), AC = ({
|
|
|
15905
15905
|
});
|
|
15906
15906
|
}, N = () => {
|
|
15907
15907
|
g.current && m(g.current.scrollLeft);
|
|
15908
|
-
},
|
|
15908
|
+
}, _ = () => {
|
|
15909
15909
|
if (!T || !y) return;
|
|
15910
15910
|
T - y > cC ? x(se.ON_CAROUSEL_FORWARD_SWIPE) : x(se.ON_CAROUSEL_BACK_SWIPE);
|
|
15911
|
-
},
|
|
15911
|
+
}, F = (nA) => {
|
|
15912
15912
|
v(nA.targetTouches[0].clientX);
|
|
15913
|
-
},
|
|
15913
|
+
}, X = (nA) => {
|
|
15914
15914
|
v(null), I(nA.targetTouches[0].clientX);
|
|
15915
|
-
},
|
|
15915
|
+
}, Q = {
|
|
15916
15916
|
clientColorScheme: e,
|
|
15917
15917
|
showCTAColocatedWithText: n,
|
|
15918
15918
|
heightOverrides: r,
|
|
15919
15919
|
showIcon: s,
|
|
15920
15920
|
variant: u,
|
|
15921
15921
|
widthOverrides: d
|
|
15922
|
-
},
|
|
15922
|
+
}, k = g.current && g.current.offsetWidth ? Math.round(f / g.current.offsetWidth) : 0, $ = g.current ? g.current.scrollWidth - g.current.offsetWidth : 0;
|
|
15923
15923
|
return /* @__PURE__ */ l("div", { className: h, children: [
|
|
15924
15924
|
/* @__PURE__ */ l(
|
|
15925
15925
|
"ul",
|
|
15926
15926
|
{
|
|
15927
15927
|
className: "mx-insights-micro-carousel-container",
|
|
15928
15928
|
onScroll: N,
|
|
15929
|
-
onTouchEnd:
|
|
15930
|
-
onTouchMove:
|
|
15931
|
-
onTouchStart:
|
|
15929
|
+
onTouchEnd: _,
|
|
15930
|
+
onTouchMove: F,
|
|
15931
|
+
onTouchStart: X,
|
|
15932
15932
|
ref: g,
|
|
15933
15933
|
children: [
|
|
15934
|
-
A.map((nA,
|
|
15934
|
+
A.map((nA, mA) => /* @__PURE__ */ t(
|
|
15935
15935
|
dC,
|
|
15936
15936
|
{
|
|
15937
|
-
ariaLabel:
|
|
15937
|
+
ariaLabel: H(
|
|
15938
15938
|
w.card_position_in_carousel_aria,
|
|
15939
|
-
|
|
15939
|
+
mA + 1,
|
|
15940
15940
|
A.length + 1
|
|
15941
15941
|
),
|
|
15942
15942
|
beat: nA,
|
|
15943
|
-
index:
|
|
15944
|
-
isActiveCard:
|
|
15943
|
+
index: mA,
|
|
15944
|
+
isActiveCard: mA === k,
|
|
15945
15945
|
onCardClick: a,
|
|
15946
15946
|
posthog: i,
|
|
15947
|
-
...
|
|
15947
|
+
...Q
|
|
15948
15948
|
},
|
|
15949
|
-
`${nA.guid} ${
|
|
15949
|
+
`${nA.guid} ${mA}`
|
|
15950
15950
|
)),
|
|
15951
15951
|
/* @__PURE__ */ t(
|
|
15952
15952
|
TC,
|
|
15953
15953
|
{
|
|
15954
|
-
isActiveCard:
|
|
15954
|
+
isActiveCard: k === A.length,
|
|
15955
15955
|
onCardClick: a,
|
|
15956
|
-
...
|
|
15956
|
+
...Q
|
|
15957
15957
|
}
|
|
15958
15958
|
)
|
|
15959
15959
|
]
|
|
@@ -15963,11 +15963,11 @@ const Pt = C.createContext(null), AC = ({
|
|
|
15963
15963
|
uC,
|
|
15964
15964
|
{
|
|
15965
15965
|
clientColorScheme: e,
|
|
15966
|
-
currentBeatIndex:
|
|
15966
|
+
currentBeatIndex: k,
|
|
15967
15967
|
numBeats: A.length + 1,
|
|
15968
|
-
onNextClick:
|
|
15969
|
-
onPreviousClick:
|
|
15970
|
-
scrollRightBoundary:
|
|
15968
|
+
onNextClick: P,
|
|
15969
|
+
onPreviousClick: O,
|
|
15970
|
+
scrollRightBoundary: $,
|
|
15971
15971
|
scrollX: f
|
|
15972
15972
|
}
|
|
15973
15973
|
)
|
|
@@ -16020,8 +16020,8 @@ const Pt = C.createContext(null), AC = ({
|
|
|
16020
16020
|
C.useEffect(() => {
|
|
16021
16021
|
y && y <= 325 && I(3), y && y > 325 && I(2);
|
|
16022
16022
|
}, [y]);
|
|
16023
|
-
const { cardStyle: w, linkTextStyle: x } = h,
|
|
16024
|
-
|
|
16023
|
+
const { cardStyle: w, linkTextStyle: x } = h, P = m ? w : { border: "none", boxShadow: "none", ...w }, O = mC(
|
|
16024
|
+
P,
|
|
16025
16025
|
a,
|
|
16026
16026
|
g,
|
|
16027
16027
|
T,
|
|
@@ -16032,7 +16032,7 @@ const Pt = C.createContext(null), AC = ({
|
|
|
16032
16032
|
"li",
|
|
16033
16033
|
{
|
|
16034
16034
|
"aria-hidden": !c,
|
|
16035
|
-
className:
|
|
16035
|
+
className: O,
|
|
16036
16036
|
onClick: () => u(),
|
|
16037
16037
|
ref: v,
|
|
16038
16038
|
role: "button",
|
|
@@ -16230,16 +16230,16 @@ const Pt = C.createContext(null), AC = ({
|
|
|
16230
16230
|
variant: w,
|
|
16231
16231
|
widthOverrides: x
|
|
16232
16232
|
}) => {
|
|
16233
|
-
const [
|
|
16233
|
+
const [P, O] = fe("STANDARD"), [N, _] = fe(!1), F = gc([c], we), X = Cc([u], we);
|
|
16234
16234
|
C.useEffect(() => {
|
|
16235
16235
|
we.isInitialized || we.initialize(a, v, o);
|
|
16236
16236
|
}, [a, v, o, we.isInitialized]), C.useEffect(() => {
|
|
16237
|
-
const
|
|
16238
|
-
|
|
16237
|
+
const $ = window.innerHeight;
|
|
16238
|
+
$ < 180 ? O("STANDARD") : $ >= 180 && $ < 200 ? O("LARGE") : $ >= 200 && $ < 248 ? O("XLARGE") : $ >= 248 && O("XXLARGE");
|
|
16239
16239
|
}, [window.innerHeight]), C.useEffect(() => {
|
|
16240
|
-
|
|
16240
|
+
_(!A && we.isInitialized);
|
|
16241
16241
|
}, [A, we.isInitialized]);
|
|
16242
|
-
const
|
|
16242
|
+
const Q = {
|
|
16243
16243
|
showCTAColocatedWithText: r,
|
|
16244
16244
|
heightOverrides: i,
|
|
16245
16245
|
onCardClick: s,
|
|
@@ -16247,17 +16247,17 @@ const Pt = C.createContext(null), AC = ({
|
|
|
16247
16247
|
showWithMargin: y,
|
|
16248
16248
|
useDarkMode: T,
|
|
16249
16249
|
widthOverrides: x
|
|
16250
|
-
},
|
|
16251
|
-
carouselSize:
|
|
16250
|
+
}, k = {
|
|
16251
|
+
carouselSize: P,
|
|
16252
16252
|
posthog: d,
|
|
16253
16253
|
variant: w,
|
|
16254
|
-
...
|
|
16254
|
+
...Q
|
|
16255
16255
|
};
|
|
16256
16256
|
return (
|
|
16257
16257
|
// The Theme provider must wrap the component so that the styles don't break when imported into other applications.
|
|
16258
16258
|
/* @__PURE__ */ l(at, { theme: rt(T ? "dark" : "light"), children: [
|
|
16259
16259
|
/* @__PURE__ */ t(Gs, {}),
|
|
16260
|
-
/* @__PURE__ */ t(AC, { onEvent:
|
|
16260
|
+
/* @__PURE__ */ t(AC, { onEvent: F, onPageview: X, store: we, children: /* @__PURE__ */ l(
|
|
16261
16261
|
D,
|
|
16262
16262
|
{
|
|
16263
16263
|
sx: {
|
|
@@ -16284,11 +16284,11 @@ const Pt = C.createContext(null), AC = ({
|
|
|
16284
16284
|
clientColorScheme: n,
|
|
16285
16285
|
showCarouselControls: g,
|
|
16286
16286
|
variant: h ? w : void 0,
|
|
16287
|
-
...
|
|
16287
|
+
...Q
|
|
16288
16288
|
}
|
|
16289
16289
|
),
|
|
16290
|
-
N && !e.length && I && /* @__PURE__ */ t(wC, { clientColorScheme: n, ...
|
|
16291
|
-
N && !e.length && !I && /* @__PURE__ */ t(IC, { ...
|
|
16290
|
+
N && !e.length && I && /* @__PURE__ */ t(wC, { clientColorScheme: n, ...k }),
|
|
16291
|
+
N && !e.length && !I && /* @__PURE__ */ t(IC, { ...k })
|
|
16292
16292
|
]
|
|
16293
16293
|
}
|
|
16294
16294
|
) })
|
|
@@ -16592,7 +16592,7 @@ const Pt = C.createContext(null), AC = ({
|
|
|
16592
16592
|
},
|
|
16593
16593
|
r.guid
|
|
16594
16594
|
)) }), OC = () => {
|
|
16595
|
-
const A =
|
|
16595
|
+
const A = gA(), { spending: e } = L(), { selectedAccounts: n } = CA(), r = C.useMemo(
|
|
16596
16596
|
() => [
|
|
16597
16597
|
A.palette.chartMono.chartMono5,
|
|
16598
16598
|
A.palette.chartMono.chartMono4,
|
|
@@ -16831,7 +16831,7 @@ const Pt = C.createContext(null), AC = ({
|
|
|
16831
16831
|
A.palette.chartMono.chartMono1,
|
|
16832
16832
|
A.palette.chartMono.chartMono6
|
|
16833
16833
|
], zC = () => {
|
|
16834
|
-
const A = An(), { categories: e, dateRangeCategoryTotals: n, loadDateRangeCategoryTotals: r } = NA(), { spending: a } = L(), { displayedDateRange: i, selectedAccounts: o, selectedAccountGuids: s } =
|
|
16834
|
+
const A = An(), { categories: e, dateRangeCategoryTotals: n, loadDateRangeCategoryTotals: r } = NA(), { spending: a } = L(), { displayedDateRange: i, selectedAccounts: o, selectedAccountGuids: s } = CA(), { setFilter: c, sortedTransactions: u } = uA(), [d, h] = C.useState(""), [g, f] = C.useState(0), [m, y] = C.useState(""), [v, T] = C.useState(!1);
|
|
16835
16835
|
C.useEffect(() => {
|
|
16836
16836
|
r(
|
|
16837
16837
|
o,
|
|
@@ -16846,38 +16846,38 @@ const Pt = C.createContext(null), AC = ({
|
|
|
16846
16846
|
() => so(e, n, HC(A)),
|
|
16847
16847
|
[e, n]
|
|
16848
16848
|
), x = C.useMemo(
|
|
16849
|
-
() => u.find((
|
|
16849
|
+
() => u.find((_) => _.guid === m),
|
|
16850
16850
|
[m]
|
|
16851
|
-
),
|
|
16852
|
-
f(
|
|
16853
|
-
},
|
|
16854
|
-
h(d ===
|
|
16855
|
-
}, N = (
|
|
16856
|
-
const
|
|
16851
|
+
), P = (_, F) => {
|
|
16852
|
+
f(F), h("");
|
|
16853
|
+
}, O = (_) => {
|
|
16854
|
+
h(d === _ || _ === "0" ? "" : _);
|
|
16855
|
+
}, N = (_) => {
|
|
16856
|
+
const F = {
|
|
16857
16857
|
accounts: s,
|
|
16858
16858
|
dateRange: i
|
|
16859
16859
|
};
|
|
16860
16860
|
if (g === 0)
|
|
16861
|
-
if (
|
|
16862
|
-
const
|
|
16861
|
+
if (_ === "other") {
|
|
16862
|
+
const X = I.categoryData.find((Q) => Q.guid === "other");
|
|
16863
16863
|
c({
|
|
16864
|
-
...
|
|
16865
|
-
custom: (
|
|
16864
|
+
...F,
|
|
16865
|
+
custom: (Q) => !!X?.categoryTotals?.find((k) => k.guid === Q.top_level_category_guid)
|
|
16866
16866
|
});
|
|
16867
16867
|
} else
|
|
16868
16868
|
c({
|
|
16869
|
-
...
|
|
16870
|
-
custom: (
|
|
16869
|
+
...F,
|
|
16870
|
+
custom: (X) => _ ? X.top_level_category_guid === _ : X.top_level_category_guid !== b.INCOME
|
|
16871
16871
|
});
|
|
16872
16872
|
else
|
|
16873
16873
|
c({
|
|
16874
|
-
...
|
|
16875
|
-
custom: (
|
|
16874
|
+
...F,
|
|
16875
|
+
custom: (X) => _ ? X.category_guid === _ : X.top_level_category_guid === b.INCOME
|
|
16876
16876
|
});
|
|
16877
16877
|
T(!0);
|
|
16878
16878
|
};
|
|
16879
16879
|
return /* @__PURE__ */ l(D, { children: [
|
|
16880
|
-
/* @__PURE__ */ l(Oe, { onChange:
|
|
16880
|
+
/* @__PURE__ */ l(Oe, { onChange: P, value: g, variant: "fullWidth", children: [
|
|
16881
16881
|
/* @__PURE__ */ t(
|
|
16882
16882
|
KA,
|
|
16883
16883
|
{
|
|
@@ -16907,7 +16907,7 @@ const Pt = C.createContext(null), AC = ({
|
|
|
16907
16907
|
Ra,
|
|
16908
16908
|
{
|
|
16909
16909
|
data: I,
|
|
16910
|
-
onSelected:
|
|
16910
|
+
onSelected: O,
|
|
16911
16911
|
onViewTransactions: N,
|
|
16912
16912
|
selectedId: d,
|
|
16913
16913
|
title: a.spend_tab_title
|
|
@@ -16917,7 +16917,7 @@ const Pt = C.createContext(null), AC = ({
|
|
|
16917
16917
|
Ra,
|
|
16918
16918
|
{
|
|
16919
16919
|
data: w,
|
|
16920
|
-
onSelected:
|
|
16920
|
+
onSelected: O,
|
|
16921
16921
|
onViewTransactions: N,
|
|
16922
16922
|
selectedId: d,
|
|
16923
16923
|
title: a.income_tab_title
|
|
@@ -16945,7 +16945,7 @@ const Pt = C.createContext(null), AC = ({
|
|
|
16945
16945
|
)
|
|
16946
16946
|
] });
|
|
16947
16947
|
}, BC = S(zC), KC = ({ onBackClick: A, sx: e = {} }) => {
|
|
16948
|
-
const { accounts: n } = LA(), { spending: r } = L(), { isInitialized: a, setDisplayedDate: i, setSelectedAccounts: o } =
|
|
16948
|
+
const { accounts: n } = LA(), { spending: r } = L(), { isInitialized: a, setDisplayedDate: i, setSelectedAccounts: o } = CA(), { onEvent: s } = Y(), [c, u] = C.useState(!1);
|
|
16949
16949
|
C.useEffect(() => {
|
|
16950
16950
|
o(n);
|
|
16951
16951
|
}, [n]), C.useEffect(() => {
|
|
@@ -17010,7 +17010,7 @@ const Pt = C.createContext(null), AC = ({
|
|
|
17010
17010
|
/* @__PURE__ */ t(
|
|
17011
17011
|
D,
|
|
17012
17012
|
{
|
|
17013
|
-
"aria-label":
|
|
17013
|
+
"aria-label": H(n.category_icon_label_aria, r),
|
|
17014
17014
|
role: "img",
|
|
17015
17015
|
children: /* @__PURE__ */ t(ae, { categoryGuid: e })
|
|
17016
17016
|
}
|
|
@@ -17071,15 +17071,15 @@ const Pt = C.createContext(null), AC = ({
|
|
|
17071
17071
|
(m) => m.category_guid === e || m.top_level_category_guid === e
|
|
17072
17072
|
) : A).reduce(
|
|
17073
17073
|
(m, y) => {
|
|
17074
|
-
const { category_guid: v, top_level_category_guid: T, month: I, total: w, year: x } = y,
|
|
17075
|
-
m[
|
|
17076
|
-
id:
|
|
17077
|
-
category:
|
|
17074
|
+
const { category_guid: v, top_level_category_guid: T, month: I, total: w, year: x } = y, P = e ? v : T;
|
|
17075
|
+
m[P] || (m[P] = {
|
|
17076
|
+
id: P,
|
|
17077
|
+
category: P,
|
|
17078
17078
|
category_guid: v,
|
|
17079
17079
|
top_level_category_guid: T
|
|
17080
17080
|
});
|
|
17081
|
-
const
|
|
17082
|
-
return m[
|
|
17081
|
+
const O = Z(new Date(x, I, 1), J.MONTH_SHORT);
|
|
17082
|
+
return m[P][O] = w, m;
|
|
17083
17083
|
},
|
|
17084
17084
|
{}
|
|
17085
17085
|
);
|
|
@@ -17108,19 +17108,19 @@ const Pt = C.createContext(null), AC = ({
|
|
|
17108
17108
|
}, YC = {
|
|
17109
17109
|
title: "Transaction List"
|
|
17110
17110
|
}, VC = ({
|
|
17111
|
-
|
|
17112
|
-
|
|
17111
|
+
categoryGuid: A,
|
|
17112
|
+
dateRange: e,
|
|
17113
17113
|
isOpen: n,
|
|
17114
17114
|
onClose: r
|
|
17115
17115
|
}) => {
|
|
17116
|
-
const { onEvent: a } = Y(), {
|
|
17116
|
+
const { onEvent: a } = Y(), { selectedAccountGuids: i } = CA(), { common: o } = L(), { setFilter: s, sortedTransactions: c } = uA(), [u, d] = C.useState(""), h = C.useMemo(() => c.find((f) => f.guid === u), [u]);
|
|
17117
17117
|
C.useEffect(() => {
|
|
17118
17118
|
s({
|
|
17119
|
-
|
|
17120
|
-
|
|
17121
|
-
custom:
|
|
17119
|
+
accounts: i,
|
|
17120
|
+
dateRange: e,
|
|
17121
|
+
custom: (f) => A === "" || A === f.category_guid || A === f.top_level_category_guid
|
|
17122
17122
|
});
|
|
17123
|
-
}, [A,
|
|
17123
|
+
}, [i, A, e]), C.useEffect(() => a(j.TRENDS_VIEW_TRANSACTIONS), []);
|
|
17124
17124
|
const g = () => {
|
|
17125
17125
|
d(""), r();
|
|
17126
17126
|
};
|
|
@@ -17140,86 +17140,84 @@ const Pt = C.createContext(null), AC = ({
|
|
|
17140
17140
|
}, JC = S(VC), ZC = {
|
|
17141
17141
|
view_transactions: "View Transactions"
|
|
17142
17142
|
}, $C = ({ onBackClick: A, sx: e }) => {
|
|
17143
|
-
const n = kA(), { onEvent: r } = Y(), { isDesktop: a, isTablet: i, isMobile: o } = zA(), { accounts: s } = LA(), { loadMonthlyCategoryTotals: c, monthlyCategoryTotals: u } = NA(), {
|
|
17143
|
+
const n = kA(), { onEvent: r } = Y(), { isDesktop: a, isTablet: i, isMobile: o } = zA(), { accounts: s } = LA(), { loadMonthlyCategoryTotals: c, monthlyCategoryTotals: u } = NA(), { sortedTransactions: d } = uA(), { isInitialized: h, selectedAccounts: g, setSelectedAccounts: f } = CA(), { trends: m } = L(), y = n.palette.mode === "dark", [v, T] = C.useState(!1), [I, w] = C.useState(!1), [x, P] = C.useState("Chart"), [O, N] = C.useState(""), [_, F] = C.useState({
|
|
17144
17144
|
start: bA(le(/* @__PURE__ */ new Date(), 5)),
|
|
17145
17145
|
end: MA(/* @__PURE__ */ new Date())
|
|
17146
|
-
}), [
|
|
17146
|
+
}), [X, Q] = C.useState(6);
|
|
17147
17147
|
C.useEffect(() => {
|
|
17148
|
-
|
|
17148
|
+
f(s);
|
|
17149
17149
|
}, [s]), C.useEffect(() => {
|
|
17150
|
-
|
|
17151
|
-
|
|
17152
|
-
|
|
17153
|
-
|
|
17150
|
+
h && c(
|
|
17151
|
+
g,
|
|
17152
|
+
_.start,
|
|
17153
|
+
_.end
|
|
17154
17154
|
).finally(() => {
|
|
17155
|
-
|
|
17155
|
+
T(!0);
|
|
17156
17156
|
});
|
|
17157
|
-
}, [
|
|
17158
|
-
const
|
|
17157
|
+
}, [h, g, _]);
|
|
17158
|
+
const k = C.useMemo(
|
|
17159
17159
|
() => FC(u),
|
|
17160
17160
|
[u]
|
|
17161
|
-
),
|
|
17162
|
-
const
|
|
17161
|
+
), $ = C.useMemo(() => {
|
|
17162
|
+
const pA = O.length ? k.filter(
|
|
17163
17163
|
(yA) => yA.top_level_category_guid === O || yA.category_guid === O
|
|
17164
|
-
) : bg(
|
|
17164
|
+
) : bg(k), K = pA.filter(yg), hA = pA.filter(gn);
|
|
17165
17165
|
return {
|
|
17166
17166
|
stackedDatasets: K,
|
|
17167
|
-
unstackedDatasets:
|
|
17167
|
+
unstackedDatasets: hA
|
|
17168
17168
|
};
|
|
17169
|
-
}, [
|
|
17170
|
-
const
|
|
17171
|
-
|
|
17172
|
-
|
|
17169
|
+
}, [k, O]), nA = C.useMemo(() => {
|
|
17170
|
+
const pA = Ha(
|
|
17171
|
+
$.stackedDatasets,
|
|
17172
|
+
X
|
|
17173
17173
|
), K = Ha(
|
|
17174
|
-
|
|
17175
|
-
|
|
17174
|
+
$.unstackedDatasets,
|
|
17175
|
+
X
|
|
17176
17176
|
);
|
|
17177
17177
|
return {
|
|
17178
|
-
stackedDatasets:
|
|
17178
|
+
stackedDatasets: pA,
|
|
17179
17179
|
unstackedDatasets: K
|
|
17180
17180
|
};
|
|
17181
|
-
}, [
|
|
17182
|
-
const
|
|
17183
|
-
|
|
17181
|
+
}, [$, X]), mA = C.useMemo(() => {
|
|
17182
|
+
const pA = Z(
|
|
17183
|
+
_.start,
|
|
17184
17184
|
o ? J.MONTH_SHORT_YEAR : J.MONTH_YEAR
|
|
17185
17185
|
), K = Z(
|
|
17186
|
-
|
|
17186
|
+
_.end,
|
|
17187
17187
|
o ? J.MONTH_SHORT_YEAR : J.MONTH_YEAR
|
|
17188
17188
|
);
|
|
17189
|
-
return `${
|
|
17190
|
-
}, [
|
|
17191
|
-
|
|
17192
|
-
},
|
|
17193
|
-
const K =
|
|
17194
|
-
|
|
17189
|
+
return `${pA} - ${K}`;
|
|
17190
|
+
}, [_, o]), cA = (pA, K) => {
|
|
17191
|
+
P(K ?? x), r(j.TRENDS_CLICK_TOGGLE);
|
|
17192
|
+
}, vA = (pA) => {
|
|
17193
|
+
const K = pA?.[0], hA = pA?.[1], yA = Fs(hA, K);
|
|
17194
|
+
F({ start: K, end: hA }), r(j.TRENDS_CLICK_DATE, {
|
|
17195
17195
|
time_period: yA + "M"
|
|
17196
17196
|
}), Q(yA);
|
|
17197
|
-
},
|
|
17197
|
+
}, ee = () => {
|
|
17198
17198
|
r(j.TRENDS_CLICK_FILTER);
|
|
17199
|
-
},
|
|
17200
|
-
|
|
17201
|
-
},
|
|
17202
|
-
|
|
17203
|
-
},
|
|
17204
|
-
r(j.TRENDS_HOVER_LEGEND, { category: _e[
|
|
17205
|
-
},
|
|
17206
|
-
r(j.TRENDS_HOVER_AREA, { category:
|
|
17207
|
-
},
|
|
17208
|
-
r(j.TRENDS_HOVER_POINT, { category:
|
|
17209
|
-
}
|
|
17210
|
-
|
|
17211
|
-
);
|
|
17212
|
-
return !d || !y ? /* @__PURE__ */ t(WA, {}) : /* @__PURE__ */ l(
|
|
17199
|
+
}, Ce = (pA) => {
|
|
17200
|
+
N(pA);
|
|
17201
|
+
}, Fe = (pA) => {
|
|
17202
|
+
N(pA), r(j.TRENDS_CLICK_LEGEND, { category: _e[pA] });
|
|
17203
|
+
}, Ve = (pA) => {
|
|
17204
|
+
r(j.TRENDS_HOVER_LEGEND, { category: _e[pA] });
|
|
17205
|
+
}, Je = (pA) => {
|
|
17206
|
+
r(j.TRENDS_HOVER_AREA, { category: pA });
|
|
17207
|
+
}, ct = (pA) => {
|
|
17208
|
+
r(j.TRENDS_HOVER_POINT, { category: pA });
|
|
17209
|
+
};
|
|
17210
|
+
return !h || !v ? /* @__PURE__ */ t(WA, {}) : /* @__PURE__ */ l(
|
|
17213
17211
|
he,
|
|
17214
17212
|
{
|
|
17215
17213
|
accountOptions: s,
|
|
17216
|
-
calendarActions: { onRangeChanged:
|
|
17217
|
-
dateRange:
|
|
17214
|
+
calendarActions: { onRangeChanged: vA },
|
|
17215
|
+
dateRange: _,
|
|
17218
17216
|
dateRangeVariant: "timeframebuttons",
|
|
17219
|
-
onAccountsFilterClick:
|
|
17217
|
+
onAccountsFilterClick: ee,
|
|
17220
17218
|
onBackClick: A,
|
|
17221
17219
|
sx: e,
|
|
17222
|
-
title:
|
|
17220
|
+
title: m.title,
|
|
17223
17221
|
children: [
|
|
17224
17222
|
/* @__PURE__ */ l(
|
|
17225
17223
|
E,
|
|
@@ -17248,19 +17246,19 @@ const Pt = C.createContext(null), AC = ({
|
|
|
17248
17246
|
textOverflow: "unset"
|
|
17249
17247
|
},
|
|
17250
17248
|
variant: a ? "H3" : "Body",
|
|
17251
|
-
children: _e[O] ||
|
|
17249
|
+
children: _e[O] || m.sub_title
|
|
17252
17250
|
}
|
|
17253
17251
|
),
|
|
17254
|
-
/* @__PURE__ */ t(p, { variant: a ? "Body" : "Small", children:
|
|
17252
|
+
/* @__PURE__ */ t(p, { variant: a ? "Body" : "Small", children: mA })
|
|
17255
17253
|
] }),
|
|
17256
17254
|
/* @__PURE__ */ t(
|
|
17257
17255
|
Ga,
|
|
17258
17256
|
{
|
|
17259
17257
|
exclusive: !0,
|
|
17260
|
-
onChange:
|
|
17258
|
+
onChange: cA,
|
|
17261
17259
|
orientation: "horizontal",
|
|
17262
|
-
value:
|
|
17263
|
-
children: ["Chart", "Table"].map((
|
|
17260
|
+
value: x,
|
|
17261
|
+
children: ["Chart", "Table"].map((pA) => /* @__PURE__ */ t(
|
|
17264
17262
|
qn,
|
|
17265
17263
|
{
|
|
17266
17264
|
sx: {
|
|
@@ -17268,27 +17266,27 @@ const Pt = C.createContext(null), AC = ({
|
|
|
17268
17266
|
fontWeight: 600,
|
|
17269
17267
|
height: 44,
|
|
17270
17268
|
width: 56,
|
|
17271
|
-
color:
|
|
17272
|
-
borderColor:
|
|
17269
|
+
color: y ? n.palette.grey[200] : n.palette.grey[600],
|
|
17270
|
+
borderColor: y ? n.palette.grey[600] : n.palette.grey[400],
|
|
17273
17271
|
"&:hover": {
|
|
17274
|
-
backgroundColor:
|
|
17275
|
-
borderColor:
|
|
17276
|
-
color:
|
|
17272
|
+
backgroundColor: y ? `${n.palette.primary.darker}25` : "inherit",
|
|
17273
|
+
borderColor: y ? n.palette.grey[500] : n.palette.primary.main,
|
|
17274
|
+
color: y ? n.palette.primary.light : n.palette.primary.dark
|
|
17277
17275
|
},
|
|
17278
17276
|
"&.Mui-selected": {
|
|
17279
|
-
backgroundColor:
|
|
17280
|
-
borderColor:
|
|
17281
|
-
color:
|
|
17277
|
+
backgroundColor: y ? n.palette.primary.darker : n.palette.primary.lighter,
|
|
17278
|
+
borderColor: y ? n.palette.primary.light : n.palette.primary.main,
|
|
17279
|
+
color: y ? n.palette.common.white : n.palette.primary.dark
|
|
17282
17280
|
},
|
|
17283
17281
|
"&.Mui-disabled": {
|
|
17284
|
-
borderColor:
|
|
17282
|
+
borderColor: y ? n.palette.grey[700] : n.palette.grey[400],
|
|
17285
17283
|
color: n.palette.grey[500]
|
|
17286
17284
|
}
|
|
17287
17285
|
},
|
|
17288
|
-
value:
|
|
17289
|
-
children:
|
|
17286
|
+
value: pA,
|
|
17287
|
+
children: pA === "Chart" ? /* @__PURE__ */ t(M, { name: "table_chart_view" }) : /* @__PURE__ */ t(M, { name: "format_list_bulleted" })
|
|
17290
17288
|
},
|
|
17291
|
-
|
|
17289
|
+
pA
|
|
17292
17290
|
))
|
|
17293
17291
|
}
|
|
17294
17292
|
)
|
|
@@ -17296,29 +17294,29 @@ const Pt = C.createContext(null), AC = ({
|
|
|
17296
17294
|
}
|
|
17297
17295
|
),
|
|
17298
17296
|
/* @__PURE__ */ l(E, { alignItems: "center", flexDirection: "row", width: "100%", children: [
|
|
17299
|
-
/* @__PURE__ */ t(D, { flexGrow: 1, children: O && /* @__PURE__ */ l(sA, { onClick: () =>
|
|
17297
|
+
/* @__PURE__ */ t(D, { flexGrow: 1, children: O && /* @__PURE__ */ l(sA, { onClick: () => N(""), sx: { p: 0, pr: 5 }, children: [
|
|
17300
17298
|
/* @__PURE__ */ t(M, { name: "arrow_back" }),
|
|
17301
|
-
|
|
17299
|
+
m.all_categories
|
|
17302
17300
|
] }) }),
|
|
17303
|
-
/* @__PURE__ */ t(sA, { onClick: () =>
|
|
17301
|
+
/* @__PURE__ */ t(sA, { onClick: () => w(!0), sx: { px: 5 }, children: `${ZC.view_transactions} (${d.length})` })
|
|
17304
17302
|
] }),
|
|
17305
17303
|
/* @__PURE__ */ l(D, { children: [
|
|
17306
|
-
|
|
17304
|
+
x === "Chart" && /* @__PURE__ */ t(
|
|
17307
17305
|
Wc,
|
|
17308
17306
|
{
|
|
17309
|
-
onClickLegend:
|
|
17310
|
-
onHoverArea:
|
|
17311
|
-
onHoverLegend:
|
|
17312
|
-
onHoverPoint:
|
|
17313
|
-
stackedDatasets:
|
|
17314
|
-
unstackedDatasets:
|
|
17307
|
+
onClickLegend: Fe,
|
|
17308
|
+
onHoverArea: Je,
|
|
17309
|
+
onHoverLegend: Ve,
|
|
17310
|
+
onHoverPoint: ct,
|
|
17311
|
+
stackedDatasets: nA.stackedDatasets,
|
|
17312
|
+
unstackedDatasets: nA.unstackedDatasets
|
|
17315
17313
|
}
|
|
17316
17314
|
),
|
|
17317
|
-
|
|
17315
|
+
x === "Table" && /* @__PURE__ */ t(
|
|
17318
17316
|
WC,
|
|
17319
17317
|
{
|
|
17320
17318
|
monthlyCategoryTotals: u,
|
|
17321
|
-
onClickRow:
|
|
17319
|
+
onClickRow: Ce,
|
|
17322
17320
|
selectedCategory: O
|
|
17323
17321
|
}
|
|
17324
17322
|
)
|
|
@@ -17329,10 +17327,10 @@ const Pt = C.createContext(null), AC = ({
|
|
|
17329
17327
|
/* @__PURE__ */ t(
|
|
17330
17328
|
JC,
|
|
17331
17329
|
{
|
|
17332
|
-
|
|
17333
|
-
|
|
17334
|
-
isOpen:
|
|
17335
|
-
onClose: () =>
|
|
17330
|
+
categoryGuid: O,
|
|
17331
|
+
dateRange: _,
|
|
17332
|
+
isOpen: I,
|
|
17333
|
+
onClose: () => w(!1)
|
|
17336
17334
|
}
|
|
17337
17335
|
)
|
|
17338
17336
|
]
|
|
@@ -17366,7 +17364,7 @@ const Pt = C.createContext(null), AC = ({
|
|
|
17366
17364
|
}
|
|
17367
17365
|
);
|
|
17368
17366
|
}, t3 = S(e3), n3 = ({ onPrimaryCtaClick: A, sx: e }) => {
|
|
17369
|
-
const { loadMonthlyCategoryTotals: n } = NA(), { isInitialized: r } = ar(), { trends: a } = L(), { selectedAccounts: i } =
|
|
17367
|
+
const { loadMonthlyCategoryTotals: n } = NA(), { isInitialized: r } = ar(), { trends: a } = L(), { selectedAccounts: i } = CA(), [o, s] = C.useState(!1);
|
|
17370
17368
|
return C.useEffect(() => {
|
|
17371
17369
|
r && n(i).finally(() => {
|
|
17372
17370
|
s(!0);
|
|
@@ -17400,7 +17398,7 @@ export {
|
|
|
17400
17398
|
IA as ActivityType,
|
|
17401
17399
|
Fd as AddAccountModal,
|
|
17402
17400
|
uc as AnalyticsApi,
|
|
17403
|
-
|
|
17401
|
+
R as ApiEndpoints,
|
|
17404
17402
|
$1 as AppStore,
|
|
17405
17403
|
$7 as BarChart,
|
|
17406
17404
|
nt as BeatApi,
|
|
@@ -17506,7 +17504,7 @@ export {
|
|
|
17506
17504
|
If as PulseSubHeader,
|
|
17507
17505
|
yr as PulseTextComponent,
|
|
17508
17506
|
W7 as RECURRENCE_COPY,
|
|
17509
|
-
|
|
17507
|
+
G as RecurrenceTypes,
|
|
17510
17508
|
lf as RecurringActivityMiniWidget,
|
|
17511
17509
|
Pu as RecurringActivityStore,
|
|
17512
17510
|
cf as RecurringActivityWidget,
|
|
@@ -17554,7 +17552,7 @@ export {
|
|
|
17554
17552
|
IC as ZeroStateCard,
|
|
17555
17553
|
no as ZeroStateIcon,
|
|
17556
17554
|
Xs as analyticsSession,
|
|
17557
|
-
|
|
17555
|
+
H as buildDynamicCopy,
|
|
17558
17556
|
J7 as buildPluralCopy,
|
|
17559
17557
|
wi as exportTransactionsToCSV,
|
|
17560
17558
|
z as formatCurrency,
|
|
@@ -17585,7 +17583,7 @@ export {
|
|
|
17585
17583
|
ng as useGetMergeableAccounts,
|
|
17586
17584
|
L as useGlobalCopyStore,
|
|
17587
17585
|
ar as useGlobalStore,
|
|
17588
|
-
|
|
17586
|
+
CA as useGlobalUiStore,
|
|
17589
17587
|
fi as useGoalStore,
|
|
17590
17588
|
kc as useMerchantStore,
|
|
17591
17589
|
Gc as useNetWorthStore,
|
|
@@ -17594,7 +17592,7 @@ export {
|
|
|
17594
17592
|
li as usePrevious,
|
|
17595
17593
|
BA as useRecurringActivityStore,
|
|
17596
17594
|
zA as useScreenSize,
|
|
17597
|
-
|
|
17595
|
+
uA as useTransactionStore,
|
|
17598
17596
|
Ae as useTransactionsUiStore,
|
|
17599
17597
|
an as useUserStore,
|
|
17600
17598
|
Ot as useWidgetContainerProvider
|