@mx-cartographer/experiences 7.3.1 → 7.3.2
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 +6 -0
- package/dist/recurringtransactions/index.es.js +277 -243
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [7.3.2] - 12-09-2025
|
|
2
|
+
|
|
3
|
+
- **FIXED** Add invisible accessibility label/description for RecurringTransactionsMiniWidget calendar
|
|
4
|
+
- **FIXED** Focus mini recurring transaction list after calendar month/day filter for better accessibility
|
|
5
|
+
- **FIXED** Clarify alt text for institution logos in RecurrenceRow
|
|
6
|
+
|
|
1
7
|
## [7.3.1] - 12-09-2025
|
|
2
8
|
|
|
3
9
|
- **UPDATED** `SpendingWidget` to have an export csv button on transactions list
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import
|
|
1
|
+
import { jsx as e, jsxs as o, Fragment as V } from "react/jsx-runtime";
|
|
2
|
+
import f from "react";
|
|
3
3
|
import { observer as R } from "mobx-react-lite";
|
|
4
4
|
import { endOfMonth as z } from "date-fns/endOfMonth";
|
|
5
5
|
import { endOfToday as de } from "date-fns/endOfToday";
|
|
@@ -14,12 +14,12 @@ import { addMonths as ze } from "date-fns/addMonths";
|
|
|
14
14
|
import { subMonths as Fe } from "date-fns/subMonths";
|
|
15
15
|
import { isBefore as Ue } from "date-fns/isBefore";
|
|
16
16
|
import se from "@mui/material/Unstable_Grid2";
|
|
17
|
-
import
|
|
18
|
-
import
|
|
17
|
+
import we from "@mui/material/IconButton";
|
|
18
|
+
import Se from "@mui/material/Tab";
|
|
19
19
|
import je from "@mui/material/Tabs";
|
|
20
|
-
import { Schedule as Ke, MonetizationOn as Ye, Cancel as Ge, CheckCircle as Ne, ChevronLeft as
|
|
21
|
-
import { Text as
|
|
22
|
-
import { getWeeksInMonth as
|
|
20
|
+
import { Schedule as Ke, MonetizationOn as Ye, Cancel as Ge, CheckCircle as Ne, ChevronLeft as qe, ChevronRight as Ve, CurrencyExchange as Xe } from "@mxenabled/mx-icons";
|
|
21
|
+
import { Text as g, MerchantLogo as pe, InstitutionLogo as Ze, H3 as Je, P as ce } from "@mxenabled/mxui";
|
|
22
|
+
import { getWeeksInMonth as _e } from "date-fns/getWeeksInMonth";
|
|
23
23
|
import ge from "@mui/material/styles/useTheme";
|
|
24
24
|
import { AdapterDateFns as Qe } from "@mui/x-date-pickers/AdapterDateFnsV3";
|
|
25
25
|
import { DateCalendar as et } from "@mui/x-date-pickers/DateCalendar";
|
|
@@ -27,10 +27,10 @@ import { LocalizationProvider as tt } from "@mui/x-date-pickers/LocalizationProv
|
|
|
27
27
|
import { isSameDay as nt } from "date-fns/isSameDay";
|
|
28
28
|
import it from "@mui/material/Badge";
|
|
29
29
|
import { PickersDay as rt } from "@mui/x-date-pickers/PickersDay";
|
|
30
|
-
import { I as
|
|
30
|
+
import { I as X } from "../IconBacking-B9oC6uL2.mjs";
|
|
31
31
|
import { u as T, b as Z, j as v, g as J, q as Oe, d as he, h as fe, n as ot } from "../hooks-Cy8JnjCg.mjs";
|
|
32
|
-
import { c as L, a as
|
|
33
|
-
import { T as
|
|
32
|
+
import { c as L, a as w, g as Ie, f as at } from "../RecurringTransactions-ej39mgA6.mjs";
|
|
33
|
+
import { T as P } from "../RecurringTransactionsStore-BiwCzScZ.mjs";
|
|
34
34
|
import { R as On } from "../RecurringTransactionsStore-BiwCzScZ.mjs";
|
|
35
35
|
import { A as I, W as st } from "../WidgetContainer-BnTgAfQn.mjs";
|
|
36
36
|
import ct from "@mui/material/Button";
|
|
@@ -42,7 +42,7 @@ import dt from "@mui/material/ListItemAvatar";
|
|
|
42
42
|
import ut from "@mui/material/ListItemButton";
|
|
43
43
|
import mt from "@mui/material/ListItemText";
|
|
44
44
|
import { b as pt } from "../ManageIncome-Cypo9qY4.mjs";
|
|
45
|
-
import { c as Wn, M as $n, S as
|
|
45
|
+
import { c as Wn, M as $n, S as Bn } from "../ManageIncome-Cypo9qY4.mjs";
|
|
46
46
|
import { f as A } from "../NumberFormatting-Buh7u8Oi.mjs";
|
|
47
47
|
import { D as xe } from "../Drawer-kEE73B87.mjs";
|
|
48
48
|
import { b as O } from "../Localization-2MODESHW.mjs";
|
|
@@ -50,7 +50,7 @@ import { f as E, D as G } from "../Dialog-CWW597AF.mjs";
|
|
|
50
50
|
import k from "@mui/material/Box";
|
|
51
51
|
import { S as We } from "../StatusBar-BK_uYHAB.mjs";
|
|
52
52
|
import { u as ye } from "../useScreenSize-B6JyS_Lj.mjs";
|
|
53
|
-
import { L as
|
|
53
|
+
import { L as q } from "../Loader-DUaFpDGv.mjs";
|
|
54
54
|
import { M as gt } from "../MiniWidgetContainer-BdgBvpga.mjs";
|
|
55
55
|
import { u as ht } from "../useDimensions-27p2evRx.mjs";
|
|
56
56
|
import { M as ft } from "../MicroWidgetContainer-CFdMGJKg.mjs";
|
|
@@ -58,34 +58,34 @@ const Q = {
|
|
|
58
58
|
gridRow: 1,
|
|
59
59
|
gridColumn: 1,
|
|
60
60
|
zIndex: 2
|
|
61
|
-
}, ee = (t) => t ? { margin: "0 0 -6px -4px" } : void 0,
|
|
61
|
+
}, ee = (t) => t ? { margin: "0 0 -6px -4px" } : void 0, be = ({ isOffset: t = !1, size: n = 16 }) => /* @__PURE__ */ e(X, { size: n, sx: { ...ee(t) }, children: /* @__PURE__ */ e(Ke, { color: "primary", filled: !0, sx: { fontSize: n, ...Q } }) }), Ce = ({ isOffset: t = !1, size: n = 16 }) => /* @__PURE__ */ e(X, { size: n, sx: { ...ee(t) }, children: /* @__PURE__ */ e(
|
|
62
62
|
Ye,
|
|
63
63
|
{
|
|
64
64
|
filled: !0,
|
|
65
65
|
sx: { color: "categories.income", fontSize: n, ...Q }
|
|
66
66
|
}
|
|
67
|
-
) }), Re = ({ isOffset: t = !1, size: n = 16 }) => /* @__PURE__ */ e(
|
|
67
|
+
) }), Re = ({ isOffset: t = !1, size: n = 16 }) => /* @__PURE__ */ e(X, { size: n, sx: { ...ee(t) }, children: /* @__PURE__ */ e(Ge, { color: "error", filled: !0, sx: { fontSize: n, ...Q } }) }), Te = ({ isOffset: t = !1, size: n = 16 }) => /* @__PURE__ */ e(X, { size: n, sx: { ...ee(t) }, children: /* @__PURE__ */ e(Ne, { color: "success", filled: !0, sx: { fontSize: n, ...Q } }) }), xt = R(
|
|
68
68
|
({ day: t, outsideCurrentMonth: n, ...i }) => {
|
|
69
|
-
const { recurring: r } = T(), { selectedAccountGuids:
|
|
70
|
-
() => l.filter((d) =>
|
|
71
|
-
[
|
|
69
|
+
const { recurring: r } = T(), { selectedAccountGuids: a } = Z(), { recurrences: l, setSelectedDay: p } = v(), s = f.useMemo(
|
|
70
|
+
() => l.filter((d) => a.includes(d.accountGuid)),
|
|
71
|
+
[a, l]
|
|
72
72
|
).filter(
|
|
73
73
|
(d) => nt(d.occurredOnDate || d.expectedDate, t)
|
|
74
|
+
), m = s.some(
|
|
75
|
+
(d) => d.type !== L.Income && d.status === w.Upcoming
|
|
74
76
|
), u = s.some(
|
|
75
|
-
(d) => d.type !== L.Income && d.status ===
|
|
76
|
-
), f = s.some(
|
|
77
|
-
(d) => d.type !== L.Income && d.status === S.Missed
|
|
77
|
+
(d) => d.type !== L.Income && d.status === w.Missed
|
|
78
78
|
), x = s.some(
|
|
79
|
-
(d) => d.type !== L.Income && d.status ===
|
|
80
|
-
),
|
|
79
|
+
(d) => d.type !== L.Income && d.status === w.Paid
|
|
80
|
+
), b = s.some((d) => d.type === L.Income), y = (m ? 1 : 0) + (u ? 1 : 0) + (x ? 1 : 0) + (b ? 1 : 0);
|
|
81
81
|
return /* @__PURE__ */ e(
|
|
82
82
|
it,
|
|
83
83
|
{
|
|
84
|
-
badgeContent: s.length > 0 && /* @__PURE__ */
|
|
85
|
-
|
|
84
|
+
badgeContent: s.length > 0 && /* @__PURE__ */ o(V, { children: [
|
|
85
|
+
u && /* @__PURE__ */ e(Re, { isOffset: !0 }),
|
|
86
86
|
x && /* @__PURE__ */ e(Te, { isOffset: !0 }),
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
m && /* @__PURE__ */ e(be, { isOffset: !0 }),
|
|
88
|
+
b && /* @__PURE__ */ e(Ce, { isOffset: !0 })
|
|
89
89
|
] }),
|
|
90
90
|
overlap: "circular",
|
|
91
91
|
sx: {
|
|
@@ -100,11 +100,11 @@ const Q = {
|
|
|
100
100
|
{
|
|
101
101
|
"aria-label": `
|
|
102
102
|
${x && r.paid},
|
|
103
|
-
${
|
|
104
|
-
${
|
|
105
|
-
${
|
|
103
|
+
${u && r.missed},
|
|
104
|
+
${m && r.upcoming},
|
|
105
|
+
${b && r.income}`,
|
|
106
106
|
day: t,
|
|
107
|
-
onClick: () =>
|
|
107
|
+
onClick: () => p(t),
|
|
108
108
|
outsideCurrentMonth: n,
|
|
109
109
|
sx: {
|
|
110
110
|
"&.MuiPickersDay-root": {
|
|
@@ -119,12 +119,12 @@ const Q = {
|
|
|
119
119
|
}
|
|
120
120
|
);
|
|
121
121
|
}
|
|
122
|
-
), Y = ({ icon: t, label: n }) => /* @__PURE__ */
|
|
122
|
+
), Y = ({ icon: t, label: n }) => /* @__PURE__ */ o(c, { alignItems: "center", flexDirection: "row", sx: { gap: 6 }, children: [
|
|
123
123
|
/* @__PURE__ */ e(t, {}),
|
|
124
|
-
/* @__PURE__ */ e(
|
|
124
|
+
/* @__PURE__ */ e(g, { variant: "XSmall", children: n })
|
|
125
125
|
] }), yt = R(() => {
|
|
126
126
|
const { recurring: t } = T();
|
|
127
|
-
return /* @__PURE__ */
|
|
127
|
+
return /* @__PURE__ */ o(
|
|
128
128
|
c,
|
|
129
129
|
{
|
|
130
130
|
alignItems: "center",
|
|
@@ -134,26 +134,32 @@ const Q = {
|
|
|
134
134
|
justifyContent: "center",
|
|
135
135
|
mt: 12,
|
|
136
136
|
children: [
|
|
137
|
-
/* @__PURE__ */ e(Y, { icon:
|
|
138
|
-
/* @__PURE__ */ e(Y, { icon:
|
|
137
|
+
/* @__PURE__ */ e(Y, { icon: be, label: t.expense }),
|
|
138
|
+
/* @__PURE__ */ e(Y, { icon: Ce, label: t.income }),
|
|
139
139
|
/* @__PURE__ */ e(Y, { icon: Re, label: t.missed }),
|
|
140
140
|
/* @__PURE__ */ e(Y, { icon: Te, label: t.paid })
|
|
141
141
|
]
|
|
142
142
|
}
|
|
143
143
|
);
|
|
144
144
|
}), Me = 58, $e = R(() => {
|
|
145
|
-
const t = ge(), { onEvent: n } = J(), { selectedDay: i, setDateRange: r } = v(), [
|
|
146
|
-
|
|
147
|
-
),
|
|
148
|
-
l(
|
|
149
|
-
start: W(
|
|
150
|
-
end: z(
|
|
151
|
-
}), n(I.RECURRING_TRANSACTIONS_CLICK_CALENDAR_RIGHT);
|
|
152
|
-
},
|
|
145
|
+
const t = ge(), { onEvent: n } = J(), { selectedDay: i, setDateRange: r } = v(), [a, l] = f.useState(
|
|
146
|
+
_e(/* @__PURE__ */ new Date()) * P + Me
|
|
147
|
+
), p = (u) => {
|
|
148
|
+
l(_e(u) * P + Me), r({
|
|
149
|
+
start: W(u),
|
|
150
|
+
end: z(u)
|
|
151
|
+
}), h(u), n(I.RECURRING_TRANSACTIONS_CLICK_CALENDAR_RIGHT);
|
|
152
|
+
}, h = (u) => {
|
|
153
|
+
u && requestAnimationFrame(() => {
|
|
154
|
+
const x = document.getElementById("recurrence-list");
|
|
155
|
+
x?.setAttribute("tabindex", "-1"), x?.focus();
|
|
156
|
+
});
|
|
157
|
+
}, s = /* @__PURE__ */ e(
|
|
153
158
|
et,
|
|
154
159
|
{
|
|
155
160
|
minDate: W(/* @__PURE__ */ new Date()),
|
|
156
|
-
|
|
161
|
+
onChange: h,
|
|
162
|
+
onMonthChange: p,
|
|
157
163
|
showDaysOutsideCurrentMonth: !0,
|
|
158
164
|
slots: {
|
|
159
165
|
day: xt
|
|
@@ -182,14 +188,14 @@ const Q = {
|
|
|
182
188
|
fontWeight: 600
|
|
183
189
|
},
|
|
184
190
|
"& .MuiDayCalendar-slideTransition": {
|
|
185
|
-
minHeight:
|
|
191
|
+
minHeight: a
|
|
186
192
|
},
|
|
187
193
|
"&.MuiDateCalendar-root": {
|
|
188
|
-
minHeight:
|
|
194
|
+
minHeight: a + P
|
|
189
195
|
},
|
|
190
196
|
"& .MuiButtonBase-root, .MuiDayCalendar-weekDayLabel": {
|
|
191
|
-
height:
|
|
192
|
-
width:
|
|
197
|
+
height: P,
|
|
198
|
+
width: P,
|
|
193
199
|
margin: 0
|
|
194
200
|
},
|
|
195
201
|
"& .MuiDayCalendar-weekDayLabel": {
|
|
@@ -201,25 +207,53 @@ const Q = {
|
|
|
201
207
|
views: ["day"]
|
|
202
208
|
}
|
|
203
209
|
);
|
|
204
|
-
return /* @__PURE__ */
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
+
return /* @__PURE__ */ o(
|
|
211
|
+
c,
|
|
212
|
+
{
|
|
213
|
+
"aria-describedby": "calendar-description",
|
|
214
|
+
"aria-labelledby": "calendar-label",
|
|
215
|
+
justifyContent: "center",
|
|
216
|
+
children: [
|
|
217
|
+
/* @__PURE__ */ e(
|
|
218
|
+
"span",
|
|
219
|
+
{
|
|
220
|
+
id: "calendar-label",
|
|
221
|
+
style: {
|
|
222
|
+
position: "absolute",
|
|
223
|
+
width: "1px",
|
|
224
|
+
height: "1px",
|
|
225
|
+
padding: 0,
|
|
226
|
+
margin: "-1px",
|
|
227
|
+
overflow: "hidden",
|
|
228
|
+
clip: "rect(0, 0, 0, 0)",
|
|
229
|
+
whiteSpace: "nowrap",
|
|
230
|
+
border: 0
|
|
231
|
+
},
|
|
232
|
+
children: "Calendar filter for recurring transactions list. Filter by month or select specific date."
|
|
233
|
+
}
|
|
234
|
+
),
|
|
235
|
+
/* @__PURE__ */ o(tt, { dateAdapter: Qe, children: [
|
|
236
|
+
i && s,
|
|
237
|
+
!i && s,
|
|
238
|
+
/* @__PURE__ */ e(yt, {})
|
|
239
|
+
] })
|
|
240
|
+
]
|
|
241
|
+
}
|
|
242
|
+
);
|
|
243
|
+
}), bt = (t) => {
|
|
210
244
|
if (t.type === L.Income)
|
|
211
|
-
return /* @__PURE__ */ e(
|
|
245
|
+
return /* @__PURE__ */ e(Ce, {});
|
|
212
246
|
switch (t.status) {
|
|
213
|
-
case
|
|
247
|
+
case w.Missed:
|
|
214
248
|
return /* @__PURE__ */ e(Re, {});
|
|
215
|
-
case
|
|
249
|
+
case w.Paid:
|
|
216
250
|
return /* @__PURE__ */ e(Te, {});
|
|
217
251
|
default:
|
|
218
|
-
return /* @__PURE__ */ e(
|
|
252
|
+
return /* @__PURE__ */ e(be, {});
|
|
219
253
|
}
|
|
220
|
-
},
|
|
254
|
+
}, Ct = (t, n) => {
|
|
221
255
|
switch (t.status) {
|
|
222
|
-
case
|
|
256
|
+
case w.Paid:
|
|
223
257
|
return t.expectedDate ? O(
|
|
224
258
|
n.paid_on,
|
|
225
259
|
E(
|
|
@@ -227,12 +261,12 @@ const Q = {
|
|
|
227
261
|
G.MONTH_DAY
|
|
228
262
|
)
|
|
229
263
|
) : n.paid;
|
|
230
|
-
case
|
|
264
|
+
case w.Missed:
|
|
231
265
|
return O(
|
|
232
266
|
n.missed_on,
|
|
233
267
|
E(t.expectedDate, G.MONTH_DAY)
|
|
234
268
|
);
|
|
235
|
-
case
|
|
269
|
+
case w.Upcoming:
|
|
236
270
|
return O(
|
|
237
271
|
n.upcoming_on,
|
|
238
272
|
E(t.expectedDate, G.MONTH_DAY)
|
|
@@ -247,15 +281,15 @@ const Q = {
|
|
|
247
281
|
},
|
|
248
282
|
showOrdinal: r = !1
|
|
249
283
|
}) => {
|
|
250
|
-
const { recurring:
|
|
284
|
+
const { recurring: a } = T(), { repeatingTransactions: l } = v(), [p, h] = f.useState(!1), s = f.useMemo(
|
|
251
285
|
() => l.find((D) => D.guid === t.repeatingTransactionGuid),
|
|
252
286
|
[t, l]
|
|
253
|
-
),
|
|
254
|
-
let y =
|
|
255
|
-
return x ? y =
|
|
256
|
-
/* @__PURE__ */
|
|
257
|
-
/* @__PURE__ */
|
|
258
|
-
|
|
287
|
+
), m = t.type === L.Income, u = t.status === w.Paid, x = t.status === w.Missed, b = t.status === w.Upcoming;
|
|
288
|
+
let y = a.paid?.toLowerCase();
|
|
289
|
+
return x ? y = a.missed?.toLowerCase() : b && (y = r ? Ie(a, s || {}, !0) : Ie(a, s || {}, !1)), //TODO: implement common/components/ListItemRow.tsx
|
|
290
|
+
/* @__PURE__ */ o(ke, { disableGutters: !0, disablePadding: !0, children: [
|
|
291
|
+
/* @__PURE__ */ o(ut, { onClick: () => {
|
|
292
|
+
h(!0), i(t);
|
|
259
293
|
}, children: [
|
|
260
294
|
/* @__PURE__ */ e(dt, { children: /* @__PURE__ */ e(
|
|
261
295
|
pe,
|
|
@@ -264,36 +298,36 @@ const Q = {
|
|
|
264
298
|
merchantGuid: t.merchantGuid
|
|
265
299
|
}
|
|
266
300
|
) }),
|
|
267
|
-
/* @__PURE__ */ e(mt, { children: /* @__PURE__ */
|
|
301
|
+
/* @__PURE__ */ e(mt, { children: /* @__PURE__ */ o(
|
|
268
302
|
c,
|
|
269
303
|
{
|
|
270
304
|
direction: "row",
|
|
271
305
|
gap: 4,
|
|
272
306
|
sx: { justifyContent: "space-between", textOverflow: "ellipsis", textWrap: "nowrap" },
|
|
273
307
|
children: [
|
|
274
|
-
/* @__PURE__ */
|
|
275
|
-
/* @__PURE__ */ e(
|
|
276
|
-
/* @__PURE__ */ e(c, { alignItems: "center", direction: "row", gap: 6, children: n ? /* @__PURE__ */
|
|
277
|
-
|
|
278
|
-
/* @__PURE__ */ e(
|
|
279
|
-
] }) : /* @__PURE__ */
|
|
308
|
+
/* @__PURE__ */ o(c, { direction: "column", width: "50%", children: [
|
|
309
|
+
/* @__PURE__ */ e(g, { bold: !0, variant: "body1", children: t.name }),
|
|
310
|
+
/* @__PURE__ */ e(c, { alignItems: "center", direction: "row", gap: 6, children: n ? /* @__PURE__ */ o(c, { direction: "row", gap: 4, children: [
|
|
311
|
+
bt(t),
|
|
312
|
+
/* @__PURE__ */ e(g, { variant: "caption", children: Ct(t, a) })
|
|
313
|
+
] }) : /* @__PURE__ */ o(V, { children: [
|
|
280
314
|
t.institutionGuid && /* @__PURE__ */ e(
|
|
281
315
|
Ze,
|
|
282
316
|
{
|
|
283
|
-
alt: t.institutionName
|
|
317
|
+
alt: `${t.institutionName} institution logo`,
|
|
284
318
|
institutionGuid: t.institutionGuid,
|
|
285
319
|
size: 12
|
|
286
320
|
}
|
|
287
321
|
),
|
|
288
|
-
/* @__PURE__ */ e(
|
|
322
|
+
/* @__PURE__ */ e(g, { sx: { maxWidth: 250 }, variant: "caption", children: t.institutionName })
|
|
289
323
|
] }) })
|
|
290
324
|
] }),
|
|
291
|
-
/* @__PURE__ */
|
|
292
|
-
/* @__PURE__ */
|
|
293
|
-
|
|
325
|
+
/* @__PURE__ */ o(c, { alignItems: "flex-end", width: "100%", children: [
|
|
326
|
+
/* @__PURE__ */ o(g, { bold: !0, color: m ? "success.main" : "text.primary", variant: "body1", children: [
|
|
327
|
+
m ? "+" : "",
|
|
294
328
|
A(t.amount, "0,0.00")
|
|
295
329
|
] }),
|
|
296
|
-
!n && /* @__PURE__ */
|
|
330
|
+
!n && /* @__PURE__ */ o(
|
|
297
331
|
c,
|
|
298
332
|
{
|
|
299
333
|
direction: "row",
|
|
@@ -305,9 +339,9 @@ const Q = {
|
|
|
305
339
|
width: "100%"
|
|
306
340
|
},
|
|
307
341
|
children: [
|
|
308
|
-
|
|
342
|
+
u && /* @__PURE__ */ e(Ne, { color: "success", filled: !0, size: 12 }),
|
|
309
343
|
x && /* @__PURE__ */ e(Ge, { color: "error", filled: !0, size: 12 }),
|
|
310
|
-
/* @__PURE__ */ e(
|
|
344
|
+
/* @__PURE__ */ e(g, { bold: !0, color: "text.secondary", variant: "caption", children: y })
|
|
311
345
|
]
|
|
312
346
|
}
|
|
313
347
|
)
|
|
@@ -319,14 +353,14 @@ const Q = {
|
|
|
319
353
|
/* @__PURE__ */ e(
|
|
320
354
|
xe,
|
|
321
355
|
{
|
|
322
|
-
ariaLabelClose:
|
|
323
|
-
isOpen:
|
|
324
|
-
onClose: () =>
|
|
325
|
-
title: t.type === L.Income ?
|
|
356
|
+
ariaLabelClose: a.close_drawer_aria,
|
|
357
|
+
isOpen: p,
|
|
358
|
+
onClose: () => h(!1),
|
|
359
|
+
title: t.type === L.Income ? a.income_details : a.expense_details,
|
|
326
360
|
children: s && /* @__PURE__ */ e(
|
|
327
361
|
pt,
|
|
328
362
|
{
|
|
329
|
-
onDeleted: () =>
|
|
363
|
+
onDeleted: () => h(!1),
|
|
330
364
|
recurringTransaction: s
|
|
331
365
|
}
|
|
332
366
|
)
|
|
@@ -339,22 +373,22 @@ const Q = {
|
|
|
339
373
|
isMini: n = !1,
|
|
340
374
|
onResetClick: i,
|
|
341
375
|
onRecurrenceClick: r,
|
|
342
|
-
sx:
|
|
376
|
+
sx: a = {},
|
|
343
377
|
title: l
|
|
344
378
|
}) => {
|
|
345
|
-
const { recurring:
|
|
346
|
-
return /* @__PURE__ */
|
|
347
|
-
l && /* @__PURE__ */
|
|
379
|
+
const { recurring: p } = T(), h = f.useMemo(() => at(t), [t]);
|
|
380
|
+
return /* @__PURE__ */ o(c, { id: "recurrence-list", sx: { gap: 8, mt: 4, ...a }, "tab-index": -1, children: [
|
|
381
|
+
l && /* @__PURE__ */ o(
|
|
348
382
|
c,
|
|
349
383
|
{
|
|
350
384
|
sx: { alignItems: "top", direction: "row", justifyContent: "space-between", px: 24 },
|
|
351
385
|
children: [
|
|
352
|
-
/* @__PURE__ */ e(
|
|
353
|
-
i && /* @__PURE__ */ e(ct, { onClick: i,
|
|
386
|
+
/* @__PURE__ */ e(g, { bold: !0, variant: "body1", children: l }),
|
|
387
|
+
i && /* @__PURE__ */ e(ct, { onClick: i, variant: "text", children: p.reset })
|
|
354
388
|
]
|
|
355
389
|
}
|
|
356
390
|
),
|
|
357
|
-
t.length === 0 ? /* @__PURE__ */ e(
|
|
391
|
+
t.length === 0 ? /* @__PURE__ */ e(g, { fontStyle: "italic", sx: { py: 24, textAlign: "center" }, children: p.no_activities }) : /* @__PURE__ */ e(ve, { children: n ? t.map((s, m) => /* @__PURE__ */ o(f.Fragment, { children: [
|
|
358
392
|
/* @__PURE__ */ e(
|
|
359
393
|
Le,
|
|
360
394
|
{
|
|
@@ -364,94 +398,94 @@ const Q = {
|
|
|
364
398
|
}
|
|
365
399
|
),
|
|
366
400
|
/* @__PURE__ */ e(le, { sx: { mx: 24 } })
|
|
367
|
-
] }, `recurrence-${
|
|
401
|
+
] }, `recurrence-${m}`)) : h.map((s, m) => /* @__PURE__ */ o(f.Fragment, { children: [
|
|
368
402
|
/* @__PURE__ */ e(ke, { children: /* @__PURE__ */ e(
|
|
369
403
|
ve,
|
|
370
404
|
{
|
|
371
|
-
subheader: /* @__PURE__ */ e(lt, { sx: { bgcolor: "background.paper", ml: 8, pb: 4, pt: 12 }, children: /* @__PURE__ */ e(
|
|
405
|
+
subheader: /* @__PURE__ */ e(lt, { sx: { bgcolor: "background.paper", ml: 8, pb: 4, pt: 12 }, children: /* @__PURE__ */ e(g, { bold: !0, variant: "caption", children: E(s.date, G.DAY_OF_WEEK_MONTH_DAY) }) }),
|
|
372
406
|
sx: { width: "100%" },
|
|
373
|
-
children: s.recurrences.map((
|
|
407
|
+
children: s.recurrences.map((u, x) => /* @__PURE__ */ e(f.Fragment, { children: /* @__PURE__ */ e(
|
|
374
408
|
Le,
|
|
375
409
|
{
|
|
376
410
|
isMini: n,
|
|
377
411
|
onRecurrenceClick: r,
|
|
378
|
-
recurrence:
|
|
412
|
+
recurrence: u
|
|
379
413
|
}
|
|
380
414
|
) }, `day-recurrence-${x}`))
|
|
381
415
|
}
|
|
382
416
|
) }, s.id),
|
|
383
417
|
/* @__PURE__ */ e(le, { sx: { mx: 24 } })
|
|
384
|
-
] }, `recurrence-${
|
|
418
|
+
] }, `recurrence-${m}`)) })
|
|
385
419
|
] });
|
|
386
420
|
}
|
|
387
421
|
), Ae = R(
|
|
388
|
-
({ expected: t, isExpense: n = !0, missed: i, paid: r, title:
|
|
389
|
-
const
|
|
390
|
-
const x = [{ color:
|
|
391
|
-
return i && x.push({ color:
|
|
422
|
+
({ expected: t, isExpense: n = !0, missed: i, paid: r, title: a, total: l, upcoming: p }) => {
|
|
423
|
+
const h = ge(), { isSmallMobile: s } = ye(), { recurring: m } = T(), u = f.useMemo(() => {
|
|
424
|
+
const x = [{ color: h.palette.success.main, percentage: `${r / t}` }];
|
|
425
|
+
return i && x.push({ color: h.palette.error.main, percentage: `${i / t}` }), x;
|
|
392
426
|
}, [r, t, i]);
|
|
393
|
-
return /* @__PURE__ */
|
|
394
|
-
/* @__PURE__ */
|
|
395
|
-
/* @__PURE__ */ e(
|
|
396
|
-
/* @__PURE__ */ e(
|
|
427
|
+
return /* @__PURE__ */ o(c, { children: [
|
|
428
|
+
/* @__PURE__ */ o(c, { sx: { flexDirection: "row", justifyContent: "space-between", pb: 12 }, children: [
|
|
429
|
+
/* @__PURE__ */ e(g, { bold: !0, variant: "body1", children: `${a} (${l})` }),
|
|
430
|
+
/* @__PURE__ */ e(g, { bold: !0, color: n ? "text.primary" : "success.main", variant: "body1", children: `${n ? "-" : "+"}${A(t, "0,0.00")}` })
|
|
397
431
|
] }),
|
|
398
|
-
/* @__PURE__ */ e(We, { data:
|
|
399
|
-
/* @__PURE__ */
|
|
432
|
+
/* @__PURE__ */ e(We, { data: u, height: 12 }),
|
|
433
|
+
/* @__PURE__ */ o(c, { sx: { alignItems: "center", flexDirection: "row", gap: 2, my: 8 }, children: [
|
|
400
434
|
/* @__PURE__ */ e(k, { sx: { bgcolor: "success.main", height: 8, mr: 8, width: 8 } }),
|
|
401
|
-
!s && /* @__PURE__ */ e(
|
|
402
|
-
/* @__PURE__ */ e(
|
|
403
|
-
i !== void 0 && /* @__PURE__ */
|
|
435
|
+
!s && /* @__PURE__ */ e(g, { bold: !0, variant: "body2", children: A(r, "0,0.00") }),
|
|
436
|
+
/* @__PURE__ */ e(g, { variant: "caption", children: m.paid?.toLowerCase() }),
|
|
437
|
+
i !== void 0 && /* @__PURE__ */ o(V, { children: [
|
|
404
438
|
/* @__PURE__ */ e(k, { sx: { bgcolor: "error.main", height: 8, ml: 16, mr: 8, width: 8 } }),
|
|
405
|
-
!s && /* @__PURE__ */ e(
|
|
406
|
-
/* @__PURE__ */ e(
|
|
439
|
+
!s && /* @__PURE__ */ e(g, { bold: !0, variant: "body2", children: A(i, "0,0.00") }),
|
|
440
|
+
/* @__PURE__ */ e(g, { variant: "caption", children: m.missed?.toLowerCase() })
|
|
407
441
|
] }),
|
|
408
442
|
/* @__PURE__ */ e(k, { sx: { bgcolor: "divider", height: 8, ml: 16, mr: 8, width: 8 } }),
|
|
409
|
-
!s && /* @__PURE__ */ e(
|
|
410
|
-
/* @__PURE__ */ e(
|
|
443
|
+
!s && /* @__PURE__ */ e(g, { bold: !0, variant: "body2", children: A(p, "0,0.00") }),
|
|
444
|
+
/* @__PURE__ */ e(g, { variant: "caption", children: m.upcoming })
|
|
411
445
|
] })
|
|
412
446
|
] });
|
|
413
447
|
}
|
|
414
448
|
), Rt = R(() => {
|
|
415
|
-
const { recurring: t } = T(), { availableWidth: n } = Oe(), { isDesktop: i, isSmallMobile: r, isMobile:
|
|
416
|
-
currentMonthExpenses:
|
|
417
|
-
currentMonthIncome:
|
|
449
|
+
const { recurring: t } = T(), { availableWidth: n } = Oe(), { isDesktop: i, isSmallMobile: r, isMobile: a } = ye(n), { onEvent: l } = J(), {
|
|
450
|
+
currentMonthExpenses: p,
|
|
451
|
+
currentMonthIncome: h,
|
|
418
452
|
dateRange: s,
|
|
419
|
-
expenseTotal:
|
|
420
|
-
incomeTotal:
|
|
453
|
+
expenseTotal: m,
|
|
454
|
+
incomeTotal: u,
|
|
421
455
|
missedExpenseTotal: x,
|
|
422
|
-
pastRecurrences:
|
|
456
|
+
pastRecurrences: b,
|
|
423
457
|
paidExpenseTotal: y,
|
|
424
458
|
paidIncomeTotal: d,
|
|
425
459
|
selectedDay: D,
|
|
426
|
-
selectedDayRecurrences:
|
|
460
|
+
selectedDayRecurrences: S,
|
|
427
461
|
setDateRange: F,
|
|
428
462
|
upcomingExpenseTotal: te,
|
|
429
463
|
upcomingIncomeTotal: ne,
|
|
430
464
|
upcomingRecurrences: U
|
|
431
|
-
} = v(), [$,
|
|
432
|
-
|
|
433
|
-
}, j = (
|
|
465
|
+
} = v(), [$, _] = f.useState(0), ie = Ue(s.start, /* @__PURE__ */ new Date()), M = (C, oe) => {
|
|
466
|
+
_(oe);
|
|
467
|
+
}, j = (C) => {
|
|
434
468
|
l(I.RECURRING_TRANSACTIONS_CLICK_UPCOMING, {
|
|
435
|
-
transaction_guid:
|
|
469
|
+
transaction_guid: C.transaction?.guid
|
|
436
470
|
});
|
|
437
|
-
}, K = (
|
|
471
|
+
}, K = (C) => {
|
|
438
472
|
l(I.RECURRING_TRANSACTIONS_CLICK_PAID, {
|
|
439
|
-
transaction_guid:
|
|
473
|
+
transaction_guid: C.transaction?.guid
|
|
440
474
|
});
|
|
441
|
-
},
|
|
442
|
-
const
|
|
475
|
+
}, B = () => {
|
|
476
|
+
const C = ze(s.start, 1);
|
|
443
477
|
F({
|
|
444
|
-
start: W(
|
|
445
|
-
end: z(
|
|
478
|
+
start: W(C),
|
|
479
|
+
end: z(C)
|
|
446
480
|
});
|
|
447
481
|
}, re = () => {
|
|
448
|
-
const
|
|
482
|
+
const C = Fe(s.start, 1);
|
|
449
483
|
F({
|
|
450
|
-
start: W(
|
|
451
|
-
end: z(
|
|
484
|
+
start: W(C),
|
|
485
|
+
end: z(C)
|
|
452
486
|
});
|
|
453
487
|
};
|
|
454
|
-
return /* @__PURE__ */
|
|
488
|
+
return /* @__PURE__ */ o(
|
|
455
489
|
se,
|
|
456
490
|
{
|
|
457
491
|
container: !0,
|
|
@@ -459,45 +493,45 @@ const Q = {
|
|
|
459
493
|
pt: 16
|
|
460
494
|
},
|
|
461
495
|
children: [
|
|
462
|
-
/* @__PURE__ */
|
|
463
|
-
/* @__PURE__ */
|
|
464
|
-
/* @__PURE__ */
|
|
496
|
+
/* @__PURE__ */ o(se, { md: !0, sm: 12, width: "100%", children: [
|
|
497
|
+
/* @__PURE__ */ o(c, { sx: { gap: 16, px: i ? 48 : 24 }, children: [
|
|
498
|
+
/* @__PURE__ */ o(c, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
465
499
|
/* @__PURE__ */ e(Je, { children: O(
|
|
466
500
|
t.header_title,
|
|
467
501
|
E(s.start, G.MONTH_LONG)
|
|
468
502
|
) }),
|
|
469
|
-
!i && /* @__PURE__ */
|
|
503
|
+
!i && /* @__PURE__ */ o(c, { direction: "row", gap: 4, children: [
|
|
470
504
|
/* @__PURE__ */ e(
|
|
471
|
-
|
|
505
|
+
we,
|
|
472
506
|
{
|
|
473
507
|
color: "primary",
|
|
474
508
|
disabled: ie,
|
|
475
509
|
onClick: re,
|
|
476
|
-
children: /* @__PURE__ */ e(
|
|
510
|
+
children: /* @__PURE__ */ e(qe, {})
|
|
477
511
|
}
|
|
478
512
|
),
|
|
479
|
-
/* @__PURE__ */ e(
|
|
513
|
+
/* @__PURE__ */ e(we, { color: "primary", onClick: B, children: /* @__PURE__ */ e(Ve, {}) })
|
|
480
514
|
] })
|
|
481
515
|
] }),
|
|
482
516
|
/* @__PURE__ */ e(
|
|
483
517
|
Ae,
|
|
484
518
|
{
|
|
485
|
-
expected:
|
|
519
|
+
expected: m,
|
|
486
520
|
missed: x,
|
|
487
521
|
paid: y,
|
|
488
522
|
title: t.expenses,
|
|
489
|
-
total:
|
|
523
|
+
total: p.length,
|
|
490
524
|
upcoming: te
|
|
491
525
|
}
|
|
492
526
|
),
|
|
493
527
|
/* @__PURE__ */ e(
|
|
494
528
|
Ae,
|
|
495
529
|
{
|
|
496
|
-
expected:
|
|
530
|
+
expected: u,
|
|
497
531
|
isExpense: !1,
|
|
498
532
|
paid: d,
|
|
499
533
|
title: t.deposits,
|
|
500
|
-
total:
|
|
534
|
+
total: h.length,
|
|
501
535
|
upcoming: ne
|
|
502
536
|
}
|
|
503
537
|
),
|
|
@@ -510,18 +544,18 @@ const Q = {
|
|
|
510
544
|
}
|
|
511
545
|
)
|
|
512
546
|
] }),
|
|
513
|
-
!i && /* @__PURE__ */
|
|
514
|
-
/* @__PURE__ */
|
|
547
|
+
!i && /* @__PURE__ */ o(c, { sx: { px: a ? 0 : 24 }, children: [
|
|
548
|
+
/* @__PURE__ */ o(je, { onChange: M, value: $, variant: "fullWidth", children: [
|
|
515
549
|
/* @__PURE__ */ e(
|
|
516
|
-
|
|
550
|
+
Se,
|
|
517
551
|
{
|
|
518
|
-
label: /* @__PURE__ */ e(
|
|
552
|
+
label: /* @__PURE__ */ e(g, { bold: !0, sx: { textTransform: "none" }, variant: "body1", children: r ? t.upcoming : t.upcoming_activity })
|
|
519
553
|
}
|
|
520
554
|
),
|
|
521
555
|
/* @__PURE__ */ e(
|
|
522
|
-
|
|
556
|
+
Se,
|
|
523
557
|
{
|
|
524
|
-
label: /* @__PURE__ */ e(
|
|
558
|
+
label: /* @__PURE__ */ e(g, { bold: !0, sx: { textTransform: "none" }, variant: "body1", children: r ? t.past : t.past_transactions })
|
|
525
559
|
}
|
|
526
560
|
)
|
|
527
561
|
] }),
|
|
@@ -536,18 +570,18 @@ const Q = {
|
|
|
536
570
|
H,
|
|
537
571
|
{
|
|
538
572
|
onRecurrenceClick: K,
|
|
539
|
-
recurrences:
|
|
573
|
+
recurrences: b
|
|
540
574
|
}
|
|
541
575
|
)
|
|
542
576
|
] })
|
|
543
577
|
] }),
|
|
544
|
-
i && /* @__PURE__ */ e(se, { sx: { minWidth: 450 }, xs: "auto", children: /* @__PURE__ */
|
|
578
|
+
i && /* @__PURE__ */ e(se, { sx: { minWidth: 450 }, xs: "auto", children: /* @__PURE__ */ o(c, { gap: 24, children: [
|
|
545
579
|
/* @__PURE__ */ e($e, {}),
|
|
546
580
|
/* @__PURE__ */ e(
|
|
547
581
|
H,
|
|
548
582
|
{
|
|
549
583
|
onRecurrenceClick: K,
|
|
550
|
-
recurrences:
|
|
584
|
+
recurrences: S || b,
|
|
551
585
|
title: D ? O(
|
|
552
586
|
t.day_transactions,
|
|
553
587
|
E(D, G.MONTH_DAY)
|
|
@@ -559,17 +593,17 @@ const Q = {
|
|
|
559
593
|
}
|
|
560
594
|
);
|
|
561
595
|
}), In = R(({ onBackClick: t, sx: n = {} }) => {
|
|
562
|
-
const { accounts: i } = he(), { recurring: r } = T(), { isCopyLoaded:
|
|
563
|
-
return
|
|
564
|
-
|
|
565
|
-
}, [i]),
|
|
596
|
+
const { accounts: i } = he(), { recurring: r } = T(), { isCopyLoaded: a, isInitialized: l, selectedAccountGuids: p, setSelectedAccounts: h } = Z(), { isDataLoaded: s, loadRepeatingTransactions: m, setDateRange: u } = v(), { setFilter: x } = fe(), { onEvent: b } = J(), { onLoad: y } = ot(), { isMobile: d } = ye(), [D, S] = f.useState(!1);
|
|
597
|
+
return f.useEffect(() => {
|
|
598
|
+
h(i);
|
|
599
|
+
}, [i]), f.useEffect(() => {
|
|
566
600
|
l && (x({
|
|
567
601
|
dateRange: { start: me(ue(), 90), end: de() },
|
|
568
|
-
accounts:
|
|
569
|
-
}),
|
|
602
|
+
accounts: p
|
|
603
|
+
}), u({ start: W(/* @__PURE__ */ new Date()), end: z(/* @__PURE__ */ new Date()) }), m().finally(() => {
|
|
570
604
|
y?.("RecurringTransactionsWidget");
|
|
571
605
|
}));
|
|
572
|
-
}, [l]),
|
|
606
|
+
}, [l]), a ? /* @__PURE__ */ o(
|
|
573
607
|
st,
|
|
574
608
|
{
|
|
575
609
|
accountOptions: i,
|
|
@@ -578,17 +612,17 @@ const Q = {
|
|
|
578
612
|
label: r.action_title,
|
|
579
613
|
iconName: "credit_card_gear",
|
|
580
614
|
onClick: () => {
|
|
581
|
-
|
|
615
|
+
S(!0), b(I.RECURRING_TRANSACTIONS_CLICK_SETTINGS);
|
|
582
616
|
}
|
|
583
617
|
}
|
|
584
618
|
],
|
|
585
619
|
hasDivider: d,
|
|
586
|
-
onAccountsFilterClick: () =>
|
|
620
|
+
onAccountsFilterClick: () => b(I.RECURRING_TRANSACTIONS_CLICK_FILTER),
|
|
587
621
|
onBackClick: t,
|
|
588
622
|
sx: n,
|
|
589
623
|
title: r.title,
|
|
590
624
|
children: [
|
|
591
|
-
l && s ? /* @__PURE__ */ e(Rt, {}) : /* @__PURE__ */
|
|
625
|
+
l && s ? /* @__PURE__ */ e(Rt, {}) : /* @__PURE__ */ o(c, { direction: "column", p: 48, spacing: 24, children: [
|
|
592
626
|
/* @__PURE__ */ e(ae, { height: 100, variant: "rounded", width: "100%" }),
|
|
593
627
|
/* @__PURE__ */ e(ae, { height: 100, variant: "rounded", width: "100%" }),
|
|
594
628
|
/* @__PURE__ */ e(ae, { height: 600, variant: "rounded", width: "100%" })
|
|
@@ -598,7 +632,7 @@ const Q = {
|
|
|
598
632
|
{
|
|
599
633
|
ariaLabelClose: r.close_drawer_aria,
|
|
600
634
|
isOpen: D,
|
|
601
|
-
onClose: () =>
|
|
635
|
+
onClose: () => S(!1),
|
|
602
636
|
shouldShowHeaderBorders: !1,
|
|
603
637
|
title: r.action_title,
|
|
604
638
|
children: /* @__PURE__ */ e(Ee, {})
|
|
@@ -606,19 +640,19 @@ const Q = {
|
|
|
606
640
|
)
|
|
607
641
|
]
|
|
608
642
|
}
|
|
609
|
-
) : /* @__PURE__ */ e(
|
|
643
|
+
) : /* @__PURE__ */ e(q, {});
|
|
610
644
|
}), Tt = R(() => {
|
|
611
|
-
const { recurring: t } = T(), { availableWidth: n } = Oe(), { selectedDay: i, selectedDayRecurrences: r, setSelectedDay:
|
|
612
|
-
return /* @__PURE__ */
|
|
645
|
+
const { recurring: t } = T(), { availableWidth: n } = Oe(), { selectedDay: i, selectedDayRecurrences: r, setSelectedDay: a, upcomingRecurrences: l } = v(), p = n < 750;
|
|
646
|
+
return /* @__PURE__ */ o(c, { flexDirection: p ? "column" : "row", width: "100%", children: [
|
|
613
647
|
/* @__PURE__ */ e($e, {}),
|
|
614
|
-
!
|
|
648
|
+
!p && /* @__PURE__ */ e(le, { flexItem: !0, orientation: "vertical", sx: { my: 16, ml: 16 } }),
|
|
615
649
|
/* @__PURE__ */ e(
|
|
616
650
|
H,
|
|
617
651
|
{
|
|
618
652
|
isMini: !0,
|
|
619
|
-
onResetClick: i ? () =>
|
|
653
|
+
onResetClick: i ? () => a(i) : void 0,
|
|
620
654
|
recurrences: r || l.slice(0, 5),
|
|
621
|
-
sx: { width:
|
|
655
|
+
sx: { width: p ? "100%" : "calc(100% - 336px)", mt: 12 },
|
|
622
656
|
title: i ? O(
|
|
623
657
|
t.day_transactions,
|
|
624
658
|
E(i, G.MONTH_DAY)
|
|
@@ -628,15 +662,15 @@ const Q = {
|
|
|
628
662
|
] });
|
|
629
663
|
}), vn = R(
|
|
630
664
|
({ onPrimaryCtaClick: t, sx: n }) => {
|
|
631
|
-
const { accounts: i } = he(), { recurring: r } = T(), { setFilter:
|
|
632
|
-
return
|
|
633
|
-
s &&
|
|
634
|
-
}, [s]),
|
|
635
|
-
|
|
665
|
+
const { accounts: i } = he(), { recurring: r } = T(), { setFilter: a } = fe(), { isDataLoaded: l, loadRepeatingTransactions: p } = v(), { isCopyLoaded: h, isInitialized: s, setSelectedAccounts: m, selectedAccountGuids: u } = Z();
|
|
666
|
+
return f.useEffect(() => {
|
|
667
|
+
s && m(i);
|
|
668
|
+
}, [s]), f.useEffect(() => {
|
|
669
|
+
u.length > 0 && (a({
|
|
636
670
|
dateRange: { start: me(ue(), 90), end: de() },
|
|
637
|
-
accounts:
|
|
638
|
-
}),
|
|
639
|
-
}, [
|
|
671
|
+
accounts: u
|
|
672
|
+
}), p().finally());
|
|
673
|
+
}, [u]), !h || !s ? /* @__PURE__ */ e(q, {}) : /* @__PURE__ */ e(
|
|
640
674
|
gt,
|
|
641
675
|
{
|
|
642
676
|
className: "mx-exp-recurring-transactions-miniwidget",
|
|
@@ -645,7 +679,7 @@ const Q = {
|
|
|
645
679
|
subTitle: r.sub_title,
|
|
646
680
|
sx: n,
|
|
647
681
|
title: r.mini_title,
|
|
648
|
-
children: l ? /* @__PURE__ */ e(Tt, {}) : /* @__PURE__ */ e(
|
|
682
|
+
children: l ? /* @__PURE__ */ e(Tt, {}) : /* @__PURE__ */ e(q, {})
|
|
649
683
|
}
|
|
650
684
|
);
|
|
651
685
|
}
|
|
@@ -659,12 +693,12 @@ const Q = {
|
|
|
659
693
|
merchantGuid: i.merchantGuid || ""
|
|
660
694
|
},
|
|
661
695
|
`${i.categoryGuid}-${i.merchantGuid}-${r}`
|
|
662
|
-
)) }),
|
|
696
|
+
)) }), wt = ({
|
|
663
697
|
upcomingRecurrences: t,
|
|
664
698
|
logoSize: n = 32,
|
|
665
699
|
maxLogos: i = 3
|
|
666
700
|
}) => {
|
|
667
|
-
const r = (
|
|
701
|
+
const r = (a) => a * (n / 2);
|
|
668
702
|
return /* @__PURE__ */ e(
|
|
669
703
|
k,
|
|
670
704
|
{
|
|
@@ -672,7 +706,7 @@ const Q = {
|
|
|
672
706
|
position: "relative",
|
|
673
707
|
width: 64
|
|
674
708
|
},
|
|
675
|
-
children: t.map((
|
|
709
|
+
children: t.map((a, l) => l < i ? /* @__PURE__ */ e(
|
|
676
710
|
k,
|
|
677
711
|
{
|
|
678
712
|
sx: {
|
|
@@ -686,23 +720,23 @@ const Q = {
|
|
|
686
720
|
children: /* @__PURE__ */ e(
|
|
687
721
|
pe,
|
|
688
722
|
{
|
|
689
|
-
categoryGuid:
|
|
690
|
-
merchantGuid:
|
|
723
|
+
categoryGuid: a.categoryGuid || "",
|
|
724
|
+
merchantGuid: a.merchantGuid || "",
|
|
691
725
|
size: n
|
|
692
726
|
}
|
|
693
727
|
)
|
|
694
728
|
},
|
|
695
|
-
`${
|
|
729
|
+
`${a.categoryGuid}-${a.merchantGuid}-${l}`
|
|
696
730
|
) : null)
|
|
697
731
|
}
|
|
698
732
|
);
|
|
699
|
-
},
|
|
733
|
+
}, St = ({
|
|
700
734
|
amount: t,
|
|
701
735
|
bgcolor: n,
|
|
702
736
|
isLargeScreen: i,
|
|
703
737
|
isSmallScreen: r,
|
|
704
|
-
label:
|
|
705
|
-
}) => /* @__PURE__ */
|
|
738
|
+
label: a
|
|
739
|
+
}) => /* @__PURE__ */ o(c, { sx: { alignItems: "center", flexDirection: "row", gap: 8 }, children: [
|
|
706
740
|
/* @__PURE__ */ e(
|
|
707
741
|
k,
|
|
708
742
|
{
|
|
@@ -714,110 +748,110 @@ const Q = {
|
|
|
714
748
|
}
|
|
715
749
|
}
|
|
716
750
|
),
|
|
717
|
-
/* @__PURE__ */
|
|
718
|
-
!r && /* @__PURE__ */ e(
|
|
719
|
-
/* @__PURE__ */ e(
|
|
751
|
+
/* @__PURE__ */ o(c, { sx: { alignItems: "center", flexDirection: "row", gap: 2 }, children: [
|
|
752
|
+
!r && /* @__PURE__ */ e(g, { bold: !0, variant: "caption", children: A(t, t === 0 || !i ? "0,0" : "0,0.00") }),
|
|
753
|
+
/* @__PURE__ */ e(g, { variant: "caption", children: a })
|
|
720
754
|
] })
|
|
721
|
-
] }),
|
|
755
|
+
] }), _t = R(() => {
|
|
722
756
|
const { recurring: t } = T();
|
|
723
|
-
return /* @__PURE__ */
|
|
724
|
-
/* @__PURE__ */ e(
|
|
725
|
-
/* @__PURE__ */
|
|
757
|
+
return /* @__PURE__ */ o(c, { sx: { alignItems: "start", flexDirection: "row", gap: 12 }, children: [
|
|
758
|
+
/* @__PURE__ */ e(Xe, { size: 32 }),
|
|
759
|
+
/* @__PURE__ */ o(c, { children: [
|
|
726
760
|
/* @__PURE__ */ e(ce, { fontWeight: 600, variant: "body1", children: t.zero_state_content_header }),
|
|
727
761
|
/* @__PURE__ */ e(ce, { color: "text.secondary", variant: "subtitle2", children: t.zero_state_content_description })
|
|
728
762
|
] })
|
|
729
763
|
] });
|
|
730
764
|
}), Mn = R(
|
|
731
765
|
({ onCTAClick: t }) => {
|
|
732
|
-
const [n, i] =
|
|
733
|
-
loadRepeatingTransactions:
|
|
766
|
+
const [n, i] = f.useState(!1), { onEvent: r } = J(), a = ge(), { accounts: l } = he(), [p, { width: h }] = ht(), { isCopyLoaded: s, isInitialized: m, selectedAccountGuids: u, setSelectedAccounts: x } = Z(), {
|
|
767
|
+
loadRepeatingTransactions: b,
|
|
734
768
|
upcomingRecurrences: y,
|
|
735
769
|
expenseTotal: d,
|
|
736
770
|
missedExpenseTotal: D,
|
|
737
|
-
paidExpenseTotal:
|
|
771
|
+
paidExpenseTotal: S,
|
|
738
772
|
repeatingTransactions: F,
|
|
739
773
|
setDateRange: te,
|
|
740
774
|
upcomingExpenseTotal: ne,
|
|
741
775
|
isDataLoaded: U
|
|
742
|
-
} = v(), { setFilter: $ } = fe(), { recurring:
|
|
743
|
-
|
|
776
|
+
} = v(), { setFilter: $ } = fe(), { recurring: _, budgets: ie } = T();
|
|
777
|
+
f.useEffect(() => {
|
|
744
778
|
x(l);
|
|
745
|
-
}, [l]),
|
|
746
|
-
|
|
779
|
+
}, [l]), f.useEffect(() => {
|
|
780
|
+
m && ($({
|
|
747
781
|
dateRange: { start: me(ue(), 90), end: de() },
|
|
748
|
-
accounts:
|
|
749
|
-
}), te({ start: W(/* @__PURE__ */ new Date()), end: z(/* @__PURE__ */ new Date()) }),
|
|
750
|
-
}, [
|
|
782
|
+
accounts: u
|
|
783
|
+
}), te({ start: W(/* @__PURE__ */ new Date()), end: z(/* @__PURE__ */ new Date()) }), b().finally(), i(!0));
|
|
784
|
+
}, [m]), f.useEffect(() => {
|
|
751
785
|
n && r(I.RECURRING_TRANSACTIONS_LOAD_WIDGET, {
|
|
752
786
|
state: y.length > 0 ? "default" : "zeroState"
|
|
753
787
|
});
|
|
754
788
|
}, [n]);
|
|
755
|
-
const M =
|
|
789
|
+
const M = h <= 288, j = h >= 450, K = f.useMemo(() => {
|
|
756
790
|
const N = [
|
|
757
|
-
{ color:
|
|
791
|
+
{ color: a.palette.success.main, percentage: `${S / d}` }
|
|
758
792
|
];
|
|
759
793
|
return D && N.push({
|
|
760
|
-
color:
|
|
794
|
+
color: a.palette.error.main,
|
|
761
795
|
percentage: `${D / d}`
|
|
762
796
|
}), N;
|
|
763
797
|
}, [
|
|
764
|
-
|
|
798
|
+
S,
|
|
765
799
|
d,
|
|
766
800
|
D,
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
]),
|
|
801
|
+
a.palette.success.main,
|
|
802
|
+
a.palette.error.main
|
|
803
|
+
]), B = f.useMemo(() => A(d, d === 0 ? "0,0" : "0,0.00"), [d]), re = () => {
|
|
770
804
|
r(
|
|
771
805
|
y.length > 0 ? I.RECURRING_TRANSACTIONS_CLICK_GET_STARTED : I.RECURRING_TRANSACTIONS_CLICK_VIEW_ALL
|
|
772
806
|
), t();
|
|
773
807
|
};
|
|
774
|
-
if (!s || !n || !U) return /* @__PURE__ */ e(
|
|
775
|
-
const
|
|
776
|
-
|
|
808
|
+
if (!s || !n || !U) return /* @__PURE__ */ e(q, { height: 100 });
|
|
809
|
+
const C = 32, oe = y.length > 0, Be = () => oe ? M ? /* @__PURE__ */ e(
|
|
810
|
+
wt,
|
|
777
811
|
{
|
|
778
|
-
logoSize:
|
|
812
|
+
logoSize: C,
|
|
779
813
|
maxLogos: 3,
|
|
780
814
|
upcomingRecurrences: y.slice(0, 3)
|
|
781
815
|
}
|
|
782
|
-
) : /* @__PURE__ */ e(Dt, { maxLogos: 3, upcomingRecurrences: y.slice(0, 3) }) : /* @__PURE__ */ e(c, { sx: { width: M ? 64 : 104 } }),
|
|
816
|
+
) : /* @__PURE__ */ e(Dt, { maxLogos: 3, upcomingRecurrences: y.slice(0, 3) }) : /* @__PURE__ */ e(c, { sx: { width: M ? 64 : 104 } }), Pe = [
|
|
783
817
|
{
|
|
784
|
-
amount:
|
|
818
|
+
amount: S,
|
|
785
819
|
bgColor: "success.main",
|
|
786
|
-
label:
|
|
820
|
+
label: _.paid
|
|
787
821
|
},
|
|
788
822
|
{
|
|
789
823
|
amount: D,
|
|
790
824
|
bgColor: "error.main",
|
|
791
|
-
label:
|
|
825
|
+
label: _.missed
|
|
792
826
|
},
|
|
793
827
|
{
|
|
794
828
|
amount: ne,
|
|
795
829
|
bgColor: "border.light",
|
|
796
|
-
label:
|
|
830
|
+
label: _.upcoming
|
|
797
831
|
}
|
|
798
832
|
], De = !F?.length;
|
|
799
833
|
return /* @__PURE__ */ e(
|
|
800
834
|
ft,
|
|
801
835
|
{
|
|
802
836
|
className: "mx-recurring-transaction-microwidget",
|
|
803
|
-
ctaLabel: De ? ie.get_started_cta :
|
|
837
|
+
ctaLabel: De ? ie.get_started_cta : _.primary_cta,
|
|
804
838
|
onCTAClick: re,
|
|
805
|
-
title:
|
|
806
|
-
children: De ? /* @__PURE__ */ e(
|
|
807
|
-
/* @__PURE__ */
|
|
839
|
+
title: _.recurring_expenses,
|
|
840
|
+
children: De ? /* @__PURE__ */ e(_t, {}) : /* @__PURE__ */ o(V, { children: [
|
|
841
|
+
/* @__PURE__ */ o(
|
|
808
842
|
c,
|
|
809
843
|
{
|
|
810
|
-
ref:
|
|
844
|
+
ref: p,
|
|
811
845
|
sx: {
|
|
812
846
|
flexDirection: "row",
|
|
813
847
|
justifyContent: "space-between"
|
|
814
848
|
},
|
|
815
849
|
children: [
|
|
816
|
-
/* @__PURE__ */
|
|
850
|
+
/* @__PURE__ */ o(
|
|
817
851
|
c,
|
|
818
852
|
{
|
|
819
853
|
sx: [
|
|
820
|
-
|
|
854
|
+
B.length >= 10 && M ? { flexDirection: "column" } : { flexDirection: "row", gap: 2 },
|
|
821
855
|
{
|
|
822
856
|
alignItems: "baseline",
|
|
823
857
|
overflow: "hidden",
|
|
@@ -827,11 +861,11 @@ const Q = {
|
|
|
827
861
|
],
|
|
828
862
|
children: [
|
|
829
863
|
/* @__PURE__ */ e(
|
|
830
|
-
|
|
864
|
+
g,
|
|
831
865
|
{
|
|
832
866
|
sx: { width: "100%" },
|
|
833
|
-
variant:
|
|
834
|
-
children:
|
|
867
|
+
variant: B.length >= 10 && M ? "H3" : "H2",
|
|
868
|
+
children: B
|
|
835
869
|
}
|
|
836
870
|
),
|
|
837
871
|
/* @__PURE__ */ e(
|
|
@@ -841,17 +875,17 @@ const Q = {
|
|
|
841
875
|
pr: 12
|
|
842
876
|
},
|
|
843
877
|
variant: "XSmall",
|
|
844
|
-
children:
|
|
878
|
+
children: _.expected
|
|
845
879
|
}
|
|
846
880
|
)
|
|
847
881
|
]
|
|
848
882
|
}
|
|
849
883
|
),
|
|
850
|
-
|
|
884
|
+
Be()
|
|
851
885
|
]
|
|
852
886
|
}
|
|
853
887
|
),
|
|
854
|
-
/* @__PURE__ */
|
|
888
|
+
/* @__PURE__ */ o(c, { sx: { pt: 12 }, children: [
|
|
855
889
|
/* @__PURE__ */ e(We, { data: K }),
|
|
856
890
|
/* @__PURE__ */ e(
|
|
857
891
|
c,
|
|
@@ -862,8 +896,8 @@ const Q = {
|
|
|
862
896
|
gap: 16,
|
|
863
897
|
mt: 4
|
|
864
898
|
},
|
|
865
|
-
children:
|
|
866
|
-
|
|
899
|
+
children: Pe.map((N, He) => /* @__PURE__ */ e(
|
|
900
|
+
St,
|
|
867
901
|
{
|
|
868
902
|
amount: N.amount,
|
|
869
903
|
bgcolor: N.bgColor,
|
|
@@ -905,5 +939,5 @@ export {
|
|
|
905
939
|
vn as RecurringTransactionsMiniWidget,
|
|
906
940
|
On as RecurringTransactionsStore,
|
|
907
941
|
In as RecurringTransactionsWidget,
|
|
908
|
-
|
|
942
|
+
Bn as SelectTransaction
|
|
909
943
|
};
|