@mx-cartographer/experiences 3.7.0-alpha.al14 → 3.7.0-alpha.al16
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 +493 -485
- package/dist/index.es.js.map +1 -1
- package/dist/src/networth/stores/NetWorthStore.d.ts +2 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as t, jsxs as u, Fragment as aA } from "react/jsx-runtime";
|
|
2
|
-
import g, { useMemo as Co, useRef as Gr, useEffect as he, useState as de, createContext as fo, useContext as
|
|
2
|
+
import g, { useMemo as Co, useRef as Gr, useEffect as he, useState as de, createContext as fo, useContext as mo } from "react";
|
|
3
3
|
import { observer as x } from "mobx-react-lite";
|
|
4
4
|
import S from "@mui/material/Box";
|
|
5
5
|
import q from "@mui/material/Divider";
|
|
6
6
|
import oA from "@mui/material/List";
|
|
7
7
|
import nt from "@mui/material/ListSubheader";
|
|
8
8
|
import Ia from "@mui/system/Stack";
|
|
9
|
-
import { AccountsIcon as
|
|
9
|
+
import { AccountsIcon as vo, P as vA, Icon as P, useTokens as SA, Text as y, H2 as $t, CategoryIcon as _e, DialogHeader as po, DialogFooter as yo, Drawer as Eo, Footer as wo, DateRangePicker as Da, H3 as To, H1 as Ee, TextField as Ne, IconWeight as BA, MerchantLogo as He, CategoryIconVariants as Xr, InstitutionLogo as we, THEMES as Oa, createMXTheme as Lt } from "@kyper/mui";
|
|
10
10
|
import Lo from "bowser";
|
|
11
11
|
import { getUnixTime as CA } from "date-fns/getUnixTime";
|
|
12
12
|
import { Honeybadger as xt } from "@honeybadger-io/react";
|
|
@@ -46,7 +46,7 @@ import { selectAll as Mo, interpolateString as Ro, arc as _o } from "d3";
|
|
|
46
46
|
import { useTheme as ze, keyframes as Ho, ThemeProvider as Qr } from "@mui/material/styles";
|
|
47
47
|
import { ResponsiveChartContainer as zo, AreaPlot as qo, LinePlot as Bo, MarkPlot as Ko, BarPlot as ko, ChartsXAxis as Go, ChartsYAxis as Xo, ChartsReferenceLine as Qo, ChartsLegend as Fo, LineChart as Uo } from "@mui/x-charts";
|
|
48
48
|
import { Stack as Ve, Box as re, useTheme as at, Card as Gn, CardContent as Fr, Divider as Mn, Grid as Pa, List as jo } from "@mui/material";
|
|
49
|
-
import { addYears as
|
|
49
|
+
import { addYears as vt } from "date-fns/addYears";
|
|
50
50
|
import { differenceInCalendarDays as Wo } from "date-fns/differenceInCalendarDays";
|
|
51
51
|
import { endOfToday as Qe } from "date-fns/endOfToday";
|
|
52
52
|
import { endOfYear as Na } from "date-fns/endOfYear";
|
|
@@ -68,7 +68,7 @@ import Zo from "@mui/material/Radio";
|
|
|
68
68
|
import Te from "@mui/material/Avatar";
|
|
69
69
|
import PA from "@mui/material/ListItemAvatar";
|
|
70
70
|
import oe from "@mui/material/ListItemIcon";
|
|
71
|
-
import { makeAutoObservable as bA, runInAction as
|
|
71
|
+
import { makeAutoObservable as bA, runInAction as Y, observable as $o } from "mobx";
|
|
72
72
|
import { differenceInDays as As } from "date-fns/differenceInDays";
|
|
73
73
|
import { getMonth as We } from "date-fns/getMonth";
|
|
74
74
|
import { useVirtualizer as Yr } from "@tanstack/react-virtual";
|
|
@@ -95,7 +95,7 @@ import Et from "@mui/icons-material/DeleteOutlined";
|
|
|
95
95
|
import Yn from "@mui/material/Switch";
|
|
96
96
|
import An from "@mui/material/TextField";
|
|
97
97
|
import kt from "@mui/icons-material/Cancel";
|
|
98
|
-
import
|
|
98
|
+
import mn from "@mui/material/Grid";
|
|
99
99
|
import en from "@mui/icons-material/ChevronRight";
|
|
100
100
|
import ss from "@mui/icons-material/HighlightOff";
|
|
101
101
|
import cs from "@mui/icons-material/Search";
|
|
@@ -112,10 +112,10 @@ import { PickersDay as gs } from "@mui/x-date-pickers/PickersDay";
|
|
|
112
112
|
import Cs from "@mui/icons-material/AccessTimeFilled";
|
|
113
113
|
import fs from "@mui/icons-material/MonetizationOn";
|
|
114
114
|
import Ai from "@mui/icons-material/CheckCircle";
|
|
115
|
-
import { isValid as
|
|
115
|
+
import { isValid as ms } from "date-fns/isValid";
|
|
116
116
|
import { getDate as Ct } from "date-fns/getDate";
|
|
117
117
|
import Xe from "@mui/material/Unstable_Grid2";
|
|
118
|
-
import { DatePicker as
|
|
118
|
+
import { DatePicker as vs } from "@mui/x-date-pickers";
|
|
119
119
|
import ei from "@mui/material/Collapse";
|
|
120
120
|
import ps from "@mui/material/Chip";
|
|
121
121
|
import ys from "@mui/icons-material/EditOutlined";
|
|
@@ -181,10 +181,10 @@ const zs = async (A, e, n = "1.0.0", a = "Experiences") => {
|
|
|
181
181
|
if (l?.static && c.push(l.static), l?.dynamic) {
|
|
182
182
|
const d = l.dynamic.indexOf("{"), h = l.dynamic.substring(d + 1, l.dynamic.length - 1), C = Number(l.dynamic.substring(1, d));
|
|
183
183
|
if (g.isValidElement(e[C - 1])) {
|
|
184
|
-
const f = e[C - 1],
|
|
184
|
+
const f = e[C - 1], m = g.cloneElement(f, {
|
|
185
185
|
key: `${h}-${s}`
|
|
186
186
|
});
|
|
187
|
-
c.push(
|
|
187
|
+
c.push(m);
|
|
188
188
|
} else
|
|
189
189
|
c.push(e[C - 1]);
|
|
190
190
|
}
|
|
@@ -814,7 +814,7 @@ const f7 = [
|
|
|
814
814
|
{ id: 5, copy: "frequency_every_quarter" },
|
|
815
815
|
{ id: 6, copy: "frequency_every_other_quarter" },
|
|
816
816
|
{ id: 7, copy: "frequency_every_year" }
|
|
817
|
-
],
|
|
817
|
+
], m7 = {
|
|
818
818
|
ERROR: "ERROR",
|
|
819
819
|
LOADING: "LOADING",
|
|
820
820
|
SUCCESS: "SUCCESS"
|
|
@@ -913,7 +913,7 @@ class Qt {
|
|
|
913
913
|
}
|
|
914
914
|
getGlobalCopy = async (e, n) => this.fetchInstance.post(`${N.LOCALIZED_CONTENT}/${e}`, { translation_key: n }).then((a) => a);
|
|
915
915
|
}
|
|
916
|
-
class
|
|
916
|
+
class v7 {
|
|
917
917
|
fetchInstance;
|
|
918
918
|
constructor(e, n) {
|
|
919
919
|
this.fetchInstance = new XA(e, n);
|
|
@@ -966,7 +966,7 @@ class Fa {
|
|
|
966
966
|
}
|
|
967
967
|
requestWidgetUrl = async (e) => this.fetchInstance.post(N.WIDGET_URLS, e).then((n) => n.widget_url);
|
|
968
968
|
}
|
|
969
|
-
const
|
|
969
|
+
const vn = (A, e) => A.reduce((n, a) => (n[a.guid] = e?.includes(a.guid), n), {}), Ac = (A) => A.reduce((e, n) => {
|
|
970
970
|
const a = Gt[n.account_type], r = {
|
|
971
971
|
accountNumber: n.account_number,
|
|
972
972
|
name: n.name || n.feed_name,
|
|
@@ -987,7 +987,7 @@ const mn = (A, e) => A.reduce((n, a) => (n[a.guid] = e?.includes(a.guid), n), {}
|
|
|
987
987
|
handleClose: d,
|
|
988
988
|
showAccountNumbers: h
|
|
989
989
|
}) => {
|
|
990
|
-
const C = Co(() => Ac(A), [A]), f = A.length < 1,
|
|
990
|
+
const C = Co(() => Ac(A), [A]), f = A.length < 1, m = !!e, v = Object.values(c).every((E) => !!E);
|
|
991
991
|
return /* @__PURE__ */ t(
|
|
992
992
|
bo,
|
|
993
993
|
{
|
|
@@ -997,7 +997,7 @@ const mn = (A, e) => A.reduce((n, a) => (n[a.guid] = e?.includes(a.guid), n), {}
|
|
|
997
997
|
horizontal: "left"
|
|
998
998
|
},
|
|
999
999
|
onClose: d,
|
|
1000
|
-
open:
|
|
1000
|
+
open: m,
|
|
1001
1001
|
sx: { maxHeight: 400, maxWidth: f ? "100%" : 300 },
|
|
1002
1002
|
transformOrigin: {
|
|
1003
1003
|
vertical: "top",
|
|
@@ -1015,9 +1015,9 @@ const mn = (A, e) => A.reduce((n, a) => (n[a.guid] = e?.includes(a.guid), n), {}
|
|
|
1015
1015
|
maxWidth: "100%"
|
|
1016
1016
|
},
|
|
1017
1017
|
children: [
|
|
1018
|
-
/* @__PURE__ */ t(
|
|
1019
|
-
/* @__PURE__ */ t(
|
|
1020
|
-
/* @__PURE__ */ t(
|
|
1018
|
+
/* @__PURE__ */ t(vo, { size: 32 }),
|
|
1019
|
+
/* @__PURE__ */ t(vA, { bold: !0, mt: 12, children: n.zeroStateTitle }),
|
|
1020
|
+
/* @__PURE__ */ t(vA, { mt: 12, children: n.zeroStateDescription }),
|
|
1021
1021
|
/* @__PURE__ */ t(iA, { onClick: o, children: n.zeroStateButton })
|
|
1022
1022
|
]
|
|
1023
1023
|
}
|
|
@@ -1055,13 +1055,13 @@ const mn = (A, e) => A.reduce((n, a) => (n[a.guid] = e?.includes(a.guid), n), {}
|
|
|
1055
1055
|
control: /* @__PURE__ */ t(
|
|
1056
1056
|
Bt,
|
|
1057
1057
|
{
|
|
1058
|
-
checked:
|
|
1059
|
-
"data-ui-test": `checked-${
|
|
1058
|
+
checked: v,
|
|
1059
|
+
"data-ui-test": `checked-${v}`,
|
|
1060
1060
|
disableRipple: !0,
|
|
1061
1061
|
onChange: () => {
|
|
1062
1062
|
const E = {};
|
|
1063
1063
|
Object.keys(c).forEach((L) => {
|
|
1064
|
-
E[L] = !
|
|
1064
|
+
E[L] = !v;
|
|
1065
1065
|
}), l(E);
|
|
1066
1066
|
},
|
|
1067
1067
|
size: "small",
|
|
@@ -1073,7 +1073,7 @@ const mn = (A, e) => A.reduce((n, a) => (n[a.guid] = e?.includes(a.guid), n), {}
|
|
|
1073
1073
|
}
|
|
1074
1074
|
}
|
|
1075
1075
|
),
|
|
1076
|
-
label:
|
|
1076
|
+
label: v ? n.unselectAllAccounts : n.selectAllAccounts
|
|
1077
1077
|
}
|
|
1078
1078
|
) }),
|
|
1079
1079
|
Object.keys(C).map((E) => {
|
|
@@ -1213,14 +1213,14 @@ const ec = (A, e) => {
|
|
|
1213
1213
|
variant: s = "outlined"
|
|
1214
1214
|
}) => {
|
|
1215
1215
|
const { isMobile: c } = jA(), [l, d] = g.useState(null), [h, C] = g.useState(
|
|
1216
|
-
|
|
1216
|
+
vn(A, r)
|
|
1217
1217
|
);
|
|
1218
1218
|
g.useEffect(() => {
|
|
1219
|
-
C(
|
|
1219
|
+
C(vn(A, r));
|
|
1220
1220
|
}, [A, r]);
|
|
1221
|
-
const f = (
|
|
1222
|
-
d(
|
|
1223
|
-
},
|
|
1221
|
+
const f = (v) => {
|
|
1222
|
+
d(v.currentTarget);
|
|
1223
|
+
}, m = () => {
|
|
1224
1224
|
d(null);
|
|
1225
1225
|
};
|
|
1226
1226
|
return /* @__PURE__ */ u(S, { className: "mx-cmn-account-filter", m: 4, sx: { ...o }, children: [
|
|
@@ -1252,22 +1252,22 @@ const ec = (A, e) => {
|
|
|
1252
1252
|
accountFilterButtonEl: l,
|
|
1253
1253
|
accounts: A,
|
|
1254
1254
|
copy: e.accountFilterOptionsCopy,
|
|
1255
|
-
handleClose:
|
|
1256
|
-
onAccountClick: (
|
|
1257
|
-
C({ ...h, [
|
|
1255
|
+
handleClose: m,
|
|
1256
|
+
onAccountClick: (v) => {
|
|
1257
|
+
C({ ...h, [v.guid]: !h[v.guid] });
|
|
1258
1258
|
},
|
|
1259
|
-
onAccountGroupClick: (
|
|
1259
|
+
onAccountGroupClick: (v, E, L) => {
|
|
1260
1260
|
const b = { ...h };
|
|
1261
|
-
E[
|
|
1261
|
+
E[v].forEach((w) => {
|
|
1262
1262
|
b[w.guid] = !L;
|
|
1263
1263
|
}), C(b);
|
|
1264
1264
|
},
|
|
1265
1265
|
onCancelClick: () => {
|
|
1266
|
-
C(
|
|
1266
|
+
C(vn(A, r)), m();
|
|
1267
1267
|
},
|
|
1268
1268
|
onConnectAccountClick: a,
|
|
1269
1269
|
onFilterClick: () => {
|
|
1270
|
-
n(Object.keys(h).filter((
|
|
1270
|
+
n(Object.keys(h).filter((v) => h[v])), m();
|
|
1271
1271
|
},
|
|
1272
1272
|
selectedOptions: h,
|
|
1273
1273
|
setSelectedOptions: C,
|
|
@@ -1400,14 +1400,14 @@ const ec = (A, e) => {
|
|
|
1400
1400
|
width: h,
|
|
1401
1401
|
xAxisLabel: C = ""
|
|
1402
1402
|
}) => {
|
|
1403
|
-
const f = SA(),
|
|
1404
|
-
return /* @__PURE__ */ u("div", { className: `mx-cmn-barchart-bar-column ${
|
|
1403
|
+
const f = SA(), m = ic(f, h), v = l / o * c, E = Math.abs(l) / o * n, L = s === void 0 || s === r ? "primary" : "secondary";
|
|
1404
|
+
return /* @__PURE__ */ u("div", { className: `mx-cmn-barchart-bar-column ${m}`, children: [
|
|
1405
1405
|
/* @__PURE__ */ t("div", { style: { height: c }, children: l >= 0 && /* @__PURE__ */ t(
|
|
1406
1406
|
Ua,
|
|
1407
1407
|
{
|
|
1408
1408
|
ariaLabel: A,
|
|
1409
1409
|
color: a,
|
|
1410
|
-
height:
|
|
1410
|
+
height: v,
|
|
1411
1411
|
index: r,
|
|
1412
1412
|
label: d,
|
|
1413
1413
|
onClick: i,
|
|
@@ -1478,7 +1478,7 @@ const ec = (A, e) => {
|
|
|
1478
1478
|
selectedIndex: c,
|
|
1479
1479
|
valueFormatter: l = (d) => `${d}`
|
|
1480
1480
|
}) => {
|
|
1481
|
-
const d = SA(), h = dc(d), C = a.reduce(cc, []), f = A !== void 0 ? A : C.reduce(oc, 0) / C.length,
|
|
1481
|
+
const d = SA(), h = dc(d), C = a.reduce(cc, []), f = A !== void 0 ? A : C.reduce(oc, 0) / C.length, m = Math.max(...C), v = Math.min(...C), E = C.reduce(sc, 0), L = m >= 0, b = v < 0, w = Wa(L, b, r), I = Wa(b, L, r), D = lc(f, m, v, w || I), O = ($) => c === void 0 || $ === c ? n : `${n}80`, k = () => /* @__PURE__ */ t(
|
|
1482
1482
|
ja,
|
|
1483
1483
|
{
|
|
1484
1484
|
averageLineHeight: D,
|
|
@@ -1631,7 +1631,7 @@ const ec = (A, e) => {
|
|
|
1631
1631
|
}
|
|
1632
1632
|
}), fc = 340, ft = 44;
|
|
1633
1633
|
var Ci = /* @__PURE__ */ ((A) => (A.None = "None", A.Single = "Single", A.Range = "Range", A))(Ci || {});
|
|
1634
|
-
const
|
|
1634
|
+
const mc = ({
|
|
1635
1635
|
copy: A,
|
|
1636
1636
|
beginDate: e = void 0,
|
|
1637
1637
|
endDate: n = void 0,
|
|
@@ -1640,11 +1640,11 @@ const vc = ({
|
|
|
1640
1640
|
selectionType: i = "Single"
|
|
1641
1641
|
/* Single */
|
|
1642
1642
|
}) => {
|
|
1643
|
-
const o = SA(), s =
|
|
1643
|
+
const o = SA(), s = vc(o), [c, l] = g.useState(Z), [d, h] = g.useState(e), [C, f] = g.useState(n);
|
|
1644
1644
|
g.useEffect(() => {
|
|
1645
1645
|
h(e), f(n), e && l(e);
|
|
1646
1646
|
}, [e, n]);
|
|
1647
|
-
const
|
|
1647
|
+
const m = g.useMemo(() => {
|
|
1648
1648
|
const w = Oo({ start: LA(c), end: OA(c) }), I = [];
|
|
1649
1649
|
for (let D = 0; D < w.length; D++) {
|
|
1650
1650
|
const O = w[D], k = Do({ start: O, end: ge(O, 6) }), $ = [];
|
|
@@ -1653,7 +1653,7 @@ const vc = ({
|
|
|
1653
1653
|
I.push($);
|
|
1654
1654
|
}
|
|
1655
1655
|
return I;
|
|
1656
|
-
}, [c]),
|
|
1656
|
+
}, [c]), v = (w) => {
|
|
1657
1657
|
if (i !== "None") {
|
|
1658
1658
|
if (i === "Single") {
|
|
1659
1659
|
h(w), a?.(w);
|
|
@@ -1679,21 +1679,21 @@ const vc = ({
|
|
|
1679
1679
|
onPreviousClick: b
|
|
1680
1680
|
}
|
|
1681
1681
|
),
|
|
1682
|
-
/* @__PURE__ */ t("div", { className: "mx-cmn-calendar-header-row", children:
|
|
1683
|
-
|
|
1682
|
+
/* @__PURE__ */ t("div", { className: "mx-cmn-calendar-header-row", children: m[0].map((w, I) => /* @__PURE__ */ t("div", { className: "mx-cmn-calendar-header-cell", children: /* @__PURE__ */ t(y, { bold: !0, variant: "Small", children: $A(w, "EEEEE") }) }, I)) }),
|
|
1683
|
+
m.map((w, I) => /* @__PURE__ */ t("div", { className: "mx-cmn-calendar-week", children: w.map((D, O) => /* @__PURE__ */ t(
|
|
1684
1684
|
gc,
|
|
1685
1685
|
{
|
|
1686
1686
|
beginDate: d,
|
|
1687
1687
|
date: D,
|
|
1688
1688
|
endDate: C,
|
|
1689
1689
|
isInMonth: xo(D, c),
|
|
1690
|
-
onClick:
|
|
1690
|
+
onClick: v
|
|
1691
1691
|
},
|
|
1692
1692
|
O
|
|
1693
1693
|
)) }, `w-${I}`)),
|
|
1694
1694
|
/* @__PURE__ */ t("div", { className: "mx-cmn-calendar-today-container", children: /* @__PURE__ */ t(iA, { onClick: E, size: "small", variant: "text", children: A.today }) })
|
|
1695
1695
|
] }) });
|
|
1696
|
-
},
|
|
1696
|
+
}, vc = (A) => GA({
|
|
1697
1697
|
width: fc,
|
|
1698
1698
|
"& .MuiPaper-root": {
|
|
1699
1699
|
paddingLeft: 24,
|
|
@@ -1864,7 +1864,7 @@ const vc = ({
|
|
|
1864
1864
|
showMarkLabel: c = !1,
|
|
1865
1865
|
width: l
|
|
1866
1866
|
}) => {
|
|
1867
|
-
const d = ze(), h = n.flat().map((w) => w.x), C = n.flat().map((w) => w.y), f = Math.round(C.reduce((w, I) => I + w, 0) / C.length),
|
|
1867
|
+
const d = ze(), h = n.flat().map((w) => w.x), C = n.flat().map((w) => w.y), f = Math.round(C.reduce((w, I) => I + w, 0) / C.length), m = Math.floor(Math.min(...C) / 100) * 100, v = Math.ceil(Math.max(...C) / 100) * 100, E = m * 0.95, L = v * 2, b = n.map((w, I) => ({
|
|
1868
1868
|
type: i ? "bar" : "line",
|
|
1869
1869
|
curve: "linear",
|
|
1870
1870
|
color: i ? d.palette.chart?.chart6 : e[I] ?? d.palette.primary.main,
|
|
@@ -1892,8 +1892,8 @@ const vc = ({
|
|
|
1892
1892
|
xAxis: [{ data: h, scaleType: i ? "band" : "point" }],
|
|
1893
1893
|
yAxis: [
|
|
1894
1894
|
{
|
|
1895
|
-
min:
|
|
1896
|
-
max:
|
|
1895
|
+
min: m,
|
|
1896
|
+
max: v || 100,
|
|
1897
1897
|
colorMap: o ? {
|
|
1898
1898
|
type: "continuous",
|
|
1899
1899
|
min: E,
|
|
@@ -1991,8 +1991,8 @@ const vc = ({
|
|
|
1991
1991
|
const d = i.current, h = a.current;
|
|
1992
1992
|
if (!d || !h) return;
|
|
1993
1993
|
const C = d.getBoundingClientRect(), f = h.getBoundingClientRect();
|
|
1994
|
-
let
|
|
1995
|
-
|
|
1994
|
+
let m = n.x, v = n.y;
|
|
1995
|
+
m + C.width * 2 > f.right ? m = n.x - C.width : m - C.width < f.left && (m = n.x), v + C.height * 2 > f.bottom && (v = n.y - C.height), s({ x: m, y: v });
|
|
1996
1996
|
})();
|
|
1997
1997
|
}, [n, a]), !e) return null;
|
|
1998
1998
|
const c = e.reduce((l, d) => l + d.y, 0);
|
|
@@ -2107,12 +2107,12 @@ const vc = ({
|
|
|
2107
2107
|
height: o,
|
|
2108
2108
|
width: s
|
|
2109
2109
|
}) => {
|
|
2110
|
-
const c = at(), { isMobile: l } = jA(), d = g.useRef(null), [h, C] = g.useState(null), [f,
|
|
2110
|
+
const c = at(), { isMobile: l } = jA(), d = g.useRef(null), [h, C] = g.useState(null), [f, m] = g.useState({
|
|
2111
2111
|
hoveredSeriesId: null,
|
|
2112
2112
|
hoveredAreaData: null,
|
|
2113
2113
|
isAreaHovered: !1,
|
|
2114
2114
|
cursorPos: { x: 0, y: 0 }
|
|
2115
|
-
}), { hoveredSeriesId:
|
|
2115
|
+
}), { hoveredSeriesId: v, hoveredAreaData: E, isAreaHovered: L, cursorPos: b } = f, w = L && v && E, I = !w, D = [...e, ...r], O = D.flat().map((G) => G.x), k = D.flat().map((G) => G.y), $ = Math.floor(Math.min(...k) / 100) * 100, B = D.reduce((G, pA) => {
|
|
2116
2116
|
const yA = pA.reduce((ce, Le) => ce + Le.y, 0);
|
|
2117
2117
|
return yA > G ? yA : G;
|
|
2118
2118
|
}, 0), R = n.map((G) => et[G]), z = e.map((G, pA) => ({
|
|
@@ -2141,7 +2141,7 @@ const vc = ({
|
|
|
2141
2141
|
{
|
|
2142
2142
|
onMouseMove: (G) => {
|
|
2143
2143
|
const pA = G.currentTarget.getBoundingClientRect();
|
|
2144
|
-
|
|
2144
|
+
m((yA) => ({
|
|
2145
2145
|
...yA,
|
|
2146
2146
|
cursorPos: {
|
|
2147
2147
|
x: G.clientX - pA.left,
|
|
@@ -2166,7 +2166,7 @@ const vc = ({
|
|
|
2166
2166
|
onHighlightChange: (G) => {
|
|
2167
2167
|
const pA = G?.seriesId && rA.find((Le) => Le.id === G.seriesId), yA = pA && G?.dataIndex !== void 0, ce = pA && G?.dataIndex === void 0;
|
|
2168
2168
|
if (yA)
|
|
2169
|
-
|
|
2169
|
+
m({
|
|
2170
2170
|
hoveredSeriesId: String(G.seriesId),
|
|
2171
2171
|
hoveredAreaData: null,
|
|
2172
2172
|
isAreaHovered: !1,
|
|
@@ -2177,14 +2177,14 @@ const vc = ({
|
|
|
2177
2177
|
x: O[fn],
|
|
2178
2178
|
y: Cn
|
|
2179
2179
|
})) ?? [];
|
|
2180
|
-
|
|
2180
|
+
m({
|
|
2181
2181
|
hoveredSeriesId: String(G.seriesId),
|
|
2182
2182
|
hoveredAreaData: Le,
|
|
2183
2183
|
isAreaHovered: !0,
|
|
2184
2184
|
cursorPos: b
|
|
2185
2185
|
});
|
|
2186
2186
|
} else
|
|
2187
|
-
|
|
2187
|
+
m({
|
|
2188
2188
|
hoveredSeriesId: null,
|
|
2189
2189
|
hoveredAreaData: null,
|
|
2190
2190
|
isAreaHovered: !1,
|
|
@@ -2198,10 +2198,10 @@ const vc = ({
|
|
|
2198
2198
|
}
|
|
2199
2199
|
},
|
|
2200
2200
|
slots: {
|
|
2201
|
-
itemContent: (G) => I &&
|
|
2201
|
+
itemContent: (G) => I && v ? /* @__PURE__ */ t(
|
|
2202
2202
|
Dc,
|
|
2203
2203
|
{
|
|
2204
|
-
categoryGuid: sA(
|
|
2204
|
+
categoryGuid: sA(v),
|
|
2205
2205
|
...G
|
|
2206
2206
|
}
|
|
2207
2207
|
) : null
|
|
@@ -2264,7 +2264,7 @@ const vc = ({
|
|
|
2264
2264
|
w && /* @__PURE__ */ t(
|
|
2265
2265
|
Ic,
|
|
2266
2266
|
{
|
|
2267
|
-
categoryGuid: sA(
|
|
2267
|
+
categoryGuid: sA(v),
|
|
2268
2268
|
chartContainerRef: d,
|
|
2269
2269
|
cursorPosition: b,
|
|
2270
2270
|
hoveredAreaData: E
|
|
@@ -2436,7 +2436,7 @@ const vc = ({
|
|
|
2436
2436
|
toolTipContent: i = "",
|
|
2437
2437
|
variant: o = "outlined"
|
|
2438
2438
|
}) => {
|
|
2439
|
-
const s = fA(), c = s.palette.mode === "dark", { isDesktop: l, isMobile: d } = jA(), [h, C] = g.useState(a), [f,
|
|
2439
|
+
const s = fA(), c = s.palette.mode === "dark", { isDesktop: l, isMobile: d } = jA(), [h, C] = g.useState(a), [f, m] = g.useState(n.dateRangePickerCopy.dateRangeThisMonth), [v, E] = g.useState(h), [L, b] = g.useState(!1), [w, I] = g.useState(!0), [D, O] = g.useState(6), k = [
|
|
2440
2440
|
{ label: "3M", value: 3 },
|
|
2441
2441
|
{ label: "6M", value: 6 },
|
|
2442
2442
|
{ label: "9M", value: 9 },
|
|
@@ -2455,16 +2455,16 @@ const vc = ({
|
|
|
2455
2455
|
if (f === n.dateRangePickerCopy.dateRangeThisMonth)
|
|
2456
2456
|
lA[0] = sA ? ye(rA, 1) : YA(rA, 1), lA[1] = OA(sA ? ye(MA, 1) : YA(MA, 1));
|
|
2457
2457
|
else if (f === n.dateRangePickerCopy.dateRangeYTD || f === n.dateRangePickerCopy.dateRangeLastYear)
|
|
2458
|
-
lA[0] = sA ? Ra(Ma(rA), 1) :
|
|
2458
|
+
lA[0] = sA ? Ra(Ma(rA), 1) : vt(Ma(rA), 1), lA[1] = sA ? Ra(Na(rA), 1) : vt(Na(rA), 1);
|
|
2459
2459
|
else {
|
|
2460
2460
|
const G = Wo(MA, rA);
|
|
2461
2461
|
lA[0] = K === "previous" ? ie(rA, G) : ge(rA, G), lA[1] = K === "previous" ? ie(MA, G) : ge(MA, G);
|
|
2462
2462
|
}
|
|
2463
2463
|
C(lA), A.onRangeChanged(lA);
|
|
2464
2464
|
}, R = () => {
|
|
2465
|
-
C(
|
|
2465
|
+
C(v), I(
|
|
2466
2466
|
f === n.dateRangePickerCopy.dateRangeThisMonth || f === n.dateRangePickerCopy.dateRangeLastMonth
|
|
2467
|
-
), A.onRangeChanged(
|
|
2467
|
+
), A.onRangeChanged(v);
|
|
2468
2468
|
}, z = (K) => {
|
|
2469
2469
|
O(K);
|
|
2470
2470
|
};
|
|
@@ -2500,9 +2500,9 @@ const vc = ({
|
|
|
2500
2500
|
children: [
|
|
2501
2501
|
o === "readonly" && /* @__PURE__ */ u(T, { alignItems: "center", direction: "row", gap: 8, children: [
|
|
2502
2502
|
/* @__PURE__ */ t(P, { name: "calendar_month", size: 24 }),
|
|
2503
|
-
/* @__PURE__ */ t(y, { bold: !0, children: j(
|
|
2503
|
+
/* @__PURE__ */ t(y, { bold: !0, children: j(v[0], F.MONTH_DAY) }),
|
|
2504
2504
|
/* @__PURE__ */ t(P, { name: "remove" }),
|
|
2505
|
-
/* @__PURE__ */ t(y, { bold: !0, children: j(
|
|
2505
|
+
/* @__PURE__ */ t(y, { bold: !0, children: j(v[1], F.MONTH_DAY_YEAR) })
|
|
2506
2506
|
] }),
|
|
2507
2507
|
o !== "readonly" && o !== "timeframebuttons" && /* @__PURE__ */ u(
|
|
2508
2508
|
Yo,
|
|
@@ -2617,9 +2617,9 @@ const vc = ({
|
|
|
2617
2617
|
Da,
|
|
2618
2618
|
{
|
|
2619
2619
|
copy: n.dateRangePickerCopy,
|
|
2620
|
-
dateRange:
|
|
2620
|
+
dateRange: v,
|
|
2621
2621
|
onRangeChanged: (K, lA) => {
|
|
2622
|
-
E(K),
|
|
2622
|
+
E(K), m(lA);
|
|
2623
2623
|
},
|
|
2624
2624
|
selectedShortcut: f,
|
|
2625
2625
|
sx: { p: 16 }
|
|
@@ -2644,9 +2644,9 @@ const vc = ({
|
|
|
2644
2644
|
Da,
|
|
2645
2645
|
{
|
|
2646
2646
|
copy: n.dateRangePickerCopy,
|
|
2647
|
-
dateRange:
|
|
2647
|
+
dateRange: v,
|
|
2648
2648
|
onRangeChanged: (K, lA) => {
|
|
2649
|
-
E(K),
|
|
2649
|
+
E(K), m(lA);
|
|
2650
2650
|
},
|
|
2651
2651
|
selectedShortcut: f,
|
|
2652
2652
|
sx: {
|
|
@@ -2778,8 +2778,8 @@ const vc = ({
|
|
|
2778
2778
|
},
|
|
2779
2779
|
children: A
|
|
2780
2780
|
}
|
|
2781
|
-
),
|
|
2782
|
-
|
|
2781
|
+
), mi = g.createContext(null), vi = ({ children: A, availableHeight: e, availableWidth: n }) => /* @__PURE__ */ t(
|
|
2782
|
+
mi.Provider,
|
|
2783
2783
|
{
|
|
2784
2784
|
value: {
|
|
2785
2785
|
availableHeight: e,
|
|
@@ -2793,8 +2793,8 @@ const vc = ({
|
|
|
2793
2793
|
if (!e)
|
|
2794
2794
|
throw new Error(`${A}() must be used within the GlobalDataContext`);
|
|
2795
2795
|
return e;
|
|
2796
|
-
}, DA = () => KA("useAccountStore").globalStore.accountStore, nn = () => KA("useBudgetsStore").globalStore.budgetsStore, ia = () => KA("useCashflowStore").globalStore.cashflowStore, xA = () => KA("useCategoryStore").globalStore.categoryStore, pi = () => KA("useConnectStore").globalStore.connectStore, an = () => KA("useGlobalStore").globalStore,
|
|
2797
|
-
const e = g.useContext(
|
|
2796
|
+
}, DA = () => KA("useAccountStore").globalStore.accountStore, nn = () => KA("useBudgetsStore").globalStore.budgetsStore, ia = () => KA("useCashflowStore").globalStore.cashflowStore, xA = () => KA("useCategoryStore").globalStore.categoryStore, pi = () => KA("useConnectStore").globalStore.connectStore, an = () => KA("useGlobalStore").globalStore, mA = () => KA("useGlobalUiStore").globalStore.globalUiStore, W = () => KA("globalCopyStore").globalStore.copyStore.copy, _c = () => KA("useMerchantStore").globalStore.merchantStore, Hc = () => KA("useNetWorthStore").globalStore.netWorthStore, yi = () => KA("useNotificationStore").globalStore.notificationStore, kA = () => KA("useRecurringActivityStore").globalStore.recurringActivityStore, uA = () => KA("useTransactionStore").globalStore.transactionStore, rn = () => KA("useUserStore").globalStore.userStore, V = () => ({ onEvent: KA().onEvent }), T7 = () => ({ onPageView: KA().onPageView }), zc = (A = "useWidgetContainerContext") => {
|
|
2797
|
+
const e = g.useContext(mi);
|
|
2798
2798
|
if (!e)
|
|
2799
2799
|
throw new Error(`${A}() must be used within the WidgetContainerContext`);
|
|
2800
2800
|
return e;
|
|
@@ -2858,7 +2858,7 @@ const qe = ({
|
|
|
2858
2858
|
title: o ? /* @__PURE__ */ t(To, { sx: { pb: 4 }, children: o }) : null
|
|
2859
2859
|
}
|
|
2860
2860
|
),
|
|
2861
|
-
/* @__PURE__ */ t(Wr, { ref: s, sx: { p: 0 }, children: /* @__PURE__ */ t(
|
|
2861
|
+
/* @__PURE__ */ t(Wr, { ref: s, sx: { p: 0 }, children: /* @__PURE__ */ t(vi, { availableHeight: c, availableWidth: l, children: e }) })
|
|
2862
2862
|
] });
|
|
2863
2863
|
}, Bc = {
|
|
2864
2864
|
back_arrow_button: "Back to Dashboard"
|
|
@@ -2876,8 +2876,8 @@ const qe = ({
|
|
|
2876
2876
|
sx: d = {},
|
|
2877
2877
|
title: h = ""
|
|
2878
2878
|
}) => {
|
|
2879
|
-
const [C, { height: f, width:
|
|
2880
|
-
c && (c(),
|
|
2879
|
+
const [C, { height: f, width: m }] = Ei(), { onEvent: v } = V(), { isDesktop: E, isMobile: L, isTablet: b } = jA(), { displayedDateRange: w, selectedAccountGuids: I, setSelectedAccountGuids: D } = mA(), { common: O } = W(), k = () => {
|
|
2880
|
+
c && (c(), v(J.WIDGET_BACK_CLICK));
|
|
2881
2881
|
}, $ = {
|
|
2882
2882
|
accountFilterOptionsCopy: {
|
|
2883
2883
|
accountTypeAccounts: "_1{accountType} accounts",
|
|
@@ -3017,7 +3017,7 @@ const qe = ({
|
|
|
3017
3017
|
}
|
|
3018
3018
|
)
|
|
3019
3019
|
] }),
|
|
3020
|
-
/* @__PURE__ */ t(Wr, { ref: C, sx: { p: 0 }, children: /* @__PURE__ */ t(
|
|
3020
|
+
/* @__PURE__ */ t(Wr, { ref: C, sx: { p: 0 }, children: /* @__PURE__ */ t(vi, { availableHeight: f, availableWidth: m, children: a }) })
|
|
3021
3021
|
]
|
|
3022
3022
|
}
|
|
3023
3023
|
);
|
|
@@ -3040,7 +3040,7 @@ const qe = ({
|
|
|
3040
3040
|
setHasValidInput: d,
|
|
3041
3041
|
...h
|
|
3042
3042
|
}) => {
|
|
3043
|
-
const [C, f] = g.useState(""),
|
|
3043
|
+
const [C, f] = g.useState(""), m = SA(), v = kc(m), E = /^[0-9]*$/, L = /^(\d)*(\,)?([0-9]{1,2})?$/, b = /^(\d)*(\.)?([0-9]{1,2})?$/;
|
|
3044
3044
|
let w;
|
|
3045
3045
|
const I = g.useRef(Jo());
|
|
3046
3046
|
if (A)
|
|
@@ -3074,11 +3074,11 @@ const qe = ({
|
|
|
3074
3074
|
Ne,
|
|
3075
3075
|
{
|
|
3076
3076
|
InputProps: {
|
|
3077
|
-
endAdornment: Me().includes("fr-ca") ? /* @__PURE__ */ t(
|
|
3078
|
-
startAdornment: Me().includes("fr-ca") ? void 0 : /* @__PURE__ */ t(
|
|
3077
|
+
endAdornment: Me().includes("fr-ca") ? /* @__PURE__ */ t(vA, { children: "$" }) : void 0,
|
|
3078
|
+
startAdornment: Me().includes("fr-ca") ? void 0 : /* @__PURE__ */ t(vA, { children: "$" })
|
|
3079
3079
|
},
|
|
3080
3080
|
"aria-label": e || r.enter_amount,
|
|
3081
|
-
className: `mx-cmn-currency-input ${
|
|
3081
|
+
className: `mx-cmn-currency-input ${v}`,
|
|
3082
3082
|
error: !!C,
|
|
3083
3083
|
helperText: C,
|
|
3084
3084
|
inputMode: A ? "decimal" : "numeric",
|
|
@@ -3298,7 +3298,7 @@ const qe = ({
|
|
|
3298
3298
|
onClick: n,
|
|
3299
3299
|
sx: a = {}
|
|
3300
3300
|
}) => {
|
|
3301
|
-
const { onEvent: r } =
|
|
3301
|
+
const { onEvent: r } = V();
|
|
3302
3302
|
return n ? /* @__PURE__ */ t(U, { sx: { bgcolor: "background.paper", ...a }, children: /* @__PURE__ */ t(
|
|
3303
3303
|
dA,
|
|
3304
3304
|
{
|
|
@@ -3326,14 +3326,14 @@ class Qc {
|
|
|
3326
3326
|
bA(this);
|
|
3327
3327
|
}
|
|
3328
3328
|
initialize = async (e, n) => {
|
|
3329
|
-
this.api = new Qt(e, n), await this.getCopy(this.featureNamespace),
|
|
3329
|
+
this.api = new Qt(e, n), await this.getCopy(this.featureNamespace), Y(() => {
|
|
3330
3330
|
this.isInitialized = !0;
|
|
3331
3331
|
});
|
|
3332
3332
|
};
|
|
3333
3333
|
getCopy = async (e, n = "") => {
|
|
3334
3334
|
try {
|
|
3335
3335
|
const a = await this.api.getGlobalCopy(e, n);
|
|
3336
|
-
|
|
3336
|
+
Y(() => {
|
|
3337
3337
|
this.copy = a[e];
|
|
3338
3338
|
});
|
|
3339
3339
|
} catch (a) {
|
|
@@ -3352,7 +3352,7 @@ class Fc {
|
|
|
3352
3352
|
};
|
|
3353
3353
|
loadBeats = async () => {
|
|
3354
3354
|
const e = await this.api.getBeats();
|
|
3355
|
-
|
|
3355
|
+
Y(() => {
|
|
3356
3356
|
this.beats = e;
|
|
3357
3357
|
});
|
|
3358
3358
|
};
|
|
@@ -3379,7 +3379,7 @@ class Uc {
|
|
|
3379
3379
|
loadBudgets = async () => {
|
|
3380
3380
|
try {
|
|
3381
3381
|
const e = await this.api.getBudgets();
|
|
3382
|
-
|
|
3382
|
+
Y(() => {
|
|
3383
3383
|
this.budgets = e.filter(
|
|
3384
3384
|
(n) => n.category_guid !== p.INCOME && n.category_guid !== p.TRANSFER
|
|
3385
3385
|
);
|
|
@@ -3411,24 +3411,24 @@ const ot = () => {
|
|
|
3411
3411
|
/* @__PURE__ */ t(_A, { amount: A, bold: !0, sx: { fontSize: 12 } })
|
|
3412
3412
|
] });
|
|
3413
3413
|
}, jc = ({ onAddIncomeClick: A }) => {
|
|
3414
|
-
const e = fA(), { availableWidth: n } = bt(), { cashAccounts: a, cashBalance: r } = DA(), { selectedAccountGuids: i } =
|
|
3414
|
+
const e = fA(), { availableWidth: n } = bt(), { cashAccounts: a, cashBalance: r } = DA(), { selectedAccountGuids: i } = mA(), { cashflow: o } = W(), { userProfile: s } = rn(), {
|
|
3415
3415
|
daysUntilNextIncome: c,
|
|
3416
3416
|
expensesTilNextIncome: l,
|
|
3417
3417
|
selectedCashAccounts: d,
|
|
3418
3418
|
setNextIncome: h,
|
|
3419
3419
|
setSelectedCashAccounts: C,
|
|
3420
3420
|
setUpcomingExpenses: f
|
|
3421
|
-
} = ot(), { nextIncomeActivity:
|
|
3421
|
+
} = ot(), { nextIncomeActivity: m, upcomingExpenses: v } = kA();
|
|
3422
3422
|
g.useEffect(() => {
|
|
3423
3423
|
C(
|
|
3424
3424
|
a.filter((I) => i.includes(I.guid))
|
|
3425
3425
|
);
|
|
3426
3426
|
}, [a, i]), g.useEffect(() => {
|
|
3427
|
-
|
|
3428
|
-
}, [
|
|
3427
|
+
m && h(m), f(v);
|
|
3428
|
+
}, [m, v]);
|
|
3429
3429
|
const E = g.useMemo(
|
|
3430
3430
|
() => a.filter((I) => i.includes(I.guid)).reduce((I, D) => I + (D?.balance || 0), 0),
|
|
3431
|
-
[i,
|
|
3431
|
+
[i, v]
|
|
3432
3432
|
), L = g.useMemo(
|
|
3433
3433
|
() => l.filter((I) => i.includes(I.accountGuid || "")).reduce((I, D) => I + D.amount, 0),
|
|
3434
3434
|
[i, l]
|
|
@@ -3447,7 +3447,7 @@ const ot = () => {
|
|
|
3447
3447
|
children: [
|
|
3448
3448
|
/* @__PURE__ */ u(T, { pb: 14, pt: 12, children: [
|
|
3449
3449
|
/* @__PURE__ */ t(_A, { amount: E, variant: "H2" }),
|
|
3450
|
-
/* @__PURE__ */ t(
|
|
3450
|
+
/* @__PURE__ */ t(vA, { variant: "XSmall", whiteSpace: "nowrap", children: H(
|
|
3451
3451
|
o.total_cash_accounts,
|
|
3452
3452
|
d.length
|
|
3453
3453
|
) })
|
|
@@ -3455,19 +3455,19 @@ const ot = () => {
|
|
|
3455
3455
|
/* @__PURE__ */ t(T, { pt: 18, children: /* @__PURE__ */ t(P, { name: "remove" }) }),
|
|
3456
3456
|
/* @__PURE__ */ u(T, { pb: 14, pt: 12, children: [
|
|
3457
3457
|
/* @__PURE__ */ t(_A, { amount: L, variant: "H2" }),
|
|
3458
|
-
/* @__PURE__ */ t(
|
|
3458
|
+
/* @__PURE__ */ t(vA, { variant: "XSmall", whiteSpace: "nowrap", children: H(o.expenses_due, l.length) })
|
|
3459
3459
|
] }),
|
|
3460
3460
|
/* @__PURE__ */ t(T, { pt: 18, children: /* @__PURE__ */ t(P, { name: "equals" }) }),
|
|
3461
3461
|
/* @__PURE__ */ u(T, { pb: 14, pr: 24, pt: 12, children: [
|
|
3462
3462
|
/* @__PURE__ */ t(_A, { amount: b, variant: "H2" }),
|
|
3463
3463
|
/* @__PURE__ */ u(T, { alignItems: "center", direction: "row", gap: 8, children: [
|
|
3464
|
-
/* @__PURE__ */ t(
|
|
3464
|
+
/* @__PURE__ */ t(vA, { variant: "XSmall", whiteSpace: "nowrap", children: o.available_to_spend }),
|
|
3465
3465
|
/* @__PURE__ */ t(jt, { body: o.tooltip_body, title: o.tooltip_title })
|
|
3466
3466
|
] })
|
|
3467
3467
|
] }),
|
|
3468
3468
|
/* @__PURE__ */ t(T, { borderLeft: `1px solid ${e.palette.border.light}`, pb: 12, pl: 24, pt: 12, children: w ? /* @__PURE__ */ u(aA, { children: [
|
|
3469
3469
|
/* @__PURE__ */ t(y, { variant: "H2", children: H(o.days, c) }),
|
|
3470
|
-
/* @__PURE__ */ t(
|
|
3470
|
+
/* @__PURE__ */ t(vA, { variant: "XSmall", whiteSpace: "nowrap", children: o.next_paycheck })
|
|
3471
3471
|
] }) : /* @__PURE__ */ t(
|
|
3472
3472
|
iA,
|
|
3473
3473
|
{
|
|
@@ -4149,7 +4149,7 @@ class cl {
|
|
|
4149
4149
|
};
|
|
4150
4150
|
addTransaction = async (e) => {
|
|
4151
4151
|
const n = await this.api.addTransaction(e);
|
|
4152
|
-
n &&
|
|
4152
|
+
n && Y(
|
|
4153
4153
|
() => this.transactions = this.augmentTransactions([n, ...this.transactions])
|
|
4154
4154
|
);
|
|
4155
4155
|
};
|
|
@@ -4161,19 +4161,19 @@ class cl {
|
|
|
4161
4161
|
);
|
|
4162
4162
|
loadAssociatedBeats = async (e) => {
|
|
4163
4163
|
const n = e ? Un(e, { representation: "date" }) : void 0, a = await this.beatApi.getBeatsWithAssociatedTransaction(n);
|
|
4164
|
-
|
|
4164
|
+
Y(() => this.associatedBeats = a);
|
|
4165
4165
|
};
|
|
4166
4166
|
loadTags = async () => {
|
|
4167
4167
|
const e = await this.api.getTags();
|
|
4168
|
-
|
|
4168
|
+
Y(() => this.tags = e);
|
|
4169
4169
|
};
|
|
4170
4170
|
loadTaggings = async () => {
|
|
4171
4171
|
const e = await this.api.getTaggings();
|
|
4172
|
-
|
|
4172
|
+
Y(() => this.taggings = e);
|
|
4173
4173
|
};
|
|
4174
4174
|
loadTransactionRules = async () => {
|
|
4175
4175
|
const e = await this.api.getTransactionRules();
|
|
4176
|
-
|
|
4176
|
+
Y(() => this.transactionRules = e);
|
|
4177
4177
|
};
|
|
4178
4178
|
loadTransactions = async (e = this.cachedStartDate, n = Qe()) => {
|
|
4179
4179
|
this.setIsLoading(!0), this.transactions = [];
|
|
@@ -4182,7 +4182,7 @@ class cl {
|
|
|
4182
4182
|
CA(e),
|
|
4183
4183
|
CA(n)
|
|
4184
4184
|
);
|
|
4185
|
-
|
|
4185
|
+
Y(() => {
|
|
4186
4186
|
this.transactions = this.augmentTransactions(a);
|
|
4187
4187
|
});
|
|
4188
4188
|
} catch (a) {
|
|
@@ -4208,7 +4208,7 @@ class cl {
|
|
|
4208
4208
|
const n = this.transactions.findIndex((a) => a.guid === e);
|
|
4209
4209
|
if (n >= 0) {
|
|
4210
4210
|
const a = [...this.transactions];
|
|
4211
|
-
a.splice(n, 1),
|
|
4211
|
+
a.splice(n, 1), Y(() => this.transactions = a);
|
|
4212
4212
|
}
|
|
4213
4213
|
};
|
|
4214
4214
|
setFilter = (e) => {
|
|
@@ -4227,7 +4227,7 @@ class cl {
|
|
|
4227
4227
|
r.push(s);
|
|
4228
4228
|
}
|
|
4229
4229
|
const i = this.transactions.findIndex((o) => o.guid === e.guid);
|
|
4230
|
-
i >= 0 &&
|
|
4230
|
+
i >= 0 && Y(
|
|
4231
4231
|
() => this.transactions = this.augmentTransactions([
|
|
4232
4232
|
...this.transactions.slice(0, i),
|
|
4233
4233
|
a,
|
|
@@ -4245,7 +4245,7 @@ class cl {
|
|
|
4245
4245
|
s >= 0 && a.splice(s, 1);
|
|
4246
4246
|
});
|
|
4247
4247
|
const r = a.findIndex((o) => o.guid === e), i = a[r];
|
|
4248
|
-
i.has_been_split = !1, r >= 0 &&
|
|
4248
|
+
i.has_been_split = !1, r >= 0 && Y(
|
|
4249
4249
|
() => this.transactions = [
|
|
4250
4250
|
...a.slice(0, r),
|
|
4251
4251
|
i,
|
|
@@ -4269,7 +4269,7 @@ class cl {
|
|
|
4269
4269
|
};
|
|
4270
4270
|
updateTransaction = async (e) => {
|
|
4271
4271
|
const n = await this.api.updateTransaction(e), a = this.transactions.findIndex((r) => r.guid === e.guid);
|
|
4272
|
-
a >= 0 &&
|
|
4272
|
+
a >= 0 && Y(
|
|
4273
4273
|
() => this.transactions = this.augmentTransactions([
|
|
4274
4274
|
...this.transactions.slice(0, a),
|
|
4275
4275
|
n,
|
|
@@ -4366,10 +4366,10 @@ const WA = () => {
|
|
|
4366
4366
|
}, fl = (A) => {
|
|
4367
4367
|
const e = Li(A);
|
|
4368
4368
|
return Ge(e, 1);
|
|
4369
|
-
},
|
|
4369
|
+
}, ml = (A) => vt(A, 1), mt = (A) => {
|
|
4370
4370
|
const e = NA(A);
|
|
4371
4371
|
return new Date(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate());
|
|
4372
|
-
}, sn = (A) => j(NA(A), F.DAY_OF_WEEK_MONTH_DAY), tr = 65, nr = 34,
|
|
4372
|
+
}, sn = (A) => j(NA(A), F.DAY_OF_WEEK_MONTH_DAY), tr = 65, nr = 34, vl = ({
|
|
4373
4373
|
bgcolor: A,
|
|
4374
4374
|
height: e = "calc(100dvh - 36px)",
|
|
4375
4375
|
loader: n = /* @__PURE__ */ t(Ce, { label: "Loading", size: 40 }),
|
|
@@ -4379,7 +4379,7 @@ const WA = () => {
|
|
|
4379
4379
|
width: o = "100%",
|
|
4380
4380
|
zeroState: s = /* @__PURE__ */ t(ul, {})
|
|
4381
4381
|
}) => {
|
|
4382
|
-
const { isLoading: c, sortedTransactions: l } = uA(), { setShowInsights: d, toggleSplit: h } = WA(), { onEvent: C } =
|
|
4382
|
+
const { isLoading: c, sortedTransactions: l } = uA(), { setShowInsights: d, toggleSplit: h } = WA(), { onEvent: C } = V(), f = (E) => {
|
|
4383
4383
|
const L = l.find((b) => b.guid === E);
|
|
4384
4384
|
if (L?.has_been_split) {
|
|
4385
4385
|
h(L.guid);
|
|
@@ -4389,25 +4389,25 @@ const WA = () => {
|
|
|
4389
4389
|
account_guid: L?.account_guid,
|
|
4390
4390
|
transaction_guid: E
|
|
4391
4391
|
}), a?.(E);
|
|
4392
|
-
},
|
|
4392
|
+
}, m = g.useRef(null), v = Yr({
|
|
4393
4393
|
count: l.length,
|
|
4394
|
-
getScrollElement: () =>
|
|
4394
|
+
getScrollElement: () => m.current,
|
|
4395
4395
|
estimateSize: (E) => tr + (Ar(E, l) ? nr : 0),
|
|
4396
4396
|
overscan: 5
|
|
4397
4397
|
});
|
|
4398
|
-
return g.useEffect(() =>
|
|
4398
|
+
return g.useEffect(() => v.measure(), [l]), g.useEffect(() => d(r), [r]), /* @__PURE__ */ t(oA, { children: /* @__PURE__ */ t(S, { height: e, overflow: "auto", ref: m, width: o, children: /* @__PURE__ */ u(
|
|
4399
4399
|
S,
|
|
4400
4400
|
{
|
|
4401
4401
|
height: (
|
|
4402
4402
|
// set the height to auto when there are no transactions so the zero state isn't set to 0
|
|
4403
|
-
|
|
4403
|
+
v.getVirtualItems().length === 0 ? "auto" : v.getTotalSize()
|
|
4404
4404
|
),
|
|
4405
4405
|
position: "relative",
|
|
4406
4406
|
width: "100%",
|
|
4407
4407
|
children: [
|
|
4408
4408
|
(c || i) && n,
|
|
4409
|
-
!c && !i &&
|
|
4410
|
-
!c && !i &&
|
|
4409
|
+
!c && !i && v.getVirtualItems().length === 0 && s,
|
|
4410
|
+
!c && !i && v.getVirtualItems().length > 0 && v.getVirtualItems().map((E) => {
|
|
4411
4411
|
const L = l[E.index], b = Ar(E.index, l), w = hl(E.index, l), I = tr + (b ? nr : 0);
|
|
4412
4412
|
return /* @__PURE__ */ u(
|
|
4413
4413
|
S,
|
|
@@ -4430,7 +4430,7 @@ const WA = () => {
|
|
|
4430
4430
|
]
|
|
4431
4431
|
}
|
|
4432
4432
|
) }) });
|
|
4433
|
-
}, It = x(
|
|
4433
|
+
}, It = x(vl), pl = (A) => /* @__PURE__ */ u(y, { tabIndex: A.tabIndex, variant: "Small", children: [
|
|
4434
4434
|
`${A.row.account}`,
|
|
4435
4435
|
A.row.number && ` | ${A.row.number}`
|
|
4436
4436
|
] }), yl = (A) => {
|
|
@@ -4647,7 +4647,7 @@ const Il = ({
|
|
|
4647
4647
|
}
|
|
4648
4648
|
);
|
|
4649
4649
|
}, ha = x(Il), Dl = ({ parentCategory: A }) => {
|
|
4650
|
-
const [e, n] = g.useState(!1), { addCategory: a } = xA(), { categories: r } = W(), { onEvent: i } =
|
|
4650
|
+
const [e, n] = g.useState(!1), { addCategory: a } = xA(), { categories: r } = W(), { onEvent: i } = V(), { setShouldDisableDrawerScroll: o } = Fe(), s = async (d) => {
|
|
4651
4651
|
await a(d.trim(), A.guid), i(ne.ON_SUBCATEGORY_ADDED), n(!1);
|
|
4652
4652
|
}, c = async () => {
|
|
4653
4653
|
i(ne.ON_SUBCATEGORY_ADD_CLICK), o(!0), n(!0);
|
|
@@ -4677,7 +4677,7 @@ const Il = ({
|
|
|
4677
4677
|
subCategory: e,
|
|
4678
4678
|
showRename: n
|
|
4679
4679
|
}) => {
|
|
4680
|
-
const { updateCategory: a } = xA(), { onEvent: r } =
|
|
4680
|
+
const { updateCategory: a } = xA(), { onEvent: r } = V(), i = async (s) => {
|
|
4681
4681
|
await a({ ...e, name: s }), r(ne.ON_SUBCATEGORY_SAVED), A(!1);
|
|
4682
4682
|
}, o = () => {
|
|
4683
4683
|
A(!1), r(ne.ON_SUBCATEGORY_EDIT_CANCEL_CLICK);
|
|
@@ -4698,7 +4698,7 @@ const Il = ({
|
|
|
4698
4698
|
setShowDelete: n,
|
|
4699
4699
|
subCategory: a
|
|
4700
4700
|
}) => {
|
|
4701
|
-
const { onEvent: r } =
|
|
4701
|
+
const { onEvent: r } = V(), { removeCategory: i } = xA(), o = () => {
|
|
4702
4702
|
n(!1), r(ne.ON_SUBCATEGORY_DELETE_CLICK);
|
|
4703
4703
|
}, s = async () => {
|
|
4704
4704
|
r(ne.ON_SUBCATEGORY_DELETED), await i(a.guid), n(!1);
|
|
@@ -4722,7 +4722,7 @@ const Il = ({
|
|
|
4722
4722
|
showSelected: o,
|
|
4723
4723
|
unselectable: s,
|
|
4724
4724
|
unselectableText: c
|
|
4725
|
-
} = Fe(), { categories: l } = W(), { onEvent: d } =
|
|
4725
|
+
} = Fe(), { categories: l } = W(), { onEvent: d } = V(), [h, C] = g.useState(!1), [f, m] = g.useState(!1), v = !!e.revision, E = e.guid === a, L = !s.some((w) => w === e.guid);
|
|
4726
4726
|
return /* @__PURE__ */ u(
|
|
4727
4727
|
U,
|
|
4728
4728
|
{
|
|
@@ -4753,7 +4753,7 @@ const Il = ({
|
|
|
4753
4753
|
]
|
|
4754
4754
|
}
|
|
4755
4755
|
),
|
|
4756
|
-
|
|
4756
|
+
v && /* @__PURE__ */ u(S, { className: "mx-cat-subcategory-edit-container", sx: { marginRight: 24 }, children: [
|
|
4757
4757
|
/* @__PURE__ */ t(
|
|
4758
4758
|
HA,
|
|
4759
4759
|
{
|
|
@@ -4770,7 +4770,7 @@ const Il = ({
|
|
|
4770
4770
|
"aria-label": H(l.delete_subcategory_aria, e.name),
|
|
4771
4771
|
edge: "end",
|
|
4772
4772
|
onClick: () => {
|
|
4773
|
-
|
|
4773
|
+
m(!0), i(!0), d(ne.ON_SUBCATEGORY_DELETE_CLICK);
|
|
4774
4774
|
},
|
|
4775
4775
|
children: /* @__PURE__ */ t(Et, { color: "secondary" })
|
|
4776
4776
|
}
|
|
@@ -4780,7 +4780,7 @@ const Il = ({
|
|
|
4780
4780
|
Ml,
|
|
4781
4781
|
{
|
|
4782
4782
|
parentCategory: A,
|
|
4783
|
-
setShowDelete:
|
|
4783
|
+
setShowDelete: m,
|
|
4784
4784
|
showDelete: f,
|
|
4785
4785
|
subCategory: e
|
|
4786
4786
|
}
|
|
@@ -4823,7 +4823,7 @@ const Il = ({
|
|
|
4823
4823
|
}
|
|
4824
4824
|
);
|
|
4825
4825
|
}, zl = x(Hl), ql = ({ category: A, subCategories: e }) => {
|
|
4826
|
-
const { expandedGuid: n, searchValue: a, setExpandedGuid: r } = Fe(), { onEvent: i } =
|
|
4826
|
+
const { expandedGuid: n, searchValue: a, setExpandedGuid: r } = Fe(), { onEvent: i } = V(), o = A.guid === n, s = () => {
|
|
4827
4827
|
const c = A.guid !== n ? A.guid : null;
|
|
4828
4828
|
r(c), i(c ? ne.ON_CATEGORY_EXPANDED : ne.ON_CATEGORY_COLLAPSED);
|
|
4829
4829
|
};
|
|
@@ -4892,15 +4892,15 @@ const Il = ({
|
|
|
4892
4892
|
setSearchValue: h,
|
|
4893
4893
|
setSelectedGuid: C,
|
|
4894
4894
|
setShowSelected: f,
|
|
4895
|
-
setUnselectable:
|
|
4896
|
-
setUnselectableText:
|
|
4895
|
+
setUnselectable: m,
|
|
4896
|
+
setUnselectableText: v
|
|
4897
4897
|
} = Fe();
|
|
4898
4898
|
return g.useEffect(() => {
|
|
4899
4899
|
e && d(e);
|
|
4900
4900
|
}), g.useEffect(() => {
|
|
4901
4901
|
o.length || s();
|
|
4902
4902
|
}, []), g.useEffect(() => {
|
|
4903
|
-
A && C(A), f(n),
|
|
4903
|
+
A && C(A), f(n), m(a), v(r);
|
|
4904
4904
|
}, [A, n, a, r]), /* @__PURE__ */ u("div", { className: `mx-cat-category-selector ${i}`, children: [
|
|
4905
4905
|
/* @__PURE__ */ t(
|
|
4906
4906
|
on,
|
|
@@ -5027,7 +5027,7 @@ class Wl {
|
|
|
5027
5027
|
loadCategories = async () => {
|
|
5028
5028
|
try {
|
|
5029
5029
|
const e = await this.api.getCategories(), { default_categories: n } = this.globalStore.copyStore.copy.categories;
|
|
5030
|
-
|
|
5030
|
+
Y(() => {
|
|
5031
5031
|
this.categories = e.map((a) => ({
|
|
5032
5032
|
...a,
|
|
5033
5033
|
name: n[a.guid] ? n[a.guid].replace(/&/g, "&") : a.name
|
|
@@ -5045,7 +5045,7 @@ class Wl {
|
|
|
5045
5045
|
CA(a),
|
|
5046
5046
|
e
|
|
5047
5047
|
);
|
|
5048
|
-
|
|
5048
|
+
Y(() => {
|
|
5049
5049
|
this.dateRangeCategoryTotals = r, this.detailedCategories = this.augmentCategories(), this.setIsLoadingCategoryTotals(!1);
|
|
5050
5050
|
});
|
|
5051
5051
|
} catch (r) {
|
|
@@ -5056,7 +5056,7 @@ class Wl {
|
|
|
5056
5056
|
const r = CA(LA(n ?? ye(/* @__PURE__ */ new Date(), 5))), i = CA(OA(a ?? /* @__PURE__ */ new Date()));
|
|
5057
5057
|
try {
|
|
5058
5058
|
const o = await this.api.getMonthlyCategoryTotals(r, i, e);
|
|
5059
|
-
|
|
5059
|
+
Y(() => {
|
|
5060
5060
|
this.monthlyCategoryTotals = o, this.detailedCategories = this.augmentCategories();
|
|
5061
5061
|
});
|
|
5062
5062
|
} catch (o) {
|
|
@@ -5082,7 +5082,7 @@ class Wl {
|
|
|
5082
5082
|
};
|
|
5083
5083
|
}
|
|
5084
5084
|
const Si = ({ transaction: A }) => {
|
|
5085
|
-
const { addOrUpdateTransactionRule: e, updateTransaction: n } = uA(), { categories: a } = xA(), { onEvent: r } =
|
|
5085
|
+
const { addOrUpdateTransactionRule: e, updateTransaction: n } = uA(), { categories: a } = xA(), { onEvent: r } = V(), { setShouldDisableDrawerScroll: i, updateManualTransaction: o } = WA(), { transactions: s } = W(), [c, l] = g.useState(!1), [d, h] = g.useState(""), C = async (E) => {
|
|
5086
5086
|
await n({ ...A, category_guid: d }), E && await e(d, A), h(""), r(J.TRANSACTION_DETAILS_CLICK_CATEGORY, {
|
|
5087
5087
|
transaction_guid: A.guid
|
|
5088
5088
|
});
|
|
@@ -5097,10 +5097,10 @@ const Si = ({ transaction: A }) => {
|
|
|
5097
5097
|
});
|
|
5098
5098
|
} else
|
|
5099
5099
|
h(E);
|
|
5100
|
-
|
|
5101
|
-
},
|
|
5100
|
+
m();
|
|
5101
|
+
}, m = () => {
|
|
5102
5102
|
l(!1), i(!1);
|
|
5103
|
-
},
|
|
5103
|
+
}, v = g.useMemo(
|
|
5104
5104
|
() => a.find((E) => E.guid === d),
|
|
5105
5105
|
[d]
|
|
5106
5106
|
);
|
|
@@ -5137,7 +5137,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5137
5137
|
ga,
|
|
5138
5138
|
{
|
|
5139
5139
|
initialSelected: A.category_guid,
|
|
5140
|
-
onClose:
|
|
5140
|
+
onClose: m,
|
|
5141
5141
|
onSelect: f,
|
|
5142
5142
|
showDrawer: c,
|
|
5143
5143
|
title: s.actions_select_a_category
|
|
@@ -5161,13 +5161,13 @@ const Si = ({ transaction: A }) => {
|
|
|
5161
5161
|
children: /* @__PURE__ */ t(y, { children: H(
|
|
5162
5162
|
s.actions_all_past_and_future,
|
|
5163
5163
|
A.description,
|
|
5164
|
-
|
|
5164
|
+
v?.name
|
|
5165
5165
|
) })
|
|
5166
5166
|
}
|
|
5167
5167
|
)
|
|
5168
5168
|
] });
|
|
5169
5169
|
}, bi = ({ transaction: A }) => {
|
|
5170
|
-
const e = SA(), { onEvent: n } =
|
|
5170
|
+
const e = SA(), { onEvent: n } = V(), { updateTransaction: a } = uA(), { updateManualTransaction: r } = WA(), { common: i, transactions: o } = W(), [s, c] = g.useState(!1), [l, d] = g.useState(A.date), h = (f) => {
|
|
5171
5171
|
d(CA(f));
|
|
5172
5172
|
}, C = async () => {
|
|
5173
5173
|
if (A.is_manual && !A.guid) {
|
|
@@ -5208,7 +5208,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5208
5208
|
secondaryText: i.cancel_button,
|
|
5209
5209
|
title: o.date_edit_title,
|
|
5210
5210
|
children: /* @__PURE__ */ t(T, { alignItems: "center", mt: e.Spacing.XXLarge, children: /* @__PURE__ */ t(
|
|
5211
|
-
|
|
5211
|
+
mc,
|
|
5212
5212
|
{
|
|
5213
5213
|
beginDate: NA(l),
|
|
5214
5214
|
copy: {
|
|
@@ -5224,7 +5224,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5224
5224
|
)
|
|
5225
5225
|
] });
|
|
5226
5226
|
}, Yl = ({ transaction: A }) => {
|
|
5227
|
-
const { onEvent: e } =
|
|
5227
|
+
const { onEvent: e } = V(), { removeTransaction: n } = uA(), { setShouldDisableDrawerScroll: a } = WA(), { common: r, transactions: i } = W(), [o, s] = g.useState(!1), c = async () => {
|
|
5228
5228
|
await n(A.guid), e(M.ON_TRANSACTION_DELETE_DELETED);
|
|
5229
5229
|
};
|
|
5230
5230
|
return /* @__PURE__ */ u(S, { className: "mx-txn-delete", children: [
|
|
@@ -5264,7 +5264,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5264
5264
|
)
|
|
5265
5265
|
] });
|
|
5266
5266
|
}, Vl = ({ transaction: A }) => {
|
|
5267
|
-
const { onEvent: e } =
|
|
5267
|
+
const { onEvent: e } = V(), { updateTransaction: n } = uA(), { setShouldDisableDrawerScroll: a } = WA(), { common: r, transactions: i } = W(), [o, s] = g.useState(!1), c = async () => {
|
|
5268
5268
|
await n({ ...A, merchant_guid: "" }), e(J.TRANSACTION_DETAILS_CLICK_DELETE_LOGO, {
|
|
5269
5269
|
transaction_guid: A.guid
|
|
5270
5270
|
});
|
|
@@ -5304,7 +5304,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5304
5304
|
)
|
|
5305
5305
|
] });
|
|
5306
5306
|
}, Jl = ({ transaction: A }) => {
|
|
5307
|
-
const { onEvent: e } =
|
|
5307
|
+
const { onEvent: e } = V(), { updateTransaction: n } = uA(), { setShouldDisableDrawerScroll: a } = WA(), { common: r, transactions: i } = W(), [o, s] = g.useState(!1), c = A.is_hidden, l = async () => {
|
|
5308
5308
|
await n({ ...A, is_hidden: !A.is_hidden }), e(
|
|
5309
5309
|
c ? M.ON_TRANSACTION_UNHIDDEN : M.ON_TRANSACTION_HIDDEN
|
|
5310
5310
|
);
|
|
@@ -5393,7 +5393,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5393
5393
|
] })
|
|
5394
5394
|
] });
|
|
5395
5395
|
}, Di = ({ transaction: A }) => {
|
|
5396
|
-
const { onEvent: e } =
|
|
5396
|
+
const { onEvent: e } = V(), { updateTransaction: n } = uA(), { updateManualTransaction: a } = WA(), { common: r, transactions: i } = W(), [o, s] = g.useState(!1), [c, l] = g.useState("");
|
|
5397
5397
|
g.useEffect(() => {
|
|
5398
5398
|
o && l(A.memo ? A.memo : "");
|
|
5399
5399
|
}, [o]);
|
|
@@ -5460,8 +5460,8 @@ const Si = ({ transaction: A }) => {
|
|
|
5460
5460
|
onUpdateAmount: a,
|
|
5461
5461
|
split: r
|
|
5462
5462
|
}) => {
|
|
5463
|
-
const i = SA(), { onEvent: o } =
|
|
5464
|
-
isNaN(Number(
|
|
5463
|
+
const i = SA(), { onEvent: o } = V(), { transactions: s } = W(), [c, l] = g.useState(`${r.amount}`), [d, h] = g.useState(!1), C = A === 0, f = (m) => {
|
|
5464
|
+
isNaN(Number(m)) || (l(m), a(A, Number(m)));
|
|
5465
5465
|
};
|
|
5466
5466
|
return /* @__PURE__ */ u(
|
|
5467
5467
|
S,
|
|
@@ -5471,8 +5471,8 @@ const Si = ({ transaction: A }) => {
|
|
|
5471
5471
|
pb: i.Spacing.Tiny,
|
|
5472
5472
|
px: i.Spacing.XSmall,
|
|
5473
5473
|
children: [
|
|
5474
|
-
/* @__PURE__ */ u(
|
|
5475
|
-
/* @__PURE__ */ t(
|
|
5474
|
+
/* @__PURE__ */ u(mn, { alignItems: C ? "center" : "start", container: !0, children: [
|
|
5475
|
+
/* @__PURE__ */ t(mn, { item: !0, xs: 7, children: /* @__PURE__ */ u(T, { alignItems: "start", children: [
|
|
5476
5476
|
/* @__PURE__ */ t(
|
|
5477
5477
|
iA,
|
|
5478
5478
|
{
|
|
@@ -5497,7 +5497,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5497
5497
|
}
|
|
5498
5498
|
) })
|
|
5499
5499
|
] }) }),
|
|
5500
|
-
/* @__PURE__ */ t(
|
|
5500
|
+
/* @__PURE__ */ t(mn, { item: !0, xs: 5, children: C ? /* @__PURE__ */ t("div", { className: "mx-txn-split-manager-row-top-container", children: /* @__PURE__ */ t(y, { children: X(r.amount, "0,0.00") }) }) : /* @__PURE__ */ u(T, { alignItems: "start", children: [
|
|
5501
5501
|
/* @__PURE__ */ u(T, { alignItems: "start", direction: "row", gap: i.Spacing.XSmall, children: [
|
|
5502
5502
|
/* @__PURE__ */ t(
|
|
5503
5503
|
oa,
|
|
@@ -5544,8 +5544,8 @@ const Si = ({ transaction: A }) => {
|
|
|
5544
5544
|
{
|
|
5545
5545
|
initialSelected: r.category_guid,
|
|
5546
5546
|
onClose: () => h(!1),
|
|
5547
|
-
onSelect: (
|
|
5548
|
-
n(A,
|
|
5547
|
+
onSelect: (m) => {
|
|
5548
|
+
n(A, m), h(!1);
|
|
5549
5549
|
},
|
|
5550
5550
|
showDrawer: d,
|
|
5551
5551
|
title: s.actions_select_a_category
|
|
@@ -5562,7 +5562,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5562
5562
|
splits: r,
|
|
5563
5563
|
transaction: i
|
|
5564
5564
|
}) => {
|
|
5565
|
-
const o = SA(), { transactions: s } = W(), { onEvent: c } =
|
|
5565
|
+
const o = SA(), { transactions: s } = W(), { onEvent: c } = V(), [l, d] = g.useState("");
|
|
5566
5566
|
return g.useEffect(() => {
|
|
5567
5567
|
d(r.length <= 1 ? s.split_transaction_errors_min_splits : ""), d(
|
|
5568
5568
|
r[0].amount < 0 ? H(
|
|
@@ -5607,7 +5607,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5607
5607
|
) })
|
|
5608
5608
|
] });
|
|
5609
5609
|
}, Ad = ({ transaction: A }) => {
|
|
5610
|
-
const { onEvent: e } =
|
|
5610
|
+
const { onEvent: e } = V(), { splitTransaction: n, unSplitTransaction: a } = uA(), { common: r, transactions: i } = W(), { setShouldDisableDrawerScroll: o } = WA(), { categories: s } = xA(), c = {
|
|
5611
5611
|
...A,
|
|
5612
5612
|
amount: A.amount - 1,
|
|
5613
5613
|
guid: "",
|
|
@@ -5622,40 +5622,40 @@ const Si = ({ transaction: A }) => {
|
|
|
5622
5622
|
has_been_split: !1,
|
|
5623
5623
|
parent_guid: A.guid,
|
|
5624
5624
|
top_level_category_guid: void 0
|
|
5625
|
-
}, [d, h] = g.useState(!1), [C, f] = g.useState(!1), [
|
|
5626
|
-
const B = [...
|
|
5627
|
-
B.push({ ...l }), B[0].amount -= 1,
|
|
5625
|
+
}, [d, h] = g.useState(!1), [C, f] = g.useState(!1), [m, v] = g.useState([]), E = () => {
|
|
5626
|
+
const B = [...m];
|
|
5627
|
+
B.push({ ...l }), B[0].amount -= 1, v(B);
|
|
5628
5628
|
}, L = (B) => {
|
|
5629
5629
|
if (B > 0) {
|
|
5630
|
-
const R =
|
|
5631
|
-
z.splice(B, 1), z[0].amount += R.amount,
|
|
5630
|
+
const R = m[B], z = [...m];
|
|
5631
|
+
z.splice(B, 1), z[0].amount += R.amount, v(z);
|
|
5632
5632
|
}
|
|
5633
5633
|
}, b = (B, R) => {
|
|
5634
|
-
const z = [...
|
|
5634
|
+
const z = [...m];
|
|
5635
5635
|
z[B].amount = R, z[0].amount = A.amount - z.reduce(
|
|
5636
5636
|
(K, lA, rA) => K + (rA !== 0 ? lA.amount : 0),
|
|
5637
5637
|
0
|
|
5638
|
-
),
|
|
5638
|
+
), v(z);
|
|
5639
5639
|
}, w = (B, R) => {
|
|
5640
|
-
const z = [...
|
|
5640
|
+
const z = [...m], K = s.find((lA) => lA.guid === R);
|
|
5641
5641
|
K && (z[B] = {
|
|
5642
5642
|
...z[B],
|
|
5643
5643
|
category_guid: R,
|
|
5644
5644
|
category: K.name,
|
|
5645
5645
|
top_level_category_guid: K.parent_guid || R
|
|
5646
|
-
},
|
|
5646
|
+
}, v(z));
|
|
5647
5647
|
}, I = () => {
|
|
5648
5648
|
if (A.parent_guid || A.has_been_split) {
|
|
5649
5649
|
f(!0);
|
|
5650
5650
|
return;
|
|
5651
5651
|
}
|
|
5652
|
-
|
|
5652
|
+
v([{ ...c }, { ...l }]), e(J.TRANSACTION_DETAILS_CLICK_SPLIT, {
|
|
5653
5653
|
transaction_guid: A.guid
|
|
5654
5654
|
}), h(!0);
|
|
5655
5655
|
}, D = async () => {
|
|
5656
|
-
e(M.ON_TRANSACTION_SPLIT_SAVE_CLICK), await n({ ...A, has_been_split: !0 },
|
|
5656
|
+
e(M.ON_TRANSACTION_SPLIT_SAVE_CLICK), await n({ ...A, has_been_split: !0 }, m), h(!1);
|
|
5657
5657
|
}, O = async () => {
|
|
5658
|
-
e(M.ON_TRANSACTION_SPLIT_CANCEL_CLICK),
|
|
5658
|
+
e(M.ON_TRANSACTION_SPLIT_CANCEL_CLICK), v([{ ...c }, { ...l }]), h(!1);
|
|
5659
5659
|
}, k = async () => {
|
|
5660
5660
|
e(J.TRANSACTION_DETAILS_CLICK_UNSPLIT, {
|
|
5661
5661
|
transaction_guid: A.guid
|
|
@@ -5663,9 +5663,9 @@ const Si = ({ transaction: A }) => {
|
|
|
5663
5663
|
const B = A.parent_guid ?? A.guid;
|
|
5664
5664
|
await a(B);
|
|
5665
5665
|
}, $ = g.useMemo(() => {
|
|
5666
|
-
const B =
|
|
5666
|
+
const B = m.some((z) => !z.category_guid), R = m.some((z) => z.amount <= 0);
|
|
5667
5667
|
return B || R;
|
|
5668
|
-
}, [
|
|
5668
|
+
}, [m]);
|
|
5669
5669
|
return /* @__PURE__ */ u(g.Fragment, { children: [
|
|
5670
5670
|
A && /* @__PURE__ */ t(U, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ u(dA, { onClick: I, children: [
|
|
5671
5671
|
/* @__PURE__ */ t(PA, { children: /* @__PURE__ */ t(Te, { sx: { bgcolor: "border.light" }, variant: "rounded", children: /* @__PURE__ */ t(P, { name: "call_split", sx: { color: "text.primary" }, weight: BA.Dark }) }) }),
|
|
@@ -5698,7 +5698,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5698
5698
|
onCategoryChanged: w,
|
|
5699
5699
|
onDeleteSplit: L,
|
|
5700
5700
|
onUpdateAmount: b,
|
|
5701
|
-
splits:
|
|
5701
|
+
splits: m,
|
|
5702
5702
|
transaction: A
|
|
5703
5703
|
}
|
|
5704
5704
|
)
|
|
@@ -5727,7 +5727,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5727
5727
|
)
|
|
5728
5728
|
] });
|
|
5729
5729
|
}, ed = () => {
|
|
5730
|
-
const A = fA(), { onEvent: e } =
|
|
5730
|
+
const A = fA(), { onEvent: e } = V(), { addTag: n } = uA(), { transactions: a } = W(), [r, i] = g.useState(!1), [o, s] = g.useState(""), [c, l] = g.useState(""), d = g.useRef(null);
|
|
5731
5731
|
g.useEffect(() => {
|
|
5732
5732
|
r && d?.current?.focus();
|
|
5733
5733
|
}, [r]);
|
|
@@ -5784,7 +5784,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5784
5784
|
value: o
|
|
5785
5785
|
}
|
|
5786
5786
|
),
|
|
5787
|
-
/* @__PURE__ */ t(
|
|
5787
|
+
/* @__PURE__ */ t(vA, { id: "add-tag-error", sx: { color: "error.main" }, variant: "ParagraphSmall", children: c })
|
|
5788
5788
|
]
|
|
5789
5789
|
}
|
|
5790
5790
|
)
|
|
@@ -5814,13 +5814,13 @@ const Si = ({ transaction: A }) => {
|
|
|
5814
5814
|
}
|
|
5815
5815
|
) });
|
|
5816
5816
|
}, nd = ({ onTagChecked: A, selectedTags: e, tag: n }) => {
|
|
5817
|
-
const { onEvent: a } =
|
|
5817
|
+
const { onEvent: a } = V(), { removeTag: r, updateTag: i } = uA(), { common: o, transactions: s } = W(), [c, l] = g.useState(!1), [d, h] = g.useState(!1), [C, f] = g.useState(""), [m, v] = g.useState(""), E = async () => {
|
|
5818
5818
|
a(M.ON_TRANSACTION_TAGS_TAG_EDIT_SAVED), n && await i({ ...n, name: C }), l(!1);
|
|
5819
5819
|
}, L = async () => {
|
|
5820
5820
|
a(M.ON_TRANSACTION_TAGS_TAG_DELETED), await r(n.guid), h(!1);
|
|
5821
5821
|
};
|
|
5822
5822
|
g.useEffect(() => {
|
|
5823
|
-
|
|
5823
|
+
v(C.length > 40 ? s.tags_error_name_must_be_40_chars : "");
|
|
5824
5824
|
}, [C]);
|
|
5825
5825
|
const b = () => {
|
|
5826
5826
|
a(M.ON_TRANSACTION_TAGS_TAG_EDIT_CLICK), f(n.name), l(!0);
|
|
@@ -5878,7 +5878,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5878
5878
|
/* @__PURE__ */ t(
|
|
5879
5879
|
Ne,
|
|
5880
5880
|
{
|
|
5881
|
-
"aria-describedby":
|
|
5881
|
+
"aria-describedby": m ? "update-tag-error" : void 0,
|
|
5882
5882
|
"aria-label": s.tags_update_the_tag_name,
|
|
5883
5883
|
name: "update-tag",
|
|
5884
5884
|
onChange: (I) => f(I.target.value),
|
|
@@ -5887,7 +5887,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5887
5887
|
value: C
|
|
5888
5888
|
}
|
|
5889
5889
|
),
|
|
5890
|
-
/* @__PURE__ */ t(
|
|
5890
|
+
/* @__PURE__ */ t(vA, { id: "update-tag-error", sx: { color: "error.main" }, variant: "ParagraphSmall", children: m })
|
|
5891
5891
|
]
|
|
5892
5892
|
}
|
|
5893
5893
|
),
|
|
@@ -5926,22 +5926,22 @@ const Si = ({ transaction: A }) => {
|
|
|
5926
5926
|
] }, o.guid)) }) })
|
|
5927
5927
|
] });
|
|
5928
5928
|
}, rd = x(ad), id = ({ transaction: A }) => {
|
|
5929
|
-
const { onEvent: e } =
|
|
5929
|
+
const { onEvent: e } = V(), { tags: n, updateTaggings: a, updateTransaction: r } = uA(), { common: i, transactions: o } = W(), { updateManualTransaction: s } = WA(), [c, l] = g.useState(!1), [d, h] = g.useState(A.tags);
|
|
5930
5930
|
g.useEffect(() => {
|
|
5931
5931
|
h(A.tags);
|
|
5932
5932
|
}, [c, A]);
|
|
5933
|
-
const C = (
|
|
5934
|
-
const E = [...d], L = d.indexOf(
|
|
5935
|
-
L >= 0 ? E.splice(L, 1) : E.push(
|
|
5933
|
+
const C = (v) => {
|
|
5934
|
+
const E = [...d], L = d.indexOf(v);
|
|
5935
|
+
L >= 0 ? E.splice(L, 1) : E.push(v), h(E);
|
|
5936
5936
|
}, f = async () => {
|
|
5937
5937
|
if (A.is_manual && !A.guid) {
|
|
5938
5938
|
s({ ...A, tags: d }), l(!1);
|
|
5939
5939
|
return;
|
|
5940
5940
|
}
|
|
5941
5941
|
await a(d, A.guid), await r({ ...A }), e(J.TRANSACTION_DETAILS_CLICK_TAGS, { transaction_guid: A.guid }), l(!1);
|
|
5942
|
-
},
|
|
5942
|
+
}, m = g.useMemo(
|
|
5943
5943
|
() => A.tags.map(
|
|
5944
|
-
(
|
|
5944
|
+
(v, E, L) => `${n.find((b) => b.guid === v)?.name}${E < L.length - 1 ? " / " : ""}`
|
|
5945
5945
|
),
|
|
5946
5946
|
[n, A]
|
|
5947
5947
|
);
|
|
@@ -5959,7 +5959,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5959
5959
|
{
|
|
5960
5960
|
primary: o.tags_title,
|
|
5961
5961
|
primaryTypographyProps: { variant: "XSmall" },
|
|
5962
|
-
secondary: /* @__PURE__ */ t(y, { bold: !0, variant: "Body", children: A.tags?.length > 0 ?
|
|
5962
|
+
secondary: /* @__PURE__ */ t(y, { bold: !0, variant: "Body", children: A.tags?.length > 0 ? m : o.tags_desc })
|
|
5963
5963
|
}
|
|
5964
5964
|
),
|
|
5965
5965
|
/* @__PURE__ */ t(oe, { children: /* @__PURE__ */ t(P, { name: "chevron_right", weight: BA.Dark }) })
|
|
@@ -5981,7 +5981,7 @@ const Si = ({ transaction: A }) => {
|
|
|
5981
5981
|
)
|
|
5982
5982
|
] });
|
|
5983
5983
|
}, Oi = x(id), od = ({ transaction: A }) => {
|
|
5984
|
-
const { updateTransaction: e } = uA(), { common: n, transactions: a } = W(), { onEvent: r } =
|
|
5984
|
+
const { updateTransaction: e } = uA(), { common: n, transactions: a } = W(), { onEvent: r } = V(), [i, o] = g.useState(!1), [s, c] = g.useState(""), l = g.useRef(null);
|
|
5985
5985
|
g.useEffect(() => {
|
|
5986
5986
|
i && (c(A.description), l?.current?.focus());
|
|
5987
5987
|
}, [i]);
|
|
@@ -6032,7 +6032,7 @@ const Si = ({ transaction: A }) => {
|
|
|
6032
6032
|
)
|
|
6033
6033
|
] }) });
|
|
6034
6034
|
}, sd = ({ transaction: A }) => {
|
|
6035
|
-
const { updateTransaction: e } = uA(), { transactions: n } = W(), { onEvent: a } =
|
|
6035
|
+
const { updateTransaction: e } = uA(), { transactions: n } = W(), { onEvent: a } = V(), r = fA(), i = async () => {
|
|
6036
6036
|
a(J.TRANSACTION_DETAILS_CLICK_FLAG, { transaction_guid: A.guid }), await e({ ...A, is_flagged: !A.is_flagged });
|
|
6037
6037
|
};
|
|
6038
6038
|
return /* @__PURE__ */ t("div", { className: "mx-txn-transaction-flag", children: /* @__PURE__ */ t(
|
|
@@ -6068,7 +6068,7 @@ const Si = ({ transaction: A }) => {
|
|
|
6068
6068
|
topActions: e = Vc,
|
|
6069
6069
|
transaction: n
|
|
6070
6070
|
}) => {
|
|
6071
|
-
const a = SA(), r = n?.number && n.number.length > 4, { onEvent: i } =
|
|
6071
|
+
const a = SA(), r = n?.number && n.number.length > 4, { onEvent: i } = V();
|
|
6072
6072
|
return g.useEffect(
|
|
6073
6073
|
() => i(J.TRANSACTION_DETAILS_VIEW, { transaction_guid: n.guid }),
|
|
6074
6074
|
[]
|
|
@@ -6191,9 +6191,9 @@ const Si = ({ transaction: A }) => {
|
|
|
6191
6191
|
}
|
|
6192
6192
|
);
|
|
6193
6193
|
var Pe = /* @__PURE__ */ ((A) => (A.Loading = "loading", A.Error = "error", A))(Pe || {}), QA = /* @__PURE__ */ ((A) => (A.Currency = "currency", A.Date = "date", A.Input = "input", A.Select = "select", A))(QA || {});
|
|
6194
|
-
const ir = "connect_widget", or = "connections_widget",
|
|
6194
|
+
const ir = "connect_widget", or = "connections_widget", md = {
|
|
6195
6195
|
close_drawer_aria: "Close drawer"
|
|
6196
|
-
},
|
|
6196
|
+
}, vd = ({
|
|
6197
6197
|
loadWidgetProps: A,
|
|
6198
6198
|
onClose: e,
|
|
6199
6199
|
showConnectWidget: n,
|
|
@@ -6225,7 +6225,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6225
6225
|
}), [n]), /* @__PURE__ */ t(
|
|
6226
6226
|
hA,
|
|
6227
6227
|
{
|
|
6228
|
-
ariaLabelClose:
|
|
6228
|
+
ariaLabelClose: md.close_drawer_aria,
|
|
6229
6229
|
isOpen: n,
|
|
6230
6230
|
onClose: () => {
|
|
6231
6231
|
e(), i();
|
|
@@ -6237,8 +6237,8 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6237
6237
|
] })
|
|
6238
6238
|
}
|
|
6239
6239
|
);
|
|
6240
|
-
}, Ca = x(
|
|
6241
|
-
const { selectedAccounts: A } =
|
|
6240
|
+
}, Ca = x(vd), pd = () => {
|
|
6241
|
+
const { selectedAccounts: A } = mA(), { common: e, transactions: n } = W(), { manualTransaction: a, setIsAmountValid: r, updateManualTransaction: i } = WA(), [o, s] = g.useState(""), [c, l] = g.useState(""), d = g.useMemo(
|
|
6242
6242
|
() => A.filter((E) => E.is_manual),
|
|
6243
6243
|
[A]
|
|
6244
6244
|
).map((E) => ({
|
|
@@ -6253,9 +6253,9 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6253
6253
|
s(E), i({ ...a, amount: Number(E) });
|
|
6254
6254
|
}, f = (E, L) => {
|
|
6255
6255
|
i({ ...a, transaction_type: Number(L) });
|
|
6256
|
-
}, v = (E) => {
|
|
6257
|
-
l(E), i({ ...a, payee: E, description: E });
|
|
6258
6256
|
}, m = (E) => {
|
|
6257
|
+
l(E), i({ ...a, payee: E, description: E });
|
|
6258
|
+
}, v = (E) => {
|
|
6259
6259
|
i({ ...a, account_guid: E });
|
|
6260
6260
|
};
|
|
6261
6261
|
return /* @__PURE__ */ u(S, { className: "mx-txn-manual-transaction-details", children: [
|
|
@@ -6308,7 +6308,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6308
6308
|
{
|
|
6309
6309
|
label: n.payee_title,
|
|
6310
6310
|
name: "payee",
|
|
6311
|
-
onChange: (E) =>
|
|
6311
|
+
onChange: (E) => m(E.target.value),
|
|
6312
6312
|
sx: { bgcolor: "background.paper" },
|
|
6313
6313
|
value: c
|
|
6314
6314
|
}
|
|
@@ -6319,7 +6319,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6319
6319
|
InputLabelProps: { shrink: !0 },
|
|
6320
6320
|
SelectProps: { defaultValue: -1, IconComponent: Zr },
|
|
6321
6321
|
label: n.manual_transaction_select_an_account,
|
|
6322
|
-
onChange: (E) =>
|
|
6322
|
+
onChange: (E) => v(E.target.value),
|
|
6323
6323
|
placeholder: n.manual_transaction_select,
|
|
6324
6324
|
select: !0,
|
|
6325
6325
|
sx: { bgcolor: "background.paper" },
|
|
@@ -6389,25 +6389,25 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6389
6389
|
setSearchValue: d,
|
|
6390
6390
|
setShowInsights: h,
|
|
6391
6391
|
updateManualTransaction: C
|
|
6392
|
-
} = WA(), { addTransaction: f, filter:
|
|
6392
|
+
} = WA(), { addTransaction: f, filter: m, setFilter: v, tags: E, transactions: L, updateTransaction: b } = uA(), { common: w, transactions: I } = W(), { userProfile: D } = rn(), { onEvent: O } = V(), {
|
|
6393
6393
|
displayedDateRange: k,
|
|
6394
6394
|
isInitialized: $,
|
|
6395
6395
|
selectedAccountGuids: B,
|
|
6396
6396
|
selectedAccounts: R,
|
|
6397
6397
|
setDisplayedDate: z,
|
|
6398
6398
|
setSelectedAccounts: K
|
|
6399
|
-
} =
|
|
6399
|
+
} = mA(), [lA, rA] = g.useState(""), [MA, sA] = g.useState(""), [G, pA] = g.useState(!1), [yA, ce] = g.useState(!1), [Le, Cn] = g.useState(!1);
|
|
6400
6400
|
g.useEffect(() => {
|
|
6401
6401
|
K(r);
|
|
6402
6402
|
}, [r]), g.useEffect(() => {
|
|
6403
6403
|
const IA = LA(Z()), ba = OA(Z());
|
|
6404
|
-
z(IA, ba),
|
|
6404
|
+
z(IA, ba), v({
|
|
6405
6405
|
dateRange: { start: IA, end: ba },
|
|
6406
6406
|
accounts: R.map((go) => go.guid)
|
|
6407
6407
|
}), Cn(!0), O(J.TRANSACTIONS_VIEW);
|
|
6408
6408
|
}, []), g.useEffect(() => {
|
|
6409
|
-
Le &&
|
|
6410
|
-
...
|
|
6409
|
+
Le && v({
|
|
6410
|
+
...m,
|
|
6411
6411
|
dateRange: { start: k.start, end: k.end },
|
|
6412
6412
|
accounts: B
|
|
6413
6413
|
});
|
|
@@ -6420,8 +6420,8 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6420
6420
|
), Be = MA ? L.find((IA) => IA.guid === MA) : void 0, Sa = c && !!s.payee && !!s.account_guid && !!s.category_guid, io = (IA) => {
|
|
6421
6421
|
z(IA[0], IA[1]);
|
|
6422
6422
|
}, oo = (IA) => {
|
|
6423
|
-
d(IA),
|
|
6424
|
-
...
|
|
6423
|
+
d(IA), v({
|
|
6424
|
+
...m,
|
|
6425
6425
|
searchTerm: IA
|
|
6426
6426
|
}), O(J.TRANSACTIONS_CLICK_SEARCH, { search_term: IA });
|
|
6427
6427
|
}, so = () => {
|
|
@@ -6620,7 +6620,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6620
6620
|
frequency_every_year: "Yearly",
|
|
6621
6621
|
frequency_title: "Select payment frequency"
|
|
6622
6622
|
}, Td = ({ activity: A }) => {
|
|
6623
|
-
const { cashflowSequences: e, scheduledPayments: n, updateCashflowSequence: a, updateScheduledPayment: r } = kA(), { onEvent: i } =
|
|
6623
|
+
const { cashflowSequences: e, scheduledPayments: n, updateCashflowSequence: a, updateScheduledPayment: r } = kA(), { onEvent: i } = V(), [o, s] = g.useState(!1), c = A.activityType === EA.Income, l = [
|
|
6624
6624
|
{ id: _.EveryWeek, label: le.frequency_every_week },
|
|
6625
6625
|
{ id: _.EveryOtherWeek, label: le.frequency_every_other_week },
|
|
6626
6626
|
{ id: _.EveryMonth, label: le.frequency_every_month },
|
|
@@ -6629,13 +6629,13 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6629
6629
|
{ id: _.EveryOtherQuarter, label: le.frequency_every_other_quarter },
|
|
6630
6630
|
{ id: _.EveryYear, label: le.frequency_every_year }
|
|
6631
6631
|
], d = async (f) => {
|
|
6632
|
-
const
|
|
6632
|
+
const m = { ...A, recurrenceType: f };
|
|
6633
6633
|
if (A.activityType === EA.Expense) {
|
|
6634
|
-
const
|
|
6635
|
-
|
|
6634
|
+
const v = n.find((E) => E.guid === A.scheduledPaymentGuid);
|
|
6635
|
+
v && await r(Pi(m, v));
|
|
6636
6636
|
} else {
|
|
6637
|
-
const
|
|
6638
|
-
|
|
6637
|
+
const v = e.find((E) => E.guid === A.sequenceGuid);
|
|
6638
|
+
v && await a(xi(m, v));
|
|
6639
6639
|
}
|
|
6640
6640
|
s(!1);
|
|
6641
6641
|
}, h = () => {
|
|
@@ -6689,7 +6689,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6689
6689
|
activity_payment_date: "Next payment date",
|
|
6690
6690
|
close_drawer_aria: "Close"
|
|
6691
6691
|
}, Sd = ({ activity: A }) => {
|
|
6692
|
-
const { cashflowSequences: e, scheduledPayments: n, updateCashflowSequence: a, updateScheduledPayment: r } = kA(), { onEvent: i } =
|
|
6692
|
+
const { cashflowSequences: e, scheduledPayments: n, updateCashflowSequence: a, updateScheduledPayment: r } = kA(), { onEvent: i } = V(), [o, s] = g.useState(!1), [c, l] = g.useState(A.expectedDate), d = A.activityType === EA.Income, h = () => {
|
|
6693
6693
|
l(A.expectedDate), s(!0), i(
|
|
6694
6694
|
d ? "recurring_transactions_widget_income_details_click_next_payment_due" : "recurring_transactions_widget_expense_details_click_next_payment_due",
|
|
6695
6695
|
{
|
|
@@ -6699,11 +6699,11 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6699
6699
|
}, C = async () => {
|
|
6700
6700
|
const f = { ...A, expectedDate: c };
|
|
6701
6701
|
if (A.activityType === EA.Expense) {
|
|
6702
|
-
const
|
|
6703
|
-
|
|
6702
|
+
const m = n.find((v) => v.guid === A.scheduledPaymentGuid);
|
|
6703
|
+
m && await r(Pi(f, m));
|
|
6704
6704
|
} else {
|
|
6705
|
-
const
|
|
6706
|
-
|
|
6705
|
+
const m = e.find((v) => v.guid === A.sequenceGuid);
|
|
6706
|
+
m && await a(xi(f, m));
|
|
6707
6707
|
}
|
|
6708
6708
|
s(!1);
|
|
6709
6709
|
};
|
|
@@ -6747,7 +6747,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6747
6747
|
close_drawer_aria: "Close",
|
|
6748
6748
|
transaction_details_drawer_title: "Transaction Details"
|
|
6749
6749
|
}, Id = ({ activity: A, onDeleted: e }) => {
|
|
6750
|
-
const { categories: n } = xA(), { deleteCashflowSequence: a, deleteScheduledPayment: r, paidActivities: i } = kA(), { filter: o, setFilter: s, transactions: c } = uA(), { selectedAccountGuids: l } =
|
|
6750
|
+
const { categories: n } = xA(), { deleteCashflowSequence: a, deleteScheduledPayment: r, paidActivities: i } = kA(), { filter: o, setFilter: s, transactions: c } = uA(), { selectedAccountGuids: l } = mA(), { onEvent: d } = V(), [h, C] = g.useState(!1), [f, m] = g.useState(""), v = n.find((I) => I.guid === A.categoryGuid), E = A.activityType === EA.Income, L = g.useMemo(
|
|
6751
6751
|
() => c.find((I) => I.guid === f),
|
|
6752
6752
|
[f]
|
|
6753
6753
|
);
|
|
@@ -6806,13 +6806,13 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6806
6806
|
),
|
|
6807
6807
|
/* @__PURE__ */ t(q, { color: "secondary", variant: "inset" })
|
|
6808
6808
|
] }),
|
|
6809
|
-
|
|
6809
|
+
v && /* @__PURE__ */ u(aA, { children: [
|
|
6810
6810
|
/* @__PURE__ */ t(
|
|
6811
6811
|
Ut,
|
|
6812
6812
|
{
|
|
6813
6813
|
iconName: "monetization_on",
|
|
6814
6814
|
label: JA.activity_category,
|
|
6815
|
-
value:
|
|
6815
|
+
value: v.name
|
|
6816
6816
|
}
|
|
6817
6817
|
),
|
|
6818
6818
|
/* @__PURE__ */ t(q, { color: "secondary", variant: "inset" })
|
|
@@ -6834,13 +6834,13 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6834
6834
|
}
|
|
6835
6835
|
),
|
|
6836
6836
|
/* @__PURE__ */ t(y, { bold: !0, sx: { ml: 24, mt: 16, mb: 4 }, variant: "Body", children: JA.activity_paid_transactions }),
|
|
6837
|
-
/* @__PURE__ */ t(It, { height: "30dvh", onClick:
|
|
6837
|
+
/* @__PURE__ */ t(It, { height: "30dvh", onClick: m }),
|
|
6838
6838
|
/* @__PURE__ */ t(
|
|
6839
6839
|
hA,
|
|
6840
6840
|
{
|
|
6841
6841
|
ariaLabelClose: JA.close_drawer_aria,
|
|
6842
6842
|
isOpen: !!f,
|
|
6843
|
-
onClose: () =>
|
|
6843
|
+
onClose: () => m(""),
|
|
6844
6844
|
title: JA.transaction_details_drawer_title,
|
|
6845
6845
|
children: L && /* @__PURE__ */ t(ln, { transaction: L })
|
|
6846
6846
|
}
|
|
@@ -6863,7 +6863,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6863
6863
|
gridRow: 1,
|
|
6864
6864
|
gridColumn: 1,
|
|
6865
6865
|
zIndex: 2
|
|
6866
|
-
}, un = (A) => A ? { margin: "0 0 -6px -4px" } : void 0, fa = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(xe, { size: e, sx: { ...un(A) }, children: /* @__PURE__ */ t(Cs, { color: "primary", sx: { fontSize: e, ...dn } }) }),
|
|
6866
|
+
}, un = (A) => A ? { margin: "0 0 -6px -4px" } : void 0, fa = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(xe, { size: e, sx: { ...un(A) }, children: /* @__PURE__ */ t(Cs, { color: "primary", sx: { fontSize: e, ...dn } }) }), ma = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(xe, { size: e, sx: { ...un(A) }, children: /* @__PURE__ */ t(fs, { sx: { color: "categories.income", fontSize: e, ...dn } }) }), va = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(xe, { size: e, sx: { ...un(A) }, children: /* @__PURE__ */ t(kt, { color: "error", sx: { fontSize: e, ...dn } }) }), pa = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(xe, { size: e, sx: { ...un(A) }, children: /* @__PURE__ */ t(Ai, { color: "success", sx: { fontSize: e, ...dn } }) }), cr = (A, e = null) => {
|
|
6867
6867
|
const n = {
|
|
6868
6868
|
monthly: "monthly",
|
|
6869
6869
|
monthly_ordinal: "monthly on the _1{day}",
|
|
@@ -6880,7 +6880,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6880
6880
|
every_other_quarter: "twice a year",
|
|
6881
6881
|
every_other_quarter_ordinal: "twice a year on the _1{day}"
|
|
6882
6882
|
};
|
|
6883
|
-
let a = e &&
|
|
6883
|
+
let a = e && ms(e) ? H(n.monthly_ordinal, $A(e, "do")) : n.monthly;
|
|
6884
6884
|
switch (A) {
|
|
6885
6885
|
case _.EveryQuarter:
|
|
6886
6886
|
a = e ? H(n.quarterly_ordinal, $A(e, "do")) : n.quarterly;
|
|
@@ -6904,10 +6904,10 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
6904
6904
|
return a;
|
|
6905
6905
|
}, Od = (A) => {
|
|
6906
6906
|
if (A.activityType === EA.Income)
|
|
6907
|
-
return /* @__PURE__ */ t(
|
|
6907
|
+
return /* @__PURE__ */ t(ma, {});
|
|
6908
6908
|
switch (A.activityStatus) {
|
|
6909
6909
|
case wA.Missed:
|
|
6910
|
-
return /* @__PURE__ */ t(
|
|
6910
|
+
return /* @__PURE__ */ t(va, {});
|
|
6911
6911
|
case wA.Paid:
|
|
6912
6912
|
return /* @__PURE__ */ t(pa, {});
|
|
6913
6913
|
default:
|
|
@@ -7098,7 +7098,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7098
7098
|
}) => {
|
|
7099
7099
|
const { searchValue: r, setSearchValue: i } = WA();
|
|
7100
7100
|
return /* @__PURE__ */ u(T, { sx: { bgcolor: A, gap: 16, pt: 8 }, children: [
|
|
7101
|
-
e && /* @__PURE__ */ t(
|
|
7101
|
+
e && /* @__PURE__ */ t(vA, { sx: { mx: 24 }, children: e }),
|
|
7102
7102
|
/* @__PURE__ */ t(
|
|
7103
7103
|
on,
|
|
7104
7104
|
{
|
|
@@ -7171,7 +7171,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7171
7171
|
i(fl(d));
|
|
7172
7172
|
break;
|
|
7173
7173
|
case _.EveryYear:
|
|
7174
|
-
i(
|
|
7174
|
+
i(ml(d));
|
|
7175
7175
|
break;
|
|
7176
7176
|
}
|
|
7177
7177
|
r(Number(l.target.value));
|
|
@@ -7200,7 +7200,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7200
7200
|
}
|
|
7201
7201
|
),
|
|
7202
7202
|
/* @__PURE__ */ t(Jn, { dateAdapter: tn, children: /* @__PURE__ */ t(
|
|
7203
|
-
|
|
7203
|
+
vs,
|
|
7204
7204
|
{
|
|
7205
7205
|
disablePast: !0,
|
|
7206
7206
|
label: n ? ZA.income_date_label : ZA.expense_date_label,
|
|
@@ -7223,24 +7223,24 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7223
7223
|
label: e,
|
|
7224
7224
|
onAddActivity: n = () => null
|
|
7225
7225
|
}) => {
|
|
7226
|
-
const { addCashflowEvent: a, addCashflowSequence: r, addScheduledPayment: i } = kA(), { filter: o, setFilter: s, transactions: c } = uA(), [l, d] = g.useState(!1), [h, C] = g.useState(""), [f,
|
|
7226
|
+
const { addCashflowEvent: a, addCashflowSequence: r, addScheduledPayment: i } = kA(), { filter: o, setFilter: s, transactions: c } = uA(), [l, d] = g.useState(!1), [h, C] = g.useState(""), [f, m] = g.useState(_.EveryMonth), [v, E] = g.useState(null), L = g.useMemo(
|
|
7227
7227
|
() => c.find((D) => D.guid === h),
|
|
7228
7228
|
[h]
|
|
7229
7229
|
), b = () => {
|
|
7230
7230
|
d(!0), s(A ? { ...o, custom: wt } : { ...o, custom: qn });
|
|
7231
7231
|
}, w = async () => {
|
|
7232
|
-
if (n(), !L || !
|
|
7232
|
+
if (n(), !L || !v) {
|
|
7233
7233
|
I();
|
|
7234
7234
|
return;
|
|
7235
7235
|
}
|
|
7236
7236
|
if (A) {
|
|
7237
|
-
const D = Ni(L, f,
|
|
7237
|
+
const D = Ni(L, f, v), O = await r(D);
|
|
7238
7238
|
if (O) {
|
|
7239
7239
|
const k = Mi(O, L);
|
|
7240
7240
|
await a(k);
|
|
7241
7241
|
}
|
|
7242
7242
|
} else {
|
|
7243
|
-
const D = Pd(L, f,
|
|
7243
|
+
const D = Pd(L, f, v);
|
|
7244
7244
|
await i(D, L);
|
|
7245
7245
|
}
|
|
7246
7246
|
I();
|
|
@@ -7291,8 +7291,8 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7291
7291
|
{
|
|
7292
7292
|
frequency: f,
|
|
7293
7293
|
isIncome: A,
|
|
7294
|
-
nextDate:
|
|
7295
|
-
onFrequencyChange:
|
|
7294
|
+
nextDate: v,
|
|
7295
|
+
onFrequencyChange: m,
|
|
7296
7296
|
onNextDateChange: E,
|
|
7297
7297
|
transaction: L
|
|
7298
7298
|
}
|
|
@@ -7319,7 +7319,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7319
7319
|
scheduledPaymentGuid: a.guid
|
|
7320
7320
|
};
|
|
7321
7321
|
}), zd = () => {
|
|
7322
|
-
const { scheduledPayments: A } = kA(), { transactions: e } = uA(), { selectedAccounts: n } =
|
|
7322
|
+
const { scheduledPayments: A } = kA(), { transactions: e } = uA(), { selectedAccounts: n } = mA(), { onEvent: a } = V(), r = Hd(n, A, e), i = (s) => {
|
|
7323
7323
|
a(J.RECURRING_ACTIVITY_CLICK_EXPENSE, {
|
|
7324
7324
|
transaction_guid: s.transactionGuid
|
|
7325
7325
|
});
|
|
@@ -7341,15 +7341,15 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7341
7341
|
const h = r.find((f) => f.guid === d.cashflow_sequence_guid), C = i.find((f) => f.guid === d.transaction_guid);
|
|
7342
7342
|
return h?.end_date === null && C;
|
|
7343
7343
|
}).map((d) => {
|
|
7344
|
-
const h = r.find((
|
|
7344
|
+
const h = r.find((m) => m.guid === d.cashflow_sequence_guid), C = i.find((m) => m.guid === d.transaction_guid), f = A.find((m) => m.guid === C?.account_guid);
|
|
7345
7345
|
return {
|
|
7346
7346
|
accountGuid: h?.account_guid || f?.guid,
|
|
7347
7347
|
activityStatus: wA.Paid,
|
|
7348
7348
|
activityType: EA.Income,
|
|
7349
7349
|
amount: d.amount,
|
|
7350
7350
|
categoryGuid: d.category_guid,
|
|
7351
|
-
expectedDate:
|
|
7352
|
-
occurredOnDate: d.occurred_on ?
|
|
7351
|
+
expectedDate: mt(d.expected_date),
|
|
7352
|
+
occurredOnDate: d.occurred_on ? mt(d.occurred_on) : void 0,
|
|
7353
7353
|
name: d.name,
|
|
7354
7354
|
institution: f ? Bn(f) : void 0,
|
|
7355
7355
|
institutionGuid: f?.institution_guid,
|
|
@@ -7370,19 +7370,19 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7370
7370
|
);
|
|
7371
7371
|
return h?.end_date === null && !C;
|
|
7372
7372
|
}).map((d) => {
|
|
7373
|
-
const h = r.find((
|
|
7374
|
-
(
|
|
7375
|
-
), f = i.find((
|
|
7373
|
+
const h = r.find((v) => v.guid === d.cashflow_sequence_guid), C = e.find(
|
|
7374
|
+
(v) => v.cashflow_sequence_guid === d.cashflow_sequence_guid && !!v.transaction_guid
|
|
7375
|
+
), f = i.find((v) => v.guid === C?.transaction_guid), m = A.find((v) => v.guid === f?.account_guid);
|
|
7376
7376
|
return {
|
|
7377
|
-
accountGuid: h?.account_guid ||
|
|
7377
|
+
accountGuid: h?.account_guid || m?.guid,
|
|
7378
7378
|
activityStatus: wA.Upcoming,
|
|
7379
7379
|
activityType: EA.Income,
|
|
7380
7380
|
amount: d.amount,
|
|
7381
7381
|
categoryGuid: d.category_guid,
|
|
7382
|
-
expectedDate:
|
|
7382
|
+
expectedDate: mt(d.expected_date),
|
|
7383
7383
|
name: d.name,
|
|
7384
|
-
institution:
|
|
7385
|
-
institutionGuid:
|
|
7384
|
+
institution: m ? Bn(m) : void 0,
|
|
7385
|
+
institutionGuid: m?.institution_guid,
|
|
7386
7386
|
merchantGuid: f?.merchant_guid || void 0,
|
|
7387
7387
|
recurrenceType: Kn(h),
|
|
7388
7388
|
recurrenceDay: h?.repeat_day ? Number(h?.repeat_day) : void 0,
|
|
@@ -7481,9 +7481,9 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7481
7481
|
});
|
|
7482
7482
|
break;
|
|
7483
7483
|
case _.EveryYear:
|
|
7484
|
-
gA(o, d) ? gA(
|
|
7484
|
+
gA(o, d) ? gA(vt(o, 1), h) && a.push({
|
|
7485
7485
|
...s,
|
|
7486
|
-
expectedDate:
|
|
7486
|
+
expectedDate: vt(o, 1)
|
|
7487
7487
|
}) : gA(o, h) && a.push({
|
|
7488
7488
|
...s,
|
|
7489
7489
|
expectedDate: o
|
|
@@ -7491,17 +7491,17 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7491
7491
|
break;
|
|
7492
7492
|
}
|
|
7493
7493
|
return a.forEach((f) => {
|
|
7494
|
-
const
|
|
7495
|
-
(
|
|
7494
|
+
const m = n.find(
|
|
7495
|
+
(v) => v.scheduled_payment_guid === f.scheduledPaymentGuid && v.date > CA(ie(f.expectedDate, 3)) && v.date < CA(ge(f.expectedDate, 3))
|
|
7496
7496
|
);
|
|
7497
|
-
|
|
7497
|
+
m ? (f.transactionGuid = m.guid, f.occurredOnDate = NA(m.date), f.activityStatus = wA.Paid) : gA(f.expectedDate, ie(l, 3)) && (f.activityStatus = wA.Missed);
|
|
7498
7498
|
}), a;
|
|
7499
7499
|
}, kd = {
|
|
7500
7500
|
manage_income_add: "Add Income"
|
|
7501
7501
|
}, Gd = (A, e, n, a, r) => a.map((i) => {
|
|
7502
7502
|
const o = e.find((h) => h.cashflow_sequence_guid === i.guid), s = n.find((h) => h.cashflow_sequence_guid === i.guid), c = r.find((h) => h.guid === o?.transaction_guid), l = A.find((h) => h.guid === c?.account_guid);
|
|
7503
7503
|
let d = /* @__PURE__ */ new Date();
|
|
7504
|
-
return o ? d =
|
|
7504
|
+
return o ? d = mt(o.expected_date) : s && (d = mt(s.expected_date)), {
|
|
7505
7505
|
activityStatus: wA.Upcoming,
|
|
7506
7506
|
activityType: EA.Income,
|
|
7507
7507
|
amount: i.amount,
|
|
@@ -7516,7 +7516,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7516
7516
|
sequenceGuid: i.guid
|
|
7517
7517
|
};
|
|
7518
7518
|
}), Xd = () => {
|
|
7519
|
-
const { selectedAccounts: A } =
|
|
7519
|
+
const { selectedAccounts: A } = mA(), { cashflowEvents: e, cashflowSequences: n, projectedEvents: a } = kA(), { transactions: r } = uA(), { onEvent: i } = V(), o = Gd(
|
|
7520
7520
|
A,
|
|
7521
7521
|
e,
|
|
7522
7522
|
a,
|
|
@@ -7537,7 +7537,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7537
7537
|
/* @__PURE__ */ t(zi, { isIncome: !0, label: kd.manage_income_add, onAddActivity: c })
|
|
7538
7538
|
] });
|
|
7539
7539
|
}, qi = x(Xd), Bi = () => {
|
|
7540
|
-
const [A, e] = g.useState(0), { onEvent: n } =
|
|
7540
|
+
const [A, e] = g.useState(0), { onEvent: n } = V();
|
|
7541
7541
|
return /* @__PURE__ */ u(S, { bgcolor: "background.default", height: "100%", children: [
|
|
7542
7542
|
/* @__PURE__ */ u(
|
|
7543
7543
|
rt,
|
|
@@ -7577,26 +7577,26 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7577
7577
|
missed: "Missed",
|
|
7578
7578
|
upcoming: "Upcoming",
|
|
7579
7579
|
income: "Income"
|
|
7580
|
-
}, { selectedAccountGuids: r } =
|
|
7581
|
-
() => i.filter((
|
|
7580
|
+
}, { selectedAccountGuids: r } = mA(), { activities: i, setSelectedDay: o } = kA(), c = g.useMemo(
|
|
7581
|
+
() => i.filter((m) => r.includes(m.accountGuid || "")),
|
|
7582
7582
|
[r, i]
|
|
7583
7583
|
).filter(
|
|
7584
|
-
(
|
|
7584
|
+
(m) => FA(m.occurredOnDate || m.expectedDate, A)
|
|
7585
7585
|
), l = c.some(
|
|
7586
|
-
(
|
|
7586
|
+
(m) => m.activityType === EA.Expense && m.activityStatus === wA.Upcoming
|
|
7587
7587
|
), d = c.some(
|
|
7588
|
-
(
|
|
7588
|
+
(m) => m.activityType === EA.Expense && m.activityStatus === wA.Missed
|
|
7589
7589
|
), h = c.some(
|
|
7590
|
-
(
|
|
7591
|
-
), C = c.some((
|
|
7590
|
+
(m) => m.activityType === EA.Expense && m.activityStatus === wA.Paid
|
|
7591
|
+
), C = c.some((m) => m.activityType === EA.Income), f = (l ? 1 : 0) + (d ? 1 : 0) + (h ? 1 : 0) + (C ? 1 : 0);
|
|
7592
7592
|
return /* @__PURE__ */ t(
|
|
7593
7593
|
$r,
|
|
7594
7594
|
{
|
|
7595
7595
|
badgeContent: c.length > 0 && /* @__PURE__ */ u(aA, { children: [
|
|
7596
|
-
d && /* @__PURE__ */ t(
|
|
7596
|
+
d && /* @__PURE__ */ t(va, { isOffset: !0 }),
|
|
7597
7597
|
h && /* @__PURE__ */ t(pa, { isOffset: !0 }),
|
|
7598
7598
|
l && /* @__PURE__ */ t(fa, { isOffset: !0 }),
|
|
7599
|
-
C && /* @__PURE__ */ t(
|
|
7599
|
+
C && /* @__PURE__ */ t(ma, { isOffset: !0 })
|
|
7600
7600
|
] }),
|
|
7601
7601
|
overlap: "circular",
|
|
7602
7602
|
sx: {
|
|
@@ -7643,13 +7643,13 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7643
7643
|
mt: 12,
|
|
7644
7644
|
children: [
|
|
7645
7645
|
/* @__PURE__ */ t(_t, { icon: fa, label: "Expense" }),
|
|
7646
|
-
/* @__PURE__ */ t(_t, { icon:
|
|
7647
|
-
/* @__PURE__ */ t(_t, { icon:
|
|
7646
|
+
/* @__PURE__ */ t(_t, { icon: ma, label: "Income" }),
|
|
7647
|
+
/* @__PURE__ */ t(_t, { icon: va, label: "Missed" }),
|
|
7648
7648
|
/* @__PURE__ */ t(_t, { icon: pa, label: "Paid" })
|
|
7649
7649
|
]
|
|
7650
7650
|
}
|
|
7651
7651
|
), lr = 58, jd = () => {
|
|
7652
|
-
const A = fA(), { onEvent: e } =
|
|
7652
|
+
const A = fA(), { onEvent: e } = V(), { selectedDay: n } = kA(), [a, r] = g.useState(
|
|
7653
7653
|
za(/* @__PURE__ */ new Date()) * st + lr
|
|
7654
7654
|
), i = (s) => {
|
|
7655
7655
|
r(za(s) * st + lr), e(J.RECURRING_ACTIVITY_CLICK_CALENDAR_RIGHT);
|
|
@@ -7820,7 +7820,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7820
7820
|
selectedDayActivities: i,
|
|
7821
7821
|
setSelectedDay: o,
|
|
7822
7822
|
upcomingActivities: s
|
|
7823
|
-
} = kA(), [c, l] = g.useState(0), { onEvent: d } =
|
|
7823
|
+
} = kA(), [c, l] = g.useState(0), { onEvent: d } = V(), h = e.filter(wn), C = a.filter(wn), f = n.filter(wn), m = h.filter(Rt).reduce(lt, 0), v = C.filter(Rt).reduce(lt, 0), E = f.filter(Rt).reduce(lt, 0), L = h.filter(Rt).length, b = h.filter(En).reduce(lt, 0), w = C.filter(En).reduce(lt, 0), I = h.filter(En).length, D = ($, B) => {
|
|
7824
7824
|
l(B);
|
|
7825
7825
|
}, O = ($) => {
|
|
7826
7826
|
d(J.RECURRING_ACTIVITY_CLICK_UPCOMING, {
|
|
@@ -7836,9 +7836,9 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7836
7836
|
/* @__PURE__ */ t(
|
|
7837
7837
|
dr,
|
|
7838
7838
|
{
|
|
7839
|
-
expected:
|
|
7839
|
+
expected: m,
|
|
7840
7840
|
missed: E,
|
|
7841
|
-
paid:
|
|
7841
|
+
paid: v,
|
|
7842
7842
|
title: Ke.recurring_activity_expenses,
|
|
7843
7843
|
total: L
|
|
7844
7844
|
}
|
|
@@ -7906,7 +7906,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7906
7906
|
recurring_activity_title: "Recurring Transactions",
|
|
7907
7907
|
recurring_activity_settings: "Settings"
|
|
7908
7908
|
}, Jd = ({ onBackClick: A, sx: e = {} }) => {
|
|
7909
|
-
const { accounts: n } = DA(), { isInitialized: a, selectedAccountGuids: r, setSelectedAccounts: i } =
|
|
7909
|
+
const { accounts: n } = DA(), { isInitialized: a, selectedAccountGuids: r, setSelectedAccounts: i } = mA(), { setFilter: o } = uA(), { isLoading: s } = kA(), { onEvent: c } = V();
|
|
7910
7910
|
g.useEffect(() => {
|
|
7911
7911
|
i(n);
|
|
7912
7912
|
}, [n]), g.useEffect(() => {
|
|
@@ -7957,7 +7957,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7957
7957
|
day_transactions: "Transactions for _1{day}",
|
|
7958
7958
|
recurring_activity_upcoming_activity: "Upcoming Activity"
|
|
7959
7959
|
}, Zd = () => {
|
|
7960
|
-
const { selectedAccountGuids: A } =
|
|
7960
|
+
const { selectedAccountGuids: A } = mA(), { selectedDay: e, selectedDayActivities: n, setSelectedDay: a, upcomingActivities: r } = kA(), i = g.useMemo(
|
|
7961
7961
|
() => r.filter(
|
|
7962
7962
|
(c) => A.includes(c.accountGuid || "")
|
|
7963
7963
|
),
|
|
@@ -7985,7 +7985,7 @@ const ir = "connect_widget", or = "connections_widget", vd = {
|
|
|
7985
7985
|
recurring_activity_subtitle: "Projected expenses and income",
|
|
7986
7986
|
recurring_activity_title: "Recurring Transactions"
|
|
7987
7987
|
}, Au = ({ onPrimaryCtaClick: A, sx: e }) => {
|
|
7988
|
-
const { isInitialized: n, selectedAccountGuids: a } =
|
|
7988
|
+
const { isInitialized: n, selectedAccountGuids: a } = mA(), { setFilter: r } = uA();
|
|
7989
7989
|
return g.useEffect(() => {
|
|
7990
7990
|
n && r({
|
|
7991
7991
|
dateRange: { start: ie(Z(), 90), end: Qe() },
|
|
@@ -8057,7 +8057,7 @@ class eu {
|
|
|
8057
8057
|
addCashflowEvent = async (e) => {
|
|
8058
8058
|
try {
|
|
8059
8059
|
const n = await this.cashflowApi.addCashflowEvent(e);
|
|
8060
|
-
|
|
8060
|
+
Y(() => {
|
|
8061
8061
|
this.cashflowEvents = [...this.cashflowEvents, n];
|
|
8062
8062
|
});
|
|
8063
8063
|
} catch (n) {
|
|
@@ -8078,7 +8078,7 @@ class eu {
|
|
|
8078
8078
|
await this.globalStore.transactionStore.updateTransaction({
|
|
8079
8079
|
...n,
|
|
8080
8080
|
scheduled_payment_guid: a.guid
|
|
8081
|
-
}),
|
|
8081
|
+
}), Y(() => {
|
|
8082
8082
|
this.scheduledPayments = [...this.scheduledPayments, a];
|
|
8083
8083
|
});
|
|
8084
8084
|
} catch (a) {
|
|
@@ -8094,7 +8094,7 @@ class eu {
|
|
|
8094
8094
|
};
|
|
8095
8095
|
deleteScheduledPayment = async (e) => {
|
|
8096
8096
|
try {
|
|
8097
|
-
await this.api.deleteScheduledPayment(e),
|
|
8097
|
+
await this.api.deleteScheduledPayment(e), Y(() => {
|
|
8098
8098
|
const n = this.scheduledPayments.findIndex((a) => a.guid === e);
|
|
8099
8099
|
n >= 0 && this.scheduledPayments.splice(n, 1);
|
|
8100
8100
|
});
|
|
@@ -8104,7 +8104,7 @@ class eu {
|
|
|
8104
8104
|
};
|
|
8105
8105
|
loadActivity = () => {
|
|
8106
8106
|
this.isLoading = !0, Promise.all([this.loadExpenseActivity(), this.loadIncomeActivity()]).finally(
|
|
8107
|
-
() =>
|
|
8107
|
+
() => Y(() => {
|
|
8108
8108
|
this.isLoading = !1;
|
|
8109
8109
|
})
|
|
8110
8110
|
);
|
|
@@ -8117,7 +8117,7 @@ class eu {
|
|
|
8117
8117
|
};
|
|
8118
8118
|
loadCashflowSequences = async () => {
|
|
8119
8119
|
const e = await this.cashflowApi.getCashflowSequences();
|
|
8120
|
-
|
|
8120
|
+
Y(() => {
|
|
8121
8121
|
this.cashflowSequences = e.filter(
|
|
8122
8122
|
(n) => n.transaction_type === UA.CREDIT
|
|
8123
8123
|
);
|
|
@@ -8129,7 +8129,7 @@ class eu {
|
|
|
8129
8129
|
LA(Z()),
|
|
8130
8130
|
ge(Z(), 30)
|
|
8131
8131
|
);
|
|
8132
|
-
|
|
8132
|
+
Y(() => {
|
|
8133
8133
|
this.projectedEvents = e.filter(
|
|
8134
8134
|
(n) => n.transaction_type === UA.CREDIT
|
|
8135
8135
|
);
|
|
@@ -8144,7 +8144,7 @@ class eu {
|
|
|
8144
8144
|
ie(Z(), 90),
|
|
8145
8145
|
OA(Z())
|
|
8146
8146
|
);
|
|
8147
|
-
|
|
8147
|
+
Y(() => {
|
|
8148
8148
|
this.cashflowEvents = e.filter(
|
|
8149
8149
|
(n) => n.transaction_type === UA.CREDIT
|
|
8150
8150
|
);
|
|
@@ -8156,7 +8156,7 @@ class eu {
|
|
|
8156
8156
|
loadScheduledPayments = async () => {
|
|
8157
8157
|
try {
|
|
8158
8158
|
const e = await this.api.getScheduledPayments();
|
|
8159
|
-
|
|
8159
|
+
Y(() => {
|
|
8160
8160
|
this.scheduledPayments = e;
|
|
8161
8161
|
});
|
|
8162
8162
|
} catch (e) {
|
|
@@ -8190,7 +8190,7 @@ class eu {
|
|
|
8190
8190
|
try {
|
|
8191
8191
|
const n = await this.api.updateScheduledPayment(e), a = this.scheduledPayments.findIndex((r) => r.guid === e.guid);
|
|
8192
8192
|
if (a < 0) return;
|
|
8193
|
-
|
|
8193
|
+
Y(() => {
|
|
8194
8194
|
this.scheduledPayments = [
|
|
8195
8195
|
...this.scheduledPayments.slice(0, a),
|
|
8196
8196
|
n,
|
|
@@ -8528,7 +8528,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8528
8528
|
);
|
|
8529
8529
|
}) })
|
|
8530
8530
|
] });
|
|
8531
|
-
}, Cu = x(gu),
|
|
8531
|
+
}, Cu = x(gu), mr = {
|
|
8532
8532
|
tooltip_title: "How is this calculated?",
|
|
8533
8533
|
tooltip_body: "This is a breadown by account that projects how much cash you'll have for the next 30 days. It's based on the balances in your checking and savings accounts, includes your projected income, and considers upcoming expenses."
|
|
8534
8534
|
}, fu = () => {
|
|
@@ -8591,7 +8591,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8591
8591
|
}
|
|
8592
8592
|
}
|
|
8593
8593
|
], c = g.useMemo(() => o.map((l) => {
|
|
8594
|
-
const d = a.filter((f) => f.accountGuid === l.guid).reduce((f,
|
|
8594
|
+
const d = a.filter((f) => f.accountGuid === l.guid).reduce((f, m) => f + m.amount, 0), h = r.filter((f) => f.accountGuid === l.guid).reduce((f, m) => f + m.amount, 0), C = (l.balance || 0) + h - d;
|
|
8595
8595
|
return {
|
|
8596
8596
|
account: l,
|
|
8597
8597
|
balance: l.balance || 0,
|
|
@@ -8611,7 +8611,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8611
8611
|
/* @__PURE__ */ u(T, { direction: "row", justifyContent: "space-between", mb: 12, children: [
|
|
8612
8612
|
/* @__PURE__ */ u(T, { alignItems: "center", direction: "row", gap: 8, children: [
|
|
8613
8613
|
/* @__PURE__ */ t(y, { bold: !0, sx: { fontSize: 15 }, children: n.cash_inflow_and_outflow }),
|
|
8614
|
-
/* @__PURE__ */ t(jt, { body:
|
|
8614
|
+
/* @__PURE__ */ t(jt, { body: mr.tooltip_body, title: mr.tooltip_title })
|
|
8615
8615
|
] }),
|
|
8616
8616
|
/* @__PURE__ */ u(y, { bold: !0, sx: { fontSize: 15 }, children: [
|
|
8617
8617
|
j(i.start, F.FULL_MONTH_DAY),
|
|
@@ -8639,7 +8639,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8639
8639
|
}
|
|
8640
8640
|
}
|
|
8641
8641
|
) : c.map((l) => {
|
|
8642
|
-
const { name: d, nickname: h, institution_guid: C, account_number: f } = l.account,
|
|
8642
|
+
const { name: d, nickname: h, institution_guid: C, account_number: f } = l.account, m = h || d;
|
|
8643
8643
|
return /* @__PURE__ */ t(
|
|
8644
8644
|
oA,
|
|
8645
8645
|
{
|
|
@@ -8668,7 +8668,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8668
8668
|
size: 16
|
|
8669
8669
|
}
|
|
8670
8670
|
),
|
|
8671
|
-
/* @__PURE__ */ t(y, { variant: "Small", children: `${
|
|
8671
|
+
/* @__PURE__ */ t(y, { variant: "Small", children: `${m} ${f ? `*${f}` : ""}` })
|
|
8672
8672
|
] }),
|
|
8673
8673
|
/* @__PURE__ */ t(_A, { amount: l.balance, bold: !0, variant: "Small" })
|
|
8674
8674
|
]
|
|
@@ -8727,8 +8727,8 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8727
8727
|
]
|
|
8728
8728
|
}
|
|
8729
8729
|
);
|
|
8730
|
-
},
|
|
8731
|
-
const { cashflow: A } = W(), { isDesktop: e } = jA(), { onEvent: n } =
|
|
8730
|
+
}, mu = x(fu), vu = () => {
|
|
8731
|
+
const { cashflow: A } = W(), { isDesktop: e } = jA(), { onEvent: n } = V(), [a, r] = g.useState(0), i = (o, s) => {
|
|
8732
8732
|
r(s);
|
|
8733
8733
|
};
|
|
8734
8734
|
return g.useEffect(() => {
|
|
@@ -8765,10 +8765,10 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8765
8765
|
}
|
|
8766
8766
|
),
|
|
8767
8767
|
/* @__PURE__ */ t(S, { sx: { mb: 32 } }),
|
|
8768
|
-
/* @__PURE__ */ t(Ft, { index: 0, name: "cashflow", value: a, children: /* @__PURE__ */ t(S, { sx: { m: e ? 48 : 16 }, children: /* @__PURE__ */ t(
|
|
8768
|
+
/* @__PURE__ */ t(Ft, { index: 0, name: "cashflow", value: a, children: /* @__PURE__ */ t(S, { sx: { m: e ? 48 : 16 }, children: /* @__PURE__ */ t(mu, {}) }) }),
|
|
8769
8769
|
/* @__PURE__ */ t(Ft, { index: 1, name: "cashflow", value: a, children: /* @__PURE__ */ t(S, { sx: { m: e ? 48 : 16 }, children: /* @__PURE__ */ t(Cu, {}) }) })
|
|
8770
8770
|
] });
|
|
8771
|
-
}, pu = x(
|
|
8771
|
+
}, pu = x(vu), Se = ({
|
|
8772
8772
|
amount: A,
|
|
8773
8773
|
isMobile: e = !1,
|
|
8774
8774
|
isTotal: n = !1,
|
|
@@ -8798,17 +8798,17 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8798
8798
|
manage_income: "Manage income",
|
|
8799
8799
|
remaining_income_tooltip_title: "How is this calculated?",
|
|
8800
8800
|
remaining_income_tooltip_body: "This value is a projection of how much cash you'll have for the next 30 days. It's based on the balances in your checking and savings accounts, includes your projected income, and considers upcoming expenses."
|
|
8801
|
-
},
|
|
8802
|
-
const [A, e] = g.useState(!1), { availableWidth: n } = bt(), { cashflow: a } = W(), { upcomingExpenses: r, upcomingIncome: i } = kA(), { selectedAccountGuids: o } =
|
|
8803
|
-
() => r.filter(
|
|
8801
|
+
}, vr = (A, e) => (n) => n.accountGuid && A.includes(n.accountGuid) && ($n(n.expectedDate) || yt(n.expectedDate, e.start)) && gA(n.expectedDate, e.end), yu = () => {
|
|
8802
|
+
const [A, e] = g.useState(!1), { availableWidth: n } = bt(), { cashflow: a } = W(), { upcomingExpenses: r, upcomingIncome: i } = kA(), { selectedAccountGuids: o } = mA(), { dateRange: s, selectedCashAccounts: c } = ot(), { userProfile: l } = rn(), d = g.useMemo(
|
|
8803
|
+
() => r.filter(vr(o, s)),
|
|
8804
8804
|
[s, o, r]
|
|
8805
8805
|
), h = g.useMemo(
|
|
8806
|
-
() => i.filter(
|
|
8806
|
+
() => i.filter(vr(o, s)),
|
|
8807
8807
|
[s, o, i]
|
|
8808
8808
|
), C = g.useMemo(
|
|
8809
8809
|
() => c.reduce((b, w) => b + (w?.balance || 0), 0),
|
|
8810
8810
|
[c]
|
|
8811
|
-
), f = d.reduce((b, w) => b + w.amount, 0),
|
|
8811
|
+
), f = d.reduce((b, w) => b + w.amount, 0), m = h.reduce((b, w) => b + w.amount, 0), v = C - f + m, E = i.length > 0 && l?.has_completed_cash_flow_onboarding, L = n < 725;
|
|
8812
8812
|
return /* @__PURE__ */ u(T, { flexDirection: "row", gap: 24, justifyContent: "center", my: L ? 24 : 42, children: [
|
|
8813
8813
|
L ? /* @__PURE__ */ u(T, { border: "1px solid", borderColor: "border.light", borderRadius: 1, mx: 16, width: "100%", children: [
|
|
8814
8814
|
/* @__PURE__ */ t(
|
|
@@ -8823,7 +8823,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8823
8823
|
E ? /* @__PURE__ */ t(
|
|
8824
8824
|
Se,
|
|
8825
8825
|
{
|
|
8826
|
-
amount:
|
|
8826
|
+
amount: m,
|
|
8827
8827
|
isMobile: !0,
|
|
8828
8828
|
label: a.to_be_received,
|
|
8829
8829
|
symbol: "+"
|
|
@@ -8851,7 +8851,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8851
8851
|
/* @__PURE__ */ t(
|
|
8852
8852
|
Se,
|
|
8853
8853
|
{
|
|
8854
|
-
amount:
|
|
8854
|
+
amount: v,
|
|
8855
8855
|
isMobile: !0,
|
|
8856
8856
|
isTotal: !0,
|
|
8857
8857
|
label: a.remaining_cash,
|
|
@@ -8871,7 +8871,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8871
8871
|
/* @__PURE__ */ t(
|
|
8872
8872
|
Se,
|
|
8873
8873
|
{
|
|
8874
|
-
amount:
|
|
8874
|
+
amount: m,
|
|
8875
8875
|
label: a.to_be_received
|
|
8876
8876
|
}
|
|
8877
8877
|
)
|
|
@@ -8890,7 +8890,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8890
8890
|
/* @__PURE__ */ t(
|
|
8891
8891
|
Se,
|
|
8892
8892
|
{
|
|
8893
|
-
amount:
|
|
8893
|
+
amount: v,
|
|
8894
8894
|
label: a.remaining_cash,
|
|
8895
8895
|
tooltip: /* @__PURE__ */ t(
|
|
8896
8896
|
jt,
|
|
@@ -8928,9 +8928,9 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8928
8928
|
children: n.welcome_sub_title
|
|
8929
8929
|
}
|
|
8930
8930
|
),
|
|
8931
|
-
/* @__PURE__ */ t(
|
|
8931
|
+
/* @__PURE__ */ t(vA, { pb: 32, children: n.welcome_description }),
|
|
8932
8932
|
/* @__PURE__ */ u(T, { direction: "column", mb: 32, spacing: 32, children: [
|
|
8933
|
-
/* @__PURE__ */ u(
|
|
8933
|
+
/* @__PURE__ */ u(vA, { sx: { display: "flex", alignItems: "center", fontSize: 18 }, children: [
|
|
8934
8934
|
/* @__PURE__ */ t(
|
|
8935
8935
|
S,
|
|
8936
8936
|
{
|
|
@@ -8946,7 +8946,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8946
8946
|
),
|
|
8947
8947
|
n.bullet_one
|
|
8948
8948
|
] }),
|
|
8949
|
-
/* @__PURE__ */ u(
|
|
8949
|
+
/* @__PURE__ */ u(vA, { sx: { display: "flex", alignItems: "center", fontSize: 18 }, children: [
|
|
8950
8950
|
/* @__PURE__ */ t(
|
|
8951
8951
|
S,
|
|
8952
8952
|
{
|
|
@@ -8962,7 +8962,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8962
8962
|
),
|
|
8963
8963
|
n.bullet_two
|
|
8964
8964
|
] }),
|
|
8965
|
-
/* @__PURE__ */ u(
|
|
8965
|
+
/* @__PURE__ */ u(vA, { sx: { display: "flex", alignItems: "center", fontSize: 18 }, children: [
|
|
8966
8966
|
/* @__PURE__ */ t(
|
|
8967
8967
|
S,
|
|
8968
8968
|
{
|
|
@@ -8989,7 +8989,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8989
8989
|
return /* @__PURE__ */ u(g.Fragment, { children: [
|
|
8990
8990
|
/* @__PURE__ */ t("div", { children: /* @__PURE__ */ t("img", { alt: "Loading", src: Lu }) }),
|
|
8991
8991
|
/* @__PURE__ */ t(Ee, { pb: 12, children: A.loading_title }),
|
|
8992
|
-
/* @__PURE__ */ t(
|
|
8992
|
+
/* @__PURE__ */ t(vA, { children: A.loading_description })
|
|
8993
8993
|
] });
|
|
8994
8994
|
}, bu = x(Su), Iu = "data:image/png;base64,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", Du = Ho`
|
|
8995
8995
|
from {
|
|
@@ -8999,7 +8999,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8999
8999
|
transform: rotate(360deg);
|
|
9000
9000
|
}
|
|
9001
9001
|
`, Ou = () => {
|
|
9002
|
-
const { addCashflowEvent: A, addCashflowSequence: e, cashflowSequences: n } = kA(), { cashflow: a, common: r } = W(), { completeOnboarding: i } = ia(), { isDirty: o } = ot(), { isMobile: s } = jA(), { setDisplayedDate: c } =
|
|
9002
|
+
const { addCashflowEvent: A, addCashflowSequence: e, cashflowSequences: n } = kA(), { cashflow: a, common: r } = W(), { completeOnboarding: i } = ia(), { isDirty: o } = ot(), { isMobile: s } = jA(), { setDisplayedDate: c } = mA(), { filter: l, setFilter: d, transactions: h } = uA(), C = fA(), [f, m] = de(!0), [v, E] = g.useState(_.EveryMonth), [L, b] = de(!1), [w, I] = g.useState(null), [D, O] = de(1), [k, $] = de([]), [B, R] = de(""), z = g.useMemo(
|
|
9003
9003
|
() => h.find((sA) => sA.guid === B),
|
|
9004
9004
|
[B]
|
|
9005
9005
|
), K = !!n.length, lA = async () => {
|
|
@@ -9065,7 +9065,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
9065
9065
|
},
|
|
9066
9066
|
children: [
|
|
9067
9067
|
/* @__PURE__ */ t(Ee, { pb: 12, children: a.add_income_title }),
|
|
9068
|
-
/* @__PURE__ */ t(
|
|
9068
|
+
/* @__PURE__ */ t(vA, { mb: 24, children: a.add_income_description }),
|
|
9069
9069
|
k.length > 0 && !z && /* @__PURE__ */ u(aA, { children: [
|
|
9070
9070
|
/* @__PURE__ */ t(oA, { children: k.map((sA, G) => /* @__PURE__ */ u(g.Fragment, { children: [
|
|
9071
9071
|
/* @__PURE__ */ t(da, { bgcolor: "background.paper", children: sn(
|
|
@@ -9079,7 +9079,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
9079
9079
|
/* @__PURE__ */ t(
|
|
9080
9080
|
iA,
|
|
9081
9081
|
{
|
|
9082
|
-
onClick: () =>
|
|
9082
|
+
onClick: () => m(!0),
|
|
9083
9083
|
startIcon: /* @__PURE__ */ t(P, { name: "add", size: 20 }),
|
|
9084
9084
|
children: a.add_additional_income_button
|
|
9085
9085
|
}
|
|
@@ -9095,17 +9095,17 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
9095
9095
|
custom: (G) => sA ? Hi(G, sA) : wt(G)
|
|
9096
9096
|
}),
|
|
9097
9097
|
onSelected: (sA) => {
|
|
9098
|
-
R(sA),
|
|
9098
|
+
R(sA), m(!1);
|
|
9099
9099
|
}
|
|
9100
9100
|
}
|
|
9101
9101
|
),
|
|
9102
|
-
!K && o && /* @__PURE__ */ t(
|
|
9102
|
+
!K && o && /* @__PURE__ */ t(vA, { color: "error", mt: 16, children: a.confirm_error }),
|
|
9103
9103
|
z && /* @__PURE__ */ u(aA, { children: [
|
|
9104
9104
|
/* @__PURE__ */ t(
|
|
9105
9105
|
_i,
|
|
9106
9106
|
{
|
|
9107
9107
|
bgcolor: "background.paper",
|
|
9108
|
-
frequency:
|
|
9108
|
+
frequency: v,
|
|
9109
9109
|
isIncome: !0,
|
|
9110
9110
|
nextDate: w,
|
|
9111
9111
|
onFrequencyChange: E,
|
|
@@ -9120,7 +9120,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
9120
9120
|
"aria-disabled": !z || !w,
|
|
9121
9121
|
onClick: () => {
|
|
9122
9122
|
const sA = [...k];
|
|
9123
|
-
sA.push({ ...z, nextDate: w, frequency:
|
|
9123
|
+
sA.push({ ...z, nextDate: w, frequency: v }), $(sA), R("");
|
|
9124
9124
|
},
|
|
9125
9125
|
variant: "contained",
|
|
9126
9126
|
children: r.confirm_button
|
|
@@ -9130,7 +9130,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
9130
9130
|
iA,
|
|
9131
9131
|
{
|
|
9132
9132
|
onClick: () => {
|
|
9133
|
-
R(""),
|
|
9133
|
+
R(""), m(!0), lA();
|
|
9134
9134
|
},
|
|
9135
9135
|
variant: "outlined",
|
|
9136
9136
|
children: r.cancel_button
|
|
@@ -9172,7 +9172,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
9172
9172
|
setSelectedAccounts: r,
|
|
9173
9173
|
shouldDisableNextDate: i,
|
|
9174
9174
|
shouldDisablePrevDate: o
|
|
9175
|
-
} =
|
|
9175
|
+
} = mA(), { onEvent: s } = V(), { cashAccounts: c } = DA(), { setFilter: l } = uA(), { userProfile: d } = rn(), { dateRange: h, setSelectedCashAccounts: C } = ot(), { cashflow: f } = W(), [m, v] = g.useState(!1);
|
|
9176
9176
|
return g.useEffect(() => {
|
|
9177
9177
|
r(c);
|
|
9178
9178
|
}, [c]), g.useEffect(() => {
|
|
@@ -9189,7 +9189,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
9189
9189
|
label: f.cashflow_settings,
|
|
9190
9190
|
iconName: "settings",
|
|
9191
9191
|
onClick: () => {
|
|
9192
|
-
|
|
9192
|
+
v(!0), s(J.CASH_FLOW_CLICK_SETTINGS);
|
|
9193
9193
|
}
|
|
9194
9194
|
}
|
|
9195
9195
|
],
|
|
@@ -9213,8 +9213,8 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
9213
9213
|
hA,
|
|
9214
9214
|
{
|
|
9215
9215
|
ariaLabelClose: f.close_drawer_aria,
|
|
9216
|
-
isOpen:
|
|
9217
|
-
onClose: () =>
|
|
9216
|
+
isOpen: m,
|
|
9217
|
+
onClose: () => v(!1),
|
|
9218
9218
|
shouldShowHeaderBorders: !1,
|
|
9219
9219
|
title: f.cashflow_settings,
|
|
9220
9220
|
children: /* @__PURE__ */ t(Bi, {})
|
|
@@ -9429,13 +9429,13 @@ class Bu {
|
|
|
9429
9429
|
loadMerchants = async (e = "") => {
|
|
9430
9430
|
this.isLoading = !0;
|
|
9431
9431
|
const n = await this.api.getMerchants([e]);
|
|
9432
|
-
|
|
9432
|
+
Y(() => {
|
|
9433
9433
|
this.merchants = n, this.isLoading = !1;
|
|
9434
9434
|
});
|
|
9435
9435
|
};
|
|
9436
9436
|
loadMerchantByGuid = async (e) => {
|
|
9437
9437
|
const n = await this.api.getMerchantByGuid(e);
|
|
9438
|
-
|
|
9438
|
+
Y(() => this.merchant = n);
|
|
9439
9439
|
};
|
|
9440
9440
|
}
|
|
9441
9441
|
const R7 = (A) => {
|
|
@@ -9482,7 +9482,7 @@ class ku {
|
|
|
9482
9482
|
try {
|
|
9483
9483
|
this.isLoading = !0;
|
|
9484
9484
|
const e = await this.api.getNotifications();
|
|
9485
|
-
|
|
9485
|
+
Y(() => {
|
|
9486
9486
|
this.notifications = e, this.recentNotifications = Ku(e), this.isLoading = !1;
|
|
9487
9487
|
});
|
|
9488
9488
|
} catch (e) {
|
|
@@ -9579,7 +9579,7 @@ class Wu {
|
|
|
9579
9579
|
loadUserProfile = async () => {
|
|
9580
9580
|
try {
|
|
9581
9581
|
const e = await this.api.getUserProfile();
|
|
9582
|
-
|
|
9582
|
+
Y(() => {
|
|
9583
9583
|
this.userProfile = e;
|
|
9584
9584
|
});
|
|
9585
9585
|
} catch (e) {
|
|
@@ -9589,7 +9589,7 @@ class Wu {
|
|
|
9589
9589
|
updateUserProfile = async (e) => {
|
|
9590
9590
|
try {
|
|
9591
9591
|
const n = await this.api.updateUserProfile(e);
|
|
9592
|
-
|
|
9592
|
+
Y(() => {
|
|
9593
9593
|
this.userProfile = n;
|
|
9594
9594
|
});
|
|
9595
9595
|
} catch (n) {
|
|
@@ -9911,7 +9911,7 @@ class Tr {
|
|
|
9911
9911
|
};
|
|
9912
9912
|
getAccounts = async () => this.fetchInstance.get(N.ACCOUNTS).then((e) => e.accounts).catch((e) => e);
|
|
9913
9913
|
getMembers = async () => this.fetchInstance.get(N.MEMBERS).then((e) => e.members).catch((e) => e);
|
|
9914
|
-
getMonthlyAccountBalances = async (e) => this.fetchInstance.get(`${N.ACCOUNTS}/${e.guid}/monthly_account_balances`).then((n) =>
|
|
9914
|
+
getMonthlyAccountBalances = async (e) => this.fetchInstance.get(`${N.ACCOUNTS}/${e.guid}/monthly_account_balances`).then((n) => n).catch((n) => n);
|
|
9915
9915
|
getNetWorthChartData = async () => wr.map((n) => ({ x: this.formatMonth(n.x), y: n.y }));
|
|
9916
9916
|
getNetWorthMonthlyList = async () => wr;
|
|
9917
9917
|
}
|
|
@@ -9925,22 +9925,30 @@ class Yu {
|
|
|
9925
9925
|
this.globalStore = e, bA(this);
|
|
9926
9926
|
}
|
|
9927
9927
|
initialize = async (e, n) => {
|
|
9928
|
-
this.api = new Tr(e, n), await this.
|
|
9928
|
+
this.api = new Tr(e, n), await Promise.all([this.loadNetWorthData(), this.loadChartData()]);
|
|
9929
9929
|
};
|
|
9930
9930
|
/*eslint-disable no-console*/
|
|
9931
|
-
|
|
9931
|
+
loadNetWorthData = async () => {
|
|
9932
9932
|
try {
|
|
9933
|
-
const e = await this.api.getAccounts(), n = e.map((
|
|
9934
|
-
console.log(
|
|
9935
|
-
const a = await this.api.getNetWorthMonthlyList(), r = await this.api.getNetWorthChartData();
|
|
9936
|
-
V(() => {
|
|
9933
|
+
const e = await this.api.getAccounts(), n = e.map((r) => this.api.getMonthlyAccountBalances(r)), a = await Promise.all(n);
|
|
9934
|
+
console.log(a), Y(() => {
|
|
9937
9935
|
this.netWorthData = {
|
|
9938
9936
|
accounts: e,
|
|
9939
9937
|
monthlyAccountBalances: n
|
|
9940
|
-
}
|
|
9938
|
+
};
|
|
9939
|
+
});
|
|
9940
|
+
} catch (e) {
|
|
9941
|
+
console.error(`Error occured while loading net worth data: ${e}`);
|
|
9942
|
+
}
|
|
9943
|
+
};
|
|
9944
|
+
loadChartData = async () => {
|
|
9945
|
+
try {
|
|
9946
|
+
const e = await this.api.getNetWorthMonthlyList(), n = await this.api.getNetWorthChartData();
|
|
9947
|
+
Y(() => {
|
|
9948
|
+
this.netWorthMonthlyList = e, this.netWorthChartData = n;
|
|
9941
9949
|
});
|
|
9942
9950
|
} catch (e) {
|
|
9943
|
-
console.error(`Error occured while loading
|
|
9951
|
+
console.error(`Error occured while loading chart data: ${e}`);
|
|
9944
9952
|
}
|
|
9945
9953
|
};
|
|
9946
9954
|
}
|
|
@@ -10024,12 +10032,12 @@ const Ln = ({
|
|
|
10024
10032
|
this_will_set_the_balance_of_your_account: "This will set the balance of your _1{account_name} account to $0.00, and keep any past transaction history. This can be undone by marking the account as open.",
|
|
10025
10033
|
unhide_account: "Unhide Account"
|
|
10026
10034
|
}, Ju = () => {
|
|
10027
|
-
const [A, e] = g.useState(!1), [n, a] = g.useState(!1), [r, i] = g.useState(!1), [o, s] = g.useState({}), { selectedAccount: c } = se(), { mergeAccounts: l, updateAccount: d } = DA(), h = Vu(), { onEvent: C } =
|
|
10035
|
+
const [A, e] = g.useState(!1), [n, a] = g.useState(!1), [r, i] = g.useState(!1), [o, s] = g.useState({}), { selectedAccount: c } = se(), { mergeAccounts: l, updateAccount: d } = DA(), h = Vu(), { onEvent: C } = V(), f = (v) => {
|
|
10028
10036
|
d({
|
|
10029
10037
|
...c,
|
|
10030
|
-
...
|
|
10038
|
+
...v
|
|
10031
10039
|
});
|
|
10032
|
-
},
|
|
10040
|
+
}, m = () => {
|
|
10033
10041
|
l([c.guid, o.guid]).finally(
|
|
10034
10042
|
() => a(!1)
|
|
10035
10043
|
);
|
|
@@ -10099,20 +10107,20 @@ const Ln = ({
|
|
|
10099
10107
|
isOpen: n,
|
|
10100
10108
|
onClose: () => a(!1),
|
|
10101
10109
|
title: TA.mark_as_duplicate,
|
|
10102
|
-
children: /* @__PURE__ */ t(oA, { children: h.map((
|
|
10103
|
-
const E = h.indexOf(
|
|
10110
|
+
children: /* @__PURE__ */ t(oA, { children: h.map((v) => {
|
|
10111
|
+
const E = h.indexOf(v) === h.length - 1;
|
|
10104
10112
|
return /* @__PURE__ */ u(g.Fragment, { children: [
|
|
10105
10113
|
/* @__PURE__ */ t(
|
|
10106
10114
|
hn,
|
|
10107
10115
|
{
|
|
10108
|
-
account:
|
|
10116
|
+
account: v,
|
|
10109
10117
|
onRowClick: () => {
|
|
10110
|
-
i(!0), s(
|
|
10118
|
+
i(!0), s(v);
|
|
10111
10119
|
}
|
|
10112
10120
|
}
|
|
10113
10121
|
),
|
|
10114
10122
|
/* @__PURE__ */ t(oA, { sx: { ml: E ? 0 : 24 } })
|
|
10115
|
-
] },
|
|
10123
|
+
] }, v.guid);
|
|
10116
10124
|
}) })
|
|
10117
10125
|
}
|
|
10118
10126
|
),
|
|
@@ -10125,7 +10133,7 @@ const Ln = ({
|
|
|
10125
10133
|
},
|
|
10126
10134
|
isOpen: r,
|
|
10127
10135
|
onClose: () => i(!1),
|
|
10128
|
-
onPrimaryAction:
|
|
10136
|
+
onPrimaryAction: m,
|
|
10129
10137
|
children: [
|
|
10130
10138
|
H(
|
|
10131
10139
|
TA.this_means_accounts_will_be_merged,
|
|
@@ -10396,10 +10404,10 @@ const Ln = ({
|
|
|
10396
10404
|
},
|
|
10397
10405
|
label: A.label,
|
|
10398
10406
|
labelId: `${A.label}-select-label`,
|
|
10399
|
-
onChange: (
|
|
10407
|
+
onChange: (v) => o(v.target.value),
|
|
10400
10408
|
placeholder: A.placeholder,
|
|
10401
10409
|
value: i,
|
|
10402
|
-
children: A.options?.map((
|
|
10410
|
+
children: A.options?.map((v) => /* @__PURE__ */ t(Wn, { value: v.value, children: v.label }, v.value))
|
|
10403
10411
|
}
|
|
10404
10412
|
)
|
|
10405
10413
|
] });
|
|
@@ -10421,8 +10429,8 @@ const Ln = ({
|
|
|
10421
10429
|
{
|
|
10422
10430
|
maxDate: YA(/* @__PURE__ */ new Date(), 1),
|
|
10423
10431
|
minDate: /* @__PURE__ */ new Date(),
|
|
10424
|
-
onChange: (
|
|
10425
|
-
r[A.name] && Number(r[A.name]) <= 31 ? o(
|
|
10432
|
+
onChange: (v) => {
|
|
10433
|
+
r[A.name] && Number(r[A.name]) <= 31 ? o(v.getDate()) : o(v);
|
|
10426
10434
|
},
|
|
10427
10435
|
views: ["day"]
|
|
10428
10436
|
}
|
|
@@ -10435,7 +10443,7 @@ const Ln = ({
|
|
|
10435
10443
|
error: !!s,
|
|
10436
10444
|
fullWidth: !0,
|
|
10437
10445
|
helperText: s,
|
|
10438
|
-
onChange:
|
|
10446
|
+
onChange: m,
|
|
10439
10447
|
placeholder: A.placeholder
|
|
10440
10448
|
}
|
|
10441
10449
|
);
|
|
@@ -10445,8 +10453,8 @@ const Ln = ({
|
|
|
10445
10453
|
...r,
|
|
10446
10454
|
[A.name]: i
|
|
10447
10455
|
}), h();
|
|
10448
|
-
},
|
|
10449
|
-
o(
|
|
10456
|
+
}, m = (v) => {
|
|
10457
|
+
o(v.target.value), A.validation && c(A.validation(v.target.value));
|
|
10450
10458
|
};
|
|
10451
10459
|
return /* @__PURE__ */ t(
|
|
10452
10460
|
zA,
|
|
@@ -10464,7 +10472,7 @@ const Ln = ({
|
|
|
10464
10472
|
}
|
|
10465
10473
|
);
|
|
10466
10474
|
}, e1 = x(A1), t1 = () => {
|
|
10467
|
-
const A = window.app?.config, { onEvent: e } =
|
|
10475
|
+
const A = window.app?.config, { onEvent: e } = V(), { selectedAccount: n } = se(), a = cu(n), r = n.member_is_managed_by_user || !n.member_is_managed_by_user && A.enable_renaming_home_accounts, [i, o] = g.useState(!1), [s, c] = g.useState(a[0]), l = a.filter(
|
|
10468
10476
|
(d) => r || n[d.name] || n[d.name] === 0
|
|
10469
10477
|
);
|
|
10470
10478
|
return /* @__PURE__ */ u(aA, { children: [
|
|
@@ -10506,7 +10514,7 @@ const Ln = ({
|
|
|
10506
10514
|
)
|
|
10507
10515
|
] });
|
|
10508
10516
|
}, n1 = x(t1), a1 = () => {
|
|
10509
|
-
const { onEvent: A } =
|
|
10517
|
+
const { onEvent: A } = V();
|
|
10510
10518
|
return g.useEffect(() => A(J.ACCOUNT_DETAILS_VIEW), []), /* @__PURE__ */ u(oA, { children: [
|
|
10511
10519
|
/* @__PURE__ */ t(n1, {}),
|
|
10512
10520
|
/* @__PURE__ */ t($u, {}),
|
|
@@ -10572,7 +10580,7 @@ const Ln = ({
|
|
|
10572
10580
|
aria_close: "Close",
|
|
10573
10581
|
transaction_drawer_title: "Transaction Details"
|
|
10574
10582
|
}, c1 = () => {
|
|
10575
|
-
const [A, e] = g.useState(""), { onEvent: n } =
|
|
10583
|
+
const [A, e] = g.useState(""), { onEvent: n } = V(), { selectedAccount: a } = se(), { setFilter: r, sortedTransactions: i } = uA(), o = g.useMemo(() => i.find((s) => s.guid === A), [A]);
|
|
10576
10584
|
return g.useEffect(() => {
|
|
10577
10585
|
r({
|
|
10578
10586
|
dateRange: { start: ts(ns(), 90), end: as() },
|
|
@@ -10652,10 +10660,10 @@ const Ln = ({
|
|
|
10652
10660
|
}, C1 = (A, e) => {
|
|
10653
10661
|
const n = A.filter(Qi);
|
|
10654
10662
|
return Ea(n);
|
|
10655
|
-
}, f1 = (A) => A.filter((e) => e.category_guid === e.top_level_category_guid),
|
|
10663
|
+
}, f1 = (A) => A.filter((e) => e.category_guid === e.top_level_category_guid), m1 = (A, e) => {
|
|
10656
10664
|
const n = typeof A == "string" ? parseFloat(A.replace(/[^0-9.-]+/g, "")) : A, a = typeof e == "string" ? parseFloat(e.replace(/[^0-9.-]+/g, "")) : e;
|
|
10657
10665
|
return (n || 0) - (a || 0);
|
|
10658
|
-
},
|
|
10666
|
+
}, v1 = (A, e) => {
|
|
10659
10667
|
const n = ea.includes(e) ? h1(A) : [], a = ta.includes(e) ? g1(A) : [], r = na.includes(e) ? C1(A) : [];
|
|
10660
10668
|
return [n, a, r].filter((i) => i.length > 0);
|
|
10661
10669
|
}, On = {
|
|
@@ -10677,7 +10685,7 @@ const Ln = ({
|
|
|
10677
10685
|
}
|
|
10678
10686
|
return o;
|
|
10679
10687
|
}, y1 = () => {
|
|
10680
|
-
const A = ze(), { selectedAccount: e } = se(), { monthlyCategoryTotals: n } = xA(), a = [A.palette.chart?.chart1, A.palette.chart?.chart2], r =
|
|
10688
|
+
const A = ze(), { selectedAccount: e } = se(), { monthlyCategoryTotals: n } = xA(), a = [A.palette.chart?.chart1, A.palette.chart?.chart2], r = v1(n, e.account_type), i = p1(r, e.account_type), o = [Q.LOAN, Q.MORTGAGE].includes(e.account_type);
|
|
10681
10689
|
return /* @__PURE__ */ t("div", { "data-testid": "TrendsChart", children: /* @__PURE__ */ t(
|
|
10682
10690
|
ra,
|
|
10683
10691
|
{
|
|
@@ -10760,7 +10768,7 @@ const Ln = ({
|
|
|
10760
10768
|
}, I1 = (A) => ({
|
|
10761
10769
|
list_aria: `${A[0]} accounts`
|
|
10762
10770
|
}), D1 = () => {
|
|
10763
|
-
const [A, e] = g.useState(""), { selectedAccounts: n } =
|
|
10771
|
+
const [A, e] = g.useState(""), { selectedAccounts: n } = mA(), { setSelectedAccount: a, setSelectedMember: r } = se(), { members: i } = DA(), { onEvent: o } = V(), s = [...new Set(n.map((l) => l.account_type))], c = n.find((l) => A === l.guid);
|
|
10764
10772
|
return g.useEffect(() => {
|
|
10765
10773
|
if (c) {
|
|
10766
10774
|
a(c);
|
|
@@ -10769,13 +10777,13 @@ const Ln = ({
|
|
|
10769
10777
|
}
|
|
10770
10778
|
}, [c, A]), /* @__PURE__ */ u(S, { sx: { pt: 24 }, children: [
|
|
10771
10779
|
s.map((l) => {
|
|
10772
|
-
const d = n.filter((
|
|
10773
|
-
(
|
|
10780
|
+
const d = n.filter((m) => m.account_type === l), h = d.reduce(
|
|
10781
|
+
(m, v) => (v.available_balance || v.balance || 0) + m,
|
|
10774
10782
|
0
|
|
10775
|
-
), C = Gt[d[0].account_type], f = (
|
|
10776
|
-
e(
|
|
10777
|
-
account_guid:
|
|
10778
|
-
account_type:
|
|
10783
|
+
), C = Gt[d[0].account_type], f = (m) => {
|
|
10784
|
+
e(m.guid), o(J.ACCOUNTS_CLICK_ACCOUNT, {
|
|
10785
|
+
account_guid: m.guid,
|
|
10786
|
+
account_type: m.account_type
|
|
10779
10787
|
});
|
|
10780
10788
|
};
|
|
10781
10789
|
return /* @__PURE__ */ t(
|
|
@@ -10794,18 +10802,18 @@ const Ln = ({
|
|
|
10794
10802
|
]
|
|
10795
10803
|
}
|
|
10796
10804
|
) }),
|
|
10797
|
-
children: /* @__PURE__ */ t(Ia, { children: d.map((
|
|
10798
|
-
const
|
|
10805
|
+
children: /* @__PURE__ */ t(Ia, { children: d.map((m) => {
|
|
10806
|
+
const v = n.indexOf(m) === n.length - 1, E = d.indexOf(m) === d.length - 1;
|
|
10799
10807
|
return /* @__PURE__ */ u(g.Fragment, { children: [
|
|
10800
10808
|
/* @__PURE__ */ t(
|
|
10801
10809
|
hn,
|
|
10802
10810
|
{
|
|
10803
|
-
account:
|
|
10804
|
-
onRowClick: () => f(
|
|
10811
|
+
account: m,
|
|
10812
|
+
onRowClick: () => f(m),
|
|
10805
10813
|
shouldShowConnectionStatus: !0
|
|
10806
10814
|
}
|
|
10807
10815
|
),
|
|
10808
|
-
!
|
|
10816
|
+
!v && /* @__PURE__ */ t(
|
|
10809
10817
|
q,
|
|
10810
10818
|
{
|
|
10811
10819
|
sx: {
|
|
@@ -10814,7 +10822,7 @@ const Ln = ({
|
|
|
10814
10822
|
}
|
|
10815
10823
|
}
|
|
10816
10824
|
)
|
|
10817
|
-
] },
|
|
10825
|
+
] }, m.guid);
|
|
10818
10826
|
}) })
|
|
10819
10827
|
},
|
|
10820
10828
|
l
|
|
@@ -10882,7 +10890,7 @@ const Ln = ({
|
|
|
10882
10890
|
sync_accounts: "Sync Accounts",
|
|
10883
10891
|
no_accounts: "No accounts available"
|
|
10884
10892
|
}, N1 = ({ onBackClick: A, sx: e = {} }) => {
|
|
10885
|
-
const [n, a] = g.useState(!1), [r, i] = g.useState(!1), { accounts: o, refreshMembers: s } = DA(), { setSelectedAccounts: c, selectedAccountGuids: l } =
|
|
10893
|
+
const [n, a] = g.useState(!1), [r, i] = g.useState(!1), { accounts: o, refreshMembers: s } = DA(), { setSelectedAccounts: c, selectedAccountGuids: l } = mA(), { isDesktop: d } = jA(), { onEvent: h } = V();
|
|
10886
10894
|
g.useEffect(() => {
|
|
10887
10895
|
c(o);
|
|
10888
10896
|
}, [o]);
|
|
@@ -10930,7 +10938,7 @@ const Ln = ({
|
|
|
10930
10938
|
}
|
|
10931
10939
|
);
|
|
10932
10940
|
}, z7 = x(N1), M1 = (A, e) => A.filter((n) => e.includes(n.guid)).slice(0, 3), R1 = ({ onPrimaryCtaClick: A, sx: e }) => {
|
|
10933
|
-
const { accounts: n } = DA(), { selectedAccountGuids: a } =
|
|
10941
|
+
const { accounts: n } = DA(), { selectedAccountGuids: a } = mA(), [r, i] = g.useState(n), o = {
|
|
10934
10942
|
title: "Accounts",
|
|
10935
10943
|
primary_cta: "View Accounts",
|
|
10936
10944
|
no_accounts: "No available accounts"
|
|
@@ -11484,7 +11492,7 @@ class z1 {
|
|
|
11484
11492
|
addAccount = async (e) => {
|
|
11485
11493
|
try {
|
|
11486
11494
|
const n = await this.api.createAccount(e);
|
|
11487
|
-
|
|
11495
|
+
Y(() => {
|
|
11488
11496
|
this.accounts = [...this.accounts, n];
|
|
11489
11497
|
});
|
|
11490
11498
|
} catch (n) {
|
|
@@ -11512,7 +11520,7 @@ class z1 {
|
|
|
11512
11520
|
await this.loadMembers();
|
|
11513
11521
|
try {
|
|
11514
11522
|
const e = await this.api.getAccounts();
|
|
11515
|
-
|
|
11523
|
+
Y(() => {
|
|
11516
11524
|
this.accounts = this.sortAccounts(this.augmentAccounts(e));
|
|
11517
11525
|
});
|
|
11518
11526
|
} catch (e) {
|
|
@@ -11522,7 +11530,7 @@ class z1 {
|
|
|
11522
11530
|
loadInstitutions = async () => {
|
|
11523
11531
|
try {
|
|
11524
11532
|
const e = await this.api.getInstitutions();
|
|
11525
|
-
|
|
11533
|
+
Y(() => {
|
|
11526
11534
|
this.institutions = e;
|
|
11527
11535
|
});
|
|
11528
11536
|
} catch (e) {
|
|
@@ -11532,7 +11540,7 @@ class z1 {
|
|
|
11532
11540
|
loadMembers = async () => {
|
|
11533
11541
|
try {
|
|
11534
11542
|
const e = await this.api.getMembers();
|
|
11535
|
-
|
|
11543
|
+
Y(() => {
|
|
11536
11544
|
this.members = e;
|
|
11537
11545
|
});
|
|
11538
11546
|
} catch (e) {
|
|
@@ -11542,7 +11550,7 @@ class z1 {
|
|
|
11542
11550
|
mergeAccounts = async (e) => {
|
|
11543
11551
|
try {
|
|
11544
11552
|
const n = await this.api.mergeAccounts(e), a = n[Object.keys(n)[0]];
|
|
11545
|
-
|
|
11553
|
+
Y(() => {
|
|
11546
11554
|
const r = this.accounts.findIndex((o) => o.guid === e[1]);
|
|
11547
11555
|
this.accounts.splice(r, 1);
|
|
11548
11556
|
const i = this.accounts.findIndex((o) => o.guid === e[0]);
|
|
@@ -11565,7 +11573,7 @@ class z1 {
|
|
|
11565
11573
|
};
|
|
11566
11574
|
removeAccount = async (e) => {
|
|
11567
11575
|
try {
|
|
11568
|
-
await this.api.deleteAccount(e),
|
|
11576
|
+
await this.api.deleteAccount(e), Y(() => {
|
|
11569
11577
|
const n = this.accounts.findIndex((a) => a.guid === e);
|
|
11570
11578
|
this.accounts.splice(n, 1);
|
|
11571
11579
|
});
|
|
@@ -11576,7 +11584,7 @@ class z1 {
|
|
|
11576
11584
|
updateAccount = async (e) => {
|
|
11577
11585
|
try {
|
|
11578
11586
|
const n = await this.api.updateAccount(e);
|
|
11579
|
-
|
|
11587
|
+
Y(() => {
|
|
11580
11588
|
const a = this.accounts.findIndex(
|
|
11581
11589
|
(r) => r.guid === n.guid
|
|
11582
11590
|
);
|
|
@@ -11750,7 +11758,7 @@ const Or = {
|
|
|
11750
11758
|
},
|
|
11751
11759
|
shouldShowZeroState: n
|
|
11752
11760
|
}) => {
|
|
11753
|
-
const a = fA(), { budgets: r } = nn(), { categories: i } = xA(), { isInitialized: o } =
|
|
11761
|
+
const a = fA(), { budgets: r } = nn(), { categories: i } = xA(), { isInitialized: o } = mA(), { availableHeight: s, availableWidth: c } = bt(), [l, d] = g.useState(!1), h = g.useMemo(
|
|
11754
11762
|
() => k1(r, i, a),
|
|
11755
11763
|
[r, s, c]
|
|
11756
11764
|
), [C, f] = g.useMemo(() => [450, c - 24], [s, c]);
|
|
@@ -11799,7 +11807,7 @@ const zt = {
|
|
|
11799
11807
|
good_morning: "Good morning!",
|
|
11800
11808
|
heres_your_spending_overview: "Here's your monthly financial overview."
|
|
11801
11809
|
}, rh = () => {
|
|
11802
|
-
const { accounts: A } = DA(), { selectedAccountGuids: e, setSelectedAccountGuids: n } =
|
|
11810
|
+
const { accounts: A } = DA(), { selectedAccountGuids: e, setSelectedAccountGuids: n } = mA(), { isMobile: a } = jA(), { common: r } = W(), i = {
|
|
11803
11811
|
accountFilterOptionsCopy: {
|
|
11804
11812
|
accountTypeAccounts: "_1{accountType} accounts",
|
|
11805
11813
|
cancelButton: r.cancel_button,
|
|
@@ -11838,7 +11846,7 @@ const zt = {
|
|
|
11838
11846
|
)
|
|
11839
11847
|
] }) });
|
|
11840
11848
|
}, ih = x(rh), oh = ({ widgets: A, isLoading: e }) => {
|
|
11841
|
-
const { isDesktop: n, isMobile: a } = jA(), { copyStore: r } = an(), { setSelectedAccounts: i } =
|
|
11849
|
+
const { isDesktop: n, isMobile: a } = jA(), { copyStore: r } = an(), { setSelectedAccounts: i } = mA(), { accounts: o } = DA();
|
|
11842
11850
|
g.useEffect(() => {
|
|
11843
11851
|
i(o);
|
|
11844
11852
|
}, [o]);
|
|
@@ -12055,7 +12063,7 @@ const zt = {
|
|
|
12055
12063
|
};
|
|
12056
12064
|
return /* @__PURE__ */ t(ji.Provider, { value: { toastState: e, showToast: a, hideToast: r, setMessage: i }, children: A });
|
|
12057
12065
|
}, Wi = () => {
|
|
12058
|
-
const A =
|
|
12066
|
+
const A = mo(ji);
|
|
12059
12067
|
if (!A)
|
|
12060
12068
|
throw new Error("useToast must be used within a ToastProvider");
|
|
12061
12069
|
return A;
|
|
@@ -12161,25 +12169,25 @@ const Yi = ({
|
|
|
12161
12169
|
he(() => {
|
|
12162
12170
|
f && !r && d(c);
|
|
12163
12171
|
}, [f, r, c, d]);
|
|
12164
|
-
const
|
|
12172
|
+
const m = (w) => {
|
|
12165
12173
|
const { name: I, checked: D } = w.target;
|
|
12166
12174
|
d((O) => ({
|
|
12167
12175
|
...O,
|
|
12168
12176
|
[I]: D
|
|
12169
12177
|
}));
|
|
12170
|
-
},
|
|
12178
|
+
}, v = Object.values(l).filter(Boolean).length, E = () => {
|
|
12171
12179
|
d(c), i();
|
|
12172
12180
|
}, L = () => {
|
|
12173
12181
|
const w = e.reduce(
|
|
12174
12182
|
(I, D) => ({
|
|
12175
12183
|
...I,
|
|
12176
|
-
[D.name]:
|
|
12184
|
+
[D.name]: v !== e.length
|
|
12177
12185
|
}),
|
|
12178
12186
|
{}
|
|
12179
12187
|
);
|
|
12180
12188
|
d(w);
|
|
12181
12189
|
}, b = () => {
|
|
12182
|
-
const w =
|
|
12190
|
+
const w = v === e.length;
|
|
12183
12191
|
n(
|
|
12184
12192
|
Object.keys(l).filter((I) => l[I]),
|
|
12185
12193
|
w
|
|
@@ -12242,7 +12250,7 @@ const Yi = ({
|
|
|
12242
12250
|
fontSize: 13,
|
|
12243
12251
|
minWidth: 0
|
|
12244
12252
|
},
|
|
12245
|
-
children:
|
|
12253
|
+
children: v === e.length ? A.unselect_all : A.select_all
|
|
12246
12254
|
}
|
|
12247
12255
|
)
|
|
12248
12256
|
]
|
|
@@ -12275,7 +12283,7 @@ const Yi = ({
|
|
|
12275
12283
|
role: "checkbox"
|
|
12276
12284
|
},
|
|
12277
12285
|
name: w.name,
|
|
12278
|
-
onChange:
|
|
12286
|
+
onChange: m,
|
|
12279
12287
|
size: "small"
|
|
12280
12288
|
}
|
|
12281
12289
|
)
|
|
@@ -12313,12 +12321,12 @@ const Yi = ({
|
|
|
12313
12321
|
ai,
|
|
12314
12322
|
{
|
|
12315
12323
|
color: "primary",
|
|
12316
|
-
disabled:
|
|
12324
|
+
disabled: v === 0,
|
|
12317
12325
|
fullWidth: !0,
|
|
12318
12326
|
loading: r,
|
|
12319
12327
|
onClick: b,
|
|
12320
12328
|
variant: "contained",
|
|
12321
|
-
children:
|
|
12329
|
+
children: v > 0 ? `${A.show} ${v} ${v > 1 ? A.hidden_insights : A.hidden_insight}` : A.show_insights
|
|
12322
12330
|
}
|
|
12323
12331
|
)
|
|
12324
12332
|
]
|
|
@@ -12397,13 +12405,13 @@ const Yi = ({
|
|
|
12397
12405
|
e,
|
|
12398
12406
|
n
|
|
12399
12407
|
];
|
|
12400
|
-
},
|
|
12408
|
+
}, mh = ({ content: A, disabledBeatTemplatesStore: e }) => {
|
|
12401
12409
|
const {
|
|
12402
12410
|
items: n,
|
|
12403
12411
|
update: a,
|
|
12404
12412
|
isUpdateError: r,
|
|
12405
12413
|
isUpdateLoading: i
|
|
12406
|
-
} = e, [o, s, c] = fh(n), { toastState: l, showToast: d, hideToast: h, setMessage: C } = Wi(), [f,
|
|
12414
|
+
} = e, [o, s, c] = fh(n), { toastState: l, showToast: d, hideToast: h, setMessage: C } = Wi(), [f, m] = g.useState(!1), [v, E] = g.useState(!1), [L, b] = g.useState(""), [w, I] = g.useState(""), D = hi(i);
|
|
12407
12415
|
he(() => {
|
|
12408
12416
|
D && !i && (r ? d(A.something_went_wrong, "error") : d(void 0, "success"));
|
|
12409
12417
|
}, [D, r]);
|
|
@@ -12425,7 +12433,7 @@ const Yi = ({
|
|
|
12425
12433
|
iconName: "visibility_off_outlined",
|
|
12426
12434
|
itemCount: n.length,
|
|
12427
12435
|
label: A.manage_hidden_insights,
|
|
12428
|
-
onClick: () =>
|
|
12436
|
+
onClick: () => m(!0)
|
|
12429
12437
|
}
|
|
12430
12438
|
),
|
|
12431
12439
|
/* @__PURE__ */ u(
|
|
@@ -12433,7 +12441,7 @@ const Yi = ({
|
|
|
12433
12441
|
{
|
|
12434
12442
|
ariaLabelClose: A.close,
|
|
12435
12443
|
isOpen: f,
|
|
12436
|
-
onClose: () =>
|
|
12444
|
+
onClose: () => m(!1),
|
|
12437
12445
|
shouldShowHeaderBorders: !1,
|
|
12438
12446
|
sx: {
|
|
12439
12447
|
"& .MuiDrawer-paper": {
|
|
@@ -12513,7 +12521,7 @@ const Yi = ({
|
|
|
12513
12521
|
content: A,
|
|
12514
12522
|
disabledBeatTemplates: w !== "" ? o.filter((R) => R.key === L)[0].subcategories.filter((R) => R.key === w)[0].beats : [],
|
|
12515
12523
|
handleEnableBeatTemplates: B,
|
|
12516
|
-
isOpen:
|
|
12524
|
+
isOpen: v,
|
|
12517
12525
|
isUpdateLoading: i,
|
|
12518
12526
|
onClose: $,
|
|
12519
12527
|
translatedSubCatetgory: c[w]
|
|
@@ -12528,12 +12536,12 @@ const Yi = ({
|
|
|
12528
12536
|
disabledBeatTemplatesStore: e,
|
|
12529
12537
|
useDarkMode: n = !1
|
|
12530
12538
|
}) => /* @__PURE__ */ t(Aa, { theme: Lt(n ? "dark" : "light"), children: /* @__PURE__ */ t(ch, { children: /* @__PURE__ */ t(
|
|
12531
|
-
|
|
12539
|
+
mh,
|
|
12532
12540
|
{
|
|
12533
12541
|
content: A,
|
|
12534
12542
|
disabledBeatTemplatesStore: e
|
|
12535
12543
|
}
|
|
12536
|
-
) }) }),
|
|
12544
|
+
) }) }), vh = ({
|
|
12537
12545
|
children: A,
|
|
12538
12546
|
content: e,
|
|
12539
12547
|
isOpen: n = !1,
|
|
@@ -12553,7 +12561,7 @@ const Yi = ({
|
|
|
12553
12561
|
A
|
|
12554
12562
|
] })
|
|
12555
12563
|
}
|
|
12556
|
-
) }), F7 = x(
|
|
12564
|
+
) }), F7 = x(vh), U7 = ({
|
|
12557
12565
|
accountGuid: A,
|
|
12558
12566
|
animation: e,
|
|
12559
12567
|
leftLowerText: n,
|
|
@@ -12574,7 +12582,7 @@ const Yi = ({
|
|
|
12574
12582
|
},
|
|
12575
12583
|
padding: o ? "12px 16px 12px 16px" : "32px 16px 16px 16px"
|
|
12576
12584
|
}, C = /* @__PURE__ */ t(
|
|
12577
|
-
|
|
12585
|
+
vA,
|
|
12578
12586
|
{
|
|
12579
12587
|
bold: !0,
|
|
12580
12588
|
"data-ui-test": "mx-insights-sudd-full-feed-body-header-text",
|
|
@@ -12597,7 +12605,7 @@ const Yi = ({
|
|
|
12597
12605
|
width: h.logoSize
|
|
12598
12606
|
}
|
|
12599
12607
|
),
|
|
12600
|
-
/* @__PURE__ */ t(
|
|
12608
|
+
/* @__PURE__ */ t(vA, { bold: !0, "data-ui-test": "mx-insights-sudd-mini-body-header-text", children: s })
|
|
12601
12609
|
]
|
|
12602
12610
|
}
|
|
12603
12611
|
);
|
|
@@ -12611,26 +12619,26 @@ const Yi = ({
|
|
|
12611
12619
|
position: "relative",
|
|
12612
12620
|
width: "calc(100%-32px)"
|
|
12613
12621
|
},
|
|
12614
|
-
children: /* @__PURE__ */ t(Ms, { children: ({ height:
|
|
12622
|
+
children: /* @__PURE__ */ t(Ms, { children: ({ height: m, width: v }) => /* @__PURE__ */ u(g.Fragment, { children: [
|
|
12615
12623
|
/* @__PURE__ */ t(
|
|
12616
12624
|
Ns,
|
|
12617
12625
|
{
|
|
12618
12626
|
"aria-hidden": !0,
|
|
12619
12627
|
colors: ["#3F9FEB", "#C331B6", "#30C434", "#F1CE31", "#EE3B7C"],
|
|
12620
12628
|
confettiSource: {
|
|
12621
|
-
x:
|
|
12622
|
-
y:
|
|
12629
|
+
x: v / 2,
|
|
12630
|
+
y: m / 2,
|
|
12623
12631
|
w: 20,
|
|
12624
12632
|
h: 20
|
|
12625
12633
|
},
|
|
12626
12634
|
gravity: 0.05,
|
|
12627
|
-
height:
|
|
12635
|
+
height: m,
|
|
12628
12636
|
initialVelocityX: 7,
|
|
12629
12637
|
initialVelocityY: 8,
|
|
12630
12638
|
numberOfPieces: 200,
|
|
12631
12639
|
recycle: !1,
|
|
12632
12640
|
run: e.shouldRun,
|
|
12633
|
-
width:
|
|
12641
|
+
width: v
|
|
12634
12642
|
}
|
|
12635
12643
|
),
|
|
12636
12644
|
!o && /* @__PURE__ */ t(
|
|
@@ -12642,7 +12650,7 @@ const Yi = ({
|
|
|
12642
12650
|
position: "absolute",
|
|
12643
12651
|
right: 0,
|
|
12644
12652
|
top: 0,
|
|
12645
|
-
width:
|
|
12653
|
+
width: v,
|
|
12646
12654
|
zIndex: 10
|
|
12647
12655
|
},
|
|
12648
12656
|
children: /* @__PURE__ */ t(
|
|
@@ -12672,7 +12680,7 @@ const Yi = ({
|
|
|
12672
12680
|
left: 16,
|
|
12673
12681
|
padding: h.padding,
|
|
12674
12682
|
top: 24,
|
|
12675
|
-
width:
|
|
12683
|
+
width: v
|
|
12676
12684
|
},
|
|
12677
12685
|
children: [
|
|
12678
12686
|
o ? f : C,
|
|
@@ -12697,7 +12705,7 @@ const Yi = ({
|
|
|
12697
12705
|
},
|
|
12698
12706
|
children: [
|
|
12699
12707
|
/* @__PURE__ */ t(
|
|
12700
|
-
|
|
12708
|
+
vA,
|
|
12701
12709
|
{
|
|
12702
12710
|
"data-ui-test": "mx-insights-sudd-left-upper-text",
|
|
12703
12711
|
sx: { color: d.palette.secondary.darker },
|
|
@@ -12705,7 +12713,7 @@ const Yi = ({
|
|
|
12705
12713
|
children: a
|
|
12706
12714
|
}
|
|
12707
12715
|
),
|
|
12708
|
-
/* @__PURE__ */ t(
|
|
12716
|
+
/* @__PURE__ */ t(vA, { bold: !0, "data-ui-test": "mx-insights-sudd-left-lower-text", variant: "Small", children: n })
|
|
12709
12717
|
]
|
|
12710
12718
|
}
|
|
12711
12719
|
),
|
|
@@ -12723,7 +12731,7 @@ const Yi = ({
|
|
|
12723
12731
|
},
|
|
12724
12732
|
children: [
|
|
12725
12733
|
/* @__PURE__ */ t(
|
|
12726
|
-
|
|
12734
|
+
vA,
|
|
12727
12735
|
{
|
|
12728
12736
|
"data-ui-test": "mx-insights-sudd-right-upper-text",
|
|
12729
12737
|
sx: { color: d.palette.secondary.darker },
|
|
@@ -12732,7 +12740,7 @@ const Yi = ({
|
|
|
12732
12740
|
}
|
|
12733
12741
|
),
|
|
12734
12742
|
/* @__PURE__ */ t(
|
|
12735
|
-
|
|
12743
|
+
vA,
|
|
12736
12744
|
{
|
|
12737
12745
|
bold: !0,
|
|
12738
12746
|
"data-ui-test": "mx-insights-sudd-right-lower-text",
|
|
@@ -12771,7 +12779,7 @@ class ph {
|
|
|
12771
12779
|
};
|
|
12772
12780
|
loadCopy = async () => {
|
|
12773
12781
|
const e = await this.copyApi.getGlobalCopy(this.namespace, this.translationKey);
|
|
12774
|
-
|
|
12782
|
+
Y(() => {
|
|
12775
12783
|
this.copyObject = e[this.translationKey];
|
|
12776
12784
|
});
|
|
12777
12785
|
};
|
|
@@ -12809,7 +12817,7 @@ const Ta = {
|
|
|
12809
12817
|
...A,
|
|
12810
12818
|
[Vi(e)]: {
|
|
12811
12819
|
action: pe.MICRO_BEAT_CLICKED,
|
|
12812
|
-
category:
|
|
12820
|
+
category: ve.BEAT_INTERACTION,
|
|
12813
12821
|
label: La(e),
|
|
12814
12822
|
value: ee
|
|
12815
12823
|
}
|
|
@@ -12820,7 +12828,7 @@ const Ta = {
|
|
|
12820
12828
|
...A,
|
|
12821
12829
|
[Ji(e)]: {
|
|
12822
12830
|
action: pe.MICRO_BEAT_DISPLAYED,
|
|
12823
|
-
category:
|
|
12831
|
+
category: ve.BEAT_INTERACTION,
|
|
12824
12832
|
label: La(e),
|
|
12825
12833
|
value: ee
|
|
12826
12834
|
}
|
|
@@ -12831,18 +12839,18 @@ const Ta = {
|
|
|
12831
12839
|
...A,
|
|
12832
12840
|
[Zi(e)]: {
|
|
12833
12841
|
action: pe.MICRO_BEAT_DISPLAYED_FIRST_TIME,
|
|
12834
|
-
category:
|
|
12842
|
+
category: ve.BEAT_INTERACTION,
|
|
12835
12843
|
label: La(e),
|
|
12836
12844
|
value: ee
|
|
12837
12845
|
}
|
|
12838
12846
|
}),
|
|
12839
12847
|
{}
|
|
12840
|
-
),
|
|
12848
|
+
), me = {
|
|
12841
12849
|
CARD: "Card",
|
|
12842
12850
|
CAROUSEL_CONTROL: "Carousel Control",
|
|
12843
12851
|
MICRO_WIDGET: "Micro Widget",
|
|
12844
12852
|
VIEW_MORE: "View More"
|
|
12845
|
-
},
|
|
12853
|
+
}, ve = {
|
|
12846
12854
|
MICRO_WIDGET_INTERACTION: "Micro Widget Interaction",
|
|
12847
12855
|
BEAT_INTERACTION: "Beat Interaction"
|
|
12848
12856
|
}, te = {
|
|
@@ -12868,21 +12876,21 @@ const Ta = {
|
|
|
12868
12876
|
MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS: "Micro Widget Carousel No Relevant Insights"
|
|
12869
12877
|
}, Mr = {
|
|
12870
12878
|
[De.MICRO_WIDGET_CAROUSEL]: {
|
|
12871
|
-
label:
|
|
12879
|
+
label: me.MICRO_WIDGET,
|
|
12872
12880
|
name: De.MICRO_WIDGET_CAROUSEL,
|
|
12873
12881
|
path: Nr.INSIGHTS_MICRO_WIDGET,
|
|
12874
12882
|
value: ee
|
|
12875
12883
|
},
|
|
12876
12884
|
// zero state
|
|
12877
12885
|
[De.MICRO_WIDGET_CAROUSEL_ZERO_STATE]: {
|
|
12878
|
-
label:
|
|
12886
|
+
label: me.MICRO_WIDGET,
|
|
12879
12887
|
name: De.MICRO_WIDGET_CAROUSEL_ZERO_STATE,
|
|
12880
12888
|
path: Nr.INSIGHTS_MICRO_WIDGET,
|
|
12881
12889
|
value: ee
|
|
12882
12890
|
},
|
|
12883
12891
|
// no relevant cards
|
|
12884
12892
|
[De.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS]: {
|
|
12885
|
-
label:
|
|
12893
|
+
label: me.MICRO_WIDGET,
|
|
12886
12894
|
name: De.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS,
|
|
12887
12895
|
path: "/micro-widget",
|
|
12888
12896
|
value: ee
|
|
@@ -12891,39 +12899,39 @@ const Ta = {
|
|
|
12891
12899
|
// carousel control interaction events - clicks and swipes
|
|
12892
12900
|
[te.ON_CAROUSEL_BACK_CLICK]: {
|
|
12893
12901
|
action: pe.CONTROL_BACKWARD,
|
|
12894
|
-
category:
|
|
12895
|
-
label:
|
|
12902
|
+
category: ve.MICRO_WIDGET_INTERACTION,
|
|
12903
|
+
label: me.CAROUSEL_CONTROL,
|
|
12896
12904
|
value: ee
|
|
12897
12905
|
},
|
|
12898
12906
|
[te.ON_CAROUSEL_FORWARD_CLICK]: {
|
|
12899
12907
|
action: pe.CONTROL_FORWARD,
|
|
12900
|
-
category:
|
|
12901
|
-
label:
|
|
12908
|
+
category: ve.MICRO_WIDGET_INTERACTION,
|
|
12909
|
+
label: me.CAROUSEL_CONTROL,
|
|
12902
12910
|
value: ee
|
|
12903
12911
|
},
|
|
12904
12912
|
[te.ON_CAROUSEL_BACK_SWIPE]: {
|
|
12905
12913
|
action: pe.SWIPE_BACKWARD,
|
|
12906
|
-
category:
|
|
12907
|
-
label:
|
|
12914
|
+
category: ve.MICRO_WIDGET_INTERACTION,
|
|
12915
|
+
label: me.CAROUSEL_CONTROL,
|
|
12908
12916
|
value: ee
|
|
12909
12917
|
},
|
|
12910
12918
|
[te.ON_CAROUSEL_FORWARD_SWIPE]: {
|
|
12911
12919
|
action: pe.SWIPE_FORWARD,
|
|
12912
|
-
category:
|
|
12913
|
-
label:
|
|
12920
|
+
category: ve.MICRO_WIDGET_INTERACTION,
|
|
12921
|
+
label: me.CAROUSEL_CONTROL,
|
|
12914
12922
|
value: ee
|
|
12915
12923
|
},
|
|
12916
12924
|
// read more card events
|
|
12917
12925
|
[te.ON_VIEW_MORE_CLICKED]: {
|
|
12918
12926
|
action: pe.MICRO_BEAT_CLICKED,
|
|
12919
|
-
category:
|
|
12920
|
-
label:
|
|
12927
|
+
category: ve.BEAT_INTERACTION,
|
|
12928
|
+
label: me.VIEW_MORE,
|
|
12921
12929
|
value: ee
|
|
12922
12930
|
},
|
|
12923
12931
|
[$i.ON_VIEW_MORE_VIEWED]: {
|
|
12924
12932
|
action: pe.MICRO_BEAT_DISPLAYED,
|
|
12925
|
-
category:
|
|
12926
|
-
label:
|
|
12933
|
+
category: ve.BEAT_INTERACTION,
|
|
12934
|
+
label: me.VIEW_MORE,
|
|
12927
12935
|
value: ee
|
|
12928
12936
|
},
|
|
12929
12937
|
...yh(),
|
|
@@ -12952,7 +12960,7 @@ class bh {
|
|
|
12952
12960
|
bA(this), this.copyStore = new ph(), this.insightsMicroWidgetStore = new Sh();
|
|
12953
12961
|
}
|
|
12954
12962
|
initialize = async (e, n) => {
|
|
12955
|
-
await this.copyStore.initialize(e, n), await this.insightsMicroWidgetStore.initialize(e, n), this.session = await zs(e, n, "1.0.0", "Micro Insights Carousel"),
|
|
12963
|
+
await this.copyStore.initialize(e, n), await this.insightsMicroWidgetStore.initialize(e, n), this.session = await zs(e, n, "1.0.0", "Micro Insights Carousel"), Y(() => {
|
|
12956
12964
|
this.isInitialized = !0;
|
|
12957
12965
|
});
|
|
12958
12966
|
};
|
|
@@ -13855,22 +13863,22 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
13855
13863
|
variant: h,
|
|
13856
13864
|
widthOverrides: C
|
|
13857
13865
|
}) => {
|
|
13858
|
-
const f = window.app?.config.client_guid, { ref:
|
|
13866
|
+
const f = window.app?.config.client_guid, { ref: m, inView: v } = ri({
|
|
13859
13867
|
threshold: to
|
|
13860
13868
|
}), { cardsCopy: E } = Ue(), { onEvent: L } = Ot(), { updateBeat: b } = zh();
|
|
13861
13869
|
he(() => {
|
|
13862
|
-
|
|
13870
|
+
v && (n.has_been_displayed ? L(Ji(n.template)) : (b({
|
|
13863
13871
|
...n,
|
|
13864
13872
|
has_been_displayed: !0
|
|
13865
13873
|
}), L(Zi(n.template))));
|
|
13866
|
-
}, [
|
|
13867
|
-
l?.capture &&
|
|
13874
|
+
}, [v]), he(() => {
|
|
13875
|
+
l?.capture && v && n && f && l.capture("micro_widget_viewed_insight", {
|
|
13868
13876
|
beat_guid: n.guid,
|
|
13869
13877
|
insight_template: n.template,
|
|
13870
13878
|
position: o,
|
|
13871
13879
|
$groups: { client: f }
|
|
13872
13880
|
});
|
|
13873
|
-
}, [n, f, l, o,
|
|
13881
|
+
}, [n, f, l, o, v]);
|
|
13874
13882
|
const w = () => {
|
|
13875
13883
|
c && c(n), L(Vi(n.template)), l?.capture && f && l.capture("micro_widget_clicked_insight", {
|
|
13876
13884
|
beat_guid: n.guid,
|
|
@@ -13899,7 +13907,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
13899
13907
|
),
|
|
13900
13908
|
isActiveCard: s,
|
|
13901
13909
|
onCardClick: w,
|
|
13902
|
-
ref:
|
|
13910
|
+
ref: m,
|
|
13903
13911
|
showCTAColocatedWithText: r,
|
|
13904
13912
|
showIcon: d,
|
|
13905
13913
|
title: n.micro_title && n.micro_title.length > 0 ? n.micro_title : n.title,
|
|
@@ -13934,15 +13942,15 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
13934
13942
|
)
|
|
13935
13943
|
}
|
|
13936
13944
|
),
|
|
13937
|
-
Array.from({ length: n }).map((f,
|
|
13945
|
+
Array.from({ length: n }).map((f, m) => /* @__PURE__ */ t(
|
|
13938
13946
|
"div",
|
|
13939
13947
|
{
|
|
13940
13948
|
className: "mx-insights-micro-carousel-dots",
|
|
13941
13949
|
style: {
|
|
13942
|
-
backgroundColor:
|
|
13950
|
+
backgroundColor: m === e ? C : h
|
|
13943
13951
|
}
|
|
13944
13952
|
},
|
|
13945
|
-
`carousel-button-${
|
|
13953
|
+
`carousel-button-${m}`
|
|
13946
13954
|
)),
|
|
13947
13955
|
/* @__PURE__ */ t(
|
|
13948
13956
|
HA,
|
|
@@ -13991,7 +13999,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
13991
13999
|
variant: l,
|
|
13992
14000
|
widthOverrides: d
|
|
13993
14001
|
}) => {
|
|
13994
|
-
const h = Xh(a, c, d), C = g.useRef(null), [f,
|
|
14002
|
+
const h = Xh(a, c, d), C = g.useRef(null), [f, m] = g.useState(0), [v, E] = g.useState(null), [L, b] = g.useState(null), { carouselCopy: w } = Ue(), { onEvent: I } = Ot(), D = () => {
|
|
13995
14003
|
I(te.ON_CAROUSEL_FORWARD_CLICK), C.current && C.current.scrollTo({
|
|
13996
14004
|
left: (
|
|
13997
14005
|
// Adds the flex gap to the carousel ulRef's width
|
|
@@ -14007,10 +14015,10 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14007
14015
|
behavior: "smooth"
|
|
14008
14016
|
});
|
|
14009
14017
|
}, k = () => {
|
|
14010
|
-
C.current &&
|
|
14018
|
+
C.current && m(C.current.scrollLeft);
|
|
14011
14019
|
}, $ = () => {
|
|
14012
|
-
if (!L || !
|
|
14013
|
-
L -
|
|
14020
|
+
if (!L || !v) return;
|
|
14021
|
+
L - v > Hh ? I(te.ON_CAROUSEL_FORWARD_SWIPE) : I(te.ON_CAROUSEL_BACK_SWIPE);
|
|
14014
14022
|
}, B = (rA) => {
|
|
14015
14023
|
E(rA.targetTouches[0].clientX);
|
|
14016
14024
|
}, R = (rA) => {
|
|
@@ -14116,14 +14124,14 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14116
14124
|
style: h = {},
|
|
14117
14125
|
fontColors: C = {},
|
|
14118
14126
|
title: f,
|
|
14119
|
-
variant:
|
|
14120
|
-
widthOverrides:
|
|
14127
|
+
variant: m,
|
|
14128
|
+
widthOverrides: v
|
|
14121
14129
|
}, E) {
|
|
14122
14130
|
const [L, b] = g.useState(1);
|
|
14123
14131
|
g.useEffect(() => {
|
|
14124
|
-
|
|
14125
|
-
}, [
|
|
14126
|
-
const { cardStyle: w, linkTextStyle: I } = h, D =
|
|
14132
|
+
v && v <= 325 && b(3), v && v > 325 && b(2);
|
|
14133
|
+
}, [v]);
|
|
14134
|
+
const { cardStyle: w, linkTextStyle: I } = h, D = m ? w : { border: "none", boxShadow: "none", ...w }, O = Qh(
|
|
14127
14135
|
D,
|
|
14128
14136
|
r,
|
|
14129
14137
|
C,
|
|
@@ -14142,13 +14150,13 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14142
14150
|
tabIndex: c ? 0 : -1,
|
|
14143
14151
|
children: [
|
|
14144
14152
|
n && /* @__PURE__ */ t("span", { "aria-label": n, style: { visibility: "hidden" } }),
|
|
14145
|
-
/* @__PURE__ */ u(Je, { className: "mx-micro-card", sx: { backgroundColor: a }, variant:
|
|
14153
|
+
/* @__PURE__ */ u(Je, { className: "mx-micro-card", sx: { backgroundColor: a }, variant: m, children: [
|
|
14146
14154
|
/* @__PURE__ */ t(
|
|
14147
14155
|
Qn,
|
|
14148
14156
|
{
|
|
14149
14157
|
avatar: d && s,
|
|
14150
14158
|
subheader: /* @__PURE__ */ t("div", { className: "mx-micro-content-container", children: /* @__PURE__ */ t(
|
|
14151
|
-
|
|
14159
|
+
vA,
|
|
14152
14160
|
{
|
|
14153
14161
|
className: "mx-micro-card-description",
|
|
14154
14162
|
color: C.textColor ? "undefined" : "text.primary",
|
|
@@ -14325,8 +14333,8 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14325
14333
|
showCarouselControls: h,
|
|
14326
14334
|
showHeader: C,
|
|
14327
14335
|
showIcon: f,
|
|
14328
|
-
showWithMargin:
|
|
14329
|
-
token:
|
|
14336
|
+
showWithMargin: m = !0,
|
|
14337
|
+
token: v = "",
|
|
14330
14338
|
useDarkMode: E,
|
|
14331
14339
|
userHasFullInsightFeedBeats: L,
|
|
14332
14340
|
variant: b,
|
|
@@ -14334,8 +14342,8 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14334
14342
|
}) => {
|
|
14335
14343
|
const [I, D] = de("STANDARD"), [O, k] = de(!1), $ = ec([s], ke), B = tc([c], ke);
|
|
14336
14344
|
g.useEffect(() => {
|
|
14337
|
-
ke.initialize(r,
|
|
14338
|
-
}, [r,
|
|
14345
|
+
ke.initialize(r, v);
|
|
14346
|
+
}, [r, v]), g.useEffect(() => {
|
|
14339
14347
|
const K = window.innerHeight;
|
|
14340
14348
|
K < 180 ? D("STANDARD") : K >= 180 && K < 200 ? D("LARGE") : K >= 200 && K < 248 ? D("XLARGE") : K >= 248 && D("XXLARGE");
|
|
14341
14349
|
}, []), g.useEffect(() => {
|
|
@@ -14346,7 +14354,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14346
14354
|
heightOverrides: i,
|
|
14347
14355
|
onCardClick: o,
|
|
14348
14356
|
showIcon: f,
|
|
14349
|
-
showWithMargin:
|
|
14357
|
+
showWithMargin: m,
|
|
14350
14358
|
useDarkMode: E,
|
|
14351
14359
|
widthOverrides: w
|
|
14352
14360
|
}, z = {
|
|
@@ -14412,7 +14420,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14412
14420
|
g.useEffect(() => {
|
|
14413
14421
|
C(De.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS);
|
|
14414
14422
|
}, []);
|
|
14415
|
-
const
|
|
14423
|
+
const m = () => {
|
|
14416
14424
|
r && r(), h(te.ON_NO_RELEVANT_INSIGHTS_CLICKED), i?.capture && f && i.capture("micro_widget_clicked_insight", {
|
|
14417
14425
|
insight_template: "no_relevant_insights",
|
|
14418
14426
|
$groups: { client: f }
|
|
@@ -14427,7 +14435,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14427
14435
|
fontColors: { buttonColor: n?.primary_300 },
|
|
14428
14436
|
heightOverrides: a,
|
|
14429
14437
|
icon: /* @__PURE__ */ t(Ao, {}),
|
|
14430
|
-
onCardClick:
|
|
14438
|
+
onCardClick: m,
|
|
14431
14439
|
showIcon: o,
|
|
14432
14440
|
style: {
|
|
14433
14441
|
cardStyle: {
|
|
@@ -14462,17 +14470,17 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14462
14470
|
}) => {
|
|
14463
14471
|
const l = SA(), d = window.app?.config.client_guid, { ref: h, inView: C } = ri({
|
|
14464
14472
|
threshold: to
|
|
14465
|
-
}), { cardsCopy: f } = Ue(), { onEvent:
|
|
14473
|
+
}), { cardsCopy: f } = Ue(), { onEvent: m } = Ot();
|
|
14466
14474
|
he(() => {
|
|
14467
|
-
C &&
|
|
14475
|
+
C && m($i.ON_VIEW_MORE_VIEWED);
|
|
14468
14476
|
}, [C]), he(() => {
|
|
14469
14477
|
i?.capture && C && d && i.capture("micro_widget_viewed_insight", {
|
|
14470
14478
|
insight_template: "read_more_card",
|
|
14471
14479
|
$groups: { client: d }
|
|
14472
14480
|
});
|
|
14473
14481
|
}, [d, i, C]);
|
|
14474
|
-
const
|
|
14475
|
-
r && r(),
|
|
14482
|
+
const v = () => {
|
|
14483
|
+
r && r(), m(te.ON_VIEW_MORE_CLICKED), i?.capture && d && i.capture("micro_widget_clicked_insight", {
|
|
14476
14484
|
insight_template: "read_more_card",
|
|
14477
14485
|
$groups: { client: d }
|
|
14478
14486
|
});
|
|
@@ -14492,7 +14500,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14492
14500
|
}
|
|
14493
14501
|
),
|
|
14494
14502
|
isActiveCard: A,
|
|
14495
|
-
onCardClick:
|
|
14503
|
+
onCardClick: v,
|
|
14496
14504
|
ref: h,
|
|
14497
14505
|
showIcon: o,
|
|
14498
14506
|
title: f.view_more_card_title,
|
|
@@ -14580,7 +14588,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14580
14588
|
}, s3 = x(o3), c3 = ({ onBackClick: A }) => {
|
|
14581
14589
|
const { accounts: e } = DA(), { isInitialized: n } = an(), { netWorthData: a, netWorthChartData: r, netWorthMonthlyList: i } = Hc(), [o, s] = g.useState(!1);
|
|
14582
14590
|
return g.useEffect(() => {
|
|
14583
|
-
n && (console.log(a), s(!0));
|
|
14591
|
+
n && (console.log(`networth in widget is ${JSON.stringify(a)}`), s(!0));
|
|
14584
14592
|
}, [n, i]), !n || !o ? /* @__PURE__ */ t(Ce, {}) : /* @__PURE__ */ u(Re, { accountOptions: e, onBackClick: A, sx: { px: 16 }, children: [
|
|
14585
14593
|
/* @__PURE__ */ t(S, { children: /* @__PURE__ */ t(n3, { chartData: r }) }),
|
|
14586
14594
|
/* @__PURE__ */ t(S, { children: /* @__PURE__ */ t(s3, { netWorthList: i }) })
|
|
@@ -14682,11 +14690,11 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14682
14690
|
const c = at(), { isTablet: l } = jA(), d = {
|
|
14683
14691
|
view_transactions: "View Transactions"
|
|
14684
14692
|
}, h = g.useMemo(
|
|
14685
|
-
() => r ? A.categoryData.find((
|
|
14693
|
+
() => r ? A.categoryData.find((v) => v.guid === r) : void 0,
|
|
14686
14694
|
[r]
|
|
14687
14695
|
), C = g.useMemo(() => A.donutData.length > 0 ? A.donutData : [{ id: "0", color: c.palette.border.light, value: 100 }], [A, c]), f = () => {
|
|
14688
14696
|
a?.(r);
|
|
14689
|
-
},
|
|
14697
|
+
}, m = l ? 32 : 48;
|
|
14690
14698
|
return /* @__PURE__ */ t(wc, { data: C, onClick: n, selectedId: r, size: i, children: /* @__PURE__ */ t(T, { alignItems: "center", height: "100%", justifyContent: "center", width: "100%", children: /* @__PURE__ */ u(T, { alignItems: "center", justifyContent: "center", minHeight: i, minWidth: i, children: [
|
|
14691
14699
|
h && /* @__PURE__ */ u(
|
|
14692
14700
|
T,
|
|
@@ -14702,7 +14710,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14702
14710
|
{
|
|
14703
14711
|
categoryGuid: e ? p.INCOME : h.guid,
|
|
14704
14712
|
color: h.color,
|
|
14705
|
-
size: s === "mini" ? 24 :
|
|
14713
|
+
size: s === "mini" ? 24 : m,
|
|
14706
14714
|
variant: Xr.Transparent
|
|
14707
14715
|
}
|
|
14708
14716
|
),
|
|
@@ -14746,7 +14754,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14746
14754
|
total_income: "Total Income",
|
|
14747
14755
|
total_spending: "Total Spending"
|
|
14748
14756
|
}, d3 = () => {
|
|
14749
|
-
const A = fA(), { selectedAccounts: e } =
|
|
14757
|
+
const A = fA(), { selectedAccounts: e } = mA(), n = g.useMemo(
|
|
14750
14758
|
() => [
|
|
14751
14759
|
A.palette.chartMono.chartMono5,
|
|
14752
14760
|
A.palette.chartMono.chartMono4,
|
|
@@ -14770,10 +14778,10 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14770
14778
|
), h = g.useMemo(
|
|
14771
14779
|
() => ro(a, r, n),
|
|
14772
14780
|
[a, r, n]
|
|
14773
|
-
), C = (
|
|
14774
|
-
l(
|
|
14775
|
-
}, f = (
|
|
14776
|
-
s(o ===
|
|
14781
|
+
), C = (m, v) => {
|
|
14782
|
+
l(v), s("");
|
|
14783
|
+
}, f = (m) => {
|
|
14784
|
+
s(o === m ? "" : m);
|
|
14777
14785
|
};
|
|
14778
14786
|
return /* @__PURE__ */ u(S, { width: "100%", children: [
|
|
14779
14787
|
/* @__PURE__ */ u(rt, { onChange: C, value: c, variant: "fullWidth", children: [
|
|
@@ -14966,15 +14974,15 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14966
14974
|
income_tab_title: "Income",
|
|
14967
14975
|
transactions_drawer_title: "Transactions",
|
|
14968
14976
|
transaction_details_drawer_title: "Transaction Details"
|
|
14969
|
-
},
|
|
14977
|
+
}, m3 = (A) => [
|
|
14970
14978
|
A.palette.chartMono.chartMono5,
|
|
14971
14979
|
A.palette.chartMono.chartMono4,
|
|
14972
14980
|
A.palette.chartMono.chartMono3,
|
|
14973
14981
|
A.palette.chartMono.chartMono2,
|
|
14974
14982
|
A.palette.chartMono.chartMono1,
|
|
14975
14983
|
A.palette.chartMono.chartMono6
|
|
14976
|
-
],
|
|
14977
|
-
const A = at(), { categories: e, dateRangeCategoryTotals: n, loadDateRangeCategoryTotals: a } = xA(), { selectedAccountGuids: r } =
|
|
14984
|
+
], v3 = () => {
|
|
14985
|
+
const A = at(), { categories: e, dateRangeCategoryTotals: n, loadDateRangeCategoryTotals: a } = xA(), { selectedAccountGuids: r } = mA(), { displayedDateRange: i, selectedAccounts: o } = mA(), { setFilter: s, sortedTransactions: c } = uA(), [l, d] = g.useState(""), [h, C] = g.useState(0), [f, m] = g.useState(""), [v, E] = g.useState(!1);
|
|
14978
14986
|
g.useEffect(() => {
|
|
14979
14987
|
a(
|
|
14980
14988
|
o,
|
|
@@ -14986,7 +14994,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14986
14994
|
() => ao(e, n),
|
|
14987
14995
|
[e, n]
|
|
14988
14996
|
), b = g.useMemo(
|
|
14989
|
-
() => ro(e, n,
|
|
14997
|
+
() => ro(e, n, m3(A)),
|
|
14990
14998
|
[e, n]
|
|
14991
14999
|
), w = g.useMemo(
|
|
14992
15000
|
() => c.find((k) => k.guid === f),
|
|
@@ -15058,10 +15066,10 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15058
15066
|
hA,
|
|
15059
15067
|
{
|
|
15060
15068
|
ariaLabelClose: Ie.close_drawer_aria,
|
|
15061
|
-
isOpen:
|
|
15069
|
+
isOpen: v,
|
|
15062
15070
|
onClose: () => E(!1),
|
|
15063
15071
|
title: Ie.transactions_drawer_title,
|
|
15064
|
-
children: /* @__PURE__ */ t(It, { onClick:
|
|
15072
|
+
children: /* @__PURE__ */ t(It, { onClick: m })
|
|
15065
15073
|
}
|
|
15066
15074
|
),
|
|
15067
15075
|
/* @__PURE__ */ t(
|
|
@@ -15069,16 +15077,16 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15069
15077
|
{
|
|
15070
15078
|
ariaLabelClose: Ie.close_drawer_aria,
|
|
15071
15079
|
isOpen: !!w,
|
|
15072
|
-
onClose: () =>
|
|
15080
|
+
onClose: () => m(""),
|
|
15073
15081
|
title: Ie.transaction_details_drawer_title,
|
|
15074
15082
|
children: w && /* @__PURE__ */ t(ln, { transaction: w })
|
|
15075
15083
|
}
|
|
15076
15084
|
)
|
|
15077
15085
|
] });
|
|
15078
|
-
}, p3 = x(
|
|
15086
|
+
}, p3 = x(v3), y3 = {
|
|
15079
15087
|
title: "Spending"
|
|
15080
15088
|
}, E3 = ({ onBackClick: A, sx: e = {} }) => {
|
|
15081
|
-
const { accounts: n } = DA(), { isInitialized: a, setDisplayedDate: r, setSelectedAccounts: i } =
|
|
15089
|
+
const { accounts: n } = DA(), { isInitialized: a, setDisplayedDate: r, setSelectedAccounts: i } = mA(), { onEvent: o } = V(), [s, c] = g.useState(!1);
|
|
15082
15090
|
g.useEffect(() => {
|
|
15083
15091
|
i(n);
|
|
15084
15092
|
}, [n]), g.useEffect(() => {
|
|
@@ -15140,17 +15148,17 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15140
15148
|
sortable: !0,
|
|
15141
15149
|
hideSortIcons: !1,
|
|
15142
15150
|
type: "number",
|
|
15143
|
-
sortComparator:
|
|
15151
|
+
sortComparator: m1
|
|
15144
15152
|
})
|
|
15145
15153
|
)
|
|
15146
15154
|
], c = g.useMemo(() => {
|
|
15147
15155
|
const l = A.reduce(
|
|
15148
15156
|
(d, h) => {
|
|
15149
|
-
const { category_guid: C, top_level_category_guid: f, month:
|
|
15157
|
+
const { category_guid: C, top_level_category_guid: f, month: m, total: v, year: E } = h;
|
|
15150
15158
|
if (C === f) {
|
|
15151
15159
|
d[C] || (d[C] = { id: C, category: C });
|
|
15152
|
-
const L = j(new Date(E,
|
|
15153
|
-
d[C][L] =
|
|
15160
|
+
const L = j(new Date(E, m, 1), F.MONTH_SHORT);
|
|
15161
|
+
d[C][L] = v;
|
|
15154
15162
|
}
|
|
15155
15163
|
return d;
|
|
15156
15164
|
},
|
|
@@ -15177,7 +15185,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15177
15185
|
title: "Trends",
|
|
15178
15186
|
subTitle: "Transaction trends by category"
|
|
15179
15187
|
}, b3 = ({ onBackClick: A, sx: e }) => {
|
|
15180
|
-
const n = ze(), { isDesktop: a, isTablet: r, isMobile: i } = jA(), { accounts: o } = DA(), { categories: s, loadMonthlyCategoryTotals: c, monthlyCategoryTotals: l } = xA(), { isInitialized: d, selectedAccounts: h, setSelectedAccounts: C } =
|
|
15188
|
+
const n = ze(), { isDesktop: a, isTablet: r, isMobile: i } = jA(), { accounts: o } = DA(), { categories: s, loadMonthlyCategoryTotals: c, monthlyCategoryTotals: l } = xA(), { isInitialized: d, selectedAccounts: h, setSelectedAccounts: C } = mA(), f = n.palette.mode === "dark", [m, v] = g.useState(!1), [E, L] = g.useState("Chart"), [b, w] = g.useState({
|
|
15181
15189
|
start: LA(ye(/* @__PURE__ */ new Date(), 5)),
|
|
15182
15190
|
end: OA(/* @__PURE__ */ new Date())
|
|
15183
15191
|
}), I = (R, z) => {
|
|
@@ -15191,7 +15199,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15191
15199
|
b.start,
|
|
15192
15200
|
b.end
|
|
15193
15201
|
).finally(() => {
|
|
15194
|
-
|
|
15202
|
+
v(!0);
|
|
15195
15203
|
});
|
|
15196
15204
|
}, [s, d, h, w]);
|
|
15197
15205
|
const D = g.useMemo(
|
|
@@ -15210,7 +15218,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15210
15218
|
() => br(D.filter(ya)),
|
|
15211
15219
|
[s, l]
|
|
15212
15220
|
);
|
|
15213
|
-
return !d || !
|
|
15221
|
+
return !d || !m ? /* @__PURE__ */ t(Ce, {}) : /* @__PURE__ */ t(
|
|
15214
15222
|
Re,
|
|
15215
15223
|
{
|
|
15216
15224
|
accountOptions: o,
|
|
@@ -15369,7 +15377,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15369
15377
|
subTitle: "Your total spending over the last 6 months",
|
|
15370
15378
|
title: "Spending Overview"
|
|
15371
15379
|
}, P3 = ({ onPrimaryCtaClick: A, sx: e }) => {
|
|
15372
|
-
const { loadMonthlyCategoryTotals: n } = xA(), { isInitialized: a } = an(), { selectedAccounts: r } =
|
|
15380
|
+
const { loadMonthlyCategoryTotals: n } = xA(), { isInitialized: a } = an(), { selectedAccounts: r } = mA(), [i, o] = g.useState(!1);
|
|
15373
15381
|
return g.useEffect(() => {
|
|
15374
15382
|
a && n(r).finally(() => {
|
|
15375
15383
|
o(!0);
|
|
@@ -15409,7 +15417,7 @@ export {
|
|
|
15409
15417
|
qh as BeatCard,
|
|
15410
15418
|
qt as BottomActions,
|
|
15411
15419
|
K7 as BubbleBudgetsMiniWidget,
|
|
15412
|
-
|
|
15420
|
+
mc as Calendar,
|
|
15413
15421
|
Ci as CalendarSelectionTypes,
|
|
15414
15422
|
Uh as CarouselHeader,
|
|
15415
15423
|
pr as CashflowApi,
|
|
@@ -15458,11 +15466,11 @@ export {
|
|
|
15458
15466
|
j7 as InsightsMicroWidget,
|
|
15459
15467
|
Ih as InsightsMicroWidgetDataProvider,
|
|
15460
15468
|
Us as IterationItemTypes,
|
|
15461
|
-
|
|
15469
|
+
m7 as LOADING_STATUS,
|
|
15462
15470
|
ra as LineChart,
|
|
15463
15471
|
Xc as ListItemWrapper,
|
|
15464
15472
|
Ce as Loader,
|
|
15465
|
-
|
|
15473
|
+
v7 as LocalizedCopyApi,
|
|
15466
15474
|
X7 as ManageAccountsDrawer,
|
|
15467
15475
|
qi as ManageIncome,
|
|
15468
15476
|
Pe as MemberConnectionStatus,
|
|
@@ -15530,8 +15538,8 @@ export {
|
|
|
15530
15538
|
Zh as ViewMoreMicroCard,
|
|
15531
15539
|
Fa as WidgetApi,
|
|
15532
15540
|
Re as WidgetContainer,
|
|
15533
|
-
|
|
15534
|
-
|
|
15541
|
+
mi as WidgetContainerContext,
|
|
15542
|
+
vi as WidgetContainerProvider,
|
|
15535
15543
|
A3 as ZeroStateCard,
|
|
15536
15544
|
Ao as ZeroStateIcon,
|
|
15537
15545
|
zs as analyticsSession,
|
|
@@ -15554,11 +15562,11 @@ export {
|
|
|
15554
15562
|
Fe as useCategoryUiStore,
|
|
15555
15563
|
ec as useCombineEvents,
|
|
15556
15564
|
tc as useCombinePageviews,
|
|
15557
|
-
|
|
15565
|
+
V as useEvent,
|
|
15558
15566
|
Vu as useGetMergeableAccounts,
|
|
15559
15567
|
W as useGlobalCopyStore,
|
|
15560
15568
|
an as useGlobalStore,
|
|
15561
|
-
|
|
15569
|
+
mA as useGlobalUiStore,
|
|
15562
15570
|
_c as useMerchantStore,
|
|
15563
15571
|
Hc as useNetWorthStore,
|
|
15564
15572
|
yi as useNotificationStore,
|