@mx-cartographer/experiences 7.2.15-alpha.sms2 → 7.2.15-alpha.sms20

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.
@@ -44,7 +44,7 @@ import yt from "@mui/material/AlertTitle";
44
44
  import xt from "@mui/material/Link";
45
45
  import wt from "@mui/material/Paper";
46
46
  import { subDays as kt, startOfToday as It, endOfToday as Mt } from "date-fns";
47
- import { T as vt, a as Lt } from "./TransactionDetails-BqCr2FTh.mjs";
47
+ import { T as vt, a as Lt } from "./TransactionDetails-dRfjqJ3s.mjs";
48
48
  import { T as j } from "./TabContentContainer-j01JYR_7.mjs";
49
49
  const U = ({
50
50
  children: e,
@@ -16,7 +16,7 @@ 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
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-BqCr2FTh.mjs";
19
+ import { T as X, a as ye, u as ge, S as fe, b as Ce } from "./TransactionDetails-dRfjqJ3s.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";
@@ -7,7 +7,7 @@ import b from "@mui/material/Tabs";
7
7
  import d from "@mui/material/Divider";
8
8
  import R from "@mui/material/List";
9
9
  import T from "@mui/material/Stack";
10
- import { R as C, A as S, a as E, M as v } from "./ManageIncome-B9yGuahc.mjs";
10
+ import { R as C, A as S, a as E, M as v } from "./ManageIncome-uIZwg1-O.mjs";
11
11
  import { u as _, j as A, g as f } from "./hooks-D6XlXHf4.mjs";
12
12
  import { R as y, F as N } from "./RecurringTransactions-ej39mgA6.mjs";
13
13
  import { A as m } from "./WidgetContainer-EbrN1oIo.mjs";
@@ -218,7 +218,7 @@ const it = ({ transaction: t, onClick: r }) => {
218
218
  ]
219
219
  }
220
220
  ) }) });
221
- }, ka = b(ut), mt = ({ transaction: t }) => {
221
+ }, Ra = b(ut), mt = ({ transaction: t }) => {
222
222
  const { addOrUpdateTransactionRule: r, updateTransaction: a } = v(), { categories: s } = xe(), { onEvent: o } = L(), { setShouldDisableDrawerScroll: n, updateManualTransaction: c } = G(), { transactions: d } = A(), [i, u] = _.useState(!1), [m, g] = _.useState(""), p = async (C) => {
223
223
  await a({ ...t, category_guid: m }), C && await r(m, t), g(""), o(P.TRANSACTION_DETAILS_CLICK_CATEGORY, {
224
224
  transaction_guid: t.guid
@@ -360,7 +360,7 @@ const it = ({ transaction: t, onClick: r }) => {
360
360
  }
361
361
  )
362
362
  ] });
363
- }, pt = b(gt), ht = ({ transaction: t }) => {
363
+ }, pt = ({ transaction: t }) => {
364
364
  const { onEvent: r } = L(), { removeTransaction: a } = v(), { setShouldDisableDrawerScroll: s } = G(), { common: o, transactions: n } = A(), [c, d] = _.useState(!1), i = async () => {
365
365
  await a(t.guid), r(h.ON_TRANSACTION_DELETE_DELETED);
366
366
  };
@@ -400,7 +400,7 @@ const it = ({ transaction: t, onClick: r }) => {
400
400
  }
401
401
  )
402
402
  ] });
403
- }, Tt = b(ht), yt = ({ transaction: t }) => {
403
+ }, ht = b(pt), Tt = ({ transaction: t }) => {
404
404
  const { onEvent: r } = L(), { updateTransaction: a } = v(), { setShouldDisableDrawerScroll: s } = G(), { common: o, transactions: n } = A(), [c, d] = _.useState(!1), i = async () => {
405
405
  await a({ ...t, merchant_guid: "" }), r(P.TRANSACTION_DETAILS_CLICK_DELETE_LOGO, {
406
406
  transaction_guid: t.guid
@@ -440,7 +440,7 @@ const it = ({ transaction: t, onClick: r }) => {
440
440
  }
441
441
  )
442
442
  ] });
443
- }, St = b(yt), Ct = ({ transaction: t }) => {
443
+ }, yt = b(Tt), St = ({ transaction: t }) => {
444
444
  const { onEvent: r } = L(), { updateTransaction: a } = v(), { setShouldDisableDrawerScroll: s } = G(), { common: o, transactions: n } = A(), [c, d] = _.useState(!1), i = t.is_hidden, u = async () => {
445
445
  await a({ ...t, is_hidden: !t.is_hidden }), r(
446
446
  i ? h.ON_TRANSACTION_UNHIDDEN : h.ON_TRANSACTION_HIDDEN
@@ -510,7 +510,7 @@ const it = ({ transaction: t, onClick: r }) => {
510
510
  }
511
511
  )
512
512
  ] });
513
- }, ft = b(Ct), Le = ({ transaction: t }) => {
513
+ }, Ct = b(St), Le = ({ transaction: t }) => {
514
514
  const { amount: r, description: a, isIncome: s, merchant_guid: o, payee: n, top_level_category_guid: c } = t;
515
515
  return /* @__PURE__ */ l(f, { className: "mx-txn-amount-header", direction: "row", gap: 12, px: 16, py: 24, children: [
516
516
  /* @__PURE__ */ e(
@@ -529,7 +529,7 @@ const it = ({ transaction: t, onClick: r }) => {
529
529
  ] })
530
530
  ] })
531
531
  ] });
532
- }, bt = ({ transaction: t }) => {
532
+ }, ft = ({ transaction: t }) => {
533
533
  const { onEvent: r } = L(), { updateTransaction: a } = v(), { updateManualTransaction: s } = G(), { common: o, transactions: n } = A(), [c, d] = _.useState(!1), [i, u] = _.useState("");
534
534
  _.useEffect(() => {
535
535
  c && u(t.memo ? t.memo : "");
@@ -599,7 +599,7 @@ const it = ({ transaction: t, onClick: r }) => {
599
599
  }
600
600
  )
601
601
  ] });
602
- }, At = b(bt), xt = ({
602
+ }, bt = b(ft), At = ({
603
603
  index: t,
604
604
  onDeleteRow: r,
605
605
  onCategoryChanged: a,
@@ -701,7 +701,7 @@ const it = ({ transaction: t, onClick: r }) => {
701
701
  ]
702
702
  }
703
703
  );
704
- }, Nt = b(xt), It = ({
704
+ }, xt = b(At), Nt = ({
705
705
  onAddSplit: t,
706
706
  onCategoryChanged: r,
707
707
  onDeleteSplit: a,
@@ -719,7 +719,7 @@ const it = ({ transaction: t, onClick: r }) => {
719
719
  );
720
720
  }, [o]), /* @__PURE__ */ l(w, { className: "mx-txn-split-manager", children: [
721
721
  o.map((g, p) => /* @__PURE__ */ e(
722
- Nt,
722
+ xt,
723
723
  {
724
724
  index: p,
725
725
  onCategoryChanged: r,
@@ -753,7 +753,7 @@ const it = ({ transaction: t, onClick: r }) => {
753
753
  }
754
754
  ) })
755
755
  ] });
756
- }, Dt = b(It), vt = ({ transaction: t }) => {
756
+ }, It = b(Nt), Dt = ({ transaction: t }) => {
757
757
  const { onEvent: r } = L(), { splitTransaction: a, unSplitTransaction: s } = v(), { common: o, transactions: n } = A(), { setShouldDisableDrawerScroll: c } = G(), { categories: d } = xe(), i = {
758
758
  ...t,
759
759
  amount: t.amount - 1,
@@ -839,7 +839,7 @@ const it = ({ transaction: t, onClick: r }) => {
839
839
  children: [
840
840
  /* @__PURE__ */ e(Le, { transaction: t }),
841
841
  /* @__PURE__ */ e(
842
- Dt,
842
+ It,
843
843
  {
844
844
  onAddSplit: C,
845
845
  onCategoryChanged: $,
@@ -873,7 +873,7 @@ const it = ({ transaction: t, onClick: r }) => {
873
873
  }
874
874
  )
875
875
  ] });
876
- }, Et = b(vt), Ot = () => {
876
+ }, vt = b(Dt), Et = () => {
877
877
  const t = ve(), { onEvent: r } = L(), { addTag: a } = v(), { transactions: s } = A(), [o, n] = _.useState(!1), [c, d] = _.useState(""), [i, u] = _.useState(""), m = _.useRef(null);
878
878
  _.useEffect(() => {
879
879
  o && m?.current?.focus();
@@ -936,7 +936,7 @@ const it = ({ transaction: t, onClick: r }) => {
936
936
  }
937
937
  )
938
938
  ] });
939
- }, wt = b(Ot), Lt = ({ onSearchValueChanged: t, searchValue: r }) => {
939
+ }, Ot = b(Et), wt = ({ onSearchValueChanged: t, searchValue: r }) => {
940
940
  const { common: a, transactions: s } = A(), o = ee(), n = /* @__PURE__ */ e(
941
941
  Q,
942
942
  {
@@ -960,7 +960,7 @@ const it = ({ transaction: t, onClick: r }) => {
960
960
  value: r
961
961
  }
962
962
  ) });
963
- }, Rt = b(Lt), kt = ({ onTagChecked: t, selectedTags: r, tag: a }) => {
963
+ }, Lt = b(wt), Rt = ({ onTagChecked: t, selectedTags: r, tag: a }) => {
964
964
  const { onEvent: s } = L(), { removeTag: o, updateTag: n } = v(), { common: c, transactions: d } = A(), [i, u] = _.useState(!1), [m, g] = _.useState(!1), [p, x] = _.useState(""), [y, N] = _.useState(""), C = async () => {
965
965
  s(h.ON_TRANSACTION_TAGS_TAG_EDIT_SAVED), a && await n({ ...a, name: p }), u(!1);
966
966
  }, R = async () => {
@@ -1054,25 +1054,25 @@ const it = ({ transaction: t, onClick: r }) => {
1054
1054
  ]
1055
1055
  }
1056
1056
  );
1057
- }, Pt = b(kt), Gt = ({ selectedTags: t, onTagChecked: r }) => {
1057
+ }, kt = b(Rt), Pt = ({ selectedTags: t, onTagChecked: r }) => {
1058
1058
  const { tags: a } = v(), [s, o] = _.useState(""), n = a.filter(
1059
1059
  (c) => c.name.toLowerCase().includes(s.toLowerCase())
1060
1060
  );
1061
1061
  return /* @__PURE__ */ l("div", { className: "mx-txn-tag-manager", children: [
1062
1062
  /* @__PURE__ */ e(
1063
- Rt,
1063
+ Lt,
1064
1064
  {
1065
1065
  onSearchValueChanged: (c) => o(c),
1066
1066
  searchValue: s
1067
1067
  }
1068
1068
  ),
1069
- /* @__PURE__ */ e(wt, {}),
1069
+ /* @__PURE__ */ e(Ot, {}),
1070
1070
  /* @__PURE__ */ e(ne, { sx: { boxShadow: "none" }, children: /* @__PURE__ */ e(J, { children: n.map((c) => /* @__PURE__ */ l(_.Fragment, { children: [
1071
- /* @__PURE__ */ e(Pt, { onTagChecked: r, selectedTags: t, tag: c }),
1071
+ /* @__PURE__ */ e(kt, { onTagChecked: r, selectedTags: t, tag: c }),
1072
1072
  /* @__PURE__ */ e(Z, { sx: { ml: 24 } })
1073
1073
  ] }, c.guid)) }) })
1074
1074
  ] });
1075
- }, Mt = b(Gt), Kt = ({ transaction: t }) => {
1075
+ }, Gt = b(Pt), Mt = ({ transaction: t }) => {
1076
1076
  const { onEvent: r } = L(), { tags: a, updateTaggings: s, updateTransaction: o } = v(), { common: n, transactions: c } = A(), { updateManualTransaction: d } = G(), [i, u] = _.useState(!1), [m, g] = _.useState(t.tags);
1077
1077
  _.useEffect(() => {
1078
1078
  g(t.tags);
@@ -1123,11 +1123,11 @@ const it = ({ transaction: t, onClick: r }) => {
1123
1123
  primaryText: n.save_button,
1124
1124
  secondaryText: n.cancel_button,
1125
1125
  title: c.tags_title,
1126
- children: /* @__PURE__ */ e(Mt, { onTagChecked: p, selectedTags: m })
1126
+ children: /* @__PURE__ */ e(Gt, { onTagChecked: p, selectedTags: m })
1127
1127
  }
1128
1128
  )
1129
1129
  ] });
1130
- }, $t = b(Kt), Bt = ({ transaction: t, viewOnly: r = !1 }) => {
1130
+ }, Kt = b(Mt), $t = ({ transaction: t, viewOnly: r = !1 }) => {
1131
1131
  const { updateTransaction: a } = v(), { common: s, transactions: o } = A(), { onEvent: n } = L(), [c, d] = _.useState(!1), [i, u] = _.useState(""), m = _.useRef(null);
1132
1132
  _.useEffect(() => {
1133
1133
  c && (u(t.description), m?.current?.focus());
@@ -1178,7 +1178,7 @@ const it = ({ transaction: t, onClick: r }) => {
1178
1178
  }
1179
1179
  )
1180
1180
  ] }) });
1181
- }, Ft = b(Bt), Ht = ({ transaction: t }) => {
1181
+ }, Bt = b($t), Ft = ({ transaction: t }) => {
1182
1182
  const { updateTransaction: r } = v(), { transactions: a } = A(), { onEvent: s } = L(), o = ve(), n = async () => {
1183
1183
  s(P.TRANSACTION_DETAILS_CLICK_FLAG, { transaction_guid: t.guid }), await r({ ...t, is_flagged: !t.is_flagged });
1184
1184
  };
@@ -1210,7 +1210,7 @@ const it = ({ transaction: t, onClick: r }) => {
1210
1210
  children: /* @__PURE__ */ e(We, { color: "inherit" })
1211
1211
  }
1212
1212
  ) });
1213
- }, zt = b(Ht), ae = (t, r, a, s = !0, o = "inset") => s ? /* @__PURE__ */ l(_.Fragment, { children: [
1213
+ }, Ht = b(Ft), ae = (t, r, a, s = !0, o = "inset") => s ? /* @__PURE__ */ l(_.Fragment, { children: [
1214
1214
  /* @__PURE__ */ l(F, { disableGutters: !0, disablePadding: !0, children: [
1215
1215
  /* @__PURE__ */ e(B, { children: /* @__PURE__ */ e(z, { sx: { bgcolor: "border.light" }, variant: "rounded", children: t }) }),
1216
1216
  /* @__PURE__ */ e(
@@ -1223,7 +1223,7 @@ const it = ({ transaction: t, onClick: r }) => {
1223
1223
  )
1224
1224
  ] }),
1225
1225
  /* @__PURE__ */ e(Z, { variant: o })
1226
- ] }) : null, Ut = ({ transaction: t }) => {
1226
+ ] }) : null, zt = ({ transaction: t }) => {
1227
1227
  const { transactions: r } = A(), { tags: a } = v(), s = _.useMemo(() => {
1228
1228
  const o = new Map(a.map((n) => [n.guid, n.name]));
1229
1229
  return t.tags.map((n) => o.get(n)).filter(Boolean).join(" / ");
@@ -1262,7 +1262,7 @@ const it = ({ transaction: t, onClick: r }) => {
1262
1262
  "fullWidth"
1263
1263
  )
1264
1264
  ] });
1265
- }, Xt = b(Ut), Vt = ({
1265
+ }, Ut = b(zt), Xt = ({
1266
1266
  bottomActions: t = at,
1267
1267
  topActions: r = tt,
1268
1268
  transaction: a
@@ -1284,13 +1284,13 @@ const it = ({ transaction: t, onClick: r }) => {
1284
1284
  size: 64
1285
1285
  }
1286
1286
  ) }),
1287
- /* @__PURE__ */ e(Ft, { transaction: a, viewOnly: d }),
1287
+ /* @__PURE__ */ e(Bt, { transaction: a, viewOnly: d }),
1288
1288
  /* @__PURE__ */ l(f, { direction: "row", justifyContent: "space-between", sx: { minHeight: 44 }, children: [
1289
1289
  /* @__PURE__ */ l(Ae, { color: a.isIncome ? "success.main" : "text.primary", children: [
1290
1290
  a.isIncome ? "+" : "",
1291
1291
  te(a.amount, "0,0.00")
1292
1292
  ] }),
1293
- !d && /* @__PURE__ */ e(zt, { transaction: a })
1293
+ !d && /* @__PURE__ */ e(Ht, { transaction: a })
1294
1294
  ] }),
1295
1295
  /* @__PURE__ */ l(f, { bgcolor: "background.highlight", borderRadius: "12px", gap: 4, p: 8, children: [
1296
1296
  /* @__PURE__ */ e(T, { bold: !0, children: `${a.account}
@@ -1298,37 +1298,37 @@ const it = ({ transaction: t, onClick: r }) => {
1298
1298
  /* @__PURE__ */ e(T, { bold: !0, color: "secondary", variant: "Tiny", children: a.description || a.feed_description })
1299
1299
  ] })
1300
1300
  ] }),
1301
- /* @__PURE__ */ e(ne, { square: !0, sx: { boxShadow: "none" }, children: d ? /* @__PURE__ */ e(Xt, { transaction: a }) : /* @__PURE__ */ e(J, { children: r.map((i, u) => /* @__PURE__ */ l(_.Fragment, { children: [
1301
+ /* @__PURE__ */ e(ne, { square: !0, sx: { boxShadow: "none" }, children: d ? /* @__PURE__ */ e(Ut, { transaction: a }) : /* @__PURE__ */ e(J, { children: r.map((i, u) => /* @__PURE__ */ l(_.Fragment, { children: [
1302
1302
  i === q.Category && /* @__PURE__ */ e(mt, { transaction: a }),
1303
- i === q.Date && /* @__PURE__ */ e(pt, { transaction: a }),
1304
- i === q.Memo && /* @__PURE__ */ e(At, { transaction: a }),
1305
- i === q.Tags && /* @__PURE__ */ e($t, { transaction: a }),
1303
+ i === q.Date && /* @__PURE__ */ e(gt, { transaction: a }),
1304
+ i === q.Memo && /* @__PURE__ */ e(bt, { transaction: a }),
1305
+ i === q.Tags && /* @__PURE__ */ e(Kt, { transaction: a }),
1306
1306
  /* @__PURE__ */ e(Z, { variant: u < r.length - 1 ? "inset" : "fullWidth" })
1307
1307
  ] }, i)) }) }),
1308
1308
  !d && /* @__PURE__ */ l(_.Fragment, { children: [
1309
1309
  /* @__PURE__ */ e(T, { bold: !0, mb: 8, ml: 26, mt: 16, variant: "Body", children: "Actions" }),
1310
1310
  /* @__PURE__ */ e(ne, { square: !0, sx: { boxShadow: "none" }, children: /* @__PURE__ */ l(J, { children: [
1311
1311
  t.map((i, u) => /* @__PURE__ */ l(_.Fragment, { children: [
1312
- i === re.SplitTransaction && /* @__PURE__ */ e(Et, { transaction: a }),
1313
- i === re.HideTransaction && /* @__PURE__ */ e(ft, { transaction: a }),
1314
- i === re.MerchantLogo && /* @__PURE__ */ e(St, { transaction: a }),
1312
+ i === re.SplitTransaction && /* @__PURE__ */ e(vt, { transaction: a }),
1313
+ i === re.HideTransaction && /* @__PURE__ */ e(Ct, { transaction: a }),
1314
+ i === re.MerchantLogo && /* @__PURE__ */ e(yt, { transaction: a }),
1315
1315
  /* @__PURE__ */ e(Z, { variant: u < t.length - 1 ? "inset" : "fullWidth" })
1316
1316
  ] }, i)),
1317
- a.is_manual && !a.parent_guid && !a.has_been_split && /* @__PURE__ */ e(Tt, { transaction: a })
1317
+ a.is_manual && !a.parent_guid && !a.has_been_split && /* @__PURE__ */ e(ht, { transaction: a })
1318
1318
  ] }) })
1319
1319
  ] })
1320
1320
  ] }) });
1321
- }, Pa = b(Vt);
1321
+ }, ka = b(Xt);
1322
1322
  export {
1323
1323
  re as B,
1324
1324
  mt as C,
1325
- pt as D,
1326
- At as M,
1325
+ gt as D,
1326
+ bt as M,
1327
1327
  lt as S,
1328
- ka as T,
1329
- Pa as a,
1328
+ Ra as T,
1329
+ ka as a,
1330
1330
  st as b,
1331
- $t as c,
1331
+ Kt as c,
1332
1332
  q as d,
1333
1333
  G as u
1334
1334
  };
@@ -4,31 +4,31 @@ import U from "@mui/material/FormControlLabel";
4
4
  import K from "@mui/material/Radio";
5
5
  import V from "@mui/material/styles/useTheme";
6
6
  import v from "@mui/material/Tooltip";
7
- import { makeAutoObservable as y, runInAction as d } from "mobx";
7
+ import { makeAutoObservable as y, autorun as B, runInAction as d } from "mobx";
8
8
  import { endOfToday as D } from "date-fns/endOfToday";
9
- import { formatISO as B } from "date-fns/formatISO";
10
- import { fromUnixTime as h } from "date-fns/fromUnixTime";
11
- import { getUnixTime as u } from "date-fns/getUnixTime";
12
- import { isBefore as Y } from "date-fns/isBefore";
9
+ import { formatISO as Y } from "date-fns/formatISO";
10
+ import { fromUnixTime as u } from "date-fns/fromUnixTime";
11
+ import { getUnixTime as h } from "date-fns/getUnixTime";
12
+ import { isBefore as F } from "date-fns/isBefore";
13
13
  import { startOfMonth as R } from "date-fns/startOfMonth";
14
14
  import { startOfToday as b } from "date-fns/startOfToday";
15
- import { subDays as F } from "date-fns/subDays";
15
+ import { subDays as W } from "date-fns/subDays";
16
16
  import { O as n, a as G, T as w } from "./User-BQUxBeZV.mjs";
17
17
  import { T as p } from "./TransactionApi-B3Tksf7L.mjs";
18
- import { b as W } from "./Category-CevNQ03n.mjs";
19
- import { f as z } from "./exportTransactionsToCSV-7bVS7KXf.mjs";
20
- import { format as k } from "date-fns/format";
21
- import { f as g, D as O, O as $ } from "./Dialog-CWW597AF.mjs";
22
- import { endOfMonth as X } from "date-fns/endOfMonth";
18
+ import { b as z } from "./Category-CevNQ03n.mjs";
19
+ import { f as k } from "./exportTransactionsToCSV-7bVS7KXf.mjs";
20
+ import { format as $ } from "date-fns/format";
21
+ import { f as g, D as O, O as X } from "./Dialog-CWW597AF.mjs";
22
+ import { endOfMonth as j } from "date-fns/endOfMonth";
23
23
  import { B as f } from "./BeatApi-DhJpgCLz.mjs";
24
- const j = ({
24
+ const Z = ({
25
25
  checked: l = !1,
26
26
  label: t,
27
27
  sx: a = {},
28
28
  tooltip: e = "",
29
29
  value: c
30
30
  }) => {
31
- const _ = V(), i = _.palette.mode === "light" ? _.palette.grey[400] : _.palette.grey[700], A = l ? _.palette.action.active : i;
31
+ const _ = V(), s = _.palette.mode === "light" ? _.palette.grey[400] : _.palette.grey[700], A = l ? _.palette.action.active : s;
32
32
  return /* @__PURE__ */ C(
33
33
  P,
34
34
  {
@@ -59,7 +59,7 @@ const j = ({
59
59
  ) })
60
60
  }
61
61
  );
62
- }, ft = j, x = {
62
+ }, mt = Z, x = {
63
63
  ASC: "ASC",
64
64
  DESC: "DESC",
65
65
  DIRECTION: {
@@ -71,7 +71,7 @@ const j = ({
71
71
  left: "flex-start",
72
72
  right: "flex-end"
73
73
  }
74
- }, T = {
74
+ }, o = {
75
75
  ADD: "Add",
76
76
  ADD_CATEGORY: "Add Category",
77
77
  CHANGE_CATEGORY: "Change Category",
@@ -85,7 +85,7 @@ const j = ({
85
85
  SELECT: "Select",
86
86
  UNHIDE: "Unhide",
87
87
  UNSPLIT: "Unsplit"
88
- }, o = {
88
+ }, T = {
89
89
  TRANSACTION_DETAILS: "Transaction Details",
90
90
  TRANSACTIONS_LIST: "Transactions List",
91
91
  TRANSACTIONS_WIDGET: "Transactions Widget"
@@ -111,227 +111,227 @@ const j = ({
111
111
  }, m = {
112
112
  // splits
113
113
  [n.ON_TRANSACTION_SPLIT_CLICK]: {
114
- action: T.SELECT,
115
- category: o.TRANSACTION_DETAILS,
114
+ action: o.SELECT,
115
+ category: T.TRANSACTION_DETAILS,
116
116
  label: r.SPLITS
117
117
  },
118
118
  [n.ON_TRANSACTION_SPLIT_CATEGORY_CLICK]: {
119
- action: T.ADD_CATEGORY,
120
- category: o.TRANSACTION_DETAILS,
119
+ action: o.ADD_CATEGORY,
120
+ category: T.TRANSACTION_DETAILS,
121
121
  label: r.SPLITS
122
122
  },
123
123
  [n.ON_TRANSACTION_SPLIT_DELETE_CLICK]: {
124
- action: T.DELETE,
125
- category: o.TRANSACTION_DETAILS,
124
+ action: o.DELETE,
125
+ category: T.TRANSACTION_DETAILS,
126
126
  label: r.SPLITS
127
127
  },
128
128
  [n.ON_TRANSACTION_SPLIT_SAVE_CLICK]: {
129
- action: T.SPLIT,
130
- category: o.TRANSACTION_DETAILS,
129
+ action: o.SPLIT,
130
+ category: T.TRANSACTION_DETAILS,
131
131
  label: r.SPLITS
132
132
  },
133
133
  [n.ON_TRANSACTION_UNSPLIT]: {
134
- action: T.UNSPLIT,
135
- category: o.TRANSACTION_DETAILS,
134
+ action: o.UNSPLIT,
135
+ category: T.TRANSACTION_DETAILS,
136
136
  label: r.SPLITS
137
137
  },
138
138
  // category
139
139
  [n.ON_TRANSACTION_CATEGORY_CLICK]: {
140
- action: T.SELECT,
141
- category: o.TRANSACTIONS_LIST,
140
+ action: o.SELECT,
141
+ category: T.TRANSACTIONS_LIST,
142
142
  label: r.CATEGORY
143
143
  },
144
144
  [n.ON_TRANSACTION_CATEGORY_CHANGED]: {
145
- action: T.CHANGE_CATEGORY,
146
- category: o.TRANSACTION_DETAILS,
145
+ action: o.CHANGE_CATEGORY,
146
+ category: T.TRANSACTION_DETAILS,
147
147
  label: r.CATEGORY
148
148
  },
149
149
  // date
150
150
  [n.ON_TRANSACTION_DATE_CHANGED]: {
151
- action: T.SAVE,
152
- category: o.TRANSACTION_DETAILS,
151
+ action: o.SAVE,
152
+ category: T.TRANSACTION_DETAILS,
153
153
  label: r.DATE
154
154
  },
155
155
  [n.ON_TRANSACTION_DATE_CLICK]: {
156
- action: T.SELECT,
157
- category: o.TRANSACTION_DETAILS,
156
+ action: o.SELECT,
157
+ category: T.TRANSACTION_DETAILS,
158
158
  label: r.DATE
159
159
  },
160
160
  // merchant logo
161
161
  [n.ON_TRANSACTION_DELETE_LOGO_CANCEL]: {
162
- action: T.CLOSE,
163
- category: o.TRANSACTION_DETAILS,
162
+ action: o.CLOSE,
163
+ category: T.TRANSACTION_DETAILS,
164
164
  label: r.DELETE_MERCHANT_LOGO
165
165
  },
166
166
  [n.ON_TRANSACTION_DELETE_LOGO_CLICK]: {
167
- action: T.SELECT,
168
- category: o.TRANSACTION_DETAILS,
167
+ action: o.SELECT,
168
+ category: T.TRANSACTION_DETAILS,
169
169
  label: r.DELETE_MERCHANT_LOGO
170
170
  },
171
171
  [n.ON_TRANSACTION_DELETE_LOGO_DELETED]: {
172
- action: T.DELETE,
173
- category: o.TRANSACTION_DETAILS,
172
+ action: o.DELETE,
173
+ category: T.TRANSACTION_DETAILS,
174
174
  label: r.DELETE_MERCHANT_LOGO
175
175
  },
176
176
  // description
177
177
  [n.ON_TRANSACTION_DESCRIPTION_EDIT_CLICK]: {
178
- action: T.EDIT,
179
- category: o.TRANSACTION_DETAILS,
178
+ action: o.EDIT,
179
+ category: T.TRANSACTION_DETAILS,
180
180
  label: r.DESCRIPTION
181
181
  },
182
182
  [n.ON_TRANSACTION_DESCRIPTION_SAVE_CLICK]: {
183
- action: T.SAVE,
184
- category: o.TRANSACTION_DETAILS,
183
+ action: o.SAVE,
184
+ category: T.TRANSACTION_DETAILS,
185
185
  label: r.DESCRIPTION
186
186
  },
187
187
  // hide transactions
188
188
  [n.ON_TRANSACTION_HIDDEN]: {
189
- action: T.SAVE,
190
- category: o.TRANSACTION_DETAILS,
189
+ action: o.SAVE,
190
+ category: T.TRANSACTION_DETAILS,
191
191
  label: r.HIDE_TRANSACTION
192
192
  },
193
193
  [n.ON_TRANSACTION_HIDE_CLICK]: {
194
- action: T.SELECT,
195
- category: o.TRANSACTION_DETAILS,
194
+ action: o.SELECT,
195
+ category: T.TRANSACTION_DETAILS,
196
196
  label: r.HIDE_TRANSACTION
197
197
  },
198
198
  [n.ON_TRANSACTION_HIDE_CANCEL_CLICK]: {
199
- action: T.CLOSE,
200
- category: o.TRANSACTION_DETAILS,
199
+ action: o.CLOSE,
200
+ category: T.TRANSACTION_DETAILS,
201
201
  label: r.HIDE_TRANSACTION
202
202
  },
203
203
  // transaction list
204
204
  [n.ON_TRANSACTION_LIST_ITEM_CLICK]: {
205
- action: T.SELECT,
206
- category: o.TRANSACTIONS_LIST,
205
+ action: o.SELECT,
206
+ category: T.TRANSACTIONS_LIST,
207
207
  label: r.TRANSACTION
208
208
  },
209
209
  // memo
210
210
  [n.ON_TRANSACTION_MEMO_CHANGED]: {
211
- action: T.SAVE,
212
- category: o.TRANSACTION_DETAILS,
211
+ action: o.SAVE,
212
+ category: T.TRANSACTION_DETAILS,
213
213
  label: r.MEMO
214
214
  },
215
215
  [n.ON_TRANSACTION_MEMO_CLICK]: {
216
- action: T.SELECT,
217
- category: o.TRANSACTION_DETAILS,
216
+ action: o.SELECT,
217
+ category: T.TRANSACTION_DETAILS,
218
218
  label: r.MEMO
219
219
  },
220
220
  // tags
221
221
  [n.ON_TRANSACTION_TAGS_CHANGED]: {
222
- action: T.SAVE,
223
- category: o.TRANSACTION_DETAILS,
222
+ action: o.SAVE,
223
+ category: T.TRANSACTION_DETAILS,
224
224
  label: r.TAGS
225
225
  },
226
226
  [n.ON_TRANSACTION_TAGS_CLICK]: {
227
- action: T.SELECT,
228
- category: o.TRANSACTION_DETAILS,
227
+ action: o.SELECT,
228
+ category: T.TRANSACTION_DETAILS,
229
229
  label: r.TAGS
230
230
  },
231
231
  [n.ON_TRANSACTION_TAGS_TAG_ADD_CANCEL_CLICK]: {
232
- action: T.CLOSE,
233
- category: o.TRANSACTION_DETAILS,
232
+ action: o.CLOSE,
233
+ category: T.TRANSACTION_DETAILS,
234
234
  label: r.TAGS
235
235
  },
236
236
  [n.ON_TRANSACTION_TAGS_TAG_ADD_CLICK]: {
237
- action: T.ADD,
238
- category: o.TRANSACTION_DETAILS,
237
+ action: o.ADD,
238
+ category: T.TRANSACTION_DETAILS,
239
239
  label: r.TAG_ADD
240
240
  },
241
241
  [n.ON_TRANSACTION_TAGS_TAG_ADDED]: {
242
- action: T.SAVE,
243
- category: o.TRANSACTION_DETAILS,
242
+ action: o.SAVE,
243
+ category: T.TRANSACTION_DETAILS,
244
244
  label: r.TAG_ADD
245
245
  },
246
246
  [n.ON_TRANSACTION_TAGS_TAG_DELETE_CLICK]: {
247
- action: T.SELECT,
248
- category: o.TRANSACTION_DETAILS,
247
+ action: o.SELECT,
248
+ category: T.TRANSACTION_DETAILS,
249
249
  label: r.TAG_DELETE
250
250
  },
251
251
  [n.ON_TRANSACTION_TAGS_TAG_DELETE_CANCEL_CLICK]: {
252
- action: T.CLOSE,
253
- category: o.TRANSACTION_DETAILS,
252
+ action: o.CLOSE,
253
+ category: T.TRANSACTION_DETAILS,
254
254
  label: r.TAG_DELETE
255
255
  },
256
256
  [n.ON_TRANSACTION_TAGS_TAG_DELETED]: {
257
- action: T.SAVE,
258
- category: o.TRANSACTION_DETAILS,
257
+ action: o.SAVE,
258
+ category: T.TRANSACTION_DETAILS,
259
259
  label: r.TAG_DELETE
260
260
  },
261
261
  [n.ON_TRANSACTION_TAGS_TAG_EDIT_CLICK]: {
262
- action: T.EDIT,
263
- category: o.TRANSACTION_DETAILS,
262
+ action: o.EDIT,
263
+ category: T.TRANSACTION_DETAILS,
264
264
  label: r.TAG_EDIT
265
265
  },
266
266
  [n.ON_TRANSACTION_TAGS_TAG_EDIT_SAVED]: {
267
- action: T.SAVE,
268
- category: o.TRANSACTION_DETAILS,
267
+ action: o.SAVE,
268
+ category: T.TRANSACTION_DETAILS,
269
269
  label: r.TAG_EDIT
270
270
  },
271
271
  // flag
272
272
  [n.ON_TRANSACTION_TOGGLE_FLAG_CLICK]: {
273
- action: T.SELECT,
274
- category: o.TRANSACTION_DETAILS,
273
+ action: o.SELECT,
274
+ category: T.TRANSACTION_DETAILS,
275
275
  label: r.FLAG
276
276
  },
277
277
  // hide
278
278
  [n.ON_TRANSACTION_UNHIDDEN]: {
279
- action: T.SAVE,
280
- category: o.TRANSACTION_DETAILS,
279
+ action: o.SAVE,
280
+ category: T.TRANSACTION_DETAILS,
281
281
  label: r.UNHIDE_TRANSACTION
282
282
  },
283
283
  [n.ON_TRANSACTION_UNHIDE_CLICK]: {
284
- action: T.SELECT,
285
- category: o.TRANSACTION_DETAILS,
284
+ action: o.SELECT,
285
+ category: T.TRANSACTION_DETAILS,
286
286
  label: r.UNHIDE_TRANSACTION
287
287
  },
288
288
  [n.ON_TRANSACTION_UNHIDE_CANCEL_CLICK]: {
289
- action: T.CLOSE,
290
- category: o.TRANSACTION_DETAILS,
289
+ action: o.CLOSE,
290
+ category: T.TRANSACTION_DETAILS,
291
291
  label: r.UNHIDE_TRANSACTION
292
292
  },
293
293
  // export CSV
294
294
  [n.ON_TRANSACTION_EXPORT_CSV_CLICK]: {
295
- action: T.SELECT,
296
- category: o.TRANSACTIONS_WIDGET,
295
+ action: o.SELECT,
296
+ category: T.TRANSACTIONS_WIDGET,
297
297
  label: r.EXPORT_CSV
298
298
  },
299
299
  // add transaction
300
300
  [n.ON_TRANSACTION_MANUAL_ADD_CLICK]: {
301
- action: T.SELECT,
302
- category: o.TRANSACTIONS_WIDGET,
301
+ action: o.SELECT,
302
+ category: T.TRANSACTIONS_WIDGET,
303
303
  label: r.ADD_TRANSACTION
304
304
  },
305
305
  [n.ON_TRANSACTION_MANUAL_ADD_ADDED]: {
306
- action: T.ADD,
307
- category: o.TRANSACTIONS_WIDGET,
306
+ action: o.ADD,
307
+ category: T.TRANSACTIONS_WIDGET,
308
308
  label: r.ADD_TRANSACTION
309
309
  },
310
310
  [n.ON_TRANSACTION_DELETE_CLICK]: {
311
- action: T.SELECT,
312
- category: o.TRANSACTIONS_WIDGET,
311
+ action: o.SELECT,
312
+ category: T.TRANSACTIONS_WIDGET,
313
313
  label: r.DELETE_TRANSACTION
314
314
  },
315
315
  [n.ON_TRANSACTION_DELETE_CANCEL]: {
316
- action: T.CLOSE,
317
- category: o.TRANSACTIONS_WIDGET,
316
+ action: o.CLOSE,
317
+ category: T.TRANSACTIONS_WIDGET,
318
318
  label: r.DELETE_TRANSACTION
319
319
  },
320
320
  [n.ON_TRANSACTION_DELETE_DELETED]: {
321
- action: T.DELETE,
322
- category: o.TRANSACTIONS_WIDGET,
321
+ action: o.DELETE,
322
+ category: T.TRANSACTIONS_WIDGET,
323
323
  label: r.DELETE_TRANSACTION
324
324
  }
325
- }, Z = async (l, t) => !t || !m[l] ? null : t.sendAnalyticEvent(m[l]), L = {
325
+ }, q = async (l, t) => !t || !m[l] ? null : t.sendAnalyticEvent(m[l]), L = {
326
326
  FLAG: "flag",
327
327
  DATE: "date",
328
328
  PAYEE: "payee",
329
329
  CATEGORY: "category",
330
330
  ACCOUNT: "account",
331
331
  AMOUNT: "amount"
332
- }, q = (l, t, a, e = []) => {
333
- const c = t.reduce((A, s) => ({ ...A, [s.guid]: s }), {}), _ = a.reduce((A, s) => ({ ...A, [s.guid]: s }), {}), i = e.reduce((A, s) => {
334
- const { transaction_guid: N, tag_guid: I } = s;
332
+ }, J = (l, t, a, e = []) => {
333
+ const c = t.reduce((A, i) => ({ ...A, [i.guid]: i }), {}), _ = a.reduce((A, i) => ({ ...A, [i.guid]: i }), {}), s = e.reduce((A, i) => {
334
+ const { transaction_guid: N, tag_guid: I } = i;
335
335
  if (!A[N])
336
336
  return {
337
337
  ...A,
@@ -344,52 +344,52 @@ const j = ({
344
344
  };
345
345
  }, {});
346
346
  return l.map((A) => {
347
- const s = c[A.account_guid], N = A.category_guid ? _[A.category_guid] : null, I = i[A.guid] ?? [];
347
+ const i = c[A.account_guid], N = A.category_guid ? _[A.category_guid] : null, I = s[A.guid] ?? [];
348
348
  return {
349
349
  ...A,
350
- account: s?.user_name || "Unknown",
351
- accountIsClosed: s?.is_closed,
352
- accountIsHidden: s?.is_hidden,
350
+ account: i?.user_name || "Unknown",
351
+ accountIsClosed: i?.is_closed,
352
+ accountIsHidden: i?.is_hidden,
353
353
  category: N?.name || "Uncategorized",
354
- isIncome: A.top_level_category_guid === W.INCOME,
354
+ isIncome: A.top_level_category_guid === z.INCOME,
355
355
  isPending: A.feed_status === G.PENDING,
356
- number: s?.account_number || "",
356
+ number: i?.account_number || "",
357
357
  payee: A.description,
358
358
  tags: I
359
359
  };
360
360
  });
361
- }, J = "uncategorized", Q = (l, t, a, e, c, _) => {
362
- const i = tt(l, c, _), A = at(i, a, e);
363
- return t.forEach((s) => {
364
- const N = A.findIndex((E) => E.guid === s), I = _.filter((E) => E.parent_guid === s);
361
+ }, Q = "uncategorized", tt = (l, t, a, e, c, _) => {
362
+ const s = at(l, c, _), A = et(s, a, e);
363
+ return t.forEach((i) => {
364
+ const N = A.findIndex((E) => E.guid === i), I = _.filter((E) => E.parent_guid === i);
365
365
  A.splice(N + 1, 0, ...I);
366
366
  }), A;
367
- }, tt = (l, t, a) => {
367
+ }, at = (l, t, a) => {
368
368
  const {
369
369
  accounts: e = [],
370
370
  dateRange: c = { start: R(b()), end: D() },
371
371
  custom: _ = () => !0,
372
- searchTerm: i = "",
372
+ searchTerm: s = "",
373
373
  showSplits: A = !1
374
374
  } = l;
375
- return a.filter((s) => A ? !s.has_been_split : !s.parent_guid).filter((s) => !!e.find((N) => N === s.account_guid)).filter((s) => s.date >= u(c.start) && s.date <= u(c.end)).filter(_).filter((s) => {
376
- if (i === J && s.has_been_split)
375
+ return a.filter((i) => A ? !i.has_been_split : !i.parent_guid).filter((i) => !!e.find((N) => N === i.account_guid)).filter((i) => i.date >= h(c.start) && i.date <= h(c.end)).filter(_).filter((i) => {
376
+ if (s === Q && i.has_been_split)
377
377
  return !1;
378
- if (/^spl/i.test(i) && (s.has_been_split || s.parent_guid))
378
+ if (/^spl/i.test(s) && (i.has_been_split || i.parent_guid))
379
379
  return !0;
380
- const I = s.tags.some(
381
- (M) => S(i, t.find((H) => H.guid === M)?.name)
382
- ), E = h(s.date);
383
- return S(i, s.payee) || S(i, s.feed_description) || S(i, s.category) || S(i, g(E, O.MONTH)) || S(i, g(E, O.DAY)) || S(i, g(E, O.FULL_MONTH_DAY)) || S(i, g(E, O.MONTH_DAY_YEAR)) || S(i, k(E, $)) || S(i, s.account) || S(i, `${s.amount}`) || S(i, s.memo) || I;
380
+ const I = i.tags.some(
381
+ (M) => S(s, t.find((H) => H.guid === M)?.name)
382
+ ), E = u(i.date);
383
+ return S(s, i.payee) || S(s, i.feed_description) || S(s, i.category) || S(s, g(E, O.MONTH)) || S(s, g(E, O.DAY)) || S(s, g(E, O.FULL_MONTH_DAY)) || S(s, g(E, O.MONTH_DAY_YEAR)) || S(s, $(E, X)) || S(s, i.account) || S(s, `${i.amount}`) || S(s, i.memo) || I;
384
384
  });
385
- }, at = (l, t, a) => [...l].sort((e, c) => {
386
- const _ = t, i = (e[_] || "") > (c[_] || "");
387
- let A = i ? -1 : 1, s = i ? 1 : -1;
388
- return (t === L.DATE || t === L.AMOUNT) && (A = i ? 1 : -1, s = i ? -1 : 1), a === x.ASC ? A : s;
385
+ }, et = (l, t, a) => [...l].sort((e, c) => {
386
+ const _ = t, s = (e[_] || "") > (c[_] || "");
387
+ let A = s ? -1 : 1, i = s ? 1 : -1;
388
+ return (t === L.DATE || t === L.AMOUNT) && (A = s ? 1 : -1, i = s ? -1 : 1), a === x.ASC ? A : i;
389
389
  }), S = (l, t) => {
390
390
  const a = l.toLowerCase().split(" "), e = t?.toString().toLowerCase() ?? "";
391
391
  return a.every((c) => e.indexOf(c) > -1);
392
- }, et = {
392
+ }, st = {
393
393
  account_guid: "",
394
394
  amount: 0,
395
395
  currency_code: "",
@@ -420,7 +420,7 @@ const j = ({
420
420
  };
421
421
  class it {
422
422
  beginDate = R(/* @__PURE__ */ new Date());
423
- endDate = X(/* @__PURE__ */ new Date());
423
+ endDate = j(/* @__PURE__ */ new Date());
424
424
  expandedSplits = [];
425
425
  isInitialized = !1;
426
426
  height = 550;
@@ -428,7 +428,7 @@ class it {
428
428
  shouldDisableDrawerScroll = !1;
429
429
  searchValue = "";
430
430
  selectedAccountGuids = [];
431
- manualTransaction = et;
431
+ manualTransaction = st;
432
432
  isAmountValid = !1;
433
433
  showInsights = !1;
434
434
  constructor() {
@@ -459,13 +459,13 @@ class it {
459
459
  this.manualTransaction = t;
460
460
  };
461
461
  }
462
- class mt {
462
+ class yt {
463
463
  globalStore;
464
464
  uiStore;
465
465
  api = new p("/", "");
466
466
  beatApi = new f("/", "");
467
467
  associatedBeats = [];
468
- cachedStartDate = F(b(), 90);
468
+ cachedStartDate = W(b(), 90);
469
469
  filter = {};
470
470
  isLoading = !0;
471
471
  rawTransactions = [];
@@ -474,13 +474,17 @@ class mt {
474
474
  taggings = [];
475
475
  tags = [];
476
476
  transactionRules = [];
477
- onAnalyticEvent = Z;
477
+ listeners = [];
478
+ onAnalyticEvent = q;
478
479
  constructor(t) {
479
480
  this.globalStore = t, this.uiStore = new it(), this.api = new p(
480
481
  t.endpoint,
481
482
  t.sessionToken,
482
483
  t.onError
483
- ), this.beatApi = new f(t.endpoint, t.sessionToken, t.onError), y(this);
484
+ ), this.beatApi = new f(t.endpoint, t.sessionToken, t.onError), y(this), B(() => {
485
+ const a = this.transactions;
486
+ return this.emitChange(), a;
487
+ });
484
488
  }
485
489
  loadTransactionData = async ({
486
490
  associatedBeats: t,
@@ -498,8 +502,16 @@ class mt {
498
502
  this.uiStore.setIsInitialized(!0);
499
503
  });
500
504
  };
505
+ subscribe = (t) => (this.listeners = [...this.listeners, t], () => {
506
+ this.listeners = this.listeners.filter((a) => a !== t);
507
+ });
508
+ getTransactionsSnapshot = () => this.transactions;
509
+ emitChange = () => {
510
+ for (const t of this.listeners)
511
+ t();
512
+ };
501
513
  get sortedTransactions() {
502
- return Q(
514
+ return tt(
503
515
  this.filter,
504
516
  this.uiStore.expandedSplits,
505
517
  this.sortColumn,
@@ -509,7 +521,7 @@ class mt {
509
521
  );
510
522
  }
511
523
  get sortedTransactionsWithSplits() {
512
- return z(this.sortedTransactions, this.transactions);
524
+ return k(this.sortedTransactions, this.transactions);
513
525
  }
514
526
  get transactions() {
515
527
  return this.augmentTransactions(this.rawTransactions);
@@ -545,7 +557,7 @@ class mt {
545
557
  this.globalStore.accountStore.updateAccountBalance(a.account_guid, e);
546
558
  }
547
559
  };
548
- augmentTransactions = (t) => q(
560
+ augmentTransactions = (t) => J(
549
561
  t,
550
562
  this.globalStore.accountStore.visibleAccounts,
551
563
  this.globalStore.categoryStore.categories,
@@ -553,7 +565,7 @@ class mt {
553
565
  );
554
566
  getTransactionData = () => ({});
555
567
  loadAssociatedBeats = async (t, a) => {
556
- const e = t ? B(t, { representation: "date" }) : void 0, c = a ?? await this.beatApi.getBeatsWithAssociatedTransaction(e);
568
+ const e = t ? Y(t, { representation: "date" }) : void 0, c = a ?? await this.beatApi.getBeatsWithAssociatedTransaction(e);
557
569
  d(() => this.associatedBeats = c);
558
570
  };
559
571
  loadTags = async () => {
@@ -571,7 +583,7 @@ class mt {
571
583
  loadTransactions = async (t = this.cachedStartDate, a = D(), e) => {
572
584
  this.setIsLoading(!0), this.rawTransactions = [];
573
585
  try {
574
- const c = e ?? await this.api.getTransactionsByDateRange(u(t), u(a));
586
+ const c = e ?? await this.api.getTransactionsByDateRange(h(t), h(a));
575
587
  d(() => {
576
588
  this.rawTransactions = c;
577
589
  });
@@ -584,7 +596,7 @@ class mt {
584
596
  loadTransactionsByDateRange = async (t, a) => {
585
597
  console.warn("DEPRECATED: loadTransactionsByDateRange will be removed"), this.setFilter({
586
598
  ...this.filter,
587
- dateRange: { start: h(a), end: h(t) }
599
+ dateRange: { start: u(a), end: u(t) }
588
600
  });
589
601
  };
590
602
  modifyTransactionByAccountGuid = (t, a) => {
@@ -607,7 +619,7 @@ class mt {
607
619
  }
608
620
  };
609
621
  setFilter = (t) => {
610
- this.filter = t, t.dateRange && Y(t.dateRange.start, this.cachedStartDate) && this.loadTransactions(t.dateRange.start, D()).then(() => {
622
+ this.filter = t, t.dateRange && F(t.dateRange.start, this.cachedStartDate) && this.loadTransactions(t.dateRange.start, D()).then(() => {
611
623
  t.dateRange && (this.cachedStartDate = t.dateRange.start);
612
624
  });
613
625
  };
@@ -617,11 +629,11 @@ class mt {
617
629
  };
618
630
  splitTransaction = async (t, a) => {
619
631
  const e = await this.api.updateTransaction(t), c = [];
620
- for (let i = 0; i < a.length; i++) {
621
- const A = await this.api.addTransaction(a[i]);
632
+ for (let s = 0; s < a.length; s++) {
633
+ const A = await this.api.addTransaction(a[s]);
622
634
  c.push(A);
623
635
  }
624
- const _ = this.transactions.findIndex((i) => i.guid === t.guid);
636
+ const _ = this.transactions.findIndex((s) => s.guid === t.guid);
625
637
  _ >= 0 && d(
626
638
  () => this.rawTransactions = [
627
639
  ...this.transactions.slice(0, _),
@@ -632,14 +644,14 @@ class mt {
632
644
  );
633
645
  };
634
646
  unSplitTransaction = async (t) => {
635
- const a = this.transactions.filter((i) => i.parent_guid === t);
647
+ const a = this.transactions.filter((s) => s.parent_guid === t);
636
648
  await this.api.removeTransactionSplit(t);
637
649
  const e = [...this.transactions];
638
- a.forEach((i) => {
639
- const A = e.findIndex((s) => s.guid === i.guid);
650
+ a.forEach((s) => {
651
+ const A = e.findIndex((i) => i.guid === s.guid);
640
652
  A >= 0 && e.splice(A, 1);
641
653
  });
642
- const c = e.findIndex((i) => i.guid === t), _ = e[c];
654
+ const c = e.findIndex((s) => s.guid === t), _ = e[c];
643
655
  _.has_been_split = !1, c >= 0 && d(
644
656
  () => this.rawTransactions = [
645
657
  ...e.slice(0, c),
@@ -649,11 +661,11 @@ class mt {
649
661
  );
650
662
  };
651
663
  updateTaggings = async (t, a) => {
652
- const e = this.taggings.filter((i) => i.transaction_guid === a), c = new Set(e.map((i) => i.tag_guid)), _ = new Set(t);
653
- for (const i of t)
654
- c.has(i) || await this.addTagging(i, a);
655
- for (const i of e)
656
- _.has(i.tag_guid) || await this.removeTagging(i.guid);
664
+ const e = this.taggings.filter((s) => s.transaction_guid === a), c = new Set(e.map((s) => s.tag_guid)), _ = new Set(t);
665
+ for (const s of t)
666
+ c.has(s) || await this.addTagging(s, a);
667
+ for (const s of e)
668
+ _.has(s.tag_guid) || await this.removeTagging(s.guid);
657
669
  await this.loadTaggings();
658
670
  };
659
671
  updateTag = async (t) => {
@@ -661,17 +673,17 @@ class mt {
661
673
  };
662
674
  updateTransaction = async (t) => {
663
675
  const a = await this.api.updateTransaction(t), e = this.transactions.findIndex((c) => c.guid === t.guid);
664
- console.log("updateTransaction ran 1", e), e >= 0 && (console.log("updateTransaction ran 2", e), d(
676
+ e >= 0 && d(
665
677
  () => this.rawTransactions = [
666
678
  ...this.transactions.slice(0, e),
667
679
  a,
668
680
  ...this.transactions.slice(e + 1)
669
681
  ]
670
- ));
682
+ );
671
683
  };
672
684
  }
673
685
  export {
674
- et as D,
675
- ft as S,
676
- mt as T
686
+ st as D,
687
+ mt as S,
688
+ yt as T
677
689
  };
@@ -7,8 +7,8 @@ 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-Vj4LO6cx.mjs";
11
- import { u as D1 } from "../AccountDetailsContent-Vj4LO6cx.mjs";
10
+ import { A as K } from "../AccountDetailsContent-CoXcIoZf.mjs";
11
+ import { u as D1 } from "../AccountDetailsContent-CoXcIoZf.mjs";
12
12
  import { u as z, A as P } from "../AccountDetailsHeader-Df1JkzYi.mjs";
13
13
  import { A as W } from "../AccountListItem-CeY_WIpj.mjs";
14
14
  import { a as Y } from "../AccountFields-DUToRRqW.mjs";
@@ -38,7 +38,7 @@ import Qe from "@mui/material/Snackbar";
38
38
  import _e from "@mui/material/Tab";
39
39
  import et from "@mui/material/Tabs";
40
40
  import { e as tt } from "../exportTransactionsToCSV-7bVS7KXf.mjs";
41
- import { T as we, a as nt } from "../TransactionDetails-BqCr2FTh.mjs";
41
+ import { T as we, a as nt } from "../TransactionDetails-dRfjqJ3s.mjs";
42
42
  import he from "@mui/material/Card";
43
43
  import fe from "@mui/material/CardContent";
44
44
  import { S as pe } from "../StatusBar-BK_uYHAB.mjs";
@@ -47,7 +47,7 @@ import { u as ot, b as at } from "../CategorySelectorDrawer-DUe4lH5-.mjs";
47
47
  import Ie from "@mui/material/CardHeader";
48
48
  import { subDays as rt } from "date-fns/subDays";
49
49
  import st from "@mui/material/IconButton";
50
- import { M as it } from "../ManageIncome-B9yGuahc.mjs";
50
+ import { M as it } from "../ManageIncome-uIZwg1-O.mjs";
51
51
  const ct = I(() => {
52
52
  const { budgets: t } = w(), { totalBudgeted: o } = D(), { incomeTotal: i } = te(), s = i - o;
53
53
  return /* @__PURE__ */ g(B, { direction: "row", justifyContent: "center", my: 16, spacing: 20, children: [
@@ -17,7 +17,7 @@ import { C as jn } from "../CashflowStore-D9Dpuz7X.mjs";
17
17
  import { b as M } from "../Localization-2MODESHW.mjs";
18
18
  import { M as Ke } from "../MiniWidgetContainer-D0gfmbaF.mjs";
19
19
  import { E as Je } from "../EmptyState-DA_lfRBv.mjs";
20
- import { R as Ze } from "../RecurringSettings-D9GFcsXV.mjs";
20
+ import { R as Ze } from "../RecurringSettings-6qo4-whb.mjs";
21
21
  import et from "@mui/material/Tabs";
22
22
  import Ce from "@mui/material/Tab";
23
23
  import { getUnixTime as U } from "date-fns/getUnixTime";
@@ -35,13 +35,13 @@ import { alpha as ot, keyframes as at } from "@mui/material/styles";
35
35
  import { DataGridPro as it } from "@mui/x-data-grid-pro";
36
36
  import { T as we } from "../TabContentContainer-j01JYR_7.mjs";
37
37
  import G from "@mui/material/Button";
38
- import { M as rt, S as st, i as ct, d as _e, c as lt } from "../ManageIncome-B9yGuahc.mjs";
38
+ import { M as rt, S as st, i as ct, d as _e, c as lt } from "../ManageIncome-uIZwg1-O.mjs";
39
39
  import { D as Ge } from "../Drawer-kEE73B87.mjs";
40
40
  import { formatISO as dt } from "date-fns/formatISO";
41
41
  import { fromUnixTime as Ie } from "date-fns/fromUnixTime";
42
42
  import { startOfMonth as mt } from "date-fns/startOfMonth";
43
43
  import { subDays as je } from "date-fns/subDays";
44
- import { S as ut, b as ht } from "../TransactionDetails-BqCr2FTh.mjs";
44
+ import { S as ut, b as ht } from "../TransactionDetails-dRfjqJ3s.mjs";
45
45
  import { F as pt, R as De, e as ve } from "../RecurringTransactions-ej39mgA6.mjs";
46
46
  import { h as ft } from "../DateUtil-BcuH7ErC.mjs";
47
47
  import { endOfToday as gt } from "date-fns/endOfToday";
@@ -18,8 +18,8 @@ import { C as Ys } from "../CurrencyInput-DUsQbkXb.mjs";
18
18
  import { L as zs } from "../Loader-DUaFpDGv.mjs";
19
19
  import { R as js } from "../ResponsiveButton-DZFp78fJ.mjs";
20
20
  import { S as Vs } from "../SearchBox-B2_zLv8-.mjs";
21
- import { T as at } from "../TransactionStore-Cd9GapAi.mjs";
22
- import { S as Js } from "../TransactionStore-Cd9GapAi.mjs";
21
+ import { T as at } from "../TransactionStore-D3UCn4oY.mjs";
22
+ import { S as Js } from "../TransactionStore-D3UCn4oY.mjs";
23
23
  import { T as er } from "../TabContentContainer-j01JYR_7.mjs";
24
24
  import { I as rr } from "../IconBacking-B9oC6uL2.mjs";
25
25
  import { D as ar, F as nr, a as ir, c as cr, R as dr, S as lr } from "../RecurringTransactions-ej39mgA6.mjs";
@@ -30,7 +30,7 @@ import Ue from "@mui/material/AccordionSummary";
30
30
  import Ve from "@mui/material/CardHeader";
31
31
  import { u as Ye } from "../useDimensions-27p2evRx.mjs";
32
32
  import { C as qe } from "../ConnectionsDrawer-BDvVuJQf.mjs";
33
- import { R as Je } from "../RecurringSettings-D9GFcsXV.mjs";
33
+ import { R as Je } from "../RecurringSettings-6qo4-whb.mjs";
34
34
  import Qe from "@mui/material/TextField";
35
35
  import { u as Ce } from "../useScreenSize-B6JyS_Lj.mjs";
36
36
  import { a as Ze } from "../Dialog-CWW597AF.mjs";
@@ -39,7 +39,7 @@ import tt from "@mui/material/Collapse";
39
39
  import nt from "@mui/material/ListItemIcon";
40
40
  import ot from "@mui/material/Checkbox";
41
41
  import { u as at, A as rt } from "../AccountDetailsHeader-Df1JkzYi.mjs";
42
- import { A as it } from "../AccountDetailsContent-Vj4LO6cx.mjs";
42
+ import { A as it } from "../AccountDetailsContent-CoXcIoZf.mjs";
43
43
  import { u as st } from "../useAccountDisplayName-jS05A6-6.mjs";
44
44
  import De from "@mui/material/TextField";
45
45
  import { M as lt, I as ct, O as dt } from "../OriginalBalanceAction-CWuVvRq9.mjs";
@@ -8,8 +8,8 @@ import { startOfToday as ue } from "date-fns/startOfToday";
8
8
  import { subDays as me } from "date-fns/subDays";
9
9
  import ae from "@mui/material/Skeleton";
10
10
  import c from "@mui/material/Stack";
11
- import { R as Ee } from "../RecurringSettings-D9GFcsXV.mjs";
12
- import { M as En } from "../RecurringSettings-D9GFcsXV.mjs";
11
+ import { R as Ee } from "../RecurringSettings-6qo4-whb.mjs";
12
+ import { M as En } from "../RecurringSettings-6qo4-whb.mjs";
13
13
  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";
@@ -41,8 +41,8 @@ import ct from "@mui/material/ListSubheader";
41
41
  import lt from "@mui/material/ListItemAvatar";
42
42
  import dt from "@mui/material/ListItemButton";
43
43
  import ut from "@mui/material/ListItemText";
44
- import { b as mt } from "../ManageIncome-B9yGuahc.mjs";
45
- import { c as kn, M as Wn, S as $n } from "../ManageIncome-B9yGuahc.mjs";
44
+ import { b as mt } from "../ManageIncome-uIZwg1-O.mjs";
45
+ import { c as kn, M as Wn, S as $n } from "../ManageIncome-uIZwg1-O.mjs";
46
46
  import { f as L } from "../NumberFormatting-Buh7u8Oi.mjs";
47
47
  import { D as xe } from "../Drawer-kEE73B87.mjs";
48
48
  import { b as N } from "../Localization-2MODESHW.mjs";
@@ -21,7 +21,7 @@ import { D as Tt } from "../Donut-oaQFlbit.mjs";
21
21
  import { L as F } from "../Loader-DUaFpDGv.mjs";
22
22
  import { M as Mt } from "../MiniWidgetContainer-D0gfmbaF.mjs";
23
23
  import { startOfToday as U } from "date-fns/startOfToday";
24
- import { T as Dt, a as xt } from "../TransactionDetails-BqCr2FTh.mjs";
24
+ import { T as Dt, a as xt } from "../TransactionDetails-dRfjqJ3s.mjs";
25
25
  import wt from "@mui/material/Collapse";
26
26
  import B from "@mui/material/Divider";
27
27
  import q from "@mui/material/List";
@@ -3,5 +3,5 @@ import { Transaction } from '../../../../../common';
3
3
  interface DateActionProps {
4
4
  transaction: Transaction;
5
5
  }
6
- declare const _default: React.FunctionComponent<DateActionProps>;
7
- export default _default;
6
+ declare const DateAction: React.FC<DateActionProps>;
7
+ export default DateAction;
@@ -1,10 +1,10 @@
1
1
  import { T as Aa } from "../TransactionApi-B3Tksf7L.mjs";
2
- import { u as P, C as Pe, D as $e, M as Ve, c as We, T as Ge, a as Ue } from "../TransactionDetails-BqCr2FTh.mjs";
3
- import { B as xa, d as wa, b as Ia } from "../TransactionDetails-BqCr2FTh.mjs";
2
+ import { u as P, C as Pe, D as $e, M as Ve, c as We, T as Ge, a as Ue } from "../TransactionDetails-dRfjqJ3s.mjs";
3
+ import { B as xa, d as wa, b as Ia } from "../TransactionDetails-dRfjqJ3s.mjs";
4
4
  import { T as M } from "../User-BQUxBeZV.mjs";
5
5
  import { O as Da } from "../User-BQUxBeZV.mjs";
6
- import { S as ae, D as Fe } from "../TransactionStore-Cd9GapAi.mjs";
7
- import { T as Ea } from "../TransactionStore-Cd9GapAi.mjs";
6
+ import { S as ae, D as Fe } from "../TransactionStore-D3UCn4oY.mjs";
7
+ import { T as Ea } from "../TransactionStore-D3UCn4oY.mjs";
8
8
  import { e as ze } from "../exportTransactionsToCSV-7bVS7KXf.mjs";
9
9
  import { E as Ma } from "../ExportCsvAction-sX8Rg4Ov.mjs";
10
10
  import { jsxs as _, jsx as e } from "react/jsx-runtime";
@@ -26,6 +26,7 @@ export declare class TransactionStore {
26
26
  taggings: Tagging[];
27
27
  tags: Tag[];
28
28
  transactionRules: TransactionRule[];
29
+ listeners: any;
29
30
  onAnalyticEvent: (event: string, session: import('../analytics').AnalyticSession | null) => Promise<any>;
30
31
  constructor(globalStore: GlobalStore);
31
32
  loadTransactionData: ({ associatedBeats, transactionRules, transactions, }?: {
@@ -35,6 +36,9 @@ export declare class TransactionStore {
35
36
  transactionRules?: TransactionRule[];
36
37
  transactions?: Transaction[];
37
38
  }) => Promise<void>;
39
+ subscribe: (listener: any) => () => void;
40
+ getTransactionsSnapshot: () => Transaction[];
41
+ emitChange: () => void;
38
42
  get sortedTransactions(): Transaction[];
39
43
  get sortedTransactionsWithSplits(): Transaction[];
40
44
  get transactions(): Transaction[];
@@ -22,7 +22,7 @@ import { H as Ie } from "../HeaderCell-DjuifqHJ.mjs";
22
22
  import { T as M, b as ft } from "../ViewMoreMicroCard-SCn2wt4i.mjs";
23
23
  import { A as _, W as ke } from "../WidgetContainer-EbrN1oIo.mjs";
24
24
  import { c as Tt } from "../Category-CevNQ03n.mjs";
25
- import { a as Ne, T as He } from "../TransactionDetails-BqCr2FTh.mjs";
25
+ import { a as Ne, T as He } from "../TransactionDetails-dRfjqJ3s.mjs";
26
26
  import { D as Ce } from "../Drawer-kEE73B87.mjs";
27
27
  import { L as Q } from "../Loader-DUaFpDGv.mjs";
28
28
  import { useTheme as We } from "@mui/material/styles";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mx-cartographer/experiences",
3
- "version": "7.2.15-alpha.sms2",
3
+ "version": "7.2.15-alpha.sms20",
4
4
  "description": "Library containing experience widgets",
5
5
  "author": "MX",
6
6
  "license": "MIT",