@mx-cartographer/experiences 7.0.63 → 7.0.65

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.
Files changed (38) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/{AccountDetailsContent-DsD3Wzu7.mjs → AccountDetailsContent-BpY7i5Vt.mjs} +5 -5
  3. package/dist/{AccountDetailsHeader-DN2pk4QW.mjs → AccountDetailsHeader-D0FKqNmV.mjs} +3 -3
  4. package/dist/{AccountFields-CuivK48n.mjs → AccountFields-CgkCSvJV.mjs} +1 -1
  5. package/dist/{AccountListItem-BAdwVscV.mjs → AccountListItem-DbpLvx5I.mjs} +2 -2
  6. package/dist/{BudgetUtil-2EncZLBQ.mjs → BudgetUtil-psfk-Amb.mjs} +1 -1
  7. package/dist/{CurrencyInput-CRtdzs3o.mjs → CurrencyInput-C4xNRL2W.mjs} +1 -1
  8. package/dist/{CurrencyText-YUhH2caW.mjs → CurrencyText-kyC1aseI.mjs} +1 -1
  9. package/dist/{GoalStore-DxOUk36P.mjs → GoalStore-BgiYFwWB.mjs} +1 -1
  10. package/dist/{LineChart-B2Y7zwMu.mjs → LineChart-B35qvXik.mjs} +186 -175
  11. package/dist/{ManageIncome-BX7dzGF8.mjs → ManageIncome-BXlzeXk6.mjs} +83 -74
  12. package/dist/{NotificationSettings-C215AwS0.mjs → NotificationSettings-BuShgjn6.mjs} +2 -2
  13. package/dist/NumberFormatting-Buh7u8Oi.mjs +48 -0
  14. package/dist/{OriginalBalanceAction-CEuIYsc_.mjs → OriginalBalanceAction-BsxcvNEF.mjs} +2 -2
  15. package/dist/{RecurringSettings-B486z99o.mjs → RecurringSettings-1t4mROQZ.mjs} +2 -2
  16. package/dist/{RecurringTransactions-DTUx9VN1.mjs → RecurringTransactions-ej39mgA6.mjs} +1 -1
  17. package/dist/{RecurringTransactionsStore-Djo9IeDd.mjs → RecurringTransactionsStore-DrzS1LmF.mjs} +1 -1
  18. package/dist/{TransactionDetails-DAp_CPCP.mjs → TransactionDetails-B2Z5S7FM.mjs} +2 -2
  19. package/dist/{TrendsStore-BKBnNQba.mjs → TrendsStore-ZZ8X36lJ.mjs} +2 -2
  20. package/dist/accounts/index.es.js +7 -7
  21. package/dist/budgets/index.es.js +5 -5
  22. package/dist/cashflow/index.es.js +7 -7
  23. package/dist/common/components/charts/LineChart.d.ts +5 -0
  24. package/dist/common/index.es.js +13 -13
  25. package/dist/common/utils/NumberFormatting.d.ts +1 -0
  26. package/dist/debts/index.es.js +4 -4
  27. package/dist/finstrong/index.es.js +3 -3
  28. package/dist/goals/index.es.js +7 -7
  29. package/dist/investments/index.es.js +1 -1
  30. package/dist/networth/index.es.js +67 -64
  31. package/dist/notifications/index.es.js +1 -1
  32. package/dist/recurringtransactions/index.es.js +8 -8
  33. package/dist/settings/index.es.js +2 -2
  34. package/dist/spending/index.es.js +2 -2
  35. package/dist/transactions/index.es.js +4 -4
  36. package/dist/trends/index.es.js +6 -6
  37. package/package.json +1 -1
  38. package/dist/NumberFormatting-CtWHhyBX.mjs +0 -40
@@ -4,26 +4,26 @@ import { observer as A } from "mobx-react-lite";
4
4
  import P from "@mui/material/Box";
5
5
  import T from "@mui/material/Divider";
6
6
  import K from "@mui/material/List";
7
- import h from "@mui/material/Stack";
7
+ import p from "@mui/material/Stack";
8
8
  import { MerchantLogo as H, Text as S, H1 as re, InstitutionLogo as ae, P as U } from "@mxenabled/mxui";
9
9
  import ie from "@mui/material/ListItem";
10
10
  import se from "@mui/material/ListItemAvatar";
11
11
  import ce from "@mui/material/ListItemButton";
12
12
  import le from "@mui/material/ListItemText";
13
- import { F as d, S as N, D as Y, g as Q, R as E, e as de } from "./RecurringTransactions-DTUx9VN1.mjs";
13
+ import { F as d, S as N, D as Y, g as Q, R as E, e as de } from "./RecurringTransactions-ej39mgA6.mjs";
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
17
  import $ from "@mui/material/Button";
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-DAp_CPCP.mjs";
18
+ import { Delete as me, Add as he, ReceiptLong as pe } from "@mxenabled/mx-icons";
19
+ import { T as X, a as ye, u as ge, S as fe, b as Ce } from "./TransactionDetails-B2Z5S7FM.mjs";
20
20
  import { getDayOfYear as be } from "date-fns/getDayOfYear";
21
21
  import { setDayOfYear as xe } from "date-fns/setDayOfYear";
22
22
  import { AdapterDateFns as Se } from "@mui/x-date-pickers/AdapterDateFnsV3";
23
23
  import { DatePicker as ve } from "@mui/x-date-pickers";
24
24
  import { LocalizationProvider as we } from "@mui/x-date-pickers/LocalizationProvider";
25
25
  import { u as w, j as M, g as F, b as Ae, h as Z, o as De } from "./hooks-CE2TKk4a.mjs";
26
- import { b as Ie, f as J } from "./NumberFormatting-CtWHhyBX.mjs";
26
+ import { b as Ie, f as J } from "./NumberFormatting-Buh7u8Oi.mjs";
27
27
  import { D as O } from "./Drawer-kEE73B87.mjs";
28
28
  import { A as R } from "./WidgetContainer-B8MRJ5Y1.mjs";
29
29
  import { f as Ee, D as Re, a as Te } from "./Dialog-CWW597AF.mjs";
@@ -37,11 +37,11 @@ const ee = ({
37
37
  frequency: n,
38
38
  firstDay: t,
39
39
  secondDay: r,
40
- onFrequencyChange: a,
40
+ onFrequencyChange: i,
41
41
  onFirstDayChange: s,
42
42
  onSecondDayChange: l
43
43
  }) => {
44
- const { recurring: o } = w(), i = u.useMemo(
44
+ const { recurring: o } = w(), a = u.useMemo(
45
45
  () => [
46
46
  { id: d.EveryWeek, label: o.frequency_every_week },
47
47
  { id: d.EveryOtherWeek, label: o.frequency_every_other_week },
@@ -61,21 +61,21 @@ const ee = ({
61
61
  { id: 4, label: o.weekday_thursday },
62
62
  { id: 5, label: o.weekday_friday },
63
63
  { id: 6, label: o.weekday_saturday }
64
- ], y = [...Array(31).keys()].map((p) => ({
65
- id: p + 1,
66
- label: Ie(p + 1)
64
+ ], y = [...Array(31).keys()].map((h) => ({
65
+ id: h + 1,
66
+ label: Ie(h + 1)
67
67
  }));
68
68
  y[30].label += ` (${o.last_day_of_month})`;
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));
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 = (h) => {
70
+ h && s(be(h));
71
71
  };
72
- return /* @__PURE__ */ c(h, { gap: 24, sx: { m: 24 }, children: [
72
+ return /* @__PURE__ */ c(p, { gap: 24, sx: { m: 24 }, children: [
73
73
  /* @__PURE__ */ e(
74
74
  N,
75
75
  {
76
76
  label: o.frequency,
77
- onChange: a,
78
- options: i,
77
+ onChange: i,
78
+ options: a,
79
79
  value: n
80
80
  }
81
81
  ),
@@ -117,7 +117,7 @@ const ee = ({
117
117
  ) })
118
118
  ] });
119
119
  }, Me = A(({ repeatingTransaction: n }) => {
120
- const { recurring: t } = w(), { updateRepeatingTransaction: r } = M(), { onEvent: a } = F(), [s, l] = u.useState(!1), [o, i] = u.useState(n.recurrence_type), [m, y] = u.useState(n.recurrence_day), [C, v] = u.useState(n.second_recurrence_day), b = async () => {
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 () => {
121
121
  await r({
122
122
  ...n,
123
123
  recurrence_type: o,
@@ -125,7 +125,7 @@ const ee = ({
125
125
  second_recurrence_day: C
126
126
  }), l(!1);
127
127
  }, g = () => {
128
- l(!0), a(R.RECURRING_TRANSACTIONS_DETAILS_CLICK_PAYMENT_SCHEDULE);
128
+ l(!0), i(R.RECURRING_TRANSACTIONS_DETAILS_CLICK_PAYMENT_SCHEDULE);
129
129
  };
130
130
  return /* @__PURE__ */ c(L, { children: [
131
131
  /* @__PURE__ */ e(
@@ -151,7 +151,7 @@ const ee = ({
151
151
  firstDay: m,
152
152
  frequency: o,
153
153
  onFirstDayChange: y,
154
- onFrequencyChange: i,
154
+ onFrequencyChange: a,
155
155
  onSecondDayChange: v,
156
156
  secondDay: C
157
157
  }
@@ -161,24 +161,24 @@ const ee = ({
161
161
  ] });
162
162
  }), Fe = A(
163
163
  ({ onDeleted: n, recurringTransaction: t }) => {
164
- const { recurring: r } = w(), { selectedAccountGuids: a } = Ae(), { onEvent: s } = F(), { deleteRepeatingTransaction: l } = M(), { setFilter: o, transactions: i } = Z(), { amount: m, description: y, merchant_guid: C } = t, [v, b] = u.useState(!1), [g, D] = u.useState("");
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("");
165
165
  u.useEffect(() => {
166
166
  o({
167
- accounts: a,
167
+ accounts: i,
168
168
  dateRange: { start: ue(z(), 90), end: _e(z()) },
169
169
  custom: (_) => _.repeating_transaction_guid === t.guid
170
170
  });
171
171
  }, [t]);
172
172
  const f = u.useMemo(
173
- () => i.find((_) => _.guid === g),
174
- [g, i]
175
- ), p = t.repeating_transaction_type === E.Income, k = async () => {
173
+ () => a.find((_) => _.guid === g),
174
+ [g, a]
175
+ ), h = t.repeating_transaction_type === E.Income, k = async () => {
176
176
  await l(t.guid), n();
177
177
  }, G = () => {
178
178
  b(!0), s(R.RECURRING_TRANSACTIONS_DETAILS_CLICK_DELETE);
179
179
  };
180
- return /* @__PURE__ */ c(h, { bgcolor: "background.default", direction: "column", height: "100%", children: [
181
- /* @__PURE__ */ c(h, { direction: "column", m: 24, children: [
180
+ return /* @__PURE__ */ c(p, { bgcolor: "background.default", direction: "column", height: "100%", children: [
181
+ /* @__PURE__ */ c(p, { direction: "column", m: 24, children: [
182
182
  /* @__PURE__ */ e(
183
183
  H,
184
184
  {
@@ -189,8 +189,8 @@ const ee = ({
189
189
  }
190
190
  ),
191
191
  /* @__PURE__ */ e(S, { bold: !0, variant: "body1", children: y }),
192
- /* @__PURE__ */ c(re, { color: p ? "success.main" : "text.primary", sx: { my: 4 }, children: [
193
- p ? "+" : "",
192
+ /* @__PURE__ */ c(re, { color: h ? "success.main" : "text.primary", sx: { my: 4 }, children: [
193
+ h ? "+" : "",
194
194
  J(m, "0,0.00")
195
195
  ] }),
196
196
  /* @__PURE__ */ e(S, { color: "text.secondary", variant: "body2", children: `${r.next_payment_date}: ${Ee(
@@ -232,7 +232,7 @@ const ee = ({
232
232
  startIcon: /* @__PURE__ */ e(me, {}),
233
233
  sx: { mx: 24, my: 16 },
234
234
  variant: "text",
235
- children: p ? r.delete_income_title : r.delete_expense_title
235
+ children: h ? r.delete_income_title : r.delete_expense_title
236
236
  }
237
237
  ),
238
238
  /* @__PURE__ */ e(S, { bold: !0, sx: { ml: 24, mt: 16 }, variant: "Body", children: r.paid_transactions }),
@@ -251,13 +251,13 @@ const ee = ({
251
251
  Te,
252
252
  {
253
253
  copy: {
254
- title: p ? r.delete_income_title : r.delete_expense_title,
254
+ title: h ? r.delete_income_title : r.delete_expense_title,
255
255
  close_aria: r.close_drawer_aria
256
256
  },
257
257
  isOpen: v,
258
258
  onClose: () => b(!1),
259
259
  onPrimaryAction: k,
260
- children: /* @__PURE__ */ e(S, { children: p ? r.delete_income_description : r.delete_expense_description })
260
+ children: /* @__PURE__ */ e(S, { children: h ? r.delete_income_description : r.delete_expense_description })
261
261
  }
262
262
  )
263
263
  ] });
@@ -265,10 +265,10 @@ const ee = ({
265
265
  ), Ge = A(
266
266
  ({ onClick: n = () => {
267
267
  }, repeatingTransaction: t }) => {
268
- const { recurring: r } = w(), [a, s] = u.useState(!1), l = u.useMemo(
268
+ const { recurring: r } = w(), [i, s] = u.useState(!1), l = u.useMemo(
269
269
  () => t.transactions.length === 0 ? "" : t.transactions[0].category_guid || "",
270
270
  [t]
271
- ), o = t.account?.institutionName || "", i = t.repeating_transaction_type === E.Income, m = Q(r, t, !0);
271
+ ), o = t.account?.institutionName || "", a = t.repeating_transaction_type === E.Income, m = Q(r, t, !0);
272
272
  return /* @__PURE__ */ c(ie, { disableGutters: !0, disablePadding: !0, children: [
273
273
  /* @__PURE__ */ c(ce, { onClick: () => {
274
274
  n(t), s(!0);
@@ -280,10 +280,10 @@ const ee = ({
280
280
  merchantGuid: t.merchant_guid
281
281
  }
282
282
  ) }),
283
- /* @__PURE__ */ e(le, { children: /* @__PURE__ */ c(h, { direction: "row", gap: 4, sx: { justifyContent: "space-between" }, children: [
284
- /* @__PURE__ */ c(h, { direction: "column", sx: { width: "50%" }, children: [
283
+ /* @__PURE__ */ e(le, { children: /* @__PURE__ */ c(p, { direction: "row", gap: 4, sx: { justifyContent: "space-between" }, children: [
284
+ /* @__PURE__ */ c(p, { direction: "column", sx: { width: "50%" }, children: [
285
285
  /* @__PURE__ */ e(S, { bold: !0, variant: "body1", children: t.description }),
286
- /* @__PURE__ */ c(h, { alignItems: "center", direction: "row", gap: 6, children: [
286
+ /* @__PURE__ */ c(p, { alignItems: "center", direction: "row", gap: 6, children: [
287
287
  t.account?.institution_guid && /* @__PURE__ */ e(
288
288
  ae,
289
289
  {
@@ -295,21 +295,21 @@ const ee = ({
295
295
  /* @__PURE__ */ e(S, { variant: "caption", children: o })
296
296
  ] })
297
297
  ] }),
298
- /* @__PURE__ */ c(h, { alignItems: "flex-end", sx: { width: "50%" }, children: [
298
+ /* @__PURE__ */ c(p, { alignItems: "flex-end", sx: { width: "50%" }, children: [
299
299
  /* @__PURE__ */ c(
300
300
  S,
301
301
  {
302
302
  bold: !0,
303
- color: i ? "success.main" : "text.primary",
303
+ color: a ? "success.main" : "text.primary",
304
304
  variant: "body1",
305
305
  children: [
306
- i ? "+" : "",
306
+ a ? "+" : "",
307
307
  J(t.amount, "0,0.00")
308
308
  ]
309
309
  }
310
310
  ),
311
311
  /* @__PURE__ */ e(
312
- h,
312
+ p,
313
313
  {
314
314
  direction: "row",
315
315
  sx: {
@@ -329,7 +329,7 @@ const ee = ({
329
329
  O,
330
330
  {
331
331
  ariaLabelClose: r.close_drawer_aria,
332
- isOpen: a,
332
+ isOpen: i,
333
333
  onClose: () => s(!1),
334
334
  title: t.repeating_transaction_type === E.Income ? r.income_details : r.expense_details,
335
335
  children: /* @__PURE__ */ e(
@@ -348,24 +348,33 @@ const ee = ({
348
348
  bgcolor: n = "background.default",
349
349
  description: t,
350
350
  onSearch: r,
351
- onSelected: a
351
+ onSelected: i
352
352
  }) => {
353
353
  const { recurring: s } = w(), { searchValue: l, setSearchValue: o } = ge();
354
- return /* @__PURE__ */ c(h, { sx: { bgcolor: n, gap: 16, pt: 8 }, children: [
354
+ return /* @__PURE__ */ c(p, { sx: { bgcolor: n, gap: 16, pt: 8 }, children: [
355
355
  t && /* @__PURE__ */ e(U, { sx: { mx: 24 }, children: t }),
356
356
  /* @__PURE__ */ e(
357
357
  ke,
358
358
  {
359
359
  ariaLabel: s.select_transaction_search_aria,
360
360
  cancelAriaLabel: s.select_transaction_search_cancel_aria,
361
- onChange: (i) => {
362
- o(i), r(i);
361
+ onChange: (a) => {
362
+ o(a), r(a);
363
363
  },
364
364
  placeholder: s.select_transaction_search_placeholder,
365
365
  searchValue: l
366
366
  }
367
367
  ),
368
- /* @__PURE__ */ e(X, { bgcolor: n, height: "auto", onClick: a, showLoader: !1 })
368
+ /* @__PURE__ */ e(
369
+ X,
370
+ {
371
+ bgcolor: n,
372
+ filter: (a) => !!a.merchant_guid,
373
+ height: "auto",
374
+ onClick: i,
375
+ showLoader: !1
376
+ }
377
+ )
369
378
  ] });
370
379
  }
371
380
  ), Ue = A(
@@ -373,24 +382,24 @@ const ee = ({
373
382
  bgcolor: n = "background.default",
374
383
  firstDay: t,
375
384
  secondDay: r,
376
- frequency: a,
385
+ frequency: i,
377
386
  onFrequencyChange: s,
378
387
  onFirstDayChange: l,
379
388
  onSecondDayChange: o,
380
- transaction: i
389
+ transaction: a
381
390
  }) => {
382
391
  const { recurring: m } = w();
383
- return /* @__PURE__ */ c(h, { bgcolor: n, gap: 24, height: "100%", children: [
384
- /* @__PURE__ */ c(h, { children: [
385
- /* @__PURE__ */ e(fe, { bgcolor: n, children: Ne(i.date) }),
386
- /* @__PURE__ */ e(Ce, { transaction: i })
392
+ return /* @__PURE__ */ c(p, { bgcolor: n, gap: 24, height: "100%", children: [
393
+ /* @__PURE__ */ c(p, { children: [
394
+ /* @__PURE__ */ e(fe, { bgcolor: n, children: Ne(a.date) }),
395
+ /* @__PURE__ */ e(Ce, { transaction: a })
387
396
  ] }),
388
397
  /* @__PURE__ */ e(S, { bold: !0, sx: { mx: 24 }, variant: "Body", children: m.payment_schedule }),
389
398
  /* @__PURE__ */ e(
390
399
  ee,
391
400
  {
392
401
  firstDay: t,
393
- frequency: a,
402
+ frequency: i,
394
403
  onFirstDayChange: l,
395
404
  onFrequencyChange: s,
396
405
  onSecondDayChange: o,
@@ -405,7 +414,7 @@ const ee = ({
405
414
  label: t,
406
415
  onAddRecurringTransaction: r = () => null
407
416
  }) => {
408
- const { recurring: a } = w(), { filter: s, setFilter: l, transactions: o } = Z(), { addRepeatingTransaction: i } = 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(
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, h] = u.useState(1), [k, G] = u.useState(15), _ = u.useMemo(
409
418
  () => o.find((x) => x.guid === v),
410
419
  [v, o]
411
420
  ), ne = () => {
@@ -431,23 +440,23 @@ const ee = ({
431
440
  transaction_type: _.transaction_type,
432
441
  user_guid: m.guid
433
442
  };
434
- await i(I, _), j();
443
+ await a(I, _), j();
435
444
  }, j = () => {
436
445
  b(""), C(!1);
437
446
  };
438
447
  return /* @__PURE__ */ c(L, { children: [
439
- /* @__PURE__ */ e($, { onClick: ne, startIcon: /* @__PURE__ */ e(pe, { size: 24 }), variant: "contained", children: t }),
448
+ /* @__PURE__ */ e($, { onClick: ne, startIcon: /* @__PURE__ */ e(he, { size: 24 }), variant: "contained", children: t }),
440
449
  /* @__PURE__ */ e(
441
450
  O,
442
451
  {
443
- ariaLabelClose: a.close_drawer_aria,
452
+ ariaLabelClose: i.close_drawer_aria,
444
453
  isOpen: y,
445
454
  onClose: () => C(!1),
446
455
  title: t,
447
456
  children: /* @__PURE__ */ e(
448
457
  Pe,
449
458
  {
450
- description: n ? a.add_income_description : a.add_expense_description,
459
+ description: n ? i.add_income_description : i.add_expense_description,
451
460
  onSearch: (x) => {
452
461
  l({
453
462
  ...s,
@@ -462,17 +471,17 @@ const ee = ({
462
471
  /* @__PURE__ */ e(
463
472
  O,
464
473
  {
465
- ariaLabelClose: a.close_drawer_aria,
474
+ ariaLabelClose: i.close_drawer_aria,
466
475
  isOpen: !!v,
467
476
  onClose: () => b(""),
468
477
  onPrimaryAction: oe,
469
- title: n ? a.income_details : a.expense_details,
478
+ title: n ? i.income_details : i.expense_details,
470
479
  children: _ && /* @__PURE__ */ e(
471
480
  Ue,
472
481
  {
473
482
  firstDay: f,
474
483
  frequency: g,
475
- onFirstDayChange: p,
484
+ onFirstDayChange: h,
476
485
  onFrequencyChange: D,
477
486
  onSecondDayChange: G,
478
487
  secondDay: k,
@@ -485,19 +494,19 @@ const ee = ({
485
494
  }
486
495
  ), Be = A(
487
496
  ({ zeroStateFor: n }) => {
488
- const { recurring: t } = w(), { onEvent: r } = F(), a = n === "income", s = a ? t.recurring_setting_zero_state_income_title : t.recurring_setting_zero_state_expenses_title, l = a ? t.recurring_setting_zero_state_income_description : t.recurring_setting_zero_state_expenses_description, o = a ? t.add_income : t.add_expense;
489
- return /* @__PURE__ */ c(h, { sx: { alignItems: "center", p: 24, pt: 48 }, children: [
490
- /* @__PURE__ */ e(he, { size: 48 }),
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;
498
+ return /* @__PURE__ */ c(p, { sx: { alignItems: "center", p: 24, pt: 48 }, children: [
499
+ /* @__PURE__ */ e(pe, { size: 48 }),
491
500
  /* @__PURE__ */ e(U, { sx: { my: 8, fontWeight: 600 }, variant: "body1", children: s }),
492
501
  /* @__PURE__ */ e(U, { color: "text.secondary", sx: { mb: 32 }, variant: "subtitle2", children: l }),
493
502
  /* @__PURE__ */ e(
494
503
  te,
495
504
  {
496
- isIncome: a,
505
+ isIncome: i,
497
506
  label: o,
498
507
  onAddRecurringTransaction: () => {
499
508
  r(
500
- a ? R.RECURRING_TRANSACTIONS_CLICK_ADD_INCOME : R.RECURRING_ACTIVITY_CLICK_ADD_EXPENSE
509
+ i ? R.RECURRING_TRANSACTIONS_CLICK_ADD_INCOME : R.RECURRING_ACTIVITY_CLICK_ADD_EXPENSE
501
510
  );
502
511
  }
503
512
  }
@@ -505,17 +514,17 @@ const ee = ({
505
514
  ] });
506
515
  }
507
516
  ), wt = A(({ forOverview: n = !1 }) => {
508
- const { recurring: t } = w(), { repeatingTransactions: r } = M(), { onEvent: a } = F(), s = (i) => {
509
- a(R.RECURRING_TRANSACTIONS_CLICK_INCOME, {
510
- repeating_transaction_guid: i.guid
517
+ const { recurring: t } = w(), { repeatingTransactions: r } = M(), { onEvent: i } = F(), s = (a) => {
518
+ i(R.RECURRING_TRANSACTIONS_CLICK_INCOME, {
519
+ repeating_transaction_guid: a.guid
511
520
  });
512
521
  }, l = () => {
513
- a(R.RECURRING_TRANSACTIONS_CLICK_ADD_INCOME);
522
+ i(R.RECURRING_TRANSACTIONS_CLICK_ADD_INCOME);
514
523
  }, o = r.filter(
515
- (i) => i.repeating_transaction_type === E.Income && (i.transactions.length > 0 || i.recurrence_type === d.EveryYear)
524
+ (a) => a.repeating_transaction_type === E.Income && (a.transactions.length > 0 || a.recurrence_type === d.EveryYear)
516
525
  );
517
526
  return /* @__PURE__ */ e(L, { children: o.length !== 0 ? /* @__PURE__ */ c(
518
- h,
527
+ p,
519
528
  {
520
529
  sx: {
521
530
  height: n ? "calc(100vh - 62px)" : "calc(100vh - 109px)",
@@ -523,15 +532,15 @@ const ee = ({
523
532
  },
524
533
  children: [
525
534
  n && /* @__PURE__ */ e(S, { bold: !0, sx: { mb: 4, mt: 12, mx: 24 }, variant: "Small", children: t.income }),
526
- /* @__PURE__ */ e(P, { sx: { flex: 1, overflow: "auto" }, children: /* @__PURE__ */ e(K, { sx: { bgcolor: "background.paper" }, children: o.map((i, m) => /* @__PURE__ */ c(u.Fragment, { children: [
527
- /* @__PURE__ */ e(Ge, { onClick: s, repeatingTransaction: i }),
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: [
536
+ /* @__PURE__ */ e(Ge, { onClick: s, repeatingTransaction: a }),
528
537
  /* @__PURE__ */ e(
529
538
  T,
530
539
  {
531
540
  variant: m < o.length - 1 ? "inset" : "fullWidth"
532
541
  }
533
542
  )
534
- ] }, i.guid)) }) }),
543
+ ] }, a.guid)) }) }),
535
544
  /* @__PURE__ */ c(P, { children: [
536
545
  /* @__PURE__ */ e(T, {}),
537
546
  /* @__PURE__ */ e(
@@ -17,9 +17,9 @@ import { AdapterDateFns as ie } from "@mui/x-date-pickers/AdapterDateFnsV3";
17
17
  import { A as oe, T as F, a as P, N as y } from "./ToggleListItem-r0Kx56wF.mjs";
18
18
  import { u as D, r as T, o as A, d as se, g as ae, a as W, b as le } from "./hooks-CE2TKk4a.mjs";
19
19
  import { b as ce } from "./Localization-2MODESHW.mjs";
20
- import { b as re, f as de } from "./NumberFormatting-CtWHhyBX.mjs";
20
+ import { b as re, f as de } from "./NumberFormatting-Buh7u8Oi.mjs";
21
21
  import { a as M } from "./Dialog-CWW597AF.mjs";
22
- import { C as me } from "./CurrencyInput-CRtdzs3o.mjs";
22
+ import { C as me } from "./CurrencyInput-C4xNRL2W.mjs";
23
23
  import { u as he } from "./useScreenSize-B6JyS_Lj.mjs";
24
24
  import { D as J } from "./Drawer-kEE73B87.mjs";
25
25
  import _e from "@mui/material/Collapse";
@@ -0,0 +1,48 @@
1
+ import o from "numeral";
2
+ import { g as a } from "./Localization-2MODESHW.mjs";
3
+ const p = 9999999999e-2;
4
+ var c = /* @__PURE__ */ ((t) => (t.CAD = "CAD", t.USD = "USD", t))(c || {});
5
+ const w = (t, r, e) => {
6
+ const s = [], l = (r - t) / (e - 1);
7
+ for (let n = 0; n < e; n++) {
8
+ const i = t + n * l;
9
+ s.push(i);
10
+ }
11
+ return s[e - 1] = r, s;
12
+ }, $ = (t, r, e) => {
13
+ switch (a()) {
14
+ case "fr-ca":
15
+ return o(t).format(`${r} $`, e);
16
+ default:
17
+ return o(t).format(`$${r}`, e);
18
+ }
19
+ }, h = () => {
20
+ switch (a()) {
21
+ case "fr-ca":
22
+ return c.CAD;
23
+ default:
24
+ return c.USD;
25
+ }
26
+ }, f = (t) => t != null && t !== "" && isFinite(t), m = {
27
+ style: "percent",
28
+ minimumFractionDigits: 2,
29
+ maximumFractionDigits: 2
30
+ }, N = (t, r = m) => f(t) ? new Intl.NumberFormat(a(), r).format(Number(t)) : t, u = (t) => new Intl.PluralRules(a(), t), P = (t, r = { type: "ordinal" }, e = {
31
+ one: "st",
32
+ two: "nd",
33
+ few: "rd",
34
+ other: "th"
35
+ }) => {
36
+ const s = u(r).select(t);
37
+ return `${t}${e[s]}`;
38
+ };
39
+ export {
40
+ c as C,
41
+ p as M,
42
+ N as a,
43
+ P as b,
44
+ w as c,
45
+ $ as f,
46
+ h as g,
47
+ f as i
48
+ };
@@ -4,8 +4,8 @@ import { observer as p } from "mobx-react-lite";
4
4
  import v from "@mui/material/TextField";
5
5
  import { L as y } from "./ListItemAction-DSrYDGAP.mjs";
6
6
  import { u as h, l as b } from "./hooks-CE2TKk4a.mjs";
7
- import { a as T, f as S } from "./NumberFormatting-CtWHhyBX.mjs";
8
- import { C as f } from "./CurrencyInput-CRtdzs3o.mjs";
7
+ import { a as T, f as S } from "./NumberFormatting-Buh7u8Oi.mjs";
8
+ import { C as f } from "./CurrencyInput-C4xNRL2W.mjs";
9
9
  const F = p(({ goal: e }) => {
10
10
  const { goals: a } = h(), { setAlert: r, setSelectedGoal: l, updateGoal: m } = b(), [t, s] = _.useState(e.interest_rate ?? 0), c = !e.guid, i = t < 0, d = async () => {
11
11
  const n = { ...e, interest_rate: t };
@@ -7,9 +7,9 @@ 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-BX7dzGF8.mjs";
10
+ import { R as C, A as S, a as E, M as v } from "./ManageIncome-BXlzeXk6.mjs";
11
11
  import { u as _, j as A, g as f } from "./hooks-CE2TKk4a.mjs";
12
- import { R as y, F as N } from "./RecurringTransactions-DTUx9VN1.mjs";
12
+ import { R as y, F as N } from "./RecurringTransactions-ej39mgA6.mjs";
13
13
  import { A as m } from "./WidgetContainer-B8MRJ5Y1.mjs";
14
14
  const I = h(() => {
15
15
  const { recurring: g } = _(), { repeatingTransactions: n } = A(), { onEvent: o } = f(), l = (r) => {
@@ -30,7 +30,7 @@ import { subYears as T } from "date-fns/subYears";
30
30
  import { lastDayOfMonth as q } from "date-fns/lastDayOfMonth";
31
31
  import { setDayOfYear as F } from "date-fns/setDayOfYear";
32
32
  import { g as R, a as ee, b as te, c as re, d as oe, e as ae, f as ne } from "./DateUtil-BcuH7ErC.mjs";
33
- import { b as W } from "./NumberFormatting-CtWHhyBX.mjs";
33
+ import { b as W } from "./NumberFormatting-Buh7u8Oi.mjs";
34
34
  import { f as v, D as k } from "./Dialog-CWW597AF.mjs";
35
35
  import { b as l } from "./Localization-2MODESHW.mjs";
36
36
  var s = /* @__PURE__ */ ((e) => (e[e.Unknown = 0] = "Unknown", e[e.EveryWeek = 1] = "EveryWeek", e[e.EveryOtherWeek = 2] = "EveryOtherWeek", e[e.EveryMonth = 3] = "EveryMonth", e[e.EveryOtherMonth = 4] = "EveryOtherMonth", e[e.EveryQuarter = 5] = "EveryQuarter", e[e.EveryOtherQuarter = 6] = "EveryOtherQuarter", e[e.EveryYear = 7] = "EveryYear", e[e.TwiceAMonth = 8] = "TwiceAMonth", e))(s || {}), p = /* @__PURE__ */ ((e) => (e[e.Paid = 0] = "Paid", e[e.Missed = 1] = "Missed", e[e.Upcoming = 2] = "Upcoming", e))(p || {}), O = /* @__PURE__ */ ((e) => (e[e.Expense = 0] = "Expense", e[e.Income = 1] = "Income", e))(O || {}), Y = /* @__PURE__ */ ((e) => (e[e.Unknown = 0] = "Unknown", e[e.Subscription = 1] = "Subscription", e[e.Bill = 2] = "Bill", e[e.Income = 3] = "Income", e[e.Transfer = 4] = "Transfer", e))(Y || {});
@@ -8,7 +8,7 @@ import { startOfMonth as S } from "date-fns/startOfMonth";
8
8
  import { startOfToday as c } from "date-fns/startOfToday";
9
9
  import { subDays as y } from "date-fns/subDays";
10
10
  import { F as x, A as o } from "./Fetch-87LIQbEA.mjs";
11
- import { b as E, a, c as d, d as u } from "./RecurringTransactions-DTUx9VN1.mjs";
11
+ import { b as E, a, c as d, d as u } from "./RecurringTransactions-ej39mgA6.mjs";
12
12
  var A = /* @__PURE__ */ ((r) => (r.Small = "small", r.Medium = "medium", r.Large = "large", r))(A || {});
13
13
  const U = 44;
14
14
  class h {
@@ -11,7 +11,7 @@ import M from "@mui/material/ListItemText";
11
11
  import f from "@mui/material/Stack";
12
12
  import { T as Pe, L as Ge, O as h, C as Me, b as Ke, i as $e } from "./User-DaJAQ09j.mjs";
13
13
  import { G as Be, h as v, u as A, g as L, m as xe, b as Fe, o as He } from "./hooks-CE2TKk4a.mjs";
14
- import { f as te } from "./NumberFormatting-CtWHhyBX.mjs";
14
+ import { f as te } from "./NumberFormatting-Buh7u8Oi.mjs";
15
15
  import { Receipt as ze, Delete as oe, ChevronRight as Ue, Cancel as ie, Search as Xe, Edit as Ve, Flag as We } from "@mxenabled/mx-icons";
16
16
  import { fromUnixTime as W } from "date-fns/fromUnixTime";
17
17
  import { isSameDay as Ne } from "date-fns/isSameDay";
@@ -37,7 +37,7 @@ import { D as de } from "./Drawer-kEE73B87.mjs";
37
37
  import ye from "@mui/material/InputAdornment";
38
38
  import Je from "@mui/material/Checkbox";
39
39
  import ge from "@mui/material/Grid";
40
- import { C as Qe } from "./CurrencyInput-CRtdzs3o.mjs";
40
+ import { C as Qe } from "./CurrencyInput-C4xNRL2W.mjs";
41
41
  import et from "@mui/material/Switch";
42
42
  var q = /* @__PURE__ */ ((t) => (t[t.Category = 0] = "Category", t[t.Date = 1] = "Date", t[t.Memo = 2] = "Memo", t[t.Tags = 3] = "Tags", t))(q || {}), re = /* @__PURE__ */ ((t) => (t[t.SplitTransaction = 0] = "SplitTransaction", t[t.HideTransaction = 1] = "HideTransaction", t[t.MerchantLogo = 2] = "MerchantLogo", t))(re || {});
43
43
  const tt = [
@@ -14,12 +14,12 @@ import X from "@mui/material/Grid";
14
14
  import { CategoryIcon as At, Text as S } from "@mxenabled/mxui";
15
15
  import { u as Lt, m as Q } from "./hooks-CE2TKk4a.mjs";
16
16
  import { b as Rt } from "./Localization-2MODESHW.mjs";
17
- import { C as O } from "./CurrencyText-YUhH2caW.mjs";
17
+ import { C as O } from "./CurrencyText-kyC1aseI.mjs";
18
18
  import { useTheme as wt, Card as Ht, CardContent as It, Box as kt } from "@mui/material";
19
19
  import { f as R, D as w } from "./Dialog-CWW597AF.mjs";
20
20
  import Et from "@mui/material/Button";
21
21
  import { C as A, b as Gt, c as Nt } from "./Category-CevNQ03n.mjs";
22
- import { f as V } from "./NumberFormatting-CtWHhyBX.mjs";
22
+ import { f as V } from "./NumberFormatting-Buh7u8Oi.mjs";
23
23
  import Bt from "@mui/material/ListItem";
24
24
  import Ot from "@mui/material/ListItemButton";
25
25
  import z from "@mui/material/ListItemIcon";
@@ -7,14 +7,14 @@ import E from "@mui/material/List";
7
7
  import O from "@mui/material/ListSubheader";
8
8
  import _ from "@mui/system/Stack";
9
9
  import { Text as v } from "@mxenabled/mxui";
10
- import { A as K } from "../AccountDetailsContent-DsD3Wzu7.mjs";
11
- import { u as D1 } from "../AccountDetailsContent-DsD3Wzu7.mjs";
12
- import { u as z, A as P } from "../AccountDetailsHeader-DN2pk4QW.mjs";
13
- import { A as W } from "../AccountListItem-BAdwVscV.mjs";
14
- import { a as Y } from "../AccountFields-CuivK48n.mjs";
15
- import { g as U1, b as $1 } from "../AccountFields-CuivK48n.mjs";
10
+ import { A as K } from "../AccountDetailsContent-BpY7i5Vt.mjs";
11
+ import { u as D1 } from "../AccountDetailsContent-BpY7i5Vt.mjs";
12
+ import { u as z, A as P } from "../AccountDetailsHeader-D0FKqNmV.mjs";
13
+ import { A as W } from "../AccountListItem-DbpLvx5I.mjs";
14
+ import { a as Y } from "../AccountFields-CgkCSvJV.mjs";
15
+ import { g as U1, b as $1 } from "../AccountFields-CgkCSvJV.mjs";
16
16
  import { u as w, b as S, d as T, g as D, a as q } from "../hooks-CE2TKk4a.mjs";
17
- import { f as I } from "../NumberFormatting-CtWHhyBX.mjs";
17
+ import { f as I } from "../NumberFormatting-Buh7u8Oi.mjs";
18
18
  import { D as J } from "../Drawer-kEE73B87.mjs";
19
19
  import { A as y, W as Q } from "../WidgetContainer-B8MRJ5Y1.mjs";
20
20
  import { C as X } from "../ConnectionsDrawer-CU3E2RLw.mjs";
@@ -9,7 +9,7 @@ import Q from "@mui/material/styles/useTheme";
9
9
  import { Text as y, CategoryIcon as H, Icon as N, H1 as ze, H3 as xe } from "@mxenabled/mxui";
10
10
  import W from "@mui/material/List";
11
11
  import { u as w, i as D, j as ee, m as j, p as te, g as X, b as ne, h as oe, a as Ue, d as ve } from "../hooks-CE2TKk4a.mjs";
12
- import { f as T } from "../NumberFormatting-CtWHhyBX.mjs";
12
+ import { f as T } from "../NumberFormatting-Buh7u8Oi.mjs";
13
13
  import Ae from "@mui/material/Button";
14
14
  import ae from "@mui/material/Divider";
15
15
  import K from "@mui/material/ListItem";
@@ -19,7 +19,7 @@ import Y from "@mui/material/ListItemText";
19
19
  import { b as M } from "../Localization-2MODESHW.mjs";
20
20
  import { D as k } from "../Drawer-kEE73B87.mjs";
21
21
  import Fe from "@mui/material/ListItemSecondaryAction";
22
- import { C as He } from "../CurrencyInput-CRtdzs3o.mjs";
22
+ import { C as He } from "../CurrencyInput-C4xNRL2W.mjs";
23
23
  import { a as $ } from "../Dialog-CWW597AF.mjs";
24
24
  import { C as We } from "../ConnectionsDrawer-CU3E2RLw.mjs";
25
25
  import * as O from "d3";
@@ -28,7 +28,7 @@ import { u as se } from "../useScreenSize-B6JyS_Lj.mjs";
28
28
  import { L as G } from "../Loader-DUaFpDGv.mjs";
29
29
  import { E as de } from "../EmptyState-DA_lfRBv.mjs";
30
30
  import { A as L, W as Ke } from "../WidgetContainer-B8MRJ5Y1.mjs";
31
- import { u as Ve } from "../BudgetUtil-2EncZLBQ.mjs";
31
+ import { u as Ve } from "../BudgetUtil-psfk-Amb.mjs";
32
32
  import { M as Ye } from "../MiniWidgetContainer-DTQdRK-3.mjs";
33
33
  import { isAfter as Ze } from "date-fns/isAfter";
34
34
  import { startOfToday as Z } from "date-fns/startOfToday";
@@ -37,7 +37,7 @@ import Je from "@mui/material/Snackbar";
37
37
  import ye from "@mui/material/Tab";
38
38
  import Qe from "@mui/material/Tabs";
39
39
  import { e as et } from "../exportTransactionsToCSV-D8TTNrrE.mjs";
40
- import { T as Te, a as tt } from "../TransactionDetails-DAp_CPCP.mjs";
40
+ import { T as Te, a as tt } from "../TransactionDetails-B2Z5S7FM.mjs";
41
41
  import pe from "@mui/material/Card";
42
42
  import he from "@mui/material/CardContent";
43
43
  import { S as ge } from "../StatusBar-BK_uYHAB.mjs";
@@ -46,7 +46,7 @@ import { u as nt, b as ot } from "../CategorySelectorDrawer-BmenK5bu.mjs";
46
46
  import De from "@mui/material/CardHeader";
47
47
  import { subDays as at } from "date-fns/subDays";
48
48
  import rt from "@mui/material/IconButton";
49
- import { M as st } from "../ManageIncome-BX7dzGF8.mjs";
49
+ import { M as st } from "../ManageIncome-BXlzeXk6.mjs";
50
50
  const it = I(() => {
51
51
  const { budgets: t } = w(), { totalBudgeted: o } = D(), { incomeTotal: i } = ee(), s = i - o;
52
52
  return /* @__PURE__ */ m(S, { direction: "row", justifyContent: "center", my: 16, spacing: 20, children: [