@mx-cartographer/experiences 7.2.13-alpha.mm3 → 7.2.14-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/CHANGELOG.md +8 -0
- package/dist/{AccountDetailsContent-bqByD9ea.mjs → AccountDetailsContent-DXVLAjNQ.mjs} +1 -1
- package/dist/Donut-oaQFlbit.mjs +86 -0
- package/dist/{ManageIncome-Cw-QhHiy.mjs → ManageIncome-B5zuYyxg.mjs} +62 -63
- package/dist/{RecurringSettings-Dhf7DHVC.mjs → RecurringSettings-CMwUC_rw.mjs} +1 -1
- package/dist/{TransactionDetails-DW7T0W0z.mjs → TransactionDetails-CuqEbcYg.mjs} +1 -1
- package/dist/{TransactionStore-DxPLdF3B.mjs → TransactionStore-B4FCabkO.mjs} +34 -31
- package/dist/{ViewMoreMicroCard-SCn2wt4i.mjs → ViewMoreMicroCard-iInbzbw0.mjs} +545 -571
- package/dist/accounts/index.es.js +2 -2
- package/dist/budgets/index.es.js +454 -429
- package/dist/cashflow/index.es.js +3 -3
- package/dist/common/index.es.js +3 -3
- package/dist/finstrong/index.es.js +1 -1
- package/dist/goals/index.es.js +1 -1
- package/dist/investments/index.es.js +1 -1
- package/dist/microinsights/beaticons/BeatIcon.d.ts +0 -2
- package/dist/microinsights/cards/MicroInsightCard.d.ts +0 -7
- package/dist/microinsights/carousel/CarouselControls.d.ts +0 -2
- package/dist/microinsights/carousel/CarouselHeader.d.ts +1 -2
- package/dist/microinsights/index.d.ts +1 -1
- package/dist/microinsights/index.es.js +1 -1
- package/dist/microinsights/interfaces.d.ts +0 -4
- package/dist/recurringtransactions/index.es.js +4 -4
- package/dist/spending/index.es.js +342 -290
- package/dist/transactions/index.es.js +166 -193
- package/dist/trends/index.es.js +2 -2
- package/dist/useAriaLive-B3_pRUio.mjs +35 -0
- package/package.json +1 -1
- package/dist/Donut-1UMNcG67.mjs +0 -57
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [7.2.14] - 11-24-2025
|
|
2
|
+
|
|
3
|
+
- **UPDATED** - remove uneeded client color scheme reference from `microinsights`
|
|
4
|
+
|
|
5
|
+
## [7.2.13] - 11-24-2025
|
|
6
|
+
|
|
7
|
+
- **FIXED** - interactive controls for budget and spending mini widgets
|
|
8
|
+
|
|
1
9
|
## [7.2.12] - 11-20-2025
|
|
2
10
|
|
|
3
11
|
- **FIXED** - Accessibility label on split transaction amount input
|
|
@@ -44,7 +44,7 @@ import yt from "@mui/material/AlertTitle";
|
|
|
44
44
|
import xt from "@mui/material/Link";
|
|
45
45
|
import wt from "@mui/material/Paper";
|
|
46
46
|
import { subDays as kt, startOfToday as It, endOfToday as Mt } from "date-fns";
|
|
47
|
-
import { T as vt, a as Lt } from "./TransactionDetails-
|
|
47
|
+
import { T as vt, a as Lt } from "./TransactionDetails-CuqEbcYg.mjs";
|
|
48
48
|
import { T as j } from "./TabContentContainer-j01JYR_7.mjs";
|
|
49
49
|
const U = ({
|
|
50
50
|
children: e,
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { jsxs as c, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import b from "react";
|
|
3
|
+
import { selectAll as m, interpolateString as x, arc as I } from "d3";
|
|
4
|
+
import d from "@mui/material/Box";
|
|
5
|
+
import { useTheme as S } from "@mui/material/styles";
|
|
6
|
+
const k = 100, E = 140, v = 10, B = ({
|
|
7
|
+
data: u,
|
|
8
|
+
hoveredId: h,
|
|
9
|
+
onClick: s,
|
|
10
|
+
onMouseEnter: a,
|
|
11
|
+
onMouseLeave: l,
|
|
12
|
+
selectedId: i,
|
|
13
|
+
size: t = 300,
|
|
14
|
+
children: p
|
|
15
|
+
}) => {
|
|
16
|
+
const f = S();
|
|
17
|
+
let r = 0;
|
|
18
|
+
const g = (o, n) => {
|
|
19
|
+
(o.key === "Enter" || o.key === " ") && (o.preventDefault(), s?.(n));
|
|
20
|
+
}, y = (o) => {
|
|
21
|
+
a?.(o);
|
|
22
|
+
}, D = (o) => {
|
|
23
|
+
l?.(o);
|
|
24
|
+
};
|
|
25
|
+
return b.useEffect(() => {
|
|
26
|
+
m(".arc-outer").transition("roll").duration(500).attrTween("transform", () => x("rotate(0)", "rotate(360)"));
|
|
27
|
+
}, []), /* @__PURE__ */ c(d, { height: t, position: "relative", width: t, children: [
|
|
28
|
+
/* @__PURE__ */ e(d, { height: "100%", width: "100%", children: p }),
|
|
29
|
+
/* @__PURE__ */ c(
|
|
30
|
+
"svg",
|
|
31
|
+
{
|
|
32
|
+
height: t,
|
|
33
|
+
style: { position: "absolute", top: 0, left: 0 },
|
|
34
|
+
viewBox: "-150 -150 300 300",
|
|
35
|
+
width: t,
|
|
36
|
+
children: [
|
|
37
|
+
/* @__PURE__ */ e("style", { children: `
|
|
38
|
+
.arc-outer:focus,
|
|
39
|
+
.arc-outer:focus-visible {
|
|
40
|
+
stroke: ${f.palette.primary.main};
|
|
41
|
+
stroke-width: 3;
|
|
42
|
+
stroke-opacity: 0.8;
|
|
43
|
+
}
|
|
44
|
+
` }),
|
|
45
|
+
/* @__PURE__ */ e("g", { children: u.map((o) => {
|
|
46
|
+
const n = r;
|
|
47
|
+
r = r + 2 * Math.PI * (o.value / 100);
|
|
48
|
+
const w = r, R = I().cornerRadius(4)({
|
|
49
|
+
innerRadius: k,
|
|
50
|
+
outerRadius: E + (o.id === i || o.id === h ? v : 0),
|
|
51
|
+
startAngle: n,
|
|
52
|
+
endAngle: w,
|
|
53
|
+
padAngle: 0.025
|
|
54
|
+
});
|
|
55
|
+
return /* @__PURE__ */ e(
|
|
56
|
+
"path",
|
|
57
|
+
{
|
|
58
|
+
"aria-label": o.label || `Segment ${o.id}`,
|
|
59
|
+
"aria-pressed": o.id === i,
|
|
60
|
+
className: "arc-outer",
|
|
61
|
+
d: R,
|
|
62
|
+
fill: o.color,
|
|
63
|
+
onBlur: () => D(o.id),
|
|
64
|
+
onClick: () => s?.(o.id),
|
|
65
|
+
onFocus: () => y(o.id),
|
|
66
|
+
onKeyDown: (A) => g(A, o.id),
|
|
67
|
+
onMouseEnter: () => a?.(o.id),
|
|
68
|
+
onMouseLeave: () => l?.(o.id),
|
|
69
|
+
role: "button",
|
|
70
|
+
style: {
|
|
71
|
+
cursor: "pointer",
|
|
72
|
+
outline: "none"
|
|
73
|
+
},
|
|
74
|
+
tabIndex: 0
|
|
75
|
+
},
|
|
76
|
+
o.id
|
|
77
|
+
);
|
|
78
|
+
}) })
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
] });
|
|
83
|
+
}, j = B;
|
|
84
|
+
export {
|
|
85
|
+
j as D
|
|
86
|
+
};
|
|
@@ -14,24 +14,23 @@ import { F as d, S as N, D as Y, g as Q, R as E, e as de } from "./RecurringTran
|
|
|
14
14
|
import { subDays as ue } from "date-fns/subDays";
|
|
15
15
|
import { startOfToday as z } from "date-fns/startOfToday";
|
|
16
16
|
import { endOfMonth as _e } from "date-fns/endOfMonth";
|
|
17
|
-
import { parseISO as me } from "date-fns/parseISO";
|
|
18
17
|
import $ from "@mui/material/Button";
|
|
19
|
-
import { Delete as
|
|
20
|
-
import { T as X, a as
|
|
21
|
-
import { getDayOfYear as
|
|
22
|
-
import { setDayOfYear as
|
|
23
|
-
import { AdapterDateFns as
|
|
24
|
-
import { DatePicker as
|
|
25
|
-
import { LocalizationProvider as
|
|
26
|
-
import { u as w, j as M, g as F, b as
|
|
27
|
-
import { b as
|
|
18
|
+
import { Delete as me, Add as pe, ReceiptLong as he } from "@mxenabled/mx-icons";
|
|
19
|
+
import { T as X, a as ye, u as ge, S as fe, b as Ce } from "./TransactionDetails-CuqEbcYg.mjs";
|
|
20
|
+
import { getDayOfYear as be } from "date-fns/getDayOfYear";
|
|
21
|
+
import { setDayOfYear as xe } from "date-fns/setDayOfYear";
|
|
22
|
+
import { AdapterDateFns as Se } from "@mui/x-date-pickers/AdapterDateFnsV3";
|
|
23
|
+
import { DatePicker as ve } from "@mui/x-date-pickers";
|
|
24
|
+
import { LocalizationProvider as we } from "@mui/x-date-pickers/LocalizationProvider";
|
|
25
|
+
import { u as w, j as M, g as F, b as Ae, h as Z, p as De } from "./hooks-D6XlXHf4.mjs";
|
|
26
|
+
import { b as Ie, f as J } from "./NumberFormatting-Buh7u8Oi.mjs";
|
|
28
27
|
import { D as O } from "./Drawer-kEE73B87.mjs";
|
|
29
28
|
import { A as R } from "./WidgetContainer-C88Ecu2W.mjs";
|
|
30
|
-
import { f as
|
|
31
|
-
import { formatISO as
|
|
32
|
-
import { fromUnixTime as
|
|
33
|
-
import { S as
|
|
34
|
-
import { h as
|
|
29
|
+
import { f as Ee, D as Re, a as Te } from "./Dialog-CWW597AF.mjs";
|
|
30
|
+
import { formatISO as Le } from "date-fns/formatISO";
|
|
31
|
+
import { fromUnixTime as Oe } from "date-fns/fromUnixTime";
|
|
32
|
+
import { S as ke } from "./SearchBox-B2_zLv8-.mjs";
|
|
33
|
+
import { h as Ne } from "./DateUtil-BcuH7ErC.mjs";
|
|
35
34
|
import { b as B } from "./Category-CevNQ03n.mjs";
|
|
36
35
|
import { T as V } from "./User-BQUxBeZV.mjs";
|
|
37
36
|
const ee = ({
|
|
@@ -64,11 +63,11 @@ const ee = ({
|
|
|
64
63
|
{ id: 6, label: o.weekday_saturday }
|
|
65
64
|
], y = [...Array(31).keys()].map((p) => ({
|
|
66
65
|
id: p + 1,
|
|
67
|
-
label:
|
|
66
|
+
label: Ie(p + 1)
|
|
68
67
|
}));
|
|
69
68
|
y[30].label += ` (${o.last_day_of_month})`;
|
|
70
|
-
const C = y.slice(0, 15), v = y.slice(14), b = n === d.EveryWeek || n === d.EveryOtherWeek, g = n === d.TwiceAMonth || n === d.EveryMonth || n === d.EveryOtherMonth || n === d.EveryQuarter || n === d.EveryOtherQuarter,
|
|
71
|
-
p && s(
|
|
69
|
+
const C = y.slice(0, 15), v = y.slice(14), b = n === d.EveryWeek || n === d.EveryOtherWeek, g = n === d.TwiceAMonth || n === d.EveryMonth || n === d.EveryOtherMonth || n === d.EveryQuarter || n === d.EveryOtherQuarter, D = xe(z(), t), f = (p) => {
|
|
70
|
+
p && s(be(p));
|
|
72
71
|
};
|
|
73
72
|
return /* @__PURE__ */ c(h, { gap: 24, sx: { m: 24 }, children: [
|
|
74
73
|
/* @__PURE__ */ e(
|
|
@@ -107,17 +106,17 @@ const ee = ({
|
|
|
107
106
|
value: r || 0
|
|
108
107
|
}
|
|
109
108
|
),
|
|
110
|
-
n === d.EveryYear && /* @__PURE__ */ e(
|
|
111
|
-
|
|
109
|
+
n === d.EveryYear && /* @__PURE__ */ e(we, { dateAdapter: Se, children: /* @__PURE__ */ e(
|
|
110
|
+
ve,
|
|
112
111
|
{
|
|
113
112
|
disablePast: !0,
|
|
114
113
|
label: o.next_payment_date,
|
|
115
114
|
onChange: f,
|
|
116
|
-
value:
|
|
115
|
+
value: D
|
|
117
116
|
}
|
|
118
117
|
) })
|
|
119
118
|
] });
|
|
120
|
-
},
|
|
119
|
+
}, Me = A(({ repeatingTransaction: n }) => {
|
|
121
120
|
const { recurring: t } = w(), { updateRepeatingTransaction: r } = M(), { onEvent: i } = F(), [s, l] = u.useState(!1), [o, a] = u.useState(n.recurrence_type), [m, y] = u.useState(n.recurrence_day), [C, v] = u.useState(n.second_recurrence_day), b = async () => {
|
|
122
121
|
await r({
|
|
123
122
|
...n,
|
|
@@ -160,9 +159,9 @@ const ee = ({
|
|
|
160
159
|
}
|
|
161
160
|
)
|
|
162
161
|
] });
|
|
163
|
-
}),
|
|
162
|
+
}), Fe = A(
|
|
164
163
|
({ onDeleted: n, recurringTransaction: t }) => {
|
|
165
|
-
const { recurring: r } = w(), { selectedAccountGuids: i } =
|
|
164
|
+
const { recurring: r } = w(), { selectedAccountGuids: i } = Ae(), { onEvent: s } = F(), { deleteRepeatingTransaction: l } = M(), { setFilter: o, transactions: a } = Z(), { amount: m, description: y, merchant_guid: C } = t, [v, b] = u.useState(!1), [g, D] = u.useState("");
|
|
166
165
|
u.useEffect(() => {
|
|
167
166
|
o({
|
|
168
167
|
accounts: i,
|
|
@@ -194,9 +193,9 @@ const ee = ({
|
|
|
194
193
|
p ? "+" : "",
|
|
195
194
|
J(m, "0,0.00")
|
|
196
195
|
] }),
|
|
197
|
-
/* @__PURE__ */ e(S, { color: "text.secondary", variant: "body2", children: `${r.next_payment_date}: ${
|
|
198
|
-
|
|
199
|
-
|
|
196
|
+
/* @__PURE__ */ e(S, { color: "text.secondary", variant: "body2", children: `${r.next_payment_date}: ${Ee(
|
|
197
|
+
t.predicted_occurs_on,
|
|
198
|
+
Re.MONTH_DAY_YEAR
|
|
200
199
|
)}` })
|
|
201
200
|
] }),
|
|
202
201
|
/* @__PURE__ */ c(K, { sx: { bgcolor: "background.paper" }, children: [
|
|
@@ -222,7 +221,7 @@ const ee = ({
|
|
|
222
221
|
),
|
|
223
222
|
/* @__PURE__ */ e(T, { variant: "inset" })
|
|
224
223
|
] }),
|
|
225
|
-
/* @__PURE__ */ e(
|
|
224
|
+
/* @__PURE__ */ e(Me, { repeatingTransaction: t }),
|
|
226
225
|
/* @__PURE__ */ e(T, {})
|
|
227
226
|
] }),
|
|
228
227
|
/* @__PURE__ */ e(
|
|
@@ -230,26 +229,26 @@ const ee = ({
|
|
|
230
229
|
{
|
|
231
230
|
color: "error",
|
|
232
231
|
onClick: G,
|
|
233
|
-
startIcon: /* @__PURE__ */ e(
|
|
232
|
+
startIcon: /* @__PURE__ */ e(me, {}),
|
|
234
233
|
sx: { mx: 24, my: 16 },
|
|
235
234
|
variant: "text",
|
|
236
235
|
children: p ? r.delete_income_title : r.delete_expense_title
|
|
237
236
|
}
|
|
238
237
|
),
|
|
239
238
|
/* @__PURE__ */ e(S, { bold: !0, sx: { ml: 24, mt: 16 }, variant: "Body", children: r.paid_transactions }),
|
|
240
|
-
/* @__PURE__ */ e(X, { height: "30dvh", onClick:
|
|
239
|
+
/* @__PURE__ */ e(X, { height: "30dvh", onClick: D }),
|
|
241
240
|
/* @__PURE__ */ e(
|
|
242
241
|
O,
|
|
243
242
|
{
|
|
244
243
|
ariaLabelClose: r.close_drawer_aria,
|
|
245
244
|
isOpen: !!g && !!f,
|
|
246
|
-
onClose: () =>
|
|
245
|
+
onClose: () => D(""),
|
|
247
246
|
title: r.transaction_details_drawer_title,
|
|
248
|
-
children: f && /* @__PURE__ */ e(
|
|
247
|
+
children: f && /* @__PURE__ */ e(ye, { transaction: f })
|
|
249
248
|
}
|
|
250
249
|
),
|
|
251
250
|
/* @__PURE__ */ e(
|
|
252
|
-
|
|
251
|
+
Te,
|
|
253
252
|
{
|
|
254
253
|
copy: {
|
|
255
254
|
title: p ? r.delete_income_title : r.delete_expense_title,
|
|
@@ -263,7 +262,7 @@ const ee = ({
|
|
|
263
262
|
)
|
|
264
263
|
] });
|
|
265
264
|
}
|
|
266
|
-
),
|
|
265
|
+
), Ge = A(
|
|
267
266
|
({ onClick: n = () => {
|
|
268
267
|
}, repeatingTransaction: t }) => {
|
|
269
268
|
const { recurring: r } = w(), [i, s] = u.useState(!1), l = u.useMemo(
|
|
@@ -334,7 +333,7 @@ const ee = ({
|
|
|
334
333
|
onClose: () => s(!1),
|
|
335
334
|
title: t.repeating_transaction_type === E.Income ? r.income_details : r.expense_details,
|
|
336
335
|
children: /* @__PURE__ */ e(
|
|
337
|
-
|
|
336
|
+
Fe,
|
|
338
337
|
{
|
|
339
338
|
onDeleted: () => s(!1),
|
|
340
339
|
recurringTransaction: t
|
|
@@ -344,18 +343,18 @@ const ee = ({
|
|
|
344
343
|
)
|
|
345
344
|
] });
|
|
346
345
|
}
|
|
347
|
-
),
|
|
346
|
+
), Pe = A(
|
|
348
347
|
({
|
|
349
348
|
bgcolor: n = "background.default",
|
|
350
349
|
description: t,
|
|
351
350
|
onSearch: r,
|
|
352
351
|
onSelected: i
|
|
353
352
|
}) => {
|
|
354
|
-
const { recurring: s } = w(), { searchValue: l, setSearchValue: o } =
|
|
353
|
+
const { recurring: s } = w(), { searchValue: l, setSearchValue: o } = ge();
|
|
355
354
|
return /* @__PURE__ */ c(h, { sx: { bgcolor: n, gap: 16, pt: 8 }, children: [
|
|
356
355
|
t && /* @__PURE__ */ e(U, { sx: { mx: 24 }, children: t }),
|
|
357
356
|
/* @__PURE__ */ e(
|
|
358
|
-
|
|
357
|
+
ke,
|
|
359
358
|
{
|
|
360
359
|
ariaLabel: s.select_transaction_search_aria,
|
|
361
360
|
cancelAriaLabel: s.select_transaction_search_cancel_aria,
|
|
@@ -378,7 +377,7 @@ const ee = ({
|
|
|
378
377
|
)
|
|
379
378
|
] });
|
|
380
379
|
}
|
|
381
|
-
),
|
|
380
|
+
), Ue = A(
|
|
382
381
|
({
|
|
383
382
|
bgcolor: n = "background.default",
|
|
384
383
|
firstDay: t,
|
|
@@ -392,8 +391,8 @@ const ee = ({
|
|
|
392
391
|
const { recurring: m } = w();
|
|
393
392
|
return /* @__PURE__ */ c(h, { bgcolor: n, gap: 24, height: "100%", children: [
|
|
394
393
|
/* @__PURE__ */ c(h, { children: [
|
|
395
|
-
/* @__PURE__ */ e(
|
|
396
|
-
/* @__PURE__ */ e(
|
|
394
|
+
/* @__PURE__ */ e(fe, { bgcolor: n, children: Ne(a.date) }),
|
|
395
|
+
/* @__PURE__ */ e(Ce, { transaction: a })
|
|
397
396
|
] }),
|
|
398
397
|
/* @__PURE__ */ e(S, { bold: !0, sx: { mx: 24 }, variant: "Body", children: m.payment_schedule }),
|
|
399
398
|
/* @__PURE__ */ e(
|
|
@@ -409,13 +408,13 @@ const ee = ({
|
|
|
409
408
|
)
|
|
410
409
|
] });
|
|
411
410
|
}
|
|
412
|
-
), q = (n) => n.top_level_category_guid !== B.INCOME && n.transaction_type === V.DEBIT,
|
|
411
|
+
), q = (n) => n.top_level_category_guid !== B.INCOME && n.transaction_type === V.DEBIT, Ye = (n, t) => q(n) ? n.payee?.toLowerCase().includes(t.toLowerCase()) || n.description.toLowerCase().includes(t.toLowerCase()) || n.feed_description.toLowerCase().includes(t.toLowerCase()) : !1, W = (n) => n.top_level_category_guid === B.INCOME || n.top_level_category_guid === B.TRANSFER && n.transaction_type === V.CREDIT, ze = (n, t) => W(n) ? n.payee?.toLowerCase().includes(t.toLowerCase()) || n.description?.toLowerCase().includes(t.toLowerCase()) || n.feed_description?.toLowerCase().includes(t.toLowerCase()) : !1, te = A(
|
|
413
412
|
({
|
|
414
413
|
isIncome: n = !1,
|
|
415
414
|
label: t,
|
|
416
415
|
onAddRecurringTransaction: r = () => null
|
|
417
416
|
}) => {
|
|
418
|
-
const { recurring: i } = w(), { filter: s, setFilter: l, transactions: o } = Z(), { addRepeatingTransaction: a } = M(), { user: m } = De(), [y, C] = u.useState(!1), [v, b] = u.useState(""), [g,
|
|
417
|
+
const { recurring: i } = w(), { filter: s, setFilter: l, transactions: o } = Z(), { addRepeatingTransaction: a } = M(), { user: m } = De(), [y, C] = u.useState(!1), [v, b] = u.useState(""), [g, D] = u.useState(d.EveryMonth), [f, p] = u.useState(1), [k, G] = u.useState(15), _ = u.useMemo(
|
|
419
418
|
() => o.find((x) => x.guid === v),
|
|
420
419
|
[v, o]
|
|
421
420
|
), ne = () => {
|
|
@@ -426,14 +425,14 @@ const ee = ({
|
|
|
426
425
|
return;
|
|
427
426
|
}
|
|
428
427
|
r();
|
|
429
|
-
const x = de(g,
|
|
428
|
+
const x = de(g, Oe(_.date)), I = {
|
|
430
429
|
account_guid: _.account_guid,
|
|
431
430
|
amount: _.amount,
|
|
432
431
|
created_by: 0,
|
|
433
432
|
// User
|
|
434
433
|
merchant_guid: _.merchant_guid,
|
|
435
434
|
description: _.payee || _.description || _.feed_description,
|
|
436
|
-
predicted_occurs_on:
|
|
435
|
+
predicted_occurs_on: Le(x, { representation: "date" }),
|
|
437
436
|
recurrence_day: f,
|
|
438
437
|
recurrence_type: g,
|
|
439
438
|
repeating_transaction_type: n ? E.Income : E.Bill,
|
|
@@ -441,12 +440,12 @@ const ee = ({
|
|
|
441
440
|
transaction_type: _.transaction_type,
|
|
442
441
|
user_guid: m.guid
|
|
443
442
|
};
|
|
444
|
-
await a(
|
|
443
|
+
await a(I, _), j();
|
|
445
444
|
}, j = () => {
|
|
446
445
|
b(""), C(!1);
|
|
447
446
|
};
|
|
448
447
|
return /* @__PURE__ */ c(L, { children: [
|
|
449
|
-
/* @__PURE__ */ e($, { onClick: ne, startIcon: /* @__PURE__ */ e(
|
|
448
|
+
/* @__PURE__ */ e($, { onClick: ne, startIcon: /* @__PURE__ */ e(pe, { size: 24 }), variant: "contained", children: t }),
|
|
450
449
|
/* @__PURE__ */ e(
|
|
451
450
|
O,
|
|
452
451
|
{
|
|
@@ -455,13 +454,13 @@ const ee = ({
|
|
|
455
454
|
onClose: () => C(!1),
|
|
456
455
|
title: t,
|
|
457
456
|
children: /* @__PURE__ */ e(
|
|
458
|
-
|
|
457
|
+
Pe,
|
|
459
458
|
{
|
|
460
459
|
description: n ? i.add_income_description : i.add_expense_description,
|
|
461
460
|
onSearch: (x) => {
|
|
462
461
|
l({
|
|
463
462
|
...s,
|
|
464
|
-
custom: (
|
|
463
|
+
custom: (I) => n ? x ? ze(I, x) : W(I) : x ? Ye(I, x) : q(I)
|
|
465
464
|
});
|
|
466
465
|
},
|
|
467
466
|
onSelected: (x) => b(x)
|
|
@@ -478,12 +477,12 @@ const ee = ({
|
|
|
478
477
|
onPrimaryAction: oe,
|
|
479
478
|
title: n ? i.income_details : i.expense_details,
|
|
480
479
|
children: _ && /* @__PURE__ */ e(
|
|
481
|
-
|
|
480
|
+
Ue,
|
|
482
481
|
{
|
|
483
482
|
firstDay: f,
|
|
484
483
|
frequency: g,
|
|
485
484
|
onFirstDayChange: p,
|
|
486
|
-
onFrequencyChange:
|
|
485
|
+
onFrequencyChange: D,
|
|
487
486
|
onSecondDayChange: G,
|
|
488
487
|
secondDay: k,
|
|
489
488
|
transaction: _
|
|
@@ -493,11 +492,11 @@ const ee = ({
|
|
|
493
492
|
)
|
|
494
493
|
] });
|
|
495
494
|
}
|
|
496
|
-
),
|
|
495
|
+
), Be = A(
|
|
497
496
|
({ zeroStateFor: n }) => {
|
|
498
497
|
const { recurring: t } = w(), { onEvent: r } = F(), i = n === "income", s = i ? t.recurring_setting_zero_state_income_title : t.recurring_setting_zero_state_expenses_title, l = i ? t.recurring_setting_zero_state_income_description : t.recurring_setting_zero_state_expenses_description, o = i ? t.add_income : t.add_expense;
|
|
499
498
|
return /* @__PURE__ */ c(h, { sx: { alignItems: "center", p: 24, pt: 48 }, children: [
|
|
500
|
-
/* @__PURE__ */ e(
|
|
499
|
+
/* @__PURE__ */ e(he, { size: 48 }),
|
|
501
500
|
/* @__PURE__ */ e(U, { sx: { my: 8, fontWeight: 600 }, variant: "body1", children: s }),
|
|
502
501
|
/* @__PURE__ */ e(U, { color: "text.secondary", sx: { mb: 32 }, variant: "subtitle2", children: l }),
|
|
503
502
|
/* @__PURE__ */ e(
|
|
@@ -514,7 +513,7 @@ const ee = ({
|
|
|
514
513
|
)
|
|
515
514
|
] });
|
|
516
515
|
}
|
|
517
|
-
),
|
|
516
|
+
), wt = A(({ forOverview: n = !1 }) => {
|
|
518
517
|
const { recurring: t } = w(), { repeatingTransactions: r } = M(), { onEvent: i } = F(), s = (a) => {
|
|
519
518
|
i(R.RECURRING_TRANSACTIONS_CLICK_INCOME, {
|
|
520
519
|
repeating_transaction_guid: a.guid
|
|
@@ -534,7 +533,7 @@ const ee = ({
|
|
|
534
533
|
children: [
|
|
535
534
|
n && /* @__PURE__ */ e(S, { bold: !0, sx: { mb: 4, mt: 12, mx: 24 }, variant: "Small", children: t.income }),
|
|
536
535
|
/* @__PURE__ */ e(P, { sx: { flex: 1, overflow: "auto" }, children: /* @__PURE__ */ e(K, { sx: { bgcolor: "background.paper" }, children: o.map((a, m) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
537
|
-
/* @__PURE__ */ e(
|
|
536
|
+
/* @__PURE__ */ e(Ge, { onClick: s, repeatingTransaction: a }),
|
|
538
537
|
/* @__PURE__ */ e(
|
|
539
538
|
T,
|
|
540
539
|
{
|
|
@@ -568,16 +567,16 @@ const ee = ({
|
|
|
568
567
|
] })
|
|
569
568
|
]
|
|
570
569
|
}
|
|
571
|
-
) : /* @__PURE__ */ e(
|
|
570
|
+
) : /* @__PURE__ */ e(Be, { zeroStateFor: "income" }) });
|
|
572
571
|
});
|
|
573
572
|
export {
|
|
574
573
|
te as A,
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
574
|
+
wt as M,
|
|
575
|
+
Ge as R,
|
|
576
|
+
Pe as S,
|
|
577
|
+
Be as a,
|
|
578
|
+
Fe as b,
|
|
579
|
+
Ue as c,
|
|
581
580
|
W as d,
|
|
582
|
-
|
|
581
|
+
ze as i
|
|
583
582
|
};
|
|
@@ -7,7 +7,7 @@ import b from "@mui/material/Tabs";
|
|
|
7
7
|
import d from "@mui/material/Divider";
|
|
8
8
|
import R 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-
|
|
10
|
+
import { R as C, A as S, a as E, M as v } from "./ManageIncome-B5zuYyxg.mjs";
|
|
11
11
|
import { u as _, j as A, g as f } from "./hooks-D6XlXHf4.mjs";
|
|
12
12
|
import { R as y, F as N } from "./RecurringTransactions-ej39mgA6.mjs";
|
|
13
13
|
import { A as m } from "./WidgetContainer-C88Ecu2W.mjs";
|
|
@@ -1295,7 +1295,7 @@ const it = ({ transaction: t, onClick: r }) => {
|
|
|
1295
1295
|
/* @__PURE__ */ l(f, { bgcolor: "background.highlight", borderRadius: "12px", gap: 4, p: 8, children: [
|
|
1296
1296
|
/* @__PURE__ */ e(T, { bold: !0, children: `${a.account}
|
|
1297
1297
|
${c ? a.number : "•".repeat(4).concat(a.number ?? "")}` }),
|
|
1298
|
-
/* @__PURE__ */ e(T, { bold: !0, color: "secondary", variant: "Tiny", children: a.feed_description })
|
|
1298
|
+
/* @__PURE__ */ e(T, { bold: !0, color: "secondary", variant: "Tiny", children: a.description || a.feed_description })
|
|
1299
1299
|
] })
|
|
1300
1300
|
] }),
|
|
1301
1301
|
/* @__PURE__ */ e(ne, { square: !0, sx: { boxShadow: "none" }, children: d ? /* @__PURE__ */ e(Ut, { transaction: a }) : /* @__PURE__ */ e(J, { children: r.map((i, u) => /* @__PURE__ */ l(_.Fragment, { children: [
|
|
@@ -22,18 +22,18 @@ import { f as g, D as O, O as $ } from "./Dialog-CWW597AF.mjs";
|
|
|
22
22
|
import { endOfMonth as X } from "date-fns/endOfMonth";
|
|
23
23
|
import { B as f } from "./BeatApi-DhJpgCLz.mjs";
|
|
24
24
|
const j = ({
|
|
25
|
-
checked:
|
|
25
|
+
checked: l = !1,
|
|
26
26
|
label: t,
|
|
27
27
|
sx: a = {},
|
|
28
28
|
tooltip: e = "",
|
|
29
29
|
value: c
|
|
30
30
|
}) => {
|
|
31
|
-
const _ = V(), i = _.palette.mode === "light" ? _.palette.grey[400] : _.palette.grey[700], A =
|
|
31
|
+
const _ = V(), i = _.palette.mode === "light" ? _.palette.grey[400] : _.palette.grey[700], A = l ? _.palette.action.active : i;
|
|
32
32
|
return /* @__PURE__ */ C(
|
|
33
33
|
P,
|
|
34
34
|
{
|
|
35
35
|
bgcolor: "background.paper",
|
|
36
|
-
border: `${
|
|
36
|
+
border: `${l ? 3 : 1}px solid`,
|
|
37
37
|
borderColor: A,
|
|
38
38
|
borderRadius: 2,
|
|
39
39
|
mt: -2,
|
|
@@ -322,35 +322,35 @@ const j = ({
|
|
|
322
322
|
category: o.TRANSACTIONS_WIDGET,
|
|
323
323
|
label: r.DELETE_TRANSACTION
|
|
324
324
|
}
|
|
325
|
-
}, Z = async (
|
|
325
|
+
}, Z = async (l, t) => !t || !m[l] ? null : t.sendAnalyticEvent(m[l]), L = {
|
|
326
326
|
FLAG: "flag",
|
|
327
327
|
DATE: "date",
|
|
328
328
|
PAYEE: "payee",
|
|
329
329
|
CATEGORY: "category",
|
|
330
330
|
ACCOUNT: "account",
|
|
331
331
|
AMOUNT: "amount"
|
|
332
|
-
}, q = (
|
|
332
|
+
}, q = (l, t, a, e = []) => {
|
|
333
333
|
const c = t.reduce((A, s) => ({ ...A, [s.guid]: s }), {}), _ = a.reduce((A, s) => ({ ...A, [s.guid]: s }), {}), i = e.reduce((A, s) => {
|
|
334
|
-
const { transaction_guid:
|
|
335
|
-
if (!A[
|
|
334
|
+
const { transaction_guid: N, tag_guid: I } = s;
|
|
335
|
+
if (!A[N])
|
|
336
336
|
return {
|
|
337
337
|
...A,
|
|
338
|
-
[
|
|
338
|
+
[N]: [I]
|
|
339
339
|
};
|
|
340
|
-
const E = [...A[
|
|
340
|
+
const E = [...A[N], I];
|
|
341
341
|
return {
|
|
342
342
|
...A,
|
|
343
|
-
[
|
|
343
|
+
[N]: E
|
|
344
344
|
};
|
|
345
345
|
}, {});
|
|
346
|
-
return
|
|
347
|
-
const s = c[A.account_guid],
|
|
346
|
+
return l.map((A) => {
|
|
347
|
+
const s = c[A.account_guid], N = A.category_guid ? _[A.category_guid] : null, I = i[A.guid] ?? [];
|
|
348
348
|
return {
|
|
349
349
|
...A,
|
|
350
350
|
account: s?.user_name || "Unknown",
|
|
351
351
|
accountIsClosed: s?.is_closed,
|
|
352
352
|
accountIsHidden: s?.is_hidden,
|
|
353
|
-
category:
|
|
353
|
+
category: N?.name || "Uncategorized",
|
|
354
354
|
isIncome: A.top_level_category_guid === W.INCOME,
|
|
355
355
|
isPending: A.feed_status === G.PENDING,
|
|
356
356
|
number: s?.account_number || "",
|
|
@@ -358,36 +358,36 @@ const j = ({
|
|
|
358
358
|
tags: I
|
|
359
359
|
};
|
|
360
360
|
});
|
|
361
|
-
}, J = "uncategorized", Q = (
|
|
362
|
-
const i = tt(
|
|
361
|
+
}, J = "uncategorized", Q = (l, t, a, e, c, _) => {
|
|
362
|
+
const i = tt(l, c, _), A = at(i, a, e);
|
|
363
363
|
return t.forEach((s) => {
|
|
364
|
-
const
|
|
365
|
-
A.splice(
|
|
364
|
+
const N = A.findIndex((E) => E.guid === s), I = _.filter((E) => E.parent_guid === s);
|
|
365
|
+
A.splice(N + 1, 0, ...I);
|
|
366
366
|
}), A;
|
|
367
|
-
}, tt = (
|
|
367
|
+
}, tt = (l, t, a) => {
|
|
368
368
|
const {
|
|
369
369
|
accounts: e = [],
|
|
370
370
|
dateRange: c = { start: R(b()), end: D() },
|
|
371
371
|
custom: _ = () => !0,
|
|
372
372
|
searchTerm: i = "",
|
|
373
373
|
showSplits: A = !1
|
|
374
|
-
} =
|
|
375
|
-
return a.filter((s) => A ? !s.has_been_split : !s.parent_guid).filter((s) => !!e.find((
|
|
374
|
+
} = l;
|
|
375
|
+
return a.filter((s) => A ? !s.has_been_split : !s.parent_guid).filter((s) => !!e.find((N) => N === s.account_guid)).filter((s) => s.date >= u(c.start) && s.date <= u(c.end)).filter(_).filter((s) => {
|
|
376
376
|
if (i === J && s.has_been_split)
|
|
377
377
|
return !1;
|
|
378
378
|
if (/^spl/i.test(i) && (s.has_been_split || s.parent_guid))
|
|
379
379
|
return !0;
|
|
380
380
|
const I = s.tags.some(
|
|
381
|
-
(M) =>
|
|
381
|
+
(M) => S(i, t.find((H) => H.guid === M)?.name)
|
|
382
382
|
), E = h(s.date);
|
|
383
|
-
return
|
|
383
|
+
return S(i, s.payee) || S(i, s.feed_description) || S(i, s.category) || S(i, g(E, O.MONTH)) || S(i, g(E, O.DAY)) || S(i, g(E, O.FULL_MONTH_DAY)) || S(i, g(E, O.MONTH_DAY_YEAR)) || S(i, k(E, $)) || S(i, s.account) || S(i, `${s.amount}`) || S(i, s.memo) || I;
|
|
384
384
|
});
|
|
385
|
-
}, at = (
|
|
385
|
+
}, at = (l, t, a) => [...l].sort((e, c) => {
|
|
386
386
|
const _ = t, i = (e[_] || "") > (c[_] || "");
|
|
387
387
|
let A = i ? -1 : 1, s = i ? 1 : -1;
|
|
388
388
|
return (t === L.DATE || t === L.AMOUNT) && (A = i ? 1 : -1, s = i ? -1 : 1), a === x.ASC ? A : s;
|
|
389
|
-
}),
|
|
390
|
-
const a =
|
|
389
|
+
}), S = (l, t) => {
|
|
390
|
+
const a = l.toLowerCase().split(" "), e = t?.toString().toLowerCase() ?? "";
|
|
391
391
|
return a.every((c) => e.indexOf(c) > -1);
|
|
392
392
|
}, et = {
|
|
393
393
|
account_guid: "",
|
|
@@ -545,12 +545,15 @@ class mt {
|
|
|
545
545
|
this.globalStore.accountStore.updateAccountBalance(a.account_guid, e);
|
|
546
546
|
}
|
|
547
547
|
};
|
|
548
|
-
augmentTransactions = (t) =>
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
548
|
+
augmentTransactions = (t) => {
|
|
549
|
+
const a = q(
|
|
550
|
+
t,
|
|
551
|
+
this.globalStore.accountStore.visibleAccounts,
|
|
552
|
+
this.globalStore.categoryStore.categories,
|
|
553
|
+
this.taggings
|
|
554
|
+
);
|
|
555
|
+
return console.log("x", a), a;
|
|
556
|
+
};
|
|
554
557
|
getTransactionData = () => ({});
|
|
555
558
|
loadAssociatedBeats = async (t, a) => {
|
|
556
559
|
const e = t ? B(t, { representation: "date" }) : void 0, c = a ?? await this.beatApi.getBeatsWithAssociatedTransaction(e);
|