@mx-cartographer/experiences 8.0.20 → 8.0.21

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,7 @@
1
+ ## [8.0.21] - 04-17-2026
2
+
3
+ - **ADDED** - `ClientConfigurableCta` for Insights Card
4
+
1
5
  ## [8.0.20] - 04-15-2026
2
6
 
3
7
  - **UPDATED** - Widget container header styles
@@ -1,34 +1,34 @@
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";
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
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";
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 H, 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 }) => {
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
32
  const l = i || r, h = i ? "chevron_right" : "close";
33
33
  return /* @__PURE__ */ a(
34
34
  c,
@@ -52,7 +52,7 @@ const It = ({ message: t, tipAriaLabel: n, onDismiss: r, onAction: i, sx: o }) =
52
52
  /* @__PURE__ */ e(N, { color: "primary.dark", fontWeight: 400, noWrap: !1, variant: "subtitle2", children: t })
53
53
  ] }),
54
54
  l && /* @__PURE__ */ e(
55
- _t,
55
+ Ct,
56
56
  {
57
57
  "aria-label": n,
58
58
  onClick: l,
@@ -64,7 +64,7 @@ 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,
@@ -75,7 +75,7 @@ const It = ({ message: t, tipAriaLabel: n, onDismiss: r, onAction: i, sx: o }) =
75
75
  onTabChange: g,
76
76
  tipSection: m
77
77
  }) => {
78
- const { heading: d, subHeading: u } = n, x = X(
78
+ const { heading: d, subHeading: u } = n, x = q(
79
79
  () => l ?? (o.length ? o.length - 1 : 0),
80
80
  [l, o.length]
81
81
  ), [y, p] = K(x), S = (v, T) => {
@@ -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: l } = V(), { transactions: h } = H(), { 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 && l.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: [
@@ -203,7 +210,7 @@ const Et = ({ transaction: t, onClick: 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
211
  const { transactions: r } = H();
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
  ] });
@@ -213,8 +220,8 @@ const Et = ({ transaction: t, onClick: n }) => {
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},
@@ -237,26 +244,26 @@ const Et = ({ transaction: t, onClick: n }) => {
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((s) => !s.is_hidden);
250
+ }, [y, g, m]), { clearExpandedSplits: S, setShowInsights: I, toggleSplit: v } = V(), { onEvent: T } = ht(), M = (b) => {
251
+ const w = p.find((s) => s.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(l), [l]), _.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], s = G(b.index, p), C = Bt(b.index, p), D = U + (s ? F : 0);
274
281
  return /* @__PURE__ */ a(
275
282
  A,
276
283
  {
@@ -283,18 +290,18 @@ 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
+ s && /* @__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
  ]
@@ -302,7 +309,7 @@ const Et = ({ transaction: t, onClick: n }) => {
302
309
  ) }) });
303
310
  }, Nt = O(Vt), Ot = (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
315
  const { offsetWidth: o, offsetHeight: l } = t.current;
@@ -431,7 +438,7 @@ const Et = ({ transaction: t, onClick: n }) => {
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(() => {
441
+ const x = _.useRef(null), { height: y, width: p } = Ot(x), S = z(), I = _.useMemo(() => {
435
442
  const s = r.map(({ value: $ }) => $), C = Math.min(...s), D = Math.max(...s);
436
443
  return {
437
444
  series: [
@@ -455,10 +462,10 @@ const Et = ({ transaction: t, onClick: n }) => {
455
462
  }
456
463
  ]
457
464
  };
458
- }, [r]), v = w.useMemo(() => {
465
+ }, [r]), v = _.useMemo(() => {
459
466
  const s = `${n}80`;
460
467
  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(
468
+ }, [n, r, d]), T = _.useMemo(
462
469
  () => r[d ?? r.length - 1],
463
470
  [r, d]
464
471
  ), L = r.reduce((s, C) => Math.min(s, C.value), 1 / 0) < 0, k = /* @__PURE__ */ e(
@@ -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 = (s, { dataIndex: C }) => l?.(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,7 +538,7 @@ 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: {
@@ -568,9 +575,9 @@ 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
582
  bar: (s) => {
576
583
  const { ownerState: C, ...D } = s;
@@ -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 } = H(), { 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,
@@ -637,7 +644,7 @@ const Et = ({ transaction: t, onClick: n }) => {
637
644
  icon: l,
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,7 +682,7 @@ 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,
@@ -691,7 +698,7 @@ const Et = ({ transaction: t, onClick: n }) => {
691
698
  /* @__PURE__ */ e(A, { children: o }),
692
699
  /* @__PURE__ */ a(c, { children: [
693
700
  typeof r == "string" ? /* @__PURE__ */ e(N, { variant: "body2", children: l }) : r,
694
- typeof t == "string" ? /* @__PURE__ */ e(tt, { children: t }) : t
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,
801
+ Ie as b,
802
+ Te as c,
803
+ De as d,
797
804
  Ot as e,
798
- Lt as f,
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-D0Pgpiuq.mjs";
21
+ import { T as be } from "./TransactionDetails-D57Cfnwh.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-DfKQ48km.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-D0Pgpiuq.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-D0Pgpiuq.mjs";
59
+ import { T as s3 } from "../TransactionDetails-D57Cfnwh.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";
@@ -36,8 +36,8 @@ import { A as P } from "../Analytics-0Xm_BjHU.mjs";
36
36
  import Ee from "@mui/material/Tab";
37
37
  import et from "@mui/material/Tabs";
38
38
  import { e as tt } from "../exportTransactionsToCSV-DgdB3TBt.mjs";
39
- import { T as ve } from "../EmbeddedCard-xngm4vLT.mjs";
40
- import { T as ot, c as nt } from "../TransactionDetails-D6XZakc-.mjs";
39
+ import { T as ve } from "../EmbeddedCard-D0Pgpiuq.mjs";
40
+ import { T as ot, c as nt } from "../TransactionDetails-D57Cfnwh.mjs";
41
41
  import Te from "@mui/material/Card";
42
42
  import De from "@mui/material/CardContent";
43
43
  import { S as Se } from "../StatusBar-BK_uYHAB.mjs";
@@ -46,7 +46,7 @@ import { u as at, b as rt } from "../CategorySelectorDrawer-Dc9Widy9.mjs";
46
46
  import je from "@mui/material/CardHeader";
47
47
  import { subDays as st } from "date-fns/subDays";
48
48
  import it from "@mui/material/IconButton";
49
- import { M as ct } from "../ManageIncome-BJ7c7plg.mjs";
49
+ import { M as ct } from "../ManageIncome-DfKQ48km.mjs";
50
50
  import { u as ze } from "../useWidgetLoadTimer-DgN1bTyu.mjs";
51
51
  import { W as lt } from "../WidgetContainer-DYKMArWw.mjs";
52
52
  import { u as dt, g as ut, C as mt } from "../BudgetUtil-DZpOoZQa.mjs";
@@ -18,7 +18,7 @@ import { b as $ } from "../Localization-CPkpIwIx.mjs";
18
18
  import { M as Je } from "../MiniWidgetContainer-Bhkv-hpz.mjs";
19
19
  import { E as Ze } from "../EmptyState-DHAkGsjk.mjs";
20
20
  import { u as Fe } from "../useWidgetLoadTimer-DgN1bTyu.mjs";
21
- import { R as et } from "../RecurringSettings-DnD0AqWa.mjs";
21
+ import { R as et } from "../RecurringSettings-CpFfjTIL.mjs";
22
22
  import tt from "@mui/material/Tabs";
23
23
  import Ce from "@mui/material/Tab";
24
24
  import { getUnixTime as z } from "date-fns/getUnixTime";
@@ -36,7 +36,7 @@ import { alpha as it, keyframes as at } from "@mui/material/styles";
36
36
  import { DataGridPro as rt } from "@mui/x-data-grid-pro";
37
37
  import { T as we } from "../TabContentContainer-j01JYR_7.mjs";
38
38
  import G from "@mui/material/Button";
39
- import { M as st, S as ct, i as lt, d as Se, c as dt } from "../ManageIncome-BJ7c7plg.mjs";
39
+ import { M as st, S as ct, i as lt, d as Se, c as dt } from "../ManageIncome-DfKQ48km.mjs";
40
40
  import { D as Ge } from "../Drawer-Bbe4AMB1.mjs";
41
41
  import { subDays as Me } from "date-fns/subDays";
42
42
  import { endOfToday as mt } from "date-fns/endOfToday";
@@ -46,7 +46,7 @@ import { A as J } from "../Account-BiB1F8lL.mjs";
46
46
  import { formatISO as pt } from "date-fns/formatISO";
47
47
  import { fromUnixTime as De } from "date-fns/fromUnixTime";
48
48
  import { startOfMonth as ht } from "date-fns/startOfMonth";
49
- import { S as ft, a as gt } from "../EmbeddedCard-xngm4vLT.mjs";
49
+ import { S as ft, a as gt } from "../EmbeddedCard-D0Pgpiuq.mjs";
50
50
  import { c as ve } from "../RecurringTransactions-BbZ6MQsX.mjs";
51
51
  import { h as bt } from "../DateUtil-wcYTmDRD.mjs";
52
52
  import { F as xt, R as Ae } from "../RepeatingTransaction-DF4vJn_v.mjs";
@@ -7,3 +7,4 @@ export interface PostMessageData {
7
7
  }
8
8
  export declare function postMessageToParent(message: PostMessageData): boolean;
9
9
  export declare function postInsightOnTransaction(beatGuid: string): boolean;
10
+ export declare function postClientConfiguredCta(template: string): boolean;
@@ -41,7 +41,7 @@ import { S as it, c as zn } from "../RecurringTransactions-BbZ6MQsX.mjs";
41
41
  import { A as Ne } from "../Account-BiB1F8lL.mjs";
42
42
  import { S as Gn } from "../StatusBar-BK_uYHAB.mjs";
43
43
  import { h as Mt } from "../DateUtil-wcYTmDRD.mjs";
44
- import { T as Hn, s as Nn, h as jn, S as Kn, a as Vn } from "../EmbeddedCard-xngm4vLT.mjs";
44
+ import { T as Hn, s as Nn, h as jn, S as Kn, a as Vn } from "../EmbeddedCard-D0Pgpiuq.mjs";
45
45
  import { f as Yn, D as Xn } from "../DateFormats-BMpMrZpW.mjs";
46
46
  import { T as pe } from "../TabContentContainer-j01JYR_7.mjs";
47
47
  import qn from "@mui/material/useMediaQuery";
@@ -56,11 +56,11 @@ import { formatISO as oo } from "date-fns/formatISO";
56
56
  import { fromUnixTime as ro } from "date-fns/fromUnixTime";
57
57
  import { startOfToday as st } from "date-fns/startOfToday";
58
58
  import { subDays as ao } from "date-fns/subDays";
59
- import { c as io, d as ct, S as so, i as co } from "../ManageIncome-BJ7c7plg.mjs";
59
+ import { c as io, d as ct, S as so, i as co } from "../ManageIncome-DfKQ48km.mjs";
60
60
  import { LocalizationProvider as lo, DatePicker as po, StaticDatePicker as _o } from "@mui/x-date-pickers";
61
61
  import { AdapterDateFns as Tt } from "@mui/x-date-pickers/AdapterDateFnsV3";
62
62
  import { F as At, R as Ot } from "../RepeatingTransaction-DF4vJn_v.mjs";
63
- import { R as uo } from "../RecurringSettings-DnD0AqWa.mjs";
63
+ import { R as uo } from "../RecurringSettings-CpFfjTIL.mjs";
64
64
  import { LocalizationProvider as ho } from "@mui/x-date-pickers/LocalizationProvider";
65
65
  import { format as mo } from "date-fns/format";
66
66
  import go from "@mui/lab/Timeline";
@@ -29,6 +29,7 @@ export { default as CardFooter } from './shared/InsightsCard/CardFooter';
29
29
  export * from './shared/InsightsCard/CardHeader';
30
30
  export * from './shared/InsightsCard/CardLoading';
31
31
  export * from './shared/InsightsCard/CardError';
32
+ export { default as ClientConfigurableCta } from './shared/InsightsCard/ClientConfigurableCta';
32
33
  export * from './shared/InsightsCard/ContentAndDescription';
33
34
  export * from './shared/InsightsCard/Description';
34
35
  export * from './shared/InsightsCard/EmbeddedCard';
@@ -0,0 +1,5 @@
1
+ import { Beat } from '../../../types/CommonBeat';
2
+ declare const ClientConfigurableCta: ({ beat }: {
3
+ beat: Beat;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export default ClientConfigurableCta;
@@ -7,11 +7,9 @@ export interface ContentAndDescriptionProps {
7
7
  children?: React.ReactNode;
8
8
  descriptionPlacement?: 'top' | 'bottom';
9
9
  hideDescription?: boolean;
10
- inDescriptionCtaOnClick?: (event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | string) => void;
11
10
  isLoading?: boolean;
12
11
  isMini?: boolean;
13
12
  hasFullWidthImage?: boolean;
14
- hasFooterButton?: boolean;
15
13
  sx?: SxProps;
16
14
  }
17
15
  export declare const ContentAndDescription: React.FC<ContentAndDescriptionProps>;
@@ -7,11 +7,9 @@ export interface ContentAndDescriptionMUIProps {
7
7
  children?: React.ReactNode;
8
8
  descriptionPlacement?: 'top' | 'bottom';
9
9
  hideDescription?: boolean;
10
- inDescriptionCtaOnClick?: (event?: React.MouseEvent<HTMLButtonElement, MouseEvent> | string) => void;
11
10
  isLoading?: boolean;
12
11
  isMini?: boolean;
13
12
  hasFullWidthImage?: boolean;
14
- hasFooterButton?: boolean;
15
13
  sx?: SxProps;
16
14
  }
17
15
  export declare const ContentAndDescriptionMUI: React.FC<ContentAndDescriptionMUIProps>;
@@ -3,9 +3,7 @@ import { SxProps } from '@mui/material';
3
3
  import { Beat } from '../../../types/CommonBeat';
4
4
  interface DescriptionProps {
5
5
  beat: Beat;
6
- footerButton: boolean;
7
6
  hasFullWidthImage?: boolean;
8
- inDescriptionCtaOnClick?: () => void;
9
7
  sx?: SxProps;
10
8
  }
11
9
  export declare const Description: React.FC<DescriptionProps>;
@@ -3,9 +3,7 @@ import { SxProps } from '@mui/material';
3
3
  import { Beat } from '../../../types/CommonBeat';
4
4
  interface DescriptionMUIProps {
5
5
  beat: Beat;
6
- footerButton: boolean;
7
6
  hasFullWidthImage?: boolean;
8
- inDescriptionCtaOnClick?: () => void;
9
7
  sx?: SxProps;
10
8
  }
11
9
  export declare const DescriptionMUI: React.FC<DescriptionMUIProps>;