@mx-cartographer/experiences 3.7.0-alpha.al2 → 3.7.0-alpha.al4
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 +407 -410
- package/dist/index.es.js.map +1 -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";
|
|
@@ -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, Y = () => ({ 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 } = Y(), { 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",
|
|
@@ -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
|
{
|
|
@@ -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 }),
|
|
@@ -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) => {
|
|
@@ -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 } = Y(), [h, C] = g.useState(!1), [f,
|
|
4725
|
+
} = Fe(), { categories: l } = W(), { onEvent: d } = Y(), [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
|
}
|
|
@@ -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,
|
|
@@ -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,7 +5161,7 @@ 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
|
)
|
|
@@ -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: {
|
|
@@ -5460,8 +5460,8 @@ const Si = ({ transaction: A }) => {
|
|
|
5460
5460
|
onUpdateAmount: a,
|
|
5461
5461
|
split: r
|
|
5462
5462
|
}) => {
|
|
5463
|
-
const i = SA(), { onEvent: o } = Y(), { transactions: s } = W(), [c, l] = g.useState(`${r.amount}`), [d, h] = g.useState(!1), C = A === 0, f = (
|
|
5464
|
-
isNaN(Number(
|
|
5463
|
+
const i = SA(), { onEvent: o } = Y(), { 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
|
|
@@ -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
|
)
|
|
@@ -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 } = Y(), { removeTag: r, updateTag: i } = uA(), { common: o, transactions: s } = W(), [c, l] = g.useState(!1), [d, h] = g.useState(!1), [C, f] = g.useState(""), [
|
|
5817
|
+
const { onEvent: a } = Y(), { 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
|
),
|
|
@@ -5930,18 +5930,18 @@ const Si = ({ transaction: A }) => {
|
|
|
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 }) })
|
|
@@ -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 } = Y(), {
|
|
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 = () => {
|
|
@@ -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 = () => {
|
|
@@ -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 } = Y(), [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 } = Y(), 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 } = Y(), o = Gd(
|
|
7520
7520
|
A,
|
|
7521
7521
|
e,
|
|
7522
7522
|
a,
|
|
@@ -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,8 +7643,8 @@ 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
|
}
|
|
@@ -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 } = Y(), h = e.filter(wn), C = a.filter(wn), f = n.filter(wn),
|
|
7823
|
+
} = kA(), [c, l] = g.useState(0), { onEvent: d } = Y(), 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 } = Y();
|
|
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() },
|
|
@@ -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,7 +8727,7 @@ const uu = ({ activity: A }) => /* @__PURE__ */ u(aA, { children: [
|
|
|
8727
8727
|
]
|
|
8728
8728
|
}
|
|
8729
8729
|
);
|
|
8730
|
-
},
|
|
8730
|
+
}, mu = x(fu), vu = () => {
|
|
8731
8731
|
const { cashflow: A } = W(), { isDesktop: e } = jA(), { onEvent: n } = Y(), [a, r] = g.useState(0), i = (o, s) => {
|
|
8732
8732
|
r(s);
|
|
8733
8733
|
};
|
|
@@ -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 } = Y(), { 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, {})
|
|
@@ -9911,10 +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) =>
|
|
9915
|
-
const a = n.reduce(this._flattenBalances, []), r = n.sort(a, (i) => i.year_month);
|
|
9916
|
-
return console.log(a), r;
|
|
9917
|
-
}).catch((n) => n);
|
|
9914
|
+
getMonthlyAccountBalances = async (e) => this.fetchInstance.get(`${N.ACCOUNTS}/${e.guid}/monthly_account_balances`).then((n) => (console.log(n.monthly_account_balances), n.monthly_account_balances)).catch((n) => n);
|
|
9918
9915
|
getNetWorthChartData = async () => wr.map((n) => ({ x: this.formatMonth(n.x), y: n.y }));
|
|
9919
9916
|
getNetWorthMonthlyList = async () => wr;
|
|
9920
9917
|
_flattenBalances = (e, n) => [
|
|
@@ -10026,12 +10023,12 @@ const Ln = ({
|
|
|
10026
10023
|
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.",
|
|
10027
10024
|
unhide_account: "Unhide Account"
|
|
10028
10025
|
}, Ju = () => {
|
|
10029
|
-
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 } = Y(), f = (
|
|
10026
|
+
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 } = Y(), f = (v) => {
|
|
10030
10027
|
d({
|
|
10031
10028
|
...c,
|
|
10032
|
-
...
|
|
10029
|
+
...v
|
|
10033
10030
|
});
|
|
10034
|
-
},
|
|
10031
|
+
}, m = () => {
|
|
10035
10032
|
l([c.guid, o.guid]).finally(
|
|
10036
10033
|
() => a(!1)
|
|
10037
10034
|
);
|
|
@@ -10101,20 +10098,20 @@ const Ln = ({
|
|
|
10101
10098
|
isOpen: n,
|
|
10102
10099
|
onClose: () => a(!1),
|
|
10103
10100
|
title: TA.mark_as_duplicate,
|
|
10104
|
-
children: /* @__PURE__ */ t(oA, { children: h.map((
|
|
10105
|
-
const E = h.indexOf(
|
|
10101
|
+
children: /* @__PURE__ */ t(oA, { children: h.map((v) => {
|
|
10102
|
+
const E = h.indexOf(v) === h.length - 1;
|
|
10106
10103
|
return /* @__PURE__ */ u(g.Fragment, { children: [
|
|
10107
10104
|
/* @__PURE__ */ t(
|
|
10108
10105
|
hn,
|
|
10109
10106
|
{
|
|
10110
|
-
account:
|
|
10107
|
+
account: v,
|
|
10111
10108
|
onRowClick: () => {
|
|
10112
|
-
i(!0), s(
|
|
10109
|
+
i(!0), s(v);
|
|
10113
10110
|
}
|
|
10114
10111
|
}
|
|
10115
10112
|
),
|
|
10116
10113
|
/* @__PURE__ */ t(oA, { sx: { ml: E ? 0 : 24 } })
|
|
10117
|
-
] },
|
|
10114
|
+
] }, v.guid);
|
|
10118
10115
|
}) })
|
|
10119
10116
|
}
|
|
10120
10117
|
),
|
|
@@ -10127,7 +10124,7 @@ const Ln = ({
|
|
|
10127
10124
|
},
|
|
10128
10125
|
isOpen: r,
|
|
10129
10126
|
onClose: () => i(!1),
|
|
10130
|
-
onPrimaryAction:
|
|
10127
|
+
onPrimaryAction: m,
|
|
10131
10128
|
children: [
|
|
10132
10129
|
H(
|
|
10133
10130
|
TA.this_means_accounts_will_be_merged,
|
|
@@ -10398,10 +10395,10 @@ const Ln = ({
|
|
|
10398
10395
|
},
|
|
10399
10396
|
label: A.label,
|
|
10400
10397
|
labelId: `${A.label}-select-label`,
|
|
10401
|
-
onChange: (
|
|
10398
|
+
onChange: (v) => o(v.target.value),
|
|
10402
10399
|
placeholder: A.placeholder,
|
|
10403
10400
|
value: i,
|
|
10404
|
-
children: A.options?.map((
|
|
10401
|
+
children: A.options?.map((v) => /* @__PURE__ */ t(Wn, { value: v.value, children: v.label }, v.value))
|
|
10405
10402
|
}
|
|
10406
10403
|
)
|
|
10407
10404
|
] });
|
|
@@ -10423,8 +10420,8 @@ const Ln = ({
|
|
|
10423
10420
|
{
|
|
10424
10421
|
maxDate: YA(/* @__PURE__ */ new Date(), 1),
|
|
10425
10422
|
minDate: /* @__PURE__ */ new Date(),
|
|
10426
|
-
onChange: (
|
|
10427
|
-
r[A.name] && Number(r[A.name]) <= 31 ? o(
|
|
10423
|
+
onChange: (v) => {
|
|
10424
|
+
r[A.name] && Number(r[A.name]) <= 31 ? o(v.getDate()) : o(v);
|
|
10428
10425
|
},
|
|
10429
10426
|
views: ["day"]
|
|
10430
10427
|
}
|
|
@@ -10437,7 +10434,7 @@ const Ln = ({
|
|
|
10437
10434
|
error: !!s,
|
|
10438
10435
|
fullWidth: !0,
|
|
10439
10436
|
helperText: s,
|
|
10440
|
-
onChange:
|
|
10437
|
+
onChange: m,
|
|
10441
10438
|
placeholder: A.placeholder
|
|
10442
10439
|
}
|
|
10443
10440
|
);
|
|
@@ -10447,8 +10444,8 @@ const Ln = ({
|
|
|
10447
10444
|
...r,
|
|
10448
10445
|
[A.name]: i
|
|
10449
10446
|
}), h();
|
|
10450
|
-
},
|
|
10451
|
-
o(
|
|
10447
|
+
}, m = (v) => {
|
|
10448
|
+
o(v.target.value), A.validation && c(A.validation(v.target.value));
|
|
10452
10449
|
};
|
|
10453
10450
|
return /* @__PURE__ */ t(
|
|
10454
10451
|
zA,
|
|
@@ -10654,10 +10651,10 @@ const Ln = ({
|
|
|
10654
10651
|
}, C1 = (A, e) => {
|
|
10655
10652
|
const n = A.filter(Qi);
|
|
10656
10653
|
return Ea(n);
|
|
10657
|
-
}, f1 = (A) => A.filter((e) => e.category_guid === e.top_level_category_guid),
|
|
10654
|
+
}, f1 = (A) => A.filter((e) => e.category_guid === e.top_level_category_guid), m1 = (A, e) => {
|
|
10658
10655
|
const n = typeof A == "string" ? parseFloat(A.replace(/[^0-9.-]+/g, "")) : A, a = typeof e == "string" ? parseFloat(e.replace(/[^0-9.-]+/g, "")) : e;
|
|
10659
10656
|
return (n || 0) - (a || 0);
|
|
10660
|
-
},
|
|
10657
|
+
}, v1 = (A, e) => {
|
|
10661
10658
|
const n = ea.includes(e) ? h1(A) : [], a = ta.includes(e) ? g1(A) : [], r = na.includes(e) ? C1(A) : [];
|
|
10662
10659
|
return [n, a, r].filter((i) => i.length > 0);
|
|
10663
10660
|
}, On = {
|
|
@@ -10679,7 +10676,7 @@ const Ln = ({
|
|
|
10679
10676
|
}
|
|
10680
10677
|
return o;
|
|
10681
10678
|
}, y1 = () => {
|
|
10682
|
-
const A = ze(), { selectedAccount: e } = se(), { monthlyCategoryTotals: n } = xA(), a = [A.palette.chart?.chart1, A.palette.chart?.chart2], r =
|
|
10679
|
+
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);
|
|
10683
10680
|
return /* @__PURE__ */ t("div", { "data-testid": "TrendsChart", children: /* @__PURE__ */ t(
|
|
10684
10681
|
ra,
|
|
10685
10682
|
{
|
|
@@ -10762,7 +10759,7 @@ const Ln = ({
|
|
|
10762
10759
|
}, I1 = (A) => ({
|
|
10763
10760
|
list_aria: `${A[0]} accounts`
|
|
10764
10761
|
}), D1 = () => {
|
|
10765
|
-
const [A, e] = g.useState(""), { selectedAccounts: n } =
|
|
10762
|
+
const [A, e] = g.useState(""), { selectedAccounts: n } = mA(), { setSelectedAccount: a, setSelectedMember: r } = se(), { members: i } = DA(), { onEvent: o } = Y(), s = [...new Set(n.map((l) => l.account_type))], c = n.find((l) => A === l.guid);
|
|
10766
10763
|
return g.useEffect(() => {
|
|
10767
10764
|
if (c) {
|
|
10768
10765
|
a(c);
|
|
@@ -10771,13 +10768,13 @@ const Ln = ({
|
|
|
10771
10768
|
}
|
|
10772
10769
|
}, [c, A]), /* @__PURE__ */ u(S, { sx: { pt: 24 }, children: [
|
|
10773
10770
|
s.map((l) => {
|
|
10774
|
-
const d = n.filter((
|
|
10775
|
-
(
|
|
10771
|
+
const d = n.filter((m) => m.account_type === l), h = d.reduce(
|
|
10772
|
+
(m, v) => (v.available_balance || v.balance || 0) + m,
|
|
10776
10773
|
0
|
|
10777
|
-
), C = Gt[d[0].account_type], f = (
|
|
10778
|
-
e(
|
|
10779
|
-
account_guid:
|
|
10780
|
-
account_type:
|
|
10774
|
+
), C = Gt[d[0].account_type], f = (m) => {
|
|
10775
|
+
e(m.guid), o(J.ACCOUNTS_CLICK_ACCOUNT, {
|
|
10776
|
+
account_guid: m.guid,
|
|
10777
|
+
account_type: m.account_type
|
|
10781
10778
|
});
|
|
10782
10779
|
};
|
|
10783
10780
|
return /* @__PURE__ */ t(
|
|
@@ -10796,18 +10793,18 @@ const Ln = ({
|
|
|
10796
10793
|
]
|
|
10797
10794
|
}
|
|
10798
10795
|
) }),
|
|
10799
|
-
children: /* @__PURE__ */ t(Ia, { children: d.map((
|
|
10800
|
-
const
|
|
10796
|
+
children: /* @__PURE__ */ t(Ia, { children: d.map((m) => {
|
|
10797
|
+
const v = n.indexOf(m) === n.length - 1, E = d.indexOf(m) === d.length - 1;
|
|
10801
10798
|
return /* @__PURE__ */ u(g.Fragment, { children: [
|
|
10802
10799
|
/* @__PURE__ */ t(
|
|
10803
10800
|
hn,
|
|
10804
10801
|
{
|
|
10805
|
-
account:
|
|
10806
|
-
onRowClick: () => f(
|
|
10802
|
+
account: m,
|
|
10803
|
+
onRowClick: () => f(m),
|
|
10807
10804
|
shouldShowConnectionStatus: !0
|
|
10808
10805
|
}
|
|
10809
10806
|
),
|
|
10810
|
-
!
|
|
10807
|
+
!v && /* @__PURE__ */ t(
|
|
10811
10808
|
q,
|
|
10812
10809
|
{
|
|
10813
10810
|
sx: {
|
|
@@ -10816,7 +10813,7 @@ const Ln = ({
|
|
|
10816
10813
|
}
|
|
10817
10814
|
}
|
|
10818
10815
|
)
|
|
10819
|
-
] },
|
|
10816
|
+
] }, m.guid);
|
|
10820
10817
|
}) })
|
|
10821
10818
|
},
|
|
10822
10819
|
l
|
|
@@ -10884,7 +10881,7 @@ const Ln = ({
|
|
|
10884
10881
|
sync_accounts: "Sync Accounts",
|
|
10885
10882
|
no_accounts: "No accounts available"
|
|
10886
10883
|
}, N1 = ({ onBackClick: A, sx: e = {} }) => {
|
|
10887
|
-
const [n, a] = g.useState(!1), [r, i] = g.useState(!1), { accounts: o, refreshMembers: s } = DA(), { setSelectedAccounts: c, selectedAccountGuids: l } =
|
|
10884
|
+
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 } = Y();
|
|
10888
10885
|
g.useEffect(() => {
|
|
10889
10886
|
c(o);
|
|
10890
10887
|
}, [o]);
|
|
@@ -10932,7 +10929,7 @@ const Ln = ({
|
|
|
10932
10929
|
}
|
|
10933
10930
|
);
|
|
10934
10931
|
}, z7 = x(N1), M1 = (A, e) => A.filter((n) => e.includes(n.guid)).slice(0, 3), R1 = ({ onPrimaryCtaClick: A, sx: e }) => {
|
|
10935
|
-
const { accounts: n } = DA(), { selectedAccountGuids: a } =
|
|
10932
|
+
const { accounts: n } = DA(), { selectedAccountGuids: a } = mA(), [r, i] = g.useState(n), o = {
|
|
10936
10933
|
title: "Accounts",
|
|
10937
10934
|
primary_cta: "View Accounts",
|
|
10938
10935
|
no_accounts: "No available accounts"
|
|
@@ -11752,7 +11749,7 @@ const Or = {
|
|
|
11752
11749
|
},
|
|
11753
11750
|
shouldShowZeroState: n
|
|
11754
11751
|
}) => {
|
|
11755
|
-
const a = fA(), { budgets: r } = nn(), { categories: i } = xA(), { isInitialized: o } =
|
|
11752
|
+
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(
|
|
11756
11753
|
() => k1(r, i, a),
|
|
11757
11754
|
[r, s, c]
|
|
11758
11755
|
), [C, f] = g.useMemo(() => [450, c - 24], [s, c]);
|
|
@@ -11801,7 +11798,7 @@ const zt = {
|
|
|
11801
11798
|
good_morning: "Good morning!",
|
|
11802
11799
|
heres_your_spending_overview: "Here's your monthly financial overview."
|
|
11803
11800
|
}, rh = () => {
|
|
11804
|
-
const { accounts: A } = DA(), { selectedAccountGuids: e, setSelectedAccountGuids: n } =
|
|
11801
|
+
const { accounts: A } = DA(), { selectedAccountGuids: e, setSelectedAccountGuids: n } = mA(), { isMobile: a } = jA(), { common: r } = W(), i = {
|
|
11805
11802
|
accountFilterOptionsCopy: {
|
|
11806
11803
|
accountTypeAccounts: "_1{accountType} accounts",
|
|
11807
11804
|
cancelButton: r.cancel_button,
|
|
@@ -11840,7 +11837,7 @@ const zt = {
|
|
|
11840
11837
|
)
|
|
11841
11838
|
] }) });
|
|
11842
11839
|
}, ih = x(rh), oh = ({ widgets: A, isLoading: e }) => {
|
|
11843
|
-
const { isDesktop: n, isMobile: a } = jA(), { copyStore: r } = an(), { setSelectedAccounts: i } =
|
|
11840
|
+
const { isDesktop: n, isMobile: a } = jA(), { copyStore: r } = an(), { setSelectedAccounts: i } = mA(), { accounts: o } = DA();
|
|
11844
11841
|
g.useEffect(() => {
|
|
11845
11842
|
i(o);
|
|
11846
11843
|
}, [o]);
|
|
@@ -12057,7 +12054,7 @@ const zt = {
|
|
|
12057
12054
|
};
|
|
12058
12055
|
return /* @__PURE__ */ t(ji.Provider, { value: { toastState: e, showToast: a, hideToast: r, setMessage: i }, children: A });
|
|
12059
12056
|
}, Wi = () => {
|
|
12060
|
-
const A =
|
|
12057
|
+
const A = mo(ji);
|
|
12061
12058
|
if (!A)
|
|
12062
12059
|
throw new Error("useToast must be used within a ToastProvider");
|
|
12063
12060
|
return A;
|
|
@@ -12163,25 +12160,25 @@ const Yi = ({
|
|
|
12163
12160
|
he(() => {
|
|
12164
12161
|
f && !r && d(c);
|
|
12165
12162
|
}, [f, r, c, d]);
|
|
12166
|
-
const
|
|
12163
|
+
const m = (w) => {
|
|
12167
12164
|
const { name: I, checked: D } = w.target;
|
|
12168
12165
|
d((O) => ({
|
|
12169
12166
|
...O,
|
|
12170
12167
|
[I]: D
|
|
12171
12168
|
}));
|
|
12172
|
-
},
|
|
12169
|
+
}, v = Object.values(l).filter(Boolean).length, E = () => {
|
|
12173
12170
|
d(c), i();
|
|
12174
12171
|
}, L = () => {
|
|
12175
12172
|
const w = e.reduce(
|
|
12176
12173
|
(I, D) => ({
|
|
12177
12174
|
...I,
|
|
12178
|
-
[D.name]:
|
|
12175
|
+
[D.name]: v !== e.length
|
|
12179
12176
|
}),
|
|
12180
12177
|
{}
|
|
12181
12178
|
);
|
|
12182
12179
|
d(w);
|
|
12183
12180
|
}, b = () => {
|
|
12184
|
-
const w =
|
|
12181
|
+
const w = v === e.length;
|
|
12185
12182
|
n(
|
|
12186
12183
|
Object.keys(l).filter((I) => l[I]),
|
|
12187
12184
|
w
|
|
@@ -12244,7 +12241,7 @@ const Yi = ({
|
|
|
12244
12241
|
fontSize: 13,
|
|
12245
12242
|
minWidth: 0
|
|
12246
12243
|
},
|
|
12247
|
-
children:
|
|
12244
|
+
children: v === e.length ? A.unselect_all : A.select_all
|
|
12248
12245
|
}
|
|
12249
12246
|
)
|
|
12250
12247
|
]
|
|
@@ -12277,7 +12274,7 @@ const Yi = ({
|
|
|
12277
12274
|
role: "checkbox"
|
|
12278
12275
|
},
|
|
12279
12276
|
name: w.name,
|
|
12280
|
-
onChange:
|
|
12277
|
+
onChange: m,
|
|
12281
12278
|
size: "small"
|
|
12282
12279
|
}
|
|
12283
12280
|
)
|
|
@@ -12315,12 +12312,12 @@ const Yi = ({
|
|
|
12315
12312
|
ai,
|
|
12316
12313
|
{
|
|
12317
12314
|
color: "primary",
|
|
12318
|
-
disabled:
|
|
12315
|
+
disabled: v === 0,
|
|
12319
12316
|
fullWidth: !0,
|
|
12320
12317
|
loading: r,
|
|
12321
12318
|
onClick: b,
|
|
12322
12319
|
variant: "contained",
|
|
12323
|
-
children:
|
|
12320
|
+
children: v > 0 ? `${A.show} ${v} ${v > 1 ? A.hidden_insights : A.hidden_insight}` : A.show_insights
|
|
12324
12321
|
}
|
|
12325
12322
|
)
|
|
12326
12323
|
]
|
|
@@ -12399,13 +12396,13 @@ const Yi = ({
|
|
|
12399
12396
|
e,
|
|
12400
12397
|
n
|
|
12401
12398
|
];
|
|
12402
|
-
},
|
|
12399
|
+
}, mh = ({ content: A, disabledBeatTemplatesStore: e }) => {
|
|
12403
12400
|
const {
|
|
12404
12401
|
items: n,
|
|
12405
12402
|
update: a,
|
|
12406
12403
|
isUpdateError: r,
|
|
12407
12404
|
isUpdateLoading: i
|
|
12408
|
-
} = e, [o, s, c] = fh(n), { toastState: l, showToast: d, hideToast: h, setMessage: C } = Wi(), [f,
|
|
12405
|
+
} = 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);
|
|
12409
12406
|
he(() => {
|
|
12410
12407
|
D && !i && (r ? d(A.something_went_wrong, "error") : d(void 0, "success"));
|
|
12411
12408
|
}, [D, r]);
|
|
@@ -12427,7 +12424,7 @@ const Yi = ({
|
|
|
12427
12424
|
iconName: "visibility_off_outlined",
|
|
12428
12425
|
itemCount: n.length,
|
|
12429
12426
|
label: A.manage_hidden_insights,
|
|
12430
|
-
onClick: () =>
|
|
12427
|
+
onClick: () => m(!0)
|
|
12431
12428
|
}
|
|
12432
12429
|
),
|
|
12433
12430
|
/* @__PURE__ */ u(
|
|
@@ -12435,7 +12432,7 @@ const Yi = ({
|
|
|
12435
12432
|
{
|
|
12436
12433
|
ariaLabelClose: A.close,
|
|
12437
12434
|
isOpen: f,
|
|
12438
|
-
onClose: () =>
|
|
12435
|
+
onClose: () => m(!1),
|
|
12439
12436
|
shouldShowHeaderBorders: !1,
|
|
12440
12437
|
sx: {
|
|
12441
12438
|
"& .MuiDrawer-paper": {
|
|
@@ -12515,7 +12512,7 @@ const Yi = ({
|
|
|
12515
12512
|
content: A,
|
|
12516
12513
|
disabledBeatTemplates: w !== "" ? o.filter((R) => R.key === L)[0].subcategories.filter((R) => R.key === w)[0].beats : [],
|
|
12517
12514
|
handleEnableBeatTemplates: B,
|
|
12518
|
-
isOpen:
|
|
12515
|
+
isOpen: v,
|
|
12519
12516
|
isUpdateLoading: i,
|
|
12520
12517
|
onClose: $,
|
|
12521
12518
|
translatedSubCatetgory: c[w]
|
|
@@ -12530,12 +12527,12 @@ const Yi = ({
|
|
|
12530
12527
|
disabledBeatTemplatesStore: e,
|
|
12531
12528
|
useDarkMode: n = !1
|
|
12532
12529
|
}) => /* @__PURE__ */ t(Aa, { theme: Lt(n ? "dark" : "light"), children: /* @__PURE__ */ t(ch, { children: /* @__PURE__ */ t(
|
|
12533
|
-
|
|
12530
|
+
mh,
|
|
12534
12531
|
{
|
|
12535
12532
|
content: A,
|
|
12536
12533
|
disabledBeatTemplatesStore: e
|
|
12537
12534
|
}
|
|
12538
|
-
) }) }),
|
|
12535
|
+
) }) }), vh = ({
|
|
12539
12536
|
children: A,
|
|
12540
12537
|
content: e,
|
|
12541
12538
|
isOpen: n = !1,
|
|
@@ -12555,7 +12552,7 @@ const Yi = ({
|
|
|
12555
12552
|
A
|
|
12556
12553
|
] })
|
|
12557
12554
|
}
|
|
12558
|
-
) }), F7 = x(
|
|
12555
|
+
) }), F7 = x(vh), U7 = ({
|
|
12559
12556
|
accountGuid: A,
|
|
12560
12557
|
animation: e,
|
|
12561
12558
|
leftLowerText: n,
|
|
@@ -12576,7 +12573,7 @@ const Yi = ({
|
|
|
12576
12573
|
},
|
|
12577
12574
|
padding: o ? "12px 16px 12px 16px" : "32px 16px 16px 16px"
|
|
12578
12575
|
}, C = /* @__PURE__ */ t(
|
|
12579
|
-
|
|
12576
|
+
vA,
|
|
12580
12577
|
{
|
|
12581
12578
|
bold: !0,
|
|
12582
12579
|
"data-ui-test": "mx-insights-sudd-full-feed-body-header-text",
|
|
@@ -12599,7 +12596,7 @@ const Yi = ({
|
|
|
12599
12596
|
width: h.logoSize
|
|
12600
12597
|
}
|
|
12601
12598
|
),
|
|
12602
|
-
/* @__PURE__ */ t(
|
|
12599
|
+
/* @__PURE__ */ t(vA, { bold: !0, "data-ui-test": "mx-insights-sudd-mini-body-header-text", children: s })
|
|
12603
12600
|
]
|
|
12604
12601
|
}
|
|
12605
12602
|
);
|
|
@@ -12613,26 +12610,26 @@ const Yi = ({
|
|
|
12613
12610
|
position: "relative",
|
|
12614
12611
|
width: "calc(100%-32px)"
|
|
12615
12612
|
},
|
|
12616
|
-
children: /* @__PURE__ */ t(Ms, { children: ({ height:
|
|
12613
|
+
children: /* @__PURE__ */ t(Ms, { children: ({ height: m, width: v }) => /* @__PURE__ */ u(g.Fragment, { children: [
|
|
12617
12614
|
/* @__PURE__ */ t(
|
|
12618
12615
|
Ns,
|
|
12619
12616
|
{
|
|
12620
12617
|
"aria-hidden": !0,
|
|
12621
12618
|
colors: ["#3F9FEB", "#C331B6", "#30C434", "#F1CE31", "#EE3B7C"],
|
|
12622
12619
|
confettiSource: {
|
|
12623
|
-
x:
|
|
12624
|
-
y:
|
|
12620
|
+
x: v / 2,
|
|
12621
|
+
y: m / 2,
|
|
12625
12622
|
w: 20,
|
|
12626
12623
|
h: 20
|
|
12627
12624
|
},
|
|
12628
12625
|
gravity: 0.05,
|
|
12629
|
-
height:
|
|
12626
|
+
height: m,
|
|
12630
12627
|
initialVelocityX: 7,
|
|
12631
12628
|
initialVelocityY: 8,
|
|
12632
12629
|
numberOfPieces: 200,
|
|
12633
12630
|
recycle: !1,
|
|
12634
12631
|
run: e.shouldRun,
|
|
12635
|
-
width:
|
|
12632
|
+
width: v
|
|
12636
12633
|
}
|
|
12637
12634
|
),
|
|
12638
12635
|
!o && /* @__PURE__ */ t(
|
|
@@ -12644,7 +12641,7 @@ const Yi = ({
|
|
|
12644
12641
|
position: "absolute",
|
|
12645
12642
|
right: 0,
|
|
12646
12643
|
top: 0,
|
|
12647
|
-
width:
|
|
12644
|
+
width: v,
|
|
12648
12645
|
zIndex: 10
|
|
12649
12646
|
},
|
|
12650
12647
|
children: /* @__PURE__ */ t(
|
|
@@ -12674,7 +12671,7 @@ const Yi = ({
|
|
|
12674
12671
|
left: 16,
|
|
12675
12672
|
padding: h.padding,
|
|
12676
12673
|
top: 24,
|
|
12677
|
-
width:
|
|
12674
|
+
width: v
|
|
12678
12675
|
},
|
|
12679
12676
|
children: [
|
|
12680
12677
|
o ? f : C,
|
|
@@ -12699,7 +12696,7 @@ const Yi = ({
|
|
|
12699
12696
|
},
|
|
12700
12697
|
children: [
|
|
12701
12698
|
/* @__PURE__ */ t(
|
|
12702
|
-
|
|
12699
|
+
vA,
|
|
12703
12700
|
{
|
|
12704
12701
|
"data-ui-test": "mx-insights-sudd-left-upper-text",
|
|
12705
12702
|
sx: { color: d.palette.secondary.darker },
|
|
@@ -12707,7 +12704,7 @@ const Yi = ({
|
|
|
12707
12704
|
children: a
|
|
12708
12705
|
}
|
|
12709
12706
|
),
|
|
12710
|
-
/* @__PURE__ */ t(
|
|
12707
|
+
/* @__PURE__ */ t(vA, { bold: !0, "data-ui-test": "mx-insights-sudd-left-lower-text", variant: "Small", children: n })
|
|
12711
12708
|
]
|
|
12712
12709
|
}
|
|
12713
12710
|
),
|
|
@@ -12725,7 +12722,7 @@ const Yi = ({
|
|
|
12725
12722
|
},
|
|
12726
12723
|
children: [
|
|
12727
12724
|
/* @__PURE__ */ t(
|
|
12728
|
-
|
|
12725
|
+
vA,
|
|
12729
12726
|
{
|
|
12730
12727
|
"data-ui-test": "mx-insights-sudd-right-upper-text",
|
|
12731
12728
|
sx: { color: d.palette.secondary.darker },
|
|
@@ -12734,7 +12731,7 @@ const Yi = ({
|
|
|
12734
12731
|
}
|
|
12735
12732
|
),
|
|
12736
12733
|
/* @__PURE__ */ t(
|
|
12737
|
-
|
|
12734
|
+
vA,
|
|
12738
12735
|
{
|
|
12739
12736
|
bold: !0,
|
|
12740
12737
|
"data-ui-test": "mx-insights-sudd-right-lower-text",
|
|
@@ -12811,7 +12808,7 @@ const Ta = {
|
|
|
12811
12808
|
...A,
|
|
12812
12809
|
[Vi(e)]: {
|
|
12813
12810
|
action: pe.MICRO_BEAT_CLICKED,
|
|
12814
|
-
category:
|
|
12811
|
+
category: ve.BEAT_INTERACTION,
|
|
12815
12812
|
label: La(e),
|
|
12816
12813
|
value: ee
|
|
12817
12814
|
}
|
|
@@ -12822,7 +12819,7 @@ const Ta = {
|
|
|
12822
12819
|
...A,
|
|
12823
12820
|
[Ji(e)]: {
|
|
12824
12821
|
action: pe.MICRO_BEAT_DISPLAYED,
|
|
12825
|
-
category:
|
|
12822
|
+
category: ve.BEAT_INTERACTION,
|
|
12826
12823
|
label: La(e),
|
|
12827
12824
|
value: ee
|
|
12828
12825
|
}
|
|
@@ -12833,18 +12830,18 @@ const Ta = {
|
|
|
12833
12830
|
...A,
|
|
12834
12831
|
[Zi(e)]: {
|
|
12835
12832
|
action: pe.MICRO_BEAT_DISPLAYED_FIRST_TIME,
|
|
12836
|
-
category:
|
|
12833
|
+
category: ve.BEAT_INTERACTION,
|
|
12837
12834
|
label: La(e),
|
|
12838
12835
|
value: ee
|
|
12839
12836
|
}
|
|
12840
12837
|
}),
|
|
12841
12838
|
{}
|
|
12842
|
-
),
|
|
12839
|
+
), me = {
|
|
12843
12840
|
CARD: "Card",
|
|
12844
12841
|
CAROUSEL_CONTROL: "Carousel Control",
|
|
12845
12842
|
MICRO_WIDGET: "Micro Widget",
|
|
12846
12843
|
VIEW_MORE: "View More"
|
|
12847
|
-
},
|
|
12844
|
+
}, ve = {
|
|
12848
12845
|
MICRO_WIDGET_INTERACTION: "Micro Widget Interaction",
|
|
12849
12846
|
BEAT_INTERACTION: "Beat Interaction"
|
|
12850
12847
|
}, te = {
|
|
@@ -12870,21 +12867,21 @@ const Ta = {
|
|
|
12870
12867
|
MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS: "Micro Widget Carousel No Relevant Insights"
|
|
12871
12868
|
}, Mr = {
|
|
12872
12869
|
[De.MICRO_WIDGET_CAROUSEL]: {
|
|
12873
|
-
label:
|
|
12870
|
+
label: me.MICRO_WIDGET,
|
|
12874
12871
|
name: De.MICRO_WIDGET_CAROUSEL,
|
|
12875
12872
|
path: Nr.INSIGHTS_MICRO_WIDGET,
|
|
12876
12873
|
value: ee
|
|
12877
12874
|
},
|
|
12878
12875
|
// zero state
|
|
12879
12876
|
[De.MICRO_WIDGET_CAROUSEL_ZERO_STATE]: {
|
|
12880
|
-
label:
|
|
12877
|
+
label: me.MICRO_WIDGET,
|
|
12881
12878
|
name: De.MICRO_WIDGET_CAROUSEL_ZERO_STATE,
|
|
12882
12879
|
path: Nr.INSIGHTS_MICRO_WIDGET,
|
|
12883
12880
|
value: ee
|
|
12884
12881
|
},
|
|
12885
12882
|
// no relevant cards
|
|
12886
12883
|
[De.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS]: {
|
|
12887
|
-
label:
|
|
12884
|
+
label: me.MICRO_WIDGET,
|
|
12888
12885
|
name: De.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS,
|
|
12889
12886
|
path: "/micro-widget",
|
|
12890
12887
|
value: ee
|
|
@@ -12893,39 +12890,39 @@ const Ta = {
|
|
|
12893
12890
|
// carousel control interaction events - clicks and swipes
|
|
12894
12891
|
[te.ON_CAROUSEL_BACK_CLICK]: {
|
|
12895
12892
|
action: pe.CONTROL_BACKWARD,
|
|
12896
|
-
category:
|
|
12897
|
-
label:
|
|
12893
|
+
category: ve.MICRO_WIDGET_INTERACTION,
|
|
12894
|
+
label: me.CAROUSEL_CONTROL,
|
|
12898
12895
|
value: ee
|
|
12899
12896
|
},
|
|
12900
12897
|
[te.ON_CAROUSEL_FORWARD_CLICK]: {
|
|
12901
12898
|
action: pe.CONTROL_FORWARD,
|
|
12902
|
-
category:
|
|
12903
|
-
label:
|
|
12899
|
+
category: ve.MICRO_WIDGET_INTERACTION,
|
|
12900
|
+
label: me.CAROUSEL_CONTROL,
|
|
12904
12901
|
value: ee
|
|
12905
12902
|
},
|
|
12906
12903
|
[te.ON_CAROUSEL_BACK_SWIPE]: {
|
|
12907
12904
|
action: pe.SWIPE_BACKWARD,
|
|
12908
|
-
category:
|
|
12909
|
-
label:
|
|
12905
|
+
category: ve.MICRO_WIDGET_INTERACTION,
|
|
12906
|
+
label: me.CAROUSEL_CONTROL,
|
|
12910
12907
|
value: ee
|
|
12911
12908
|
},
|
|
12912
12909
|
[te.ON_CAROUSEL_FORWARD_SWIPE]: {
|
|
12913
12910
|
action: pe.SWIPE_FORWARD,
|
|
12914
|
-
category:
|
|
12915
|
-
label:
|
|
12911
|
+
category: ve.MICRO_WIDGET_INTERACTION,
|
|
12912
|
+
label: me.CAROUSEL_CONTROL,
|
|
12916
12913
|
value: ee
|
|
12917
12914
|
},
|
|
12918
12915
|
// read more card events
|
|
12919
12916
|
[te.ON_VIEW_MORE_CLICKED]: {
|
|
12920
12917
|
action: pe.MICRO_BEAT_CLICKED,
|
|
12921
|
-
category:
|
|
12922
|
-
label:
|
|
12918
|
+
category: ve.BEAT_INTERACTION,
|
|
12919
|
+
label: me.VIEW_MORE,
|
|
12923
12920
|
value: ee
|
|
12924
12921
|
},
|
|
12925
12922
|
[$i.ON_VIEW_MORE_VIEWED]: {
|
|
12926
12923
|
action: pe.MICRO_BEAT_DISPLAYED,
|
|
12927
|
-
category:
|
|
12928
|
-
label:
|
|
12924
|
+
category: ve.BEAT_INTERACTION,
|
|
12925
|
+
label: me.VIEW_MORE,
|
|
12929
12926
|
value: ee
|
|
12930
12927
|
},
|
|
12931
12928
|
...yh(),
|
|
@@ -13857,22 +13854,22 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
13857
13854
|
variant: h,
|
|
13858
13855
|
widthOverrides: C
|
|
13859
13856
|
}) => {
|
|
13860
|
-
const f = window.app?.config.client_guid, { ref:
|
|
13857
|
+
const f = window.app?.config.client_guid, { ref: m, inView: v } = ri({
|
|
13861
13858
|
threshold: to
|
|
13862
13859
|
}), { cardsCopy: E } = Ue(), { onEvent: L } = Ot(), { updateBeat: b } = zh();
|
|
13863
13860
|
he(() => {
|
|
13864
|
-
|
|
13861
|
+
v && (n.has_been_displayed ? L(Ji(n.template)) : (b({
|
|
13865
13862
|
...n,
|
|
13866
13863
|
has_been_displayed: !0
|
|
13867
13864
|
}), L(Zi(n.template))));
|
|
13868
|
-
}, [
|
|
13869
|
-
l?.capture &&
|
|
13865
|
+
}, [v]), he(() => {
|
|
13866
|
+
l?.capture && v && n && f && l.capture("micro_widget_viewed_insight", {
|
|
13870
13867
|
beat_guid: n.guid,
|
|
13871
13868
|
insight_template: n.template,
|
|
13872
13869
|
position: o,
|
|
13873
13870
|
$groups: { client: f }
|
|
13874
13871
|
});
|
|
13875
|
-
}, [n, f, l, o,
|
|
13872
|
+
}, [n, f, l, o, v]);
|
|
13876
13873
|
const w = () => {
|
|
13877
13874
|
c && c(n), L(Vi(n.template)), l?.capture && f && l.capture("micro_widget_clicked_insight", {
|
|
13878
13875
|
beat_guid: n.guid,
|
|
@@ -13901,7 +13898,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
13901
13898
|
),
|
|
13902
13899
|
isActiveCard: s,
|
|
13903
13900
|
onCardClick: w,
|
|
13904
|
-
ref:
|
|
13901
|
+
ref: m,
|
|
13905
13902
|
showCTAColocatedWithText: r,
|
|
13906
13903
|
showIcon: d,
|
|
13907
13904
|
title: n.micro_title && n.micro_title.length > 0 ? n.micro_title : n.title,
|
|
@@ -13936,15 +13933,15 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
13936
13933
|
)
|
|
13937
13934
|
}
|
|
13938
13935
|
),
|
|
13939
|
-
Array.from({ length: n }).map((f,
|
|
13936
|
+
Array.from({ length: n }).map((f, m) => /* @__PURE__ */ t(
|
|
13940
13937
|
"div",
|
|
13941
13938
|
{
|
|
13942
13939
|
className: "mx-insights-micro-carousel-dots",
|
|
13943
13940
|
style: {
|
|
13944
|
-
backgroundColor:
|
|
13941
|
+
backgroundColor: m === e ? C : h
|
|
13945
13942
|
}
|
|
13946
13943
|
},
|
|
13947
|
-
`carousel-button-${
|
|
13944
|
+
`carousel-button-${m}`
|
|
13948
13945
|
)),
|
|
13949
13946
|
/* @__PURE__ */ t(
|
|
13950
13947
|
HA,
|
|
@@ -13993,7 +13990,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
13993
13990
|
variant: l,
|
|
13994
13991
|
widthOverrides: d
|
|
13995
13992
|
}) => {
|
|
13996
|
-
const h = Xh(a, c, d), C = g.useRef(null), [f,
|
|
13993
|
+
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 = () => {
|
|
13997
13994
|
I(te.ON_CAROUSEL_FORWARD_CLICK), C.current && C.current.scrollTo({
|
|
13998
13995
|
left: (
|
|
13999
13996
|
// Adds the flex gap to the carousel ulRef's width
|
|
@@ -14009,10 +14006,10 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14009
14006
|
behavior: "smooth"
|
|
14010
14007
|
});
|
|
14011
14008
|
}, k = () => {
|
|
14012
|
-
C.current &&
|
|
14009
|
+
C.current && m(C.current.scrollLeft);
|
|
14013
14010
|
}, $ = () => {
|
|
14014
|
-
if (!L || !
|
|
14015
|
-
L -
|
|
14011
|
+
if (!L || !v) return;
|
|
14012
|
+
L - v > Hh ? I(te.ON_CAROUSEL_FORWARD_SWIPE) : I(te.ON_CAROUSEL_BACK_SWIPE);
|
|
14016
14013
|
}, B = (rA) => {
|
|
14017
14014
|
E(rA.targetTouches[0].clientX);
|
|
14018
14015
|
}, R = (rA) => {
|
|
@@ -14118,14 +14115,14 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14118
14115
|
style: h = {},
|
|
14119
14116
|
fontColors: C = {},
|
|
14120
14117
|
title: f,
|
|
14121
|
-
variant:
|
|
14122
|
-
widthOverrides:
|
|
14118
|
+
variant: m,
|
|
14119
|
+
widthOverrides: v
|
|
14123
14120
|
}, E) {
|
|
14124
14121
|
const [L, b] = g.useState(1);
|
|
14125
14122
|
g.useEffect(() => {
|
|
14126
|
-
|
|
14127
|
-
}, [
|
|
14128
|
-
const { cardStyle: w, linkTextStyle: I } = h, D =
|
|
14123
|
+
v && v <= 325 && b(3), v && v > 325 && b(2);
|
|
14124
|
+
}, [v]);
|
|
14125
|
+
const { cardStyle: w, linkTextStyle: I } = h, D = m ? w : { border: "none", boxShadow: "none", ...w }, O = Qh(
|
|
14129
14126
|
D,
|
|
14130
14127
|
r,
|
|
14131
14128
|
C,
|
|
@@ -14144,13 +14141,13 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14144
14141
|
tabIndex: c ? 0 : -1,
|
|
14145
14142
|
children: [
|
|
14146
14143
|
n && /* @__PURE__ */ t("span", { "aria-label": n, style: { visibility: "hidden" } }),
|
|
14147
|
-
/* @__PURE__ */ u(Je, { className: "mx-micro-card", sx: { backgroundColor: a }, variant:
|
|
14144
|
+
/* @__PURE__ */ u(Je, { className: "mx-micro-card", sx: { backgroundColor: a }, variant: m, children: [
|
|
14148
14145
|
/* @__PURE__ */ t(
|
|
14149
14146
|
Qn,
|
|
14150
14147
|
{
|
|
14151
14148
|
avatar: d && s,
|
|
14152
14149
|
subheader: /* @__PURE__ */ t("div", { className: "mx-micro-content-container", children: /* @__PURE__ */ t(
|
|
14153
|
-
|
|
14150
|
+
vA,
|
|
14154
14151
|
{
|
|
14155
14152
|
className: "mx-micro-card-description",
|
|
14156
14153
|
color: C.textColor ? "undefined" : "text.primary",
|
|
@@ -14327,8 +14324,8 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14327
14324
|
showCarouselControls: h,
|
|
14328
14325
|
showHeader: C,
|
|
14329
14326
|
showIcon: f,
|
|
14330
|
-
showWithMargin:
|
|
14331
|
-
token:
|
|
14327
|
+
showWithMargin: m = !0,
|
|
14328
|
+
token: v = "",
|
|
14332
14329
|
useDarkMode: E,
|
|
14333
14330
|
userHasFullInsightFeedBeats: L,
|
|
14334
14331
|
variant: b,
|
|
@@ -14336,8 +14333,8 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14336
14333
|
}) => {
|
|
14337
14334
|
const [I, D] = de("STANDARD"), [O, k] = de(!1), $ = ec([s], ke), B = tc([c], ke);
|
|
14338
14335
|
g.useEffect(() => {
|
|
14339
|
-
ke.initialize(r,
|
|
14340
|
-
}, [r,
|
|
14336
|
+
ke.initialize(r, v);
|
|
14337
|
+
}, [r, v]), g.useEffect(() => {
|
|
14341
14338
|
const K = window.innerHeight;
|
|
14342
14339
|
K < 180 ? D("STANDARD") : K >= 180 && K < 200 ? D("LARGE") : K >= 200 && K < 248 ? D("XLARGE") : K >= 248 && D("XXLARGE");
|
|
14343
14340
|
}, []), g.useEffect(() => {
|
|
@@ -14348,7 +14345,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14348
14345
|
heightOverrides: i,
|
|
14349
14346
|
onCardClick: o,
|
|
14350
14347
|
showIcon: f,
|
|
14351
|
-
showWithMargin:
|
|
14348
|
+
showWithMargin: m,
|
|
14352
14349
|
useDarkMode: E,
|
|
14353
14350
|
widthOverrides: w
|
|
14354
14351
|
}, z = {
|
|
@@ -14414,7 +14411,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14414
14411
|
g.useEffect(() => {
|
|
14415
14412
|
C(De.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS);
|
|
14416
14413
|
}, []);
|
|
14417
|
-
const
|
|
14414
|
+
const m = () => {
|
|
14418
14415
|
r && r(), h(te.ON_NO_RELEVANT_INSIGHTS_CLICKED), i?.capture && f && i.capture("micro_widget_clicked_insight", {
|
|
14419
14416
|
insight_template: "no_relevant_insights",
|
|
14420
14417
|
$groups: { client: f }
|
|
@@ -14429,7 +14426,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14429
14426
|
fontColors: { buttonColor: n?.primary_300 },
|
|
14430
14427
|
heightOverrides: a,
|
|
14431
14428
|
icon: /* @__PURE__ */ t(Ao, {}),
|
|
14432
|
-
onCardClick:
|
|
14429
|
+
onCardClick: m,
|
|
14433
14430
|
showIcon: o,
|
|
14434
14431
|
style: {
|
|
14435
14432
|
cardStyle: {
|
|
@@ -14464,17 +14461,17 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14464
14461
|
}) => {
|
|
14465
14462
|
const l = SA(), d = window.app?.config.client_guid, { ref: h, inView: C } = ri({
|
|
14466
14463
|
threshold: to
|
|
14467
|
-
}), { cardsCopy: f } = Ue(), { onEvent:
|
|
14464
|
+
}), { cardsCopy: f } = Ue(), { onEvent: m } = Ot();
|
|
14468
14465
|
he(() => {
|
|
14469
|
-
C &&
|
|
14466
|
+
C && m($i.ON_VIEW_MORE_VIEWED);
|
|
14470
14467
|
}, [C]), he(() => {
|
|
14471
14468
|
i?.capture && C && d && i.capture("micro_widget_viewed_insight", {
|
|
14472
14469
|
insight_template: "read_more_card",
|
|
14473
14470
|
$groups: { client: d }
|
|
14474
14471
|
});
|
|
14475
14472
|
}, [d, i, C]);
|
|
14476
|
-
const
|
|
14477
|
-
r && r(),
|
|
14473
|
+
const v = () => {
|
|
14474
|
+
r && r(), m(te.ON_VIEW_MORE_CLICKED), i?.capture && d && i.capture("micro_widget_clicked_insight", {
|
|
14478
14475
|
insight_template: "read_more_card",
|
|
14479
14476
|
$groups: { client: d }
|
|
14480
14477
|
});
|
|
@@ -14494,7 +14491,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14494
14491
|
}
|
|
14495
14492
|
),
|
|
14496
14493
|
isActiveCard: A,
|
|
14497
|
-
onCardClick:
|
|
14494
|
+
onCardClick: v,
|
|
14498
14495
|
ref: h,
|
|
14499
14496
|
showIcon: o,
|
|
14500
14497
|
title: f.view_more_card_title,
|
|
@@ -14684,11 +14681,11 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14684
14681
|
const c = at(), { isTablet: l } = jA(), d = {
|
|
14685
14682
|
view_transactions: "View Transactions"
|
|
14686
14683
|
}, h = g.useMemo(
|
|
14687
|
-
() => r ? A.categoryData.find((
|
|
14684
|
+
() => r ? A.categoryData.find((v) => v.guid === r) : void 0,
|
|
14688
14685
|
[r]
|
|
14689
14686
|
), C = g.useMemo(() => A.donutData.length > 0 ? A.donutData : [{ id: "0", color: c.palette.border.light, value: 100 }], [A, c]), f = () => {
|
|
14690
14687
|
a?.(r);
|
|
14691
|
-
},
|
|
14688
|
+
}, m = l ? 32 : 48;
|
|
14692
14689
|
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: [
|
|
14693
14690
|
h && /* @__PURE__ */ u(
|
|
14694
14691
|
T,
|
|
@@ -14704,7 +14701,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14704
14701
|
{
|
|
14705
14702
|
categoryGuid: e ? p.INCOME : h.guid,
|
|
14706
14703
|
color: h.color,
|
|
14707
|
-
size: s === "mini" ? 24 :
|
|
14704
|
+
size: s === "mini" ? 24 : m,
|
|
14708
14705
|
variant: Xr.Transparent
|
|
14709
14706
|
}
|
|
14710
14707
|
),
|
|
@@ -14748,7 +14745,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14748
14745
|
total_income: "Total Income",
|
|
14749
14746
|
total_spending: "Total Spending"
|
|
14750
14747
|
}, d3 = () => {
|
|
14751
|
-
const A = fA(), { selectedAccounts: e } =
|
|
14748
|
+
const A = fA(), { selectedAccounts: e } = mA(), n = g.useMemo(
|
|
14752
14749
|
() => [
|
|
14753
14750
|
A.palette.chartMono.chartMono5,
|
|
14754
14751
|
A.palette.chartMono.chartMono4,
|
|
@@ -14772,10 +14769,10 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14772
14769
|
), h = g.useMemo(
|
|
14773
14770
|
() => ro(a, r, n),
|
|
14774
14771
|
[a, r, n]
|
|
14775
|
-
), C = (
|
|
14776
|
-
l(
|
|
14777
|
-
}, f = (
|
|
14778
|
-
s(o ===
|
|
14772
|
+
), C = (m, v) => {
|
|
14773
|
+
l(v), s("");
|
|
14774
|
+
}, f = (m) => {
|
|
14775
|
+
s(o === m ? "" : m);
|
|
14779
14776
|
};
|
|
14780
14777
|
return /* @__PURE__ */ u(S, { width: "100%", children: [
|
|
14781
14778
|
/* @__PURE__ */ u(rt, { onChange: C, value: c, variant: "fullWidth", children: [
|
|
@@ -14968,15 +14965,15 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14968
14965
|
income_tab_title: "Income",
|
|
14969
14966
|
transactions_drawer_title: "Transactions",
|
|
14970
14967
|
transaction_details_drawer_title: "Transaction Details"
|
|
14971
|
-
},
|
|
14968
|
+
}, m3 = (A) => [
|
|
14972
14969
|
A.palette.chartMono.chartMono5,
|
|
14973
14970
|
A.palette.chartMono.chartMono4,
|
|
14974
14971
|
A.palette.chartMono.chartMono3,
|
|
14975
14972
|
A.palette.chartMono.chartMono2,
|
|
14976
14973
|
A.palette.chartMono.chartMono1,
|
|
14977
14974
|
A.palette.chartMono.chartMono6
|
|
14978
|
-
],
|
|
14979
|
-
const A = at(), { categories: e, dateRangeCategoryTotals: n, loadDateRangeCategoryTotals: a } = xA(), { selectedAccountGuids: r } =
|
|
14975
|
+
], v3 = () => {
|
|
14976
|
+
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);
|
|
14980
14977
|
g.useEffect(() => {
|
|
14981
14978
|
a(
|
|
14982
14979
|
o,
|
|
@@ -14988,7 +14985,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14988
14985
|
() => ao(e, n),
|
|
14989
14986
|
[e, n]
|
|
14990
14987
|
), b = g.useMemo(
|
|
14991
|
-
() => ro(e, n,
|
|
14988
|
+
() => ro(e, n, m3(A)),
|
|
14992
14989
|
[e, n]
|
|
14993
14990
|
), w = g.useMemo(
|
|
14994
14991
|
() => c.find((k) => k.guid === f),
|
|
@@ -15060,10 +15057,10 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15060
15057
|
hA,
|
|
15061
15058
|
{
|
|
15062
15059
|
ariaLabelClose: Ie.close_drawer_aria,
|
|
15063
|
-
isOpen:
|
|
15060
|
+
isOpen: v,
|
|
15064
15061
|
onClose: () => E(!1),
|
|
15065
15062
|
title: Ie.transactions_drawer_title,
|
|
15066
|
-
children: /* @__PURE__ */ t(It, { onClick:
|
|
15063
|
+
children: /* @__PURE__ */ t(It, { onClick: m })
|
|
15067
15064
|
}
|
|
15068
15065
|
),
|
|
15069
15066
|
/* @__PURE__ */ t(
|
|
@@ -15071,16 +15068,16 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15071
15068
|
{
|
|
15072
15069
|
ariaLabelClose: Ie.close_drawer_aria,
|
|
15073
15070
|
isOpen: !!w,
|
|
15074
|
-
onClose: () =>
|
|
15071
|
+
onClose: () => m(""),
|
|
15075
15072
|
title: Ie.transaction_details_drawer_title,
|
|
15076
15073
|
children: w && /* @__PURE__ */ t(ln, { transaction: w })
|
|
15077
15074
|
}
|
|
15078
15075
|
)
|
|
15079
15076
|
] });
|
|
15080
|
-
}, p3 = x(
|
|
15077
|
+
}, p3 = x(v3), y3 = {
|
|
15081
15078
|
title: "Spending"
|
|
15082
15079
|
}, E3 = ({ onBackClick: A, sx: e = {} }) => {
|
|
15083
|
-
const { accounts: n } = DA(), { isInitialized: a, setDisplayedDate: r, setSelectedAccounts: i } =
|
|
15080
|
+
const { accounts: n } = DA(), { isInitialized: a, setDisplayedDate: r, setSelectedAccounts: i } = mA(), { onEvent: o } = Y(), [s, c] = g.useState(!1);
|
|
15084
15081
|
g.useEffect(() => {
|
|
15085
15082
|
i(n);
|
|
15086
15083
|
}, [n]), g.useEffect(() => {
|
|
@@ -15142,17 +15139,17 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15142
15139
|
sortable: !0,
|
|
15143
15140
|
hideSortIcons: !1,
|
|
15144
15141
|
type: "number",
|
|
15145
|
-
sortComparator:
|
|
15142
|
+
sortComparator: m1
|
|
15146
15143
|
})
|
|
15147
15144
|
)
|
|
15148
15145
|
], c = g.useMemo(() => {
|
|
15149
15146
|
const l = A.reduce(
|
|
15150
15147
|
(d, h) => {
|
|
15151
|
-
const { category_guid: C, top_level_category_guid: f, month:
|
|
15148
|
+
const { category_guid: C, top_level_category_guid: f, month: m, total: v, year: E } = h;
|
|
15152
15149
|
if (C === f) {
|
|
15153
15150
|
d[C] || (d[C] = { id: C, category: C });
|
|
15154
|
-
const L = j(new Date(E,
|
|
15155
|
-
d[C][L] =
|
|
15151
|
+
const L = j(new Date(E, m, 1), F.MONTH_SHORT);
|
|
15152
|
+
d[C][L] = v;
|
|
15156
15153
|
}
|
|
15157
15154
|
return d;
|
|
15158
15155
|
},
|
|
@@ -15179,7 +15176,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15179
15176
|
title: "Trends",
|
|
15180
15177
|
subTitle: "Transaction trends by category"
|
|
15181
15178
|
}, b3 = ({ onBackClick: A, sx: e }) => {
|
|
15182
|
-
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 } =
|
|
15179
|
+
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({
|
|
15183
15180
|
start: LA(ye(/* @__PURE__ */ new Date(), 5)),
|
|
15184
15181
|
end: OA(/* @__PURE__ */ new Date())
|
|
15185
15182
|
}), I = (R, z) => {
|
|
@@ -15193,7 +15190,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15193
15190
|
b.start,
|
|
15194
15191
|
b.end
|
|
15195
15192
|
).finally(() => {
|
|
15196
|
-
|
|
15193
|
+
v(!0);
|
|
15197
15194
|
});
|
|
15198
15195
|
}, [s, d, h, w]);
|
|
15199
15196
|
const D = g.useMemo(
|
|
@@ -15212,7 +15209,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15212
15209
|
() => br(D.filter(ya)),
|
|
15213
15210
|
[s, l]
|
|
15214
15211
|
);
|
|
15215
|
-
return !d || !
|
|
15212
|
+
return !d || !m ? /* @__PURE__ */ t(Ce, {}) : /* @__PURE__ */ t(
|
|
15216
15213
|
Re,
|
|
15217
15214
|
{
|
|
15218
15215
|
accountOptions: o,
|
|
@@ -15371,7 +15368,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15371
15368
|
subTitle: "Your total spending over the last 6 months",
|
|
15372
15369
|
title: "Spending Overview"
|
|
15373
15370
|
}, P3 = ({ onPrimaryCtaClick: A, sx: e }) => {
|
|
15374
|
-
const { loadMonthlyCategoryTotals: n } = xA(), { isInitialized: a } = an(), { selectedAccounts: r } =
|
|
15371
|
+
const { loadMonthlyCategoryTotals: n } = xA(), { isInitialized: a } = an(), { selectedAccounts: r } = mA(), [i, o] = g.useState(!1);
|
|
15375
15372
|
return g.useEffect(() => {
|
|
15376
15373
|
a && n(r).finally(() => {
|
|
15377
15374
|
o(!0);
|
|
@@ -15411,7 +15408,7 @@ export {
|
|
|
15411
15408
|
qh as BeatCard,
|
|
15412
15409
|
qt as BottomActions,
|
|
15413
15410
|
K7 as BubbleBudgetsMiniWidget,
|
|
15414
|
-
|
|
15411
|
+
mc as Calendar,
|
|
15415
15412
|
Ci as CalendarSelectionTypes,
|
|
15416
15413
|
Uh as CarouselHeader,
|
|
15417
15414
|
pr as CashflowApi,
|
|
@@ -15460,11 +15457,11 @@ export {
|
|
|
15460
15457
|
j7 as InsightsMicroWidget,
|
|
15461
15458
|
Ih as InsightsMicroWidgetDataProvider,
|
|
15462
15459
|
Us as IterationItemTypes,
|
|
15463
|
-
|
|
15460
|
+
m7 as LOADING_STATUS,
|
|
15464
15461
|
ra as LineChart,
|
|
15465
15462
|
Xc as ListItemWrapper,
|
|
15466
15463
|
Ce as Loader,
|
|
15467
|
-
|
|
15464
|
+
v7 as LocalizedCopyApi,
|
|
15468
15465
|
X7 as ManageAccountsDrawer,
|
|
15469
15466
|
qi as ManageIncome,
|
|
15470
15467
|
Pe as MemberConnectionStatus,
|
|
@@ -15532,8 +15529,8 @@ export {
|
|
|
15532
15529
|
Zh as ViewMoreMicroCard,
|
|
15533
15530
|
Fa as WidgetApi,
|
|
15534
15531
|
Re as WidgetContainer,
|
|
15535
|
-
|
|
15536
|
-
|
|
15532
|
+
mi as WidgetContainerContext,
|
|
15533
|
+
vi as WidgetContainerProvider,
|
|
15537
15534
|
A3 as ZeroStateCard,
|
|
15538
15535
|
Ao as ZeroStateIcon,
|
|
15539
15536
|
zs as analyticsSession,
|
|
@@ -15560,7 +15557,7 @@ export {
|
|
|
15560
15557
|
Vu as useGetMergeableAccounts,
|
|
15561
15558
|
W as useGlobalCopyStore,
|
|
15562
15559
|
an as useGlobalStore,
|
|
15563
|
-
|
|
15560
|
+
mA as useGlobalUiStore,
|
|
15564
15561
|
_c as useMerchantStore,
|
|
15565
15562
|
Hc as useNetWorthStore,
|
|
15566
15563
|
yi as useNotificationStore,
|