@mx-cartographer/experiences 6.26.18-alpha.mega4 → 6.26.18-alpha.sms1

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 (97) hide show
  1. package/dist/common/context/hooks.d.ts +13 -13
  2. package/dist/help/components/content/section/index.d.ts +15 -15
  3. package/dist/index.d.ts +22 -0
  4. package/dist/index.es.js +30335 -0
  5. package/dist/index.es.js.map +1 -0
  6. package/package.json +3 -155
  7. package/dist/Account-DM32_5k9.mjs +0 -30
  8. package/dist/AccountDetailsContent-B_qRSB8l.mjs +0 -677
  9. package/dist/AccountDetailsHeader-CAm6ADMq.mjs +0 -119
  10. package/dist/AccountFields-Bb4pds0q.mjs +0 -135
  11. package/dist/AccountListItem-G7iAesaO.mjs +0 -90
  12. package/dist/AccountStore-RSanus_m.mjs +0 -230
  13. package/dist/Accounts-BfAQRG8R.mjs +0 -9
  14. package/dist/BeatApi-DLu87ijw.mjs +0 -21
  15. package/dist/BeatStore-By4aGoRM.mjs +0 -81
  16. package/dist/BudgetUtil-DcqclhiQ.mjs +0 -101
  17. package/dist/CashflowStore-D9Dpuz7X.mjs +0 -91
  18. package/dist/Category-5S6uwuXz.mjs +0 -301
  19. package/dist/CategorySelectorDrawer-DgrePTRg.mjs +0 -397
  20. package/dist/CategoryStore-B5EW6I1d.mjs +0 -183
  21. package/dist/CategoryUtil-DRyruNgi.mjs +0 -78
  22. package/dist/ConnectDrawer-DPnfeIfn.mjs +0 -508
  23. package/dist/ConnectionsDrawer-BCzpuNsK.mjs +0 -52
  24. package/dist/CurrencyInput-DzsPiUsU.mjs +0 -83
  25. package/dist/CurrencyText-YUhH2caW.mjs +0 -20
  26. package/dist/DateUtil-BcuH7ErC.mjs +0 -48
  27. package/dist/DebtsStore-C6VcBnpG.mjs +0 -60
  28. package/dist/Dialog-CWW597AF.mjs +0 -123
  29. package/dist/Donut-1UMNcG67.mjs +0 -57
  30. package/dist/Drawer-kEE73B87.mjs +0 -113
  31. package/dist/EmptyState-Dcb-o2tl.mjs +0 -55
  32. package/dist/Fetch-CkFKy79O.mjs +0 -116
  33. package/dist/FinstrongStore-mkALvztw.mjs +0 -101
  34. package/dist/GoalStore-DyCr4wNc.mjs +0 -263
  35. package/dist/HeaderCell-DjuifqHJ.mjs +0 -6
  36. package/dist/Help-DhcC-C05.mjs +0 -320
  37. package/dist/Help-toqAK5eD.mjs +0 -3173
  38. package/dist/IconBacking-B9oC6uL2.mjs +0 -39
  39. package/dist/InvestmentUtil-jOyOgzIB.mjs +0 -134
  40. package/dist/LineChart-CQWu5KoO.mjs +0 -403
  41. package/dist/ListItemAction-Df3OPMOW.mjs +0 -69
  42. package/dist/Loader-Dp1P2gNw.mjs +0 -14
  43. package/dist/Localization-2MODESHW.mjs +0 -30
  44. package/dist/ManageIncome-BVt_XQbo.mjs +0 -535
  45. package/dist/MerchantStore-DVH-QOf0.mjs +0 -37
  46. package/dist/MicroWidgetContainer-DaLW43tE.mjs +0 -45
  47. package/dist/MiniWidgetContainer-BcNPxZt2.mjs +0 -39
  48. package/dist/NetWorthStore-DE8CQBMM.mjs +0 -150
  49. package/dist/Notification-AMGWM1Al.mjs +0 -78
  50. package/dist/NotificationSettings-CPZN0l8X.mjs +0 -667
  51. package/dist/NotificationStore-DHtSGySy.mjs +0 -67
  52. package/dist/NumberFormatting-CtWHhyBX.mjs +0 -40
  53. package/dist/OriginalBalanceAction-s9sUxofR.mjs +0 -115
  54. package/dist/RecurringSettings-DIEsympT.mjs +0 -57
  55. package/dist/RecurringTransactionsStore-BKLD3OWo.mjs +0 -263
  56. package/dist/RepeatingTransaction-BPWfaB3f.mjs +0 -282
  57. package/dist/SearchBox-B2_zLv8-.mjs +0 -42
  58. package/dist/SettingsStore-CE7jDVFL.mjs +0 -265
  59. package/dist/SingleSegmentDonut-BgbLgwHi.mjs +0 -69
  60. package/dist/SpendingData-ByFCw95X.mjs +0 -53
  61. package/dist/StatusBar-BK_uYHAB.mjs +0 -30
  62. package/dist/TabContentContainer-j01JYR_7.mjs +0 -21
  63. package/dist/Transaction-C-5-Iuab.mjs +0 -312
  64. package/dist/TransactionApi-DbbcjI2L.mjs +0 -86
  65. package/dist/TransactionDetails-B5qfs9Zh.mjs +0 -1283
  66. package/dist/TransactionStore-BWi6_2Ny.mjs +0 -669
  67. package/dist/TrendsStore-Borh98aN.mjs +0 -448
  68. package/dist/ViewMoreMicroCard-CAPFNz-J.mjs +0 -1959
  69. package/dist/WidgetContainer-CmGNZW0M.mjs +0 -548
  70. package/dist/accounts/index.es.js +0 -752
  71. package/dist/analytics/index.es.js +0 -171
  72. package/dist/budgets/index.es.js +0 -1070
  73. package/dist/cashflow/index.es.js +0 -1098
  74. package/dist/categories/index.es.js +0 -9
  75. package/dist/common/index.es.js +0 -1451
  76. package/dist/dashboard/index.es.js +0 -181
  77. package/dist/debts/index.es.js +0 -1460
  78. package/dist/exportTransactionsToCSV-j4g8bdVZ.mjs +0 -47
  79. package/dist/finstrong/index.es.js +0 -1455
  80. package/dist/goals/index.es.js +0 -1209
  81. package/dist/help/index.es.js +0 -14
  82. package/dist/hooks-ClhFlg78.mjs +0 -71
  83. package/dist/insights/index.d.ts +0 -1
  84. package/dist/insights/index.es.js +0 -4
  85. package/dist/investments/index.es.js +0 -1638
  86. package/dist/merchants/index.es.js +0 -79
  87. package/dist/microinsights/index.es.js +0 -16
  88. package/dist/networth/index.es.js +0 -542
  89. package/dist/notifications/index.es.js +0 -192
  90. package/dist/recurringtransactions/index.es.js +0 -879
  91. package/dist/settings/index.es.js +0 -879
  92. package/dist/spending/index.es.js +0 -570
  93. package/dist/transactions/index.es.js +0 -587
  94. package/dist/trends/index.es.js +0 -1103
  95. package/dist/useCombineEvents-DaDBSR_1.mjs +0 -92
  96. package/dist/useDimensions-27p2evRx.mjs +0 -36
  97. package/dist/useScreenSize-B6JyS_Lj.mjs +0 -36
@@ -1,669 +0,0 @@
1
- import { jsx as C } from "react/jsx-runtime";
2
- import H from "@mui/material/Box";
3
- import P from "@mui/material/FormControlLabel";
4
- import U from "@mui/material/Radio";
5
- import K from "@mui/material/styles/useTheme";
6
- import V from "@mui/material/Tooltip";
7
- import { makeAutoObservable as y, runInAction as d } from "mobx";
8
- import { endOfToday as D } from "date-fns/endOfToday";
9
- import { formatISO as v } 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 B } from "date-fns/isBefore";
13
- import { startOfMonth as R } from "date-fns/startOfMonth";
14
- import { startOfToday as G } from "date-fns/startOfToday";
15
- import { subDays as Y } from "date-fns/subDays";
16
- import { O as n, a as b, T as F } from "./Transaction-C-5-Iuab.mjs";
17
- import { T as p } from "./TransactionApi-DbbcjI2L.mjs";
18
- import { c as W } from "./Category-5S6uwuXz.mjs";
19
- import { f as z } from "./exportTransactionsToCSV-j4g8bdVZ.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";
23
- import { B as f } from "./BeatApi-DLu87ijw.mjs";
24
- const j = ({
25
- checked: S = !1,
26
- label: t,
27
- sx: a = {},
28
- tooltip: e = "",
29
- value: A
30
- }) => {
31
- const _ = K(), i = _.palette.mode === "light" ? _.palette.grey[400] : _.palette.grey[700], c = S ? _.palette.action.active : i;
32
- return /* @__PURE__ */ C(
33
- H,
34
- {
35
- bgcolor: "background.paper",
36
- border: `${S ? 3 : 1}px solid`,
37
- borderColor: c,
38
- borderRadius: 2,
39
- mt: -2,
40
- mx: 8,
41
- pr: 8,
42
- py: 4,
43
- sx: { "&:hover": { borderColor: _.palette.action.active }, ...a },
44
- children: /* @__PURE__ */ C(V, { title: e, children: /* @__PURE__ */ C(
45
- P,
46
- {
47
- control: /* @__PURE__ */ C(
48
- U,
49
- {
50
- disableRipple: !0,
51
- sx: { "&.Mui-checked": { color: _.palette.action.active } }
52
- }
53
- ),
54
- label: t,
55
- labelPlacement: "start",
56
- sx: { ml: 0, pl: 8 },
57
- value: A
58
- }
59
- ) })
60
- }
61
- );
62
- }, ft = j, w = {
63
- ASC: "ASC",
64
- DESC: "DESC",
65
- DIRECTION: {
66
- ASC: "ascending",
67
- DESC: "descending"
68
- },
69
- ALIGN: {
70
- center: "center",
71
- left: "flex-start",
72
- right: "flex-end"
73
- }
74
- }, T = {
75
- ADD: "Add",
76
- ADD_CATEGORY: "Add Category",
77
- CHANGE_CATEGORY: "Change Category",
78
- CHANGE_DATE: "Change Date",
79
- CLOSE: "Close",
80
- DELETE: "Delete",
81
- EDIT: "Edit",
82
- HIDE: "Hide",
83
- SAVE: "Save",
84
- SPLIT: "Split",
85
- SELECT: "Select",
86
- UNHIDE: "Unhide",
87
- UNSPLIT: "Unsplit"
88
- }, o = {
89
- TRANSACTION_DETAILS: "Transaction Details",
90
- TRANSACTIONS_LIST: "Transactions List",
91
- TRANSACTIONS_WIDGET: "Transactions Widget"
92
- }, r = {
93
- ADD_TRANSACTION: "Manual Transaction",
94
- CATEGORY: "Category",
95
- DATE: "Date",
96
- DELETE_MERCHANT_LOGO: "Merchant Logo",
97
- DELETE_TRANSACTION: "Delete Transaction",
98
- DESCRIPTION: "Description",
99
- EXPORT_CSV: "Export CSV",
100
- FLAG: "Flag",
101
- HIDE_TRANSACTION: "Hide Transaction",
102
- MEMO: "Memo",
103
- SPLITS: "Split Transactions",
104
- TAGS: "Tags",
105
- TAG_ADD: "Add Tag",
106
- TAG_DELETE: "Delete Tag",
107
- TAG_EDIT: "Edit Tag",
108
- TRANSACTION: "Transaction",
109
- TRANSACTIONS_LIST: "Transactions List",
110
- UNHIDE_TRANSACTION: "Unhide Transaction"
111
- }, m = {
112
- // splits
113
- [n.ON_TRANSACTION_SPLIT_CLICK]: {
114
- action: T.SELECT,
115
- category: o.TRANSACTION_DETAILS,
116
- label: r.SPLITS
117
- },
118
- [n.ON_TRANSACTION_SPLIT_CATEGORY_CLICK]: {
119
- action: T.ADD_CATEGORY,
120
- category: o.TRANSACTION_DETAILS,
121
- label: r.SPLITS
122
- },
123
- [n.ON_TRANSACTION_SPLIT_DELETE_CLICK]: {
124
- action: T.DELETE,
125
- category: o.TRANSACTION_DETAILS,
126
- label: r.SPLITS
127
- },
128
- [n.ON_TRANSACTION_SPLIT_SAVE_CLICK]: {
129
- action: T.SPLIT,
130
- category: o.TRANSACTION_DETAILS,
131
- label: r.SPLITS
132
- },
133
- [n.ON_TRANSACTION_UNSPLIT]: {
134
- action: T.UNSPLIT,
135
- category: o.TRANSACTION_DETAILS,
136
- label: r.SPLITS
137
- },
138
- // category
139
- [n.ON_TRANSACTION_CATEGORY_CLICK]: {
140
- action: T.SELECT,
141
- category: o.TRANSACTIONS_LIST,
142
- label: r.CATEGORY
143
- },
144
- [n.ON_TRANSACTION_CATEGORY_CHANGED]: {
145
- action: T.CHANGE_CATEGORY,
146
- category: o.TRANSACTION_DETAILS,
147
- label: r.CATEGORY
148
- },
149
- // date
150
- [n.ON_TRANSACTION_DATE_CHANGED]: {
151
- action: T.SAVE,
152
- category: o.TRANSACTION_DETAILS,
153
- label: r.DATE
154
- },
155
- [n.ON_TRANSACTION_DATE_CLICK]: {
156
- action: T.SELECT,
157
- category: o.TRANSACTION_DETAILS,
158
- label: r.DATE
159
- },
160
- // merchant logo
161
- [n.ON_TRANSACTION_DELETE_LOGO_CANCEL]: {
162
- action: T.CLOSE,
163
- category: o.TRANSACTION_DETAILS,
164
- label: r.DELETE_MERCHANT_LOGO
165
- },
166
- [n.ON_TRANSACTION_DELETE_LOGO_CLICK]: {
167
- action: T.SELECT,
168
- category: o.TRANSACTION_DETAILS,
169
- label: r.DELETE_MERCHANT_LOGO
170
- },
171
- [n.ON_TRANSACTION_DELETE_LOGO_DELETED]: {
172
- action: T.DELETE,
173
- category: o.TRANSACTION_DETAILS,
174
- label: r.DELETE_MERCHANT_LOGO
175
- },
176
- // description
177
- [n.ON_TRANSACTION_DESCRIPTION_EDIT_CLICK]: {
178
- action: T.EDIT,
179
- category: o.TRANSACTION_DETAILS,
180
- label: r.DESCRIPTION
181
- },
182
- [n.ON_TRANSACTION_DESCRIPTION_SAVE_CLICK]: {
183
- action: T.SAVE,
184
- category: o.TRANSACTION_DETAILS,
185
- label: r.DESCRIPTION
186
- },
187
- // hide transactions
188
- [n.ON_TRANSACTION_HIDDEN]: {
189
- action: T.SAVE,
190
- category: o.TRANSACTION_DETAILS,
191
- label: r.HIDE_TRANSACTION
192
- },
193
- [n.ON_TRANSACTION_HIDE_CLICK]: {
194
- action: T.SELECT,
195
- category: o.TRANSACTION_DETAILS,
196
- label: r.HIDE_TRANSACTION
197
- },
198
- [n.ON_TRANSACTION_HIDE_CANCEL_CLICK]: {
199
- action: T.CLOSE,
200
- category: o.TRANSACTION_DETAILS,
201
- label: r.HIDE_TRANSACTION
202
- },
203
- // transaction list
204
- [n.ON_TRANSACTION_LIST_ITEM_CLICK]: {
205
- action: T.SELECT,
206
- category: o.TRANSACTIONS_LIST,
207
- label: r.TRANSACTION
208
- },
209
- // memo
210
- [n.ON_TRANSACTION_MEMO_CHANGED]: {
211
- action: T.SAVE,
212
- category: o.TRANSACTION_DETAILS,
213
- label: r.MEMO
214
- },
215
- [n.ON_TRANSACTION_MEMO_CLICK]: {
216
- action: T.SELECT,
217
- category: o.TRANSACTION_DETAILS,
218
- label: r.MEMO
219
- },
220
- // tags
221
- [n.ON_TRANSACTION_TAGS_CHANGED]: {
222
- action: T.SAVE,
223
- category: o.TRANSACTION_DETAILS,
224
- label: r.TAGS
225
- },
226
- [n.ON_TRANSACTION_TAGS_CLICK]: {
227
- action: T.SELECT,
228
- category: o.TRANSACTION_DETAILS,
229
- label: r.TAGS
230
- },
231
- [n.ON_TRANSACTION_TAGS_TAG_ADD_CANCEL_CLICK]: {
232
- action: T.CLOSE,
233
- category: o.TRANSACTION_DETAILS,
234
- label: r.TAGS
235
- },
236
- [n.ON_TRANSACTION_TAGS_TAG_ADD_CLICK]: {
237
- action: T.ADD,
238
- category: o.TRANSACTION_DETAILS,
239
- label: r.TAG_ADD
240
- },
241
- [n.ON_TRANSACTION_TAGS_TAG_ADDED]: {
242
- action: T.SAVE,
243
- category: o.TRANSACTION_DETAILS,
244
- label: r.TAG_ADD
245
- },
246
- [n.ON_TRANSACTION_TAGS_TAG_DELETE_CLICK]: {
247
- action: T.SELECT,
248
- category: o.TRANSACTION_DETAILS,
249
- label: r.TAG_DELETE
250
- },
251
- [n.ON_TRANSACTION_TAGS_TAG_DELETE_CANCEL_CLICK]: {
252
- action: T.CLOSE,
253
- category: o.TRANSACTION_DETAILS,
254
- label: r.TAG_DELETE
255
- },
256
- [n.ON_TRANSACTION_TAGS_TAG_DELETED]: {
257
- action: T.SAVE,
258
- category: o.TRANSACTION_DETAILS,
259
- label: r.TAG_DELETE
260
- },
261
- [n.ON_TRANSACTION_TAGS_TAG_EDIT_CLICK]: {
262
- action: T.EDIT,
263
- category: o.TRANSACTION_DETAILS,
264
- label: r.TAG_EDIT
265
- },
266
- [n.ON_TRANSACTION_TAGS_TAG_EDIT_SAVED]: {
267
- action: T.SAVE,
268
- category: o.TRANSACTION_DETAILS,
269
- label: r.TAG_EDIT
270
- },
271
- // flag
272
- [n.ON_TRANSACTION_TOGGLE_FLAG_CLICK]: {
273
- action: T.SELECT,
274
- category: o.TRANSACTION_DETAILS,
275
- label: r.FLAG
276
- },
277
- // hide
278
- [n.ON_TRANSACTION_UNHIDDEN]: {
279
- action: T.SAVE,
280
- category: o.TRANSACTION_DETAILS,
281
- label: r.UNHIDE_TRANSACTION
282
- },
283
- [n.ON_TRANSACTION_UNHIDE_CLICK]: {
284
- action: T.SELECT,
285
- category: o.TRANSACTION_DETAILS,
286
- label: r.UNHIDE_TRANSACTION
287
- },
288
- [n.ON_TRANSACTION_UNHIDE_CANCEL_CLICK]: {
289
- action: T.CLOSE,
290
- category: o.TRANSACTION_DETAILS,
291
- label: r.UNHIDE_TRANSACTION
292
- },
293
- // export CSV
294
- [n.ON_TRANSACTION_EXPORT_CSV_CLICK]: {
295
- action: T.SELECT,
296
- category: o.TRANSACTIONS_WIDGET,
297
- label: r.EXPORT_CSV
298
- },
299
- // add transaction
300
- [n.ON_TRANSACTION_MANUAL_ADD_CLICK]: {
301
- action: T.SELECT,
302
- category: o.TRANSACTIONS_WIDGET,
303
- label: r.ADD_TRANSACTION
304
- },
305
- [n.ON_TRANSACTION_MANUAL_ADD_ADDED]: {
306
- action: T.ADD,
307
- category: o.TRANSACTIONS_WIDGET,
308
- label: r.ADD_TRANSACTION
309
- },
310
- [n.ON_TRANSACTION_DELETE_CLICK]: {
311
- action: T.SELECT,
312
- category: o.TRANSACTIONS_WIDGET,
313
- label: r.DELETE_TRANSACTION
314
- },
315
- [n.ON_TRANSACTION_DELETE_CANCEL]: {
316
- action: T.CLOSE,
317
- category: o.TRANSACTIONS_WIDGET,
318
- label: r.DELETE_TRANSACTION
319
- },
320
- [n.ON_TRANSACTION_DELETE_DELETED]: {
321
- action: T.DELETE,
322
- category: o.TRANSACTIONS_WIDGET,
323
- label: r.DELETE_TRANSACTION
324
- }
325
- }, Z = async (S, t) => !t || !m[S] ? null : t.sendAnalyticEvent(m[S]), L = {
326
- FLAG: "flag",
327
- DATE: "date",
328
- PAYEE: "payee",
329
- CATEGORY: "category",
330
- ACCOUNT: "account",
331
- AMOUNT: "amount"
332
- }, q = (S, t, a, e = []) => {
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
- const { transaction_guid: l, tag_guid: I } = s;
335
- if (!c[l])
336
- return {
337
- ...c,
338
- [l]: [I]
339
- };
340
- const E = [...c[l], I];
341
- return {
342
- ...c,
343
- [l]: E
344
- };
345
- }, {});
346
- return S.map((c) => {
347
- const s = A[c.account_guid], l = c.category_guid ? _[c.category_guid] : null, I = i[c.guid] ?? [];
348
- return {
349
- ...c,
350
- account: s?.user_name || "Unknown",
351
- accountIsClosed: s?.is_closed,
352
- accountIsHidden: s?.is_hidden,
353
- category: l?.name || "Uncategorized",
354
- isIncome: c.top_level_category_guid === W.INCOME,
355
- isPending: c.feed_status === b.PENDING,
356
- number: s?.account_number || "",
357
- payee: c.description,
358
- tags: I
359
- };
360
- });
361
- }, J = "uncategorized", Q = (S, t, a, e, A, _) => {
362
- const i = tt(S, A, _), c = at(i, a, e);
363
- return t.forEach((s) => {
364
- const l = c.findIndex((E) => E.guid === s), I = _.filter((E) => E.parent_guid === s);
365
- c.splice(l + 1, 0, ...I);
366
- }), c;
367
- }, tt = (S, t, a) => {
368
- const {
369
- accounts: e = [],
370
- dateRange: A = { start: R(G()), end: D() },
371
- custom: _ = () => !0,
372
- searchTerm: i = "",
373
- showSplits: c = !1
374
- } = S;
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
- if (i === J && s.has_been_split)
377
- return !1;
378
- if (/^spl/i.test(i) && (s.has_been_split || s.parent_guid))
379
- return !0;
380
- const I = s.tags.some(
381
- (x) => N(i, t.find((M) => M.guid === x)?.name)
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;
384
- });
385
- }, at = (S, t, a) => [...S].sort((e, A) => {
386
- const _ = t, i = (e[_] || "") > (A[_] || "");
387
- let c = i ? -1 : 1, s = i ? 1 : -1;
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() ?? "";
391
- return a.every((A) => e.indexOf(A) > -1);
392
- }, et = {
393
- account_guid: "",
394
- amount: 0,
395
- currency_code: "",
396
- date: 0,
397
- description: "",
398
- duplicate: !1,
399
- feed_description: "",
400
- feed_status: b.POSTED,
401
- feed_transaction_date: 0,
402
- has_been_split: !1,
403
- has_been_viewed: !1,
404
- is_cleared: !1,
405
- is_flagged: !1,
406
- is_hidden: !1,
407
- is_manual: !0,
408
- is_personal: !0,
409
- is_reimbursable: !1,
410
- is_subscription: !1,
411
- is_void: !1,
412
- revision: 1,
413
- transaction_type: F.DEBIT,
414
- user_guid: "",
415
- is_duplicate: !1,
416
- feed_transacted_at: 0,
417
- guid: "",
418
- memo: void 0,
419
- tags: []
420
- };
421
- class it {
422
- beginDate = R(/* @__PURE__ */ new Date());
423
- endDate = X(/* @__PURE__ */ new Date());
424
- expandedSplits = [];
425
- isInitialized = !1;
426
- height = 550;
427
- width = 1e3;
428
- shouldDisableDrawerScroll = !1;
429
- searchValue = "";
430
- selectedAccountGuids = [];
431
- manualTransaction = et;
432
- isAmountValid = !1;
433
- showInsights = !1;
434
- constructor() {
435
- y(this);
436
- }
437
- setDateRange = (t, a) => {
438
- this.beginDate = t, this.endDate = a;
439
- };
440
- setIsInitialized = (t) => this.isInitialized = t;
441
- setIsAmountValid = (t) => this.isAmountValid = t;
442
- setSearchValue = (t) => this.searchValue = t;
443
- setSelectedAccountGuids = (t) => this.selectedAccountGuids = t;
444
- setShouldDisableDrawerScroll = (t) => this.shouldDisableDrawerScroll = t;
445
- setShowInsights = (t) => {
446
- this.showInsights = t;
447
- };
448
- setSize = (t, a) => {
449
- this.height = t, this.width = a;
450
- };
451
- toggleSplit = (t) => {
452
- const a = [...this.expandedSplits], e = this.expandedSplits.findIndex((A) => A === t);
453
- e >= 0 ? a.splice(e, 1) : a.push(t), this.expandedSplits = a;
454
- };
455
- clearExpandedSplits = () => {
456
- this.expandedSplits.length !== 0 && (this.expandedSplits = []);
457
- };
458
- updateManualTransaction = (t) => {
459
- this.manualTransaction = t;
460
- };
461
- }
462
- class mt {
463
- globalStore;
464
- uiStore;
465
- api = new p("/", "");
466
- beatApi = new f("/", "");
467
- associatedBeats = [];
468
- cachedStartDate = Y(G(), 90);
469
- filter = {};
470
- isLoading = !0;
471
- rawTransactions = [];
472
- sortColumn = L.DATE;
473
- sortDirection = w.DESC;
474
- taggings = [];
475
- tags = [];
476
- transactionRules = [];
477
- onAnalyticEvent = Z;
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);
480
- }
481
- loadTransactionData = async ({
482
- associatedBeats: t,
483
- transactionRules: a,
484
- transactions: e
485
- } = {}) => {
486
- await Promise.all([
487
- this.loadAssociatedBeats(R(/* @__PURE__ */ new Date()), t),
488
- this.loadTags(),
489
- this.loadTaggings(),
490
- this.loadTransactionRules(a),
491
- // By default loads 90 days of transactions
492
- this.loadTransactions(this.cachedStartDate, D(), e)
493
- ]), d(() => {
494
- this.uiStore.setIsInitialized(!0);
495
- });
496
- };
497
- get sortedTransactions() {
498
- return Q(
499
- this.filter,
500
- this.uiStore.expandedSplits,
501
- this.sortColumn,
502
- this.sortDirection,
503
- this.tags,
504
- this.transactions
505
- );
506
- }
507
- get sortedTransactionsWithSplits() {
508
- return z(this.sortedTransactions, this.transactions);
509
- }
510
- get transactions() {
511
- return this.augmentTransactions(this.rawTransactions);
512
- }
513
- addTag = async (t) => {
514
- await this.api.addTag({ name: t }), await this.loadTags();
515
- };
516
- addTagging = async (t, a) => {
517
- await this.api.addTagging({
518
- tag_guid: t,
519
- transaction_guid: a
520
- });
521
- };
522
- addOrUpdateTransactionRule = async (t, a) => {
523
- const e = this.transactionRules.find(
524
- (A) => A.guid === a.user_transaction_rule_guid
525
- );
526
- e ? await this.api.updateTransactionRule({
527
- ...e,
528
- category_guid: t,
529
- description: a.description
530
- }) : await this.api.addTransactionRule({
531
- category_guid: t,
532
- description: a.description,
533
- match_description: a.description
534
- }), await this.loadTransactionRules();
535
- };
536
- addTransaction = async (t) => {
537
- const a = await this.api.addTransaction(t);
538
- a && d(() => this.rawTransactions = [a, ...this.transactions]);
539
- };
540
- augmentTransactions = (t) => q(
541
- t,
542
- this.globalStore.accountStore.visibleAccounts,
543
- this.globalStore.categoryStore.categories,
544
- this.taggings
545
- );
546
- getTransactionData = () => ({});
547
- loadAssociatedBeats = async (t, a) => {
548
- const e = t ? v(t, { representation: "date" }) : void 0, A = a ?? await this.beatApi.getBeatsWithAssociatedTransaction(e);
549
- d(() => this.associatedBeats = A);
550
- };
551
- loadTags = async () => {
552
- const t = await this.api.getTags();
553
- d(() => this.tags = t);
554
- };
555
- loadTaggings = async () => {
556
- const t = await this.api.getTaggings();
557
- d(() => this.taggings = t);
558
- };
559
- loadTransactionRules = async (t) => {
560
- const a = t ?? await this.api.getTransactionRules();
561
- d(() => this.transactionRules = a);
562
- };
563
- loadTransactions = async (t = this.cachedStartDate, a = D(), e) => {
564
- this.setIsLoading(!0), this.rawTransactions = [];
565
- try {
566
- const A = e ?? await this.api.getTransactionsByDateRange(h(t), h(a));
567
- d(() => {
568
- this.rawTransactions = A;
569
- });
570
- } catch (A) {
571
- console.error(`Error occurred while loading transactions: ${A}`);
572
- }
573
- this.setIsLoading(!1);
574
- };
575
- // DEPRECATED
576
- loadTransactionsByDateRange = async (t, a) => {
577
- console.warn("DEPRECATED: loadTransactionsByDateRange will be removed"), this.setFilter({
578
- ...this.filter,
579
- dateRange: { start: u(a), end: u(t) }
580
- });
581
- };
582
- modifyTransactionByAccountGuid = (t, a) => {
583
- this.rawTransactions = this.transactions.map(
584
- (e) => e.account_guid === t ? { ...e, ...a } : e
585
- );
586
- };
587
- removeTag = async (t) => {
588
- await this.api.removeTag(t), await this.loadTags();
589
- };
590
- removeTagging = async (t) => {
591
- await this.api.removeTagging(t);
592
- };
593
- removeTransaction = async (t) => {
594
- await this.api.removeTransaction(t);
595
- const a = this.transactions.findIndex((e) => e.guid === t);
596
- if (a >= 0) {
597
- const e = [...this.transactions];
598
- e.splice(a, 1), d(() => this.rawTransactions = e);
599
- }
600
- };
601
- setFilter = (t) => {
602
- this.filter = t, t.dateRange && B(t.dateRange.start, this.cachedStartDate) && this.loadTransactions(t.dateRange.start, D()).then(() => {
603
- t.dateRange && (this.cachedStartDate = t.dateRange.start);
604
- });
605
- };
606
- setIsLoading = (t) => this.isLoading = t;
607
- setSortData = (t, a) => {
608
- this.sortColumn = t, this.sortDirection = a;
609
- };
610
- splitTransaction = async (t, a) => {
611
- const e = await this.api.updateTransaction(t), A = [];
612
- for (let i = 0; i < a.length; i++) {
613
- const c = await this.api.addTransaction(a[i]);
614
- A.push(c);
615
- }
616
- const _ = this.transactions.findIndex((i) => i.guid === t.guid);
617
- _ >= 0 && d(
618
- () => this.rawTransactions = [
619
- ...this.transactions.slice(0, _),
620
- e,
621
- ...this.transactions.slice(_ + 1),
622
- ...A
623
- ]
624
- );
625
- };
626
- unSplitTransaction = async (t) => {
627
- const a = this.transactions.filter((i) => i.parent_guid === t);
628
- await this.api.removeTransactionSplit(t);
629
- const e = [...this.transactions];
630
- a.forEach((i) => {
631
- const c = e.findIndex((s) => s.guid === i.guid);
632
- c >= 0 && e.splice(c, 1);
633
- });
634
- const A = e.findIndex((i) => i.guid === t), _ = e[A];
635
- _.has_been_split = !1, A >= 0 && d(
636
- () => this.rawTransactions = [
637
- ...e.slice(0, A),
638
- _,
639
- ...e.slice(A + 1)
640
- ]
641
- );
642
- };
643
- updateTaggings = async (t, a) => {
644
- const e = this.taggings.filter((i) => i.transaction_guid === a), A = new Set(e.map((i) => i.tag_guid)), _ = new Set(t);
645
- for (const i of t)
646
- A.has(i) || await this.addTagging(i, a);
647
- for (const i of e)
648
- _.has(i.tag_guid) || await this.removeTagging(i.guid);
649
- await this.loadTaggings();
650
- };
651
- updateTag = async (t) => {
652
- await this.api.updateTag(t), await this.loadTags();
653
- };
654
- updateTransaction = async (t) => {
655
- const a = await this.api.updateTransaction(t), e = this.transactions.findIndex((A) => A.guid === t.guid);
656
- e >= 0 && d(
657
- () => this.rawTransactions = [
658
- ...this.transactions.slice(0, e),
659
- a,
660
- ...this.transactions.slice(e + 1)
661
- ]
662
- );
663
- };
664
- }
665
- export {
666
- et as D,
667
- ft as S,
668
- mt as T
669
- };