@mx-cartographer/experiences 9.1.4-alpha.al5 → 9.1.4-alpha.al6

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,109 +1,109 @@
1
- import { l as j } from "../UserStore-B__9hQOS.mjs";
1
+ import { l as Q } from "../UserStore-B__9hQOS.mjs";
2
2
  import { b as K, a as Z } from "../Localization-DnoVyBNK.mjs";
3
3
  import { f as X, b as rr, a as er, c as tr, g as or, d as ar } from "../NumberFormatting--XMeeBfr.mjs";
4
- import { C as nr, a as ir, b as ur } from "../CurrencyDialog-DumQCTPO.mjs";
4
+ import { C as nr, a as ir, b as lr } from "../CurrencyDialog-DumQCTPO.mjs";
5
5
  import { C as cr } from "../CurrencyInput-CABYmqBh.mjs";
6
6
  import { D as pr, S as mr } from "../Select-CSpkK5cR.mjs";
7
- import { D as gr, W as yr, u as Er } from "../WidgetContainer-5O6N88mr.mjs";
8
- import { D as hr } from "../Dialog-Bvd2n8hz.mjs";
7
+ import { D as Er, W as fr, u as yr } from "../WidgetContainer-5O6N88mr.mjs";
8
+ import { D as Sr } from "../Dialog-Bvd2n8hz.mjs";
9
9
  import { D as Cr } from "../Donut-SzzfZDHF.mjs";
10
- import { D as vr } from "../Drawer-DsnW2o0v.mjs";
10
+ import { D as _r } from "../Drawer-DsnW2o0v.mjs";
11
11
  import { E as Ur } from "../ErrorBoundary-C7BlHx04.mjs";
12
- import { jsxs as E, jsx as c } from "react/jsx-runtime";
13
- import { Stack as _, Typography as v, Button as f, alpha as k, darken as S, lighten as h } from "@mui/material";
12
+ import { jsxs as y, jsx as n } from "react/jsx-runtime";
13
+ import { Stack as v, Typography as _, Button as c, alpha as k, darken as h, lighten as S } from "@mui/material";
14
14
  import { e as U } from "../hooks-DWOrMnfZ.mjs";
15
- import { G as Dr, m as Or, n as wr, W as Pr, c as Tr, i as Ar, o as Ir, p as Mr, q as Lr, l as Nr, r as Rr, s as Wr, f as Br, t as Fr, u as Gr, a as qr, k as Yr, v as $r, w as Hr, x as Qr, b as Vr, y as jr, z as zr, A as Kr, h as Zr, B as Jr, g as Xr, C as re, D as ee, E as te } from "../hooks-DWOrMnfZ.mjs";
15
+ import { G as wr, m as Dr, n as Or, W as Tr, c as Pr, i as Ar, o as Ir, p as Mr, q as Nr, l as Rr, r as Lr, s as Br, f as Wr, t as Fr, u as qr, a as Gr, k as jr, v as Yr, w as $r, x as Hr, b as zr, y as Qr, z as Vr, A as Kr, h as Zr, B as Jr, g as Xr, C as re, D as ee, E as te } from "../hooks-DWOrMnfZ.mjs";
16
16
  import { I as ae } from "../IconBacking-DgT8DCeh.mjs";
17
17
  import { I as ne } from "../InformationTooltip-4su8bn1e.mjs";
18
- import { L as ue } from "../Loader-CxeBwuPG.mjs";
18
+ import { L as le } from "../Loader-CxeBwuPG.mjs";
19
19
  import { M as ce } from "../MicroWidgetContainer-IUZQlml1.mjs";
20
20
  import { M as pe } from "../MiniWidgetContainer-CIswJui8.mjs";
21
21
  import { css as b } from "@mxenabled/cssinjs";
22
- import { D, a as O } from "../SingleSegmentDonut-7Uy6VEld.mjs";
23
- import { S as fe } from "../SingleSegmentDonut-7Uy6VEld.mjs";
24
- import { R as ye } from "../ResponsiveButton-CC9F_Ezk.mjs";
25
- import { S as Se } from "../SelectionBox-B4xELRgp.mjs";
22
+ import { D as w, a as D } from "../SingleSegmentDonut-7Uy6VEld.mjs";
23
+ import { S as ge } from "../SingleSegmentDonut-7Uy6VEld.mjs";
24
+ import { R as fe } from "../ResponsiveButton-CC9F_Ezk.mjs";
25
+ import { S as he } from "../SelectionBox-B4xELRgp.mjs";
26
26
  import { S as xe } from "../StatusBar-CPfSXe80.mjs";
27
- import { I as _e, P as ve, S as ke, T as Ue } from "../TabContentContainer-B0eYJP5p.mjs";
28
- import { A as De } from "../Analytics-D-jdcL72.mjs";
29
- import { C as we } from "../ConnectCard-DcM6tUOX.mjs";
30
- import { C as Te } from "../ConnectDrawer-BQy4YYuc.mjs";
27
+ import { I as ve, P as _e, S as ke, T as Ue } from "../TabContentContainer-B0eYJP5p.mjs";
28
+ import { A as we } from "../Analytics-D-jdcL72.mjs";
29
+ import { C as Oe } from "../ConnectCard-DcM6tUOX.mjs";
30
+ import { C as Pe } from "../ConnectDrawer-BQy4YYuc.mjs";
31
31
  import { C as Ie } from "../CurrencyText-CCbE6MmF.mjs";
32
- import { E as Le } from "../EmptyState-CJUDc3kD.mjs";
33
- import { E as Re } from "../Error-BFJ3BnfS.mjs";
34
- import { G as Be } from "../GlobalAccountFilter-DEEc3Bc5.mjs";
35
- import { L as Ge } from "../ListItemAction-GDU5z4BN.mjs";
36
- import { L as Ye } from "../ListItemRow-kH1rn8Xu.mjs";
37
- import { L as He } from "../ListItemWrapper-D6b-6m4t.mjs";
38
- import { S as Ve } from "../SearchBox-Cpgu_gdO.mjs";
39
- import { S as ze, T as Ke } from "../Sizes-DISGrlUg.mjs";
32
+ import { E as Ne } from "../EmptyState-CJUDc3kD.mjs";
33
+ import { E as Le } from "../Error-BFJ3BnfS.mjs";
34
+ import { G as We } from "../GlobalAccountFilter-DEEc3Bc5.mjs";
35
+ import { L as qe } from "../ListItemAction-GDU5z4BN.mjs";
36
+ import { L as je } from "../ListItemRow-kH1rn8Xu.mjs";
37
+ import { L as $e } from "../ListItemWrapper-D6b-6m4t.mjs";
38
+ import { S as ze } from "../SearchBox-Cpgu_gdO.mjs";
39
+ import { S as Ve, T as Ke } from "../Sizes-DISGrlUg.mjs";
40
40
  import { T as Je, a as Xe } from "../ToggleListItem-Dl1lXNwj.mjs";
41
41
  import { a as et, u as tt, b as ot } from "../Analytics-fWQ36-fb.mjs";
42
42
  import { u as st } from "../useAccountDisplayName-DHXXCFYZ.mjs";
43
43
  import { u as it } from "../useInsightsEnabled-B_UpjpE6.mjs";
44
- import { useRef as w, useEffect as P } from "react";
45
- import { u as lt } from "../useScreenSize-mWpmnh5w.mjs";
44
+ import { useRef as O, useEffect as T } from "react";
45
+ import { u as ut } from "../useScreenSize-mWpmnh5w.mjs";
46
46
  import { u as dt } from "../useWidgetLoadTimer-C0Mr0eRf.mjs";
47
- var l = /* @__PURE__ */ ((r) => (r[r.Unknown = 0] = "Unknown", r[r.EveryWeek = 1] = "EveryWeek", r[r.EveryOtherWeek = 2] = "EveryOtherWeek", r[r.EveryMonth = 3] = "EveryMonth", r[r.EveryOtherMonth = 4] = "EveryOtherMonth", r[r.EveryQuarter = 5] = "EveryQuarter", r[r.EveryOtherQuarter = 6] = "EveryOtherQuarter", r[r.EveryYear = 7] = "EveryYear", r))(l || {});
48
- const B = (r) => {
49
- const e = w(null);
50
- return P(() => {
51
- e.current = r;
52
- }, [r]), e.current;
47
+ var u = /* @__PURE__ */ ((r) => (r[r.Unknown = 0] = "Unknown", r[r.EveryWeek = 1] = "EveryWeek", r[r.EveryOtherWeek = 2] = "EveryOtherWeek", r[r.EveryMonth = 3] = "EveryMonth", r[r.EveryOtherMonth = 4] = "EveryOtherMonth", r[r.EveryQuarter = 5] = "EveryQuarter", r[r.EveryOtherQuarter = 6] = "EveryOtherQuarter", r[r.EveryYear = 7] = "EveryYear", r))(u || {});
48
+ const W = (r) => {
49
+ const t = O(null);
50
+ return T(() => {
51
+ t.current = r;
52
+ }, [r]), t.current;
53
53
  }, F = [
54
- { id: l.Unknown, copy: "frequency_unknown" },
55
- { id: l.EveryWeek, copy: "frequency_every_week" },
56
- { id: l.EveryOtherWeek, copy: "frequency_every_other_week" },
57
- { id: l.EveryMonth, copy: "frequency_every_month" },
58
- { id: l.EveryOtherMonth, copy: "frequency_every_other_month" },
59
- { id: l.EveryQuarter, copy: "frequency_every_quarter" },
60
- { id: l.EveryOtherQuarter, copy: "frequency_every_other_quarter" },
61
- { id: l.EveryYear, copy: "frequency_every_year" }
62
- ], G = {
54
+ { id: u.Unknown, copy: "frequency_unknown" },
55
+ { id: u.EveryWeek, copy: "frequency_every_week" },
56
+ { id: u.EveryOtherWeek, copy: "frequency_every_other_week" },
57
+ { id: u.EveryMonth, copy: "frequency_every_month" },
58
+ { id: u.EveryOtherMonth, copy: "frequency_every_other_month" },
59
+ { id: u.EveryQuarter, copy: "frequency_every_quarter" },
60
+ { id: u.EveryOtherQuarter, copy: "frequency_every_other_quarter" },
61
+ { id: u.EveryYear, copy: "frequency_every_year" }
62
+ ], q = {
63
63
  ERROR: "ERROR",
64
64
  LOADING: "LOADING",
65
65
  SUCCESS: "SUCCESS"
66
- }, q = ({
66
+ }, G = ({
67
67
  hasGap: r = !1,
68
- segments: e,
69
- size: n = D,
70
- strokeWidth: u = O,
68
+ segments: t,
69
+ size: i = w,
70
+ strokeWidth: l = D,
71
71
  children: d
72
72
  }) => {
73
- const o = T(n), a = (n - u) / 2, s = n / 2;
74
- let m = -90 - (r ? 1 : 0), i = 0;
75
- return /* @__PURE__ */ E("div", { className: `mx-cmn-multi-segment-donut ${o}`, children: [
76
- /* @__PURE__ */ E("svg", { height: n, width: n, children: [
77
- /* @__PURE__ */ c(
73
+ const m = P(i), o = (i - l) / 2, a = i / 2;
74
+ let g = -90 - (r ? 1 : 0), e = 0;
75
+ return /* @__PURE__ */ y("div", { className: `mx-cmn-multi-segment-donut ${m}`, children: [
76
+ /* @__PURE__ */ y("svg", { height: i, width: i, children: [
77
+ /* @__PURE__ */ n(
78
78
  "circle",
79
79
  {
80
- cx: s,
81
- cy: s,
80
+ cx: a,
81
+ cy: a,
82
82
  fill: "none",
83
- r: a,
83
+ r: o,
84
84
  stroke: "#E4E8EE",
85
- strokeWidth: u
85
+ strokeWidth: l
86
86
  }
87
87
  ),
88
- e.map((p, g) => (m += 360 * i + (r ? 1 : 0), i = (p.percent - (r ? 0.3 : 0)) / 100, /* @__PURE__ */ c(
88
+ t.map((p, E) => (g += 360 * e + (r ? 1 : 0), e = (p.percent - (r ? 0.3 : 0)) / 100, /* @__PURE__ */ n(
89
89
  "circle",
90
90
  {
91
- cx: s,
92
- cy: s,
91
+ cx: a,
92
+ cy: a,
93
93
  fill: "none",
94
- r: a,
94
+ r: o,
95
95
  stroke: p.color,
96
- strokeDasharray: 2 * Math.PI * a,
97
- strokeDashoffset: 2 * Math.PI * a * (1 - i),
98
- strokeWidth: u,
99
- transform: `rotate(${m}, ${s}, ${s})`
96
+ strokeDasharray: 2 * Math.PI * o,
97
+ strokeDashoffset: 2 * Math.PI * o * (1 - e),
98
+ strokeWidth: l,
99
+ transform: `rotate(${g}, ${a}, ${a})`
100
100
  },
101
- g
101
+ E
102
102
  )))
103
103
  ] }),
104
- /* @__PURE__ */ c("div", { className: "mx-cmn-multi-segment-donut-children", children: d })
104
+ /* @__PURE__ */ n("div", { className: "mx-cmn-multi-segment-donut-children", children: d })
105
105
  ] });
106
- }, T = (r) => b({
106
+ }, P = (r) => b({
107
107
  height: r,
108
108
  marginTop: "-8px",
109
109
  position: "relative",
@@ -115,34 +115,58 @@ const B = (r) => {
115
115
  top: "50%",
116
116
  transform: "translate(-50%, -50%)"
117
117
  }
118
- }), Y = () => {
118
+ }), j = () => {
119
119
  const r = U();
120
- return /* @__PURE__ */ E(_, { spacing: 1, sx: { p: 2, border: "2px dashed red", borderRadius: 2, m: 2 }, children: [
121
- /* @__PURE__ */ c(v, { variant: "subtitle2", color: "error", children: "⚠️ Error Test Panel — REMOVE BEFORE PROD" }),
122
- /* @__PURE__ */ c(f, { variant: "outlined", color: "warning", size: "small", onClick: async () => {
123
- const o = r.userStore.api.getUserFeatures;
120
+ return /* @__PURE__ */ y(v, { spacing: 1, sx: { p: 2, border: "2px dashed red", borderRadius: 2, m: 2 }, children: [
121
+ /* @__PURE__ */ n(_, { variant: "subtitle2", color: "error", children: "⚠️ Error Test Panel — REMOVE BEFORE PROD" }),
122
+ /* @__PURE__ */ n(c, { variant: "outlined", color: "warning", size: "small", onClick: async () => {
123
+ const e = r.userStore.api.getUserFeatures;
124
124
  r.userStore.api.getUserFeatures = async () => {
125
125
  throw new Error("ApiGetRequestError: 500 Internal Server Error");
126
- }, await r.userStore.loadUserFeatures(), r.userStore.api.getUserFeatures = o;
126
+ }, await r.userStore.loadUserFeatures(), r.userStore.api.getUserFeatures = e;
127
127
  }, children: "1. UserStore.loadUserFeatures failure" }),
128
- /* @__PURE__ */ c(f, { variant: "outlined", color: "warning", size: "small", onClick: async () => {
129
- const o = r.userStore.api.updateUser;
128
+ /* @__PURE__ */ n(c, { variant: "outlined", color: "warning", size: "small", onClick: async () => {
129
+ const e = r.userStore.api.updateUser;
130
130
  r.userStore.api.updateUser = async () => {
131
131
  throw new Error("ApiPutRequestError: 422 Unprocessable Entity");
132
- }, await r.userStore.updateUser({}), r.userStore.api.updateUser = o;
132
+ }, await r.userStore.updateUser({}), r.userStore.api.updateUser = e;
133
133
  }, children: "2. UserStore.updateUser failure" }),
134
- /* @__PURE__ */ c(f, { variant: "outlined", color: "warning", size: "small", onClick: async () => {
135
- const o = r.userStore.api.updateUserProfile;
134
+ /* @__PURE__ */ n(c, { variant: "outlined", color: "warning", size: "small", onClick: async () => {
135
+ const e = r.userStore.api.updateUserProfile;
136
136
  r.userStore.api.updateUserProfile = async () => {
137
137
  throw new Error("ApiPutRequestError: 500 Internal Server Error");
138
- }, await r.userStore.updateUserProfile({ guid: "test" }), r.userStore.api.updateUserProfile = o;
138
+ }, await r.userStore.updateUserProfile({ guid: "test" }), r.userStore.api.updateUserProfile = e;
139
139
  }, children: "3. UserStore.updateUserProfile failure" }),
140
- /* @__PURE__ */ c(f, { variant: "outlined", color: "warning", size: "small", onClick: () => {
140
+ /* @__PURE__ */ n(c, { variant: "outlined", color: "warning", size: "small", onClick: () => {
141
141
  r.captureException(
142
142
  new Error("[ErrorTest] Direct captureException call"),
143
143
  { store: "ErrorTestButtons" }
144
144
  );
145
- }, children: "4. Direct captureException" })
145
+ }, children: "4. Direct captureException" }),
146
+ /* @__PURE__ */ n(c, { variant: "outlined", color: "error", size: "small", onClick: () => {
147
+ try {
148
+ null.nonExistentMethod();
149
+ } catch (e) {
150
+ r.captureException(e, { store: "ErrorTestButtons" });
151
+ }
152
+ }, children: "5. TypeError (null reference)" }),
153
+ /* @__PURE__ */ n(c, { variant: "outlined", color: "warning", size: "small", onClick: () => {
154
+ Promise.reject(new Error("[ErrorTest] Unhandled promise rejection"));
155
+ }, children: "6. Unhandled promise rejection" }),
156
+ /* @__PURE__ */ n(c, { variant: "outlined", color: "warning", size: "small", onClick: async () => {
157
+ try {
158
+ await fetch("https://localhost:1/nonexistent");
159
+ } catch (e) {
160
+ r.captureException(e, { store: "ErrorTestButtons" });
161
+ }
162
+ }, children: "7. Network error (failed fetch)" }),
163
+ /* @__PURE__ */ n(c, { variant: "outlined", color: "error", size: "small", onClick: () => {
164
+ try {
165
+ document.querySelector("");
166
+ } catch (e) {
167
+ r.captureException(e, { store: "ErrorTestButtons" });
168
+ }
169
+ }, children: "8. DOMException" })
146
170
  ] });
147
171
  }, A = [
148
172
  "fontFamily",
@@ -163,67 +187,67 @@ const B = (r) => {
163
187
  { key: "warning", light: "warning_color", dark: "warning_color_dark" },
164
188
  { key: "info", light: "info_color", dark: "info_color_dark" },
165
189
  { key: "success", light: "success_color", dark: "success_color_dark" }
166
- ], $ = (r, e) => {
167
- const n = e === "dark", u = {};
168
- for (const { key: d, light: o, dark: a } of x) {
169
- const s = r?.[n ? a : o];
170
- s && (u[d] = s);
190
+ ], Y = (r, t) => {
191
+ const i = t === "dark", l = {};
192
+ for (const { key: d, light: m, dark: o } of x) {
193
+ const a = r?.[i ? o : m];
194
+ a && (l[d] = a);
171
195
  }
172
- return u;
173
- }, H = (r, e, n) => {
174
- const u = r.palette.mode === "dark", d = (n?.master?.style?.font_name || e?.system_font) ?? r.typography.fontFamily, o = (t, y) => t ? {
175
- lighter: h(t, 0.5),
176
- light: h(t, 0.25),
177
- main: t,
178
- dark: S(t, 0.25),
179
- darker: S(t, 0.5)
180
- } : y, a = Object.fromEntries(
181
- x.map(({ key: t, light: y, dark: C }) => [
182
- t,
183
- o(
184
- e?.[u ? C : y],
185
- r.palette[t]
196
+ return l;
197
+ }, $ = (r, t, i) => {
198
+ const l = r.palette.mode === "dark", d = (i?.master?.style?.font_name || t?.system_font) ?? r.typography.fontFamily, m = (s, f) => s ? {
199
+ lighter: S(s, 0.5),
200
+ light: S(s, 0.25),
201
+ main: s,
202
+ dark: h(s, 0.25),
203
+ darker: h(s, 0.5)
204
+ } : f, o = Object.fromEntries(
205
+ x.map(({ key: s, light: f, dark: C }) => [
206
+ s,
207
+ m(
208
+ t?.[l ? C : f],
209
+ r.palette[s]
186
210
  )
187
211
  ])
188
- ), s = Object.fromEntries(
189
- A.map((t) => [
190
- t,
191
- t === "fontFamily" ? d : { fontFamily: d }
212
+ ), a = Object.fromEntries(
213
+ A.map((s) => [
214
+ s,
215
+ s === "fontFamily" ? d : { fontFamily: d }
192
216
  ])
193
- ), m = {
217
+ ), g = {
194
218
  MuiTabs: {
195
219
  styleOverrides: {
196
- indicator: { backgroundColor: a.primary.light }
220
+ indicator: { backgroundColor: o.primary.light }
197
221
  }
198
222
  },
199
223
  MuiPickersCalendarHeader: {
200
224
  styleOverrides: {
201
225
  switchViewButton: {
202
- color: a.primary.lighter,
203
- "&:hover": { backgroundColor: k(a.primary.light, 0.1) }
226
+ color: o.primary.lighter,
227
+ "&:hover": { backgroundColor: k(o.primary.light, 0.1) }
204
228
  }
205
229
  }
206
230
  }
207
- }, i = e?.button_corner_radius, p = e?.card_corner_radius, g = {
208
- ...m,
209
- ...i && {
231
+ }, e = t?.button_corner_radius, p = t?.card_corner_radius, E = {
232
+ ...g,
233
+ ...e && {
210
234
  MuiButton: {
211
235
  styleOverrides: {
212
- root: { borderRadius: `${i}px`, textTransform: "none" }
236
+ root: { borderRadius: `${e}px`, textTransform: "none" }
213
237
  }
214
238
  },
215
239
  MuiIconButton: {
216
240
  styleOverrides: {
217
241
  root: {
218
- borderRadius: `${i}px`,
219
- minWidth: i,
220
- minHeight: i
242
+ borderRadius: `${e}px`,
243
+ minWidth: e,
244
+ minHeight: e
221
245
  }
222
246
  }
223
247
  },
224
248
  MuiToggleButton: {
225
249
  styleOverrides: {
226
- root: { borderRadius: `${i}px`, textTransform: "none" }
250
+ root: { borderRadius: `${e}px`, textTransform: "none" }
227
251
  }
228
252
  }
229
253
  },
@@ -240,60 +264,60 @@ const B = (r) => {
240
264
  }
241
265
  }
242
266
  };
243
- return { typography: s, palette: a, components: g };
267
+ return { typography: a, palette: o, components: E };
244
268
  };
245
269
  export {
246
- De as ANALYTICS_EVENTS,
270
+ we as ANALYTICS_EVENTS,
247
271
  nr as Calendar,
248
272
  ir as CalendarSelectionTypes,
249
- we as ConnectCard,
250
- Te as ConnectDrawer,
251
- ur as CurrencyDialog,
273
+ Oe as ConnectCard,
274
+ Pe as ConnectDrawer,
275
+ lr as CurrencyDialog,
252
276
  cr as CurrencyInput,
253
277
  Ie as CurrencyText,
254
- D as DEFAULT_DONUT_SIZE,
255
- O as DEFAULT_STROKE_WIDTH,
278
+ w as DEFAULT_DONUT_SIZE,
279
+ D as DEFAULT_STROKE_WIDTH,
256
280
  pr as DataRow,
257
- gr as DateRangeSelector,
258
- hr as Dialog,
281
+ Er as DateRangeSelector,
282
+ Sr as Dialog,
259
283
  Cr as Donut,
260
- vr as Drawer,
261
- Le as EmptyState,
262
- Re as Error,
284
+ _r as Drawer,
285
+ Ne as EmptyState,
286
+ Le as Error,
263
287
  Ur as ErrorBoundary,
264
- Y as ErrorTestButtons,
265
- Be as GlobalAccountFilter,
266
- Dr as GlobalDataContext,
267
- Or as GlobalDataProvider,
268
- j as GlobalStore,
269
- _e as INCOME_ACCOUNT_TYPES,
288
+ j as ErrorTestButtons,
289
+ We as GlobalAccountFilter,
290
+ wr as GlobalDataContext,
291
+ Dr as GlobalDataProvider,
292
+ Q as GlobalStore,
293
+ ve as INCOME_ACCOUNT_TYPES,
270
294
  ae as IconBacking,
271
295
  ne as InformationTooltip,
272
- G as LOADING_STATUS,
273
- Ge as ListItemAction,
274
- Ye as ListItemRow,
275
- He as ListItemWrapper,
276
- ue as Loader,
296
+ q as LOADING_STATUS,
297
+ qe as ListItemAction,
298
+ je as ListItemRow,
299
+ $e as ListItemWrapper,
300
+ le as Loader,
277
301
  ce as MicroWidgetContainer,
278
302
  pe as MiniWidgetContainer,
279
- q as MultiSegmentDonut,
280
- ve as PAYMENT_ACCOUNT_TYPES,
303
+ G as MultiSegmentDonut,
304
+ _e as PAYMENT_ACCOUNT_TYPES,
281
305
  F as RECURRENCE_COPY,
282
- ye as ResponsiveButton,
306
+ fe as ResponsiveButton,
283
307
  ke as SPENDING_ACCOUNT_TYPES,
284
- Ve as SearchBox,
308
+ ze as SearchBox,
285
309
  mr as Select,
286
- Se as SelectionBox,
287
- fe as SingleSegmentDonut,
288
- ze as Sizes,
310
+ he as SelectionBox,
311
+ ge as SingleSegmentDonut,
312
+ Ve as Sizes,
289
313
  xe as StatusBar,
290
314
  Ke as TOUCH_TARGET,
291
315
  Ue as TabContentContainer,
292
316
  Je as ToggleButtonListItem,
293
317
  Xe as ToggleListItem,
294
- yr as WidgetContainer,
295
- wr as WidgetContainerContext,
296
- Pr as WidgetContainerProvider,
318
+ fr as WidgetContainer,
319
+ Or as WidgetContainerContext,
320
+ Tr as WidgetContainerProvider,
297
321
  et as analyticsSession,
298
322
  K as buildDynamicCopy,
299
323
  Z as buildPluralCopy,
@@ -301,44 +325,44 @@ export {
301
325
  rr as formatOrdinal,
302
326
  er as formatPercentage,
303
327
  tr as generateEqualIntervals,
304
- $ as getClientPaletteOptions,
305
- H as getClientTheme,
328
+ Y as getClientPaletteOptions,
329
+ $ as getClientTheme,
306
330
  or as getCurrencyCodes,
307
331
  ar as getPluralRules,
308
332
  st as useAccountDisplayName,
309
- Tr as useAccountStore,
333
+ Pr as useAccountStore,
310
334
  Ar as useAppConfig,
311
335
  Ir as useBudgetsStore,
312
336
  Mr as useCaptureException,
313
- Lr as useCashflowStore,
314
- Nr as useCategoryStore,
337
+ Nr as useCashflowStore,
338
+ Rr as useCategoryStore,
315
339
  tt as useCombineEvents,
316
340
  ot as useCombinePageviews,
317
- Rr as useDebtStore,
318
- Wr as useError,
319
- Br as useEvent,
341
+ Lr as useDebtStore,
342
+ Br as useError,
343
+ Wr as useEvent,
320
344
  Fr as useFinstrongStore,
321
- Gr as useGlobalCopyStore,
345
+ qr as useGlobalCopyStore,
322
346
  U as useGlobalStore,
323
- qr as useGlobalUiStore,
324
- Yr as useGoalStore,
325
- $r as useHelpStore,
326
- Hr as useHoldingStore,
347
+ Gr as useGlobalUiStore,
348
+ jr as useGoalStore,
349
+ Yr as useHelpStore,
350
+ $r as useHoldingStore,
327
351
  it as useInsightsEnabled,
328
- Qr as useLoad,
329
- Vr as useMerchantStore,
330
- jr as useNetWorthStore,
331
- zr as useNotificationStore,
352
+ Hr as useLoad,
353
+ zr as useMerchantStore,
354
+ Qr as useNetWorthStore,
355
+ Vr as useNotificationStore,
332
356
  Kr as usePageView,
333
- B as usePrevious,
357
+ W as usePrevious,
334
358
  Zr as useRecurringTransactionsStore,
335
- lt as useScreenSize,
359
+ ut as useScreenSize,
336
360
  Jr as useSettingsStore,
337
361
  Xr as useTransactionStore,
338
362
  re as useTrendsStore,
339
363
  ee as useUserStore,
340
364
  te as useWidgetContainerProvider,
341
- Er as useWidgetHeaderStyles,
365
+ yr as useWidgetHeaderStyles,
342
366
  dt as useWidgetLoadTimer
343
367
  };
344
368
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../src/core/constants/repeatingTransactions.ts","../../src/common/hooks/usePrevious.tsx","../../src/common/constants/ScheduledPayment.ts","../../src/common/constants/SpendingPlan.ts","../../src/common/components/donuts/MultiSegmentDonut.tsx","../../src/common/components/ErrorTestButtons.tsx","../../src/common/utils/Theme.ts"],"sourcesContent":["export enum RecurrenceTypes {\n Unknown = 0,\n EveryWeek = 1,\n EveryOtherWeek = 2,\n EveryMonth = 3,\n EveryOtherMonth = 4,\n EveryQuarter = 5,\n EveryOtherQuarter = 6,\n EveryYear = 7,\n}\n","import { useEffect, useRef } from 'react'\n\nexport const usePrevious = (value: any) => {\n const ref = useRef(null)\n useEffect(() => {\n ref.current = value\n }, [value])\n return ref.current\n}\nexport default usePrevious\n","import { RecurrenceTypes } from '../../core/constants'\n\nexport const RECURRENCE_COPY = [\n { id: RecurrenceTypes.Unknown, copy: 'frequency_unknown' },\n { id: RecurrenceTypes.EveryWeek, copy: 'frequency_every_week' },\n { id: RecurrenceTypes.EveryOtherWeek, copy: 'frequency_every_other_week' },\n { id: RecurrenceTypes.EveryMonth, copy: 'frequency_every_month' },\n { id: RecurrenceTypes.EveryOtherMonth, copy: 'frequency_every_other_month' },\n { id: RecurrenceTypes.EveryQuarter, copy: 'frequency_every_quarter' },\n { id: RecurrenceTypes.EveryOtherQuarter, copy: 'frequency_every_other_quarter' },\n { id: RecurrenceTypes.EveryYear, copy: 'frequency_every_year' },\n]\n","export const LOADING_STATUS = {\n ERROR: 'ERROR',\n LOADING: 'LOADING',\n SUCCESS: 'SUCCESS',\n}\n","import React from 'react'\nimport { css } from '@mxenabled/cssinjs'\n\nimport { DEFAULT_DONUT_SIZE, DEFAULT_STROKE_WIDTH } from '../../constants'\n\nexport interface Segment {\n percent: number\n color: string\n}\n\nexport interface MultiSegmentDonutProps {\n children: React.ReactNode\n hasGap?: boolean\n segments: Segment[]\n size?: number\n strokeWidth?: number\n}\n\nconst MultiSegmentDonut: React.FC<MultiSegmentDonutProps> = ({\n hasGap = false,\n segments,\n size = DEFAULT_DONUT_SIZE,\n strokeWidth = DEFAULT_STROKE_WIDTH,\n children,\n}) => {\n const styles = getStyles(size)\n\n const radius = (size - strokeWidth) / 2\n const halfSize = size / 2\n\n let offset = -90 - (hasGap ? 1 : 0)\n\n let length = 0\n\n return (\n <div className={`mx-cmn-multi-segment-donut ${styles}`}>\n <svg height={size} width={size}>\n <circle\n cx={halfSize}\n cy={halfSize}\n fill=\"none\"\n r={radius}\n stroke=\"#E4E8EE\"\n strokeWidth={strokeWidth}\n />\n {segments.map((segment, index) => {\n offset += 360 * length + (hasGap ? 1 : 0)\n length = (segment.percent - (hasGap ? 0.3 : 0)) / 100\n\n return (\n <circle\n cx={halfSize}\n cy={halfSize}\n fill=\"none\"\n key={index}\n r={radius}\n stroke={segment.color}\n strokeDasharray={2 * Math.PI * radius}\n strokeDashoffset={2 * Math.PI * radius * (1 - length)}\n strokeWidth={strokeWidth}\n transform={`rotate(${offset}, ${halfSize}, ${halfSize})`}\n />\n )\n })}\n </svg>\n <div className=\"mx-cmn-multi-segment-donut-children\">{children}</div>\n </div>\n )\n}\n\nconst getStyles = (size: number) =>\n css({\n height: size,\n marginTop: `-8px`,\n position: 'relative',\n width: size,\n '& .mx-cmn-multi-segment-donut-children': {\n left: '50%',\n position: 'absolute',\n textAlign: 'center',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n })\n\nexport default MultiSegmentDonut\n","import React from 'react'\nimport { Button, Stack, Typography } from '@mui/material'\n\nimport { useGlobalStore } from '../context/hooks'\n\n/**\n * Temporary component for testing PostHog error capture around UserStore.\n * REMOVE BEFORE MERGING TO PRODUCTION.\n */\n\nconst ErrorTestButtons: React.FC = () => {\n const globalStore = useGlobalStore()\n\n // 1. Simulate getUserFeatures API failure\n const triggerLoadUserFeaturesError = async () => {\n const origApi = globalStore.userStore.api.getUserFeatures\n globalStore.userStore.api.getUserFeatures = async () => {\n throw new Error('ApiGetRequestError: 500 Internal Server Error')\n }\n await globalStore.userStore.loadUserFeatures()\n globalStore.userStore.api.getUserFeatures = origApi\n }\n\n // 2. Simulate updateUser API failure\n const triggerUpdateUserError = async () => {\n const origApi = globalStore.userStore.api.updateUser\n globalStore.userStore.api.updateUser = async () => {\n throw new Error('ApiPutRequestError: 422 Unprocessable Entity')\n }\n await globalStore.userStore.updateUser({} as any)\n globalStore.userStore.api.updateUser = origApi\n }\n\n // 3. Simulate updateUserProfile API failure\n const triggerUpdateUserProfileError = async () => {\n const origApi = globalStore.userStore.api.updateUserProfile\n globalStore.userStore.api.updateUserProfile = async () => {\n throw new Error('ApiPutRequestError: 500 Internal Server Error')\n }\n await globalStore.userStore.updateUserProfile({ guid: 'test' } as any)\n globalStore.userStore.api.updateUserProfile = origApi\n }\n\n // 4. Direct captureException call\n const triggerDirectCapture = () => {\n globalStore.captureException(\n new Error('[ErrorTest] Direct captureException call'),\n { store: 'ErrorTestButtons' },\n )\n }\n\n return (\n <Stack spacing={1} sx={{ p: 2, border: '2px dashed red', borderRadius: 2, m: 2 }}>\n <Typography variant=\"subtitle2\" color=\"error\">\n ⚠️ Error Test Panel — REMOVE BEFORE PROD\n </Typography>\n <Button variant=\"outlined\" color=\"warning\" size=\"small\" onClick={triggerLoadUserFeaturesError}>\n 1. UserStore.loadUserFeatures failure\n </Button>\n <Button variant=\"outlined\" color=\"warning\" size=\"small\" onClick={triggerUpdateUserError}>\n 2. UserStore.updateUser failure\n </Button>\n <Button variant=\"outlined\" color=\"warning\" size=\"small\" onClick={triggerUpdateUserProfileError}>\n 3. UserStore.updateUserProfile failure\n </Button>\n <Button variant=\"outlined\" color=\"warning\" size=\"small\" onClick={triggerDirectCapture}>\n 4. Direct captureException\n </Button>\n </Stack>\n )\n}\n\nexport default ErrorTestButtons\n","import { alpha, darken, lighten, PaletteColor, PaletteMode, Theme } from '@mui/material'\n\nimport type { ClientStyleProfile } from '../../core'\nimport { ClientConfig } from '../../core/types/AppData'\n\nconst TYPOGRAPHY_VARIANTS = [\n 'fontFamily',\n 'h1',\n 'h2',\n 'h3',\n 'body1',\n 'body2',\n 'button',\n 'caption',\n 'subtitle1',\n 'subtitle2',\n 'tiny',\n] as const\n\nconst PALETTE_CONFIG = [\n { key: 'primary', light: 'primary_color', dark: 'primary_color_dark' },\n { key: 'secondary', light: 'neutral_color', dark: 'neutral_color_dark' },\n { key: 'error', light: 'error_color', dark: 'error_color_dark' },\n { key: 'warning', light: 'warning_color', dark: 'warning_color_dark' },\n { key: 'info', light: 'info_color', dark: 'info_color_dark' },\n { key: 'success', light: 'success_color', dark: 'success_color_dark' },\n] as const\n\nexport const getClientPaletteOptions = (\n clientStyleProfile: ClientStyleProfile,\n mode: PaletteMode,\n): Record<string, string> => {\n const isDark = mode === 'dark'\n const options: Record<string, string> = {}\n\n for (const { key, light, dark } of PALETTE_CONFIG) {\n const color = clientStyleProfile?.[isDark ? dark : light] as string | undefined\n if (color) options[key] = color\n }\n\n return options\n}\n\nexport const getClientTheme = (\n theme: Theme,\n clientStyleProfile: ClientStyleProfile,\n clientConfig?: ClientConfig,\n) => {\n const isDark = theme.palette.mode === 'dark'\n const font =\n (clientConfig?.master?.style?.font_name || clientStyleProfile?.system_font) ??\n theme.typography.fontFamily\n\n const generatePalette = (color: string | undefined, defaultColor: PaletteColor) =>\n color\n ? {\n lighter: lighten(color, 0.5),\n light: lighten(color, 0.25),\n main: color,\n dark: darken(color, 0.25),\n darker: darken(color, 0.5),\n }\n : defaultColor\n\n const palette = Object.fromEntries(\n PALETTE_CONFIG.map(({ key, light, dark }) => [\n key,\n generatePalette(\n clientStyleProfile?.[isDark ? dark : light] as string | undefined,\n theme.palette[key],\n ),\n ]),\n )\n\n const typography = Object.fromEntries(\n TYPOGRAPHY_VARIANTS.map((variant) => [\n variant,\n variant === 'fontFamily' ? font : { fontFamily: font },\n ]),\n )\n\n const baseComponents = {\n MuiTabs: {\n styleOverrides: {\n indicator: { backgroundColor: palette.primary.light },\n },\n },\n MuiPickersCalendarHeader: {\n styleOverrides: {\n switchViewButton: {\n color: palette.primary.lighter,\n '&:hover': { backgroundColor: alpha(palette.primary.light, 0.1) },\n },\n },\n },\n }\n\n const buttonRadius = clientStyleProfile?.button_corner_radius\n const cardRadius = clientStyleProfile?.card_corner_radius\n\n const components = {\n ...baseComponents,\n ...(buttonRadius && {\n MuiButton: {\n styleOverrides: {\n root: { borderRadius: `${buttonRadius}px`, textTransform: 'none' },\n },\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n borderRadius: `${buttonRadius}px`,\n minWidth: buttonRadius,\n minHeight: buttonRadius,\n },\n },\n },\n MuiToggleButton: {\n styleOverrides: {\n root: { borderRadius: `${buttonRadius}px`, textTransform: 'none' },\n },\n },\n }),\n ...(cardRadius && {\n MuiCard: {\n styleOverrides: { root: { borderRadius: `${cardRadius}px` } },\n },\n }),\n ...(cardRadius && {\n MuiPaper: {\n styleOverrides: {\n rounded: { borderRadius: `${cardRadius}px` },\n },\n },\n }),\n }\n\n return { typography, palette, components }\n}\n"],"names":["RecurrenceTypes","usePrevious","value","ref","useRef","useEffect","RECURRENCE_COPY","LOADING_STATUS","MultiSegmentDonut","hasGap","segments","size","DEFAULT_DONUT_SIZE","strokeWidth","DEFAULT_STROKE_WIDTH","children","styles","getStyles","radius","halfSize","offset","length","jsxs","jsx","segment","index","css","ErrorTestButtons","globalStore","useGlobalStore","Stack","Typography","Button","origApi","TYPOGRAPHY_VARIANTS","PALETTE_CONFIG","getClientPaletteOptions","clientStyleProfile","mode","isDark","options","key","light","dark","color","getClientTheme","theme","clientConfig","font","generatePalette","defaultColor","lighten","darken","palette","typography","variant","baseComponents","alpha","buttonRadius","cardRadius","components"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../../src/core/constants/repeatingTransactions.ts","../../src/common/hooks/usePrevious.tsx","../../src/common/constants/ScheduledPayment.ts","../../src/common/constants/SpendingPlan.ts","../../src/common/components/donuts/MultiSegmentDonut.tsx","../../src/common/components/ErrorTestButtons.tsx","../../src/common/utils/Theme.ts"],"sourcesContent":["export enum RecurrenceTypes {\n Unknown = 0,\n EveryWeek = 1,\n EveryOtherWeek = 2,\n EveryMonth = 3,\n EveryOtherMonth = 4,\n EveryQuarter = 5,\n EveryOtherQuarter = 6,\n EveryYear = 7,\n}\n","import { useEffect, useRef } from 'react'\n\nexport const usePrevious = (value: any) => {\n const ref = useRef(null)\n useEffect(() => {\n ref.current = value\n }, [value])\n return ref.current\n}\nexport default usePrevious\n","import { RecurrenceTypes } from '../../core/constants'\n\nexport const RECURRENCE_COPY = [\n { id: RecurrenceTypes.Unknown, copy: 'frequency_unknown' },\n { id: RecurrenceTypes.EveryWeek, copy: 'frequency_every_week' },\n { id: RecurrenceTypes.EveryOtherWeek, copy: 'frequency_every_other_week' },\n { id: RecurrenceTypes.EveryMonth, copy: 'frequency_every_month' },\n { id: RecurrenceTypes.EveryOtherMonth, copy: 'frequency_every_other_month' },\n { id: RecurrenceTypes.EveryQuarter, copy: 'frequency_every_quarter' },\n { id: RecurrenceTypes.EveryOtherQuarter, copy: 'frequency_every_other_quarter' },\n { id: RecurrenceTypes.EveryYear, copy: 'frequency_every_year' },\n]\n","export const LOADING_STATUS = {\n ERROR: 'ERROR',\n LOADING: 'LOADING',\n SUCCESS: 'SUCCESS',\n}\n","import React from 'react'\nimport { css } from '@mxenabled/cssinjs'\n\nimport { DEFAULT_DONUT_SIZE, DEFAULT_STROKE_WIDTH } from '../../constants'\n\nexport interface Segment {\n percent: number\n color: string\n}\n\nexport interface MultiSegmentDonutProps {\n children: React.ReactNode\n hasGap?: boolean\n segments: Segment[]\n size?: number\n strokeWidth?: number\n}\n\nconst MultiSegmentDonut: React.FC<MultiSegmentDonutProps> = ({\n hasGap = false,\n segments,\n size = DEFAULT_DONUT_SIZE,\n strokeWidth = DEFAULT_STROKE_WIDTH,\n children,\n}) => {\n const styles = getStyles(size)\n\n const radius = (size - strokeWidth) / 2\n const halfSize = size / 2\n\n let offset = -90 - (hasGap ? 1 : 0)\n\n let length = 0\n\n return (\n <div className={`mx-cmn-multi-segment-donut ${styles}`}>\n <svg height={size} width={size}>\n <circle\n cx={halfSize}\n cy={halfSize}\n fill=\"none\"\n r={radius}\n stroke=\"#E4E8EE\"\n strokeWidth={strokeWidth}\n />\n {segments.map((segment, index) => {\n offset += 360 * length + (hasGap ? 1 : 0)\n length = (segment.percent - (hasGap ? 0.3 : 0)) / 100\n\n return (\n <circle\n cx={halfSize}\n cy={halfSize}\n fill=\"none\"\n key={index}\n r={radius}\n stroke={segment.color}\n strokeDasharray={2 * Math.PI * radius}\n strokeDashoffset={2 * Math.PI * radius * (1 - length)}\n strokeWidth={strokeWidth}\n transform={`rotate(${offset}, ${halfSize}, ${halfSize})`}\n />\n )\n })}\n </svg>\n <div className=\"mx-cmn-multi-segment-donut-children\">{children}</div>\n </div>\n )\n}\n\nconst getStyles = (size: number) =>\n css({\n height: size,\n marginTop: `-8px`,\n position: 'relative',\n width: size,\n '& .mx-cmn-multi-segment-donut-children': {\n left: '50%',\n position: 'absolute',\n textAlign: 'center',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n })\n\nexport default MultiSegmentDonut\n","import React from 'react'\nimport { Button, Stack, Typography } from '@mui/material'\n\nimport { useGlobalStore } from '../context/hooks'\n\n/**\n * Temporary component for testing PostHog error capture around UserStore.\n * REMOVE BEFORE MERGING TO PRODUCTION.\n */\n\nconst ErrorTestButtons: React.FC = () => {\n const globalStore = useGlobalStore()\n\n // 1. Simulate getUserFeatures API failure\n const triggerLoadUserFeaturesError = async () => {\n const origApi = globalStore.userStore.api.getUserFeatures\n globalStore.userStore.api.getUserFeatures = async () => {\n throw new Error('ApiGetRequestError: 500 Internal Server Error')\n }\n await globalStore.userStore.loadUserFeatures()\n globalStore.userStore.api.getUserFeatures = origApi\n }\n\n // 2. Simulate updateUser API failure\n const triggerUpdateUserError = async () => {\n const origApi = globalStore.userStore.api.updateUser\n globalStore.userStore.api.updateUser = async () => {\n throw new Error('ApiPutRequestError: 422 Unprocessable Entity')\n }\n await globalStore.userStore.updateUser({} as any)\n globalStore.userStore.api.updateUser = origApi\n }\n\n // 3. Simulate updateUserProfile API failure\n const triggerUpdateUserProfileError = async () => {\n const origApi = globalStore.userStore.api.updateUserProfile\n globalStore.userStore.api.updateUserProfile = async () => {\n throw new Error('ApiPutRequestError: 500 Internal Server Error')\n }\n await globalStore.userStore.updateUserProfile({ guid: 'test' } as any)\n globalStore.userStore.api.updateUserProfile = origApi\n }\n\n // 4. Direct captureException call\n const triggerDirectCapture = () => {\n globalStore.captureException(\n new Error('[ErrorTest] Direct captureException call'),\n { store: 'ErrorTestButtons' },\n )\n }\n\n // 5. TypeError\n const triggerTypeError = () => {\n try {\n const obj: any = null\n obj.nonExistentMethod()\n } catch (e) {\n globalStore.captureException(e, { store: 'ErrorTestButtons' })\n }\n }\n\n // 6. Unhandled promise rejection\n const triggerUnhandledRejection = () => {\n Promise.reject(new Error('[ErrorTest] Unhandled promise rejection'))\n }\n\n // 7. Network error (simulates failed fetch)\n const triggerNetworkError = async () => {\n try {\n await fetch('https://localhost:1/nonexistent')\n } catch (e) {\n globalStore.captureException(e, { store: 'ErrorTestButtons' })\n }\n }\n\n // 8. DOMException\n const triggerDOMException = () => {\n try {\n document.querySelector('')\n } catch (e) {\n globalStore.captureException(e, { store: 'ErrorTestButtons' })\n }\n }\n\n return (\n <Stack spacing={1} sx={{ p: 2, border: '2px dashed red', borderRadius: 2, m: 2 }}>\n <Typography variant=\"subtitle2\" color=\"error\">\n ⚠️ Error Test Panel — REMOVE BEFORE PROD\n </Typography>\n <Button variant=\"outlined\" color=\"warning\" size=\"small\" onClick={triggerLoadUserFeaturesError}>\n 1. UserStore.loadUserFeatures failure\n </Button>\n <Button variant=\"outlined\" color=\"warning\" size=\"small\" onClick={triggerUpdateUserError}>\n 2. UserStore.updateUser failure\n </Button>\n <Button variant=\"outlined\" color=\"warning\" size=\"small\" onClick={triggerUpdateUserProfileError}>\n 3. UserStore.updateUserProfile failure\n </Button>\n <Button variant=\"outlined\" color=\"warning\" size=\"small\" onClick={triggerDirectCapture}>\n 4. Direct captureException\n </Button>\n <Button variant=\"outlined\" color=\"error\" size=\"small\" onClick={triggerTypeError}>\n 5. TypeError (null reference)\n </Button>\n <Button variant=\"outlined\" color=\"warning\" size=\"small\" onClick={triggerUnhandledRejection}>\n 6. Unhandled promise rejection\n </Button>\n <Button variant=\"outlined\" color=\"warning\" size=\"small\" onClick={triggerNetworkError}>\n 7. Network error (failed fetch)\n </Button>\n <Button variant=\"outlined\" color=\"error\" size=\"small\" onClick={triggerDOMException}>\n 8. DOMException\n </Button>\n </Stack>\n )\n}\n\nexport default ErrorTestButtons\n","import { alpha, darken, lighten, PaletteColor, PaletteMode, Theme } from '@mui/material'\n\nimport type { ClientStyleProfile } from '../../core'\nimport { ClientConfig } from '../../core/types/AppData'\n\nconst TYPOGRAPHY_VARIANTS = [\n 'fontFamily',\n 'h1',\n 'h2',\n 'h3',\n 'body1',\n 'body2',\n 'button',\n 'caption',\n 'subtitle1',\n 'subtitle2',\n 'tiny',\n] as const\n\nconst PALETTE_CONFIG = [\n { key: 'primary', light: 'primary_color', dark: 'primary_color_dark' },\n { key: 'secondary', light: 'neutral_color', dark: 'neutral_color_dark' },\n { key: 'error', light: 'error_color', dark: 'error_color_dark' },\n { key: 'warning', light: 'warning_color', dark: 'warning_color_dark' },\n { key: 'info', light: 'info_color', dark: 'info_color_dark' },\n { key: 'success', light: 'success_color', dark: 'success_color_dark' },\n] as const\n\nexport const getClientPaletteOptions = (\n clientStyleProfile: ClientStyleProfile,\n mode: PaletteMode,\n): Record<string, string> => {\n const isDark = mode === 'dark'\n const options: Record<string, string> = {}\n\n for (const { key, light, dark } of PALETTE_CONFIG) {\n const color = clientStyleProfile?.[isDark ? dark : light] as string | undefined\n if (color) options[key] = color\n }\n\n return options\n}\n\nexport const getClientTheme = (\n theme: Theme,\n clientStyleProfile: ClientStyleProfile,\n clientConfig?: ClientConfig,\n) => {\n const isDark = theme.palette.mode === 'dark'\n const font =\n (clientConfig?.master?.style?.font_name || clientStyleProfile?.system_font) ??\n theme.typography.fontFamily\n\n const generatePalette = (color: string | undefined, defaultColor: PaletteColor) =>\n color\n ? {\n lighter: lighten(color, 0.5),\n light: lighten(color, 0.25),\n main: color,\n dark: darken(color, 0.25),\n darker: darken(color, 0.5),\n }\n : defaultColor\n\n const palette = Object.fromEntries(\n PALETTE_CONFIG.map(({ key, light, dark }) => [\n key,\n generatePalette(\n clientStyleProfile?.[isDark ? dark : light] as string | undefined,\n theme.palette[key],\n ),\n ]),\n )\n\n const typography = Object.fromEntries(\n TYPOGRAPHY_VARIANTS.map((variant) => [\n variant,\n variant === 'fontFamily' ? font : { fontFamily: font },\n ]),\n )\n\n const baseComponents = {\n MuiTabs: {\n styleOverrides: {\n indicator: { backgroundColor: palette.primary.light },\n },\n },\n MuiPickersCalendarHeader: {\n styleOverrides: {\n switchViewButton: {\n color: palette.primary.lighter,\n '&:hover': { backgroundColor: alpha(palette.primary.light, 0.1) },\n },\n },\n },\n }\n\n const buttonRadius = clientStyleProfile?.button_corner_radius\n const cardRadius = clientStyleProfile?.card_corner_radius\n\n const components = {\n ...baseComponents,\n ...(buttonRadius && {\n MuiButton: {\n styleOverrides: {\n root: { borderRadius: `${buttonRadius}px`, textTransform: 'none' },\n },\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n borderRadius: `${buttonRadius}px`,\n minWidth: buttonRadius,\n minHeight: buttonRadius,\n },\n },\n },\n MuiToggleButton: {\n styleOverrides: {\n root: { borderRadius: `${buttonRadius}px`, textTransform: 'none' },\n },\n },\n }),\n ...(cardRadius && {\n MuiCard: {\n styleOverrides: { root: { borderRadius: `${cardRadius}px` } },\n },\n }),\n ...(cardRadius && {\n MuiPaper: {\n styleOverrides: {\n rounded: { borderRadius: `${cardRadius}px` },\n },\n },\n }),\n }\n\n return { typography, palette, components }\n}\n"],"names":["RecurrenceTypes","usePrevious","value","ref","useRef","useEffect","RECURRENCE_COPY","LOADING_STATUS","MultiSegmentDonut","hasGap","segments","size","DEFAULT_DONUT_SIZE","strokeWidth","DEFAULT_STROKE_WIDTH","children","styles","getStyles","radius","halfSize","offset","length","jsxs","jsx","segment","index","css","ErrorTestButtons","globalStore","useGlobalStore","Stack","Typography","Button","origApi","TYPOGRAPHY_VARIANTS","PALETTE_CONFIG","getClientPaletteOptions","clientStyleProfile","mode","isDark","options","key","light","dark","color","getClientTheme","theme","clientConfig","font","generatePalette","defaultColor","lighten","darken","palette","typography","variant","baseComponents","alpha","buttonRadius","cardRadius","components"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mx-cartographer/experiences",
3
- "version": "9.1.4-alpha.al5",
3
+ "version": "9.1.4-alpha.al6",
4
4
  "description": "Library containing experience widgets",
5
5
  "author": "MX",
6
6
  "license": "MIT",