@mx-cartographer/experiences 8.0.0-alpha.bb4 → 8.0.0-alpha.sms1
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/{Account-B4CDD-zq.mjs → Account-BDXA6PWh.mjs} +1 -1
- package/dist/AccountDetailsContent-CUztd3-b.mjs +683 -0
- package/dist/{AccountDetailsHeader-DRjFuyJT.mjs → AccountDetailsHeader-i3KFhNuo.mjs} +18 -18
- package/dist/{AccountFields-Cl4KHoSj.mjs → AccountFields-QZspYAji.mjs} +10 -12
- package/dist/AccountListItem-DX5upmCS.mjs +90 -0
- package/dist/{AccountStore-HbVblv86.mjs → AccountStore-BcnDpyLL.mjs} +3 -3
- package/dist/{Accounts-CRUehOiy.mjs → Accounts-DXfZotRC.mjs} +1 -1
- package/dist/{BudgetUtil-Jv8h9H9l.mjs → BudgetUtil-Df2nII9u.mjs} +31 -31
- package/dist/{CashflowStore-CA190BPF.mjs → CashflowStore-D9Dpuz7X.mjs} +25 -18
- package/dist/{Category-Ccoew_sA.mjs → Category-CevNQ03n.mjs} +2 -2
- package/dist/{CategorySelectorDrawer-Dl006GKy.mjs → CategorySelectorDrawer-DqJK_rrL.mjs} +27 -27
- package/dist/{CategoryStore-MUwRWH9e.mjs → CategoryStore-DTgyAMM7.mjs} +2 -2
- package/dist/{CategoryUtil-DfVKKkRf.mjs → CategoryUtil-C5cR-nfQ.mjs} +4 -4
- package/dist/{ConnectDrawer-DVp54lUH.mjs → ConnectDrawer-BIbTqYOH.mjs} +47 -48
- package/dist/{ConnectionsDrawer-Dsc04-4Z.mjs → ConnectionsDrawer-BFfY3_zB.mjs} +2 -2
- package/dist/CurrencyInput-BFKcs-_K.mjs +85 -0
- package/dist/{DateUtil-CDPZw_-m.mjs → DateUtil-CBdcsyuk.mjs} +1 -1
- package/dist/{DebtsStore-pL63fmdT.mjs → DebtsStore-BbJB0nmu.mjs} +3 -3
- package/dist/{Dialog-CDV0kKxj.mjs → Dialog-BPTr3qHE.mjs} +24 -24
- package/dist/{Drawer-BF40nbsH.mjs → Drawer-BEtCk82g.mjs} +17 -17
- package/dist/{ExportCsvAction-QhQK4_FU.mjs → ExportCsvAction-DzTrtPzk.mjs} +3 -3
- package/dist/{FinstrongStore-BGf36b0z.mjs → FinstrongStore-BIrX0Xg2.mjs} +56 -56
- package/dist/{GoalStore-C1-w3Y1E.mjs → GoalStore-DpWY3gVb.mjs} +4 -4
- package/dist/HeaderCell-DjuifqHJ.mjs +6 -0
- package/dist/{Help-DBfsTkAi.mjs → Help-BnPXM_N2.mjs} +145 -124
- package/dist/{Help-c-zHlDbv.mjs → Help-DhcC-C05.mjs} +8 -8
- package/dist/{IconBacking-DgT8DCeh.mjs → IconBacking-B9oC6uL2.mjs} +11 -11
- package/dist/{LineChart-C1PxNf7P.mjs → LineChart-bc1D9xBE.mjs} +78 -78
- package/dist/{ListItemAction-BNCWQAN_.mjs → ListItemAction-uobBrm_a.mjs} +1 -1
- package/dist/Loader-DUaFpDGv.mjs +24 -0
- package/dist/{ManageIncome-8EsStyIQ.mjs → ManageIncome-NpXHhO1n.mjs} +46 -46
- package/dist/MicroWidgetContainer-DEiRnYVa.mjs +45 -0
- package/dist/MiniWidgetContainer-CmXpTylX.mjs +56 -0
- package/dist/{NetWorthStore-Bti6u-d9.mjs → NetWorthStore-lsuhEpn6.mjs} +4 -4
- package/dist/{NotificationSettings-B74rQVYC.mjs → NotificationSettings-CNmJWVeI.mjs} +77 -77
- package/dist/{OriginalBalanceAction-2Y_3U_mg.mjs → OriginalBalanceAction-DK8_LkPz.mjs} +8 -8
- package/dist/{RecurringSettings-DAncu--R.mjs → RecurringSettings-CqZh1SQa.mjs} +3 -3
- package/dist/{RecurringTransactions-CxcSL1dY.mjs → RecurringTransactions-BKcYmpv3.mjs} +77 -77
- package/dist/{RecurringTransactionsStore-CNFxyGB6.mjs → RecurringTransactionsStore-Ni5tSQIO.mjs} +1 -1
- package/dist/{ResponsiveButton-Cn6-R7ue.mjs → ResponsiveButton-DZFp78fJ.mjs} +10 -10
- package/dist/SearchBox-B2_zLv8-.mjs +42 -0
- package/dist/{SettingsStore-BASMQSIp.mjs → SettingsStore-krIRNwHK.mjs} +1 -1
- package/dist/{SingleSegmentDonut-7Uy6VEld.mjs → SingleSegmentDonut-BgbLgwHi.mjs} +6 -6
- package/dist/{SpendingData-DPQ96k3x.mjs → SpendingData-BuJ03S9d.mjs} +4 -4
- package/dist/{SpendingLegend-6FqtMcBV.mjs → SpendingLegend-CjX-hX2O.mjs} +12 -12
- package/dist/{StatusBar-CPfSXe80.mjs → StatusBar-BK_uYHAB.mjs} +6 -6
- package/dist/{TabContentContainer-CnMXkVqr.mjs → TabContentContainer-j01JYR_7.mjs} +8 -8
- package/dist/TransactionDetails-5M2vfr59.mjs +1379 -0
- package/dist/{TransactionStore-DbwAutwC.mjs → TransactionStore-D-Q3BU9Z.mjs} +58 -41
- package/dist/{TrendsStore-_mRaFUdf.mjs → TrendsStore-BW9FGQeE.mjs} +37 -37
- package/dist/{User-BklmOUSd.mjs → User-wXzDI4M8.mjs} +107 -107
- package/dist/{ViewMoreMicroCard-DAkyNRlD.mjs → ViewMoreMicroCard-C0832BMe.mjs} +233 -231
- package/dist/{WidgetContainer-CDh9fjpR.mjs → WidgetContainer-BhQ1Kx2z.mjs} +36 -36
- package/dist/accounts/index.es.js +94 -94
- package/dist/analytics/index.es.js +27 -27
- package/dist/budgets/index.es.js +251 -250
- package/dist/cashflow/index.es.js +158 -157
- package/dist/categories/index.es.js +2 -2
- package/dist/common/components/Loader.d.ts +2 -1
- package/dist/common/components/accountfilter/AccountFilterOptions.d.ts +1 -1
- package/dist/common/components/barchart/Bar.d.ts +25 -0
- package/dist/common/components/barchart/BarChart.d.ts +34 -0
- package/dist/common/components/barchart/BarColumn.d.ts +37 -0
- package/dist/common/components/barchart/Legend.d.ts +8 -0
- package/dist/common/components/barchart/Util.d.ts +42 -0
- package/dist/common/components/barchart/index.d.ts +1 -0
- package/dist/common/components/charts/linechart/CustomMark.d.ts +1 -1
- package/dist/common/components/index.d.ts +1 -0
- package/dist/common/index.es.js +660 -395
- package/dist/common/utils/Theme.d.ts +3 -1
- package/dist/dashboard/index.es.js +21 -21
- package/dist/debts/components/DebtsChart.d.ts +2 -1
- package/dist/debts/index.es.js +440 -440
- package/dist/{exportTransactionsToCSV-BgV_wTLT.mjs → exportTransactionsToCSV-Cz2t0lmA.mjs} +3 -3
- package/dist/finstrong/index.es.js +118 -118
- package/dist/goals/index.es.js +380 -386
- package/dist/help/components/content/BottomImageContent.d.ts +1 -1
- package/dist/help/components/content/LeftImageContent.d.ts +1 -1
- package/dist/help/components/content/RightImageContent.d.ts +1 -1
- package/dist/help/components/content/TopImageContent.d.ts +1 -1
- package/dist/help/index.es.js +6 -6
- package/dist/investments/index.es.js +279 -278
- package/dist/merchants/index.es.js +7 -7
- package/dist/microinsights/index.es.js +1 -1
- package/dist/networth/components/NetWorthChange.d.ts +1 -3
- package/dist/networth/index.es.js +185 -191
- package/dist/notifications/index.es.js +30 -30
- package/dist/recurringtransactions/index.es.js +85 -85
- package/dist/settings/index.es.js +270 -270
- package/dist/spending/index.es.js +44 -44
- package/dist/transactions/components/shared/transactionlist/DateRow.d.ts +7 -0
- package/dist/transactions/index.es.js +169 -168
- package/dist/trends/index.es.js +318 -317
- package/dist/{useAccountDisplayName-CcIp09Xc.mjs → useAccountDisplayName-CFNF8766.mjs} +1 -1
- package/dist/{useCombineEvents-kNzLTWCp.mjs → useCombineEvents-CRwX-qWE.mjs} +2 -2
- package/dist/{useScreenSize-B5afALev.mjs → useScreenSize-B6JyS_Lj.mjs} +1 -1
- package/package.json +50 -45
- package/dist/AccountDetailsContent-adZTkM52.mjs +0 -683
- package/dist/AccountListItem-wgmlex-_.mjs +0 -90
- package/dist/CurrencyInput-D1cjbdCI.mjs +0 -85
- package/dist/HeaderCell-P8w6CmfO.mjs +0 -6
- package/dist/Loader-Ckqi9Rx6.mjs +0 -21
- package/dist/MicroWidgetContainer-BGpNl5ZS.mjs +0 -45
- package/dist/MiniWidgetContainer-CKzf_Ira.mjs +0 -56
- package/dist/SearchBox-B7km148n.mjs +0 -39
- package/dist/TransactionDetails-Bn0qY5Hw.mjs +0 -1336
package/dist/trends/index.es.js
CHANGED
|
@@ -1,89 +1,90 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import c, { useRef as
|
|
1
|
+
import { jsxs as C, jsx as e, Fragment as dt } from "react/jsx-runtime";
|
|
2
|
+
import c, { useRef as ut, useState as ht, useEffect as gt } from "react";
|
|
3
3
|
import { observer as R } from "mobx-react-lite";
|
|
4
|
-
import { CategoryIcon as
|
|
4
|
+
import { CategoryIcon as ve, Text as F, Icon as Se, P as me, H3 as Pe, ChevronRightIcon as mt } from "@mxenabled/mxui";
|
|
5
5
|
import W from "@mui/material/Box";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { addSeconds as
|
|
6
|
+
import b from "@mui/material/Stack";
|
|
7
|
+
import be from "@mui/material/Button";
|
|
8
|
+
import { addSeconds as $e } from "date-fns/addSeconds";
|
|
9
9
|
import { differenceInCalendarMonths as Ae } from "date-fns/differenceInCalendarMonths";
|
|
10
|
-
import { useTheme as
|
|
11
|
-
import { LineChart as
|
|
12
|
-
import { u as J } from "../useScreenSize-
|
|
13
|
-
import { u as
|
|
14
|
-
import
|
|
15
|
-
import
|
|
10
|
+
import { useTheme as we } from "@mui/material/styles";
|
|
11
|
+
import { LineChart as pt } from "@mui/x-charts";
|
|
12
|
+
import { u as J } from "../useScreenSize-B6JyS_Lj.mjs";
|
|
13
|
+
import { u as ft } from "../useDimensions-27p2evRx.mjs";
|
|
14
|
+
import Ct from "@mui/material/Card";
|
|
15
|
+
import yt from "@mui/material/CardContent";
|
|
16
16
|
import Re from "@mui/material/Divider";
|
|
17
17
|
import We from "@mui/material/Grid";
|
|
18
|
-
import { u as O, m as Y, g as P, b as
|
|
19
|
-
import { b as
|
|
20
|
-
import { C as
|
|
21
|
-
import { useTheme as
|
|
22
|
-
import { f as Q, a as
|
|
23
|
-
import {
|
|
24
|
-
import { f as oe, a as
|
|
25
|
-
import { a as
|
|
26
|
-
import { T as
|
|
27
|
-
import { i as
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import { DataGridPro as
|
|
31
|
-
import { H as Ge } from "../HeaderCell-
|
|
32
|
-
import { T as V, b as
|
|
33
|
-
import { A as w, W as Ue } from "../WidgetContainer-
|
|
34
|
-
import { a as Xe, T as Ze } from "../TransactionDetails-
|
|
35
|
-
import { D as ke } from "../Drawer-
|
|
36
|
-
import { L as
|
|
37
|
-
import { L as Ne } from "../LineChart-
|
|
38
|
-
import { M as
|
|
39
|
-
import { subMonths as
|
|
40
|
-
import { TrendingUp as
|
|
41
|
-
import { M as
|
|
42
|
-
import
|
|
43
|
-
import
|
|
44
|
-
import
|
|
45
|
-
import
|
|
46
|
-
import
|
|
47
|
-
import
|
|
48
|
-
import
|
|
49
|
-
import
|
|
50
|
-
import {
|
|
51
|
-
import {
|
|
52
|
-
import {
|
|
53
|
-
import {
|
|
54
|
-
|
|
18
|
+
import { u as O, m as Y, g as P, b as fe, h as De, d as Le, w as Ce, q as Fe, f as He, n as _t, a as Tt } from "../hooks-C41HAxM5.mjs";
|
|
19
|
+
import { b as ze } from "../Localization-2MODESHW.mjs";
|
|
20
|
+
import { C as xe } from "../CurrencyText-Dr0EZ7bp.mjs";
|
|
21
|
+
import { useTheme as St, Card as bt, CardContent as xt, Box as vt, Stack as wt } from "@mui/material";
|
|
22
|
+
import { f as Q, a as $ } from "../Dialog-BPTr3qHE.mjs";
|
|
23
|
+
import { C as Me, c as Dt } from "../Category-CevNQ03n.mjs";
|
|
24
|
+
import { f as oe, a as Lt } from "../NumberFormatting-DjTD0t3W.mjs";
|
|
25
|
+
import { a as Et, g as It, L as Ke } from "../TrendsStore-BW9FGQeE.mjs";
|
|
26
|
+
import { T as Fn } from "../TrendsStore-BW9FGQeE.mjs";
|
|
27
|
+
import { i as Mt, c as At, d as Rt, e as kt, f as Ht, h as Nt, b as je, g as Ye, j as Oe } from "../SpendingData-BuJ03S9d.mjs";
|
|
28
|
+
import Wt from "@mui/material/ToggleButton";
|
|
29
|
+
import Ot from "@mui/material/ToggleButtonGroup";
|
|
30
|
+
import { DataGridPro as Gt } from "@mui/x-data-grid-pro";
|
|
31
|
+
import { H as Ge } from "../HeaderCell-DjuifqHJ.mjs";
|
|
32
|
+
import { T as V, b as Bt } from "../ViewMoreMicroCard-C0832BMe.mjs";
|
|
33
|
+
import { A as w, W as Ue } from "../WidgetContainer-BhQ1Kx2z.mjs";
|
|
34
|
+
import { a as Xe, T as Ze } from "../TransactionDetails-5M2vfr59.mjs";
|
|
35
|
+
import { D as ke } from "../Drawer-BEtCk82g.mjs";
|
|
36
|
+
import { L as pe } from "../Loader-DUaFpDGv.mjs";
|
|
37
|
+
import { L as Ne } from "../LineChart-bc1D9xBE.mjs";
|
|
38
|
+
import { M as Vt } from "../MiniWidgetContainer-CmXpTylX.mjs";
|
|
39
|
+
import { subMonths as Pt } from "date-fns";
|
|
40
|
+
import { TrendingUp as $t, TrendingDown as Ft, MultilineChart as zt, ExpandLess as Kt, ExpandMore as jt } from "@mxenabled/mx-icons";
|
|
41
|
+
import { M as Yt } from "../MicroWidgetContainer-DEiRnYVa.mjs";
|
|
42
|
+
import Ut from "@mui/material/Collapse";
|
|
43
|
+
import Xt from "@mui/material/List";
|
|
44
|
+
import Zt from "@mui/material/ListItem";
|
|
45
|
+
import qt from "@mui/material/ListItemButton";
|
|
46
|
+
import Qt from "@mui/material/ListItemIcon";
|
|
47
|
+
import Jt from "@mui/material/ListItemText";
|
|
48
|
+
import qe from "@mui/material/styles/useTheme";
|
|
49
|
+
import eo from "@mui/material/Paper";
|
|
50
|
+
import { b as to } from "../CategoryUtil-C5cR-nfQ.mjs";
|
|
51
|
+
import { E as oo } from "../ExportCsvAction-DzTrtPzk.mjs";
|
|
52
|
+
import { u as no } from "../useInsightsEnabled-CNjP5cfR.mjs";
|
|
53
|
+
import { E as so } from "../EmptyState-DoxNUae-.mjs";
|
|
54
|
+
import { l as ao } from "../ConnectDrawer-BIbTqYOH.mjs";
|
|
55
|
+
const Qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
55
56
|
const { categories: t } = O(), { getCategoryName: n } = Y(), s = n(o);
|
|
56
|
-
return /* @__PURE__ */
|
|
57
|
+
return /* @__PURE__ */ C(b, { alignItems: "center", direction: "column", gap: "8", justifyContent: "center", mb: 4, children: [
|
|
57
58
|
/* @__PURE__ */ e(
|
|
58
59
|
W,
|
|
59
60
|
{
|
|
60
|
-
"aria-label":
|
|
61
|
+
"aria-label": ze(t.category_icon_label_aria, s),
|
|
61
62
|
mb: 4,
|
|
62
63
|
role: "img",
|
|
63
|
-
children: /* @__PURE__ */ e(
|
|
64
|
+
children: /* @__PURE__ */ e(ve, { categoryGuid: a })
|
|
64
65
|
}
|
|
65
66
|
),
|
|
66
|
-
/* @__PURE__ */ e(
|
|
67
|
+
/* @__PURE__ */ e(F, { variant: "Body", children: s })
|
|
67
68
|
] });
|
|
68
|
-
},
|
|
69
|
+
}, ro = ({
|
|
69
70
|
categoryGuids: { guid: o, topLevelGuid: a },
|
|
70
71
|
hoveredAreaData: t,
|
|
71
72
|
cursorPosition: n,
|
|
72
73
|
chartContainerRef: s
|
|
73
74
|
}) => {
|
|
74
|
-
const l =
|
|
75
|
-
if (
|
|
75
|
+
const l = we(), m = ut(null), [h, i] = ht({ x: n.x, y: n.y });
|
|
76
|
+
if (gt(() => {
|
|
76
77
|
(() => {
|
|
77
78
|
const p = m.current, _ = s.current;
|
|
78
79
|
if (!p || !_) return;
|
|
79
|
-
const u = p.getBoundingClientRect(),
|
|
80
|
-
let
|
|
81
|
-
|
|
80
|
+
const u = p.getBoundingClientRect(), y = _.getBoundingClientRect();
|
|
81
|
+
let S = n.x, g = n.y;
|
|
82
|
+
S + u.width * 2 > y.right ? S = n.x - u.width : S - u.width < y.left && (S = n.x), g + u.height * 2 > y.bottom && (g = n.y - u.height), i({ x: S, y: g });
|
|
82
83
|
})();
|
|
83
84
|
}, [n, s]), !t) return null;
|
|
84
85
|
const d = t.reduce((f, p) => f + p.y, 0);
|
|
85
86
|
return /* @__PURE__ */ e(
|
|
86
|
-
|
|
87
|
+
Ct,
|
|
87
88
|
{
|
|
88
89
|
ref: m,
|
|
89
90
|
sx: {
|
|
@@ -93,24 +94,24 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
93
94
|
width: 250,
|
|
94
95
|
pointerEvents: "none"
|
|
95
96
|
},
|
|
96
|
-
children: /* @__PURE__ */
|
|
97
|
-
/* @__PURE__ */
|
|
98
|
-
/* @__PURE__ */ e(
|
|
99
|
-
/* @__PURE__ */ e(
|
|
100
|
-
/* @__PURE__ */ e(
|
|
97
|
+
children: /* @__PURE__ */ C(yt, { children: [
|
|
98
|
+
/* @__PURE__ */ C(W, { alignItems: "center", display: "flex", flexDirection: "column", children: [
|
|
99
|
+
/* @__PURE__ */ e(Qe, { categoryGuid: o, topLevelCategoryGuid: a }),
|
|
100
|
+
/* @__PURE__ */ e(F, { variant: "Small", children: `${t.length}-month total` }),
|
|
101
|
+
/* @__PURE__ */ e(xe, { amount: d, bold: !0, formatString: "0,0", variant: "body2" })
|
|
101
102
|
] }),
|
|
102
103
|
/* @__PURE__ */ e(Re, { sx: { my: 16, width: "100%" } }),
|
|
103
|
-
/* @__PURE__ */ e(We, { container: !0, children: t.map((f, p) => /* @__PURE__ */
|
|
104
|
+
/* @__PURE__ */ e(We, { container: !0, children: t.map((f, p) => /* @__PURE__ */ C(c.Fragment, { children: [
|
|
104
105
|
p > 0 && p % 3 === 0 && /* @__PURE__ */ e(Re, { sx: { my: 16, width: "100%" } }),
|
|
105
|
-
/* @__PURE__ */ e(We, {
|
|
106
|
-
/* @__PURE__ */ e(
|
|
106
|
+
/* @__PURE__ */ e(We, { item: !0, xs: 4, children: /* @__PURE__ */ C(W, { alignItems: "center", display: "flex", flexDirection: "column", children: [
|
|
107
|
+
/* @__PURE__ */ e(F, { color: l.palette.text.secondary, variant: "XSmall", children: f.x }),
|
|
107
108
|
/* @__PURE__ */ e(
|
|
108
|
-
|
|
109
|
+
xe,
|
|
109
110
|
{
|
|
110
111
|
amount: f.y,
|
|
111
112
|
bold: !0,
|
|
112
113
|
formatString: "0,0",
|
|
113
|
-
variant: "
|
|
114
|
+
variant: "Body"
|
|
114
115
|
}
|
|
115
116
|
)
|
|
116
117
|
] }) })
|
|
@@ -118,19 +119,19 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
118
119
|
] })
|
|
119
120
|
}
|
|
120
121
|
);
|
|
121
|
-
},
|
|
122
|
+
}, io = R(ro), co = ({
|
|
122
123
|
categoryGuids: { guid: o, topLevelGuid: a },
|
|
123
124
|
itemData: { dataIndex: t },
|
|
124
125
|
series: n,
|
|
125
126
|
xData: s
|
|
126
127
|
}) => {
|
|
127
|
-
const l =
|
|
128
|
-
return m === void 0 || !h ? null : /* @__PURE__ */ e(
|
|
129
|
-
/* @__PURE__ */ e(
|
|
130
|
-
/* @__PURE__ */ e(
|
|
131
|
-
/* @__PURE__ */ e(
|
|
128
|
+
const l = St(), m = n.data[t], h = s[t];
|
|
129
|
+
return m === void 0 || !h ? null : /* @__PURE__ */ e(bt, { sx: { pt: 4, px: 8 }, children: /* @__PURE__ */ e(xt, { children: /* @__PURE__ */ C(vt, { alignItems: "center", display: "flex", flexDirection: "column", children: [
|
|
130
|
+
/* @__PURE__ */ e(Qe, { categoryGuid: o, topLevelCategoryGuid: a }),
|
|
131
|
+
/* @__PURE__ */ e(F, { color: l.palette.text.secondary, variant: "Small", children: Q(h, $.MONTH_SHORT_YEAR) }),
|
|
132
|
+
/* @__PURE__ */ e(xe, { amount: String(m), bold: !0, formatString: "0,0", variant: "Body" })
|
|
132
133
|
] }) }) });
|
|
133
|
-
},
|
|
134
|
+
}, lo = ({
|
|
134
135
|
sx: o,
|
|
135
136
|
categoryGuids: a,
|
|
136
137
|
hoveredLegend: t,
|
|
@@ -140,7 +141,7 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
140
141
|
}) => {
|
|
141
142
|
const { isMobile: m } = J(), { getCategoryName: h } = Y();
|
|
142
143
|
return /* @__PURE__ */ e(
|
|
143
|
-
|
|
144
|
+
b,
|
|
144
145
|
{
|
|
145
146
|
direction: "row",
|
|
146
147
|
flexWrap: "wrap",
|
|
@@ -149,9 +150,9 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
149
150
|
ref: n,
|
|
150
151
|
sx: o,
|
|
151
152
|
children: a.map(({ guid: i, top_level_guid: d }) => {
|
|
152
|
-
const f = t === i, p = Me[i], _ = Me[d], u = p ?? _ ?? Me.default,
|
|
153
|
-
return /* @__PURE__ */
|
|
154
|
-
|
|
153
|
+
const f = t === i, p = Me[i], _ = Me[d], u = p ?? _ ?? Me.default, y = u + "33";
|
|
154
|
+
return /* @__PURE__ */ C(
|
|
155
|
+
be,
|
|
155
156
|
{
|
|
156
157
|
onClick: () => l(i),
|
|
157
158
|
onMouseEnter: () => s(i),
|
|
@@ -176,11 +177,11 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
176
177
|
height: 16,
|
|
177
178
|
marginRight: m ? 5 : 10,
|
|
178
179
|
borderRadius: "2px",
|
|
179
|
-
backgroundColor: t ? f ? u :
|
|
180
|
+
backgroundColor: t ? f ? u : y : u
|
|
180
181
|
}
|
|
181
182
|
}
|
|
182
183
|
),
|
|
183
|
-
/* @__PURE__ */ e(
|
|
184
|
+
/* @__PURE__ */ e(F, { variant: "Body", children: h(i) })
|
|
184
185
|
]
|
|
185
186
|
},
|
|
186
187
|
i
|
|
@@ -188,7 +189,7 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
188
189
|
})
|
|
189
190
|
}
|
|
190
191
|
);
|
|
191
|
-
},
|
|
192
|
+
}, uo = ({
|
|
192
193
|
onHoverArea: o,
|
|
193
194
|
onHoverPoint: a,
|
|
194
195
|
onHoverLegend: t,
|
|
@@ -198,21 +199,21 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
198
199
|
availableHeight: m = 0,
|
|
199
200
|
minimumHeight: h = 350
|
|
200
201
|
}) => {
|
|
201
|
-
const i =
|
|
202
|
+
const i = we(), { isMobile: d } = J(), [f, { height: p }] = ft(), _ = c.useRef(null), [u, y] = c.useState(0);
|
|
202
203
|
c.useEffect(() => {
|
|
203
204
|
const r = Math.max(m - p, h);
|
|
204
|
-
|
|
205
|
+
y(r);
|
|
205
206
|
}, [m, p]);
|
|
206
|
-
const [
|
|
207
|
+
const [S, g] = c.useState(null), [v, E] = c.useState({
|
|
207
208
|
hoveredSeriesId: null,
|
|
208
209
|
hoveredAreaData: null,
|
|
209
210
|
isAreaHovered: !1,
|
|
210
211
|
cursorPos: { x: 0, y: 0 }
|
|
211
|
-
}), { hoveredSeriesId: I, hoveredAreaData: x, isAreaHovered: M, cursorPos: k } = v, A = M && I && x, G = !A, ee = [...s, ...l], ne = ee[0]?.dataset.length ?? 0, H = ee.flatMap((r) => r.dataset.map((T) => T.x)),
|
|
212
|
+
}), { hoveredSeriesId: I, hoveredAreaData: x, isAreaHovered: M, cursorPos: k } = v, A = M && I && x, G = !A, ee = [...s, ...l], ne = ee[0]?.dataset.length ?? 0, H = ee.flatMap((r) => r.dataset.map((T) => T.x)), ue = ee.flatMap((r) => r.dataset.map((T) => T.y)), B = s[0]?.dataset?.map(
|
|
212
213
|
(r, T) => s.reduce((L, j) => L + j.dataset[T]?.y || 0, 0)
|
|
213
214
|
) ?? [0], se = Math.max(...B), ae = Math.max(
|
|
214
215
|
...l.flatMap((r) => r.dataset.map((T) => T.y))
|
|
215
|
-
),
|
|
216
|
+
), z = Math.floor(Math.min(...ue) / 100) * 100, ye = Math.ceil(Math.max(se, ae) / 100) * 100, U = s.map((r, T) => ({
|
|
216
217
|
id: `stacked-${T}`,
|
|
217
218
|
guid: r.category_guid,
|
|
218
219
|
top_level_guid: r.top_level_category_guid,
|
|
@@ -253,12 +254,12 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
253
254
|
g(r), t?.(r ?? "");
|
|
254
255
|
}, ie = (r) => {
|
|
255
256
|
n?.(r ?? "");
|
|
256
|
-
},
|
|
257
|
+
}, he = () => {
|
|
257
258
|
const r = Z(String(I)).guid;
|
|
258
259
|
r && n?.(r);
|
|
259
260
|
}, ce = (r) => {
|
|
260
|
-
const T = String(r?.seriesId), L = Z(T).guid, j = re.find((de) => de.id === T),
|
|
261
|
-
if (
|
|
261
|
+
const T = String(r?.seriesId), L = Z(T).guid, j = re.find((de) => de.id === T), _e = j && r?.dataIndex !== void 0, Ee = j && r?.dataIndex === void 0;
|
|
262
|
+
if (_e)
|
|
262
263
|
E({
|
|
263
264
|
hoveredSeriesId: T,
|
|
264
265
|
hoveredAreaData: null,
|
|
@@ -266,9 +267,9 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
266
267
|
cursorPos: k
|
|
267
268
|
}), a?.(L);
|
|
268
269
|
else if (Ee) {
|
|
269
|
-
const de = j?.data.map((
|
|
270
|
+
const de = j?.data.map((Te, Ie) => ({
|
|
270
271
|
x: H[Ie],
|
|
271
|
-
y:
|
|
272
|
+
y: Te
|
|
272
273
|
})) ?? [];
|
|
273
274
|
E({
|
|
274
275
|
hoveredSeriesId: T,
|
|
@@ -308,10 +309,10 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
308
309
|
'& [class*="MuiLineElement-series-unstacked-"]': {
|
|
309
310
|
strokeWidth: 3
|
|
310
311
|
},
|
|
311
|
-
...
|
|
312
|
+
...S && U.reduce((r, T, L) => {
|
|
312
313
|
const j = `.MuiAreaElement-series-stacked-${L}`;
|
|
313
314
|
return r[j] = {
|
|
314
|
-
opacity: U[L].guid ===
|
|
315
|
+
opacity: U[L].guid === S ? 0.9 : 0.2
|
|
315
316
|
}, r;
|
|
316
317
|
}, {})
|
|
317
318
|
};
|
|
@@ -331,19 +332,19 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
331
332
|
touchAction: "pan-y"
|
|
332
333
|
}
|
|
333
334
|
},
|
|
334
|
-
children: /* @__PURE__ */
|
|
335
|
-
|
|
335
|
+
children: /* @__PURE__ */ C(
|
|
336
|
+
b,
|
|
336
337
|
{
|
|
337
338
|
direction: { xs: "column", md: "column" },
|
|
338
339
|
spacing: { xs: 0, md: 4 },
|
|
339
340
|
sx: { width: "100%", position: "relative" },
|
|
340
341
|
children: [
|
|
341
342
|
/* @__PURE__ */ e(
|
|
342
|
-
|
|
343
|
+
pt,
|
|
343
344
|
{
|
|
344
345
|
height: u,
|
|
345
346
|
margin: { bottom: 50 },
|
|
346
|
-
onAreaClick:
|
|
347
|
+
onAreaClick: he,
|
|
347
348
|
onHighlightChange: ce,
|
|
348
349
|
series: re,
|
|
349
350
|
skipAnimation: !0,
|
|
@@ -354,7 +355,7 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
354
355
|
},
|
|
355
356
|
slots: {
|
|
356
357
|
itemContent: (r) => G && I ? /* @__PURE__ */ e(
|
|
357
|
-
|
|
358
|
+
co,
|
|
358
359
|
{
|
|
359
360
|
categoryGuids: Z(I),
|
|
360
361
|
xData: H,
|
|
@@ -370,24 +371,24 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
370
371
|
{
|
|
371
372
|
data: H,
|
|
372
373
|
scaleType: "time",
|
|
373
|
-
valueFormatter: (r) => Q(r,
|
|
374
|
+
valueFormatter: (r) => Q(r, $.MONTH_SHORT_YEAR),
|
|
374
375
|
tickNumber: ne
|
|
375
376
|
// How many ticks to show on the x-axis
|
|
376
377
|
}
|
|
377
378
|
],
|
|
378
379
|
yAxis: [
|
|
379
380
|
{
|
|
380
|
-
min:
|
|
381
|
-
max:
|
|
381
|
+
min: z,
|
|
382
|
+
max: ye || 100
|
|
382
383
|
}
|
|
383
384
|
]
|
|
384
385
|
}
|
|
385
386
|
),
|
|
386
387
|
/* @__PURE__ */ e(
|
|
387
|
-
|
|
388
|
+
lo,
|
|
388
389
|
{
|
|
389
390
|
categoryGuids: X,
|
|
390
|
-
hoveredLegend:
|
|
391
|
+
hoveredLegend: S,
|
|
391
392
|
legendRef: f,
|
|
392
393
|
onClickLegend: ie,
|
|
393
394
|
onHoverLegend: te,
|
|
@@ -395,14 +396,14 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
395
396
|
}
|
|
396
397
|
),
|
|
397
398
|
A && /* @__PURE__ */ e(
|
|
398
|
-
|
|
399
|
+
io,
|
|
399
400
|
{
|
|
400
401
|
categoryGuids: Z(I),
|
|
401
402
|
chartContainerRef: _,
|
|
402
403
|
cursorPosition: k,
|
|
403
404
|
hoveredAreaData: x.map((r) => ({
|
|
404
405
|
...r,
|
|
405
|
-
x: Q(r.x,
|
|
406
|
+
x: Q(r.x, $.MONTH_SHORT_YEAR)
|
|
406
407
|
}))
|
|
407
408
|
}
|
|
408
409
|
)
|
|
@@ -411,29 +412,29 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
411
412
|
)
|
|
412
413
|
}
|
|
413
414
|
);
|
|
414
|
-
},
|
|
415
|
-
|
|
415
|
+
}, Je = ({ selectedTab: o, onTabChange: a }) => /* @__PURE__ */ e(
|
|
416
|
+
Ot,
|
|
416
417
|
{
|
|
417
418
|
exclusive: !0,
|
|
418
419
|
onChange: a,
|
|
419
420
|
orientation: "horizontal",
|
|
420
421
|
value: o,
|
|
421
|
-
children: ["Chart", "Table"].map((t) => /* @__PURE__ */ e(
|
|
422
|
+
children: ["Chart", "Table"].map((t) => /* @__PURE__ */ e(Wt, { color: "primary", sx: { width: 56 }, value: t, children: t === "Chart" ? /* @__PURE__ */ e(Se, { name: "table_chart_view" }) : /* @__PURE__ */ e(Se, { name: "format_list_bulleted" }) }, t))
|
|
422
423
|
}
|
|
423
|
-
),
|
|
424
|
+
), et = ({ selectedDateRange: o, selectedCategoryGuid: a }) => {
|
|
424
425
|
const { trends: t } = O(), { isMobile: n, isDesktop: s } = J(), { getCategoryName: l } = Y(), m = c.useMemo(() => {
|
|
425
426
|
const h = Q(
|
|
426
427
|
o.start,
|
|
427
|
-
n ?
|
|
428
|
+
n ? $.MONTH_SHORT_YEAR : $.MONTH_YEAR
|
|
428
429
|
), i = Q(
|
|
429
430
|
o.end,
|
|
430
|
-
n ?
|
|
431
|
+
n ? $.MONTH_SHORT_YEAR : $.MONTH_YEAR
|
|
431
432
|
);
|
|
432
433
|
return `${h} - ${i}`;
|
|
433
434
|
}, [o, n]);
|
|
434
|
-
return /* @__PURE__ */
|
|
435
|
+
return /* @__PURE__ */ C(W, { sx: { mr: 10, minWidth: "60%" }, children: [
|
|
435
436
|
/* @__PURE__ */ e(
|
|
436
|
-
|
|
437
|
+
F,
|
|
437
438
|
{
|
|
438
439
|
display: "block",
|
|
439
440
|
fontWeight: 700,
|
|
@@ -442,42 +443,42 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
442
443
|
overflow: "visible",
|
|
443
444
|
textOverflow: "unset"
|
|
444
445
|
},
|
|
445
|
-
variant: s ? "
|
|
446
|
+
variant: s ? "H3" : "Body",
|
|
446
447
|
children: l(a) || t.sub_title
|
|
447
448
|
}
|
|
448
449
|
),
|
|
449
|
-
/* @__PURE__ */ e(
|
|
450
|
+
/* @__PURE__ */ e(F, { variant: s ? "Body" : "Small", children: m })
|
|
450
451
|
] });
|
|
451
|
-
},
|
|
452
|
+
}, ho = (o) => {
|
|
452
453
|
const a = o.row[o.field];
|
|
453
|
-
return /* @__PURE__ */ e(
|
|
454
|
-
},
|
|
454
|
+
return /* @__PURE__ */ e(b, { alignItems: "flex-end", tabIndex: o.tabIndex, children: /* @__PURE__ */ e(xe, { amount: a, variant: "Small" }) });
|
|
455
|
+
}, go = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
455
456
|
const { getCategoryName: t } = Y(), { categories: n } = O(), s = n.default_categories[o]?.replace(/&/g, "&") ?? t(o);
|
|
456
|
-
return /* @__PURE__ */
|
|
457
|
+
return /* @__PURE__ */ C(b, { alignItems: "center", direction: "row", justifyContent: "center", children: [
|
|
457
458
|
/* @__PURE__ */ e(
|
|
458
459
|
W,
|
|
459
460
|
{
|
|
460
|
-
"aria-label":
|
|
461
|
+
"aria-label": ze(n.category_icon_label_aria, s),
|
|
461
462
|
role: "img",
|
|
462
|
-
children: /* @__PURE__ */ e(
|
|
463
|
+
children: /* @__PURE__ */ e(ve, { categoryGuid: a })
|
|
463
464
|
}
|
|
464
465
|
),
|
|
465
|
-
/* @__PURE__ */ e(
|
|
466
|
+
/* @__PURE__ */ e(F, { sx: { ml: 12, pb: 6 }, variant: "Small", children: s })
|
|
466
467
|
] });
|
|
467
|
-
},
|
|
468
|
-
|
|
468
|
+
}, mo = (o) => /* @__PURE__ */ e(b, { alignItems: "center", direction: "row", height: "100%", width: "100%", children: /* @__PURE__ */ e(
|
|
469
|
+
go,
|
|
469
470
|
{
|
|
470
471
|
categoryGuid: o.row.category,
|
|
471
472
|
topLevelCategoryGuid: o.row.top_level_category_guid
|
|
472
473
|
}
|
|
473
|
-
) }),
|
|
474
|
+
) }), po = (o, a) => {
|
|
474
475
|
const t = [], n = new Date(o);
|
|
475
476
|
for (; n <= a; ) {
|
|
476
|
-
const s = Q(n,
|
|
477
|
+
const s = Q(n, $.MONTH);
|
|
477
478
|
t.push(s), n.setMonth(n.getMonth() + 1);
|
|
478
479
|
}
|
|
479
480
|
return t;
|
|
480
|
-
},
|
|
481
|
+
}, tt = ({
|
|
481
482
|
monthlyCategoryTotals: o,
|
|
482
483
|
selectedDateRange: a,
|
|
483
484
|
selectedCategory: t,
|
|
@@ -485,16 +486,16 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
485
486
|
height: s = "100dvh",
|
|
486
487
|
sx: l = {}
|
|
487
488
|
}) => {
|
|
488
|
-
const { onEvent: m } = P(), h = Q(/* @__PURE__ */ new Date(),
|
|
489
|
+
const { onEvent: m } = P(), h = Q(/* @__PURE__ */ new Date(), $.MONTH_SHORT), [i, d] = c.useState([
|
|
489
490
|
{ field: h, sort: "desc" }
|
|
490
|
-
]), f = c.useMemo(() =>
|
|
491
|
+
]), f = c.useMemo(() => po(a.start, a.end), [a]), p = [
|
|
491
492
|
{
|
|
492
493
|
field: "category",
|
|
493
494
|
flex: 1,
|
|
494
495
|
headerName: "Category",
|
|
495
496
|
minWidth: 175,
|
|
496
497
|
renderHeader: Ge,
|
|
497
|
-
renderCell:
|
|
498
|
+
renderCell: mo,
|
|
498
499
|
sortable: !0,
|
|
499
500
|
type: "string"
|
|
500
501
|
},
|
|
@@ -505,19 +506,19 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
505
506
|
headerName: u,
|
|
506
507
|
minWidth: 100,
|
|
507
508
|
renderHeader: Ge,
|
|
508
|
-
renderCell:
|
|
509
|
+
renderCell: ho,
|
|
509
510
|
align: "right",
|
|
510
511
|
headerAlign: "right",
|
|
511
512
|
sortable: !0,
|
|
512
513
|
hideSortIcons: !1,
|
|
513
514
|
type: "number",
|
|
514
|
-
sortComparator:
|
|
515
|
+
sortComparator: Et
|
|
515
516
|
})
|
|
516
517
|
)
|
|
517
518
|
], _ = c.useMemo(() => {
|
|
518
519
|
const u = o.filter(
|
|
519
|
-
(g) => !
|
|
520
|
-
),
|
|
520
|
+
(g) => !Mt(g) && !At(g)
|
|
521
|
+
), S = (t ? u.filter(
|
|
521
522
|
(g) => g.category_guid === t || g.top_level_category_guid === t
|
|
522
523
|
) : u).reduce(
|
|
523
524
|
(g, v) => {
|
|
@@ -528,15 +529,15 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
528
529
|
category_guid: E,
|
|
529
530
|
top_level_category_guid: I
|
|
530
531
|
});
|
|
531
|
-
const G = Q(new Date(k, x - 1),
|
|
532
|
+
const G = Q(new Date(k, x - 1), $.MONTH_SHORT);
|
|
532
533
|
return g[A][G] || (g[A][G] = 0), g[A][G] = g[A][G] + Math.abs(M), g;
|
|
533
534
|
},
|
|
534
535
|
{}
|
|
535
536
|
);
|
|
536
|
-
return Object.values(
|
|
537
|
+
return Object.values(S);
|
|
537
538
|
}, [o, t]);
|
|
538
539
|
return /* @__PURE__ */ e(W, { sx: { height: s, width: "100%", overflowX: "auto", boxShadow: "none", ...l }, children: /* @__PURE__ */ e(
|
|
539
|
-
|
|
540
|
+
Gt,
|
|
540
541
|
{
|
|
541
542
|
columns: p,
|
|
542
543
|
disableColumnFilter: !0,
|
|
@@ -546,7 +547,7 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
546
547
|
onRowClick: (u) => {
|
|
547
548
|
n?.(u.row.category), m(w.TRENDS_CLICK_LIST_ITEM, {
|
|
548
549
|
...V,
|
|
549
|
-
listItem:
|
|
550
|
+
listItem: Dt[u.row.category]
|
|
550
551
|
});
|
|
551
552
|
},
|
|
552
553
|
onSortModelChange: (u) => {
|
|
@@ -558,15 +559,15 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
558
559
|
sortingOrder: ["asc", "desc"]
|
|
559
560
|
}
|
|
560
561
|
) });
|
|
561
|
-
},
|
|
562
|
+
}, fo = {
|
|
562
563
|
title: "Transaction List"
|
|
563
|
-
},
|
|
564
|
+
}, Co = ({
|
|
564
565
|
categoryGuid: o,
|
|
565
566
|
dateRange: a,
|
|
566
567
|
isOpen: t,
|
|
567
568
|
onClose: n
|
|
568
569
|
}) => {
|
|
569
|
-
const { onEvent: s } = P(), { selectedAccountGuids: l } =
|
|
570
|
+
const { onEvent: s } = P(), { selectedAccountGuids: l } = fe(), { common: m } = O(), { setFilter: h, sortedTransactions: i } = De(), [d, f] = c.useState(""), p = c.useMemo(
|
|
570
571
|
() => i.find((u) => u.guid === d),
|
|
571
572
|
[d, i]
|
|
572
573
|
);
|
|
@@ -581,20 +582,20 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
581
582
|
const _ = () => {
|
|
582
583
|
f(""), n();
|
|
583
584
|
};
|
|
584
|
-
return /* @__PURE__ */
|
|
585
|
+
return /* @__PURE__ */ C(
|
|
585
586
|
ke,
|
|
586
587
|
{
|
|
587
588
|
ariaLabelClose: m.close_aria,
|
|
588
589
|
isOpen: t,
|
|
589
590
|
onClose: _,
|
|
590
|
-
title:
|
|
591
|
+
title: fo.title,
|
|
591
592
|
children: [
|
|
592
593
|
p && /* @__PURE__ */ e(Xe, { transaction: p }),
|
|
593
594
|
!p && /* @__PURE__ */ e(Ze, { onClick: f })
|
|
594
595
|
]
|
|
595
596
|
}
|
|
596
597
|
);
|
|
597
|
-
}, yo = R(
|
|
598
|
+
}, yo = R(Co), _o = ({ onBackClick: o, sx: a }) => {
|
|
598
599
|
const { onEvent: t } = P(), { isDesktop: n, isTablet: s, isMobile: l } = J(), { isAccountDataLoaded: m, loadAccountData: h, visibleAccounts: i } = Le(), {
|
|
599
600
|
categoriesLoaded: d,
|
|
600
601
|
loadCategories: f,
|
|
@@ -602,13 +603,13 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
602
603
|
monthlyCategoryTotals: _,
|
|
603
604
|
getCategoryName: u
|
|
604
605
|
} = Y(), {
|
|
605
|
-
isTransactionDataLoaded:
|
|
606
|
-
loadTransactionData:
|
|
606
|
+
isTransactionDataLoaded: y,
|
|
607
|
+
loadTransactionData: S,
|
|
607
608
|
sortedTransactions: g
|
|
608
|
-
} = De(), { selectedDateRange: v, setSelectedDateRange: E } = Ce(), { isInitialized: I, selectedAccounts: x, setSelectedAccounts: M } =
|
|
609
|
+
} = De(), { selectedDateRange: v, setSelectedDateRange: E } = Ce(), { isInitialized: I, selectedAccounts: x, setSelectedAccounts: M } = fe(), { trends: k } = O(), [A, G] = c.useState(!1), [ee, ne] = c.useState(!1), [H, ue] = c.useState("Chart"), [B, se] = c.useState(""), [ae, z] = c.useState(window.innerHeight), U = ae - (l ? 315 : 345);
|
|
609
610
|
c.useEffect(() => {
|
|
610
|
-
const D = () =>
|
|
611
|
-
return window.addEventListener("resize", D), m || h().finally(), d || f().finally(),
|
|
611
|
+
const D = () => z(window.innerHeight);
|
|
612
|
+
return window.addEventListener("resize", D), m || h().finally(), d || f().finally(), y || S().finally(), () => window.removeEventListener("resize", D);
|
|
612
613
|
}, []), c.useEffect(() => {
|
|
613
614
|
M(i);
|
|
614
615
|
}, [i]), c.useEffect(() => {
|
|
@@ -622,21 +623,21 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
622
623
|
}, [I, x, v]);
|
|
623
624
|
const K = c.useMemo(() => {
|
|
624
625
|
if (!A) return { stackedDatasets: [], unstackedDatasets: [] };
|
|
625
|
-
const D =
|
|
626
|
+
const D = It(
|
|
626
627
|
_,
|
|
627
628
|
v.start,
|
|
628
629
|
v.end
|
|
629
630
|
), r = B.length ? D.filter(
|
|
630
631
|
(T) => T.top_level_category_guid === B || T.category_guid === B
|
|
631
|
-
) :
|
|
632
|
+
) : Rt(D);
|
|
632
633
|
return {
|
|
633
|
-
stackedDatasets: r.filter(
|
|
634
|
-
unstackedDatasets: r.filter(
|
|
634
|
+
stackedDatasets: r.filter(kt),
|
|
635
|
+
unstackedDatasets: r.filter(Ht)
|
|
635
636
|
};
|
|
636
637
|
}, [_, B, v]), re = (D, r) => {
|
|
637
|
-
|
|
638
|
+
ue(r ?? H), t(w.TRENDS_CLICK_TOGGLE_VIEW);
|
|
638
639
|
}, X = (D) => {
|
|
639
|
-
const r =
|
|
640
|
+
const r = $e(D?.[0], 1), T = D?.[1], L = Ae(T, r);
|
|
640
641
|
E({ start: r, end: T }), t(w.TRENDS_CLICK_TIME_WINDOW, {
|
|
641
642
|
time_period: L + "M"
|
|
642
643
|
});
|
|
@@ -646,14 +647,14 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
646
647
|
se(D);
|
|
647
648
|
}, ie = (D) => {
|
|
648
649
|
se(D), t(w.TRENDS_CLICK_LEGEND, { category: u(D) });
|
|
649
|
-
},
|
|
650
|
+
}, he = (D) => {
|
|
650
651
|
t(w.TRENDS_HOVER_LEGEND, { category: u(D) });
|
|
651
652
|
}, ce = (D) => {
|
|
652
653
|
t(w.TRENDS_HOVER_AREA, { category: D });
|
|
653
654
|
}, le = (D) => {
|
|
654
655
|
t(w.TRENDS_HOVER_POINT, { category: D });
|
|
655
656
|
};
|
|
656
|
-
return !I || !A ? /* @__PURE__ */ e(
|
|
657
|
+
return !I || !A ? /* @__PURE__ */ e(pe, {}) : /* @__PURE__ */ C(
|
|
657
658
|
Ue,
|
|
658
659
|
{
|
|
659
660
|
accountOptions: i,
|
|
@@ -665,54 +666,54 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
665
666
|
sx: a,
|
|
666
667
|
title: k.title,
|
|
667
668
|
children: [
|
|
668
|
-
/* @__PURE__ */
|
|
669
|
-
|
|
669
|
+
/* @__PURE__ */ C(
|
|
670
|
+
b,
|
|
670
671
|
{
|
|
671
672
|
sx: {
|
|
672
673
|
// eslint-disable-next-line no-nested-ternary
|
|
673
674
|
px: n ? 48 : s ? 24 : 12
|
|
674
675
|
},
|
|
675
676
|
children: [
|
|
676
|
-
/* @__PURE__ */
|
|
677
|
-
|
|
677
|
+
/* @__PURE__ */ C(
|
|
678
|
+
b,
|
|
678
679
|
{
|
|
679
680
|
flexDirection: "row",
|
|
680
681
|
justifyContent: "space-between",
|
|
681
682
|
sx: { pb: l ? 12 : 24, pt: l ? 24 : 48 },
|
|
682
683
|
children: [
|
|
683
684
|
/* @__PURE__ */ e(
|
|
684
|
-
|
|
685
|
+
et,
|
|
685
686
|
{
|
|
686
687
|
selectedCategoryGuid: B,
|
|
687
688
|
selectedDateRange: v
|
|
688
689
|
}
|
|
689
690
|
),
|
|
690
|
-
/* @__PURE__ */ e(
|
|
691
|
+
/* @__PURE__ */ e(Je, { onTabChange: re, selectedTab: H })
|
|
691
692
|
]
|
|
692
693
|
}
|
|
693
694
|
),
|
|
694
|
-
/* @__PURE__ */
|
|
695
|
-
/* @__PURE__ */ e(W, { flexGrow: 1, children: B && /* @__PURE__ */
|
|
695
|
+
/* @__PURE__ */ C(b, { alignItems: "center", flexDirection: "row", width: "100%", children: [
|
|
696
|
+
/* @__PURE__ */ e(W, { flexGrow: 1, children: B && /* @__PURE__ */ C(be, { onClick: () => se(""), sx: { p: 0, pr: 5 }, children: [
|
|
696
697
|
/* @__PURE__ */ e(Se, { name: "arrow_back" }),
|
|
697
698
|
k.all_categories
|
|
698
699
|
] }) }),
|
|
699
|
-
/* @__PURE__ */ e(
|
|
700
|
+
/* @__PURE__ */ e(be, { onClick: () => ne(!0), sx: { px: 5 }, children: `${k.view_transactions} (${g.length})` })
|
|
700
701
|
] }),
|
|
701
|
-
/* @__PURE__ */
|
|
702
|
+
/* @__PURE__ */ C(W, { children: [
|
|
702
703
|
H === "Chart" && /* @__PURE__ */ e(
|
|
703
|
-
|
|
704
|
+
uo,
|
|
704
705
|
{
|
|
705
706
|
availableHeight: U,
|
|
706
707
|
onClickLegend: ie,
|
|
707
708
|
onHoverArea: ce,
|
|
708
|
-
onHoverLegend:
|
|
709
|
+
onHoverLegend: he,
|
|
709
710
|
onHoverPoint: le,
|
|
710
711
|
stackedDatasets: K.stackedDatasets,
|
|
711
712
|
unstackedDatasets: K.unstackedDatasets
|
|
712
713
|
}
|
|
713
714
|
),
|
|
714
715
|
H === "Table" && /* @__PURE__ */ e(
|
|
715
|
-
|
|
716
|
+
tt,
|
|
716
717
|
{
|
|
717
718
|
monthlyCategoryTotals: _,
|
|
718
719
|
onClickRow: te,
|
|
@@ -736,8 +737,8 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
736
737
|
]
|
|
737
738
|
}
|
|
738
739
|
);
|
|
739
|
-
},
|
|
740
|
-
const { monthlyCategoryTotals: o } = Y(), { trends: a } = O(), t =
|
|
740
|
+
}, On = R(_o), To = () => {
|
|
741
|
+
const { monthlyCategoryTotals: o } = Y(), { trends: a } = O(), t = we(), { availableHeight: n = 300 } = Fe(), s = Nt(o);
|
|
741
742
|
return /* @__PURE__ */ e(
|
|
742
743
|
Ne,
|
|
743
744
|
{
|
|
@@ -754,8 +755,8 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
754
755
|
valueFormatterString: "0,0"
|
|
755
756
|
}
|
|
756
757
|
);
|
|
757
|
-
},
|
|
758
|
-
const { isAccountDataLoaded: t, loadAccountData: n, visibleAccounts: s } = Le(), { loadMonthlyCategoryTotals: l, monthlyTotalsLoaded: m } = Y(), { isInitialized: h } = He(), { trends: i } = O(), { selectedAccounts: d, setSelectedAccounts: f } =
|
|
758
|
+
}, So = R(To), bo = ({ onPrimaryCtaClick: o, sx: a }) => {
|
|
759
|
+
const { isAccountDataLoaded: t, loadAccountData: n, visibleAccounts: s } = Le(), { loadMonthlyCategoryTotals: l, monthlyTotalsLoaded: m } = Y(), { isInitialized: h } = He(), { trends: i } = O(), { selectedAccounts: d, setSelectedAccounts: f } = fe();
|
|
759
760
|
return c.useEffect(() => {
|
|
760
761
|
t || n().finally();
|
|
761
762
|
}, []), c.useEffect(() => {
|
|
@@ -763,7 +764,7 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
763
764
|
}, [s]), c.useEffect(() => {
|
|
764
765
|
h && l(d).finally();
|
|
765
766
|
}, [h, d]), h ? /* @__PURE__ */ e(
|
|
766
|
-
|
|
767
|
+
Vt,
|
|
767
768
|
{
|
|
768
769
|
contentStyles: { height: "calc(100% - 72px)", ":last-child": { pb: 0 } },
|
|
769
770
|
onPrimaryCtaClick: o,
|
|
@@ -771,10 +772,10 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
771
772
|
subTitle: i.sub_title,
|
|
772
773
|
sx: { height: "100%", ...a },
|
|
773
774
|
title: i.mini_title,
|
|
774
|
-
children: m ? /* @__PURE__ */ e(
|
|
775
|
+
children: m ? /* @__PURE__ */ e(So, {}) : /* @__PURE__ */ e(pe, {})
|
|
775
776
|
}
|
|
776
|
-
) : /* @__PURE__ */ e(
|
|
777
|
-
},
|
|
777
|
+
) : /* @__PURE__ */ e(pe, {});
|
|
778
|
+
}, Gn = R(bo), xo = 70, Be = ({
|
|
778
779
|
title: o,
|
|
779
780
|
totalAmount: a,
|
|
780
781
|
transactionType: t,
|
|
@@ -782,12 +783,12 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
782
783
|
secondaryLabel: s,
|
|
783
784
|
shouldDisplayPercentage: l
|
|
784
785
|
}) => {
|
|
785
|
-
const { availableWidth: m } =
|
|
786
|
+
const { availableWidth: m } = Fe(), h = c.useRef(null), i = c.useRef(null), d = Lt(Number(Math.abs(n)), {
|
|
786
787
|
style: "percent",
|
|
787
788
|
minimumIntegerDigits: 1
|
|
788
|
-
}), f = m === 288 && oe(a, "0,0.00").length > 10 ? oe(a, "0,0") : oe(a, "0,0.00"), p = t === "spending" ? n > 0 : n >= 0, _ = t === "spending" ? "error.main" : "success.main", u = t === "spending" ? "success.main" : "text.secondary",
|
|
789
|
-
return /* @__PURE__ */
|
|
790
|
-
|
|
789
|
+
}), f = m === 288 && oe(a, "0,0.00").length > 10 ? oe(a, "0,0") : oe(a, "0,0.00"), p = t === "spending" ? n > 0 : n >= 0, _ = t === "spending" ? "error.main" : "success.main", u = t === "spending" ? "success.main" : "text.secondary", y = h?.current, S = i?.current, g = y && S ? y.scrollWidth > S.clientWidth - xo : !1;
|
|
790
|
+
return /* @__PURE__ */ C(
|
|
791
|
+
b,
|
|
791
792
|
{
|
|
792
793
|
sx: {
|
|
793
794
|
border: 1,
|
|
@@ -799,8 +800,8 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
799
800
|
py: 8
|
|
800
801
|
},
|
|
801
802
|
children: [
|
|
802
|
-
/* @__PURE__ */
|
|
803
|
-
|
|
803
|
+
/* @__PURE__ */ C(
|
|
804
|
+
b,
|
|
804
805
|
{
|
|
805
806
|
sx: {
|
|
806
807
|
alignItems: "center",
|
|
@@ -808,11 +809,11 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
808
809
|
justifyContent: "space-between"
|
|
809
810
|
},
|
|
810
811
|
children: [
|
|
811
|
-
/* @__PURE__ */ e(
|
|
812
|
-
l && /* @__PURE__ */
|
|
813
|
-
p ? /* @__PURE__ */ e(
|
|
812
|
+
/* @__PURE__ */ e(me, { color: "text.secondary", variant: "caption", children: o }),
|
|
813
|
+
l && /* @__PURE__ */ C(b, { sx: { alignItems: "center", flexDirection: "row", gap: 4 }, children: [
|
|
814
|
+
p ? /* @__PURE__ */ e($t, { size: 20, sx: { color: _ } }) : /* @__PURE__ */ e(Ft, { size: 20, sx: { color: u } }),
|
|
814
815
|
/* @__PURE__ */ e(
|
|
815
|
-
|
|
816
|
+
me,
|
|
816
817
|
{
|
|
817
818
|
sx: {
|
|
818
819
|
color: p ? _ : u,
|
|
@@ -826,8 +827,8 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
826
827
|
]
|
|
827
828
|
}
|
|
828
829
|
),
|
|
829
|
-
/* @__PURE__ */
|
|
830
|
-
|
|
830
|
+
/* @__PURE__ */ C(
|
|
831
|
+
b,
|
|
831
832
|
{
|
|
832
833
|
ref: i,
|
|
833
834
|
sx: {
|
|
@@ -845,7 +846,7 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
845
846
|
}
|
|
846
847
|
),
|
|
847
848
|
l && m >= 450 && !g && /* @__PURE__ */ e(
|
|
848
|
-
|
|
849
|
+
me,
|
|
849
850
|
{
|
|
850
851
|
color: p ? _ : u,
|
|
851
852
|
variant: "caption",
|
|
@@ -858,24 +859,24 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
858
859
|
]
|
|
859
860
|
}
|
|
860
861
|
);
|
|
861
|
-
},
|
|
862
|
+
}, vo = R(() => {
|
|
862
863
|
const { trends: o } = O();
|
|
863
|
-
return /* @__PURE__ */
|
|
864
|
-
/* @__PURE__ */ e(
|
|
865
|
-
/* @__PURE__ */
|
|
866
|
-
/* @__PURE__ */ e(
|
|
867
|
-
/* @__PURE__ */ e(
|
|
864
|
+
return /* @__PURE__ */ C(b, { sx: { alignItems: "start", flexDirection: "row", gap: 12 }, children: [
|
|
865
|
+
/* @__PURE__ */ e(zt, { size: 32 }),
|
|
866
|
+
/* @__PURE__ */ C(b, { children: [
|
|
867
|
+
/* @__PURE__ */ e(me, { fontWeight: 600, variant: "body1", children: o.zero_state_content_header }),
|
|
868
|
+
/* @__PURE__ */ e(me, { color: "text.secondary", variant: "subtitle2", children: o.zero_state_content_description })
|
|
868
869
|
] })
|
|
869
870
|
] });
|
|
870
|
-
}),
|
|
871
|
+
}), Bn = R(({ onCtaClick: o }) => {
|
|
871
872
|
const { isAccountDataLoaded: a, loadAccountData: t, visibleAccounts: n } = Le();
|
|
872
873
|
c.useEffect(() => {
|
|
873
874
|
a || t().finally();
|
|
874
875
|
}, []);
|
|
875
876
|
const { onEvent: s } = P(), { monthlyCategoryTotals: l, loadMonthlyCategoryTotals: m, monthlyTotalsLoaded: h } = Y(), i = {
|
|
876
|
-
start:
|
|
877
|
+
start: Pt(/* @__PURE__ */ new Date(), 1),
|
|
877
878
|
end: /* @__PURE__ */ new Date()
|
|
878
|
-
}, { trends: d } = O(), { selectedAccounts: f, setSelectedAccounts: p, isInitialized: _ } =
|
|
879
|
+
}, { trends: d } = O(), { selectedAccounts: f, setSelectedAccounts: p, isInitialized: _ } = fe();
|
|
879
880
|
c.useEffect(() => {
|
|
880
881
|
p(n);
|
|
881
882
|
}, [n]), c.useEffect(() => {
|
|
@@ -885,27 +886,27 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
885
886
|
});
|
|
886
887
|
});
|
|
887
888
|
}, [_, f]);
|
|
888
|
-
const { spendingData: u, incomeData:
|
|
889
|
+
const { spendingData: u, incomeData: y } = c.useMemo(
|
|
889
890
|
() => ({
|
|
890
|
-
spendingData:
|
|
891
|
-
incomeData:
|
|
891
|
+
spendingData: je(l, i),
|
|
892
|
+
incomeData: Ye(l, i)
|
|
892
893
|
}),
|
|
893
894
|
[l, i]
|
|
894
|
-
), [
|
|
895
|
+
), [S, g] = u, [v, E] = y, I = Oe(g.y, S.y), x = Oe(E.y, v.y), M = _ && !n?.length, k = () => {
|
|
895
896
|
s(
|
|
896
897
|
M ? w.TRENDS_CLICK_GET_STARTED : w.TRENDS_CLICK_VIEW_MORE
|
|
897
898
|
), o();
|
|
898
899
|
};
|
|
899
|
-
return !h || !_ ? /* @__PURE__ */ e(
|
|
900
|
-
|
|
900
|
+
return !h || !_ ? /* @__PURE__ */ e(pe, {}) : /* @__PURE__ */ e(
|
|
901
|
+
Yt,
|
|
901
902
|
{
|
|
902
903
|
className: "mx-trends-microwidget",
|
|
903
904
|
ctaLabel: d.micro_primary_cta_label,
|
|
904
905
|
onCTAClick: k,
|
|
905
906
|
subHeader: M ? void 0 : d.micro_subheader,
|
|
906
907
|
title: d.title,
|
|
907
|
-
children: M ? /* @__PURE__ */ e(
|
|
908
|
-
|
|
908
|
+
children: M ? /* @__PURE__ */ e(vo, {}) : /* @__PURE__ */ C(
|
|
909
|
+
b,
|
|
909
910
|
{
|
|
910
911
|
sx: {
|
|
911
912
|
alignItems: "stretch",
|
|
@@ -918,7 +919,7 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
918
919
|
{
|
|
919
920
|
percentage: I,
|
|
920
921
|
secondaryLabel: d.micro_secondary_label,
|
|
921
|
-
shouldDisplayPercentage: g.y !== 0 &&
|
|
922
|
+
shouldDisplayPercentage: g.y !== 0 && S.y !== 0,
|
|
922
923
|
title: d.spending_label,
|
|
923
924
|
totalAmount: g.y,
|
|
924
925
|
transactionType: "spending"
|
|
@@ -940,17 +941,17 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
940
941
|
)
|
|
941
942
|
}
|
|
942
943
|
);
|
|
943
|
-
}),
|
|
944
|
+
}), wo = R(
|
|
944
945
|
({ isExpanded: o, onClick: a }) => {
|
|
945
|
-
const t =
|
|
946
|
-
return /* @__PURE__ */ e(
|
|
947
|
-
|
|
946
|
+
const t = qe();
|
|
947
|
+
return /* @__PURE__ */ e(Zt, { sx: { bgcolor: "background.paper" }, children: /* @__PURE__ */ e(qt, { onClick: a, sx: { justifyContent: "center" }, children: /* @__PURE__ */ C(
|
|
948
|
+
b,
|
|
948
949
|
{
|
|
949
950
|
sx: { color: t.palette.primary.main, flexDirection: "row", alignItems: "center" },
|
|
950
951
|
children: [
|
|
951
|
-
/* @__PURE__ */ e(
|
|
952
|
-
/* @__PURE__ */ e(
|
|
953
|
-
|
|
952
|
+
/* @__PURE__ */ e(Jt, { children: /* @__PURE__ */ e(F, { bold: !0, variant: "body2", children: o ? "View less" : "View more" }) }),
|
|
953
|
+
/* @__PURE__ */ e(Qt, { sx: { color: t.palette.primary.main }, children: o ? /* @__PURE__ */ e(Kt, {}) : /* @__PURE__ */ e(
|
|
954
|
+
jt,
|
|
954
955
|
{
|
|
955
956
|
sx: {
|
|
956
957
|
transition: "transform 0.3s ease-in-out",
|
|
@@ -978,14 +979,14 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
978
979
|
listItem: t
|
|
979
980
|
});
|
|
980
981
|
};
|
|
981
|
-
return /* @__PURE__ */
|
|
982
|
+
return /* @__PURE__ */ C(c.Fragment, { children: [
|
|
982
983
|
/* @__PURE__ */ e(
|
|
983
984
|
Ke,
|
|
984
985
|
{
|
|
985
|
-
leftIcon: a ? /* @__PURE__ */ e(
|
|
986
|
+
leftIcon: a ? /* @__PURE__ */ e(ve, { categoryGuid: a }) : void 0,
|
|
986
987
|
onClick: f,
|
|
987
988
|
rightContent: oe(Math.abs(o), "0,0.00"),
|
|
988
|
-
rightIcon: s ? /* @__PURE__ */ e(
|
|
989
|
+
rightIcon: s ? /* @__PURE__ */ e(mt, {}) : void 0,
|
|
989
990
|
subtitle: d,
|
|
990
991
|
title: t
|
|
991
992
|
}
|
|
@@ -993,59 +994,59 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
993
994
|
m && /* @__PURE__ */ e(Re, { sx: { ml: l ? 24 : 68 } })
|
|
994
995
|
] }, a);
|
|
995
996
|
}
|
|
996
|
-
),
|
|
997
|
+
), Do = R(
|
|
997
998
|
({ availableHeight: o = 0, onCategoryClick: a }) => {
|
|
998
999
|
const { collapsedCategories: t, visibleCategories: n, setVisibleListLength: s } = Ce(), { isLargeDesktop: l, isDesktop: m } = J(), { trends: h } = O(), { onEvent: i } = P(), [d, f] = c.useState(!1), p = m || l;
|
|
999
1000
|
c.useEffect(() => {
|
|
1000
|
-
const
|
|
1001
|
-
|
|
1001
|
+
const y = Math.floor(o / 64) - 1, S = n.length + t.length;
|
|
1002
|
+
y !== n.length && (s(p ? Math.max(y, 5) : 5), f(y >= S));
|
|
1002
1003
|
}, [o]);
|
|
1003
1004
|
const _ = () => {
|
|
1004
1005
|
f(!d), i(w.TRENDS_CLICK_VIEW_MORE, {
|
|
1005
1006
|
...V
|
|
1006
1007
|
});
|
|
1007
1008
|
}, u = n.length + (d ? t.length : 0);
|
|
1008
|
-
return /* @__PURE__ */ e(
|
|
1009
|
-
/* @__PURE__ */ e(
|
|
1010
|
-
n.map((
|
|
1009
|
+
return /* @__PURE__ */ e(b, { sx: { bgColor: "background.paper", width: "100%" }, children: /* @__PURE__ */ C(Xt, { children: [
|
|
1010
|
+
/* @__PURE__ */ e(b, { sx: { pb: 4, pt: 16, px: 16 }, children: /* @__PURE__ */ e(Pe, { children: h.categories }) }),
|
|
1011
|
+
n.map((y, S) => /* @__PURE__ */ e(
|
|
1011
1012
|
Ve,
|
|
1012
1013
|
{
|
|
1013
|
-
...
|
|
1014
|
-
isLastItem:
|
|
1015
|
-
onClick:
|
|
1014
|
+
...y,
|
|
1015
|
+
isLastItem: S === u - 1,
|
|
1016
|
+
onClick: y.transactions.length > 0 ? () => a(y) : void 0,
|
|
1016
1017
|
showDivider: !0
|
|
1017
1018
|
},
|
|
1018
|
-
|
|
1019
|
+
y.guid
|
|
1019
1020
|
)),
|
|
1020
1021
|
/* @__PURE__ */ e(
|
|
1021
|
-
|
|
1022
|
+
Ut,
|
|
1022
1023
|
{
|
|
1023
1024
|
in: d,
|
|
1024
1025
|
sx: { "&.MuiCollapse-root .MuiListItemButton-root": { paddingLeft: 24 } },
|
|
1025
|
-
children: t.map((
|
|
1026
|
-
const g = n.length +
|
|
1026
|
+
children: t.map((y, S) => {
|
|
1027
|
+
const g = n.length + S;
|
|
1027
1028
|
return /* @__PURE__ */ e(
|
|
1028
1029
|
Ve,
|
|
1029
1030
|
{
|
|
1030
|
-
...
|
|
1031
|
+
...y,
|
|
1031
1032
|
isLastItem: g === u - 1,
|
|
1032
|
-
onClick:
|
|
1033
|
+
onClick: y.transactions.length > 0 ? () => a(y) : void 0,
|
|
1033
1034
|
showDivider: !0
|
|
1034
1035
|
},
|
|
1035
|
-
|
|
1036
|
+
y.guid
|
|
1036
1037
|
);
|
|
1037
1038
|
})
|
|
1038
1039
|
}
|
|
1039
1040
|
),
|
|
1040
|
-
t.length > 0 && /* @__PURE__ */ e(
|
|
1041
|
+
t.length > 0 && /* @__PURE__ */ e(wo, { isExpanded: d, onClick: _ })
|
|
1041
1042
|
] }) });
|
|
1042
1043
|
}
|
|
1043
|
-
),
|
|
1044
|
+
), Lo = ({ beats: o, onInsightCardClick: a }) => {
|
|
1044
1045
|
const { onEvent: t } = P(), { isMobile: n, isDesktop: s, isLargeDesktop: l } = J(), { beatStore: m, endpoint: h, sessionToken: i } = He(), d = s || l, f = d || n ? 1 : 2, p = () => null, _ = (E) => {
|
|
1045
1046
|
a?.(E), t(w.TRENDS_CLICK_INSIGHT, V);
|
|
1046
|
-
}, u = d ? 200 : 170,
|
|
1047
|
-
return /* @__PURE__ */ e(
|
|
1048
|
-
|
|
1047
|
+
}, u = d ? 200 : 170, y = d ? 170 : 124, S = d ? 56 : 0, g = o.length > 0 ? u + S : y, v = d && o.length > 0 ? u : void 0;
|
|
1048
|
+
return /* @__PURE__ */ e(wt, { sx: { height: g }, children: /* @__PURE__ */ e(
|
|
1049
|
+
Bt,
|
|
1049
1050
|
{
|
|
1050
1051
|
areBeatsLoading: m.isLoading,
|
|
1051
1052
|
beats: o,
|
|
@@ -1065,11 +1066,11 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
1065
1066
|
visibleCardsCount: f
|
|
1066
1067
|
}
|
|
1067
1068
|
) });
|
|
1068
|
-
},
|
|
1069
|
+
}, Eo = R(Lo), Io = R(({ chartLabel: o, chartColor: a }) => {
|
|
1069
1070
|
const { onEvent: t } = P(), {
|
|
1070
1071
|
categoryDetailsChartData: { monthlyAmounts: n, tooltipLabels: s }
|
|
1071
1072
|
} = Ce();
|
|
1072
|
-
return /* @__PURE__ */ e(
|
|
1073
|
+
return /* @__PURE__ */ e(b, { sx: { pt: 12, width: "100%" }, children: /* @__PURE__ */ e(
|
|
1073
1074
|
Ne,
|
|
1074
1075
|
{
|
|
1075
1076
|
baseline: "min",
|
|
@@ -1098,40 +1099,40 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
1098
1099
|
valueFormatterString: "0,0"
|
|
1099
1100
|
}
|
|
1100
1101
|
) });
|
|
1101
|
-
}),
|
|
1102
|
-
const a =
|
|
1102
|
+
}), Mo = R(({ onClose: o }) => {
|
|
1103
|
+
const a = qe(), { onEvent: t } = P(), { common: n, trends: s } = O(), { selectedCategoryData: l, selectedDateRangeMonthRange: m } = Ce(), { sortedTransactions: h } = De(), [i, d] = c.useState(null);
|
|
1103
1104
|
if (!l)
|
|
1104
1105
|
return null;
|
|
1105
|
-
const { guid: f, name: p, is_income: _, totalAmount: u } = l,
|
|
1106
|
+
const { guid: f, name: p, is_income: _, totalAmount: u } = l, y = _ ? s.category_income : s.category_spending, S = to(f, a), g = _ ? s.income_label : s.spending_label, v = ` ${l.transactions.length === 1 ? s.transaction : s.transactions} (${l.transactions.length})`, E = c.useMemo(
|
|
1106
1107
|
() => h.find((M) => M.guid === i),
|
|
1107
1108
|
[i, h]
|
|
1108
1109
|
), I = (M) => M.category_guid === f || M.top_level_category_guid === f, x = () => {
|
|
1109
1110
|
o?.(), t(w.TRENDS_CLICK_BACK, V);
|
|
1110
1111
|
};
|
|
1111
|
-
return /* @__PURE__ */
|
|
1112
|
+
return /* @__PURE__ */ C(
|
|
1112
1113
|
ke,
|
|
1113
1114
|
{
|
|
1114
1115
|
ariaLabelClose: s.close_category_details,
|
|
1115
1116
|
isOpen: !0,
|
|
1116
1117
|
onClose: x,
|
|
1117
1118
|
shouldShowHeaderShadow: !0,
|
|
1118
|
-
title:
|
|
1119
|
+
title: y,
|
|
1119
1120
|
children: [
|
|
1120
|
-
/* @__PURE__ */
|
|
1121
|
-
/* @__PURE__ */
|
|
1121
|
+
/* @__PURE__ */ C(b, { sx: { alignItems: "center", height: "100%" }, children: [
|
|
1122
|
+
/* @__PURE__ */ C(eo, { sx: { borderRadius: 0, pb: 4, pt: 16, width: "100%" }, children: [
|
|
1122
1123
|
/* @__PURE__ */ e(
|
|
1123
1124
|
Ke,
|
|
1124
1125
|
{
|
|
1125
|
-
leftIcon: /* @__PURE__ */ e(
|
|
1126
|
+
leftIcon: /* @__PURE__ */ e(ve, { categoryGuid: f }),
|
|
1126
1127
|
rightContent: oe(Math.abs(u), "0,0.00"),
|
|
1127
1128
|
subtitle: m,
|
|
1128
1129
|
title: p
|
|
1129
1130
|
}
|
|
1130
1131
|
),
|
|
1131
|
-
/* @__PURE__ */ e(
|
|
1132
|
-
/* @__PURE__ */
|
|
1133
|
-
/* @__PURE__ */ e(
|
|
1134
|
-
/* @__PURE__ */ e(
|
|
1132
|
+
/* @__PURE__ */ e(Io, { chartColor: S, chartLabel: g }),
|
|
1133
|
+
/* @__PURE__ */ C(b, { alignItems: "center", direction: "row", justifyContent: "space-between", sx: { mx: 24 }, children: [
|
|
1134
|
+
/* @__PURE__ */ e(F, { bold: !0, variant: "body1", children: v }),
|
|
1135
|
+
/* @__PURE__ */ e(oo, { filter: I })
|
|
1135
1136
|
] })
|
|
1136
1137
|
] }),
|
|
1137
1138
|
/* @__PURE__ */ e(
|
|
@@ -1157,10 +1158,10 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
1157
1158
|
]
|
|
1158
1159
|
}
|
|
1159
1160
|
);
|
|
1160
|
-
}),
|
|
1161
|
-
const t =
|
|
1161
|
+
}), Ao = (o, a) => {
|
|
1162
|
+
const t = Ye(o, a), n = je(o, a);
|
|
1162
1163
|
return [t, n].filter((s) => s.length > 0);
|
|
1163
|
-
},
|
|
1164
|
+
}, Ro = (o, a) => {
|
|
1164
1165
|
const [t, n] = o, s = t, l = n ?? t, m = [];
|
|
1165
1166
|
if (s) {
|
|
1166
1167
|
const h = s.reduce((i, d) => i + d.y, 0);
|
|
@@ -1171,16 +1172,16 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
1171
1172
|
m.push({ label: a.spending_label, amount: h });
|
|
1172
1173
|
}
|
|
1173
1174
|
return m;
|
|
1174
|
-
},
|
|
1175
|
+
}, ko = ({
|
|
1175
1176
|
availableHeight: o = 0,
|
|
1176
1177
|
minHeight: a = 500,
|
|
1177
1178
|
selectedDateRange: t,
|
|
1178
1179
|
totals: n
|
|
1179
1180
|
}) => {
|
|
1180
|
-
const s =
|
|
1181
|
+
const s = we(), { onEvent: l } = P(), { trends: m } = O(), { isSmallMobile: h, isMobile: i, isSmallTablet: d, isTablet: f } = J(), p = [s.palette.chart?.chart1, s.palette.chart?.chart2], _ = Ao(n, t), u = Ro(_, m), [y, S] = c.useState(0), g = 458, v = 195, E = 56, I = i || h ? v : d || f ? g : y;
|
|
1181
1182
|
return c.useEffect(() => {
|
|
1182
1183
|
const M = Math.max(o - E, a);
|
|
1183
|
-
|
|
1184
|
+
S(M);
|
|
1184
1185
|
}, [o]), /* @__PURE__ */ e(
|
|
1185
1186
|
Ne,
|
|
1186
1187
|
{
|
|
@@ -1204,7 +1205,7 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
1204
1205
|
valueFormatterString: "0.0a"
|
|
1205
1206
|
}
|
|
1206
1207
|
);
|
|
1207
|
-
},
|
|
1208
|
+
}, Ho = R(ko), No = [
|
|
1208
1209
|
"BillAmountNotStandard",
|
|
1209
1210
|
"CategorySpendingV2",
|
|
1210
1211
|
"CostOfLivingToIncome",
|
|
@@ -1238,25 +1239,25 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
1238
1239
|
"WeeklyNewMerchantsV2",
|
|
1239
1240
|
"WeeklyNoSpendDays",
|
|
1240
1241
|
"WeeklySmallPurchasesSummary"
|
|
1241
|
-
],
|
|
1242
|
-
const { onEvent: n } = P(), { onLoad: s } =
|
|
1242
|
+
], Wo = ({ onBackClick: o, onInsightCardClick: a, sx: t }) => {
|
|
1243
|
+
const { onEvent: n } = P(), { onLoad: s } = _t(), { config: l } = Tt(), { isLargeDesktop: m, isDesktop: h, isMobile: i } = J(), { isAccountDataLoaded: d, loadAccountData: f, visibleAccounts: p } = Le(), {
|
|
1243
1244
|
categoriesLoaded: _,
|
|
1244
1245
|
loadCategories: u,
|
|
1245
|
-
loadDateRangeCategoryTotals:
|
|
1246
|
-
loadMonthlyCategoryTotals:
|
|
1246
|
+
loadDateRangeCategoryTotals: y,
|
|
1247
|
+
loadMonthlyCategoryTotals: S,
|
|
1247
1248
|
monthlyCategoryTotals: g
|
|
1248
|
-
} = Y(), { isTransactionDataLoaded: v, loadTransactionData: E, setFilter: I } = De(), { selectedDateRange: x, setSelectedCategoryData: M, setSelectedDateRange: k } = Ce(), { isInitialized: A, selectedAccounts: G, selectedAccountGuids: ee, setSelectedAccounts: ne } =
|
|
1249
|
+
} = Y(), { isTransactionDataLoaded: v, loadTransactionData: E, setFilter: I } = De(), { selectedDateRange: x, setSelectedCategoryData: M, setSelectedDateRange: k } = Ce(), { isInitialized: A, selectedAccounts: G, selectedAccountGuids: ee, setSelectedAccounts: ne } = fe(), { trends: H, connect: ue } = O(), { beatStore: B } = He(), ae = no() && l.show_insights_widget_in_master, z = h || m, [ye, U] = c.useState(!1), [K, re] = c.useState(!1), [X, Z] = c.useState("Chart"), [te, ie] = c.useState(""), [he, ce] = c.useState(!1), [le, D] = c.useState(window.innerHeight), r = z ? 56 : 0, T = le - 208, L = le - (ae ? 550 + r : 266), [j, _e] = c.useState(!1), Ee = l.show_connections_widget_in_master ? "buttons" : "no-buttons", de = c.useMemo(
|
|
1249
1250
|
() => p && p.length === 0 || g.length === 0,
|
|
1250
1251
|
[p, g]
|
|
1251
|
-
),
|
|
1252
|
+
), Te = c.useMemo(() => K ? B.getFilteredBeats({ templates: No }) : [], [K]);
|
|
1252
1253
|
c.useEffect(() => {
|
|
1253
1254
|
const N = () => D(window.innerHeight);
|
|
1254
1255
|
return window.addEventListener("resize", N), d || f().finally(), _ || u().finally(), v || E().finally(), () => window.removeEventListener("resize", N);
|
|
1255
1256
|
}, []), c.useEffect(() => {
|
|
1256
1257
|
ne(p);
|
|
1257
1258
|
}, [p]), c.useEffect(() => {
|
|
1258
|
-
A && (B.loadBeats().finally(() => re(!0)),
|
|
1259
|
-
|
|
1259
|
+
A && (B.loadBeats().finally(() => re(!0)), y(G, x.start, x.end).then(() => {
|
|
1260
|
+
S(
|
|
1260
1261
|
G,
|
|
1261
1262
|
x.start,
|
|
1262
1263
|
x.end
|
|
@@ -1276,95 +1277,95 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
1276
1277
|
I({
|
|
1277
1278
|
...N,
|
|
1278
1279
|
custom: (q) => !!g.find(
|
|
1279
|
-
(
|
|
1280
|
+
(ge) => ge.top_level_category_guid === q.top_level_category_guid || ge.category_guid === q.category_guid
|
|
1280
1281
|
)
|
|
1281
1282
|
});
|
|
1282
1283
|
}
|
|
1283
1284
|
}, [g]);
|
|
1284
1285
|
const Ie = (N) => {
|
|
1285
1286
|
M(N), ce(!0);
|
|
1286
|
-
}, tt = () => {
|
|
1287
|
-
M(null), ce(!1);
|
|
1288
1287
|
}, ot = () => {
|
|
1289
|
-
|
|
1290
|
-
}, nt = (
|
|
1288
|
+
M(null), ce(!1);
|
|
1289
|
+
}, nt = () => {
|
|
1290
|
+
_e(!0), n(w.TRENDS_CLICK_CONNECT_ACCOUNTS);
|
|
1291
|
+
}, st = (N, q) => {
|
|
1291
1292
|
Z(q ?? X), n(w.TRENDS_CLICK_TOGGLE_VIEW, {
|
|
1292
1293
|
...V,
|
|
1293
1294
|
toggleView: q
|
|
1294
1295
|
});
|
|
1295
|
-
},
|
|
1296
|
-
const q =
|
|
1297
|
-
k({ start: q, end:
|
|
1296
|
+
}, at = (N) => {
|
|
1297
|
+
const q = $e(N?.[0], 1), ge = N?.[1], lt = Ae(ge, q);
|
|
1298
|
+
k({ start: q, end: ge }), n(w.TRENDS_CLICK_TIME_WINDOW, {
|
|
1298
1299
|
...V,
|
|
1299
|
-
time_period:
|
|
1300
|
+
time_period: lt + "M"
|
|
1300
1301
|
});
|
|
1301
|
-
},
|
|
1302
|
+
}, rt = (N) => {
|
|
1302
1303
|
n(w.TRENDS_CLICK_FILTER, {
|
|
1303
1304
|
...V,
|
|
1304
1305
|
filterValue: N
|
|
1305
1306
|
});
|
|
1306
|
-
},
|
|
1307
|
+
}, it = (N) => {
|
|
1307
1308
|
ie(N);
|
|
1308
|
-
},
|
|
1309
|
+
}, ct = () => {
|
|
1309
1310
|
ie(""), n(w.TRENDS_CLICK_ALL_CATEGORIES, V);
|
|
1310
1311
|
};
|
|
1311
|
-
return !A || !
|
|
1312
|
+
return !A || !ye ? /* @__PURE__ */ e(pe, {}) : /* @__PURE__ */ C(
|
|
1312
1313
|
Ue,
|
|
1313
1314
|
{
|
|
1314
1315
|
accountOptions: p,
|
|
1315
|
-
calendarActions: { onRangeChanged:
|
|
1316
|
+
calendarActions: { onRangeChanged: at },
|
|
1316
1317
|
dateRange: x,
|
|
1317
1318
|
dateRangeVariant: i ? "timeframetabs" : "timeframebuttons",
|
|
1318
|
-
onAccountsFilterClick:
|
|
1319
|
+
onAccountsFilterClick: rt,
|
|
1319
1320
|
onBackClick: o,
|
|
1320
1321
|
sx: t,
|
|
1321
1322
|
title: H.title,
|
|
1322
1323
|
children: [
|
|
1323
1324
|
de && /* @__PURE__ */ e(
|
|
1324
|
-
|
|
1325
|
+
so,
|
|
1325
1326
|
{
|
|
1326
1327
|
header: H.zero_state_content_header,
|
|
1327
1328
|
icon: "",
|
|
1328
|
-
onClick:
|
|
1329
|
+
onClick: nt,
|
|
1329
1330
|
primaryButton: H.empty_state_primary,
|
|
1330
1331
|
subText: H.empty_state_sub_text,
|
|
1331
1332
|
sx: { height: T },
|
|
1332
1333
|
variant: Ee
|
|
1333
1334
|
}
|
|
1334
1335
|
),
|
|
1335
|
-
!de && /* @__PURE__ */
|
|
1336
|
-
|
|
1336
|
+
!de && /* @__PURE__ */ C(
|
|
1337
|
+
b,
|
|
1337
1338
|
{
|
|
1338
1339
|
sx: {
|
|
1339
1340
|
px: i ? 0 : 48
|
|
1340
1341
|
},
|
|
1341
1342
|
children: [
|
|
1342
|
-
/* @__PURE__ */
|
|
1343
|
-
|
|
1343
|
+
/* @__PURE__ */ C(
|
|
1344
|
+
b,
|
|
1344
1345
|
{
|
|
1345
1346
|
flexDirection: "row",
|
|
1346
1347
|
justifyContent: "space-between",
|
|
1347
1348
|
sx: { pb: i ? 12 : 24, pt: i ? 24 : 48 },
|
|
1348
1349
|
children: [
|
|
1349
1350
|
/* @__PURE__ */ e(
|
|
1350
|
-
|
|
1351
|
+
et,
|
|
1351
1352
|
{
|
|
1352
1353
|
selectedCategoryGuid: te,
|
|
1353
1354
|
selectedDateRange: x
|
|
1354
1355
|
}
|
|
1355
1356
|
),
|
|
1356
|
-
/* @__PURE__ */ e(
|
|
1357
|
+
/* @__PURE__ */ e(Je, { onTabChange: st, selectedTab: X })
|
|
1357
1358
|
]
|
|
1358
1359
|
}
|
|
1359
1360
|
),
|
|
1360
|
-
/* @__PURE__ */ e(
|
|
1361
|
+
/* @__PURE__ */ e(b, { alignItems: "center", flexDirection: "row", width: "100%", children: /* @__PURE__ */ e(W, { flexGrow: 1, children: te && /* @__PURE__ */ C(be, { onClick: ct, sx: { p: 0, pr: 5 }, children: [
|
|
1361
1362
|
/* @__PURE__ */ e(Se, { name: "arrow_back" }),
|
|
1362
1363
|
H.all_categories
|
|
1363
1364
|
] }) }) }),
|
|
1364
|
-
/* @__PURE__ */
|
|
1365
|
-
X === "Chart" && /* @__PURE__ */
|
|
1366
|
-
/* @__PURE__ */ e(W, { sx: { width:
|
|
1367
|
-
|
|
1365
|
+
/* @__PURE__ */ C(b, { flexDirection: z ? "row" : "column", gap: z ? 48 : 16, children: [
|
|
1366
|
+
X === "Chart" && /* @__PURE__ */ C(dt, { children: [
|
|
1367
|
+
/* @__PURE__ */ e(W, { sx: { width: z ? "68%" : "100%" }, children: /* @__PURE__ */ e(
|
|
1368
|
+
Ho,
|
|
1368
1369
|
{
|
|
1369
1370
|
availableHeight: T,
|
|
1370
1371
|
minHeight: 450,
|
|
@@ -1372,16 +1373,16 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
1372
1373
|
totals: g
|
|
1373
1374
|
}
|
|
1374
1375
|
) }),
|
|
1375
|
-
/* @__PURE__ */
|
|
1376
|
-
ae && K &&
|
|
1377
|
-
|
|
1376
|
+
/* @__PURE__ */ C(b, { gap: 16, sx: { width: z ? "32%" : "100%" }, children: [
|
|
1377
|
+
ae && K && Te.length > 0 && /* @__PURE__ */ e(
|
|
1378
|
+
Eo,
|
|
1378
1379
|
{
|
|
1379
|
-
beats:
|
|
1380
|
+
beats: Te,
|
|
1380
1381
|
onInsightCardClick: a
|
|
1381
1382
|
}
|
|
1382
1383
|
),
|
|
1383
1384
|
/* @__PURE__ */ e(
|
|
1384
|
-
|
|
1385
|
+
Do,
|
|
1385
1386
|
{
|
|
1386
1387
|
availableHeight: L,
|
|
1387
1388
|
onCategoryClick: Ie
|
|
@@ -1390,36 +1391,36 @@ const qe = ({ categoryGuid: o, topLevelCategoryGuid: a }) => {
|
|
|
1390
1391
|
] })
|
|
1391
1392
|
] }),
|
|
1392
1393
|
X === "Table" && /* @__PURE__ */ e(W, { sx: { width: "100%" }, children: /* @__PURE__ */ e(
|
|
1393
|
-
|
|
1394
|
+
tt,
|
|
1394
1395
|
{
|
|
1395
1396
|
height: "unset",
|
|
1396
1397
|
monthlyCategoryTotals: g,
|
|
1397
|
-
onClickRow:
|
|
1398
|
+
onClickRow: it,
|
|
1398
1399
|
selectedCategory: te,
|
|
1399
1400
|
selectedDateRange: x
|
|
1400
1401
|
}
|
|
1401
1402
|
) })
|
|
1402
1403
|
] }),
|
|
1403
|
-
|
|
1404
|
+
he && /* @__PURE__ */ e(Mo, { onClose: ot })
|
|
1404
1405
|
]
|
|
1405
1406
|
}
|
|
1406
1407
|
),
|
|
1407
1408
|
/* @__PURE__ */ e(
|
|
1408
|
-
|
|
1409
|
+
ao,
|
|
1409
1410
|
{
|
|
1410
|
-
onClose: () =>
|
|
1411
|
+
onClose: () => _e(!1),
|
|
1411
1412
|
showConnectWidget: j,
|
|
1412
|
-
title:
|
|
1413
|
+
title: ue.mini_title
|
|
1413
1414
|
}
|
|
1414
1415
|
)
|
|
1415
1416
|
]
|
|
1416
1417
|
}
|
|
1417
1418
|
);
|
|
1418
|
-
},
|
|
1419
|
+
}, Vn = R(Wo);
|
|
1419
1420
|
export {
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1421
|
+
On as TrendsFullWidget,
|
|
1422
|
+
Bn as TrendsMicroWidget,
|
|
1423
|
+
Gn as TrendsMiniWidget,
|
|
1424
|
+
Fn as TrendsStore,
|
|
1425
|
+
Vn as TrendsWidget
|
|
1425
1426
|
};
|