@mx-cartographer/experiences 9.1.3 → 9.1.4-alpha.al0

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.
Files changed (128) hide show
  1. package/CHANGELOG.md +0 -6
  2. package/dist/{AccountDetailsDrawer-Cq4kiiKD.mjs → AccountDetailsDrawer-Dae8eUXt.mjs} +10 -10
  3. package/dist/{AccountDetailsDrawer-Cq4kiiKD.mjs.map → AccountDetailsDrawer-Dae8eUXt.mjs.map} +1 -1
  4. package/dist/{AccountDetailsHeader-BliEZhz7.mjs → AccountDetailsHeader-D_UjMD99.mjs} +4 -4
  5. package/dist/{AccountDetailsHeader-BliEZhz7.mjs.map → AccountDetailsHeader-D_UjMD99.mjs.map} +1 -1
  6. package/dist/{Analytics-CkYXKvco.mjs → Analytics-BJDUP2qI.mjs} +2 -2
  7. package/dist/{Analytics-CkYXKvco.mjs.map → Analytics-BJDUP2qI.mjs.map} +1 -1
  8. package/dist/{CategorySelectorDrawer-NJsFsKP1.mjs → CategorySelectorDrawer-k8AZYC8I.mjs} +2 -2
  9. package/dist/{CategorySelectorDrawer-NJsFsKP1.mjs.map → CategorySelectorDrawer-k8AZYC8I.mjs.map} +1 -1
  10. package/dist/{Connect-BH0Pt6zc.mjs → Connect-tID_S_5e.mjs} +2 -2
  11. package/dist/{Connect-BH0Pt6zc.mjs.map → Connect-tID_S_5e.mjs.map} +1 -1
  12. package/dist/{ConnectCard-D7uxoH5Y.mjs → ConnectCard-DcM6tUOX.mjs} +2 -2
  13. package/dist/{ConnectCard-D7uxoH5Y.mjs.map → ConnectCard-DcM6tUOX.mjs.map} +1 -1
  14. package/dist/{ConnectDrawer-CW4LA3H3.mjs → ConnectDrawer-BQy4YYuc.mjs} +3 -3
  15. package/dist/{ConnectDrawer-CW4LA3H3.mjs.map → ConnectDrawer-BQy4YYuc.mjs.map} +1 -1
  16. package/dist/{ConnectionsDrawer-CZU9ku-k.mjs → ConnectionsDrawer-C73ASLMj.mjs} +3 -3
  17. package/dist/{ConnectionsDrawer-CZU9ku-k.mjs.map → ConnectionsDrawer-C73ASLMj.mjs.map} +1 -1
  18. package/dist/{CurrencyInput-DaGEQaLW.mjs → CurrencyInput-CABYmqBh.mjs} +2 -2
  19. package/dist/{CurrencyInput-DaGEQaLW.mjs.map → CurrencyInput-CABYmqBh.mjs.map} +1 -1
  20. package/dist/{EmbeddedCard-DCOQnTz-.mjs → EmbeddedCard-BwfkCsUN.mjs} +3 -3
  21. package/dist/{EmbeddedCard-DCOQnTz-.mjs.map → EmbeddedCard-BwfkCsUN.mjs.map} +1 -1
  22. package/dist/{Error-Dtw6yxkf.mjs → Error-BFJ3BnfS.mjs} +2 -2
  23. package/dist/{Error-Dtw6yxkf.mjs.map → Error-BFJ3BnfS.mjs.map} +1 -1
  24. package/dist/ErrorBoundary-C7BlHx04.mjs +27 -0
  25. package/dist/ErrorBoundary-C7BlHx04.mjs.map +1 -0
  26. package/dist/{ExportCsvAction-C-IisDcv.mjs → ExportCsvAction-B1257a3M.mjs} +3 -3
  27. package/dist/{ExportCsvAction-C-IisDcv.mjs.map → ExportCsvAction-B1257a3M.mjs.map} +1 -1
  28. package/dist/{GlobalAccountFilter-BhzR5Vb1.mjs → GlobalAccountFilter-DEEc3Bc5.mjs} +2 -2
  29. package/dist/{GlobalAccountFilter-BhzR5Vb1.mjs.map → GlobalAccountFilter-DEEc3Bc5.mjs.map} +1 -1
  30. package/dist/GlobalCopyApi-Tz10hezK.mjs +130 -0
  31. package/dist/GlobalCopyApi-Tz10hezK.mjs.map +1 -0
  32. package/dist/{Help-zVZdcmlk.mjs → Help-BAj_yo3q.mjs} +145 -145
  33. package/dist/Help-BAj_yo3q.mjs.map +1 -0
  34. package/dist/{LineChart-CUfiH86G.mjs → LineChart-BxEIZHht.mjs} +2 -2
  35. package/dist/{LineChart-CUfiH86G.mjs.map → LineChart-BxEIZHht.mjs.map} +1 -1
  36. package/dist/{ListItemAction-BqUCLj_w.mjs → ListItemAction-GDU5z4BN.mjs} +2 -2
  37. package/dist/{ListItemAction-BqUCLj_w.mjs.map → ListItemAction-GDU5z4BN.mjs.map} +1 -1
  38. package/dist/{ListItemWrapper-DRse79Iu.mjs → ListItemWrapper-D6b-6m4t.mjs} +2 -2
  39. package/dist/{ListItemWrapper-DRse79Iu.mjs.map → ListItemWrapper-D6b-6m4t.mjs.map} +1 -1
  40. package/dist/{ManageIncome-B_8i71mE.mjs → ManageIncome-BJWVPAly.mjs} +32 -32
  41. package/dist/{ManageIncome-B_8i71mE.mjs.map → ManageIncome-BJWVPAly.mjs.map} +1 -1
  42. package/dist/{MicroWidgetContainer-B2NnKBgW.mjs → MicroWidgetContainer-IUZQlml1.mjs} +2 -2
  43. package/dist/{MicroWidgetContainer-B2NnKBgW.mjs.map → MicroWidgetContainer-IUZQlml1.mjs.map} +1 -1
  44. package/dist/{MiniWidgetContainer-Bmv_WeUd.mjs → MiniWidgetContainer-CIswJui8.mjs} +2 -2
  45. package/dist/{MiniWidgetContainer-Bmv_WeUd.mjs.map → MiniWidgetContainer-CIswJui8.mjs.map} +1 -1
  46. package/dist/{NotificationSettings-CW7okUrk.mjs → NotificationSettings-DltXMrnb.mjs} +33 -33
  47. package/dist/{NotificationSettings-CW7okUrk.mjs.map → NotificationSettings-DltXMrnb.mjs.map} +1 -1
  48. package/dist/{OriginalBalanceAction-YrvxBYAl.mjs → OriginalBalanceAction-KuJSsZCA.mjs} +4 -4
  49. package/dist/{OriginalBalanceAction-YrvxBYAl.mjs.map → OriginalBalanceAction-KuJSsZCA.mjs.map} +1 -1
  50. package/dist/{RecurringSettings-hs0YUp83.mjs → RecurringSettings-D2Aaqz7d.mjs} +3 -3
  51. package/dist/{RecurringSettings-hs0YUp83.mjs.map → RecurringSettings-D2Aaqz7d.mjs.map} +1 -1
  52. package/dist/{SpendingLegend-CxvNOg3c.mjs → SpendingLegend-C_dMdqbe.mjs} +2 -2
  53. package/dist/{SpendingLegend-CxvNOg3c.mjs.map → SpendingLegend-C_dMdqbe.mjs.map} +1 -1
  54. package/dist/{TransactionDetails-DT-MQqOB.mjs → TransactionDetails-CDZNsKv7.mjs} +5 -5
  55. package/dist/{TransactionDetails-DT-MQqOB.mjs.map → TransactionDetails-CDZNsKv7.mjs.map} +1 -1
  56. package/dist/{UserStore-E5WvBXaY.mjs → UserStore-DzGgxsKk.mjs} +302 -317
  57. package/dist/UserStore-DzGgxsKk.mjs.map +1 -0
  58. package/dist/{ViewMoreMicroCard-fnwE0hqd.mjs → ViewMoreMicroCard-DXaJ-56q.mjs} +4 -4
  59. package/dist/{ViewMoreMicroCard-fnwE0hqd.mjs.map → ViewMoreMicroCard-DXaJ-56q.mjs.map} +1 -1
  60. package/dist/{WidgetContainer-CjdCY4sj.mjs → WidgetContainer-5O6N88mr.mjs} +3 -3
  61. package/dist/{WidgetContainer-CjdCY4sj.mjs.map → WidgetContainer-5O6N88mr.mjs.map} +1 -1
  62. package/dist/accounts/index.es.js +11 -11
  63. package/dist/analytics/index.es.js +2 -2
  64. package/dist/budgets/index.es.js +10 -10
  65. package/dist/cashflow/index.es.js +70 -70
  66. package/dist/categories/index.es.js +1 -1
  67. package/dist/common/components/ErrorBoundary.d.ts +2 -0
  68. package/dist/common/context/GlobalDataProvider.d.ts +2 -1
  69. package/dist/common/context/hooks.d.ts +3 -0
  70. package/dist/common/context/index.d.ts +1 -1
  71. package/dist/common/index.es.js +66 -65
  72. package/dist/core/api/AccountApi.d.ts +2 -2
  73. package/dist/core/api/AnalyticsApi.d.ts +2 -2
  74. package/dist/core/api/AppDataApi.d.ts +2 -2
  75. package/dist/core/api/BeatApi.d.ts +2 -2
  76. package/dist/core/api/BudgetsApi.d.ts +2 -2
  77. package/dist/core/api/CategoryApi.d.ts +2 -2
  78. package/dist/core/api/FinstrongApi.d.ts +2 -2
  79. package/dist/core/api/GlobalCopyApi.d.ts +2 -2
  80. package/dist/core/api/GoalApi.d.ts +2 -2
  81. package/dist/core/api/HelpApi.d.ts +2 -2
  82. package/dist/core/api/HoldingApi.d.ts +2 -2
  83. package/dist/core/api/MerchantApi.d.ts +2 -2
  84. package/dist/core/api/NotificationApi.d.ts +2 -2
  85. package/dist/core/api/RepeatingTransactionsApi.d.ts +2 -2
  86. package/dist/core/api/ScheduledPaymentsApi.d.ts +2 -2
  87. package/dist/core/api/SettingsApi.d.ts +2 -2
  88. package/dist/core/api/TransactionApi.d.ts +2 -2
  89. package/dist/core/api/UserApi.d.ts +2 -2
  90. package/dist/core/index.es.js +95 -95
  91. package/dist/core/index.es.js.map +1 -1
  92. package/dist/core/stores/GlobalStore.d.ts +4 -2
  93. package/dist/core/types/Handlers.d.ts +1 -0
  94. package/dist/core/types/index.d.ts +1 -1
  95. package/dist/core/utils/Fetch.d.ts +3 -2
  96. package/dist/dashboard/index.es.js +4 -4
  97. package/dist/debts/index.es.js +8 -8
  98. package/dist/finstrong/index.es.js +12 -12
  99. package/dist/goals/index.es.js +9 -9
  100. package/dist/help/index.es.js +4 -4
  101. package/dist/hooks-DWOrMnfZ.mjs +83 -0
  102. package/dist/hooks-DWOrMnfZ.mjs.map +1 -0
  103. package/dist/insights/index.es.js +4 -4
  104. package/dist/investments/index.es.js +4 -4
  105. package/dist/merchants/index.es.js +1 -1
  106. package/dist/microinsights/index.es.js +1 -1
  107. package/dist/networth/index.es.js +6 -6
  108. package/dist/notifications/index.es.js +8 -8
  109. package/dist/recurringtransactions/index.es.js +38 -38
  110. package/dist/settings/index.es.js +27 -27
  111. package/dist/spending/index.es.js +7 -7
  112. package/dist/transactions/index.es.js +11 -11
  113. package/dist/trends/index.es.js +12 -12
  114. package/dist/{useAccountDisplayName-BsiXA0qf.mjs → useAccountDisplayName-DHXXCFYZ.mjs} +2 -2
  115. package/dist/{useAccountDisplayName-BsiXA0qf.mjs.map → useAccountDisplayName-DHXXCFYZ.mjs.map} +1 -1
  116. package/dist/{useInsightsEnabled-D5Sdm0TJ.mjs → useInsightsEnabled-B_UpjpE6.mjs} +2 -2
  117. package/dist/{useInsightsEnabled-D5Sdm0TJ.mjs.map → useInsightsEnabled-B_UpjpE6.mjs.map} +1 -1
  118. package/dist/{useWidgetLoadTimer-B0tB-yzL.mjs → useWidgetLoadTimer-C0Mr0eRf.mjs} +2 -2
  119. package/dist/{useWidgetLoadTimer-B0tB-yzL.mjs.map → useWidgetLoadTimer-C0Mr0eRf.mjs.map} +1 -1
  120. package/package.json +1 -1
  121. package/dist/ErrorBoundary-CsdOcnJ9.mjs +0 -24
  122. package/dist/ErrorBoundary-CsdOcnJ9.mjs.map +0 -1
  123. package/dist/GlobalCopyApi-wcnDUzMV.mjs +0 -129
  124. package/dist/GlobalCopyApi-wcnDUzMV.mjs.map +0 -1
  125. package/dist/Help-zVZdcmlk.mjs.map +0 -1
  126. package/dist/UserStore-E5WvBXaY.mjs.map +0 -1
  127. package/dist/hooks-97sNJ_lf.mjs +0 -78
  128. package/dist/hooks-97sNJ_lf.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useWidgetLoadTimer-B0tB-yzL.mjs","sources":["../src/common/hooks/useWidgetLoadTimer.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport { useEvent } from '../context'\n\n// Module-level to track if it's the initial page navigation for the app\nlet isInitialNavigation = true\n\ninterface UseWidgetLoadTimerOptions {\n widgetName: string\n isLoaded?: boolean\n}\n\nexport const useWidgetLoadTimer = ({ widgetName, isLoaded = true }: UseWidgetLoadTimerOptions) => {\n const { onEvent } = useEvent()\n const startTime = useRef<number | null>(null)\n const hasLoaded = useRef(false)\n const isInitialLoad = useRef<boolean>(false)\n\n if (startTime.current === null) {\n isInitialLoad.current = isInitialNavigation\n startTime.current = isInitialNavigation ? performance.timeOrigin : Date.now()\n }\n\n useEffect(() => {\n if (isLoaded && !hasLoaded.current && startTime.current !== null) {\n const loadTimeMs = Date.now() - startTime.current\n\n onEvent('WidgetLoad', {\n widgetName,\n loadTimeMs,\n isInitialLoad: isInitialLoad.current,\n })\n\n hasLoaded.current = true\n startTime.current = null\n\n // Mark initial navigation complete AFTER first widget reports\n // This ensures all widgets on initial page/dashboard are isInitialLoad\n if (isInitialLoad.current) {\n isInitialNavigation = false\n }\n }\n }, [isLoaded, widgetName, onEvent])\n}\n"],"names":["isInitialNavigation","useWidgetLoadTimer","widgetName","isLoaded","onEvent","useEvent","startTime","useRef","hasLoaded","isInitialLoad","useEffect","loadTimeMs"],"mappings":";;AAIA,IAAIA,IAAsB;AAOnB,MAAMC,IAAqB,CAAC,EAAE,YAAAC,GAAY,UAAAC,IAAW,SAAsC;AAChG,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACdC,IAAYC,EAAsB,IAAI,GACtCC,IAAYD,EAAO,EAAK,GACxBE,IAAgBF,EAAgB,EAAK;AAE3C,EAAID,EAAU,YAAY,SACxBG,EAAc,UAAUT,GACxBM,EAAU,UAAUN,IAAsB,YAAY,aAAa,KAAK,IAAA,IAG1EU,EAAU,MAAM;AACd,QAAIP,KAAY,CAACK,EAAU,WAAWF,EAAU,YAAY,MAAM;AAChE,YAAMK,IAAa,KAAK,IAAA,IAAQL,EAAU;AAE1C,MAAAF,EAAQ,cAAc;AAAA,QACpB,YAAAF;AAAA,QACA,YAAAS;AAAA,QACA,eAAeF,EAAc;AAAA,MAAA,CAC9B,GAEDD,EAAU,UAAU,IACpBF,EAAU,UAAU,MAIhBG,EAAc,YAChBT,IAAsB;AAAA,IAE1B;AAAA,EACF,GAAG,CAACG,GAAUD,GAAYE,CAAO,CAAC;AACpC;"}
1
+ {"version":3,"file":"useWidgetLoadTimer-C0Mr0eRf.mjs","sources":["../src/common/hooks/useWidgetLoadTimer.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport { useEvent } from '../context'\n\n// Module-level to track if it's the initial page navigation for the app\nlet isInitialNavigation = true\n\ninterface UseWidgetLoadTimerOptions {\n widgetName: string\n isLoaded?: boolean\n}\n\nexport const useWidgetLoadTimer = ({ widgetName, isLoaded = true }: UseWidgetLoadTimerOptions) => {\n const { onEvent } = useEvent()\n const startTime = useRef<number | null>(null)\n const hasLoaded = useRef(false)\n const isInitialLoad = useRef<boolean>(false)\n\n if (startTime.current === null) {\n isInitialLoad.current = isInitialNavigation\n startTime.current = isInitialNavigation ? performance.timeOrigin : Date.now()\n }\n\n useEffect(() => {\n if (isLoaded && !hasLoaded.current && startTime.current !== null) {\n const loadTimeMs = Date.now() - startTime.current\n\n onEvent('WidgetLoad', {\n widgetName,\n loadTimeMs,\n isInitialLoad: isInitialLoad.current,\n })\n\n hasLoaded.current = true\n startTime.current = null\n\n // Mark initial navigation complete AFTER first widget reports\n // This ensures all widgets on initial page/dashboard are isInitialLoad\n if (isInitialLoad.current) {\n isInitialNavigation = false\n }\n }\n }, [isLoaded, widgetName, onEvent])\n}\n"],"names":["isInitialNavigation","useWidgetLoadTimer","widgetName","isLoaded","onEvent","useEvent","startTime","useRef","hasLoaded","isInitialLoad","useEffect","loadTimeMs"],"mappings":";;AAIA,IAAIA,IAAsB;AAOnB,MAAMC,IAAqB,CAAC,EAAE,YAAAC,GAAY,UAAAC,IAAW,SAAsC;AAChG,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACdC,IAAYC,EAAsB,IAAI,GACtCC,IAAYD,EAAO,EAAK,GACxBE,IAAgBF,EAAgB,EAAK;AAE3C,EAAID,EAAU,YAAY,SACxBG,EAAc,UAAUT,GACxBM,EAAU,UAAUN,IAAsB,YAAY,aAAa,KAAK,IAAA,IAG1EU,EAAU,MAAM;AACd,QAAIP,KAAY,CAACK,EAAU,WAAWF,EAAU,YAAY,MAAM;AAChE,YAAMK,IAAa,KAAK,IAAA,IAAQL,EAAU;AAE1C,MAAAF,EAAQ,cAAc;AAAA,QACpB,YAAAF;AAAA,QACA,YAAAS;AAAA,QACA,eAAeF,EAAc;AAAA,MAAA,CAC9B,GAEDD,EAAU,UAAU,IACpBF,EAAU,UAAU,MAIhBG,EAAc,YAChBT,IAAsB;AAAA,IAE1B;AAAA,EACF,GAAG,CAACG,GAAUD,GAAYE,CAAO,CAAC;AACpC;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mx-cartographer/experiences",
3
- "version": "9.1.3",
3
+ "version": "9.1.4-alpha.al0",
4
4
  "description": "Library containing experience widgets",
5
5
  "author": "MX",
6
6
  "license": "MIT",
@@ -1,24 +0,0 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import o from "react";
3
- import { H3 as s } from "@mxenabled/mxui";
4
- const n = {
5
- text: "Oops! Something went wrong."
6
- };
7
- class h extends o.Component {
8
- state = {
9
- hasError: !1
10
- };
11
- componentDidCatch(r, t) {
12
- console.error("Uncaught error:", r, t);
13
- }
14
- static getDerivedStateFromError() {
15
- return { hasError: !0 };
16
- }
17
- render() {
18
- return this.state.hasError ? /* @__PURE__ */ e(s, { sx: { pt: 24 }, children: n.text }) : this.props.children;
19
- }
20
- }
21
- export {
22
- h as E
23
- };
24
- //# sourceMappingURL=ErrorBoundary-CsdOcnJ9.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ErrorBoundary-CsdOcnJ9.mjs","sources":["../src/common/components/ErrorBoundary.tsx"],"sourcesContent":["import React from 'react'\n\nimport { H3 } from '@mxenabled/mxui'\n\nexport interface ErrorProps {\n children?: React.ReactNode\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 }\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":";;;AAYA,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;AAAA,EACnD;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;"}
@@ -1,129 +0,0 @@
1
- import c from "bowser";
2
- import { A as a } from "./ApiEndpoints-DXwIYNUV.mjs";
3
- import { g as h } from "./Localization-DnoVyBNK.mjs";
4
- class o {
5
- endpoint = "/";
6
- headers;
7
- onError;
8
- constructor(e, n, t, r) {
9
- this.endpoint = e;
10
- const s = {
11
- Accept: "application/json",
12
- "Accept-Language": h(),
13
- "Content-Type": "application/json",
14
- "MD-Session-Token": n
15
- };
16
- this.headers = t || s, this.onError = r;
17
- }
18
- get = async (e) => {
19
- const n = {
20
- method: "GET",
21
- headers: this.headers
22
- };
23
- return fetch(`${this.endpoint}${e}`, n).then((t) => {
24
- if (t.ok)
25
- return t.text();
26
- throw t;
27
- }).then((t) => t.length ? JSON.parse(t) : {}).then((t) => t).catch((t) => {
28
- throw this.onError?.(t, void 0, "ApiGetRequestError"), t;
29
- });
30
- };
31
- post = async (e, n) => {
32
- const t = n ? JSON.stringify(n) : void 0, r = {
33
- method: "POST",
34
- headers: this.headers,
35
- body: t
36
- };
37
- return fetch(`${this.endpoint}${e}`, r).then((s) => {
38
- if (!s.ok)
39
- throw s;
40
- return s.text();
41
- }).then((s) => s.length ? JSON.parse(s) : {}).then((s) => s).catch((s) => {
42
- throw s;
43
- });
44
- };
45
- put = async (e, n) => {
46
- const t = JSON.stringify(n), r = {
47
- method: "PUT",
48
- headers: this.headers,
49
- body: t
50
- };
51
- return fetch(`${this.endpoint}${e}`, r).then((s) => {
52
- if (s.ok)
53
- return s.text();
54
- throw new Error(`${s.status}`);
55
- }).then((s) => s.length ? JSON.parse(s) : {}).then((s) => s).catch((s) => {
56
- throw window?.app?.config?.type === "pulse" && this.onError?.(s.message), s.message;
57
- });
58
- };
59
- delete = async (e) => {
60
- const n = {
61
- method: "DELETE",
62
- headers: this.headers
63
- };
64
- return fetch(`${this.endpoint}${e}`, n).then((t) => t.ok ? t.text() : t.text().then((r) => {
65
- throw new Error(r);
66
- })).then((t) => t.length ? JSON.parse(t) : {}).then((t) => t).catch((t) => {
67
- throw t;
68
- });
69
- };
70
- }
71
- class f {
72
- fetchInstance;
73
- constructor(e, n, t) {
74
- this.fetchInstance = new o(e, n, void 0, t);
75
- }
76
- initializeAnalyticsSession = async (e, n) => {
77
- const t = c.getParser(window.navigator.userAgent), { analytics_session: r } = await this.fetchInstance.post(a.ANALYTICS_SESSION, {
78
- browser_name: t.getBrowserName() || "Unknown",
79
- browser_version: t.getBrowserVersion() || "0.0.0",
80
- is_first_visit: !1,
81
- product_name: "Individual Widget",
82
- product_version: e
83
- });
84
- return r ? (this.fetchInstance.post(a.ANALYTICS_FEATURE_VISITS, {
85
- feature_visit: {
86
- analytics_session_guid: r.guid,
87
- feature_name: n || "Experiences",
88
- is_first_visit: r.is_first_visit
89
- }
90
- }), { analytics_session: r }) : { analytics_session: null };
91
- };
92
- sendAnalyticEvent = async (e) => this.fetchInstance.post(a.ANALYTICS_EVENTS, e).catch((n) => {
93
- throw n;
94
- });
95
- sendAnalyticsPageview = async (e) => this.fetchInstance.post(a.ANALYTICS_PAGEVIEWS, e).catch((n) => {
96
- throw n;
97
- });
98
- }
99
- class l {
100
- fetchInstance;
101
- constructor(e, n, t) {
102
- this.fetchInstance = new o(e, n, void 0, t);
103
- }
104
- getBeats = async (e, n) => {
105
- const t = `page=${e || 1}&per_page=${n || 5}`;
106
- return this.fetchInstance.get(`${a.BEATS}?${t}`).then((r) => r.beats);
107
- };
108
- getBeatsWithAssociatedTransaction = async (e) => {
109
- let n = "has_associated_transaction_guid=true";
110
- return n += e ? `&from_date=${e}` : "", this.fetchInstance.get(`${a.BEATS}?${n}`).then((t) => t.beats);
111
- };
112
- getOffers = async () => this.fetchInstance.get(`${a.OFFERS}/${a.PULSE_COMMUNICATIONS}`).then((e) => e.pulse_communications);
113
- updateBeat = async (e) => this.fetchInstance.put(`${a.BEATS}/${e.guid}`, e).then((n) => n.beat);
114
- updateOffer = async (e) => this.fetchInstance.put(`${a.OFFERS}/${e.guid}`, e).then((n) => n.beat);
115
- }
116
- class g {
117
- fetchInstance;
118
- constructor(e, n, t) {
119
- this.fetchInstance = new o(e, n, void 0, t);
120
- }
121
- getGlobalCopy = async (e, n) => this.fetchInstance.post(`${a.LOCALIZED_CONTENT}/${e}`, { translation_key: n }).then((t) => t);
122
- }
123
- export {
124
- f as A,
125
- l as B,
126
- o as F,
127
- g as G
128
- };
129
- //# sourceMappingURL=GlobalCopyApi-wcnDUzMV.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GlobalCopyApi-wcnDUzMV.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 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 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.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 response\n }\n\n return response.text()\n })\n .then((text) => (text.length ? JSON.parse(text) : {}))\n .then((data) => data)\n .catch((error) => {\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 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 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, 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":["Fetch","endpoint","token","headers","onError","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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"}