@mx-cartographer/experiences 8.2.0-alpha.bb0 → 8.2.0

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 (64) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/{Account-BTOmbrEK.mjs → Account-BaJmiJAG.mjs} +2 -2
  3. package/dist/{Account-DC2d-cjn.mjs → Account-BxHMlV9R.mjs} +1 -1
  4. package/dist/{AccountDetailsHeader-IDZ6GTT0.mjs → AccountDetailsHeader-CfdnKyJK.mjs} +17 -17
  5. package/dist/{AccountFields-BRAl-Hro.mjs → AccountFields-CAy0x_4i.mjs} +6 -6
  6. package/dist/{AccountListItem-B8koowMf.mjs → AccountListItem-BYyeeCf6.mjs} +5 -5
  7. package/dist/{AccountUtils-Bc-SndzX.mjs → AccountUtils-T5_Odvos.mjs} +1 -1
  8. package/dist/{Analytics-vgPYa2Zt.mjs → Analytics-CkYXKvco.mjs} +1 -1
  9. package/dist/{BudgetUtil-CGchXaek.mjs → BudgetUtil-Bg2AQJpQ.mjs} +3 -3
  10. package/dist/{CategorySelectorDrawer-nHEBR24E.mjs → CategorySelectorDrawer-Cu1ohxeM.mjs} +1 -1
  11. package/dist/{CurrencyDialog-C7r7JqVu.mjs → CurrencyDialog-d4dL7vA5.mjs} +1 -1
  12. package/dist/{CurrencyInput-BUd8mAcE.mjs → CurrencyInput-B59ugxPN.mjs} +2 -2
  13. package/dist/{CurrencyText-Dd3NxFYY.mjs → CurrencyText-CCbE6MmF.mjs} +1 -1
  14. package/dist/{DateFormats-BSktnUw6.mjs → DateFormats-HudZ3Bjs.mjs} +1 -1
  15. package/dist/{DateUtil-Bdm-ZxFw.mjs → DateUtil-Bhq59ZVg.mjs} +1 -1
  16. package/dist/{DebtUtils-DPn1cXKG.mjs → DebtUtils-DD3186U-.mjs} +1 -1
  17. package/dist/{EmbeddedCard-CAY_HJjE.mjs → EmbeddedCard-BNl3quCs.mjs} +4 -4
  18. package/dist/{ExportCsvAction-DzeJOb_g.mjs → ExportCsvAction-hDprC41l.mjs} +2 -2
  19. package/dist/GlobalCopyApi-wcnDUzMV.mjs +128 -0
  20. package/dist/{GoalsUtil-B-Z6fq_t.mjs → GoalsUtil-C9EnLWvC.mjs} +3 -3
  21. package/dist/{Help-HoxJgoVt.mjs → Help-BSQm9o29.mjs} +1 -1
  22. package/dist/{LineChart-DNynWPGz.mjs → LineChart-CejWS_rh.mjs} +1 -1
  23. package/dist/Localization-DnoVyBNK.mjs +38 -0
  24. package/dist/{ManageIncome-C_FjST7B.mjs → ManageIncome-DwylSiWs.mjs} +41 -41
  25. package/dist/{NetWorthUtils-CyVz9bUn.mjs → NetWorthUtils-DilGN1nW.mjs} +2 -2
  26. package/dist/{NotificationSettings-B8pH9TOv.mjs → NotificationSettings-CCg-Tml2.mjs} +6 -6
  27. package/dist/{NumberFormatting-Dnk0YyfZ.mjs → NumberFormatting--XMeeBfr.mjs} +2 -1
  28. package/dist/{OriginalBalanceAction-BEBuqeS1.mjs → OriginalBalanceAction-CvDx0K6k.mjs} +2 -2
  29. package/dist/{RecurringSettings-eQb1AS5x.mjs → RecurringSettings-CPXLW6AR.mjs} +2 -2
  30. package/dist/{RecurringTransactionsUtil-DbMNqEu_.mjs → RecurringTransactionsUtil-B3rLEx_g.mjs} +6 -6
  31. package/dist/{SpendingData-CktOElG1.mjs → SpendingData-PKlh8caU.mjs} +1 -1
  32. package/dist/{SpendingLegend-CM5L_1Ka.mjs → SpendingLegend-BmkEr9Nh.mjs} +56 -56
  33. package/dist/{TransactionDetails-BP-sFltN.mjs → TransactionDetails-CbBSxdOi.mjs} +9 -9
  34. package/dist/{TransactionUtils-CvJW9wDu.mjs → TransactionUtils-BphBJBbU.mjs} +8 -8
  35. package/dist/UserStore-CRpKQjpP.mjs +3002 -0
  36. package/dist/{ViewMoreMicroCard-DWOpU5L8.mjs → ViewMoreMicroCard-K69RRs_b.mjs} +3 -3
  37. package/dist/{WidgetContainer-CAgbD0ZS.mjs → WidgetContainer-DalWyz5A.mjs} +1 -1
  38. package/dist/accounts/index.es.js +25 -25
  39. package/dist/budgets/index.es.js +11 -11
  40. package/dist/cashflow/index.es.js +12 -12
  41. package/dist/categories/index.es.js +1 -1
  42. package/dist/common/context/hooks.d.ts +1 -1
  43. package/dist/common/index.d.ts +3 -0
  44. package/dist/common/index.es.js +148 -136
  45. package/dist/core/index.es.js +104 -3061
  46. package/dist/core/utils/Localization.d.ts +1 -0
  47. package/dist/debts/index.es.js +9 -9
  48. package/dist/finstrong/index.es.js +13 -13
  49. package/dist/goals/index.es.js +8 -8
  50. package/dist/help/index.es.js +2 -2
  51. package/dist/insights/index.es.js +5 -5
  52. package/dist/investments/index.es.js +3 -3
  53. package/dist/microinsights/index.es.js +1 -1
  54. package/dist/networth/index.es.js +7 -7
  55. package/dist/notifications/index.es.js +2 -2
  56. package/dist/recurringtransactions/index.es.js +37 -37
  57. package/dist/settings/index.es.js +6 -6
  58. package/dist/spending/index.es.js +139 -139
  59. package/dist/transactions/index.es.js +12 -12
  60. package/dist/trends/index.es.js +12 -12
  61. package/package.json +1 -1
  62. package/dist/AnalyticsApi-DwgSyZ6m.mjs +0 -102
  63. package/dist/GlobalCopyApi-C75qVBk6.mjs +0 -30
  64. package/dist/Localization-Li21_krp.mjs +0 -37
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  - **UPDATED** - Moved all MobX stores into src/core/stores
4
4
 
5
+ ## [8.1.12] - 05-06-2026
6
+
7
+ - **FIXED** - Spendng Donut initializing with mismatched date range category totals
8
+
9
+ ## [8.1.11] - 05-05-2026
10
+
11
+ - **FIXED** - Spending chart crash on chart color index overflow
12
+
5
13
  ## [8.1.10] - 05-05-2026
6
14
 
7
15
  - **UPDATED** - Error component UI and no network fallback
@@ -112,7 +112,7 @@ export {
112
112
  A as c,
113
113
  H as d,
114
114
  C as e,
115
- R as f,
116
- N as g,
115
+ N as f,
116
+ R as g,
117
117
  T as h
118
118
  };
@@ -1,4 +1,4 @@
1
- import { A as C } from "./Account-BTOmbrEK.mjs";
1
+ import { A as C } from "./Account-BaJmiJAG.mjs";
2
2
  const I = [
3
3
  C.ANY,
4
4
  C.CASH,
@@ -2,19 +2,19 @@ import { jsx as t, jsxs as r } from "react/jsx-runtime";
2
2
  import { observer as _ } from "mobx-react-lite";
3
3
  import s from "@mui/material/Stack";
4
4
  import { H3 as x, InstitutionLogo as D, Text as d, H2 as N } from "@mxenabled/mxui";
5
+ import { f as P } from "./NumberFormatting--XMeeBfr.mjs";
5
6
  import p from "react";
6
- import { G as P, d as f, l as G, f as O, a as R, u as v } from "./hooks-BaO_gOI6.mjs";
7
- import { g as w } from "./AccountFields-BRAl-Hro.mjs";
8
- import { A as i } from "./Account-BTOmbrEK.mjs";
9
- import L from "@mui/material/Card";
10
- import H from "@mui/material/CardContent";
11
- import M from "@mui/material/CardHeader";
12
- import { L as U } from "./Loader-CxeBwuPG.mjs";
13
- import { f as Y } from "./NumberFormatting-Dnk0YyfZ.mjs";
14
- import { I as j, P as z, S as k } from "./Account-DC2d-cjn.mjs";
7
+ import { G, d as f, l as O, f as R, a as v, u as w } from "./hooks-BaO_gOI6.mjs";
8
+ import { g as L } from "./AccountFields-CAy0x_4i.mjs";
9
+ import { A as i } from "./Account-BaJmiJAG.mjs";
10
+ import H from "@mui/material/Card";
11
+ import M from "@mui/material/CardContent";
12
+ import U from "@mui/material/CardHeader";
13
+ import { L as Y } from "./Loader-CxeBwuPG.mjs";
14
+ import { I as j, P as z, S as k } from "./Account-BxHMlV9R.mjs";
15
15
  import { u as B } from "./useAccountDisplayName-CFa_MrS6.mjs";
16
16
  const C = () => {
17
- if (!p.useContext(P))
17
+ if (!p.useContext(G))
18
18
  throw new Error("useCategoryUiStore() must be used within the GlobalDataContext");
19
19
  return f().uiStore;
20
20
  }, F = (o, e) => {
@@ -32,13 +32,13 @@ const C = () => {
32
32
  ChartComponent: e,
33
33
  header: c
34
34
  }) => {
35
- const { loadMonthlyCategoryTotals: n } = G(), { isInitialized: l } = O(), { selectedAccount: a } = C(), [u, m] = p.useState(!1);
35
+ const { loadMonthlyCategoryTotals: n } = O(), { isInitialized: l } = R(), { selectedAccount: a } = C(), [u, m] = p.useState(!1);
36
36
  return p.useEffect(() => {
37
37
  l && n([a]).finally(() => {
38
38
  m(!0);
39
39
  });
40
- }, [l, a]), !l || !u ? /* @__PURE__ */ t(U, {}) : /* @__PURE__ */ r(
41
- L,
40
+ }, [l, a]), !l || !u ? /* @__PURE__ */ t(Y, {}) : /* @__PURE__ */ r(
41
+ H,
42
42
  {
43
43
  sx: {
44
44
  "& .MuiCardContent-root:last-child": {
@@ -47,8 +47,8 @@ const C = () => {
47
47
  ...o
48
48
  },
49
49
  children: [
50
- /* @__PURE__ */ t(M, { sx: { pb: 0 }, title: /* @__PURE__ */ t(x, { sx: { pb: 4 }, children: c }) }),
51
- /* @__PURE__ */ t(H, { sx: { p: 0 }, children: e ? /* @__PURE__ */ t(e, {}) : null })
50
+ /* @__PURE__ */ t(U, { sx: { pb: 0 }, title: /* @__PURE__ */ t(x, { sx: { pb: 4 }, children: c }) }),
51
+ /* @__PURE__ */ t(M, { sx: { p: 0 }, children: e ? /* @__PURE__ */ t(e, {}) : null })
52
52
  ]
53
53
  }
54
54
  );
@@ -56,7 +56,7 @@ const C = () => {
56
56
  customDetailsChart: o,
57
57
  ChartComponent: e
58
58
  }) => {
59
- const { institutions: c } = f(), { selectedAccount: n } = C(), { config: l } = R(), { accounts: a } = v(), { firstSubtitle: u, firstValue: m, hasAvailableBalance: b, secondSubtitle: h, secondValue: A } = w(n, a, l.display_available_balance_in_accounts), y = c.find(
59
+ const { institutions: c } = f(), { selectedAccount: n } = C(), { config: l } = v(), { accounts: a } = w(), { firstSubtitle: u, firstValue: m, hasAvailableBalance: b, secondSubtitle: h, secondValue: A } = L(n, a, l.display_available_balance_in_accounts), y = c.find(
60
60
  (T) => T.guid === n?.institution_guid
61
61
  ), g = [
62
62
  ...j,
@@ -79,7 +79,7 @@ const C = () => {
79
79
  /* @__PURE__ */ t(N, { children: E }),
80
80
  /* @__PURE__ */ r(s, { direction: "row", justifyContent: "space-between", children: [
81
81
  /* @__PURE__ */ t(d, { bold: b, variant: "body1", children: u }),
82
- /* @__PURE__ */ t(d, { bold: !0, variant: "body1", children: Y(m, "0,0.00") })
82
+ /* @__PURE__ */ t(d, { bold: !0, variant: "body1", children: P(m, "0,0.00") })
83
83
  ] }),
84
84
  /* @__PURE__ */ r(s, { direction: "row", justifyContent: "space-between", children: [
85
85
  /* @__PURE__ */ t(d, { variant: "body2", children: h }),
@@ -1,12 +1,12 @@
1
1
  import { jsx as p } from "react/jsx-runtime";
2
2
  import { Text as v, Icon as b } from "@mxenabled/mxui";
3
- import { A as d, a as h, P as F, b as T } from "./Account-BTOmbrEK.mjs";
4
- import { i as A, u as D, a as g, b as O, c as C } from "./AccountUtils-Bc-SndzX.mjs";
3
+ import { A as d, a as h, P as F, b as T } from "./Account-BaJmiJAG.mjs";
4
+ import { i as A, u as D, a as g, b as O, c as C } from "./AccountUtils-T5_Odvos.mjs";
5
5
  import { F as m } from "./Accounts-CseLC3lL.mjs";
6
- import { f as N } from "./DateUtil-Bdm-ZxFw.mjs";
7
- import { f as s, i as o, a as S, b as I } from "./NumberFormatting-Dnk0YyfZ.mjs";
8
- import { b as i } from "./Localization-Li21_krp.mjs";
9
- import { f, D as c } from "./DateFormats-BSktnUw6.mjs";
6
+ import { f as N } from "./DateUtil-Bhq59ZVg.mjs";
7
+ import { f as s, i as o, a as S, b as I } from "./NumberFormatting--XMeeBfr.mjs";
8
+ import { b as i } from "./Localization-DnoVyBNK.mjs";
9
+ import { f, D as c } from "./DateFormats-HudZ3Bjs.mjs";
10
10
  const Y = (l, e) => {
11
11
  const n = [
12
12
  {
@@ -10,11 +10,11 @@ import L from "@mui/material/styles/useTheme";
10
10
  import { InstitutionLogo as B, Text as r } from "@mxenabled/mxui";
11
11
  import { Error as j } from "@mxenabled/mx-icons";
12
12
  import { I as T } from "./IconBacking-DgT8DCeh.mjs";
13
- import { g as $ } from "./AccountFields-BRAl-Hro.mjs";
14
- import { f as k } from "./NumberFormatting-Dnk0YyfZ.mjs";
13
+ import { f as $ } from "./NumberFormatting--XMeeBfr.mjs";
14
+ import { g as k } from "./AccountFields-CAy0x_4i.mjs";
15
15
  import { u as w } from "./useAccountDisplayName-CFa_MrS6.mjs";
16
16
  import { a as E, u as M } from "./hooks-BaO_gOI6.mjs";
17
- import { C as d } from "./Account-BTOmbrEK.mjs";
17
+ import { C as d } from "./Account-BaJmiJAG.mjs";
18
18
  const z = {
19
19
  gridRow: 1,
20
20
  gridColumn: 1,
@@ -25,7 +25,7 @@ const z = {
25
25
  listItemProps: s,
26
26
  shouldShowConnectionStatus: p = !1
27
27
  }) => {
28
- const u = L(), f = w(t), { config: g } = E(), { accounts: i } = M(), { firstSubtitle: h, firstValue: x, secondSubtitle: b, secondValue: y } = $(
28
+ const u = L(), f = w(t), { config: g } = E(), { accounts: i } = M(), { firstSubtitle: h, firstValue: x, secondSubtitle: b, secondValue: y } = k(
29
29
  t,
30
30
  i,
31
31
  g.display_available_balance_in_accounts
@@ -67,7 +67,7 @@ const z = {
67
67
  secondary: /* @__PURE__ */ o(c, { children: [
68
68
  /* @__PURE__ */ o(m, { sx: { alignItems: "center", display: "flex", justifyContent: "space-between" }, children: [
69
69
  /* @__PURE__ */ e(r, { variant: "caption", children: h }),
70
- /* @__PURE__ */ e(r, { bold: !0, variant: "body2", children: k(x, "0,0.00") })
70
+ /* @__PURE__ */ e(r, { bold: !0, variant: "body2", children: $(x, "0,0.00") })
71
71
  ] }),
72
72
  /* @__PURE__ */ o(m, { sx: { alignItems: "center", display: "flex", justifyContent: "space-between" }, children: [
73
73
  /* @__PURE__ */ e(r, { variant: "caption", children: b }),
@@ -1,4 +1,4 @@
1
- import { A as e, C as u, E as p, e as y, M as d } from "./Account-BTOmbrEK.mjs";
1
+ import { A as e, C as u, E as p, e as y, M as d } from "./Account-BaJmiJAG.mjs";
2
2
  const m = (t) => t && (t.account_type === e.CREDIT_CARD || t.account_type === e.LOAN || t.account_type === e.MORTGAGE || t.account_type === e.LINE_OF_CREDIT || t.account_type === e.CHECKING_LINE_OF_CREDIT), I = (t) => t.is_manual || !t.guid, f = (t) => t.account_type === e.LINE_OF_CREDIT || t.account_type === e.CREDIT_CARD || t.account_type === e.CHECKING_LINE_OF_CREDIT, R = (t) => t.account_type === e.SAVINGS || t.account_type === e.CHECKING || t.account_type === e.LINE_OF_CREDIT || t.account_type === e.CREDIT_CARD || t.account_type === e.LOAN || t.account_type === e.MORTGAGE, A = (t) => t.account_type === e.LOAN || t.account_type === e.MORTGAGE, N = (t, n, s, _, a) => t.filter((i) => !(i.member_is_managed_by_user && _)).filter((i) => !(!i.member_is_managed_by_user && a)).sort(C).map((i) => {
3
3
  const r = n.find((c) => c.guid === i.institution_guid), o = s.find((c) => c.guid === i.member_guid);
4
4
  return E(i, r, o);
@@ -1,6 +1,6 @@
1
1
  import u from "react";
2
2
  import { getUnixTime as r } from "date-fns/getUnixTime";
3
- import { A as l } from "./AnalyticsApi-DwgSyZ6m.mjs";
3
+ import { A as l } from "./GlobalCopyApi-wcnDUzMV.mjs";
4
4
  const A = (s, i) => {
5
5
  const { session: t } = i, o = Object.values(i).reduce((e, n) => t && n?.onAnalyticEvent && typeof n?.onAnalyticEvent == "function" ? [...e, n.onAnalyticEvent] : e, []), a = [...s, ...o];
6
6
  return u.useMemo(() => (e) => {
@@ -1,6 +1,6 @@
1
- import { f as _, a as y } from "./TransactionUtils-CvJW9wDu.mjs";
2
- import { f as d } from "./NumberFormatting-Dnk0YyfZ.mjs";
3
- import { b as f } from "./Localization-Li21_krp.mjs";
1
+ import { f as _, a as y } from "./TransactionUtils-BphBJBbU.mjs";
2
+ import { f as d } from "./NumberFormatting--XMeeBfr.mjs";
3
+ import { b as f } from "./Localization-DnoVyBNK.mjs";
4
4
  const w = (n, t) => !!n.find((e) => e.feature_name === t)?.is_enabled, l = (n, t) => !n && !t ? 0 : !n && t ? 101 : t / n * 100, p = (n, t) => {
5
5
  const e = {
6
6
  background: t.palette.success.main,
@@ -5,6 +5,7 @@ import $ from "@mui/material/Stack";
5
5
  import { G as K, l as f, u as S, g as A, b as B } from "./hooks-BaO_gOI6.mjs";
6
6
  import U from "@mui/material/List";
7
7
  import V from "@mui/material/Paper";
8
+ import { b as g } from "./Localization-DnoVyBNK.mjs";
8
9
  import Y from "@mui/material/Divider";
9
10
  import x from "@mui/material/ListItem";
10
11
  import W from "@mui/material/ListItemAvatar";
@@ -15,7 +16,6 @@ import { CheckCircle as M, Edit as j, Delete as X, ExpandMore as z } from "@mxen
15
16
  import { Text as q, TextField as H, CategoryIcon as J } from "@mxenabled/mxui";
16
17
  import Q from "@mui/material/Collapse";
17
18
  import Z from "@mui/material/DialogContent";
18
- import { b as g } from "./Localization-Li21_krp.mjs";
19
19
  import { D as ee } from "./Dialog-iLlBR8TG.mjs";
20
20
  import te from "@mui/material/Box";
21
21
  import oe from "@mui/material/Chip";
@@ -16,7 +16,7 @@ import C from "@mui/material/Button";
16
16
  import q from "@mui/material/Paper";
17
17
  import { H2 as D, Text as W, H3 as J, P as K } from "@mxenabled/mxui";
18
18
  import { ChevronLeft as P, ChevronRight as Q, Icon as U } from "@mxenabled/mx-icons";
19
- import { f as V, D as X } from "./DateFormats-BSktnUw6.mjs";
19
+ import { f as V, D as X } from "./DateFormats-HudZ3Bjs.mjs";
20
20
  import { isSameDay as d } from "date-fns/isSameDay";
21
21
  import { isWithinInterval as tt } from "date-fns/isWithinInterval";
22
22
  import nt from "@mui/material/styles/useTheme";
@@ -3,8 +3,8 @@ import i from "react";
3
3
  import { css as k } from "@mxenabled/cssinjs";
4
4
  import { v4 as q } from "uuid";
5
5
  import { TextField as B, P as _ } from "@mxenabled/mxui";
6
- import { g as L, C as O, f as y, M as C } from "./NumberFormatting-Dnk0YyfZ.mjs";
7
- import { b, g } from "./Localization-Li21_krp.mjs";
6
+ import { g as L, C as O, f as y, M as C } from "./NumberFormatting--XMeeBfr.mjs";
7
+ import { b, g } from "./Localization-DnoVyBNK.mjs";
8
8
  import { u as W } from "./hooks-BaO_gOI6.mjs";
9
9
  const J = ({
10
10
  allowDecimals: o = !0,
@@ -1,6 +1,6 @@
1
1
  import { jsxs as i } from "react/jsx-runtime";
2
2
  import { P as u } from "@mxenabled/mxui";
3
- import { f as a } from "./NumberFormatting-Dnk0YyfZ.mjs";
3
+ import { f as a } from "./NumberFormatting--XMeeBfr.mjs";
4
4
  const y = ({
5
5
  isIncome: e = !1,
6
6
  amount: o = 0,
@@ -1,5 +1,5 @@
1
1
  import { intlFormat as t } from "date-fns/intlFormat";
2
- import { g as r } from "./Localization-Li21_krp.mjs";
2
+ import { g as r } from "./Localization-DnoVyBNK.mjs";
3
3
  const _ = "do", a = {
4
4
  TIME_STAMP_HOUR_MINUTE: {
5
5
  hour: "numeric",
@@ -8,7 +8,7 @@ import { nextDay as T } from "date-fns/nextDay";
8
8
  import { setDate as c } from "date-fns/setDate";
9
9
  import { startOfToday as r } from "date-fns/startOfToday";
10
10
  import { fromUnixTime as s } from "date-fns/fromUnixTime";
11
- import { f as D, D as f } from "./DateFormats-BSktnUw6.mjs";
11
+ import { f as D, D as f } from "./DateFormats-HudZ3Bjs.mjs";
12
12
  const Y = (e) => {
13
13
  const t = x(e);
14
14
  let o = T(e, t);
@@ -3,7 +3,7 @@ import { addMonths as A } from "date-fns/addMonths";
3
3
  import { fromUnixTime as d } from "date-fns/fromUnixTime";
4
4
  import { getUnixTime as M } from "date-fns/getUnixTime";
5
5
  import { startOfMonth as I } from "date-fns/startOfMonth";
6
- import { A as w } from "./Account-BTOmbrEK.mjs";
6
+ import { A as w } from "./Account-BaJmiJAG.mjs";
7
7
  const H = 12, C = 100;
8
8
  var y = /* @__PURE__ */ ((t) => (t[t.FASTEST_PAYOFF_FIRST = 1] = "FASTEST_PAYOFF_FIRST", t[t.HIGHEST_INTEREST = 2] = "HIGHEST_INTEREST", t[t.LOWEST_BALANCE = 3] = "LOWEST_BALANCE", t[t.HIGHEST_BALANCE = 4] = "HIGHEST_BALANCE", t))(y || {});
9
9
  const N = {
@@ -5,7 +5,7 @@ import Y from "@mui/material/Button";
5
5
  import l from "@mui/material/Stack";
6
6
  import { MerchantLogo as J, Text as m, Icon as k, P as $, H3 as tt, H2 as et } from "@mxenabled/mxui";
7
7
  import { Receipt as nt, Icon as rt } from "@mxenabled/mx-icons";
8
- import { T as it, e as ot } from "./TransactionUtils-CvJW9wDu.mjs";
8
+ import { T as it, e as ot } from "./TransactionUtils-BphBJBbU.mjs";
9
9
  import { observer as V } from "mobx-react-lite";
10
10
  import { useVirtualizer as at } from "@tanstack/react-virtual";
11
11
  import st from "@mui/material/Divider";
@@ -14,12 +14,12 @@ import { G as lt, h as G, u as z, g as dt, b as Tt } from "./hooks-BaO_gOI6.mjs"
14
14
  import ht from "@mui/material/ListItemAvatar";
15
15
  import Ct from "@mui/material/ListItemText";
16
16
  import { useTheme as M } from "@mui/material/styles";
17
- import { f as H } from "./NumberFormatting-Dnk0YyfZ.mjs";
17
+ import { f as H } from "./NumberFormatting--XMeeBfr.mjs";
18
18
  import { L as _t } from "./ListItemWrapper-B5r-YQQ_.mjs";
19
19
  import { fromUnixTime as v } from "date-fns/fromUnixTime";
20
20
  import { isSameDay as F } from "date-fns/isSameDay";
21
- import { f as pt, D as ut } from "./DateFormats-BSktnUw6.mjs";
22
- import { i as mt } from "./DateUtil-Bdm-ZxFw.mjs";
21
+ import { f as pt, D as ut } from "./DateFormats-HudZ3Bjs.mjs";
22
+ import { i as mt } from "./DateUtil-Bhq59ZVg.mjs";
23
23
  import { L as Z } from "./Loader-CxeBwuPG.mjs";
24
24
  import { A as gt } from "./Analytics-CzGzz_sE.mjs";
25
25
  import At from "@mui/material/Tab";
@@ -1,8 +1,8 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
2
  import { observer as c } from "mobx-react-lite";
3
3
  import { Icon as i } from "@mxenabled/mxui";
4
- import { e as p } from "./TransactionUtils-CvJW9wDu.mjs";
5
- import { O as m } from "./EmbeddedCard-CAY_HJjE.mjs";
4
+ import { e as p } from "./TransactionUtils-BphBJBbU.mjs";
5
+ import { O as m } from "./EmbeddedCard-BNl3quCs.mjs";
6
6
  import { g as x, h as _, u as C } from "./hooks-BaO_gOI6.mjs";
7
7
  import { R as l } from "./ResponsiveButton-BNsV08Ud.mjs";
8
8
  const v = ({ filter: t }) => {
@@ -0,0 +1,128 @@
1
+ import c from "bowser";
2
+ import { A as a } from "./ApiEndpoints-DXwIYNUV.mjs";
3
+ import { g as h } from "./Localization-DnoVyBNK.mjs";
4
+ class o {
5
+ endpoint = "/";
6
+ headers;
7
+ onError;
8
+ constructor(e, n, t, r) {
9
+ this.endpoint = e;
10
+ const s = {
11
+ Accept: "application/json",
12
+ "Accept-Language": h(),
13
+ "Content-Type": "application/json",
14
+ "MD-Session-Token": n
15
+ };
16
+ this.headers = t || s, this.onError = r;
17
+ }
18
+ get = async (e) => {
19
+ const n = {
20
+ method: "GET",
21
+ headers: this.headers
22
+ };
23
+ return fetch(`${this.endpoint}${e}`, n).then((t) => {
24
+ if (t.ok)
25
+ return t.text();
26
+ throw t;
27
+ }).then((t) => t.length ? JSON.parse(t) : {}).then((t) => t).catch((t) => {
28
+ throw this.onError?.(t, void 0, "ApiGetRequestError"), t;
29
+ });
30
+ };
31
+ post = async (e, n) => {
32
+ const t = n ? JSON.stringify(n) : void 0, r = {
33
+ method: "POST",
34
+ headers: this.headers,
35
+ body: t
36
+ };
37
+ return fetch(`${this.endpoint}${e}`, r).then((s) => {
38
+ if (!s.ok)
39
+ throw s;
40
+ return s.text();
41
+ }).then((s) => s.length ? JSON.parse(s) : {}).then((s) => s).catch((s) => {
42
+ throw s;
43
+ });
44
+ };
45
+ put = async (e, n) => {
46
+ const t = JSON.stringify(n), r = {
47
+ method: "PUT",
48
+ headers: this.headers,
49
+ body: t
50
+ };
51
+ return fetch(`${this.endpoint}${e}`, r).then((s) => {
52
+ if (s.ok)
53
+ return s.text();
54
+ throw new Error(`${s.status}`);
55
+ }).then((s) => s.length ? JSON.parse(s) : {}).then((s) => s).catch((s) => {
56
+ throw window?.app?.config?.type === "pulse" && this.onError?.(s.message), s.message;
57
+ });
58
+ };
59
+ delete = async (e) => {
60
+ const n = {
61
+ method: "DELETE",
62
+ headers: this.headers
63
+ };
64
+ return fetch(`${this.endpoint}${e}`, n).then((t) => t.ok ? t.text() : t.text().then((r) => {
65
+ throw new Error(r);
66
+ })).then((t) => t.length ? JSON.parse(t) : {}).then((t) => t).catch((t) => {
67
+ throw t;
68
+ });
69
+ };
70
+ }
71
+ class f {
72
+ fetchInstance;
73
+ constructor(e, n, t) {
74
+ this.fetchInstance = new o(e, n, void 0, t);
75
+ }
76
+ initializeAnalyticsSession = async (e, n) => {
77
+ const t = c.getParser(window.navigator.userAgent), { analytics_session: r } = await this.fetchInstance.post(a.ANALYTICS_SESSION, {
78
+ browser_name: t.getBrowserName() || "Unknown",
79
+ browser_version: t.getBrowserVersion() || "0.0.0",
80
+ is_first_visit: !1,
81
+ product_name: "Individual Widget",
82
+ product_version: e
83
+ });
84
+ return r ? (this.fetchInstance.post(a.ANALYTICS_FEATURE_VISITS, {
85
+ feature_visit: {
86
+ analytics_session_guid: r.guid,
87
+ feature_name: n || "Experiences",
88
+ is_first_visit: r.is_first_visit
89
+ }
90
+ }), { analytics_session: r }) : { analytics_session: null };
91
+ };
92
+ sendAnalyticEvent = async (e) => this.fetchInstance.post(a.ANALYTICS_EVENTS, e).catch((n) => {
93
+ throw n;
94
+ });
95
+ sendAnalyticsPageview = async (e) => this.fetchInstance.post(a.ANALYTICS_PAGEVIEWS, e).catch((n) => {
96
+ throw n;
97
+ });
98
+ }
99
+ class l {
100
+ fetchInstance;
101
+ constructor(e, n, t) {
102
+ this.fetchInstance = new o(e, n, void 0, t);
103
+ }
104
+ getBeats = async (e, n) => {
105
+ const t = `page=${e || 1}&per_page=${n || 5}`;
106
+ return this.fetchInstance.get(`${a.BEATS}?${t}`).then((r) => r.beats);
107
+ };
108
+ getBeatsWithAssociatedTransaction = async (e) => {
109
+ let n = "has_associated_transaction_guid=true";
110
+ return n += e ? `&from_date=${e}` : "", this.fetchInstance.get(`${a.BEATS}?${n}`).then((t) => t.beats);
111
+ };
112
+ getOffers = async () => this.fetchInstance.get(`${a.OFFERS}/${a.PULSE_COMMUNICATIONS}`).then((e) => e.pulse_communications);
113
+ updateBeat = async (e) => this.fetchInstance.put(`${a.BEATS}/${e.guid}`, e).then((n) => n.beat);
114
+ updateOffer = async (e) => this.fetchInstance.put(`${a.OFFERS}/${e.guid}`, e).then((n) => n.beat);
115
+ }
116
+ class g {
117
+ fetchInstance;
118
+ constructor(e, n, t) {
119
+ this.fetchInstance = new o(e, n, void 0, t);
120
+ }
121
+ getGlobalCopy = async (e, n) => this.fetchInstance.post(`${a.LOCALIZED_CONTENT}/${e}`, { translation_key: n }).then((t) => t);
122
+ }
123
+ export {
124
+ f as A,
125
+ l as B,
126
+ o as F,
127
+ g as G
128
+ };
@@ -1,9 +1,9 @@
1
1
  import { fromUnixTime as s } from "date-fns/fromUnixTime";
2
2
  import { addYears as C } from "date-fns/addYears";
3
3
  import { getUnixTime as N } from "date-fns/getUnixTime";
4
- import { a as g } from "./NumberFormatting-Dnk0YyfZ.mjs";
5
- import { b as r } from "./Localization-Li21_krp.mjs";
6
- import { f as T, D as O } from "./DateFormats-BSktnUw6.mjs";
4
+ import { a as g } from "./NumberFormatting--XMeeBfr.mjs";
5
+ import { b as r } from "./Localization-DnoVyBNK.mjs";
6
+ import { f as T, D as O } from "./DateFormats-HudZ3Bjs.mjs";
7
7
  var e = /* @__PURE__ */ ((t) => (t[t.DEBT_TRACK = 1] = "DEBT_TRACK", t[t.SAVINGS_TRACK = 2] = "SAVINGS_TRACK", t[t.RETIREMENT_TRACK = 3] = "RETIREMENT_TRACK", t[t.EMERGENCY_FUND_TRACK = 4] = "EMERGENCY_FUND_TRACK", t))(e || {}), I = /* @__PURE__ */ ((t) => (t[t.SAVE_AMOUNT = 1] = "SAVE_AMOUNT", t[t.KEEP_BALANCE_BELOW = 2] = "KEEP_BALANCE_BELOW", t[t.KEEP_BALANCE_ABOVE = 3] = "KEEP_BALANCE_ABOVE", t[t.ACTION = 4] = "ACTION", t))(I || {}), n = /* @__PURE__ */ ((t) => (t[t.AUTOMOBILE = 1] = "AUTOMOBILE", t[t.COLLEGE = 2] = "COLLEGE", t[t.HOUSE = 3] = "HOUSE", t[t.RECREATIONAL_VEHICLE = 4] = "RECREATIONAL_VEHICLE", t[t.VACATION = 5] = "VACATION", t[t.ELECTRONIC = 6] = "ELECTRONIC", t[t.OTHER = 7] = "OTHER", t[t.RETIREMENT = 8] = "RETIREMENT", t[t.EMERGENCY_FUND = 9] = "EMERGENCY_FUND", t[t.SETUP_BUDGETS = 10] = "SETUP_BUDGETS", t[t.START_MONEY_MANAGEMENT = 11] = "START_MONEY_MANAGEMENT", t[t.CREDIT_CARD = 12] = "CREDIT_CARD", t[t.LINE_OF_CREDIT = 13] = "LINE_OF_CREDIT", t[t.LOANS = 14] = "LOANS", t))(n || {});
8
8
  function h(t, E) {
9
9
  const o = E.track_type === e.DEBT_TRACK ? E.initial_amount : E.amount;
@@ -16,7 +16,7 @@ import { g as V, u as K, t as nt, d as It, b as Tt, C as Et, a as Ct } from "./h
16
16
  import { A as k } from "./Analytics-CzGzz_sE.mjs";
17
17
  import At from "@mui/material/Breadcrumbs";
18
18
  import { useTheme as Q } from "@mui/material/styles";
19
- import { b as s } from "./Localization-Li21_krp.mjs";
19
+ import { b as s } from "./Localization-DnoVyBNK.mjs";
20
20
  import { E as Ot } from "./ErrorBoundary-CsdOcnJ9.mjs";
21
21
  import { u as Nt } from "./useScreenSize-CeFhWTt_.mjs";
22
22
  import { observer as lt } from "mobx-react-lite";
@@ -12,7 +12,7 @@ import { AreaPlot as vt, LinePlot as St, MarkPlot as At } from "@mui/x-charts/Li
12
12
  import { observer as Dt } from "mobx-react-lite";
13
13
  import z from "@mui/material/Stack";
14
14
  import { Text as d } from "@mxenabled/mxui";
15
- import { f as L, c as O } from "./NumberFormatting-Dnk0YyfZ.mjs";
15
+ import { f as L, c as O } from "./NumberFormatting--XMeeBfr.mjs";
16
16
  import { u as Tt } from "./hooks-BaO_gOI6.mjs";
17
17
  import Rt from "@mui/material/useMediaQuery";
18
18
  import { Stack as M, Box as $t } from "@mui/material";
@@ -0,0 +1,38 @@
1
+ import u from "react";
2
+ const m = {
3
+ EN_US: "en-us",
4
+ EN_CA: "en-ca",
5
+ FR: "fr",
6
+ FR_CA: "fr-ca",
7
+ ES: "es"
8
+ }, d = Object.values(m), w = () => {
9
+ const n = m.EN_US, e = window?.app?.options?.language?.toLowerCase() ?? "", s = window.navigator.language.toLowerCase();
10
+ return e === "browser" && d.includes(s) ? s : d.includes(e) ? e : n;
11
+ }, h = /(?<static>.*?)(?<dynamic>(?:_\d+{(?:.*?)}))|(?<staticEnd>.+)/g, b = (n, ...e) => {
12
+ if (!n) return "";
13
+ const s = e.some((o) => typeof o != "string"), a = [...n.matchAll(h)].reduce(
14
+ (o, p, f) => {
15
+ const c = [...o], t = p.groups;
16
+ if (t?.static && c.push(t.static), t?.dynamic) {
17
+ const l = t.dynamic.indexOf("{"), g = t.dynamic.substring(l + 1, t.dynamic.length - 1), r = Number(t.dynamic.substring(1, l));
18
+ if (u.isValidElement(e[r - 1])) {
19
+ const y = e[r - 1], E = u.cloneElement(y, {
20
+ key: `${g}-${f}`
21
+ });
22
+ c.push(E);
23
+ } else
24
+ c.push(e[r - 1]);
25
+ }
26
+ return t?.staticEnd && c.push(t.staticEnd), c;
27
+ },
28
+ []
29
+ );
30
+ return s ? a : a.join("");
31
+ }, C = (n, e, s, ...i) => !n || !e ? "" : b(s === 1 ? n : e, ...i);
32
+ export {
33
+ m as L,
34
+ d as V,
35
+ C as a,
36
+ b,
37
+ w as g
38
+ };