@mx-cartographer/experiences 7.2.16-alpha.mm0 → 7.2.16

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 CHANGED
@@ -1,3 +1,11 @@
1
+ ## [7.2.16] - 12-01-2025
2
+
3
+ - **FIXED** - Missing `Pending` column in CSV export
4
+
5
+ ## [7.2.15] - 11-25-2025
6
+
7
+ - **FIXED** - Next recurring transaction date displayed offset by one day
8
+
1
9
  ## [7.2.14] - 11-25-2025
2
10
 
3
11
  - **FIXED** - Removed border from embedded widgets
@@ -1,7 +1,7 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
2
  import { observer as c } from "mobx-react-lite";
3
3
  import { Icon as i } from "@mxenabled/mxui";
4
- import { e as p } from "./exportTransactionsToCSV-7bVS7KXf.mjs";
4
+ import { e as p } from "./exportTransactionsToCSV-BwwmL4pM.mjs";
5
5
  import { O as m } from "./User-BQUxBeZV.mjs";
6
6
  import { R as x } from "./ResponsiveButton-DZFp78fJ.mjs";
7
7
  import { g as _, h as C, u as l } from "./hooks-D6XlXHf4.mjs";
@@ -14,23 +14,24 @@ import { F as d, S as N, D as Y, g as Q, R as E, e as de } from "./RecurringTran
14
14
  import { subDays as ue } from "date-fns/subDays";
15
15
  import { startOfToday as z } from "date-fns/startOfToday";
16
16
  import { endOfMonth as _e } from "date-fns/endOfMonth";
17
+ import { parseISO as me } from "date-fns/parseISO";
17
18
  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-CDtya0KS.mjs";
20
- import { getDayOfYear as be } from "date-fns/getDayOfYear";
21
- import { setDayOfYear as xe } from "date-fns/setDayOfYear";
22
- import { AdapterDateFns as Se } from "@mui/x-date-pickers/AdapterDateFnsV3";
23
- import { DatePicker as ve } from "@mui/x-date-pickers";
24
- import { LocalizationProvider as we } from "@mui/x-date-pickers/LocalizationProvider";
25
- import { u as w, j as M, g as F, b as Ae, h as Z, p as De } from "./hooks-D6XlXHf4.mjs";
26
- import { b as Ie, f as J } from "./NumberFormatting-Buh7u8Oi.mjs";
19
+ import { Delete as pe, Add as he, ReceiptLong as ye } from "@mxenabled/mx-icons";
20
+ import { T as X, a as ge, u as fe, S as Ce, b as be } from "./TransactionDetails-CDtya0KS.mjs";
21
+ import { getDayOfYear as xe } from "date-fns/getDayOfYear";
22
+ import { setDayOfYear as Se } from "date-fns/setDayOfYear";
23
+ import { AdapterDateFns as ve } from "@mui/x-date-pickers/AdapterDateFnsV3";
24
+ import { DatePicker as we } from "@mui/x-date-pickers";
25
+ import { LocalizationProvider as Ae } from "@mui/x-date-pickers/LocalizationProvider";
26
+ import { u as w, j as M, g as F, b as Ie, h as Z, p as De } from "./hooks-D6XlXHf4.mjs";
27
+ import { b as Ee, f as J } from "./NumberFormatting-Buh7u8Oi.mjs";
27
28
  import { D as O } from "./Drawer-kEE73B87.mjs";
28
29
  import { A as R } from "./WidgetContainer-EbrN1oIo.mjs";
29
- import { f as Ee, D as Re, a as Te } from "./Dialog-CWW597AF.mjs";
30
- import { formatISO as Le } from "date-fns/formatISO";
31
- import { fromUnixTime as Oe } from "date-fns/fromUnixTime";
32
- import { S as ke } from "./SearchBox-B2_zLv8-.mjs";
33
- import { h as Ne } from "./DateUtil-BcuH7ErC.mjs";
30
+ import { f as Re, D as Te, a as Le } from "./Dialog-CWW597AF.mjs";
31
+ import { formatISO as Oe } from "date-fns/formatISO";
32
+ import { fromUnixTime as ke } from "date-fns/fromUnixTime";
33
+ import { S as Ne } from "./SearchBox-B2_zLv8-.mjs";
34
+ import { h as Me } from "./DateUtil-BcuH7ErC.mjs";
34
35
  import { b as B } from "./Category-CevNQ03n.mjs";
35
36
  import { T as V } from "./User-BQUxBeZV.mjs";
36
37
  const ee = ({
@@ -63,11 +64,11 @@ const ee = ({
63
64
  { id: 6, label: o.weekday_saturday }
64
65
  ], y = [...Array(31).keys()].map((p) => ({
65
66
  id: p + 1,
66
- label: Ie(p + 1)
67
+ label: Ee(p + 1)
67
68
  }));
68
69
  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));
70
+ const C = y.slice(0, 15), v = y.slice(14), b = n === d.EveryWeek || n === d.EveryOtherWeek, g = n === d.TwiceAMonth || n === d.EveryMonth || n === d.EveryOtherMonth || n === d.EveryQuarter || n === d.EveryOtherQuarter, I = Se(z(), t), f = (p) => {
71
+ p && s(xe(p));
71
72
  };
72
73
  return /* @__PURE__ */ c(h, { gap: 24, sx: { m: 24 }, children: [
73
74
  /* @__PURE__ */ e(
@@ -106,17 +107,17 @@ const ee = ({
106
107
  value: r || 0
107
108
  }
108
109
  ),
109
- n === d.EveryYear && /* @__PURE__ */ e(we, { dateAdapter: Se, children: /* @__PURE__ */ e(
110
- ve,
110
+ n === d.EveryYear && /* @__PURE__ */ e(Ae, { dateAdapter: ve, children: /* @__PURE__ */ e(
111
+ we,
111
112
  {
112
113
  disablePast: !0,
113
114
  label: o.next_payment_date,
114
115
  onChange: f,
115
- value: D
116
+ value: I
116
117
  }
117
118
  ) })
118
119
  ] });
119
- }, Me = A(({ repeatingTransaction: n }) => {
120
+ }, Fe = A(({ repeatingTransaction: n }) => {
120
121
  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
122
  await r({
122
123
  ...n,
@@ -159,9 +160,9 @@ const ee = ({
159
160
  }
160
161
  )
161
162
  ] });
162
- }), Fe = A(
163
+ }), Ge = A(
163
164
  ({ onDeleted: n, recurringTransaction: t }) => {
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
+ const { recurring: r } = w(), { selectedAccountGuids: i } = Ie(), { 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, I] = u.useState("");
165
166
  u.useEffect(() => {
166
167
  o({
167
168
  accounts: i,
@@ -193,9 +194,9 @@ const ee = ({
193
194
  p ? "+" : "",
194
195
  J(m, "0,0.00")
195
196
  ] }),
196
- /* @__PURE__ */ e(S, { color: "text.secondary", variant: "body2", children: `${r.next_payment_date}: ${Ee(
197
- t.predicted_occurs_on,
198
- Re.MONTH_DAY_YEAR
197
+ /* @__PURE__ */ e(S, { color: "text.secondary", variant: "body2", children: `${r.next_payment_date}: ${Re(
198
+ me(t.predicted_occurs_on),
199
+ Te.MONTH_DAY_YEAR
199
200
  )}` })
200
201
  ] }),
201
202
  /* @__PURE__ */ c(K, { sx: { bgcolor: "background.paper" }, children: [
@@ -221,7 +222,7 @@ const ee = ({
221
222
  ),
222
223
  /* @__PURE__ */ e(T, { variant: "inset" })
223
224
  ] }),
224
- /* @__PURE__ */ e(Me, { repeatingTransaction: t }),
225
+ /* @__PURE__ */ e(Fe, { repeatingTransaction: t }),
225
226
  /* @__PURE__ */ e(T, {})
226
227
  ] }),
227
228
  /* @__PURE__ */ e(
@@ -229,26 +230,26 @@ const ee = ({
229
230
  {
230
231
  color: "error",
231
232
  onClick: G,
232
- startIcon: /* @__PURE__ */ e(me, {}),
233
+ startIcon: /* @__PURE__ */ e(pe, {}),
233
234
  sx: { mx: 24, my: 16 },
234
235
  variant: "text",
235
236
  children: p ? r.delete_income_title : r.delete_expense_title
236
237
  }
237
238
  ),
238
239
  /* @__PURE__ */ e(S, { bold: !0, sx: { ml: 24, mt: 16 }, variant: "Body", children: r.paid_transactions }),
239
- /* @__PURE__ */ e(X, { height: "30dvh", onClick: D }),
240
+ /* @__PURE__ */ e(X, { height: "30dvh", onClick: I }),
240
241
  /* @__PURE__ */ e(
241
242
  O,
242
243
  {
243
244
  ariaLabelClose: r.close_drawer_aria,
244
245
  isOpen: !!g && !!f,
245
- onClose: () => D(""),
246
+ onClose: () => I(""),
246
247
  title: r.transaction_details_drawer_title,
247
- children: f && /* @__PURE__ */ e(ye, { transaction: f })
248
+ children: f && /* @__PURE__ */ e(ge, { transaction: f })
248
249
  }
249
250
  ),
250
251
  /* @__PURE__ */ e(
251
- Te,
252
+ Le,
252
253
  {
253
254
  copy: {
254
255
  title: p ? r.delete_income_title : r.delete_expense_title,
@@ -262,7 +263,7 @@ const ee = ({
262
263
  )
263
264
  ] });
264
265
  }
265
- ), Ge = A(
266
+ ), Pe = A(
266
267
  ({ onClick: n = () => {
267
268
  }, repeatingTransaction: t }) => {
268
269
  const { recurring: r } = w(), [i, s] = u.useState(!1), l = u.useMemo(
@@ -333,7 +334,7 @@ const ee = ({
333
334
  onClose: () => s(!1),
334
335
  title: t.repeating_transaction_type === E.Income ? r.income_details : r.expense_details,
335
336
  children: /* @__PURE__ */ e(
336
- Fe,
337
+ Ge,
337
338
  {
338
339
  onDeleted: () => s(!1),
339
340
  recurringTransaction: t
@@ -343,18 +344,18 @@ const ee = ({
343
344
  )
344
345
  ] });
345
346
  }
346
- ), Pe = A(
347
+ ), Ue = A(
347
348
  ({
348
349
  bgcolor: n = "background.default",
349
350
  description: t,
350
351
  onSearch: r,
351
352
  onSelected: i
352
353
  }) => {
353
- const { recurring: s } = w(), { searchValue: l, setSearchValue: o } = ge();
354
+ const { recurring: s } = w(), { searchValue: l, setSearchValue: o } = fe();
354
355
  return /* @__PURE__ */ c(h, { sx: { bgcolor: n, gap: 16, pt: 8 }, children: [
355
356
  t && /* @__PURE__ */ e(U, { sx: { mx: 24 }, children: t }),
356
357
  /* @__PURE__ */ e(
357
- ke,
358
+ Ne,
358
359
  {
359
360
  ariaLabel: s.select_transaction_search_aria,
360
361
  cancelAriaLabel: s.select_transaction_search_cancel_aria,
@@ -377,7 +378,7 @@ const ee = ({
377
378
  )
378
379
  ] });
379
380
  }
380
- ), Ue = A(
381
+ ), Ye = A(
381
382
  ({
382
383
  bgcolor: n = "background.default",
383
384
  firstDay: t,
@@ -391,8 +392,8 @@ const ee = ({
391
392
  const { recurring: m } = w();
392
393
  return /* @__PURE__ */ c(h, { bgcolor: n, gap: 24, height: "100%", children: [
393
394
  /* @__PURE__ */ c(h, { children: [
394
- /* @__PURE__ */ e(fe, { bgcolor: n, children: Ne(a.date) }),
395
- /* @__PURE__ */ e(Ce, { transaction: a })
395
+ /* @__PURE__ */ e(Ce, { bgcolor: n, children: Me(a.date) }),
396
+ /* @__PURE__ */ e(be, { transaction: a })
396
397
  ] }),
397
398
  /* @__PURE__ */ e(S, { bold: !0, sx: { mx: 24 }, variant: "Body", children: m.payment_schedule }),
398
399
  /* @__PURE__ */ e(
@@ -408,13 +409,13 @@ const ee = ({
408
409
  )
409
410
  ] });
410
411
  }
411
- ), q = (n) => n.top_level_category_guid !== B.INCOME && n.transaction_type === V.DEBIT, Ye = (n, t) => q(n) ? n.payee?.toLowerCase().includes(t.toLowerCase()) || n.description.toLowerCase().includes(t.toLowerCase()) || n.feed_description.toLowerCase().includes(t.toLowerCase()) : !1, W = (n) => n.top_level_category_guid === B.INCOME || n.top_level_category_guid === B.TRANSFER && n.transaction_type === V.CREDIT, ze = (n, t) => W(n) ? n.payee?.toLowerCase().includes(t.toLowerCase()) || n.description?.toLowerCase().includes(t.toLowerCase()) || n.feed_description?.toLowerCase().includes(t.toLowerCase()) : !1, te = A(
412
+ ), q = (n) => n.top_level_category_guid !== B.INCOME && n.transaction_type === V.DEBIT, ze = (n, t) => q(n) ? n.payee?.toLowerCase().includes(t.toLowerCase()) || n.description.toLowerCase().includes(t.toLowerCase()) || n.feed_description.toLowerCase().includes(t.toLowerCase()) : !1, W = (n) => n.top_level_category_guid === B.INCOME || n.top_level_category_guid === B.TRANSFER && n.transaction_type === V.CREDIT, Be = (n, t) => W(n) ? n.payee?.toLowerCase().includes(t.toLowerCase()) || n.description?.toLowerCase().includes(t.toLowerCase()) || n.feed_description?.toLowerCase().includes(t.toLowerCase()) : !1, te = A(
412
413
  ({
413
414
  isIncome: n = !1,
414
415
  label: t,
415
416
  onAddRecurringTransaction: r = () => null
416
417
  }) => {
417
- const { recurring: i } = w(), { filter: s, setFilter: l, transactions: o } = Z(), { addRepeatingTransaction: a } = M(), { user: m } = De(), [y, C] = u.useState(!1), [v, b] = u.useState(""), [g, D] = u.useState(d.EveryMonth), [f, p] = u.useState(1), [k, G] = u.useState(15), _ = u.useMemo(
418
+ const { recurring: i } = w(), { filter: s, setFilter: l, transactions: o } = Z(), { addRepeatingTransaction: a } = M(), { user: m } = De(), [y, C] = u.useState(!1), [v, b] = u.useState(""), [g, I] = u.useState(d.EveryMonth), [f, p] = u.useState(1), [k, G] = u.useState(15), _ = u.useMemo(
418
419
  () => o.find((x) => x.guid === v),
419
420
  [v, o]
420
421
  ), ne = () => {
@@ -425,14 +426,14 @@ const ee = ({
425
426
  return;
426
427
  }
427
428
  r();
428
- const x = de(g, Oe(_.date)), I = {
429
+ const x = de(g, ke(_.date)), D = {
429
430
  account_guid: _.account_guid,
430
431
  amount: _.amount,
431
432
  created_by: 0,
432
433
  // User
433
434
  merchant_guid: _.merchant_guid,
434
435
  description: _.payee || _.description || _.feed_description,
435
- predicted_occurs_on: Le(x, { representation: "date" }),
436
+ predicted_occurs_on: Oe(x, { representation: "date" }),
436
437
  recurrence_day: f,
437
438
  recurrence_type: g,
438
439
  repeating_transaction_type: n ? E.Income : E.Bill,
@@ -440,12 +441,12 @@ const ee = ({
440
441
  transaction_type: _.transaction_type,
441
442
  user_guid: m.guid
442
443
  };
443
- await a(I, _), j();
444
+ await a(D, _), j();
444
445
  }, j = () => {
445
446
  b(""), C(!1);
446
447
  };
447
448
  return /* @__PURE__ */ c(L, { children: [
448
- /* @__PURE__ */ e($, { onClick: ne, startIcon: /* @__PURE__ */ e(pe, { size: 24 }), variant: "contained", children: t }),
449
+ /* @__PURE__ */ e($, { onClick: ne, startIcon: /* @__PURE__ */ e(he, { size: 24 }), variant: "contained", children: t }),
449
450
  /* @__PURE__ */ e(
450
451
  O,
451
452
  {
@@ -454,13 +455,13 @@ const ee = ({
454
455
  onClose: () => C(!1),
455
456
  title: t,
456
457
  children: /* @__PURE__ */ e(
457
- Pe,
458
+ Ue,
458
459
  {
459
460
  description: n ? i.add_income_description : i.add_expense_description,
460
461
  onSearch: (x) => {
461
462
  l({
462
463
  ...s,
463
- custom: (I) => n ? x ? ze(I, x) : W(I) : x ? Ye(I, x) : q(I)
464
+ custom: (D) => n ? x ? Be(D, x) : W(D) : x ? ze(D, x) : q(D)
464
465
  });
465
466
  },
466
467
  onSelected: (x) => b(x)
@@ -477,12 +478,12 @@ const ee = ({
477
478
  onPrimaryAction: oe,
478
479
  title: n ? i.income_details : i.expense_details,
479
480
  children: _ && /* @__PURE__ */ e(
480
- Ue,
481
+ Ye,
481
482
  {
482
483
  firstDay: f,
483
484
  frequency: g,
484
485
  onFirstDayChange: p,
485
- onFrequencyChange: D,
486
+ onFrequencyChange: I,
486
487
  onSecondDayChange: G,
487
488
  secondDay: k,
488
489
  transaction: _
@@ -492,11 +493,11 @@ const ee = ({
492
493
  )
493
494
  ] });
494
495
  }
495
- ), Be = A(
496
+ ), qe = A(
496
497
  ({ zeroStateFor: n }) => {
497
498
  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
499
  return /* @__PURE__ */ c(h, { sx: { alignItems: "center", p: 24, pt: 48 }, children: [
499
- /* @__PURE__ */ e(he, { size: 48 }),
500
+ /* @__PURE__ */ e(ye, { size: 48 }),
500
501
  /* @__PURE__ */ e(U, { sx: { my: 8, fontWeight: 600 }, variant: "body1", children: s }),
501
502
  /* @__PURE__ */ e(U, { color: "text.secondary", sx: { mb: 32 }, variant: "subtitle2", children: l }),
502
503
  /* @__PURE__ */ e(
@@ -513,7 +514,7 @@ const ee = ({
513
514
  )
514
515
  ] });
515
516
  }
516
- ), wt = A(({ forOverview: n = !1 }) => {
517
+ ), It = A(({ forOverview: n = !1 }) => {
517
518
  const { recurring: t } = w(), { repeatingTransactions: r } = M(), { onEvent: i } = F(), s = (a) => {
518
519
  i(R.RECURRING_TRANSACTIONS_CLICK_INCOME, {
519
520
  repeating_transaction_guid: a.guid
@@ -533,7 +534,7 @@ const ee = ({
533
534
  children: [
534
535
  n && /* @__PURE__ */ e(S, { bold: !0, sx: { mb: 4, mt: 12, mx: 24 }, variant: "Small", children: t.income }),
535
536
  /* @__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 }),
537
+ /* @__PURE__ */ e(Pe, { onClick: s, repeatingTransaction: a }),
537
538
  /* @__PURE__ */ e(
538
539
  T,
539
540
  {
@@ -567,16 +568,16 @@ const ee = ({
567
568
  ] })
568
569
  ]
569
570
  }
570
- ) : /* @__PURE__ */ e(Be, { zeroStateFor: "income" }) });
571
+ ) : /* @__PURE__ */ e(qe, { zeroStateFor: "income" }) });
571
572
  });
572
573
  export {
573
574
  te as A,
574
- wt as M,
575
- Ge as R,
576
- Pe as S,
577
- Be as a,
578
- Fe as b,
579
- Ue as c,
575
+ It as M,
576
+ Pe as R,
577
+ Ue as S,
578
+ qe as a,
579
+ Ge as b,
580
+ Ye as c,
580
581
  W as d,
581
- ze as i
582
+ Be as i
582
583
  };