@mx-cartographer/experiences 3.7.0-alpha.al13 → 3.7.0-alpha.al2
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 +414 -419
- 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 vo } 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 mo, P as mA, 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 mt } 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 vn 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 vs } 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 ms } 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], v = g.cloneElement(f, {
|
|
185
185
|
key: `${h}-${s}`
|
|
186
186
|
});
|
|
187
|
-
c.push(
|
|
187
|
+
c.push(v);
|
|
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
|
+
], v7 = {
|
|
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 m7 {
|
|
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 mn = (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 vn = (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, v = !!e, m = Object.values(c).every((E) => !!E);
|
|
991
991
|
return /* @__PURE__ */ t(
|
|
992
992
|
bo,
|
|
993
993
|
{
|
|
@@ -997,7 +997,7 @@ const vn = (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: v,
|
|
1001
1001
|
sx: { maxHeight: 400, maxWidth: f ? "100%" : 300 },
|
|
1002
1002
|
transformOrigin: {
|
|
1003
1003
|
vertical: "top",
|
|
@@ -1015,9 +1015,9 @@ const vn = (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(mo, { size: 32 }),
|
|
1019
|
+
/* @__PURE__ */ t(mA, { bold: !0, mt: 12, children: n.zeroStateTitle }),
|
|
1020
|
+
/* @__PURE__ */ t(mA, { mt: 12, children: n.zeroStateDescription }),
|
|
1021
1021
|
/* @__PURE__ */ t(iA, { onClick: o, children: n.zeroStateButton })
|
|
1022
1022
|
]
|
|
1023
1023
|
}
|
|
@@ -1055,13 +1055,13 @@ const vn = (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: m,
|
|
1059
|
+
"data-ui-test": `checked-${m}`,
|
|
1060
1060
|
disableRipple: !0,
|
|
1061
1061
|
onChange: () => {
|
|
1062
1062
|
const E = {};
|
|
1063
1063
|
Object.keys(c).forEach((L) => {
|
|
1064
|
-
E[L] = !
|
|
1064
|
+
E[L] = !m;
|
|
1065
1065
|
}), l(E);
|
|
1066
1066
|
},
|
|
1067
1067
|
size: "small",
|
|
@@ -1073,7 +1073,7 @@ const vn = (A, e) => A.reduce((n, a) => (n[a.guid] = e?.includes(a.guid), n), {}
|
|
|
1073
1073
|
}
|
|
1074
1074
|
}
|
|
1075
1075
|
),
|
|
1076
|
-
label:
|
|
1076
|
+
label: m ? 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
|
+
mn(A, r)
|
|
1217
1217
|
);
|
|
1218
1218
|
g.useEffect(() => {
|
|
1219
|
-
C(
|
|
1219
|
+
C(mn(A, r));
|
|
1220
1220
|
}, [A, r]);
|
|
1221
|
-
const f = (
|
|
1222
|
-
d(
|
|
1223
|
-
},
|
|
1221
|
+
const f = (m) => {
|
|
1222
|
+
d(m.currentTarget);
|
|
1223
|
+
}, v = () => {
|
|
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: v,
|
|
1256
|
+
onAccountClick: (m) => {
|
|
1257
|
+
C({ ...h, [m.guid]: !h[m.guid] });
|
|
1258
1258
|
},
|
|
1259
|
-
onAccountGroupClick: (
|
|
1259
|
+
onAccountGroupClick: (m, E, L) => {
|
|
1260
1260
|
const b = { ...h };
|
|
1261
|
-
E[
|
|
1261
|
+
E[m].forEach((w) => {
|
|
1262
1262
|
b[w.guid] = !L;
|
|
1263
1263
|
}), C(b);
|
|
1264
1264
|
},
|
|
1265
1265
|
onCancelClick: () => {
|
|
1266
|
-
C(
|
|
1266
|
+
C(mn(A, r)), v();
|
|
1267
1267
|
},
|
|
1268
1268
|
onConnectAccountClick: a,
|
|
1269
1269
|
onFilterClick: () => {
|
|
1270
|
-
n(Object.keys(h).filter((
|
|
1270
|
+
n(Object.keys(h).filter((m) => h[m])), v();
|
|
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(), v = ic(f, h), m = 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 ${v}`, 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: m,
|
|
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, v = Math.max(...C), m = Math.min(...C), E = C.reduce(sc, 0), L = v >= 0, b = m < 0, w = Wa(L, b, r), I = Wa(b, L, r), D = lc(f, v, m, 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 vc = ({
|
|
1635
1635
|
copy: A,
|
|
1636
1636
|
beginDate: e = void 0,
|
|
1637
1637
|
endDate: n = void 0,
|
|
@@ -1640,11 +1640,11 @@ const mc = ({
|
|
|
1640
1640
|
selectionType: i = "Single"
|
|
1641
1641
|
/* Single */
|
|
1642
1642
|
}) => {
|
|
1643
|
-
const o = SA(), s =
|
|
1643
|
+
const o = SA(), s = mc(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 v = 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 mc = ({
|
|
|
1653
1653
|
I.push($);
|
|
1654
1654
|
}
|
|
1655
1655
|
return I;
|
|
1656
|
-
}, [c]),
|
|
1656
|
+
}, [c]), m = (w) => {
|
|
1657
1657
|
if (i !== "None") {
|
|
1658
1658
|
if (i === "Single") {
|
|
1659
1659
|
h(w), a?.(w);
|
|
@@ -1679,21 +1679,21 @@ const mc = ({
|
|
|
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: v[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
|
+
v.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: m
|
|
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
|
+
}, mc = (A) => GA({
|
|
1697
1697
|
width: fc,
|
|
1698
1698
|
"& .MuiPaper-root": {
|
|
1699
1699
|
paddingLeft: 24,
|
|
@@ -1864,7 +1864,7 @@ const mc = ({
|
|
|
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), v = Math.floor(Math.min(...C) / 100) * 100, m = Math.ceil(Math.max(...C) / 100) * 100, E = v * 0.95, L = m * 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 mc = ({
|
|
|
1892
1892
|
xAxis: [{ data: h, scaleType: i ? "band" : "point" }],
|
|
1893
1893
|
yAxis: [
|
|
1894
1894
|
{
|
|
1895
|
-
min:
|
|
1896
|
-
max:
|
|
1895
|
+
min: v,
|
|
1896
|
+
max: m || 100,
|
|
1897
1897
|
colorMap: o ? {
|
|
1898
1898
|
type: "continuous",
|
|
1899
1899
|
min: E,
|
|
@@ -1991,8 +1991,8 @@ const mc = ({
|
|
|
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 v = n.x, m = n.y;
|
|
1995
|
+
v + C.width * 2 > f.right ? v = n.x - C.width : v - C.width < f.left && (v = n.x), m + C.height * 2 > f.bottom && (m = n.y - C.height), s({ x: v, y: m });
|
|
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 mc = ({
|
|
|
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, v] = 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: m, hoveredAreaData: E, isAreaHovered: L, cursorPos: b } = f, w = L && m && 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 mc = ({
|
|
|
2141
2141
|
{
|
|
2142
2142
|
onMouseMove: (G) => {
|
|
2143
2143
|
const pA = G.currentTarget.getBoundingClientRect();
|
|
2144
|
-
|
|
2144
|
+
v((yA) => ({
|
|
2145
2145
|
...yA,
|
|
2146
2146
|
cursorPos: {
|
|
2147
2147
|
x: G.clientX - pA.left,
|
|
@@ -2166,7 +2166,7 @@ const mc = ({
|
|
|
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
|
+
v({
|
|
2170
2170
|
hoveredSeriesId: String(G.seriesId),
|
|
2171
2171
|
hoveredAreaData: null,
|
|
2172
2172
|
isAreaHovered: !1,
|
|
@@ -2177,14 +2177,14 @@ const mc = ({
|
|
|
2177
2177
|
x: O[fn],
|
|
2178
2178
|
y: Cn
|
|
2179
2179
|
})) ?? [];
|
|
2180
|
-
|
|
2180
|
+
v({
|
|
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
|
+
v({
|
|
2188
2188
|
hoveredSeriesId: null,
|
|
2189
2189
|
hoveredAreaData: null,
|
|
2190
2190
|
isAreaHovered: !1,
|
|
@@ -2198,10 +2198,10 @@ const mc = ({
|
|
|
2198
2198
|
}
|
|
2199
2199
|
},
|
|
2200
2200
|
slots: {
|
|
2201
|
-
itemContent: (G) => I &&
|
|
2201
|
+
itemContent: (G) => I && m ? /* @__PURE__ */ t(
|
|
2202
2202
|
Dc,
|
|
2203
2203
|
{
|
|
2204
|
-
categoryGuid: sA(
|
|
2204
|
+
categoryGuid: sA(m),
|
|
2205
2205
|
...G
|
|
2206
2206
|
}
|
|
2207
2207
|
) : null
|
|
@@ -2264,7 +2264,7 @@ const mc = ({
|
|
|
2264
2264
|
w && /* @__PURE__ */ t(
|
|
2265
2265
|
Ic,
|
|
2266
2266
|
{
|
|
2267
|
-
categoryGuid: sA(
|
|
2267
|
+
categoryGuid: sA(m),
|
|
2268
2268
|
chartContainerRef: d,
|
|
2269
2269
|
cursorPosition: b,
|
|
2270
2270
|
hoveredAreaData: E
|
|
@@ -2436,7 +2436,7 @@ const mc = ({
|
|
|
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, v] = g.useState(n.dateRangePickerCopy.dateRangeThisMonth), [m, 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 mc = ({
|
|
|
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) : mt(Ma(rA), 1), lA[1] = sA ? Ra(Na(rA), 1) : mt(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(m), I(
|
|
2466
2466
|
f === n.dateRangePickerCopy.dateRangeThisMonth || f === n.dateRangePickerCopy.dateRangeLastMonth
|
|
2467
|
-
), A.onRangeChanged(
|
|
2467
|
+
), A.onRangeChanged(m);
|
|
2468
2468
|
}, z = (K) => {
|
|
2469
2469
|
O(K);
|
|
2470
2470
|
};
|
|
@@ -2500,9 +2500,9 @@ const mc = ({
|
|
|
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(m[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(m[1], F.MONTH_DAY_YEAR) })
|
|
2506
2506
|
] }),
|
|
2507
2507
|
o !== "readonly" && o !== "timeframebuttons" && /* @__PURE__ */ u(
|
|
2508
2508
|
Yo,
|
|
@@ -2617,9 +2617,9 @@ const mc = ({
|
|
|
2617
2617
|
Da,
|
|
2618
2618
|
{
|
|
2619
2619
|
copy: n.dateRangePickerCopy,
|
|
2620
|
-
dateRange:
|
|
2620
|
+
dateRange: m,
|
|
2621
2621
|
onRangeChanged: (K, lA) => {
|
|
2622
|
-
E(K),
|
|
2622
|
+
E(K), v(lA);
|
|
2623
2623
|
},
|
|
2624
2624
|
selectedShortcut: f,
|
|
2625
2625
|
sx: { p: 16 }
|
|
@@ -2644,9 +2644,9 @@ const mc = ({
|
|
|
2644
2644
|
Da,
|
|
2645
2645
|
{
|
|
2646
2646
|
copy: n.dateRangePickerCopy,
|
|
2647
|
-
dateRange:
|
|
2647
|
+
dateRange: m,
|
|
2648
2648
|
onRangeChanged: (K, lA) => {
|
|
2649
|
-
E(K),
|
|
2649
|
+
E(K), v(lA);
|
|
2650
2650
|
},
|
|
2651
2651
|
selectedShortcut: f,
|
|
2652
2652
|
sx: {
|
|
@@ -2778,8 +2778,8 @@ const mc = ({
|
|
|
2778
2778
|
},
|
|
2779
2779
|
children: A
|
|
2780
2780
|
}
|
|
2781
|
-
),
|
|
2782
|
-
|
|
2781
|
+
), vi = g.createContext(null), mi = ({ children: A, availableHeight: e, availableWidth: n }) => /* @__PURE__ */ t(
|
|
2782
|
+
vi.Provider,
|
|
2783
2783
|
{
|
|
2784
2784
|
value: {
|
|
2785
2785
|
availableHeight: e,
|
|
@@ -2793,8 +2793,8 @@ const mc = ({
|
|
|
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, vA = () => 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(vi);
|
|
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(mi, { 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: v }] = Ei(), { onEvent: m } = Y(), { isDesktop: E, isMobile: L, isTablet: b } = jA(), { displayedDateRange: w, selectedAccountGuids: I, setSelectedAccountGuids: D } = vA(), { common: O } = W(), k = () => {
|
|
2880
|
+
c && (c(), m(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(mi, { availableHeight: f, availableWidth: v, 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(""), v = SA(), m = kc(v), 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(mA, { children: "$" }) : void 0,
|
|
3078
|
+
startAdornment: Me().includes("fr-ca") ? void 0 : /* @__PURE__ */ t(mA, { children: "$" })
|
|
3079
3079
|
},
|
|
3080
3080
|
"aria-label": e || r.enter_amount,
|
|
3081
|
-
className: `mx-cmn-currency-input ${
|
|
3081
|
+
className: `mx-cmn-currency-input ${m}`,
|
|
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 } = vA(), { 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: v, upcomingExpenses: m } = 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
|
+
v && h(v), f(m);
|
|
3428
|
+
}, [v, m]);
|
|
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, m]
|
|
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(mA, { 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(mA, { 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(mA, { 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(mA, { 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
|
+
}, vl = (A) => mt(A, 1), vt = (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, ml = ({
|
|
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
|
+
}, v = g.useRef(null), m = Yr({
|
|
4393
4393
|
count: l.length,
|
|
4394
|
-
getScrollElement: () =>
|
|
4394
|
+
getScrollElement: () => v.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(() => m.measure(), [l]), g.useEffect(() => d(r), [r]), /* @__PURE__ */ t(oA, { children: /* @__PURE__ */ t(S, { height: e, overflow: "auto", ref: v, 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
|
+
m.getVirtualItems().length === 0 ? "auto" : m.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 && m.getVirtualItems().length === 0 && s,
|
|
4410
|
+
!c && !i && m.getVirtualItems().length > 0 && m.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(ml), 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, v] = g.useState(!1), m = !!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
|
+
m && /* @__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
|
+
v(!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: v,
|
|
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: v,
|
|
4896
|
+
setUnselectableText: m
|
|
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), v(a), m(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
|
+
v();
|
|
5101
|
+
}, v = () => {
|
|
5102
5102
|
l(!1), i(!1);
|
|
5103
|
-
},
|
|
5103
|
+
}, m = 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: v,
|
|
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
|
+
m?.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
|
+
vc,
|
|
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 = (v) => {
|
|
5464
|
+
isNaN(Number(v)) || (l(v), a(A, Number(v)));
|
|
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(vn, { alignItems: C ? "center" : "start", container: !0, children: [
|
|
5475
|
+
/* @__PURE__ */ t(vn, { 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(vn, { 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: (v) => {
|
|
5548
|
+
n(A, v), 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), [v, m] = g.useState([]), E = () => {
|
|
5626
|
+
const B = [...v];
|
|
5627
|
+
B.push({ ...l }), B[0].amount -= 1, m(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 = v[B], z = [...v];
|
|
5631
|
+
z.splice(B, 1), z[0].amount += R.amount, m(z);
|
|
5632
5632
|
}
|
|
5633
5633
|
}, b = (B, R) => {
|
|
5634
|
-
const z = [...
|
|
5634
|
+
const z = [...v];
|
|
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
|
+
), m(z);
|
|
5639
5639
|
}, w = (B, R) => {
|
|
5640
|
-
const z = [...
|
|
5640
|
+
const z = [...v], 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
|
+
}, m(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
|
+
m([{ ...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 }, v), h(!1);
|
|
5657
5657
|
}, O = async () => {
|
|
5658
|
-
e(M.ON_TRANSACTION_SPLIT_CANCEL_CLICK),
|
|
5658
|
+
e(M.ON_TRANSACTION_SPLIT_CANCEL_CLICK), m([{ ...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 = v.some((z) => !z.category_guid), R = v.some((z) => z.amount <= 0);
|
|
5667
5667
|
return B || R;
|
|
5668
|
-
}, [
|
|
5668
|
+
}, [v]);
|
|
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: v,
|
|
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(mA, { 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(""), [v, m] = 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
|
+
m(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": v ? "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(mA, { id: "update-tag-error", sx: { color: "error.main" }, variant: "ParagraphSmall", children: v })
|
|
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 = (m) => {
|
|
5934
|
+
const E = [...d], L = d.indexOf(m);
|
|
5935
|
+
L >= 0 ? E.splice(L, 1) : E.push(m), 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
|
+
}, v = g.useMemo(
|
|
5943
5943
|
() => A.tags.map(
|
|
5944
|
-
(
|
|
5944
|
+
(m, E, L) => `${n.find((b) => b.guid === m)?.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 ? v : 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", vd = {
|
|
6195
6195
|
close_drawer_aria: "Close drawer"
|
|
6196
|
-
},
|
|
6196
|
+
}, md = ({
|
|
6197
6197
|
loadWidgetProps: A,
|
|
6198
6198
|
onClose: e,
|
|
6199
6199
|
showConnectWidget: n,
|
|
@@ -6225,7 +6225,7 @@ const ir = "connect_widget", or = "connections_widget", md = {
|
|
|
6225
6225
|
}), [n]), /* @__PURE__ */ t(
|
|
6226
6226
|
hA,
|
|
6227
6227
|
{
|
|
6228
|
-
ariaLabelClose:
|
|
6228
|
+
ariaLabelClose: vd.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", md = {
|
|
|
6237
6237
|
] })
|
|
6238
6238
|
}
|
|
6239
6239
|
);
|
|
6240
|
-
}, Ca = x(
|
|
6241
|
-
const { selectedAccounts: A } =
|
|
6240
|
+
}, Ca = x(md), pd = () => {
|
|
6241
|
+
const { selectedAccounts: A } = vA(), { 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", md = {
|
|
|
6253
6253
|
s(E), i({ ...a, amount: Number(E) });
|
|
6254
6254
|
}, f = (E, L) => {
|
|
6255
6255
|
i({ ...a, transaction_type: Number(L) });
|
|
6256
|
-
}, m = (E) => {
|
|
6257
|
-
l(E), i({ ...a, payee: E, description: E });
|
|
6258
6256
|
}, v = (E) => {
|
|
6257
|
+
l(E), i({ ...a, payee: E, description: E });
|
|
6258
|
+
}, m = (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", md = {
|
|
|
6308
6308
|
{
|
|
6309
6309
|
label: n.payee_title,
|
|
6310
6310
|
name: "payee",
|
|
6311
|
-
onChange: (E) =>
|
|
6311
|
+
onChange: (E) => v(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", md = {
|
|
|
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) => m(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", md = {
|
|
|
6389
6389
|
setSearchValue: d,
|
|
6390
6390
|
setShowInsights: h,
|
|
6391
6391
|
updateManualTransaction: C
|
|
6392
|
-
} = WA(), { addTransaction: f, filter:
|
|
6392
|
+
} = WA(), { addTransaction: f, filter: v, setFilter: m, 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
|
+
} = vA(), [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), m({
|
|
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 && m({
|
|
6410
|
+
...v,
|
|
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", md = {
|
|
|
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), m({
|
|
6424
|
+
...v,
|
|
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", md = {
|
|
|
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 v = { ...A, recurrenceType: f };
|
|
6633
6633
|
if (A.activityType === EA.Expense) {
|
|
6634
|
-
const
|
|
6635
|
-
|
|
6634
|
+
const m = n.find((E) => E.guid === A.scheduledPaymentGuid);
|
|
6635
|
+
m && await r(Pi(v, m));
|
|
6636
6636
|
} else {
|
|
6637
|
-
const
|
|
6638
|
-
|
|
6637
|
+
const m = e.find((E) => E.guid === A.sequenceGuid);
|
|
6638
|
+
m && await a(xi(v, m));
|
|
6639
6639
|
}
|
|
6640
6640
|
s(!1);
|
|
6641
6641
|
}, h = () => {
|
|
@@ -6699,11 +6699,11 @@ const ir = "connect_widget", or = "connections_widget", md = {
|
|
|
6699
6699
|
}, C = async () => {
|
|
6700
6700
|
const f = { ...A, expectedDate: c };
|
|
6701
6701
|
if (A.activityType === EA.Expense) {
|
|
6702
|
-
const
|
|
6703
|
-
|
|
6702
|
+
const v = n.find((m) => m.guid === A.scheduledPaymentGuid);
|
|
6703
|
+
v && await r(Pi(f, v));
|
|
6704
6704
|
} else {
|
|
6705
|
-
const
|
|
6706
|
-
|
|
6705
|
+
const v = e.find((m) => m.guid === A.sequenceGuid);
|
|
6706
|
+
v && await a(xi(f, v));
|
|
6707
6707
|
}
|
|
6708
6708
|
s(!1);
|
|
6709
6709
|
};
|
|
@@ -6747,7 +6747,7 @@ const ir = "connect_widget", or = "connections_widget", md = {
|
|
|
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 } = vA(), { onEvent: d } = Y(), [h, C] = g.useState(!1), [f, v] = g.useState(""), m = 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", md = {
|
|
|
6806
6806
|
),
|
|
6807
6807
|
/* @__PURE__ */ t(q, { color: "secondary", variant: "inset" })
|
|
6808
6808
|
] }),
|
|
6809
|
-
|
|
6809
|
+
m && /* @__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: m.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", md = {
|
|
|
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: v }),
|
|
6838
6838
|
/* @__PURE__ */ t(
|
|
6839
6839
|
hA,
|
|
6840
6840
|
{
|
|
6841
6841
|
ariaLabelClose: JA.close_drawer_aria,
|
|
6842
6842
|
isOpen: !!f,
|
|
6843
|
-
onClose: () =>
|
|
6843
|
+
onClose: () => v(""),
|
|
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", md = {
|
|
|
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 } }) }), va = ({ 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 } }) }), ma = ({ 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", md = {
|
|
|
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 && vs(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", md = {
|
|
|
6904
6904
|
return a;
|
|
6905
6905
|
}, Od = (A) => {
|
|
6906
6906
|
if (A.activityType === EA.Income)
|
|
6907
|
-
return /* @__PURE__ */ t(
|
|
6907
|
+
return /* @__PURE__ */ t(va, {});
|
|
6908
6908
|
switch (A.activityStatus) {
|
|
6909
6909
|
case wA.Missed:
|
|
6910
|
-
return /* @__PURE__ */ t(
|
|
6910
|
+
return /* @__PURE__ */ t(ma, {});
|
|
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", md = {
|
|
|
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(mA, { 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", md = {
|
|
|
7171
7171
|
i(fl(d));
|
|
7172
7172
|
break;
|
|
7173
7173
|
case _.EveryYear:
|
|
7174
|
-
i(
|
|
7174
|
+
i(vl(d));
|
|
7175
7175
|
break;
|
|
7176
7176
|
}
|
|
7177
7177
|
r(Number(l.target.value));
|
|
@@ -7200,7 +7200,7 @@ const ir = "connect_widget", or = "connections_widget", md = {
|
|
|
7200
7200
|
}
|
|
7201
7201
|
),
|
|
7202
7202
|
/* @__PURE__ */ t(Jn, { dateAdapter: tn, children: /* @__PURE__ */ t(
|
|
7203
|
-
|
|
7203
|
+
ms,
|
|
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", md = {
|
|
|
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, v] = g.useState(_.EveryMonth), [m, 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 || !m) {
|
|
7233
7233
|
I();
|
|
7234
7234
|
return;
|
|
7235
7235
|
}
|
|
7236
7236
|
if (A) {
|
|
7237
|
-
const D = Ni(L, f,
|
|
7237
|
+
const D = Ni(L, f, m), 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, m);
|
|
7244
7244
|
await i(D, L);
|
|
7245
7245
|
}
|
|
7246
7246
|
I();
|
|
@@ -7291,8 +7291,8 @@ const ir = "connect_widget", or = "connections_widget", md = {
|
|
|
7291
7291
|
{
|
|
7292
7292
|
frequency: f,
|
|
7293
7293
|
isIncome: A,
|
|
7294
|
-
nextDate:
|
|
7295
|
-
onFrequencyChange:
|
|
7294
|
+
nextDate: m,
|
|
7295
|
+
onFrequencyChange: v,
|
|
7296
7296
|
onNextDateChange: E,
|
|
7297
7297
|
transaction: L
|
|
7298
7298
|
}
|
|
@@ -7319,7 +7319,7 @@ const ir = "connect_widget", or = "connections_widget", md = {
|
|
|
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 } = vA(), { 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", md = {
|
|
|
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((v) => v.guid === d.cashflow_sequence_guid), C = i.find((v) => v.guid === d.transaction_guid), f = A.find((v) => v.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: vt(d.expected_date),
|
|
7352
|
+
occurredOnDate: d.occurred_on ? vt(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", md = {
|
|
|
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((m) => m.guid === d.cashflow_sequence_guid), C = e.find(
|
|
7374
|
+
(m) => m.cashflow_sequence_guid === d.cashflow_sequence_guid && !!m.transaction_guid
|
|
7375
|
+
), f = i.find((m) => m.guid === C?.transaction_guid), v = A.find((m) => m.guid === f?.account_guid);
|
|
7376
7376
|
return {
|
|
7377
|
-
accountGuid: h?.account_guid ||
|
|
7377
|
+
accountGuid: h?.account_guid || v?.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: vt(d.expected_date),
|
|
7383
7383
|
name: d.name,
|
|
7384
|
-
institution:
|
|
7385
|
-
institutionGuid:
|
|
7384
|
+
institution: v ? Bn(v) : void 0,
|
|
7385
|
+
institutionGuid: v?.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", md = {
|
|
|
7481
7481
|
});
|
|
7482
7482
|
break;
|
|
7483
7483
|
case _.EveryYear:
|
|
7484
|
-
gA(o, d) ? gA(
|
|
7484
|
+
gA(o, d) ? gA(mt(o, 1), h) && a.push({
|
|
7485
7485
|
...s,
|
|
7486
|
-
expectedDate:
|
|
7486
|
+
expectedDate: mt(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", md = {
|
|
|
7491
7491
|
break;
|
|
7492
7492
|
}
|
|
7493
7493
|
return a.forEach((f) => {
|
|
7494
|
-
const
|
|
7495
|
-
(
|
|
7494
|
+
const v = n.find(
|
|
7495
|
+
(m) => m.scheduled_payment_guid === f.scheduledPaymentGuid && m.date > CA(ie(f.expectedDate, 3)) && m.date < CA(ge(f.expectedDate, 3))
|
|
7496
7496
|
);
|
|
7497
|
-
|
|
7497
|
+
v ? (f.transactionGuid = v.guid, f.occurredOnDate = NA(v.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 = vt(o.expected_date) : s && (d = vt(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", md = {
|
|
|
7516
7516
|
sequenceGuid: i.guid
|
|
7517
7517
|
};
|
|
7518
7518
|
}), Xd = () => {
|
|
7519
|
-
const { selectedAccounts: A } =
|
|
7519
|
+
const { selectedAccounts: A } = vA(), { 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", md = {
|
|
|
7577
7577
|
missed: "Missed",
|
|
7578
7578
|
upcoming: "Upcoming",
|
|
7579
7579
|
income: "Income"
|
|
7580
|
-
}, { selectedAccountGuids: r } =
|
|
7581
|
-
() => i.filter((
|
|
7580
|
+
}, { selectedAccountGuids: r } = vA(), { activities: i, setSelectedDay: o } = kA(), c = g.useMemo(
|
|
7581
|
+
() => i.filter((v) => r.includes(v.accountGuid || "")),
|
|
7582
7582
|
[r, i]
|
|
7583
7583
|
).filter(
|
|
7584
|
-
(
|
|
7584
|
+
(v) => FA(v.occurredOnDate || v.expectedDate, A)
|
|
7585
7585
|
), l = c.some(
|
|
7586
|
-
(
|
|
7586
|
+
(v) => v.activityType === EA.Expense && v.activityStatus === wA.Upcoming
|
|
7587
7587
|
), d = c.some(
|
|
7588
|
-
(
|
|
7588
|
+
(v) => v.activityType === EA.Expense && v.activityStatus === wA.Missed
|
|
7589
7589
|
), h = c.some(
|
|
7590
|
-
(
|
|
7591
|
-
), C = c.some((
|
|
7590
|
+
(v) => v.activityType === EA.Expense && v.activityStatus === wA.Paid
|
|
7591
|
+
), C = c.some((v) => v.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(ma, { 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(va, { isOffset: !0 })
|
|
7600
7600
|
] }),
|
|
7601
7601
|
overlap: "circular",
|
|
7602
7602
|
sx: {
|
|
@@ -7643,8 +7643,8 @@ const ir = "connect_widget", or = "connections_widget", md = {
|
|
|
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: va, label: "Income" }),
|
|
7647
|
+
/* @__PURE__ */ t(_t, { icon: ma, 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", md = {
|
|
|
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), v = h.filter(Rt).reduce(lt, 0), m = 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", md = {
|
|
|
7836
7836
|
/* @__PURE__ */ t(
|
|
7837
7837
|
dr,
|
|
7838
7838
|
{
|
|
7839
|
-
expected:
|
|
7839
|
+
expected: v,
|
|
7840
7840
|
missed: E,
|
|
7841
|
-
paid:
|
|
7841
|
+
paid: m,
|
|
7842
7842
|
title: Ke.recurring_activity_expenses,
|
|
7843
7843
|
total: L
|
|
7844
7844
|
}
|
|
@@ -7906,7 +7906,7 @@ const ir = "connect_widget", or = "connections_widget", md = {
|
|
|
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 } = vA(), { 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", md = {
|
|
|
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 } = vA(), { 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", md = {
|
|
|
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 } = vA(), { 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), vr = {
|
|
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, v) => f + v.amount, 0), h = r.filter((f) => f.accountGuid === l.guid).reduce((f, v) => f + v.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: vr.tooltip_body, title: vr.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, v = 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: `${v} ${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
|
+
}, vu = x(fu), mu = () => {
|
|
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(vu, {}) }) }),
|
|
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(mu), 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
|
+
}, mr = (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 } = vA(), { dateRange: s, selectedCashAccounts: c } = ot(), { userProfile: l } = rn(), d = g.useMemo(
|
|
8803
|
+
() => r.filter(mr(o, s)),
|
|
8804
8804
|
[s, o, r]
|
|
8805
8805
|
), h = g.useMemo(
|
|
8806
|
-
() => i.filter(
|
|
8806
|
+
() => i.filter(mr(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), v = h.reduce((b, w) => b + w.amount, 0), m = C - f + v, 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: v,
|
|
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: m,
|
|
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: v,
|
|
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: m,
|
|
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(mA, { pb: 32, children: n.welcome_description }),
|
|
8932
8932
|
/* @__PURE__ */ u(T, { direction: "column", mb: 32, spacing: 32, children: [
|
|
8933
|
-
/* @__PURE__ */ u(
|
|
8933
|
+
/* @__PURE__ */ u(mA, { 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(mA, { 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(mA, { 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(mA, { 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 } = vA(), { filter: l, setFilter: d, transactions: h } = uA(), C = fA(), [f, v] = de(!0), [m, 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(mA, { 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: () => v(!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), v(!1);
|
|
9099
9099
|
}
|
|
9100
9100
|
}
|
|
9101
9101
|
),
|
|
9102
|
-
!K && o && /* @__PURE__ */ t(
|
|
9102
|
+
!K && o && /* @__PURE__ */ t(mA, { 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: m,
|
|
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: m }), $(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(""), v(!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
|
+
} = vA(), { onEvent: s } = Y(), { cashAccounts: c } = DA(), { setFilter: l } = uA(), { userProfile: d } = rn(), { dateRange: h, setSelectedCashAccounts: C } = ot(), { cashflow: f } = W(), [v, m] = 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
|
+
m(!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: v,
|
|
9217
|
+
onClose: () => m(!1),
|
|
9218
9218
|
shouldShowHeaderBorders: !1,
|
|
9219
9219
|
title: f.cashflow_settings,
|
|
9220
9220
|
children: /* @__PURE__ */ t(Bi, {})
|
|
@@ -9911,7 +9911,10 @@ class Tr {
|
|
|
9911
9911
|
};
|
|
9912
9912
|
getAccounts = async () => this.fetchInstance.get(N.ACCOUNTS).then((e) => e.accounts).catch((e) => e);
|
|
9913
9913
|
getMembers = async () => this.fetchInstance.get(N.MEMBERS).then((e) => e.members).catch((e) => e);
|
|
9914
|
-
getMonthlyAccountBalances = async (e) => this.fetchInstance.get(`${N.ACCOUNTS}/${e.guid}/monthly_account_balances`).then((n) =>
|
|
9914
|
+
getMonthlyAccountBalances = async (e) => this.fetchInstance.get(`${N.ACCOUNTS}/${e.guid}/monthly_account_balances`).then((n) => {
|
|
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);
|
|
9915
9918
|
getNetWorthChartData = async () => wr.map((n) => ({ x: this.formatMonth(n.x), y: n.y }));
|
|
9916
9919
|
getNetWorthMonthlyList = async () => wr;
|
|
9917
9920
|
_flattenBalances = (e, n) => [
|
|
@@ -9933,21 +9936,13 @@ class Yu {
|
|
|
9933
9936
|
this.api = new Tr(e, n), await this.loadNetWorth();
|
|
9934
9937
|
};
|
|
9935
9938
|
loadNetWorth = async () => {
|
|
9936
|
-
const e = (n, a) => [...n, ...a.data.monthly_account_balances];
|
|
9937
9939
|
try {
|
|
9938
|
-
const
|
|
9939
|
-
console.log(a);
|
|
9940
|
-
const r = a.reduce(e, []), i = await this.api.getNetWorthMonthlyList(), o = await this.api.getNetWorthChartData();
|
|
9940
|
+
const e = await this.api.getAccounts(), n = e.map((i) => this.api.getMonthlyAccountBalances(i)), a = await this.api.getNetWorthMonthlyList(), r = await this.api.getNetWorthChartData();
|
|
9941
9941
|
V(() => {
|
|
9942
|
-
this.netWorthData = {
|
|
9943
|
-
accounts: n,
|
|
9944
|
-
monthlyAccountBalances: r.sort(
|
|
9945
|
-
(s, c) => s.year_month - c.year_month
|
|
9946
|
-
)
|
|
9947
|
-
}, this.netWorthMonthlyList = i, this.netWorthChartData = o;
|
|
9942
|
+
this.netWorthData = { accounts: e, monthlyAccountBalances: n }, this.netWorthMonthlyList = a, this.netWorthChartData = r;
|
|
9948
9943
|
});
|
|
9949
|
-
} catch (
|
|
9950
|
-
console.error(`Error occured while loading net worth: ${
|
|
9944
|
+
} catch (e) {
|
|
9945
|
+
console.error(`Error occured while loading net worth: ${e}`);
|
|
9951
9946
|
}
|
|
9952
9947
|
};
|
|
9953
9948
|
}
|
|
@@ -10031,12 +10026,12 @@ const Ln = ({
|
|
|
10031
10026
|
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.",
|
|
10032
10027
|
unhide_account: "Unhide Account"
|
|
10033
10028
|
}, Ju = () => {
|
|
10034
|
-
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 = (
|
|
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 = (m) => {
|
|
10035
10030
|
d({
|
|
10036
10031
|
...c,
|
|
10037
|
-
...
|
|
10032
|
+
...m
|
|
10038
10033
|
});
|
|
10039
|
-
},
|
|
10034
|
+
}, v = () => {
|
|
10040
10035
|
l([c.guid, o.guid]).finally(
|
|
10041
10036
|
() => a(!1)
|
|
10042
10037
|
);
|
|
@@ -10106,20 +10101,20 @@ const Ln = ({
|
|
|
10106
10101
|
isOpen: n,
|
|
10107
10102
|
onClose: () => a(!1),
|
|
10108
10103
|
title: TA.mark_as_duplicate,
|
|
10109
|
-
children: /* @__PURE__ */ t(oA, { children: h.map((
|
|
10110
|
-
const E = h.indexOf(
|
|
10104
|
+
children: /* @__PURE__ */ t(oA, { children: h.map((m) => {
|
|
10105
|
+
const E = h.indexOf(m) === h.length - 1;
|
|
10111
10106
|
return /* @__PURE__ */ u(g.Fragment, { children: [
|
|
10112
10107
|
/* @__PURE__ */ t(
|
|
10113
10108
|
hn,
|
|
10114
10109
|
{
|
|
10115
|
-
account:
|
|
10110
|
+
account: m,
|
|
10116
10111
|
onRowClick: () => {
|
|
10117
|
-
i(!0), s(
|
|
10112
|
+
i(!0), s(m);
|
|
10118
10113
|
}
|
|
10119
10114
|
}
|
|
10120
10115
|
),
|
|
10121
10116
|
/* @__PURE__ */ t(oA, { sx: { ml: E ? 0 : 24 } })
|
|
10122
|
-
] },
|
|
10117
|
+
] }, m.guid);
|
|
10123
10118
|
}) })
|
|
10124
10119
|
}
|
|
10125
10120
|
),
|
|
@@ -10132,7 +10127,7 @@ const Ln = ({
|
|
|
10132
10127
|
},
|
|
10133
10128
|
isOpen: r,
|
|
10134
10129
|
onClose: () => i(!1),
|
|
10135
|
-
onPrimaryAction:
|
|
10130
|
+
onPrimaryAction: v,
|
|
10136
10131
|
children: [
|
|
10137
10132
|
H(
|
|
10138
10133
|
TA.this_means_accounts_will_be_merged,
|
|
@@ -10403,10 +10398,10 @@ const Ln = ({
|
|
|
10403
10398
|
},
|
|
10404
10399
|
label: A.label,
|
|
10405
10400
|
labelId: `${A.label}-select-label`,
|
|
10406
|
-
onChange: (
|
|
10401
|
+
onChange: (m) => o(m.target.value),
|
|
10407
10402
|
placeholder: A.placeholder,
|
|
10408
10403
|
value: i,
|
|
10409
|
-
children: A.options?.map((
|
|
10404
|
+
children: A.options?.map((m) => /* @__PURE__ */ t(Wn, { value: m.value, children: m.label }, m.value))
|
|
10410
10405
|
}
|
|
10411
10406
|
)
|
|
10412
10407
|
] });
|
|
@@ -10428,8 +10423,8 @@ const Ln = ({
|
|
|
10428
10423
|
{
|
|
10429
10424
|
maxDate: YA(/* @__PURE__ */ new Date(), 1),
|
|
10430
10425
|
minDate: /* @__PURE__ */ new Date(),
|
|
10431
|
-
onChange: (
|
|
10432
|
-
r[A.name] && Number(r[A.name]) <= 31 ? o(
|
|
10426
|
+
onChange: (m) => {
|
|
10427
|
+
r[A.name] && Number(r[A.name]) <= 31 ? o(m.getDate()) : o(m);
|
|
10433
10428
|
},
|
|
10434
10429
|
views: ["day"]
|
|
10435
10430
|
}
|
|
@@ -10442,7 +10437,7 @@ const Ln = ({
|
|
|
10442
10437
|
error: !!s,
|
|
10443
10438
|
fullWidth: !0,
|
|
10444
10439
|
helperText: s,
|
|
10445
|
-
onChange:
|
|
10440
|
+
onChange: v,
|
|
10446
10441
|
placeholder: A.placeholder
|
|
10447
10442
|
}
|
|
10448
10443
|
);
|
|
@@ -10452,8 +10447,8 @@ const Ln = ({
|
|
|
10452
10447
|
...r,
|
|
10453
10448
|
[A.name]: i
|
|
10454
10449
|
}), h();
|
|
10455
|
-
},
|
|
10456
|
-
o(
|
|
10450
|
+
}, v = (m) => {
|
|
10451
|
+
o(m.target.value), A.validation && c(A.validation(m.target.value));
|
|
10457
10452
|
};
|
|
10458
10453
|
return /* @__PURE__ */ t(
|
|
10459
10454
|
zA,
|
|
@@ -10659,10 +10654,10 @@ const Ln = ({
|
|
|
10659
10654
|
}, C1 = (A, e) => {
|
|
10660
10655
|
const n = A.filter(Qi);
|
|
10661
10656
|
return Ea(n);
|
|
10662
|
-
}, f1 = (A) => A.filter((e) => e.category_guid === e.top_level_category_guid),
|
|
10657
|
+
}, f1 = (A) => A.filter((e) => e.category_guid === e.top_level_category_guid), v1 = (A, e) => {
|
|
10663
10658
|
const n = typeof A == "string" ? parseFloat(A.replace(/[^0-9.-]+/g, "")) : A, a = typeof e == "string" ? parseFloat(e.replace(/[^0-9.-]+/g, "")) : e;
|
|
10664
10659
|
return (n || 0) - (a || 0);
|
|
10665
|
-
},
|
|
10660
|
+
}, m1 = (A, e) => {
|
|
10666
10661
|
const n = ea.includes(e) ? h1(A) : [], a = ta.includes(e) ? g1(A) : [], r = na.includes(e) ? C1(A) : [];
|
|
10667
10662
|
return [n, a, r].filter((i) => i.length > 0);
|
|
10668
10663
|
}, On = {
|
|
@@ -10684,7 +10679,7 @@ const Ln = ({
|
|
|
10684
10679
|
}
|
|
10685
10680
|
return o;
|
|
10686
10681
|
}, y1 = () => {
|
|
10687
|
-
const A = ze(), { selectedAccount: e } = se(), { monthlyCategoryTotals: n } = xA(), a = [A.palette.chart?.chart1, A.palette.chart?.chart2], r =
|
|
10682
|
+
const A = ze(), { selectedAccount: e } = se(), { monthlyCategoryTotals: n } = xA(), a = [A.palette.chart?.chart1, A.palette.chart?.chart2], r = m1(n, e.account_type), i = p1(r, e.account_type), o = [Q.LOAN, Q.MORTGAGE].includes(e.account_type);
|
|
10688
10683
|
return /* @__PURE__ */ t("div", { "data-testid": "TrendsChart", children: /* @__PURE__ */ t(
|
|
10689
10684
|
ra,
|
|
10690
10685
|
{
|
|
@@ -10767,7 +10762,7 @@ const Ln = ({
|
|
|
10767
10762
|
}, I1 = (A) => ({
|
|
10768
10763
|
list_aria: `${A[0]} accounts`
|
|
10769
10764
|
}), D1 = () => {
|
|
10770
|
-
const [A, e] = g.useState(""), { selectedAccounts: n } =
|
|
10765
|
+
const [A, e] = g.useState(""), { selectedAccounts: n } = vA(), { 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);
|
|
10771
10766
|
return g.useEffect(() => {
|
|
10772
10767
|
if (c) {
|
|
10773
10768
|
a(c);
|
|
@@ -10776,13 +10771,13 @@ const Ln = ({
|
|
|
10776
10771
|
}
|
|
10777
10772
|
}, [c, A]), /* @__PURE__ */ u(S, { sx: { pt: 24 }, children: [
|
|
10778
10773
|
s.map((l) => {
|
|
10779
|
-
const d = n.filter((
|
|
10780
|
-
(
|
|
10774
|
+
const d = n.filter((v) => v.account_type === l), h = d.reduce(
|
|
10775
|
+
(v, m) => (m.available_balance || m.balance || 0) + v,
|
|
10781
10776
|
0
|
|
10782
|
-
), C = Gt[d[0].account_type], f = (
|
|
10783
|
-
e(
|
|
10784
|
-
account_guid:
|
|
10785
|
-
account_type:
|
|
10777
|
+
), C = Gt[d[0].account_type], f = (v) => {
|
|
10778
|
+
e(v.guid), o(J.ACCOUNTS_CLICK_ACCOUNT, {
|
|
10779
|
+
account_guid: v.guid,
|
|
10780
|
+
account_type: v.account_type
|
|
10786
10781
|
});
|
|
10787
10782
|
};
|
|
10788
10783
|
return /* @__PURE__ */ t(
|
|
@@ -10801,18 +10796,18 @@ const Ln = ({
|
|
|
10801
10796
|
]
|
|
10802
10797
|
}
|
|
10803
10798
|
) }),
|
|
10804
|
-
children: /* @__PURE__ */ t(Ia, { children: d.map((
|
|
10805
|
-
const
|
|
10799
|
+
children: /* @__PURE__ */ t(Ia, { children: d.map((v) => {
|
|
10800
|
+
const m = n.indexOf(v) === n.length - 1, E = d.indexOf(v) === d.length - 1;
|
|
10806
10801
|
return /* @__PURE__ */ u(g.Fragment, { children: [
|
|
10807
10802
|
/* @__PURE__ */ t(
|
|
10808
10803
|
hn,
|
|
10809
10804
|
{
|
|
10810
|
-
account:
|
|
10811
|
-
onRowClick: () => f(
|
|
10805
|
+
account: v,
|
|
10806
|
+
onRowClick: () => f(v),
|
|
10812
10807
|
shouldShowConnectionStatus: !0
|
|
10813
10808
|
}
|
|
10814
10809
|
),
|
|
10815
|
-
!
|
|
10810
|
+
!m && /* @__PURE__ */ t(
|
|
10816
10811
|
q,
|
|
10817
10812
|
{
|
|
10818
10813
|
sx: {
|
|
@@ -10821,7 +10816,7 @@ const Ln = ({
|
|
|
10821
10816
|
}
|
|
10822
10817
|
}
|
|
10823
10818
|
)
|
|
10824
|
-
] },
|
|
10819
|
+
] }, v.guid);
|
|
10825
10820
|
}) })
|
|
10826
10821
|
},
|
|
10827
10822
|
l
|
|
@@ -10889,7 +10884,7 @@ const Ln = ({
|
|
|
10889
10884
|
sync_accounts: "Sync Accounts",
|
|
10890
10885
|
no_accounts: "No accounts available"
|
|
10891
10886
|
}, N1 = ({ onBackClick: A, sx: e = {} }) => {
|
|
10892
|
-
const [n, a] = g.useState(!1), [r, i] = g.useState(!1), { accounts: o, refreshMembers: s } = DA(), { setSelectedAccounts: c, selectedAccountGuids: l } =
|
|
10887
|
+
const [n, a] = g.useState(!1), [r, i] = g.useState(!1), { accounts: o, refreshMembers: s } = DA(), { setSelectedAccounts: c, selectedAccountGuids: l } = vA(), { isDesktop: d } = jA(), { onEvent: h } = Y();
|
|
10893
10888
|
g.useEffect(() => {
|
|
10894
10889
|
c(o);
|
|
10895
10890
|
}, [o]);
|
|
@@ -10937,7 +10932,7 @@ const Ln = ({
|
|
|
10937
10932
|
}
|
|
10938
10933
|
);
|
|
10939
10934
|
}, z7 = x(N1), M1 = (A, e) => A.filter((n) => e.includes(n.guid)).slice(0, 3), R1 = ({ onPrimaryCtaClick: A, sx: e }) => {
|
|
10940
|
-
const { accounts: n } = DA(), { selectedAccountGuids: a } =
|
|
10935
|
+
const { accounts: n } = DA(), { selectedAccountGuids: a } = vA(), [r, i] = g.useState(n), o = {
|
|
10941
10936
|
title: "Accounts",
|
|
10942
10937
|
primary_cta: "View Accounts",
|
|
10943
10938
|
no_accounts: "No available accounts"
|
|
@@ -11757,7 +11752,7 @@ const Or = {
|
|
|
11757
11752
|
},
|
|
11758
11753
|
shouldShowZeroState: n
|
|
11759
11754
|
}) => {
|
|
11760
|
-
const a = fA(), { budgets: r } = nn(), { categories: i } = xA(), { isInitialized: o } =
|
|
11755
|
+
const a = fA(), { budgets: r } = nn(), { categories: i } = xA(), { isInitialized: o } = vA(), { availableHeight: s, availableWidth: c } = bt(), [l, d] = g.useState(!1), h = g.useMemo(
|
|
11761
11756
|
() => k1(r, i, a),
|
|
11762
11757
|
[r, s, c]
|
|
11763
11758
|
), [C, f] = g.useMemo(() => [450, c - 24], [s, c]);
|
|
@@ -11806,7 +11801,7 @@ const zt = {
|
|
|
11806
11801
|
good_morning: "Good morning!",
|
|
11807
11802
|
heres_your_spending_overview: "Here's your monthly financial overview."
|
|
11808
11803
|
}, rh = () => {
|
|
11809
|
-
const { accounts: A } = DA(), { selectedAccountGuids: e, setSelectedAccountGuids: n } =
|
|
11804
|
+
const { accounts: A } = DA(), { selectedAccountGuids: e, setSelectedAccountGuids: n } = vA(), { isMobile: a } = jA(), { common: r } = W(), i = {
|
|
11810
11805
|
accountFilterOptionsCopy: {
|
|
11811
11806
|
accountTypeAccounts: "_1{accountType} accounts",
|
|
11812
11807
|
cancelButton: r.cancel_button,
|
|
@@ -11845,7 +11840,7 @@ const zt = {
|
|
|
11845
11840
|
)
|
|
11846
11841
|
] }) });
|
|
11847
11842
|
}, ih = x(rh), oh = ({ widgets: A, isLoading: e }) => {
|
|
11848
|
-
const { isDesktop: n, isMobile: a } = jA(), { copyStore: r } = an(), { setSelectedAccounts: i } =
|
|
11843
|
+
const { isDesktop: n, isMobile: a } = jA(), { copyStore: r } = an(), { setSelectedAccounts: i } = vA(), { accounts: o } = DA();
|
|
11849
11844
|
g.useEffect(() => {
|
|
11850
11845
|
i(o);
|
|
11851
11846
|
}, [o]);
|
|
@@ -12062,7 +12057,7 @@ const zt = {
|
|
|
12062
12057
|
};
|
|
12063
12058
|
return /* @__PURE__ */ t(ji.Provider, { value: { toastState: e, showToast: a, hideToast: r, setMessage: i }, children: A });
|
|
12064
12059
|
}, Wi = () => {
|
|
12065
|
-
const A =
|
|
12060
|
+
const A = vo(ji);
|
|
12066
12061
|
if (!A)
|
|
12067
12062
|
throw new Error("useToast must be used within a ToastProvider");
|
|
12068
12063
|
return A;
|
|
@@ -12168,25 +12163,25 @@ const Yi = ({
|
|
|
12168
12163
|
he(() => {
|
|
12169
12164
|
f && !r && d(c);
|
|
12170
12165
|
}, [f, r, c, d]);
|
|
12171
|
-
const
|
|
12166
|
+
const v = (w) => {
|
|
12172
12167
|
const { name: I, checked: D } = w.target;
|
|
12173
12168
|
d((O) => ({
|
|
12174
12169
|
...O,
|
|
12175
12170
|
[I]: D
|
|
12176
12171
|
}));
|
|
12177
|
-
},
|
|
12172
|
+
}, m = Object.values(l).filter(Boolean).length, E = () => {
|
|
12178
12173
|
d(c), i();
|
|
12179
12174
|
}, L = () => {
|
|
12180
12175
|
const w = e.reduce(
|
|
12181
12176
|
(I, D) => ({
|
|
12182
12177
|
...I,
|
|
12183
|
-
[D.name]:
|
|
12178
|
+
[D.name]: m !== e.length
|
|
12184
12179
|
}),
|
|
12185
12180
|
{}
|
|
12186
12181
|
);
|
|
12187
12182
|
d(w);
|
|
12188
12183
|
}, b = () => {
|
|
12189
|
-
const w =
|
|
12184
|
+
const w = m === e.length;
|
|
12190
12185
|
n(
|
|
12191
12186
|
Object.keys(l).filter((I) => l[I]),
|
|
12192
12187
|
w
|
|
@@ -12249,7 +12244,7 @@ const Yi = ({
|
|
|
12249
12244
|
fontSize: 13,
|
|
12250
12245
|
minWidth: 0
|
|
12251
12246
|
},
|
|
12252
|
-
children:
|
|
12247
|
+
children: m === e.length ? A.unselect_all : A.select_all
|
|
12253
12248
|
}
|
|
12254
12249
|
)
|
|
12255
12250
|
]
|
|
@@ -12282,7 +12277,7 @@ const Yi = ({
|
|
|
12282
12277
|
role: "checkbox"
|
|
12283
12278
|
},
|
|
12284
12279
|
name: w.name,
|
|
12285
|
-
onChange:
|
|
12280
|
+
onChange: v,
|
|
12286
12281
|
size: "small"
|
|
12287
12282
|
}
|
|
12288
12283
|
)
|
|
@@ -12320,12 +12315,12 @@ const Yi = ({
|
|
|
12320
12315
|
ai,
|
|
12321
12316
|
{
|
|
12322
12317
|
color: "primary",
|
|
12323
|
-
disabled:
|
|
12318
|
+
disabled: m === 0,
|
|
12324
12319
|
fullWidth: !0,
|
|
12325
12320
|
loading: r,
|
|
12326
12321
|
onClick: b,
|
|
12327
12322
|
variant: "contained",
|
|
12328
|
-
children:
|
|
12323
|
+
children: m > 0 ? `${A.show} ${m} ${m > 1 ? A.hidden_insights : A.hidden_insight}` : A.show_insights
|
|
12329
12324
|
}
|
|
12330
12325
|
)
|
|
12331
12326
|
]
|
|
@@ -12404,13 +12399,13 @@ const Yi = ({
|
|
|
12404
12399
|
e,
|
|
12405
12400
|
n
|
|
12406
12401
|
];
|
|
12407
|
-
},
|
|
12402
|
+
}, vh = ({ content: A, disabledBeatTemplatesStore: e }) => {
|
|
12408
12403
|
const {
|
|
12409
12404
|
items: n,
|
|
12410
12405
|
update: a,
|
|
12411
12406
|
isUpdateError: r,
|
|
12412
12407
|
isUpdateLoading: i
|
|
12413
|
-
} = e, [o, s, c] = fh(n), { toastState: l, showToast: d, hideToast: h, setMessage: C } = Wi(), [f,
|
|
12408
|
+
} = e, [o, s, c] = fh(n), { toastState: l, showToast: d, hideToast: h, setMessage: C } = Wi(), [f, v] = g.useState(!1), [m, E] = g.useState(!1), [L, b] = g.useState(""), [w, I] = g.useState(""), D = hi(i);
|
|
12414
12409
|
he(() => {
|
|
12415
12410
|
D && !i && (r ? d(A.something_went_wrong, "error") : d(void 0, "success"));
|
|
12416
12411
|
}, [D, r]);
|
|
@@ -12432,7 +12427,7 @@ const Yi = ({
|
|
|
12432
12427
|
iconName: "visibility_off_outlined",
|
|
12433
12428
|
itemCount: n.length,
|
|
12434
12429
|
label: A.manage_hidden_insights,
|
|
12435
|
-
onClick: () =>
|
|
12430
|
+
onClick: () => v(!0)
|
|
12436
12431
|
}
|
|
12437
12432
|
),
|
|
12438
12433
|
/* @__PURE__ */ u(
|
|
@@ -12440,7 +12435,7 @@ const Yi = ({
|
|
|
12440
12435
|
{
|
|
12441
12436
|
ariaLabelClose: A.close,
|
|
12442
12437
|
isOpen: f,
|
|
12443
|
-
onClose: () =>
|
|
12438
|
+
onClose: () => v(!1),
|
|
12444
12439
|
shouldShowHeaderBorders: !1,
|
|
12445
12440
|
sx: {
|
|
12446
12441
|
"& .MuiDrawer-paper": {
|
|
@@ -12520,7 +12515,7 @@ const Yi = ({
|
|
|
12520
12515
|
content: A,
|
|
12521
12516
|
disabledBeatTemplates: w !== "" ? o.filter((R) => R.key === L)[0].subcategories.filter((R) => R.key === w)[0].beats : [],
|
|
12522
12517
|
handleEnableBeatTemplates: B,
|
|
12523
|
-
isOpen:
|
|
12518
|
+
isOpen: m,
|
|
12524
12519
|
isUpdateLoading: i,
|
|
12525
12520
|
onClose: $,
|
|
12526
12521
|
translatedSubCatetgory: c[w]
|
|
@@ -12535,12 +12530,12 @@ const Yi = ({
|
|
|
12535
12530
|
disabledBeatTemplatesStore: e,
|
|
12536
12531
|
useDarkMode: n = !1
|
|
12537
12532
|
}) => /* @__PURE__ */ t(Aa, { theme: Lt(n ? "dark" : "light"), children: /* @__PURE__ */ t(ch, { children: /* @__PURE__ */ t(
|
|
12538
|
-
|
|
12533
|
+
vh,
|
|
12539
12534
|
{
|
|
12540
12535
|
content: A,
|
|
12541
12536
|
disabledBeatTemplatesStore: e
|
|
12542
12537
|
}
|
|
12543
|
-
) }) }),
|
|
12538
|
+
) }) }), mh = ({
|
|
12544
12539
|
children: A,
|
|
12545
12540
|
content: e,
|
|
12546
12541
|
isOpen: n = !1,
|
|
@@ -12560,7 +12555,7 @@ const Yi = ({
|
|
|
12560
12555
|
A
|
|
12561
12556
|
] })
|
|
12562
12557
|
}
|
|
12563
|
-
) }), F7 = x(
|
|
12558
|
+
) }), F7 = x(mh), U7 = ({
|
|
12564
12559
|
accountGuid: A,
|
|
12565
12560
|
animation: e,
|
|
12566
12561
|
leftLowerText: n,
|
|
@@ -12581,7 +12576,7 @@ const Yi = ({
|
|
|
12581
12576
|
},
|
|
12582
12577
|
padding: o ? "12px 16px 12px 16px" : "32px 16px 16px 16px"
|
|
12583
12578
|
}, C = /* @__PURE__ */ t(
|
|
12584
|
-
|
|
12579
|
+
mA,
|
|
12585
12580
|
{
|
|
12586
12581
|
bold: !0,
|
|
12587
12582
|
"data-ui-test": "mx-insights-sudd-full-feed-body-header-text",
|
|
@@ -12604,7 +12599,7 @@ const Yi = ({
|
|
|
12604
12599
|
width: h.logoSize
|
|
12605
12600
|
}
|
|
12606
12601
|
),
|
|
12607
|
-
/* @__PURE__ */ t(
|
|
12602
|
+
/* @__PURE__ */ t(mA, { bold: !0, "data-ui-test": "mx-insights-sudd-mini-body-header-text", children: s })
|
|
12608
12603
|
]
|
|
12609
12604
|
}
|
|
12610
12605
|
);
|
|
@@ -12618,26 +12613,26 @@ const Yi = ({
|
|
|
12618
12613
|
position: "relative",
|
|
12619
12614
|
width: "calc(100%-32px)"
|
|
12620
12615
|
},
|
|
12621
|
-
children: /* @__PURE__ */ t(Ms, { children: ({ height:
|
|
12616
|
+
children: /* @__PURE__ */ t(Ms, { children: ({ height: v, width: m }) => /* @__PURE__ */ u(g.Fragment, { children: [
|
|
12622
12617
|
/* @__PURE__ */ t(
|
|
12623
12618
|
Ns,
|
|
12624
12619
|
{
|
|
12625
12620
|
"aria-hidden": !0,
|
|
12626
12621
|
colors: ["#3F9FEB", "#C331B6", "#30C434", "#F1CE31", "#EE3B7C"],
|
|
12627
12622
|
confettiSource: {
|
|
12628
|
-
x:
|
|
12629
|
-
y:
|
|
12623
|
+
x: m / 2,
|
|
12624
|
+
y: v / 2,
|
|
12630
12625
|
w: 20,
|
|
12631
12626
|
h: 20
|
|
12632
12627
|
},
|
|
12633
12628
|
gravity: 0.05,
|
|
12634
|
-
height:
|
|
12629
|
+
height: v,
|
|
12635
12630
|
initialVelocityX: 7,
|
|
12636
12631
|
initialVelocityY: 8,
|
|
12637
12632
|
numberOfPieces: 200,
|
|
12638
12633
|
recycle: !1,
|
|
12639
12634
|
run: e.shouldRun,
|
|
12640
|
-
width:
|
|
12635
|
+
width: m
|
|
12641
12636
|
}
|
|
12642
12637
|
),
|
|
12643
12638
|
!o && /* @__PURE__ */ t(
|
|
@@ -12649,7 +12644,7 @@ const Yi = ({
|
|
|
12649
12644
|
position: "absolute",
|
|
12650
12645
|
right: 0,
|
|
12651
12646
|
top: 0,
|
|
12652
|
-
width:
|
|
12647
|
+
width: m,
|
|
12653
12648
|
zIndex: 10
|
|
12654
12649
|
},
|
|
12655
12650
|
children: /* @__PURE__ */ t(
|
|
@@ -12679,7 +12674,7 @@ const Yi = ({
|
|
|
12679
12674
|
left: 16,
|
|
12680
12675
|
padding: h.padding,
|
|
12681
12676
|
top: 24,
|
|
12682
|
-
width:
|
|
12677
|
+
width: m
|
|
12683
12678
|
},
|
|
12684
12679
|
children: [
|
|
12685
12680
|
o ? f : C,
|
|
@@ -12704,7 +12699,7 @@ const Yi = ({
|
|
|
12704
12699
|
},
|
|
12705
12700
|
children: [
|
|
12706
12701
|
/* @__PURE__ */ t(
|
|
12707
|
-
|
|
12702
|
+
mA,
|
|
12708
12703
|
{
|
|
12709
12704
|
"data-ui-test": "mx-insights-sudd-left-upper-text",
|
|
12710
12705
|
sx: { color: d.palette.secondary.darker },
|
|
@@ -12712,7 +12707,7 @@ const Yi = ({
|
|
|
12712
12707
|
children: a
|
|
12713
12708
|
}
|
|
12714
12709
|
),
|
|
12715
|
-
/* @__PURE__ */ t(
|
|
12710
|
+
/* @__PURE__ */ t(mA, { bold: !0, "data-ui-test": "mx-insights-sudd-left-lower-text", variant: "Small", children: n })
|
|
12716
12711
|
]
|
|
12717
12712
|
}
|
|
12718
12713
|
),
|
|
@@ -12730,7 +12725,7 @@ const Yi = ({
|
|
|
12730
12725
|
},
|
|
12731
12726
|
children: [
|
|
12732
12727
|
/* @__PURE__ */ t(
|
|
12733
|
-
|
|
12728
|
+
mA,
|
|
12734
12729
|
{
|
|
12735
12730
|
"data-ui-test": "mx-insights-sudd-right-upper-text",
|
|
12736
12731
|
sx: { color: d.palette.secondary.darker },
|
|
@@ -12739,7 +12734,7 @@ const Yi = ({
|
|
|
12739
12734
|
}
|
|
12740
12735
|
),
|
|
12741
12736
|
/* @__PURE__ */ t(
|
|
12742
|
-
|
|
12737
|
+
mA,
|
|
12743
12738
|
{
|
|
12744
12739
|
bold: !0,
|
|
12745
12740
|
"data-ui-test": "mx-insights-sudd-right-lower-text",
|
|
@@ -12816,7 +12811,7 @@ const Ta = {
|
|
|
12816
12811
|
...A,
|
|
12817
12812
|
[Vi(e)]: {
|
|
12818
12813
|
action: pe.MICRO_BEAT_CLICKED,
|
|
12819
|
-
category:
|
|
12814
|
+
category: me.BEAT_INTERACTION,
|
|
12820
12815
|
label: La(e),
|
|
12821
12816
|
value: ee
|
|
12822
12817
|
}
|
|
@@ -12827,7 +12822,7 @@ const Ta = {
|
|
|
12827
12822
|
...A,
|
|
12828
12823
|
[Ji(e)]: {
|
|
12829
12824
|
action: pe.MICRO_BEAT_DISPLAYED,
|
|
12830
|
-
category:
|
|
12825
|
+
category: me.BEAT_INTERACTION,
|
|
12831
12826
|
label: La(e),
|
|
12832
12827
|
value: ee
|
|
12833
12828
|
}
|
|
@@ -12838,18 +12833,18 @@ const Ta = {
|
|
|
12838
12833
|
...A,
|
|
12839
12834
|
[Zi(e)]: {
|
|
12840
12835
|
action: pe.MICRO_BEAT_DISPLAYED_FIRST_TIME,
|
|
12841
|
-
category:
|
|
12836
|
+
category: me.BEAT_INTERACTION,
|
|
12842
12837
|
label: La(e),
|
|
12843
12838
|
value: ee
|
|
12844
12839
|
}
|
|
12845
12840
|
}),
|
|
12846
12841
|
{}
|
|
12847
|
-
),
|
|
12842
|
+
), ve = {
|
|
12848
12843
|
CARD: "Card",
|
|
12849
12844
|
CAROUSEL_CONTROL: "Carousel Control",
|
|
12850
12845
|
MICRO_WIDGET: "Micro Widget",
|
|
12851
12846
|
VIEW_MORE: "View More"
|
|
12852
|
-
},
|
|
12847
|
+
}, me = {
|
|
12853
12848
|
MICRO_WIDGET_INTERACTION: "Micro Widget Interaction",
|
|
12854
12849
|
BEAT_INTERACTION: "Beat Interaction"
|
|
12855
12850
|
}, te = {
|
|
@@ -12875,21 +12870,21 @@ const Ta = {
|
|
|
12875
12870
|
MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS: "Micro Widget Carousel No Relevant Insights"
|
|
12876
12871
|
}, Mr = {
|
|
12877
12872
|
[De.MICRO_WIDGET_CAROUSEL]: {
|
|
12878
|
-
label:
|
|
12873
|
+
label: ve.MICRO_WIDGET,
|
|
12879
12874
|
name: De.MICRO_WIDGET_CAROUSEL,
|
|
12880
12875
|
path: Nr.INSIGHTS_MICRO_WIDGET,
|
|
12881
12876
|
value: ee
|
|
12882
12877
|
},
|
|
12883
12878
|
// zero state
|
|
12884
12879
|
[De.MICRO_WIDGET_CAROUSEL_ZERO_STATE]: {
|
|
12885
|
-
label:
|
|
12880
|
+
label: ve.MICRO_WIDGET,
|
|
12886
12881
|
name: De.MICRO_WIDGET_CAROUSEL_ZERO_STATE,
|
|
12887
12882
|
path: Nr.INSIGHTS_MICRO_WIDGET,
|
|
12888
12883
|
value: ee
|
|
12889
12884
|
},
|
|
12890
12885
|
// no relevant cards
|
|
12891
12886
|
[De.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS]: {
|
|
12892
|
-
label:
|
|
12887
|
+
label: ve.MICRO_WIDGET,
|
|
12893
12888
|
name: De.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS,
|
|
12894
12889
|
path: "/micro-widget",
|
|
12895
12890
|
value: ee
|
|
@@ -12898,39 +12893,39 @@ const Ta = {
|
|
|
12898
12893
|
// carousel control interaction events - clicks and swipes
|
|
12899
12894
|
[te.ON_CAROUSEL_BACK_CLICK]: {
|
|
12900
12895
|
action: pe.CONTROL_BACKWARD,
|
|
12901
|
-
category:
|
|
12902
|
-
label:
|
|
12896
|
+
category: me.MICRO_WIDGET_INTERACTION,
|
|
12897
|
+
label: ve.CAROUSEL_CONTROL,
|
|
12903
12898
|
value: ee
|
|
12904
12899
|
},
|
|
12905
12900
|
[te.ON_CAROUSEL_FORWARD_CLICK]: {
|
|
12906
12901
|
action: pe.CONTROL_FORWARD,
|
|
12907
|
-
category:
|
|
12908
|
-
label:
|
|
12902
|
+
category: me.MICRO_WIDGET_INTERACTION,
|
|
12903
|
+
label: ve.CAROUSEL_CONTROL,
|
|
12909
12904
|
value: ee
|
|
12910
12905
|
},
|
|
12911
12906
|
[te.ON_CAROUSEL_BACK_SWIPE]: {
|
|
12912
12907
|
action: pe.SWIPE_BACKWARD,
|
|
12913
|
-
category:
|
|
12914
|
-
label:
|
|
12908
|
+
category: me.MICRO_WIDGET_INTERACTION,
|
|
12909
|
+
label: ve.CAROUSEL_CONTROL,
|
|
12915
12910
|
value: ee
|
|
12916
12911
|
},
|
|
12917
12912
|
[te.ON_CAROUSEL_FORWARD_SWIPE]: {
|
|
12918
12913
|
action: pe.SWIPE_FORWARD,
|
|
12919
|
-
category:
|
|
12920
|
-
label:
|
|
12914
|
+
category: me.MICRO_WIDGET_INTERACTION,
|
|
12915
|
+
label: ve.CAROUSEL_CONTROL,
|
|
12921
12916
|
value: ee
|
|
12922
12917
|
},
|
|
12923
12918
|
// read more card events
|
|
12924
12919
|
[te.ON_VIEW_MORE_CLICKED]: {
|
|
12925
12920
|
action: pe.MICRO_BEAT_CLICKED,
|
|
12926
|
-
category:
|
|
12927
|
-
label:
|
|
12921
|
+
category: me.BEAT_INTERACTION,
|
|
12922
|
+
label: ve.VIEW_MORE,
|
|
12928
12923
|
value: ee
|
|
12929
12924
|
},
|
|
12930
12925
|
[$i.ON_VIEW_MORE_VIEWED]: {
|
|
12931
12926
|
action: pe.MICRO_BEAT_DISPLAYED,
|
|
12932
|
-
category:
|
|
12933
|
-
label:
|
|
12927
|
+
category: me.BEAT_INTERACTION,
|
|
12928
|
+
label: ve.VIEW_MORE,
|
|
12934
12929
|
value: ee
|
|
12935
12930
|
},
|
|
12936
12931
|
...yh(),
|
|
@@ -13862,22 +13857,22 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
13862
13857
|
variant: h,
|
|
13863
13858
|
widthOverrides: C
|
|
13864
13859
|
}) => {
|
|
13865
|
-
const f = window.app?.config.client_guid, { ref:
|
|
13860
|
+
const f = window.app?.config.client_guid, { ref: v, inView: m } = ri({
|
|
13866
13861
|
threshold: to
|
|
13867
13862
|
}), { cardsCopy: E } = Ue(), { onEvent: L } = Ot(), { updateBeat: b } = zh();
|
|
13868
13863
|
he(() => {
|
|
13869
|
-
|
|
13864
|
+
m && (n.has_been_displayed ? L(Ji(n.template)) : (b({
|
|
13870
13865
|
...n,
|
|
13871
13866
|
has_been_displayed: !0
|
|
13872
13867
|
}), L(Zi(n.template))));
|
|
13873
|
-
}, [
|
|
13874
|
-
l?.capture &&
|
|
13868
|
+
}, [m]), he(() => {
|
|
13869
|
+
l?.capture && m && n && f && l.capture("micro_widget_viewed_insight", {
|
|
13875
13870
|
beat_guid: n.guid,
|
|
13876
13871
|
insight_template: n.template,
|
|
13877
13872
|
position: o,
|
|
13878
13873
|
$groups: { client: f }
|
|
13879
13874
|
});
|
|
13880
|
-
}, [n, f, l, o,
|
|
13875
|
+
}, [n, f, l, o, m]);
|
|
13881
13876
|
const w = () => {
|
|
13882
13877
|
c && c(n), L(Vi(n.template)), l?.capture && f && l.capture("micro_widget_clicked_insight", {
|
|
13883
13878
|
beat_guid: n.guid,
|
|
@@ -13906,7 +13901,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
13906
13901
|
),
|
|
13907
13902
|
isActiveCard: s,
|
|
13908
13903
|
onCardClick: w,
|
|
13909
|
-
ref:
|
|
13904
|
+
ref: v,
|
|
13910
13905
|
showCTAColocatedWithText: r,
|
|
13911
13906
|
showIcon: d,
|
|
13912
13907
|
title: n.micro_title && n.micro_title.length > 0 ? n.micro_title : n.title,
|
|
@@ -13941,15 +13936,15 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
13941
13936
|
)
|
|
13942
13937
|
}
|
|
13943
13938
|
),
|
|
13944
|
-
Array.from({ length: n }).map((f,
|
|
13939
|
+
Array.from({ length: n }).map((f, v) => /* @__PURE__ */ t(
|
|
13945
13940
|
"div",
|
|
13946
13941
|
{
|
|
13947
13942
|
className: "mx-insights-micro-carousel-dots",
|
|
13948
13943
|
style: {
|
|
13949
|
-
backgroundColor:
|
|
13944
|
+
backgroundColor: v === e ? C : h
|
|
13950
13945
|
}
|
|
13951
13946
|
},
|
|
13952
|
-
`carousel-button-${
|
|
13947
|
+
`carousel-button-${v}`
|
|
13953
13948
|
)),
|
|
13954
13949
|
/* @__PURE__ */ t(
|
|
13955
13950
|
HA,
|
|
@@ -13998,7 +13993,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
13998
13993
|
variant: l,
|
|
13999
13994
|
widthOverrides: d
|
|
14000
13995
|
}) => {
|
|
14001
|
-
const h = Xh(a, c, d), C = g.useRef(null), [f,
|
|
13996
|
+
const h = Xh(a, c, d), C = g.useRef(null), [f, v] = g.useState(0), [m, E] = g.useState(null), [L, b] = g.useState(null), { carouselCopy: w } = Ue(), { onEvent: I } = Ot(), D = () => {
|
|
14002
13997
|
I(te.ON_CAROUSEL_FORWARD_CLICK), C.current && C.current.scrollTo({
|
|
14003
13998
|
left: (
|
|
14004
13999
|
// Adds the flex gap to the carousel ulRef's width
|
|
@@ -14014,10 +14009,10 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14014
14009
|
behavior: "smooth"
|
|
14015
14010
|
});
|
|
14016
14011
|
}, k = () => {
|
|
14017
|
-
C.current &&
|
|
14012
|
+
C.current && v(C.current.scrollLeft);
|
|
14018
14013
|
}, $ = () => {
|
|
14019
|
-
if (!L || !
|
|
14020
|
-
L -
|
|
14014
|
+
if (!L || !m) return;
|
|
14015
|
+
L - m > Hh ? I(te.ON_CAROUSEL_FORWARD_SWIPE) : I(te.ON_CAROUSEL_BACK_SWIPE);
|
|
14021
14016
|
}, B = (rA) => {
|
|
14022
14017
|
E(rA.targetTouches[0].clientX);
|
|
14023
14018
|
}, R = (rA) => {
|
|
@@ -14123,14 +14118,14 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14123
14118
|
style: h = {},
|
|
14124
14119
|
fontColors: C = {},
|
|
14125
14120
|
title: f,
|
|
14126
|
-
variant:
|
|
14127
|
-
widthOverrides:
|
|
14121
|
+
variant: v,
|
|
14122
|
+
widthOverrides: m
|
|
14128
14123
|
}, E) {
|
|
14129
14124
|
const [L, b] = g.useState(1);
|
|
14130
14125
|
g.useEffect(() => {
|
|
14131
|
-
|
|
14132
|
-
}, [
|
|
14133
|
-
const { cardStyle: w, linkTextStyle: I } = h, D =
|
|
14126
|
+
m && m <= 325 && b(3), m && m > 325 && b(2);
|
|
14127
|
+
}, [m]);
|
|
14128
|
+
const { cardStyle: w, linkTextStyle: I } = h, D = v ? w : { border: "none", boxShadow: "none", ...w }, O = Qh(
|
|
14134
14129
|
D,
|
|
14135
14130
|
r,
|
|
14136
14131
|
C,
|
|
@@ -14149,13 +14144,13 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14149
14144
|
tabIndex: c ? 0 : -1,
|
|
14150
14145
|
children: [
|
|
14151
14146
|
n && /* @__PURE__ */ t("span", { "aria-label": n, style: { visibility: "hidden" } }),
|
|
14152
|
-
/* @__PURE__ */ u(Je, { className: "mx-micro-card", sx: { backgroundColor: a }, variant:
|
|
14147
|
+
/* @__PURE__ */ u(Je, { className: "mx-micro-card", sx: { backgroundColor: a }, variant: v, children: [
|
|
14153
14148
|
/* @__PURE__ */ t(
|
|
14154
14149
|
Qn,
|
|
14155
14150
|
{
|
|
14156
14151
|
avatar: d && s,
|
|
14157
14152
|
subheader: /* @__PURE__ */ t("div", { className: "mx-micro-content-container", children: /* @__PURE__ */ t(
|
|
14158
|
-
|
|
14153
|
+
mA,
|
|
14159
14154
|
{
|
|
14160
14155
|
className: "mx-micro-card-description",
|
|
14161
14156
|
color: C.textColor ? "undefined" : "text.primary",
|
|
@@ -14332,8 +14327,8 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14332
14327
|
showCarouselControls: h,
|
|
14333
14328
|
showHeader: C,
|
|
14334
14329
|
showIcon: f,
|
|
14335
|
-
showWithMargin:
|
|
14336
|
-
token:
|
|
14330
|
+
showWithMargin: v = !0,
|
|
14331
|
+
token: m = "",
|
|
14337
14332
|
useDarkMode: E,
|
|
14338
14333
|
userHasFullInsightFeedBeats: L,
|
|
14339
14334
|
variant: b,
|
|
@@ -14341,8 +14336,8 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14341
14336
|
}) => {
|
|
14342
14337
|
const [I, D] = de("STANDARD"), [O, k] = de(!1), $ = ec([s], ke), B = tc([c], ke);
|
|
14343
14338
|
g.useEffect(() => {
|
|
14344
|
-
ke.initialize(r,
|
|
14345
|
-
}, [r,
|
|
14339
|
+
ke.initialize(r, m);
|
|
14340
|
+
}, [r, m]), g.useEffect(() => {
|
|
14346
14341
|
const K = window.innerHeight;
|
|
14347
14342
|
K < 180 ? D("STANDARD") : K >= 180 && K < 200 ? D("LARGE") : K >= 200 && K < 248 ? D("XLARGE") : K >= 248 && D("XXLARGE");
|
|
14348
14343
|
}, []), g.useEffect(() => {
|
|
@@ -14353,7 +14348,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14353
14348
|
heightOverrides: i,
|
|
14354
14349
|
onCardClick: o,
|
|
14355
14350
|
showIcon: f,
|
|
14356
|
-
showWithMargin:
|
|
14351
|
+
showWithMargin: v,
|
|
14357
14352
|
useDarkMode: E,
|
|
14358
14353
|
widthOverrides: w
|
|
14359
14354
|
}, z = {
|
|
@@ -14419,7 +14414,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14419
14414
|
g.useEffect(() => {
|
|
14420
14415
|
C(De.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS);
|
|
14421
14416
|
}, []);
|
|
14422
|
-
const
|
|
14417
|
+
const v = () => {
|
|
14423
14418
|
r && r(), h(te.ON_NO_RELEVANT_INSIGHTS_CLICKED), i?.capture && f && i.capture("micro_widget_clicked_insight", {
|
|
14424
14419
|
insight_template: "no_relevant_insights",
|
|
14425
14420
|
$groups: { client: f }
|
|
@@ -14434,7 +14429,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14434
14429
|
fontColors: { buttonColor: n?.primary_300 },
|
|
14435
14430
|
heightOverrides: a,
|
|
14436
14431
|
icon: /* @__PURE__ */ t(Ao, {}),
|
|
14437
|
-
onCardClick:
|
|
14432
|
+
onCardClick: v,
|
|
14438
14433
|
showIcon: o,
|
|
14439
14434
|
style: {
|
|
14440
14435
|
cardStyle: {
|
|
@@ -14469,17 +14464,17 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14469
14464
|
}) => {
|
|
14470
14465
|
const l = SA(), d = window.app?.config.client_guid, { ref: h, inView: C } = ri({
|
|
14471
14466
|
threshold: to
|
|
14472
|
-
}), { cardsCopy: f } = Ue(), { onEvent:
|
|
14467
|
+
}), { cardsCopy: f } = Ue(), { onEvent: v } = Ot();
|
|
14473
14468
|
he(() => {
|
|
14474
|
-
C &&
|
|
14469
|
+
C && v($i.ON_VIEW_MORE_VIEWED);
|
|
14475
14470
|
}, [C]), he(() => {
|
|
14476
14471
|
i?.capture && C && d && i.capture("micro_widget_viewed_insight", {
|
|
14477
14472
|
insight_template: "read_more_card",
|
|
14478
14473
|
$groups: { client: d }
|
|
14479
14474
|
});
|
|
14480
14475
|
}, [d, i, C]);
|
|
14481
|
-
const
|
|
14482
|
-
r && r(),
|
|
14476
|
+
const m = () => {
|
|
14477
|
+
r && r(), v(te.ON_VIEW_MORE_CLICKED), i?.capture && d && i.capture("micro_widget_clicked_insight", {
|
|
14483
14478
|
insight_template: "read_more_card",
|
|
14484
14479
|
$groups: { client: d }
|
|
14485
14480
|
});
|
|
@@ -14499,7 +14494,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14499
14494
|
}
|
|
14500
14495
|
),
|
|
14501
14496
|
isActiveCard: A,
|
|
14502
|
-
onCardClick:
|
|
14497
|
+
onCardClick: m,
|
|
14503
14498
|
ref: h,
|
|
14504
14499
|
showIcon: o,
|
|
14505
14500
|
title: f.view_more_card_title,
|
|
@@ -14689,11 +14684,11 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14689
14684
|
const c = at(), { isTablet: l } = jA(), d = {
|
|
14690
14685
|
view_transactions: "View Transactions"
|
|
14691
14686
|
}, h = g.useMemo(
|
|
14692
|
-
() => r ? A.categoryData.find((
|
|
14687
|
+
() => r ? A.categoryData.find((m) => m.guid === r) : void 0,
|
|
14693
14688
|
[r]
|
|
14694
14689
|
), C = g.useMemo(() => A.donutData.length > 0 ? A.donutData : [{ id: "0", color: c.palette.border.light, value: 100 }], [A, c]), f = () => {
|
|
14695
14690
|
a?.(r);
|
|
14696
|
-
},
|
|
14691
|
+
}, v = l ? 32 : 48;
|
|
14697
14692
|
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: [
|
|
14698
14693
|
h && /* @__PURE__ */ u(
|
|
14699
14694
|
T,
|
|
@@ -14709,7 +14704,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14709
14704
|
{
|
|
14710
14705
|
categoryGuid: e ? p.INCOME : h.guid,
|
|
14711
14706
|
color: h.color,
|
|
14712
|
-
size: s === "mini" ? 24 :
|
|
14707
|
+
size: s === "mini" ? 24 : v,
|
|
14713
14708
|
variant: Xr.Transparent
|
|
14714
14709
|
}
|
|
14715
14710
|
),
|
|
@@ -14753,7 +14748,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14753
14748
|
total_income: "Total Income",
|
|
14754
14749
|
total_spending: "Total Spending"
|
|
14755
14750
|
}, d3 = () => {
|
|
14756
|
-
const A = fA(), { selectedAccounts: e } =
|
|
14751
|
+
const A = fA(), { selectedAccounts: e } = vA(), n = g.useMemo(
|
|
14757
14752
|
() => [
|
|
14758
14753
|
A.palette.chartMono.chartMono5,
|
|
14759
14754
|
A.palette.chartMono.chartMono4,
|
|
@@ -14777,10 +14772,10 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14777
14772
|
), h = g.useMemo(
|
|
14778
14773
|
() => ro(a, r, n),
|
|
14779
14774
|
[a, r, n]
|
|
14780
|
-
), C = (
|
|
14781
|
-
l(
|
|
14782
|
-
}, f = (
|
|
14783
|
-
s(o ===
|
|
14775
|
+
), C = (v, m) => {
|
|
14776
|
+
l(m), s("");
|
|
14777
|
+
}, f = (v) => {
|
|
14778
|
+
s(o === v ? "" : v);
|
|
14784
14779
|
};
|
|
14785
14780
|
return /* @__PURE__ */ u(S, { width: "100%", children: [
|
|
14786
14781
|
/* @__PURE__ */ u(rt, { onChange: C, value: c, variant: "fullWidth", children: [
|
|
@@ -14973,15 +14968,15 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14973
14968
|
income_tab_title: "Income",
|
|
14974
14969
|
transactions_drawer_title: "Transactions",
|
|
14975
14970
|
transaction_details_drawer_title: "Transaction Details"
|
|
14976
|
-
},
|
|
14971
|
+
}, v3 = (A) => [
|
|
14977
14972
|
A.palette.chartMono.chartMono5,
|
|
14978
14973
|
A.palette.chartMono.chartMono4,
|
|
14979
14974
|
A.palette.chartMono.chartMono3,
|
|
14980
14975
|
A.palette.chartMono.chartMono2,
|
|
14981
14976
|
A.palette.chartMono.chartMono1,
|
|
14982
14977
|
A.palette.chartMono.chartMono6
|
|
14983
|
-
],
|
|
14984
|
-
const A = at(), { categories: e, dateRangeCategoryTotals: n, loadDateRangeCategoryTotals: a } = xA(), { selectedAccountGuids: r } =
|
|
14978
|
+
], m3 = () => {
|
|
14979
|
+
const A = at(), { categories: e, dateRangeCategoryTotals: n, loadDateRangeCategoryTotals: a } = xA(), { selectedAccountGuids: r } = vA(), { displayedDateRange: i, selectedAccounts: o } = vA(), { setFilter: s, sortedTransactions: c } = uA(), [l, d] = g.useState(""), [h, C] = g.useState(0), [f, v] = g.useState(""), [m, E] = g.useState(!1);
|
|
14985
14980
|
g.useEffect(() => {
|
|
14986
14981
|
a(
|
|
14987
14982
|
o,
|
|
@@ -14993,7 +14988,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
14993
14988
|
() => ao(e, n),
|
|
14994
14989
|
[e, n]
|
|
14995
14990
|
), b = g.useMemo(
|
|
14996
|
-
() => ro(e, n,
|
|
14991
|
+
() => ro(e, n, v3(A)),
|
|
14997
14992
|
[e, n]
|
|
14998
14993
|
), w = g.useMemo(
|
|
14999
14994
|
() => c.find((k) => k.guid === f),
|
|
@@ -15065,10 +15060,10 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15065
15060
|
hA,
|
|
15066
15061
|
{
|
|
15067
15062
|
ariaLabelClose: Ie.close_drawer_aria,
|
|
15068
|
-
isOpen:
|
|
15063
|
+
isOpen: m,
|
|
15069
15064
|
onClose: () => E(!1),
|
|
15070
15065
|
title: Ie.transactions_drawer_title,
|
|
15071
|
-
children: /* @__PURE__ */ t(It, { onClick:
|
|
15066
|
+
children: /* @__PURE__ */ t(It, { onClick: v })
|
|
15072
15067
|
}
|
|
15073
15068
|
),
|
|
15074
15069
|
/* @__PURE__ */ t(
|
|
@@ -15076,16 +15071,16 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15076
15071
|
{
|
|
15077
15072
|
ariaLabelClose: Ie.close_drawer_aria,
|
|
15078
15073
|
isOpen: !!w,
|
|
15079
|
-
onClose: () =>
|
|
15074
|
+
onClose: () => v(""),
|
|
15080
15075
|
title: Ie.transaction_details_drawer_title,
|
|
15081
15076
|
children: w && /* @__PURE__ */ t(ln, { transaction: w })
|
|
15082
15077
|
}
|
|
15083
15078
|
)
|
|
15084
15079
|
] });
|
|
15085
|
-
}, p3 = x(
|
|
15080
|
+
}, p3 = x(m3), y3 = {
|
|
15086
15081
|
title: "Spending"
|
|
15087
15082
|
}, E3 = ({ onBackClick: A, sx: e = {} }) => {
|
|
15088
|
-
const { accounts: n } = DA(), { isInitialized: a, setDisplayedDate: r, setSelectedAccounts: i } =
|
|
15083
|
+
const { accounts: n } = DA(), { isInitialized: a, setDisplayedDate: r, setSelectedAccounts: i } = vA(), { onEvent: o } = Y(), [s, c] = g.useState(!1);
|
|
15089
15084
|
g.useEffect(() => {
|
|
15090
15085
|
i(n);
|
|
15091
15086
|
}, [n]), g.useEffect(() => {
|
|
@@ -15147,17 +15142,17 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15147
15142
|
sortable: !0,
|
|
15148
15143
|
hideSortIcons: !1,
|
|
15149
15144
|
type: "number",
|
|
15150
|
-
sortComparator:
|
|
15145
|
+
sortComparator: v1
|
|
15151
15146
|
})
|
|
15152
15147
|
)
|
|
15153
15148
|
], c = g.useMemo(() => {
|
|
15154
15149
|
const l = A.reduce(
|
|
15155
15150
|
(d, h) => {
|
|
15156
|
-
const { category_guid: C, top_level_category_guid: f, month:
|
|
15151
|
+
const { category_guid: C, top_level_category_guid: f, month: v, total: m, year: E } = h;
|
|
15157
15152
|
if (C === f) {
|
|
15158
15153
|
d[C] || (d[C] = { id: C, category: C });
|
|
15159
|
-
const L = j(new Date(E,
|
|
15160
|
-
d[C][L] =
|
|
15154
|
+
const L = j(new Date(E, v, 1), F.MONTH_SHORT);
|
|
15155
|
+
d[C][L] = m;
|
|
15161
15156
|
}
|
|
15162
15157
|
return d;
|
|
15163
15158
|
},
|
|
@@ -15184,7 +15179,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15184
15179
|
title: "Trends",
|
|
15185
15180
|
subTitle: "Transaction trends by category"
|
|
15186
15181
|
}, b3 = ({ onBackClick: A, sx: e }) => {
|
|
15187
|
-
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 } =
|
|
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 } = vA(), f = n.palette.mode === "dark", [v, m] = g.useState(!1), [E, L] = g.useState("Chart"), [b, w] = g.useState({
|
|
15188
15183
|
start: LA(ye(/* @__PURE__ */ new Date(), 5)),
|
|
15189
15184
|
end: OA(/* @__PURE__ */ new Date())
|
|
15190
15185
|
}), I = (R, z) => {
|
|
@@ -15198,7 +15193,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15198
15193
|
b.start,
|
|
15199
15194
|
b.end
|
|
15200
15195
|
).finally(() => {
|
|
15201
|
-
|
|
15196
|
+
m(!0);
|
|
15202
15197
|
});
|
|
15203
15198
|
}, [s, d, h, w]);
|
|
15204
15199
|
const D = g.useMemo(
|
|
@@ -15217,7 +15212,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15217
15212
|
() => br(D.filter(ya)),
|
|
15218
15213
|
[s, l]
|
|
15219
15214
|
);
|
|
15220
|
-
return !d || !
|
|
15215
|
+
return !d || !v ? /* @__PURE__ */ t(Ce, {}) : /* @__PURE__ */ t(
|
|
15221
15216
|
Re,
|
|
15222
15217
|
{
|
|
15223
15218
|
accountOptions: o,
|
|
@@ -15376,7 +15371,7 @@ const Dt = g.createContext(null), Ih = ({
|
|
|
15376
15371
|
subTitle: "Your total spending over the last 6 months",
|
|
15377
15372
|
title: "Spending Overview"
|
|
15378
15373
|
}, P3 = ({ onPrimaryCtaClick: A, sx: e }) => {
|
|
15379
|
-
const { loadMonthlyCategoryTotals: n } = xA(), { isInitialized: a } = an(), { selectedAccounts: r } =
|
|
15374
|
+
const { loadMonthlyCategoryTotals: n } = xA(), { isInitialized: a } = an(), { selectedAccounts: r } = vA(), [i, o] = g.useState(!1);
|
|
15380
15375
|
return g.useEffect(() => {
|
|
15381
15376
|
a && n(r).finally(() => {
|
|
15382
15377
|
o(!0);
|
|
@@ -15416,7 +15411,7 @@ export {
|
|
|
15416
15411
|
qh as BeatCard,
|
|
15417
15412
|
qt as BottomActions,
|
|
15418
15413
|
K7 as BubbleBudgetsMiniWidget,
|
|
15419
|
-
|
|
15414
|
+
vc as Calendar,
|
|
15420
15415
|
Ci as CalendarSelectionTypes,
|
|
15421
15416
|
Uh as CarouselHeader,
|
|
15422
15417
|
pr as CashflowApi,
|
|
@@ -15465,11 +15460,11 @@ export {
|
|
|
15465
15460
|
j7 as InsightsMicroWidget,
|
|
15466
15461
|
Ih as InsightsMicroWidgetDataProvider,
|
|
15467
15462
|
Us as IterationItemTypes,
|
|
15468
|
-
|
|
15463
|
+
v7 as LOADING_STATUS,
|
|
15469
15464
|
ra as LineChart,
|
|
15470
15465
|
Xc as ListItemWrapper,
|
|
15471
15466
|
Ce as Loader,
|
|
15472
|
-
|
|
15467
|
+
m7 as LocalizedCopyApi,
|
|
15473
15468
|
X7 as ManageAccountsDrawer,
|
|
15474
15469
|
qi as ManageIncome,
|
|
15475
15470
|
Pe as MemberConnectionStatus,
|
|
@@ -15537,8 +15532,8 @@ export {
|
|
|
15537
15532
|
Zh as ViewMoreMicroCard,
|
|
15538
15533
|
Fa as WidgetApi,
|
|
15539
15534
|
Re as WidgetContainer,
|
|
15540
|
-
|
|
15541
|
-
|
|
15535
|
+
vi as WidgetContainerContext,
|
|
15536
|
+
mi as WidgetContainerProvider,
|
|
15542
15537
|
A3 as ZeroStateCard,
|
|
15543
15538
|
Ao as ZeroStateIcon,
|
|
15544
15539
|
zs as analyticsSession,
|
|
@@ -15565,7 +15560,7 @@ export {
|
|
|
15565
15560
|
Vu as useGetMergeableAccounts,
|
|
15566
15561
|
W as useGlobalCopyStore,
|
|
15567
15562
|
an as useGlobalStore,
|
|
15568
|
-
|
|
15563
|
+
vA as useGlobalUiStore,
|
|
15569
15564
|
_c as useMerchantStore,
|
|
15570
15565
|
Hc as useNetWorthStore,
|
|
15571
15566
|
yi as useNotificationStore,
|