@mx-cartographer/experiences 7.2.15-alpha.sms1 → 7.2.15-alpha.sms10

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,43 +4,43 @@ 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 = ({
25
- checked: S = !1,
24
+ const Z = ({
25
+ checked: _ = !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 = S ? _.palette.action.active : i;
31
+ const l = V(), s = l.palette.mode === "light" ? l.palette.grey[400] : l.palette.grey[700], A = _ ? l.palette.action.active : s;
32
32
  return /* @__PURE__ */ C(
33
33
  P,
34
34
  {
35
35
  bgcolor: "background.paper",
36
- border: `${S ? 3 : 1}px solid`,
36
+ border: `${_ ? 3 : 1}px solid`,
37
37
  borderColor: A,
38
38
  borderRadius: 2,
39
39
  mt: -2,
40
40
  mx: 8,
41
41
  pr: 8,
42
42
  py: 4,
43
- sx: { "&:hover": { borderColor: _.palette.action.active }, ...a },
43
+ sx: { "&:hover": { borderColor: l.palette.action.active }, ...a },
44
44
  children: /* @__PURE__ */ C(v, { title: e, children: /* @__PURE__ */ C(
45
45
  U,
46
46
  {
@@ -48,7 +48,7 @@ const j = ({
48
48
  K,
49
49
  {
50
50
  disableRipple: !0,
51
- sx: { "&.Mui-checked": { color: _.palette.action.active } }
51
+ sx: { "&.Mui-checked": { color: l.palette.action.active } }
52
52
  }
53
53
  ),
54
54
  label: t,
@@ -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,285 +111,285 @@ 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 (S, t) => !t || !m[S] ? null : t.sendAnalyticEvent(m[S]), L = {
325
+ }, q = async (_, t) => !t || !m[_] ? null : t.sendAnalyticEvent(m[_]), 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 = (S, 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: l, tag_guid: I } = s;
335
- if (!A[l])
332
+ }, J = (_, t, a, e = []) => {
333
+ const c = t.reduce((A, i) => ({ ...A, [i.guid]: i }), {}), l = a.reduce((A, i) => ({ ...A, [i.guid]: i }), {}), s = e.reduce((A, i) => {
334
+ const { transaction_guid: N, tag_guid: I } = i;
335
+ if (!A[N])
336
336
  return {
337
337
  ...A,
338
- [l]: [I]
338
+ [N]: [I]
339
339
  };
340
- const E = [...A[l], I];
340
+ const E = [...A[N], I];
341
341
  return {
342
342
  ...A,
343
- [l]: E
343
+ [N]: E
344
344
  };
345
345
  }, {});
346
- return S.map((A) => {
347
- const s = c[A.account_guid], l = A.category_guid ? _[A.category_guid] : null, I = i[A.guid] ?? [];
346
+ return _.map((A) => {
347
+ const i = c[A.account_guid], N = A.category_guid ? l[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,
353
- category: l?.name || "Uncategorized",
354
- isIncome: A.top_level_category_guid === W.INCOME,
350
+ account: i?.user_name || "Unknown",
351
+ accountIsClosed: i?.is_closed,
352
+ accountIsHidden: i?.is_hidden,
353
+ category: N?.name || "Uncategorized",
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 = (S, t, a, e, c, _) => {
362
- const i = tt(S, c, _), A = at(i, a, e);
363
- return t.forEach((s) => {
364
- const l = A.findIndex((E) => E.guid === s), I = _.filter((E) => E.parent_guid === s);
365
- A.splice(l + 1, 0, ...I);
361
+ }, Q = "uncategorized", tt = (_, t, a, e, c, l) => {
362
+ const s = at(_, c, l), A = et(s, a, e);
363
+ return t.forEach((i) => {
364
+ const N = A.findIndex((E) => E.guid === i), I = l.filter((E) => E.parent_guid === i);
365
+ A.splice(N + 1, 0, ...I);
366
366
  }), A;
367
- }, tt = (S, t, a) => {
367
+ }, at = (_, t, a) => {
368
368
  const {
369
369
  accounts: e = [],
370
370
  dateRange: c = { start: R(b()), end: D() },
371
- custom: _ = () => !0,
372
- searchTerm: i = "",
371
+ custom: l = () => !0,
372
+ searchTerm: s = "",
373
373
  showSplits: A = !1
374
- } = S;
375
- return a.filter((s) => A ? !s.has_been_split : !s.parent_guid).filter((s) => !!e.find((l) => l === 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)
374
+ } = _;
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(l).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) => N(i, t.find((H) => H.guid === M)?.name)
382
- ), E = h(s.date);
383
- return N(i, s.payee) || N(i, s.feed_description) || N(i, s.category) || N(i, g(E, O.MONTH)) || N(i, g(E, O.DAY)) || N(i, g(E, O.FULL_MONTH_DAY)) || N(i, g(E, O.MONTH_DAY_YEAR)) || N(i, k(E, $)) || N(i, s.account) || N(i, `${s.amount}`) || N(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 = (S, t, a) => [...S].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;
389
- }), N = (S, t) => {
390
- const a = S.toLowerCase().split(" "), e = t?.toString().toLowerCase() ?? "";
385
+ }, et = (_, t, a) => [..._].sort((e, c) => {
386
+ const l = t, s = (e[l] || "") > (c[l] || "");
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
+ }), S = (_, t) => {
390
+ const a = _.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,22 @@ 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, e = this.associatedBeats, c = this.taggings, l = this.tags;
486
+ return this.emitChange(), {
487
+ transactions: a,
488
+ associatedBeats: e,
489
+ taggings: c,
490
+ tags: l
491
+ };
492
+ });
484
493
  }
485
494
  loadTransactionData = async ({
486
495
  associatedBeats: t,
@@ -498,8 +507,16 @@ class mt {
498
507
  this.uiStore.setIsInitialized(!0);
499
508
  });
500
509
  };
510
+ subscribe = (t) => (console.log("what are you?", t), this.listeners = [...this.listeners, t], () => {
511
+ this.listeners = this.listeners.filter((a) => a !== t);
512
+ });
513
+ getSnapshot = () => this.transactions;
514
+ emitChange = () => {
515
+ for (const t of this.listeners)
516
+ t();
517
+ };
501
518
  get sortedTransactions() {
502
- return Q(
519
+ return tt(
503
520
  this.filter,
504
521
  this.uiStore.expandedSplits,
505
522
  this.sortColumn,
@@ -509,7 +526,7 @@ class mt {
509
526
  );
510
527
  }
511
528
  get sortedTransactionsWithSplits() {
512
- return z(this.sortedTransactions, this.transactions);
529
+ return k(this.sortedTransactions, this.transactions);
513
530
  }
514
531
  get transactions() {
515
532
  return this.augmentTransactions(this.rawTransactions);
@@ -545,7 +562,7 @@ class mt {
545
562
  this.globalStore.accountStore.updateAccountBalance(a.account_guid, e);
546
563
  }
547
564
  };
548
- augmentTransactions = (t) => q(
565
+ augmentTransactions = (t) => J(
549
566
  t,
550
567
  this.globalStore.accountStore.visibleAccounts,
551
568
  this.globalStore.categoryStore.categories,
@@ -553,7 +570,7 @@ class mt {
553
570
  );
554
571
  getTransactionData = () => ({});
555
572
  loadAssociatedBeats = async (t, a) => {
556
- const e = t ? B(t, { representation: "date" }) : void 0, c = a ?? await this.beatApi.getBeatsWithAssociatedTransaction(e);
573
+ const e = t ? Y(t, { representation: "date" }) : void 0, c = a ?? await this.beatApi.getBeatsWithAssociatedTransaction(e);
557
574
  d(() => this.associatedBeats = c);
558
575
  };
559
576
  loadTags = async () => {
@@ -571,7 +588,7 @@ class mt {
571
588
  loadTransactions = async (t = this.cachedStartDate, a = D(), e) => {
572
589
  this.setIsLoading(!0), this.rawTransactions = [];
573
590
  try {
574
- const c = e ?? await this.api.getTransactionsByDateRange(u(t), u(a));
591
+ const c = e ?? await this.api.getTransactionsByDateRange(h(t), h(a));
575
592
  d(() => {
576
593
  this.rawTransactions = c;
577
594
  });
@@ -584,7 +601,7 @@ class mt {
584
601
  loadTransactionsByDateRange = async (t, a) => {
585
602
  console.warn("DEPRECATED: loadTransactionsByDateRange will be removed"), this.setFilter({
586
603
  ...this.filter,
587
- dateRange: { start: h(a), end: h(t) }
604
+ dateRange: { start: u(a), end: u(t) }
588
605
  });
589
606
  };
590
607
  modifyTransactionByAccountGuid = (t, a) => {
@@ -607,7 +624,7 @@ class mt {
607
624
  }
608
625
  };
609
626
  setFilter = (t) => {
610
- this.filter = t, t.dateRange && Y(t.dateRange.start, this.cachedStartDate) && this.loadTransactions(t.dateRange.start, D()).then(() => {
627
+ this.filter = t, t.dateRange && F(t.dateRange.start, this.cachedStartDate) && this.loadTransactions(t.dateRange.start, D()).then(() => {
611
628
  t.dateRange && (this.cachedStartDate = t.dateRange.start);
612
629
  });
613
630
  };
@@ -617,43 +634,43 @@ class mt {
617
634
  };
618
635
  splitTransaction = async (t, a) => {
619
636
  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]);
637
+ for (let s = 0; s < a.length; s++) {
638
+ const A = await this.api.addTransaction(a[s]);
622
639
  c.push(A);
623
640
  }
624
- const _ = this.transactions.findIndex((i) => i.guid === t.guid);
625
- _ >= 0 && d(
641
+ const l = this.transactions.findIndex((s) => s.guid === t.guid);
642
+ l >= 0 && d(
626
643
  () => this.rawTransactions = [
627
- ...this.transactions.slice(0, _),
644
+ ...this.transactions.slice(0, l),
628
645
  e,
629
- ...this.transactions.slice(_ + 1),
646
+ ...this.transactions.slice(l + 1),
630
647
  ...c
631
648
  ]
632
649
  );
633
650
  };
634
651
  unSplitTransaction = async (t) => {
635
- const a = this.transactions.filter((i) => i.parent_guid === t);
652
+ const a = this.transactions.filter((s) => s.parent_guid === t);
636
653
  await this.api.removeTransactionSplit(t);
637
654
  const e = [...this.transactions];
638
- a.forEach((i) => {
639
- const A = e.findIndex((s) => s.guid === i.guid);
655
+ a.forEach((s) => {
656
+ const A = e.findIndex((i) => i.guid === s.guid);
640
657
  A >= 0 && e.splice(A, 1);
641
658
  });
642
- const c = e.findIndex((i) => i.guid === t), _ = e[c];
643
- _.has_been_split = !1, c >= 0 && d(
659
+ const c = e.findIndex((s) => s.guid === t), l = e[c];
660
+ l.has_been_split = !1, c >= 0 && d(
644
661
  () => this.rawTransactions = [
645
662
  ...e.slice(0, c),
646
- _,
663
+ l,
647
664
  ...e.slice(c + 1)
648
665
  ]
649
666
  );
650
667
  };
651
668
  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);
669
+ const e = this.taggings.filter((s) => s.transaction_guid === a), c = new Set(e.map((s) => s.tag_guid)), l = new Set(t);
670
+ for (const s of t)
671
+ c.has(s) || await this.addTagging(s, a);
672
+ for (const s of e)
673
+ l.has(s.tag_guid) || await this.removeTagging(s.guid);
657
674
  await this.loadTaggings();
658
675
  };
659
676
  updateTag = async (t) => {
@@ -661,17 +678,17 @@ class mt {
661
678
  };
662
679
  updateTransaction = async (t) => {
663
680
  const a = await this.api.updateTransaction(t), e = this.transactions.findIndex((c) => c.guid === t.guid);
664
- e >= 0 && d(
681
+ e >= 0 && (console.log("updateTransaction ran 2", e), d(
665
682
  () => this.rawTransactions = [
666
683
  ...this.transactions.slice(0, e),
667
684
  a,
668
685
  ...this.transactions.slice(e + 1)
669
686
  ]
670
- );
687
+ ));
671
688
  };
672
689
  }
673
690
  export {
674
- et as D,
675
- ft as S,
676
- mt as T
691
+ st as D,
692
+ mt as S,
693
+ yt as T
677
694
  };
@@ -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-DxPLdF3B.mjs";
22
- import { S as Js } from "../TransactionStore-DxPLdF3B.mjs";
21
+ import { T as at } from "../TransactionStore-DECTxEzO.mjs";
22
+ import { S as Js } from "../TransactionStore-DECTxEzO.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-DxPLdF3B.mjs";
7
- import { T as Ea } from "../TransactionStore-DxPLdF3B.mjs";
6
+ import { S as ae, D as Fe } from "../TransactionStore-DECTxEzO.mjs";
7
+ import { T as Ea } from "../TransactionStore-DECTxEzO.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
+ getSnapshot: () => 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.sms1",
3
+ "version": "7.2.15-alpha.sms10",
4
4
  "description": "Library containing experience widgets",
5
5
  "author": "MX",
6
6
  "license": "MIT",