@mx-cartographer/experiences 9.0.3 → 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.
- package/CHANGELOG.md +0 -4
- package/dist/Analytics-BKzTPees.mjs +61 -0
- package/dist/GlobalCopyApi-BeXzaDH9.mjs +487 -0
- package/dist/HeaderCell-EhCUSjvj.mjs +10 -0
- package/dist/Loader-BlVzRtUd.mjs +73 -0
- package/dist/MiniWidgetContainer-COwnjfy7.mjs +110 -0
- package/dist/OriginalBalanceAction-sbiqaxok.mjs +110 -0
- package/dist/SpendingLegend-D15ixlQ1.mjs +222 -0
- package/dist/accounts/index.es.js +12 -1598
- package/dist/accounts-DkyAiLpg.mjs +15632 -0
- package/dist/analytics/index.es.js +155 -139
- package/dist/budgets/index.es.js +1317 -1266
- package/dist/cashflow/index.es.js +1047 -942
- package/dist/categories/index.es.js +4 -4
- package/dist/common/index.es.js +101 -310
- package/dist/core/index.es.js +80 -104
- package/dist/core-BexP5oiV.mjs +4047 -0
- package/dist/dashboard/index.es.js +185 -141
- package/dist/debts/index.es.js +1384 -1272
- package/dist/finstrong/index.es.js +3366 -3471
- package/dist/goals/index.es.js +1103 -984
- package/dist/help/index.es.js +3 -25
- package/dist/help-CctDYrAH.mjs +2308 -0
- package/dist/insights/index.es.js +93 -4843
- package/dist/investments/index.es.js +1533 -1522
- package/dist/merchants/index.es.js +75 -64
- package/dist/microinsights/index.es.js +15 -824
- package/dist/microinsights-CRf3ChsJ.mjs +1814 -0
- package/dist/networth/index.es.js +550 -503
- package/dist/notifications/index.es.js +169 -161
- package/dist/recurringtransactions/index.es.js +10 -962
- package/dist/recurringtransactions-gbJ_NA8u.mjs +1564 -0
- package/dist/settings/index.es.js +13 -880
- package/dist/settings-ZMHe439l.mjs +1526 -0
- package/dist/spending/index.es.js +400 -456
- package/dist/transactions/index.es.js +10 -603
- package/dist/trends/index.es.js +1268 -1407
- package/package.json +28 -28
- package/dist/Account-BaJmiJAG.mjs +0 -118
- package/dist/Account-BxHMlV9R.mjs +0 -30
- package/dist/AccountDetailsHeader-DIysk_4w.mjs +0 -95
- package/dist/AccountDisplayName-CO7z3v99.mjs +0 -11
- package/dist/AccountFields-mwJ8NXsX.mjs +0 -141
- package/dist/AccountListItem-BDXHs4tV.mjs +0 -94
- package/dist/AccountUtils-T5_Odvos.mjs +0 -27
- package/dist/Accounts-CseLC3lL.mjs +0 -5
- package/dist/Analytics-CkYXKvco.mjs +0 -53
- package/dist/Analytics-CzGzz_sE.mjs +0 -136
- package/dist/ApiEndpoints-DXwIYNUV.mjs +0 -49
- package/dist/BudgetUtil-Bg2AQJpQ.mjs +0 -74
- package/dist/Category-DEKZGLYe.mjs +0 -301
- package/dist/CategorySelectorDrawer-8soGrhB8.mjs +0 -430
- package/dist/Connect-Dk6GZEsA.mjs +0 -39
- package/dist/ConnectCard-CCep7Zqe.mjs +0 -54
- package/dist/ConnectDrawer-Cnjr3Ddg.mjs +0 -58
- package/dist/ConnectionsDrawer-CtfPXk0M.mjs +0 -54
- package/dist/CurrencyDialog-DumQCTPO.mjs +0 -373
- package/dist/CurrencyInput-adTIRtL3.mjs +0 -87
- package/dist/CurrencyText-CCbE6MmF.mjs +0 -20
- package/dist/DateFormats-HudZ3Bjs.mjs +0 -64
- package/dist/DateUtil-Bhq59ZVg.mjs +0 -58
- package/dist/DebtUtils-DD3186U-.mjs +0 -153
- package/dist/Dialog-Bvd2n8hz.mjs +0 -66
- package/dist/Donut-SzzfZDHF.mjs +0 -88
- package/dist/Drawer-BXqqBMxg.mjs +0 -174
- package/dist/EmbeddedCard-DPwJjqMH.mjs +0 -856
- package/dist/EmptyState-CJUDc3kD.mjs +0 -84
- package/dist/Error-Dogaw2jO.mjs +0 -84
- package/dist/ErrorBoundary-CsdOcnJ9.mjs +0 -23
- package/dist/ExportCsvAction-Bw02ZJEj.mjs +0 -24
- package/dist/GlobalAccountFilter-7Cg2-9A5.mjs +0 -237
- package/dist/GlobalCopyApi-wcnDUzMV.mjs +0 -128
- package/dist/GoalsUtil-C9EnLWvC.mjs +0 -107
- package/dist/HeaderCell-P8w6CmfO.mjs +0 -6
- package/dist/Help-CkQTjORd.mjs +0 -299
- package/dist/Help-DJ8PrVHX.mjs +0 -3209
- package/dist/IconBacking-DgT8DCeh.mjs +0 -39
- package/dist/InformationTooltip-4su8bn1e.mjs +0 -41
- package/dist/InvestmentUtil-BItV7uEs.mjs +0 -134
- package/dist/LineChart-CejWS_rh.mjs +0 -612
- package/dist/ListItemAction-CzZ8s39Z.mjs +0 -69
- package/dist/ListItemRow-kH1rn8Xu.mjs +0 -67
- package/dist/ListItemWrapper-B5r-YQQ_.mjs +0 -42
- package/dist/Loader-CxeBwuPG.mjs +0 -21
- package/dist/Localization-DnoVyBNK.mjs +0 -38
- package/dist/ManageIncome-D1yBODQi.mjs +0 -595
- package/dist/MicroWidgetContainer-CfKdQfhi.mjs +0 -45
- package/dist/MiniWidgetContainer-BdPiUU-u.mjs +0 -66
- package/dist/NetWorthUtils-DilGN1nW.mjs +0 -95
- package/dist/Notification-DTNYSd8P.mjs +0 -7
- package/dist/NotificationSettings-B4JA5IKE.mjs +0 -677
- package/dist/NotificationUtils-BRGFTePr.mjs +0 -23
- package/dist/NumberFormatting--XMeeBfr.mjs +0 -49
- package/dist/OriginalBalanceAction-BybTXDtO.mjs +0 -114
- package/dist/RecurringSettings-D2xbNb67.mjs +0 -88
- package/dist/RecurringTransactionsUtil-B3rLEx_g.mjs +0 -253
- package/dist/ResponsiveButton-CC9F_Ezk.mjs +0 -45
- package/dist/SearchBox-Cpgu_gdO.mjs +0 -50
- package/dist/Select-BFt-HD-L.mjs +0 -55
- package/dist/SelectionBox-B4xELRgp.mjs +0 -48
- package/dist/SingleSegmentDonut-7Uy6VEld.mjs +0 -69
- package/dist/Sizes-DISGrlUg.mjs +0 -6
- package/dist/SkeletonLoader-BaNboJjD.mjs +0 -38
- package/dist/SpendingData-Fii_xATx.mjs +0 -53
- package/dist/SpendingLegend-5Ct_FZ8o.mjs +0 -193
- package/dist/StatusBar-CPfSXe80.mjs +0 -30
- package/dist/TabContentContainer-CnMXkVqr.mjs +0 -21
- package/dist/ToggleListItem-Dl1lXNwj.mjs +0 -91
- package/dist/TransactionDetails-DctXr07p.mjs +0 -1714
- package/dist/TransactionUtils-BphBJBbU.mjs +0 -234
- package/dist/TrendsUtil-D9z3kIj_.mjs +0 -69
- package/dist/UserStore-CRpKQjpP.mjs +0 -3002
- package/dist/ViewMoreMicroCard-BD_MNc2z.mjs +0 -1295
- package/dist/WidgetContainer-CmbU4CBH.mjs +0 -482
- package/dist/hooks-BaO_gOI6.mjs +0 -77
- package/dist/useAccountDisplayName-CFa_MrS6.mjs +0 -15
- package/dist/useAriaLive-MkYebyUR.mjs +0 -35
- package/dist/useDimensions-CeDR9V8N.mjs +0 -36
- package/dist/useInsightsEnabled-DaNLPmUU.mjs +0 -11
- package/dist/useScreenSize-mWpmnh5w.mjs +0 -36
- package/dist/useWidgetLoadTimer-CJb-RELP.mjs +0 -19
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import c from "@mui/material/Box";
|
|
3
|
-
import n from "@mui/material/FormControlLabel";
|
|
4
|
-
import s from "@mui/material/Radio";
|
|
5
|
-
import { useTheme as d } from "@mui/material/styles";
|
|
6
|
-
import b from "@mui/material/Tooltip";
|
|
7
|
-
const C = ({
|
|
8
|
-
checked: r = !1,
|
|
9
|
-
label: t,
|
|
10
|
-
sx: l = {},
|
|
11
|
-
tooltip: i = "",
|
|
12
|
-
value: a
|
|
13
|
-
}) => {
|
|
14
|
-
const o = d(), p = o.palette.mode === "light" ? o.palette.grey[400] : o.palette.grey[700], m = r ? o.palette.action.active : p;
|
|
15
|
-
return /* @__PURE__ */ e(
|
|
16
|
-
c,
|
|
17
|
-
{
|
|
18
|
-
bgcolor: "background.paper",
|
|
19
|
-
border: `${r ? 3 : 1}px solid`,
|
|
20
|
-
borderColor: m,
|
|
21
|
-
borderRadius: 2,
|
|
22
|
-
mt: -2,
|
|
23
|
-
mx: 8,
|
|
24
|
-
pr: 8,
|
|
25
|
-
py: 4,
|
|
26
|
-
sx: { "&:hover": { borderColor: o.palette.action.active }, ...l },
|
|
27
|
-
children: /* @__PURE__ */ e(b, { title: i, children: /* @__PURE__ */ e(
|
|
28
|
-
n,
|
|
29
|
-
{
|
|
30
|
-
control: /* @__PURE__ */ e(
|
|
31
|
-
s,
|
|
32
|
-
{
|
|
33
|
-
disableRipple: !0,
|
|
34
|
-
sx: { "&.Mui-checked": { color: o.palette.action.active } }
|
|
35
|
-
}
|
|
36
|
-
),
|
|
37
|
-
label: t,
|
|
38
|
-
labelPlacement: "start",
|
|
39
|
-
sx: { ml: 0, pl: 8 },
|
|
40
|
-
value: a
|
|
41
|
-
}
|
|
42
|
-
) })
|
|
43
|
-
}
|
|
44
|
-
);
|
|
45
|
-
};
|
|
46
|
-
export {
|
|
47
|
-
C as S
|
|
48
|
-
};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { jsxs as a, jsx as o } from "react/jsx-runtime";
|
|
2
|
-
import l from "@mui/material/Box";
|
|
3
|
-
import { useTheme as D } from "@mui/material/styles";
|
|
4
|
-
const p = 48, d = 4, y = ({
|
|
5
|
-
color: m = "",
|
|
6
|
-
percent: r = 0,
|
|
7
|
-
size: t = p,
|
|
8
|
-
strokeWidth: s = d,
|
|
9
|
-
children: i,
|
|
10
|
-
backgroundStrokeColor: c
|
|
11
|
-
}) => {
|
|
12
|
-
const h = D(), n = (t - s) / 2, f = -90, g = r > 100 ? 100 : r, x = 2 * Math.PI * n * (1 - g / 100), e = t / 2;
|
|
13
|
-
return /* @__PURE__ */ a(
|
|
14
|
-
l,
|
|
15
|
-
{
|
|
16
|
-
className: "mx-cmn-single-segment-donut",
|
|
17
|
-
height: t,
|
|
18
|
-
mt: -8,
|
|
19
|
-
position: "relative",
|
|
20
|
-
width: t,
|
|
21
|
-
children: [
|
|
22
|
-
/* @__PURE__ */ a("svg", { height: t, width: t, children: [
|
|
23
|
-
/* @__PURE__ */ o(
|
|
24
|
-
"circle",
|
|
25
|
-
{
|
|
26
|
-
cx: e,
|
|
27
|
-
cy: e,
|
|
28
|
-
fill: "none",
|
|
29
|
-
r: n,
|
|
30
|
-
stroke: c || h.palette.grey[300],
|
|
31
|
-
strokeWidth: s
|
|
32
|
-
}
|
|
33
|
-
),
|
|
34
|
-
/* @__PURE__ */ o(
|
|
35
|
-
"circle",
|
|
36
|
-
{
|
|
37
|
-
cx: e,
|
|
38
|
-
cy: e,
|
|
39
|
-
fill: "none",
|
|
40
|
-
r: n,
|
|
41
|
-
stroke: m,
|
|
42
|
-
strokeDasharray: 2 * Math.PI * n,
|
|
43
|
-
strokeDashoffset: x,
|
|
44
|
-
strokeWidth: s,
|
|
45
|
-
transform: `rotate(${f}, ${e}, ${e})`
|
|
46
|
-
}
|
|
47
|
-
)
|
|
48
|
-
] }),
|
|
49
|
-
/* @__PURE__ */ o(
|
|
50
|
-
l,
|
|
51
|
-
{
|
|
52
|
-
className: "mx-cmn-single-segment-donut-children",
|
|
53
|
-
left: "50%",
|
|
54
|
-
position: "absolute",
|
|
55
|
-
sx: { transform: "translate(-50%, -50%)" },
|
|
56
|
-
textAlign: "center",
|
|
57
|
-
top: "50%",
|
|
58
|
-
children: i
|
|
59
|
-
}
|
|
60
|
-
)
|
|
61
|
-
]
|
|
62
|
-
}
|
|
63
|
-
);
|
|
64
|
-
};
|
|
65
|
-
export {
|
|
66
|
-
p as D,
|
|
67
|
-
y as S,
|
|
68
|
-
d as a
|
|
69
|
-
};
|
package/dist/Sizes-DISGrlUg.mjs
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { jsxs as d, jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import t from "@mui/material/Stack";
|
|
3
|
-
import i from "@mui/material/Skeleton";
|
|
4
|
-
const g = ({ sx: e = {}, variant: h = "list" }) => /* @__PURE__ */ d(t, { sx: [...Array.isArray(e) ? e : [e]], children: [
|
|
5
|
-
h === "list" && /* @__PURE__ */ d(t, { gap: 24, children: [
|
|
6
|
-
/* @__PURE__ */ r(i, { height: 25, variant: "rounded", width: 150 }),
|
|
7
|
-
/* @__PURE__ */ r(i, { height: 50, variant: "rounded" }),
|
|
8
|
-
/* @__PURE__ */ r(i, { height: 50, variant: "rounded" }),
|
|
9
|
-
/* @__PURE__ */ r(i, { height: 50, variant: "rounded" })
|
|
10
|
-
] }),
|
|
11
|
-
h === "card" && /* @__PURE__ */ d(t, { gap: 24, children: [
|
|
12
|
-
/* @__PURE__ */ r(i, { height: 50, variant: "rounded" }),
|
|
13
|
-
/* @__PURE__ */ d(t, { direction: "row", gap: 24, children: [
|
|
14
|
-
/* @__PURE__ */ r(i, { height: 300, variant: "rounded", width: "20%" }),
|
|
15
|
-
/* @__PURE__ */ r(i, { height: 300, variant: "rounded", width: "80%" })
|
|
16
|
-
] })
|
|
17
|
-
] }),
|
|
18
|
-
h === "dashboard" && /* @__PURE__ */ d(t, { gap: 24, children: [
|
|
19
|
-
/* @__PURE__ */ r(i, { height: 75, variant: "rounded" }),
|
|
20
|
-
/* @__PURE__ */ d(t, { gap: 24, children: [
|
|
21
|
-
/* @__PURE__ */ d(t, { direction: "row", gap: 24, children: [
|
|
22
|
-
/* @__PURE__ */ r(i, { height: 250, variant: "rounded", width: "75%" }),
|
|
23
|
-
/* @__PURE__ */ r(i, { height: 250, variant: "rounded", width: "25%" })
|
|
24
|
-
] }),
|
|
25
|
-
/* @__PURE__ */ d(t, { direction: "row", gap: 24, children: [
|
|
26
|
-
/* @__PURE__ */ r(i, { height: 250, variant: "rounded", width: "75%" }),
|
|
27
|
-
/* @__PURE__ */ r(i, { height: 250, variant: "rounded", width: "25%" })
|
|
28
|
-
] }),
|
|
29
|
-
/* @__PURE__ */ d(t, { direction: "row", gap: 24, children: [
|
|
30
|
-
/* @__PURE__ */ r(i, { height: 250, variant: "rounded", width: "75%" }),
|
|
31
|
-
/* @__PURE__ */ r(i, { height: 250, variant: "rounded", width: "25%" })
|
|
32
|
-
] })
|
|
33
|
-
] })
|
|
34
|
-
] })
|
|
35
|
-
] });
|
|
36
|
-
export {
|
|
37
|
-
g as S
|
|
38
|
-
};
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { addMonths as u } from "date-fns/addMonths";
|
|
2
|
-
import { isBefore as d } from "date-fns/isBefore";
|
|
3
|
-
import { startOfMonth as _ } from "date-fns/startOfMonth";
|
|
4
|
-
import { subMonths as y } from "date-fns/subMonths";
|
|
5
|
-
import { endOfMonth as h } from "date-fns/endOfMonth";
|
|
6
|
-
import { C as a, P as l } from "./Category-DEKZGLYe.mjs";
|
|
7
|
-
import { f as m, D as T } from "./DateFormats-HudZ3Bjs.mjs";
|
|
8
|
-
const i = (t) => (t.top_level_category_guid === a.INCOME || t.category_guid === a.INCOME) && !f(t), C = (t) => !i(t) && !p(t), M = (t) => l.includes(t.top_level_category_guid) || l.includes(t.category_guid), p = (t) => t.top_level_category_guid === a.TRANSFER || t.category_guid === a.TRANSFER, f = (t) => t.top_level_category_guid === a.INVESTMENTS || t.category_guid === a.INVESTMENTS, N = (t) => !i(t) && !p(t) && !f(t), w = (t) => t.filter((r) => r.category_guid === r.top_level_category_guid), F = (t, r) => {
|
|
9
|
-
if (r === 0) return 0;
|
|
10
|
-
const o = (t - r) / r;
|
|
11
|
-
return isNaN(o) ? 0 : o;
|
|
12
|
-
}, g = (t, r) => {
|
|
13
|
-
const o = [];
|
|
14
|
-
let e = _(r?.start ?? y(/* @__PURE__ */ new Date(), 5));
|
|
15
|
-
const s = r?.end ?? /* @__PURE__ */ new Date();
|
|
16
|
-
for (; d(e, s); )
|
|
17
|
-
o.push({
|
|
18
|
-
x: m(e, T.MONTH_SHORT),
|
|
19
|
-
y: t.filter((n) => n.year === e.getFullYear() && n.month === e.getMonth() + 1).reduce((n, c) => n + c.total, 0)
|
|
20
|
-
}), e = u(e, 1);
|
|
21
|
-
return o;
|
|
22
|
-
}, A = (t, r) => {
|
|
23
|
-
const o = t.filter(i);
|
|
24
|
-
return g(o, r).map((e) => ({ ...e, y: Math.abs(e.y) }));
|
|
25
|
-
}, b = (t, r) => {
|
|
26
|
-
const o = t.filter(M);
|
|
27
|
-
return g(o, r).map((e) => ({ ...e, y: Math.abs(e.y) }));
|
|
28
|
-
}, x = (t, r) => {
|
|
29
|
-
const o = t.filter(N);
|
|
30
|
-
return g(o, r);
|
|
31
|
-
}, H = (t) => {
|
|
32
|
-
const r = [], o = t.filter(
|
|
33
|
-
(n) => n.top_level_category_guid !== a.INCOME && n.top_level_category_guid !== a.TRANSFER && n.total > 0
|
|
34
|
-
);
|
|
35
|
-
let e = _(y(/* @__PURE__ */ new Date(), 5));
|
|
36
|
-
const s = h(/* @__PURE__ */ new Date());
|
|
37
|
-
for (; d(e, s); )
|
|
38
|
-
r.push({
|
|
39
|
-
x: m(e, T.MONTH_SHORT),
|
|
40
|
-
y: o.filter((n) => n.year === e.getFullYear() && n.month === e.getMonth() + 1).reduce((n, c) => n + c.total, 0)
|
|
41
|
-
}), e = u(e, 1);
|
|
42
|
-
return r;
|
|
43
|
-
};
|
|
44
|
-
export {
|
|
45
|
-
b as a,
|
|
46
|
-
x as b,
|
|
47
|
-
w as c,
|
|
48
|
-
C as d,
|
|
49
|
-
H as e,
|
|
50
|
-
F as f,
|
|
51
|
-
A as g,
|
|
52
|
-
i
|
|
53
|
-
};
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
import { g as _ } from "./TransactionUtils-BphBJBbU.mjs";
|
|
2
|
-
import { C as p } from "./Category-DEKZGLYe.mjs";
|
|
3
|
-
import { jsxs as f, Fragment as N, jsx as d } from "react/jsx-runtime";
|
|
4
|
-
import T from "react";
|
|
5
|
-
import { observer as k } from "mobx-react-lite";
|
|
6
|
-
import S from "@mui/material/Box";
|
|
7
|
-
import A from "@mui/material/Button";
|
|
8
|
-
import h from "@mui/material/Stack";
|
|
9
|
-
import { useTheme as M } from "@mui/material/styles";
|
|
10
|
-
import { CategoryIcon as G, CategoryIconVariants as O, Text as y, P as $ } from "@mxenabled/mxui";
|
|
11
|
-
import { f as b } from "./NumberFormatting--XMeeBfr.mjs";
|
|
12
|
-
import { D as j } from "./Donut-SzzfZDHF.mjs";
|
|
13
|
-
import { u as R } from "./useAriaLive-MkYebyUR.mjs";
|
|
14
|
-
import { u as v } from "./hooks-BaO_gOI6.mjs";
|
|
15
|
-
import { u as V } from "./useScreenSize-mWpmnh5w.mjs";
|
|
16
|
-
const D = 5, B = (i, l, s, m) => m.reduce((o, n) => {
|
|
17
|
-
const r = i.find((u) => u.guid === n.category_guid);
|
|
18
|
-
if (!r) return o;
|
|
19
|
-
const t = r.parent_guid ?? r.guid, a = i.find((u) => u.guid === t);
|
|
20
|
-
if (!a || n.total <= 0) return o;
|
|
21
|
-
const c = {
|
|
22
|
-
guid: r.guid,
|
|
23
|
-
name: r.guid === t ? `${l.parent_category_totals_label_general} ${r.name}` : r.name,
|
|
24
|
-
color: _(a.guid, s),
|
|
25
|
-
amount: n.total
|
|
26
|
-
}, e = o.find((u) => u.guid === t);
|
|
27
|
-
return e ? (e.amount += n.total, e.categoryTotals?.push(c)) : o.push({
|
|
28
|
-
guid: t,
|
|
29
|
-
name: a.name,
|
|
30
|
-
color: _(a.guid, s),
|
|
31
|
-
categoryTotals: [c],
|
|
32
|
-
amount: n.total
|
|
33
|
-
}), o;
|
|
34
|
-
}, []), nt = (i, l, s, m) => {
|
|
35
|
-
const n = B(i, l, s, m).filter(
|
|
36
|
-
(e) => e.guid !== p.INCOME && e.guid !== p.INVESTMENTS && e.guid !== p.TRANSFER && e.amount > 0
|
|
37
|
-
).sort((e, u) => u.amount - e.amount), r = n.reduce(
|
|
38
|
-
(e, u) => e + u.amount,
|
|
39
|
-
0
|
|
40
|
-
), t = n.length > D ? D : n.length, a = n.slice(0, t), c = a.map((e) => ({
|
|
41
|
-
id: e.guid,
|
|
42
|
-
color: _(e.guid, s),
|
|
43
|
-
label: e.name,
|
|
44
|
-
value: e.amount / r * 100
|
|
45
|
-
}));
|
|
46
|
-
if (n.length > 5) {
|
|
47
|
-
const e = n.slice(D), u = e.reduce(
|
|
48
|
-
(C, g) => C + g.amount,
|
|
49
|
-
0
|
|
50
|
-
);
|
|
51
|
-
a.push({
|
|
52
|
-
guid: "other",
|
|
53
|
-
color: s.palette.categories.others || "",
|
|
54
|
-
name: l.saving_goal_other,
|
|
55
|
-
categoryTotals: e,
|
|
56
|
-
amount: u
|
|
57
|
-
}), c.push({
|
|
58
|
-
id: "other",
|
|
59
|
-
color: s.palette.categories.others || "",
|
|
60
|
-
label: l.saving_goal_other,
|
|
61
|
-
value: u / r * 100
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
return {
|
|
65
|
-
categoryData: a,
|
|
66
|
-
donutData: c,
|
|
67
|
-
totalAmount: r
|
|
68
|
-
};
|
|
69
|
-
}, et = (i, l, s) => {
|
|
70
|
-
const m = i.filter(
|
|
71
|
-
(t) => t.guid === p.INCOME || t.parent_guid === p.INCOME
|
|
72
|
-
), o = l.filter((t) => m.some((a) => a.guid === t.category_guid)).sort((t, a) => t.total - a.total).map((t, a) => ({
|
|
73
|
-
guid: t.category_guid,
|
|
74
|
-
name: i.find((c) => c.guid === t.category_guid)?.name,
|
|
75
|
-
color: s[a % s.length],
|
|
76
|
-
categoryTotals: [],
|
|
77
|
-
amount: Math.abs(t.total)
|
|
78
|
-
})), n = o.reduce(
|
|
79
|
-
(t, a) => t + a.amount,
|
|
80
|
-
0
|
|
81
|
-
), r = o.map((t) => ({
|
|
82
|
-
id: t.guid,
|
|
83
|
-
color: t.color,
|
|
84
|
-
label: t.name,
|
|
85
|
-
value: t.amount / n * 100
|
|
86
|
-
}));
|
|
87
|
-
return {
|
|
88
|
-
categoryData: o,
|
|
89
|
-
donutData: r,
|
|
90
|
-
totalAmount: n
|
|
91
|
-
};
|
|
92
|
-
}, P = ({
|
|
93
|
-
data: i,
|
|
94
|
-
isIncome: l = !1,
|
|
95
|
-
onSelected: s,
|
|
96
|
-
onViewTransactions: m,
|
|
97
|
-
selectedId: o,
|
|
98
|
-
size: n = 150,
|
|
99
|
-
totalLabel: r,
|
|
100
|
-
variant: t = "mini"
|
|
101
|
-
}) => {
|
|
102
|
-
const { spending: a } = v(), c = M(), { isTablet: e } = V(), { announce: u, ariaLive: C } = R(), g = T.useMemo(
|
|
103
|
-
() => o ? i.categoryData.find((x) => x.guid === o) : void 0,
|
|
104
|
-
[o]
|
|
105
|
-
);
|
|
106
|
-
T.useEffect(() => {
|
|
107
|
-
if (g) {
|
|
108
|
-
const x = b(g.amount, t === "mini" ? "0,0" : "0,0.00");
|
|
109
|
-
u(`${g.name}: ${x}`);
|
|
110
|
-
}
|
|
111
|
-
}, [g, u, t]);
|
|
112
|
-
const E = i.donutData.length > 0 ? i.donutData : [{ id: "0", color: c.palette.divider, value: 100 }], I = () => {
|
|
113
|
-
m?.(o);
|
|
114
|
-
}, w = e ? 32 : 48;
|
|
115
|
-
return /* @__PURE__ */ f(N, { children: [
|
|
116
|
-
C,
|
|
117
|
-
/* @__PURE__ */ d(j, { data: E, onClick: s, selectedId: o, size: n, children: /* @__PURE__ */ d(h, { alignItems: "center", height: "100%", justifyContent: "center", width: "100%", children: /* @__PURE__ */ f(h, { alignItems: "center", justifyContent: "center", minHeight: n, minWidth: n, children: [
|
|
118
|
-
g && /* @__PURE__ */ f(
|
|
119
|
-
h,
|
|
120
|
-
{
|
|
121
|
-
alignItems: "center",
|
|
122
|
-
gap: t === "mini" ? 0 : 8,
|
|
123
|
-
mb: t === "mini" ? 0 : 8,
|
|
124
|
-
mt: t === "mini" ? 0 : -16,
|
|
125
|
-
sx: t === "mini" ? { gap: 0, mb: 0 } : { gap: { xs: 4, xl: 8 }, mb: { xs: 4, xl: 8 } },
|
|
126
|
-
children: [
|
|
127
|
-
/* @__PURE__ */ d(S, { "aria-hidden": "true", role: "presentation", children: /* @__PURE__ */ d(
|
|
128
|
-
G,
|
|
129
|
-
{
|
|
130
|
-
categoryGuid: l ? p.INCOME : g.guid,
|
|
131
|
-
size: t === "mini" ? 24 : w,
|
|
132
|
-
variant: O.Transparent
|
|
133
|
-
}
|
|
134
|
-
) }),
|
|
135
|
-
/* @__PURE__ */ d(
|
|
136
|
-
y,
|
|
137
|
-
{
|
|
138
|
-
color: "text.secondary",
|
|
139
|
-
noWrap: !0,
|
|
140
|
-
variant: t === "mini" ? "tiny" : "body1",
|
|
141
|
-
children: g ? g.name : r
|
|
142
|
-
}
|
|
143
|
-
)
|
|
144
|
-
]
|
|
145
|
-
}
|
|
146
|
-
),
|
|
147
|
-
!g && t === "full" && /* @__PURE__ */ d(y, { bold: !0, color: "text.secondary", sx: { mb: { xs: 4, xl: 8 } }, children: r }),
|
|
148
|
-
/* @__PURE__ */ d($, { variant: t === "mini" ? "h2" : "h1", children: g ? b(g.amount, t === "mini" ? "0,0" : "0,0.00") : b(i.totalAmount, t === "mini" ? "0,0" : "0,0.00") }),
|
|
149
|
-
!g && t === "mini" && /* @__PURE__ */ d(y, { color: "text.secondary", noWrap: !0, variant: "tiny", children: r }),
|
|
150
|
-
t === "full" && /* @__PURE__ */ d(
|
|
151
|
-
A,
|
|
152
|
-
{
|
|
153
|
-
"aria-label": `View ${g?.name || ""} Transactions`,
|
|
154
|
-
disabled: i.categoryData.length === 0,
|
|
155
|
-
onClick: I,
|
|
156
|
-
sx: { mt: { xl: 4, xs: 0 }, zIndex: 1 },
|
|
157
|
-
variant: "text",
|
|
158
|
-
children: a.view_transactions
|
|
159
|
-
}
|
|
160
|
-
)
|
|
161
|
-
] }) }) })
|
|
162
|
-
] });
|
|
163
|
-
}, at = k(P), rt = ({ data: i, onSelected: l, selectedId: s }) => {
|
|
164
|
-
const m = (o, n) => {
|
|
165
|
-
(o.key === "Enter" || o.key === " ") && (o.preventDefault(), l(n));
|
|
166
|
-
};
|
|
167
|
-
return /* @__PURE__ */ d(h, { gap: 8, height: "100%", justifyContent: "center", my: "auto", children: i.categoryData.map((o) => /* @__PURE__ */ f(
|
|
168
|
-
h,
|
|
169
|
-
{
|
|
170
|
-
alignItems: "center",
|
|
171
|
-
"aria-label": o.name,
|
|
172
|
-
"aria-pressed": o.guid === s,
|
|
173
|
-
direction: "row",
|
|
174
|
-
gap: 8,
|
|
175
|
-
onClick: () => l(o.guid),
|
|
176
|
-
onKeyDown: (n) => m(n, o.guid),
|
|
177
|
-
role: "button",
|
|
178
|
-
sx: { cursor: "pointer", touchAction: "manipulation" },
|
|
179
|
-
tabIndex: 0,
|
|
180
|
-
children: [
|
|
181
|
-
/* @__PURE__ */ d(S, { borderRadius: 4, height: 8, sx: { backgroundColor: o.color }, width: 8 }),
|
|
182
|
-
/* @__PURE__ */ d(y, { bold: o.guid === s, variant: "caption", children: o.name })
|
|
183
|
-
]
|
|
184
|
-
},
|
|
185
|
-
o.guid
|
|
186
|
-
)) });
|
|
187
|
-
};
|
|
188
|
-
export {
|
|
189
|
-
at as S,
|
|
190
|
-
et as a,
|
|
191
|
-
rt as b,
|
|
192
|
-
nt as g
|
|
193
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { jsx as c } from "react/jsx-runtime";
|
|
2
|
-
import i from "@mui/material/Box";
|
|
3
|
-
import p from "@mui/material/Stack";
|
|
4
|
-
const s = ({ data: a, height: r = 8 }) => {
|
|
5
|
-
const o = `${r / 4}px`;
|
|
6
|
-
return /* @__PURE__ */ c(
|
|
7
|
-
p,
|
|
8
|
-
{
|
|
9
|
-
bgcolor: "divider",
|
|
10
|
-
borderRadius: o,
|
|
11
|
-
direction: "row",
|
|
12
|
-
gap: 2,
|
|
13
|
-
height: r,
|
|
14
|
-
width: "100%",
|
|
15
|
-
children: a.map((t, d) => /* @__PURE__ */ c(
|
|
16
|
-
i,
|
|
17
|
-
{
|
|
18
|
-
bgcolor: t.color,
|
|
19
|
-
borderRadius: o,
|
|
20
|
-
height: r,
|
|
21
|
-
width: t.percentage
|
|
22
|
-
},
|
|
23
|
-
d
|
|
24
|
-
))
|
|
25
|
-
}
|
|
26
|
-
);
|
|
27
|
-
};
|
|
28
|
-
export {
|
|
29
|
-
s as S
|
|
30
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
const n = ({
|
|
3
|
-
children: o,
|
|
4
|
-
index: t,
|
|
5
|
-
name: a,
|
|
6
|
-
value: r,
|
|
7
|
-
...b
|
|
8
|
-
}) => /* @__PURE__ */ e(
|
|
9
|
-
"div",
|
|
10
|
-
{
|
|
11
|
-
"aria-labelledby": `${a}-tab-${t}`,
|
|
12
|
-
hidden: r !== t,
|
|
13
|
-
id: `${a}-tabpanel-${t}`,
|
|
14
|
-
role: "tabpanel",
|
|
15
|
-
...b,
|
|
16
|
-
children: r === t && o
|
|
17
|
-
}
|
|
18
|
-
);
|
|
19
|
-
export {
|
|
20
|
-
n as T
|
|
21
|
-
};
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { jsx as t, jsxs as m } from "react/jsx-runtime";
|
|
2
|
-
import l from "@mui/material/ListItem";
|
|
3
|
-
import f from "@mui/material/ListItemButton";
|
|
4
|
-
import g from "@mui/material/ListItemIcon";
|
|
5
|
-
import d from "@mui/material/ListItemText";
|
|
6
|
-
import a from "@mui/material/Stack";
|
|
7
|
-
import p from "@mui/material/Switch";
|
|
8
|
-
import { Text as s } from "@mxenabled/mxui";
|
|
9
|
-
import I from "@mui/material/ListItemAvatar";
|
|
10
|
-
const S = ({
|
|
11
|
-
avatar: r,
|
|
12
|
-
endIcon: o,
|
|
13
|
-
isChecked: c,
|
|
14
|
-
isDisabled: i = !1,
|
|
15
|
-
isPrimaryTextBold: n = !1,
|
|
16
|
-
onClick: e,
|
|
17
|
-
onToggle: h,
|
|
18
|
-
primaryText: x,
|
|
19
|
-
secondaryText: y
|
|
20
|
-
}) => (
|
|
21
|
-
//TODO: implement common/components/ListItemRow.tsx
|
|
22
|
-
/* @__PURE__ */ t(
|
|
23
|
-
l,
|
|
24
|
-
{
|
|
25
|
-
secondaryAction: /* @__PURE__ */ t(p, { checked: c, onChange: h }),
|
|
26
|
-
sx: {
|
|
27
|
-
"& .MuiListItemSecondaryAction-root": { right: o ? 64 : 24 },
|
|
28
|
-
"& .MuiListItemButton-root": { pr: 24 }
|
|
29
|
-
},
|
|
30
|
-
children: /* @__PURE__ */ m(f, { onClick: i ? void 0 : () => e(), children: [
|
|
31
|
-
r && /* @__PURE__ */ t(I, { children: r }),
|
|
32
|
-
/* @__PURE__ */ t(d, { slotProps: { primary: { fontWeight: 400 } }, children: /* @__PURE__ */ t(a, { alignItems: "center", direction: "row", justifyContent: "space-between", children: /* @__PURE__ */ m(a, { sx: { width: "100%" }, children: [
|
|
33
|
-
/* @__PURE__ */ t(
|
|
34
|
-
s,
|
|
35
|
-
{
|
|
36
|
-
bold: n,
|
|
37
|
-
color: "text.primary",
|
|
38
|
-
sx: {
|
|
39
|
-
mr: 80
|
|
40
|
-
},
|
|
41
|
-
variant: "body1",
|
|
42
|
-
children: x
|
|
43
|
-
}
|
|
44
|
-
),
|
|
45
|
-
/* @__PURE__ */ t(s, { color: "text.secondary", variant: "caption", children: y })
|
|
46
|
-
] }) }) }),
|
|
47
|
-
!i && o && /* @__PURE__ */ t(g, { children: o })
|
|
48
|
-
] })
|
|
49
|
-
}
|
|
50
|
-
)
|
|
51
|
-
), W = ({
|
|
52
|
-
isChecked: r,
|
|
53
|
-
isDisabled: o = !1,
|
|
54
|
-
onToggle: c,
|
|
55
|
-
primaryText: i,
|
|
56
|
-
secondaryText: n = void 0,
|
|
57
|
-
useExtraPadding: e = !0
|
|
58
|
-
}) => /* @__PURE__ */ t(
|
|
59
|
-
l,
|
|
60
|
-
{
|
|
61
|
-
secondaryAction: /* @__PURE__ */ t(p, { checked: r, disabled: o, onChange: c }),
|
|
62
|
-
sx: {
|
|
63
|
-
pl: e ? 48 : 0,
|
|
64
|
-
"& .MuiListItemSecondaryAction-root": { right: e ? 64 : 24 }
|
|
65
|
-
},
|
|
66
|
-
children: /* @__PURE__ */ t(
|
|
67
|
-
d,
|
|
68
|
-
{
|
|
69
|
-
primary: i,
|
|
70
|
-
secondary: n,
|
|
71
|
-
slotProps: {
|
|
72
|
-
primary: {
|
|
73
|
-
fontWeight: 400,
|
|
74
|
-
variant: "body1",
|
|
75
|
-
maxWidth: "calc(100% - 60px)",
|
|
76
|
-
color: "text.primary"
|
|
77
|
-
},
|
|
78
|
-
secondary: {
|
|
79
|
-
color: "text.secondary",
|
|
80
|
-
maxWidth: "calc(100% - 60px)",
|
|
81
|
-
variant: "caption"
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
)
|
|
86
|
-
}
|
|
87
|
-
);
|
|
88
|
-
export {
|
|
89
|
-
S as T,
|
|
90
|
-
W as a
|
|
91
|
-
};
|