@mx-cartographer/experiences 9.0.2 → 9.1.0-alpha.bb1

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 (120) hide show
  1. package/dist/Analytics-BKzTPees.mjs +61 -0
  2. package/dist/GlobalCopyApi-BeXzaDH9.mjs +487 -0
  3. package/dist/HeaderCell-EhCUSjvj.mjs +10 -0
  4. package/dist/Loader-BlVzRtUd.mjs +73 -0
  5. package/dist/MiniWidgetContainer-COwnjfy7.mjs +110 -0
  6. package/dist/OriginalBalanceAction-sbiqaxok.mjs +110 -0
  7. package/dist/SpendingLegend-D15ixlQ1.mjs +222 -0
  8. package/dist/accounts/index.es.js +12 -1598
  9. package/dist/accounts-DkyAiLpg.mjs +15632 -0
  10. package/dist/analytics/index.es.js +155 -139
  11. package/dist/budgets/index.es.js +1317 -1266
  12. package/dist/cashflow/index.es.js +1047 -942
  13. package/dist/categories/index.es.js +4 -4
  14. package/dist/common/index.es.js +101 -310
  15. package/dist/core/index.es.js +80 -104
  16. package/dist/core-BexP5oiV.mjs +4047 -0
  17. package/dist/dashboard/index.es.js +185 -141
  18. package/dist/debts/index.es.js +1384 -1272
  19. package/dist/finstrong/index.es.js +3366 -3471
  20. package/dist/goals/index.es.js +1103 -984
  21. package/dist/help/index.es.js +3 -25
  22. package/dist/help-CctDYrAH.mjs +2308 -0
  23. package/dist/insights/index.es.js +93 -4843
  24. package/dist/investments/index.es.js +1533 -1522
  25. package/dist/merchants/index.es.js +75 -64
  26. package/dist/microinsights/index.es.js +15 -824
  27. package/dist/microinsights-CRf3ChsJ.mjs +1814 -0
  28. package/dist/networth/index.es.js +550 -503
  29. package/dist/notifications/index.es.js +169 -161
  30. package/dist/recurringtransactions/index.es.js +10 -962
  31. package/dist/recurringtransactions-gbJ_NA8u.mjs +1564 -0
  32. package/dist/settings/index.es.js +13 -880
  33. package/dist/settings-ZMHe439l.mjs +1526 -0
  34. package/dist/spending/index.es.js +400 -456
  35. package/dist/transactions/index.es.js +10 -603
  36. package/dist/trends/index.es.js +1268 -1407
  37. package/package.json +28 -28
  38. package/dist/Account-BaJmiJAG.mjs +0 -118
  39. package/dist/Account-BxHMlV9R.mjs +0 -30
  40. package/dist/AccountDetailsHeader-DIysk_4w.mjs +0 -95
  41. package/dist/AccountDisplayName-CO7z3v99.mjs +0 -11
  42. package/dist/AccountFields-mwJ8NXsX.mjs +0 -141
  43. package/dist/AccountListItem-BDXHs4tV.mjs +0 -94
  44. package/dist/AccountUtils-T5_Odvos.mjs +0 -27
  45. package/dist/Accounts-CseLC3lL.mjs +0 -5
  46. package/dist/Analytics-CkYXKvco.mjs +0 -53
  47. package/dist/Analytics-CzGzz_sE.mjs +0 -136
  48. package/dist/ApiEndpoints-DXwIYNUV.mjs +0 -49
  49. package/dist/BudgetUtil-Bg2AQJpQ.mjs +0 -74
  50. package/dist/Category-DEKZGLYe.mjs +0 -301
  51. package/dist/CategorySelectorDrawer-8soGrhB8.mjs +0 -430
  52. package/dist/Connect-Dk6GZEsA.mjs +0 -39
  53. package/dist/ConnectCard-CCep7Zqe.mjs +0 -54
  54. package/dist/ConnectDrawer-Cnjr3Ddg.mjs +0 -58
  55. package/dist/ConnectionsDrawer-CtfPXk0M.mjs +0 -54
  56. package/dist/CurrencyDialog-DumQCTPO.mjs +0 -373
  57. package/dist/CurrencyInput-adTIRtL3.mjs +0 -87
  58. package/dist/CurrencyText-CCbE6MmF.mjs +0 -20
  59. package/dist/DateFormats-HudZ3Bjs.mjs +0 -64
  60. package/dist/DateUtil-Bhq59ZVg.mjs +0 -58
  61. package/dist/DebtUtils-DD3186U-.mjs +0 -153
  62. package/dist/Dialog-Bvd2n8hz.mjs +0 -66
  63. package/dist/Donut-SzzfZDHF.mjs +0 -88
  64. package/dist/Drawer-BXqqBMxg.mjs +0 -174
  65. package/dist/EmbeddedCard-DPwJjqMH.mjs +0 -856
  66. package/dist/EmptyState-CJUDc3kD.mjs +0 -84
  67. package/dist/Error-Dogaw2jO.mjs +0 -84
  68. package/dist/ErrorBoundary-CsdOcnJ9.mjs +0 -23
  69. package/dist/ExportCsvAction-Bw02ZJEj.mjs +0 -24
  70. package/dist/GlobalAccountFilter-7Cg2-9A5.mjs +0 -237
  71. package/dist/GlobalCopyApi-wcnDUzMV.mjs +0 -128
  72. package/dist/GoalsUtil-C9EnLWvC.mjs +0 -107
  73. package/dist/HeaderCell-P8w6CmfO.mjs +0 -6
  74. package/dist/Help-CkQTjORd.mjs +0 -299
  75. package/dist/Help-DJ8PrVHX.mjs +0 -3209
  76. package/dist/IconBacking-DgT8DCeh.mjs +0 -39
  77. package/dist/InformationTooltip-4su8bn1e.mjs +0 -41
  78. package/dist/InvestmentUtil-BItV7uEs.mjs +0 -134
  79. package/dist/LineChart-CejWS_rh.mjs +0 -612
  80. package/dist/ListItemAction-CzZ8s39Z.mjs +0 -69
  81. package/dist/ListItemRow-kH1rn8Xu.mjs +0 -67
  82. package/dist/ListItemWrapper-B5r-YQQ_.mjs +0 -42
  83. package/dist/Loader-CxeBwuPG.mjs +0 -21
  84. package/dist/Localization-DnoVyBNK.mjs +0 -38
  85. package/dist/ManageIncome-D1yBODQi.mjs +0 -595
  86. package/dist/MicroWidgetContainer-CfKdQfhi.mjs +0 -45
  87. package/dist/MiniWidgetContainer-BdPiUU-u.mjs +0 -66
  88. package/dist/NetWorthUtils-DilGN1nW.mjs +0 -95
  89. package/dist/Notification-DTNYSd8P.mjs +0 -7
  90. package/dist/NotificationSettings-B4JA5IKE.mjs +0 -677
  91. package/dist/NotificationUtils-BRGFTePr.mjs +0 -23
  92. package/dist/NumberFormatting--XMeeBfr.mjs +0 -49
  93. package/dist/OriginalBalanceAction-BybTXDtO.mjs +0 -114
  94. package/dist/RecurringSettings-D2xbNb67.mjs +0 -88
  95. package/dist/RecurringTransactionsUtil-B3rLEx_g.mjs +0 -253
  96. package/dist/ResponsiveButton-CC9F_Ezk.mjs +0 -45
  97. package/dist/SearchBox-Cpgu_gdO.mjs +0 -50
  98. package/dist/Select-BFt-HD-L.mjs +0 -55
  99. package/dist/SelectionBox-B4xELRgp.mjs +0 -48
  100. package/dist/SingleSegmentDonut-7Uy6VEld.mjs +0 -69
  101. package/dist/Sizes-DISGrlUg.mjs +0 -6
  102. package/dist/SkeletonLoader-BaNboJjD.mjs +0 -38
  103. package/dist/SpendingData-PKlh8caU.mjs +0 -53
  104. package/dist/SpendingLegend-5Ct_FZ8o.mjs +0 -193
  105. package/dist/StatusBar-CPfSXe80.mjs +0 -30
  106. package/dist/TabContentContainer-CnMXkVqr.mjs +0 -21
  107. package/dist/ToggleListItem-Dl1lXNwj.mjs +0 -91
  108. package/dist/TransactionDetails-DctXr07p.mjs +0 -1714
  109. package/dist/TransactionUtils-BphBJBbU.mjs +0 -234
  110. package/dist/TrendsUtil-D9z3kIj_.mjs +0 -69
  111. package/dist/UserStore-CRpKQjpP.mjs +0 -3002
  112. package/dist/ViewMoreMicroCard-BD_MNc2z.mjs +0 -1295
  113. package/dist/WidgetContainer-CmbU4CBH.mjs +0 -482
  114. package/dist/hooks-BaO_gOI6.mjs +0 -77
  115. package/dist/useAccountDisplayName-CFa_MrS6.mjs +0 -15
  116. package/dist/useAriaLive-MkYebyUR.mjs +0 -35
  117. package/dist/useDimensions-CeDR9V8N.mjs +0 -36
  118. package/dist/useInsightsEnabled-DaNLPmUU.mjs +0 -11
  119. package/dist/useScreenSize-mWpmnh5w.mjs +0 -36
  120. package/dist/useWidgetLoadTimer-CJb-RELP.mjs +0 -19
@@ -0,0 +1,110 @@
1
+ import { j as x } from "./Loader-BlVzRtUd.mjs";
2
+ import a from "react";
3
+ import { H3 as g, P as v, Text as z } from "@mxenabled/mxui";
4
+ import C from "@mui/material/Button";
5
+ import { ChevronRight as R, Icon as S } from "@mxenabled/mx-icons";
6
+ import { Fragment as D, jsx as r, jsxs as p } from "react/jsx-runtime";
7
+ import I from "@mui/material/Box";
8
+ import B from "@mui/material/IconButton";
9
+ import E from "@mui/material/Card";
10
+ import T from "@mui/material/CardContent";
11
+ import w from "@mui/material/CardHeader";
12
+ var H = (s, t) => a.useMemo(() => {
13
+ let o = null;
14
+ return (...e) => {
15
+ o && clearTimeout(o), o = setTimeout(() => {
16
+ s(...e);
17
+ }, t);
18
+ };
19
+ }, [s, t]);
20
+ function j(s = 100) {
21
+ const [t, o] = a.useState({
22
+ width: 0,
23
+ height: 0
24
+ }), e = a.useRef(null), c = a.useRef(t), m = H((n, i) => {
25
+ (n !== c.current.width || i !== c.current.height) && (o({
26
+ width: n,
27
+ height: i
28
+ }), c.current = {
29
+ width: n,
30
+ height: i
31
+ });
32
+ }, s), d = a.useCallback((n) => {
33
+ if (e.current && (e.current.disconnect(), e.current = null), n?.nodeType === Node.ELEMENT_NODE) {
34
+ const i = new ResizeObserver(([l]) => {
35
+ if (l && l.borderBoxSize) {
36
+ const { inlineSize: u, blockSize: f } = l.borderBoxSize[0];
37
+ m(u, f);
38
+ }
39
+ });
40
+ i.observe(n), e.current = i;
41
+ }
42
+ }, [m]);
43
+ return a.useEffect(() => () => {
44
+ e.current && e.current.disconnect();
45
+ }, []), [d, t];
46
+ }
47
+ var $ = ({ children: s, className: t = "mx-cmn-mini-widget", closeLabel: o, contentStyles: e, onClose: c, onPrimaryCtaClick: m, primaryCtaLabel: d = "", primaryCtaLabelAria: n = "", subTitle: i = "", sx: l = {}, title: u = "" }) => {
48
+ const [f, { height: h, width: b }] = j();
49
+ return /* @__PURE__ */ p(E, {
50
+ className: t,
51
+ sx: {
52
+ touchAction: "manipulation",
53
+ ...l
54
+ },
55
+ children: [/* @__PURE__ */ r(w, {
56
+ sx: { pb: 8 },
57
+ title: /* @__PURE__ */ p(D, { children: [/* @__PURE__ */ p(I, {
58
+ sx: {
59
+ alignItems: "center",
60
+ display: "grid",
61
+ gap: 2,
62
+ gridTemplateColumns: "1fr auto",
63
+ pb: 4
64
+ },
65
+ children: [u && /* @__PURE__ */ r(g, { children: u }), c ? /* @__PURE__ */ r(B, {
66
+ "aria-label": o,
67
+ onClick: c,
68
+ size: "small",
69
+ children: /* @__PURE__ */ r(S, {
70
+ name: "close",
71
+ size: 24
72
+ })
73
+ }) : m && /* @__PURE__ */ r(C, {
74
+ "aria-label": n,
75
+ endIcon: /* @__PURE__ */ r(R, {}),
76
+ onClick: m,
77
+ size: "small",
78
+ children: /* @__PURE__ */ r(z, {
79
+ bold: !0,
80
+ variant: "body2",
81
+ children: d
82
+ })
83
+ })]
84
+ }), i && /* @__PURE__ */ r(v, {
85
+ color: "text.secondary",
86
+ sx: {
87
+ fontSize: 15,
88
+ lineHeight: "20px"
89
+ },
90
+ variant: "body2",
91
+ children: i
92
+ })] })
93
+ }), /* @__PURE__ */ r(T, {
94
+ ref: f,
95
+ sx: {
96
+ p: 0,
97
+ ...e
98
+ },
99
+ children: /* @__PURE__ */ r(x, {
100
+ availableHeight: h,
101
+ availableWidth: b,
102
+ children: s
103
+ })
104
+ })]
105
+ });
106
+ };
107
+ export {
108
+ j as n,
109
+ $ as t
110
+ };
@@ -0,0 +1,110 @@
1
+ import { J as v, X as f } from "./core-BexP5oiV.mjs";
2
+ import { Bn as S, kn as _ } from "./accounts-DkyAiLpg.mjs";
3
+ import { g as p, p as y } from "./Loader-BlVzRtUd.mjs";
4
+ import h from "react";
5
+ import { observer as b } from "mobx-react-lite";
6
+ import { jsx as r } from "react/jsx-runtime";
7
+ import T from "@mui/material/TextField";
8
+ var I = b(({ goal: e }) => {
9
+ const { goals: n } = y(), { setAlert: o, setSelectedGoal: l, updateGoal: m } = p(), [t, s] = h.useState(e.interest_rate ?? 0), c = !e.guid, i = t < 0, d = async () => {
10
+ const a = {
11
+ ...e,
12
+ interest_rate: t
13
+ };
14
+ e.interest_rate = t, c ? l(a) : (await m(a), o(n.alert_goal_updated_interest_rate));
15
+ }, u = () => {
16
+ setTimeout(() => {
17
+ s(e.interest_rate ?? 0);
18
+ }, 250);
19
+ };
20
+ return /* @__PURE__ */ r(_, {
21
+ isDisabled: e.is_complete,
22
+ isSaveDisabled: i,
23
+ label: `${n.details_interest_rate} (%)`,
24
+ onCancel: u,
25
+ onSave: d,
26
+ primaryText: n.details_interest_rate,
27
+ secondaryText: f(Number(e.interest_rate) / 100),
28
+ zeroStateText: e.interest_rate ? void 0 : n.add_interest_rate,
29
+ children: /* @__PURE__ */ r(T, {
30
+ error: i,
31
+ fullWidth: !0,
32
+ onChange: (a) => s(isNaN(parseFloat(a.target.value)) ? 0 : parseFloat(a.target.value)),
33
+ type: "number",
34
+ value: t
35
+ })
36
+ });
37
+ }), F = b(({ goal: e }) => {
38
+ const { goals: n } = y(), { setAlert: o, setSelectedGoal: l, updateGoal: m } = p(), [t, s] = h.useState(e.monthly_payment ?? 0), c = !e.guid, i = t < 0 || t > 9999999999e-2, d = async () => {
39
+ const a = {
40
+ ...e,
41
+ monthly_payment: t
42
+ };
43
+ e.monthly_payment = t, c ? l(a) : (await m({
44
+ ...e,
45
+ monthly_payment: t
46
+ }), o(n.alert_goal_updated_payment));
47
+ }, u = () => {
48
+ setTimeout(() => {
49
+ s(e.monthly_payment || 0);
50
+ }, 250);
51
+ };
52
+ return /* @__PURE__ */ r(_, {
53
+ isDisabled: e.is_complete,
54
+ isSaveDisabled: i,
55
+ label: n.details_monthly_payment,
56
+ onCancel: u,
57
+ onSave: d,
58
+ primaryText: n.details_monthly_payment,
59
+ secondaryText: v(e.monthly_payment, "0,0"),
60
+ zeroStateText: e.monthly_payment ? void 0 : n.add_monthly_payment,
61
+ children: /* @__PURE__ */ r(S, {
62
+ amount: t,
63
+ autoFocus: !0,
64
+ error: i,
65
+ fullWidth: !0,
66
+ minAmount: 0,
67
+ setAmount: (a) => s(isNaN(Number(a)) ? t : Number(a)),
68
+ sx: { ".MuiTypography-body1": { p: 0 } }
69
+ })
70
+ });
71
+ }), z = b(({ goal: e }) => {
72
+ const { goals: n } = y(), { setAlert: o, setSelectedGoal: l, updateGoal: m } = p(), [t, s] = h.useState(e.initial_amount), c = !e.guid, i = t < 0 || t > 9999999999e-2, d = async () => {
73
+ const a = {
74
+ ...e,
75
+ initial_amount: t
76
+ };
77
+ e.initial_amount = t, c ? l(a) : (await m({
78
+ ...e,
79
+ initial_amount: t
80
+ }), o(n.alert_goal_updated_balance));
81
+ }, u = () => {
82
+ setTimeout(() => {
83
+ s(e.initial_amount);
84
+ }, 250);
85
+ };
86
+ return /* @__PURE__ */ r(_, {
87
+ isDisabled: e.is_complete,
88
+ isSaveDisabled: i,
89
+ label: n.details_original_balance,
90
+ onCancel: u,
91
+ onSave: d,
92
+ primaryText: n.details_original_balance,
93
+ secondaryText: v(e.initial_amount, "0,0"),
94
+ zeroStateText: !e.initial_amount && !e.is_complete ? n.add_original_balance : void 0,
95
+ children: /* @__PURE__ */ r(S, {
96
+ amount: t,
97
+ autoFocus: !0,
98
+ error: i,
99
+ fullWidth: !0,
100
+ minAmount: 0,
101
+ setAmount: (a) => s(isNaN(Number(a)) ? t : Number(a)),
102
+ sx: { ".MuiTypography-body1": { p: 0 } }
103
+ })
104
+ });
105
+ });
106
+ export {
107
+ F as n,
108
+ I as r,
109
+ z as t
110
+ };
@@ -0,0 +1,222 @@
1
+ import { f as p } from "./GlobalCopyApi-BeXzaDH9.mjs";
2
+ import { J as b, rt as _ } from "./core-BexP5oiV.mjs";
3
+ import { dr as w, mr as N, vr as k } from "./accounts-DkyAiLpg.mjs";
4
+ import { p as A } from "./Loader-BlVzRtUd.mjs";
5
+ import T from "react";
6
+ import { observer as M } from "mobx-react-lite";
7
+ import h from "@mui/material/Stack";
8
+ import { CategoryIcon as G, CategoryIconVariants as O, P as j, Text as f } from "@mxenabled/mxui";
9
+ import R from "@mui/material/Button";
10
+ import { Fragment as $, jsx as l, jsxs as y } from "react/jsx-runtime";
11
+ import { useTheme as V } from "@mui/material/styles";
12
+ import v from "@mui/material/Box";
13
+ var D = 5, B = (a, s, i, c) => c.reduce((t, r) => {
14
+ const n = a.find((m) => m.guid === r.category_guid);
15
+ if (!n) return t;
16
+ const o = n.parent_guid ?? n.guid, d = a.find((m) => m.guid === o);
17
+ if (!d || r.total <= 0) return t;
18
+ const e = {
19
+ guid: n.guid,
20
+ name: n.guid === o ? `${s.parent_category_totals_label_general} ${n.name}` : n.name,
21
+ color: _(d.guid, i),
22
+ amount: r.total
23
+ }, g = t.find((m) => m.guid === o);
24
+ return g ? (g.amount += r.total, g.categoryTotals?.push(e)) : t.push({
25
+ guid: o,
26
+ name: d.name,
27
+ color: _(d.guid, i),
28
+ categoryTotals: [e],
29
+ amount: r.total
30
+ }), t;
31
+ }, []), Z = (a, s, i, c) => {
32
+ const t = B(a, s, i, c).filter((e) => e.guid !== p.INCOME && e.guid !== p.INVESTMENTS && e.guid !== p.TRANSFER && e.amount > 0).sort((e, g) => g.amount - e.amount), r = t.reduce((e, g) => e + g.amount, 0), n = t.length > D ? D : t.length, o = t.slice(0, n), d = o.map((e) => ({
33
+ id: e.guid,
34
+ color: _(e.guid, i),
35
+ label: e.name,
36
+ value: e.amount / r * 100
37
+ }));
38
+ if (t.length > 5) {
39
+ const e = t.slice(D), g = e.reduce((m, C) => m + C.amount, 0);
40
+ o.push({
41
+ guid: "other",
42
+ color: i.palette.categories.others || "",
43
+ name: s.saving_goal_other,
44
+ categoryTotals: e,
45
+ amount: g
46
+ }), d.push({
47
+ id: "other",
48
+ color: i.palette.categories.others || "",
49
+ label: s.saving_goal_other,
50
+ value: g / r * 100
51
+ });
52
+ }
53
+ return {
54
+ categoryData: o,
55
+ donutData: d,
56
+ totalAmount: r
57
+ };
58
+ }, tt = (a, s, i) => {
59
+ const c = a.filter((n) => n.guid === p.INCOME || n.parent_guid === p.INCOME), t = s.filter((n) => c.some((o) => o.guid === n.category_guid)).sort((n, o) => n.total - o.total).map((n, o) => ({
60
+ guid: n.category_guid,
61
+ name: a.find((d) => d.guid === n.category_guid)?.name,
62
+ color: i[o % i.length],
63
+ categoryTotals: [],
64
+ amount: Math.abs(n.total)
65
+ })), r = t.reduce((n, o) => n + o.amount, 0);
66
+ return {
67
+ categoryData: t,
68
+ donutData: t.map((n) => ({
69
+ id: n.guid,
70
+ color: n.color,
71
+ label: n.name,
72
+ value: n.amount / r * 100
73
+ })),
74
+ totalAmount: r
75
+ };
76
+ }, P = ({ data: a, isIncome: s = !1, onSelected: i, onViewTransactions: c, selectedId: t, size: r = 150, totalLabel: n, variant: o = "mini" }) => {
77
+ const { spending: d } = A(), e = V(), { isTablet: g } = N(), { announce: m, ariaLive: C } = w(), u = T.useMemo(() => t ? a.categoryData.find((x) => x.guid === t) : void 0, [t]);
78
+ T.useEffect(() => {
79
+ if (u) {
80
+ const x = b(u.amount, o === "mini" ? "0,0" : "0,0.00");
81
+ m(`${u.name}: ${x}`);
82
+ }
83
+ }, [
84
+ u,
85
+ m,
86
+ o
87
+ ]);
88
+ const E = a.donutData.length > 0 ? a.donutData : [{
89
+ id: "0",
90
+ color: e.palette.divider,
91
+ value: 100
92
+ }], S = () => {
93
+ c?.(t);
94
+ }, I = g ? 32 : 48;
95
+ return /* @__PURE__ */ y($, { children: [C, /* @__PURE__ */ l(k, {
96
+ data: E,
97
+ onClick: i,
98
+ selectedId: t,
99
+ size: r,
100
+ children: /* @__PURE__ */ l(h, {
101
+ alignItems: "center",
102
+ height: "100%",
103
+ justifyContent: "center",
104
+ width: "100%",
105
+ children: /* @__PURE__ */ y(h, {
106
+ alignItems: "center",
107
+ justifyContent: "center",
108
+ minHeight: r,
109
+ minWidth: r,
110
+ children: [
111
+ u && /* @__PURE__ */ y(h, {
112
+ alignItems: "center",
113
+ gap: o === "mini" ? 0 : 8,
114
+ mb: o === "mini" ? 0 : 8,
115
+ mt: o === "mini" ? 0 : -16,
116
+ sx: o === "mini" ? {
117
+ gap: 0,
118
+ mb: 0
119
+ } : {
120
+ gap: {
121
+ xs: 4,
122
+ xl: 8
123
+ },
124
+ mb: {
125
+ xs: 4,
126
+ xl: 8
127
+ }
128
+ },
129
+ children: [/* @__PURE__ */ l(v, {
130
+ "aria-hidden": "true",
131
+ role: "presentation",
132
+ children: /* @__PURE__ */ l(G, {
133
+ categoryGuid: s ? p.INCOME : u.guid,
134
+ size: o === "mini" ? 24 : I,
135
+ variant: O.Transparent
136
+ })
137
+ }), /* @__PURE__ */ l(f, {
138
+ color: "text.secondary",
139
+ noWrap: !0,
140
+ variant: o === "mini" ? "tiny" : "body1",
141
+ children: u ? u.name : n
142
+ })]
143
+ }),
144
+ !u && o === "full" && /* @__PURE__ */ l(f, {
145
+ bold: !0,
146
+ color: "text.secondary",
147
+ sx: { mb: {
148
+ xs: 4,
149
+ xl: 8
150
+ } },
151
+ children: n
152
+ }),
153
+ /* @__PURE__ */ l(j, {
154
+ variant: o === "mini" ? "h2" : "h1",
155
+ children: u ? b(u.amount, o === "mini" ? "0,0" : "0,0.00") : b(a.totalAmount, o === "mini" ? "0,0" : "0,0.00")
156
+ }),
157
+ !u && o === "mini" && /* @__PURE__ */ l(f, {
158
+ color: "text.secondary",
159
+ noWrap: !0,
160
+ variant: "tiny",
161
+ children: n
162
+ }),
163
+ o === "full" && /* @__PURE__ */ l(R, {
164
+ "aria-label": `View ${u?.name || ""} Transactions`,
165
+ disabled: a.categoryData.length === 0,
166
+ onClick: S,
167
+ sx: {
168
+ mt: {
169
+ xl: 4,
170
+ xs: 0
171
+ },
172
+ zIndex: 1
173
+ },
174
+ variant: "text",
175
+ children: d.view_transactions
176
+ })
177
+ ]
178
+ })
179
+ })
180
+ })] });
181
+ }, nt = M(P), ot = ({ data: a, onSelected: s, selectedId: i }) => {
182
+ const c = (t, r) => {
183
+ (t.key === "Enter" || t.key === " ") && (t.preventDefault(), s(r));
184
+ };
185
+ return /* @__PURE__ */ l(h, {
186
+ gap: 8,
187
+ height: "100%",
188
+ justifyContent: "center",
189
+ my: "auto",
190
+ children: a.categoryData.map((t) => /* @__PURE__ */ y(h, {
191
+ alignItems: "center",
192
+ "aria-label": t.name,
193
+ "aria-pressed": t.guid === i,
194
+ direction: "row",
195
+ gap: 8,
196
+ onClick: () => s(t.guid),
197
+ onKeyDown: (r) => c(r, t.guid),
198
+ role: "button",
199
+ sx: {
200
+ cursor: "pointer",
201
+ touchAction: "manipulation"
202
+ },
203
+ tabIndex: 0,
204
+ children: [/* @__PURE__ */ l(v, {
205
+ borderRadius: 4,
206
+ height: 8,
207
+ sx: { backgroundColor: t.color },
208
+ width: 8
209
+ }), /* @__PURE__ */ l(f, {
210
+ bold: t.guid === i,
211
+ variant: "caption",
212
+ children: t.name
213
+ })]
214
+ }, t.guid))
215
+ });
216
+ };
217
+ export {
218
+ Z as i,
219
+ nt as n,
220
+ tt as r,
221
+ ot as t
222
+ };