@mx-cartographer/experiences 3.12.0 → 3.12.1-alpha.j1
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 +125 -125
- 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 d, Fragment as aA } from "react/jsx-runtime";
|
|
2
|
-
import g, { useMemo as ji, useRef as Ea, useEffect as
|
|
2
|
+
import g, { useMemo as ji, useRef as Ea, useEffect as ue, useState as ce, createContext as Ui, useContext as Wi } from "react";
|
|
3
3
|
import { observer as T } from "mobx-react-lite";
|
|
4
4
|
import I from "@mui/material/Box";
|
|
5
5
|
import G from "@mui/material/Divider";
|
|
6
6
|
import iA from "@mui/material/List";
|
|
7
7
|
import qe from "@mui/material/ListSubheader";
|
|
8
8
|
import hr from "@mui/system/Stack";
|
|
9
|
-
import { AccountsIcon as Yi, P as CA, Icon as P, useTokens as DA, Text as v, H2 as Ut, CategoryIcon as
|
|
9
|
+
import { AccountsIcon as Yi, P as CA, Icon as P, useTokens as DA, Text as v, H2 as Ut, CategoryIcon as ie, DialogHeader as Vi, DialogFooter as Ji, Drawer as Zi, Footer as $i, DateRangePicker as gr, H3 as Wt, H1 as he, TextField as xe, IconWeight as qA, MerchantLogo as Re, CategoryIconVariants as ya, InstitutionLogo as ge, THEMES as Cr, createMXTheme as Ke } from "@kyper/mui";
|
|
10
10
|
import Ao from "bowser";
|
|
11
11
|
import { getUnixTime as gA } from "date-fns/getUnixTime";
|
|
12
12
|
import { Honeybadger as bt } from "@honeybadger-io/react";
|
|
@@ -25,7 +25,7 @@ import Nt from "@mui/material/Checkbox";
|
|
|
25
25
|
import uA from "@mui/material/styles/useTheme";
|
|
26
26
|
import It from "@mui/material/useMediaQuery";
|
|
27
27
|
import { css as WA, keyframes as no } from "@mxenabled/cssinjs";
|
|
28
|
-
import { addDays as
|
|
28
|
+
import { addDays as Ce } from "date-fns/addDays";
|
|
29
29
|
import { addMonths as ZA } from "date-fns/addMonths";
|
|
30
30
|
import { eachDayOfInterval as ro } from "date-fns/eachDayOfInterval";
|
|
31
31
|
import { eachWeekOfInterval as ao } from "date-fns/eachWeekOfInterval";
|
|
@@ -35,8 +35,8 @@ import { isBefore as fA } from "date-fns/isBefore";
|
|
|
35
35
|
import { isSameMonth as io } from "date-fns/isSameMonth";
|
|
36
36
|
import { startOfMonth as pA } from "date-fns/startOfMonth";
|
|
37
37
|
import { startOfToday as $ } from "date-fns/startOfToday";
|
|
38
|
-
import { subMonths as
|
|
39
|
-
import
|
|
38
|
+
import { subMonths as le } from "date-fns/subMonths";
|
|
39
|
+
import de from "@mui/material/Paper";
|
|
40
40
|
import oo from "@mui/icons-material/KeyboardArrowLeftRounded";
|
|
41
41
|
import so from "@mui/icons-material/KeyboardArrowRightRounded";
|
|
42
42
|
import { isSameDay as QA } from "date-fns/isSameDay";
|
|
@@ -51,7 +51,7 @@ import { differenceInCalendarDays as To } from "date-fns/differenceInCalendarDay
|
|
|
51
51
|
import { endOfToday as Pe } from "date-fns/endOfToday";
|
|
52
52
|
import { endOfYear as pr } from "date-fns/endOfYear";
|
|
53
53
|
import { startOfYear as vr } from "date-fns/startOfYear";
|
|
54
|
-
import { subDays as
|
|
54
|
+
import { subDays as fe } from "date-fns/subDays";
|
|
55
55
|
import { subYears as Er } from "date-fns/subYears";
|
|
56
56
|
import bo from "@mui/material/ButtonGroup";
|
|
57
57
|
import Pn from "@mui/material/ToggleButton";
|
|
@@ -68,7 +68,7 @@ import Mt from "@mui/material/InputAdornment";
|
|
|
68
68
|
import Po from "@mui/material/Radio";
|
|
69
69
|
import Se from "@mui/material/Avatar";
|
|
70
70
|
import bA from "@mui/material/ListItemAvatar";
|
|
71
|
-
import
|
|
71
|
+
import oe from "@mui/material/ListItemIcon";
|
|
72
72
|
import { makeAutoObservable as yA, runInAction as Z, observable as No } from "mobx";
|
|
73
73
|
import { differenceInDays as Mo } from "date-fns/differenceInDays";
|
|
74
74
|
import { getMonth as We } from "date-fns/getMonth";
|
|
@@ -1225,7 +1225,7 @@ const Rs = (A, e) => {
|
|
|
1225
1225
|
isTablet: It(uA().breakpoints.between("md", "xl"))
|
|
1226
1226
|
}), Ga = (A) => {
|
|
1227
1227
|
const e = Ea();
|
|
1228
|
-
return
|
|
1228
|
+
return ue(() => {
|
|
1229
1229
|
e.current = A;
|
|
1230
1230
|
}, [A]), e.current;
|
|
1231
1231
|
}, Xa = ({
|
|
@@ -1674,7 +1674,7 @@ const Vs = ({
|
|
|
1674
1674
|
const m = g.useMemo(() => {
|
|
1675
1675
|
const S = ao({ start: pA(c), end: TA(c) }), O = [];
|
|
1676
1676
|
for (let N = 0; N < S.length; N++) {
|
|
1677
|
-
const x = S[N], B = ro({ start: x, end:
|
|
1677
|
+
const x = S[N], B = ro({ start: x, end: Ce(x, 6) }), K = [];
|
|
1678
1678
|
for (let _ = 0; _ < B.length; _++)
|
|
1679
1679
|
K.push(B[_]);
|
|
1680
1680
|
O.push(K);
|
|
@@ -1694,9 +1694,9 @@ const Vs = ({
|
|
|
1694
1694
|
}, L = () => {
|
|
1695
1695
|
u(ZA(c, 1));
|
|
1696
1696
|
}, b = () => {
|
|
1697
|
-
u(
|
|
1697
|
+
u(le(c, 1));
|
|
1698
1698
|
};
|
|
1699
|
-
return /* @__PURE__ */ t("div", { className: `mx-cmn-calendar ${s}`, children: /* @__PURE__ */ d(
|
|
1699
|
+
return /* @__PURE__ */ t("div", { className: `mx-cmn-calendar ${s}`, children: /* @__PURE__ */ d(de, { sx: { boxShadow: "none" }, children: [
|
|
1700
1700
|
/* @__PURE__ */ t(
|
|
1701
1701
|
Fs,
|
|
1702
1702
|
{
|
|
@@ -2037,7 +2037,7 @@ const Vs = ({
|
|
|
2037
2037
|
"aria-label": z(e.category_icon_label_aria, n),
|
|
2038
2038
|
mb: 4,
|
|
2039
2039
|
role: "img",
|
|
2040
|
-
children: /* @__PURE__ */ t(
|
|
2040
|
+
children: /* @__PURE__ */ t(ie, { categoryGuid: A })
|
|
2041
2041
|
}
|
|
2042
2042
|
),
|
|
2043
2043
|
/* @__PURE__ */ t(v, { variant: "Body", children: n })
|
|
@@ -2056,8 +2056,8 @@ const Vs = ({
|
|
|
2056
2056
|
o && o,
|
|
2057
2057
|
Q(Number(e), a ?? "0,0.00")
|
|
2058
2058
|
] }), sc = ({ categoryGuid: A, hoveredAreaData: e, cursorPosition: n, chartContainerRef: r }) => {
|
|
2059
|
-
const { common: a } = D(), i = At(), o = Ea(null), [s, c] =
|
|
2060
|
-
if (
|
|
2059
|
+
const { common: a } = D(), i = At(), o = Ea(null), [s, c] = ce({ x: n.x, y: n.y });
|
|
2060
|
+
if (ue(() => {
|
|
2061
2061
|
(() => {
|
|
2062
2062
|
const h = o.current, C = r.current;
|
|
2063
2063
|
if (!h || !C) return;
|
|
@@ -2529,16 +2529,16 @@ const Vs = ({
|
|
|
2529
2529
|
}, [N]);
|
|
2530
2530
|
const K = () => {
|
|
2531
2531
|
const M = TA(Pe());
|
|
2532
|
-
return [TA(
|
|
2532
|
+
return [TA(le(M, N)), M];
|
|
2533
2533
|
}, _ = (M) => {
|
|
2534
2534
|
const Y = [...h], rA = h[0], xA = h[1], dA = M === "previous";
|
|
2535
2535
|
if (f === n.dateRangePickerCopy.dateRangeThisMonth)
|
|
2536
|
-
Y[0] = dA ?
|
|
2536
|
+
Y[0] = dA ? le(rA, 1) : ZA(rA, 1), Y[1] = TA(dA ? le(xA, 1) : ZA(xA, 1));
|
|
2537
2537
|
else if (f === n.dateRangePickerCopy.dateRangeYTD || f === n.dateRangePickerCopy.dateRangeLastYear)
|
|
2538
2538
|
Y[0] = dA ? Er(vr(rA), 1) : Ct(vr(rA), 1), Y[1] = dA ? Er(pr(rA), 1) : Ct(pr(rA), 1);
|
|
2539
2539
|
else {
|
|
2540
2540
|
const PA = To(xA, rA);
|
|
2541
|
-
Y[0] = M === "previous" ?
|
|
2541
|
+
Y[0] = M === "previous" ? fe(rA, PA) : Ce(rA, PA), Y[1] = M === "previous" ? fe(xA, PA) : Ce(xA, PA);
|
|
2542
2542
|
}
|
|
2543
2543
|
C(Y), A.onRangeChanged(Y);
|
|
2544
2544
|
}, k = () => {
|
|
@@ -3039,7 +3039,7 @@ const Xe = ({
|
|
|
3039
3039
|
p: E ? 48 : 24,
|
|
3040
3040
|
pb: 0
|
|
3041
3041
|
},
|
|
3042
|
-
title: E ? /* @__PURE__ */ t(
|
|
3042
|
+
title: E ? /* @__PURE__ */ t(he, { children: h }) : /* @__PURE__ */ d(w, { alignItems: "center", flexDirection: "row", children: [
|
|
3043
3043
|
L && c && /* @__PURE__ */ t(
|
|
3044
3044
|
zA,
|
|
3045
3045
|
{
|
|
@@ -3049,7 +3049,7 @@ const Xe = ({
|
|
|
3049
3049
|
children: /* @__PURE__ */ t(P, { name: "arrow_back" })
|
|
3050
3050
|
}
|
|
3051
3051
|
),
|
|
3052
|
-
/* @__PURE__ */ t(
|
|
3052
|
+
/* @__PURE__ */ t(he, { variant: "H3", children: h })
|
|
3053
3053
|
] })
|
|
3054
3054
|
}
|
|
3055
3055
|
),
|
|
@@ -3213,7 +3213,7 @@ const Rr = "connect_widget", Hr = "connections_widget", pc = ({
|
|
|
3213
3213
|
"& .MuiInputBase-adornedStart > .p": {
|
|
3214
3214
|
marginRight: A.Spacing.Tiny
|
|
3215
3215
|
}
|
|
3216
|
-
}),
|
|
3216
|
+
}), ae = ({ label: A = "", size: e = 32 }) => {
|
|
3217
3217
|
const n = DA();
|
|
3218
3218
|
return /* @__PURE__ */ d(w, { alignItems: "center", gap: n.Spacing.XLarge, height: 450, justifyContent: "center", children: [
|
|
3219
3219
|
/* @__PURE__ */ t(Nn, { size: e }),
|
|
@@ -3386,7 +3386,7 @@ const Rr = "connect_widget", Hr = "connections_widget", pc = ({
|
|
|
3386
3386
|
] });
|
|
3387
3387
|
return n ? /* @__PURE__ */ t(W, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ d(cA, { onClick: n, children: [
|
|
3388
3388
|
a,
|
|
3389
|
-
/* @__PURE__ */ t(
|
|
3389
|
+
/* @__PURE__ */ t(oe, { children: /* @__PURE__ */ t(P, { name: "chevron_right", size: 24 }) })
|
|
3390
3390
|
] }) }) : /* @__PURE__ */ t(W, { disableGutters: !1, disablePadding: !1, children: a });
|
|
3391
3391
|
}, Xt = ({
|
|
3392
3392
|
body: A,
|
|
@@ -4232,7 +4232,7 @@ const Pc = [
|
|
|
4232
4232
|
}, Bc = (A, e, n) => {
|
|
4233
4233
|
const {
|
|
4234
4234
|
accounts: r = [],
|
|
4235
|
-
dateRange: a = { start:
|
|
4235
|
+
dateRange: a = { start: pA($()), end: Pe() },
|
|
4236
4236
|
custom: i = () => !0,
|
|
4237
4237
|
searchTerm: o = ""
|
|
4238
4238
|
} = A;
|
|
@@ -4333,7 +4333,7 @@ class Qc {
|
|
|
4333
4333
|
transactionRules = [];
|
|
4334
4334
|
transactions = [];
|
|
4335
4335
|
associatedBeats = [];
|
|
4336
|
-
cachedStartDate =
|
|
4336
|
+
cachedStartDate = fe($(), 90);
|
|
4337
4337
|
onAnalyticEvent = Rc;
|
|
4338
4338
|
sortColumn = Tn.DATE;
|
|
4339
4339
|
sortDirection = $a.DESC;
|
|
@@ -4609,7 +4609,7 @@ const VA = () => {
|
|
|
4609
4609
|
}, tn = (A) => AA(IA(A), U.DAY_OF_WEEK_MONTH_DAY), Xr = 65, Qr = 34, $c = ({
|
|
4610
4610
|
bgcolor: A,
|
|
4611
4611
|
height: e = "calc(100dvh - 36px)",
|
|
4612
|
-
loader: n = /* @__PURE__ */ t(
|
|
4612
|
+
loader: n = /* @__PURE__ */ t(ae, { label: "Loading", size: 40 }),
|
|
4613
4613
|
onClick: r,
|
|
4614
4614
|
showInsights: a = !1,
|
|
4615
4615
|
showLoader: i = !1,
|
|
@@ -4801,7 +4801,7 @@ const VA = () => {
|
|
|
4801
4801
|
})),
|
|
4802
4802
|
[a]
|
|
4803
4803
|
);
|
|
4804
|
-
return /* @__PURE__ */ t(
|
|
4804
|
+
return /* @__PURE__ */ t(de, { sx: { height: A, px: 24, width: "100%", boxShadow: "none" }, children: /* @__PURE__ */ t(
|
|
4805
4805
|
Rn,
|
|
4806
4806
|
{
|
|
4807
4807
|
columns: o,
|
|
@@ -5077,7 +5077,7 @@ const ll = ({
|
|
|
5077
5077
|
id: `category-${A.guid}`,
|
|
5078
5078
|
onClick: s,
|
|
5079
5079
|
children: [
|
|
5080
|
-
/* @__PURE__ */ t(bA, { children: /* @__PURE__ */ t(
|
|
5080
|
+
/* @__PURE__ */ t(bA, { children: /* @__PURE__ */ t(ie, { categoryGuid: A.guid }) }),
|
|
5081
5081
|
/* @__PURE__ */ t(
|
|
5082
5082
|
sA,
|
|
5083
5083
|
{
|
|
@@ -5085,7 +5085,7 @@ const ll = ({
|
|
|
5085
5085
|
primaryTypographyProps: { fontWeight: "normal", variant: "Body" }
|
|
5086
5086
|
}
|
|
5087
5087
|
),
|
|
5088
|
-
/* @__PURE__ */ t(
|
|
5088
|
+
/* @__PURE__ */ t(oe, { children: o || r ? /* @__PURE__ */ t(Ia, {}) : /* @__PURE__ */ t(Jt, {}) })
|
|
5089
5089
|
]
|
|
5090
5090
|
},
|
|
5091
5091
|
A.guid
|
|
@@ -5111,7 +5111,7 @@ const ll = ({
|
|
|
5111
5111
|
}
|
|
5112
5112
|
return s;
|
|
5113
5113
|
}, []))(A, e);
|
|
5114
|
-
return /* @__PURE__ */ t(
|
|
5114
|
+
return /* @__PURE__ */ t(de, { className: "mx-cat-category-list", sx: { boxShadow: "none" }, children: /* @__PURE__ */ t(iA, { children: a.map((i) => /* @__PURE__ */ t(
|
|
5115
5115
|
wl,
|
|
5116
5116
|
{
|
|
5117
5117
|
category: i.category,
|
|
@@ -5256,7 +5256,7 @@ class xl {
|
|
|
5256
5256
|
return o[c] === void 0 && (o[c] = []), o[c].push(s), o;
|
|
5257
5257
|
}, {}), i = [];
|
|
5258
5258
|
for (let o = 0; o < r; o++) {
|
|
5259
|
-
const s =
|
|
5259
|
+
const s = le(n, o), c = Number(FA(s, "yyyyMM"));
|
|
5260
5260
|
i.push({
|
|
5261
5261
|
timestamp: gA(s),
|
|
5262
5262
|
label: AA(s, U.MONTH_YEAR),
|
|
@@ -5294,7 +5294,7 @@ class xl {
|
|
|
5294
5294
|
}
|
|
5295
5295
|
};
|
|
5296
5296
|
loadMonthlyCategoryTotals = async (e = this.globalStore.accountStore.accounts, n, r) => {
|
|
5297
|
-
const a = gA(pA(n ??
|
|
5297
|
+
const a = gA(pA(n ?? le(/* @__PURE__ */ new Date(), 5))), i = gA(TA(r ?? /* @__PURE__ */ new Date()));
|
|
5298
5298
|
try {
|
|
5299
5299
|
const o = await this.api.getMonthlyCategoryTotals(a, i, e);
|
|
5300
5300
|
Z(() => {
|
|
@@ -5354,7 +5354,7 @@ const ti = ({ transaction: A }) => {
|
|
|
5354
5354
|
},
|
|
5355
5355
|
children: [
|
|
5356
5356
|
/* @__PURE__ */ t(bA, { children: /* @__PURE__ */ t(Se, { sx: { bgcolor: "border.light" }, variant: "rounded", children: /* @__PURE__ */ t(
|
|
5357
|
-
|
|
5357
|
+
ie,
|
|
5358
5358
|
{
|
|
5359
5359
|
categoryGuid: A.top_level_category_guid,
|
|
5360
5360
|
size: 24,
|
|
@@ -5370,7 +5370,7 @@ const ti = ({ transaction: A }) => {
|
|
|
5370
5370
|
secondary: /* @__PURE__ */ t(v, { bold: !0, variant: "Body", children: A.category ?? s.actions_select_a_category })
|
|
5371
5371
|
}
|
|
5372
5372
|
),
|
|
5373
|
-
/* @__PURE__ */ t(
|
|
5373
|
+
/* @__PURE__ */ t(oe, { children: /* @__PURE__ */ t(P, { name: "chevron_right", weight: qA.Dark }) })
|
|
5374
5374
|
]
|
|
5375
5375
|
}
|
|
5376
5376
|
) }),
|
|
@@ -5434,7 +5434,7 @@ const ti = ({ transaction: A }) => {
|
|
|
5434
5434
|
secondary: /* @__PURE__ */ t(v, { bold: !0, variant: "Body", children: AA(IA(A.date), U.YEAR_MONTH_DAY) })
|
|
5435
5435
|
}
|
|
5436
5436
|
),
|
|
5437
|
-
/* @__PURE__ */ t(
|
|
5437
|
+
/* @__PURE__ */ t(oe, { children: /* @__PURE__ */ t(P, { name: "chevron_right", weight: qA.Dark }) })
|
|
5438
5438
|
]
|
|
5439
5439
|
}
|
|
5440
5440
|
) }),
|
|
@@ -5484,7 +5484,7 @@ const ti = ({ transaction: A }) => {
|
|
|
5484
5484
|
secondary: i.manual_transaction_delete_subtitle
|
|
5485
5485
|
}
|
|
5486
5486
|
),
|
|
5487
|
-
/* @__PURE__ */ t(
|
|
5487
|
+
/* @__PURE__ */ t(oe, { children: /* @__PURE__ */ t(pt, {}) })
|
|
5488
5488
|
]
|
|
5489
5489
|
}
|
|
5490
5490
|
) }),
|
|
@@ -5520,7 +5520,7 @@ const ti = ({ transaction: A }) => {
|
|
|
5520
5520
|
children: [
|
|
5521
5521
|
/* @__PURE__ */ t(bA, { children: /* @__PURE__ */ t(Se, { sx: { bgcolor: "border.light" }, variant: "rounded", children: /* @__PURE__ */ t(P, { name: "delete", sx: { color: "text.primary" }, weight: qA.Dark }) }) }),
|
|
5522
5522
|
/* @__PURE__ */ t(sA, { primary: i.merchant_logo_title, secondary: i.merchant_logo_desc }),
|
|
5523
|
-
/* @__PURE__ */ t(
|
|
5523
|
+
/* @__PURE__ */ t(oe, { children: /* @__PURE__ */ t(P, { name: "chevron_right", weight: qA.Dark }) })
|
|
5524
5524
|
]
|
|
5525
5525
|
}
|
|
5526
5526
|
) }),
|
|
@@ -5582,7 +5582,7 @@ const ti = ({ transaction: A }) => {
|
|
|
5582
5582
|
secondary: c ? i.hide_trnx_desc_unhiding : i.hide_trnx_desc_hiding
|
|
5583
5583
|
}
|
|
5584
5584
|
),
|
|
5585
|
-
/* @__PURE__ */ t(
|
|
5585
|
+
/* @__PURE__ */ t(oe, { children: /* @__PURE__ */ t(
|
|
5586
5586
|
zn,
|
|
5587
5587
|
{
|
|
5588
5588
|
checked: c,
|
|
@@ -5627,7 +5627,7 @@ const ti = ({ transaction: A }) => {
|
|
|
5627
5627
|
),
|
|
5628
5628
|
/* @__PURE__ */ d(w, { overflow: "hidden'", children: [
|
|
5629
5629
|
/* @__PURE__ */ t(v, { bold: !0, mb: 4, truncate: !0, variant: "Body", children: n || i }),
|
|
5630
|
-
/* @__PURE__ */ d(
|
|
5630
|
+
/* @__PURE__ */ d(he, { color: r ? "success.main" : "text.primary", truncate: !0, children: [
|
|
5631
5631
|
r ? "+" : "",
|
|
5632
5632
|
Q(e, "0,0.00")
|
|
5633
5633
|
] })
|
|
@@ -5662,7 +5662,7 @@ const ti = ({ transaction: A }) => {
|
|
|
5662
5662
|
secondary: /* @__PURE__ */ t(v, { bold: !0, variant: "Body", children: A.memo ? A.memo : i.memo_desc })
|
|
5663
5663
|
}
|
|
5664
5664
|
),
|
|
5665
|
-
/* @__PURE__ */ t(
|
|
5665
|
+
/* @__PURE__ */ t(oe, { children: /* @__PURE__ */ t(P, { name: "chevron_right", weight: qA.Dark }) })
|
|
5666
5666
|
]
|
|
5667
5667
|
}
|
|
5668
5668
|
) }),
|
|
@@ -5719,7 +5719,7 @@ const ti = ({ transaction: A }) => {
|
|
|
5719
5719
|
{
|
|
5720
5720
|
endIcon: /* @__PURE__ */ t(Jt, {}),
|
|
5721
5721
|
onClick: () => h(!0),
|
|
5722
|
-
startIcon: /* @__PURE__ */ t(
|
|
5722
|
+
startIcon: /* @__PURE__ */ t(ie, { categoryGuid: a.top_level_category_guid }),
|
|
5723
5723
|
sx: { px: i.Spacing.Small, py: i.Spacing.XSmall },
|
|
5724
5724
|
children: a.category
|
|
5725
5725
|
}
|
|
@@ -5917,7 +5917,7 @@ const ti = ({ transaction: A }) => {
|
|
|
5917
5917
|
secondary: A.has_been_split || A.parent_guid ? i.split_transaction_unsplit_subtitle : i.split_transaction_desc
|
|
5918
5918
|
}
|
|
5919
5919
|
),
|
|
5920
|
-
/* @__PURE__ */ t(
|
|
5920
|
+
/* @__PURE__ */ t(oe, { children: A.has_been_split || A.parent_guid ? /* @__PURE__ */ t(P, { name: "delete", weight: qA.Dark }) : /* @__PURE__ */ t(P, { name: "chevron_right", weight: qA.Dark }) })
|
|
5921
5921
|
] }) }),
|
|
5922
5922
|
/* @__PURE__ */ d(
|
|
5923
5923
|
hA,
|
|
@@ -6102,7 +6102,7 @@ const ti = ({ transaction: A }) => {
|
|
|
6102
6102
|
onClick: () => A(n.guid),
|
|
6103
6103
|
role: "checkbox",
|
|
6104
6104
|
children: [
|
|
6105
|
-
/* @__PURE__ */ t(
|
|
6105
|
+
/* @__PURE__ */ t(oe, { sx: { ml: 0 }, children: /* @__PURE__ */ t(Nt, { checked: e.includes(n.guid), edge: "start", tabIndex: -1 }) }),
|
|
6106
6106
|
/* @__PURE__ */ t(sA, { children: n.name })
|
|
6107
6107
|
]
|
|
6108
6108
|
}
|
|
@@ -6161,7 +6161,7 @@ const ti = ({ transaction: A }) => {
|
|
|
6161
6161
|
}
|
|
6162
6162
|
),
|
|
6163
6163
|
/* @__PURE__ */ t(Fl, {}),
|
|
6164
|
-
/* @__PURE__ */ t(
|
|
6164
|
+
/* @__PURE__ */ t(de, { sx: { boxShadow: "none" }, children: /* @__PURE__ */ t(iA, { children: i.map((o) => /* @__PURE__ */ d(g.Fragment, { children: [
|
|
6165
6165
|
/* @__PURE__ */ t(Yl, { onTagChecked: e, selectedTags: A, tag: o }),
|
|
6166
6166
|
/* @__PURE__ */ t(G, { sx: { ml: 24 } })
|
|
6167
6167
|
] }, o.guid)) }) })
|
|
@@ -6203,7 +6203,7 @@ const ti = ({ transaction: A }) => {
|
|
|
6203
6203
|
secondary: /* @__PURE__ */ t(v, { bold: !0, variant: "Body", children: A.tags?.length > 0 ? m : o.tags_desc })
|
|
6204
6204
|
}
|
|
6205
6205
|
),
|
|
6206
|
-
/* @__PURE__ */ t(
|
|
6206
|
+
/* @__PURE__ */ t(oe, { children: /* @__PURE__ */ t(P, { name: "chevron_right", weight: qA.Dark }) })
|
|
6207
6207
|
]
|
|
6208
6208
|
}
|
|
6209
6209
|
) }),
|
|
@@ -6315,7 +6315,7 @@ const ti = ({ transaction: A }) => {
|
|
|
6315
6315
|
[]
|
|
6316
6316
|
), /* @__PURE__ */ t(I, { className: "mx-txn-transaction-details", width: "100%", children: n && /* @__PURE__ */ d(w, { children: [
|
|
6317
6317
|
/* @__PURE__ */ d(w, { gap: r.Spacing.Small, p: r.Spacing.Large, children: [
|
|
6318
|
-
/* @__PURE__ */ t(
|
|
6318
|
+
/* @__PURE__ */ t(de, { elevation: 2, sx: { borderRadius: r.BorderRadius.Small, width: 64 }, children: /* @__PURE__ */ t(
|
|
6319
6319
|
Re,
|
|
6320
6320
|
{
|
|
6321
6321
|
categoryGuid: n.top_level_category_guid || "",
|
|
@@ -6325,7 +6325,7 @@ const ti = ({ transaction: A }) => {
|
|
|
6325
6325
|
) }),
|
|
6326
6326
|
/* @__PURE__ */ t(Ad, { transaction: n }),
|
|
6327
6327
|
/* @__PURE__ */ d(w, { direction: "row", justifyContent: "space-between", children: [
|
|
6328
|
-
/* @__PURE__ */ d(
|
|
6328
|
+
/* @__PURE__ */ d(he, { color: n.isIncome ? "success.main" : "text.primary", children: [
|
|
6329
6329
|
n.isIncome ? "+" : "",
|
|
6330
6330
|
Q(n.amount, "0,0.00")
|
|
6331
6331
|
] }),
|
|
@@ -6346,7 +6346,7 @@ const ti = ({ transaction: A }) => {
|
|
|
6346
6346
|
}
|
|
6347
6347
|
)
|
|
6348
6348
|
] }),
|
|
6349
|
-
/* @__PURE__ */ t(
|
|
6349
|
+
/* @__PURE__ */ t(de, { square: !0, sx: { boxShadow: "none" }, children: /* @__PURE__ */ t(iA, { children: e.map((o, s) => /* @__PURE__ */ d(g.Fragment, { children: [
|
|
6350
6350
|
o === lt.Category && /* @__PURE__ */ t(ti, { transaction: n }),
|
|
6351
6351
|
o === lt.Date && /* @__PURE__ */ t(ni, { transaction: n }),
|
|
6352
6352
|
o === lt.Memo && /* @__PURE__ */ t(ai, { transaction: n }),
|
|
@@ -6354,7 +6354,7 @@ const ti = ({ transaction: A }) => {
|
|
|
6354
6354
|
/* @__PURE__ */ t(G, { variant: s < e.length - 1 ? "inset" : "fullWidth" })
|
|
6355
6355
|
] }, o)) }) }),
|
|
6356
6356
|
/* @__PURE__ */ t(v, { bold: !0, mb: 8, ml: 26, mt: 16, variant: "Body", children: "Actions" }),
|
|
6357
|
-
/* @__PURE__ */ t(
|
|
6357
|
+
/* @__PURE__ */ t(de, { square: !0, sx: { boxShadow: "none" }, children: /* @__PURE__ */ d(iA, { children: [
|
|
6358
6358
|
A.map((o, s) => /* @__PURE__ */ d(g.Fragment, { children: [
|
|
6359
6359
|
o === Pt.SplitTransaction && /* @__PURE__ */ t(Xl, { transaction: n }),
|
|
6360
6360
|
o === Pt.HideTransaction && /* @__PURE__ */ t(zl, { transaction: n }),
|
|
@@ -6610,7 +6610,7 @@ const ti = ({ transaction: A }) => {
|
|
|
6610
6610
|
}, Qi = () => {
|
|
6611
6611
|
je(!1), i();
|
|
6612
6612
|
};
|
|
6613
|
-
return !K || !V ? /* @__PURE__ */ t(
|
|
6613
|
+
return !K || !V ? /* @__PURE__ */ t(ae, {}) : /* @__PURE__ */ d(
|
|
6614
6614
|
Me,
|
|
6615
6615
|
{
|
|
6616
6616
|
accountOptions: a,
|
|
@@ -6898,7 +6898,7 @@ const ti = ({ transaction: A }) => {
|
|
|
6898
6898
|
g.useEffect(() => {
|
|
6899
6899
|
c({
|
|
6900
6900
|
accounts: l,
|
|
6901
|
-
dateRange: { start:
|
|
6901
|
+
dateRange: { start: fe($(), 90), end: TA($()) }
|
|
6902
6902
|
});
|
|
6903
6903
|
}, []), g.useEffect(() => {
|
|
6904
6904
|
if (L && A.sequenceGuid) {
|
|
@@ -6933,7 +6933,7 @@ const ti = ({ transaction: A }) => {
|
|
|
6933
6933
|
}
|
|
6934
6934
|
),
|
|
6935
6935
|
/* @__PURE__ */ t(v, { bold: !0, variant: "Body", children: A.name }),
|
|
6936
|
-
/* @__PURE__ */ d(
|
|
6936
|
+
/* @__PURE__ */ d(he, { color: L ? "success.main" : "text.primary", children: [
|
|
6937
6937
|
L ? "+" : "",
|
|
6938
6938
|
Q(A.amount, "0,0.00")
|
|
6939
6939
|
] })
|
|
@@ -7093,7 +7093,7 @@ const ti = ({ transaction: A }) => {
|
|
|
7093
7093
|
/* @__PURE__ */ t(v, { variant: "XSmall", children: wd(A, a) })
|
|
7094
7094
|
] }) : /* @__PURE__ */ d(aA, { children: [
|
|
7095
7095
|
A.institutionGuid && /* @__PURE__ */ t(
|
|
7096
|
-
|
|
7096
|
+
ge,
|
|
7097
7097
|
{
|
|
7098
7098
|
alt: A.institution || "",
|
|
7099
7099
|
institutionGuid: A.institutionGuid,
|
|
@@ -7453,7 +7453,7 @@ const ti = ({ transaction: A }) => {
|
|
|
7453
7453
|
}), s = r.filter(
|
|
7454
7454
|
(l) => Ze(IA(l.expected_date), {
|
|
7455
7455
|
start: pA($()),
|
|
7456
|
-
end:
|
|
7456
|
+
end: Ce($(), 30)
|
|
7457
7457
|
})
|
|
7458
7458
|
).filter((l) => {
|
|
7459
7459
|
const h = a.find((f) => f.guid === l.cashflow_sequence_guid), C = e.find(
|
|
@@ -7502,7 +7502,7 @@ const ti = ({ transaction: A }) => {
|
|
|
7502
7502
|
recurrenceDay: e.recurrence_day,
|
|
7503
7503
|
scheduledPaymentGuid: e.guid,
|
|
7504
7504
|
transactionGuid: ""
|
|
7505
|
-
}, c = e.recurrence_day, u = $(), l = pA($()), h =
|
|
7505
|
+
}, c = e.recurrence_day, u = $(), l = pA($()), h = Ce($(), 30);
|
|
7506
7506
|
let C = l;
|
|
7507
7507
|
switch (e.recurrence_type) {
|
|
7508
7508
|
case q.EveryWeek:
|
|
@@ -7583,9 +7583,9 @@ const ti = ({ transaction: A }) => {
|
|
|
7583
7583
|
}
|
|
7584
7584
|
return r.forEach((f) => {
|
|
7585
7585
|
const m = n.find(
|
|
7586
|
-
(y) => y.scheduled_payment_guid === f.scheduledPaymentGuid && y.date > gA(
|
|
7586
|
+
(y) => y.scheduled_payment_guid === f.scheduledPaymentGuid && y.date > gA(fe(f.expectedDate, 3)) && y.date < gA(Ce(f.expectedDate, 3))
|
|
7587
7587
|
);
|
|
7588
|
-
m ? (f.transactionGuid = m.guid, f.occurredOnDate = IA(m.date), f.activityStatus = EA.Paid) : fA(f.expectedDate,
|
|
7588
|
+
m ? (f.transactionGuid = m.guid, f.occurredOnDate = IA(m.date), f.activityStatus = EA.Paid) : fA(f.expectedDate, fe(u, 3)) && (f.activityStatus = EA.Missed);
|
|
7589
7589
|
}), r;
|
|
7590
7590
|
}, Hd = (A, e, n, r, a) => r.map((i) => {
|
|
7591
7591
|
const o = e.find((h) => h.cashflow_sequence_guid === i.guid), s = n.find((h) => h.cashflow_sequence_guid === i.guid), c = a.find((h) => h.guid === o?.transaction_guid), u = A.find((h) => h.guid === c?.account_guid);
|
|
@@ -7656,10 +7656,10 @@ const ti = ({ transaction: A }) => {
|
|
|
7656
7656
|
end: TA($())
|
|
7657
7657
|
}), gn = (A) => A.occurredOnDate && Ze(A.occurredOnDate, {
|
|
7658
7658
|
start: pA(/* @__PURE__ */ new Date()),
|
|
7659
|
-
end:
|
|
7659
|
+
end: Ce($(), 30)
|
|
7660
7660
|
}) || Ze(A.expectedDate, {
|
|
7661
7661
|
start: pA(/* @__PURE__ */ new Date()),
|
|
7662
|
-
end:
|
|
7662
|
+
end: Ce($(), 30)
|
|
7663
7663
|
}), _d = ({ day: A, outsideCurrentMonth: e, ...n }) => {
|
|
7664
7664
|
const { recurring: r } = D(), { selectedAccountGuids: a } = mA(), { activities: i, setSelectedDay: o } = MA(), c = g.useMemo(
|
|
7665
7665
|
() => i.filter((m) => a.includes(m.accountGuid || "")),
|
|
@@ -7980,7 +7980,7 @@ const ti = ({ transaction: A }) => {
|
|
|
7980
7980
|
o(n);
|
|
7981
7981
|
}, [n]), g.useEffect(() => {
|
|
7982
7982
|
a && s({
|
|
7983
|
-
dateRange: { start:
|
|
7983
|
+
dateRange: { start: fe($(), 90), end: Pe() },
|
|
7984
7984
|
accounts: i
|
|
7985
7985
|
});
|
|
7986
7986
|
}, [a, i]);
|
|
@@ -8050,7 +8050,7 @@ const ti = ({ transaction: A }) => {
|
|
|
8050
8050
|
const { recurring: n } = D(), { isInitialized: r, selectedAccountGuids: a } = mA(), { setFilter: i } = lA();
|
|
8051
8051
|
return g.useEffect(() => {
|
|
8052
8052
|
r && i({
|
|
8053
|
-
dateRange: { start:
|
|
8053
|
+
dateRange: { start: fe($(), 90), end: Pe() },
|
|
8054
8054
|
accounts: a
|
|
8055
8055
|
});
|
|
8056
8056
|
}, [r, a]), /* @__PURE__ */ t(
|
|
@@ -8189,7 +8189,7 @@ class Zd {
|
|
|
8189
8189
|
try {
|
|
8190
8190
|
const e = await this.cashflowApi.getProjectedCashflowEvents(
|
|
8191
8191
|
pA($()),
|
|
8192
|
-
|
|
8192
|
+
Ce($(), 30)
|
|
8193
8193
|
);
|
|
8194
8194
|
Z(() => {
|
|
8195
8195
|
this.projectedEvents = e.filter(
|
|
@@ -8203,7 +8203,7 @@ class Zd {
|
|
|
8203
8203
|
loadPaidEvents = async () => {
|
|
8204
8204
|
try {
|
|
8205
8205
|
const e = await this.cashflowApi.getCashflowEventsByDateRange(
|
|
8206
|
-
|
|
8206
|
+
fe($(), 90),
|
|
8207
8207
|
TA($())
|
|
8208
8208
|
);
|
|
8209
8209
|
Z(() => {
|
|
@@ -8413,7 +8413,7 @@ const $d = {
|
|
|
8413
8413
|
right: -1
|
|
8414
8414
|
}
|
|
8415
8415
|
},
|
|
8416
|
-
children: /* @__PURE__ */ t(
|
|
8416
|
+
children: /* @__PURE__ */ t(ge, { alt: "MX", institutionGuid: A.institution_guid || "" })
|
|
8417
8417
|
}
|
|
8418
8418
|
) }),
|
|
8419
8419
|
/* @__PURE__ */ t(
|
|
@@ -8582,7 +8582,7 @@ const su = ({ activity: A }) => /* @__PURE__ */ d(aA, { children: [
|
|
|
8582
8582
|
const f = l || u;
|
|
8583
8583
|
return /* @__PURE__ */ d(w, { alignItems: "center", flexDirection: "row", gap: 12, children: [
|
|
8584
8584
|
/* @__PURE__ */ t(
|
|
8585
|
-
|
|
8585
|
+
ge,
|
|
8586
8586
|
{
|
|
8587
8587
|
alt: n.institution_logo,
|
|
8588
8588
|
institutionGuid: h || "",
|
|
@@ -8708,7 +8708,7 @@ const su = ({ activity: A }) => /* @__PURE__ */ d(aA, { children: [
|
|
|
8708
8708
|
children: [
|
|
8709
8709
|
/* @__PURE__ */ d(w, { alignItems: "center", flexDirection: "row", gap: 8, children: [
|
|
8710
8710
|
/* @__PURE__ */ t(
|
|
8711
|
-
|
|
8711
|
+
ge,
|
|
8712
8712
|
{
|
|
8713
8713
|
alt: n.institution_logo,
|
|
8714
8714
|
institutionGuid: C || "",
|
|
@@ -8958,7 +8958,7 @@ const su = ({ activity: A }) => /* @__PURE__ */ d(aA, { children: [
|
|
|
8958
8958
|
}, mu = T(fu), pu = ({ handleNextStep: A }) => {
|
|
8959
8959
|
const { completeOnboarding: e } = jn(), { cashflow: n } = D(), r = uA();
|
|
8960
8960
|
return /* @__PURE__ */ d(w, { children: [
|
|
8961
|
-
/* @__PURE__ */ t(
|
|
8961
|
+
/* @__PURE__ */ t(he, { pb: 12, children: n.welcome_title }),
|
|
8962
8962
|
/* @__PURE__ */ t(
|
|
8963
8963
|
Ut,
|
|
8964
8964
|
{
|
|
@@ -9029,7 +9029,7 @@ const su = ({ activity: A }) => /* @__PURE__ */ d(aA, { children: [
|
|
|
9029
9029
|
const { cashflow: A } = D();
|
|
9030
9030
|
return /* @__PURE__ */ d(g.Fragment, { children: [
|
|
9031
9031
|
/* @__PURE__ */ t("div", { children: /* @__PURE__ */ t("img", { alt: "Loading", src: Eu }) }),
|
|
9032
|
-
/* @__PURE__ */ t(
|
|
9032
|
+
/* @__PURE__ */ t(he, { pb: 12, children: A.loading_title }),
|
|
9033
9033
|
/* @__PURE__ */ t(CA, { children: A.loading_description })
|
|
9034
9034
|
] });
|
|
9035
9035
|
}, wu = T(yu), Su = "data:image/png;base64,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", Lu = ho`
|
|
@@ -9040,13 +9040,13 @@ const su = ({ activity: A }) => /* @__PURE__ */ d(aA, { children: [
|
|
|
9040
9040
|
transform: rotate(360deg);
|
|
9041
9041
|
}
|
|
9042
9042
|
`, Tu = () => {
|
|
9043
|
-
const { addCashflowEvent: A, addCashflowSequence: e, cashflowSequences: n } = MA(), { cashflow: r, common: a } = D(), { completeOnboarding: i } = jn(), { isDirty: o } = rt(), { isMobile: s } = kA(), { setDisplayedDate: c } = mA(), { filter: u, setFilter: l, transactions: h } = lA(), C = uA(), [f, m] =
|
|
9043
|
+
const { addCashflowEvent: A, addCashflowSequence: e, cashflowSequences: n } = MA(), { cashflow: r, common: a } = D(), { completeOnboarding: i } = jn(), { isDirty: o } = rt(), { isMobile: s } = kA(), { setDisplayedDate: c } = mA(), { filter: u, setFilter: l, transactions: h } = lA(), C = uA(), [f, m] = ce(!0), [y, E] = g.useState(q.EveryMonth), [L, b] = ce(!1), [S, O] = g.useState(null), [N, x] = ce(1), [B, K] = ce([]), [_, k] = ce(""), X = g.useMemo(
|
|
9044
9044
|
() => h.find((dA) => dA.guid === _),
|
|
9045
9045
|
[_]
|
|
9046
9046
|
), M = !!n.length, Y = async () => {
|
|
9047
9047
|
x(2), c(
|
|
9048
9048
|
// Beginning of the month, 90 days before today
|
|
9049
|
-
pA(
|
|
9049
|
+
pA(fe($(), 90)),
|
|
9050
9050
|
$()
|
|
9051
9051
|
), l({ ...u, custom: vt }), x(3);
|
|
9052
9052
|
}, rA = async () => {
|
|
@@ -9105,7 +9105,7 @@ const su = ({ activity: A }) => /* @__PURE__ */ d(aA, { children: [
|
|
|
9105
9105
|
...s ? { display: "flex", flexDirection: "column", maxWidth: "100%", padding: "0 16px" } : { maxWidth: 590, ml: "40%", mr: 90 }
|
|
9106
9106
|
},
|
|
9107
9107
|
children: [
|
|
9108
|
-
/* @__PURE__ */ t(
|
|
9108
|
+
/* @__PURE__ */ t(he, { pb: 12, children: r.add_income_title }),
|
|
9109
9109
|
/* @__PURE__ */ t(CA, { mb: 24, children: r.add_income_description }),
|
|
9110
9110
|
B.length > 0 && !X && /* @__PURE__ */ d(aA, { children: [
|
|
9111
9111
|
/* @__PURE__ */ t(iA, { children: B.map((dA, PA) => /* @__PURE__ */ d(g.Fragment, { children: [
|
|
@@ -9294,7 +9294,7 @@ class $r {
|
|
|
9294
9294
|
}
|
|
9295
9295
|
let Du = class {
|
|
9296
9296
|
// Cashflow is hard-coded to display 30 days starting from today
|
|
9297
|
-
dateRange = { start: $(), end:
|
|
9297
|
+
dateRange = { start: $(), end: Ce($(), 30) };
|
|
9298
9298
|
isDirty = !1;
|
|
9299
9299
|
nextIncome = void 0;
|
|
9300
9300
|
upcomingExpenses = [];
|
|
@@ -9417,9 +9417,9 @@ const Nu = /^[ a-zA-ZÀ-ÿ0-9]+$/, Mu = 50, Aa = 65, Ru = ({
|
|
|
9417
9417
|
searchValue: o
|
|
9418
9418
|
}
|
|
9419
9419
|
),
|
|
9420
|
-
/* @__PURE__ */ t(
|
|
9420
|
+
/* @__PURE__ */ t(de, { sx: { boxShadow: "none" }, children: /* @__PURE__ */ t(iA, { children: /* @__PURE__ */ d(I, { height: A, overflow: "auto", ref: l, children: [
|
|
9421
9421
|
/* @__PURE__ */ d(I, { height: h.getTotalSize(), position: "relative", children: [
|
|
9422
|
-
n && /* @__PURE__ */ t(
|
|
9422
|
+
n && /* @__PURE__ */ t(ae, { label: "Loading...", size: 32 }),
|
|
9423
9423
|
!n && h.getVirtualItems().length > 0 && h.getVirtualItems().map((C) => {
|
|
9424
9424
|
const f = r[C.index];
|
|
9425
9425
|
return /* @__PURE__ */ d(
|
|
@@ -9482,7 +9482,7 @@ class Hu {
|
|
|
9482
9482
|
const Ei = 13, zu = (A, e) => A.filter((n) => {
|
|
9483
9483
|
const { is_closed: r, is_deleted: a, is_hidden: i, is_manual: o } = n;
|
|
9484
9484
|
return r || a || i ? !1 : o || !n.guid ? !0 : e.some((s) => A.some((c) => s.guid === c.member_guid));
|
|
9485
|
-
}), Bu = (A, e) => [...A, ...e], _u = (A, e) => A.year_month - e.year_month, qu = () => Array.from({ length: Ei }, (A, e) => Math.floor(pA(
|
|
9485
|
+
}), Bu = (A, e) => [...A, ...e], _u = (A, e) => A.year_month - e.year_month, qu = () => Array.from({ length: Ei }, (A, e) => Math.floor(pA(le(/* @__PURE__ */ new Date(), e)).getTime() / 1e3)).sort(), Ku = (A, e, n) => !A.length || !e.length ? [] : qu().reduceRight((a, i) => {
|
|
9486
9486
|
const o = e.filter(
|
|
9487
9487
|
({ year_month: l }) => l === parseInt(FA(IA(i), "yyyyMM"))
|
|
9488
9488
|
), s = A.map((l) => {
|
|
@@ -9673,13 +9673,13 @@ const ju = (A, e) => {
|
|
|
9673
9673
|
}
|
|
9674
9674
|
};
|
|
9675
9675
|
return a || o ? /* @__PURE__ */ t("div", { style: s.badge, children: /* @__PURE__ */ t(
|
|
9676
|
-
|
|
9676
|
+
ge,
|
|
9677
9677
|
{
|
|
9678
9678
|
alt: a?.institutionName || r.institution_logo_alt,
|
|
9679
9679
|
institutionGuid: a?.institution_guid ?? "",
|
|
9680
9680
|
size: 33
|
|
9681
9681
|
}
|
|
9682
|
-
) }) : /* @__PURE__ */ t("div", { style: s.badge, children: /* @__PURE__ */ t(
|
|
9682
|
+
) }) : /* @__PURE__ */ t("div", { style: s.badge, children: /* @__PURE__ */ t(ie, { categoryGuid: i?.category_guid, size: 36 }) });
|
|
9683
9683
|
}, Wu = T(Uu), Yu = ({ notification: A, onClick: e }) => {
|
|
9684
9684
|
const { updateNotification: n } = Ya(), r = At(), a = {
|
|
9685
9685
|
card: {
|
|
@@ -9718,10 +9718,10 @@ const ju = (A, e) => {
|
|
|
9718
9718
|
const { isLoading: e, recentNotifications: n, markAllAsViewed: r } = Ya(), { notifications: a } = D(), i = (o) => {
|
|
9719
9719
|
A?.(o);
|
|
9720
9720
|
};
|
|
9721
|
-
return
|
|
9721
|
+
return ue(() => () => {
|
|
9722
9722
|
r().finally();
|
|
9723
9723
|
}, []), /* @__PURE__ */ d(Lo, { sx: { p: 16 }, children: [
|
|
9724
|
-
e && /* @__PURE__ */ t(
|
|
9724
|
+
e && /* @__PURE__ */ t(ae, { label: a.loading, size: 40 }),
|
|
9725
9725
|
!e && n.length === 0 && /* @__PURE__ */ t(re, { sx: { p: 16 }, children: /* @__PURE__ */ t(v, { fontStyle: "italic", sx: { textAlign: "center" }, children: a.no_notifications }) }),
|
|
9726
9726
|
!e && n.sort((o, s) => s.delivered_at - o.delivered_at).map((o, s) => {
|
|
9727
9727
|
const c = ju(s, n);
|
|
@@ -9813,17 +9813,17 @@ const Cn = ({
|
|
|
9813
9813
|
A
|
|
9814
9814
|
] }) }),
|
|
9815
9815
|
/* @__PURE__ */ t(G, { sx: { ml: e ? 0 : 24 } })
|
|
9816
|
-
] }),
|
|
9816
|
+
] }), se = () => {
|
|
9817
9817
|
if (!g.useContext(nt))
|
|
9818
9818
|
throw new Error("useCategoryUiStore() must be used within the GlobalDataContext");
|
|
9819
9819
|
return OA().uiStore;
|
|
9820
9820
|
}, $u = () => {
|
|
9821
|
-
const { accounts: A } = OA(), { selectedAccount: e, selectedMember: n } =
|
|
9821
|
+
const { accounts: A } = OA(), { selectedAccount: e, selectedMember: n } = se();
|
|
9822
9822
|
return A.filter(
|
|
9823
9823
|
(r) => r.member_guid === n.guid && n.successfully_aggregated_at && r.guid !== e.guid
|
|
9824
9824
|
);
|
|
9825
9825
|
}, A1 = () => {
|
|
9826
|
-
const [A, e] = g.useState(!1), [n, r] = g.useState(!1), [a, i] = g.useState(!1), [o, s] = g.useState({}), { selectedAccount: c } =
|
|
9826
|
+
const [A, e] = g.useState(!1), [n, r] = g.useState(!1), [a, i] = g.useState(!1), [o, s] = g.useState({}), { selectedAccount: c } = se(), { mergeAccounts: u, updateAccount: l } = OA(), { accounts: h } = D(), C = $u(), { onEvent: f } = J(), m = (E) => {
|
|
9827
9827
|
l({
|
|
9828
9828
|
...c,
|
|
9829
9829
|
...E
|
|
@@ -10097,7 +10097,7 @@ const Cn = ({
|
|
|
10097
10097
|
}, t1 = () => {
|
|
10098
10098
|
const [A, e] = g.useState(!1), {
|
|
10099
10099
|
palette: { mode: n }
|
|
10100
|
-
} = uA(), { selectedMember: r } =
|
|
10100
|
+
} = uA(), { selectedMember: r } = se(), { accounts: a, connect: i } = D(), o = yi(r, i), s = Ba.includes(r.connection_status) ? {
|
|
10101
10101
|
color: "error.main",
|
|
10102
10102
|
ctaCopy: o.cta ?? "",
|
|
10103
10103
|
icon: /* @__PURE__ */ t(qn, { sx: { ...fn } }),
|
|
@@ -10167,7 +10167,7 @@ const Cn = ({
|
|
|
10167
10167
|
)
|
|
10168
10168
|
] });
|
|
10169
10169
|
}, n1 = T(t1), r1 = ({ field: A, isOpen: e, onClose: n }) => {
|
|
10170
|
-
const { updateAccount: r } = OA(), { selectedAccount: a } =
|
|
10170
|
+
const { updateAccount: r } = OA(), { selectedAccount: a } = se(), { accounts: i } = D(), [o, s] = g.useState(a[A.name]), [c, u] = g.useState(""), [l, h] = g.useState(!0), C = () => {
|
|
10171
10171
|
s(""), u(""), n();
|
|
10172
10172
|
}, f = () => {
|
|
10173
10173
|
switch (A.type) {
|
|
@@ -10253,7 +10253,7 @@ const Cn = ({
|
|
|
10253
10253
|
}
|
|
10254
10254
|
);
|
|
10255
10255
|
}, a1 = T(r1), i1 = () => {
|
|
10256
|
-
const A = window.app?.config, { onEvent: e } = J(), { selectedAccount: n } =
|
|
10256
|
+
const A = window.app?.config, { onEvent: e } = J(), { selectedAccount: n } = se(), { accounts: r } = D(), a = au(n, r), i = n.member_is_managed_by_user || !n.member_is_managed_by_user && A.enable_renaming_home_accounts, [o, s] = g.useState(!1), [c, u] = g.useState(a[0]), l = a.filter(
|
|
10257
10257
|
(h) => i || n[h.name] || n[h.name] === 0
|
|
10258
10258
|
);
|
|
10259
10259
|
return /* @__PURE__ */ d(aA, { children: [
|
|
@@ -10302,14 +10302,14 @@ const Cn = ({
|
|
|
10302
10302
|
/* @__PURE__ */ t(e1, {})
|
|
10303
10303
|
] });
|
|
10304
10304
|
}, c1 = T(s1), l1 = ({ setTabValue: A }) => {
|
|
10305
|
-
const [e, n] = g.useState(!1), { selectedMember: r } =
|
|
10305
|
+
const [e, n] = g.useState(!1), { selectedMember: r } = se(), { accounts: a, connect: i } = D(), o = r.connection_status && Ba.includes(r.connection_status);
|
|
10306
10306
|
if (g.useEffect(() => {
|
|
10307
10307
|
o && A(1);
|
|
10308
10308
|
}, [o]), !o) return;
|
|
10309
10309
|
const s = yi(r, i);
|
|
10310
10310
|
return /* @__PURE__ */ d(aA, { children: [
|
|
10311
10311
|
/* @__PURE__ */ t(
|
|
10312
|
-
|
|
10312
|
+
de,
|
|
10313
10313
|
{
|
|
10314
10314
|
sx: {
|
|
10315
10315
|
mb: 16,
|
|
@@ -10358,7 +10358,7 @@ const Cn = ({
|
|
|
10358
10358
|
)
|
|
10359
10359
|
] });
|
|
10360
10360
|
}, d1 = T(l1), u1 = () => {
|
|
10361
|
-
const [A, e] = g.useState(""), { onEvent: n } = J(), { selectedAccount: r } =
|
|
10361
|
+
const [A, e] = g.useState(""), { onEvent: n } = J(), { selectedAccount: r } = se(), { accounts: a } = D(), { setFilter: i, sortedTransactions: o } = lA(), s = g.useMemo(() => o.find((c) => c.guid === A), [A]);
|
|
10362
10362
|
return g.useEffect(() => {
|
|
10363
10363
|
i({
|
|
10364
10364
|
dateRange: { start: Ho(zo(), 90), end: Bo() },
|
|
@@ -10417,7 +10417,7 @@ const Cn = ({
|
|
|
10417
10417
|
y: r.total
|
|
10418
10418
|
}))), or = (A, e) => {
|
|
10419
10419
|
const n = [];
|
|
10420
|
-
let r = pA(
|
|
10420
|
+
let r = pA(le(/* @__PURE__ */ new Date(), 5));
|
|
10421
10421
|
const a = /* @__PURE__ */ new Date();
|
|
10422
10422
|
for (; fA(r, a); )
|
|
10423
10423
|
n.push({
|
|
@@ -10455,7 +10455,7 @@ const Cn = ({
|
|
|
10455
10455
|
}
|
|
10456
10456
|
return s;
|
|
10457
10457
|
}, L1 = () => {
|
|
10458
|
-
const A = $A(), { selectedAccount: e } =
|
|
10458
|
+
const A = $A(), { selectedAccount: e } = se(), { monthlyCategoryTotals: n } = NA(), { trends: r } = D(), a = [A.palette.chart?.chart1, A.palette.chart?.chart2], i = w1(n, e.account_type), o = S1(i, e.account_type, r), s = [j.LOAN, j.MORTGAGE].includes(e.account_type);
|
|
10459
10459
|
return /* @__PURE__ */ t("div", { "data-testid": "TrendsChart", children: /* @__PURE__ */ t(
|
|
10460
10460
|
Fa,
|
|
10461
10461
|
{
|
|
@@ -10468,12 +10468,12 @@ const Cn = ({
|
|
|
10468
10468
|
}
|
|
10469
10469
|
) });
|
|
10470
10470
|
}, T1 = T(L1), b1 = ({ sx: A }) => {
|
|
10471
|
-
const { loadMonthlyCategoryTotals: e } = NA(), { isInitialized: n } = Un(), { selectedAccount: r } =
|
|
10471
|
+
const { loadMonthlyCategoryTotals: e } = NA(), { isInitialized: n } = Un(), { selectedAccount: r } = se(), [a, i] = g.useState(!1);
|
|
10472
10472
|
return g.useEffect(() => {
|
|
10473
10473
|
n && e([r]).finally(() => {
|
|
10474
10474
|
i(!0);
|
|
10475
10475
|
});
|
|
10476
|
-
}, [n, r]), !n || !a ? /* @__PURE__ */ t(
|
|
10476
|
+
}, [n, r]), !n || !a ? /* @__PURE__ */ t(ae, {}) : /* @__PURE__ */ d(
|
|
10477
10477
|
_A,
|
|
10478
10478
|
{
|
|
10479
10479
|
sx: {
|
|
@@ -10496,7 +10496,7 @@ const Cn = ({
|
|
|
10496
10496
|
}
|
|
10497
10497
|
);
|
|
10498
10498
|
}, I1 = T(b1), D1 = () => {
|
|
10499
|
-
const { institutions: A } = OA(), { selectedAccount: e } =
|
|
10499
|
+
const { institutions: A } = OA(), { selectedAccount: e } = se(), { accounts: n } = D(), { firstSubtitle: r, firstValue: a, hasAvailableBalance: i, secondSubtitle: o, secondValue: s } = vi(e, n), c = A.find(
|
|
10500
10500
|
(l) => l.guid === e?.institution_guid
|
|
10501
10501
|
), u = [
|
|
10502
10502
|
...Xn,
|
|
@@ -10506,7 +10506,7 @@ const Cn = ({
|
|
|
10506
10506
|
return /* @__PURE__ */ d(w, { p: 24, children: [
|
|
10507
10507
|
/* @__PURE__ */ d(w, { gap: 12, children: [
|
|
10508
10508
|
/* @__PURE__ */ t(
|
|
10509
|
-
|
|
10509
|
+
ge,
|
|
10510
10510
|
{
|
|
10511
10511
|
alt: n.institution_logo_alt,
|
|
10512
10512
|
institutionGuid: e.institution_guid || "",
|
|
@@ -10529,7 +10529,7 @@ const Cn = ({
|
|
|
10529
10529
|
u && /* @__PURE__ */ t(w, { children: /* @__PURE__ */ t(I1, {}) })
|
|
10530
10530
|
] });
|
|
10531
10531
|
}, O1 = T(D1), x1 = () => {
|
|
10532
|
-
const [A, e] = g.useState(""), { accounts: n } = D(), { selectedAccounts: r } = mA(), { setSelectedAccount: a, setSelectedMember: i } =
|
|
10532
|
+
const [A, e] = g.useState(""), { accounts: n } = D(), { selectedAccounts: r } = mA(), { setSelectedAccount: a, setSelectedMember: i } = se(), { members: o } = OA(), { onEvent: s } = J(), c = [...new Set(r.map((l) => l.account_type))], u = r.find((l) => A === l.guid);
|
|
10533
10533
|
return g.useEffect(() => {
|
|
10534
10534
|
if (u) {
|
|
10535
10535
|
a(u);
|
|
@@ -10675,7 +10675,7 @@ const Cn = ({
|
|
|
10675
10675
|
onBackClick: A,
|
|
10676
10676
|
sx: e,
|
|
10677
10677
|
title: c.title,
|
|
10678
|
-
children: a ? /* @__PURE__ */ t(
|
|
10678
|
+
children: a ? /* @__PURE__ */ t(ae, {}) : /* @__PURE__ */ d(aA, { children: [
|
|
10679
10679
|
/* @__PURE__ */ d(I, { sx: { px: h ? 24 : 12 }, children: [
|
|
10680
10680
|
l.length < 1 && /* @__PURE__ */ t(v, { display: "flex", justifyContent: "center", my: 24, children: c.no_accounts }),
|
|
10681
10681
|
/* @__PURE__ */ t(P1, {})
|
|
@@ -11596,7 +11596,7 @@ const ra = 5, X1 = 100, aa = 25, Q1 = (A) => {
|
|
|
11596
11596
|
transaction_total: i
|
|
11597
11597
|
} = A;
|
|
11598
11598
|
return /* @__PURE__ */ t(W, { children: /* @__PURE__ */ d(cA, { children: [
|
|
11599
|
-
/* @__PURE__ */ t(bA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ t(Ja, { color: n, percent: a, size: 40, children: /* @__PURE__ */ t(
|
|
11599
|
+
/* @__PURE__ */ t(bA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ t(Ja, { color: n, percent: a, size: 40, children: /* @__PURE__ */ t(ie, { categoryGuid: r.parent_guid, variant: "basic" }) }) }),
|
|
11600
11600
|
/* @__PURE__ */ t(
|
|
11601
11601
|
sA,
|
|
11602
11602
|
{
|
|
@@ -11634,8 +11634,8 @@ const ra = 5, X1 = 100, aa = 25, Q1 = (A) => {
|
|
|
11634
11634
|
};
|
|
11635
11635
|
return /* @__PURE__ */ d(w, { gap: 24, children: [
|
|
11636
11636
|
/* @__PURE__ */ t(_A, { sx: { mt: 24, mx: 24 }, children: /* @__PURE__ */ t(tt, { children: /* @__PURE__ */ d(w, { alignItems: "center", gap: 16, children: [
|
|
11637
|
-
/* @__PURE__ */ t(
|
|
11638
|
-
/* @__PURE__ */ t(
|
|
11637
|
+
/* @__PURE__ */ t(ie, { categoryGuid: A.category_guid, size: 56 }),
|
|
11638
|
+
/* @__PURE__ */ t(he, { children: `${Q(A.transaction_total, "0,0")} / ${Q(A.amount, "0,0")}` }),
|
|
11639
11639
|
/* @__PURE__ */ t(v, { bold: !0, variant: "XSmall", children: A.category.name }),
|
|
11640
11640
|
/* @__PURE__ */ t(qt, { data: s, height: 10 })
|
|
11641
11641
|
] }) }) }),
|
|
@@ -11681,7 +11681,7 @@ const ra = 5, X1 = 100, aa = 25, Q1 = (A) => {
|
|
|
11681
11681
|
transaction_total: u
|
|
11682
11682
|
} = A;
|
|
11683
11683
|
return /* @__PURE__ */ t(W, { children: /* @__PURE__ */ d(cA, { onClick: () => e?.(A), children: [
|
|
11684
|
-
/* @__PURE__ */ t(bA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ t(Ja, { color: r, percent: s, size: 40, children: /* @__PURE__ */ t(
|
|
11684
|
+
/* @__PURE__ */ t(bA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ t(Ja, { color: r, percent: s, size: 40, children: /* @__PURE__ */ t(ie, { categoryGuid: i, variant: "basic" }) }) }),
|
|
11685
11685
|
/* @__PURE__ */ t(
|
|
11686
11686
|
sA,
|
|
11687
11687
|
{
|
|
@@ -11795,7 +11795,7 @@ const ra = 5, X1 = 100, aa = 25, Q1 = (A) => {
|
|
|
11795
11795
|
sx: e,
|
|
11796
11796
|
title: a.budgets_title,
|
|
11797
11797
|
children: [
|
|
11798
|
-
(!i || !S) && /* @__PURE__ */ t(
|
|
11798
|
+
(!i || !S) && /* @__PURE__ */ t(ae, {}),
|
|
11799
11799
|
i && S && /* @__PURE__ */ d(
|
|
11800
11800
|
w,
|
|
11801
11801
|
{
|
|
@@ -11842,7 +11842,7 @@ const ra = 5, X1 = 100, aa = 25, Q1 = (A) => {
|
|
|
11842
11842
|
)
|
|
11843
11843
|
]
|
|
11844
11844
|
}
|
|
11845
|
-
) : /* @__PURE__ */ t(
|
|
11845
|
+
) : /* @__PURE__ */ t(ae, {});
|
|
11846
11846
|
});
|
|
11847
11847
|
var On = /* @__PURE__ */ ((A) => (A[A.Main = 0] = "Main", A[A.RightSide = 1] = "RightSide", A))(On || {});
|
|
11848
11848
|
const ch = () => {
|
|
@@ -11861,9 +11861,9 @@ const ch = () => {
|
|
|
11861
11861
|
},
|
|
11862
11862
|
title: a.account_filter.title
|
|
11863
11863
|
};
|
|
11864
|
-
return /* @__PURE__ */ t(
|
|
11864
|
+
return /* @__PURE__ */ t(de, { sx: { mb: r ? 24 : 0, p: 24 }, children: /* @__PURE__ */ d(w, { alignItems: "center", flexDirection: "row", justifyContent: "space-between", children: [
|
|
11865
11865
|
/* @__PURE__ */ d(w, { children: [
|
|
11866
|
-
/* @__PURE__ */ t(
|
|
11866
|
+
/* @__PURE__ */ t(he, { children: (() => {
|
|
11867
11867
|
const c = (/* @__PURE__ */ new Date()).getHours();
|
|
11868
11868
|
return c > 1 && c < 12 ? a.good_morning : c >= 12 && c < 18 ? a.good_afternoon : a.good_evening;
|
|
11869
11869
|
})() }),
|
|
@@ -11962,7 +11962,7 @@ const ch = () => {
|
|
|
11962
11962
|
zIndex: 10
|
|
11963
11963
|
},
|
|
11964
11964
|
children: /* @__PURE__ */ t(
|
|
11965
|
-
|
|
11965
|
+
ge,
|
|
11966
11966
|
{
|
|
11967
11967
|
alt: "Financial Institution Logo",
|
|
11968
11968
|
"data-ui-test": "mx-insights-sudd-full-feed-body-logo",
|
|
@@ -12006,7 +12006,7 @@ const ch = () => {
|
|
|
12006
12006
|
sx: { display: "flex", flexDirection: "row", gap: 8, justifyContent: "center" },
|
|
12007
12007
|
children: [
|
|
12008
12008
|
/* @__PURE__ */ t(
|
|
12009
|
-
|
|
12009
|
+
ge,
|
|
12010
12010
|
{
|
|
12011
12011
|
alt: "MX",
|
|
12012
12012
|
"data-ui-test": "mx-insights-sudd-mini-body-header-logo",
|
|
@@ -12483,7 +12483,7 @@ const ch = () => {
|
|
|
12483
12483
|
className: "mx-insights-sdd-account-image-container",
|
|
12484
12484
|
sx: { display: "flex", justifyContent: "center", width: "100%" },
|
|
12485
12485
|
children: /* @__PURE__ */ t(
|
|
12486
|
-
|
|
12486
|
+
ge,
|
|
12487
12487
|
{
|
|
12488
12488
|
alt: "Financial Institution Logo",
|
|
12489
12489
|
"data-ui-test": "mx-insights-sudd-full-feed-body-logo",
|
|
@@ -12614,7 +12614,7 @@ const ch = () => {
|
|
|
12614
12614
|
A.map((h, C) => /* @__PURE__ */ d(I, { children: [
|
|
12615
12615
|
/* @__PURE__ */ t(W, { children: /* @__PURE__ */ d(cA, { onClick: () => c(h), children: [
|
|
12616
12616
|
/* @__PURE__ */ t(bA, { children: /* @__PURE__ */ t(
|
|
12617
|
-
|
|
12617
|
+
ge,
|
|
12618
12618
|
{
|
|
12619
12619
|
alt: `${h.displayName} logo`,
|
|
12620
12620
|
institutionGuid: h.institution_guid || ""
|
|
@@ -12733,7 +12733,7 @@ const ch = () => {
|
|
|
12733
12733
|
)
|
|
12734
12734
|
] });
|
|
12735
12735
|
}, Ii = Ui(void 0), bh = ({ children: A }) => {
|
|
12736
|
-
const [e, n] =
|
|
12736
|
+
const [e, n] = ce({
|
|
12737
12737
|
isOpen: !1,
|
|
12738
12738
|
message: "",
|
|
12739
12739
|
severity: "success"
|
|
@@ -12859,7 +12859,7 @@ const Oi = ({
|
|
|
12859
12859
|
() => e.reduce((S, O) => ({ ...S, [O.name]: !1 }), {}),
|
|
12860
12860
|
[e]
|
|
12861
12861
|
), [u, l] = g.useState(c), { toastState: h, hideToast: C } = Di(), f = Ga(a);
|
|
12862
|
-
|
|
12862
|
+
ue(() => {
|
|
12863
12863
|
f && !a && l(c);
|
|
12864
12864
|
}, [f, a, c, l]);
|
|
12865
12865
|
const m = (S) => {
|
|
@@ -13105,7 +13105,7 @@ const Oi = ({
|
|
|
13105
13105
|
isUpdateError: a,
|
|
13106
13106
|
isUpdateLoading: i
|
|
13107
13107
|
} = e, [o, s, c] = Mh(n), { toastState: u, showToast: l, hideToast: h, setMessage: C } = Di(), [f, m] = g.useState(!1), [y, E] = g.useState(!1), [L, b] = g.useState(""), [S, O] = g.useState(""), N = Ga(i);
|
|
13108
|
-
|
|
13108
|
+
ue(() => {
|
|
13109
13109
|
N && !i && (a ? l(A.something_went_wrong, "error") : l(void 0, "success"));
|
|
13110
13110
|
}, [N, a]);
|
|
13111
13111
|
const x = () => {
|
|
@@ -13475,10 +13475,10 @@ const Lt = g.createContext(null), Gh = ({
|
|
|
13475
13475
|
store: n,
|
|
13476
13476
|
children: r
|
|
13477
13477
|
}) => /* @__PURE__ */ t(Lt.Provider, { value: { onEvent: A, onPageview: e, store: n, children: r }, children: r }), Xh = ({ beat: A }) => {
|
|
13478
|
-
const [e, n] =
|
|
13479
|
-
return
|
|
13478
|
+
const [e, n] = ce(p.UNCATEGORIZED);
|
|
13479
|
+
return ue(() => {
|
|
13480
13480
|
A.primary_category_guid ? n(A.primary_category_guid) : A.category_guids?.length && n(A.category_guids[0]);
|
|
13481
|
-
}, []), /* @__PURE__ */ t(
|
|
13481
|
+
}, []), /* @__PURE__ */ t(ie, { categoryGuid: e, size: 16, sx: { minWidth: 16 } });
|
|
13482
13482
|
}, Qh = ({ beat: A }) => {
|
|
13483
13483
|
const e = DA(), n = Fh(e);
|
|
13484
13484
|
return /* @__PURE__ */ t(
|
|
@@ -14370,12 +14370,12 @@ const Lt = g.createContext(null), Gh = ({
|
|
|
14370
14370
|
const f = window.app?.config.client_guid, { ref: m, inView: y } = kn({
|
|
14371
14371
|
threshold: zi
|
|
14372
14372
|
}), { cardsCopy: E } = Fe(), { onEvent: L } = Tt(), { updateBeat: b } = Zh();
|
|
14373
|
-
|
|
14373
|
+
ue(() => {
|
|
14374
14374
|
y && (n.has_been_displayed ? L(Pi(n.template)) : (b({
|
|
14375
14375
|
...n,
|
|
14376
14376
|
has_been_displayed: !0
|
|
14377
14377
|
}), L(Ni(n.template))));
|
|
14378
|
-
}, [y]),
|
|
14378
|
+
}, [y]), ue(() => {
|
|
14379
14379
|
u?.capture && y && n && f && u.capture("micro_widget_viewed_insight", {
|
|
14380
14380
|
beat_guid: n.guid,
|
|
14381
14381
|
insight_template: n.template,
|
|
@@ -14845,7 +14845,7 @@ const Lt = g.createContext(null), Gh = ({
|
|
|
14845
14845
|
variant: S,
|
|
14846
14846
|
widthOverrides: O
|
|
14847
14847
|
}) => {
|
|
14848
|
-
const [N, x] =
|
|
14848
|
+
const [N, x] = ce("STANDARD"), [B, K] = ce(!1), _ = Rs([c], pe), k = Hs([u], pe);
|
|
14849
14849
|
g.useEffect(() => {
|
|
14850
14850
|
pe.isInitialized || pe.initialize(a, E, o);
|
|
14851
14851
|
}, [a, E, o, pe.isInitialized]), g.useEffect(() => {
|
|
@@ -14976,9 +14976,9 @@ const Lt = g.createContext(null), Gh = ({
|
|
|
14976
14976
|
const u = DA(), l = window.app?.config.client_guid, { ref: h, inView: C } = kn({
|
|
14977
14977
|
threshold: zi
|
|
14978
14978
|
}), { cardsCopy: f } = Fe(), { onEvent: m } = Tt();
|
|
14979
|
-
|
|
14979
|
+
ue(() => {
|
|
14980
14980
|
C && m(Mi.ON_VIEW_MORE_VIEWED);
|
|
14981
|
-
}, [C]),
|
|
14981
|
+
}, [C]), ue(() => {
|
|
14982
14982
|
i?.capture && C && l && i.capture("micro_widget_viewed_insight", {
|
|
14983
14983
|
insight_template: "read_more_card",
|
|
14984
14984
|
$groups: { client: l }
|
|
@@ -15163,7 +15163,7 @@ const Lt = g.createContext(null), Gh = ({
|
|
|
15163
15163
|
sx: s === "mini" ? { gap: 0, mb: 0 } : { gap: { xs: 4, xl: 8 }, mb: { xs: 4, xl: 8 } },
|
|
15164
15164
|
children: [
|
|
15165
15165
|
/* @__PURE__ */ t(
|
|
15166
|
-
|
|
15166
|
+
ie,
|
|
15167
15167
|
{
|
|
15168
15168
|
categoryGuid: e ? p.INCOME : h.guid,
|
|
15169
15169
|
size: s === "mini" ? 24 : m,
|
|
@@ -15569,7 +15569,7 @@ const Lt = g.createContext(null), Gh = ({
|
|
|
15569
15569
|
const l = (h) => {
|
|
15570
15570
|
i(h[0], h[1]);
|
|
15571
15571
|
};
|
|
15572
|
-
return !a || !c ? /* @__PURE__ */ t(
|
|
15572
|
+
return !a || !c ? /* @__PURE__ */ t(ae, {}) : /* @__PURE__ */ t(
|
|
15573
15573
|
Me,
|
|
15574
15574
|
{
|
|
15575
15575
|
accountOptions: n,
|
|
@@ -15592,7 +15592,7 @@ const Lt = g.createContext(null), Gh = ({
|
|
|
15592
15592
|
{
|
|
15593
15593
|
"aria-label": z(e.category_icon_label_aria, n),
|
|
15594
15594
|
role: "img",
|
|
15595
|
-
children: /* @__PURE__ */ t(
|
|
15595
|
+
children: /* @__PURE__ */ t(ie, { categoryGuid: A })
|
|
15596
15596
|
}
|
|
15597
15597
|
),
|
|
15598
15598
|
/* @__PURE__ */ t(v, { sx: { ml: 12, pb: 6 }, variant: "Small", children: n })
|
|
@@ -15667,7 +15667,7 @@ const Lt = g.createContext(null), Gh = ({
|
|
|
15667
15667
|
) });
|
|
15668
15668
|
}, Ng = ({ onBackClick: A, sx: e }) => {
|
|
15669
15669
|
const n = $A(), { onEvent: r } = J(), { isDesktop: a, isTablet: i, isMobile: o } = kA(), { accounts: s } = OA(), { categories: c, loadMonthlyCategoryTotals: u, monthlyCategoryTotals: l } = NA(), { isInitialized: h, selectedAccounts: C, setSelectedAccounts: f } = mA(), { trends: m } = D(), y = n.palette.mode === "dark", [E, L] = g.useState(!1), [b, S] = g.useState("Chart"), [O, N] = g.useState({
|
|
15670
|
-
start: pA(
|
|
15670
|
+
start: pA(le(/* @__PURE__ */ new Date(), 5)),
|
|
15671
15671
|
end: TA(/* @__PURE__ */ new Date())
|
|
15672
15672
|
}), x = (M, Y) => {
|
|
15673
15673
|
S(Y ?? b), r(F.TRENDS_CLICK_TOGGLE);
|
|
@@ -15699,7 +15699,7 @@ const Lt = g.createContext(null), Gh = ({
|
|
|
15699
15699
|
() => ta(B.filter(ir)),
|
|
15700
15700
|
[c, l]
|
|
15701
15701
|
);
|
|
15702
|
-
return !h || !E ? /* @__PURE__ */ t(
|
|
15702
|
+
return !h || !E ? /* @__PURE__ */ t(ae, {}) : /* @__PURE__ */ t(
|
|
15703
15703
|
Me,
|
|
15704
15704
|
{
|
|
15705
15705
|
accountOptions: s,
|
|
@@ -15841,7 +15841,7 @@ const Lt = g.createContext(null), Gh = ({
|
|
|
15841
15841
|
const e = [], n = A.filter(
|
|
15842
15842
|
(i) => i.top_level_category_guid !== p.INCOME && i.top_level_category_guid !== p.TRANSFER && i.total > 0
|
|
15843
15843
|
);
|
|
15844
|
-
let r = pA(
|
|
15844
|
+
let r = pA(le(/* @__PURE__ */ new Date(), 5));
|
|
15845
15845
|
const a = TA(/* @__PURE__ */ new Date());
|
|
15846
15846
|
for (; fA(r, a); )
|
|
15847
15847
|
e.push({
|
|
@@ -15869,7 +15869,7 @@ const Lt = g.createContext(null), Gh = ({
|
|
|
15869
15869
|
r && n(i).finally(() => {
|
|
15870
15870
|
s(!0);
|
|
15871
15871
|
});
|
|
15872
|
-
}, [r, i]), !r || !o ? /* @__PURE__ */ t(
|
|
15872
|
+
}, [r, i]), !r || !o ? /* @__PURE__ */ t(ae, {}) : /* @__PURE__ */ t(
|
|
15873
15873
|
Xe,
|
|
15874
15874
|
{
|
|
15875
15875
|
onPrimaryCtaClick: A,
|
|
@@ -15958,7 +15958,7 @@ export {
|
|
|
15958
15958
|
L8 as LOADING_STATUS,
|
|
15959
15959
|
Fa as LineChart,
|
|
15960
15960
|
yc as ListItemWrapper,
|
|
15961
|
-
|
|
15961
|
+
ae as Loader,
|
|
15962
15962
|
T8 as LocalizedCopyApi,
|
|
15963
15963
|
A7 as ManageAccountsDrawer,
|
|
15964
15964
|
Ci as ManageIncome,
|