@mx-cartographer/experiences 7.0.23-alpha.al8 → 7.0.23
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 +1 -1
- package/dist/{AccountStore-DRJfrlJa.mjs → AccountStore-BaMynkQT.mjs} +17 -17
- package/dist/{ExportCsvAction-CbMfQ2Wa.mjs → ExportCsvAction-CbdFfDV5.mjs} +1 -1
- package/dist/{TransactionStore-0tLtBEIC.mjs → TransactionStore-Cep_Eeql.mjs} +1 -1
- package/dist/accounts/index.es.js +1 -1
- package/dist/budgets/index.es.js +1 -1
- package/dist/common/index.es.js +3 -3
- package/dist/exportTransactionsToCSV-B5qAKd6C.mjs +47 -0
- package/dist/goals/index.es.js +494 -493
- package/dist/transactions/index.es.js +4 -4
- package/dist/trends/index.es.js +99 -96
- package/package.json +1 -1
- package/dist/exportTransactionsToCSV-BDlt8u0n.mjs +0 -47
package/dist/goals/index.es.js
CHANGED
|
@@ -1,156 +1,156 @@
|
|
|
1
|
-
import { g as
|
|
2
|
-
import { c as
|
|
1
|
+
import { g as ye, T as d, a as We, M as q, C as Ae, b as Ve, G as he } from "../GoalStore-eSOkI6uE.mjs";
|
|
2
|
+
import { c as Un, d as Yn } from "../GoalStore-eSOkI6uE.mjs";
|
|
3
3
|
import { jsxs as i, jsx as e, Fragment as U } from "react/jsx-runtime";
|
|
4
4
|
import y from "react";
|
|
5
5
|
import { observer as D } from "mobx-react-lite";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import Pe from "@mui/material/Alert";
|
|
7
|
+
import je from "@mui/material/Snackbar";
|
|
8
8
|
import g from "@mui/material/Stack";
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import { Text as A, H2 as
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import { Payments as
|
|
20
|
-
import { u as T, j as E, c as
|
|
21
|
-
import { u as
|
|
9
|
+
import ce from "@mui/material/Tab";
|
|
10
|
+
import Fe from "@mui/material/Tabs";
|
|
11
|
+
import { Text as A, H2 as ue, P as V, H3 as ze, Icon as He, InstitutionLogo as oe } from "@mxenabled/mxui";
|
|
12
|
+
import _e from "@mui/material/Button";
|
|
13
|
+
import Te from "@mui/material/Card";
|
|
14
|
+
import Ce from "@mui/material/CardActionArea";
|
|
15
|
+
import Se from "@mui/material/CardContent";
|
|
16
|
+
import be from "@mui/material/Unstable_Grid2";
|
|
17
|
+
import ae from "@mui/material/Avatar";
|
|
18
|
+
import Xe from "@mui/material/CardHeader";
|
|
19
|
+
import { Payments as Re, NoteStack as ve, Person as xe, ChevronRight as M, DragHandle as $e, CheckCircle as Ue, Icon as ge, ExpandLess as Ye, ExpandMore as Ze, AddBox as Ee, Trophy as qe } from "@mxenabled/mx-icons";
|
|
20
|
+
import { u as T, j as E, c as j, o as Ie, e as Ge, m as Je, a as Ne } from "../hooks-DkUqN6JE.mjs";
|
|
21
|
+
import { u as pe } from "../useScreenSize-B6JyS_Lj.mjs";
|
|
22
22
|
import { f as x } from "../NumberFormatting-CtWHhyBX.mjs";
|
|
23
|
-
import { S as
|
|
24
|
-
import
|
|
23
|
+
import { S as Qe } from "../StatusBar-BK_uYHAB.mjs";
|
|
24
|
+
import v from "@mui/material/Divider";
|
|
25
25
|
import B from "@mui/material/List";
|
|
26
|
-
import { L as
|
|
27
|
-
import { C as
|
|
28
|
-
import { fromUnixTime as
|
|
26
|
+
import { L as Q } from "../ListItemAction-DNZZ5fSa.mjs";
|
|
27
|
+
import { C as ke } from "../CurrencyInput-bEx2Mbd0.mjs";
|
|
28
|
+
import { fromUnixTime as J } from "date-fns/fromUnixTime";
|
|
29
29
|
import N from "@mui/material/ListItem";
|
|
30
30
|
import k from "@mui/material/ListItemButton";
|
|
31
31
|
import w from "@mui/material/ListItemText";
|
|
32
|
-
import { DataGridPro as
|
|
33
|
-
import { D as
|
|
34
|
-
import { b as
|
|
35
|
-
import { f as
|
|
36
|
-
import
|
|
37
|
-
import
|
|
38
|
-
import
|
|
39
|
-
import
|
|
40
|
-
import { A as
|
|
41
|
-
import { u as
|
|
42
|
-
import { A as
|
|
43
|
-
import
|
|
44
|
-
import { M as
|
|
45
|
-
import { getUnixTime as
|
|
46
|
-
import { isValid as
|
|
47
|
-
import { AdapterDateFns as
|
|
48
|
-
import { DatePicker as
|
|
49
|
-
import { LocalizationProvider as
|
|
50
|
-
import { E as
|
|
51
|
-
import { A as Y, W as
|
|
52
|
-
import { L as
|
|
53
|
-
import
|
|
54
|
-
import
|
|
55
|
-
import
|
|
56
|
-
import { S as
|
|
57
|
-
import { M as
|
|
58
|
-
function
|
|
32
|
+
import { DataGridPro as et } from "@mui/x-data-grid-pro";
|
|
33
|
+
import { D as F } from "../Drawer-kEE73B87.mjs";
|
|
34
|
+
import { b as L } from "../Localization-2MODESHW.mjs";
|
|
35
|
+
import { f as re, D as ie, a as tt } from "../Dialog-CWW597AF.mjs";
|
|
36
|
+
import P from "@mui/material/ListItemAvatar";
|
|
37
|
+
import nt from "@mui/material/Collapse";
|
|
38
|
+
import ot from "@mui/material/ListItemIcon";
|
|
39
|
+
import at from "@mui/material/Checkbox";
|
|
40
|
+
import { A as fe } from "../ConnectDrawer-phFH6OHt.mjs";
|
|
41
|
+
import { u as rt, A as it } from "../AccountDetailsHeader-Eb3WvBGm.mjs";
|
|
42
|
+
import { A as st } from "../AccountDetailsContent-UxSEMBo_.mjs";
|
|
43
|
+
import we from "@mui/material/TextField";
|
|
44
|
+
import { M as lt, I as ct, O as dt } from "../OriginalBalanceAction-DepsKiJz.mjs";
|
|
45
|
+
import { getUnixTime as mt } from "date-fns/getUnixTime";
|
|
46
|
+
import { isValid as ut } from "date-fns/isValid";
|
|
47
|
+
import { AdapterDateFns as _t } from "@mui/x-date-pickers/AdapterDateFnsV3";
|
|
48
|
+
import { DatePicker as pt } from "@mui/x-date-pickers";
|
|
49
|
+
import { LocalizationProvider as ht } from "@mui/x-date-pickers/LocalizationProvider";
|
|
50
|
+
import { E as bt } from "../EmptyState-C0lr9E5T.mjs";
|
|
51
|
+
import { A as Y, W as gt } from "../WidgetContainer-CdBs9WOZ.mjs";
|
|
52
|
+
import { L as De } from "../Loader-DUaFpDGv.mjs";
|
|
53
|
+
import ft from "@mui/material/Stack/Stack";
|
|
54
|
+
import yt from "@mui/material/Box";
|
|
55
|
+
import At from "@mui/material/styles/useTheme";
|
|
56
|
+
import { S as Tt } from "../SingleSegmentDonut-BgbLgwHi.mjs";
|
|
57
|
+
import { M as Ct } from "../MicroWidgetContainer-Dxz8uBN9.mjs";
|
|
58
|
+
function de({ title: t, subtitle: n }) {
|
|
59
59
|
return /* @__PURE__ */ i(g, { children: [
|
|
60
60
|
/* @__PURE__ */ e(A, { bold: !0, variant: "Body", children: t }),
|
|
61
61
|
/* @__PURE__ */ e(A, { sx: { fontWeight: 400 }, variant: "Body", children: n })
|
|
62
62
|
] });
|
|
63
63
|
}
|
|
64
|
-
const
|
|
64
|
+
const St = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
65
65
|
/(\d+)(?:\.0+|(\.\d*?[1-9])0*)([a-zA-Z]* ?\$?)/g,
|
|
66
66
|
"$1$2$3"
|
|
67
|
-
) : x(t, "0,0.00"),
|
|
68
|
-
({ goal: t, isInDrawer: n = !1, onClick:
|
|
69
|
-
const { goals:
|
|
70
|
-
backgroundColor:
|
|
71
|
-
color:
|
|
72
|
-
percentage:
|
|
67
|
+
) : x(t, "0,0.00"), Ke = D(
|
|
68
|
+
({ goal: t, isInDrawer: n = !1, onClick: c }) => {
|
|
69
|
+
const { goals: m } = T(), { isMobile: _, isTablet: a } = pe(), u = _ || a, {
|
|
70
|
+
backgroundColor: p,
|
|
71
|
+
color: b,
|
|
72
|
+
percentage: s,
|
|
73
73
|
percentageText: o,
|
|
74
|
-
projectedText:
|
|
75
|
-
} =
|
|
74
|
+
projectedText: h
|
|
75
|
+
} = ye(m, t), r = t.track_type === d.DEBT_TRACK ? t.initial_amount : t.amount, l = [
|
|
76
76
|
{
|
|
77
|
-
color:
|
|
78
|
-
percentage: `${
|
|
77
|
+
color: p,
|
|
78
|
+
percentage: `${s}`
|
|
79
79
|
}
|
|
80
80
|
];
|
|
81
|
-
let f = /* @__PURE__ */ e(
|
|
82
|
-
return t.track_type ===
|
|
81
|
+
let f = /* @__PURE__ */ e(Re, {});
|
|
82
|
+
return t.track_type === d.DEBT_TRACK ? f = /* @__PURE__ */ e(ve, {}) : t.track_type === d.RETIREMENT_TRACK && (f = /* @__PURE__ */ e(xe, {})), /* @__PURE__ */ e(Te, { elevation: 2, children: /* @__PURE__ */ i(Ce, { disabled: !c, onClick: c, children: [
|
|
83
83
|
/* @__PURE__ */ e(
|
|
84
|
-
|
|
84
|
+
Xe,
|
|
85
85
|
{
|
|
86
|
-
avatar: /* @__PURE__ */ e(
|
|
87
|
-
subheader: /* @__PURE__ */ e(A, { variant: n || u ? "H3" : "H2", children: `${x(t.current_amount, u ? "0,0" : "0,0.00")} / ${
|
|
86
|
+
avatar: /* @__PURE__ */ e(ae, { sx: { bgcolor: p, color: b, height: 48, width: 48 }, variant: "rounded", children: f }),
|
|
87
|
+
subheader: /* @__PURE__ */ e(A, { variant: n || u ? "H3" : "H2", children: `${x(t.current_amount, u ? "0,0" : "0,0.00")} / ${St(
|
|
88
88
|
r,
|
|
89
89
|
u
|
|
90
90
|
)}` }),
|
|
91
|
-
title: /* @__PURE__ */ e(
|
|
91
|
+
title: /* @__PURE__ */ e(ue, { color: "text.secondary", fontWeight: 400, variant: "Body", children: t.name })
|
|
92
92
|
}
|
|
93
93
|
),
|
|
94
|
-
/* @__PURE__ */ e(
|
|
95
|
-
/* @__PURE__ */ e(
|
|
94
|
+
/* @__PURE__ */ e(Se, { sx: { pt: 0 }, children: /* @__PURE__ */ i(g, { gap: 6, children: [
|
|
95
|
+
/* @__PURE__ */ e(Qe, { data: l, height: 24 }),
|
|
96
96
|
/* @__PURE__ */ i(g, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
97
97
|
/* @__PURE__ */ e(A, { color: "text.secondary", variant: "XSmall", children: o }),
|
|
98
|
-
t.projected_to_complete_at && /* @__PURE__ */ e(A, { color: "text.secondary", variant: "XSmall", children:
|
|
98
|
+
t.projected_to_complete_at && /* @__PURE__ */ e(A, { color: "text.secondary", variant: "XSmall", children: h })
|
|
99
99
|
] })
|
|
100
100
|
] }) })
|
|
101
101
|
] }) });
|
|
102
102
|
}
|
|
103
|
-
),
|
|
104
|
-
const { goals: n } = T(), { setAlert:
|
|
105
|
-
let
|
|
106
|
-
return t ===
|
|
107
|
-
}, [
|
|
108
|
-
if (
|
|
109
|
-
const
|
|
110
|
-
t ===
|
|
103
|
+
), Rt = D(({ trackType: t }) => {
|
|
104
|
+
const { goals: n } = T(), { setAlert: c, monthlyCashFlowProfile: m, updateMonthlyCashFlowProfile: _ } = E(), a = y.useMemo(() => {
|
|
105
|
+
let s = 0;
|
|
106
|
+
return t === d.SAVINGS_TRACK ? s = m?.amount_allocated_for_savings_goals || 0 : t === d.DEBT_TRACK ? s = m?.amount_allocated_for_debt_goals || 0 : t === d.RETIREMENT_TRACK && (s = m?.amount_allocated_for_retirement_goals || 0), s;
|
|
107
|
+
}, [m]), [u, p] = y.useState(a), b = async () => {
|
|
108
|
+
if (m) {
|
|
109
|
+
const s = { ...m };
|
|
110
|
+
t === d.SAVINGS_TRACK ? s.amount_allocated_for_savings_goals = u : t === d.DEBT_TRACK ? s.amount_allocated_for_debt_goals = u : t === d.RETIREMENT_TRACK && (s.amount_allocated_for_retirement_goals = u), await _(s), c(n.alert_contribution_updated);
|
|
111
111
|
}
|
|
112
112
|
};
|
|
113
113
|
return /* @__PURE__ */ e(g, { bgcolor: "background.paper", children: /* @__PURE__ */ e(
|
|
114
|
-
|
|
114
|
+
Q,
|
|
115
115
|
{
|
|
116
116
|
isSaveDisabled: !u || isNaN(u),
|
|
117
117
|
label: n.contribution_label,
|
|
118
|
-
onCancel: () =>
|
|
119
|
-
onSave:
|
|
118
|
+
onCancel: () => p(a),
|
|
119
|
+
onSave: b,
|
|
120
120
|
primaryText: n.contribution_label,
|
|
121
121
|
secondaryText: x(a, "0,0.00"),
|
|
122
122
|
children: /* @__PURE__ */ e(
|
|
123
|
-
|
|
123
|
+
ke,
|
|
124
124
|
{
|
|
125
125
|
amount: u,
|
|
126
126
|
autoFocus: !0,
|
|
127
127
|
error: !u || isNaN(u),
|
|
128
128
|
fullWidth: !0,
|
|
129
129
|
minAmount: 0,
|
|
130
|
-
setAmount: (
|
|
130
|
+
setAmount: (s) => p(isNaN(Number(s)) ? u : Number(s)),
|
|
131
131
|
sx: { ".MuiTypography-Body": { p: 0 } }
|
|
132
132
|
}
|
|
133
133
|
)
|
|
134
134
|
}
|
|
135
135
|
) });
|
|
136
|
-
}),
|
|
137
|
-
const { goals: n, common:
|
|
136
|
+
}), vt = ({ goals: t }) => {
|
|
137
|
+
const { goals: n, common: c } = T(), { reorderGoals: m, setAlert: _ } = E(), [a, u] = y.useState(!1), [p, b] = y.useState(t.map((l) => ({ ...l })));
|
|
138
138
|
y.useEffect(() => {
|
|
139
|
-
a &&
|
|
139
|
+
a && b(t.map((l) => ({ ...l })));
|
|
140
140
|
}, [a]);
|
|
141
|
-
const
|
|
141
|
+
const s = [
|
|
142
142
|
{
|
|
143
143
|
field: "name",
|
|
144
144
|
flex: 1,
|
|
145
|
-
renderCell: (
|
|
146
|
-
const f =
|
|
145
|
+
renderCell: (l) => {
|
|
146
|
+
const f = l.row;
|
|
147
147
|
return /* @__PURE__ */ i(g, { children: [
|
|
148
148
|
/* @__PURE__ */ e(A, { bold: !0, variant: "Body", children: f.name }),
|
|
149
|
-
/* @__PURE__ */ e(A, { variant: "XSmall", children:
|
|
149
|
+
/* @__PURE__ */ e(A, { variant: "XSmall", children: L(
|
|
150
150
|
n.goal_projection,
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
re(
|
|
152
|
+
J(f.projected_to_complete_at || 0),
|
|
153
|
+
ie.MONTH_SHORT_YEAR
|
|
154
154
|
)
|
|
155
155
|
) })
|
|
156
156
|
] });
|
|
@@ -161,25 +161,25 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
161
161
|
align: "right",
|
|
162
162
|
field: "amount",
|
|
163
163
|
minWidth: 140,
|
|
164
|
-
renderCell: (
|
|
165
|
-
const f =
|
|
164
|
+
renderCell: (l) => {
|
|
165
|
+
const f = l.row;
|
|
166
166
|
return /* @__PURE__ */ e(A, { bold: !0, sx: { mr: 12 }, variant: "Body", children: x(f.amount, "0,0.00") });
|
|
167
167
|
},
|
|
168
168
|
sortable: !1
|
|
169
169
|
}
|
|
170
|
-
], o =
|
|
171
|
-
id:
|
|
170
|
+
], o = p.map((l) => ({
|
|
171
|
+
id: l.guid,
|
|
172
172
|
isHovering: !1,
|
|
173
|
-
__reorder__:
|
|
174
|
-
...
|
|
175
|
-
})),
|
|
176
|
-
const
|
|
177
|
-
|
|
178
|
-
for (let C = 0; C <
|
|
179
|
-
|
|
180
|
-
|
|
173
|
+
__reorder__: l.name,
|
|
174
|
+
...l
|
|
175
|
+
})), h = ({ oldIndex: l, targetIndex: f }) => {
|
|
176
|
+
const S = [...p];
|
|
177
|
+
S.splice(f, 0, S.splice(l, 1)[0]);
|
|
178
|
+
for (let C = 0; C < S.length; C += 1)
|
|
179
|
+
S[C].position = C + 1;
|
|
180
|
+
b(S);
|
|
181
181
|
}, r = async () => {
|
|
182
|
-
await
|
|
182
|
+
await m(p), _(n.alert_goals_reordered), u(!1);
|
|
183
183
|
};
|
|
184
184
|
return /* @__PURE__ */ i(g, { children: [
|
|
185
185
|
/* @__PURE__ */ e(N, { children: /* @__PURE__ */ e(k, { onClick: () => u(!0), children: /* @__PURE__ */ e(w, { children: /* @__PURE__ */ i(
|
|
@@ -196,28 +196,28 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
196
196
|
}
|
|
197
197
|
) }) }) }),
|
|
198
198
|
/* @__PURE__ */ e(
|
|
199
|
-
|
|
199
|
+
F,
|
|
200
200
|
{
|
|
201
|
-
ariaLabelClose:
|
|
201
|
+
ariaLabelClose: c.close_aria,
|
|
202
202
|
isOpen: a,
|
|
203
203
|
onClose: () => u(!1),
|
|
204
204
|
onPrimaryAction: r,
|
|
205
205
|
title: n.reorder_goals_title,
|
|
206
206
|
children: /* @__PURE__ */ i(g, { children: [
|
|
207
|
-
/* @__PURE__ */ e(
|
|
207
|
+
/* @__PURE__ */ e(V, { sx: { my: 12, mx: 24 }, children: n.reorder_goals_description }),
|
|
208
208
|
/* @__PURE__ */ e(
|
|
209
|
-
|
|
209
|
+
et,
|
|
210
210
|
{
|
|
211
211
|
columnHeaderHeight: 0,
|
|
212
|
-
columns:
|
|
212
|
+
columns: s,
|
|
213
213
|
disableColumnFilter: !0,
|
|
214
214
|
disableColumnMenu: !0,
|
|
215
215
|
hideFooter: !0,
|
|
216
|
-
onRowOrderChange:
|
|
216
|
+
onRowOrderChange: h,
|
|
217
217
|
rowReordering: !0,
|
|
218
218
|
rows: o,
|
|
219
219
|
slots: {
|
|
220
|
-
rowReorderIcon: () => /* @__PURE__ */ e(
|
|
220
|
+
rowReorderIcon: () => /* @__PURE__ */ e($e, { sx: { ml: 12 } })
|
|
221
221
|
//TODO: Add to mx-icons
|
|
222
222
|
},
|
|
223
223
|
sx: {
|
|
@@ -231,11 +231,11 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
231
231
|
}
|
|
232
232
|
)
|
|
233
233
|
] });
|
|
234
|
-
},
|
|
235
|
-
const { goals:
|
|
234
|
+
}, xt = ({ goal: t, index: n }) => {
|
|
235
|
+
const { goals: c } = T();
|
|
236
236
|
return /* @__PURE__ */ e(N, { children: /* @__PURE__ */ i(k, { children: [
|
|
237
|
-
t.track_type !==
|
|
238
|
-
|
|
237
|
+
t.track_type !== d.RETIREMENT_TRACK && /* @__PURE__ */ e(
|
|
238
|
+
P,
|
|
239
239
|
{
|
|
240
240
|
sx: {
|
|
241
241
|
alignItems: "center",
|
|
@@ -243,110 +243,110 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
243
243
|
justifyContent: "center",
|
|
244
244
|
".MuiAvatar-root": { height: "16px", width: "16px" }
|
|
245
245
|
},
|
|
246
|
-
children: /* @__PURE__ */ e(
|
|
246
|
+
children: /* @__PURE__ */ e(ae, { sx: { bgcolor: "text.primary", height: "16px", width: "16px" }, children: /* @__PURE__ */ e(A, { bold: !0, variant: "XSmall", children: n + 1 }) })
|
|
247
247
|
}
|
|
248
248
|
),
|
|
249
249
|
/* @__PURE__ */ e(w, { primaryTypographyProps: { variant: "Body" }, children: /* @__PURE__ */ i(g, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
250
250
|
/* @__PURE__ */ i(g, { children: [
|
|
251
251
|
/* @__PURE__ */ e(A, { bold: !0, variant: "Body", children: t.name }),
|
|
252
|
-
/* @__PURE__ */ e(A, { variant: "XSmall", children:
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
252
|
+
/* @__PURE__ */ e(A, { variant: "XSmall", children: L(
|
|
253
|
+
c.goal_projection,
|
|
254
|
+
re(
|
|
255
|
+
J(t.projected_to_complete_at || 0),
|
|
256
|
+
ie.MONTH_SHORT_YEAR
|
|
257
257
|
)
|
|
258
258
|
) })
|
|
259
259
|
] }),
|
|
260
260
|
/* @__PURE__ */ e(A, { bold: !0, variant: "Body", children: x(t.amount, "0,0.00") })
|
|
261
261
|
] }) })
|
|
262
262
|
] }) });
|
|
263
|
-
},
|
|
263
|
+
}, Et = ({ goal: t }) => {
|
|
264
264
|
const { goals: n } = T();
|
|
265
265
|
return /* @__PURE__ */ e(N, { children: /* @__PURE__ */ i(k, { children: [
|
|
266
|
-
/* @__PURE__ */ e(
|
|
266
|
+
/* @__PURE__ */ e(P, { sx: { alignItems: "center", display: "flex", justifyContent: "center" }, children: /* @__PURE__ */ e(Ue, { color: "success", filled: !0, size: 20 }) }),
|
|
267
267
|
/* @__PURE__ */ e(w, { primaryTypographyProps: { variant: "Body" }, children: /* @__PURE__ */ i(g, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
268
268
|
/* @__PURE__ */ i(g, { children: [
|
|
269
269
|
/* @__PURE__ */ e(A, { bold: !0, variant: "Body", children: t.name }),
|
|
270
|
-
/* @__PURE__ */ e(A, { variant: "XSmall", children:
|
|
270
|
+
/* @__PURE__ */ e(A, { variant: "XSmall", children: L(
|
|
271
271
|
n.completed_label,
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
272
|
+
re(
|
|
273
|
+
J(t.completed_at || 0),
|
|
274
|
+
ie.MONTH_SHORT_YEAR
|
|
275
275
|
)
|
|
276
276
|
) })
|
|
277
277
|
] }),
|
|
278
278
|
/* @__PURE__ */ e(A, { bold: !0, variant: "Body", children: x(t.amount, "0,0.00") })
|
|
279
279
|
] }) })
|
|
280
280
|
] }) }, t.guid);
|
|
281
|
-
},
|
|
282
|
-
const { goals: n, common:
|
|
283
|
-
(
|
|
281
|
+
}, It = ({ trackType: t }) => {
|
|
282
|
+
const { goals: n, common: c } = T(), { orderedGoals: m } = E(), _ = m.filter((l) => l.track_type === t), a = _.filter(
|
|
283
|
+
(l) => l.track_type === d.SAVINGS_TRACK && !l.has_been_spent || l.track_type !== d.SAVINGS_TRACK && !l.is_complete
|
|
284
284
|
), u = _.filter(
|
|
285
|
-
(
|
|
286
|
-
), [
|
|
287
|
-
let
|
|
288
|
-
return t ===
|
|
289
|
-
/* @__PURE__ */ e(
|
|
285
|
+
(l) => l.track_type === d.SAVINGS_TRACK && l.has_been_spent || l.track_type !== d.SAVINGS_TRACK && l.is_complete
|
|
286
|
+
), [p, b] = y.useState(!1);
|
|
287
|
+
let s = n.manage_saving_goals, o = n.manage_saving_drawer_title, h = n.manage_saving_title, r = n.manage_saving_description;
|
|
288
|
+
return t === d.DEBT_TRACK ? (s = n.manage_debt_goals, o = n.manage_debt_drawer_title, h = n.manage_debt_title, r = n.manage_debt_description) : t === d.RETIREMENT_TRACK && (s = n.manage_retirement_goals, o = n.manage_retirement_drawer_title, h = n.manage_retirement_title, r = n.manage_retirement_description), /* @__PURE__ */ i(g, { children: [
|
|
289
|
+
/* @__PURE__ */ e(_e, { endIcon: /* @__PURE__ */ e(M, {}), onClick: () => b(!0), children: s }),
|
|
290
290
|
/* @__PURE__ */ e(
|
|
291
|
-
|
|
291
|
+
F,
|
|
292
292
|
{
|
|
293
|
-
ariaLabelClose:
|
|
294
|
-
isOpen:
|
|
295
|
-
onClose: () =>
|
|
293
|
+
ariaLabelClose: c.close_aria,
|
|
294
|
+
isOpen: p,
|
|
295
|
+
onClose: () => b(!1),
|
|
296
296
|
title: o,
|
|
297
297
|
children: /* @__PURE__ */ i(g, { children: [
|
|
298
298
|
/* @__PURE__ */ i(g, { m: 24, children: [
|
|
299
|
-
/* @__PURE__ */ e(
|
|
300
|
-
/* @__PURE__ */ e(
|
|
299
|
+
/* @__PURE__ */ e(ze, { children: h }),
|
|
300
|
+
/* @__PURE__ */ e(V, { color: "text.secondary", sx: { textWrap: "wrap" }, variant: "ParagraphSmall", children: r })
|
|
301
301
|
] }),
|
|
302
|
-
/* @__PURE__ */ e(
|
|
302
|
+
/* @__PURE__ */ e(Rt, { trackType: t }),
|
|
303
303
|
/* @__PURE__ */ e(A, { bold: !0, sx: { mb: 4, mx: 24, mt: 12 }, variant: "XSmall", children: n.goal_priority }),
|
|
304
304
|
/* @__PURE__ */ i(B, { sx: { bgcolor: "background.paper" }, children: [
|
|
305
|
-
a.map((
|
|
306
|
-
const
|
|
305
|
+
a.map((l, f) => {
|
|
306
|
+
const S = f >= a.length - 1;
|
|
307
307
|
return /* @__PURE__ */ i(g, { children: [
|
|
308
|
-
/* @__PURE__ */ e(
|
|
308
|
+
/* @__PURE__ */ e(xt, { goal: l, index: f }),
|
|
309
309
|
/* @__PURE__ */ e(
|
|
310
|
-
|
|
310
|
+
v,
|
|
311
311
|
{
|
|
312
|
-
variant:
|
|
312
|
+
variant: S && t === d.RETIREMENT_TRACK ? "fullWidth" : "inset"
|
|
313
313
|
}
|
|
314
314
|
)
|
|
315
|
-
] }, `ongoing-${
|
|
315
|
+
] }, `ongoing-${l.guid}`);
|
|
316
316
|
}),
|
|
317
|
-
t !==
|
|
318
|
-
/* @__PURE__ */ e(
|
|
319
|
-
/* @__PURE__ */ e(
|
|
317
|
+
t !== d.RETIREMENT_TRACK && /* @__PURE__ */ i(g, { children: [
|
|
318
|
+
/* @__PURE__ */ e(vt, { goals: a }),
|
|
319
|
+
/* @__PURE__ */ e(v, {})
|
|
320
320
|
] })
|
|
321
321
|
] }),
|
|
322
|
-
t !==
|
|
322
|
+
t !== d.RETIREMENT_TRACK && u.length > 0 && /* @__PURE__ */ i(g, { children: [
|
|
323
323
|
/* @__PURE__ */ e(A, { bold: !0, sx: { mb: 4, mx: 24, mt: 12 }, variant: "XSmall", children: n.complete_title }),
|
|
324
|
-
/* @__PURE__ */ e(B, { sx: { bgcolor: "background.paper" }, children: u.map((
|
|
325
|
-
const
|
|
324
|
+
/* @__PURE__ */ e(B, { sx: { bgcolor: "background.paper" }, children: u.map((l, f) => {
|
|
325
|
+
const S = f > a.length - 1;
|
|
326
326
|
return /* @__PURE__ */ i(g, { children: [
|
|
327
|
-
/* @__PURE__ */ e(
|
|
328
|
-
/* @__PURE__ */ e(
|
|
329
|
-
] }, `complete-${
|
|
327
|
+
/* @__PURE__ */ e(Et, { goal: l }),
|
|
328
|
+
/* @__PURE__ */ e(v, { variant: S ? "fullWidth" : "inset" })
|
|
329
|
+
] }, `complete-${l.guid}`);
|
|
330
330
|
}) })
|
|
331
331
|
] })
|
|
332
332
|
] })
|
|
333
333
|
}
|
|
334
334
|
)
|
|
335
335
|
] });
|
|
336
|
-
},
|
|
337
|
-
const { isMobile:
|
|
338
|
-
(o) => o.track_type ===
|
|
339
|
-
),
|
|
340
|
-
(o) => o.track_type ===
|
|
341
|
-
),
|
|
342
|
-
return /* @__PURE__ */ i(g, { mt: 16, mx:
|
|
336
|
+
}, me = D(({ trackType: t, onAddGoals: n }) => {
|
|
337
|
+
const { isMobile: c } = pe(), { goals: m } = T(), { orderedGoals: _, setSelectedGoal: a } = E(), u = _.filter((o) => o.track_type === t), p = u.filter(
|
|
338
|
+
(o) => o.track_type === d.SAVINGS_TRACK && !o.has_been_spent || o.track_type !== d.SAVINGS_TRACK && !o.is_complete
|
|
339
|
+
), b = u.filter(
|
|
340
|
+
(o) => o.track_type === d.SAVINGS_TRACK && o.has_been_spent || o.track_type !== d.SAVINGS_TRACK && o.is_complete
|
|
341
|
+
), s = t === d.DEBT_TRACK ? m.zero_state_complete_debt : m.zero_state_complete_savings;
|
|
342
|
+
return /* @__PURE__ */ i(g, { mt: 16, mx: c ? 24 : 0, children: [
|
|
343
343
|
/* @__PURE__ */ i(g, { alignItems: "center", direction: "row", justifyContent: "space-between", mb: 8, children: [
|
|
344
|
-
/* @__PURE__ */ e(A, { color: "text.secondary", variant: "Small", children:
|
|
345
|
-
/* @__PURE__ */ e(
|
|
344
|
+
/* @__PURE__ */ e(A, { color: "text.secondary", variant: "Small", children: m.ongoing_title }),
|
|
345
|
+
/* @__PURE__ */ e(It, { trackType: t })
|
|
346
346
|
] }),
|
|
347
|
-
|
|
347
|
+
p.length > 0 ? /* @__PURE__ */ e(be, { container: !0, spacing: 24, children: p.map((o, h, r) => (
|
|
348
348
|
// Goal should be full width in mobile or if it's the first goal (unless there are 2)
|
|
349
|
-
/* @__PURE__ */ e(
|
|
349
|
+
/* @__PURE__ */ e(be, { xs: c || h === 0 && r.length !== 2 ? 12 : 6, children: /* @__PURE__ */ e(Ke, { goal: o, onClick: () => a(o) }, o.guid) }, h)
|
|
350
350
|
)) }) : /* @__PURE__ */ i(
|
|
351
351
|
g,
|
|
352
352
|
{
|
|
@@ -358,7 +358,7 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
358
358
|
py: 18,
|
|
359
359
|
children: [
|
|
360
360
|
/* @__PURE__ */ e(
|
|
361
|
-
|
|
361
|
+
V,
|
|
362
362
|
{
|
|
363
363
|
sx: (o) => ({
|
|
364
364
|
color: "text.secondary",
|
|
@@ -368,17 +368,17 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
368
368
|
width: { sm: 381 }
|
|
369
369
|
}),
|
|
370
370
|
variant: "Small",
|
|
371
|
-
children:
|
|
371
|
+
children: We(t, m)
|
|
372
372
|
}
|
|
373
373
|
),
|
|
374
|
-
/* @__PURE__ */ e(
|
|
374
|
+
/* @__PURE__ */ e(_e, { onClick: n, sx: { mt: 16, width: { sm: 224 } }, variant: "contained", children: m.add_goals_button })
|
|
375
375
|
]
|
|
376
376
|
}
|
|
377
377
|
),
|
|
378
|
-
t !==
|
|
379
|
-
/* @__PURE__ */ e(A, { color: "text.secondary", variant: "Small", children:
|
|
380
|
-
|
|
381
|
-
|
|
378
|
+
t !== d.RETIREMENT_TRACK && /* @__PURE__ */ i(g, { gap: 16, mt: 48, children: [
|
|
379
|
+
/* @__PURE__ */ e(A, { color: "text.secondary", variant: "Small", children: m.complete_title }),
|
|
380
|
+
b.length === 0 && /* @__PURE__ */ e(g, { alignItems: "center", bgcolor: "background.default", borderRadius: 2, py: 18, children: /* @__PURE__ */ e(
|
|
381
|
+
V,
|
|
382
382
|
{
|
|
383
383
|
sx: (o) => ({
|
|
384
384
|
color: "text.secondary",
|
|
@@ -388,40 +388,40 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
388
388
|
}
|
|
389
389
|
}),
|
|
390
390
|
variant: "Small",
|
|
391
|
-
children:
|
|
391
|
+
children: s
|
|
392
392
|
}
|
|
393
393
|
) }),
|
|
394
|
-
|
|
394
|
+
b.map((o) => /* @__PURE__ */ e(Te, { elevation: 2, children: /* @__PURE__ */ e(Ce, { onClick: () => a(o), children: /* @__PURE__ */ e(Se, { sx: { ":last-child": { pb: 16 } }, children: /* @__PURE__ */ i(g, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
395
395
|
/* @__PURE__ */ i(g, { alignItems: "center", direction: "row", gap: 6, children: [
|
|
396
|
-
/* @__PURE__ */ e(
|
|
396
|
+
/* @__PURE__ */ e(He, { color: "success", fill: !0, name: "check_circle", size: 20 }),
|
|
397
397
|
/* @__PURE__ */ e(A, { color: "text.secondary", variant: "Body", children: o.name })
|
|
398
398
|
] }),
|
|
399
399
|
/* @__PURE__ */ e(A, { bold: !0, variant: "Body", children: x(o.amount, "0,0.00") })
|
|
400
400
|
] }) }) }) }, o.guid))
|
|
401
401
|
] })
|
|
402
402
|
] });
|
|
403
|
-
}),
|
|
404
|
-
const { goals:
|
|
403
|
+
}), Gt = ({ goalType: t, onClick: n }) => {
|
|
404
|
+
const { goals: c } = T(), { bgcolor: m, icon: _, label: a, description: u, subTypes: p, type: b } = t, [s, o] = y.useState(!1), h = p.length > 0;
|
|
405
405
|
return /* @__PURE__ */ e(g, { children: /* @__PURE__ */ i(B, { sx: { bgcolor: "background.paper" }, children: [
|
|
406
406
|
/* @__PURE__ */ e(N, { children: /* @__PURE__ */ i(
|
|
407
407
|
k,
|
|
408
408
|
{
|
|
409
|
-
onClick:
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
409
|
+
onClick: h ? () => o(!s) : () => n(
|
|
410
|
+
b === d.RETIREMENT_TRACK ? c.retirement : "",
|
|
411
|
+
b === d.RETIREMENT_TRACK ? q.RETIREMENT : q.OTHER,
|
|
412
|
+
b
|
|
413
413
|
),
|
|
414
414
|
children: [
|
|
415
|
-
/* @__PURE__ */ e(
|
|
415
|
+
/* @__PURE__ */ e(P, { children: /* @__PURE__ */ e(ae, { sx: { bgcolor: m }, variant: "rounded", children: /* @__PURE__ */ e(ge, { name: _, sx: { color: "grey.900" } }) }) }),
|
|
416
416
|
/* @__PURE__ */ e(w, { primary: a, secondary: u, sx: { mr: 24 } }),
|
|
417
|
-
!
|
|
418
|
-
|
|
417
|
+
!h && /* @__PURE__ */ e(M, {}),
|
|
418
|
+
h && (s ? /* @__PURE__ */ e(Ye, {}) : /* @__PURE__ */ e(Ze, {}))
|
|
419
419
|
]
|
|
420
420
|
}
|
|
421
421
|
) }),
|
|
422
|
-
/* @__PURE__ */ e(
|
|
423
|
-
|
|
424
|
-
/* @__PURE__ */ e(
|
|
422
|
+
/* @__PURE__ */ e(v, { variant: "inset" }),
|
|
423
|
+
h && /* @__PURE__ */ e(nt, { in: s, children: /* @__PURE__ */ e(B, { sx: { bgcolor: "background.default" }, children: p.map((r, l) => /* @__PURE__ */ e(N, { sx: { pl: 48 }, children: /* @__PURE__ */ i(k, { onClick: () => n(r.label, r.metaType, b), children: [
|
|
424
|
+
/* @__PURE__ */ e(ot, { sx: { mr: 8 }, children: /* @__PURE__ */ e(ge, { name: r.icon }) }),
|
|
425
425
|
/* @__PURE__ */ e(
|
|
426
426
|
w,
|
|
427
427
|
{
|
|
@@ -430,35 +430,35 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
430
430
|
}
|
|
431
431
|
),
|
|
432
432
|
/* @__PURE__ */ e(M, {})
|
|
433
|
-
] }) },
|
|
433
|
+
] }) }, l)) }) })
|
|
434
434
|
] }) });
|
|
435
|
-
},
|
|
435
|
+
}, Me = ({
|
|
436
436
|
accounts: t,
|
|
437
437
|
isOpen: n,
|
|
438
|
-
onClose:
|
|
439
|
-
onSave:
|
|
438
|
+
onClose: c,
|
|
439
|
+
onSave: m,
|
|
440
440
|
title: _
|
|
441
441
|
}) => {
|
|
442
|
-
const { goals: a, common: u } = T(), [
|
|
443
|
-
const
|
|
444
|
-
|
|
442
|
+
const { goals: a, common: u } = T(), [p, b] = y.useState([]), s = (o) => {
|
|
443
|
+
const h = p.findIndex((l) => l.guid === o.guid), r = [...p];
|
|
444
|
+
h >= 0 ? r.splice(h, 1) : r.push(o), b(r);
|
|
445
445
|
};
|
|
446
446
|
return /* @__PURE__ */ i(
|
|
447
|
-
|
|
447
|
+
F,
|
|
448
448
|
{
|
|
449
449
|
ariaLabelClose: u.close_aria,
|
|
450
450
|
isOpen: n,
|
|
451
|
-
onClose:
|
|
452
|
-
onPrimaryAction: () =>
|
|
451
|
+
onClose: c,
|
|
452
|
+
onPrimaryAction: () => m(p),
|
|
453
453
|
title: _,
|
|
454
454
|
children: [
|
|
455
|
-
/* @__PURE__ */ e(
|
|
455
|
+
/* @__PURE__ */ e(V, { color: "text.secondary", sx: { mx: 24, my: 12 }, children: a.select_debt_accounts_description }),
|
|
456
456
|
/* @__PURE__ */ i(B, { sx: { bgcolor: "background.white" }, children: [
|
|
457
|
-
/* @__PURE__ */ e(
|
|
458
|
-
t.map((o,
|
|
459
|
-
/* @__PURE__ */ e(N, { children: /* @__PURE__ */ i(k, { onClick: () =>
|
|
460
|
-
/* @__PURE__ */ e(
|
|
461
|
-
|
|
457
|
+
/* @__PURE__ */ e(v, { variant: "fullWidth" }),
|
|
458
|
+
t.map((o, h) => /* @__PURE__ */ i(y.Fragment, { children: [
|
|
459
|
+
/* @__PURE__ */ e(N, { children: /* @__PURE__ */ i(k, { onClick: () => s(o), children: [
|
|
460
|
+
/* @__PURE__ */ e(P, { children: /* @__PURE__ */ e(
|
|
461
|
+
oe,
|
|
462
462
|
{
|
|
463
463
|
alt: o?.name || "",
|
|
464
464
|
institutionGuid: o?.institution_guid || ""
|
|
@@ -471,13 +471,13 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
471
471
|
secondary: x(o.balance || 0, "0,0.00")
|
|
472
472
|
}
|
|
473
473
|
),
|
|
474
|
-
/* @__PURE__ */ e(
|
|
474
|
+
/* @__PURE__ */ e(at, { checked: p.some((r) => r.guid === o.guid) })
|
|
475
475
|
] }) }),
|
|
476
|
-
/* @__PURE__ */ e(
|
|
476
|
+
/* @__PURE__ */ e(v, { variant: h < t.length - 1 ? "inset" : "fullWidth" })
|
|
477
477
|
] }, o.guid))
|
|
478
478
|
] }),
|
|
479
479
|
/* @__PURE__ */ e(
|
|
480
|
-
|
|
480
|
+
Ae,
|
|
481
481
|
{
|
|
482
482
|
description: a.connect_description,
|
|
483
483
|
label: a.connect_button,
|
|
@@ -487,56 +487,56 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
487
487
|
]
|
|
488
488
|
}
|
|
489
489
|
);
|
|
490
|
-
},
|
|
491
|
-
const { goals: n } = T(), { addGoal:
|
|
492
|
-
f ===
|
|
490
|
+
}, Nt = ({ onClose: t }) => {
|
|
491
|
+
const { goals: n } = T(), { addGoal: c, debtGoals: m, setAlert: _, setSelectedGoal: a } = E(), { visibleDebtAccounts: u } = j(), [p, b] = y.useState(!1), s = Ve(n), o = (r, l, f) => {
|
|
492
|
+
f === d.DEBT_TRACK ? b(!0) : a({
|
|
493
493
|
amount: 0,
|
|
494
494
|
current_amount: 0,
|
|
495
|
-
goal_type:
|
|
495
|
+
goal_type: he.SAVE_AMOUNT,
|
|
496
496
|
initial_amount: 0,
|
|
497
|
-
meta_type:
|
|
497
|
+
meta_type: l,
|
|
498
498
|
name: r,
|
|
499
499
|
track_type: f
|
|
500
500
|
});
|
|
501
|
-
},
|
|
502
|
-
for (const
|
|
503
|
-
let f =
|
|
504
|
-
|
|
505
|
-
account_guid:
|
|
501
|
+
}, h = async (r) => {
|
|
502
|
+
for (const l of r) {
|
|
503
|
+
let f = q.CREDIT_CARD;
|
|
504
|
+
l.account_type === fe.LOAN ? f = q.LOANS : l.account_type === fe.LINE_OF_CREDIT && (f = q.LINE_OF_CREDIT), await c({
|
|
505
|
+
account_guid: l.guid,
|
|
506
506
|
amount: 0,
|
|
507
507
|
current_amount: 0,
|
|
508
|
-
goal_type:
|
|
509
|
-
initial_amount:
|
|
510
|
-
interest_rate:
|
|
508
|
+
goal_type: he.KEEP_BALANCE_BELOW,
|
|
509
|
+
initial_amount: l.balance || 0,
|
|
510
|
+
interest_rate: l.interest_rate || 0,
|
|
511
511
|
meta_type: f,
|
|
512
|
-
monthly_payment:
|
|
513
|
-
name:
|
|
514
|
-
track_type:
|
|
512
|
+
monthly_payment: l.minimum_payment || 0,
|
|
513
|
+
name: l.name || l.feed_name || "",
|
|
514
|
+
track_type: d.DEBT_TRACK
|
|
515
515
|
}), _(n.alert_goal_added);
|
|
516
516
|
}
|
|
517
|
-
|
|
517
|
+
b(!1), t?.(d.DEBT_TRACK);
|
|
518
518
|
};
|
|
519
519
|
return /* @__PURE__ */ i(g, { children: [
|
|
520
|
-
/* @__PURE__ */ e(B, { sx: { bgcolor: "background.paper" }, children:
|
|
520
|
+
/* @__PURE__ */ e(B, { sx: { bgcolor: "background.paper" }, children: s.map((r, l) => /* @__PURE__ */ e(Gt, { goalType: r, onClick: o }, l)) }),
|
|
521
521
|
/* @__PURE__ */ e(
|
|
522
|
-
|
|
522
|
+
Me,
|
|
523
523
|
{
|
|
524
|
-
accounts: u.filter((r) => !
|
|
525
|
-
isOpen:
|
|
526
|
-
onClose: () =>
|
|
527
|
-
onSave:
|
|
524
|
+
accounts: u.filter((r) => !m.find((l) => l.account_guid === r.guid)),
|
|
525
|
+
isOpen: p,
|
|
526
|
+
onClose: () => b(!1),
|
|
527
|
+
onSave: h,
|
|
528
528
|
title: n.select_debt_accounts_title
|
|
529
529
|
}
|
|
530
530
|
)
|
|
531
531
|
] });
|
|
532
|
-
},
|
|
533
|
-
const { accounts: n } = T(), { setSelectedAccount:
|
|
532
|
+
}, Be = ({ account: t }) => {
|
|
533
|
+
const { accounts: n } = T(), { setSelectedAccount: c } = rt(), [m, _] = y.useState(!1);
|
|
534
534
|
return /* @__PURE__ */ i(N, { sx: { bgcolor: "background.paper" }, children: [
|
|
535
535
|
/* @__PURE__ */ i(k, { onClick: () => {
|
|
536
|
-
|
|
536
|
+
c(t), _(!0);
|
|
537
537
|
}, children: [
|
|
538
|
-
/* @__PURE__ */ e(
|
|
539
|
-
|
|
538
|
+
/* @__PURE__ */ e(P, { children: /* @__PURE__ */ e(
|
|
539
|
+
oe,
|
|
540
540
|
{
|
|
541
541
|
alt: t.name || "",
|
|
542
542
|
institutionGuid: t.institution_guid || ""
|
|
@@ -551,37 +551,37 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
551
551
|
),
|
|
552
552
|
/* @__PURE__ */ e(M, {})
|
|
553
553
|
] }),
|
|
554
|
-
/* @__PURE__ */ e(
|
|
555
|
-
/* @__PURE__ */ e(
|
|
556
|
-
/* @__PURE__ */ e(
|
|
554
|
+
/* @__PURE__ */ e(F, { isOpen: m, onClose: () => _(!1), title: n.account_details, children: /* @__PURE__ */ i(g, { children: [
|
|
555
|
+
/* @__PURE__ */ e(it, {}),
|
|
556
|
+
/* @__PURE__ */ e(st, {})
|
|
557
557
|
] }) })
|
|
558
558
|
] });
|
|
559
|
-
},
|
|
560
|
-
const { goals: n } = T(), { setAlert:
|
|
559
|
+
}, kt = D(({ goal: t }) => {
|
|
560
|
+
const { goals: n } = T(), { setAlert: c, setSelectedGoal: m, updateGoal: _ } = E(), [a, u] = y.useState(t.amount), p = !t.guid, b = a < 0 || a > 9999999999e-2, s = t.track_type === d.SAVINGS_TRACK && t.has_been_spent || t.track_type !== d.SAVINGS_TRACK && t.is_complete, o = async () => {
|
|
561
561
|
const r = { ...t, amount: a };
|
|
562
|
-
t.amount = a,
|
|
563
|
-
},
|
|
562
|
+
t.amount = a, p ? m(r) : (await _(r), c(n.alert_goal_updated_amount));
|
|
563
|
+
}, h = () => {
|
|
564
564
|
setTimeout(() => {
|
|
565
565
|
u(t.amount);
|
|
566
566
|
}, 250);
|
|
567
567
|
};
|
|
568
568
|
return /* @__PURE__ */ e(
|
|
569
|
-
|
|
569
|
+
Q,
|
|
570
570
|
{
|
|
571
|
-
isDisabled:
|
|
572
|
-
isSaveDisabled:
|
|
571
|
+
isDisabled: s,
|
|
572
|
+
isSaveDisabled: b,
|
|
573
573
|
label: n.details_amount_to_save,
|
|
574
|
-
onCancel:
|
|
574
|
+
onCancel: h,
|
|
575
575
|
onSave: o,
|
|
576
576
|
primaryText: n.details_amount_to_save,
|
|
577
577
|
secondaryText: x(t.amount, "0,0"),
|
|
578
|
-
zeroStateText:
|
|
578
|
+
zeroStateText: p && t.amount === 0 ? n.add_amount : void 0,
|
|
579
579
|
children: /* @__PURE__ */ e(
|
|
580
|
-
|
|
580
|
+
ke,
|
|
581
581
|
{
|
|
582
582
|
amount: a,
|
|
583
583
|
autoFocus: !0,
|
|
584
|
-
error:
|
|
584
|
+
error: b,
|
|
585
585
|
fullWidth: !0,
|
|
586
586
|
minAmount: 0,
|
|
587
587
|
setAmount: (r) => u(isNaN(Number(r)) ? a : Number(r)),
|
|
@@ -590,35 +590,35 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
590
590
|
)
|
|
591
591
|
}
|
|
592
592
|
);
|
|
593
|
-
}),
|
|
594
|
-
const { visibleCheckingAccounts: n, visibleSavingsAccounts:
|
|
595
|
-
const f = { ...t, account_guid:
|
|
596
|
-
|
|
593
|
+
}), wt = ({ goal: t }) => {
|
|
594
|
+
const { visibleCheckingAccounts: n, visibleSavingsAccounts: c } = j(), { accounts: m, goals: _ } = T(), { setAlert: a, setSelectedGoal: u, updateGoal: p } = E(), b = !t.guid, [s, o] = y.useState(!1), h = async ({ balance: r, guid: l }) => {
|
|
595
|
+
const f = { ...t, account_guid: l, current_amount: r || 0 };
|
|
596
|
+
b ? u(f) : (await p(f), a(_.alert_account_changed)), o(!1);
|
|
597
597
|
};
|
|
598
598
|
return /* @__PURE__ */ i(g, { children: [
|
|
599
|
-
|
|
599
|
+
b && !t.account_guid ? /* @__PURE__ */ e(N, { disableGutters: !0, disablePadding: !0, sx: { bgcolor: "background.paper" }, children: /* @__PURE__ */ i(k, { onClick: () => o(!0), children: [
|
|
600
600
|
/* @__PURE__ */ e(w, { children: /* @__PURE__ */ i(g, { alignItems: "center", color: "primary.main", direction: "row", gap: 8, children: [
|
|
601
|
-
/* @__PURE__ */ e(
|
|
601
|
+
/* @__PURE__ */ e(Ee, { filled: !0 }),
|
|
602
602
|
_.details_add_account
|
|
603
603
|
] }) }),
|
|
604
604
|
/* @__PURE__ */ e(M, { color: "primary" })
|
|
605
605
|
] }) }) : /* @__PURE__ */ i(g, { sx: { gap: 8, my: 24, mx: 24 }, children: [
|
|
606
|
-
/* @__PURE__ */ e(
|
|
606
|
+
/* @__PURE__ */ e(_e, { onClick: () => o(!0), variant: "text", children: _.details_change_account }),
|
|
607
607
|
/* @__PURE__ */ e(
|
|
608
608
|
A,
|
|
609
609
|
{
|
|
610
610
|
color: "text.secondary",
|
|
611
611
|
sx: { textAlign: "center", whiteSpace: "wrap" },
|
|
612
612
|
variant: "Paragraph",
|
|
613
|
-
children:
|
|
613
|
+
children: L(_.details_change_account_description, t.name)
|
|
614
614
|
}
|
|
615
615
|
)
|
|
616
616
|
] }),
|
|
617
|
-
/* @__PURE__ */ e(
|
|
618
|
-
n.length > 0 && /* @__PURE__ */ e(A, { bold: !0, sx: { mb: 4, ml: 24, mt: 12 }, variant: "XSmall", children:
|
|
619
|
-
/* @__PURE__ */ e(B, { sx: { bgcolor: "background.paper" }, children: n.map((r) => /* @__PURE__ */ e(N, { children: /* @__PURE__ */ i(k, { onClick: () =>
|
|
620
|
-
/* @__PURE__ */ e(
|
|
621
|
-
|
|
617
|
+
/* @__PURE__ */ e(F, { isOpen: s, onClose: () => o(!1), title: _.details_change_account, children: /* @__PURE__ */ i(g, { children: [
|
|
618
|
+
n.length > 0 && /* @__PURE__ */ e(A, { bold: !0, sx: { mb: 4, ml: 24, mt: 12 }, variant: "XSmall", children: m.account_types[1] }),
|
|
619
|
+
/* @__PURE__ */ e(B, { sx: { bgcolor: "background.paper" }, children: n.map((r) => /* @__PURE__ */ e(N, { children: /* @__PURE__ */ i(k, { onClick: () => h(r), children: [
|
|
620
|
+
/* @__PURE__ */ e(P, { children: /* @__PURE__ */ e(
|
|
621
|
+
oe,
|
|
622
622
|
{
|
|
623
623
|
alt: r?.name || "",
|
|
624
624
|
institutionGuid: r?.institution_guid || ""
|
|
@@ -633,10 +633,10 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
633
633
|
),
|
|
634
634
|
/* @__PURE__ */ e(M, {})
|
|
635
635
|
] }) }, r.guid)) }),
|
|
636
|
-
|
|
637
|
-
/* @__PURE__ */ e(B, { sx: { bgcolor: "background.paper" }, children:
|
|
638
|
-
/* @__PURE__ */ e(
|
|
639
|
-
|
|
636
|
+
c.length > 0 && /* @__PURE__ */ e(A, { bold: !0, sx: { mb: 4, ml: 24, mt: 12 }, variant: "XSmall", children: m.account_types[2] }),
|
|
637
|
+
/* @__PURE__ */ e(B, { sx: { bgcolor: "background.paper" }, children: c.map((r) => /* @__PURE__ */ e(N, { children: /* @__PURE__ */ i(k, { onClick: () => h(r), children: [
|
|
638
|
+
/* @__PURE__ */ e(P, { children: /* @__PURE__ */ e(
|
|
639
|
+
oe,
|
|
640
640
|
{
|
|
641
641
|
alt: r?.name || "",
|
|
642
642
|
institutionGuid: r?.institution_guid || ""
|
|
@@ -652,7 +652,7 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
652
652
|
/* @__PURE__ */ e(M, {})
|
|
653
653
|
] }) }, r.guid)) }),
|
|
654
654
|
/* @__PURE__ */ e(
|
|
655
|
-
|
|
655
|
+
Ae,
|
|
656
656
|
{
|
|
657
657
|
description: _.connect_description,
|
|
658
658
|
label: _.connect_button,
|
|
@@ -661,412 +661,413 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
661
661
|
)
|
|
662
662
|
] }) })
|
|
663
663
|
] });
|
|
664
|
-
},
|
|
665
|
-
const { goals: n } = T(), { setAlert:
|
|
666
|
-
const
|
|
667
|
-
t.name = a,
|
|
664
|
+
}, Dt = D(({ goal: t }) => {
|
|
665
|
+
const { goals: n } = T(), { setAlert: c, setSelectedGoal: m, updateGoal: _ } = E(), [a, u] = y.useState(t.name), p = !t.guid, b = t.track_type === d.SAVINGS_TRACK && t.has_been_spent || t.track_type !== d.SAVINGS_TRACK && t.is_complete, s = async () => {
|
|
666
|
+
const h = { ...t, name: a };
|
|
667
|
+
t.name = a, p ? m(h) : (await _(h), c(n.alert_goal_updated_name));
|
|
668
668
|
}, o = () => {
|
|
669
669
|
setTimeout(() => {
|
|
670
670
|
u(t.name);
|
|
671
671
|
}, 250);
|
|
672
672
|
};
|
|
673
673
|
return /* @__PURE__ */ e(
|
|
674
|
-
|
|
674
|
+
Q,
|
|
675
675
|
{
|
|
676
|
-
isDisabled:
|
|
676
|
+
isDisabled: b,
|
|
677
677
|
isSaveDisabled: !a,
|
|
678
678
|
label: n.details_goal_name,
|
|
679
679
|
onCancel: o,
|
|
680
|
-
onSave:
|
|
680
|
+
onSave: s,
|
|
681
681
|
primaryText: n.details_goal_name,
|
|
682
682
|
secondaryText: t.name,
|
|
683
683
|
children: /* @__PURE__ */ e(
|
|
684
|
-
|
|
684
|
+
we,
|
|
685
685
|
{
|
|
686
686
|
error: !a,
|
|
687
687
|
fullWidth: !0,
|
|
688
688
|
label: n.details_goal_name,
|
|
689
|
-
onChange: (
|
|
689
|
+
onChange: (h) => u(h.target.value),
|
|
690
690
|
value: a
|
|
691
691
|
}
|
|
692
692
|
)
|
|
693
693
|
}
|
|
694
694
|
);
|
|
695
|
-
}),
|
|
696
|
-
const { goals: n } = T(), { setAlert:
|
|
695
|
+
}), Kt = ({ goal: t }) => {
|
|
696
|
+
const { goals: n } = T(), { setAlert: c, setSelectedGoal: m, updateGoal: _ } = E(), [a, u] = y.useState(t.retirement_age || 65), p = !t.guid, b = async () => {
|
|
697
697
|
if (!isNaN(a)) {
|
|
698
|
-
const
|
|
699
|
-
t.retirement_age = a,
|
|
698
|
+
const h = { ...t, retirement_age: a };
|
|
699
|
+
t.retirement_age = a, p ? m(h) : (await _(h), c(n.alert_goal_updated_retirement_age));
|
|
700
700
|
}
|
|
701
|
-
},
|
|
701
|
+
}, s = () => {
|
|
702
702
|
setTimeout(() => {
|
|
703
703
|
u(t.retirement_age || 65);
|
|
704
704
|
}, 250);
|
|
705
705
|
}, o = !a || isNaN(a) || a < 20 || a >= 100;
|
|
706
706
|
return /* @__PURE__ */ e(
|
|
707
|
-
|
|
707
|
+
Q,
|
|
708
708
|
{
|
|
709
709
|
isDisabled: t.is_complete,
|
|
710
710
|
isSaveDisabled: o,
|
|
711
711
|
label: n.details_retirement_age,
|
|
712
|
-
onCancel:
|
|
713
|
-
onSave:
|
|
712
|
+
onCancel: s,
|
|
713
|
+
onSave: b,
|
|
714
714
|
primaryText: n.details_retirement_age,
|
|
715
715
|
secondaryText: `${t.retirement_age}`,
|
|
716
|
-
zeroStateText:
|
|
716
|
+
zeroStateText: p && !t.retirement_age ? n.add_age : void 0,
|
|
717
717
|
children: /* @__PURE__ */ e(
|
|
718
|
-
|
|
718
|
+
we,
|
|
719
719
|
{
|
|
720
720
|
error: o,
|
|
721
721
|
fullWidth: !0,
|
|
722
722
|
label: n.details_retirement_age,
|
|
723
|
-
onChange: (
|
|
723
|
+
onChange: (h) => u(Number(h.target.value)),
|
|
724
724
|
value: isNaN(a) ? "" : a
|
|
725
725
|
}
|
|
726
726
|
)
|
|
727
727
|
}
|
|
728
728
|
);
|
|
729
|
-
},
|
|
730
|
-
const { goals: n } = T(), { user:
|
|
731
|
-
a &&
|
|
729
|
+
}, Mt = D(({ goal: t }) => {
|
|
730
|
+
const { goals: n } = T(), { user: c, updateUser: m } = Ie(), { setAlert: _ } = E(), [a, u] = y.useState(J(c.birthday ?? 0)), [p, b] = y.useState(null), s = t.is_complete, o = async () => {
|
|
731
|
+
a && ut(a) && (await m({ ...c, birthday: mt(a) }), _(n.alert_goal_updated_birthday));
|
|
732
732
|
};
|
|
733
733
|
return /* @__PURE__ */ e(
|
|
734
|
-
|
|
734
|
+
Q,
|
|
735
735
|
{
|
|
736
|
-
isDisabled:
|
|
737
|
-
isSaveDisabled: !!
|
|
736
|
+
isDisabled: s,
|
|
737
|
+
isSaveDisabled: !!p,
|
|
738
738
|
label: n.details_birthday,
|
|
739
739
|
onSave: o,
|
|
740
740
|
primaryText: n.details_birthday,
|
|
741
|
-
secondaryText: `${
|
|
742
|
-
zeroStateText: !t.guid && !
|
|
743
|
-
children: /* @__PURE__ */ e(
|
|
744
|
-
|
|
741
|
+
secondaryText: `${re(J(c.birthday ?? 0), ie.MONTH_DAY_YEAR)}`,
|
|
742
|
+
zeroStateText: !t.guid && !c.birthday ? n.add_birthday : void 0,
|
|
743
|
+
children: /* @__PURE__ */ e(ht, { dateAdapter: _t, children: /* @__PURE__ */ e(
|
|
744
|
+
pt,
|
|
745
745
|
{
|
|
746
746
|
label: n.details_birthday,
|
|
747
747
|
onChange: u,
|
|
748
|
-
onError: (
|
|
748
|
+
onError: (h) => b(h),
|
|
749
749
|
sx: { width: "100%" },
|
|
750
750
|
value: a
|
|
751
751
|
}
|
|
752
752
|
) })
|
|
753
753
|
}
|
|
754
754
|
);
|
|
755
|
-
}),
|
|
756
|
-
const { goals: n } = T(), { visibleInvestmentAccounts:
|
|
757
|
-
addRetirementGoalAccount:
|
|
755
|
+
}), Bt = ({ goal: t }) => {
|
|
756
|
+
const { goals: n } = T(), { visibleInvestmentAccounts: c } = j(), {
|
|
757
|
+
addRetirementGoalAccount: m,
|
|
758
758
|
newRetirementGoalAccounts: _,
|
|
759
759
|
retirementGoalAccounts: a,
|
|
760
760
|
selectedGoal: u,
|
|
761
|
-
setAlert:
|
|
762
|
-
setNewRetirementGoalAccounts:
|
|
763
|
-
setSelectedGoal:
|
|
764
|
-
} = E(), [o,
|
|
765
|
-
(C) => r ? _.find((
|
|
766
|
-
), f =
|
|
767
|
-
(C) => !a.find((
|
|
768
|
-
),
|
|
769
|
-
const
|
|
761
|
+
setAlert: p,
|
|
762
|
+
setNewRetirementGoalAccounts: b,
|
|
763
|
+
setSelectedGoal: s
|
|
764
|
+
} = E(), [o, h] = y.useState(!1), r = !t.guid, l = c.filter(
|
|
765
|
+
(C) => r ? _.find((R) => R.account_guid === C.guid) : a.find((R) => R.account_guid === C.guid)
|
|
766
|
+
), f = c.filter(
|
|
767
|
+
(C) => !a.find((R) => R.account_guid === C.guid)
|
|
768
|
+
), S = async (C) => {
|
|
769
|
+
const R = C.map((I) => ({
|
|
770
770
|
account_guid: I.guid,
|
|
771
771
|
retirement_goal_guid: t.guid
|
|
772
772
|
}));
|
|
773
773
|
if (r)
|
|
774
|
-
|
|
774
|
+
b(R);
|
|
775
775
|
else
|
|
776
|
-
for (const I of
|
|
777
|
-
await
|
|
778
|
-
|
|
776
|
+
for (const I of R)
|
|
777
|
+
await m(I), p(n.alert_account_added);
|
|
778
|
+
s({
|
|
779
779
|
...u,
|
|
780
|
-
current_amount: C.reduce((I,
|
|
781
|
-
}),
|
|
780
|
+
current_amount: C.reduce((I, K) => I + (K.balance || 0), 0)
|
|
781
|
+
}), h(!1);
|
|
782
782
|
};
|
|
783
783
|
return /* @__PURE__ */ i(g, { children: [
|
|
784
|
-
|
|
785
|
-
/* @__PURE__ */ e(
|
|
786
|
-
/* @__PURE__ */ e(
|
|
784
|
+
l.map((C) => /* @__PURE__ */ i(g, { children: [
|
|
785
|
+
/* @__PURE__ */ e(Be, { account: C }),
|
|
786
|
+
/* @__PURE__ */ e(v, {})
|
|
787
787
|
] }, C.guid)),
|
|
788
|
-
/* @__PURE__ */ e(N, { disableGutters: !0, disablePadding: !0, sx: { bgcolor: "background.paper" }, children: /* @__PURE__ */ i(k, { onClick: () =>
|
|
788
|
+
/* @__PURE__ */ e(N, { disableGutters: !0, disablePadding: !0, sx: { bgcolor: "background.paper" }, children: /* @__PURE__ */ i(k, { onClick: () => h(!0), children: [
|
|
789
789
|
/* @__PURE__ */ e(w, { children: /* @__PURE__ */ i(g, { alignItems: "center", color: "primary.main", direction: "row", gap: 8, children: [
|
|
790
|
-
/* @__PURE__ */ e(
|
|
790
|
+
/* @__PURE__ */ e(Ee, { filled: !0 }),
|
|
791
791
|
n.details_add_account
|
|
792
792
|
] }) }),
|
|
793
793
|
/* @__PURE__ */ e(M, { color: "primary" })
|
|
794
794
|
] }) }),
|
|
795
795
|
/* @__PURE__ */ e(
|
|
796
|
-
|
|
796
|
+
Me,
|
|
797
797
|
{
|
|
798
798
|
accounts: f,
|
|
799
799
|
isOpen: o,
|
|
800
|
-
onClose: () =>
|
|
801
|
-
onSave:
|
|
800
|
+
onClose: () => h(!1),
|
|
801
|
+
onSave: S,
|
|
802
802
|
title: n.add_select_accounts
|
|
803
803
|
}
|
|
804
804
|
)
|
|
805
805
|
] });
|
|
806
|
-
},
|
|
807
|
-
const { goals: n } = T(), { visibleAccounts:
|
|
808
|
-
() =>
|
|
809
|
-
[
|
|
806
|
+
}, Ot = D(({ goal: t }) => {
|
|
807
|
+
const { goals: n } = T(), { visibleAccounts: c } = j(), m = y.useMemo(
|
|
808
|
+
() => c.find((u) => u.guid === t.account_guid),
|
|
809
|
+
[c, t]
|
|
810
810
|
), _ = t.track_type;
|
|
811
811
|
let a = n.details_save_title;
|
|
812
|
-
return t.track_type ===
|
|
812
|
+
return t.track_type === d.DEBT_TRACK ? a = n.details_debt_title : t.track_type === d.RETIREMENT_TRACK && (a = n.details_retirement_title), /* @__PURE__ */ i(g, { children: [
|
|
813
813
|
/* @__PURE__ */ i(g, { mx: 24, children: [
|
|
814
814
|
/* @__PURE__ */ e(A, { color: "text.secondary", sx: { mb: 4, mt: 24 }, variant: "XSmall", children: a }),
|
|
815
|
-
/* @__PURE__ */ e(
|
|
815
|
+
/* @__PURE__ */ e(Ke, { goal: t, isInDrawer: !0 }),
|
|
816
816
|
/* @__PURE__ */ e(A, { color: "text.secondary", sx: { mb: 4, mt: 24 }, variant: "XSmall", children: n.details_title })
|
|
817
817
|
] }),
|
|
818
818
|
/* @__PURE__ */ i(B, { sx: { bgcolor: "background.paper" }, children: [
|
|
819
|
-
/* @__PURE__ */ e(
|
|
820
|
-
/* @__PURE__ */ e(
|
|
821
|
-
(_ ===
|
|
822
|
-
/* @__PURE__ */ e(
|
|
823
|
-
/* @__PURE__ */ e(
|
|
819
|
+
/* @__PURE__ */ e(Dt, { goal: t }),
|
|
820
|
+
/* @__PURE__ */ e(v, { sx: { ml: 24 } }),
|
|
821
|
+
(_ === d.SAVINGS_TRACK || _ === d.RETIREMENT_TRACK) && /* @__PURE__ */ i(U, { children: [
|
|
822
|
+
/* @__PURE__ */ e(kt, { goal: t }),
|
|
823
|
+
/* @__PURE__ */ e(v, { sx: { ml: _ === d.RETIREMENT_TRACK ? 24 : 0 } })
|
|
824
824
|
] }),
|
|
825
|
-
t.track_type ===
|
|
826
|
-
/* @__PURE__ */ e(
|
|
827
|
-
/* @__PURE__ */ e(
|
|
828
|
-
/* @__PURE__ */ e(
|
|
829
|
-
/* @__PURE__ */ e(
|
|
830
|
-
/* @__PURE__ */ e(
|
|
831
|
-
/* @__PURE__ */ e(
|
|
825
|
+
t.track_type === d.DEBT_TRACK && /* @__PURE__ */ i(U, { children: [
|
|
826
|
+
/* @__PURE__ */ e(lt, { goal: t }),
|
|
827
|
+
/* @__PURE__ */ e(v, { sx: { ml: 24 } }),
|
|
828
|
+
/* @__PURE__ */ e(ct, { goal: t }),
|
|
829
|
+
/* @__PURE__ */ e(v, { sx: { ml: 24 } }),
|
|
830
|
+
/* @__PURE__ */ e(dt, { goal: t }),
|
|
831
|
+
/* @__PURE__ */ e(v, { variant: "fullWidth" })
|
|
832
832
|
] }),
|
|
833
|
-
t.track_type ===
|
|
834
|
-
/* @__PURE__ */ e(
|
|
835
|
-
/* @__PURE__ */ e(
|
|
836
|
-
/* @__PURE__ */ e(
|
|
837
|
-
/* @__PURE__ */ e(
|
|
833
|
+
t.track_type === d.RETIREMENT_TRACK && /* @__PURE__ */ i(U, { children: [
|
|
834
|
+
/* @__PURE__ */ e(Kt, { goal: t }),
|
|
835
|
+
/* @__PURE__ */ e(v, { sx: { ml: 24 } }),
|
|
836
|
+
/* @__PURE__ */ e(Mt, { goal: t }),
|
|
837
|
+
/* @__PURE__ */ e(v, { variant: "fullWidth" })
|
|
838
838
|
] })
|
|
839
839
|
] }),
|
|
840
|
-
/* @__PURE__ */ e(A, { color: "text.secondary", sx: { mb: 4, ml: 24, mt: 12 }, variant: "XSmall", children: t.track_type ===
|
|
841
|
-
t.track_type !==
|
|
842
|
-
/* @__PURE__ */ e(
|
|
843
|
-
/* @__PURE__ */ e(
|
|
840
|
+
/* @__PURE__ */ e(A, { color: "text.secondary", sx: { mb: 4, ml: 24, mt: 12 }, variant: "XSmall", children: t.track_type === d.RETIREMENT_TRACK ? n.details_accounts : n.details_account }),
|
|
841
|
+
t.track_type !== d.RETIREMENT_TRACK && m && /* @__PURE__ */ i(U, { children: [
|
|
842
|
+
/* @__PURE__ */ e(Be, { account: m }),
|
|
843
|
+
/* @__PURE__ */ e(v, {})
|
|
844
844
|
] }),
|
|
845
|
-
t.track_type ===
|
|
846
|
-
/* @__PURE__ */ e(
|
|
847
|
-
/* @__PURE__ */ e(
|
|
845
|
+
t.track_type === d.RETIREMENT_TRACK && /* @__PURE__ */ i(U, { children: [
|
|
846
|
+
/* @__PURE__ */ e(Bt, { goal: t }),
|
|
847
|
+
/* @__PURE__ */ e(v, {})
|
|
848
848
|
] }),
|
|
849
|
-
t.track_type ===
|
|
849
|
+
t.track_type === d.SAVINGS_TRACK && !t.is_complete && /* @__PURE__ */ e(wt, { goal: t })
|
|
850
850
|
] });
|
|
851
|
-
}),
|
|
852
|
-
const { visibleInvestmentAccounts: n } =
|
|
851
|
+
}), Lt = D(({ onClose: t }) => {
|
|
852
|
+
const { visibleInvestmentAccounts: n } = j(), { goals: c, common: m } = T(), {
|
|
853
853
|
addGoal: _,
|
|
854
854
|
addRetirementGoal: a,
|
|
855
855
|
deleteGoal: u,
|
|
856
|
-
deleteRetirementGoal:
|
|
857
|
-
newRetirementGoalAccounts:
|
|
858
|
-
retirementGoalAccounts:
|
|
856
|
+
deleteRetirementGoal: p,
|
|
857
|
+
newRetirementGoalAccounts: b,
|
|
858
|
+
retirementGoalAccounts: s,
|
|
859
859
|
selectedGoal: o,
|
|
860
|
-
setAlert:
|
|
860
|
+
setAlert: h,
|
|
861
861
|
setSelectedGoal: r,
|
|
862
|
-
updateGoal:
|
|
863
|
-
} = E(), { user: f } =
|
|
864
|
-
const G =
|
|
865
|
-
return n.filter((
|
|
866
|
-
}, [
|
|
862
|
+
updateGoal: l
|
|
863
|
+
} = E(), { user: f } = Ie(), [S, C] = y.useState(!1), R = !o?.guid, I = o?.track_type === d.SAVINGS_TRACK && o.is_complete && !o.has_been_spent, K = y.useMemo(() => {
|
|
864
|
+
const G = R ? b : s;
|
|
865
|
+
return n.filter((H) => G.some((X) => X.account_guid === H.guid));
|
|
866
|
+
}, [R, n, b, s]), se = y.useMemo(() => {
|
|
867
867
|
if (!o) return !1;
|
|
868
|
-
const { account_guid: G, track_type:
|
|
869
|
-
return
|
|
870
|
-
}, [o,
|
|
871
|
-
let
|
|
872
|
-
|
|
873
|
-
const
|
|
868
|
+
const { account_guid: G, track_type: H, name: X, amount: O, retirement_age: ne } = o;
|
|
869
|
+
return H === d.SAVINGS_TRACK ? G ? !!X && !!O : !1 : H === d.RETIREMENT_TRACK ? K.length ? !!X && !!O && !!ne && !!f.birthday : !1 : !0;
|
|
870
|
+
}, [o, K, f.birthday]);
|
|
871
|
+
let W = m.delete_button, z = () => C(!0);
|
|
872
|
+
R ? (z = () => ee(), W = m.save_button) : I && (z = () => le(), W = c.mark_as_complete_button);
|
|
873
|
+
const ee = async () => {
|
|
874
874
|
if (o) {
|
|
875
875
|
const G = o.track_type;
|
|
876
|
-
G !==
|
|
876
|
+
G !== d.RETIREMENT_TRACK ? await _(o) : G === d.RETIREMENT_TRACK && await a({ ...o, target_amount: o.amount }), h(c.alert_goal_added), r(void 0), G && t?.(G);
|
|
877
877
|
}
|
|
878
|
-
},
|
|
879
|
-
o && (o.track_type !==
|
|
880
|
-
},
|
|
878
|
+
}, te = async () => {
|
|
879
|
+
o && (o.track_type !== d.RETIREMENT_TRACK ? await u(o.guid) : o.track_type === d.RETIREMENT_TRACK && await p(o), h(c.alert_goal_deleted), r(void 0));
|
|
880
|
+
}, le = async () => {
|
|
881
881
|
const G = {
|
|
882
882
|
...o,
|
|
883
883
|
has_been_spent: !0
|
|
884
884
|
};
|
|
885
|
-
await
|
|
885
|
+
await l(G), h(c.alert_goal_completed), r(void 0);
|
|
886
886
|
};
|
|
887
887
|
return /* @__PURE__ */ i(g, { children: [
|
|
888
888
|
/* @__PURE__ */ e(
|
|
889
|
-
|
|
889
|
+
F,
|
|
890
890
|
{
|
|
891
|
-
ariaLabelClose:
|
|
892
|
-
hasSecondaryAction:
|
|
891
|
+
ariaLabelClose: m.close_aria,
|
|
892
|
+
hasSecondaryAction: R,
|
|
893
893
|
isOpen: !!o,
|
|
894
|
-
isPrimaryDisabled: !
|
|
894
|
+
isPrimaryDisabled: !se,
|
|
895
895
|
onClose: () => r(void 0),
|
|
896
|
-
onPrimaryAction:
|
|
897
|
-
primaryColor:
|
|
898
|
-
primaryText:
|
|
896
|
+
onPrimaryAction: z,
|
|
897
|
+
primaryColor: R || I ? "primary" : "error",
|
|
898
|
+
primaryText: W,
|
|
899
899
|
secondaryColor: "primary",
|
|
900
|
-
title:
|
|
901
|
-
children: o && /* @__PURE__ */ e(
|
|
900
|
+
title: c.goal_details,
|
|
901
|
+
children: o && /* @__PURE__ */ e(Ot, { goal: o })
|
|
902
902
|
}
|
|
903
903
|
),
|
|
904
904
|
/* @__PURE__ */ e(
|
|
905
|
-
|
|
905
|
+
tt,
|
|
906
906
|
{
|
|
907
|
-
copy: { close_aria:
|
|
908
|
-
isOpen:
|
|
907
|
+
copy: { close_aria: m.close_aria, title: c.delete_goal },
|
|
908
|
+
isOpen: S,
|
|
909
909
|
maxWidth: "xs",
|
|
910
910
|
onClose: () => C(!1),
|
|
911
|
-
onPrimaryAction:
|
|
911
|
+
onPrimaryAction: te,
|
|
912
912
|
primaryColor: "error",
|
|
913
|
-
primaryText:
|
|
914
|
-
children: /* @__PURE__ */ e(A, { sx: { textWrap: "wrap" }, variant: "Paragraph", children:
|
|
913
|
+
primaryText: m.delete_button,
|
|
914
|
+
children: /* @__PURE__ */ e(A, { sx: { textWrap: "wrap" }, variant: "Paragraph", children: L(c.delete_description, o?.name || "") })
|
|
915
915
|
}
|
|
916
916
|
)
|
|
917
917
|
] });
|
|
918
|
-
}),
|
|
919
|
-
const { onEvent:
|
|
920
|
-
|
|
918
|
+
}), zn = D(({ onBackClick: t, sx: n }) => {
|
|
919
|
+
const { onEvent: c } = Ge(), { config: m } = Je(), { isMobile: _ } = pe(), { visibleAccounts: a } = j(), { isCopyLoaded: u, isInitialized: p, setSelectedAccounts: b } = Ne(), { goals: s, common: o } = T(), { alert: h, goals: r, goalsLoaded: l, loadGoals: f, monthlyCashFlowProfile: S, setAlert: C, retirmentGoals: R } = E(), [I, K] = y.useState(0), [se, W] = y.useState(!1), z = S?.amount_allocated_for_savings_goals || 0, ee = S?.amount_allocated_for_debt_goals || 0, te = S?.amount_allocated_for_retirement_goals || 0, le = u ? L(
|
|
920
|
+
_ ? s.tab_subtitle_mobile : s.tab_subtitle,
|
|
921
921
|
x(z, "0,0")
|
|
922
|
-
) : "",
|
|
923
|
-
|
|
924
|
-
x(
|
|
925
|
-
) : "",
|
|
926
|
-
|
|
922
|
+
) : "", G = u ? L(
|
|
923
|
+
_ ? s.tab_subtitle_mobile : s.tab_subtitle,
|
|
924
|
+
x(ee, "0,0")
|
|
925
|
+
) : "", H = u ? L(
|
|
926
|
+
_ ? s.tab_subtitle_mobile : s.tab_subtitle,
|
|
927
927
|
x(te, "0,0")
|
|
928
928
|
) : "";
|
|
929
929
|
y.useEffect(() => {
|
|
930
|
-
b(
|
|
930
|
+
b(a), c(Y.GOALS_VIEW);
|
|
931
931
|
}, []), y.useEffect(() => {
|
|
932
|
-
|
|
933
|
-
}, [
|
|
932
|
+
p && f().finally();
|
|
933
|
+
}, [p, z, ee, te]);
|
|
934
934
|
const X = () => {
|
|
935
|
-
|
|
936
|
-
},
|
|
937
|
-
|
|
938
|
-
},
|
|
939
|
-
|
|
940
|
-
},
|
|
941
|
-
() =>
|
|
942
|
-
[
|
|
943
|
-
);
|
|
944
|
-
return !
|
|
945
|
-
|
|
935
|
+
c(Y.GOALS_CLICK_FILTER);
|
|
936
|
+
}, O = () => {
|
|
937
|
+
W(!0), c(Y.GOALS_CLICK_ADD);
|
|
938
|
+
}, ne = ($) => {
|
|
939
|
+
W(!1), $ === d.SAVINGS_TRACK ? K(0) : $ === d.DEBT_TRACK ? K(1) : $ === d.RETIREMENT_TRACK && K(2);
|
|
940
|
+
}, Z = y.useMemo(
|
|
941
|
+
() => l && (r.length === 0 || r.every(({ track_type: $ }) => !$) && R.length === 0),
|
|
942
|
+
[r, l, R]
|
|
943
|
+
), Oe = m.show_connections_widget_in_master ? "buttons" : "no-buttons";
|
|
944
|
+
return !l || !u || !p ? /* @__PURE__ */ e(De, {}) : /* @__PURE__ */ i(
|
|
945
|
+
gt,
|
|
946
946
|
{
|
|
947
|
-
accountOptions:
|
|
947
|
+
accountOptions: a,
|
|
948
948
|
actions: [
|
|
949
949
|
{
|
|
950
950
|
iconName: "add",
|
|
951
|
-
label:
|
|
952
|
-
onClick:
|
|
951
|
+
label: s.add_title,
|
|
952
|
+
onClick: O
|
|
953
953
|
}
|
|
954
954
|
],
|
|
955
955
|
onAccountsFilterClick: X,
|
|
956
956
|
onBackClick: t,
|
|
957
957
|
sx: n,
|
|
958
|
-
title:
|
|
958
|
+
title: s.title,
|
|
959
959
|
children: [
|
|
960
|
-
/* @__PURE__ */ i(g, { mx:
|
|
960
|
+
/* @__PURE__ */ i(g, { mx: _ ? 0 : 48, my: 24, children: [
|
|
961
961
|
/* @__PURE__ */ i(
|
|
962
|
-
|
|
962
|
+
Fe,
|
|
963
963
|
{
|
|
964
|
-
onChange: ($,
|
|
964
|
+
onChange: ($, Le) => K(Le),
|
|
965
965
|
sx: { bgcolor: "background.paper" },
|
|
966
966
|
textColor: "primary",
|
|
967
|
-
value:
|
|
967
|
+
value: Z ? !1 : I,
|
|
968
968
|
variant: "fullWidth",
|
|
969
969
|
children: [
|
|
970
970
|
/* @__PURE__ */ e(
|
|
971
|
-
|
|
971
|
+
ce,
|
|
972
972
|
{
|
|
973
|
-
disabled:
|
|
974
|
-
label: /* @__PURE__ */ e(
|
|
973
|
+
disabled: Z,
|
|
974
|
+
label: /* @__PURE__ */ e(de, { subtitle: le, title: s.tab_saving_title })
|
|
975
975
|
}
|
|
976
976
|
),
|
|
977
977
|
/* @__PURE__ */ e(
|
|
978
|
-
|
|
978
|
+
ce,
|
|
979
979
|
{
|
|
980
|
-
disabled:
|
|
981
|
-
label: /* @__PURE__ */ e(
|
|
980
|
+
disabled: Z,
|
|
981
|
+
label: /* @__PURE__ */ e(de, { subtitle: G, title: s.tab_debt_title })
|
|
982
982
|
}
|
|
983
983
|
),
|
|
984
984
|
/* @__PURE__ */ e(
|
|
985
|
-
|
|
985
|
+
ce,
|
|
986
986
|
{
|
|
987
|
-
disabled:
|
|
988
|
-
label: /* @__PURE__ */ e(
|
|
987
|
+
disabled: Z,
|
|
988
|
+
label: /* @__PURE__ */ e(de, { subtitle: H, title: s.tab_retirement_title })
|
|
989
989
|
}
|
|
990
990
|
)
|
|
991
991
|
]
|
|
992
992
|
}
|
|
993
993
|
),
|
|
994
|
-
|
|
995
|
-
|
|
994
|
+
Z ? /* @__PURE__ */ e(
|
|
995
|
+
bt,
|
|
996
996
|
{
|
|
997
|
-
header:
|
|
997
|
+
header: s.create_goals_header,
|
|
998
998
|
icon: "trophy",
|
|
999
|
-
onClick:
|
|
1000
|
-
primaryButton:
|
|
1001
|
-
subText:
|
|
999
|
+
onClick: O,
|
|
1000
|
+
primaryButton: s.add_goals_button,
|
|
1001
|
+
subText: s.empty_state_subheader,
|
|
1002
1002
|
sx: {
|
|
1003
1003
|
width: { sm: 432 },
|
|
1004
1004
|
".buttons-footer": {
|
|
1005
1005
|
width: 139
|
|
1006
1006
|
}
|
|
1007
|
-
}
|
|
1007
|
+
},
|
|
1008
|
+
variant: Oe
|
|
1008
1009
|
}
|
|
1009
1010
|
) : /* @__PURE__ */ i(U, { children: [
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1011
|
+
I === 0 && /* @__PURE__ */ e(me, { onAddGoals: O, trackType: d.SAVINGS_TRACK }),
|
|
1012
|
+
I === 1 && /* @__PURE__ */ e(me, { onAddGoals: O, trackType: d.DEBT_TRACK }),
|
|
1013
|
+
I === 2 && /* @__PURE__ */ e(me, { onAddGoals: O, trackType: d.RETIREMENT_TRACK })
|
|
1013
1014
|
] })
|
|
1014
1015
|
] }),
|
|
1015
|
-
/* @__PURE__ */ e(
|
|
1016
|
+
/* @__PURE__ */ e(Lt, { onClose: ne }),
|
|
1016
1017
|
/* @__PURE__ */ e(
|
|
1017
|
-
|
|
1018
|
+
F,
|
|
1018
1019
|
{
|
|
1019
|
-
ariaLabelClose:
|
|
1020
|
-
isOpen:
|
|
1021
|
-
onClose: () =>
|
|
1022
|
-
title:
|
|
1023
|
-
children: /* @__PURE__ */ e(
|
|
1020
|
+
ariaLabelClose: o.close_aria,
|
|
1021
|
+
isOpen: se,
|
|
1022
|
+
onClose: () => W(!1),
|
|
1023
|
+
title: s.add_goal_title,
|
|
1024
|
+
children: /* @__PURE__ */ e(Nt, { onClose: ne })
|
|
1024
1025
|
}
|
|
1025
1026
|
),
|
|
1026
|
-
/* @__PURE__ */ e(
|
|
1027
|
+
/* @__PURE__ */ e(je, { onClose: () => C(""), open: !!h, children: /* @__PURE__ */ e(Pe, { onClose: () => C(""), severity: "success", variant: "filled", children: h }) })
|
|
1027
1028
|
]
|
|
1028
1029
|
}
|
|
1029
1030
|
);
|
|
1030
|
-
}),
|
|
1031
|
-
const { goals: n } = T(),
|
|
1032
|
-
backgroundColor:
|
|
1031
|
+
}), Wt = D(({ goal: t }) => {
|
|
1032
|
+
const { goals: n } = T(), c = At(), {
|
|
1033
|
+
backgroundColor: m,
|
|
1033
1034
|
color: _,
|
|
1034
1035
|
percentage: a,
|
|
1035
1036
|
projectedText: u
|
|
1036
|
-
} =
|
|
1037
|
-
let
|
|
1038
|
-
return t.track_type ===
|
|
1039
|
-
/* @__PURE__ */ e(
|
|
1040
|
-
/* @__PURE__ */ i(
|
|
1041
|
-
/* @__PURE__ */ e(
|
|
1037
|
+
} = ye(n, t), p = Math.round(a * 100);
|
|
1038
|
+
let b = /* @__PURE__ */ e(Re, {});
|
|
1039
|
+
return t.track_type === d.DEBT_TRACK ? b = /* @__PURE__ */ e(ve, {}) : t.track_type === d.RETIREMENT_TRACK && (b = /* @__PURE__ */ e(xe, {})), /* @__PURE__ */ i(g, { alignItems: "center", direction: "row", spacing: 12, sx: { py: 12 }, children: [
|
|
1040
|
+
/* @__PURE__ */ e(ae, { sx: { bgcolor: m, color: _, height: 32, width: 32 }, variant: "rounded", children: b }),
|
|
1041
|
+
/* @__PURE__ */ i(yt, { sx: { width: "100%" }, children: [
|
|
1042
|
+
/* @__PURE__ */ e(ue, { fontSize: 15, fontWeight: 600, variant: "body1", children: t.name }),
|
|
1042
1043
|
t.projected_to_complete_at && /* @__PURE__ */ e(A, { color: "text.secondary", variant: "XSmall", children: u })
|
|
1043
1044
|
] }),
|
|
1044
1045
|
/* @__PURE__ */ e(
|
|
1045
|
-
|
|
1046
|
+
Tt,
|
|
1046
1047
|
{
|
|
1047
|
-
backgroundStrokeColor:
|
|
1048
|
-
color:
|
|
1049
|
-
percent:
|
|
1048
|
+
backgroundStrokeColor: c.palette.border.lighter,
|
|
1049
|
+
color: c.palette.primary.main,
|
|
1050
|
+
percent: p,
|
|
1050
1051
|
size: 40,
|
|
1051
1052
|
strokeWidth: 3,
|
|
1052
|
-
children: /* @__PURE__ */ e(
|
|
1053
|
+
children: /* @__PURE__ */ e(V, { fontWeight: 700, variant: "caption", children: `${p}%` })
|
|
1053
1054
|
}
|
|
1054
1055
|
)
|
|
1055
1056
|
] });
|
|
1056
|
-
}),
|
|
1057
|
+
}), Vt = ({ header: t, subText: n, sx: c }) => /* @__PURE__ */ i(
|
|
1057
1058
|
g,
|
|
1058
1059
|
{
|
|
1059
1060
|
sx: {
|
|
1060
1061
|
alignItems: "center",
|
|
1061
1062
|
alignSelf: "center",
|
|
1062
1063
|
px: 24,
|
|
1063
|
-
...
|
|
1064
|
+
...c
|
|
1064
1065
|
},
|
|
1065
1066
|
children: [
|
|
1066
|
-
/* @__PURE__ */ e(
|
|
1067
|
-
/* @__PURE__ */ e(
|
|
1067
|
+
/* @__PURE__ */ e(qe, { size: 32 }),
|
|
1068
|
+
/* @__PURE__ */ e(ue, { fontSize: 15, fontWeight: 600, children: t }),
|
|
1068
1069
|
/* @__PURE__ */ e(
|
|
1069
|
-
|
|
1070
|
+
V,
|
|
1070
1071
|
{
|
|
1071
1072
|
color: "text.secondary",
|
|
1072
1073
|
sx: { fontWeight: 400, maxWidth: { sm: 424 }, textAlign: "center" },
|
|
@@ -1076,46 +1077,46 @@ const At = (t, n) => n ? x(t, t < 1e3 ? "0" : "0.00a").replace(
|
|
|
1076
1077
|
)
|
|
1077
1078
|
]
|
|
1078
1079
|
}
|
|
1079
|
-
),
|
|
1080
|
-
const { visibleAccounts: n } =
|
|
1080
|
+
), Hn = D(({ onCTAClick: t }) => {
|
|
1081
|
+
const { visibleAccounts: n } = j(), { onEvent: c } = Ge(), { goals: m } = T(), { isInitialized: _, setSelectedAccounts: a, isCopyLoaded: u } = Ne(), { ongoingGoalsForMicroWidget: p, loadGoals: b, goalsLoaded: s } = E();
|
|
1081
1082
|
y.useEffect(() => {
|
|
1082
1083
|
a(n);
|
|
1083
1084
|
}, []), y.useEffect(() => {
|
|
1084
|
-
_ && (
|
|
1085
|
+
_ && (b().finally(), c(Y.GOALS_LOAD_WIDGET, {
|
|
1085
1086
|
state: n?.length ? "default" : "zeroState"
|
|
1086
1087
|
}));
|
|
1087
1088
|
}, [_]);
|
|
1088
1089
|
const o = y.useMemo(
|
|
1089
|
-
() =>
|
|
1090
|
-
[
|
|
1091
|
-
),
|
|
1092
|
-
|
|
1090
|
+
() => s && p.length === 0,
|
|
1091
|
+
[p, s]
|
|
1092
|
+
), h = () => {
|
|
1093
|
+
c(
|
|
1093
1094
|
o ? Y.GOALS_CLICK_GET_STARTED : Y.GOALS_CLICK_VIEW_DETAILS
|
|
1094
1095
|
), t();
|
|
1095
1096
|
};
|
|
1096
|
-
return !
|
|
1097
|
-
|
|
1097
|
+
return !s || !u || !_ ? /* @__PURE__ */ e(De, {}) : /* @__PURE__ */ e(
|
|
1098
|
+
Ct,
|
|
1098
1099
|
{
|
|
1099
1100
|
className: "mx-goals-microwidget",
|
|
1100
|
-
ctaLabel: o ?
|
|
1101
|
-
onCTAClick:
|
|
1102
|
-
title:
|
|
1101
|
+
ctaLabel: o ? m.get_started : m.view_details,
|
|
1102
|
+
onCTAClick: h,
|
|
1103
|
+
title: m.title,
|
|
1103
1104
|
children: o ? /* @__PURE__ */ e(
|
|
1104
|
-
|
|
1105
|
+
Vt,
|
|
1105
1106
|
{
|
|
1106
|
-
header:
|
|
1107
|
-
subText:
|
|
1107
|
+
header: m.create_goals_header,
|
|
1108
|
+
subText: m.micro_zero_state_description
|
|
1108
1109
|
}
|
|
1109
|
-
) : /* @__PURE__ */ e(
|
|
1110
|
-
/* @__PURE__ */ e(
|
|
1111
|
-
|
|
1110
|
+
) : /* @__PURE__ */ e(ft, { sx: { justifyContent: "space-between" }, children: p.map((r, l) => /* @__PURE__ */ i(y.Fragment, { children: [
|
|
1111
|
+
/* @__PURE__ */ e(Wt, { goal: r }),
|
|
1112
|
+
l !== p.length - 1 && /* @__PURE__ */ e(v, {})
|
|
1112
1113
|
] }, r.guid)) })
|
|
1113
1114
|
}
|
|
1114
1115
|
);
|
|
1115
1116
|
});
|
|
1116
1117
|
export {
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1118
|
+
Un as GoalApi,
|
|
1119
|
+
Yn as GoalStore,
|
|
1120
|
+
Hn as GoalsMicroWidget,
|
|
1121
|
+
zn as GoalsWidget
|
|
1121
1122
|
};
|