@mx-cartographer/experiences 7.0.27-alpha-recurring-transactions-css-bug-ram7 → 7.0.27-alpha.mm0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/{Account-BW3-oYEs.mjs → Account-DJ7VG5hs.mjs} +1 -1
  3. package/dist/{AccountDetailsContent-UxSEMBo_.mjs → AccountDetailsContent-YtqGgQmV.mjs} +8 -8
  4. package/dist/{AccountDetailsHeader-Eb3WvBGm.mjs → AccountDetailsHeader-DJk0hheh.mjs} +5 -5
  5. package/dist/{AccountFields-CIz-r3gP.mjs → AccountFields-BJfIdeay.mjs} +2 -2
  6. package/dist/{AccountListItem-B-ZjJ4Gp.mjs → AccountListItem-CkDTN1Bi.mjs} +3 -3
  7. package/dist/{AccountStore-BaMynkQT.mjs → AccountStore-CJl0ld02.mjs} +26 -26
  8. package/dist/{Accounts-CA-nqAjT.mjs → Accounts-BYGu-bN1.mjs} +1 -1
  9. package/dist/{BeatApi-DLu87ijw.mjs → BeatApi-DhJpgCLz.mjs} +3 -3
  10. package/dist/{BeatStore-By4aGoRM.mjs → BeatStore-IBnXd4YK.mjs} +17 -17
  11. package/dist/{BudgetUtil-CeSLAcsl.mjs → BudgetUtil-BB9gMyLW.mjs} +1 -1
  12. package/dist/{CategorySelectorDrawer-BJ9jlCyt.mjs → CategorySelectorDrawer-B-W3eXHU.mjs} +1 -1
  13. package/dist/{CategoryStore-BOyzQjQp.mjs → CategoryStore-BCcpI3oJ.mjs} +4 -4
  14. package/dist/{ConnectDrawer-phFH6OHt.mjs → ConnectDrawer-COy3Xwqv.mjs} +1 -1
  15. package/dist/{ConnectionsDrawer-ihxkAi1P.mjs → ConnectionsDrawer-B36W8Qvy.mjs} +2 -2
  16. package/dist/{CurrencyInput-bEx2Mbd0.mjs → CurrencyInput-B6gF46iv.mjs} +1 -1
  17. package/dist/{DebtsStore-VkyMADzd.mjs → DebtsStore-2yxA32_7.mjs} +1 -1
  18. package/dist/{ExportCsvAction-CbdFfDV5.mjs → ExportCsvAction-C3s1m5os.mjs} +3 -3
  19. package/dist/{Fetch-CkFKy79O.mjs → Fetch-87LIQbEA.mjs} +11 -10
  20. package/dist/{FinstrongStore-mkALvztw.mjs → FinstrongStore-F2c607dj.mjs} +4 -4
  21. package/dist/{GoalStore-eSOkI6uE.mjs → GoalStore-dBJBsl-g.mjs} +6 -6
  22. package/dist/{Help-KAAMEubC.mjs → Help-CWsL8d5P.mjs} +1 -1
  23. package/dist/{LineChart-BWWmmJxV.mjs → LineChart-CBKadOFA.mjs} +1 -1
  24. package/dist/{ListItemAction-DNZZ5fSa.mjs → ListItemAction-CpYlo5Sh.mjs} +1 -1
  25. package/dist/{ManageIncome-DbsiKUoO.mjs → ManageIncome-CGoLh7xs.mjs} +4 -4
  26. package/dist/MerchantStore-DrFvsUyy.mjs +37 -0
  27. package/dist/{MicroWidgetContainer-Dxz8uBN9.mjs → MicroWidgetContainer-DQXTwO5i.mjs} +1 -1
  28. package/dist/{MiniWidgetContainer-CTyjmE1h.mjs → MiniWidgetContainer-BF2Qwhh-.mjs} +1 -1
  29. package/dist/{NetWorthStore-B6xF9eGH.mjs → NetWorthStore-CrQtq5rq.mjs} +2 -2
  30. package/dist/{NotificationSettings-BJFyyZYE.mjs → NotificationSettings-gz1XBCBs.mjs} +2 -2
  31. package/dist/{NotificationStore-DHtSGySy.mjs → NotificationStore-C6PH6MKm.mjs} +8 -4
  32. package/dist/{OriginalBalanceAction-DepsKiJz.mjs → OriginalBalanceAction-C3afa-mq.mjs} +3 -3
  33. package/dist/{RecurringSettings-Dj29piAQ.mjs → RecurringSettings-fjYVNmPp.mjs} +3 -3
  34. package/dist/{RecurringTransactionsStore-D62XJtdL.mjs → RecurringTransactionsStore-DeLXfuC4.mjs} +20 -16
  35. package/dist/{SettingsStore-B4gi6oOw.mjs → SettingsStore-0aHfHlOE.mjs} +33 -29
  36. package/dist/{TransactionApi-DbbcjI2L.mjs → TransactionApi-B3Tksf7L.mjs} +29 -29
  37. package/dist/{TransactionDetails-C-z3HGTT.mjs → TransactionDetails--DPYM8la.mjs} +5 -5
  38. package/dist/{TransactionStore-Cep_Eeql.mjs → TransactionStore-Cd25G0gH.mjs} +29 -25
  39. package/dist/{TrendsStore-WrHxzdbQ.mjs → TrendsStore-ReCVjB8o.mjs} +1 -1
  40. package/dist/{User-Dq9Qj764.mjs → User-DD7Pb2ze.mjs} +1 -1
  41. package/dist/{ViewMoreMicroCard-DFAY0tA8.mjs → ViewMoreMicroCard-C66pzgfS.mjs} +5 -2
  42. package/dist/{WidgetContainer-CdBs9WOZ.mjs → WidgetContainer-C1NlG0pd.mjs} +2 -2
  43. package/dist/accounts/api/AccountApi.d.ts +2 -2
  44. package/dist/accounts/index.es.js +12 -12
  45. package/dist/analytics/index.es.js +2 -2
  46. package/dist/budgets/api/BudgetsApi.d.ts +2 -2
  47. package/dist/budgets/index.es.js +10 -10
  48. package/dist/cashflow/api/CashflowApi.d.ts +3 -2
  49. package/dist/cashflow/index.es.js +10 -10
  50. package/dist/categories/index.es.js +2 -2
  51. package/dist/common/api/AnalyticsApi.d.ts +2 -2
  52. package/dist/common/api/AppDataApi.d.ts +2 -2
  53. package/dist/common/api/BeatApi.d.ts +2 -2
  54. package/dist/common/api/CategoryApi.d.ts +2 -3
  55. package/dist/common/api/GlobalCopyApi.d.ts +2 -1
  56. package/dist/common/api/LocalizedCopyApi.d.ts +2 -1
  57. package/dist/common/api/NotificationApi.d.ts +2 -2
  58. package/dist/common/api/ScheduledPaymentsApi.d.ts +3 -2
  59. package/dist/common/api/UserApi.d.ts +2 -2
  60. package/dist/common/context/GlobalDataProvider.d.ts +3 -2
  61. package/dist/common/context/hooks.d.ts +4 -1
  62. package/dist/common/context/index.d.ts +1 -1
  63. package/dist/common/index.es.js +316 -310
  64. package/dist/common/stores/GlobalStore.d.ts +3 -2
  65. package/dist/common/types/Handlers.d.ts +2 -0
  66. package/dist/common/types/index.d.ts +1 -0
  67. package/dist/common/utils/Fetch.d.ts +3 -1
  68. package/dist/dashboard/index.es.js +2 -2
  69. package/dist/debts/index.es.js +9 -9
  70. package/dist/{exportTransactionsToCSV-B5qAKd6C.mjs → exportTransactionsToCSV-Ch_T5Xhk.mjs} +1 -1
  71. package/dist/finstrong/api/FinstrongApi.d.ts +2 -1
  72. package/dist/finstrong/index.es.js +7 -7
  73. package/dist/goals/api/GoalApi.d.ts +3 -2
  74. package/dist/goals/index.es.js +11 -11
  75. package/dist/help/api/HelpApi.d.ts +2 -2
  76. package/dist/help/index.es.js +3 -3
  77. package/dist/hooks-CTieq90n.mjs +74 -0
  78. package/dist/insights/index.es.js +1 -1
  79. package/dist/investments/api/HoldingApi.d.ts +3 -2
  80. package/dist/investments/index.es.js +3 -3
  81. package/dist/merchants/api/MerchantApi.d.ts +2 -1
  82. package/dist/merchants/index.es.js +2 -2
  83. package/dist/microinsights/context/InsightsMicroWidgetDataProvider.d.ts +2 -1
  84. package/dist/microinsights/context/hooks.d.ts +1 -1
  85. package/dist/microinsights/index.es.js +1 -1
  86. package/dist/networth/index.es.js +7 -7
  87. package/dist/notifications/index.es.js +5 -5
  88. package/dist/recurringtransactions/api/RepeatingTransactionsApi.d.ts +2 -2
  89. package/dist/recurringtransactions/index.es.js +339 -351
  90. package/dist/settings/api/SettingsApi.d.ts +3 -2
  91. package/dist/settings/index.es.js +7 -7
  92. package/dist/spending/index.es.js +4 -4
  93. package/dist/transactions/api/TransactionApi.d.ts +3 -2
  94. package/dist/transactions/index.es.js +14 -14
  95. package/dist/trends/index.es.js +10 -10
  96. package/dist/{useCombineEvents-DaDBSR_1.mjs → useCombineEvents-BUDIR1ba.mjs} +29 -29
  97. package/package.json +1 -1
  98. package/dist/MerchantStore-DVH-QOf0.mjs +0 -37
  99. package/dist/hooks-DkUqN6JE.mjs +0 -71
@@ -0,0 +1,37 @@
1
+ import { makeAutoObservable as m, runInAction as c } from "mobx";
2
+ import { F as p, A as h } from "./Fetch-87LIQbEA.mjs";
3
+ class i {
4
+ fetchInstance;
5
+ constructor(t, n, s) {
6
+ this.fetchInstance = new p(t, n, void 0, s);
7
+ }
8
+ getMerchants = async (t = [], n = [], s = 1, o = 25) => {
9
+ let a = h.MERCHANTS;
10
+ return a += `?page=${s}&per_page=${o}`, t.length && t.forEach((e) => a += `&fuzzy_name[]=${e}`), n.length && n.forEach((e) => a += `&guid[]=${e}`), this.fetchInstance.get(a).then((e) => e.merchants);
11
+ };
12
+ getMerchantByGuid = async (t) => this.fetchInstance.get(`${h.MERCHANTS}/${t}`).then((n) => n.merchant);
13
+ }
14
+ class u {
15
+ globalStore;
16
+ api = new i("/", "");
17
+ merchant = null;
18
+ merchants = [];
19
+ isLoading = !1;
20
+ constructor(t) {
21
+ this.globalStore = t, this.api = new i(t.endpoint, t.sessionToken, t.onError), m(this);
22
+ }
23
+ loadMerchants = async (t = "") => {
24
+ this.isLoading = !0;
25
+ const n = await this.api.getMerchants([t]);
26
+ c(() => {
27
+ this.merchants = n, this.isLoading = !1;
28
+ });
29
+ };
30
+ loadMerchantByGuid = async (t) => {
31
+ const n = await this.api.getMerchantByGuid(t);
32
+ c(() => this.merchant = n);
33
+ };
34
+ }
35
+ export {
36
+ u as M
37
+ };
@@ -6,7 +6,7 @@ import b from "@mui/material/CardHeader";
6
6
  import { P as u, H3 as v } from "@mxenabled/mxui";
7
7
  import { ChevronRight as W } from "@mxenabled/mx-icons";
8
8
  import { u as M } from "./useDimensions-27p2evRx.mjs";
9
- import { W as w } from "./hooks-DkUqN6JE.mjs";
9
+ import { W as w } from "./hooks-CTieq90n.mjs";
10
10
  const H = ({
11
11
  children: e,
12
12
  className: o,
@@ -7,7 +7,7 @@ import b from "@mui/material/IconButton";
7
7
  import { Icon as C, ChevronRight as v } from "@mxenabled/mx-icons";
8
8
  import { Text as W, H3 as H } from "@mxenabled/mxui";
9
9
  import { u as I } from "./useDimensions-27p2evRx.mjs";
10
- import { W as M } from "./hooks-DkUqN6JE.mjs";
10
+ import { W as M } from "./hooks-CTieq90n.mjs";
11
11
  const j = ({
12
12
  className: t = "mx-cmn-mini-widget",
13
13
  closeLabel: a,
@@ -3,8 +3,8 @@ import { format as A } from "date-fns/format";
3
3
  import { fromUnixTime as W } from "date-fns/fromUnixTime";
4
4
  import { startOfMonth as _ } from "date-fns/startOfMonth";
5
5
  import { subMonths as B } from "date-fns/subMonths";
6
- import { a as b } from "./Accounts-CA-nqAjT.mjs";
7
- import { e as N, a as M, f as v } from "./ConnectDrawer-phFH6OHt.mjs";
6
+ import { a as b } from "./Accounts-BYGu-bN1.mjs";
7
+ import { e as N, a as M, f as v } from "./ConnectDrawer-COy3Xwqv.mjs";
8
8
  const f = 13, L = (n, t) => n.filter((e) => {
9
9
  const { is_closed: r, is_deleted: s, is_hidden: a, is_manual: i } = e;
10
10
  return r || s || a ? !1 : i || !e.guid ? !0 : t.some((l) => n.some((g) => l.guid === g.member_guid));
@@ -15,11 +15,11 @@ import { DateCalendar as te } from "@mui/x-date-pickers/DateCalendar";
15
15
  import { LocalizationProvider as ne } from "@mui/x-date-pickers/LocalizationProvider";
16
16
  import { AdapterDateFns as ie } from "@mui/x-date-pickers/AdapterDateFnsV3";
17
17
  import { A as oe, T as F, a as P, N as b } from "./Notification-ByMBpJ5u.mjs";
18
- import { u as D, r as T, o as w, c as se, e as ae, m as W, a as ce } from "./hooks-DkUqN6JE.mjs";
18
+ import { u as D, r as T, o as w, c as se, e as ae, m as W, a as ce } from "./hooks-CTieq90n.mjs";
19
19
  import { b as le } from "./Localization-2MODESHW.mjs";
20
20
  import { b as re, f as de } from "./NumberFormatting-CtWHhyBX.mjs";
21
21
  import { a as M } from "./Dialog-CWW597AF.mjs";
22
- import { C as me } from "./CurrencyInput-bEx2Mbd0.mjs";
22
+ import { C as me } from "./CurrencyInput-B6gF46iv.mjs";
23
23
  import { u as _e } from "./useScreenSize-B6JyS_Lj.mjs";
24
24
  import { D as J } from "./Drawer-kEE73B87.mjs";
25
25
  import he from "@mui/material/Collapse";
@@ -1,10 +1,10 @@
1
1
  import { makeAutoObservable as c, observable as f, runInAction as h } from "mobx";
2
2
  import { fromUnixTime as o, isSameDay as d } from "date-fns";
3
- import { F as l, A as n } from "./Fetch-CkFKy79O.mjs";
3
+ import { F as l, A as n } from "./Fetch-87LIQbEA.mjs";
4
4
  class s {
5
5
  fetchInstance;
6
- constructor(t, i) {
7
- this.fetchInstance = new l(t, i);
6
+ constructor(t, i, a) {
7
+ this.fetchInstance = new l(t, i, void 0, a);
8
8
  }
9
9
  getNotifications = () => this.fetchInstance.get(n.NOTIFICATIONS).then(
10
10
  (t) => t.notifications.map((i) => i.notification)
@@ -35,7 +35,11 @@ class A {
35
35
  notifications = [];
36
36
  recentNotifications = [];
37
37
  constructor(t) {
38
- this.globalStore = t, this.api = new s(t.endpoint, t.sessionToken), c(this, { notifications: f });
38
+ this.globalStore = t, this.api = new s(
39
+ t.endpoint,
40
+ t.sessionToken,
41
+ t.onError
42
+ ), c(this, { notifications: f });
39
43
  }
40
44
  // Used in Money Dashboard
41
45
  get newNotifications() {
@@ -2,10 +2,10 @@ import { jsx as o } from "react/jsx-runtime";
2
2
  import _ from "react";
3
3
  import { observer as p } from "mobx-react-lite";
4
4
  import v from "@mui/material/TextField";
5
- import { L as y } from "./ListItemAction-DNZZ5fSa.mjs";
6
- import { u as h, j as b } from "./hooks-DkUqN6JE.mjs";
5
+ import { L as y } from "./ListItemAction-CpYlo5Sh.mjs";
6
+ import { u as h, j as b } from "./hooks-CTieq90n.mjs";
7
7
  import { a as T, f as S } from "./NumberFormatting-CtWHhyBX.mjs";
8
- import { C as f } from "./CurrencyInput-bEx2Mbd0.mjs";
8
+ import { C as f } from "./CurrencyInput-B6gF46iv.mjs";
9
9
  const F = p(({ goal: e }) => {
10
10
  const { goals: a } = h(), { setAlert: r, setSelectedGoal: l, updateGoal: m } = b(), [t, s] = _.useState(e.interest_rate ?? 0), c = !e.guid, i = t < 0, d = async () => {
11
11
  const n = { ...e, interest_rate: t };
@@ -7,10 +7,10 @@ import R from "@mui/material/Tabs";
7
7
  import l from "@mui/material/Divider";
8
8
  import T from "@mui/material/List";
9
9
  import C from "@mui/material/Stack";
10
- import { R as x, A as S, a as E, M as A } from "./ManageIncome-DbsiKUoO.mjs";
11
- import { u as h, h as y, e as _ } from "./hooks-DkUqN6JE.mjs";
10
+ import { R as x, A as S, a as E, M as A } from "./ManageIncome-CGoLh7xs.mjs";
11
+ import { u as h, h as y, e as _ } from "./hooks-CTieq90n.mjs";
12
12
  import { R as v, F as N } from "./RepeatingTransaction-BW4J-jeJ.mjs";
13
- import { A as d } from "./WidgetContainer-CdBs9WOZ.mjs";
13
+ import { A as d } from "./WidgetContainer-C1NlG0pd.mjs";
14
14
  const I = u(() => {
15
15
  const { recurring: r } = h(), { repeatingTransactions: s } = y(), { onEvent: o } = _(), a = (n) => {
16
16
  o(d.RECURRING_TRANSACTIONS_CLICK_EXPENSE, {
@@ -1,20 +1,20 @@
1
1
  import { makeAutoObservable as f, runInAction as i } from "mobx";
2
2
  import { endOfMonth as R } from "date-fns/endOfMonth";
3
3
  import { isAfter as p } from "date-fns/isAfter";
4
- import { isBefore as S } from "date-fns/isBefore";
4
+ import { isBefore as I } from "date-fns/isBefore";
5
5
  import { isSameDay as g } from "date-fns/isSameDay";
6
6
  import { isWithinInterval as m } from "date-fns/isWithinInterval";
7
- import { startOfMonth as I } from "date-fns/startOfMonth";
7
+ import { startOfMonth as S } from "date-fns/startOfMonth";
8
8
  import { startOfToday as c } from "date-fns/startOfToday";
9
9
  import { subDays as y } from "date-fns/subDays";
10
- import { F as x, A as o } from "./Fetch-CkFKy79O.mjs";
11
- import { b as A, a, c as h, d as u } from "./RepeatingTransaction-BW4J-jeJ.mjs";
12
- var E = /* @__PURE__ */ ((r) => (r.Small = "small", r.Medium = "medium", r.Large = "large", r))(E || {});
10
+ import { F as x, A as o } from "./Fetch-87LIQbEA.mjs";
11
+ import { b as E, a, c as d, d as u } from "./RepeatingTransaction-BW4J-jeJ.mjs";
12
+ var A = /* @__PURE__ */ ((r) => (r.Small = "small", r.Medium = "medium", r.Large = "large", r))(A || {});
13
13
  const U = 44;
14
- class d {
14
+ class h {
15
15
  fetchInstance;
16
- constructor(e, t) {
17
- this.fetchInstance = new x(e, t);
16
+ constructor(e, t, n) {
17
+ this.fetchInstance = new x(e, t, void 0, n);
18
18
  }
19
19
  addRepeatingTransaction = async (e) => this.fetchInstance.post(o.REPEATING_TRANSACTIONS, e).then((t) => t.repeating_transaction);
20
20
  getRepeatingTransactions = async () => this.fetchInstance.get(o.REPEATING_TRANSACTIONS).then((e) => e.repeating_transactions);
@@ -27,21 +27,25 @@ class d {
27
27
  const l = (r, e) => m(e.expectedDate, r), s = (r, e) => r + e.amount;
28
28
  class C {
29
29
  globalStore;
30
- api = new d("/", "");
30
+ api = new h("/", "");
31
31
  transactions = [];
32
32
  repeatingTransactions = [];
33
33
  selectedDay;
34
- dateRange = { start: I(c()), end: R(c()) };
34
+ dateRange = { start: S(c()), end: R(c()) };
35
35
  isDataLoaded = !1;
36
36
  constructor(e) {
37
- this.globalStore = e, this.api = new d(e.endpoint, e.sessionToken), f(this);
37
+ this.globalStore = e, this.api = new h(
38
+ e.endpoint,
39
+ e.sessionToken,
40
+ e.onError
41
+ ), f(this);
38
42
  }
39
43
  /**
40
44
  * Returns all recurrences built from repeating transactions and filtered by accounts.
41
45
  */
42
46
  get recurrences() {
43
47
  const e = this.globalStore.accountStore.visibleAccounts;
44
- return A(this.repeatingTransactions, this.dateRange).filter((t) => e.some((n) => n.guid === t.accountGuid && !n.is_excluded_from_accounts)).filter((t) => m(t.expectedDate, this.dateRange));
48
+ return E(this.repeatingTransactions, this.dateRange).filter((t) => e.some((n) => n.guid === t.accountGuid && !n.is_excluded_from_accounts)).filter((t) => m(t.expectedDate, this.dateRange));
45
49
  }
46
50
  /**
47
51
  * Returns all recurrences that have occurred in the past, including those that are paid or missed
@@ -57,7 +61,7 @@ class C {
57
61
  */
58
62
  get upcomingRecurrences() {
59
63
  return this.recurrences.filter(
60
- (e) => p(e.expectedDate, y(c(), 3)) && S(e.expectedDate, this.dateRange.end) && e.status === a.Upcoming
64
+ (e) => p(e.expectedDate, y(c(), 3)) && I(e.expectedDate, this.dateRange.end) && e.status === a.Upcoming
61
65
  );
62
66
  }
63
67
  /**
@@ -65,7 +69,7 @@ class C {
65
69
  */
66
70
  get expenses() {
67
71
  return this.recurrences.filter(
68
- (e) => e.type === h.Expense
72
+ (e) => e.type === d.Expense
69
73
  );
70
74
  }
71
75
  /**
@@ -81,7 +85,7 @@ class C {
81
85
  */
82
86
  get income() {
83
87
  return this.recurrences.filter(
84
- (e) => e.type === h.Income
88
+ (e) => e.type === d.Income
85
89
  );
86
90
  }
87
91
  /**
@@ -258,6 +262,6 @@ class C {
258
262
  }
259
263
  export {
260
264
  C as R,
261
- E as S,
265
+ A as S,
262
266
  U as T
263
267
  };
@@ -1,24 +1,24 @@
1
1
  import { makeAutoObservable as N, runInAction as l } from "mobx";
2
- import { F as D, A as o } from "./Fetch-CkFKy79O.mjs";
2
+ import { F as D, A as r } from "./Fetch-87LIQbEA.mjs";
3
3
  import { B as f, A as n, I as i } from "./Notification-ByMBpJ5u.mjs";
4
- import { T as m } from "./TransactionApi-DbbcjI2L.mjs";
4
+ import { T as m } from "./TransactionApi-B3Tksf7L.mjs";
5
5
  class y {
6
6
  fetchInstance;
7
- constructor(e, t) {
8
- this.fetchInstance = new D(e, t);
7
+ constructor(e, t, o) {
8
+ this.fetchInstance = new D(e, t, void 0, o);
9
9
  }
10
- deleteDevice = async (e) => this.fetchInstance.delete(`${o.DEVICES}/${e}`).then((t) => t);
11
- generateDeviceToken = async () => this.fetchInstance.get(`${o.USER}/mobile_token`).then((e) => e.mobile_token);
12
- getDevices = async () => this.fetchInstance.get(o.DEVICES).then((e) => e.map((t) => t.device));
13
- getNotificationProfiles = async () => this.fetchInstance.get(o.NOTIFICATION_PROFILES).then((e) => e.notification_profiles);
10
+ deleteDevice = async (e) => this.fetchInstance.delete(`${r.DEVICES}/${e}`).then((t) => t);
11
+ generateDeviceToken = async () => this.fetchInstance.get(`${r.USER}/mobile_token`).then((e) => e.mobile_token);
12
+ getDevices = async () => this.fetchInstance.get(r.DEVICES).then((e) => e.map((t) => t.device));
13
+ getNotificationProfiles = async () => this.fetchInstance.get(r.NOTIFICATION_PROFILES).then((e) => e.notification_profiles);
14
14
  // verifications endpoints respond with HTTP status codes; they error otherwise
15
- sendEmailVerification = async () => this.fetchInstance.post(o.EMAIL_VERIFICATIONS);
16
- sendPhoneVerification = async () => this.fetchInstance.post(o.PHONE_VERIFICATIONS + "/deliver");
17
- verifyPhoneToken = async (e) => this.fetchInstance.post(o.PHONE_VERIFICATIONS + "/verify", { sms_verification_token: e }).then((t) => ({ verified: t.verified }));
18
- updateDevice = async (e) => this.fetchInstance.put(`${o.DEVICES}/${e.guid}`, e).then((t) => t.device);
19
- updateNotificationProfile = async (e) => this.fetchInstance.put(`${o.NOTIFICATION_PROFILES}/${e.guid}`, e).then((t) => t.notification_profile);
20
- updateUserCommunicationProfile = async (e) => this.fetchInstance.put(o.USER_COMMUNICATION_PROFILE, e).then((t) => t.user_communication_profile);
21
- getInsightsNotificationProfiles = async () => this.fetchInstance.get(`${o.NOTIFICATION_PROFILES}/${o.INSIGHTS_NOTIFICATION_PROFILES}`).then((e) => e);
15
+ sendEmailVerification = async () => this.fetchInstance.post(r.EMAIL_VERIFICATIONS);
16
+ sendPhoneVerification = async () => this.fetchInstance.post(r.PHONE_VERIFICATIONS + "/deliver");
17
+ verifyPhoneToken = async (e) => this.fetchInstance.post(r.PHONE_VERIFICATIONS + "/verify", { sms_verification_token: e }).then((t) => ({ verified: t.verified }));
18
+ updateDevice = async (e) => this.fetchInstance.put(`${r.DEVICES}/${e.guid}`, e).then((t) => t.device);
19
+ updateNotificationProfile = async (e) => this.fetchInstance.put(`${r.NOTIFICATION_PROFILES}/${e.guid}`, e).then((t) => t.notification_profile);
20
+ updateUserCommunicationProfile = async (e) => this.fetchInstance.put(r.USER_COMMUNICATION_PROFILE, e).then((t) => t.user_communication_profile);
21
+ getInsightsNotificationProfiles = async () => this.fetchInstance.get(`${r.NOTIFICATION_PROFILES}/${r.INSIGHTS_NOTIFICATION_PROFILES}`).then((e) => e);
22
22
  }
23
23
  const v = "PARENT-ENTITY", C = (s, e) => ({
24
24
  [f.BudgetExceeded]: e.notification_budget_exceeded,
@@ -53,7 +53,7 @@ const v = "PARENT-ENTITY", C = (s, e) => ({
53
53
  [i.TransactionExpenseLarge]: e.large_transaction,
54
54
  [i.PromotionalCampaignMessages]: e.promotional_campaign_messages,
55
55
  [i.TransparentOverdraft]: e.transparent_overdraft
56
- })[s] || "", R = (s, e, t, r, d, p) => {
56
+ })[s] || "", R = (s, e, t, o, d, p) => {
57
57
  const g = [], {
58
58
  email_notifications_enabled: I,
59
59
  sms_notifications_enabled: P,
@@ -61,15 +61,15 @@ const v = "PARENT-ENTITY", C = (s, e) => ({
61
61
  } = e, {
62
62
  opted_out_of_email_notifications: b,
63
63
  opted_out_of_sms_notifications: E,
64
- opted_out_of_push_notifications: S
64
+ opted_out_of_push_notifications: A
65
65
  } = d;
66
- for (const a of r.filter((u) => u.entity_guid === v)) {
67
- const u = C(a.notification_type, t), A = r.filter(
66
+ for (const a of o.filter((u) => u.entity_guid === v)) {
67
+ const u = C(a.notification_type, t), S = o.filter(
68
68
  (c) => c.entity_guid !== v && c.notification_type === a.notification_type && s.some((h) => h.guid === c.entity_guid)
69
69
  ), _ = [];
70
- I && !b && a.email_channel && p.email && _.push(t.delivery_method_email_label), P && !E && a.sms_channel && p.phone && _.push(t.delivery_method_sms_label), T && !S && a.push_channel && _.push(t.delivery_method_push_label), g.push({
70
+ I && !b && a.email_channel && p.email && _.push(t.delivery_method_email_label), P && !E && a.sms_channel && p.phone && _.push(t.delivery_method_sms_label), T && !A && a.push_channel && _.push(t.delivery_method_push_label), g.push({
71
71
  ...a,
72
- children: A.map((c) => ({
72
+ children: S.map((c) => ({
73
73
  ...c,
74
74
  account: s.find((h) => h.guid === c.entity_guid),
75
75
  label: u
@@ -90,7 +90,11 @@ class x {
90
90
  selectedRule = void 0;
91
91
  transactionRules = [];
92
92
  constructor(e) {
93
- this.globalStore = e, this.api = new y(e.endpoint, e.sessionToken), this.transactionApi = new m(e.endpoint, e.sessionToken), N(this);
93
+ this.globalStore = e, this.api = new y(e.endpoint, e.sessionToken, e.onError), this.transactionApi = new m(
94
+ e.endpoint,
95
+ e.sessionToken,
96
+ e.onError
97
+ ), N(this);
94
98
  }
95
99
  get accountProfiles() {
96
100
  const e = this.globalStore.appDataStore.clientCommunicationProfile;
@@ -131,7 +135,7 @@ class x {
131
135
  deleteDevice = async (e) => {
132
136
  try {
133
137
  await this.api.deleteDevice(e);
134
- const t = this.devices.findIndex((r) => r.guid === e);
138
+ const t = this.devices.findIndex((o) => o.guid === e);
135
139
  return t >= 0 && l(() => {
136
140
  this.devices.splice(t, 1);
137
141
  }), { success: !0 };
@@ -203,9 +207,9 @@ class x {
203
207
  };
204
208
  updateDevice = async (e) => {
205
209
  try {
206
- const t = await this.api.updateDevice(e), r = this.devices.findIndex((d) => d.guid === e.guid);
207
- return r >= 0 && l(() => {
208
- this.devices[r] = t;
210
+ const t = await this.api.updateDevice(e), o = this.devices.findIndex((d) => d.guid === e.guid);
211
+ return o >= 0 && l(() => {
212
+ this.devices[o] = t;
209
213
  }), { success: !0 };
210
214
  } catch (t) {
211
215
  return console.error(`Error updating device: ${t}`), { success: !1 };
@@ -213,9 +217,9 @@ class x {
213
217
  };
214
218
  updateNotificationProfile = async (e) => {
215
219
  try {
216
- const t = await this.api.updateNotificationProfile(e), r = this.notificationProfiles.findIndex((d) => d.guid === e.guid);
217
- r >= 0 && l(() => {
218
- this.notificationProfiles[r] = t;
220
+ const t = await this.api.updateNotificationProfile(e), o = this.notificationProfiles.findIndex((d) => d.guid === e.guid);
221
+ o >= 0 && l(() => {
222
+ this.notificationProfiles[o] = t;
219
223
  });
220
224
  } catch (t) {
221
225
  console.error(`Error updating notification profile: ${t}`);
@@ -1,8 +1,8 @@
1
- import { F as T, A as e } from "./Fetch-CkFKy79O.mjs";
1
+ import { F as T, A as e } from "./Fetch-87LIQbEA.mjs";
2
2
  class u {
3
3
  fetchInstance;
4
- constructor(t, n) {
5
- this.fetchInstance = new T(t, n);
4
+ constructor(t, n, a) {
5
+ this.fetchInstance = new T(t, n, void 0, a);
6
6
  }
7
7
  addTag = async (t) => this.fetchInstance.post(e.TAGS, t).then((n) => n.tag);
8
8
  addTagging = async (t) => this.fetchInstance.post(e.TAGGINGS, t).then((n) => n.tagging);
@@ -11,45 +11,45 @@ class u {
11
11
  getTaggings = async () => this.fetchInstance.get(e.TAGGINGS).then((t) => t.map((n) => n.tagging));
12
12
  getTags = async () => this.fetchInstance.get(e.TAGS).then((t) => t.map((n) => n.tag));
13
13
  getTransactionRules = async () => this.fetchInstance.get(e.TRANSACTION_RULES).then((t) => t.transaction_rules);
14
- getTransactionsByDateRange = async (t, n) => this.fetchInstance.get(`${e.TRANSACTIONS}/by_date/${t}/${n}`).then((c) => c.map((a) => a.transaction));
14
+ getTransactionsByDateRange = async (t, n) => this.fetchInstance.get(`${e.TRANSACTIONS}/by_date/${t}/${n}`).then((a) => a.map((s) => s.transaction));
15
15
  // DEPRECATED
16
- getTransactionsByAccountsAndDateRange = async (t, n, c) => {
16
+ getTransactionsByAccountsAndDateRange = async (t, n, a) => {
17
17
  console.warn("DEPRECATED: getTransactionsByAccountsAndDateRange will be removed");
18
- const a = t.reduce(
19
- (o, s, r) => `${o}account_guids[]=${s}${r !== t.length - 1 ? "&" : ""}`,
18
+ const s = t.reduce(
19
+ (o, c, r) => `${o}account_guids[]=${c}${r !== t.length - 1 ? "&" : ""}`,
20
20
  ""
21
21
  );
22
- return this.fetchInstance.get(`${e.TRANSACTIONS}/by_date/${n}/${c}?${a}`).then((o) => o.map((s) => s.transaction));
22
+ return this.fetchInstance.get(`${e.TRANSACTIONS}/by_date/${n}/${a}?${s}`).then((o) => o.map((c) => c.transaction));
23
23
  };
24
24
  // DEPRECATED
25
- getTransactionsByGuids = async (t) => (console.warn("DEPRECATED: getTransactionsByGuids will be removed"), this.fetchInstance.post(`${e.TRANSACTIONS}/by_guids`, { guids: t.join("+") }).then((n) => n.map((c) => c.transaction)));
25
+ getTransactionsByGuids = async (t) => (console.warn("DEPRECATED: getTransactionsByGuids will be removed"), this.fetchInstance.post(`${e.TRANSACTIONS}/by_guids`, { guids: t.join("+") }).then((n) => n.map((a) => a.transaction)));
26
26
  // DEPRECATED
27
- getTransactionsByCategoryAndDate = async (t, n, c) => (console.warn("DEPRECATED: getTransactionsByCategoryAndDate will be removed"), this.fetchInstance.get(
28
- `${e.TRANSACTIONS}/by_category_guid/${t}/by_date/${n}/${c}`
29
- ).then((a) => a.map((o) => o.transaction)));
27
+ getTransactionsByCategoryAndDate = async (t, n, a) => (console.warn("DEPRECATED: getTransactionsByCategoryAndDate will be removed"), this.fetchInstance.get(
28
+ `${e.TRANSACTIONS}/by_category_guid/${t}/by_date/${n}/${a}`
29
+ ).then((s) => s.map((o) => o.transaction)));
30
30
  // DEPRECATED
31
- getTransactionsByCategoryDateAndAccounts = async (t, n, c, a) => {
31
+ getTransactionsByCategoryDateAndAccounts = async (t, n, a, s) => {
32
32
  console.warn("DEPRECATED: getTransactionsByCategoryDateAndAccounts will be removed");
33
- const o = a.reduce(
34
- (s, r, i) => `${s}account_guids[]=${r}${i !== a.length - 1 ? "&" : ""}`,
33
+ const o = s.reduce(
34
+ (c, r, i) => `${c}account_guids[]=${r}${i !== s.length - 1 ? "&" : ""}`,
35
35
  ""
36
36
  );
37
37
  return this.fetchInstance.get(
38
- `${e.TRANSACTIONS}/by_category_guid/${t}/by_date/${n}/${c}?${o}`
39
- ).then((s) => s.map((r) => r.transaction));
38
+ `${e.TRANSACTIONS}/by_category_guid/${t}/by_date/${n}/${a}?${o}`
39
+ ).then((c) => c.map((r) => r.transaction));
40
40
  };
41
41
  // DEPRECATED
42
- getTransactionsByCategoriesDateAndAccounts = async (t, n, c, a) => {
42
+ getTransactionsByCategoriesDateAndAccounts = async (t, n, a, s) => {
43
43
  console.warn("DEPRECATED: getTransactionsByCategoriesDateAndAccounts will be removed");
44
- const o = a.reduce(
45
- (s, r, i) => `${s}account_guids[]=${r}${i !== a.length - 1 ? "&" : ""}`,
44
+ const o = s.reduce(
45
+ (c, r, i) => `${c}account_guids[]=${r}${i !== s.length - 1 ? "&" : ""}`,
46
46
  ""
47
47
  );
48
48
  return this.fetchInstance.get(
49
49
  `${e.TRANSACTIONS}/by_category_guids/${t.join(
50
50
  "+"
51
- )}/by_date/${n}/${c}?${o}`
52
- ).then((s) => s.map((r) => r.transaction));
51
+ )}/by_date/${n}/${a}?${o}`
52
+ ).then((c) => c.map((r) => r.transaction));
53
53
  };
54
54
  /**
55
55
  * DEPRECATED
@@ -60,17 +60,17 @@ class u {
60
60
  * @param endDate the end date
61
61
  * @param accountGuids an optional list of account guids
62
62
  */
63
- getTransactionsByTopLevelCategoryAndDate = async (t, n, c, a = []) => {
63
+ getTransactionsByTopLevelCategoryAndDate = async (t, n, a, s = []) => {
64
64
  console.warn("DEPRECATED: getTransactionsByTopLevelCategoryAndDate will be removed");
65
- let o = `${e.TRANSACTIONS}/by_top_level_category_guid/${t}/by_date/${n}/${c}`;
66
- if (a.length > 0) {
67
- const s = a.reduce(
68
- (r, i, g) => `${r}account_guids[]=${i}${g !== a.length - 1 ? "&" : ""}`,
65
+ let o = `${e.TRANSACTIONS}/by_top_level_category_guid/${t}/by_date/${n}/${a}`;
66
+ if (s.length > 0) {
67
+ const c = s.reduce(
68
+ (r, i, g) => `${r}account_guids[]=${i}${g !== s.length - 1 ? "&" : ""}`,
69
69
  ""
70
70
  );
71
- o += `?${s}`;
71
+ o += `?${c}`;
72
72
  }
73
- return this.fetchInstance.get(o).then((s) => s.map((r) => r.transaction));
73
+ return this.fetchInstance.get(o).then((c) => c.map((r) => r.transaction));
74
74
  };
75
75
  removeTag = async (t) => this.fetchInstance.delete(`${e.TAGS}/${t}`).then((n) => n);
76
76
  removeTagging = async (t) => this.fetchInstance.delete(`${e.TAGGINGS}/${t}`).then((n) => n);
@@ -9,15 +9,15 @@ import { MerchantLogo as pe, Icon as S, Text as T, useTokens as ee, CategoryIcon
9
9
  import B from "@mui/material/ListItemAvatar";
10
10
  import M from "@mui/material/ListItemText";
11
11
  import f from "@mui/material/Stack";
12
- import { T as Pe, L as Ge, O as h, C as Me, b as Ke, i as $e } from "./User-Dq9Qj764.mjs";
13
- import { G as Be, f as v, u as A, e as L, k as xe, a as Fe, o as He } from "./hooks-DkUqN6JE.mjs";
12
+ import { T as Pe, L as Ge, O as h, C as Me, b as Ke, i as $e } from "./User-DD7Pb2ze.mjs";
13
+ import { G as Be, f as v, u as A, e as L, k as xe, a as Fe, o as He } from "./hooks-CTieq90n.mjs";
14
14
  import { f as te } from "./NumberFormatting-CtWHhyBX.mjs";
15
15
  import { Receipt as ze, Delete as oe, ChevronRight as Ue, Cancel as ie, Search as Xe, Edit as Ve, Flag as We } from "@mxenabled/mx-icons";
16
16
  import { fromUnixTime as W } from "date-fns/fromUnixTime";
17
17
  import { isSameDay as Ne } from "date-fns/isSameDay";
18
18
  import { h as Ye } from "./DateUtil-BcuH7ErC.mjs";
19
19
  import { L as Ie } from "./Loader-DUaFpDGv.mjs";
20
- import { A as P } from "./WidgetContainer-CdBs9WOZ.mjs";
20
+ import { A as P } from "./WidgetContainer-C1NlG0pd.mjs";
21
21
  import ne from "@mui/material/Paper";
22
22
  import ce from "@mui/material/Button";
23
23
  import je from "@mui/material/FormGroup";
@@ -30,14 +30,14 @@ import F from "@mui/material/ListItem";
30
30
  import { a as V, f as Ee, D as Oe } from "./Dialog-CWW597AF.mjs";
31
31
  import U from "@mui/material/ListItemButton";
32
32
  import X from "@mui/material/ListItemIcon";
33
- import { a as we } from "./CategorySelectorDrawer-BJ9jlCyt.mjs";
33
+ import { a as we } from "./CategorySelectorDrawer-B-W3eXHU.mjs";
34
34
  import { b as se } from "./Localization-2MODESHW.mjs";
35
35
  import { getUnixTime as Ze } from "date-fns/getUnixTime";
36
36
  import { D as de } from "./Drawer-kEE73B87.mjs";
37
37
  import ye from "@mui/material/InputAdornment";
38
38
  import Je from "@mui/material/Checkbox";
39
39
  import ge from "@mui/material/Grid";
40
- import { C as Qe } from "./CurrencyInput-bEx2Mbd0.mjs";
40
+ import { C as Qe } from "./CurrencyInput-B6gF46iv.mjs";
41
41
  import et from "@mui/material/Switch";
42
42
  var q = /* @__PURE__ */ ((t) => (t[t.Category = 0] = "Category", t[t.Date = 1] = "Date", t[t.Memo = 2] = "Memo", t[t.Tags = 3] = "Tags", t))(q || {}), re = /* @__PURE__ */ ((t) => (t[t.SplitTransaction = 0] = "SplitTransaction", t[t.HideTransaction = 1] = "HideTransaction", t[t.MerchantLogo = 2] = "MerchantLogo", t))(re || {});
43
43
  const tt = [
@@ -11,29 +11,29 @@ import { fromUnixTime as u } from "date-fns/fromUnixTime";
11
11
  import { getUnixTime as h } from "date-fns/getUnixTime";
12
12
  import { isBefore as B } from "date-fns/isBefore";
13
13
  import { startOfMonth as R } from "date-fns/startOfMonth";
14
- import { startOfToday as b } from "date-fns/startOfToday";
14
+ import { startOfToday as G } from "date-fns/startOfToday";
15
15
  import { subDays as Y } from "date-fns/subDays";
16
- import { O as n, a as G, T as F } from "./User-Dq9Qj764.mjs";
17
- import { T as p } from "./TransactionApi-DbbcjI2L.mjs";
16
+ import { O as n, a as b, T as F } from "./User-DD7Pb2ze.mjs";
17
+ import { T as p } from "./TransactionApi-B3Tksf7L.mjs";
18
18
  import { b as W } from "./Category-CevNQ03n.mjs";
19
- import { f as z } from "./exportTransactionsToCSV-B5qAKd6C.mjs";
19
+ import { f as z } from "./exportTransactionsToCSV-Ch_T5Xhk.mjs";
20
20
  import { format as k } from "date-fns/format";
21
21
  import { f as g, D as O, O as $ } from "./Dialog-CWW597AF.mjs";
22
22
  import { endOfMonth as X } from "date-fns/endOfMonth";
23
- import { B as f } from "./BeatApi-DLu87ijw.mjs";
23
+ import { B as f } from "./BeatApi-DhJpgCLz.mjs";
24
24
  const j = ({
25
- checked: S = !1,
25
+ checked: N = !1,
26
26
  label: t,
27
27
  sx: a = {},
28
28
  tooltip: e = "",
29
29
  value: A
30
30
  }) => {
31
- const _ = K(), i = _.palette.mode === "light" ? _.palette.grey[400] : _.palette.grey[700], c = S ? _.palette.action.active : i;
31
+ const _ = K(), i = _.palette.mode === "light" ? _.palette.grey[400] : _.palette.grey[700], c = N ? _.palette.action.active : i;
32
32
  return /* @__PURE__ */ C(
33
33
  H,
34
34
  {
35
35
  bgcolor: "background.paper",
36
- border: `${S ? 3 : 1}px solid`,
36
+ border: `${N ? 3 : 1}px solid`,
37
37
  borderColor: c,
38
38
  borderRadius: 2,
39
39
  mt: -2,
@@ -322,14 +322,14 @@ const j = ({
322
322
  category: o.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
+ }, Z = async (N, t) => !t || !m[N] ? null : t.sendAnalyticEvent(m[N]), 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 = []) => {
332
+ }, q = (N, t, a, e = []) => {
333
333
  const A = t.reduce((c, s) => ({ ...c, [s.guid]: s }), {}), _ = a.reduce((c, s) => ({ ...c, [s.guid]: s }), {}), i = e.reduce((c, s) => {
334
334
  const { transaction_guid: l, tag_guid: I } = s;
335
335
  if (!c[l])
@@ -343,7 +343,7 @@ const j = ({
343
343
  [l]: E
344
344
  };
345
345
  }, {});
346
- return S.map((c) => {
346
+ return N.map((c) => {
347
347
  const s = A[c.account_guid], l = c.category_guid ? _[c.category_guid] : null, I = i[c.guid] ?? [];
348
348
  return {
349
349
  ...c,
@@ -352,42 +352,42 @@ const j = ({
352
352
  accountIsHidden: s?.is_hidden,
353
353
  category: l?.name || "Uncategorized",
354
354
  isIncome: c.top_level_category_guid === W.INCOME,
355
- isPending: c.feed_status === G.PENDING,
355
+ isPending: c.feed_status === b.PENDING,
356
356
  number: s?.account_number || "",
357
357
  payee: c.description,
358
358
  tags: I
359
359
  };
360
360
  });
361
- }, J = "uncategorized", Q = (S, t, a, e, A, _) => {
362
- const i = tt(S, A, _), c = at(i, a, e);
361
+ }, J = "uncategorized", Q = (N, t, a, e, A, _) => {
362
+ const i = tt(N, A, _), c = at(i, a, e);
363
363
  return t.forEach((s) => {
364
364
  const l = c.findIndex((E) => E.guid === s), I = _.filter((E) => E.parent_guid === s);
365
365
  c.splice(l + 1, 0, ...I);
366
366
  }), c;
367
- }, tt = (S, t, a) => {
367
+ }, tt = (N, t, a) => {
368
368
  const {
369
369
  accounts: e = [],
370
- dateRange: A = { start: R(b()), end: D() },
370
+ dateRange: A = { start: R(G()), end: D() },
371
371
  custom: _ = () => !0,
372
372
  searchTerm: i = "",
373
373
  showSplits: c = !1
374
- } = S;
374
+ } = N;
375
375
  return a.filter((s) => c ? !s.has_been_split : !s.parent_guid).filter((s) => !!e.find((l) => l === s.account_guid)).filter((s) => s.date >= h(A.start) && s.date <= h(A.end)).filter(_).filter((s) => {
376
376
  if (i === J && s.has_been_split)
377
377
  return !1;
378
378
  if (/^spl/i.test(i) && (s.has_been_split || s.parent_guid))
379
379
  return !0;
380
380
  const I = s.tags.some(
381
- (x) => N(i, t.find((M) => M.guid === x)?.name)
381
+ (x) => S(i, t.find((M) => M.guid === x)?.name)
382
382
  ), E = u(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;
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;
384
384
  });
385
- }, at = (S, t, a) => [...S].sort((e, A) => {
385
+ }, at = (N, t, a) => [...N].sort((e, A) => {
386
386
  const _ = t, i = (e[_] || "") > (A[_] || "");
387
387
  let c = i ? -1 : 1, s = i ? 1 : -1;
388
388
  return (t === L.DATE || t === L.AMOUNT) && (c = i ? 1 : -1, s = i ? -1 : 1), a === w.ASC ? c : s;
389
- }), N = (S, t) => {
390
- const a = S.toLowerCase().split(" "), e = t?.toString().toLowerCase() ?? "";
389
+ }), S = (N, t) => {
390
+ const a = N.toLowerCase().split(" "), e = t?.toString().toLowerCase() ?? "";
391
391
  return a.every((A) => e.indexOf(A) > -1);
392
392
  }, et = {
393
393
  account_guid: "",
@@ -397,7 +397,7 @@ const j = ({
397
397
  description: "",
398
398
  duplicate: !1,
399
399
  feed_description: "",
400
- feed_status: G.POSTED,
400
+ feed_status: b.POSTED,
401
401
  feed_transaction_date: 0,
402
402
  has_been_split: !1,
403
403
  has_been_viewed: !1,
@@ -465,7 +465,7 @@ class mt {
465
465
  api = new p("/", "");
466
466
  beatApi = new f("/", "");
467
467
  associatedBeats = [];
468
- cachedStartDate = Y(b(), 90);
468
+ cachedStartDate = Y(G(), 90);
469
469
  filter = {};
470
470
  isLoading = !0;
471
471
  rawTransactions = [];
@@ -476,7 +476,11 @@ class mt {
476
476
  transactionRules = [];
477
477
  onAnalyticEvent = Z;
478
478
  constructor(t) {
479
- this.globalStore = t, this.uiStore = new it(), this.api = new p(t.endpoint, t.sessionToken), this.beatApi = new f(t.endpoint, t.sessionToken), y(this);
479
+ this.globalStore = t, this.uiStore = new it(), this.api = new p(
480
+ t.endpoint,
481
+ t.sessionToken,
482
+ t.onError
483
+ ), this.beatApi = new f(t.endpoint, t.sessionToken, t.onError), y(this);
480
484
  }
481
485
  loadTransactionData = async ({
482
486
  associatedBeats: t,