@mx-cartographer/experiences 7.12.6 → 7.12.8
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/README.md +5 -3
- package/dist/{ManageIncome-DE6JV3Mp.mjs → ManageIncome-YlYP7fi8.mjs} +2 -2
- package/dist/{RecurringSettings-CkVI8rR3.mjs → RecurringSettings-BGN0u9oW.mjs} +1 -1
- package/dist/StatusIndicator-BnYO7yL3.mjs +261 -0
- package/dist/{TransactionDetails-DWZuZgBw.mjs → TransactionDetails-DmDYs0lX.mjs} +335 -335
- package/dist/accounts/index.es.js +2 -2
- package/dist/analytics/index.es.js +7 -7
- package/dist/budgets/index.es.js +3 -3
- package/dist/cashflow/index.es.js +3 -3
- package/dist/finstrong/index.es.js +3 -3
- package/dist/insights/index.es.js +1 -1
- package/dist/recurringtransactions/index.es.js +138 -106
- package/dist/spending/index.es.js +2 -2
- package/dist/transactions/index.es.js +100 -92
- package/dist/trends/index.es.js +2 -2
- package/package.json +1 -1
- package/dist/StatusIndicator-Bo80rdKq.mjs +0 -252
|
@@ -3,11 +3,11 @@ import x from "react";
|
|
|
3
3
|
import { observer as R } from "mobx-react-lite";
|
|
4
4
|
import { endOfMonth as B } from "date-fns/endOfMonth";
|
|
5
5
|
import { endOfToday as J } from "date-fns/endOfToday";
|
|
6
|
-
import { startOfMonth as
|
|
6
|
+
import { startOfMonth as k } from "date-fns/startOfMonth";
|
|
7
7
|
import { startOfToday as Q } from "date-fns/startOfToday";
|
|
8
8
|
import { subDays as ee } from "date-fns/subDays";
|
|
9
|
-
import { R as _e } from "../RecurringSettings-
|
|
10
|
-
import { M as Un } from "../RecurringSettings-
|
|
9
|
+
import { R as _e } from "../RecurringSettings-BGN0u9oW.mjs";
|
|
10
|
+
import { M as Un } from "../RecurringSettings-BGN0u9oW.mjs";
|
|
11
11
|
import { addMonths as Be } from "date-fns/addMonths";
|
|
12
12
|
import { subMonths as Pe } from "date-fns/subMonths";
|
|
13
13
|
import { isBefore as $e } from "date-fns/isBefore";
|
|
@@ -32,23 +32,23 @@ import { isSameDay as it } from "date-fns/isSameDay";
|
|
|
32
32
|
import ot from "@mui/material/Badge";
|
|
33
33
|
import { PickersDay as at } from "@mui/x-date-pickers/PickersDay";
|
|
34
34
|
import { I as F } from "../IconBacking-B9oC6uL2.mjs";
|
|
35
|
-
import { u as
|
|
36
|
-
import { d as A, c as T, g as
|
|
35
|
+
import { u as y, b as z, i as I, g as U, p as Ie, h as re } from "../hooks-BxkfR-Ff.mjs";
|
|
36
|
+
import { d as A, c as T, g as Ce, f as st } from "../RecurringTransactions-CYNpe_RS.mjs";
|
|
37
37
|
import { f as S, D as w } from "../DateFormats-BMpMrZpW.mjs";
|
|
38
|
-
import { T as
|
|
38
|
+
import { T as G } from "../RecurringTransactionsStore-BD-OfVZ-.mjs";
|
|
39
39
|
import { R as jn } from "../RecurringTransactionsStore-BD-OfVZ-.mjs";
|
|
40
40
|
import { g as ct, L as W, b as N } from "../Localization-CPkpIwIx.mjs";
|
|
41
41
|
import { A as L } from "../Analytics-BYItVAe-.mjs";
|
|
42
42
|
import lt from "@mui/material/Button";
|
|
43
43
|
import Z from "@mui/material/Divider";
|
|
44
|
-
import
|
|
44
|
+
import ye from "@mui/material/List";
|
|
45
45
|
import Me from "@mui/material/ListItem";
|
|
46
46
|
import dt from "@mui/material/ListSubheader";
|
|
47
|
-
import
|
|
48
|
-
import
|
|
47
|
+
import ut from "@mui/material/ListItemAvatar";
|
|
48
|
+
import mt from "@mui/material/ListItemButton";
|
|
49
49
|
import pt from "@mui/material/ListItemText";
|
|
50
|
-
import { b as gt } from "../ManageIncome-
|
|
51
|
-
import { c as Vn, M as Xn, S as qn } from "../ManageIncome-
|
|
50
|
+
import { b as gt } from "../ManageIncome-YlYP7fi8.mjs";
|
|
51
|
+
import { c as Vn, M as Xn, S as qn } from "../ManageIncome-YlYP7fi8.mjs";
|
|
52
52
|
import { f as E } from "../NumberFormatting-QCaNwbjv.mjs";
|
|
53
53
|
import { D as ie } from "../Drawer-DV4NTsFg.mjs";
|
|
54
54
|
import O from "@mui/material/Box";
|
|
@@ -65,28 +65,60 @@ const Y = {
|
|
|
65
65
|
gridRow: 1,
|
|
66
66
|
gridColumn: 1,
|
|
67
67
|
zIndex: 2
|
|
68
|
-
}, j = (t) => t ? { margin: "0 0 -6px -4px" } : void 0, ce = ({ isOffset: t = !1, size: n = 16 }) => /* @__PURE__ */ e(
|
|
69
|
-
|
|
68
|
+
}, j = (t) => t ? { margin: "0 0 -6px -4px" } : void 0, ce = ({ isOffset: t = !1, size: n = 16 }) => /* @__PURE__ */ e(
|
|
69
|
+
F,
|
|
70
70
|
{
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
backingSx: { backgroundColor: "background.paper" },
|
|
72
|
+
size: n,
|
|
73
|
+
sx: { ...j(t) },
|
|
74
|
+
children: /* @__PURE__ */ e(ze, { color: "primary", filled: !0, sx: { fontSize: n, ...Y } })
|
|
73
75
|
}
|
|
74
|
-
)
|
|
76
|
+
), le = ({ isOffset: t = !1, size: n = 16 }) => /* @__PURE__ */ e(
|
|
77
|
+
F,
|
|
78
|
+
{
|
|
79
|
+
backingSx: { backgroundColor: "background.paper" },
|
|
80
|
+
size: n,
|
|
81
|
+
sx: { ...j(t) },
|
|
82
|
+
children: /* @__PURE__ */ e(
|
|
83
|
+
Ue,
|
|
84
|
+
{
|
|
85
|
+
filled: !0,
|
|
86
|
+
sx: { color: "categories.income", fontSize: n, ...Y }
|
|
87
|
+
}
|
|
88
|
+
)
|
|
89
|
+
}
|
|
90
|
+
), de = ({ isOffset: t = !1, size: n = 16 }) => /* @__PURE__ */ e(
|
|
91
|
+
F,
|
|
92
|
+
{
|
|
93
|
+
backingSx: { backgroundColor: "background.paper" },
|
|
94
|
+
size: n,
|
|
95
|
+
sx: { ...j(t) },
|
|
96
|
+
children: /* @__PURE__ */ e(Se, { color: "error", filled: !0, sx: { fontSize: n, ...Y } })
|
|
97
|
+
}
|
|
98
|
+
), ue = ({ isOffset: t = !1, size: n = 16 }) => /* @__PURE__ */ e(
|
|
99
|
+
F,
|
|
100
|
+
{
|
|
101
|
+
backingSx: { backgroundColor: "background.paper" },
|
|
102
|
+
size: n,
|
|
103
|
+
sx: { ...j(t) },
|
|
104
|
+
children: /* @__PURE__ */ e(we, { color: "success", filled: !0, sx: { fontSize: n, ...Y } })
|
|
105
|
+
}
|
|
106
|
+
), Ct = R(
|
|
75
107
|
({ day: t, outsideCurrentMonth: n, ...r }) => {
|
|
76
|
-
const { recurring: o } =
|
|
108
|
+
const { recurring: o } = y(), { selectedAccountGuids: i } = z(), { recurrences: c, setSelectedDay: u } = I(), a = x.useMemo(
|
|
77
109
|
() => c.filter((f) => i.includes(f.accountGuid)),
|
|
78
110
|
[i, c]
|
|
79
111
|
).filter(
|
|
80
112
|
(f) => it(f.occurredOnDate || f.expectedDate, t)
|
|
81
113
|
), l = a.some(
|
|
82
114
|
(f) => f.type !== A.Income && f.status === T.Upcoming
|
|
83
|
-
),
|
|
115
|
+
), m = a.some(
|
|
84
116
|
(f) => f.type !== A.Income && f.status === T.Missed
|
|
85
117
|
), g = a.some(
|
|
86
118
|
(f) => f.type !== A.Income && f.status === T.Paid
|
|
87
|
-
), b = a.some((f) => f.type === A.Income),
|
|
119
|
+
), b = a.some((f) => f.type === A.Income), C = (l ? 1 : 0) + (m ? 1 : 0) + (g ? 1 : 0) + (b ? 1 : 0), v = [
|
|
88
120
|
g && o.paid,
|
|
89
|
-
|
|
121
|
+
m && o.missed,
|
|
90
122
|
l && o.upcoming,
|
|
91
123
|
b && o.income
|
|
92
124
|
].filter(Boolean), M = v.length > 0 ? `${S(t, w.MONTH_DAY_YEAR)}, ${v.join(", ")}` : S(t, w.MONTH_DAY_YEAR);
|
|
@@ -94,8 +126,8 @@ const Y = {
|
|
|
94
126
|
ot,
|
|
95
127
|
{
|
|
96
128
|
badgeContent: a.length > 0 && /* @__PURE__ */ s($, { children: [
|
|
97
|
-
|
|
98
|
-
g && /* @__PURE__ */ e(
|
|
129
|
+
m && /* @__PURE__ */ e(de, { isOffset: !0 }),
|
|
130
|
+
g && /* @__PURE__ */ e(ue, { isOffset: !0 }),
|
|
99
131
|
l && /* @__PURE__ */ e(ce, { isOffset: !0 }),
|
|
100
132
|
b && /* @__PURE__ */ e(le, { isOffset: !0 })
|
|
101
133
|
] }),
|
|
@@ -103,7 +135,7 @@ const Y = {
|
|
|
103
135
|
sx: {
|
|
104
136
|
"& .MuiBadge-badge": {
|
|
105
137
|
padding: 0,
|
|
106
|
-
marginRight: `${(
|
|
138
|
+
marginRight: `${(C - 1) * 6 + 1}px`,
|
|
107
139
|
flexWrap: "nowrap"
|
|
108
140
|
}
|
|
109
141
|
},
|
|
@@ -112,7 +144,7 @@ const Y = {
|
|
|
112
144
|
{
|
|
113
145
|
"aria-label": M,
|
|
114
146
|
day: t,
|
|
115
|
-
onClick: () =>
|
|
147
|
+
onClick: () => u(t),
|
|
116
148
|
outsideCurrentMonth: n,
|
|
117
149
|
sx: {
|
|
118
150
|
"&.MuiPickersDay-root": {
|
|
@@ -130,8 +162,8 @@ const Y = {
|
|
|
130
162
|
), P = ({ icon: t, label: n }) => /* @__PURE__ */ s(d, { alignItems: "center", flexDirection: "row", sx: { gap: 6 }, children: [
|
|
131
163
|
/* @__PURE__ */ e(t, {}),
|
|
132
164
|
/* @__PURE__ */ e(h, { variant: "XSmall", children: n })
|
|
133
|
-
] }),
|
|
134
|
-
const { recurring: t } =
|
|
165
|
+
] }), yt = R(() => {
|
|
166
|
+
const { recurring: t } = y();
|
|
135
167
|
return /* @__PURE__ */ s(
|
|
136
168
|
d,
|
|
137
169
|
{
|
|
@@ -145,7 +177,7 @@ const Y = {
|
|
|
145
177
|
/* @__PURE__ */ e(P, { icon: ce, label: t.expense }),
|
|
146
178
|
/* @__PURE__ */ e(P, { icon: le, label: t.income }),
|
|
147
179
|
/* @__PURE__ */ e(P, { icon: de, label: t.missed }),
|
|
148
|
-
/* @__PURE__ */ e(P, { icon:
|
|
180
|
+
/* @__PURE__ */ e(P, { icon: ue, label: t.paid })
|
|
149
181
|
]
|
|
150
182
|
}
|
|
151
183
|
);
|
|
@@ -159,27 +191,27 @@ const Y = {
|
|
|
159
191
|
[W.ES]: Je
|
|
160
192
|
}[t] || be;
|
|
161
193
|
}, Ae = R(() => {
|
|
162
|
-
const t = ne(), { onEvent: n } = U(), { recurring: r } =
|
|
163
|
-
xe(/* @__PURE__ */ new Date()) *
|
|
164
|
-
), p = (
|
|
165
|
-
|
|
166
|
-
start:
|
|
167
|
-
end: B(
|
|
168
|
-
}), a(
|
|
169
|
-
}, a = (
|
|
170
|
-
|
|
194
|
+
const t = ne(), { onEvent: n } = U(), { recurring: r } = y(), { selectedDay: o, setDateRange: i } = I(), [c, u] = x.useState(
|
|
195
|
+
xe(/* @__PURE__ */ new Date()) * G + Re
|
|
196
|
+
), p = (m) => {
|
|
197
|
+
u(xe(m) * G + Re), i({
|
|
198
|
+
start: k(m),
|
|
199
|
+
end: B(m)
|
|
200
|
+
}), a(m), n(L.RECURRING_TRANSACTIONS_CLICK_CALENDAR_RIGHT);
|
|
201
|
+
}, a = (m) => {
|
|
202
|
+
m && requestAnimationFrame(() => {
|
|
171
203
|
const g = document.getElementById("recurrence-list");
|
|
172
204
|
g?.setAttribute("tabindex", "-1"), g?.focus();
|
|
173
205
|
});
|
|
174
206
|
}, l = /* @__PURE__ */ e(
|
|
175
207
|
nt,
|
|
176
208
|
{
|
|
177
|
-
minDate:
|
|
209
|
+
minDate: k(/* @__PURE__ */ new Date()),
|
|
178
210
|
onChange: a,
|
|
179
211
|
onMonthChange: p,
|
|
180
212
|
showDaysOutsideCurrentMonth: !0,
|
|
181
213
|
slots: {
|
|
182
|
-
day:
|
|
214
|
+
day: Ct
|
|
183
215
|
},
|
|
184
216
|
sx: {
|
|
185
217
|
"& .MuiPickersArrowSwitcher-button": {
|
|
@@ -208,11 +240,11 @@ const Y = {
|
|
|
208
240
|
minHeight: c
|
|
209
241
|
},
|
|
210
242
|
"&.MuiDateCalendar-root": {
|
|
211
|
-
minHeight: c +
|
|
243
|
+
minHeight: c + G
|
|
212
244
|
},
|
|
213
245
|
"& .MuiButtonBase-root, .MuiDayCalendar-weekDayLabel": {
|
|
214
|
-
height:
|
|
215
|
-
width:
|
|
246
|
+
height: G,
|
|
247
|
+
width: G,
|
|
216
248
|
margin: 0
|
|
217
249
|
},
|
|
218
250
|
"& .MuiDayCalendar-weekDayLabel": {
|
|
@@ -229,7 +261,7 @@ const Y = {
|
|
|
229
261
|
o && l,
|
|
230
262
|
!o && l,
|
|
231
263
|
/* @__PURE__ */ e(h, { id: "calendar-label", sx: { alignSelf: "center" }, variant: "body2", children: r.calendar_tooltip }),
|
|
232
|
-
/* @__PURE__ */ e(
|
|
264
|
+
/* @__PURE__ */ e(yt, {})
|
|
233
265
|
] }) });
|
|
234
266
|
}), Tt = (t) => {
|
|
235
267
|
if (t.type === A.Income)
|
|
@@ -238,7 +270,7 @@ const Y = {
|
|
|
238
270
|
case T.Missed:
|
|
239
271
|
return /* @__PURE__ */ e(de, {});
|
|
240
272
|
case T.Paid:
|
|
241
|
-
return /* @__PURE__ */ e(
|
|
273
|
+
return /* @__PURE__ */ e(ue, {});
|
|
242
274
|
default:
|
|
243
275
|
return /* @__PURE__ */ e(ce, {});
|
|
244
276
|
}
|
|
@@ -272,17 +304,17 @@ const Y = {
|
|
|
272
304
|
},
|
|
273
305
|
showOrdinal: o = !1
|
|
274
306
|
}) => {
|
|
275
|
-
const { recurring: i } =
|
|
307
|
+
const { recurring: i } = y(), { detailedRepeatingTransactions: c } = I(), [u, p] = x.useState(!1), a = x.useMemo(
|
|
276
308
|
() => c.find((M) => M.guid === t.repeatingTransactionGuid),
|
|
277
309
|
[t, c]
|
|
278
|
-
), l = t.type === A.Income,
|
|
279
|
-
let
|
|
280
|
-
return g ?
|
|
310
|
+
), l = t.type === A.Income, m = t.status === T.Paid, g = t.status === T.Missed, b = t.status === T.Upcoming;
|
|
311
|
+
let C = i.paid?.toLowerCase();
|
|
312
|
+
return g ? C = i.missed?.toLowerCase() : b && (C = o ? Ce(i, a || {}, !0) : Ce(i, a || {}, !1)), //TODO: implement common/components/ListItemRow.tsx
|
|
281
313
|
/* @__PURE__ */ s(Me, { disableGutters: !0, disablePadding: !0, children: [
|
|
282
|
-
/* @__PURE__ */ s(
|
|
314
|
+
/* @__PURE__ */ s(mt, { onClick: () => {
|
|
283
315
|
p(!0), r(t);
|
|
284
316
|
}, children: [
|
|
285
|
-
/* @__PURE__ */ e(
|
|
317
|
+
/* @__PURE__ */ e(ut, { children: /* @__PURE__ */ e(
|
|
286
318
|
te,
|
|
287
319
|
{
|
|
288
320
|
categoryGuid: t.categoryGuid,
|
|
@@ -330,9 +362,9 @@ const Y = {
|
|
|
330
362
|
width: "100%"
|
|
331
363
|
},
|
|
332
364
|
children: [
|
|
333
|
-
|
|
365
|
+
m && /* @__PURE__ */ e(we, { color: "success", filled: !0, size: 12 }),
|
|
334
366
|
g && /* @__PURE__ */ e(Se, { color: "error", filled: !0, size: 12 }),
|
|
335
|
-
/* @__PURE__ */ e(h, { bold: !0, color: "text.secondary", variant: "caption", children:
|
|
367
|
+
/* @__PURE__ */ e(h, { bold: !0, color: "text.secondary", variant: "caption", children: C })
|
|
336
368
|
]
|
|
337
369
|
}
|
|
338
370
|
)
|
|
@@ -345,7 +377,7 @@ const Y = {
|
|
|
345
377
|
ie,
|
|
346
378
|
{
|
|
347
379
|
ariaLabelClose: i.close_drawer_aria,
|
|
348
|
-
isOpen:
|
|
380
|
+
isOpen: u,
|
|
349
381
|
onClose: () => p(!1),
|
|
350
382
|
title: t.type === A.Income ? i.income_details : i.expense_details,
|
|
351
383
|
children: a && /* @__PURE__ */ e(
|
|
@@ -367,7 +399,7 @@ const Y = {
|
|
|
367
399
|
sx: i = {},
|
|
368
400
|
title: c
|
|
369
401
|
}) => {
|
|
370
|
-
const { recurring:
|
|
402
|
+
const { recurring: u } = y(), p = x.useMemo(() => st(t), [t]);
|
|
371
403
|
return /* @__PURE__ */ s(d, { id: "recurrence-list", sx: { gap: 8, mt: 4, ...i }, "tab-index": -1, children: [
|
|
372
404
|
c && /* @__PURE__ */ s(
|
|
373
405
|
d,
|
|
@@ -380,11 +412,11 @@ const Y = {
|
|
|
380
412
|
},
|
|
381
413
|
children: [
|
|
382
414
|
/* @__PURE__ */ e(Xe, { bold: !0, variant: "body1", children: c }),
|
|
383
|
-
r && /* @__PURE__ */ e(lt, { onClick: r, size: "small", variant: "text", children:
|
|
415
|
+
r && /* @__PURE__ */ e(lt, { onClick: r, size: "small", variant: "text", children: u.reset })
|
|
384
416
|
]
|
|
385
417
|
}
|
|
386
418
|
),
|
|
387
|
-
t.length === 0 ? /* @__PURE__ */ e(h, { fontStyle: "italic", sx: { py: 24, textAlign: "center" }, children:
|
|
419
|
+
t.length === 0 ? /* @__PURE__ */ e(h, { fontStyle: "italic", sx: { py: 24, textAlign: "center" }, children: u.no_activities }) : /* @__PURE__ */ e(ye, { children: n ? t.map((a, l) => /* @__PURE__ */ s(x.Fragment, { children: [
|
|
388
420
|
/* @__PURE__ */ e(
|
|
389
421
|
Te,
|
|
390
422
|
{
|
|
@@ -396,16 +428,16 @@ const Y = {
|
|
|
396
428
|
/* @__PURE__ */ e(Z, { sx: { mx: 24 } })
|
|
397
429
|
] }, `recurrence-${l}`)) : p.map((a, l) => /* @__PURE__ */ s(x.Fragment, { children: [
|
|
398
430
|
/* @__PURE__ */ e(Me, { children: /* @__PURE__ */ e(
|
|
399
|
-
|
|
431
|
+
ye,
|
|
400
432
|
{
|
|
401
433
|
subheader: /* @__PURE__ */ e(dt, { sx: { bgcolor: "background.paper", ml: 8, pb: 4, pt: 12 }, children: /* @__PURE__ */ e(h, { bold: !0, variant: "caption", children: S(a.date, w.DAY_OF_WEEK_MONTH_DAY) }) }),
|
|
402
434
|
sx: { width: "100%" },
|
|
403
|
-
children: a.recurrences.map((
|
|
435
|
+
children: a.recurrences.map((m, g) => /* @__PURE__ */ e(x.Fragment, { children: /* @__PURE__ */ e(
|
|
404
436
|
Te,
|
|
405
437
|
{
|
|
406
438
|
isMini: n,
|
|
407
439
|
onRecurrenceClick: o,
|
|
408
|
-
recurrence:
|
|
440
|
+
recurrence: m
|
|
409
441
|
}
|
|
410
442
|
) }, `day-recurrence-${g}`))
|
|
411
443
|
}
|
|
@@ -415,8 +447,8 @@ const Y = {
|
|
|
415
447
|
] });
|
|
416
448
|
}
|
|
417
449
|
), De = R(
|
|
418
|
-
({ expected: t, isExpense: n = !0, missed: r, paid: o, title: i, total: c, upcoming:
|
|
419
|
-
const p = ne(), { isSmallMobile: a } = oe(), { recurring: l } =
|
|
450
|
+
({ expected: t, isExpense: n = !0, missed: r, paid: o, title: i, total: c, upcoming: u }) => {
|
|
451
|
+
const p = ne(), { isSmallMobile: a } = oe(), { recurring: l } = y(), m = x.useMemo(() => {
|
|
420
452
|
const g = [{ color: p.palette.success.main, percentage: `${o / t}` }];
|
|
421
453
|
return r && g.push({ color: p.palette.error.main, percentage: `${r / t}` }), g;
|
|
422
454
|
}, [o, t, r]);
|
|
@@ -425,7 +457,7 @@ const Y = {
|
|
|
425
457
|
/* @__PURE__ */ e(h, { bold: !0, variant: "body1", children: `${i} (${c})` }),
|
|
426
458
|
/* @__PURE__ */ e(h, { bold: !0, color: n ? "text.primary" : "success.main", variant: "body1", children: `${n ? "-" : "+"}${E(t, "0,0.00")}` })
|
|
427
459
|
] }),
|
|
428
|
-
/* @__PURE__ */ e(Le, { data:
|
|
460
|
+
/* @__PURE__ */ e(Le, { data: m, height: 12 }),
|
|
429
461
|
/* @__PURE__ */ s(d, { sx: { alignItems: "center", flexDirection: "row", gap: 2, my: 8 }, children: [
|
|
430
462
|
/* @__PURE__ */ e(O, { sx: { bgcolor: "success.main", height: 8, mr: 8, width: 8 } }),
|
|
431
463
|
!a && /* @__PURE__ */ e(h, { bold: !0, variant: "body2", children: E(o, "0,0.00") }),
|
|
@@ -436,29 +468,29 @@ const Y = {
|
|
|
436
468
|
/* @__PURE__ */ e(h, { variant: "caption", children: l.missed?.toLowerCase() })
|
|
437
469
|
] }),
|
|
438
470
|
/* @__PURE__ */ e(O, { sx: { bgcolor: "divider", height: 8, ml: 16, mr: 8, width: 8 } }),
|
|
439
|
-
!a && /* @__PURE__ */ e(h, { bold: !0, variant: "body2", children: E(
|
|
471
|
+
!a && /* @__PURE__ */ e(h, { bold: !0, variant: "body2", children: E(u, "0,0.00") }),
|
|
440
472
|
/* @__PURE__ */ e(h, { variant: "caption", children: l.upcoming })
|
|
441
473
|
] })
|
|
442
474
|
] });
|
|
443
475
|
}
|
|
444
476
|
), _t = R(() => {
|
|
445
|
-
const { recurring: t } =
|
|
446
|
-
currentMonthExpenses:
|
|
477
|
+
const { recurring: t } = y(), { availableWidth: n } = Ie(), { isDesktop: r, isSmallMobile: o, isMobile: i } = oe(n), { onEvent: c } = U(), {
|
|
478
|
+
currentMonthExpenses: u,
|
|
447
479
|
currentMonthIncome: p,
|
|
448
480
|
dateRange: a,
|
|
449
481
|
expenseTotal: l,
|
|
450
|
-
incomeTotal:
|
|
482
|
+
incomeTotal: m,
|
|
451
483
|
missedExpenseTotal: g,
|
|
452
484
|
pastRecurrences: b,
|
|
453
|
-
paidExpenseTotal:
|
|
485
|
+
paidExpenseTotal: C,
|
|
454
486
|
paidIncomeTotal: v,
|
|
455
487
|
selectedDay: M,
|
|
456
488
|
selectedDayRecurrences: f,
|
|
457
489
|
setDateRange: _,
|
|
458
490
|
upcomingExpenseTotal: K,
|
|
459
491
|
upcomingIncomeTotal: Ee,
|
|
460
|
-
upcomingRecurrences:
|
|
461
|
-
} = I(), [V, Ne] = x.useState(0), Oe = $e(a.start, /* @__PURE__ */ new Date()),
|
|
492
|
+
upcomingRecurrences: me
|
|
493
|
+
} = I(), [V, Ne] = x.useState(0), Oe = $e(a.start, /* @__PURE__ */ new Date()), ke = (D, He) => {
|
|
462
494
|
Ne(He);
|
|
463
495
|
}, pe = (D) => {
|
|
464
496
|
c(L.RECURRING_TRANSACTIONS_CLICK_UPCOMING, {
|
|
@@ -468,16 +500,16 @@ const Y = {
|
|
|
468
500
|
c(L.RECURRING_TRANSACTIONS_CLICK_PAID, {
|
|
469
501
|
transaction_guid: D.transaction?.guid
|
|
470
502
|
});
|
|
471
|
-
},
|
|
503
|
+
}, Ge = () => {
|
|
472
504
|
const D = Be(a.start, 1);
|
|
473
505
|
_({
|
|
474
|
-
start:
|
|
506
|
+
start: k(D),
|
|
475
507
|
end: B(D)
|
|
476
508
|
});
|
|
477
509
|
}, We = () => {
|
|
478
510
|
const D = Pe(a.start, 1);
|
|
479
511
|
_({
|
|
480
|
-
start:
|
|
512
|
+
start: k(D),
|
|
481
513
|
end: B(D)
|
|
482
514
|
});
|
|
483
515
|
};
|
|
@@ -506,7 +538,7 @@ const Y = {
|
|
|
506
538
|
children: /* @__PURE__ */ e(Ye, {})
|
|
507
539
|
}
|
|
508
540
|
),
|
|
509
|
-
/* @__PURE__ */ e(he, { color: "primary", onClick:
|
|
541
|
+
/* @__PURE__ */ e(he, { color: "primary", onClick: Ge, children: /* @__PURE__ */ e(je, {}) })
|
|
510
542
|
] })
|
|
511
543
|
] }),
|
|
512
544
|
/* @__PURE__ */ e(
|
|
@@ -514,16 +546,16 @@ const Y = {
|
|
|
514
546
|
{
|
|
515
547
|
expected: l,
|
|
516
548
|
missed: g,
|
|
517
|
-
paid:
|
|
549
|
+
paid: C,
|
|
518
550
|
title: t.expenses,
|
|
519
|
-
total:
|
|
551
|
+
total: u.length,
|
|
520
552
|
upcoming: K
|
|
521
553
|
}
|
|
522
554
|
),
|
|
523
555
|
/* @__PURE__ */ e(
|
|
524
556
|
De,
|
|
525
557
|
{
|
|
526
|
-
expected:
|
|
558
|
+
expected: m,
|
|
527
559
|
isExpense: !1,
|
|
528
560
|
paid: v,
|
|
529
561
|
title: t.deposits,
|
|
@@ -535,13 +567,13 @@ const Y = {
|
|
|
535
567
|
H,
|
|
536
568
|
{
|
|
537
569
|
onRecurrenceClick: pe,
|
|
538
|
-
recurrences:
|
|
570
|
+
recurrences: me,
|
|
539
571
|
title: t.upcoming_activity
|
|
540
572
|
}
|
|
541
573
|
)
|
|
542
574
|
] }),
|
|
543
575
|
!r && /* @__PURE__ */ s(d, { sx: { px: i ? 0 : 24 }, children: [
|
|
544
|
-
/* @__PURE__ */ s(Fe, { onChange:
|
|
576
|
+
/* @__PURE__ */ s(Fe, { onChange: ke, value: V, variant: "fullWidth", children: [
|
|
545
577
|
/* @__PURE__ */ e(
|
|
546
578
|
fe,
|
|
547
579
|
{
|
|
@@ -559,7 +591,7 @@ const Y = {
|
|
|
559
591
|
H,
|
|
560
592
|
{
|
|
561
593
|
onRecurrenceClick: pe,
|
|
562
|
-
recurrences:
|
|
594
|
+
recurrences: me
|
|
563
595
|
}
|
|
564
596
|
),
|
|
565
597
|
V === 1 && /* @__PURE__ */ e(
|
|
@@ -589,17 +621,17 @@ const Y = {
|
|
|
589
621
|
}
|
|
590
622
|
);
|
|
591
623
|
}), Hn = R(({ onBackClick: t, sx: n = {} }) => {
|
|
592
|
-
const { recurring: r } =
|
|
624
|
+
const { recurring: r } = y(), { isInitialized: o, selectedAccountGuids: i } = z(), { isDataLoaded: c, loadRepeatingTransactionData: u, setDateRange: p } = I(), { setFilter: a } = re(), { onEvent: l } = U(), { isMobile: m } = oe(), [g, b] = x.useState(!1);
|
|
593
625
|
return ae({
|
|
594
626
|
widgetName: "RecurringTransactionsWidget",
|
|
595
627
|
isLoaded: c
|
|
596
628
|
}), x.useEffect(() => {
|
|
597
|
-
c ||
|
|
629
|
+
c || u().finally();
|
|
598
630
|
}, []), x.useEffect(() => {
|
|
599
631
|
a({
|
|
600
632
|
dateRange: { start: ee(Q(), 90), end: J() },
|
|
601
633
|
accounts: i
|
|
602
|
-
}), p({ start:
|
|
634
|
+
}), p({ start: k(/* @__PURE__ */ new Date()), end: B(/* @__PURE__ */ new Date()) });
|
|
603
635
|
}, [i]), o ? /* @__PURE__ */ s(
|
|
604
636
|
ht,
|
|
605
637
|
{
|
|
@@ -612,7 +644,7 @@ const Y = {
|
|
|
612
644
|
}
|
|
613
645
|
}
|
|
614
646
|
],
|
|
615
|
-
hasDivider:
|
|
647
|
+
hasDivider: m,
|
|
616
648
|
onAccountsFilterClick: () => l(L.RECURRING_TRANSACTIONS_CLICK_FILTER),
|
|
617
649
|
onBackClick: t,
|
|
618
650
|
sx: n,
|
|
@@ -634,17 +666,17 @@ const Y = {
|
|
|
634
666
|
}
|
|
635
667
|
) : /* @__PURE__ */ e(se, {});
|
|
636
668
|
}), St = R(() => {
|
|
637
|
-
const { recurring: t } =
|
|
638
|
-
return /* @__PURE__ */ s(d, { flexDirection:
|
|
669
|
+
const { recurring: t } = y(), { availableWidth: n } = Ie(), { selectedDay: r, selectedDayRecurrences: o, setSelectedDay: i, upcomingRecurrences: c } = I(), u = n < 750;
|
|
670
|
+
return /* @__PURE__ */ s(d, { flexDirection: u ? "column" : "row", width: "100%", children: [
|
|
639
671
|
/* @__PURE__ */ e(Ae, {}),
|
|
640
|
-
!
|
|
672
|
+
!u && /* @__PURE__ */ e(Z, { flexItem: !0, orientation: "vertical", sx: { my: 16, ml: 16 } }),
|
|
641
673
|
/* @__PURE__ */ e(
|
|
642
674
|
H,
|
|
643
675
|
{
|
|
644
676
|
isMini: !0,
|
|
645
677
|
onResetClick: r ? () => i(r) : void 0,
|
|
646
678
|
recurrences: o || c.slice(0, 5),
|
|
647
|
-
sx: { width:
|
|
679
|
+
sx: { width: u ? "100%" : "calc(100% - 336px)", mt: 12 },
|
|
648
680
|
title: r ? N(
|
|
649
681
|
t.day_transactions,
|
|
650
682
|
S(r, w.MONTH_DAY)
|
|
@@ -654,7 +686,7 @@ const Y = {
|
|
|
654
686
|
] });
|
|
655
687
|
}), Bn = R(
|
|
656
688
|
({ onPrimaryCtaClick: t, sx: n }) => {
|
|
657
|
-
const { recurring: r } =
|
|
689
|
+
const { recurring: r } = y(), { setFilter: o } = re(), { isDataLoaded: i, loadRepeatingTransactionData: c } = I(), { isInitialized: u, selectedAccountGuids: p } = z();
|
|
658
690
|
return ae({
|
|
659
691
|
widgetName: "RecurringTransactionsMiniWidget",
|
|
660
692
|
isLoaded: i
|
|
@@ -665,7 +697,7 @@ const Y = {
|
|
|
665
697
|
dateRange: { start: ee(Q(), 90), end: J() },
|
|
666
698
|
accounts: p
|
|
667
699
|
});
|
|
668
|
-
}, [p]),
|
|
700
|
+
}, [p]), u ? /* @__PURE__ */ e(
|
|
669
701
|
ft,
|
|
670
702
|
{
|
|
671
703
|
className: "mx-exp-recurring-transactions-miniwidget",
|
|
@@ -679,7 +711,7 @@ const Y = {
|
|
|
679
711
|
) : /* @__PURE__ */ e(se, {});
|
|
680
712
|
}
|
|
681
713
|
), wt = R(() => {
|
|
682
|
-
const { recurring: t } =
|
|
714
|
+
const { recurring: t } = y();
|
|
683
715
|
return /* @__PURE__ */ s(d, { sx: { alignItems: "start", flexDirection: "row", gap: 12 }, children: [
|
|
684
716
|
/* @__PURE__ */ e(Ke, { size: 32 }),
|
|
685
717
|
/* @__PURE__ */ s(d, { children: [
|
|
@@ -761,18 +793,18 @@ const Y = {
|
|
|
761
793
|
upcomingRecurrences: o,
|
|
762
794
|
expenseTotal: i,
|
|
763
795
|
missedExpenseTotal: c,
|
|
764
|
-
paidExpenseTotal:
|
|
796
|
+
paidExpenseTotal: u,
|
|
765
797
|
upcomingExpenseTotal: p
|
|
766
|
-
} = I(), { recurring: a } =
|
|
798
|
+
} = I(), { recurring: a } = y(), l = r <= 288, m = r >= 450, g = 32, b = o.length > 0, C = x.useMemo(() => E(i, i === 0 ? "0,0" : "0,0.00"), [i]), v = x.useMemo(() => {
|
|
767
799
|
const _ = [
|
|
768
|
-
{ color: t.palette.success.main, percentage: `${
|
|
800
|
+
{ color: t.palette.success.main, percentage: `${u / i}` }
|
|
769
801
|
];
|
|
770
802
|
return c && _.push({
|
|
771
803
|
color: t.palette.error.main,
|
|
772
804
|
percentage: `${c / i}`
|
|
773
805
|
}), _;
|
|
774
806
|
}, [
|
|
775
|
-
|
|
807
|
+
u,
|
|
776
808
|
i,
|
|
777
809
|
c,
|
|
778
810
|
t.palette.success.main,
|
|
@@ -786,7 +818,7 @@ const Y = {
|
|
|
786
818
|
}
|
|
787
819
|
) : /* @__PURE__ */ e(Lt, { maxLogos: 3, upcomingRecurrences: o.slice(0, 3) }) : /* @__PURE__ */ e(d, { sx: { width: l ? 64 : 104 } }), f = [
|
|
788
820
|
{
|
|
789
|
-
amount:
|
|
821
|
+
amount: u,
|
|
790
822
|
bgColor: "success.main",
|
|
791
823
|
label: a.paid
|
|
792
824
|
},
|
|
@@ -807,7 +839,7 @@ const Y = {
|
|
|
807
839
|
d,
|
|
808
840
|
{
|
|
809
841
|
sx: [
|
|
810
|
-
|
|
842
|
+
C.length >= 10 && l ? { flexDirection: "column" } : { flexDirection: "row", gap: 2 },
|
|
811
843
|
{
|
|
812
844
|
alignItems: "baseline",
|
|
813
845
|
overflow: "hidden",
|
|
@@ -820,8 +852,8 @@ const Y = {
|
|
|
820
852
|
h,
|
|
821
853
|
{
|
|
822
854
|
sx: { width: "100%" },
|
|
823
|
-
variant:
|
|
824
|
-
children:
|
|
855
|
+
variant: C.length >= 10 && l ? "H3" : "H2",
|
|
856
|
+
children: C
|
|
825
857
|
}
|
|
826
858
|
),
|
|
827
859
|
/* @__PURE__ */ e(q, { sx: { pr: 12 }, variant: "XSmall", children: a.expected })
|
|
@@ -846,7 +878,7 @@ const Y = {
|
|
|
846
878
|
{
|
|
847
879
|
amount: _.amount,
|
|
848
880
|
bgcolor: _.bgColor,
|
|
849
|
-
isLargeScreen:
|
|
881
|
+
isLargeScreen: m,
|
|
850
882
|
isSmallScreen: l,
|
|
851
883
|
label: _.label
|
|
852
884
|
},
|
|
@@ -861,10 +893,10 @@ const Y = {
|
|
|
861
893
|
const { onEvent: n } = U(), { isInitialized: r, selectedAccountGuids: o } = z(), {
|
|
862
894
|
loadRepeatingTransactionData: i,
|
|
863
895
|
upcomingRecurrences: c,
|
|
864
|
-
repeatingTransactions:
|
|
896
|
+
repeatingTransactions: u,
|
|
865
897
|
setDateRange: p,
|
|
866
898
|
isDataLoaded: a
|
|
867
|
-
} = I(), { setFilter: l } = re(), { recurring:
|
|
899
|
+
} = I(), { setFilter: l } = re(), { recurring: m, budgets: g } = y();
|
|
868
900
|
ae({
|
|
869
901
|
widgetName: "RecurringTransactionsMicroWidget",
|
|
870
902
|
isLoaded: a
|
|
@@ -878,7 +910,7 @@ const Y = {
|
|
|
878
910
|
r && (l({
|
|
879
911
|
dateRange: { start: ee(Q(), 90), end: J() },
|
|
880
912
|
accounts: o
|
|
881
|
-
}), p({ start:
|
|
913
|
+
}), p({ start: k(/* @__PURE__ */ new Date()), end: B(/* @__PURE__ */ new Date()) }));
|
|
882
914
|
}, [r, o]);
|
|
883
915
|
const b = () => {
|
|
884
916
|
n(
|
|
@@ -886,21 +918,21 @@ const Y = {
|
|
|
886
918
|
), t();
|
|
887
919
|
};
|
|
888
920
|
if (!r || !a) return /* @__PURE__ */ e(se, { height: 100 });
|
|
889
|
-
const
|
|
921
|
+
const C = !u?.length;
|
|
890
922
|
return /* @__PURE__ */ e(
|
|
891
923
|
bt,
|
|
892
924
|
{
|
|
893
925
|
className: "mx-recurring-transaction-microwidget",
|
|
894
|
-
ctaLabel:
|
|
926
|
+
ctaLabel: C ? g.get_started_cta : m.primary_cta,
|
|
895
927
|
onCTAClick: b,
|
|
896
|
-
title:
|
|
897
|
-
children:
|
|
928
|
+
title: m.recurring_expenses,
|
|
929
|
+
children: C ? /* @__PURE__ */ e(wt, {}) : /* @__PURE__ */ e(vt, {})
|
|
898
930
|
}
|
|
899
931
|
);
|
|
900
932
|
}
|
|
901
933
|
), $n = R(
|
|
902
934
|
({ isOpen: t, onClose: n, selectedTab: r }) => {
|
|
903
|
-
const { cashflow: o } =
|
|
935
|
+
const { cashflow: o } = y();
|
|
904
936
|
return /* @__PURE__ */ e(
|
|
905
937
|
ie,
|
|
906
938
|
{
|
|
@@ -19,8 +19,8 @@ import { startOfToday as q } from "date-fns/startOfToday";
|
|
|
19
19
|
import Tt from "@mui/material/Button";
|
|
20
20
|
import { useTheme as Mt } from "@mui/material";
|
|
21
21
|
import { e as Dt } from "../exportTransactionsToCSV-EwhjfqsJ.mjs";
|
|
22
|
-
import { T as xt } from "../StatusIndicator-
|
|
23
|
-
import { T as wt } from "../TransactionDetails-
|
|
22
|
+
import { T as xt } from "../StatusIndicator-BnYO7yL3.mjs";
|
|
23
|
+
import { T as wt } from "../TransactionDetails-DmDYs0lX.mjs";
|
|
24
24
|
import Lt from "@mui/material/Collapse";
|
|
25
25
|
import F from "@mui/material/Divider";
|
|
26
26
|
import J from "@mui/material/List";
|