@mx-cartographer/experiences 7.6.15 → 7.6.16

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
+ ## [7.6.16] - 01-19-2026
2
+
3
+ - **UPDATED** - `MicroInsights` BeatIcons Updated
4
+
1
5
  ## [7.6.15] - 01-19-2026
2
6
 
3
7
  - **FIXED** - `Finstrong` KeyIndicators Zero State Style
@@ -1,33 +1,33 @@
1
- import { jsx as e, jsxs as g, Fragment as De } from "react/jsx-runtime";
1
+ import { jsx as e, jsxs as g, Fragment as xe } from "react/jsx-runtime";
2
2
  import u, { useEffect as ee, useState as J } from "react";
3
- import { observer as P } from "mobx-react-lite";
3
+ import { observer as b } from "mobx-react-lite";
4
4
  import k from "@mui/material/Stack";
5
- import xe from "@mui/material/Button";
6
- import Le from "@mui/material/Typography";
7
- import { BarChart as Ve, Error as ae, Campaign as Ne, ChevronLeft as He, ChevronRight as Ce } from "@mxenabled/mx-icons";
8
- import { L as ke } from "./Loader-DUaFpDGv.mjs";
5
+ import Le from "@mui/material/Button";
6
+ import Ve from "@mui/material/Typography";
7
+ import { BarChart as Ne, Error as Ce, Campaign as He, ChevronLeft as ke, ChevronRight as fe } from "@mxenabled/mx-icons";
8
+ import { L as Fe } from "./Loader-DUaFpDGv.mjs";
9
9
  import Z from "@mui/material/Box";
10
- import se from "@mui/material/IconButton";
11
- import { useTheme as Fe } from "@mui/material/styles";
12
- import { useInView as me } from "react-intersection-observer";
13
- import { P as Be, CategoryIcon as Ze, MerchantLogo as Pe } from "@mxenabled/mxui";
14
- import { b as be } from "./Category-CevNQ03n.mjs";
10
+ import ae from "@mui/material/IconButton";
11
+ import { useTheme as me } from "@mui/material/styles";
12
+ import { useInView as Re } from "react-intersection-observer";
13
+ import { P as Be, CategoryIcon as Ze, MerchantLogo as be } from "@mxenabled/mxui";
14
+ import { b as Pe } from "./Category-CevNQ03n.mjs";
15
15
  import te from "@mui/material/styles/useTheme";
16
16
  import { b as Ge } from "./Localization-2MODESHW.mjs";
17
17
  import Ue from "@mui/material/CircularProgress";
18
- import { makeAutoObservable as ie, runInAction as Re } from "mobx";
19
- import { G as ce, a as ze, u as Ke, b as $e } from "./useCombineEvents-CRwX-qWE.mjs";
20
- import { B as de } from "./BeatApi-De2IaqH2.mjs";
18
+ import { makeAutoObservable as ie, runInAction as ge } from "mobx";
19
+ import { G as se, a as ze, u as Ke, b as $e } from "./useCombineEvents-CRwX-qWE.mjs";
20
+ import { B as ce } from "./BeatApi-De2IaqH2.mjs";
21
21
  import { u as Ye } from "./useWidgetLoadTimer-hIOioiKx.mjs";
22
22
  import je from "@mui/material/Card";
23
23
  import Xe from "@mui/material/CardActions";
24
24
  import Qe from "@mui/material/CardContent";
25
25
  import qe from "@mui/material/CardHeader";
26
- const Ee = {
26
+ const de = {
27
27
  featureVersion: "spendVsIncomeTrends"
28
28
  };
29
29
  class Je {
30
- copyApi = new ce("/", "");
30
+ copyApi = new se("/", "");
31
31
  copyObject = {};
32
32
  namespace = "experiences";
33
33
  translationKey = "micro_insights";
@@ -38,11 +38,11 @@ class Je {
38
38
  // DEPRECATED: Initialize api in constructor and use loadCopy instead
39
39
  // TODO: Remove this function
40
40
  initialize = async (o, t) => {
41
- this.copyApi = new ce(o, t), await this.loadCopy();
41
+ this.copyApi = new se(o, t), await this.loadCopy();
42
42
  };
43
43
  loadCopy = async () => {
44
44
  const o = await this.copyApi.getGlobalCopy(this.namespace, this.translationKey);
45
- Re(() => {
45
+ ge(() => {
46
46
  this.copyObject = o[this.translationKey];
47
47
  });
48
48
  };
@@ -73,12 +73,12 @@ const oe = {
73
73
  WeeklyNewMerchantsV2: "WeeklyNewMerchantsV2",
74
74
  MonthlySpendComparison: "MonthlySpendComparison",
75
75
  MonthlySpendToIncomeComparison: "MonthlySpendToIncomeComparison"
76
- }, v = window?.app?.clientConfig?.microwidget_instance_id || "", he = {
76
+ }, v = window?.app?.clientConfig?.microwidget_instance_id || "", Ee = {
77
77
  INSIGHTS_MICRO_WIDGET: "/micro-insights-carousel"
78
- }, ge = (i) => `on${i}Click`, Ie = (i) => `on${i}View`, ye = (i) => `on${i}ViewFirstTime`, le = (i) => i.replace(/([a-z])([A-Z])/g, "$1 $2"), et = () => Object.values(oe).reduce(
78
+ }, Ie = (i) => `on${i}Click`, ye = (i) => `on${i}View`, ve = (i) => `on${i}ViewFirstTime`, le = (i) => i.replace(/([a-z])([A-Z])/g, "$1 $2"), et = () => Object.values(oe).reduce(
79
79
  (i, o) => ({
80
80
  ...i,
81
- [ge(o)]: {
81
+ [Ie(o)]: {
82
82
  action: L.MICRO_BEAT_CLICKED,
83
83
  category: x.BEAT_INTERACTION,
84
84
  label: le(o),
@@ -89,7 +89,7 @@ const oe = {
89
89
  ), tt = () => Object.values(oe).reduce(
90
90
  (i, o) => ({
91
91
  ...i,
92
- [Ie(o)]: {
92
+ [ye(o)]: {
93
93
  action: L.MICRO_BEAT_DISPLAYED,
94
94
  category: x.BEAT_INTERACTION,
95
95
  label: le(o),
@@ -100,7 +100,7 @@ const oe = {
100
100
  ), it = () => Object.values(oe).reduce(
101
101
  (i, o) => ({
102
102
  ...i,
103
- [ye(o)]: {
103
+ [ve(o)]: {
104
104
  action: L.MICRO_BEAT_DISPLAYED_FIRST_TIME,
105
105
  category: x.BEAT_INTERACTION,
106
106
  label: le(o),
@@ -123,7 +123,7 @@ const oe = {
123
123
  ON_CAROUSEL_FORWARD_SWIPE: "onCarouselForwardSwipe",
124
124
  ON_NO_RELEVANT_INSIGHTS_CLICKED: "onNoRelevantInsightsClicked",
125
125
  ON_VIEW_MORE_CLICKED: "onViewMoreClicked"
126
- }, ve = {
126
+ }, Se = {
127
127
  ON_VIEW_MORE_VIEWED: "onViewMoreCardView"
128
128
  }, L = {
129
129
  CONTROL_BACKWARD: "Control Backward",
@@ -137,18 +137,18 @@ const oe = {
137
137
  MICRO_WIDGET_CAROUSEL: "Micro Widget Carousel",
138
138
  MICRO_WIDGET_CAROUSEL_ZERO_STATE: "Micro Widget Carousel Zero State",
139
139
  MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS: "Micro Widget Carousel No Relevant Insights"
140
- }, ue = {
140
+ }, he = {
141
141
  [H.MICRO_WIDGET_CAROUSEL]: {
142
142
  label: D.MICRO_WIDGET,
143
143
  name: H.MICRO_WIDGET_CAROUSEL,
144
- path: he.INSIGHTS_MICRO_WIDGET,
144
+ path: Ee.INSIGHTS_MICRO_WIDGET,
145
145
  value: v
146
146
  },
147
147
  // zero state
148
148
  [H.MICRO_WIDGET_CAROUSEL_ZERO_STATE]: {
149
149
  label: D.MICRO_WIDGET,
150
150
  name: H.MICRO_WIDGET_CAROUSEL_ZERO_STATE,
151
- path: he.INSIGHTS_MICRO_WIDGET,
151
+ path: Ee.INSIGHTS_MICRO_WIDGET,
152
152
  value: v
153
153
  },
154
154
  // no relevant cards
@@ -158,7 +158,7 @@ const oe = {
158
158
  path: "/micro-widget",
159
159
  value: v
160
160
  }
161
- }, pe = {
161
+ }, ue = {
162
162
  // carousel control interaction events - clicks and swipes
163
163
  [S.ON_CAROUSEL_BACK_CLICK]: {
164
164
  action: L.CONTROL_BACKWARD,
@@ -191,7 +191,7 @@ const oe = {
191
191
  label: D.VIEW_MORE,
192
192
  value: v
193
193
  },
194
- [ve.ON_VIEW_MORE_VIEWED]: {
194
+ [Se.ON_VIEW_MORE_VIEWED]: {
195
195
  action: L.MICRO_BEAT_DISPLAYED,
196
196
  category: x.BEAT_INTERACTION,
197
197
  label: D.VIEW_MORE,
@@ -200,28 +200,28 @@ const oe = {
200
200
  ...et(),
201
201
  ...tt(),
202
202
  ...it()
203
- }, _e = async (i, o) => !o || !pe[i] ? null : o.sendAnalyticEvent(pe[i]).then((t) => t).catch((t) => {
203
+ }, pe = async (i, o) => !o || !ue[i] ? null : o.sendAnalyticEvent(ue[i]).then((t) => t).catch((t) => {
204
204
  throw t;
205
- }), fe = async (i, o) => !o || !ue[i] ? null : o.sendAnalyticsPageview(ue[i]).then((t) => t).catch((t) => {
205
+ }), _e = async (i, o) => !o || !he[i] ? null : o.sendAnalyticsPageview(he[i]).then((t) => t).catch((t) => {
206
206
  throw t;
207
207
  });
208
208
  class ot {
209
- onAnalyticEvent = _e;
210
- onAnalyticPageView = fe;
211
- beatApi = new de("/", "");
209
+ onAnalyticEvent = pe;
210
+ onAnalyticPageView = _e;
211
+ beatApi = new ce("/", "");
212
212
  constructor() {
213
213
  ie(this);
214
214
  }
215
215
  initialize = async (o, t, l) => {
216
216
  this.onAnalyticEvent = (n, r) => {
217
- _e(n, r).then((a) => a).catch((a) => {
217
+ pe(n, r).then((a) => a).catch((a) => {
218
218
  throw a.status === 401 && l(), a;
219
219
  });
220
220
  }, this.onAnalyticPageView = (n, r) => {
221
- fe(n, r).then((a) => a).catch((a) => {
221
+ _e(n, r).then((a) => a).catch((a) => {
222
222
  throw a.status === 401 && l(), a;
223
223
  });
224
- }, this.beatApi = new de(o, t);
224
+ }, this.beatApi = new ce(o, t);
225
225
  };
226
226
  updateBeat = async (o) => {
227
227
  this.beatApi.updateBeat(o);
@@ -243,7 +243,7 @@ class lt {
243
243
  initialize = async (o, t, l) => {
244
244
  await this.copyStore.initialize(o, t), await this.insightsMicroWidgetStore.initialize(o, t, l);
245
245
  const n = await ze(o, t, "1.0.0", "Micro Insights Carousel");
246
- Re(() => {
246
+ ge(() => {
247
247
  this.session = n, this.isInitialized = !0;
248
248
  });
249
249
  };
@@ -262,13 +262,13 @@ const U = u.createContext(null), nt = ({
262
262
  icon: a,
263
263
  isActiveCard: c,
264
264
  isZeroState: h,
265
- onCardClick: f = () => {
265
+ onCardClick: C = () => {
266
266
  },
267
267
  showIcon: p,
268
268
  style: d = {},
269
269
  title: E,
270
270
  variant: s,
271
- widthOverrides: C
271
+ widthOverrides: f
272
272
  }, _) {
273
273
  const R = te(), [O, I] = u.useState(!1), { cardStyle: m, linkTextStyle: T } = d, y = s ? m : { border: "none", boxShadow: "none", ...m }, M = /* @__PURE__ */ e(
274
274
  Be,
@@ -307,7 +307,7 @@ const U = u.createContext(null), nt = ({
307
307
  role: "group",
308
308
  sx: {
309
309
  height: "100%",
310
- minWidth: C ? `${C}px` : "100%",
310
+ minWidth: f ? `${f}px` : "100%",
311
311
  fontFamily: R.typography.fontFamily
312
312
  },
313
313
  children: /* @__PURE__ */ e(
@@ -316,7 +316,7 @@ const U = u.createContext(null), nt = ({
316
316
  "aria-hidden": !c,
317
317
  "aria-label": t,
318
318
  id: "divButton",
319
- onClick: () => f(),
319
+ onClick: () => C(),
320
320
  onKeyDown: () => I(!1),
321
321
  onKeyUp: () => I(!0),
322
322
  ref: _,
@@ -397,12 +397,12 @@ const U = u.createContext(null), nt = ({
397
397
  }
398
398
  );
399
399
  }), rt = ({ beat: i }) => {
400
- const { primary_category_guid: o, category_guids: t } = i, l = o || t?.[0] || be.UNCATEGORIZED;
400
+ const { primary_category_guid: o, category_guids: t } = i, l = o || t?.[0] || Pe.UNCATEGORIZED;
401
401
  return /* @__PURE__ */ e(Ze, { categoryGuid: l, size: 16, sx: { minWidth: 16 } });
402
402
  }, at = ({ beat: i }) => {
403
403
  const { category_guids: o, merchant_guids: t, primary_category_guid: l, primary_merchant_guid: n } = i;
404
404
  return /* @__PURE__ */ e(
405
- Pe,
405
+ be,
406
406
  {
407
407
  categoryGuid: l || o && o[0] || "",
408
408
  merchantGuid: n || t[0],
@@ -449,8 +449,8 @@ const U = u.createContext(null), nt = ({
449
449
  return !n.length || !r.length ? o.palette.primary.main : n[0].amount > r[0].amount ? o.palette.error.main : n[0].amount < r[0].amount ? o.palette.success.main : o.palette.primary.main;
450
450
  }, Et = ({ beat: i }) => {
451
451
  const o = te(), t = dt(i.data_series, o);
452
- return /* @__PURE__ */ e(Ve, { sx: { color: t } });
453
- }, Se = () => /* @__PURE__ */ g("svg", { fill: "none", height: "36", viewBox: "0 0 40 36", width: "40", xmlns: "http://www.w3.org/2000/svg", children: [
452
+ return /* @__PURE__ */ e(Ne, { sx: { color: t } });
453
+ }, Me = () => /* @__PURE__ */ g("svg", { fill: "none", height: "36", viewBox: "0 0 40 36", width: "40", xmlns: "http://www.w3.org/2000/svg", children: [
454
454
  /* @__PURE__ */ e(
455
455
  "path",
456
456
  {
@@ -1231,14 +1231,48 @@ const U = u.createContext(null), nt = ({
1231
1231
  }
1232
1232
  )
1233
1233
  ] })
1234
- ] }), ht = ({ beat: i }) => {
1235
- const { icon_type: o, icon_color: t } = i;
1236
- return o === 0 ? /* @__PURE__ */ e(ae, { filled: !0, sx: { color: (l) => t || l.palette.primary.main } }) : o === 1 ? /* @__PURE__ */ e(rt, { beat: i }) : o === 2 ? /* @__PURE__ */ e(at, { beat: i }) : o === 3 ? /* @__PURE__ */ e(Et, { beat: i }) : o === 5 ? /* @__PURE__ */ e(Ne, {}) : /* @__PURE__ */ e(
1237
- ae,
1234
+ ] }), ht = {
1235
+ 0: (i) => /* @__PURE__ */ e(Ce, { filled: !0, sx: { color: i.icon_color || "primary.main" } }),
1236
+ 1: (i) => /* @__PURE__ */ e(rt, { beat: i }),
1237
+ 2: (i) => /* @__PURE__ */ e(at, { beat: i }),
1238
+ 3: (i) => /* @__PURE__ */ e(Et, { beat: i }),
1239
+ // 4: (_, theme) => {
1240
+ // return (
1241
+ // <BeatMaterialIcon
1242
+ // bgColor={alpha(theme.palette.secondary.main, 0.15)}
1243
+ // iconColor="secondary"
1244
+ // name="info"
1245
+ // />
1246
+ // )
1247
+ // },
1248
+ 5: () => /* @__PURE__ */ e(He, {})
1249
+ // TODO: Waiting for the backend to accommodate icon types 6, 7, 8, and 9
1250
+ // 6: (_, theme) => {
1251
+ // return (
1252
+ // <BeatMaterialIcon
1253
+ // bgColor={alpha(theme.palette.success.main, 0.15)}
1254
+ // iconColor="success"
1255
+ // name="check_circle"
1256
+ // />
1257
+ // )
1258
+ // },
1259
+ // 7: (_, theme) => (
1260
+ // <BeatMaterialIcon bgColor={alpha(theme.palette.primary.main, 0.15)} name="today" />
1261
+ // ),
1262
+ // 8: (_, theme) => (
1263
+ // <BeatMaterialIcon bgColor={alpha(theme.palette.primary.main, 0.15)} name="calendar_clock" />
1264
+ // ),
1265
+ // 9: (_, theme) => (
1266
+ // <BeatMaterialIcon bgColor={alpha(theme.palette.primary.main, 0.15)} name="celebration" />
1267
+ // ),
1268
+ }, ut = ({ beat: i }) => {
1269
+ const o = me(), { icon_type: t } = i, l = t != null ? ht[t] : null;
1270
+ return l ? l(i, o) : /* @__PURE__ */ e(
1271
+ Ce,
1238
1272
  {
1239
1273
  filled: !0,
1240
1274
  sx: {
1241
- color: (l) => l.palette.primary.main
1275
+ color: "primary.main"
1242
1276
  }
1243
1277
  }
1244
1278
  );
@@ -1247,7 +1281,7 @@ const U = u.createContext(null), nt = ({
1247
1281
  if (!i)
1248
1282
  throw new Error("useCopyStore() must be used within the InsightsMicroWidgetDataProvider");
1249
1283
  return i.store.copyStore;
1250
- }, ut = () => {
1284
+ }, pt = () => {
1251
1285
  const i = u.useContext(U);
1252
1286
  if (!i?.store?.insightsMicroWidgetStore)
1253
1287
  throw new Error(
@@ -1259,17 +1293,17 @@ const U = u.createContext(null), nt = ({
1259
1293
  if (!i)
1260
1294
  throw new Error("useEvent() must be used within the InsightsMicroWidgetDataProvider");
1261
1295
  return { onEvent: i.onEvent };
1262
- }, Me = () => {
1296
+ }, Ae = () => {
1263
1297
  const i = u.useContext(U);
1264
1298
  if (!i)
1265
1299
  throw new Error("usePageview() must be used within the InsightsMicroWidgetDataProvider");
1266
1300
  return { onPageview: i.onPageview };
1267
- }, pt = {
1301
+ }, _t = {
1268
1302
  LARGE: 180,
1269
1303
  STANDARD: 154,
1270
1304
  XLARGE: 200,
1271
1305
  XXLARGE: 248
1272
- }, _t = 50, Ae = 1, ft = ({
1306
+ }, Ct = 50, Oe = 1, ft = ({
1273
1307
  ariaLabel: i,
1274
1308
  backgroundColor: o,
1275
1309
  beat: t,
@@ -1279,21 +1313,21 @@ const U = u.createContext(null), nt = ({
1279
1313
  isActiveCard: a,
1280
1314
  onCardClick: c,
1281
1315
  posthog: h,
1282
- showIcon: f,
1316
+ showIcon: C,
1283
1317
  variant: p,
1284
1318
  widthOverrides: d
1285
1319
  }) => {
1286
- const { ref: E, inView: s } = me({
1287
- threshold: Ae
1288
- }), { cardsCopy: C } = V(), { onEvent: _ } = z(), { updateBeat: R, updateOffer: O } = ut();
1320
+ const { ref: E, inView: s } = Re({
1321
+ threshold: Oe
1322
+ }), { cardsCopy: f } = V(), { onEvent: _ } = z(), { updateBeat: R, updateOffer: O } = pt();
1289
1323
  ee(() => {
1290
- s && (t.has_been_displayed ? _(Ie(t.template)) : (t.guid.startsWith("OFR") ? O({
1324
+ s && (t.has_been_displayed ? _(ye(t.template)) : (t.guid.startsWith("OFR") ? O({
1291
1325
  ...t,
1292
1326
  has_been_displayed: !0
1293
1327
  }) : R({
1294
1328
  ...t,
1295
1329
  has_been_displayed: !0
1296
- }), _(ye(t.template))));
1330
+ }), _(ve(t.template))));
1297
1331
  }, [s]), ee(() => {
1298
1332
  if (s && t)
1299
1333
  if (t.template === "MarketingOffer") {
@@ -1311,7 +1345,7 @@ const U = u.createContext(null), nt = ({
1311
1345
  });
1312
1346
  }, [t, r, s]);
1313
1347
  const I = () => {
1314
- if (c && c(t), _(ge(t.template)), t.template === "MarketingOffer") {
1348
+ if (c && c(t), _(Ie(t.template)), t.template === "MarketingOffer") {
1315
1349
  const m = t;
1316
1350
  h?.capture("clicked_messaging_insight", {
1317
1351
  template: t.template,
@@ -1328,24 +1362,24 @@ const U = u.createContext(null), nt = ({
1328
1362
  return /* @__PURE__ */ e(
1329
1363
  j,
1330
1364
  {
1331
- actionText: t.micro_call_to_action || C.micro_card_cta,
1365
+ actionText: t.micro_call_to_action || f.micro_card_cta,
1332
1366
  ariaLabel: i,
1333
1367
  backgroundColor: o,
1334
1368
  description: t?.html_micro_description && t?.html_micro_description.length > 0 ? t.html_micro_description : t.html_description,
1335
1369
  heightOverrides: n,
1336
- icon: /* @__PURE__ */ e(ht, { beat: t }),
1370
+ icon: /* @__PURE__ */ e(ut, { beat: t }),
1337
1371
  isActiveCard: a,
1338
1372
  onCardClick: I,
1339
1373
  posthog: h,
1340
1374
  ref: E,
1341
1375
  showCTAColocatedWithText: l,
1342
- showIcon: f,
1376
+ showIcon: C,
1343
1377
  title: t.micro_title && t.micro_title.length > 0 ? t.micro_title : t.title,
1344
1378
  variant: p,
1345
1379
  widthOverrides: d
1346
1380
  }
1347
1381
  );
1348
- }, Ct = ({
1382
+ }, mt = ({
1349
1383
  currentBeatIndex: i,
1350
1384
  numBeats: o,
1351
1385
  onNextClick: t,
@@ -1355,7 +1389,7 @@ const U = u.createContext(null), nt = ({
1355
1389
  shouldApplyDotAnimation: a = !1,
1356
1390
  visibleCardsCount: c = 1
1357
1391
  }) => {
1358
- const h = Fe(), { carouselCopy: f } = V(), p = Math.floor(r) > n || i - c + 1 === 0, d = r < 0 || o - 1 === i, E = h.palette.grey[500], s = h.palette.primary.main;
1392
+ const h = me(), { carouselCopy: C } = V(), p = Math.floor(r) > n || i - c + 1 === 0, d = r < 0 || o - 1 === i, E = h.palette.grey[500], s = h.palette.primary.main;
1359
1393
  return /* @__PURE__ */ g(
1360
1394
  k,
1361
1395
  {
@@ -1372,14 +1406,14 @@ const U = u.createContext(null), nt = ({
1372
1406
  },
1373
1407
  children: [
1374
1408
  /* @__PURE__ */ e(
1375
- se,
1409
+ ae,
1376
1410
  {
1377
1411
  "aria-disabled": p,
1378
- "aria-label": f.previous_insight_cta_aria,
1412
+ "aria-label": C.previous_insight_cta_aria,
1379
1413
  disabled: p,
1380
1414
  onClick: l,
1381
1415
  children: /* @__PURE__ */ e(
1382
- He,
1416
+ ke,
1383
1417
  {
1384
1418
  style: {
1385
1419
  color: p ? E : s
@@ -1388,7 +1422,7 @@ const U = u.createContext(null), nt = ({
1388
1422
  )
1389
1423
  }
1390
1424
  ),
1391
- Array.from({ length: o }).map((C, _) => {
1425
+ Array.from({ length: o }).map((f, _) => {
1392
1426
  const R = _ === i;
1393
1427
  return /* @__PURE__ */ e(
1394
1428
  Z,
@@ -1415,14 +1449,14 @@ const U = u.createContext(null), nt = ({
1415
1449
  );
1416
1450
  }),
1417
1451
  /* @__PURE__ */ e(
1418
- se,
1452
+ ae,
1419
1453
  {
1420
1454
  "aria-disabled": d,
1421
- "aria-label": f.next_insight_cta_aria,
1455
+ "aria-label": C.next_insight_cta_aria,
1422
1456
  disabled: d,
1423
1457
  onClick: t,
1424
1458
  children: /* @__PURE__ */ e(
1425
- Ce,
1459
+ fe,
1426
1460
  {
1427
1461
  style: {
1428
1462
  color: d ? E : s
@@ -1434,7 +1468,7 @@ const U = u.createContext(null), nt = ({
1434
1468
  ]
1435
1469
  }
1436
1470
  );
1437
- }, mt = ({
1471
+ }, Rt = ({
1438
1472
  activeCardIndex: i,
1439
1473
  beats: o,
1440
1474
  cardWidth: t,
@@ -1445,19 +1479,19 @@ const U = u.createContext(null), nt = ({
1445
1479
  showIcon: c,
1446
1480
  variant: h
1447
1481
  }) => {
1448
- const { carouselCopy: f } = V(), p = {
1482
+ const { carouselCopy: C } = V(), p = {
1449
1483
  showCTAColocatedWithText: l,
1450
1484
  heightOverrides: n,
1451
1485
  posthog: a,
1452
1486
  showIcon: c,
1453
1487
  variant: h
1454
1488
  };
1455
- return /* @__PURE__ */ g(De, { children: [
1489
+ return /* @__PURE__ */ g(xe, { children: [
1456
1490
  o.map((d, E) => {
1457
- const s = E + 1, C = o.length + 1, _ = Ge(
1458
- f.card_position_in_carousel_aria,
1491
+ const s = E + 1, f = o.length + 1, _ = Ge(
1492
+ C.card_position_in_carousel_aria,
1459
1493
  s.toString(),
1460
- C.toString()
1494
+ f.toString()
1461
1495
  ), R = d.micro_title && d.micro_title.length > 0, O = d.micro_description && d.micro_description.length > 0, I = R ? d.micro_title : d.title, m = O ? d.micro_description : d.description;
1462
1496
  return /* @__PURE__ */ e(
1463
1497
  ft,
@@ -1474,7 +1508,7 @@ const U = u.createContext(null), nt = ({
1474
1508
  );
1475
1509
  }),
1476
1510
  /* @__PURE__ */ e(
1477
- Ot,
1511
+ Tt,
1478
1512
  {
1479
1513
  isActiveCard: i === o.length,
1480
1514
  onCardClick: r,
@@ -1483,7 +1517,7 @@ const U = u.createContext(null), nt = ({
1483
1517
  }
1484
1518
  )
1485
1519
  ] });
1486
- }, Rt = ({
1520
+ }, gt = ({
1487
1521
  analyticsMetadata: i,
1488
1522
  allowSingleCardPeeking: o = !1,
1489
1523
  beats: t = [],
@@ -1493,47 +1527,47 @@ const U = u.createContext(null), nt = ({
1493
1527
  posthog: a,
1494
1528
  showCarouselControls: c,
1495
1529
  showIcon: h,
1496
- showWithMargin: f = !0,
1530
+ showWithMargin: C = !0,
1497
1531
  variant: p,
1498
1532
  widthOverrides: d,
1499
1533
  visibleCardsCount: E = 1
1500
1534
  // Default to 1 card visible
1501
1535
  }) => {
1502
- const s = u.useRef(null), C = u.useRef(null), [_, R] = u.useState(0), [O, I] = u.useState(null), [m, T] = u.useState(null), [y, M] = u.useState(null), { carouselCopy: W } = V(), { onEvent: F } = z();
1536
+ const s = u.useRef(null), f = u.useRef(null), [_, R] = u.useState(0), [O, I] = u.useState(null), [m, T] = u.useState(null), [y, M] = u.useState(null), { carouselCopy: W } = V(), { onEvent: F } = z();
1503
1537
  u.useEffect(() => {
1504
1538
  if (s.current && !o) {
1505
- const A = s.current.offsetWidth, b = 8;
1539
+ const A = s.current.offsetWidth, P = 8;
1506
1540
  let B;
1507
1541
  if (E > 1) {
1508
- const ne = (A - (E - 1) * b) / E / 3;
1509
- B = (A - ne - (E - 1) * b) / E;
1542
+ const ne = (A - (E - 1) * P) / E / 3;
1543
+ B = (A - ne - (E - 1) * P) / E;
1510
1544
  } else
1511
1545
  B = A;
1512
1546
  M(B);
1513
1547
  }
1514
1548
  }, [E, s.current?.offsetWidth]), u.useEffect(() => {
1515
- const A = C.current?.offsetWidth;
1549
+ const A = f.current?.offsetWidth;
1516
1550
  if (typeof A == "number" && o) {
1517
- const b = (G) => {
1551
+ const P = (G) => {
1518
1552
  const re = [
1519
1553
  { maxWidth: 375, cardWidth: 268 },
1520
1554
  { maxWidth: 444, cardWidth: 300 },
1521
1555
  { maxWidth: 599, cardWidth: 350 },
1522
1556
  { maxWidth: 749, cardWidth: 450 },
1523
1557
  { maxWidth: 900, cardWidth: 600 }
1524
- ].find((we) => G <= we.maxWidth);
1558
+ ].find((De) => G <= De.maxWidth);
1525
1559
  return re ? re.cardWidth : 750;
1526
1560
  };
1527
- M(b(A));
1561
+ M(P(A));
1528
1562
  const B = () => {
1529
- const G = C.current?.offsetWidth;
1530
- typeof G == "number" && M(b(G));
1563
+ const G = f.current?.offsetWidth;
1564
+ typeof G == "number" && M(P(G));
1531
1565
  };
1532
1566
  return window.addEventListener("resize", B), () => {
1533
1567
  window.removeEventListener("resize", B);
1534
1568
  };
1535
1569
  }
1536
- }, [o, C]);
1570
+ }, [o, f]);
1537
1571
  const K = () => {
1538
1572
  F(S.ON_CAROUSEL_FORWARD_CLICK, i), s.current && y && s.current.scrollTo({
1539
1573
  left: _ + y + 8,
@@ -1550,18 +1584,18 @@ const U = u.createContext(null), nt = ({
1550
1584
  s.current && R(s.current.scrollLeft);
1551
1585
  }, Q = () => {
1552
1586
  if (!m || !O) return;
1553
- m - O > _t ? F(S.ON_CAROUSEL_FORWARD_SWIPE, i) : F(S.ON_CAROUSEL_BACK_SWIPE, i);
1587
+ m - O > Ct ? F(S.ON_CAROUSEL_FORWARD_SWIPE, i) : F(S.ON_CAROUSEL_BACK_SWIPE, i);
1554
1588
  }, q = (A) => {
1555
1589
  I(A.targetTouches[0].clientX);
1556
1590
  }, Y = (A) => {
1557
1591
  I(null), T(A.targetTouches[0].clientX);
1558
- }, w = y ? Math.round(_ / (y + 8)) : 0, We = s.current ? s.current.scrollWidth - s.current.offsetWidth : 0;
1592
+ }, w = y ? Math.round(_ / (y + 8)) : 0, we = s.current ? s.current.scrollWidth - s.current.offsetWidth : 0;
1559
1593
  return /* @__PURE__ */ g(
1560
1594
  k,
1561
1595
  {
1562
1596
  "aria-label": W.carousel_title,
1563
1597
  "aria-roledescription": "carousel",
1564
- ref: C,
1598
+ ref: f,
1565
1599
  role: "group/region",
1566
1600
  sx: {
1567
1601
  alignItems: "center",
@@ -1585,7 +1619,7 @@ const U = u.createContext(null), nt = ({
1585
1619
  gap: 8,
1586
1620
  listStyleType: "none",
1587
1621
  m: 0,
1588
- maxWidth: f ? "calc(100% - 32px)" : "100%",
1622
+ maxWidth: C ? "calc(100% - 32px)" : "100%",
1589
1623
  overflowX: "auto",
1590
1624
  overflowY: "hidden",
1591
1625
  p: 0,
@@ -1597,7 +1631,7 @@ const U = u.createContext(null), nt = ({
1597
1631
  }
1598
1632
  },
1599
1633
  children: /* @__PURE__ */ e(
1600
- mt,
1634
+ Rt,
1601
1635
  {
1602
1636
  activeCardIndex: w,
1603
1637
  beats: t,
@@ -1613,13 +1647,13 @@ const U = u.createContext(null), nt = ({
1613
1647
  }
1614
1648
  ),
1615
1649
  c && /* @__PURE__ */ e(
1616
- Ct,
1650
+ mt,
1617
1651
  {
1618
1652
  currentBeatIndex: w + E - 1,
1619
1653
  numBeats: t.length + 1,
1620
1654
  onNextClick: K,
1621
1655
  onPreviousClick: $,
1622
- scrollRightBoundary: We,
1656
+ scrollRightBoundary: we,
1623
1657
  scrollX: _,
1624
1658
  shouldApplyDotAnimation: o,
1625
1659
  visibleCardsCount: E
@@ -1628,7 +1662,7 @@ const U = u.createContext(null), nt = ({
1628
1662
  ]
1629
1663
  }
1630
1664
  );
1631
- }, gt = P(Rt), It = ({
1665
+ }, It = b(gt), yt = ({
1632
1666
  analyticsMetadata: i,
1633
1667
  onCardClick: o,
1634
1668
  posthog: t,
@@ -1650,7 +1684,7 @@ const U = u.createContext(null), nt = ({
1650
1684
  },
1651
1685
  children: [
1652
1686
  /* @__PURE__ */ e(
1653
- Le,
1687
+ Ve,
1654
1688
  {
1655
1689
  sx: (c) => ({
1656
1690
  color: c.palette.primary.main,
@@ -1663,9 +1697,9 @@ const U = u.createContext(null), nt = ({
1663
1697
  }
1664
1698
  ),
1665
1699
  /* @__PURE__ */ e(
1666
- xe,
1700
+ Le,
1667
1701
  {
1668
- endIcon: /* @__PURE__ */ e(Ce, { size: 20 }),
1702
+ endIcon: /* @__PURE__ */ e(fe, { size: 20 }),
1669
1703
  onClick: a,
1670
1704
  size: "small",
1671
1705
  sx: (c) => ({
@@ -1677,8 +1711,8 @@ const U = u.createContext(null), nt = ({
1677
1711
  )
1678
1712
  ]
1679
1713
  }
1680
- ) : /* @__PURE__ */ e(ke, {});
1681
- }, yt = P(It), vt = ({
1714
+ ) : /* @__PURE__ */ e(Fe, {});
1715
+ }, vt = b(yt), St = ({
1682
1716
  heightOverrides: i,
1683
1717
  widthOverrides: o,
1684
1718
  children: t
@@ -1699,7 +1733,7 @@ const U = u.createContext(null), nt = ({
1699
1733
  children: t
1700
1734
  }
1701
1735
  );
1702
- }, Oe = ({
1736
+ }, Te = ({
1703
1737
  ariaLabel: i,
1704
1738
  heightOverrides: o,
1705
1739
  onCardClick: t,
@@ -1707,11 +1741,11 @@ const U = u.createContext(null), nt = ({
1707
1741
  showIcon: n,
1708
1742
  variant: r
1709
1743
  }) => {
1710
- const { cardsCopy: a } = V(), { onEvent: c } = z(), { onPageview: h } = Me();
1744
+ const { cardsCopy: a } = V(), { onEvent: c } = z(), { onPageview: h } = Ae();
1711
1745
  u.useEffect(() => {
1712
1746
  h(H.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS);
1713
1747
  }, []);
1714
- const f = () => {
1748
+ const C = () => {
1715
1749
  t && t(), c(S.ON_NO_RELEVANT_INSIGHTS_CLICKED), l?.capture("clicked_insight", {
1716
1750
  template: "no_relevant_insights"
1717
1751
  });
@@ -1723,9 +1757,9 @@ const U = u.createContext(null), nt = ({
1723
1757
  ariaLabel: i,
1724
1758
  description: a.no_relevant_insights_card_description,
1725
1759
  heightOverrides: o,
1726
- icon: /* @__PURE__ */ e(Se, {}),
1760
+ icon: /* @__PURE__ */ e(Me, {}),
1727
1761
  isZeroState: !0,
1728
- onCardClick: f,
1762
+ onCardClick: C,
1729
1763
  posthog: l,
1730
1764
  showIcon: n,
1731
1765
  style: {
@@ -1737,7 +1771,7 @@ const U = u.createContext(null), nt = ({
1737
1771
  variant: r
1738
1772
  }
1739
1773
  );
1740
- }, Jt = P(Oe), Te = ({
1774
+ }, ei = b(Te), We = ({
1741
1775
  ariaLabel: i,
1742
1776
  heightOverrides: o,
1743
1777
  onCardClick: t,
@@ -1745,7 +1779,7 @@ const U = u.createContext(null), nt = ({
1745
1779
  showIcon: n,
1746
1780
  variant: r
1747
1781
  }) => {
1748
- const { onPageview: a } = Me(), { zeroStateCopy: c } = V();
1782
+ const { onPageview: a } = Ae(), { zeroStateCopy: c } = V();
1749
1783
  return u.useEffect(() => {
1750
1784
  a(H.MICRO_WIDGET_CAROUSEL_ZERO_STATE);
1751
1785
  }, []), /* @__PURE__ */ e(
@@ -1754,7 +1788,7 @@ const U = u.createContext(null), nt = ({
1754
1788
  ariaLabel: i,
1755
1789
  description: c.carousel_zero_state_description,
1756
1790
  heightOverrides: o,
1757
- icon: /* @__PURE__ */ e(Se, {}),
1791
+ icon: /* @__PURE__ */ e(Me, {}),
1758
1792
  isZeroState: !0,
1759
1793
  onCardClick: t,
1760
1794
  posthog: l,
@@ -1763,7 +1797,7 @@ const U = u.createContext(null), nt = ({
1763
1797
  variant: r
1764
1798
  }
1765
1799
  );
1766
- }, ei = P(Te), St = () => /* @__PURE__ */ e(
1800
+ }, ti = b(We), Mt = () => /* @__PURE__ */ e(
1767
1801
  Z,
1768
1802
  {
1769
1803
  sx: {
@@ -1775,7 +1809,7 @@ const U = u.createContext(null), nt = ({
1775
1809
  },
1776
1810
  children: /* @__PURE__ */ e(Ue, {})
1777
1811
  }
1778
- ), N = new lt(), Mt = ({
1812
+ ), N = new lt(), At = ({
1779
1813
  allowSingleCardPeeking: i,
1780
1814
  areBeatsLoading: o,
1781
1815
  beats: t = [],
@@ -1788,13 +1822,13 @@ const U = u.createContext(null), nt = ({
1788
1822
  },
1789
1823
  onEvent: h = () => {
1790
1824
  },
1791
- onPageview: f = () => {
1825
+ onPageview: C = () => {
1792
1826
  },
1793
1827
  posthog: p,
1794
1828
  showBorder: d = !0,
1795
1829
  showCarouselControls: E,
1796
1830
  showHeader: s,
1797
- showIcon: C,
1831
+ showIcon: f,
1798
1832
  showWithMargin: _ = !0,
1799
1833
  token: R = "",
1800
1834
  userHasFullInsightFeedBeats: O,
@@ -1802,7 +1836,7 @@ const U = u.createContext(null), nt = ({
1802
1836
  visibleCardsCount: m = 1,
1803
1837
  widthOverrides: T
1804
1838
  }) => {
1805
- const [y, M] = J("STANDARD"), [W, F] = J(!1), [K, $] = J(!1), X = Ke([h], N), Q = $e([f], N);
1839
+ const [y, M] = J("STANDARD"), [W, F] = J(!1), [K, $] = J(!1), X = Ke([h], N), Q = $e([C], N);
1806
1840
  Ye({
1807
1841
  widgetName: "InsightsMicroWidget",
1808
1842
  isLoaded: W
@@ -1819,7 +1853,7 @@ const U = u.createContext(null), nt = ({
1819
1853
  heightOverrides: r,
1820
1854
  onCardClick: c,
1821
1855
  posthog: p,
1822
- showIcon: C,
1856
+ showIcon: f,
1823
1857
  showWithMargin: _,
1824
1858
  widthOverrides: T
1825
1859
  }, Y = {
@@ -1829,24 +1863,24 @@ const U = u.createContext(null), nt = ({
1829
1863
  heightOverrides: r,
1830
1864
  onCardClick: c,
1831
1865
  posthog: p,
1832
- showIcon: C
1866
+ showIcon: f
1833
1867
  };
1834
- return /* @__PURE__ */ e(nt, { onEvent: X, onPageview: Q, store: N, children: /* @__PURE__ */ g(vt, { heightOverrides: r, widthOverrides: T, children: [
1835
- !W && /* @__PURE__ */ e(St, {}),
1868
+ return /* @__PURE__ */ e(nt, { onEvent: X, onPageview: Q, store: N, children: /* @__PURE__ */ g(St, { heightOverrides: r, widthOverrides: T, children: [
1869
+ !W && /* @__PURE__ */ e(Mt, {}),
1836
1870
  W && s && /* @__PURE__ */ e(
1837
- yt,
1871
+ vt,
1838
1872
  {
1839
- analyticsMetadata: Ee,
1873
+ analyticsMetadata: de,
1840
1874
  onCardClick: c,
1841
1875
  posthog: p,
1842
1876
  widthOverrides: T
1843
1877
  }
1844
1878
  ),
1845
1879
  W && !!t.length && /* @__PURE__ */ e(
1846
- gt,
1880
+ It,
1847
1881
  {
1848
1882
  allowSingleCardPeeking: i,
1849
- analyticsMetadata: Ee,
1883
+ analyticsMetadata: de,
1850
1884
  beats: t,
1851
1885
  showCarouselControls: E,
1852
1886
  variant: d ? I : void 0,
@@ -1866,16 +1900,16 @@ const U = u.createContext(null), nt = ({
1866
1900
  k,
1867
1901
  {
1868
1902
  sx: {
1869
- height: `calc(${pt[y]}px - 44px)`,
1903
+ height: `calc(${_t[y]}px - 44px)`,
1870
1904
  width: _ ? `calc(${T}px - 32px)` : "100%"
1871
1905
  },
1872
- children: O ? /* @__PURE__ */ e(Oe, { ...Y }) : /* @__PURE__ */ e(Te, { ...Y })
1906
+ children: O ? /* @__PURE__ */ e(Te, { ...Y }) : /* @__PURE__ */ e(We, { ...Y })
1873
1907
  }
1874
1908
  )
1875
1909
  }
1876
1910
  )
1877
1911
  ] }) });
1878
- }, ti = P(Mt), At = ({
1912
+ }, ii = b(At), Ot = ({
1879
1913
  isActiveCard: i,
1880
1914
  ariaLabel: o,
1881
1915
  heightOverrides: t,
@@ -1885,11 +1919,11 @@ const U = u.createContext(null), nt = ({
1885
1919
  variant: a,
1886
1920
  widthOverrides: c
1887
1921
  }) => {
1888
- const h = te(), { ref: f, inView: p } = me({
1889
- threshold: Ae
1922
+ const h = te(), { ref: C, inView: p } = Re({
1923
+ threshold: Oe
1890
1924
  }), { cardsCopy: d } = V(), { onEvent: E } = z();
1891
1925
  ee(() => {
1892
- p && (E(ve.ON_VIEW_MORE_VIEWED), n?.capture("viewed_insight", {
1926
+ p && (E(Se.ON_VIEW_MORE_VIEWED), n?.capture("viewed_insight", {
1893
1927
  template: "view_more_card"
1894
1928
  }));
1895
1929
  }, [p]);
@@ -1909,27 +1943,27 @@ const U = u.createContext(null), nt = ({
1909
1943
  isActiveCard: i,
1910
1944
  onCardClick: s,
1911
1945
  posthog: n,
1912
- ref: f,
1946
+ ref: C,
1913
1947
  showIcon: r,
1914
1948
  title: d.view_more_card_title,
1915
1949
  variant: a,
1916
1950
  widthOverrides: c
1917
1951
  }
1918
1952
  );
1919
- }, Ot = P(At);
1953
+ }, Tt = b(Ot);
1920
1954
  export {
1921
1955
  lt as A,
1922
1956
  j as B,
1923
- yt as C,
1957
+ vt as C,
1924
1958
  nt as I,
1925
- gt as M,
1926
- Jt as N,
1927
- Ee as T,
1928
- Ot as V,
1929
- ei as Z,
1959
+ It as M,
1960
+ ei as N,
1961
+ de as T,
1962
+ Tt as V,
1963
+ ti as Z,
1930
1964
  ft as a,
1931
- ti as b,
1965
+ ii as b,
1932
1966
  st as c,
1933
1967
  Et as d,
1934
- Se as e
1968
+ Me as e
1935
1969
  };
@@ -0,0 +1,6 @@
1
+ declare const BeatMaterialIcon: ({ bgColor, name, iconColor, }: {
2
+ bgColor?: string;
3
+ name: string;
4
+ iconColor?: "secondary" | "success" | "primary";
5
+ }) => import("react/jsx-runtime").JSX.Element;
6
+ export default BeatMaterialIcon;
@@ -1,4 +1,5 @@
1
1
  export { BeatCategoryIcon } from './BeatCategoryIcon';
2
+ export { default as BeatMaterialIcon } from './BeatMaterialIcon';
2
3
  export { default as BeatMerchantLogo } from './BeatMerchantLogo';
3
4
  export { ChartFilledIcon } from './ChartFilledIcon';
4
5
  export { MonthlySpendComparisonIcon } from './MonthlySpendComparisonIcon';
@@ -1,4 +1,4 @@
1
- import { A as V, B as _, C as A, c as F, a as R, b as $, I as q, M as G, d as J, N as K, V as Q, Z as U, e as X } from "../ViewMoreMicroCard-DwR0v_ll.mjs";
1
+ import { A as V, B as _, C as A, c as F, a as R, b as $, I as q, M as G, d as J, N as K, V as Q, Z as U, e as X } from "../ViewMoreMicroCard-rY-kN9MP.mjs";
2
2
  import { jsxs as r, jsx as e } from "react/jsx-runtime";
3
3
  import g from "@mui/material/Avatar";
4
4
  import v from "@mui/material/Box";
@@ -29,7 +29,7 @@ import { c as Et, i as Dt, d as Mt, e as At, b as tt, g as ot, f as Pe } from ".
29
29
  import Rt from "@mui/material/ToggleButton";
30
30
  import kt from "@mui/material/ToggleButtonGroup";
31
31
  import { DataGridPro as Ht } from "@mui/x-data-grid-pro";
32
- import { T as V, b as Nt } from "../ViewMoreMicroCard-DwR0v_ll.mjs";
32
+ import { T as V, b as Nt } from "../ViewMoreMicroCard-rY-kN9MP.mjs";
33
33
  import { parseISO as nt } from "date-fns/parseISO";
34
34
  import { H as Re } from "../HeaderCell-DjuifqHJ.mjs";
35
35
  import { A as x, W as st } from "../WidgetContainer-COyiIVSd.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mx-cartographer/experiences",
3
- "version": "7.6.15",
3
+ "version": "7.6.16",
4
4
  "description": "Library containing experience widgets",
5
5
  "author": "MX",
6
6
  "license": "MIT",