@mx-cartographer/experiences 7.10.18 → 7.10.20
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/CHANGELOG.md +8 -0
- package/dist/{AccountDetailsHeader-C4V-fdYo.mjs → AccountDetailsHeader-BQCtsUCR.mjs} +3 -3
- package/dist/{AccountFields-CzfB9Q8i.mjs → AccountFields-9vXdZkDs.mjs} +1 -1
- package/dist/{AccountListItem-DMypRg6w.mjs → AccountListItem-DCAz4UyZ.mjs} +3 -3
- package/dist/{AccountStore-MG4m41XY.mjs → AccountStore-yQyWbrio.mjs} +1 -1
- package/dist/BudgetUtil-DKNyjCWc.mjs +238 -0
- package/dist/{CategorySelectorDrawer-DCGWu9Vd.mjs → CategorySelectorDrawer-CPIIt1lu.mjs} +1 -1
- package/dist/{ConnectionsDrawer-GcyfM8yJ.mjs → ConnectionsDrawer-uWuM7QfF.mjs} +2 -2
- package/dist/{CurrencyInput-DUJ_mlm_.mjs → CurrencyInput-niY2izw5.mjs} +1 -1
- package/dist/{ExportCsvAction-C4GQ4id5.mjs → ExportCsvAction-D5PGUKAT.mjs} +3 -3
- package/dist/{GlobalAccountFilter-xZ4Z8AE-.mjs → GlobalAccountFilter-CjTLppI0.mjs} +1 -1
- package/dist/{GoalStore-CpK43RJt.mjs → GoalStore-ZZir5h81.mjs} +1 -1
- package/dist/{Help-C0hzCqyd.mjs → Help-CVnUNnEo.mjs} +1 -1
- package/dist/{InvestmentUtil-jOyOgzIB.mjs → InvestmentUtil-BItV7uEs.mjs} +17 -17
- package/dist/{LineChart-CfkLqqXU.mjs → LineChart-BDTOgWUr.mjs} +1 -1
- package/dist/{ListItemAction-CpS4YY0y.mjs → ListItemAction-DrDDQgt7.mjs} +1 -1
- package/dist/{ManageIncome-dg9SzlFk.mjs → ManageIncome-UYZbu_-I.mjs} +10 -10
- package/dist/{MicroWidgetContainer-CX0qZ57D.mjs → MicroWidgetContainer-Cg0wb2gg.mjs} +1 -1
- package/dist/{MiniWidgetContainer-BHk-RlKA.mjs → MiniWidgetContainer-BPuE3cfO.mjs} +1 -1
- package/dist/{NotificationSettings-x5syewdH.mjs → NotificationSettings-CmGGheIN.mjs} +4 -4
- package/dist/{OriginalBalanceAction-BctEUz31.mjs → OriginalBalanceAction-BaJhCWa3.mjs} +3 -3
- package/dist/{RecurringSettings-D4WseZd1.mjs → RecurringSettings-D2uU-HNE.mjs} +3 -3
- package/dist/{SpendingLegend-Ct-XcqUs.mjs → SpendingLegend-CQ2rxhRM.mjs} +1 -1
- package/dist/StatusIndicator-yCwjN_ky.mjs +55 -0
- package/dist/{TransactionDetails-BEQAfeE3.mjs → TransactionDetails-LEP8qGrR.mjs} +5 -5
- package/dist/{TransactionStore-Cm9rQ1XO.mjs → TransactionStore-BrAMgM2Q.mjs} +2 -2
- package/dist/{User-Cdyam577.mjs → User-CYt9qNY3.mjs} +1 -1
- package/dist/{ViewMoreMicroCard-CqwQCYwV.mjs → ViewMoreMicroCard-Vux8_OC0.mjs} +1 -1
- package/dist/{WidgetContainer-BV3Rll6V.mjs → WidgetContainer-BxRQazKR.mjs} +2 -2
- package/dist/accounts/index.es.js +15 -15
- package/dist/analytics/index.es.js +11 -11
- package/dist/budgets/components/BudgetDetailsDrawerV2.d.ts +8 -0
- package/dist/budgets/index.d.ts +2 -1
- package/dist/budgets/index.es.js +754 -576
- package/dist/cashflow/index.es.js +8 -8
- package/dist/categories/index.es.js +1 -1
- package/dist/common/components/CurrencyDialog.d.ts +19 -0
- package/dist/common/components/index.d.ts +1 -0
- package/dist/common/index.es.js +199 -198
- package/dist/common/types/localization/BudgetsCopy.d.ts +15 -0
- package/dist/common/types/localization/CommonCopy.d.ts +1 -0
- package/dist/dashboard/index.es.js +3 -3
- package/dist/debts/index.es.js +7 -7
- package/dist/{exportTransactionsToCSV-DoifE4Fe.mjs → exportTransactionsToCSV-DK9U4Lmk.mjs} +1 -1
- package/dist/finstrong/index.es.js +11 -11
- package/dist/goals/index.es.js +10 -10
- package/dist/help/index.es.js +4 -4
- package/dist/{hooks-BUCn6FeJ.mjs → hooks-DWJQ4phS.mjs} +3 -3
- package/dist/insights/components/index.d.ts +0 -1
- package/dist/insights/components/shared/ChartDrawerTemplate/ChartDrawerTemplate.d.ts +2 -2
- package/dist/insights/components/shared/ChartTransactionWithDrillDown.d.ts +21 -0
- package/dist/insights/index.es.js +1174 -1366
- package/dist/investments/index.es.js +5 -5
- package/dist/merchants/index.es.js +1 -1
- package/dist/microinsights/index.es.js +1 -1
- package/dist/networth/index.es.js +6 -6
- package/dist/notifications/index.es.js +6 -6
- package/dist/recurringtransactions/index.es.js +9 -9
- package/dist/settings/index.es.js +7 -7
- package/dist/spending/index.es.js +7 -7
- package/dist/transactions/index.es.js +14 -14
- package/dist/trends/index.es.js +11 -11
- package/dist/{useAccountDisplayName-D27PXvdj.mjs → useAccountDisplayName-Ces0fqkF.mjs} +1 -1
- package/dist/{useInsightsEnabled-CzhMEHNx.mjs → useInsightsEnabled-B4AlxgOP.mjs} +1 -1
- package/dist/{useWidgetLoadTimer-BYMP5Q8g.mjs → useWidgetLoadTimer-BbV8q0k6.mjs} +1 -1
- package/package.json +1 -1
- package/dist/BudgetUtil-CrAD2kHT.mjs +0 -101
- package/dist/insights/components/shared/FormDialog.d.ts +0 -16
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [7.10.20] - 02-16-2026
|
|
2
|
+
|
|
3
|
+
- **ADDED** - Budget Details V2 drawer and drilldown charts/transactions for Insights MUI
|
|
4
|
+
|
|
5
|
+
## [7.10.19] - 02-13-2026
|
|
6
|
+
|
|
7
|
+
- **FIXED** - Bug causing Investment widget analysis to crash MD.
|
|
8
|
+
|
|
1
9
|
## [7.10.18] - 02-13-2026
|
|
2
10
|
|
|
3
11
|
- **FIXED** - Deep link parameters for date range in Spending widget
|
|
@@ -3,15 +3,15 @@ import { observer as f } from "mobx-react-lite";
|
|
|
3
3
|
import a from "@mui/material/Stack";
|
|
4
4
|
import { H3 as T, InstitutionLogo as x, Text as l, H2 as D } from "@mxenabled/mxui";
|
|
5
5
|
import p from "react";
|
|
6
|
-
import { G as N, d as _, m as P, f as G, u as O } from "./hooks-
|
|
7
|
-
import { g as R } from "./AccountFields-
|
|
6
|
+
import { G as N, d as _, m as P, f as G, u as O } from "./hooks-DWJQ4phS.mjs";
|
|
7
|
+
import { g as R } from "./AccountFields-9vXdZkDs.mjs";
|
|
8
8
|
import { A as r } from "./Account-BiB1F8lL.mjs";
|
|
9
9
|
import w from "@mui/material/Card";
|
|
10
10
|
import v from "@mui/material/CardContent";
|
|
11
11
|
import L from "@mui/material/CardHeader";
|
|
12
12
|
import { L as H } from "./Loader-DUaFpDGv.mjs";
|
|
13
13
|
import { I as M, P as U, S as Y } from "./Account-DuOz1a27.mjs";
|
|
14
|
-
import { u as j } from "./useAccountDisplayName-
|
|
14
|
+
import { u as j } from "./useAccountDisplayName-Ces0fqkF.mjs";
|
|
15
15
|
import { f as z } from "./NumberFormatting-DjTD0t3W.mjs";
|
|
16
16
|
const C = () => {
|
|
17
17
|
if (!p.useContext(N))
|
|
@@ -2,7 +2,7 @@ import { jsx as u } from "react/jsx-runtime";
|
|
|
2
2
|
import { Icon as p, Text as y } from "@mxenabled/mxui";
|
|
3
3
|
import { A as d, a as v, P as h, b as F } from "./Account-BiB1F8lL.mjs";
|
|
4
4
|
import { i as T, u as D, a as A, b as g, c as O } from "./Accounts-M-LTzStv.mjs";
|
|
5
|
-
import { F as m } from "./GlobalAccountFilter-
|
|
5
|
+
import { F as m } from "./GlobalAccountFilter-CjTLppI0.mjs";
|
|
6
6
|
import { f as _, i as b, a as N, b as S } from "./NumberFormatting-DjTD0t3W.mjs";
|
|
7
7
|
import { b as i } from "./Localization-2MODESHW.mjs";
|
|
8
8
|
import { f as o, D as f } from "./DateFormats-Cs-NbEZ7.mjs";
|
|
@@ -10,9 +10,9 @@ import B from "@mui/material/styles/useTheme";
|
|
|
10
10
|
import { InstitutionLogo as L, Text as o } from "@mxenabled/mxui";
|
|
11
11
|
import { Error as A } from "@mxenabled/mx-icons";
|
|
12
12
|
import { I as j } from "./IconBacking-B9oC6uL2.mjs";
|
|
13
|
-
import { g as T } from "./AccountFields-
|
|
14
|
-
import { u as X } from "./useAccountDisplayName-
|
|
15
|
-
import { u as $ } from "./hooks-
|
|
13
|
+
import { g as T } from "./AccountFields-9vXdZkDs.mjs";
|
|
14
|
+
import { u as X } from "./useAccountDisplayName-Ces0fqkF.mjs";
|
|
15
|
+
import { u as $ } from "./hooks-DWJQ4phS.mjs";
|
|
16
16
|
import { C as d } from "./Account-BiB1F8lL.mjs";
|
|
17
17
|
import { f as k } from "./NumberFormatting-DjTD0t3W.mjs";
|
|
18
18
|
const w = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { makeAutoObservable as h, runInAction as a } from "mobx";
|
|
2
|
-
import { i as g } from "./User-
|
|
2
|
+
import { i as g } from "./User-CYt9qNY3.mjs";
|
|
3
3
|
import { A as d } from "./AccountApi-DgZ8ILj1.mjs";
|
|
4
4
|
import { d as m } from "./Accounts-M-LTzStv.mjs";
|
|
5
5
|
import { A as s, d as u } from "./Account-BiB1F8lL.mjs";
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { jsx as c, jsxs as f } from "react/jsx-runtime";
|
|
2
|
+
import { Icon as w } from "@mxenabled/mx-icons";
|
|
3
|
+
import { H3 as M, P as S } from "@mxenabled/mxui";
|
|
4
|
+
import C from "@mui/material/Button";
|
|
5
|
+
import j from "@mui/material/Dialog";
|
|
6
|
+
import F from "@mui/material/DialogActions";
|
|
7
|
+
import P from "@mui/material/DialogContent";
|
|
8
|
+
import A from "@mui/material/IconButton";
|
|
9
|
+
import G from "@mui/material/InputAdornment";
|
|
10
|
+
import _ from "@mui/material/Stack";
|
|
11
|
+
import $ from "@mui/material/TextField";
|
|
12
|
+
import { k as E } from "./hooks-DWJQ4phS.mjs";
|
|
13
|
+
import { b as B } from "./Category-CevNQ03n.mjs";
|
|
14
|
+
import { b as x } from "./Localization-2MODESHW.mjs";
|
|
15
|
+
import { f as h } from "./NumberFormatting-DjTD0t3W.mjs";
|
|
16
|
+
const D = (o, e) => o.find((t) => t.guid === e), H = (o, e) => o.find((t) => t.guid === e), O = (o, e) => {
|
|
17
|
+
const t = o.find((r) => r.subCategories.find((a) => a.guid === e));
|
|
18
|
+
if (t)
|
|
19
|
+
return t.subCategories.find((r) => r.guid === e);
|
|
20
|
+
}, rt = (o, e) => {
|
|
21
|
+
const t = [];
|
|
22
|
+
for (const r of e) {
|
|
23
|
+
const a = D(o, r.category_guid);
|
|
24
|
+
if (!a) continue;
|
|
25
|
+
const n = a.parent_guid ?? a.guid, i = D(o, n);
|
|
26
|
+
if (!i) continue;
|
|
27
|
+
const s = {
|
|
28
|
+
amount: r.total,
|
|
29
|
+
category: a,
|
|
30
|
+
guid: a.guid,
|
|
31
|
+
subCategoryTotals: []
|
|
32
|
+
}, u = t.find((d) => d.guid === n);
|
|
33
|
+
u ? (u.amount += r.total, u.subCategoryTotals.push(s)) : t.push({
|
|
34
|
+
amount: r.total,
|
|
35
|
+
category: i,
|
|
36
|
+
guid: n,
|
|
37
|
+
subCategoryTotals: [s]
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return t;
|
|
41
|
+
}, nt = (o, e) => {
|
|
42
|
+
const t = o.find((r) => r.guid === e);
|
|
43
|
+
return t ? t.guid === B.INCOME || t.parent_guid === B.INCOME : !1;
|
|
44
|
+
}, R = ({
|
|
45
|
+
closeAriaLabel: o,
|
|
46
|
+
content: e,
|
|
47
|
+
inputLabel: t,
|
|
48
|
+
inputValue: r,
|
|
49
|
+
isOpen: a,
|
|
50
|
+
handleInputChange: n,
|
|
51
|
+
handleModalClose: i,
|
|
52
|
+
handlePrimaryAction: s,
|
|
53
|
+
handleSecondaryAction: u,
|
|
54
|
+
primaryColor: d = "primary",
|
|
55
|
+
primaryText: l,
|
|
56
|
+
secondaryColor: p = "primary",
|
|
57
|
+
secondaryText: m,
|
|
58
|
+
title: b
|
|
59
|
+
}) => {
|
|
60
|
+
const N = parseFloat(r ?? "0"), T = r !== "" && !isNaN(N);
|
|
61
|
+
return /* @__PURE__ */ c(
|
|
62
|
+
j,
|
|
63
|
+
{
|
|
64
|
+
"aria-label": b,
|
|
65
|
+
"aria-labelledby": "modal-title",
|
|
66
|
+
maxWidth: "xs",
|
|
67
|
+
onClose: i,
|
|
68
|
+
open: a,
|
|
69
|
+
role: "dialog",
|
|
70
|
+
sx: { "& .MuiDialogContent-root": { p: 0 } },
|
|
71
|
+
children: /* @__PURE__ */ c(P, { children: /* @__PURE__ */ f(
|
|
72
|
+
"form",
|
|
73
|
+
{
|
|
74
|
+
onSubmit: (g) => {
|
|
75
|
+
g.preventDefault(), s();
|
|
76
|
+
},
|
|
77
|
+
children: [
|
|
78
|
+
/* @__PURE__ */ f(
|
|
79
|
+
_,
|
|
80
|
+
{
|
|
81
|
+
sx: {
|
|
82
|
+
alignItems: "center",
|
|
83
|
+
flexDirection: "row",
|
|
84
|
+
justifyContent: "space-between",
|
|
85
|
+
pb: 12,
|
|
86
|
+
pl: 24,
|
|
87
|
+
position: "relative",
|
|
88
|
+
pr: 16,
|
|
89
|
+
pt: 24
|
|
90
|
+
},
|
|
91
|
+
children: [
|
|
92
|
+
/* @__PURE__ */ c(M, { id: "modal-title", children: b }),
|
|
93
|
+
/* @__PURE__ */ c(
|
|
94
|
+
A,
|
|
95
|
+
{
|
|
96
|
+
"aria-label": o,
|
|
97
|
+
onClick: i,
|
|
98
|
+
sx: { minHeight: 24, position: "absolute", right: 8, top: 18 },
|
|
99
|
+
children: /* @__PURE__ */ c(w, { name: "close", sx: { color: "action.active" } })
|
|
100
|
+
}
|
|
101
|
+
)
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
),
|
|
105
|
+
/* @__PURE__ */ f(_, { sx: { gap: 24, px: 24 }, children: [
|
|
106
|
+
/* @__PURE__ */ c(S, { variant: "subtitle1", children: e }),
|
|
107
|
+
t && /* @__PURE__ */ c(
|
|
108
|
+
$,
|
|
109
|
+
{
|
|
110
|
+
InputProps: {
|
|
111
|
+
startAdornment: /* @__PURE__ */ c(G, { position: "start", children: "$" })
|
|
112
|
+
},
|
|
113
|
+
autoFocus: !0,
|
|
114
|
+
inputMode: "decimal",
|
|
115
|
+
inputProps: {
|
|
116
|
+
"aria-label": t,
|
|
117
|
+
noValidate: !0,
|
|
118
|
+
pattern: "[0-9]*\\.?[0-9]*"
|
|
119
|
+
},
|
|
120
|
+
label: t,
|
|
121
|
+
onChange: ({ target: { value: g } }) => {
|
|
122
|
+
if (!/^\d*\.?\d*$/.test(g)) return;
|
|
123
|
+
const y = parseFloat(g);
|
|
124
|
+
isNaN(y) || n?.(y);
|
|
125
|
+
},
|
|
126
|
+
type: "number",
|
|
127
|
+
value: r
|
|
128
|
+
}
|
|
129
|
+
)
|
|
130
|
+
] }),
|
|
131
|
+
/* @__PURE__ */ f(
|
|
132
|
+
F,
|
|
133
|
+
{
|
|
134
|
+
sx: {
|
|
135
|
+
justifyContent: "flex-end",
|
|
136
|
+
gap: 16,
|
|
137
|
+
p: 24,
|
|
138
|
+
">:not(style)~:not(style)": { ml: 0 }
|
|
139
|
+
},
|
|
140
|
+
children: [
|
|
141
|
+
m && /* @__PURE__ */ c(
|
|
142
|
+
C,
|
|
143
|
+
{
|
|
144
|
+
"aria-label": m,
|
|
145
|
+
color: p,
|
|
146
|
+
onClick: u,
|
|
147
|
+
children: m
|
|
148
|
+
}
|
|
149
|
+
),
|
|
150
|
+
/* @__PURE__ */ c(
|
|
151
|
+
C,
|
|
152
|
+
{
|
|
153
|
+
"aria-label": l,
|
|
154
|
+
color: d,
|
|
155
|
+
disabled: t ? !T : !1,
|
|
156
|
+
onClick: s,
|
|
157
|
+
variant: "contained",
|
|
158
|
+
children: l
|
|
159
|
+
}
|
|
160
|
+
)
|
|
161
|
+
]
|
|
162
|
+
}
|
|
163
|
+
)
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
) })
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
}, at = R, v = (o, e) => !o && !e ? 0 : !o && e ? 101 : e / o * 100, k = (o, e) => {
|
|
170
|
+
const t = {
|
|
171
|
+
background: e.palette.success.main,
|
|
172
|
+
description: o <= 100 ? e.palette.text.secondary : e.palette.error.main,
|
|
173
|
+
text: e.palette.common.white,
|
|
174
|
+
mercury: e.palette.success.lighter
|
|
175
|
+
};
|
|
176
|
+
return o > 100 ? (t.background = e.palette.error.main, t.mercury = e.palette.error.lighter) : o > 80 && (t.background = e.palette.warning.main, t.text = e.palette.grey[900], t.mercury = e.palette.warning.lighter), t;
|
|
177
|
+
}, it = () => {
|
|
178
|
+
const { detailedBudgets: o } = E();
|
|
179
|
+
return o.map((t) => {
|
|
180
|
+
const r = t.transaction_total;
|
|
181
|
+
return t.amount - r;
|
|
182
|
+
}).reduce((t, r) => t + r, 0);
|
|
183
|
+
}, st = (o, e, t, r) => {
|
|
184
|
+
const a = [];
|
|
185
|
+
for (const n of o) {
|
|
186
|
+
const i = H(e, n.category_guid);
|
|
187
|
+
if (!i) continue;
|
|
188
|
+
const s = i.totalAmount, u = v(n.amount, s), d = n.amount - s;
|
|
189
|
+
a.push({
|
|
190
|
+
...n,
|
|
191
|
+
budgetColors: k(u, r),
|
|
192
|
+
category: i,
|
|
193
|
+
description: x(
|
|
194
|
+
d < 0 ? t.budget_remaining_over : t.budget_remaining_left,
|
|
195
|
+
h(Math.abs(d), "0,0")
|
|
196
|
+
),
|
|
197
|
+
percentage: u,
|
|
198
|
+
subBudgets: [],
|
|
199
|
+
transaction_total: s
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
for (const n of o) {
|
|
203
|
+
const i = O(e, n.category_guid);
|
|
204
|
+
if (!i) continue;
|
|
205
|
+
const s = i.currentAmount, u = a.find((p) => p.category_guid === i.parent_guid);
|
|
206
|
+
if (!u) continue;
|
|
207
|
+
const d = n.amount - s, l = v(n.amount, s);
|
|
208
|
+
u && u.subBudgets.push({
|
|
209
|
+
...n,
|
|
210
|
+
budgetColors: k(l, r),
|
|
211
|
+
category: i,
|
|
212
|
+
description: x(
|
|
213
|
+
d < 0 ? t.budget_remaining_over : t.budget_remaining_left,
|
|
214
|
+
h(Math.abs(d), "0,0")
|
|
215
|
+
),
|
|
216
|
+
percentage: l,
|
|
217
|
+
subBudgets: [],
|
|
218
|
+
transaction_total: s
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
return a;
|
|
222
|
+
}, I = (o, e) => o.find((t) => t.guid === e), ut = (o, e, t) => {
|
|
223
|
+
const r = I(o, t);
|
|
224
|
+
if (r)
|
|
225
|
+
return I(r.subBudgets, e);
|
|
226
|
+
};
|
|
227
|
+
export {
|
|
228
|
+
at as C,
|
|
229
|
+
ut as a,
|
|
230
|
+
st as b,
|
|
231
|
+
H as c,
|
|
232
|
+
O as d,
|
|
233
|
+
rt as e,
|
|
234
|
+
I as f,
|
|
235
|
+
D as g,
|
|
236
|
+
nt as i,
|
|
237
|
+
it as u
|
|
238
|
+
};
|
|
@@ -2,7 +2,7 @@ import { jsx as t, jsxs as g } from "react/jsx-runtime";
|
|
|
2
2
|
import { observer as E } from "mobx-react-lite";
|
|
3
3
|
import _ from "react";
|
|
4
4
|
import K from "@mui/material/Stack";
|
|
5
|
-
import { G as V, m as b, u as h, g as D, b as U } from "./hooks-
|
|
5
|
+
import { G as V, m as b, u as h, g as D, b as U } from "./hooks-DWJQ4phS.mjs";
|
|
6
6
|
import Y from "@mui/material/List";
|
|
7
7
|
import W from "@mui/material/Paper";
|
|
8
8
|
import k from "@mui/material/Divider";
|
|
@@ -3,8 +3,8 @@ import s from "react";
|
|
|
3
3
|
import { observer as E } from "mobx-react-lite";
|
|
4
4
|
import { useTheme as _ } from "@mui/material/styles";
|
|
5
5
|
import { ConnectionsWidget as b } from "@mxenabled/web-widget-sdk";
|
|
6
|
-
import { C as a, a as c, M as i } from "./GlobalAccountFilter-
|
|
7
|
-
import { d as D, e as L, u as w } from "./hooks-
|
|
6
|
+
import { C as a, a as c, M as i } from "./GlobalAccountFilter-CjTLppI0.mjs";
|
|
7
|
+
import { d as D, e as L, u as w } from "./hooks-DWJQ4phS.mjs";
|
|
8
8
|
import { D as x } from "./Drawer-DV4NTsFg.mjs";
|
|
9
9
|
const I = ({
|
|
10
10
|
onClose: l,
|
|
@@ -5,7 +5,7 @@ import { v4 as B } from "uuid";
|
|
|
5
5
|
import { useTokens as L, TextField as O, P as _ } from "@mxenabled/mxui";
|
|
6
6
|
import { b as y, g as C } from "./Localization-2MODESHW.mjs";
|
|
7
7
|
import { g as W, C as j, f as g, M as b } from "./NumberFormatting-DjTD0t3W.mjs";
|
|
8
|
-
import { u as F } from "./hooks-
|
|
8
|
+
import { u as F } from "./hooks-DWJQ4phS.mjs";
|
|
9
9
|
const G = ({
|
|
10
10
|
allowDecimals: r = !0,
|
|
11
11
|
ariaLabel: h,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import { observer as c } from "mobx-react-lite";
|
|
3
3
|
import { Icon as i } from "@mxenabled/mxui";
|
|
4
|
-
import { e as p } from "./exportTransactionsToCSV-
|
|
5
|
-
import { O as m } from "./User-
|
|
4
|
+
import { e as p } from "./exportTransactionsToCSV-DK9U4Lmk.mjs";
|
|
5
|
+
import { O as m } from "./User-CYt9qNY3.mjs";
|
|
6
6
|
import { R as x } from "./ResponsiveButton-DZFp78fJ.mjs";
|
|
7
|
-
import { g as _, h as C, u as l } from "./hooks-
|
|
7
|
+
import { g as _, h as C, u as l } from "./hooks-DWJQ4phS.mjs";
|
|
8
8
|
const v = ({ filter: t }) => {
|
|
9
9
|
const { onEvent: r } = _(), { tags: e, sortedTransactions: s } = C(), { transactions: n } = l(), a = () => {
|
|
10
10
|
r(m.ON_TRANSACTION_EXPORT_CSV_CLICK), p(t ? s.filter(t) : s, e);
|
|
@@ -16,7 +16,7 @@ import v from "@mui/material/ListItem";
|
|
|
16
16
|
import L from "@mui/material/ListItemButton";
|
|
17
17
|
import q from "@mui/material/ListItemIcon";
|
|
18
18
|
import E from "@mui/material/ListItemText";
|
|
19
|
-
import { b as O, u as A, d as z, e as J, a as K } from "./hooks-
|
|
19
|
+
import { b as O, u as A, d as z, e as J, a as K } from "./hooks-DWJQ4phS.mjs";
|
|
20
20
|
import Q from "@mui/material/styles/useTheme";
|
|
21
21
|
import { ConnectWidget as V } from "@mxenabled/web-widget-sdk";
|
|
22
22
|
import X from "@mui/material/CircularProgress";
|
|
@@ -7,7 +7,7 @@ import O from "@mui/material/CardHeader";
|
|
|
7
7
|
import w from "@mui/material/Stack";
|
|
8
8
|
import { AccountBalance as L, ChevronRight as S } from "@mxenabled/mx-icons";
|
|
9
9
|
import { Text as g } from "@mxenabled/mxui";
|
|
10
|
-
import { b as y } from "./GlobalAccountFilter-
|
|
10
|
+
import { b as y } from "./GlobalAccountFilter-CjTLppI0.mjs";
|
|
11
11
|
import { makeAutoObservable as b, runInAction as u } from "mobx";
|
|
12
12
|
import { F as D, A as i } from "./Fetch-DecPFeGU.mjs";
|
|
13
13
|
import { fromUnixTime as R } from "date-fns/fromUnixTime";
|
|
@@ -13,7 +13,7 @@ import E from "@mui/material/Stack";
|
|
|
13
13
|
import { H3 as y, P as H, Icon as X, Text as T, H2 as _t, InstitutionLogo as bt } from "@mxenabled/mxui";
|
|
14
14
|
import { ExpandMore as ot, ChevronRight as wt } from "@mxenabled/mx-icons";
|
|
15
15
|
import xt from "@mui/material/Breadcrumbs";
|
|
16
|
-
import { u as V, A as tt, d as ft, o as St, b as It, a as Tt } from "./hooks-
|
|
16
|
+
import { u as V, A as tt, d as ft, o as St, b as It, a as Tt } from "./hooks-DWJQ4phS.mjs";
|
|
17
17
|
import { useTheme as Z } from "@mui/material/styles";
|
|
18
18
|
import { b as s } from "./Localization-2MODESHW.mjs";
|
|
19
19
|
import { E as Et, a as Ct, P as At } from "./Help-B8mD4aLJ.mjs";
|
|
@@ -49,23 +49,23 @@ const V = {
|
|
|
49
49
|
for (let e = 0; e < a.length; e += s)
|
|
50
50
|
o.push(a.slice(e, e + s).map((c) => t[c]));
|
|
51
51
|
return o;
|
|
52
|
-
}, W = A(O), h = A(L),
|
|
52
|
+
}, W = A(O), h = A(L), S = (t) => {
|
|
53
53
|
const s = M(t, g), a = M(t, f), o = (c, i) => {
|
|
54
|
-
const _ = c.reduce((n, r) => n + T(r), 0),
|
|
55
|
-
const
|
|
56
|
-
return Object.keys(
|
|
54
|
+
const _ = c.reduce((n, r) => n + T(r), 0), l = c.reduce((n, r) => {
|
|
55
|
+
const u = i(r);
|
|
56
|
+
return Object.keys(u).forEach((E) => n[E] = (n[E] || 0) + u[E]), n;
|
|
57
57
|
}, {});
|
|
58
58
|
return Object.fromEntries(
|
|
59
|
-
Object.entries(
|
|
59
|
+
Object.entries(l).map(([n, r]) => [n, r / _ * 100])
|
|
60
60
|
);
|
|
61
61
|
};
|
|
62
62
|
return {
|
|
63
63
|
stocks: o(s, D),
|
|
64
64
|
bonds: o(a, R)
|
|
65
65
|
};
|
|
66
|
-
},
|
|
67
|
-
const s = t.filter((e) => !isNaN(e.equity_classification)), a = t.filter((e) => !isNaN(e.fixed_income_classification)), o = (e, c, i) => e.reduce((_,
|
|
68
|
-
const n = c(
|
|
66
|
+
}, w = (t) => {
|
|
67
|
+
const s = t.filter((e) => !isNaN(e.equity_classification)), a = t.filter((e) => !isNaN(e.fixed_income_classification)), o = (e, c, i) => e.reduce((_, l) => {
|
|
68
|
+
const n = c(l);
|
|
69
69
|
return Object.keys(i).forEach((r) => {
|
|
70
70
|
_[r] = (_[r] || 0) + (n[r] || 0);
|
|
71
71
|
}), _;
|
|
@@ -90,10 +90,10 @@ const V = {
|
|
|
90
90
|
mid_growth_weight: c,
|
|
91
91
|
mid_value_weight: i,
|
|
92
92
|
small_core_weight: _,
|
|
93
|
-
small_growth_weight:
|
|
93
|
+
small_growth_weight: l,
|
|
94
94
|
small_value_weight: n,
|
|
95
95
|
unknown_weight: r,
|
|
96
|
-
equity_classification:
|
|
96
|
+
equity_classification: u
|
|
97
97
|
} = t, E = {
|
|
98
98
|
LARGE_CORE: s ?? 0,
|
|
99
99
|
LARGE_GROWTH: a ?? 0,
|
|
@@ -102,20 +102,20 @@ const V = {
|
|
|
102
102
|
MID_GROWTH: c ?? 0,
|
|
103
103
|
MID_VALUE: i ?? 0,
|
|
104
104
|
SMALL_CORE: _ ?? 0,
|
|
105
|
-
SMALL_GROWTH:
|
|
105
|
+
SMALL_GROWTH: l ?? 0,
|
|
106
106
|
SMALL_VALUE: n ?? 0,
|
|
107
107
|
UNKNOWN: r ?? 0
|
|
108
108
|
};
|
|
109
|
-
return I(E) === 0 &&
|
|
109
|
+
return I(E) === 0 && u !== void 0 ? { [L[u]]: 100 } : E;
|
|
110
110
|
}, G = (t, s, a) => {
|
|
111
111
|
const o = s(t), e = T(t), c = H(o, e);
|
|
112
112
|
if (I(c) === 0) {
|
|
113
113
|
const i = String(
|
|
114
114
|
t.equity_classification ?? t.fixed_income_classification
|
|
115
115
|
);
|
|
116
|
-
if (
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
if (i in a)
|
|
117
|
+
return { [a[i]]: e };
|
|
118
|
+
console.error(`Invalid classification key: ${i}`);
|
|
119
119
|
}
|
|
120
120
|
return c;
|
|
121
121
|
}, b = (t) => t.split("_").map((s) => s.charAt(0).toUpperCase() + s.slice(1).toLowerCase()).join(" "), p = (t) => t >= 1 ? `${d(t).format("0")}%` : "< 1%", T = (t) => t.calculated_market_value ?? t.market_value, M = (t, s) => t.filter((a) => {
|
|
@@ -127,8 +127,8 @@ const V = {
|
|
|
127
127
|
}, I = (t) => Object.values(t).reduce((s, a) => s + a, 0);
|
|
128
128
|
export {
|
|
129
129
|
m as A,
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
S as a,
|
|
131
|
+
w as b,
|
|
132
132
|
b as f,
|
|
133
133
|
C as m
|
|
134
134
|
};
|
|
@@ -13,7 +13,7 @@ import { f as p, c as X } from "./NumberFormatting-DjTD0t3W.mjs";
|
|
|
13
13
|
import { observer as St } from "mobx-react-lite";
|
|
14
14
|
import P from "@mui/material/Stack";
|
|
15
15
|
import { Text as l } from "@mxenabled/mxui";
|
|
16
|
-
import { u as vt } from "./hooks-
|
|
16
|
+
import { u as vt } from "./hooks-DWJQ4phS.mjs";
|
|
17
17
|
import Dt from "@mui/material/useMediaQuery";
|
|
18
18
|
import { Stack as M, Box as F } from "@mui/material";
|
|
19
19
|
const Tt = ({
|
|
@@ -8,7 +8,7 @@ import L from "@mui/material/Stack";
|
|
|
8
8
|
import { ChevronRight as _ } from "@mxenabled/mx-icons";
|
|
9
9
|
import { Text as m } from "@mxenabled/mxui";
|
|
10
10
|
import { D as g } from "./Dialog-BqUCsQvo.mjs";
|
|
11
|
-
import { u as j } from "./hooks-
|
|
11
|
+
import { u as j } from "./hooks-DWJQ4phS.mjs";
|
|
12
12
|
const q = v(
|
|
13
13
|
({
|
|
14
14
|
children: n,
|
|
@@ -17,17 +17,17 @@ import { endOfMonth as ue } from "date-fns/endOfMonth";
|
|
|
17
17
|
import { parseISO as me } from "date-fns/parseISO";
|
|
18
18
|
import Z from "@mui/material/Button";
|
|
19
19
|
import { Delete as pe, Add as ye, ReceiptLong as he } from "@mxenabled/mx-icons";
|
|
20
|
-
import { T as J, a as fe, u as ge, S as Ce, b as be } from "./TransactionDetails-
|
|
21
|
-
import { addYears as
|
|
20
|
+
import { T as J, a as fe, u as ge, S as Ce, b as be } from "./TransactionDetails-LEP8qGrR.mjs";
|
|
21
|
+
import { addYears as j } from "date-fns/addYears";
|
|
22
22
|
import { getDayOfYear as xe } from "date-fns/getDayOfYear";
|
|
23
23
|
import { setDayOfYear as Se } from "date-fns/setDayOfYear";
|
|
24
24
|
import { AdapterDateFns as ve } from "@mui/x-date-pickers/AdapterDateFnsV3";
|
|
25
25
|
import { DatePicker as De } from "@mui/x-date-pickers";
|
|
26
26
|
import { LocalizationProvider as we } from "@mui/x-date-pickers/LocalizationProvider";
|
|
27
|
-
import { u as w,
|
|
27
|
+
import { u as w, i as Y, g as P, b as Ae, h as V, o as Ie } from "./hooks-DWJQ4phS.mjs";
|
|
28
28
|
import { b as Re, f as ee } from "./NumberFormatting-DjTD0t3W.mjs";
|
|
29
29
|
import { D as N } from "./Drawer-DV4NTsFg.mjs";
|
|
30
|
-
import { A as L } from "./WidgetContainer-
|
|
30
|
+
import { A as L } from "./WidgetContainer-BxRQazKR.mjs";
|
|
31
31
|
import { f as Ee, D as Te } from "./DateFormats-Cs-NbEZ7.mjs";
|
|
32
32
|
import { D as Le } from "./Dialog-BqUCsQvo.mjs";
|
|
33
33
|
import { formatISO as Oe } from "date-fns/formatISO";
|
|
@@ -35,7 +35,7 @@ import { fromUnixTime as ke } from "date-fns/fromUnixTime";
|
|
|
35
35
|
import { S as Ne } from "./SearchBox-B2_zLv8-.mjs";
|
|
36
36
|
import { h as Me } from "./DateUtil-CVXVMbjf.mjs";
|
|
37
37
|
import { b as B } from "./Category-CevNQ03n.mjs";
|
|
38
|
-
import { T as te } from "./User-
|
|
38
|
+
import { T as te } from "./User-CYt9qNY3.mjs";
|
|
39
39
|
const ne = ({
|
|
40
40
|
frequency: n,
|
|
41
41
|
firstDay: t,
|
|
@@ -69,7 +69,7 @@ const ne = ({
|
|
|
69
69
|
label: Re(b + 1)
|
|
70
70
|
}));
|
|
71
71
|
h[30].label += ` (${r.last_day_of_month})`;
|
|
72
|
-
const g = h.slice(0, 15), v = h.slice(14), C = n === d.EveryWeek || n === d.EveryOtherWeek, f = n === d.TwiceAMonth || n === d.EveryMonth || n === d.EveryOtherMonth || n === d.EveryQuarter || n === d.EveryOtherQuarter, A = Se(E(), t), y = A < E() ?
|
|
72
|
+
const g = h.slice(0, 15), v = h.slice(14), C = n === d.EveryWeek || n === d.EveryOtherWeek, f = n === d.TwiceAMonth || n === d.EveryMonth || n === d.EveryOtherMonth || n === d.EveryQuarter || n === d.EveryOtherQuarter, A = Se(E(), t), y = A < E() ? j(A, 1) : A, D = (b) => {
|
|
73
73
|
b && s(xe(b));
|
|
74
74
|
};
|
|
75
75
|
return /* @__PURE__ */ c(p, { gap: 24, sx: { m: 24 }, children: [
|
|
@@ -114,7 +114,7 @@ const ne = ({
|
|
|
114
114
|
{
|
|
115
115
|
disablePast: !0,
|
|
116
116
|
label: r.next_payment_date,
|
|
117
|
-
maxDate: X(
|
|
117
|
+
maxDate: X(j(E(), 1), 1),
|
|
118
118
|
minDate: E(),
|
|
119
119
|
onChange: D,
|
|
120
120
|
value: y
|
|
@@ -428,7 +428,7 @@ const ne = ({
|
|
|
428
428
|
g(!0), l(n ? { ...s, custom: W } : { ...s, custom: q });
|
|
429
429
|
}, ae = async () => {
|
|
430
430
|
if (!u) {
|
|
431
|
-
|
|
431
|
+
K();
|
|
432
432
|
return;
|
|
433
433
|
}
|
|
434
434
|
o();
|
|
@@ -447,8 +447,8 @@ const ne = ({
|
|
|
447
447
|
transaction_type: u.transaction_type,
|
|
448
448
|
user_guid: m.guid
|
|
449
449
|
};
|
|
450
|
-
await a(R, u),
|
|
451
|
-
},
|
|
450
|
+
await a(R, u), K();
|
|
451
|
+
}, K = () => {
|
|
452
452
|
C(""), g(!1);
|
|
453
453
|
};
|
|
454
454
|
return /* @__PURE__ */ c(k, { children: [
|
|
@@ -6,7 +6,7 @@ import b from "@mui/material/CardHeader";
|
|
|
6
6
|
import { P as u, H3 as v } from "@mxenabled/mxui";
|
|
7
7
|
import { ChevronRight as W } from "@mxenabled/mx-icons";
|
|
8
8
|
import { u as M } from "./useDimensions-CeDR9V8N.mjs";
|
|
9
|
-
import { W as w } from "./hooks-
|
|
9
|
+
import { W as w } from "./hooks-DWJQ4phS.mjs";
|
|
10
10
|
const H = ({
|
|
11
11
|
children: e,
|
|
12
12
|
className: o,
|
|
@@ -8,7 +8,7 @@ import W from "@mui/material/IconButton";
|
|
|
8
8
|
import { Icon as z, ChevronRight as H } from "@mxenabled/mx-icons";
|
|
9
9
|
import { H3 as I, Text as B, P as M } from "@mxenabled/mxui";
|
|
10
10
|
import { u as S } from "./useDimensions-CeDR9V8N.mjs";
|
|
11
|
-
import { W as j } from "./hooks-
|
|
11
|
+
import { W as j } from "./hooks-DWJQ4phS.mjs";
|
|
12
12
|
const w = ({
|
|
13
13
|
children: a,
|
|
14
14
|
className: m = "mx-cmn-mini-widget",
|
|
@@ -15,11 +15,11 @@ import { DateCalendar as se } from "@mui/x-date-pickers/DateCalendar";
|
|
|
15
15
|
import { LocalizationProvider as ae } from "@mui/x-date-pickers/LocalizationProvider";
|
|
16
16
|
import { AdapterDateFns as ce } from "@mui/x-date-pickers/AdapterDateFnsV3";
|
|
17
17
|
import { A as le, T as R, a as D, N as b } from "./Notification-Bs1fdbzI.mjs";
|
|
18
|
-
import { u as S, r as T, o as A, d as J, g as re, a as X, b as de } from "./hooks-
|
|
18
|
+
import { u as S, r as T, o as A, d as J, g as re, a as X, b as de } from "./hooks-DWJQ4phS.mjs";
|
|
19
19
|
import { b as me } from "./Localization-2MODESHW.mjs";
|
|
20
20
|
import { b as _e, f as he } from "./NumberFormatting-DjTD0t3W.mjs";
|
|
21
21
|
import { D as N } from "./Dialog-BqUCsQvo.mjs";
|
|
22
|
-
import { C as ue } from "./CurrencyInput-
|
|
22
|
+
import { C as ue } from "./CurrencyInput-niY2izw5.mjs";
|
|
23
23
|
import { u as fe } from "./useScreenSize-B6JyS_Lj.mjs";
|
|
24
24
|
import { D as q } from "./Drawer-DV4NTsFg.mjs";
|
|
25
25
|
import pe from "@mui/material/Collapse";
|
|
@@ -30,8 +30,8 @@ import j from "@mui/material/Button";
|
|
|
30
30
|
import U from "@mui/material/TextField";
|
|
31
31
|
import { u as be } from "./useDimensions-CeDR9V8N.mjs";
|
|
32
32
|
import K from "@mui/material/styles/useTheme";
|
|
33
|
-
import { u as xe } from "./useInsightsEnabled-
|
|
34
|
-
import { u as Ce } from "./useWidgetLoadTimer-
|
|
33
|
+
import { u as xe } from "./useInsightsEnabled-B4AlxgOP.mjs";
|
|
34
|
+
import { u as Ce } from "./useWidgetLoadTimer-BbV8q0k6.mjs";
|
|
35
35
|
import { L as ve } from "./Loader-DUaFpDGv.mjs";
|
|
36
36
|
const Te = C(() => {
|
|
37
37
|
const { common: n, settings: t } = S(), { sendEmailVerification: s } = T(), { user: l } = A(), i = K(), [r, a] = f.useState(!1), o = () => {
|
|
@@ -2,10 +2,10 @@ import { jsx as o } from "react/jsx-runtime";
|
|
|
2
2
|
import _ from "react";
|
|
3
3
|
import { observer as p } from "mobx-react-lite";
|
|
4
4
|
import v from "@mui/material/TextField";
|
|
5
|
-
import { L as y } from "./ListItemAction-
|
|
6
|
-
import { u as h, l as b } from "./hooks-
|
|
5
|
+
import { L as y } from "./ListItemAction-DrDDQgt7.mjs";
|
|
6
|
+
import { u as h, l as b } from "./hooks-DWJQ4phS.mjs";
|
|
7
7
|
import { a as T, f as S } from "./NumberFormatting-DjTD0t3W.mjs";
|
|
8
|
-
import { C as f } from "./CurrencyInput-
|
|
8
|
+
import { C as f } from "./CurrencyInput-niY2izw5.mjs";
|
|
9
9
|
const F = p(({ goal: e }) => {
|
|
10
10
|
const { goals: a } = h(), { setAlert: r, setSelectedGoal: l, updateGoal: m } = b(), [t, s] = _.useState(e.interest_rate ?? 0), c = !e.guid, i = t < 0, d = async () => {
|
|
11
11
|
const n = { ...e, interest_rate: t };
|
|
@@ -7,10 +7,10 @@ import R from "@mui/material/Tabs";
|
|
|
7
7
|
import d from "@mui/material/Divider";
|
|
8
8
|
import b from "@mui/material/List";
|
|
9
9
|
import T from "@mui/material/Stack";
|
|
10
|
-
import { R as C, A as S, a as E, M as v } from "./ManageIncome-
|
|
11
|
-
import { u as _,
|
|
10
|
+
import { R as C, A as S, a as E, M as v } from "./ManageIncome-UYZbu_-I.mjs";
|
|
11
|
+
import { u as _, i as A, g as f } from "./hooks-DWJQ4phS.mjs";
|
|
12
12
|
import { R as y, F as N } from "./RepeatingTransaction-CIrVdIet.mjs";
|
|
13
|
-
import { A as m } from "./WidgetContainer-
|
|
13
|
+
import { A as m } from "./WidgetContainer-BxRQazKR.mjs";
|
|
14
14
|
const I = h(() => {
|
|
15
15
|
const { recurring: g } = _(), { detailedRepeatingTransactions: n } = A(), { onEvent: a } = f(), l = (r) => {
|
|
16
16
|
a(m.RECURRING_TRANSACTIONS_CLICK_EXPENSE, {
|
|
@@ -9,7 +9,7 @@ import { useTheme as M } from "@mui/material/styles";
|
|
|
9
9
|
import { CategoryIcon as A, CategoryIconVariants as G, Text as y, P as O } from "@mxenabled/mxui";
|
|
10
10
|
import { D as $ } from "./Donut-DKY8mL3P.mjs";
|
|
11
11
|
import { u as j } from "./useAriaLive-MkYebyUR.mjs";
|
|
12
|
-
import { u as R } from "./hooks-
|
|
12
|
+
import { u as R } from "./hooks-DWJQ4phS.mjs";
|
|
13
13
|
import { u as v } from "./useScreenSize-B6JyS_Lj.mjs";
|
|
14
14
|
import { f as x } from "./NumberFormatting-DjTD0t3W.mjs";
|
|
15
15
|
import B from "@mui/material/Box";
|