@mx-cartographer/experiences 9.1.4-alpha.al1 → 9.1.4-alpha.al2

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.
@@ -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-Tz10hezK.mjs";
3
+ import { A as l } from "./GlobalCopyApi-CWUZMUfs.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-BJDUP2qI.mjs.map
54
+ //# sourceMappingURL=Analytics-DtRqgEj0.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Analytics-BJDUP2qI.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;"}
1
+ {"version":3,"file":"Analytics-DtRqgEj0.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;"}
@@ -37,7 +37,7 @@ class r {
37
37
  };
38
38
  return fetch(`${this.endpoint}${e}`, i).then((s) => {
39
39
  if (!s.ok)
40
- throw s;
40
+ throw new Error(`ApiPostRequestError: ${s.status} ${s.statusText}`);
41
41
  return s.text();
42
42
  }).then((s) => s.length ? JSON.parse(s) : {}).then((s) => s).catch((s) => {
43
43
  throw this.onCaptureException?.(s, { method: "POST", url: e }), s;
@@ -127,4 +127,4 @@ export {
127
127
  r as F,
128
128
  l as G
129
129
  };
130
- //# sourceMappingURL=GlobalCopyApi-Tz10hezK.mjs.map
130
+ //# sourceMappingURL=GlobalCopyApi-CWUZMUfs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalCopyApi-CWUZMUfs.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 GlobalCaptureException, type GlobalErrorHandler } from '../types'\nimport { getLocale } from './Localization'\n\nexport class Fetch {\n endpoint = '/'\n headers: Record<string, string>\n onCaptureException?: GlobalCaptureException\n onError?: GlobalErrorHandler\n\n constructor(\n endpoint: string,\n token: string,\n headers?: Record<string, string>,\n onError?: GlobalErrorHandler,\n onCaptureException?: GlobalCaptureException,\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.onCaptureException = onCaptureException\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 return response.text()\n } else {\n throw response\n }\n })\n .then((text) => (text.length ? JSON.parse(text) : {}))\n .then((data) => data)\n .catch((err) => {\n this.onCaptureException?.(err, { method: 'GET', url })\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 Error(`ApiPostRequestError: ${response.status} ${response.statusText}`)\n }\n\n return response.text()\n })\n .then((text) => (text.length ? JSON.parse(text) : {}))\n .then((data) => data)\n .catch((error) => {\n this.onCaptureException?.(error, { method: 'POST', url })\n throw error\n })\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 return response.text()\n } else {\n throw new Error(`${response.status}`)\n }\n })\n .then((text) => (text.length ? JSON.parse(text) : {}))\n .then((data) => data)\n .catch((err) => {\n this.onCaptureException?.(err, { method: 'PUT', url })\n if (window?.app?.config?.type === 'pulse') {\n this.onError?.(err.message)\n }\n throw err.message\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 return response.text()\n } else {\n return response.text().then((text) => {\n throw new Error(text)\n })\n }\n })\n .then((text) => (text.length ? JSON.parse(text) : {}))\n .then((data) => data)\n .catch((err) => {\n this.onCaptureException?.(err, { method: 'DELETE', url })\n throw err\n })\n }\n}\n\nexport default Fetch\n","import Bowser from 'bowser'\n\nimport { Fetch } from '../utils'\nimport { ApiEndpoints } from '../constants'\nimport type { AnalyticsEvent, GlobalCaptureException, GlobalErrorHandler } from '..'\n\nexport class AnalyticsApi {\n fetchInstance: Fetch\n\n constructor(\n endpoint: string,\n token: string,\n onError?: GlobalErrorHandler,\n onCaptureException?: GlobalCaptureException,\n ) {\n this.fetchInstance = new Fetch(endpoint, token, undefined, onError, onCaptureException)\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, GlobalCaptureException, GlobalErrorHandler } from '..'\n\nexport class BeatApi {\n fetchInstance: Fetch\n\n constructor(\n endpoint: string,\n token: string,\n onError?: GlobalErrorHandler,\n onCaptureException?: GlobalCaptureException,\n ) {\n this.fetchInstance = new Fetch(endpoint, token, undefined, onError, onCaptureException)\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 { GlobalCaptureException, GlobalErrorHandler } from '..'\n\nexport class GlobalCopyApi {\n fetchInstance: Fetch\n\n constructor(\n endpoint: string,\n token: string,\n onError?: GlobalErrorHandler,\n onCaptureException?: GlobalCaptureException,\n ) {\n this.fetchInstance = new Fetch(endpoint, token, undefined, onError, onCaptureException)\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":["Fetch","endpoint","token","headers","onError","onCaptureException","defaultHeaders","getLocale","url","options","response","text","data","err","body","error","AnalyticsApi","version","featureName","browser","Bowser","analytics_session","ApiEndpoints","event","BeatApi","pageNum","perPage","beatParams","fromDate","beat","GlobalCopyApi","namespace","translationKey"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { makeAutoObservable as h, runInAction as c, reaction as ut, autorun as m
2
2
  import { d as At, g as bt } from "./AccountUtils-Cbh8r9cP.mjs";
3
3
  import { i as wt, f as Et, b as It, c as W } from "./BudgetUtil-Bg2AQJpQ.mjs";
4
4
  import { c as d, d as O } from "./Account-DR7Plrqy.mjs";
5
- import { F as g, B as v, G as V } from "./GlobalCopyApi-Tz10hezK.mjs";
5
+ import { F as g, B as v, G as V } from "./GlobalCopyApi-CWUZMUfs.mjs";
6
6
  import { A as i } from "./ApiEndpoints-DXwIYNUV.mjs";
7
7
  import Ct from "posthog-js";
8
8
  import { endOfMonth as T } from "date-fns/endOfMonth";
@@ -61,19 +61,22 @@ class Y {
61
61
  }
62
62
  class j {
63
63
  fetchInstance;
64
- constructor(t) {
65
- this.fetchInstance = new g(t, "", {
66
- Accept: "application/json",
67
- "Content-Type": "application/json"
68
- });
64
+ onCaptureException;
65
+ constructor(t, e) {
66
+ this.fetchInstance = new g(
67
+ t,
68
+ "",
69
+ {
70
+ Accept: "application/json",
71
+ "Content-Type": "application/json"
72
+ },
73
+ void 0,
74
+ e
75
+ ), this.onCaptureException = e;
69
76
  }
70
77
  getBanner = async (t) => {
71
- try {
72
- const e = `/banner/${t}/account_widget_banner`;
73
- return this.fetchInstance?.get(e).then((s) => s.banner) ?? {};
74
- } catch (e) {
75
- return console.error("Error fetching banner:", e), null;
76
- }
78
+ const e = `/banner/${t}/account_widget_banner`;
79
+ return this.fetchInstance?.get(e).then((s) => s.banner).catch((s) => (console.error("Error fetching banner:", s), this.onCaptureException?.(s, { api: "BannerApi", action: "getBanner" }), null)) ?? {};
77
80
  };
78
81
  }
79
82
  class X {
@@ -338,8 +341,8 @@ class ot {
338
341
  }
339
342
  class ct {
340
343
  fetchInstance;
341
- constructor(t, e) {
342
- this.fetchInstance = new g(t, e);
344
+ constructor(t, e, s) {
345
+ this.fetchInstance = new g(t, e, void 0, void 0, s);
343
346
  }
344
347
  requestWidgetUrl = async (t) => this.fetchInstance.post(i.WIDGET_URLS, t).then((e) => e.widget_url);
345
348
  }
@@ -628,7 +631,10 @@ class he {
628
631
  return this.appData.user_profile;
629
632
  }
630
633
  setAppData = (t) => {
631
- this.appData = t, this.bannerApi = new j(t.address?.bullseye || "/"), this.isAppDataLoaded = !0;
634
+ this.appData = t, this.bannerApi = new j(
635
+ t.address?.bullseye || "/",
636
+ this.globalStore.onCaptureException
637
+ ), this.isAppDataLoaded = !0;
632
638
  };
633
639
  loadAppData = async () => {
634
640
  try {
@@ -1183,11 +1189,21 @@ class Te {
1183
1189
  globalStore;
1184
1190
  widgetApi = new ct("/", "");
1185
1191
  constructor(t) {
1186
- this.globalStore = t, this.widgetApi = new ct(t.endpoint, t.sessionToken), h(this);
1192
+ this.globalStore = t, this.widgetApi = new ct(
1193
+ t.endpoint,
1194
+ t.sessionToken,
1195
+ t.onCaptureException
1196
+ ), h(this);
1187
1197
  }
1188
- loadWidget = async ({ widget: t = "connect_widget", mode: e = "light", ...s }) => await this.widgetApi.requestWidgetUrl({
1189
- widget_url: { widget_type: t, color_scheme: e, ...s }
1190
- });
1198
+ loadWidget = async ({ widget: t = "connect_widget", mode: e = "light", ...s }) => {
1199
+ try {
1200
+ return await this.widgetApi.requestWidgetUrl({
1201
+ widget_url: { widget_type: t, color_scheme: e, ...s }
1202
+ });
1203
+ } catch (a) {
1204
+ throw console.error("Error loading widget:", a), this.globalStore.captureException(a, { store: "ConnectStore", action: "loadWidget" }), a;
1205
+ }
1206
+ };
1191
1207
  }
1192
1208
  class Ae {
1193
1209
  globalStore;
@@ -3192,4 +3208,4 @@ export {
3192
3208
  He as y,
3193
3209
  We as z
3194
3210
  };
3195
- //# sourceMappingURL=UserStore-CL_kIDzt.mjs.map
3211
+ //# sourceMappingURL=UserStore-TK750YYZ.mjs.map