@mx-cartographer/experiences 9.1.5 → 9.1.6
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 +4 -0
- package/dist/{Analytics-CkYXKvco.mjs → Analytics-B8AaC22u.mjs} +2 -2
- package/dist/{Analytics-CkYXKvco.mjs.map → Analytics-B8AaC22u.mjs.map} +1 -1
- package/dist/ErrorBoundary-C7BlHx04.mjs +27 -0
- package/dist/ErrorBoundary-C7BlHx04.mjs.map +1 -0
- package/dist/GlobalCopyApi-CLhyon-B.mjs +145 -0
- package/dist/GlobalCopyApi-CLhyon-B.mjs.map +1 -0
- package/dist/{Help-zVZdcmlk.mjs → Help-D4sOpItq.mjs} +2 -2
- package/dist/{Help-zVZdcmlk.mjs.map → Help-D4sOpItq.mjs.map} +1 -1
- package/dist/{UserStore-DApsX4aO.mjs → UserStore-Bksi48jC.mjs} +66 -62
- package/dist/UserStore-Bksi48jC.mjs.map +1 -0
- package/dist/{ViewMoreMicroCard-fnwE0hqd.mjs → ViewMoreMicroCard-B4oeGrbE.mjs} +3 -3
- package/dist/{ViewMoreMicroCard-fnwE0hqd.mjs.map → ViewMoreMicroCard-B4oeGrbE.mjs.map} +1 -1
- package/dist/common/components/ErrorBoundary.d.ts +2 -0
- package/dist/common/index.es.js +3 -3
- package/dist/core/index.es.js +3 -3
- package/dist/core/stores/GlobalStore.d.ts +4 -2
- package/dist/core/types/Handlers.d.ts +1 -0
- package/dist/core/types/index.d.ts +1 -1
- package/dist/core/utils/Fetch.d.ts +4 -0
- package/dist/help/index.es.js +1 -1
- package/dist/microinsights/index.es.js +1 -1
- package/dist/settings/index.es.js +1 -1
- package/dist/trends/index.es.js +1 -1
- package/package.json +1 -1
- package/dist/ErrorBoundary-CsdOcnJ9.mjs +0 -24
- package/dist/ErrorBoundary-CsdOcnJ9.mjs.map +0 -1
- package/dist/GlobalCopyApi-wcnDUzMV.mjs +0 -129
- package/dist/GlobalCopyApi-wcnDUzMV.mjs.map +0 -1
- package/dist/UserStore-DApsX4aO.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
## [9.1.6] - 07-08-2026
|
|
2
|
+
|
|
3
|
+
- **ADDED** - `GlobalCaptureException` callback pipeline for error observability for User
|
|
4
|
+
|
|
1
5
|
## [9.1.5] - 07-07-2026
|
|
2
6
|
|
|
3
7
|
- **FIXED** - Transaction dates displayed, grouped, and filtered one day early in negative-offset (US) timezones when the feed stored the date at midnight UTC
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import u from "react";
|
|
2
2
|
import { getUnixTime as r } from "date-fns/getUnixTime";
|
|
3
|
-
import { A as l } from "./GlobalCopyApi-
|
|
3
|
+
import { A as l } from "./GlobalCopyApi-CLhyon-B.mjs";
|
|
4
4
|
const A = (s, i) => {
|
|
5
5
|
const { session: t } = i, o = Object.values(i).reduce((e, n) => t && n?.onAnalyticEvent && typeof n?.onAnalyticEvent == "function" ? [...e, n.onAnalyticEvent] : e, []), a = [...s, ...o];
|
|
6
6
|
return u.useMemo(() => (e) => {
|
|
@@ -51,4 +51,4 @@ export {
|
|
|
51
51
|
d as b,
|
|
52
52
|
A as u
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=Analytics-
|
|
54
|
+
//# sourceMappingURL=Analytics-B8AaC22u.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Analytics-
|
|
1
|
+
{"version":3,"file":"Analytics-B8AaC22u.mjs","sources":["../src/common/hooks/useCombineEvents.tsx","../src/common/utils/Analytics.ts"],"sourcesContent":["import React from 'react'\n\nimport { AnalyticEventFunction, AnalyticPageviewFunction } from '../../core'\n\nexport const useCombineEvents = (events: AnalyticEventFunction[], store: any) => {\n const { session } = store\n\n const storeEvents = Object.values(store).reduce((acc: AnalyticEventFunction[], curr: any) => {\n if (session && curr?.onAnalyticEvent && typeof curr?.onAnalyticEvent === 'function') {\n return [...acc, curr.onAnalyticEvent]\n }\n\n return acc\n }, [])\n const eventFunctions = [...events, ...storeEvents]\n\n return React.useMemo(() => {\n return (event: string) => {\n eventFunctions.forEach((e) => {\n if (!session) {\n e(event)\n } else {\n e(event, session)\n }\n })\n }\n }, [events, session])\n}\n\nexport const useCombinePageviews = (pages: AnalyticPageviewFunction[], store: any) => {\n const { session } = store\n\n const storeEvents = Object.values(store).reduce((acc: AnalyticPageviewFunction[], curr: any) => {\n if (session && curr?.onAnalyticPageView && typeof curr?.onAnalyticPageView === 'function') {\n return [...acc, curr.onAnalyticPageView]\n }\n\n return acc\n }, [])\n const eventFunctions = [...pages, ...storeEvents]\n\n return React.useMemo(() => {\n return (event: string) => {\n eventFunctions.forEach((e) => {\n if (!session) {\n e(event)\n } else {\n e(event, session)\n }\n })\n }\n }, [pages, session])\n}\n","import { getUnixTime } from 'date-fns/getUnixTime'\n\nimport { AnalyticsApi } from '../../core/api'\nimport { BasicAnalyticsEvent, AnalyticsSession, BasicAnalyticsPageview } from '../../core'\n\nexport const analyticsSession = async (\n endpoint: string,\n token: string,\n version = '1.0.0',\n featureName = 'Experiences',\n) => {\n const analyticsApi = new AnalyticsApi(endpoint, token)\n const { analytics_session } = (await analyticsApi.initializeAnalyticsSession(\n version,\n featureName,\n )) as {\n analytics_session: AnalyticsSession\n }\n\n const host = window.location.hostname\n\n return {\n sendAnalyticEvent: async (event: BasicAnalyticsEvent) => {\n return await analyticsApi.sendAnalyticEvent({\n analytics_event: {\n ...event,\n app_version: 'widgets-v2',\n created_at: getUnixTime(new Date()).toString(),\n host,\n name: event?.label || '',\n session_id: analytics_session.guid,\n user_agent: navigator.userAgent || '',\n version: 2,\n },\n })\n },\n sendAnalyticsPageview: async (pageview: BasicAnalyticsPageview) => {\n return await analyticsApi.sendAnalyticsPageview({\n analytics_pageview: {\n ...pageview,\n app_version: 'widgets-v2',\n created_at: getUnixTime(new Date()).toString(),\n host,\n name: pageview.name,\n session_id: analytics_session.guid,\n user_agent: navigator.userAgent || '',\n },\n })\n },\n }\n}\n"],"names":["useCombineEvents","events","store","session","storeEvents","acc","curr","eventFunctions","React","event","e","useCombinePageviews","pages","analyticsSession","endpoint","token","version","featureName","analyticsApi","AnalyticsApi","analytics_session","host","getUnixTime","pageview"],"mappings":";;;AAIO,MAAMA,IAAmB,CAACC,GAAiCC,MAAe;AAC/E,QAAM,EAAE,SAAAC,MAAYD,GAEdE,IAAc,OAAO,OAAOF,CAAK,EAAE,OAAO,CAACG,GAA8BC,MACzEH,KAAWG,GAAM,mBAAmB,OAAOA,GAAM,mBAAoB,aAChE,CAAC,GAAGD,GAAKC,EAAK,eAAe,IAG/BD,GACN,CAAA,CAAE,GACCE,IAAiB,CAAC,GAAGN,GAAQ,GAAGG,CAAW;AAEjD,SAAOI,EAAM,QAAQ,MACZ,CAACC,MAAkB;AACxB,IAAAF,EAAe,QAAQ,CAACG,MAAM;AAC5B,MAAKP,IAGHO,EAAED,GAAON,CAAO,IAFhBO,EAAED,CAAK;AAAA,IAIX,CAAC;AAAA,EACH,GACC,CAACR,GAAQE,CAAO,CAAC;AACtB,GAEaQ,IAAsB,CAACC,GAAmCV,MAAe;AACpF,QAAM,EAAE,SAAAC,MAAYD,GAEdE,IAAc,OAAO,OAAOF,CAAK,EAAE,OAAO,CAACG,GAAiCC,MAC5EH,KAAWG,GAAM,sBAAsB,OAAOA,GAAM,sBAAuB,aACtE,CAAC,GAAGD,GAAKC,EAAK,kBAAkB,IAGlCD,GACN,CAAA,CAAE,GACCE,IAAiB,CAAC,GAAGK,GAAO,GAAGR,CAAW;AAEhD,SAAOI,EAAM,QAAQ,MACZ,CAACC,MAAkB;AACxB,IAAAF,EAAe,QAAQ,CAACG,MAAM;AAC5B,MAAKP,IAGHO,EAAED,GAAON,CAAO,IAFhBO,EAAED,CAAK;AAAA,IAIX,CAAC;AAAA,EACH,GACC,CAACG,GAAOT,CAAO,CAAC;AACrB,GC/CaU,IAAmB,OAC9BC,GACAC,GACAC,IAAU,SACVC,IAAc,kBACX;AACH,QAAMC,IAAe,IAAIC,EAAaL,GAAUC,CAAK,GAC/C,EAAE,mBAAAK,EAAA,IAAuB,MAAMF,EAAa;AAAA,IAChDF;AAAA,IACAC;AAAA,EAAA,GAKII,IAAO,OAAO,SAAS;AAE7B,SAAO;AAAA,IACL,mBAAmB,OAAOZ,MACjB,MAAMS,EAAa,kBAAkB;AAAA,MAC1C,iBAAiB;AAAA,QACf,GAAGT;AAAA,QACH,aAAa;AAAA,QACb,YAAYa,EAAY,oBAAI,KAAA,CAAM,EAAE,SAAA;AAAA,QACpC,MAAAD;AAAA,QACA,MAAMZ,GAAO,SAAS;AAAA,QACtB,YAAYW,EAAkB;AAAA,QAC9B,YAAY,UAAU,aAAa;AAAA,QACnC,SAAS;AAAA,MAAA;AAAA,IACX,CACD;AAAA,IAEH,uBAAuB,OAAOG,MACrB,MAAML,EAAa,sBAAsB;AAAA,MAC9C,oBAAoB;AAAA,QAClB,GAAGK;AAAA,QACH,aAAa;AAAA,QACb,YAAYD,EAAY,oBAAI,KAAA,CAAM,EAAE,SAAA;AAAA,QACpC,MAAAD;AAAA,QACA,MAAME,EAAS;AAAA,QACf,YAAYH,EAAkB;AAAA,QAC9B,YAAY,UAAU,aAAa;AAAA,MAAA;AAAA,IACrC,CACD;AAAA,EACH;AAEJ;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import e from "react";
|
|
3
|
+
import { H3 as n } from "@mxenabled/mxui";
|
|
4
|
+
const s = {
|
|
5
|
+
text: "Oops! Something went wrong."
|
|
6
|
+
};
|
|
7
|
+
class m extends e.Component {
|
|
8
|
+
state = {
|
|
9
|
+
hasError: !1
|
|
10
|
+
};
|
|
11
|
+
componentDidCatch(r, t) {
|
|
12
|
+
console.error("Uncaught error:", r, t), this.props.onCaptureException?.(r, {
|
|
13
|
+
component: "ErrorBoundary",
|
|
14
|
+
componentStack: t.componentStack ?? ""
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
static getDerivedStateFromError() {
|
|
18
|
+
return { hasError: !0 };
|
|
19
|
+
}
|
|
20
|
+
render() {
|
|
21
|
+
return this.state.hasError ? /* @__PURE__ */ o(n, { sx: { pt: 24 }, children: s.text }) : this.props.children;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
m as E
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=ErrorBoundary-C7BlHx04.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorBoundary-C7BlHx04.mjs","sources":["../src/common/components/ErrorBoundary.tsx"],"sourcesContent":["import React from 'react'\n\nimport { H3 } from '@mxenabled/mxui'\n\nimport type { GlobalCaptureException } from '../../core'\n\nexport interface ErrorProps {\n children?: React.ReactNode\n onCaptureException?: GlobalCaptureException\n}\n\nexport interface ErrorState {\n hasError: boolean\n}\n\nconst copy = {\n text: 'Oops! Something went wrong.',\n}\n\nclass ErrorBoundary extends React.Component<ErrorProps, ErrorState> {\n state: ErrorState = {\n hasError: false,\n }\n\n componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {\n console.error('Uncaught error:', error, errorInfo)\n this.props.onCaptureException?.(error, {\n component: 'ErrorBoundary',\n componentStack: errorInfo.componentStack ?? '',\n })\n }\n\n static getDerivedStateFromError(): ErrorState {\n return { hasError: true }\n }\n\n render() {\n if (this.state.hasError) return <H3 sx={{ pt: 24 }}>{copy.text}</H3>\n\n return this.props.children\n }\n}\n\nexport default ErrorBoundary\n"],"names":["copy","ErrorBoundary","React","error","errorInfo","jsx","H3"],"mappings":";;;AAeA,MAAMA,IAAO;AAAA,EACX,MAAM;AACR;AAEA,MAAMC,UAAsBC,EAAM,UAAkC;AAAA,EAClE,QAAoB;AAAA,IAClB,UAAU;AAAA,EAAA;AAAA,EAGZ,kBAAkBC,GAAcC,GAA4B;AAC1D,YAAQ,MAAM,mBAAmBD,GAAOC,CAAS,GACjD,KAAK,MAAM,qBAAqBD,GAAO;AAAA,MACrC,WAAW;AAAA,MACX,gBAAgBC,EAAU,kBAAkB;AAAA,IAAA,CAC7C;AAAA,EACH;AAAA,EAEA,OAAO,2BAAuC;AAC5C,WAAO,EAAE,UAAU,GAAA;AAAA,EACrB;AAAA,EAEA,SAAS;AACP,WAAI,KAAK,MAAM,WAAiB,gBAAAC,EAACC,GAAA,EAAG,IAAI,EAAE,IAAI,GAAA,GAAO,UAAAN,EAAK,KAAA,CAAK,IAExD,KAAK,MAAM;AAAA,EACpB;AACF;"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import h from "bowser";
|
|
2
|
+
import { A as r } from "./ApiEndpoints-DXwIYNUV.mjs";
|
|
3
|
+
import { g as u } from "./Localization-DnoVyBNK.mjs";
|
|
4
|
+
class o extends Error {
|
|
5
|
+
status;
|
|
6
|
+
constructor(e, s) {
|
|
7
|
+
super(e), this.name = "ApiError", this.status = s;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
class c {
|
|
11
|
+
endpoint = "/";
|
|
12
|
+
headers;
|
|
13
|
+
onError;
|
|
14
|
+
constructor(e, s, t, a) {
|
|
15
|
+
this.endpoint = e;
|
|
16
|
+
const n = {
|
|
17
|
+
Accept: "application/json",
|
|
18
|
+
"Accept-Language": u(),
|
|
19
|
+
"Content-Type": "application/json",
|
|
20
|
+
"MD-Session-Token": s
|
|
21
|
+
};
|
|
22
|
+
this.headers = t || n, this.onError = a;
|
|
23
|
+
}
|
|
24
|
+
get = async (e) => {
|
|
25
|
+
const s = {
|
|
26
|
+
method: "GET",
|
|
27
|
+
headers: this.headers
|
|
28
|
+
};
|
|
29
|
+
return fetch(`${this.endpoint}${e}`, s).then((t) => {
|
|
30
|
+
if (!t.ok)
|
|
31
|
+
throw new o(
|
|
32
|
+
`ApiGetRequestError: ${t.status} ${t.statusText}`,
|
|
33
|
+
t.status
|
|
34
|
+
);
|
|
35
|
+
return t.text();
|
|
36
|
+
}).then((t) => t.length ? JSON.parse(t) : {}).then((t) => t).catch((t) => {
|
|
37
|
+
throw this.onError?.(t, void 0, "ApiGetRequestError"), t;
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
post = async (e, s) => {
|
|
41
|
+
const t = s ? JSON.stringify(s) : void 0, a = {
|
|
42
|
+
method: "POST",
|
|
43
|
+
headers: this.headers,
|
|
44
|
+
body: t
|
|
45
|
+
};
|
|
46
|
+
return fetch(`${this.endpoint}${e}`, a).then((n) => {
|
|
47
|
+
if (!n.ok)
|
|
48
|
+
throw new o(
|
|
49
|
+
`ApiPostRequestError: ${n.status} ${n.statusText}`,
|
|
50
|
+
n.status
|
|
51
|
+
);
|
|
52
|
+
return n.text();
|
|
53
|
+
}).then((n) => n.length ? JSON.parse(n) : {}).then((n) => n);
|
|
54
|
+
};
|
|
55
|
+
put = async (e, s) => {
|
|
56
|
+
const t = JSON.stringify(s), a = {
|
|
57
|
+
method: "PUT",
|
|
58
|
+
headers: this.headers,
|
|
59
|
+
body: t
|
|
60
|
+
};
|
|
61
|
+
return fetch(`${this.endpoint}${e}`, a).then((n) => {
|
|
62
|
+
if (!n.ok)
|
|
63
|
+
throw new o(
|
|
64
|
+
`ApiPutRequestError: ${n.status} ${n.statusText}`,
|
|
65
|
+
n.status
|
|
66
|
+
);
|
|
67
|
+
return n.text();
|
|
68
|
+
}).then((n) => n.length ? JSON.parse(n) : {}).then((n) => n).catch((n) => {
|
|
69
|
+
throw window?.app?.config?.type === "pulse" && this.onError?.(n, void 0, "ApiPutRequestError"), n;
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
delete = async (e) => {
|
|
73
|
+
const s = {
|
|
74
|
+
method: "DELETE",
|
|
75
|
+
headers: this.headers
|
|
76
|
+
};
|
|
77
|
+
return fetch(`${this.endpoint}${e}`, s).then((t) => {
|
|
78
|
+
if (!t.ok)
|
|
79
|
+
throw new o(
|
|
80
|
+
`ApiDeleteRequestError: ${t.status} ${t.statusText}`,
|
|
81
|
+
t.status
|
|
82
|
+
);
|
|
83
|
+
return t.text();
|
|
84
|
+
}).then((t) => t.length ? JSON.parse(t) : {}).then((t) => t);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
class A {
|
|
88
|
+
fetchInstance;
|
|
89
|
+
constructor(e, s, t) {
|
|
90
|
+
this.fetchInstance = new c(e, s, void 0, t);
|
|
91
|
+
}
|
|
92
|
+
initializeAnalyticsSession = async (e, s) => {
|
|
93
|
+
const t = h.getParser(window.navigator.userAgent), { analytics_session: a } = await this.fetchInstance.post(r.ANALYTICS_SESSION, {
|
|
94
|
+
browser_name: t.getBrowserName() || "Unknown",
|
|
95
|
+
browser_version: t.getBrowserVersion() || "0.0.0",
|
|
96
|
+
is_first_visit: !1,
|
|
97
|
+
product_name: "Individual Widget",
|
|
98
|
+
product_version: e
|
|
99
|
+
});
|
|
100
|
+
return a ? (this.fetchInstance.post(r.ANALYTICS_FEATURE_VISITS, {
|
|
101
|
+
feature_visit: {
|
|
102
|
+
analytics_session_guid: a.guid,
|
|
103
|
+
feature_name: s || "Experiences",
|
|
104
|
+
is_first_visit: a.is_first_visit
|
|
105
|
+
}
|
|
106
|
+
}), { analytics_session: a }) : { analytics_session: null };
|
|
107
|
+
};
|
|
108
|
+
sendAnalyticEvent = async (e) => this.fetchInstance.post(r.ANALYTICS_EVENTS, e).catch((s) => {
|
|
109
|
+
throw s;
|
|
110
|
+
});
|
|
111
|
+
sendAnalyticsPageview = async (e) => this.fetchInstance.post(r.ANALYTICS_PAGEVIEWS, e).catch((s) => {
|
|
112
|
+
throw s;
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
class l {
|
|
116
|
+
fetchInstance;
|
|
117
|
+
constructor(e, s, t) {
|
|
118
|
+
this.fetchInstance = new c(e, s, void 0, t);
|
|
119
|
+
}
|
|
120
|
+
getBeats = async (e, s) => {
|
|
121
|
+
const t = `page=${e || 1}&per_page=${s || 5}`;
|
|
122
|
+
return this.fetchInstance.get(`${r.BEATS}?${t}`).then((a) => a.beats);
|
|
123
|
+
};
|
|
124
|
+
getBeatsWithAssociatedTransaction = async (e) => {
|
|
125
|
+
let s = "has_associated_transaction_guid=true";
|
|
126
|
+
return s += e ? `&from_date=${e}` : "", this.fetchInstance.get(`${r.BEATS}?${s}`).then((t) => t.beats);
|
|
127
|
+
};
|
|
128
|
+
getOffers = async () => this.fetchInstance.get(`${r.OFFERS}/${r.PULSE_COMMUNICATIONS}`).then((e) => e.pulse_communications);
|
|
129
|
+
updateBeat = async (e) => this.fetchInstance.put(`${r.BEATS}/${e.guid}`, e).then((s) => s.beat);
|
|
130
|
+
updateOffer = async (e) => this.fetchInstance.put(`${r.OFFERS}/${e.guid}`, e).then((s) => s.beat);
|
|
131
|
+
}
|
|
132
|
+
class E {
|
|
133
|
+
fetchInstance;
|
|
134
|
+
constructor(e, s, t) {
|
|
135
|
+
this.fetchInstance = new c(e, s, void 0, t);
|
|
136
|
+
}
|
|
137
|
+
getGlobalCopy = async (e, s) => this.fetchInstance.post(`${r.LOCALIZED_CONTENT}/${e}`, { translation_key: s }).then((t) => t);
|
|
138
|
+
}
|
|
139
|
+
export {
|
|
140
|
+
A,
|
|
141
|
+
l as B,
|
|
142
|
+
c as F,
|
|
143
|
+
E as G
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=GlobalCopyApi-CLhyon-B.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobalCopyApi-CLhyon-B.mjs","sources":["../src/core/utils/Fetch.ts","../src/core/api/AnalyticsApi.ts","../src/core/api/BeatApi.ts","../src/core/api/GlobalCopyApi.ts"],"sourcesContent":["import { type GlobalErrorHandler } from '../types'\nimport { getLocale } from './Localization'\n\nexport class ApiError extends Error {\n public status: number\n constructor(message: string, status: number) {\n super(message)\n this.name = 'ApiError'\n this.status = status\n }\n}\n\nexport class Fetch {\n endpoint = '/'\n headers: Record<string, string>\n onError?: GlobalErrorHandler\n\n constructor(\n endpoint: string,\n token: string,\n headers?: Record<string, string>,\n onError?: GlobalErrorHandler,\n ) {\n this.endpoint = endpoint\n const defaultHeaders = {\n Accept: 'application/json',\n 'Accept-Language': getLocale(),\n 'Content-Type': 'application/json',\n 'MD-Session-Token': token,\n }\n this.headers = headers || defaultHeaders\n this.onError = onError\n }\n\n get = async (url: string) => {\n const options = {\n method: 'GET',\n headers: this.headers,\n }\n\n return fetch(`${this.endpoint}${url}`, options)\n .then((response) => {\n if (!response.ok) {\n throw new ApiError(\n `ApiGetRequestError: ${response.status} ${response.statusText}`,\n response.status,\n )\n }\n return response.text()\n })\n .then((text) => (text.length ? JSON.parse(text) : {}))\n .then((data) => data)\n .catch((err) => {\n this.onError?.(err, undefined, 'ApiGetRequestError')\n throw err\n })\n }\n\n post = async (url: string, data?: any) => {\n const body = data ? JSON.stringify(data) : undefined\n const options = {\n method: 'POST',\n headers: this.headers,\n body,\n }\n\n return fetch(`${this.endpoint}${url}`, options)\n .then((response) => {\n if (!response.ok) {\n throw new ApiError(\n `ApiPostRequestError: ${response.status} ${response.statusText}`,\n response.status,\n )\n }\n\n return response.text()\n })\n .then((text) => (text.length ? JSON.parse(text) : {}))\n .then((data) => data)\n }\n\n put = async (url: string, data: any) => {\n const body = JSON.stringify(data)\n const options = {\n method: 'PUT',\n headers: this.headers,\n body,\n }\n\n return fetch(`${this.endpoint}${url}`, options)\n .then((response) => {\n if (!response.ok) {\n throw new ApiError(\n `ApiPutRequestError: ${response.status} ${response.statusText}`,\n response.status,\n )\n }\n return response.text()\n })\n .then((text) => (text.length ? JSON.parse(text) : {}))\n .then((data) => data)\n .catch((err) => {\n if (window?.app?.config?.type === 'pulse') {\n this.onError?.(err, undefined, 'ApiPutRequestError')\n }\n throw err\n })\n }\n\n delete = async (url: string) => {\n const options = {\n method: 'DELETE',\n headers: this.headers,\n }\n\n return fetch(`${this.endpoint}${url}`, options)\n .then((response) => {\n if (!response.ok) {\n throw new ApiError(\n `ApiDeleteRequestError: ${response.status} ${response.statusText}`,\n response.status,\n )\n }\n return response.text()\n })\n .then((text) => (text.length ? JSON.parse(text) : {}))\n .then((data) => data)\n }\n}\n\nexport default Fetch\n","import Bowser from 'bowser'\n\nimport { Fetch } from '../utils'\nimport { ApiEndpoints } from '../constants'\nimport type { AnalyticsEvent, GlobalErrorHandler } from '..'\n\nexport class AnalyticsApi {\n fetchInstance: Fetch\n\n constructor(endpoint: string, token: string, onError?: GlobalErrorHandler) {\n this.fetchInstance = new Fetch(endpoint, token, undefined, onError)\n }\n\n initializeAnalyticsSession = async (version: string, featureName?: string) => {\n const browser = Bowser.getParser(window.navigator.userAgent)\n\n const { analytics_session } = await this.fetchInstance.post(ApiEndpoints.ANALYTICS_SESSION, {\n browser_name: browser.getBrowserName() || 'Unknown',\n browser_version: browser.getBrowserVersion() || '0.0.0',\n is_first_visit: false,\n product_name: 'Individual Widget',\n product_version: version,\n })\n if (!analytics_session) {\n return { analytics_session: null }\n }\n this.fetchInstance.post(ApiEndpoints.ANALYTICS_FEATURE_VISITS, {\n feature_visit: {\n analytics_session_guid: analytics_session.guid,\n feature_name: featureName ? featureName : 'Experiences',\n is_first_visit: analytics_session.is_first_visit,\n },\n })\n return { analytics_session }\n }\n\n sendAnalyticEvent = async (event: AnalyticsEvent) => {\n return this.fetchInstance.post(ApiEndpoints.ANALYTICS_EVENTS, event).catch((err) => {\n throw err\n })\n }\n\n sendAnalyticsPageview = async (event: any) => {\n return this.fetchInstance.post(ApiEndpoints.ANALYTICS_PAGEVIEWS, event).catch((err) => {\n throw err\n })\n }\n}\n","import { Fetch } from '../utils'\nimport { ApiEndpoints } from '../constants'\nimport type { Beat, GlobalErrorHandler } from '..'\n\nexport class BeatApi {\n fetchInstance: Fetch\n\n constructor(endpoint: string, token: string, onError?: GlobalErrorHandler) {\n this.fetchInstance = new Fetch(endpoint, token, undefined, onError)\n }\n\n getBeats = async (pageNum?: number, perPage?: number) => {\n const beatParams = `page=${pageNum ? pageNum : 1}&per_page=${perPage ? perPage : 5}`\n\n return this.fetchInstance.get(`${ApiEndpoints.BEATS}?${beatParams}`).then((data) => data.beats)\n }\n\n getBeatsWithAssociatedTransaction = async (fromDate?: string) => {\n let beatParams = 'has_associated_transaction_guid=true'\n beatParams += fromDate ? `&from_date=${fromDate}` : ''\n\n return this.fetchInstance.get(`${ApiEndpoints.BEATS}?${beatParams}`).then((data) => data.beats)\n }\n\n getOffers = async () => {\n return this.fetchInstance\n .get(`${ApiEndpoints.OFFERS}/${ApiEndpoints.PULSE_COMMUNICATIONS}`)\n .then((data) => data.pulse_communications)\n }\n\n updateBeat = async (beat: Beat) => {\n return this.fetchInstance\n .put(`${ApiEndpoints.BEATS}/${beat.guid}`, beat)\n .then((data) => data.beat)\n }\n\n updateOffer = async (beat: Beat) => {\n return this.fetchInstance\n .put(`${ApiEndpoints.OFFERS}/${beat.guid}`, beat)\n .then((data) => data.beat)\n }\n}\n","import { Fetch } from '../utils'\nimport { ApiEndpoints } from '../constants'\nimport type { GlobalErrorHandler } from '..'\n\nexport class GlobalCopyApi {\n fetchInstance: Fetch\n\n constructor(endpoint: string, token: string, onError?: GlobalErrorHandler) {\n this.fetchInstance = new Fetch(endpoint, token, undefined, onError)\n }\n\n getGlobalCopy = async (namespace: string, translationKey: string) => {\n return this.fetchInstance\n .post(`${ApiEndpoints.LOCALIZED_CONTENT}/${namespace}`, { translation_key: translationKey })\n .then((data) => data)\n }\n}\n"],"names":["ApiError","message","status","Fetch","endpoint","token","headers","onError","defaultHeaders","getLocale","url","options","response","text","data","err","body","AnalyticsApi","version","featureName","browser","Bowser","analytics_session","ApiEndpoints","event","BeatApi","pageNum","perPage","beatParams","fromDate","beat","GlobalCopyApi","namespace","translationKey"],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ import { A as k } from "./Analytics-D-jdcL72.mjs";
|
|
|
17
17
|
import At from "@mui/material/Breadcrumbs";
|
|
18
18
|
import { useTheme as Q } from "@mui/material/styles";
|
|
19
19
|
import { b as s } from "./Localization-DnoVyBNK.mjs";
|
|
20
|
-
import { E as Ot } from "./ErrorBoundary-
|
|
20
|
+
import { E as Ot } from "./ErrorBoundary-C7BlHx04.mjs";
|
|
21
21
|
import { u as Nt } from "./useScreenSize-mWpmnh5w.mjs";
|
|
22
22
|
import { observer as lt } from "mobx-react-lite";
|
|
23
23
|
import { H as Lt, P as Dt } from "./Help-CkQTjORd.mjs";
|
|
@@ -3207,4 +3207,4 @@ const kt = ({
|
|
|
3207
3207
|
export {
|
|
3208
3208
|
Ve as H
|
|
3209
3209
|
};
|
|
3210
|
-
//# sourceMappingURL=Help-
|
|
3210
|
+
//# sourceMappingURL=Help-D4sOpItq.mjs.map
|