@mx-cartographer/experiences 8.0.20 → 8.0.22

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## [8.0.22] - 04-18-2026
2
+
3
+ - **FIXED** - `CategoryBudget` label Bug.
4
+
5
+ ## [8.0.21] - 04-17-2026
6
+
7
+ - **ADDED** - `ClientConfigurableCta` for Insights Card
8
+
1
9
  ## [8.0.20] - 04-15-2026
2
10
 
3
11
  - **UPDATED** - Widget container header styles
@@ -1,35 +1,35 @@
1
1
  import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
- import w, { useMemo as X, useState as K, useEffect as q } from "react";
2
+ import _, { useMemo as q, useState as K, useEffect as J } from "react";
3
3
  import A from "@mui/material/Box";
4
4
  import Y from "@mui/material/Button";
5
5
  import c from "@mui/material/Stack";
6
- import { Icon as E, P as N, H3 as J, Text as f, MerchantLogo as P, H2 as tt } from "@mxenabled/mxui";
7
- import { Receipt as et, Icon as rt } from "@mxenabled/mx-icons";
8
- import { L as nt, O as it, e as ot } from "./exportTransactionsToCSV-DgdB3TBt.mjs";
9
- import { observer as O } from "mobx-react-lite";
10
- import { useVirtualizer as at } from "@tanstack/react-virtual";
11
- import st from "@mui/material/Divider";
12
- import lt from "@mui/material/List";
13
- import { G as ct, h as W, u as H, g as dt, b as ht } from "./hooks-BxkfR-Ff.mjs";
14
- import mt from "@mui/material/ListItemAvatar";
15
- import pt from "@mui/material/ListItemText";
6
+ import { Icon as E, P as N, H3 as P, Text as f, MerchantLogo as tt, H2 as et } from "@mxenabled/mxui";
7
+ import { Receipt as rt, Icon as nt } from "@mxenabled/mx-icons";
8
+ import { L as it, O as ot, e as at } from "./exportTransactionsToCSV-DgdB3TBt.mjs";
9
+ import { observer as H } from "mobx-react-lite";
10
+ import { useVirtualizer as st } from "@tanstack/react-virtual";
11
+ import lt from "@mui/material/Divider";
12
+ import ct from "@mui/material/List";
13
+ import { G as dt, h as W, u as O, g as ht, b as mt } from "./hooks-BxkfR-Ff.mjs";
14
+ import pt from "@mui/material/ListItemAvatar";
15
+ import ut from "@mui/material/ListItemText";
16
16
  import { useTheme as z } from "@mui/material/styles";
17
- import { a as ut } from "./Transaction-C3Pg9TKf.mjs";
17
+ import { a as ft } from "./Transaction-C3Pg9TKf.mjs";
18
18
  import { f as B } from "./NumberFormatting-QCaNwbjv.mjs";
19
19
  import { fromUnixTime as R } from "date-fns/fromUnixTime";
20
20
  import { isSameDay as Z } from "date-fns/isSameDay";
21
- import { f as ft, D as gt } from "./DateFormats-BMpMrZpW.mjs";
22
- import { h as xt } from "./DateUtil-wcYTmDRD.mjs";
21
+ import { f as gt, D as xt } from "./DateFormats-BMpMrZpW.mjs";
22
+ import { h as bt } from "./DateUtil-wcYTmDRD.mjs";
23
23
  import { L as Q } from "./Loader-D3rjKx72.mjs";
24
- import { A as bt } from "./Analytics-0Xm_BjHU.mjs";
25
- import yt from "@mui/material/Tab";
24
+ import { A as yt } from "./Analytics-0Xm_BjHU.mjs";
25
+ import _t from "@mui/material/Tab";
26
26
  import wt from "@mui/material/Tabs";
27
- import _t from "@mui/material/IconButton";
28
- import { ChartContainer as Ct, ChartsReferenceLine as j, ChartsXAxis as vt, BarPlot as Tt } from "@mui/x-charts";
29
- import { D as Dt } from "./Drawer-Bbe4AMB1.mjs";
30
- import St from "@mui/material/Card";
31
- const It = ({ message: t, tipAriaLabel: n, onDismiss: r, onAction: i, sx: o }) => {
32
- const l = i || r, h = i ? "chevron_right" : "close";
27
+ import Ct from "@mui/material/IconButton";
28
+ import { ChartContainer as vt, ChartsReferenceLine as j, ChartsXAxis as Tt, BarPlot as Dt } from "@mui/x-charts";
29
+ import { D as St } from "./Drawer-Bbe4AMB1.mjs";
30
+ import It from "@mui/material/Card";
31
+ const Lt = ({ message: t, tipAriaLabel: n, onDismiss: r, onAction: i, sx: o }) => {
32
+ const s = i || r, h = i ? "chevron_right" : "close";
33
33
  return /* @__PURE__ */ a(
34
34
  c,
35
35
  {
@@ -51,11 +51,11 @@ const It = ({ message: t, tipAriaLabel: n, onDismiss: r, onAction: i, sx: o }) =
51
51
  /* @__PURE__ */ e(E, { color: "info", fill: !0, name: "lightbulb", size: 24 }),
52
52
  /* @__PURE__ */ e(N, { color: "primary.dark", fontWeight: 400, noWrap: !1, variant: "subtitle2", children: t })
53
53
  ] }),
54
- l && /* @__PURE__ */ e(
55
- _t,
54
+ s && /* @__PURE__ */ e(
55
+ Ct,
56
56
  {
57
57
  "aria-label": n,
58
- onClick: l,
58
+ onClick: s,
59
59
  size: "small",
60
60
  sx: { minHeight: 0, minWidth: 0, p: 0 },
61
61
  children: /* @__PURE__ */ e(E, { color: "primary", fill: !0, name: h, size: 20 })
@@ -64,20 +64,20 @@ const It = ({ message: t, tipAriaLabel: n, onDismiss: r, onAction: i, sx: o }) =
64
64
  ]
65
65
  }
66
66
  );
67
- }, Lt = ({
67
+ }, kt = ({
68
68
  ariaLabel: t,
69
69
  beat: n,
70
70
  chart: r,
71
71
  children: i,
72
72
  data: o,
73
- defaultSelectedIndex: l,
73
+ defaultSelectedIndex: s,
74
74
  icon: h,
75
75
  onTabChange: g,
76
76
  tipSection: m
77
77
  }) => {
78
- const { heading: d, subHeading: u } = n, x = X(
79
- () => l ?? (o.length ? o.length - 1 : 0),
80
- [l, o.length]
78
+ const { heading: d, subHeading: u } = n, x = q(
79
+ () => s ?? (o.length ? o.length - 1 : 0),
80
+ [s, o.length]
81
81
  ), [y, p] = K(x), S = (v, T) => {
82
82
  g?.(T), p(T);
83
83
  }, I = (v) => {
@@ -85,7 +85,7 @@ const It = ({ message: t, tipAriaLabel: n, onDismiss: r, onAction: i, sx: o }) =
85
85
  };
86
86
  return /* @__PURE__ */ a(A, { sx: { bgcolor: "background.paper", width: "100%" }, children: [
87
87
  /* @__PURE__ */ e(wt, { "aria-label": t, onChange: S, value: y, variant: "fullWidth", children: o.map((v, T) => /* @__PURE__ */ e(
88
- yt,
88
+ _t,
89
89
  {
90
90
  id: `transaction-details-tab-${T}`,
91
91
  label: v.label,
@@ -94,54 +94,61 @@ const It = ({ message: t, tipAriaLabel: n, onDismiss: r, onAction: i, sx: o }) =
94
94
  `${v.label}-${T}`
95
95
  )) }),
96
96
  /* @__PURE__ */ e(c, { sx: { pt: 16, px: 24 }, children: (d || u) && /* @__PURE__ */ a(c, { sx: { gap: 4 }, children: [
97
- d && /* @__PURE__ */ e(J, { children: d }),
97
+ d && /* @__PURE__ */ e(P, { children: d }),
98
98
  u && /* @__PURE__ */ a(c, { sx: { alignItems: "center", flexDirection: "row", gap: 8 }, children: [
99
99
  h,
100
100
  /* @__PURE__ */ e(f, { textTransform: "uppercase", variant: "body2", children: u.description })
101
101
  ] })
102
102
  ] }) }),
103
103
  r?.(y, I),
104
- m && /* @__PURE__ */ e(It, { ...m }),
104
+ m && /* @__PURE__ */ e(Lt, { ...m }),
105
105
  i?.(y)
106
106
  ] });
107
107
  }, V = () => {
108
- if (!w.useContext(ct))
108
+ if (!_.useContext(dt))
109
109
  throw new Error("useTransactionsUiStore() must be used within the GlobalDataContext");
110
110
  return W().uiStore;
111
111
  };
112
- function kt() {
112
+ function At() {
113
113
  return window.opener && window.opener.location ? window.opener.location.toString() : document.referrer;
114
114
  }
115
- function At(t) {
116
- const n = kt().replace(/([^:]+:\/\/[^\/]+).*/, "$1"), r = window.parent || window.opener || !1;
115
+ function X(t) {
116
+ const n = At().replace(/([^:]+:\/\/[^\/]+).*/, "$1"), r = window.parent || window.opener || !1;
117
117
  return r && r.postMessage && n ? (r.postMessage(t, n), !0) : !1;
118
118
  }
119
119
  function $t(t) {
120
- return At({
120
+ return X({
121
121
  metadata: { beat_guid: t },
122
122
  mx: !0,
123
123
  type: "mx/moneyDashboard/insightOnTransaction"
124
124
  });
125
125
  }
126
+ function ve(t) {
127
+ return X({
128
+ metadata: { template: t },
129
+ mx: !0,
130
+ type: "mx/pulse/client_configured_cta"
131
+ });
132
+ }
126
133
  const Et = ({ transaction: t, onClick: n }) => {
127
- const i = z().palette.mode === "dark", { associatedBeats: o } = W(), { expandedSplits: l } = V(), { transactions: h } = H(), { showInsights: g } = V(), m = t.transaction_type === ut.CREDIT, d = w.useMemo(() => o.find((u) => u.associated_transaction_guid === t.guid), [o, t]);
134
+ const i = z().palette.mode === "dark", { associatedBeats: o } = W(), { expandedSplits: s } = V(), { transactions: h } = O(), { showInsights: g } = V(), m = t.transaction_type === ft.CREDIT, d = _.useMemo(() => o.find((u) => u.associated_transaction_guid === t.guid), [o, t]);
128
135
  return (
129
136
  //TODO: implement common/components/ListItemRow.tsx
130
137
  /* @__PURE__ */ a(
131
- nt,
138
+ it,
132
139
  {
133
- clickEventName: it.ON_TRANSACTION_LIST_ITEM_CLICK,
140
+ clickEventName: ot.ON_TRANSACTION_LIST_ITEM_CLICK,
134
141
  onClick: n ? () => n(t.guid) : void 0,
135
142
  children: [
136
- /* @__PURE__ */ e(mt, { children: t.parent_guid && l.includes(t.parent_guid) ? /* @__PURE__ */ e(w.Fragment, {}) : /* @__PURE__ */ e(
137
- P,
143
+ /* @__PURE__ */ e(pt, { children: t.parent_guid && s.includes(t.parent_guid) ? /* @__PURE__ */ e(_.Fragment, {}) : /* @__PURE__ */ e(
144
+ tt,
138
145
  {
139
146
  categoryGuid: t.top_level_category_guid || "",
140
147
  merchantGuid: t.merchant_guid || ""
141
148
  }
142
149
  ) }),
143
150
  /* @__PURE__ */ e(
144
- pt,
151
+ ut,
145
152
  {
146
153
  disableTypography: !0,
147
154
  secondary: /* @__PURE__ */ a(c, { direction: "row", justifyContent: "space-between", children: [
@@ -197,24 +204,24 @@ const Et = ({ transaction: t, onClick: n }) => {
197
204
  }
198
205
  )
199
206
  );
200
- }, Mt = O(Et), Rt = ({
207
+ }, Mt = H(Et), Rt = ({
201
208
  bgcolor: t = "background.default",
202
209
  children: n
203
210
  }) => /* @__PURE__ */ e(A, { display: "inline-block", sx: { bgcolor: t, py: 6, width: "100%" }, children: /* @__PURE__ */ e(f, { bold: !0, sx: { pl: 24 }, variant: "caption", children: n }) }), Wt = ({ showIcon: t = !0, showSubtitle: n = !0 }) => {
204
- const { transactions: r } = H();
211
+ const { transactions: r } = O();
205
212
  return /* @__PURE__ */ a(c, { alignItems: "center", gap: 12, height: "auto", mb: 24, mt: 24, children: [
206
- t && /* @__PURE__ */ e(et, { color: "action", sx: { fontSize: 32 } }),
213
+ t && /* @__PURE__ */ e(rt, { color: "action", sx: { fontSize: 32 } }),
207
214
  /* @__PURE__ */ e(f, { bold: !0, color: "text.secondary", variant: "body2", children: r.zero_state_no_transactions }),
208
215
  n && /* @__PURE__ */ e(f, { color: "text.secondary", variant: "caption", children: r.zero_state_there_are_no_transactions })
209
216
  ] });
210
- }, zt = O(Wt), G = (t, n) => {
217
+ }, zt = H(Wt), G = (t, n) => {
211
218
  const r = R(n[t].date), i = R(n[t - 1]?.date);
212
219
  return !Z(r, i);
213
220
  }, Bt = (t, n) => {
214
221
  const r = R(n[t].date), i = R(n[t + 1]?.date);
215
222
  return Z(r, i);
216
- }, ve = (t) => t?.data ? t.data.map((n) => Object.fromEntries((t.names || []).map((r, i) => [r, n[i]]))) : [], Te = (t, n = "") => t.map((i) => {
217
- const o = ft(i.date, gt.MONTH_SHORT);
223
+ }, Te = (t) => t?.data ? t.data.map((n) => Object.fromEntries((t.names || []).map((r, i) => [r, n[i]]))) : [], De = (t, n = "") => t.map((i) => {
224
+ const o = gt(i.date, xt.MONTH_SHORT);
218
225
  return {
219
226
  ariaLabel: `
220
227
  ${o},
@@ -230,33 +237,33 @@ const Et = ({ transaction: t, onClick: n }) => {
230
237
  height: r = "calc(100dvh - 36px)",
231
238
  loader: i = /* @__PURE__ */ e(Q, { label: "Loading", size: 40 }),
232
239
  onClick: o,
233
- showInsights: l = !1,
240
+ showInsights: s = !1,
234
241
  showLoader: h = !1,
235
242
  showHiddenTransactions: g = !1,
236
243
  transaction: m,
237
244
  width: d = "100%",
238
245
  zeroState: u = /* @__PURE__ */ e(zt, {})
239
246
  }) => {
240
- const { isLoading: x, sortedTransactions: y } = W(), p = w.useMemo(() => {
241
- const b = n ? y.filter(n) : y, _ = m ?? b;
242
- return g ? _ : _.filter((s) => !s.is_hidden);
243
- }, [y, g, m]), { clearExpandedSplits: S, setShowInsights: I, toggleSplit: v } = V(), { onEvent: T } = dt(), M = (b) => {
244
- const _ = p.find((s) => s.guid === b);
245
- if (_?.has_been_split) {
246
- v(_.guid);
247
+ const { isLoading: x, sortedTransactions: y } = W(), p = _.useMemo(() => {
248
+ const b = n ? y.filter(n) : y, w = m ?? b;
249
+ return g ? w : w.filter((l) => !l.is_hidden);
250
+ }, [y, g, m]), { clearExpandedSplits: S, setShowInsights: I, toggleSplit: v } = V(), { onEvent: T } = ht(), M = (b) => {
251
+ const w = p.find((l) => l.guid === b);
252
+ if (w?.has_been_split) {
253
+ v(w.guid);
247
254
  return;
248
255
  }
249
- T(bt.ACCOUNT_DETAILS_CLICK_TRANSACTION, {
250
- account_guid: _?.account_guid,
256
+ T(yt.ACCOUNT_DETAILS_CLICK_TRANSACTION, {
257
+ account_guid: w?.account_guid,
251
258
  transaction_guid: b
252
259
  }), o?.(b);
253
- }, L = w.useRef(null), k = at({
260
+ }, L = _.useRef(null), k = st({
254
261
  count: p.length,
255
262
  getScrollElement: () => L.current,
256
263
  estimateSize: (b) => U + (G(b, p) ? F : 0),
257
264
  overscan: 5
258
265
  });
259
- return w.useEffect(() => k.measure(), [p]), w.useEffect(() => I(l), [l]), w.useEffect(() => () => S(), []), /* @__PURE__ */ e(lt, { component: "div", role: "list", sx: { width: d }, children: /* @__PURE__ */ e(A, { height: r, overflow: "auto", ref: L, role: "presentation", width: d, children: /* @__PURE__ */ a(
266
+ return _.useEffect(() => k.measure(), [p]), _.useEffect(() => I(s), [s]), _.useEffect(() => () => S(), []), /* @__PURE__ */ e(ct, { component: "div", role: "list", sx: { width: d }, children: /* @__PURE__ */ e(A, { height: r, overflow: "auto", ref: L, role: "presentation", width: d, children: /* @__PURE__ */ a(
260
267
  A,
261
268
  {
262
269
  height: (
@@ -270,7 +277,7 @@ const Et = ({ transaction: t, onClick: n }) => {
270
277
  (x || h) && i,
271
278
  !x && !h && k.getVirtualItems().length === 0 && u,
272
279
  !x && !h && k.getVirtualItems().length > 0 && k.getVirtualItems().map((b) => {
273
- const _ = p[b.index], s = G(b.index, p), C = Bt(b.index, p), D = U + (s ? F : 0);
280
+ const w = p[b.index], l = G(b.index, p), C = Bt(b.index, p), D = U + (l ? F : 0);
274
281
  return /* @__PURE__ */ a(
275
282
  A,
276
283
  {
@@ -283,43 +290,43 @@ const Et = ({ transaction: t, onClick: n }) => {
283
290
  bgcolor: "background.paper"
284
291
  },
285
292
  children: [
286
- s && /* @__PURE__ */ e(Rt, { bgcolor: t, children: xt(_.date) }),
293
+ l && /* @__PURE__ */ e(Rt, { bgcolor: t, children: bt(w.date) }),
287
294
  /* @__PURE__ */ e(
288
295
  Mt,
289
296
  {
290
297
  ...o && { onClick: M },
291
- transaction: _
298
+ transaction: w
292
299
  }
293
300
  ),
294
- /* @__PURE__ */ e(st, { sx: { ml: C ? 68 : 0 } })
301
+ /* @__PURE__ */ e(lt, { sx: { ml: C ? 68 : 0 } })
295
302
  ]
296
303
  },
297
- _.guid
304
+ w.guid
298
305
  );
299
306
  })
300
307
  ]
301
308
  }
302
309
  ) }) });
303
- }, Nt = O(Vt), Ot = (t) => {
310
+ }, Nt = H(Vt), Ht = (t) => {
304
311
  const [n, r] = K({ width: 0, height: 0 });
305
- return q(() => {
312
+ return J(() => {
306
313
  const i = () => {
307
314
  if (t.current) {
308
- const { offsetWidth: o, offsetHeight: l } = t.current;
309
- r({ width: o, height: l });
315
+ const { offsetWidth: o, offsetHeight: s } = t.current;
316
+ r({ width: o, height: s });
310
317
  }
311
318
  };
312
319
  return i(), window.addEventListener("resize", i), () => {
313
320
  window.removeEventListener("resize", i);
314
321
  };
315
322
  }, [t]), n;
316
- }, Ht = ({
323
+ }, Ot = ({
317
324
  color: t,
318
325
  legendStyle: n = {},
319
326
  monthlyAmount: r,
320
327
  monthlyAmountLabel: i,
321
328
  trendAmount: o,
322
- trendAmountLabel: l
329
+ trendAmountLabel: s
323
330
  }) => {
324
331
  const h = z();
325
332
  return /* @__PURE__ */ a(
@@ -354,7 +361,7 @@ const Et = ({ transaction: t, onClick: n }) => {
354
361
  r
355
362
  ] })
356
363
  ] }),
357
- l && /* @__PURE__ */ a(c, { sx: { alignItems: "center", flexDirection: "row", gap: 8 }, children: [
364
+ s && /* @__PURE__ */ a(c, { sx: { alignItems: "center", flexDirection: "row", gap: 8 }, children: [
358
365
  /* @__PURE__ */ e(
359
366
  "svg",
360
367
  {
@@ -368,7 +375,7 @@ const Et = ({ transaction: t, onClick: n }) => {
368
375
  }
369
376
  ),
370
377
  /* @__PURE__ */ a(f, { id: "chartLegendLabel", variant: "caption", children: [
371
- l,
378
+ s,
372
379
  ": ",
373
380
  o
374
381
  ] })
@@ -386,10 +393,10 @@ const Et = ({ transaction: t, onClick: n }) => {
386
393
  dataIndex: r,
387
394
  removeSelectedTabColorChange: i,
388
395
  selectedTabIndex: o,
389
- style: l,
396
+ style: s,
390
397
  ...h
391
398
  }) => {
392
- const g = z(), { ariaLabel: m, formattedAmount: d } = n[r], u = o === r ? "bold" : 400, x = l.x ?? 0, y = l.y ?? 0, p = l.width ?? 0, S = l.height ?? 0;
399
+ const g = z(), { ariaLabel: m, formattedAmount: d } = n[r], u = o === r ? "bold" : 400, x = s.x ?? 0, y = s.y ?? 0, p = s.width ?? 0, S = s.height ?? 0;
393
400
  return /* @__PURE__ */ a("g", { "aria-label": m, children: [
394
401
  /* @__PURE__ */ e(
395
402
  "path",
@@ -424,19 +431,19 @@ const Et = ({ transaction: t, onClick: n }) => {
424
431
  right: 40,
425
432
  top: 20
426
433
  },
427
- onBarClick: l,
434
+ onBarClick: s,
428
435
  legendPosition: h = "bottom",
429
436
  monthlyAmountLabel: g,
430
437
  removeSelectedTabColorChange: m,
431
438
  selectedTabIndex: d,
432
439
  trendAmountLabel: u
433
440
  }) => {
434
- const x = w.useRef(null), { height: y, width: p } = Ot(x), S = z(), I = w.useMemo(() => {
435
- const s = r.map(({ value: $ }) => $), C = Math.min(...s), D = Math.max(...s);
441
+ const x = _.useRef(null), { height: y, width: p } = Ht(x), S = z(), I = _.useMemo(() => {
442
+ const l = r.map(({ value: $ }) => $), C = Math.min(...l), D = Math.max(...l);
436
443
  return {
437
444
  series: [
438
445
  {
439
- data: s,
446
+ data: l,
440
447
  type: "bar"
441
448
  }
442
449
  ],
@@ -455,14 +462,14 @@ const Et = ({ transaction: t, onClick: n }) => {
455
462
  }
456
463
  ]
457
464
  };
458
- }, [r]), v = w.useMemo(() => {
459
- const s = `${n}80`;
460
- return m ? r.map(() => n) : d == null ? [...new Array(r.length - 1).fill(s), n] : r.map((C, D) => D === d ? n : s);
461
- }, [n, r, d]), T = w.useMemo(
465
+ }, [r]), v = _.useMemo(() => {
466
+ const l = `${n}80`;
467
+ return m ? r.map(() => n) : d == null ? [...new Array(r.length - 1).fill(l), n] : r.map((C, D) => D === d ? n : l);
468
+ }, [n, r, d]), T = _.useMemo(
462
469
  () => r[d ?? r.length - 1],
463
470
  [r, d]
464
- ), L = r.reduce((s, C) => Math.min(s, C.value), 1 / 0) < 0, k = /* @__PURE__ */ e(
465
- Ht,
471
+ ), L = r.reduce((l, C) => Math.min(l, C.value), 1 / 0) < 0, k = /* @__PURE__ */ e(
472
+ Ot,
466
473
  {
467
474
  color: n,
468
475
  legendStyle: { pl: o.left },
@@ -471,7 +478,7 @@ const Et = ({ transaction: t, onClick: n }) => {
471
478
  trendAmount: t?.formattedAverage,
472
479
  trendAmountLabel: u
473
480
  }
474
- ), b = g || u, _ = (s, { dataIndex: C }) => l?.(C);
481
+ ), b = g || u, w = (l, { dataIndex: C }) => s?.(C);
475
482
  return /* @__PURE__ */ a(c, { sx: { alignItems: "center", width: "100%" }, children: [
476
483
  b && h === "top" && k,
477
484
  /* @__PURE__ */ e(
@@ -493,7 +500,7 @@ const Et = ({ transaction: t, onClick: n }) => {
493
500
  }
494
501
  },
495
502
  children: /* @__PURE__ */ a(
496
- Ct,
503
+ vt,
497
504
  {
498
505
  height: y,
499
506
  margin: {
@@ -531,12 +538,12 @@ const Et = ({ transaction: t, onClick: n }) => {
531
538
  }
532
539
  ),
533
540
  /* @__PURE__ */ e(
534
- vt,
541
+ Tt,
535
542
  {
536
543
  position: "bottom",
537
544
  slots: {
538
545
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
539
- axisTickLabel: ({ text: s, ownerState: C, ...D }) => {
546
+ axisTickLabel: ({ text: l, ownerState: C, ...D }) => {
540
547
  const $ = r[d ?? r.length - 1]?.label;
541
548
  return /* @__PURE__ */ e(
542
549
  "text",
@@ -544,16 +551,16 @@ const Et = ({ transaction: t, onClick: n }) => {
544
551
  ...D,
545
552
  style: {
546
553
  ...D.style,
547
- fontWeight: !m && $ === s ? "bold" : 400
554
+ fontWeight: !m && $ === l ? "bold" : 400
548
555
  },
549
- children: s
556
+ children: l
550
557
  }
551
558
  );
552
559
  }
553
560
  },
554
- sx: (s) => ({
561
+ sx: (l) => ({
555
562
  "& .MuiChartsAxis-line": {
556
- stroke: L ? "none" : s.palette.text?.primary
563
+ stroke: L ? "none" : l.palette.text?.primary
557
564
  },
558
565
  "& .MuiChartsAxis-tickContainer:first-of-type .MuiChartsAxis-tick": {
559
566
  display: "none"
@@ -568,12 +575,12 @@ const Et = ({ transaction: t, onClick: n }) => {
568
575
  }
569
576
  ),
570
577
  /* @__PURE__ */ e(
571
- Tt,
578
+ Dt,
572
579
  {
573
- onItemClick: _,
580
+ onItemClick: w,
574
581
  slots: {
575
- bar: (s) => {
576
- const { ownerState: C, ...D } = s;
582
+ bar: (l) => {
583
+ const { ownerState: C, ...D } = l;
577
584
  return /* @__PURE__ */ e(
578
585
  Gt,
579
586
  {
@@ -584,10 +591,10 @@ const Et = ({ transaction: t, onClick: n }) => {
584
591
  removeSelectedTabColorChange: m,
585
592
  selectedTabIndex: d ?? r.length - 1,
586
593
  style: {
587
- height: s.height,
588
- x: s.x,
589
- y: s.y,
590
- width: s.width
594
+ height: l.height,
595
+ x: l.x,
596
+ y: l.y,
597
+ width: l.width
591
598
  }
592
599
  }
593
600
  );
@@ -608,7 +615,7 @@ const Et = ({ transaction: t, onClick: n }) => {
608
615
  beat: r,
609
616
  data: i,
610
617
  defaultSelectedIndex: o = 0,
611
- icon: l,
618
+ icon: s,
612
619
  isOpen: h = !1,
613
620
  onClose: g,
614
621
  onTabChange: m,
@@ -616,9 +623,9 @@ const Et = ({ transaction: t, onClick: n }) => {
616
623
  title: u,
617
624
  transactionListProps: x = {}
618
625
  }) => {
619
- const { common: y, transactions: p } = H(), { isCopyLoaded: S } = ht(), { sortedTransactionsWithSplits: I, tags: v } = W();
620
- return S ? /* @__PURE__ */ e(Dt, { ariaLabelClose: y.close_aria, isOpen: h, onClose: g, title: u, children: /* @__PURE__ */ e(
621
- Lt,
626
+ const { common: y, transactions: p } = O(), { isCopyLoaded: S } = mt(), { sortedTransactionsWithSplits: I, tags: v } = W();
627
+ return S ? /* @__PURE__ */ e(St, { ariaLabelClose: y.close_aria, isOpen: h, onClose: g, title: u, children: /* @__PURE__ */ e(
628
+ kt,
622
629
  {
623
630
  ariaLabel: t,
624
631
  beat: r,
@@ -634,10 +641,10 @@ const Et = ({ transaction: t, onClick: n }) => {
634
641
  ) }),
635
642
  data: i,
636
643
  defaultSelectedIndex: o,
637
- icon: l,
644
+ icon: s,
638
645
  onTabChange: m,
639
646
  tipSection: d,
640
- children: () => /* @__PURE__ */ a(w.Fragment, { children: [
647
+ children: () => /* @__PURE__ */ a(_.Fragment, { children: [
641
648
  /* @__PURE__ */ a(
642
649
  c,
643
650
  {
@@ -658,12 +665,12 @@ const Et = ({ transaction: t, onClick: n }) => {
658
665
  Y,
659
666
  {
660
667
  onClick: () => {
661
- ot(
668
+ at(
662
669
  x?.transaction || I,
663
670
  v
664
671
  );
665
672
  },
666
- startIcon: /* @__PURE__ */ e(rt, { name: "ios_share" }),
673
+ startIcon: /* @__PURE__ */ e(nt, { name: "ios_share" }),
667
674
  sx: { height: 28 },
668
675
  children: /* @__PURE__ */ e(f, { bold: !0, variant: "body2", children: p.export_csv_btn })
669
676
  }
@@ -675,13 +682,13 @@ const Et = ({ transaction: t, onClick: n }) => {
675
682
  ] })
676
683
  }
677
684
  ) }) : /* @__PURE__ */ e(Q, {});
678
- }, De = Ft, Kt = ({
685
+ }, Se = Ft, Kt = ({
679
686
  amount: t,
680
687
  borderRadius: n = "2px",
681
688
  count: r,
682
689
  completeColor: i = "success.main",
683
690
  icon: o,
684
- label: l,
691
+ label: s,
685
692
  leftLabel: h,
686
693
  percentComplete: g = 0,
687
694
  rightLabel: m,
@@ -690,8 +697,8 @@ const Et = ({ transaction: t, onClick: n }) => {
690
697
  /* @__PURE__ */ a(c, { sx: { alignItems: "center", flexDirection: "row", gap: 12 }, children: [
691
698
  /* @__PURE__ */ e(A, { children: o }),
692
699
  /* @__PURE__ */ a(c, { children: [
693
- typeof r == "string" ? /* @__PURE__ */ e(N, { variant: "body2", children: l }) : r,
694
- typeof t == "string" ? /* @__PURE__ */ e(tt, { children: t }) : t
700
+ typeof s == "string" ? /* @__PURE__ */ e(N, { dangerouslySetInnerHTML: { __html: s }, variant: "body2" }) : s,
701
+ typeof t == "string" ? /* @__PURE__ */ e(et, { children: t }) : t
695
702
  ] })
696
703
  ] }),
697
704
  /* @__PURE__ */ a(c, { sx: { gap: 4 }, children: [
@@ -728,14 +735,14 @@ const Et = ({ transaction: t, onClick: n }) => {
728
735
  /* @__PURE__ */ e(f, { variant: "body2", children: m })
729
736
  ] })
730
737
  ] })
731
- ] }), Se = Kt, Ie = ({
738
+ ] }), Ie = Kt, Le = ({
732
739
  title: t,
733
740
  description: n,
734
741
  callToAction: r,
735
742
  instanceSlot: i = void 0,
736
743
  onCtaClick: o = () => {
737
744
  }
738
- }) => /* @__PURE__ */ a(St, { sx: { pt: 8, pr: 16, pb: 12, pl: 8, borderRadius: "8px" }, children: [
745
+ }) => /* @__PURE__ */ a(It, { sx: { pt: 8, pr: 16, pb: 12, pl: 8, borderRadius: "8px" }, children: [
739
746
  /* @__PURE__ */ e(
740
747
  c,
741
748
  {
@@ -786,17 +793,18 @@ const Et = ({ transaction: t, onClick: n }) => {
786
793
  ] });
787
794
  export {
788
795
  Ut as B,
789
- De as C,
790
- Ie as E,
796
+ Se as C,
797
+ Le as E,
791
798
  Rt as S,
792
799
  Nt as T,
793
800
  Mt as a,
794
- Se as b,
795
- ve as c,
796
- Te as d,
797
- Ot as e,
798
- Lt as f,
801
+ Ie as b,
802
+ Te as c,
803
+ De as d,
804
+ Ht as e,
805
+ kt as f,
799
806
  Bt as h,
807
+ ve as p,
800
808
  G as s,
801
809
  V as u
802
810
  };
@@ -17,8 +17,8 @@ import { endOfMonth as ue } from "date-fns/endOfMonth";
17
17
  import { parseISO as me } from "date-fns/parseISO";
18
18
  import J from "@mui/material/Button";
19
19
  import { Delete as pe, Add as ye, ReceiptLong as he } from "@mxenabled/mx-icons";
20
- import { T as V, u as fe, S as ge, a as Ce } from "./EmbeddedCard-xngm4vLT.mjs";
21
- import { T as be } from "./TransactionDetails-D6XZakc-.mjs";
20
+ import { T as V, u as fe, S as ge, a as Ce } from "./EmbeddedCard-qwIhF1VP.mjs";
21
+ import { T as be } from "./TransactionDetails-I1ny1ecc.mjs";
22
22
  import { addYears as j } from "date-fns/addYears";
23
23
  import { getDayOfYear as xe } from "date-fns/getDayOfYear";
24
24
  import { setDayOfYear as Se } from "date-fns/setDayOfYear";
@@ -7,7 +7,7 @@ import R from "@mui/material/Tabs";
7
7
  import d from "@mui/material/Divider";
8
8
  import b from "@mui/material/List";
9
9
  import T from "@mui/material/Stack";
10
- import { R as C, A as S, a as E, M as v } from "./ManageIncome-BJ7c7plg.mjs";
10
+ import { R as C, A as S, a as E, M as v } from "./ManageIncome-DqqI9HB1.mjs";
11
11
  import { u as _, i as A, g as f } from "./hooks-BxkfR-Ff.mjs";
12
12
  import { R as y, F as N } from "./RepeatingTransaction-DF4vJn_v.mjs";
13
13
  import { A as m } from "./Analytics-0Xm_BjHU.mjs";
@@ -30,7 +30,7 @@ import Q from "@mui/material/ListItemAvatar";
30
30
  import z from "@mui/material/ListItemText";
31
31
  import { f as Le, D as we } from "./DateFormats-BMpMrZpW.mjs";
32
32
  import { BarChart as ot } from "@mui/x-charts";
33
- import { b as it, T as st, u as oe, c as lt, d as ct, E as dt, C as ut } from "./EmbeddedCard-xngm4vLT.mjs";
33
+ import { b as it, T as st, u as oe, c as lt, d as ct, E as dt, C as ut } from "./EmbeddedCard-qwIhF1VP.mjs";
34
34
  import X from "@mui/material/ListItemButton";
35
35
  import Z from "@mui/material/ListItemIcon";
36
36
  import { a as $e } from "./CategorySelectorDrawer-Dc9Widy9.mjs";
@@ -55,8 +55,8 @@ import e3 from "@mui/material/AlertTitle";
55
55
  import t3 from "@mui/material/Link";
56
56
  import n3 from "@mui/material/Paper";
57
57
  import { subDays as o3, startOfToday as i3, endOfToday as c3 } from "date-fns";
58
- import { T as a3 } from "../EmbeddedCard-xngm4vLT.mjs";
59
- import { T as s3 } from "../TransactionDetails-D6XZakc-.mjs";
58
+ import { T as a3 } from "../EmbeddedCard-qwIhF1VP.mjs";
59
+ import { T as s3 } from "../TransactionDetails-I1ny1ecc.mjs";
60
60
  import { T as r1 } from "../TabContentContainer-j01JYR_7.mjs";
61
61
  import { f as d1 } from "../NumberFormatting-QCaNwbjv.mjs";
62
62
  import { C as l3 } from "../ConnectionsDrawer-IA7vnv1J.mjs";