@mx-cartographer/experiences 5.3.1-alpha.mega2 → 5.3.1-alpha.mega3
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/dist/index.es.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as e, jsxs as s, Fragment as Z } from "react/jsx-runtime";
|
|
2
|
-
import h, { useMemo as
|
|
2
|
+
import h, { useMemo as Ia, useRef as po, useEffect as Ht, useState as Fe } from "react";
|
|
3
3
|
import { observer as C } from "mobx-react-lite";
|
|
4
4
|
import L from "@mui/material/Box";
|
|
5
5
|
import G from "@mui/material/Divider";
|
|
6
6
|
import rA from "@mui/material/List";
|
|
7
7
|
import me from "@mui/material/ListSubheader";
|
|
8
8
|
import rr from "@mui/system/Stack";
|
|
9
|
-
import { AccountsIcon as
|
|
10
|
-
import
|
|
9
|
+
import { AccountsIcon as aa, P as HA, Icon as q, useTokens as KA, Text as R, H2 as lt, CategoryIcon as be, DialogHeader as sa, DialogFooter as ca, Drawer as fa, Footer as da, DateRangePicker as or, H3 as ne, H1 as it, TextField as dt, IconWeight as ae, MerchantLogo as vt, CategoryIconVariants as wo, InstitutionLogo as Oe, ChevronRightIcon as Ea, THEMES as Ir, createMXTheme as ha } from "@mxenabled/mxui";
|
|
10
|
+
import la from "bowser";
|
|
11
11
|
import { getUnixTime as gA } from "date-fns/getUnixTime";
|
|
12
|
-
import { intlFormat as
|
|
12
|
+
import { intlFormat as va } from "date-fns/intlFormat";
|
|
13
13
|
import { Honeybadger as fi } from "@honeybadger-io/react";
|
|
14
14
|
import ar from "numeral";
|
|
15
15
|
import $ from "@mui/material/Button";
|
|
@@ -19,7 +19,7 @@ import sn from "@mui/material/FormControlLabel";
|
|
|
19
19
|
import W from "@mui/material/ListItem";
|
|
20
20
|
import aA from "@mui/material/ListItemButton";
|
|
21
21
|
import eA from "@mui/material/ListItemText";
|
|
22
|
-
import
|
|
22
|
+
import yo from "@mui/material/Popover";
|
|
23
23
|
import b from "@mui/material/Stack";
|
|
24
24
|
import li from "@mui/material/Checkbox";
|
|
25
25
|
import { addMonths as Re } from "date-fns/addMonths";
|
|
@@ -34,64 +34,64 @@ import { startOfToday as fA } from "date-fns/startOfToday";
|
|
|
34
34
|
import { fromUnixTime as yA } from "date-fns/fromUnixTime";
|
|
35
35
|
import RA from "@mui/material/styles/useTheme";
|
|
36
36
|
import wt from "@mui/material/useMediaQuery";
|
|
37
|
-
import { css as He, keyframes as
|
|
37
|
+
import { css as He, keyframes as Ra } from "@mxenabled/cssinjs";
|
|
38
38
|
import { addDays as We } from "date-fns/addDays";
|
|
39
|
-
import { eachDayOfInterval as
|
|
40
|
-
import { eachWeekOfInterval as
|
|
39
|
+
import { eachDayOfInterval as ua } from "date-fns/eachDayOfInterval";
|
|
40
|
+
import { eachWeekOfInterval as Pa } from "date-fns/eachWeekOfInterval";
|
|
41
41
|
import { endOfMonth as BA } from "date-fns/endOfMonth";
|
|
42
42
|
import { format as le } from "date-fns/format";
|
|
43
|
-
import { isSameMonth as
|
|
43
|
+
import { isSameMonth as ba } from "date-fns/isSameMonth";
|
|
44
44
|
import { startOfMonth as QA } from "date-fns/startOfMonth";
|
|
45
45
|
import { subMonths as Ne } from "date-fns/subMonths";
|
|
46
46
|
import De from "@mui/material/Paper";
|
|
47
|
-
import
|
|
48
|
-
import
|
|
47
|
+
import Ha from "@mui/icons-material/KeyboardArrowLeftRounded";
|
|
48
|
+
import za from "@mui/icons-material/KeyboardArrowRightRounded";
|
|
49
49
|
import { isSameDay as Ee } from "date-fns/isSameDay";
|
|
50
50
|
import { isWithinInterval as mt } from "date-fns/isWithinInterval";
|
|
51
51
|
import * as ue from "d3";
|
|
52
|
-
import { selectAll as
|
|
53
|
-
import { useTheme as oe, keyframes as
|
|
54
|
-
import { ResponsiveChartContainer as
|
|
55
|
-
import { Stack as EA, Box as Me, useTheme as nt, Card as yi, CardContent as
|
|
52
|
+
import { selectAll as Ca, interpolateString as ga, arc as Xa } from "d3";
|
|
53
|
+
import { useTheme as oe, keyframes as pa, ThemeProvider as wa } from "@mui/material/styles";
|
|
54
|
+
import { ResponsiveChartContainer as ya, AreaPlot as xa, LinePlot as Da, MarkPlot as ja, BarPlot as ma, ChartsXAxis as Oa, ChartsYAxis as La, ChartsReferenceLine as Qa, ChartsLegend as qa, LineChart as xo } from "@mui/x-charts";
|
|
55
|
+
import { Stack as EA, Box as Me, useTheme as nt, Card as yi, CardContent as Ga, Button as Ma, List as Na, Divider as Ta } from "@mui/material";
|
|
56
56
|
import ze from "@mui/material/Card";
|
|
57
57
|
import Ce from "@mui/material/CardContent";
|
|
58
58
|
import YA from "@mui/material/Grid";
|
|
59
|
-
import { differenceInCalendarDays as
|
|
59
|
+
import { differenceInCalendarDays as Ya } from "date-fns/differenceInCalendarDays";
|
|
60
60
|
import { endOfToday as zt } from "date-fns/endOfToday";
|
|
61
61
|
import { endOfYear as sr } from "date-fns/endOfYear";
|
|
62
62
|
import { startOfYear as cr } from "date-fns/startOfYear";
|
|
63
63
|
import { subDays as Ve } from "date-fns/subDays";
|
|
64
64
|
import { subYears as fr } from "date-fns/subYears";
|
|
65
|
-
import
|
|
65
|
+
import Va from "@mui/material/ButtonGroup";
|
|
66
66
|
import GA from "@mui/material/Tab";
|
|
67
67
|
import Se from "@mui/material/Tabs";
|
|
68
68
|
import gn from "@mui/material/ToggleButton";
|
|
69
|
-
import
|
|
70
|
-
import
|
|
71
|
-
import
|
|
72
|
-
import
|
|
69
|
+
import Do from "@mui/material/ToggleButtonGroup";
|
|
70
|
+
import Ba from "@mui/material/Dialog";
|
|
71
|
+
import jo from "@mui/material/DialogContent";
|
|
72
|
+
import Sa from "@mui/icons-material/ArrowBackOutlined";
|
|
73
73
|
import rt from "@mui/material/CardHeader";
|
|
74
|
-
import { ConnectWidget as
|
|
74
|
+
import { ConnectWidget as Ua, ConnectionsWidget as Fa } from "@mxenabled/web-widget-sdk";
|
|
75
75
|
import Xn from "@mui/material/CircularProgress";
|
|
76
|
-
import { v4 as
|
|
76
|
+
import { v4 as Wa } from "uuid";
|
|
77
77
|
import vi from "@mui/material/InputAdornment";
|
|
78
|
-
import
|
|
78
|
+
import ka from "@mui/material/Radio";
|
|
79
79
|
import Qe from "@mui/material/Avatar";
|
|
80
80
|
import xA from "@mui/material/ListItemAvatar";
|
|
81
81
|
import re from "@mui/material/ListItemIcon";
|
|
82
|
-
import { AccountBalance as
|
|
82
|
+
import { AccountBalance as Ka, ChevronRight as ce, Payments as Za, NoteStack as Ja, Person as _a, CheckCircle as $a, Icon as dn, ExpandLess as As, ExpandMore as es, AddBox as mo, Star as ts } from "@mxenabled/mx-icons";
|
|
83
83
|
import xi from "@mui/material/Switch";
|
|
84
|
-
import { makeAutoObservable as DA, runInAction as F, reaction as
|
|
85
|
-
import { differenceInDays as
|
|
84
|
+
import { makeAutoObservable as DA, runInAction as F, reaction as is, observable as ns } from "mobx";
|
|
85
|
+
import { differenceInDays as rs } from "date-fns/differenceInDays";
|
|
86
86
|
import Di from "@mui/icons-material/ChevronRight";
|
|
87
87
|
import ji from "@mui/icons-material/ExpandMore";
|
|
88
88
|
import { DataGridPro as Gt } from "@mui/x-data-grid-pro";
|
|
89
|
-
import { intervalToDuration as
|
|
89
|
+
import { intervalToDuration as os, formatDuration as Is, getDate as dr, fromUnixTime as Ai, startOfMonth as Er, format as as, differenceInMonths as ss, isSameDay as cs, subDays as fs, startOfToday as ds, endOfToday as Es } from "date-fns";
|
|
90
90
|
import { getMonth as Dt } from "date-fns/getMonth";
|
|
91
91
|
import Et from "@mui/material/Alert";
|
|
92
92
|
import ri from "@mui/material/Snackbar";
|
|
93
|
-
import { useVirtualizer as
|
|
94
|
-
import { parseISO as
|
|
93
|
+
import { useVirtualizer as Oo } from "@tanstack/react-virtual";
|
|
94
|
+
import { parseISO as Lo } from "date-fns/parseISO";
|
|
95
95
|
import _e from "@mui/material/Skeleton";
|
|
96
96
|
import { isAfter as Ot } from "date-fns/isAfter";
|
|
97
97
|
import { subWeeks as hr } from "date-fns/subWeeks";
|
|
@@ -101,56 +101,56 @@ import { DatePicker as wn } from "@mui/x-date-pickers";
|
|
|
101
101
|
import { LocalizationProvider as Mt } from "@mui/x-date-pickers/LocalizationProvider";
|
|
102
102
|
import $A from "@mui/material/TextField";
|
|
103
103
|
import { DateCalendar as mi } from "@mui/x-date-pickers/DateCalendar";
|
|
104
|
-
import { formatDistanceToNow as
|
|
104
|
+
import { formatDistanceToNow as Qo } from "date-fns/formatDistanceToNow";
|
|
105
105
|
import yn from "@mui/material/Accordion";
|
|
106
106
|
import xn from "@mui/material/AccordionDetails";
|
|
107
107
|
import Dn from "@mui/material/AccordionSummary";
|
|
108
|
-
import
|
|
108
|
+
import hs from "@mui/material/Breadcrumbs";
|
|
109
109
|
import jn from "@mui/material/MenuItem";
|
|
110
|
-
import
|
|
110
|
+
import ls from "@mui/material/RadioGroup";
|
|
111
111
|
import ei from "@mui/icons-material/DeleteOutlined";
|
|
112
112
|
import Ri from "@mui/icons-material/Cancel";
|
|
113
|
-
import
|
|
114
|
-
import
|
|
115
|
-
import
|
|
116
|
-
import
|
|
117
|
-
import
|
|
118
|
-
import
|
|
113
|
+
import vs from "@mui/icons-material/HighlightOff";
|
|
114
|
+
import Rs from "@mui/icons-material/Search";
|
|
115
|
+
import us from "@mui/icons-material/Edit";
|
|
116
|
+
import Ps from "@mui/material/FormGroup";
|
|
117
|
+
import bs from "@mui/icons-material/FlagOutlined";
|
|
118
|
+
import Hs from "@mui/icons-material/ReceiptOutlined";
|
|
119
119
|
import { getWeeksInMonth as lr } from "date-fns/getWeeksInMonth";
|
|
120
|
-
import
|
|
121
|
-
import { PickersDay as
|
|
122
|
-
import
|
|
123
|
-
import
|
|
120
|
+
import qo from "@mui/material/Badge";
|
|
121
|
+
import { PickersDay as zs } from "@mui/x-date-pickers/PickersDay";
|
|
122
|
+
import Cs from "@mui/icons-material/AccessTimeFilled";
|
|
123
|
+
import gs from "@mui/icons-material/MonetizationOn";
|
|
124
124
|
import Oi from "@mui/icons-material/CheckCircle";
|
|
125
125
|
import { getDate as Kt } from "date-fns/getDate";
|
|
126
|
-
import { isValid as
|
|
126
|
+
import { isValid as Go } from "date-fns/isValid";
|
|
127
127
|
import tt from "@mui/material/Unstable_Grid2";
|
|
128
128
|
import Li from "@mui/material/Collapse";
|
|
129
|
-
import
|
|
130
|
-
import
|
|
129
|
+
import Mo from "@mui/material/CardActionArea";
|
|
130
|
+
import Xs from "@mui/icons-material/DragHandle";
|
|
131
131
|
import En from "@mui/material/AlertTitle";
|
|
132
132
|
import Qi from "@mui/icons-material/Error";
|
|
133
|
-
import
|
|
134
|
-
import
|
|
133
|
+
import ps from "@mui/material/Chip";
|
|
134
|
+
import ws from "@mui/icons-material/EditOutlined";
|
|
135
135
|
import { isToday as mn } from "date-fns/isToday";
|
|
136
|
-
import
|
|
137
|
-
import
|
|
138
|
-
import { isYesterday as
|
|
139
|
-
import
|
|
140
|
-
import
|
|
141
|
-
import { LocalizationProvider as
|
|
142
|
-
import
|
|
143
|
-
import
|
|
144
|
-
import
|
|
145
|
-
import { useInView as
|
|
146
|
-
import
|
|
147
|
-
import
|
|
136
|
+
import ys from "@mui/icons-material/CheckCircleRounded";
|
|
137
|
+
import xs from "@mui/icons-material/LanguageRounded";
|
|
138
|
+
import { isYesterday as Ds } from "date-fns/isYesterday";
|
|
139
|
+
import js from "@mui/material/FormControl";
|
|
140
|
+
import ms from "@mui/material/InputLabel";
|
|
141
|
+
import { LocalizationProvider as Os } from "@mui/x-date-pickers-pro";
|
|
142
|
+
import Ls from "@mui/material/Select";
|
|
143
|
+
import No from "@mui/material/Link";
|
|
144
|
+
import Qs from "@mui/material/ListItemSecondaryAction";
|
|
145
|
+
import { useInView as To } from "react-intersection-observer";
|
|
146
|
+
import qs from "@mui/material/CardActions";
|
|
147
|
+
import Gs from "@mui/icons-material/ChevronLeft";
|
|
148
148
|
import vr from "@mui/material/Typography";
|
|
149
|
-
import
|
|
149
|
+
import Ms from "@mui/material/CssBaseline";
|
|
150
150
|
import { addSeconds as Rr } from "date-fns/addSeconds";
|
|
151
|
-
import { differenceInCalendarMonths as
|
|
152
|
-
const
|
|
153
|
-
const r = new
|
|
151
|
+
import { differenceInCalendarMonths as Ns } from "date-fns/differenceInCalendarMonths";
|
|
152
|
+
const Ts = async (A, t, i = "1.0.0", n = "Experiences") => {
|
|
153
|
+
const r = new oc(A, t), { analytics_session: o } = await r.initializeAnalyticsSession(
|
|
154
154
|
i,
|
|
155
155
|
n
|
|
156
156
|
), I = window.location.hostname;
|
|
@@ -301,7 +301,7 @@ const Ns = async (A, t, i = "1.0.0", n = "Experiences") => {
|
|
|
301
301
|
TRENDS_HOVER_POINT: "trends_widget_hover_chart_point",
|
|
302
302
|
TRENDS_VIEW_TRANSACTIONS: "trends_widget_view_transactions",
|
|
303
303
|
WIDGET_BACK_CLICK: "widget_back_button_click"
|
|
304
|
-
},
|
|
304
|
+
}, Ys = "do", IP = "MMM do, yyyy", AA = {
|
|
305
305
|
TIME_STAMP_HOUR_MINUTE: {
|
|
306
306
|
hour: "numeric",
|
|
307
307
|
minute: "numeric"
|
|
@@ -357,18 +357,18 @@ const Ns = async (A, t, i = "1.0.0", n = "Experiences") => {
|
|
|
357
357
|
day: "numeric",
|
|
358
358
|
year: "numeric"
|
|
359
359
|
}
|
|
360
|
-
}, nA = (A, t) =>
|
|
361
|
-
var _ = /* @__PURE__ */ ((A) => (A[A.ANY = 0] = "ANY", A[A.CHECKING = 1] = "CHECKING", A[A.SAVINGS = 2] = "SAVINGS", A[A.LOAN = 3] = "LOAN", A[A.CREDIT_CARD = 4] = "CREDIT_CARD", A[A.INVESTMENT = 5] = "INVESTMENT", A[A.LINE_OF_CREDIT = 6] = "LINE_OF_CREDIT", A[A.MORTGAGE = 7] = "MORTGAGE", A[A.PROPERTY = 8] = "PROPERTY", A[A.CASH = 9] = "CASH", A[A.INSURANCE = 10] = "INSURANCE", A[A.PREPAID = 11] = "PREPAID", A[A.CHECKING_LINE_OF_CREDIT = 12] = "CHECKING_LINE_OF_CREDIT", A[A.DIGITAL_WALLET = 13] = "DIGITAL_WALLET", A))(_ || {}),
|
|
362
|
-
const
|
|
360
|
+
}, nA = (A, t) => va(new Date(A), Object.assign(t), { locale: ht() });
|
|
361
|
+
var _ = /* @__PURE__ */ ((A) => (A[A.ANY = 0] = "ANY", A[A.CHECKING = 1] = "CHECKING", A[A.SAVINGS = 2] = "SAVINGS", A[A.LOAN = 3] = "LOAN", A[A.CREDIT_CARD = 4] = "CREDIT_CARD", A[A.INVESTMENT = 5] = "INVESTMENT", A[A.LINE_OF_CREDIT = 6] = "LINE_OF_CREDIT", A[A.MORTGAGE = 7] = "MORTGAGE", A[A.PROPERTY = 8] = "PROPERTY", A[A.CASH = 9] = "CASH", A[A.INSURANCE = 10] = "INSURANCE", A[A.PREPAID = 11] = "PREPAID", A[A.CHECKING_LINE_OF_CREDIT = 12] = "CHECKING_LINE_OF_CREDIT", A[A.DIGITAL_WALLET = 13] = "DIGITAL_WALLET", A))(_ || {}), Vs = /* @__PURE__ */ ((A) => (A[A.NONE = 0] = "NONE", A[A.MONEY_MARKET = 1] = "MONEY_MARKET", A[A.CERTIFICATE_OF_DEPOSIT = 2] = "CERTIFICATE_OF_DEPOSIT", A[A.AUTO = 3] = "AUTO", A[A.STUDENT = 4] = "STUDENT", A[A.SMALL_BUSINESS = 5] = "SMALL_BUSINESS", A[A.PERSONAL = 6] = "PERSONAL", A[A.PERSONAL_WITH_COLLATERAL = 7] = "PERSONAL_WITH_COLLATERAL", A[A.HOME_EQUITY = 8] = "HOME_EQUITY", A[A.PLAN_401_K = 9] = "PLAN_401_K", A[A.PLAN_403_B = 10] = "PLAN_403_B", A[A.PLAN_529 = 11] = "PLAN_529", A[A.IRA = 12] = "IRA", A[A.ROLLOVER_IRA = 13] = "ROLLOVER_IRA", A[A.ROTH_IRA = 14] = "ROTH_IRA", A[A.TAXABLE = 15] = "TAXABLE", A[A.NON_TAXABLE = 16] = "NON_TAXABLE", A[A.BROKERAGE = 17] = "BROKERAGE", A[A.TRUST = 18] = "TRUST", A[A.UNIFORM_GIFTS_TO_MINORS_ACT = 19] = "UNIFORM_GIFTS_TO_MINORS_ACT", A[A.PLAN_457 = 20] = "PLAN_457", A[A.PENSION = 21] = "PENSION", A[A.EMPLOYEE_STOCK_OWNERSHIP_PLAN = 22] = "EMPLOYEE_STOCK_OWNERSHIP_PLAN", A[A.SIMPLIFIED_EMPLOYEE_PENSION = 23] = "SIMPLIFIED_EMPLOYEE_PENSION", A[A.SIMPLE_IRA = 24] = "SIMPLE_IRA", A[A.BOAT = 25] = "BOAT", A[A.POWERSPORTS = 26] = "POWERSPORTS", A[A.RV = 27] = "RV", A[A.HELOC = 28] = "HELOC", A[A.PLAN_ROTH_401_K = 29] = "PLAN_ROTH_401_K", A[A.FIXED_ANNUITY = 30] = "FIXED_ANNUITY", A[A.VARIABLE_ANNUITY = 31] = "VARIABLE_ANNUITY", A[A.VEHICLE_INSURANCE = 32] = "VEHICLE_INSURANCE", A[A.DISABILITY = 33] = "DISABILITY", A[A.HEALTH = 34] = "HEALTH", A[A.LONG_TERM_CARE = 35] = "LONG_TERM_CARE", A[A.PROPERTY_AND_CASUALTY = 36] = "PROPERTY_AND_CASUALTY", A[A.UNIVERSAL_LIFE = 37] = "UNIVERSAL_LIFE", A[A.TERM_LIFE = 38] = "TERM_LIFE", A[A.WHOLE_LIFE = 39] = "WHOLE_LIFE", A[A.ACCIDENTAL_DEATH_AND_DISMEMBERMENT = 40] = "ACCIDENTAL_DEATH_AND_DISMEMBERMENT", A[A.VARIABLE_UNIVERSAL_LIFE = 41] = "VARIABLE_UNIVERSAL_LIFE", A[A.HSA = 42] = "HSA", A[A.TAX_FREE_SAVINGS_ACCOUNT = 43] = "TAX_FREE_SAVINGS_ACCOUNT", A[A.INDIVIDUAL = 44] = "INDIVIDUAL", A[A.REGISTERED_RETIREMENT_INCOME_FUND = 45] = "REGISTERED_RETIREMENT_INCOME_FUND", A[A.CASH_MANAGEMENT_ACCOUNT = 46] = "CASH_MANAGEMENT_ACCOUNT", A[A.EMPLOYEE_STOCK_PURCHASE_PLAN = 47] = "EMPLOYEE_STOCK_PURCHASE_PLAN", A[A.REGISTERED_EDUCATION_SAVINGS_PLAN = 48] = "REGISTERED_EDUCATION_SAVINGS_PLAN", A[A.PROFIT_SHARING_PLAN = 49] = "PROFIT_SHARING_PLAN", A[A.UNIFORM_TRANSFER_TO_MINORS_ACT = 50] = "UNIFORM_TRANSFER_TO_MINORS_ACT", A[A.PLAN_401_A = 51] = "PLAN_401_A", A[A.SARSEP_IRA = 52] = "SARSEP_IRA", A[A.FIXED_ANNUITY_TRADITIONAL_IRA = 53] = "FIXED_ANNUITY_TRADITIONAL_IRA", A[A.VARIABLE_ANNUITY_TRADITIONAL_IRA = 54] = "VARIABLE_ANNUITY_TRADITIONAL_IRA", A[A.SEPP_IRA = 55] = "SEPP_IRA", A[A.INHERITED_TRADITIONAL_IRA = 56] = "INHERITED_TRADITIONAL_IRA", A[A.FIXED_ANNUITY_ROTH_IRA = 57] = "FIXED_ANNUITY_ROTH_IRA", A[A.VARIABLE_ANNUITY_ROTH_IRA = 58] = "VARIABLE_ANNUITY_ROTH_IRA", A[A.INHERITED_ROTH_IRA = 59] = "INHERITED_ROTH_IRA", A[A.COVERDELL = 60] = "COVERDELL", A[A.ADVISORY_ACCOUNT = 61] = "ADVISORY_ACCOUNT", A[A.BROKERAGE_MARGIN = 62] = "BROKERAGE_MARGIN", A[A.CHARITABLE_GIFT_ACCOUNT = 63] = "CHARITABLE_GIFT_ACCOUNT", A[A.CHURCH_ACCOUNT = 64] = "CHURCH_ACCOUNT", A[A.CONSERVATORSHIP = 65] = "CONSERVATORSHIP", A[A.CUSTODIAL = 66] = "CUSTODIAL", A[A.DEFINED_BENEFIT_PLAN = 67] = "DEFINED_BENEFIT_PLAN", A[A.DEFINED_CONTRIBUTION_PLAN = 68] = "DEFINED_CONTRIBUTION_PLAN", A[A.EDUCATIONAL = 69] = "EDUCATIONAL", A[A.ESTATE = 70] = "ESTATE", A[A.EXECUTOR = 71] = "EXECUTOR", A[A.GROUP_RETIREMENT_SAVINGS_PLAN = 72] = "GROUP_RETIREMENT_SAVINGS_PLAN", A[A.GUARANTEED_INVESTMENT_CERTIFICATE = 73] = "GUARANTEED_INVESTMENT_CERTIFICATE", A[A.HRA = 74] = "HRA", A[A.INDEXED_ANNUITY = 75] = "INDEXED_ANNUITY", A[A.INVESTMENT_CLUB = 76] = "INVESTMENT_CLUB", A[A.IRREVOCABLE_TRUST = 77] = "IRREVOCABLE_TRUST", A[A.JOINT_TENANTS_BY_ENTIRITY = 78] = "JOINT_TENANTS_BY_ENTIRITY", A[A.JOINT_TENANTS_COMMUNITY_PROPERTY = 79] = "JOINT_TENANTS_COMMUNITY_PROPERTY", A[A.JOINT_TENANTS_IN_COMMON = 80] = "JOINT_TENANTS_IN_COMMON", A[A.JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP = 81] = "JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP", A[A.KEOUGH_PLAN = 82] = "KEOUGH_PLAN", A[A.LIFE_INCOME_FUND = 83] = "LIFE_INCOME_FUND", A[A.LIVING_TRUST = 84] = "LIVING_TRUST", A[A.LOCKED_IN_RETIREMENT_ACCOUNT = 85] = "LOCKED_IN_RETIREMENT_ACCOUNT", A[A.LOCKED_IN_RETIREMENT_INVESTMENT_FUND = 86] = "LOCKED_IN_RETIREMENT_INVESTMENT_FUND", A[A.LOCKED_IN_RETIREMENT_SAVINGS_ACCOUNT = 87] = "LOCKED_IN_RETIREMENT_SAVINGS_ACCOUNT", A[A.MONEY_PURCHASE_PLAN = 88] = "MONEY_PURCHASE_PLAN", A[A.PARTNERSHIP = 89] = "PARTNERSHIP", A[A.PLAN_409_A = 90] = "PLAN_409_A", A[A.PLAN_ROTH_403_B = 91] = "PLAN_ROTH_403_B", A[A.REGISTERED_DISABILITY_SAVINGS_PLAN = 92] = "REGISTERED_DISABILITY_SAVINGS_PLAN", A[A.REGISTERED_LOCKED_IN_SAVINGS_PLAN = 93] = "REGISTERED_LOCKED_IN_SAVINGS_PLAN", A[A.REGISTERED_PENSION_PLAN = 94] = "REGISTERED_PENSION_PLAN", A[A.REGISTERED_RETIREMENT_SAVINGS_PLAN = 95] = "REGISTERED_RETIREMENT_SAVINGS_PLAN", A[A.REVOCABLE_TRUST = 96] = "REVOCABLE_TRUST", A[A.ROTH_CONVERSION = 97] = "ROTH_CONVERSION", A[A.SOLE_PROPRIETORSHIP = 98] = "SOLE_PROPRIETORSHIP", A[A.SPOUSAL_IRA = 99] = "SPOUSAL_IRA", A[A.SPOUSAL_ROTH_IRA = 100] = "SPOUSAL_ROTH_IRA", A[A.TESTAMENTARY_TRUST = 101] = "TESTAMENTARY_TRUST", A[A.THRIFT_SAVINGS_PLAN = 102] = "THRIFT_SAVINGS_PLAN", A[A.INHERITED_ANNUITY = 103] = "INHERITED_ANNUITY", A[A.CORPORATE_ACCOUNT = 104] = "CORPORATE_ACCOUNT", A[A.LIMITED_LIABILITY_ACCOUNT = 105] = "LIMITED_LIABILITY_ACCOUNT", A[A.HSA_SAVINGS = 106] = "HSA_SAVINGS", A[A.HSA_CHECKING = 107] = "HSA_CHECKING", A))(Vs || {}), Yo = /* @__PURE__ */ ((A) => (A[A.REAL_ESTATE = 0] = "REAL_ESTATE", A[A.VEHICLE = 1] = "VEHICLE", A[A.ART = 2] = "ART", A[A.JEWELRY = 3] = "JEWELRY", A[A.FURNITURE = 4] = "FURNITURE", A[A.APPLIANCES = 5] = "APPLIANCES", A[A.COMPUTER = 6] = "COMPUTER", A[A.ELECTRONICS = 7] = "ELECTRONICS", A[A.SPORTS_EQUIPMENT = 8] = "SPORTS_EQUIPMENT", A[A.MISCELLANEOUS = 9] = "MISCELLANEOUS", A))(Yo || {}), ie = /* @__PURE__ */ ((A) => (A[A.CREATED = 0] = "CREATED", A[A.PREVENTED = 1] = "PREVENTED", A[A.DENIED = 2] = "DENIED", A[A.CHALLENGED = 3] = "CHALLENGED", A[A.REJECTED = 4] = "REJECTED", A[A.LOCKED = 5] = "LOCKED", A[A.CONNECTED = 6] = "CONNECTED", A[A.IMPEDED = 7] = "IMPEDED", A[A.RECONNECTED = 8] = "RECONNECTED", A[A.DEGRADED = 9] = "DEGRADED", A[A.DISCONNECTED = 10] = "DISCONNECTED", A[A.DISCONTINUED = 11] = "DISCONTINUED", A[A.CLOSED = 12] = "CLOSED", A[A.DELAYED = 13] = "DELAYED", A[A.FAILED = 14] = "FAILED", A[A.UPDATED = 15] = "UPDATED", A[A.DISABLED = 16] = "DISABLED", A[A.IMPORTED = 17] = "IMPORTED", A[A.RESUMED = 18] = "RESUMED", A[A.EXPIRED = 19] = "EXPIRED", A[A.IMPAIRED = 20] = "IMPAIRED", A[A.PENDING = 21] = "PENDING", A))(ie || {});
|
|
362
|
+
const Bs = [
|
|
363
363
|
0,
|
|
364
364
|
15,
|
|
365
365
|
18
|
|
366
366
|
/* RESUMED */
|
|
367
|
-
],
|
|
367
|
+
], Vo = [
|
|
368
368
|
3,
|
|
369
369
|
4
|
|
370
370
|
/* REJECTED */
|
|
371
|
-
],
|
|
371
|
+
], Bo = [
|
|
372
372
|
1,
|
|
373
373
|
2,
|
|
374
374
|
5,
|
|
@@ -384,7 +384,7 @@ const Vs = [
|
|
|
384
384
|
19,
|
|
385
385
|
20
|
|
386
386
|
/* IMPAIRED */
|
|
387
|
-
],
|
|
387
|
+
], So = [...Bo, ...Vo];
|
|
388
388
|
var bt = /* @__PURE__ */ ((A) => (A.Connected = "Connected", A.Error = "Error", A.Processing = "Processing", A.RequiresMfa = "RequiresMfa", A))(bt || {});
|
|
389
389
|
const aP = {
|
|
390
390
|
3: "Challenged",
|
|
@@ -418,7 +418,7 @@ const aP = {
|
|
|
418
418
|
11: "Prepaid",
|
|
419
419
|
8: "Property",
|
|
420
420
|
2: "Savings"
|
|
421
|
-
},
|
|
421
|
+
}, Uo = {
|
|
422
422
|
0: "account_balance",
|
|
423
423
|
9: "monetization_on",
|
|
424
424
|
1: "checkbook",
|
|
@@ -434,7 +434,7 @@ const aP = {
|
|
|
434
434
|
11: "credit_card",
|
|
435
435
|
8: "key",
|
|
436
436
|
2: "savings"
|
|
437
|
-
},
|
|
437
|
+
}, Ss = {
|
|
438
438
|
5: "bid_landscape"
|
|
439
439
|
}, sP = {
|
|
440
440
|
0: "Real Estate",
|
|
@@ -447,7 +447,7 @@ const aP = {
|
|
|
447
447
|
7: "Electronics",
|
|
448
448
|
8: "Sports Equipment",
|
|
449
449
|
9: "Miscellaneous"
|
|
450
|
-
},
|
|
450
|
+
}, Us = {
|
|
451
451
|
0: "home_work",
|
|
452
452
|
1: "directions_car",
|
|
453
453
|
2: "insert_photo",
|
|
@@ -751,7 +751,7 @@ const aP = {
|
|
|
751
751
|
[g.TRANSFER]: "#959CA6",
|
|
752
752
|
[g.TRAVEL]: "#E37434",
|
|
753
753
|
[g.UNCATEGORIZED]: "#FA5555"
|
|
754
|
-
},
|
|
754
|
+
}, Fs = {
|
|
755
755
|
[g.AUTO_AND_TRANSPORT]: "directions_car",
|
|
756
756
|
[g.BILLS_AND_UTILITIES]: "electrical_services",
|
|
757
757
|
[g.BUSINESS_SERVICES]: "business_center",
|
|
@@ -790,10 +790,10 @@ const cP = [
|
|
|
790
790
|
LOADING: "LOADING",
|
|
791
791
|
SUCCESS: "SUCCESS"
|
|
792
792
|
};
|
|
793
|
-
var
|
|
794
|
-
const
|
|
795
|
-
var
|
|
796
|
-
const Bt = 44, br = (A, t) => A.find((i) => i.guid === t),
|
|
793
|
+
var Ws = /* @__PURE__ */ ((A) => (A[A.SpendingPlan = 0] = "SpendingPlan", A[A.Budgets = 1] = "Budgets", A))(Ws || {}), ks = /* @__PURE__ */ ((A) => (A[A.RecurringExpense = 0] = "RecurringExpense", A[A.PlannedExpense = 1] = "PlannedExpense", A[A.Other = 2] = "Other", A[A.Income = 3] = "Income", A))(ks || {});
|
|
794
|
+
const Fo = 48, Wo = 4;
|
|
795
|
+
var Ks = /* @__PURE__ */ ((A) => (A.Small = "small", A.Medium = "medium", A.Large = "large", A))(Ks || {});
|
|
796
|
+
const Bt = 44, br = (A, t) => A.find((i) => i.guid === t), Zs = (A, t) => A.find((i) => i.guid === t), Js = (A, t) => {
|
|
797
797
|
const i = A.find((n) => n.subCategories.find((r) => r.guid === t));
|
|
798
798
|
if (i)
|
|
799
799
|
return i.subCategories.find((n) => n.guid === t);
|
|
@@ -821,9 +821,9 @@ const Bt = 44, br = (A, t) => A.find((i) => i.guid === t), Ks = (A, t) => A.find
|
|
|
821
821
|
}, EP = (A, t) => {
|
|
822
822
|
const i = A.find((n) => n.guid === t);
|
|
823
823
|
return i ? i.guid === g.INCOME || i.parent_guid === g.INCOME : !1;
|
|
824
|
-
},
|
|
824
|
+
}, _s = /(?<static>.*?)(?<dynamic>(?:_\d+{(?:.*?)}))|(?<staticEnd>.+)/g, z = (A, ...t) => {
|
|
825
825
|
if (!A) return "";
|
|
826
|
-
const i = t.some((o) => typeof o != "string"), r = [...A.matchAll(
|
|
826
|
+
const i = t.some((o) => typeof o != "string"), r = [...A.matchAll(_s)].reduce(
|
|
827
827
|
(o, I, a) => {
|
|
828
828
|
const c = [...o], d = I.groups;
|
|
829
829
|
if (d?.static && c.push(d.static), d?.dynamic) {
|
|
@@ -911,24 +911,24 @@ const M = (A, t, i) => {
|
|
|
911
911
|
default:
|
|
912
912
|
return ar(A).format(`$${t}`, i);
|
|
913
913
|
}
|
|
914
|
-
},
|
|
914
|
+
}, $s = () => {
|
|
915
915
|
switch (ht()) {
|
|
916
916
|
case "fr-ca":
|
|
917
917
|
return ui.CAD;
|
|
918
918
|
default:
|
|
919
919
|
return ui.USD;
|
|
920
920
|
}
|
|
921
|
-
}, hn = (A) => A != null && A !== "" && isFinite(A),
|
|
921
|
+
}, hn = (A) => A != null && A !== "" && isFinite(A), Ac = {
|
|
922
922
|
style: "percent",
|
|
923
923
|
minimumFractionDigits: 2,
|
|
924
924
|
maximumFractionDigits: 2
|
|
925
|
-
}, Gi = (A, t =
|
|
925
|
+
}, Gi = (A, t = Ac) => hn(A) ? new Intl.NumberFormat(ht(), t).format(Number(A)) : A, ec = (A) => new Intl.PluralRules(ht(), A), ko = (A, t = { type: "ordinal" }, i = {
|
|
926
926
|
one: "st",
|
|
927
927
|
two: "nd",
|
|
928
928
|
few: "rd",
|
|
929
929
|
other: "th"
|
|
930
930
|
}) => {
|
|
931
|
-
const n =
|
|
931
|
+
const n = ec(t).select(A);
|
|
932
932
|
return `${A}${i[n]}`;
|
|
933
933
|
}, Gn = (A) => {
|
|
934
934
|
const t = $t(A);
|
|
@@ -936,7 +936,7 @@ const M = (A, t, i) => {
|
|
|
936
936
|
for (; mA(i, fA()); )
|
|
937
937
|
i = xt(i, 1);
|
|
938
938
|
return i;
|
|
939
|
-
},
|
|
939
|
+
}, tc = (A) => {
|
|
940
940
|
const t = Gn(A);
|
|
941
941
|
return xt(t, 1);
|
|
942
942
|
}, Hr = (A) => {
|
|
@@ -944,28 +944,28 @@ const M = (A, t, i) => {
|
|
|
944
944
|
for (; mA(t, fA()); )
|
|
945
945
|
t = Re(t, 1);
|
|
946
946
|
return t;
|
|
947
|
-
},
|
|
947
|
+
}, ic = (A) => {
|
|
948
948
|
const t = Gn(A);
|
|
949
949
|
return Re(t, 1);
|
|
950
|
-
},
|
|
950
|
+
}, Ko = (A) => {
|
|
951
951
|
let t = Pt(A, 1);
|
|
952
952
|
for (; mA(t, fA()); )
|
|
953
953
|
t = Pt(t, 1);
|
|
954
954
|
return t;
|
|
955
|
-
},
|
|
956
|
-
const t =
|
|
955
|
+
}, nc = (A) => {
|
|
956
|
+
const t = Ko(A);
|
|
957
957
|
return Pt(t, 1);
|
|
958
|
-
},
|
|
958
|
+
}, rc = (A) => _t(A, 1), Zt = (A) => {
|
|
959
959
|
const t = yA(A);
|
|
960
960
|
return new Date(t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate());
|
|
961
|
-
}, Mi = (A) => nA(yA(A), AA.DAY_OF_WEEK_MONTH_DAY),
|
|
962
|
-
class
|
|
961
|
+
}, Mi = (A) => nA(yA(A), AA.DAY_OF_WEEK_MONTH_DAY), Zo = (A) => A ? nA(yA(A), AA.MONTH_YEAR) : "";
|
|
962
|
+
class oc {
|
|
963
963
|
fetchInstance;
|
|
964
964
|
constructor(t, i) {
|
|
965
965
|
this.fetchInstance = new Ae(t, i);
|
|
966
966
|
}
|
|
967
967
|
initializeAnalyticsSession = async (t, i) => {
|
|
968
|
-
const n =
|
|
968
|
+
const n = la.getParser(window.navigator.userAgent), { analytics_session: r } = await this.fetchInstance.post(Q.ANALYTICS_SESSION, {
|
|
969
969
|
browser_name: n.getBrowserName() || "Unknown",
|
|
970
970
|
browser_version: n.getBrowserVersion() || "0.0.0",
|
|
971
971
|
is_first_visit: !1,
|
|
@@ -1108,14 +1108,14 @@ class pr {
|
|
|
1108
1108
|
}
|
|
1109
1109
|
requestWidgetUrl = async (t) => this.fetchInstance.post(Q.WIDGET_URLS, t).then((i) => i.widget_url);
|
|
1110
1110
|
}
|
|
1111
|
-
const $i = (A, t) => A.reduce((i, n) => (i[n.guid] = t?.includes(n.guid), i), {}),
|
|
1111
|
+
const $i = (A, t) => A.reduce((i, n) => (i[n.guid] = t?.includes(n.guid), i), {}), Ic = (A) => A.reduce((t, i) => {
|
|
1112
1112
|
const n = On[i.account_type], r = {
|
|
1113
1113
|
accountNumber: i.account_number,
|
|
1114
1114
|
name: i.name || i.feed_name,
|
|
1115
1115
|
guid: i.guid
|
|
1116
1116
|
};
|
|
1117
1117
|
return Object.prototype.hasOwnProperty.call(t, n) ? t[n] = t[n].concat(r) : t[n] = [r], t;
|
|
1118
|
-
}, {}),
|
|
1118
|
+
}, {}), Jo = ({
|
|
1119
1119
|
accounts: A,
|
|
1120
1120
|
accountFilterButtonEl: t,
|
|
1121
1121
|
copy: i,
|
|
@@ -1129,9 +1129,9 @@ const $i = (A, t) => A.reduce((i, n) => (i[n.guid] = t?.includes(n.guid), i), {}
|
|
|
1129
1129
|
handleClose: f,
|
|
1130
1130
|
showAccountNumbers: E
|
|
1131
1131
|
}) => {
|
|
1132
|
-
const l =
|
|
1132
|
+
const l = Ia(() => Ic(A), [A]), v = A.length < 1, u = !!t, H = Object.values(c).every((P) => !!P);
|
|
1133
1133
|
return /* @__PURE__ */ e(
|
|
1134
|
-
|
|
1134
|
+
yo,
|
|
1135
1135
|
{
|
|
1136
1136
|
anchorEl: t,
|
|
1137
1137
|
anchorOrigin: {
|
|
@@ -1157,7 +1157,7 @@ const $i = (A, t) => A.reduce((i, n) => (i[n.guid] = t?.includes(n.guid), i), {}
|
|
|
1157
1157
|
maxWidth: "100%"
|
|
1158
1158
|
},
|
|
1159
1159
|
children: [
|
|
1160
|
-
/* @__PURE__ */ e(
|
|
1160
|
+
/* @__PURE__ */ e(aa, { size: 32 }),
|
|
1161
1161
|
/* @__PURE__ */ e(HA, { bold: !0, mt: 12, children: i.zeroStateTitle }),
|
|
1162
1162
|
/* @__PURE__ */ e(HA, { mt: 12, children: i.zeroStateDescription }),
|
|
1163
1163
|
/* @__PURE__ */ e($, { onClick: I, children: i.zeroStateButton })
|
|
@@ -1314,15 +1314,15 @@ const $i = (A, t) => A.reduce((i, n) => (i[n.guid] = t?.includes(n.guid), i), {}
|
|
|
1314
1314
|
}
|
|
1315
1315
|
);
|
|
1316
1316
|
};
|
|
1317
|
-
|
|
1318
|
-
const
|
|
1317
|
+
Jo.displayName = "AccountFilterOptions";
|
|
1318
|
+
const ac = (A, t) => {
|
|
1319
1319
|
const { session: i } = t, n = Object.values(t).reduce((o, I) => i && I?.onAnalyticEvent && typeof I?.onAnalyticEvent == "function" ? [...o, I.onAnalyticEvent] : o, []), r = [...A, ...n];
|
|
1320
1320
|
return h.useMemo(() => (o) => {
|
|
1321
1321
|
r.forEach((I) => {
|
|
1322
1322
|
i ? I(o, i) : I(o);
|
|
1323
1323
|
});
|
|
1324
1324
|
}, [A, i]);
|
|
1325
|
-
},
|
|
1325
|
+
}, sc = (A, t) => {
|
|
1326
1326
|
const { session: i } = t, n = Object.values(t).reduce((o, I) => i && I?.onAnalyticPageView && typeof I?.onAnalyticPageView == "function" ? [...o, I.onAnalyticPageView] : o, []), r = [...A, ...n];
|
|
1327
1327
|
return h.useMemo(() => (o) => {
|
|
1328
1328
|
r.forEach((I) => {
|
|
@@ -1343,11 +1343,11 @@ const Ic = (A, t) => {
|
|
|
1343
1343
|
// Between 768 and 1200
|
|
1344
1344
|
isTablet: wt(RA().breakpoints.between("md", "xl"))
|
|
1345
1345
|
}), vP = (A) => {
|
|
1346
|
-
const t =
|
|
1346
|
+
const t = po();
|
|
1347
1347
|
return Ht(() => {
|
|
1348
1348
|
t.current = A;
|
|
1349
1349
|
}, [A]), t.current;
|
|
1350
|
-
},
|
|
1350
|
+
}, _o = ({
|
|
1351
1351
|
accounts: A,
|
|
1352
1352
|
copy: t,
|
|
1353
1353
|
onFilterClick: i,
|
|
@@ -1393,7 +1393,7 @@ const Ic = (A, t) => {
|
|
|
1393
1393
|
}
|
|
1394
1394
|
),
|
|
1395
1395
|
/* @__PURE__ */ e(
|
|
1396
|
-
|
|
1396
|
+
Jo,
|
|
1397
1397
|
{
|
|
1398
1398
|
accountFilterButtonEl: d,
|
|
1399
1399
|
accounts: A,
|
|
@@ -1421,8 +1421,8 @@ const Ic = (A, t) => {
|
|
|
1421
1421
|
}
|
|
1422
1422
|
)
|
|
1423
1423
|
] });
|
|
1424
|
-
},
|
|
1425
|
-
const n = KA(), r =
|
|
1424
|
+
}, cc = ({ color: A, labelAverage: t, labelMain: i }) => {
|
|
1425
|
+
const n = KA(), r = fc(n, A);
|
|
1426
1426
|
return /* @__PURE__ */ s("div", { className: `mx-cmn-bar-chart-legend ${r}`, children: [
|
|
1427
1427
|
/* @__PURE__ */ e("div", { "aria-label": i, className: "mx-cmn-color-square", role: "img" }),
|
|
1428
1428
|
/* @__PURE__ */ e(R, { variant: "XSmall", children: i }),
|
|
@@ -1433,7 +1433,7 @@ const Ic = (A, t) => {
|
|
|
1433
1433
|
] }),
|
|
1434
1434
|
/* @__PURE__ */ e(R, { variant: "XSmall", children: t })
|
|
1435
1435
|
] });
|
|
1436
|
-
},
|
|
1436
|
+
}, fc = (A, t) => He({
|
|
1437
1437
|
alignItems: "center",
|
|
1438
1438
|
display: "flex",
|
|
1439
1439
|
gap: A.Spacing.XSmall,
|
|
@@ -1469,7 +1469,7 @@ const Ic = (A, t) => {
|
|
|
1469
1469
|
selectedIndex: I,
|
|
1470
1470
|
value: a
|
|
1471
1471
|
}) => {
|
|
1472
|
-
const c = KA(), d =
|
|
1472
|
+
const c = KA(), d = dc(c, t, i), f = (v) => {
|
|
1473
1473
|
o && (v.key === " " || v.key === "Enter") && o(n);
|
|
1474
1474
|
}, E = I === void 0 || I === n ? "primary" : "secondary", l = () => /* @__PURE__ */ e(
|
|
1475
1475
|
R,
|
|
@@ -1498,8 +1498,8 @@ const Ic = (A, t) => {
|
|
|
1498
1498
|
),
|
|
1499
1499
|
a < 0 && /* @__PURE__ */ e(l, {})
|
|
1500
1500
|
] });
|
|
1501
|
-
},
|
|
1502
|
-
const n = `expandBar-${Math.round(i)}`, r =
|
|
1501
|
+
}, dc = (A, t, i) => {
|
|
1502
|
+
const n = `expandBar-${Math.round(i)}`, r = Ra(n, { from: { height: 0 }, to: { height: i } });
|
|
1503
1503
|
return He({
|
|
1504
1504
|
display: "flex",
|
|
1505
1505
|
flexDirection: "column",
|
|
@@ -1546,7 +1546,7 @@ const Ic = (A, t) => {
|
|
|
1546
1546
|
width: E,
|
|
1547
1547
|
xAxisLabel: l = ""
|
|
1548
1548
|
}) => {
|
|
1549
|
-
const v = KA(), u =
|
|
1549
|
+
const v = KA(), u = Ec(v, E), H = d / I * c, P = Math.abs(d) / I * i, p = a === void 0 || a === r ? "primary" : "secondary";
|
|
1550
1550
|
return /* @__PURE__ */ s("div", { className: `mx-cmn-barchart-bar-column ${u}`, children: [
|
|
1551
1551
|
/* @__PURE__ */ e("div", { style: { height: c }, children: d >= 0 && /* @__PURE__ */ e(
|
|
1552
1552
|
wr,
|
|
@@ -1584,7 +1584,7 @@ const Ic = (A, t) => {
|
|
|
1584
1584
|
}
|
|
1585
1585
|
)
|
|
1586
1586
|
] });
|
|
1587
|
-
},
|
|
1587
|
+
}, Ec = (A, t) => He({
|
|
1588
1588
|
display: "flex",
|
|
1589
1589
|
flexDirection: "column",
|
|
1590
1590
|
flexGrow: t === void 0 ? 1 : 0,
|
|
@@ -1609,10 +1609,10 @@ const Ic = (A, t) => {
|
|
|
1609
1609
|
"& .mx-cmn-clickable": {
|
|
1610
1610
|
cursor: "pointer"
|
|
1611
1611
|
}
|
|
1612
|
-
}),
|
|
1612
|
+
}), hc = (A, t) => A + t, lc = (A, t) => Math.abs(t) > A ? Math.abs(t) : A, vc = (A, t) => [...A, t.value], xr = (A, t, i) => {
|
|
1613
1613
|
const n = A && t ? i / 2 : i;
|
|
1614
1614
|
return A ? n : 0;
|
|
1615
|
-
},
|
|
1615
|
+
}, Rc = (A, t, i, n) => A / (t < 0 ? -i : t) * n || 0, RP = ({
|
|
1616
1616
|
average: A,
|
|
1617
1617
|
barWidth: t = "8%",
|
|
1618
1618
|
color: i,
|
|
@@ -1624,7 +1624,7 @@ const Ic = (A, t) => {
|
|
|
1624
1624
|
selectedIndex: c,
|
|
1625
1625
|
valueFormatter: d = (f) => `${f}`
|
|
1626
1626
|
}) => {
|
|
1627
|
-
const f = KA(), E =
|
|
1627
|
+
const f = KA(), E = uc(f), l = n.reduce(vc, []), v = A !== void 0 ? A : l.reduce(hc, 0) / l.length, u = Math.max(...l), H = Math.min(...l), P = l.reduce(lc, 0), p = u >= 0, y = H < 0, x = xr(p, y, r), w = xr(y, p, r), D = Rc(v, u, H, x || w), m = (O) => c === void 0 || O === c ? i : `${i}80`, j = () => /* @__PURE__ */ e(
|
|
1628
1628
|
yr,
|
|
1629
1629
|
{
|
|
1630
1630
|
averageLineHeight: D,
|
|
@@ -1661,9 +1661,9 @@ const Ic = (A, t) => {
|
|
|
1661
1661
|
/* @__PURE__ */ e(j, {})
|
|
1662
1662
|
] }, `column-${T}`))
|
|
1663
1663
|
] }),
|
|
1664
|
-
/* @__PURE__ */ e(
|
|
1664
|
+
/* @__PURE__ */ e(cc, { color: i, labelAverage: o, labelMain: I })
|
|
1665
1665
|
] });
|
|
1666
|
-
},
|
|
1666
|
+
}, uc = (A) => He({
|
|
1667
1667
|
"& .mx-cmn-chart-container": {
|
|
1668
1668
|
alignItems: "flex-end",
|
|
1669
1669
|
display: "flex",
|
|
@@ -1671,16 +1671,16 @@ const Ic = (A, t) => {
|
|
|
1671
1671
|
marginTop: A.Spacing.Large,
|
|
1672
1672
|
marginBottom: A.Spacing.Medium
|
|
1673
1673
|
}
|
|
1674
|
-
}),
|
|
1675
|
-
const r = KA(), o =
|
|
1674
|
+
}), Pc = ({ copy: A, date: t, onNextClick: i, onPreviousClick: n }) => {
|
|
1675
|
+
const r = KA(), o = bc(r);
|
|
1676
1676
|
return /* @__PURE__ */ s("div", { className: `mx-cmn-calendar-header ${o}`, children: [
|
|
1677
1677
|
/* @__PURE__ */ e(lt, { className: "mx-cmn-calendar-header-title", variant: "H3", children: nA(t, AA.MONTH_YEAR) }),
|
|
1678
1678
|
/* @__PURE__ */ s("div", { className: "mx-cmn-calendar-header-button-container", children: [
|
|
1679
|
-
/* @__PURE__ */ e($, { "aria-label": A.prevAria, onClick: n, children: /* @__PURE__ */ e(
|
|
1680
|
-
/* @__PURE__ */ e($, { "aria-label": A.nextAria, onClick: i, children: /* @__PURE__ */ e(
|
|
1679
|
+
/* @__PURE__ */ e($, { "aria-label": A.prevAria, onClick: n, children: /* @__PURE__ */ e(Ha, {}) }),
|
|
1680
|
+
/* @__PURE__ */ e($, { "aria-label": A.nextAria, onClick: i, children: /* @__PURE__ */ e(za, {}) })
|
|
1681
1681
|
] })
|
|
1682
1682
|
] });
|
|
1683
|
-
},
|
|
1683
|
+
}, bc = (A) => He({
|
|
1684
1684
|
alignItems: "center",
|
|
1685
1685
|
display: "flex",
|
|
1686
1686
|
marginBottom: A.Spacing.Medium,
|
|
@@ -1693,8 +1693,8 @@ const Ic = (A, t) => {
|
|
|
1693
1693
|
display: "flex",
|
|
1694
1694
|
gap: 4
|
|
1695
1695
|
}
|
|
1696
|
-
}),
|
|
1697
|
-
const o = RA(), I = KA(), a =
|
|
1696
|
+
}), Hc = ({ beginDate: A, date: t, endDate: i, isInMonth: n, onClick: r }) => {
|
|
1697
|
+
const o = RA(), I = KA(), a = zc(I, o), c = A && i && mt(t, { start: A, end: i }) && !Ee(t, A) && !Ee(t, i), d = A && i && Ee(A, t) && !Ee(A, i), f = i && A && Ee(i, t) && !Ee(A, i), E = A && Ee(A, t) || i && Ee(i, t), l = Ee(t, fA());
|
|
1698
1698
|
return /* @__PURE__ */ e(
|
|
1699
1699
|
"div",
|
|
1700
1700
|
{
|
|
@@ -1730,7 +1730,7 @@ const Ic = (A, t) => {
|
|
|
1730
1730
|
)
|
|
1731
1731
|
}
|
|
1732
1732
|
);
|
|
1733
|
-
},
|
|
1733
|
+
}, zc = (A, t) => He({
|
|
1734
1734
|
height: Jt,
|
|
1735
1735
|
width: Jt,
|
|
1736
1736
|
display: "flex",
|
|
@@ -1775,9 +1775,9 @@ const Ic = (A, t) => {
|
|
|
1775
1775
|
paddingBottom: 5
|
|
1776
1776
|
}
|
|
1777
1777
|
}
|
|
1778
|
-
}),
|
|
1779
|
-
var
|
|
1780
|
-
const
|
|
1778
|
+
}), Cc = 340, Jt = 44;
|
|
1779
|
+
var $o = /* @__PURE__ */ ((A) => (A.None = "None", A.Single = "Single", A.Range = "Range", A))($o || {});
|
|
1780
|
+
const gc = ({
|
|
1781
1781
|
copy: A,
|
|
1782
1782
|
beginDate: t = void 0,
|
|
1783
1783
|
endDate: i = void 0,
|
|
@@ -1786,14 +1786,14 @@ const Cc = ({
|
|
|
1786
1786
|
selectionType: o = "Single"
|
|
1787
1787
|
/* Single */
|
|
1788
1788
|
}) => {
|
|
1789
|
-
const I = KA(), a =
|
|
1789
|
+
const I = KA(), a = Xc(I), [c, d] = h.useState(fA), [f, E] = h.useState(t), [l, v] = h.useState(i);
|
|
1790
1790
|
h.useEffect(() => {
|
|
1791
1791
|
E(t), v(i), t && d(t);
|
|
1792
1792
|
}, [t, i]);
|
|
1793
1793
|
const u = h.useMemo(() => {
|
|
1794
|
-
const x =
|
|
1794
|
+
const x = Pa({ start: QA(c), end: BA(c) }), w = [];
|
|
1795
1795
|
for (let D = 0; D < x.length; D++) {
|
|
1796
|
-
const m = x[D], j =
|
|
1796
|
+
const m = x[D], j = ua({ start: m, end: We(m, 6) }), O = [];
|
|
1797
1797
|
for (let T = 0; T < j.length; T++)
|
|
1798
1798
|
O.push(j[T]);
|
|
1799
1799
|
w.push(O);
|
|
@@ -1817,7 +1817,7 @@ const Cc = ({
|
|
|
1817
1817
|
};
|
|
1818
1818
|
return /* @__PURE__ */ e("div", { className: `mx-cmn-calendar ${a}`, children: /* @__PURE__ */ s(De, { sx: { boxShadow: "none" }, children: [
|
|
1819
1819
|
/* @__PURE__ */ e(
|
|
1820
|
-
|
|
1820
|
+
Pc,
|
|
1821
1821
|
{
|
|
1822
1822
|
copy: A,
|
|
1823
1823
|
date: c,
|
|
@@ -1827,20 +1827,20 @@ const Cc = ({
|
|
|
1827
1827
|
),
|
|
1828
1828
|
/* @__PURE__ */ e("div", { className: "mx-cmn-calendar-header-row", children: u[0].map((x, w) => /* @__PURE__ */ e("div", { className: "mx-cmn-calendar-header-cell", children: /* @__PURE__ */ e(R, { bold: !0, variant: "Small", children: le(x, "EEEEE") }) }, w)) }),
|
|
1829
1829
|
u.map((x, w) => /* @__PURE__ */ e("div", { className: "mx-cmn-calendar-week", children: x.map((D, m) => /* @__PURE__ */ e(
|
|
1830
|
-
|
|
1830
|
+
Hc,
|
|
1831
1831
|
{
|
|
1832
1832
|
beginDate: f,
|
|
1833
1833
|
date: D,
|
|
1834
1834
|
endDate: l,
|
|
1835
|
-
isInMonth:
|
|
1835
|
+
isInMonth: ba(D, c),
|
|
1836
1836
|
onClick: H
|
|
1837
1837
|
},
|
|
1838
1838
|
m
|
|
1839
1839
|
)) }, `w-${w}`)),
|
|
1840
1840
|
/* @__PURE__ */ e("div", { className: "mx-cmn-calendar-today-container", children: /* @__PURE__ */ e($, { onClick: P, size: "small", variant: "text", children: A.today }) })
|
|
1841
1841
|
] }) });
|
|
1842
|
-
},
|
|
1843
|
-
width:
|
|
1842
|
+
}, Xc = (A) => He({
|
|
1843
|
+
width: Cc,
|
|
1844
1844
|
"& .MuiPaper-root": {
|
|
1845
1845
|
paddingLeft: 24,
|
|
1846
1846
|
paddingRight: 24,
|
|
@@ -1880,7 +1880,7 @@ const Cc = ({
|
|
|
1880
1880
|
marginRight: "auto"
|
|
1881
1881
|
}
|
|
1882
1882
|
}
|
|
1883
|
-
}),
|
|
1883
|
+
}), pc = 100, wc = 140, yc = 10, xc = ({
|
|
1884
1884
|
data: A,
|
|
1885
1885
|
onClick: t,
|
|
1886
1886
|
selectedId: i,
|
|
@@ -1889,7 +1889,7 @@ const Cc = ({
|
|
|
1889
1889
|
}) => {
|
|
1890
1890
|
let o = 0;
|
|
1891
1891
|
return h.useEffect(() => {
|
|
1892
|
-
|
|
1892
|
+
Ca(".arc-outer").transition("roll").duration(500).attrTween("transform", () => ga("rotate(0)", "rotate(360)"));
|
|
1893
1893
|
}, []), /* @__PURE__ */ s(L, { height: n, position: "relative", width: n, children: [
|
|
1894
1894
|
/* @__PURE__ */ e(L, { height: "100%", padding: n / 3.75, width: "100%", children: r }),
|
|
1895
1895
|
/* @__PURE__ */ e(
|
|
@@ -1902,9 +1902,9 @@ const Cc = ({
|
|
|
1902
1902
|
children: /* @__PURE__ */ e("g", { children: A.map((I) => {
|
|
1903
1903
|
const a = o;
|
|
1904
1904
|
o = o + 2 * Math.PI * (I.value / 100);
|
|
1905
|
-
const c = o, d =
|
|
1906
|
-
innerRadius:
|
|
1907
|
-
outerRadius:
|
|
1905
|
+
const c = o, d = Xa().cornerRadius(4)({
|
|
1906
|
+
innerRadius: pc,
|
|
1907
|
+
outerRadius: wc + (I.id === i ? yc : 0),
|
|
1908
1908
|
startAngle: a,
|
|
1909
1909
|
endAngle: c,
|
|
1910
1910
|
padAngle: 0.025
|
|
@@ -1924,7 +1924,7 @@ const Cc = ({
|
|
|
1924
1924
|
}
|
|
1925
1925
|
)
|
|
1926
1926
|
] });
|
|
1927
|
-
},
|
|
1927
|
+
}, Dc = (A) => {
|
|
1928
1928
|
const t = oe(), i = A.showLabel, n = A.style, r = Number(A.x), o = Number(A.y), I = A.handlers?.onMarkClick, a = A.handlers?.onMouseEnter, c = A.handlers?.onMouseLeave;
|
|
1929
1929
|
return /* @__PURE__ */ s(Z, { children: [
|
|
1930
1930
|
i && /* @__PURE__ */ e(
|
|
@@ -1964,7 +1964,7 @@ const Cc = ({
|
|
|
1964
1964
|
}
|
|
1965
1965
|
)
|
|
1966
1966
|
] });
|
|
1967
|
-
},
|
|
1967
|
+
}, jc = (A) => /* @__PURE__ */ s(Z, { children: [
|
|
1968
1968
|
/* @__PURE__ */ e("clipPath", { id: A.id, children: /* @__PURE__ */ e("rect", { height: A.height, width: A.width, x: "0", y: "0" }) }),
|
|
1969
1969
|
/* @__PURE__ */ e("g", { children: /* @__PURE__ */ e(
|
|
1970
1970
|
"path",
|
|
@@ -1981,7 +1981,7 @@ const Cc = ({
|
|
|
1981
1981
|
}
|
|
1982
1982
|
}
|
|
1983
1983
|
) })
|
|
1984
|
-
] }),
|
|
1984
|
+
] }), mc = ({
|
|
1985
1985
|
series: A,
|
|
1986
1986
|
average: t,
|
|
1987
1987
|
style: i
|
|
@@ -2011,7 +2011,7 @@ const Cc = ({
|
|
|
2011
2011
|
] })
|
|
2012
2012
|
] })
|
|
2013
2013
|
] });
|
|
2014
|
-
},
|
|
2014
|
+
}, Oc = C(mc), Mn = ({
|
|
2015
2015
|
baseline: A = "max",
|
|
2016
2016
|
colors: t,
|
|
2017
2017
|
datasets: i,
|
|
@@ -2041,7 +2041,7 @@ const Cc = ({
|
|
|
2041
2041
|
}));
|
|
2042
2042
|
return /* @__PURE__ */ s("div", { style: { position: "relative" }, children: [
|
|
2043
2043
|
/* @__PURE__ */ s(
|
|
2044
|
-
|
|
2044
|
+
ya,
|
|
2045
2045
|
{
|
|
2046
2046
|
height: n,
|
|
2047
2047
|
margin: o,
|
|
@@ -2072,21 +2072,21 @@ const Cc = ({
|
|
|
2072
2072
|
}
|
|
2073
2073
|
],
|
|
2074
2074
|
children: [
|
|
2075
|
-
/* @__PURE__ */ e(
|
|
2075
|
+
/* @__PURE__ */ e(xa, {}),
|
|
2076
2076
|
/* @__PURE__ */ e(
|
|
2077
|
-
|
|
2077
|
+
Da,
|
|
2078
2078
|
{
|
|
2079
2079
|
slots: d && D.length < 2 ? {
|
|
2080
|
-
line: (m) => /* @__PURE__ */ e(
|
|
2080
|
+
line: (m) => /* @__PURE__ */ e(jc, { ...m, lineColor: t[0] ?? H.palette.primary.main })
|
|
2081
2081
|
} : void 0
|
|
2082
2082
|
}
|
|
2083
2083
|
),
|
|
2084
2084
|
/* @__PURE__ */ e(
|
|
2085
|
-
|
|
2085
|
+
ja,
|
|
2086
2086
|
{
|
|
2087
2087
|
slots: l ? {
|
|
2088
2088
|
mark: (m) => /* @__PURE__ */ e(
|
|
2089
|
-
|
|
2089
|
+
Dc,
|
|
2090
2090
|
{
|
|
2091
2091
|
handlers: I,
|
|
2092
2092
|
showLabel: E,
|
|
@@ -2099,16 +2099,16 @@ const Cc = ({
|
|
|
2099
2099
|
}
|
|
2100
2100
|
),
|
|
2101
2101
|
/* @__PURE__ */ e(
|
|
2102
|
-
|
|
2102
|
+
ma,
|
|
2103
2103
|
{
|
|
2104
2104
|
barLabel: (m) => Number(m.value) > 0 ? `$${m.value}` : null,
|
|
2105
2105
|
borderRadius: 10
|
|
2106
2106
|
}
|
|
2107
2107
|
),
|
|
2108
|
-
/* @__PURE__ */ e(ma, { disableLine: !0, disableTicks: !0 }),
|
|
2109
2108
|
/* @__PURE__ */ e(Oa, { disableLine: !0, disableTicks: !0 }),
|
|
2109
|
+
/* @__PURE__ */ e(La, { disableLine: !0, disableTicks: !0 }),
|
|
2110
2110
|
f && /* @__PURE__ */ e(
|
|
2111
|
-
|
|
2111
|
+
Qa,
|
|
2112
2112
|
{
|
|
2113
2113
|
lineStyle: {
|
|
2114
2114
|
stroke: H.palette.grey[700],
|
|
@@ -2119,7 +2119,7 @@ const Cc = ({
|
|
|
2119
2119
|
}
|
|
2120
2120
|
),
|
|
2121
2121
|
!f && /* @__PURE__ */ e(
|
|
2122
|
-
|
|
2122
|
+
qa,
|
|
2123
2123
|
{
|
|
2124
2124
|
position: { horizontal: "left", vertical: "top" },
|
|
2125
2125
|
slotProps: {
|
|
@@ -2135,7 +2135,7 @@ const Cc = ({
|
|
|
2135
2135
|
}
|
|
2136
2136
|
),
|
|
2137
2137
|
f && /* @__PURE__ */ e(
|
|
2138
|
-
|
|
2138
|
+
Oc,
|
|
2139
2139
|
{
|
|
2140
2140
|
average: y,
|
|
2141
2141
|
series: D,
|
|
@@ -2159,8 +2159,8 @@ const Cc = ({
|
|
|
2159
2159
|
},
|
|
2160
2160
|
children: A
|
|
2161
2161
|
}
|
|
2162
|
-
),
|
|
2163
|
-
|
|
2162
|
+
), AI = h.createContext(null), eI = ({ children: A, availableHeight: t, availableWidth: i }) => /* @__PURE__ */ e(
|
|
2163
|
+
AI.Provider,
|
|
2164
2164
|
{
|
|
2165
2165
|
value: {
|
|
2166
2166
|
availableHeight: t,
|
|
@@ -2174,12 +2174,12 @@ const Cc = ({
|
|
|
2174
2174
|
if (!t)
|
|
2175
2175
|
throw new Error(`${A}() must be used within the GlobalDataContext`);
|
|
2176
2176
|
return t;
|
|
2177
|
-
}, CA = () => UA("useAccountStore").globalStore.accountStore,
|
|
2178
|
-
const t = h.useContext(
|
|
2177
|
+
}, CA = () => UA("useAccountStore").globalStore.accountStore, tI = () => UA("useAppConfig").globalStore.appDataStore.appConfig, te = () => UA("useBudgetsStore").globalStore.budgetsStore, Nn = () => UA("useCashflowStore").globalStore.cashflowStore, qA = () => UA("useCategoryStore").globalStore.categoryStore, iI = () => UA("useConnectStore").globalStore.connectStore, Ni = () => UA("useDebtsStore").globalStore.debtsStore, oi = () => UA("useGlobalStore").globalStore, pA = () => UA("useGlobalUiStore").globalStore.globalUiStore, X = () => UA("globalCopyStore").globalStore.copyStore.copy, FA = () => UA("useGoalStore").globalStore.goalStore, Tn = () => UA("useHelpStore").globalStore.helpStore, Lc = () => UA("useMerchantStore").globalStore.merchantStore, Qc = () => UA("useNetWorthStore").globalStore.netWorthStore, nI = () => UA("useNotificationStore").globalStore.notificationStore, ZA = () => UA("useRecurringActivityStore").globalStore.recurringActivityStore, ge = () => UA("useSettingsStore").globalStore.settingsStore, PA = () => UA("useTransactionStore").globalStore.transactionStore, Ue = () => UA("useUserStore").globalStore.userStore, K = () => ({ onEvent: UA().onEvent }), PP = () => ({ onPageView: UA().onPageView }), qc = (A = "useWidgetContainerContext") => {
|
|
2178
|
+
const t = h.useContext(AI);
|
|
2179
2179
|
if (!t)
|
|
2180
2180
|
throw new Error(`${A}() must be used within the WidgetContainerContext`);
|
|
2181
2181
|
return t;
|
|
2182
|
-
}, Xt = () =>
|
|
2182
|
+
}, Xt = () => qc(), rI = ({ categoryGuid: A, topLevelCategoryGuid: t }) => {
|
|
2183
2183
|
const { categories: i } = X(), { getCategoryName: n } = qA(), r = n(A);
|
|
2184
2184
|
return /* @__PURE__ */ s(b, { alignItems: "center", direction: "column", gap: "8", justifyContent: "center", mb: 4, children: [
|
|
2185
2185
|
/* @__PURE__ */ e(
|
|
@@ -2206,13 +2206,13 @@ const Cc = ({
|
|
|
2206
2206
|
}) => /* @__PURE__ */ s(R, { bold: i, color: n || (A ? "success.main" : "text.primary"), sx: o, variant: a, ...c, children: [
|
|
2207
2207
|
I && I,
|
|
2208
2208
|
M(Number(t), r ?? "0,0.00")
|
|
2209
|
-
] }),
|
|
2209
|
+
] }), Gc = ({
|
|
2210
2210
|
categoryGuids: { guid: A, topLevelGuid: t },
|
|
2211
2211
|
hoveredAreaData: i,
|
|
2212
2212
|
cursorPosition: n,
|
|
2213
2213
|
chartContainerRef: r
|
|
2214
2214
|
}) => {
|
|
2215
|
-
const o = oe(), I =
|
|
2215
|
+
const o = oe(), I = po(null), [a, c] = Fe({ x: n.x, y: n.y });
|
|
2216
2216
|
if (Ht(() => {
|
|
2217
2217
|
(() => {
|
|
2218
2218
|
const E = I.current, l = r.current;
|
|
@@ -2236,7 +2236,7 @@ const Cc = ({
|
|
|
2236
2236
|
},
|
|
2237
2237
|
children: /* @__PURE__ */ s(Ce, { children: [
|
|
2238
2238
|
/* @__PURE__ */ s(L, { alignItems: "center", display: "flex", flexDirection: "column", children: [
|
|
2239
|
-
/* @__PURE__ */ e(
|
|
2239
|
+
/* @__PURE__ */ e(rI, { categoryGuid: A, topLevelCategoryGuid: t }),
|
|
2240
2240
|
/* @__PURE__ */ e(R, { variant: "Small", children: `${i.length}-month total` }),
|
|
2241
2241
|
/* @__PURE__ */ e(OA, { amount: d, bold: !0, formatString: "0,0", variant: "body2" })
|
|
2242
2242
|
] }),
|
|
@@ -2259,19 +2259,19 @@ const Cc = ({
|
|
|
2259
2259
|
] })
|
|
2260
2260
|
}
|
|
2261
2261
|
);
|
|
2262
|
-
},
|
|
2262
|
+
}, Mc = C(Gc), Nc = ({
|
|
2263
2263
|
categoryGuids: { guid: A, topLevelGuid: t },
|
|
2264
2264
|
itemData: { dataIndex: i },
|
|
2265
2265
|
series: n,
|
|
2266
2266
|
xData: r
|
|
2267
2267
|
}) => {
|
|
2268
2268
|
const o = nt(), I = n.data[i], a = r[i];
|
|
2269
|
-
return I === void 0 || !a ? null : /* @__PURE__ */ e(yi, { sx: { pt: 4, px: 8 }, children: /* @__PURE__ */ e(
|
|
2270
|
-
/* @__PURE__ */ e(
|
|
2269
|
+
return I === void 0 || !a ? null : /* @__PURE__ */ e(yi, { sx: { pt: 4, px: 8 }, children: /* @__PURE__ */ e(Ga, { children: /* @__PURE__ */ s(Me, { alignItems: "center", display: "flex", flexDirection: "column", children: [
|
|
2270
|
+
/* @__PURE__ */ e(rI, { categoryGuid: A, topLevelCategoryGuid: t }),
|
|
2271
2271
|
/* @__PURE__ */ e(R, { color: o.palette.text.secondary, variant: "Small", children: nA(a, AA.MONTH_SHORT_YEAR) }),
|
|
2272
2272
|
/* @__PURE__ */ e(OA, { amount: String(I), bold: !0, formatString: "0,0", variant: "Body" })
|
|
2273
2273
|
] }) }) });
|
|
2274
|
-
},
|
|
2274
|
+
}, Tc = ({
|
|
2275
2275
|
sx: A,
|
|
2276
2276
|
categoryGuids: t,
|
|
2277
2277
|
hoveredLegend: i,
|
|
@@ -2317,7 +2317,7 @@ const Cc = ({
|
|
|
2317
2317
|
a
|
|
2318
2318
|
);
|
|
2319
2319
|
}) });
|
|
2320
|
-
},
|
|
2320
|
+
}, Yc = ({
|
|
2321
2321
|
onHoverArea: A,
|
|
2322
2322
|
onHoverPoint: t,
|
|
2323
2323
|
onHoverLegend: i,
|
|
@@ -2447,7 +2447,7 @@ const Cc = ({
|
|
|
2447
2447
|
sx: { width: "100%", position: "relative" },
|
|
2448
2448
|
children: [
|
|
2449
2449
|
/* @__PURE__ */ e(
|
|
2450
|
-
|
|
2450
|
+
xo,
|
|
2451
2451
|
{
|
|
2452
2452
|
height: I || 400,
|
|
2453
2453
|
margin: { bottom: 50 },
|
|
@@ -2462,7 +2462,7 @@ const Cc = ({
|
|
|
2462
2462
|
},
|
|
2463
2463
|
slots: {
|
|
2464
2464
|
itemContent: (J) => w && H ? /* @__PURE__ */ e(
|
|
2465
|
-
|
|
2465
|
+
Nc,
|
|
2466
2466
|
{
|
|
2467
2467
|
categoryGuids: WA(H),
|
|
2468
2468
|
xData: j,
|
|
@@ -2493,7 +2493,7 @@ const Cc = ({
|
|
|
2493
2493
|
}
|
|
2494
2494
|
),
|
|
2495
2495
|
/* @__PURE__ */ e(
|
|
2496
|
-
|
|
2496
|
+
Tc,
|
|
2497
2497
|
{
|
|
2498
2498
|
categoryGuids: jA,
|
|
2499
2499
|
hoveredLegend: E,
|
|
@@ -2503,7 +2503,7 @@ const Cc = ({
|
|
|
2503
2503
|
}
|
|
2504
2504
|
),
|
|
2505
2505
|
x && /* @__PURE__ */ e(
|
|
2506
|
-
|
|
2506
|
+
Mc,
|
|
2507
2507
|
{
|
|
2508
2508
|
categoryGuids: WA(H),
|
|
2509
2509
|
chartContainerRef: f,
|
|
@@ -2564,7 +2564,7 @@ const Cc = ({
|
|
|
2564
2564
|
c && c(), r();
|
|
2565
2565
|
};
|
|
2566
2566
|
return /* @__PURE__ */ e("div", { className: `mx-cmn-dialog ${A}`, children: /* @__PURE__ */ s(
|
|
2567
|
-
|
|
2567
|
+
Ba,
|
|
2568
2568
|
{
|
|
2569
2569
|
onClose: r,
|
|
2570
2570
|
open: n,
|
|
@@ -2577,16 +2577,16 @@ const Cc = ({
|
|
|
2577
2577
|
...l,
|
|
2578
2578
|
children: [
|
|
2579
2579
|
/* @__PURE__ */ e(
|
|
2580
|
-
|
|
2580
|
+
sa,
|
|
2581
2581
|
{
|
|
2582
2582
|
copy: { title: t.title, close_aria: t.close_aria },
|
|
2583
2583
|
onClose: r,
|
|
2584
2584
|
style: { boxSizing: "border-box" }
|
|
2585
2585
|
}
|
|
2586
2586
|
),
|
|
2587
|
-
/* @__PURE__ */ e(
|
|
2587
|
+
/* @__PURE__ */ e(jo, { sx: { lineHeight: 1.5 }, children: E }),
|
|
2588
2588
|
/* @__PURE__ */ e(
|
|
2589
|
-
|
|
2589
|
+
ca,
|
|
2590
2590
|
{
|
|
2591
2591
|
isPrimaryDisabled: i,
|
|
2592
2592
|
onPrimaryAction: v,
|
|
@@ -2601,7 +2601,7 @@ const Cc = ({
|
|
|
2601
2601
|
]
|
|
2602
2602
|
}
|
|
2603
2603
|
) });
|
|
2604
|
-
},
|
|
2604
|
+
}, Vc = ({
|
|
2605
2605
|
ariaLabelClose: A,
|
|
2606
2606
|
onClose: t,
|
|
2607
2607
|
shouldShowBorders: i,
|
|
@@ -2627,7 +2627,7 @@ const Cc = ({
|
|
|
2627
2627
|
padding: "8px 8px 8px 8px"
|
|
2628
2628
|
},
|
|
2629
2629
|
children: [
|
|
2630
|
-
/* @__PURE__ */ e(NA, { "aria-label": A, color: "primary", onClick: t, children: /* @__PURE__ */ e(
|
|
2630
|
+
/* @__PURE__ */ e(NA, { "aria-label": A, color: "primary", onClick: t, children: /* @__PURE__ */ e(Sa, { color: "primary", sx: { fontSize: 22 } }) }),
|
|
2631
2631
|
/* @__PURE__ */ e(
|
|
2632
2632
|
L,
|
|
2633
2633
|
{
|
|
@@ -2661,7 +2661,7 @@ const Cc = ({
|
|
|
2661
2661
|
title: H,
|
|
2662
2662
|
...P
|
|
2663
2663
|
}) => /* @__PURE__ */ e(
|
|
2664
|
-
|
|
2664
|
+
fa,
|
|
2665
2665
|
{
|
|
2666
2666
|
id: n,
|
|
2667
2667
|
isOpen: r,
|
|
@@ -2678,7 +2678,7 @@ const Cc = ({
|
|
|
2678
2678
|
...P,
|
|
2679
2679
|
children: /* @__PURE__ */ s(b, { height: "100%", justifyContent: "space-between", children: [
|
|
2680
2680
|
/* @__PURE__ */ e(
|
|
2681
|
-
|
|
2681
|
+
Vc,
|
|
2682
2682
|
{
|
|
2683
2683
|
ariaLabelClose: A,
|
|
2684
2684
|
onClose: I,
|
|
@@ -2689,7 +2689,7 @@ const Cc = ({
|
|
|
2689
2689
|
),
|
|
2690
2690
|
/* @__PURE__ */ e(L, { height: "100%", overflow: "auto", children: t }),
|
|
2691
2691
|
a && /* @__PURE__ */ e(
|
|
2692
|
-
|
|
2692
|
+
da,
|
|
2693
2693
|
{
|
|
2694
2694
|
hasSecondaryAction: i,
|
|
2695
2695
|
isPrimaryDisabled: o,
|
|
@@ -2741,7 +2741,7 @@ const Cc = ({
|
|
|
2741
2741
|
else if (l === i.dateRangePickerCopy.dateRangeYTD || l === i.dateRangePickerCopy.dateRangeLastYear)
|
|
2742
2742
|
iA[0] = uA ? fr(cr(oA), 1) : _t(cr(oA), 1), iA[1] = uA ? fr(sr(oA), 1) : _t(sr(oA), 1);
|
|
2743
2743
|
else {
|
|
2744
|
-
const cA =
|
|
2744
|
+
const cA = Ya(sA, oA);
|
|
2745
2745
|
iA[0] = Y === "previous" ? Ve(oA, cA) : We(oA, cA), iA[1] = Y === "previous" ? Ve(sA, cA) : We(sA, cA);
|
|
2746
2746
|
}
|
|
2747
2747
|
E(iA), A.onRangeChanged(iA);
|
|
@@ -2789,7 +2789,7 @@ const Cc = ({
|
|
|
2789
2789
|
/* @__PURE__ */ e(R, { bold: !0, children: nA(u[1], AA.MONTH_DAY_YEAR) })
|
|
2790
2790
|
] }),
|
|
2791
2791
|
I !== "readonly" && I !== "timeframebuttons" && I !== "timeframetabs" && /* @__PURE__ */ s(
|
|
2792
|
-
|
|
2792
|
+
Va,
|
|
2793
2793
|
{
|
|
2794
2794
|
color: t,
|
|
2795
2795
|
sx: {
|
|
@@ -2845,7 +2845,7 @@ const Cc = ({
|
|
|
2845
2845
|
}
|
|
2846
2846
|
),
|
|
2847
2847
|
I === "timeframebuttons" && /* @__PURE__ */ e(
|
|
2848
|
-
|
|
2848
|
+
Do,
|
|
2849
2849
|
{
|
|
2850
2850
|
color: t,
|
|
2851
2851
|
exclusive: !0,
|
|
@@ -2968,11 +2968,11 @@ const Cc = ({
|
|
|
2968
2968
|
}, bP = ({
|
|
2969
2969
|
hasGap: A = !1,
|
|
2970
2970
|
segments: t,
|
|
2971
|
-
size: i =
|
|
2972
|
-
strokeWidth: n =
|
|
2971
|
+
size: i = Fo,
|
|
2972
|
+
strokeWidth: n = Wo,
|
|
2973
2973
|
children: r
|
|
2974
2974
|
}) => {
|
|
2975
|
-
const o = KA(), I =
|
|
2975
|
+
const o = KA(), I = Bc(o, i), a = (i - n) / 2, c = i / 2;
|
|
2976
2976
|
let d = -90 - (A ? 1 : 0), f = 0;
|
|
2977
2977
|
return /* @__PURE__ */ s("div", { className: `mx-cmn-multi-segment-donut ${I}`, children: [
|
|
2978
2978
|
/* @__PURE__ */ s("svg", { height: i, width: i, children: [
|
|
@@ -3005,7 +3005,7 @@ const Cc = ({
|
|
|
3005
3005
|
] }),
|
|
3006
3006
|
/* @__PURE__ */ e("div", { className: "mx-cmn-multi-segment-donut-children", children: r })
|
|
3007
3007
|
] });
|
|
3008
|
-
},
|
|
3008
|
+
}, Bc = (A, t) => He({
|
|
3009
3009
|
height: t,
|
|
3010
3010
|
marginTop: `-${A.Spacing.XSmall}px`,
|
|
3011
3011
|
position: "relative",
|
|
@@ -3017,11 +3017,11 @@ const Cc = ({
|
|
|
3017
3017
|
top: "50%",
|
|
3018
3018
|
transform: "translate(-50%, -50%)"
|
|
3019
3019
|
}
|
|
3020
|
-
}),
|
|
3020
|
+
}), oI = ({
|
|
3021
3021
|
color: A = "",
|
|
3022
3022
|
percent: t = 0,
|
|
3023
|
-
size: i =
|
|
3024
|
-
strokeWidth: n =
|
|
3023
|
+
size: i = Fo,
|
|
3024
|
+
strokeWidth: n = Wo,
|
|
3025
3025
|
children: r
|
|
3026
3026
|
}) => {
|
|
3027
3027
|
const o = RA(), I = (i - n) / 2, a = -90, c = t > 100 ? 100 : t, d = 2 * Math.PI * I * (1 - c / 100), f = i / 2;
|
|
@@ -3076,7 +3076,7 @@ const Cc = ({
|
|
|
3076
3076
|
]
|
|
3077
3077
|
}
|
|
3078
3078
|
);
|
|
3079
|
-
},
|
|
3079
|
+
}, Sc = (A, t) => h.useMemo(() => {
|
|
3080
3080
|
let i = null;
|
|
3081
3081
|
return (...n) => {
|
|
3082
3082
|
i && clearTimeout(i), i = setTimeout(() => {
|
|
@@ -3084,11 +3084,11 @@ const Cc = ({
|
|
|
3084
3084
|
}, t);
|
|
3085
3085
|
};
|
|
3086
3086
|
}, [A, t]);
|
|
3087
|
-
function
|
|
3087
|
+
function II(A = 100) {
|
|
3088
3088
|
const [t, i] = h.useState({
|
|
3089
3089
|
width: 0,
|
|
3090
3090
|
height: 0
|
|
3091
|
-
}), n = h.useRef(null), r = h.useRef(t), o =
|
|
3091
|
+
}), n = h.useRef(null), r = h.useRef(t), o = Sc((a, c) => {
|
|
3092
3092
|
(a !== r.current.width || c !== r.current.height) && (i({ width: a, height: c }), r.current = { width: a, height: c });
|
|
3093
3093
|
}, A), I = h.useCallback(
|
|
3094
3094
|
(a) => {
|
|
@@ -3117,7 +3117,7 @@ const pt = ({
|
|
|
3117
3117
|
sx: o = {},
|
|
3118
3118
|
title: I = ""
|
|
3119
3119
|
}) => {
|
|
3120
|
-
const [a, { height: c, width: d }] =
|
|
3120
|
+
const [a, { height: c, width: d }] = II();
|
|
3121
3121
|
return /* @__PURE__ */ s(ze, { className: A, sx: { borderRadius: "8px", ...o }, children: [
|
|
3122
3122
|
/* @__PURE__ */ e(
|
|
3123
3123
|
rt,
|
|
@@ -3136,9 +3136,9 @@ const pt = ({
|
|
|
3136
3136
|
title: I ? /* @__PURE__ */ e(ne, { sx: { pb: 4 }, children: I }) : null
|
|
3137
3137
|
}
|
|
3138
3138
|
),
|
|
3139
|
-
/* @__PURE__ */ e(Ce, { ref: a, sx: { p: 0 }, children: /* @__PURE__ */ e(
|
|
3139
|
+
/* @__PURE__ */ e(Ce, { ref: a, sx: { p: 0 }, children: /* @__PURE__ */ e(eI, { availableHeight: c, availableWidth: d, children: t }) })
|
|
3140
3140
|
] });
|
|
3141
|
-
},
|
|
3141
|
+
}, Uc = ({
|
|
3142
3142
|
accountOptions: A,
|
|
3143
3143
|
actions: t = [],
|
|
3144
3144
|
calendarActions: i,
|
|
@@ -3153,7 +3153,7 @@ const pt = ({
|
|
|
3153
3153
|
sx: E = {},
|
|
3154
3154
|
title: l = ""
|
|
3155
3155
|
}) => {
|
|
3156
|
-
const [v, { height: u, width: H }] =
|
|
3156
|
+
const [v, { height: u, width: H }] = II(), { onEvent: P } = K(), { isDesktop: p, isLargeDesktop: y, isMobile: x, isTablet: w } = zA(), { displayedDateRange: D, selectedAccountGuids: m, setSelectedAccountGuids: j } = pA(), { common: O } = X(), T = () => {
|
|
3157
3157
|
c && (c(), P(V.WIDGET_BACK_CLICK));
|
|
3158
3158
|
}, tA = {
|
|
3159
3159
|
accountFilterOptionsCopy: {
|
|
@@ -3220,7 +3220,7 @@ const pt = ({
|
|
|
3220
3220
|
}
|
|
3221
3221
|
) }),
|
|
3222
3222
|
A && /* @__PURE__ */ e(
|
|
3223
|
-
|
|
3223
|
+
_o,
|
|
3224
3224
|
{
|
|
3225
3225
|
accounts: A,
|
|
3226
3226
|
copy: tA,
|
|
@@ -3294,11 +3294,11 @@ const pt = ({
|
|
|
3294
3294
|
}
|
|
3295
3295
|
)
|
|
3296
3296
|
] }),
|
|
3297
|
-
/* @__PURE__ */ e(Ce, { ref: v, sx: { p: 0 }, children: /* @__PURE__ */ e(
|
|
3297
|
+
/* @__PURE__ */ e(Ce, { ref: v, sx: { p: 0 }, children: /* @__PURE__ */ e(eI, { availableHeight: u, availableWidth: H, children: n }) })
|
|
3298
3298
|
]
|
|
3299
3299
|
}
|
|
3300
3300
|
);
|
|
3301
|
-
}, Le = C(
|
|
3301
|
+
}, Le = C(Uc), Fc = ({ status: A = ct.Loading }) => {
|
|
3302
3302
|
const { connect: t } = X();
|
|
3303
3303
|
return /* @__PURE__ */ e(
|
|
3304
3304
|
L,
|
|
@@ -3323,20 +3323,20 @@ const pt = ({
|
|
|
3323
3323
|
] })
|
|
3324
3324
|
}
|
|
3325
3325
|
);
|
|
3326
|
-
}, Hi = C(
|
|
3326
|
+
}, Hi = C(Fc);
|
|
3327
3327
|
var ct = /* @__PURE__ */ ((A) => (A.Loading = "loading", A.Error = "error", A))(ct || {}), de = /* @__PURE__ */ ((A) => (A.Currency = "currency", A.Date = "date", A.Input = "input", A.Select = "select", A))(de || {});
|
|
3328
|
-
const jr = "connect_widget", mr = "connections_widget",
|
|
3328
|
+
const jr = "connect_widget", mr = "connections_widget", Wc = ({
|
|
3329
3329
|
loadWidgetProps: A,
|
|
3330
3330
|
onClose: t,
|
|
3331
3331
|
showConnectWidget: i,
|
|
3332
3332
|
title: n
|
|
3333
3333
|
}) => {
|
|
3334
3334
|
let r;
|
|
3335
|
-
const { refreshAccounts: o } = CA(), { loadWidget: I } =
|
|
3335
|
+
const { refreshAccounts: o } = CA(), { loadWidget: I } = iI(), { connect: a } = X(), [c, d] = h.useState(!1), [f, E] = h.useState(!1), {
|
|
3336
3336
|
palette: { mode: l }
|
|
3337
3337
|
} = RA();
|
|
3338
3338
|
return h.useEffect(() => (i ? (d(!0), I({ mode: l, ...A }).then((v) => {
|
|
3339
|
-
r = new
|
|
3339
|
+
r = new Ua({
|
|
3340
3340
|
container: `#${jr}`,
|
|
3341
3341
|
style: {
|
|
3342
3342
|
height: "calc(100% - 62px)",
|
|
@@ -3369,7 +3369,7 @@ const jr = "connect_widget", mr = "connections_widget", Fc = ({
|
|
|
3369
3369
|
] })
|
|
3370
3370
|
}
|
|
3371
3371
|
);
|
|
3372
|
-
}, Ii = C(
|
|
3372
|
+
}, Ii = C(Wc), qe = ({
|
|
3373
3373
|
allowDecimals: A = !0,
|
|
3374
3374
|
ariaLabel: t,
|
|
3375
3375
|
amount: i,
|
|
@@ -3383,11 +3383,11 @@ const jr = "connect_widget", mr = "connections_widget", Fc = ({
|
|
|
3383
3383
|
setHasValidInput: f,
|
|
3384
3384
|
...E
|
|
3385
3385
|
}) => {
|
|
3386
|
-
const [l, v] = h.useState(""), { common: u } = X(), H = r || u.currency_input, P = KA(), p =
|
|
3386
|
+
const [l, v] = h.useState(""), { common: u } = X(), H = r || u.currency_input, P = KA(), p = kc(P), y = /^[0-9]*$/, x = /^(\d)*(\,)?([0-9]{1,2})?$/, w = /^(\d)*(\.)?([0-9]{1,2})?$/;
|
|
3387
3387
|
let D;
|
|
3388
|
-
const m = h.useRef(
|
|
3388
|
+
const m = h.useRef(Wa());
|
|
3389
3389
|
if (A)
|
|
3390
|
-
switch (
|
|
3390
|
+
switch ($s()) {
|
|
3391
3391
|
case ui.CAD:
|
|
3392
3392
|
D = x;
|
|
3393
3393
|
break;
|
|
@@ -3436,7 +3436,7 @@ const jr = "connect_widget", mr = "connections_widget", Fc = ({
|
|
|
3436
3436
|
...E
|
|
3437
3437
|
}
|
|
3438
3438
|
);
|
|
3439
|
-
},
|
|
3439
|
+
}, kc = (A) => He({
|
|
3440
3440
|
"& .MuiInputBase-adornedStart > .p": {
|
|
3441
3441
|
marginRight: A.Spacing.Tiny
|
|
3442
3442
|
}
|
|
@@ -3481,7 +3481,7 @@ const jr = "connect_widget", mr = "connections_widget", Fc = ({
|
|
|
3481
3481
|
}
|
|
3482
3482
|
)
|
|
3483
3483
|
] });
|
|
3484
|
-
},
|
|
3484
|
+
}, Kc = ({
|
|
3485
3485
|
ariaLabel: A = "Search",
|
|
3486
3486
|
cancelAriaLabel: t = "Cancel Search",
|
|
3487
3487
|
onChange: i,
|
|
@@ -3512,7 +3512,7 @@ const jr = "connect_widget", mr = "connections_widget", Fc = ({
|
|
|
3512
3512
|
value: r
|
|
3513
3513
|
}
|
|
3514
3514
|
) });
|
|
3515
|
-
}, Ti = C(
|
|
3515
|
+
}, Ti = C(Kc), Or = ({
|
|
3516
3516
|
checked: A = !1,
|
|
3517
3517
|
label: t,
|
|
3518
3518
|
sx: i = {},
|
|
@@ -3536,7 +3536,7 @@ const jr = "connect_widget", mr = "connections_widget", Fc = ({
|
|
|
3536
3536
|
sn,
|
|
3537
3537
|
{
|
|
3538
3538
|
control: /* @__PURE__ */ e(
|
|
3539
|
-
|
|
3539
|
+
ka,
|
|
3540
3540
|
{
|
|
3541
3541
|
disableRipple: !0,
|
|
3542
3542
|
sx: { "&.Mui-checked": { color: o.palette.action.active } }
|
|
@@ -3647,15 +3647,15 @@ const jr = "connect_widget", mr = "connections_widget", Fc = ({
|
|
|
3647
3647
|
}
|
|
3648
3648
|
)
|
|
3649
3649
|
}
|
|
3650
|
-
),
|
|
3651
|
-
const { config: n } =
|
|
3650
|
+
), aI = ({ description: A, label: t, title: i }) => {
|
|
3651
|
+
const { config: n } = tI(), [r, o] = h.useState(!1);
|
|
3652
3652
|
if (n.show_connections_widget_in_master)
|
|
3653
3653
|
return /* @__PURE__ */ s(h.Fragment, { children: [
|
|
3654
3654
|
/* @__PURE__ */ s(ze, { sx: { m: 24 }, children: [
|
|
3655
3655
|
/* @__PURE__ */ e(
|
|
3656
3656
|
rt,
|
|
3657
3657
|
{
|
|
3658
|
-
avatar: /* @__PURE__ */ e(
|
|
3658
|
+
avatar: /* @__PURE__ */ e(Ka, {}),
|
|
3659
3659
|
sx: { ".MuiCardHeader-avatar": { mr: 8 } },
|
|
3660
3660
|
title: /* @__PURE__ */ e(R, { bold: !0, variant: "Body", children: i })
|
|
3661
3661
|
}
|
|
@@ -3742,7 +3742,7 @@ const jr = "connect_widget", mr = "connections_widget", Fc = ({
|
|
|
3742
3742
|
)
|
|
3743
3743
|
] });
|
|
3744
3744
|
}
|
|
3745
|
-
),
|
|
3745
|
+
), Zc = ({
|
|
3746
3746
|
children: A,
|
|
3747
3747
|
clickEventName: t,
|
|
3748
3748
|
onClick: i,
|
|
@@ -3843,7 +3843,7 @@ const jr = "connect_widget", mr = "connections_widget", Fc = ({
|
|
|
3843
3843
|
}
|
|
3844
3844
|
);
|
|
3845
3845
|
};
|
|
3846
|
-
class
|
|
3846
|
+
class Jc {
|
|
3847
3847
|
copy = {};
|
|
3848
3848
|
featureNamespace = "experiences";
|
|
3849
3849
|
api = new bi("/", "");
|
|
@@ -3874,7 +3874,7 @@ class Lr {
|
|
|
3874
3874
|
}
|
|
3875
3875
|
getAppData = async () => this.fetchInstance.get(Q.APP_DATA).then((t) => t);
|
|
3876
3876
|
}
|
|
3877
|
-
class
|
|
3877
|
+
class _c {
|
|
3878
3878
|
appConfig;
|
|
3879
3879
|
appData = {};
|
|
3880
3880
|
api = new Lr("/", "");
|
|
@@ -3925,11 +3925,11 @@ class Jc {
|
|
|
3925
3925
|
setUserCommunicationProfile = (t) => this.appData.user_communication_profile = t;
|
|
3926
3926
|
setUserProfile = (t) => this.appData.user_profile = t;
|
|
3927
3927
|
}
|
|
3928
|
-
function
|
|
3928
|
+
function $c(A, t, i, n = "asc") {
|
|
3929
3929
|
const r = n === "desc" ? -1 : 1;
|
|
3930
3930
|
return [...A, ...t].sort((o, I) => o[i] < I[i] ? -1 * r : o[i] > I[i] ? 1 * r : 0);
|
|
3931
3931
|
}
|
|
3932
|
-
const
|
|
3932
|
+
const Af = (A) => ({
|
|
3933
3933
|
...A,
|
|
3934
3934
|
//fields that are offer specific, adding here for visibility
|
|
3935
3935
|
image_url: A.image_url,
|
|
@@ -3972,7 +3972,7 @@ const $c = (A) => ({
|
|
|
3972
3972
|
user_guid: "",
|
|
3973
3973
|
user_verification: 0
|
|
3974
3974
|
});
|
|
3975
|
-
class
|
|
3975
|
+
class ef {
|
|
3976
3976
|
beats = [];
|
|
3977
3977
|
api = new Lt("/", "");
|
|
3978
3978
|
constructor() {
|
|
@@ -3982,9 +3982,9 @@ class Af {
|
|
|
3982
3982
|
this.api = new Lt(t, i), await this.loadBeats();
|
|
3983
3983
|
};
|
|
3984
3984
|
loadBeats = async () => {
|
|
3985
|
-
const t = await this.api.getBeats(), n = (await this.api.getOffers()).map((r) =>
|
|
3985
|
+
const t = await this.api.getBeats(), n = (await this.api.getOffers()).map((r) => Af(r));
|
|
3986
3986
|
F(() => {
|
|
3987
|
-
this.beats =
|
|
3987
|
+
this.beats = $c(t, n, "active_at", "desc");
|
|
3988
3988
|
});
|
|
3989
3989
|
};
|
|
3990
3990
|
}
|
|
@@ -4012,16 +4012,16 @@ const qr = (A, t) => !A && !t ? 0 : !A && t ? 101 : t / A * 100, Gr = (A, t) =>
|
|
|
4012
4012
|
mercury: t.palette.success.lighter
|
|
4013
4013
|
};
|
|
4014
4014
|
return A > 100 ? (i.background = t.palette.error.main, i.mercury = t.palette.error.lighter) : A > 80 && (i.background = t.palette.warning.main, i.text = t.palette.grey[900], i.mercury = t.palette.warning.lighter), i;
|
|
4015
|
-
},
|
|
4015
|
+
}, tf = () => {
|
|
4016
4016
|
const { budgets: A } = te();
|
|
4017
4017
|
return A.map((i) => {
|
|
4018
4018
|
const n = i.transaction_total;
|
|
4019
4019
|
return i.amount - n;
|
|
4020
4020
|
}).reduce((i, n) => i + n, 0);
|
|
4021
|
-
},
|
|
4021
|
+
}, nf = (A, t, i, n) => {
|
|
4022
4022
|
const r = [];
|
|
4023
4023
|
for (const o of A) {
|
|
4024
|
-
const I =
|
|
4024
|
+
const I = Zs(t, o.category_guid);
|
|
4025
4025
|
if (!I) continue;
|
|
4026
4026
|
const a = I.totalAmount, c = qr(o.amount, a), d = o.amount - a;
|
|
4027
4027
|
r.push({
|
|
@@ -4038,7 +4038,7 @@ const qr = (A, t) => !A && !t ? 0 : !A && t ? 101 : t / A * 100, Gr = (A, t) =>
|
|
|
4038
4038
|
});
|
|
4039
4039
|
}
|
|
4040
4040
|
for (const o of A) {
|
|
4041
|
-
const I =
|
|
4041
|
+
const I = Js(t, o.category_guid);
|
|
4042
4042
|
if (!I) continue;
|
|
4043
4043
|
const a = I.currentAmount, c = r.find((E) => E.category_guid === I.parent_guid);
|
|
4044
4044
|
if (!c) continue;
|
|
@@ -4057,12 +4057,12 @@ const qr = (A, t) => !A && !t ? 0 : !A && t ? 101 : t / A * 100, Gr = (A, t) =>
|
|
|
4057
4057
|
});
|
|
4058
4058
|
}
|
|
4059
4059
|
return r;
|
|
4060
|
-
}, vn = (A, t) => A.find((i) => i.guid === t),
|
|
4060
|
+
}, vn = (A, t) => A.find((i) => i.guid === t), rf = (A, t, i) => {
|
|
4061
4061
|
const n = vn(A, i);
|
|
4062
4062
|
if (n)
|
|
4063
4063
|
return vn(n.subBudgets, t);
|
|
4064
4064
|
};
|
|
4065
|
-
class
|
|
4065
|
+
class of {
|
|
4066
4066
|
api = new Qr("/", "");
|
|
4067
4067
|
categoryApi = new Pi("/", "");
|
|
4068
4068
|
globalStore;
|
|
@@ -4076,14 +4076,14 @@ class rf {
|
|
|
4076
4076
|
this.globalStore = t, DA(this);
|
|
4077
4077
|
}
|
|
4078
4078
|
initialize = async (t, i) => {
|
|
4079
|
-
this.api = new Qr(t, i), this.categoryApi = new Pi(t, i),
|
|
4079
|
+
this.api = new Qr(t, i), this.categoryApi = new Pi(t, i), is(
|
|
4080
4080
|
() => this.detailedBudgets,
|
|
4081
4081
|
(n) => {
|
|
4082
4082
|
if (n) {
|
|
4083
4083
|
const r = this.selectedBudget;
|
|
4084
4084
|
r && (this.selectedBudget = vn(n, r.guid));
|
|
4085
4085
|
const o = this.selectedSubBudget;
|
|
4086
|
-
o && o.parent_guid && (this.selectedSubBudget =
|
|
4086
|
+
o && o.parent_guid && (this.selectedSubBudget = rf(
|
|
4087
4087
|
n,
|
|
4088
4088
|
o.guid,
|
|
4089
4089
|
o.parent_guid
|
|
@@ -4093,7 +4093,7 @@ class rf {
|
|
|
4093
4093
|
);
|
|
4094
4094
|
};
|
|
4095
4095
|
get detailedBudgets() {
|
|
4096
|
-
return
|
|
4096
|
+
return nf(
|
|
4097
4097
|
this.budgets.filter(
|
|
4098
4098
|
(t) => t.category_guid !== g.INCOME && t.category_guid !== g.TRANSFER && t.category_guid !== g.INVESTMENTS
|
|
4099
4099
|
),
|
|
@@ -4177,7 +4177,7 @@ const Nt = () => {
|
|
|
4177
4177
|
if (!h.useContext(gt))
|
|
4178
4178
|
throw new Error("useCashflowUiStore() must be used within the GlobalDataContext");
|
|
4179
4179
|
return Nn().uiStore;
|
|
4180
|
-
},
|
|
4180
|
+
}, If = ({ remaining: A }) => {
|
|
4181
4181
|
const { cashflow: t } = X();
|
|
4182
4182
|
return /* @__PURE__ */ s(Z, { children: [
|
|
4183
4183
|
/* @__PURE__ */ e(
|
|
@@ -4194,7 +4194,7 @@ const Nt = () => {
|
|
|
4194
4194
|
/* @__PURE__ */ e(R, { bold: !0, sx: { flexGrow: 1, fontSize: 12 }, children: t.remaining_cash }),
|
|
4195
4195
|
/* @__PURE__ */ e(OA, { amount: A, bold: !0, sx: { fontSize: 12 } })
|
|
4196
4196
|
] });
|
|
4197
|
-
}, Yn = C(
|
|
4197
|
+
}, Yn = C(If), af = ({ onAddIncomeClick: A }) => {
|
|
4198
4198
|
const t = RA(), { availableWidth: i } = Xt(), { cashAccounts: n, cashBalance: r } = CA(), { selectedAccountGuids: o } = pA(), { cashflow: I } = X(), { userProfile: a } = Ue(), {
|
|
4199
4199
|
daysUntilNextIncome: c,
|
|
4200
4200
|
expensesTilNextIncome: d,
|
|
@@ -4319,7 +4319,7 @@ const Nt = () => {
|
|
|
4319
4319
|
}
|
|
4320
4320
|
)
|
|
4321
4321
|
] }) });
|
|
4322
|
-
},
|
|
4322
|
+
}, sf = C(af), cf = ({ onPrimaryCtaClick: A, sx: t = {} }) => {
|
|
4323
4323
|
const { cashflow: i } = X();
|
|
4324
4324
|
return /* @__PURE__ */ e(
|
|
4325
4325
|
pt,
|
|
@@ -4330,10 +4330,10 @@ const Nt = () => {
|
|
|
4330
4330
|
subTitle: i.sub_title,
|
|
4331
4331
|
sx: t,
|
|
4332
4332
|
title: i.title,
|
|
4333
|
-
children: /* @__PURE__ */ e(
|
|
4333
|
+
children: /* @__PURE__ */ e(sf, { onAddIncomeClick: A })
|
|
4334
4334
|
}
|
|
4335
4335
|
);
|
|
4336
|
-
}, zP = C(
|
|
4336
|
+
}, zP = C(cf);
|
|
4337
4337
|
class gi {
|
|
4338
4338
|
fetchInstance;
|
|
4339
4339
|
constructor(t, i) {
|
|
@@ -4417,13 +4417,13 @@ class gi {
|
|
|
4417
4417
|
updateTransaction = async (t) => this.fetchInstance.put(`${Q.TRANSACTIONS}/${t.guid}`, t).then((i) => i.transaction);
|
|
4418
4418
|
}
|
|
4419
4419
|
var Wt = /* @__PURE__ */ ((A) => (A[A.Category = 0] = "Category", A[A.Date = 1] = "Date", A[A.Memo = 2] = "Memo", A[A.Tags = 3] = "Tags", A))(Wt || {}), hi = /* @__PURE__ */ ((A) => (A[A.SplitTransaction = 0] = "SplitTransaction", A[A.HideTransaction = 1] = "HideTransaction", A[A.MerchantLogo = 2] = "MerchantLogo", A))(hi || {});
|
|
4420
|
-
const
|
|
4420
|
+
const ff = [
|
|
4421
4421
|
0,
|
|
4422
4422
|
1,
|
|
4423
4423
|
2,
|
|
4424
4424
|
3
|
|
4425
4425
|
/* Tags */
|
|
4426
|
-
],
|
|
4426
|
+
], df = [
|
|
4427
4427
|
0,
|
|
4428
4428
|
1,
|
|
4429
4429
|
2
|
|
@@ -4472,7 +4472,7 @@ const cf = [
|
|
|
4472
4472
|
ON_TRANSACTION_UNHIDE_CANCEL_CLICK: "onTransactionUnHideCancelClick",
|
|
4473
4473
|
ON_TRANSACTION_UNSPLIT: "onTransactionUnsplit",
|
|
4474
4474
|
ON_TRANSACTION_UNSPLIT_CANCEL: "onTransactionUnsplitCancel"
|
|
4475
|
-
},
|
|
4475
|
+
}, sI = {
|
|
4476
4476
|
ASC: "ASC",
|
|
4477
4477
|
DESC: "DESC",
|
|
4478
4478
|
DIRECTION: {
|
|
@@ -4484,7 +4484,7 @@ const cf = [
|
|
|
4484
4484
|
left: "flex-start",
|
|
4485
4485
|
right: "flex-end"
|
|
4486
4486
|
}
|
|
4487
|
-
},
|
|
4487
|
+
}, Ef = (A, t, i, n = []) => {
|
|
4488
4488
|
const r = t.reduce((a, c) => ({ ...a, [c.guid]: c }), {}), o = i.reduce((a, c) => ({ ...a, [c.guid]: c }), {}), I = n.reduce((a, c) => {
|
|
4489
4489
|
const { transaction_guid: d, tag_guid: f } = c;
|
|
4490
4490
|
if (!a[d])
|
|
@@ -4498,7 +4498,7 @@ const cf = [
|
|
|
4498
4498
|
[d]: E
|
|
4499
4499
|
};
|
|
4500
4500
|
}, {});
|
|
4501
|
-
return A.
|
|
4501
|
+
return A.map((a) => {
|
|
4502
4502
|
const c = r[a.account_guid], d = a.category_guid ? o[a.category_guid] : null, f = I[a.guid] ?? [];
|
|
4503
4503
|
return {
|
|
4504
4504
|
...a,
|
|
@@ -4764,14 +4764,14 @@ const cf = [
|
|
|
4764
4764
|
category: lA.TRANSACTIONS_WIDGET,
|
|
4765
4765
|
label: vA.DELETE_TRANSACTION
|
|
4766
4766
|
}
|
|
4767
|
-
},
|
|
4767
|
+
}, hf = async (A, t) => !t || !Mr[A] ? null : t.sendAnalyticEvent(Mr[A]), Rn = {
|
|
4768
4768
|
FLAG: "flag",
|
|
4769
4769
|
DATE: "date",
|
|
4770
4770
|
PAYEE: "payee",
|
|
4771
4771
|
CATEGORY: "category",
|
|
4772
4772
|
ACCOUNT: "account",
|
|
4773
4773
|
AMOUNT: "amount"
|
|
4774
|
-
},
|
|
4774
|
+
}, lf = "uncategorized", Nr = (A, t, i, n, r, o) => {
|
|
4775
4775
|
const I = vf(A, r, o), a = Rf(I, i, n);
|
|
4776
4776
|
return t.forEach((c) => {
|
|
4777
4777
|
const d = a.findIndex((E) => E.guid === c), f = o.filter((E) => E.parent_guid === c);
|
|
@@ -4785,25 +4785,25 @@ const cf = [
|
|
|
4785
4785
|
searchTerm: I = ""
|
|
4786
4786
|
} = A;
|
|
4787
4787
|
return i.filter((a) => !a.parent_guid).filter((a) => !!n.find((c) => c === a.account_guid)).filter((a) => a.date > gA(r.start) && a.date < gA(r.end)).filter(o).filter((a) => {
|
|
4788
|
-
if (I ===
|
|
4788
|
+
if (I === lf && a.has_been_split)
|
|
4789
4789
|
return !1;
|
|
4790
4790
|
if (/^spl/i.test(I) && (a.has_been_split || a.parent_guid))
|
|
4791
4791
|
return !0;
|
|
4792
4792
|
const d = a.tags.some(
|
|
4793
4793
|
(E) => pe(I, t.find((l) => l.guid === E)?.name)
|
|
4794
4794
|
), f = yA(a.date);
|
|
4795
|
-
return pe(I, a.payee) || pe(I, a.feed_description) || pe(I, a.category) || pe(I, nA(f, AA.MONTH)) || pe(I, nA(f, AA.DAY)) || pe(I, nA(f, AA.FULL_MONTH_DAY)) || pe(I, nA(f, AA.MONTH_DAY_YEAR)) || pe(I, le(f,
|
|
4795
|
+
return pe(I, a.payee) || pe(I, a.feed_description) || pe(I, a.category) || pe(I, nA(f, AA.MONTH)) || pe(I, nA(f, AA.DAY)) || pe(I, nA(f, AA.FULL_MONTH_DAY)) || pe(I, nA(f, AA.MONTH_DAY_YEAR)) || pe(I, le(f, Ys)) || pe(I, a.account) || pe(I, `${a.amount}`) || pe(I, a.memo) || d;
|
|
4796
4796
|
});
|
|
4797
4797
|
}, Rf = (A, t, i) => [...A].sort((n, r) => {
|
|
4798
4798
|
const o = t, I = (n[o] || "") > (r[o] || "");
|
|
4799
4799
|
let a = I ? -1 : 1, c = I ? 1 : -1;
|
|
4800
|
-
return (t === Rn.DATE || t === Rn.AMOUNT) && (a = I ? 1 : -1, c = I ? -1 : 1), i ===
|
|
4800
|
+
return (t === Rn.DATE || t === Rn.AMOUNT) && (a = I ? 1 : -1, c = I ? -1 : 1), i === sI.ASC ? a : c;
|
|
4801
4801
|
}), pe = (A, t) => {
|
|
4802
4802
|
const i = A.toLowerCase().split(" "), n = t?.toString().toLowerCase() ?? "";
|
|
4803
4803
|
return i.every((r) => n.indexOf(r) > -1);
|
|
4804
4804
|
};
|
|
4805
4805
|
var TA = /* @__PURE__ */ ((A) => (A[A.Expense = 0] = "Expense", A[A.Income = 1] = "Income", A))(TA || {}), SA = /* @__PURE__ */ ((A) => (A[A.Paid = 0] = "Paid", A[A.Missed = 1] = "Missed", A[A.Upcoming = 2] = "Upcoming", A))(SA || {}), uf = /* @__PURE__ */ ((A) => (A[A.UNKNOWN = 0] = "UNKNOWN", A[A.CORRECT = 1] = "CORRECT", A[A.INCORRECT = 2] = "INCORRECT", A))(uf || {}), Pf = /* @__PURE__ */ ((A) => (A.Missed = "Missed", A.Paid = "Paid", A.Upcoming = "Upcoming expense", A.Income = "Income", A))(Pf || {}), bf = /* @__PURE__ */ ((A) => (A[A.Unknown = 0] = "Unknown", A[A.Subscription = 1] = "Subscription", A[A.Bill = 2] = "Bill", A))(bf || {}), B = /* @__PURE__ */ ((A) => (A[A.DEBT_TRACK = 1] = "DEBT_TRACK", A[A.SAVINGS_TRACK = 2] = "SAVINGS_TRACK", A[A.RETIREMENT_TRACK = 3] = "RETIREMENT_TRACK", A[A.EMERGENCY_FUND_TRACK = 4] = "EMERGENCY_FUND_TRACK", A))(B || {}), un = /* @__PURE__ */ ((A) => (A[A.SAVE_AMOUNT = 1] = "SAVE_AMOUNT", A[A.KEEP_BALANCE_BELOW = 2] = "KEEP_BALANCE_BELOW", A[A.KEEP_BALANCE_ABOVE = 3] = "KEEP_BALANCE_ABOVE", A[A.ACTION = 4] = "ACTION", A))(un || {}), he = /* @__PURE__ */ ((A) => (A[A.AUTOMOBILE = 1] = "AUTOMOBILE", A[A.COLLEGE = 2] = "COLLEGE", A[A.HOUSE = 3] = "HOUSE", A[A.RECREATIONAL_VEHICLE = 4] = "RECREATIONAL_VEHICLE", A[A.VACATION = 5] = "VACATION", A[A.ELECTRONIC = 6] = "ELECTRONIC", A[A.OTHER = 7] = "OTHER", A[A.RETIREMENT = 8] = "RETIREMENT", A[A.EMERGENCY_FUND = 9] = "EMERGENCY_FUND", A[A.SETUP_BUDGETS = 10] = "SETUP_BUDGETS", A[A.START_MONEY_MANAGEMENT = 11] = "START_MONEY_MANAGEMENT", A[A.CREDIT_CARD = 12] = "CREDIT_CARD", A[A.LINE_OF_CREDIT = 13] = "LINE_OF_CREDIT", A[A.LOANS = 14] = "LOANS", A))(he || {}), LA = /* @__PURE__ */ ((A) => (A[A.BudgetExceeded = 1] = "BudgetExceeded", A[A.BudgetOffTarget = 2] = "BudgetOffTarget", A[A.DebtPaymentReminder = 3] = "DebtPaymentReminder", A[A.AccountBalanceLow = 6] = "AccountBalanceLow", A[A.AccountDepositLarge = 7] = "AccountDepositLarge", A[A.TransactionExpenseLarge = 8] = "TransactionExpenseLarge", A[A.TransactionFeeCharge = 9] = "TransactionFeeCharge", A[A.InternationalTransaction = 23] = "InternationalTransaction", A))(LA || {}), se = /* @__PURE__ */ ((A) => (A[A.CREDIT = 1] = "CREDIT", A[A.DEBIT = 2] = "DEBIT", A))(se || {}), Vn = /* @__PURE__ */ ((A) => (A[A.POSTED = 1] = "POSTED", A[A.PENDING = 2] = "PENDING", A))(Vn || {}), Hf = /* @__PURE__ */ ((A) => (A.Desktop = "Desktop", A.Mobile = "Mobile", A))(Hf || {});
|
|
4806
|
-
const
|
|
4806
|
+
const cI = {
|
|
4807
4807
|
account_guid: "",
|
|
4808
4808
|
amount: 0,
|
|
4809
4809
|
currency_code: "",
|
|
@@ -4842,7 +4842,7 @@ let zf = class {
|
|
|
4842
4842
|
shouldDisableDrawerScroll = !1;
|
|
4843
4843
|
searchValue = "";
|
|
4844
4844
|
selectedAccountGuids = [];
|
|
4845
|
-
manualTransaction =
|
|
4845
|
+
manualTransaction = cI;
|
|
4846
4846
|
isAmountValid = !1;
|
|
4847
4847
|
showInsights = !1;
|
|
4848
4848
|
constructor() {
|
|
@@ -4880,11 +4880,12 @@ class Cf {
|
|
|
4880
4880
|
tags = [];
|
|
4881
4881
|
transactionRules = [];
|
|
4882
4882
|
transactions = [];
|
|
4883
|
+
allTxns = [];
|
|
4883
4884
|
associatedBeats = [];
|
|
4884
4885
|
cachedStartDate = Ve(fA(), 90);
|
|
4885
|
-
onAnalyticEvent =
|
|
4886
|
+
onAnalyticEvent = hf;
|
|
4886
4887
|
sortColumn = Rn.DATE;
|
|
4887
|
-
sortDirection =
|
|
4888
|
+
sortDirection = sI.DESC;
|
|
4888
4889
|
filter = {};
|
|
4889
4890
|
constructor(t) {
|
|
4890
4891
|
this.globalStore = t, this.uiStore = new zf(), DA(this);
|
|
@@ -4900,7 +4901,7 @@ class Cf {
|
|
|
4900
4901
|
]).then(() => this.uiStore.setIsInitialized(!0));
|
|
4901
4902
|
};
|
|
4902
4903
|
get sortedTransactions() {
|
|
4903
|
-
return
|
|
4904
|
+
return Nr(
|
|
4904
4905
|
this.filter,
|
|
4905
4906
|
this.uiStore.expandedSplits,
|
|
4906
4907
|
this.sortColumn,
|
|
@@ -4938,7 +4939,7 @@ class Cf {
|
|
|
4938
4939
|
() => this.transactions = this.augmentTransactions([i, ...this.transactions])
|
|
4939
4940
|
);
|
|
4940
4941
|
};
|
|
4941
|
-
augmentTransactions = (t) =>
|
|
4942
|
+
augmentTransactions = (t) => Ef(
|
|
4942
4943
|
t,
|
|
4943
4944
|
this.globalStore.accountStore.accounts,
|
|
4944
4945
|
this.globalStore.categoryStore.categories,
|
|
@@ -4968,7 +4969,16 @@ class Cf {
|
|
|
4968
4969
|
gA(i)
|
|
4969
4970
|
);
|
|
4970
4971
|
F(() => {
|
|
4971
|
-
this.
|
|
4972
|
+
this.allTxns = Nr(
|
|
4973
|
+
this.filter,
|
|
4974
|
+
this.uiStore.expandedSplits,
|
|
4975
|
+
this.sortColumn,
|
|
4976
|
+
this.sortDirection,
|
|
4977
|
+
this.tags,
|
|
4978
|
+
this.augmentTransactions(n)
|
|
4979
|
+
), this.transactions = this.augmentTransactions(n).filter(
|
|
4980
|
+
(r) => !r.accountIsClosed
|
|
4981
|
+
);
|
|
4972
4982
|
});
|
|
4973
4983
|
} catch (n) {
|
|
4974
4984
|
console.error(`Error occurred while loading transactions: ${n}`);
|
|
@@ -5067,7 +5077,7 @@ const Pe = () => {
|
|
|
5067
5077
|
if (!h.useContext(gt))
|
|
5068
5078
|
throw new Error("useTransactionsUiStore() must be used within the GlobalDataContext");
|
|
5069
5079
|
return PA().uiStore;
|
|
5070
|
-
},
|
|
5080
|
+
}, fI = (A, t) => {
|
|
5071
5081
|
const i = Xf(gf(A, t)), n = encodeURIComponent(i), r = document.createElement("a");
|
|
5072
5082
|
r.href = `data:attachment/csv;charset=utf-8,${n}`, r.download = "transactions.csv", document.body.appendChild(r), r.click(), document.body.removeChild(r);
|
|
5073
5083
|
}, gf = (A, t) => A.map((i) => ({
|
|
@@ -5092,7 +5102,7 @@ const Pe = () => {
|
|
|
5092
5102
|
}, wf = (A, t) => A.tags.map((i) => t.filter((r) => r.guid === i)[0]?.name ?? "").join(" "), yf = ({ transaction: A, onClick: t }) => {
|
|
5093
5103
|
const { associatedBeats: i } = PA(), { transactions: n } = X(), { showInsights: r } = Pe(), o = A.transaction_type === se.CREDIT, I = h.useMemo(() => i.find((a) => a.associated_transaction_guid === A.guid), [i, A]);
|
|
5094
5104
|
return /* @__PURE__ */ s(
|
|
5095
|
-
|
|
5105
|
+
Zc,
|
|
5096
5106
|
{
|
|
5097
5107
|
clickEventName: S.ON_TRANSACTION_LIST_ITEM_CLICK,
|
|
5098
5108
|
onClick: t ? () => t(A.guid) : void 0,
|
|
@@ -5147,17 +5157,17 @@ const Pe = () => {
|
|
|
5147
5157
|
}) => /* @__PURE__ */ e(L, { display: "inline-block", pb: 4, pl: 24, pt: 4, sx: { bgcolor: A, width: "100%" }, children: /* @__PURE__ */ e(R, { bold: !0, variant: "XSmall", children: t }) }), xf = ({ showIcon: A = !0, showSubtitle: t = !0 }) => {
|
|
5148
5158
|
const i = KA(), { transactions: n } = X();
|
|
5149
5159
|
return /* @__PURE__ */ s(b, { alignItems: "center", gap: i.Spacing.Small, height: "auto", mt: i.Spacing.Large, children: [
|
|
5150
|
-
A && /* @__PURE__ */ e(
|
|
5160
|
+
A && /* @__PURE__ */ e(Hs, { color: "secondary", sx: { fontSize: 32 } }),
|
|
5151
5161
|
/* @__PURE__ */ e(R, { bold: !0, color: "secondary", variant: "Small", children: n.zero_state_no_transactions }),
|
|
5152
5162
|
t && /* @__PURE__ */ e(R, { color: "secondary", variant: "XSmall", children: n.zero_state_there_are_no_transactions })
|
|
5153
5163
|
] });
|
|
5154
|
-
}, Df = C(xf),
|
|
5164
|
+
}, Df = C(xf), Tr = (A, t) => {
|
|
5155
5165
|
const i = yA(t[A].date), n = yA(t[A - 1]?.date);
|
|
5156
5166
|
return !Ee(i, n);
|
|
5157
5167
|
}, jf = (A, t) => {
|
|
5158
5168
|
const i = yA(t[A].date), n = yA(t[A + 1]?.date);
|
|
5159
5169
|
return Ee(i, n);
|
|
5160
|
-
},
|
|
5170
|
+
}, Yr = 65, Vr = 34, mf = ({
|
|
5161
5171
|
bgcolor: A,
|
|
5162
5172
|
height: t = "calc(100dvh - 36px)",
|
|
5163
5173
|
loader: i = /* @__PURE__ */ e(ee, { label: "Loading", size: 40 }),
|
|
@@ -5177,10 +5187,10 @@ const Pe = () => {
|
|
|
5177
5187
|
account_guid: p?.account_guid,
|
|
5178
5188
|
transaction_guid: P
|
|
5179
5189
|
}), n?.(P);
|
|
5180
|
-
}, u = h.useRef(null), H =
|
|
5190
|
+
}, u = h.useRef(null), H = Oo({
|
|
5181
5191
|
count: d.length,
|
|
5182
5192
|
getScrollElement: () => u.current,
|
|
5183
|
-
estimateSize: (P) =>
|
|
5193
|
+
estimateSize: (P) => Yr + (Tr(P, d) ? Vr : 0),
|
|
5184
5194
|
overscan: 5
|
|
5185
5195
|
});
|
|
5186
5196
|
return h.useEffect(() => H.measure(), [d]), h.useEffect(() => f(r), [r]), /* @__PURE__ */ e(rA, { children: /* @__PURE__ */ e(L, { height: t, overflow: "auto", ref: u, width: I, children: /* @__PURE__ */ s(
|
|
@@ -5196,7 +5206,7 @@ const Pe = () => {
|
|
|
5196
5206
|
(c || o) && i,
|
|
5197
5207
|
!c && !o && H.getVirtualItems().length === 0 && a,
|
|
5198
5208
|
!c && !o && H.getVirtualItems().length > 0 && H.getVirtualItems().map((P) => {
|
|
5199
|
-
const p = d[P.index], y =
|
|
5209
|
+
const p = d[P.index], y = Tr(P.index, d), x = jf(P.index, d), w = Yr + (y ? Vr : 0);
|
|
5200
5210
|
return /* @__PURE__ */ s(
|
|
5201
5211
|
L,
|
|
5202
5212
|
{
|
|
@@ -5424,7 +5434,7 @@ const Bf = ({
|
|
|
5424
5434
|
onPrimaryAction: () => {
|
|
5425
5435
|
c(!1), i(o);
|
|
5426
5436
|
},
|
|
5427
|
-
children: /* @__PURE__ */ e(
|
|
5437
|
+
children: /* @__PURE__ */ e(jo, { children: E ? /* @__PURE__ */ e(R, { children: f }) : /* @__PURE__ */ e(
|
|
5428
5438
|
dt,
|
|
5429
5439
|
{
|
|
5430
5440
|
"aria-label": r === "edit" ? a.edit_subcategory_aria : a.add_subcategory_aria,
|
|
@@ -5540,7 +5550,7 @@ const Bf = ({
|
|
|
5540
5550
|
}
|
|
5541
5551
|
),
|
|
5542
5552
|
I && P && /* @__PURE__ */ e(Oi, { fontSize: "small" }),
|
|
5543
|
-
!p && /* @__PURE__ */ e(
|
|
5553
|
+
!p && /* @__PURE__ */ e(ps, { label: c })
|
|
5544
5554
|
]
|
|
5545
5555
|
}
|
|
5546
5556
|
),
|
|
@@ -5552,7 +5562,7 @@ const Bf = ({
|
|
|
5552
5562
|
onClick: () => {
|
|
5553
5563
|
l(!0), o(!0), f(je.ON_SUBCATEGORY_EDIT_CLICK);
|
|
5554
5564
|
},
|
|
5555
|
-
children: /* @__PURE__ */ e(
|
|
5565
|
+
children: /* @__PURE__ */ e(ws, { color: "secondary" })
|
|
5556
5566
|
}
|
|
5557
5567
|
),
|
|
5558
5568
|
/* @__PURE__ */ e(
|
|
@@ -5644,7 +5654,7 @@ const Bf = ({
|
|
|
5644
5654
|
/* @__PURE__ */ e(G, { sx: { ml: 58 } }),
|
|
5645
5655
|
/* @__PURE__ */ e($f, { categories: t, parentCategory: A })
|
|
5646
5656
|
] });
|
|
5647
|
-
},
|
|
5657
|
+
}, dI = C(Ad), ed = () => {
|
|
5648
5658
|
const { categories: A } = qA(), { searchValue: t } = ot(), { categories: i } = X(), r = ((o, I = "") => o.reduce((a, c) => {
|
|
5649
5659
|
if (c.parent_guid === null) {
|
|
5650
5660
|
const f = [
|
|
@@ -5663,7 +5673,7 @@ const Bf = ({
|
|
|
5663
5673
|
return a;
|
|
5664
5674
|
}, []))(A, t);
|
|
5665
5675
|
return /* @__PURE__ */ e(De, { className: "mx-cat-category-list", sx: { boxShadow: "none" }, children: /* @__PURE__ */ e(rA, { children: r.map((o) => /* @__PURE__ */ e(
|
|
5666
|
-
|
|
5676
|
+
dI,
|
|
5667
5677
|
{
|
|
5668
5678
|
category: o.category,
|
|
5669
5679
|
subCategories: o.children
|
|
@@ -5729,22 +5739,22 @@ const Bf = ({
|
|
|
5729
5739
|
children: /* @__PURE__ */ e(rd, { ...r })
|
|
5730
5740
|
}
|
|
5731
5741
|
);
|
|
5732
|
-
}, Vi = C(od), Id = 3,
|
|
5733
|
-
(n) =>
|
|
5742
|
+
}, Vi = C(od), Id = 3, Br = 12, ad = (A, t, i) => A.filter((n) => !n.parent_guid).map(
|
|
5743
|
+
(n) => EI(
|
|
5734
5744
|
n,
|
|
5735
5745
|
t,
|
|
5736
5746
|
i,
|
|
5737
5747
|
A.filter((r) => r.parent_guid === n.guid)
|
|
5738
5748
|
)
|
|
5739
|
-
),
|
|
5740
|
-
const r = A.guid, o = A.parent_guid || r, I = r === o, a = t.find((l) => l.category_guid === r)?.total || 0, c =
|
|
5749
|
+
), EI = (A, t, i, n = []) => {
|
|
5750
|
+
const r = A.guid, o = A.parent_guid || r, I = r === o, a = t.find((l) => l.category_guid === r)?.total || 0, c = Ur(
|
|
5741
5751
|
i.filter((l) => l.category_guid === r)
|
|
5742
|
-
), d =
|
|
5752
|
+
), d = Ur(
|
|
5743
5753
|
i.filter(
|
|
5744
5754
|
(l) => l.category_guid === r || l.top_level_category_guid === r
|
|
5745
5755
|
)
|
|
5746
5756
|
), f = n.map(
|
|
5747
|
-
(l) =>
|
|
5757
|
+
(l) => EI(l, t, i)
|
|
5748
5758
|
), E = f.reduce(
|
|
5749
5759
|
(l, v) => l + v.currentAmount,
|
|
5750
5760
|
a
|
|
@@ -5752,17 +5762,17 @@ const Bf = ({
|
|
|
5752
5762
|
return {
|
|
5753
5763
|
...A,
|
|
5754
5764
|
currentAmount: a,
|
|
5755
|
-
averageAmount:
|
|
5765
|
+
averageAmount: Sr(c),
|
|
5756
5766
|
color: st[o],
|
|
5757
|
-
icon:
|
|
5767
|
+
icon: Fs[o],
|
|
5758
5768
|
isTransfer: o === g.TRANSFER,
|
|
5759
5769
|
monthlyAmounts: c,
|
|
5760
5770
|
subCategories: f,
|
|
5761
5771
|
totalAmount: I ? E : 0,
|
|
5762
|
-
totalAverageAmount:
|
|
5772
|
+
totalAverageAmount: Sr(d),
|
|
5763
5773
|
totalMonthlyAmounts: I ? d : []
|
|
5764
5774
|
};
|
|
5765
|
-
},
|
|
5775
|
+
}, Sr = (A, t = Id) => {
|
|
5766
5776
|
const i = t > history.length ? history.length : t;
|
|
5767
5777
|
return Math.ceil(
|
|
5768
5778
|
Math.max(
|
|
@@ -5770,10 +5780,10 @@ const Bf = ({
|
|
|
5770
5780
|
A.slice(-i).reduce((n, r) => n + r.amount, 0) / i
|
|
5771
5781
|
)
|
|
5772
5782
|
);
|
|
5773
|
-
},
|
|
5783
|
+
}, Ur = (A) => {
|
|
5774
5784
|
const t = [], i = fA();
|
|
5775
|
-
for (let n = 0; n <=
|
|
5776
|
-
const r = QA(Ne(i,
|
|
5785
|
+
for (let n = 0; n <= Br; n++) {
|
|
5786
|
+
const r = QA(Ne(i, Br - n)), I = A.filter(
|
|
5777
5787
|
(a) => a.year_month === Number(le(r, "yyyyMM"))
|
|
5778
5788
|
).reduce((a, c) => a + c.total, 0);
|
|
5779
5789
|
t.push({
|
|
@@ -5925,7 +5935,7 @@ class cd {
|
|
|
5925
5935
|
// TODO: Remove this after refactoring Trends components to use detailedCategories
|
|
5926
5936
|
getCategoryName = (t) => this.categories.find((n) => n.guid === t)?.name ?? qi[t];
|
|
5927
5937
|
}
|
|
5928
|
-
const
|
|
5938
|
+
const hI = ({ transaction: A }) => {
|
|
5929
5939
|
const { addOrUpdateTransactionRule: t, updateTransaction: i } = PA(), { categories: n } = qA(), { onEvent: r } = K(), { setShouldDisableDrawerScroll: o, updateManualTransaction: I } = Pe(), { transactions: a } = X(), [c, d] = h.useState(!1), [f, E] = h.useState(""), l = async (P) => {
|
|
5930
5940
|
await i({ ...A, category_guid: f }), P && await t(f, A), E(""), r(V.TRANSACTION_DETAILS_CLICK_CATEGORY, {
|
|
5931
5941
|
transaction_guid: A.guid
|
|
@@ -5962,7 +5972,7 @@ const EI = ({ transaction: A }) => {
|
|
|
5962
5972
|
categoryGuid: A.top_level_category_guid,
|
|
5963
5973
|
size: 24,
|
|
5964
5974
|
sx: { color: "text.primary" },
|
|
5965
|
-
variant:
|
|
5975
|
+
variant: wo.Transparent
|
|
5966
5976
|
}
|
|
5967
5977
|
) }) }),
|
|
5968
5978
|
/* @__PURE__ */ e(
|
|
@@ -6010,7 +6020,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6010
6020
|
}
|
|
6011
6021
|
)
|
|
6012
6022
|
] });
|
|
6013
|
-
},
|
|
6023
|
+
}, lI = ({ transaction: A }) => {
|
|
6014
6024
|
const t = KA(), { onEvent: i } = K(), { updateTransaction: n } = PA(), { updateManualTransaction: r } = Pe(), { common: o, transactions: I } = X(), [a, c] = h.useState(!1), [d, f] = h.useState(A.date), E = (v) => {
|
|
6015
6025
|
f(gA(v));
|
|
6016
6026
|
}, l = async () => {
|
|
@@ -6052,7 +6062,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6052
6062
|
secondaryText: o.cancel_button,
|
|
6053
6063
|
title: I.date_edit_title,
|
|
6054
6064
|
children: /* @__PURE__ */ e(b, { alignItems: "center", mt: t.Spacing.XXLarge, children: /* @__PURE__ */ e(
|
|
6055
|
-
|
|
6065
|
+
gc,
|
|
6056
6066
|
{
|
|
6057
6067
|
beginDate: yA(d),
|
|
6058
6068
|
copy: {
|
|
@@ -6061,7 +6071,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6061
6071
|
today: o.date_range_picker.today
|
|
6062
6072
|
},
|
|
6063
6073
|
onDateSelected: E,
|
|
6064
|
-
selectionType:
|
|
6074
|
+
selectionType: $o.Single
|
|
6065
6075
|
}
|
|
6066
6076
|
) })
|
|
6067
6077
|
}
|
|
@@ -6217,7 +6227,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6217
6227
|
}
|
|
6218
6228
|
)
|
|
6219
6229
|
] });
|
|
6220
|
-
}, vd = C(ld),
|
|
6230
|
+
}, vd = C(ld), vI = ({ transaction: A }) => {
|
|
6221
6231
|
const { amount: t, description: i, isIncome: n, merchant_guid: r, payee: o, top_level_category_guid: I } = A;
|
|
6222
6232
|
return /* @__PURE__ */ s(b, { className: "mx-txn-amount-header", direction: "row", gap: 12, px: 16, py: 24, children: [
|
|
6223
6233
|
/* @__PURE__ */ e(
|
|
@@ -6286,7 +6296,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6286
6296
|
onPrimaryAction: f,
|
|
6287
6297
|
title: o.memo_title,
|
|
6288
6298
|
children: [
|
|
6289
|
-
/* @__PURE__ */ e(
|
|
6299
|
+
/* @__PURE__ */ e(vI, { transaction: A }),
|
|
6290
6300
|
/* @__PURE__ */ e(
|
|
6291
6301
|
$A,
|
|
6292
6302
|
{
|
|
@@ -6306,7 +6316,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6306
6316
|
}
|
|
6307
6317
|
)
|
|
6308
6318
|
] });
|
|
6309
|
-
},
|
|
6319
|
+
}, RI = C(Rd), ud = ({
|
|
6310
6320
|
index: A,
|
|
6311
6321
|
onDeleteRow: t,
|
|
6312
6322
|
onCategoryChanged: i,
|
|
@@ -6543,7 +6553,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6543
6553
|
secondaryText: r.cancel_button,
|
|
6544
6554
|
title: o.split_transaction_title,
|
|
6545
6555
|
children: [
|
|
6546
|
-
/* @__PURE__ */ e(
|
|
6556
|
+
/* @__PURE__ */ e(vI, { transaction: A }),
|
|
6547
6557
|
/* @__PURE__ */ e(
|
|
6548
6558
|
Hd,
|
|
6549
6559
|
{
|
|
@@ -6648,14 +6658,14 @@ const EI = ({ transaction: A }) => {
|
|
|
6648
6658
|
{
|
|
6649
6659
|
"aria-label": n.tags_cancel_search || "Search",
|
|
6650
6660
|
onClick: () => A(""),
|
|
6651
|
-
children: /* @__PURE__ */ e(
|
|
6661
|
+
children: /* @__PURE__ */ e(vs, {})
|
|
6652
6662
|
}
|
|
6653
6663
|
);
|
|
6654
6664
|
return /* @__PURE__ */ e(L, { className: "mx-txn-tag-manager-search", px: r.Spacing.Large, py: r.Spacing.Medium, children: /* @__PURE__ */ e(
|
|
6655
6665
|
dt,
|
|
6656
6666
|
{
|
|
6657
6667
|
InputProps: {
|
|
6658
|
-
startAdornment: /* @__PURE__ */ e(vi, { position: "start", children: /* @__PURE__ */ e(
|
|
6668
|
+
startAdornment: /* @__PURE__ */ e(vi, { position: "start", children: /* @__PURE__ */ e(Rs, { color: "disabled" }) }),
|
|
6659
6669
|
endAdornment: /* @__PURE__ */ e(vi, { position: "end", sx: { padding: 0 }, children: t ? o : null })
|
|
6660
6670
|
},
|
|
6661
6671
|
"aria-label": i.search_aria,
|
|
@@ -6693,7 +6703,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6693
6703
|
"aria-label": `Edit ${i.name} tag`,
|
|
6694
6704
|
color: "secondary",
|
|
6695
6705
|
onClick: y,
|
|
6696
|
-
children: /* @__PURE__ */ e(
|
|
6706
|
+
children: /* @__PURE__ */ e(us, { color: "secondary" })
|
|
6697
6707
|
}
|
|
6698
6708
|
),
|
|
6699
6709
|
/* @__PURE__ */ e(
|
|
@@ -6833,7 +6843,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6833
6843
|
}
|
|
6834
6844
|
)
|
|
6835
6845
|
] });
|
|
6836
|
-
},
|
|
6846
|
+
}, uI = C(md), Od = ({ transaction: A }) => {
|
|
6837
6847
|
const { updateTransaction: t } = PA(), { common: i, transactions: n } = X(), { onEvent: r } = K(), [o, I] = h.useState(!1), [a, c] = h.useState(""), d = h.useRef(null);
|
|
6838
6848
|
h.useEffect(() => {
|
|
6839
6849
|
o && (c(A.description), d?.current?.focus());
|
|
@@ -6843,7 +6853,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6843
6853
|
transaction_guid: A.guid
|
|
6844
6854
|
}), await t({ ...A, description: a }), I(!1);
|
|
6845
6855
|
};
|
|
6846
|
-
return /* @__PURE__ */ e(L, { className: "mx-txn-transaction-description", children: o ? /* @__PURE__ */ s(
|
|
6856
|
+
return /* @__PURE__ */ e(L, { className: "mx-txn-transaction-description", children: o ? /* @__PURE__ */ s(Ps, { row: !0, children: [
|
|
6847
6857
|
/* @__PURE__ */ e(
|
|
6848
6858
|
$A,
|
|
6849
6859
|
{
|
|
@@ -6913,12 +6923,12 @@ const EI = ({ transaction: A }) => {
|
|
|
6913
6923
|
}
|
|
6914
6924
|
},
|
|
6915
6925
|
value: "flagged",
|
|
6916
|
-
children: /* @__PURE__ */ e(
|
|
6926
|
+
children: /* @__PURE__ */ e(bs, { color: "inherit" })
|
|
6917
6927
|
}
|
|
6918
6928
|
) });
|
|
6919
6929
|
}, qd = C(Qd), Gd = ({
|
|
6920
|
-
bottomActions: A =
|
|
6921
|
-
topActions: t =
|
|
6930
|
+
bottomActions: A = df,
|
|
6931
|
+
topActions: t = ff,
|
|
6922
6932
|
transaction: i
|
|
6923
6933
|
}) => {
|
|
6924
6934
|
const n = KA(), r = i?.number && i.number.length > 4, { onEvent: o } = K();
|
|
@@ -6959,10 +6969,10 @@ const EI = ({ transaction: A }) => {
|
|
|
6959
6969
|
)
|
|
6960
6970
|
] }),
|
|
6961
6971
|
/* @__PURE__ */ e(De, { square: !0, sx: { boxShadow: "none" }, children: /* @__PURE__ */ e(rA, { children: t.map((I, a) => /* @__PURE__ */ s(h.Fragment, { children: [
|
|
6962
|
-
I === Wt.Category && /* @__PURE__ */ e(
|
|
6963
|
-
I === Wt.Date && /* @__PURE__ */ e(
|
|
6964
|
-
I === Wt.Memo && /* @__PURE__ */ e(
|
|
6965
|
-
I === Wt.Tags && /* @__PURE__ */ e(
|
|
6972
|
+
I === Wt.Category && /* @__PURE__ */ e(hI, { transaction: i }),
|
|
6973
|
+
I === Wt.Date && /* @__PURE__ */ e(lI, { transaction: i }),
|
|
6974
|
+
I === Wt.Memo && /* @__PURE__ */ e(RI, { transaction: i }),
|
|
6975
|
+
I === Wt.Tags && /* @__PURE__ */ e(uI, { transaction: i }),
|
|
6966
6976
|
/* @__PURE__ */ e(G, { variant: a < t.length - 1 ? "inset" : "fullWidth" })
|
|
6967
6977
|
] }, I)) }) }),
|
|
6968
6978
|
/* @__PURE__ */ e(R, { bold: !0, mb: 8, ml: 26, mt: 16, variant: "Body", children: "Actions" }),
|
|
@@ -7037,7 +7047,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7037
7047
|
sx: { bgcolor: "background.paper" }
|
|
7038
7048
|
}
|
|
7039
7049
|
),
|
|
7040
|
-
/* @__PURE__ */ e(
|
|
7050
|
+
/* @__PURE__ */ e(ls, { name: "TransactionType", onChange: v, row: !0, children: /* @__PURE__ */ s(b, { alignItems: "center", direction: "row", children: [
|
|
7041
7051
|
/* @__PURE__ */ e(
|
|
7042
7052
|
Or,
|
|
7043
7053
|
{
|
|
@@ -7087,10 +7097,10 @@ const EI = ({ transaction: A }) => {
|
|
|
7087
7097
|
] }),
|
|
7088
7098
|
/* @__PURE__ */ e(G, { light: !0 }),
|
|
7089
7099
|
/* @__PURE__ */ s(L, { bgcolor: "background.paper", children: [
|
|
7090
|
-
/* @__PURE__ */ e(EI, { transaction: n }),
|
|
7091
7100
|
/* @__PURE__ */ e(hI, { transaction: n }),
|
|
7092
|
-
/* @__PURE__ */ e(
|
|
7093
|
-
/* @__PURE__ */ e(RI, { transaction: n })
|
|
7101
|
+
/* @__PURE__ */ e(lI, { transaction: n }),
|
|
7102
|
+
/* @__PURE__ */ e(RI, { transaction: n }),
|
|
7103
|
+
/* @__PURE__ */ e(uI, { transaction: n })
|
|
7094
7104
|
] })
|
|
7095
7105
|
] });
|
|
7096
7106
|
}, Yd = C(Td), Vd = ({ onClose: A, transaction: t }) => {
|
|
@@ -7134,7 +7144,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7134
7144
|
}
|
|
7135
7145
|
)
|
|
7136
7146
|
] });
|
|
7137
|
-
}, Bd = C(Vd),
|
|
7147
|
+
}, Bd = C(Vd), Fr = 120, Sd = ({
|
|
7138
7148
|
onBackClick: A,
|
|
7139
7149
|
height: t = "100dvh",
|
|
7140
7150
|
showInsights: i = !1,
|
|
@@ -7169,7 +7179,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7169
7179
|
const kA = QA(fA()), nr = BA(fA());
|
|
7170
7180
|
iA(kA, nr), P({
|
|
7171
7181
|
dateRange: { start: kA, end: nr },
|
|
7172
|
-
accounts: Y.map((
|
|
7182
|
+
accounts: Y.map((oa) => oa.guid)
|
|
7173
7183
|
}), Ke(!0), j(V.TRANSACTIONS_VIEW);
|
|
7174
7184
|
}, []), h.useEffect(() => {
|
|
7175
7185
|
JA && (P({
|
|
@@ -7191,10 +7201,10 @@ const EI = ({ transaction: A }) => {
|
|
|
7191
7201
|
searchTerm: kA
|
|
7192
7202
|
}), j(V.TRANSACTIONS_CLICK_SEARCH, { search_term: kA });
|
|
7193
7203
|
}, Ki = () => {
|
|
7194
|
-
|
|
7204
|
+
fI(y, p), j(V.TRANSACTIONS_CLICK_EXPORT);
|
|
7195
7205
|
}, Zi = () => {
|
|
7196
7206
|
Yt.length > 0 ? (l({
|
|
7197
|
-
...
|
|
7207
|
+
...cI,
|
|
7198
7208
|
date: gA(fA()),
|
|
7199
7209
|
user_guid: m?.user_guid || ""
|
|
7200
7210
|
}), uA(
|
|
@@ -7250,7 +7260,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7250
7260
|
children: /* @__PURE__ */ e(
|
|
7251
7261
|
Vf,
|
|
7252
7262
|
{
|
|
7253
|
-
height: `calc(${t} - ${
|
|
7263
|
+
height: `calc(${t} - ${Fr}px)`,
|
|
7254
7264
|
onCategoryClick: (kA) => {
|
|
7255
7265
|
jA(kA), uA(
|
|
7256
7266
|
"category"
|
|
@@ -7277,7 +7287,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7277
7287
|
children: /* @__PURE__ */ e(
|
|
7278
7288
|
Rt,
|
|
7279
7289
|
{
|
|
7280
|
-
height: `calc(${t} - ${
|
|
7290
|
+
height: `calc(${t} - ${Fr}px)`,
|
|
7281
7291
|
onClick: (kA) => {
|
|
7282
7292
|
jA(kA), uA(
|
|
7283
7293
|
"transaction"
|
|
@@ -7344,7 +7354,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7344
7354
|
]
|
|
7345
7355
|
}
|
|
7346
7356
|
);
|
|
7347
|
-
}, XP = C(Sd),
|
|
7357
|
+
}, XP = C(Sd), PI = (A, t) => {
|
|
7348
7358
|
const i = {
|
|
7349
7359
|
...t,
|
|
7350
7360
|
repeat_day: null,
|
|
@@ -7371,7 +7381,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7371
7381
|
break;
|
|
7372
7382
|
}
|
|
7373
7383
|
return i;
|
|
7374
|
-
},
|
|
7384
|
+
}, bI = (A, t) => ({
|
|
7375
7385
|
...t,
|
|
7376
7386
|
occurs_on: pn(A.expectedDate, { representation: "date" }),
|
|
7377
7387
|
recurrence_type: A.recurrenceType
|
|
@@ -7388,10 +7398,10 @@ const EI = ({ transaction: A }) => {
|
|
|
7388
7398
|
const H = { ...A, recurrenceType: u };
|
|
7389
7399
|
if (A.activityType === TA.Expense) {
|
|
7390
7400
|
const P = n.find((p) => p.guid === A.scheduledPaymentGuid);
|
|
7391
|
-
P && await o(
|
|
7401
|
+
P && await o(bI(H, P));
|
|
7392
7402
|
} else {
|
|
7393
7403
|
const P = i.find((p) => p.guid === A.sequenceGuid);
|
|
7394
|
-
P && await r(
|
|
7404
|
+
P && await r(PI(H, P));
|
|
7395
7405
|
}
|
|
7396
7406
|
c(!1);
|
|
7397
7407
|
}, l = () => {
|
|
@@ -7453,10 +7463,10 @@ const EI = ({ transaction: A }) => {
|
|
|
7453
7463
|
const u = { ...A, expectedDate: d };
|
|
7454
7464
|
if (A.activityType === TA.Expense) {
|
|
7455
7465
|
const H = n.find((P) => P.guid === A.scheduledPaymentGuid);
|
|
7456
|
-
H && await o(
|
|
7466
|
+
H && await o(bI(u, H));
|
|
7457
7467
|
} else {
|
|
7458
7468
|
const H = i.find((P) => P.guid === A.sequenceGuid);
|
|
7459
|
-
H && await r(
|
|
7469
|
+
H && await r(PI(u, H));
|
|
7460
7470
|
}
|
|
7461
7471
|
c(!1);
|
|
7462
7472
|
};
|
|
@@ -7606,8 +7616,8 @@ const EI = ({ transaction: A }) => {
|
|
|
7606
7616
|
gridRow: 1,
|
|
7607
7617
|
gridColumn: 1,
|
|
7608
7618
|
zIndex: 2
|
|
7609
|
-
}, Si = (A) => A ? { margin: "0 0 -6px -4px" } : void 0, Fn = ({ isOffset: A = !1, size: t = 16 }) => /* @__PURE__ */ e(ft, { size: t, sx: { ...Si(A) }, children: /* @__PURE__ */ e(
|
|
7610
|
-
let n = t &&
|
|
7619
|
+
}, Si = (A) => A ? { margin: "0 0 -6px -4px" } : void 0, Fn = ({ isOffset: A = !1, size: t = 16 }) => /* @__PURE__ */ e(ft, { size: t, sx: { ...Si(A) }, children: /* @__PURE__ */ e(Cs, { color: "primary", sx: { fontSize: t, ...Bi } }) }), Wn = ({ isOffset: A = !1, size: t = 16 }) => /* @__PURE__ */ e(ft, { size: t, sx: { ...Si(A) }, children: /* @__PURE__ */ e(gs, { sx: { color: "categories.income", fontSize: t, ...Bi } }) }), kn = ({ isOffset: A = !1, size: t = 16 }) => /* @__PURE__ */ e(ft, { size: t, sx: { ...Si(A) }, children: /* @__PURE__ */ e(Ri, { color: "error", sx: { fontSize: t, ...Bi } }) }), Kn = ({ isOffset: A = !1, size: t = 16 }) => /* @__PURE__ */ e(ft, { size: t, sx: { ...Si(A) }, children: /* @__PURE__ */ e(Oi, { color: "success", sx: { fontSize: t, ...Bi } }) }), Wr = ({ copy: A, date: t, type: i }) => {
|
|
7620
|
+
let n = t && Go(t) ? z(A.monthly_ordinal, le(t, "do")) : A.monthly;
|
|
7611
7621
|
switch (i) {
|
|
7612
7622
|
case U.EveryQuarter:
|
|
7613
7623
|
n = t ? z(A.quarterly_ordinal, le(t, "do")) : A.quarterly;
|
|
@@ -7669,7 +7679,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7669
7679
|
}) => {
|
|
7670
7680
|
const { recurring: r } = X(), [o, I] = h.useState(""), a = A.activityType === TA.Income, c = A.activityStatus === SA.Paid, d = A.activityStatus === SA.Missed, f = A.activityStatus === SA.Upcoming;
|
|
7671
7681
|
let E = r.paid?.toLowerCase();
|
|
7672
|
-
return d ? E = r.missed?.toLowerCase() : f && (E =
|
|
7682
|
+
return d ? E = r.missed?.toLowerCase() : f && (E = Wr(n ? {
|
|
7673
7683
|
copy: r,
|
|
7674
7684
|
date: A.expectedDate,
|
|
7675
7685
|
type: A.recurrenceType
|
|
@@ -7760,7 +7770,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7760
7770
|
}
|
|
7761
7771
|
)
|
|
7762
7772
|
] });
|
|
7763
|
-
}, Xi = C($d),
|
|
7773
|
+
}, Xi = C($d), HI = (A, t, i) => {
|
|
7764
7774
|
const n = {
|
|
7765
7775
|
account_guid: A.account_guid,
|
|
7766
7776
|
amount: A.amount,
|
|
@@ -7794,7 +7804,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7794
7804
|
break;
|
|
7795
7805
|
}
|
|
7796
7806
|
return n;
|
|
7797
|
-
},
|
|
7807
|
+
}, zI = (A, t) => ({
|
|
7798
7808
|
amount: t.amount,
|
|
7799
7809
|
cashflow_sequence_guid: A.guid,
|
|
7800
7810
|
category_guid: t.category_guid,
|
|
@@ -7851,7 +7861,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7851
7861
|
),
|
|
7852
7862
|
/* @__PURE__ */ e(Rt, { bgcolor: A, height: "auto", onClick: n, showLoader: !1 })
|
|
7853
7863
|
] });
|
|
7854
|
-
},
|
|
7864
|
+
}, CI = C(eE), tE = ({
|
|
7855
7865
|
bgcolor: A = "background.default",
|
|
7856
7866
|
frequency: t,
|
|
7857
7867
|
isIncome: i,
|
|
@@ -7880,22 +7890,22 @@ const EI = ({ transaction: A }) => {
|
|
|
7880
7890
|
o(Gn(E));
|
|
7881
7891
|
break;
|
|
7882
7892
|
case U.EveryOtherWeek:
|
|
7883
|
-
o(
|
|
7893
|
+
o(tc(E));
|
|
7884
7894
|
break;
|
|
7885
7895
|
case U.EveryMonth:
|
|
7886
7896
|
o(Hr(E));
|
|
7887
7897
|
break;
|
|
7888
7898
|
case U.EveryOtherMonth:
|
|
7889
|
-
o(
|
|
7899
|
+
o(ic(E));
|
|
7890
7900
|
break;
|
|
7891
7901
|
case U.EveryQuarter:
|
|
7892
|
-
o(
|
|
7902
|
+
o(Ko(E));
|
|
7893
7903
|
break;
|
|
7894
7904
|
case U.EveryOtherQuarter:
|
|
7895
|
-
o(
|
|
7905
|
+
o(nc(E));
|
|
7896
7906
|
break;
|
|
7897
7907
|
case U.EveryYear:
|
|
7898
|
-
o(
|
|
7908
|
+
o(rc(E));
|
|
7899
7909
|
break;
|
|
7900
7910
|
}
|
|
7901
7911
|
r(Number(f.target.value));
|
|
@@ -7934,7 +7944,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7934
7944
|
}
|
|
7935
7945
|
) })
|
|
7936
7946
|
] });
|
|
7937
|
-
},
|
|
7947
|
+
}, gI = C(tE), Pn = (A) => A.top_level_category_guid !== g.INCOME && A.transaction_type === se.DEBIT, iE = (A, t) => Pn(A) ? A.payee?.toLowerCase().includes(t.toLowerCase()) || A.description.toLowerCase().includes(t.toLowerCase()) || A.feed_description.toLowerCase().includes(t.toLowerCase()) : !1, ii = (A) => A.top_level_category_guid === g.INCOME || A.top_level_category_guid === g.TRANSFER && A.transaction_type === se.CREDIT, XI = (A, t) => ii(A) ? A.payee?.toLowerCase().includes(t.toLowerCase()) || A.description?.toLowerCase().includes(t.toLowerCase()) || A.feed_description?.toLowerCase().includes(t.toLowerCase()) : !1, nE = ({
|
|
7938
7948
|
isIncome: A = !1,
|
|
7939
7949
|
label: t,
|
|
7940
7950
|
onAddActivity: i = () => null
|
|
@@ -7950,9 +7960,9 @@ const EI = ({ transaction: A }) => {
|
|
|
7950
7960
|
return;
|
|
7951
7961
|
}
|
|
7952
7962
|
if (A) {
|
|
7953
|
-
const m =
|
|
7963
|
+
const m = HI(y, u, P), j = await o(m);
|
|
7954
7964
|
if (j) {
|
|
7955
|
-
const O =
|
|
7965
|
+
const O = zI(j, y);
|
|
7956
7966
|
await r(O);
|
|
7957
7967
|
}
|
|
7958
7968
|
} else {
|
|
@@ -7980,13 +7990,13 @@ const EI = ({ transaction: A }) => {
|
|
|
7980
7990
|
onClose: () => E(!1),
|
|
7981
7991
|
title: t,
|
|
7982
7992
|
children: /* @__PURE__ */ e(
|
|
7983
|
-
|
|
7993
|
+
CI,
|
|
7984
7994
|
{
|
|
7985
7995
|
description: A ? n.add_income_description : n.add_expense_description,
|
|
7986
7996
|
onSearch: (m) => {
|
|
7987
7997
|
c({
|
|
7988
7998
|
...a,
|
|
7989
|
-
custom: (j) => A ? m ?
|
|
7999
|
+
custom: (j) => A ? m ? XI(j, m) : ii(j) : m ? iE(j, m) : Pn(j)
|
|
7990
8000
|
});
|
|
7991
8001
|
},
|
|
7992
8002
|
onSelected: (m) => v(m)
|
|
@@ -8003,7 +8013,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8003
8013
|
onPrimaryAction: w,
|
|
8004
8014
|
title: A ? n.income_details : n.expense_details,
|
|
8005
8015
|
children: y && /* @__PURE__ */ e(
|
|
8006
|
-
|
|
8016
|
+
gI,
|
|
8007
8017
|
{
|
|
8008
8018
|
frequency: u,
|
|
8009
8019
|
isIncome: A,
|
|
@@ -8016,14 +8026,14 @@ const EI = ({ transaction: A }) => {
|
|
|
8016
8026
|
}
|
|
8017
8027
|
)
|
|
8018
8028
|
] });
|
|
8019
|
-
},
|
|
8029
|
+
}, pI = C(nE), rE = (A, t, i) => t.map((n) => {
|
|
8020
8030
|
const r = i.find((I) => I.scheduled_payment_guid === n.guid), o = A.find((I) => I.guid === r?.account_guid);
|
|
8021
8031
|
return {
|
|
8022
8032
|
activityStatus: SA.Upcoming,
|
|
8023
8033
|
activityType: TA.Expense,
|
|
8024
8034
|
amount: n.amount,
|
|
8025
8035
|
categoryGuid: r?.category_guid,
|
|
8026
|
-
expectedDate:
|
|
8036
|
+
expectedDate: Lo(n.occurs_on),
|
|
8027
8037
|
name: n.description,
|
|
8028
8038
|
institution: o?.user_name,
|
|
8029
8039
|
institutionGuid: o?.institution_guid,
|
|
@@ -8045,7 +8055,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8045
8055
|
/* @__PURE__ */ e(Xi, { activity: c, onActivityClick: I, showOrdinal: !0 }),
|
|
8046
8056
|
/* @__PURE__ */ e(G, { variant: d < o.length - 1 ? "inset" : "fullWidth" })
|
|
8047
8057
|
] }, c.scheduledPaymentGuid)),
|
|
8048
|
-
/* @__PURE__ */ e(
|
|
8058
|
+
/* @__PURE__ */ e(pI, { label: A.add_expense, onAddActivity: a })
|
|
8049
8059
|
] });
|
|
8050
8060
|
}, IE = C(oE), bn = (A) => {
|
|
8051
8061
|
let t = A.user_name || A.feed_name || "";
|
|
@@ -8110,7 +8120,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8110
8120
|
}, sE = (A, t, i) => {
|
|
8111
8121
|
const n = [], r = i.find((v) => v.scheduled_payment_guid === t.guid);
|
|
8112
8122
|
if (!r) return [];
|
|
8113
|
-
const o = A.find((v) => v.guid === r?.account_guid), I =
|
|
8123
|
+
const o = A.find((v) => v.guid === r?.account_guid), I = Lo(t.occurs_on), a = {
|
|
8114
8124
|
accountGuid: o?.guid,
|
|
8115
8125
|
activityStatus: SA.Upcoming,
|
|
8116
8126
|
activityType: TA.Expense,
|
|
@@ -8246,7 +8256,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8246
8256
|
/* @__PURE__ */ e(Xi, { activity: f, onActivityClick: c, showOrdinal: !0 }),
|
|
8247
8257
|
/* @__PURE__ */ e(G, { variant: E < a.length - 1 ? "inset" : "fullWidth" })
|
|
8248
8258
|
] }, f.sequenceGuid)),
|
|
8249
|
-
/* @__PURE__ */ e(
|
|
8259
|
+
/* @__PURE__ */ e(pI, { isIncome: !0, label: A.add_income, onAddActivity: d })
|
|
8250
8260
|
] });
|
|
8251
8261
|
}, Zn = C(fE), dE = () => {
|
|
8252
8262
|
const [A, t] = h.useState(0), { onEvent: i } = K(), { recurring: n } = X();
|
|
@@ -8271,7 +8281,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8271
8281
|
A === 0 && /* @__PURE__ */ e(IE, {}),
|
|
8272
8282
|
A === 1 && /* @__PURE__ */ e(Zn, {})
|
|
8273
8283
|
] });
|
|
8274
|
-
},
|
|
8284
|
+
}, wI = C(dE), Ut = (A, t) => A + t.amount, An = (A) => A.activityType === TA.Income && mt(A.expectedDate, {
|
|
8275
8285
|
start: QA(fA()),
|
|
8276
8286
|
end: BA(fA())
|
|
8277
8287
|
}), di = (A) => A.activityType === TA.Expense && mt(A.expectedDate, {
|
|
@@ -8297,7 +8307,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8297
8307
|
(u) => u.activityType === TA.Expense && u.activityStatus === SA.Paid
|
|
8298
8308
|
), l = c.some((u) => u.activityType === TA.Income), v = (d ? 1 : 0) + (f ? 1 : 0) + (E ? 1 : 0) + (l ? 1 : 0);
|
|
8299
8309
|
return /* @__PURE__ */ e(
|
|
8300
|
-
|
|
8310
|
+
qo,
|
|
8301
8311
|
{
|
|
8302
8312
|
badgeContent: c.length > 0 && /* @__PURE__ */ s(Z, { children: [
|
|
8303
8313
|
f && /* @__PURE__ */ e(kn, { isOffset: !0 }),
|
|
@@ -8314,7 +8324,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8314
8324
|
}
|
|
8315
8325
|
},
|
|
8316
8326
|
children: /* @__PURE__ */ e(
|
|
8317
|
-
|
|
8327
|
+
zs,
|
|
8318
8328
|
{
|
|
8319
8329
|
"aria-label": `
|
|
8320
8330
|
${E && n.paid},
|
|
@@ -8358,11 +8368,11 @@ const EI = ({ transaction: A }) => {
|
|
|
8358
8368
|
]
|
|
8359
8369
|
}
|
|
8360
8370
|
);
|
|
8361
|
-
}, vE = C(lE),
|
|
8371
|
+
}, vE = C(lE), kr = 58, RE = () => {
|
|
8362
8372
|
const A = RA(), { onEvent: t } = K(), { selectedDay: i } = ZA(), [n, r] = h.useState(
|
|
8363
|
-
lr(/* @__PURE__ */ new Date()) * Bt +
|
|
8373
|
+
lr(/* @__PURE__ */ new Date()) * Bt + kr
|
|
8364
8374
|
), o = (a) => {
|
|
8365
|
-
r(lr(a) * Bt +
|
|
8375
|
+
r(lr(a) * Bt + kr), t(V.RECURRING_ACTIVITY_CLICK_CALENDAR_RIGHT);
|
|
8366
8376
|
}, I = /* @__PURE__ */ e(
|
|
8367
8377
|
mi,
|
|
8368
8378
|
{
|
|
@@ -8414,7 +8424,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8414
8424
|
!i && I,
|
|
8415
8425
|
/* @__PURE__ */ e(vE, {})
|
|
8416
8426
|
] }) });
|
|
8417
|
-
},
|
|
8427
|
+
}, yI = C(RE), uE = (A) => A.reduce((t, i) => {
|
|
8418
8428
|
const n = i.expectedDate.toISOString().split("T")[0], r = t.find(
|
|
8419
8429
|
(o) => o.expectedDate.toString() === i.expectedDate.toString()
|
|
8420
8430
|
);
|
|
@@ -8507,7 +8517,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8507
8517
|
] }),
|
|
8508
8518
|
/* @__PURE__ */ e(ti, { data: c })
|
|
8509
8519
|
] });
|
|
8510
|
-
},
|
|
8520
|
+
}, Kr = C(bE), HE = () => {
|
|
8511
8521
|
const { recurring: A } = X(), { isMobile: t, isSmallTablet: i } = zA(), {
|
|
8512
8522
|
activities: n,
|
|
8513
8523
|
missedActivities: r,
|
|
@@ -8530,7 +8540,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8530
8540
|
return /* @__PURE__ */ s(tt, { container: !0, pt: 16, px: 24, spacing: 24, children: [
|
|
8531
8541
|
/* @__PURE__ */ e(tt, { md: !0, sm: 12, children: /* @__PURE__ */ s(b, { gap: 24, children: [
|
|
8532
8542
|
/* @__PURE__ */ e(
|
|
8533
|
-
|
|
8543
|
+
Kr,
|
|
8534
8544
|
{
|
|
8535
8545
|
expected: P,
|
|
8536
8546
|
missed: y,
|
|
@@ -8540,7 +8550,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8540
8550
|
}
|
|
8541
8551
|
),
|
|
8542
8552
|
/* @__PURE__ */ e(
|
|
8543
|
-
|
|
8553
|
+
Kr,
|
|
8544
8554
|
{
|
|
8545
8555
|
expected: w,
|
|
8546
8556
|
paid: D,
|
|
@@ -8582,7 +8592,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8582
8592
|
] })
|
|
8583
8593
|
] }) }),
|
|
8584
8594
|
!i && !t && /* @__PURE__ */ e(tt, { sx: { minWidth: 450 }, xs: "auto", children: /* @__PURE__ */ s(b, { gap: 35, children: [
|
|
8585
|
-
/* @__PURE__ */ e(
|
|
8595
|
+
/* @__PURE__ */ e(yI, {}),
|
|
8586
8596
|
/* @__PURE__ */ e(
|
|
8587
8597
|
kt,
|
|
8588
8598
|
{
|
|
@@ -8639,7 +8649,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8639
8649
|
onClose: () => E(!1),
|
|
8640
8650
|
shouldShowHeaderBorders: !1,
|
|
8641
8651
|
title: n.settings,
|
|
8642
|
-
children: /* @__PURE__ */ e(
|
|
8652
|
+
children: /* @__PURE__ */ e(wI, {})
|
|
8643
8653
|
}
|
|
8644
8654
|
)
|
|
8645
8655
|
]
|
|
@@ -8653,7 +8663,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8653
8663
|
[t, o]
|
|
8654
8664
|
), { availableWidth: a } = Xt(), c = a < 750;
|
|
8655
8665
|
return /* @__PURE__ */ s(b, { flexDirection: c ? "column" : "row", width: "100%", children: [
|
|
8656
|
-
/* @__PURE__ */ e(
|
|
8666
|
+
/* @__PURE__ */ e(yI, {}),
|
|
8657
8667
|
!c && /* @__PURE__ */ e(G, { flexItem: !0, orientation: "vertical", sx: { my: 16, ml: 16 } }),
|
|
8658
8668
|
/* @__PURE__ */ e(
|
|
8659
8669
|
kt,
|
|
@@ -8692,7 +8702,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8692
8702
|
class wE {
|
|
8693
8703
|
globalStore;
|
|
8694
8704
|
api = new gr("/", "");
|
|
8695
|
-
cashflowApi = new
|
|
8705
|
+
cashflowApi = new Ao("/", "");
|
|
8696
8706
|
cashflowSequences = [];
|
|
8697
8707
|
cashflowEvents = [];
|
|
8698
8708
|
projectedEvents = [];
|
|
@@ -8704,7 +8714,7 @@ class wE {
|
|
|
8704
8714
|
this.globalStore = t, DA(this);
|
|
8705
8715
|
}
|
|
8706
8716
|
initialize = async (t, i) => {
|
|
8707
|
-
this.api = new gr(t, i), this.cashflowApi = new
|
|
8717
|
+
this.api = new gr(t, i), this.cashflowApi = new Ao(t, i), this.loadActivity();
|
|
8708
8718
|
};
|
|
8709
8719
|
get activities() {
|
|
8710
8720
|
return this.isLoading ? [] : aE(
|
|
@@ -8917,7 +8927,7 @@ const yE = {
|
|
|
8917
8927
|
const n = Object.keys(_).filter((r) => Number(r)).map((r) => ({
|
|
8918
8928
|
label: t.account_types[r],
|
|
8919
8929
|
value: Number(r),
|
|
8920
|
-
icon: /* @__PURE__ */ e(q, { name:
|
|
8930
|
+
icon: /* @__PURE__ */ e(q, { name: Uo[r] })
|
|
8921
8931
|
}));
|
|
8922
8932
|
i.push({
|
|
8923
8933
|
label: t.account_type,
|
|
@@ -8929,10 +8939,10 @@ const yE = {
|
|
|
8929
8939
|
});
|
|
8930
8940
|
}
|
|
8931
8941
|
if (A.account_type === _.PROPERTY) {
|
|
8932
|
-
const n = Object.keys(
|
|
8942
|
+
const n = Object.keys(Yo).filter((r) => Number(r)).map((r) => ({
|
|
8933
8943
|
label: t.property_types[r],
|
|
8934
8944
|
value: Number(r),
|
|
8935
|
-
icon: /* @__PURE__ */ e(q, { name:
|
|
8945
|
+
icon: /* @__PURE__ */ e(q, { name: Us[r] })
|
|
8936
8946
|
}));
|
|
8937
8947
|
i.push({
|
|
8938
8948
|
label: t.property_type,
|
|
@@ -8976,7 +8986,7 @@ const yE = {
|
|
|
8976
8986
|
type: de.Date,
|
|
8977
8987
|
valueFormatter: (n) => z(
|
|
8978
8988
|
t.day_of_every_month,
|
|
8979
|
-
|
|
8989
|
+
ko(n <= 31 ? n : new Date(n).getDate())
|
|
8980
8990
|
)
|
|
8981
8991
|
})), jE(A) && i.push({
|
|
8982
8992
|
label: t.credit_limit,
|
|
@@ -8992,7 +9002,7 @@ const yE = {
|
|
|
8992
9002
|
type: de.Currency,
|
|
8993
9003
|
valueFormatter: (n) => M(n, "0,0.00")
|
|
8994
9004
|
}), i;
|
|
8995
|
-
},
|
|
9005
|
+
}, xI = (A, t) => {
|
|
8996
9006
|
let i = "", n = null, r = null, o = null, I = !1;
|
|
8997
9007
|
switch (A.account_type) {
|
|
8998
9008
|
case 1:
|
|
@@ -9023,7 +9033,7 @@ const yE = {
|
|
|
9023
9033
|
listItemProps: i,
|
|
9024
9034
|
shouldShowConnectionStatus: n = !1
|
|
9025
9035
|
}) => {
|
|
9026
|
-
const { accounts: r } = X(), { firstSubtitle: o, firstValue: I, secondSubtitle: a, secondValue: c } =
|
|
9036
|
+
const { accounts: r } = X(), { firstSubtitle: o, firstValue: I, secondSubtitle: a, secondValue: c } = xI(
|
|
9027
9037
|
A,
|
|
9028
9038
|
r
|
|
9029
9039
|
);
|
|
@@ -9031,7 +9041,7 @@ const yE = {
|
|
|
9031
9041
|
(A.connectionStatus === bt.Error || A.connectionStatus === bt.RequiresMfa) && (d = /* @__PURE__ */ e(xE, { size: 16 }));
|
|
9032
9042
|
const f = /* @__PURE__ */ s(Z, { children: [
|
|
9033
9043
|
/* @__PURE__ */ e(xA, { children: /* @__PURE__ */ e(
|
|
9034
|
-
|
|
9044
|
+
qo,
|
|
9035
9045
|
{
|
|
9036
9046
|
badgeContent: n ? d : void 0,
|
|
9037
9047
|
sx: {
|
|
@@ -9100,7 +9110,7 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9100
9110
|
)
|
|
9101
9111
|
] }),
|
|
9102
9112
|
/* @__PURE__ */ e(G, {})
|
|
9103
|
-
] }),
|
|
9113
|
+
] }), Zr = C(GE), ME = ({ total: A, type: t }) => {
|
|
9104
9114
|
const { cashflow: i } = X();
|
|
9105
9115
|
return /* @__PURE__ */ s(Z, { children: [
|
|
9106
9116
|
/* @__PURE__ */ s(
|
|
@@ -9126,7 +9136,7 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9126
9136
|
),
|
|
9127
9137
|
/* @__PURE__ */ e(G, {})
|
|
9128
9138
|
] });
|
|
9129
|
-
},
|
|
9139
|
+
}, Jr = C(ME), _r = (A, t) => (i) => i.accountGuid === A.guid && (mn(i.expectedDate) || Ot(i.expectedDate, t.start)) && mA(i.expectedDate, t.end), NE = () => {
|
|
9130
9140
|
const { availableWidth: A } = Xt(), { cashflow: t } = X(), { upcomingExpenses: i, upcomingIncome: n } = ZA(), { dateRange: r, selectedCashAccounts: o } = Nt();
|
|
9131
9141
|
return /* @__PURE__ */ s(b, { children: [
|
|
9132
9142
|
/* @__PURE__ */ s(b, { direction: A < 400 ? "column" : "row", justifyContent: "space-between", children: [
|
|
@@ -9139,8 +9149,8 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9139
9149
|
] })
|
|
9140
9150
|
] }),
|
|
9141
9151
|
/* @__PURE__ */ e(b, { children: o.map((I) => {
|
|
9142
|
-
const a = n.filter(
|
|
9143
|
-
|
|
9152
|
+
const a = n.filter(_r(I, r)).sort((E, l) => gA(E.expectedDate) - gA(l.expectedDate)), c = i.filter(
|
|
9153
|
+
_r(I, r)
|
|
9144
9154
|
), d = a.reduce(
|
|
9145
9155
|
(E, l) => E + l.amount,
|
|
9146
9156
|
0
|
|
@@ -9173,17 +9183,17 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9173
9183
|
a.length > 0 && /* @__PURE__ */ e(W, { children: /* @__PURE__ */ e(
|
|
9174
9184
|
rA,
|
|
9175
9185
|
{
|
|
9176
|
-
subheader: /* @__PURE__ */ e(
|
|
9186
|
+
subheader: /* @__PURE__ */ e(Jr, { total: d, type: ni.INCOME }),
|
|
9177
9187
|
sx: { width: "100%" },
|
|
9178
|
-
children: a.map((E) => /* @__PURE__ */ e(
|
|
9188
|
+
children: a.map((E) => /* @__PURE__ */ e(Zr, { activity: E }, E.sequenceGuid))
|
|
9179
9189
|
}
|
|
9180
9190
|
) }),
|
|
9181
9191
|
c.length > 0 && /* @__PURE__ */ e(W, { children: /* @__PURE__ */ e(
|
|
9182
9192
|
rA,
|
|
9183
9193
|
{
|
|
9184
|
-
subheader: /* @__PURE__ */ e(
|
|
9194
|
+
subheader: /* @__PURE__ */ e(Jr, { total: f, type: ni.EXPENSE }),
|
|
9185
9195
|
sx: { width: "100%" },
|
|
9186
|
-
children: c.map((E) => /* @__PURE__ */ e(
|
|
9196
|
+
children: c.map((E) => /* @__PURE__ */ e(Zr, { activity: E }, E.scheduledPaymentGuid))
|
|
9187
9197
|
}
|
|
9188
9198
|
) }),
|
|
9189
9199
|
/* @__PURE__ */ e(
|
|
@@ -9483,12 +9493,12 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9483
9493
|
t && /* @__PURE__ */ e(OA, { amount: A, component: "h2", symbol: r, variant: "Small" })
|
|
9484
9494
|
]
|
|
9485
9495
|
}
|
|
9486
|
-
),
|
|
9496
|
+
), $r = (A, t) => (i) => i.accountGuid && A.includes(i.accountGuid) && (mn(i.expectedDate) || Ot(i.expectedDate, t.start)) && mA(i.expectedDate, t.end), UE = () => {
|
|
9487
9497
|
const [A, t] = h.useState(!1), { availableWidth: i } = Xt(), { cashflow: n } = X(), { upcomingExpenses: r, upcomingIncome: o } = ZA(), { selectedAccountGuids: I } = pA(), { dateRange: a, selectedCashAccounts: c } = Nt(), { userProfile: d } = Ue(), f = h.useMemo(
|
|
9488
|
-
() => r.filter(
|
|
9498
|
+
() => r.filter($r(I, a)),
|
|
9489
9499
|
[a, I, r]
|
|
9490
9500
|
), E = h.useMemo(
|
|
9491
|
-
() => o.filter(
|
|
9501
|
+
() => o.filter($r(I, a)),
|
|
9492
9502
|
[a, I, o]
|
|
9493
9503
|
), l = h.useMemo(
|
|
9494
9504
|
() => c.reduce((y, x) => y + (x?.balance || 0), 0),
|
|
@@ -9676,7 +9686,7 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9676
9686
|
/* @__PURE__ */ e(it, { pb: 12, children: A.loading_title }),
|
|
9677
9687
|
/* @__PURE__ */ e(HA, { children: A.loading_description })
|
|
9678
9688
|
] });
|
|
9679
|
-
}, JE = C(ZE), _E = "data:image/png;base64,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", $E = Xa`
|
|
9689
|
+
}, JE = C(ZE), _E = "data:image/png;base64,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", $E = pa`
|
|
9680
9690
|
from {
|
|
9681
9691
|
transform: rotate(0deg);
|
|
9682
9692
|
}
|
|
@@ -9697,13 +9707,13 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9697
9707
|
if (!(j.length < 1)) {
|
|
9698
9708
|
y(!0);
|
|
9699
9709
|
for (let cA = 0; cA < j.length; cA++) {
|
|
9700
|
-
const jA = j[cA], WA =
|
|
9710
|
+
const jA = j[cA], WA = HI(
|
|
9701
9711
|
jA,
|
|
9702
9712
|
jA.frequency,
|
|
9703
9713
|
jA.nextDate
|
|
9704
9714
|
), fe = await t(WA);
|
|
9705
9715
|
if (fe) {
|
|
9706
|
-
const Ie =
|
|
9716
|
+
const Ie = zI(fe, jA);
|
|
9707
9717
|
await A(Ie);
|
|
9708
9718
|
}
|
|
9709
9719
|
}
|
|
@@ -9772,12 +9782,12 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9772
9782
|
] })
|
|
9773
9783
|
] }),
|
|
9774
9784
|
uA && /* @__PURE__ */ e(
|
|
9775
|
-
|
|
9785
|
+
CI,
|
|
9776
9786
|
{
|
|
9777
9787
|
bgcolor: "background.paper",
|
|
9778
9788
|
onSearch: (cA) => f({
|
|
9779
9789
|
...d,
|
|
9780
|
-
custom: (jA) => cA ?
|
|
9790
|
+
custom: (jA) => cA ? XI(jA, cA) : ii(jA)
|
|
9781
9791
|
}),
|
|
9782
9792
|
onSelected: (cA) => {
|
|
9783
9793
|
tA(cA), u(!1);
|
|
@@ -9787,7 +9797,7 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9787
9797
|
!iA && I && /* @__PURE__ */ e(HA, { color: "error", mt: 16, children: n.confirm_error }),
|
|
9788
9798
|
Y && /* @__PURE__ */ s(Z, { children: [
|
|
9789
9799
|
/* @__PURE__ */ e(
|
|
9790
|
-
|
|
9800
|
+
gI,
|
|
9791
9801
|
{
|
|
9792
9802
|
bgcolor: "background.paper",
|
|
9793
9803
|
frequency: H,
|
|
@@ -9902,7 +9912,7 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9902
9912
|
onClose: () => H(!1),
|
|
9903
9913
|
shouldShowHeaderBorders: !1,
|
|
9904
9914
|
title: v.cashflow_settings,
|
|
9905
|
-
children: /* @__PURE__ */ e(
|
|
9915
|
+
children: /* @__PURE__ */ e(wI, {})
|
|
9906
9916
|
}
|
|
9907
9917
|
)
|
|
9908
9918
|
]
|
|
@@ -9917,7 +9927,7 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9917
9927
|
}
|
|
9918
9928
|
);
|
|
9919
9929
|
}, yP = C(th);
|
|
9920
|
-
class
|
|
9930
|
+
class Ao {
|
|
9921
9931
|
fetchInstance;
|
|
9922
9932
|
constructor(t, i) {
|
|
9923
9933
|
this.fetchInstance = new Ae(t, i);
|
|
@@ -9948,7 +9958,7 @@ let ih = class {
|
|
|
9948
9958
|
}
|
|
9949
9959
|
// Returns the number of days until the next income activity or 0 if there is no income activity
|
|
9950
9960
|
get daysUntilNextIncome() {
|
|
9951
|
-
return this.nextIncome ? Math.abs(
|
|
9961
|
+
return this.nextIncome ? Math.abs(rs(fA(), this.nextIncome.expectedDate)) : 0;
|
|
9952
9962
|
}
|
|
9953
9963
|
// Returns the expenses (Activities) until the next income activity or the end of the month
|
|
9954
9964
|
// if there is no income activity
|
|
@@ -9993,7 +10003,7 @@ class rh {
|
|
|
9993
10003
|
});
|
|
9994
10004
|
}
|
|
9995
10005
|
var Te = /* @__PURE__ */ ((A) => (A[A.HIGHEST_INTEREST = 1] = "HIGHEST_INTEREST", A[A.LOWEST_BALANCE = 2] = "LOWEST_BALANCE", A[A.HIGHEST_BALANCE = 3] = "HIGHEST_BALANCE", A))(Te || {});
|
|
9996
|
-
const
|
|
10006
|
+
const DI = (A, t) => {
|
|
9997
10007
|
const i = A.filter((r) => !r.is_paid_off && !r.is_impossible), n = A.filter((r) => r.is_paid_off || r.is_impossible);
|
|
9998
10008
|
switch (t) {
|
|
9999
10009
|
case Te.HIGHEST_INTEREST:
|
|
@@ -10014,7 +10024,7 @@ function oh(A, t, i = 0) {
|
|
|
10014
10024
|
const n = A.map((f) => ({ ...f })).filter(
|
|
10015
10025
|
(f) => f.interest_rate !== void 0 && f.monthly_payment !== void 0 && !f.is_paid_off
|
|
10016
10026
|
);
|
|
10017
|
-
|
|
10027
|
+
DI(n, t);
|
|
10018
10028
|
let r = 0, o = 0;
|
|
10019
10029
|
const I = /* @__PURE__ */ new Date(), a = /* @__PURE__ */ new Date();
|
|
10020
10030
|
for (; n.some((f) => f.balance >= 0.01 && !f.is_impossible); ) {
|
|
@@ -10033,11 +10043,11 @@ function oh(A, t, i = 0) {
|
|
|
10033
10043
|
}
|
|
10034
10044
|
f && a.setMonth(a.getMonth() + 1);
|
|
10035
10045
|
}
|
|
10036
|
-
const c = n.some((f) => f.is_impossible && f.balance > 0), d =
|
|
10046
|
+
const c = n.some((f) => f.is_impossible && f.balance > 0), d = os({ start: I, end: a });
|
|
10037
10047
|
return {
|
|
10038
10048
|
payoffSavings: c ? "N/A" : M(r, "0,0.00"),
|
|
10039
10049
|
payoffDate: c ? "Never" : nA(a, AA.MONTH_YEAR),
|
|
10040
|
-
payoffDuration: c ? "Stagnant" :
|
|
10050
|
+
payoffDuration: c ? "Stagnant" : Is(d, { format: ["years", "months"] }) || "0 months"
|
|
10041
10051
|
};
|
|
10042
10052
|
}
|
|
10043
10053
|
const ke = () => {
|
|
@@ -10462,7 +10472,7 @@ const ke = () => {
|
|
|
10462
10472
|
if (!h.useContext(gt))
|
|
10463
10473
|
throw new Error("useCategoryUiStore() must be used within the GlobalDataContext");
|
|
10464
10474
|
return CA().uiStore;
|
|
10465
|
-
}, Fi = (A) => A.top_level_category_guid === g.INCOME || A.category_guid === g.INCOME, fh = (A) => !Fi(A) && !
|
|
10475
|
+
}, Fi = (A) => A.top_level_category_guid === g.INCOME || A.category_guid === g.INCOME, fh = (A) => !Fi(A) && !mI(A), jI = (A) => ur.includes(A.top_level_category_guid) || ur.includes(A.category_guid), mI = (A) => A.top_level_category_guid === g.TRANSFER || A.category_guid === g.TRANSFER, dh = (A) => !Fi(A) && !jI(A) && !mI(A), Eh = (A) => A.filter((t) => t.category_guid === t.top_level_category_guid), _n = (A, t) => {
|
|
10466
10476
|
const i = [];
|
|
10467
10477
|
let n = QA(Ne(/* @__PURE__ */ new Date(), 5));
|
|
10468
10478
|
const r = /* @__PURE__ */ new Date();
|
|
@@ -10476,7 +10486,7 @@ const ke = () => {
|
|
|
10476
10486
|
const i = A.filter(Fi);
|
|
10477
10487
|
return _n(i).map((n) => ({ ...n, y: Math.abs(n.y) }));
|
|
10478
10488
|
}, lh = (A, t) => {
|
|
10479
|
-
const i = A.filter(
|
|
10489
|
+
const i = A.filter(jI);
|
|
10480
10490
|
return _n(i).map((n) => ({ ...n, y: Math.abs(n.y) }));
|
|
10481
10491
|
}, vh = (A, t) => {
|
|
10482
10492
|
const i = A.filter(dh);
|
|
@@ -10552,7 +10562,7 @@ const ke = () => {
|
|
|
10552
10562
|
}
|
|
10553
10563
|
);
|
|
10554
10564
|
}, Ch = C(zh), gh = ({ customDetailsChart: A }) => {
|
|
10555
|
-
const { institutions: t } = CA(), { selectedAccount: i } = Xe(), { accounts: n } = X(), { firstSubtitle: r, firstValue: o, hasAvailableBalance: I, secondSubtitle: a, secondValue: c } =
|
|
10565
|
+
const { institutions: t } = CA(), { selectedAccount: i } = Xe(), { accounts: n } = X(), { firstSubtitle: r, firstValue: o, hasAvailableBalance: I, secondSubtitle: a, secondValue: c } = xI(i, n), d = t.find(
|
|
10556
10566
|
(E) => E.guid === i?.institution_guid
|
|
10557
10567
|
), f = [
|
|
10558
10568
|
...Ln,
|
|
@@ -10593,7 +10603,7 @@ function ph(A, t) {
|
|
|
10593
10603
|
];
|
|
10594
10604
|
return `rgb(${o[0]}, ${o[1]}, ${o[2]})`;
|
|
10595
10605
|
}
|
|
10596
|
-
const
|
|
10606
|
+
const OI = ({
|
|
10597
10607
|
sx: A,
|
|
10598
10608
|
height: t = 500,
|
|
10599
10609
|
width: i,
|
|
@@ -10648,7 +10658,7 @@ const mI = ({
|
|
|
10648
10658
|
});
|
|
10649
10659
|
const p = (w) => P.findIndex((D) => D?.guid === w);
|
|
10650
10660
|
return /* @__PURE__ */ e(
|
|
10651
|
-
|
|
10661
|
+
xo,
|
|
10652
10662
|
{
|
|
10653
10663
|
axisHighlight: { x: "none" },
|
|
10654
10664
|
disableLineItemHighlight: !0,
|
|
@@ -10729,7 +10739,7 @@ const mI = ({
|
|
|
10729
10739
|
},
|
|
10730
10740
|
children: [
|
|
10731
10741
|
/* @__PURE__ */ e(rt, { sx: { pb: 0 }, title: /* @__PURE__ */ e(ne, { sx: { pb: 4 }, children: t.details_chart_title }) }),
|
|
10732
|
-
/* @__PURE__ */ e(Ce, { sx: { p: 0 }, children: /* @__PURE__ */ e(
|
|
10742
|
+
/* @__PURE__ */ e(Ce, { sx: { p: 0 }, children: /* @__PURE__ */ e(OI, { debts: [i], height: 250 }) })
|
|
10733
10743
|
]
|
|
10734
10744
|
}
|
|
10735
10745
|
),
|
|
@@ -10807,7 +10817,7 @@ const mI = ({
|
|
|
10807
10817
|
}
|
|
10808
10818
|
) })
|
|
10809
10819
|
] }) });
|
|
10810
|
-
}, Dh = C(xh),
|
|
10820
|
+
}, Dh = C(xh), LI = C(({ goal: A }) => {
|
|
10811
10821
|
const { goals: t } = X(), { setAlert: i, setSelectedGoal: n, updateGoal: r } = FA(), [o, I] = h.useState(A.interest_rate ?? 0), a = !A.guid, c = o < 0, d = async () => {
|
|
10812
10822
|
const E = { ...A, interest_rate: o };
|
|
10813
10823
|
A.interest_rate = o, a ? n(E) : (await r(E), i(t.alert_goal_updated_interest_rate));
|
|
@@ -10840,7 +10850,7 @@ const mI = ({
|
|
|
10840
10850
|
)
|
|
10841
10851
|
}
|
|
10842
10852
|
);
|
|
10843
|
-
}),
|
|
10853
|
+
}), QI = C(({ goal: A }) => {
|
|
10844
10854
|
const { goals: t } = X(), { setAlert: i, setSelectedGoal: n, updateGoal: r } = FA(), [o, I] = h.useState(A.monthly_payment ?? 0), a = !A.guid, c = o < 0 || o > 9999999999e-2, d = async () => {
|
|
10845
10855
|
const E = { ...A, monthly_payment: o };
|
|
10846
10856
|
A.monthly_payment = o, a ? n(E) : (await r({ ...A, monthly_payment: o }), i(t.alert_goal_updated_payment));
|
|
@@ -10874,7 +10884,7 @@ const mI = ({
|
|
|
10874
10884
|
)
|
|
10875
10885
|
}
|
|
10876
10886
|
);
|
|
10877
|
-
}),
|
|
10887
|
+
}), qI = C(({ goal: A }) => {
|
|
10878
10888
|
const { goals: t } = X(), { setAlert: i, setSelectedGoal: n, updateGoal: r } = FA(), [o, I] = h.useState(A.initial_amount), a = !A.guid, c = o < 0 || o > 9999999999e-2, d = async () => {
|
|
10879
10889
|
const E = { ...A, initial_amount: o };
|
|
10880
10890
|
A.initial_amount = o, a ? n(E) : (await r({ ...A, initial_amount: o }), i(t.alert_goal_updated_balance));
|
|
@@ -11006,11 +11016,11 @@ const mI = ({
|
|
|
11006
11016
|
const { onEvent: A } = K(), { selectedDebtChartData: t } = ke();
|
|
11007
11017
|
return h.useEffect(() => A(V.DEBT_DETAILS_VIEW), []), /* @__PURE__ */ s(b, { bgcolor: "background.paper", children: [
|
|
11008
11018
|
t?.goal && /* @__PURE__ */ s(Z, { children: [
|
|
11009
|
-
/* @__PURE__ */ e(
|
|
11019
|
+
/* @__PURE__ */ e(QI, { goal: t.goal }),
|
|
11010
11020
|
/* @__PURE__ */ e(G, {}),
|
|
11011
|
-
/* @__PURE__ */ e(
|
|
11021
|
+
/* @__PURE__ */ e(LI, { goal: t.goal }),
|
|
11012
11022
|
/* @__PURE__ */ e(G, {}),
|
|
11013
|
-
/* @__PURE__ */ e(
|
|
11023
|
+
/* @__PURE__ */ e(qI, { goal: t.goal }),
|
|
11014
11024
|
/* @__PURE__ */ e(G, {})
|
|
11015
11025
|
] }),
|
|
11016
11026
|
!t?.goal && t?.account && /* @__PURE__ */ s(Z, { children: [
|
|
@@ -11435,7 +11445,7 @@ const we = (A) => /* @__PURE__ */ e(R, { fontWeight: 600, variant: "Small", chil
|
|
|
11435
11445
|
o(d), i(V.DEBTS_CLICK_PRIORITY, { debts_priority: d });
|
|
11436
11446
|
};
|
|
11437
11447
|
return /* @__PURE__ */ e(
|
|
11438
|
-
|
|
11448
|
+
yo,
|
|
11439
11449
|
{
|
|
11440
11450
|
anchorEl: A,
|
|
11441
11451
|
anchorOrigin: {
|
|
@@ -11492,7 +11502,7 @@ const we = (A) => /* @__PURE__ */ e(R, { fontWeight: 600, variant: "Small", chil
|
|
|
11492
11502
|
] });
|
|
11493
11503
|
}), Al = (A, t, i = 0) => {
|
|
11494
11504
|
const n = A.map((c) => ({ ...c }));
|
|
11495
|
-
|
|
11505
|
+
DI(n, t);
|
|
11496
11506
|
const r = /* @__PURE__ */ new Date(), o = [];
|
|
11497
11507
|
let I = 0, a = 1;
|
|
11498
11508
|
for (const c of n)
|
|
@@ -11585,7 +11595,7 @@ const we = (A) => /* @__PURE__ */ e(R, { fontWeight: 600, variant: "Small", chil
|
|
|
11585
11595
|
},
|
|
11586
11596
|
children: [
|
|
11587
11597
|
/* @__PURE__ */ e(
|
|
11588
|
-
|
|
11598
|
+
OI,
|
|
11589
11599
|
{
|
|
11590
11600
|
debts: j,
|
|
11591
11601
|
height: E ? 250 : void 0,
|
|
@@ -11633,11 +11643,11 @@ const we = (A) => /* @__PURE__ */ e(R, { fontWeight: 600, variant: "Small", chil
|
|
|
11633
11643
|
};
|
|
11634
11644
|
function nl(A, t) {
|
|
11635
11645
|
const i = A.filter((o) => o.account_type === _.CHECKING_LINE_OF_CREDIT ? Number(o.balance) <= 0 : o.is_excluded_from_debts !== !0), n = t.filter((o) => i.some((I) => I.guid === o.account_guid)).map(
|
|
11636
|
-
(o) =>
|
|
11637
|
-
), r = i.filter((o) => !n.some((I) => I.account.guid === o.guid)).map((o) =>
|
|
11646
|
+
(o) => eo(i.find((I) => I.guid === o.account_guid), o)
|
|
11647
|
+
), r = i.filter((o) => !n.some((I) => I.account.guid === o.guid)).map((o) => eo(o));
|
|
11638
11648
|
return [...n, ...r];
|
|
11639
11649
|
}
|
|
11640
|
-
function
|
|
11650
|
+
function eo(A, t) {
|
|
11641
11651
|
const i = { account: A, goal: t, guid: A.guid };
|
|
11642
11652
|
if (t) {
|
|
11643
11653
|
const n = t.payment_due_at ? dr(Ai(t.payment_due_at)) : 1, r = Er(/* @__PURE__ */ new Date()).setDate(n);
|
|
@@ -11723,7 +11733,7 @@ class Il {
|
|
|
11723
11733
|
return t === i;
|
|
11724
11734
|
}
|
|
11725
11735
|
}
|
|
11726
|
-
class
|
|
11736
|
+
class to {
|
|
11727
11737
|
fetchInstance;
|
|
11728
11738
|
constructor(t, i) {
|
|
11729
11739
|
this.fetchInstance = new Ae(t, i);
|
|
@@ -11840,7 +11850,7 @@ const cl = (A, t) => {
|
|
|
11840
11850
|
}, fl = (A, t) => t ? M(A, A < 1e3 ? "0" : "0.00a").replace(
|
|
11841
11851
|
/(\d+)(?:\.0+|(\.\d*?[1-9])0*)([a-zA-Z]* ?\$?)/g,
|
|
11842
11852
|
"$1$2$3"
|
|
11843
|
-
) : M(A, "0,0.00"),
|
|
11853
|
+
) : M(A, "0,0.00"), GI = C(
|
|
11844
11854
|
({ goal: A, isInDrawer: t = !1, onClick: i }) => {
|
|
11845
11855
|
const { goals: n } = X(), { isMobile: r, isTablet: o } = zA(), I = r || o, {
|
|
11846
11856
|
backgroundColor: a,
|
|
@@ -11854,8 +11864,8 @@ const cl = (A, t) => {
|
|
|
11854
11864
|
percentage: `${d}`
|
|
11855
11865
|
}
|
|
11856
11866
|
];
|
|
11857
|
-
let u = /* @__PURE__ */ e(
|
|
11858
|
-
return A.track_type === B.DEBT_TRACK ? u = /* @__PURE__ */ e(
|
|
11867
|
+
let u = /* @__PURE__ */ e(Za, {});
|
|
11868
|
+
return A.track_type === B.DEBT_TRACK ? u = /* @__PURE__ */ e(Ja, {}) : A.track_type === B.RETIREMENT_TRACK && (u = /* @__PURE__ */ e(_a, {})), /* @__PURE__ */ e(ze, { elevation: 2, sx: { borderRadius: 2 }, children: /* @__PURE__ */ s(Mo, { disabled: !i, onClick: i, children: [
|
|
11859
11869
|
/* @__PURE__ */ e(
|
|
11860
11870
|
rt,
|
|
11861
11871
|
{
|
|
@@ -11993,7 +12003,7 @@ const cl = (A, t) => {
|
|
|
11993
12003
|
rowReordering: !0,
|
|
11994
12004
|
rows: f,
|
|
11995
12005
|
slots: {
|
|
11996
|
-
rowReorderIcon: () => /* @__PURE__ */ e(
|
|
12006
|
+
rowReorderIcon: () => /* @__PURE__ */ e(Xs, { sx: { ml: 12 } })
|
|
11997
12007
|
//TODO: Add to mx-icons
|
|
11998
12008
|
},
|
|
11999
12009
|
sx: {
|
|
@@ -12039,7 +12049,7 @@ const cl = (A, t) => {
|
|
|
12039
12049
|
}, ll = ({ goal: A }) => {
|
|
12040
12050
|
const { goals: t } = X();
|
|
12041
12051
|
return /* @__PURE__ */ e(W, { children: /* @__PURE__ */ s(aA, { children: [
|
|
12042
|
-
/* @__PURE__ */ e(xA, { sx: { alignItems: "center", display: "flex", justifyContent: "center" }, children: /* @__PURE__ */ e(
|
|
12052
|
+
/* @__PURE__ */ e(xA, { sx: { alignItems: "center", display: "flex", justifyContent: "center" }, children: /* @__PURE__ */ e($a, { color: "success", filled: !0, size: 20 }) }),
|
|
12043
12053
|
/* @__PURE__ */ e(eA, { primaryTypographyProps: { variant: "Body" }, children: /* @__PURE__ */ s(b, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
12044
12054
|
/* @__PURE__ */ s(b, { children: [
|
|
12045
12055
|
/* @__PURE__ */ e(R, { bold: !0, variant: "Body", children: A.name }),
|
|
@@ -12122,7 +12132,7 @@ const cl = (A, t) => {
|
|
|
12122
12132
|
] }),
|
|
12123
12133
|
a.length > 0 ? /* @__PURE__ */ e(tt, { container: !0, spacing: 24, children: a.map((f, E, l) => (
|
|
12124
12134
|
// Goal should be full width in mobile or if it's the first goal (unless there are 2)
|
|
12125
|
-
/* @__PURE__ */ e(tt, { xs: i || E === 0 && l.length !== 2 ? 12 : 6, children: /* @__PURE__ */ e(
|
|
12135
|
+
/* @__PURE__ */ e(tt, { xs: i || E === 0 && l.length !== 2 ? 12 : 6, children: /* @__PURE__ */ e(GI, { goal: f, onClick: () => o(f) }, f.guid) }, E)
|
|
12126
12136
|
)) }) : /* @__PURE__ */ s(
|
|
12127
12137
|
b,
|
|
12128
12138
|
{
|
|
@@ -12141,7 +12151,7 @@ const cl = (A, t) => {
|
|
|
12141
12151
|
A !== B.RETIREMENT_TRACK && /* @__PURE__ */ s(b, { gap: 16, mt: 48, children: [
|
|
12142
12152
|
/* @__PURE__ */ e(R, { color: "text.secondary", variant: "Small", children: n.complete_title }),
|
|
12143
12153
|
c.length === 0 && /* @__PURE__ */ e(b, { alignItems: "center", bgcolor: "background.default", borderRadius: 2, py: 18, children: /* @__PURE__ */ e(HA, { sx: { color: "text.secondary" }, variant: "Small", children: d }) }),
|
|
12144
|
-
c.map((f) => /* @__PURE__ */ e(ze, { elevation: 2, sx: { borderRadius: 2 }, children: /* @__PURE__ */ e(
|
|
12154
|
+
c.map((f) => /* @__PURE__ */ e(ze, { elevation: 2, sx: { borderRadius: 2 }, children: /* @__PURE__ */ e(Mo, { onClick: () => o(f), children: /* @__PURE__ */ e(Ce, { sx: { ":last-child": { pb: 16 } }, children: /* @__PURE__ */ s(b, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
12145
12155
|
/* @__PURE__ */ s(b, { alignItems: "center", direction: "row", gap: 6, children: [
|
|
12146
12156
|
/* @__PURE__ */ e(q, { color: "success", fill: !0, name: "check_circle", size: 20 }),
|
|
12147
12157
|
/* @__PURE__ */ e(R, { color: "text.secondary", variant: "Body", children: f.name })
|
|
@@ -12165,7 +12175,7 @@ const cl = (A, t) => {
|
|
|
12165
12175
|
/* @__PURE__ */ e(xA, { children: /* @__PURE__ */ e(Qe, { sx: { bgcolor: n }, variant: "rounded", children: /* @__PURE__ */ e(dn, { name: r, sx: { color: "grey.900" } }) }) }),
|
|
12166
12176
|
/* @__PURE__ */ e(eA, { primary: o, secondary: I, sx: { mr: 24 } }),
|
|
12167
12177
|
!E && /* @__PURE__ */ e(ce, {}),
|
|
12168
|
-
E && (d ? /* @__PURE__ */ e(
|
|
12178
|
+
E && (d ? /* @__PURE__ */ e(As, {}) : /* @__PURE__ */ e(es, {}))
|
|
12169
12179
|
]
|
|
12170
12180
|
}
|
|
12171
12181
|
) }),
|
|
@@ -12182,7 +12192,7 @@ const cl = (A, t) => {
|
|
|
12182
12192
|
/* @__PURE__ */ e(ce, {})
|
|
12183
12193
|
] }) }, v)) }) })
|
|
12184
12194
|
] }) });
|
|
12185
|
-
},
|
|
12195
|
+
}, MI = ({
|
|
12186
12196
|
accounts: A,
|
|
12187
12197
|
isOpen: t,
|
|
12188
12198
|
onClose: i,
|
|
@@ -12227,7 +12237,7 @@ const cl = (A, t) => {
|
|
|
12227
12237
|
] }, f.guid))
|
|
12228
12238
|
] }),
|
|
12229
12239
|
/* @__PURE__ */ e(
|
|
12230
|
-
|
|
12240
|
+
aI,
|
|
12231
12241
|
{
|
|
12232
12242
|
description: o.connect_description,
|
|
12233
12243
|
label: o.connect_button,
|
|
@@ -12269,7 +12279,7 @@ const cl = (A, t) => {
|
|
|
12269
12279
|
return /* @__PURE__ */ s(b, { children: [
|
|
12270
12280
|
/* @__PURE__ */ e(rA, { sx: { bgcolor: "background.paper" }, children: d.map((l, v) => /* @__PURE__ */ e(Rl, { goalType: l, onClick: f }, v)) }),
|
|
12271
12281
|
/* @__PURE__ */ e(
|
|
12272
|
-
|
|
12282
|
+
MI,
|
|
12273
12283
|
{
|
|
12274
12284
|
accounts: I.filter((l) => !n.find((v) => v.account_guid === l.guid)),
|
|
12275
12285
|
isOpen: a,
|
|
@@ -12279,7 +12289,7 @@ const cl = (A, t) => {
|
|
|
12279
12289
|
}
|
|
12280
12290
|
)
|
|
12281
12291
|
] });
|
|
12282
|
-
},
|
|
12292
|
+
}, NI = ({ account: A }) => {
|
|
12283
12293
|
const { accounts: t } = X(), { setSelectedAccount: i } = Xe(), [n, r] = h.useState(!1);
|
|
12284
12294
|
return /* @__PURE__ */ s(W, { sx: { bgcolor: "background.paper" }, children: [
|
|
12285
12295
|
/* @__PURE__ */ s(aA, { onClick: () => {
|
|
@@ -12303,7 +12313,7 @@ const cl = (A, t) => {
|
|
|
12303
12313
|
] }),
|
|
12304
12314
|
/* @__PURE__ */ e(IA, { isOpen: n, onClose: () => r(!1), title: t.account_details, children: /* @__PURE__ */ s(b, { children: [
|
|
12305
12315
|
/* @__PURE__ */ e($n, {}),
|
|
12306
|
-
/* @__PURE__ */ e(
|
|
12316
|
+
/* @__PURE__ */ e(UI, {})
|
|
12307
12317
|
] }) })
|
|
12308
12318
|
] });
|
|
12309
12319
|
}, Pl = C(({ goal: A }) => {
|
|
@@ -12348,7 +12358,7 @@ const cl = (A, t) => {
|
|
|
12348
12358
|
return /* @__PURE__ */ s(b, { children: [
|
|
12349
12359
|
c ? /* @__PURE__ */ e(W, { disableGutters: !0, disablePadding: !0, sx: { bgcolor: "background.paper" }, children: /* @__PURE__ */ s(aA, { onClick: () => f(!0), children: [
|
|
12350
12360
|
/* @__PURE__ */ e(eA, { children: /* @__PURE__ */ s(b, { alignItems: "center", color: "action.active", direction: "row", gap: 8, children: [
|
|
12351
|
-
/* @__PURE__ */ e(
|
|
12361
|
+
/* @__PURE__ */ e(mo, { filled: !0 }),
|
|
12352
12362
|
r.details_add_account
|
|
12353
12363
|
] }) }),
|
|
12354
12364
|
/* @__PURE__ */ e(ce, { color: "primary" })
|
|
@@ -12402,7 +12412,7 @@ const cl = (A, t) => {
|
|
|
12402
12412
|
/* @__PURE__ */ e(ce, {})
|
|
12403
12413
|
] }) }, l.guid)) }),
|
|
12404
12414
|
/* @__PURE__ */ e(
|
|
12405
|
-
|
|
12415
|
+
aI,
|
|
12406
12416
|
{
|
|
12407
12417
|
description: r.connect_description,
|
|
12408
12418
|
label: r.connect_button,
|
|
@@ -12478,7 +12488,7 @@ const cl = (A, t) => {
|
|
|
12478
12488
|
);
|
|
12479
12489
|
}, Cl = C(({ goal: A }) => {
|
|
12480
12490
|
const { goals: t } = X(), { user: i, updateUser: n } = Ue(), { setAlert: r } = FA(), [o, I] = h.useState(yA(i.birthday ?? 0)), [a, c] = h.useState(null), d = A.is_complete, f = async () => {
|
|
12481
|
-
o &&
|
|
12491
|
+
o && Go(o) && (await n({ ...i, birthday: gA(o) }), r(t.alert_goal_updated_birthday));
|
|
12482
12492
|
};
|
|
12483
12493
|
return /* @__PURE__ */ e(
|
|
12484
12494
|
Ge,
|
|
@@ -12527,18 +12537,18 @@ const cl = (A, t) => {
|
|
|
12527
12537
|
};
|
|
12528
12538
|
return /* @__PURE__ */ s(b, { children: [
|
|
12529
12539
|
E.map((u) => /* @__PURE__ */ s(b, { children: [
|
|
12530
|
-
/* @__PURE__ */ e(
|
|
12540
|
+
/* @__PURE__ */ e(NI, { account: u }),
|
|
12531
12541
|
/* @__PURE__ */ e(G, {})
|
|
12532
12542
|
] }, u.guid)),
|
|
12533
12543
|
/* @__PURE__ */ e(W, { disableGutters: !0, disablePadding: !0, sx: { bgcolor: "background.paper" }, children: /* @__PURE__ */ s(aA, { onClick: () => d(!0), children: [
|
|
12534
12544
|
/* @__PURE__ */ e(eA, { children: /* @__PURE__ */ s(b, { alignItems: "center", color: "action.active", direction: "row", gap: 8, children: [
|
|
12535
|
-
/* @__PURE__ */ e(
|
|
12545
|
+
/* @__PURE__ */ e(mo, { filled: !0 }),
|
|
12536
12546
|
t.details_add_account
|
|
12537
12547
|
] }) }),
|
|
12538
12548
|
/* @__PURE__ */ e(ce, { color: "primary" })
|
|
12539
12549
|
] }) }),
|
|
12540
12550
|
/* @__PURE__ */ e(
|
|
12541
|
-
|
|
12551
|
+
MI,
|
|
12542
12552
|
{
|
|
12543
12553
|
accounts: l,
|
|
12544
12554
|
isOpen: c,
|
|
@@ -12557,7 +12567,7 @@ const cl = (A, t) => {
|
|
|
12557
12567
|
return A.track_type === B.DEBT_TRACK ? o = t.details_debt_title : A.track_type === B.RETIREMENT_TRACK && (o = t.details_retirement_title), /* @__PURE__ */ s(b, { children: [
|
|
12558
12568
|
/* @__PURE__ */ s(b, { mx: 24, children: [
|
|
12559
12569
|
/* @__PURE__ */ e(R, { color: "text.secondary", sx: { mb: 4, mt: 24 }, variant: "XSmall", children: o }),
|
|
12560
|
-
/* @__PURE__ */ e(
|
|
12570
|
+
/* @__PURE__ */ e(GI, { goal: A, isInDrawer: !0 }),
|
|
12561
12571
|
/* @__PURE__ */ e(R, { color: "text.secondary", sx: { mb: 4, mt: 24 }, variant: "XSmall", children: t.details_title })
|
|
12562
12572
|
] }),
|
|
12563
12573
|
/* @__PURE__ */ s(rA, { sx: { bgcolor: "background.paper" }, children: [
|
|
@@ -12568,11 +12578,11 @@ const cl = (A, t) => {
|
|
|
12568
12578
|
/* @__PURE__ */ e(G, { sx: { ml: r === B.RETIREMENT_TRACK ? 24 : 0 } })
|
|
12569
12579
|
] }),
|
|
12570
12580
|
A.track_type === B.DEBT_TRACK && /* @__PURE__ */ s(Z, { children: [
|
|
12571
|
-
/* @__PURE__ */ e(
|
|
12581
|
+
/* @__PURE__ */ e(QI, { goal: A }),
|
|
12572
12582
|
/* @__PURE__ */ e(G, { sx: { ml: 24 } }),
|
|
12573
|
-
/* @__PURE__ */ e(
|
|
12583
|
+
/* @__PURE__ */ e(LI, { goal: A }),
|
|
12574
12584
|
/* @__PURE__ */ e(G, { sx: { ml: 24 } }),
|
|
12575
|
-
/* @__PURE__ */ e(
|
|
12585
|
+
/* @__PURE__ */ e(qI, { goal: A }),
|
|
12576
12586
|
/* @__PURE__ */ e(G, { variant: "fullWidth" })
|
|
12577
12587
|
] }),
|
|
12578
12588
|
A.track_type === B.RETIREMENT_TRACK && /* @__PURE__ */ s(Z, { children: [
|
|
@@ -12584,7 +12594,7 @@ const cl = (A, t) => {
|
|
|
12584
12594
|
] }),
|
|
12585
12595
|
/* @__PURE__ */ e(R, { color: "text.secondary", sx: { mb: 4, ml: 24, mt: 12 }, variant: "XSmall", children: A.track_type === B.RETIREMENT_TRACK ? t.details_accounts : t.details_account }),
|
|
12586
12596
|
A.track_type !== B.RETIREMENT_TRACK && n && /* @__PURE__ */ s(Z, { children: [
|
|
12587
|
-
/* @__PURE__ */ e(
|
|
12597
|
+
/* @__PURE__ */ e(NI, { account: n }),
|
|
12588
12598
|
/* @__PURE__ */ e(G, {})
|
|
12589
12599
|
] }),
|
|
12590
12600
|
A.track_type === B.RETIREMENT_TRACK && /* @__PURE__ */ s(Z, { children: [
|
|
@@ -12651,7 +12661,7 @@ const cl = (A, t) => {
|
|
|
12651
12661
|
}
|
|
12652
12662
|
)
|
|
12653
12663
|
] });
|
|
12654
|
-
}),
|
|
12664
|
+
}), TI = ({
|
|
12655
12665
|
buttonText: A,
|
|
12656
12666
|
header: t,
|
|
12657
12667
|
icon: i,
|
|
@@ -12756,7 +12766,7 @@ const cl = (A, t) => {
|
|
|
12756
12766
|
}
|
|
12757
12767
|
),
|
|
12758
12768
|
iA ? /* @__PURE__ */ e(
|
|
12759
|
-
|
|
12769
|
+
TI,
|
|
12760
12770
|
{
|
|
12761
12771
|
buttonText: a.add_goals_button,
|
|
12762
12772
|
header: a.create_goals_header,
|
|
@@ -12796,7 +12806,7 @@ const cl = (A, t) => {
|
|
|
12796
12806
|
);
|
|
12797
12807
|
});
|
|
12798
12808
|
class wl {
|
|
12799
|
-
api = new
|
|
12809
|
+
api = new to("/", "");
|
|
12800
12810
|
globalStore;
|
|
12801
12811
|
alert = "";
|
|
12802
12812
|
goals = [];
|
|
@@ -12808,7 +12818,7 @@ class wl {
|
|
|
12808
12818
|
this.globalStore = t, DA(this);
|
|
12809
12819
|
}
|
|
12810
12820
|
initialize = async (t, i) => {
|
|
12811
|
-
this.api = new
|
|
12821
|
+
this.api = new to(t, i);
|
|
12812
12822
|
};
|
|
12813
12823
|
get orderedGoals() {
|
|
12814
12824
|
return this.goals.slice().sort((t, i) => t.position - i.position);
|
|
@@ -12962,7 +12972,7 @@ class wl {
|
|
|
12962
12972
|
}
|
|
12963
12973
|
};
|
|
12964
12974
|
}
|
|
12965
|
-
class
|
|
12975
|
+
class io {
|
|
12966
12976
|
fetchInstance;
|
|
12967
12977
|
constructor(t, i) {
|
|
12968
12978
|
this.fetchInstance = new Ae(t, i);
|
|
@@ -13192,7 +13202,7 @@ const yl = [
|
|
|
13192
13202
|
};
|
|
13193
13203
|
class jl {
|
|
13194
13204
|
alert = { message: "", severity: void 0 };
|
|
13195
|
-
api = new
|
|
13205
|
+
api = new io("/", "");
|
|
13196
13206
|
appConfig;
|
|
13197
13207
|
globalStore;
|
|
13198
13208
|
isLoading = !1;
|
|
@@ -13200,7 +13210,7 @@ class jl {
|
|
|
13200
13210
|
this.globalStore = t, DA(this);
|
|
13201
13211
|
}
|
|
13202
13212
|
initialize = async (t, i) => {
|
|
13203
|
-
this.api = new
|
|
13213
|
+
this.api = new io(t, i);
|
|
13204
13214
|
};
|
|
13205
13215
|
createSupportTicket = async (t) => {
|
|
13206
13216
|
try {
|
|
@@ -13230,11 +13240,11 @@ class jl {
|
|
|
13230
13240
|
);
|
|
13231
13241
|
}
|
|
13232
13242
|
}
|
|
13233
|
-
const ml = /^[ a-zA-ZÀ-ÿ0-9]+$/, Ol = 50,
|
|
13243
|
+
const ml = /^[ a-zA-ZÀ-ÿ0-9]+$/, Ol = 50, no = 65, Ll = ({
|
|
13234
13244
|
height: A = "calc(100dvh - 120px)",
|
|
13235
13245
|
onSelect: t
|
|
13236
13246
|
}) => {
|
|
13237
|
-
const { isLoading: i, merchants: n, loadMerchants: r } =
|
|
13247
|
+
const { isLoading: i, merchants: n, loadMerchants: r } = Lc(), { common: o } = X(), [I, a] = h.useState("");
|
|
13238
13248
|
h.useEffect(() => {
|
|
13239
13249
|
r().finally();
|
|
13240
13250
|
}, [r]);
|
|
@@ -13242,10 +13252,10 @@ const ml = /^[ a-zA-ZÀ-ÿ0-9]+$/, Ol = 50, io = 65, Ll = ({
|
|
|
13242
13252
|
t(l);
|
|
13243
13253
|
}, d = async (l) => {
|
|
13244
13254
|
(!l || ml.test(l)) && l.length <= Ol && (a(l), await r(l));
|
|
13245
|
-
}, f = h.useRef(null), E =
|
|
13255
|
+
}, f = h.useRef(null), E = Oo({
|
|
13246
13256
|
count: n.length,
|
|
13247
13257
|
getScrollElement: () => f.current,
|
|
13248
|
-
estimateSize: () =>
|
|
13258
|
+
estimateSize: () => no,
|
|
13249
13259
|
overscan: 5
|
|
13250
13260
|
});
|
|
13251
13261
|
return h.useEffect(() => E.measure(), [n]), /* @__PURE__ */ s(b, { className: "mx-mrt-lookup", children: [
|
|
@@ -13267,7 +13277,7 @@ const ml = /^[ a-zA-ZÀ-ÿ0-9]+$/, Ol = 50, io = 65, Ll = ({
|
|
|
13267
13277
|
return /* @__PURE__ */ s(
|
|
13268
13278
|
L,
|
|
13269
13279
|
{
|
|
13270
|
-
height:
|
|
13280
|
+
height: no,
|
|
13271
13281
|
position: "absolute",
|
|
13272
13282
|
sx: { transform: `translateY(${l.start}px)` },
|
|
13273
13283
|
width: "100%",
|
|
@@ -13287,7 +13297,7 @@ const ml = /^[ a-zA-ZÀ-ÿ0-9]+$/, Ol = 50, io = 65, Ll = ({
|
|
|
13287
13297
|
] }) }) })
|
|
13288
13298
|
] });
|
|
13289
13299
|
}, mP = C(Ll);
|
|
13290
|
-
class
|
|
13300
|
+
class ro {
|
|
13291
13301
|
fetchInstance;
|
|
13292
13302
|
constructor(t, i) {
|
|
13293
13303
|
this.fetchInstance = new Ae(t, i);
|
|
@@ -13299,7 +13309,7 @@ class no {
|
|
|
13299
13309
|
getMerchantByGuid = async (t) => this.fetchInstance.get(`${Q.MERCHANTS}/${t}`).then((i) => i.merchant);
|
|
13300
13310
|
}
|
|
13301
13311
|
class Ql {
|
|
13302
|
-
api = new
|
|
13312
|
+
api = new ro("/", "");
|
|
13303
13313
|
merchant = null;
|
|
13304
13314
|
merchants = [];
|
|
13305
13315
|
isLoading = !1;
|
|
@@ -13307,7 +13317,7 @@ class Ql {
|
|
|
13307
13317
|
DA(this);
|
|
13308
13318
|
}
|
|
13309
13319
|
initialize = async (t, i) => {
|
|
13310
|
-
this.api = new
|
|
13320
|
+
this.api = new ro(t, i);
|
|
13311
13321
|
};
|
|
13312
13322
|
loadMerchants = async (t = "") => {
|
|
13313
13323
|
this.isLoading = !0;
|
|
@@ -13321,13 +13331,13 @@ class Ql {
|
|
|
13321
13331
|
F(() => this.merchant = i);
|
|
13322
13332
|
};
|
|
13323
13333
|
}
|
|
13324
|
-
const
|
|
13334
|
+
const YI = 13, ql = (A, t) => A.filter((i) => {
|
|
13325
13335
|
const { is_closed: n, is_deleted: r, is_hidden: o, is_manual: I } = i;
|
|
13326
13336
|
return n || r || o ? !1 : I || !i.guid ? !0 : t.some((a) => A.some((c) => a.guid === c.member_guid));
|
|
13327
|
-
}), Gl = (A, t) => [...A, ...t],
|
|
13337
|
+
}), Gl = (A, t) => [...A, ...t], oo = (A) => {
|
|
13328
13338
|
if (A && A.length > 0)
|
|
13329
13339
|
return A[A.length - 1];
|
|
13330
|
-
}, Ml = (A, t) => A.year_month - t.year_month, Nl = () => Array.from({ length:
|
|
13340
|
+
}, Ml = (A, t) => A.year_month - t.year_month, Nl = () => Array.from({ length: YI }, (A, t) => Math.floor(QA(Ne(/* @__PURE__ */ new Date(), t)).getTime() / 1e3)).sort(), Tl = (A, t, i) => !A.length || !t.length ? [] : Nl().reduceRight((r, o) => {
|
|
13331
13341
|
const I = t.filter(
|
|
13332
13342
|
({ year_month: f }) => f === parseInt(le(yA(o), "yyyyMM"))
|
|
13333
13343
|
), a = A.map((f) => {
|
|
@@ -13371,7 +13381,7 @@ const TI = 13, ql = (A, t) => A.filter((i) => {
|
|
|
13371
13381
|
},
|
|
13372
13382
|
...r
|
|
13373
13383
|
];
|
|
13374
|
-
}, []).slice(
|
|
13384
|
+
}, []).slice(YI - i), Yl = (A) => {
|
|
13375
13385
|
const t = [], i = [];
|
|
13376
13386
|
let n = 0, r = 0;
|
|
13377
13387
|
return A?.accounts.forEach((o) => {
|
|
@@ -13389,13 +13399,13 @@ const TI = 13, ql = (A, t) => A.filter((i) => {
|
|
|
13389
13399
|
t.push({ accountName: o.name, accountType: o.account_type, balance: I }), n += I;
|
|
13390
13400
|
}
|
|
13391
13401
|
}), { assets: t, liabilities: i, totalAssets: n, totalLiabilities: r };
|
|
13392
|
-
},
|
|
13402
|
+
}, Io = (A) => {
|
|
13393
13403
|
const t = A.reduce((i, n) => {
|
|
13394
13404
|
const r = n.accountType;
|
|
13395
13405
|
return i[r] || (i[r] = []), i[r].push(n), i;
|
|
13396
13406
|
}, {});
|
|
13397
13407
|
return Object.entries(t).map(([i, n]) => ({
|
|
13398
|
-
icon:
|
|
13408
|
+
icon: Ss[+i] || Uo[+i],
|
|
13399
13409
|
name: On[+i],
|
|
13400
13410
|
accounts: n
|
|
13401
13411
|
}));
|
|
@@ -13426,7 +13436,7 @@ class Bl {
|
|
|
13426
13436
|
};
|
|
13427
13437
|
loadChartData = async (t) => {
|
|
13428
13438
|
try {
|
|
13429
|
-
const { accounts: i, monthlyAccountBalances: n } = this.netWorthData, r = await Tl(i, n, t), o =
|
|
13439
|
+
const { accounts: i, monthlyAccountBalances: n } = this.netWorthData, r = await Tl(i, n, t), o = oo(r);
|
|
13430
13440
|
F(() => {
|
|
13431
13441
|
this.netWorthChartData = r, this.selectedData = o;
|
|
13432
13442
|
});
|
|
@@ -13442,7 +13452,7 @@ class Bl {
|
|
|
13442
13452
|
this.netWorthData.accounts
|
|
13443
13453
|
);
|
|
13444
13454
|
return {
|
|
13445
|
-
netWorth:
|
|
13455
|
+
netWorth: oo(this.netWorthChartData),
|
|
13446
13456
|
assets: t,
|
|
13447
13457
|
liabilities: i,
|
|
13448
13458
|
totalAssets: n,
|
|
@@ -13527,7 +13537,7 @@ const Sl = ({
|
|
|
13527
13537
|
eA,
|
|
13528
13538
|
{
|
|
13529
13539
|
primary: /* @__PURE__ */ s(b, { direction: "row", justifyContent: "space-between", sx: { fontWeight: 400 }, children: [
|
|
13530
|
-
/* @__PURE__ */ e(R, { variant: "Body", children:
|
|
13540
|
+
/* @__PURE__ */ e(R, { variant: "Body", children: Zo(A.x) }),
|
|
13531
13541
|
/* @__PURE__ */ e(OA, { amount: A.y, sx: { color: "inherit" }, variant: "Body" })
|
|
13532
13542
|
] })
|
|
13533
13543
|
}
|
|
@@ -13574,7 +13584,7 @@ const Sl = ({
|
|
|
13574
13584
|
))
|
|
13575
13585
|
] }),
|
|
13576
13586
|
/* @__PURE__ */ e(
|
|
13577
|
-
|
|
13587
|
+
Ma,
|
|
13578
13588
|
{
|
|
13579
13589
|
onClick: () => n(),
|
|
13580
13590
|
sx: { alignSelf: "center", marginTop: 16, width: "fit-content" },
|
|
@@ -13606,7 +13616,7 @@ const Sl = ({
|
|
|
13606
13616
|
/* @__PURE__ */ e(R, { variant: "Small", children: A })
|
|
13607
13617
|
] });
|
|
13608
13618
|
}, Ar = C(Zl), Jl = ({ hoveredData: A, selectedData: t }) => {
|
|
13609
|
-
const { net_worth: i } = X(), n = oe(), r = A || t, o =
|
|
13619
|
+
const { net_worth: i } = X(), n = oe(), r = A || t, o = as(Ai(r.x), "MMMM");
|
|
13610
13620
|
return /* @__PURE__ */ s(b, { alignItems: "center", direction: "column", m: 24, children: [
|
|
13611
13621
|
/* @__PURE__ */ e(R, { color: n.palette.secondary.main, variant: "Small", children: `${o} ${i.net_worth}` }),
|
|
13612
13622
|
/* @__PURE__ */ e(OA, { amount: r.y, variant: "H2" }),
|
|
@@ -13640,7 +13650,7 @@ const Sl = ({
|
|
|
13640
13650
|
I < A.length - 1 ? /* @__PURE__ */ e(G, { variant: "inset" }) : /* @__PURE__ */ e(G, {})
|
|
13641
13651
|
] }, o.accountName)) })
|
|
13642
13652
|
] });
|
|
13643
|
-
},
|
|
13653
|
+
}, ao = ({ groupedAccounts: A }) => /* @__PURE__ */ e(Z, { children: A.map(({ accounts: t, icon: i, name: n }) => /* @__PURE__ */ e($l, { accounts: t, icon: i, name: n }, n)) }), A9 = ({
|
|
13644
13654
|
netWorth: A,
|
|
13645
13655
|
assets: t,
|
|
13646
13656
|
liabilities: i,
|
|
@@ -13685,7 +13695,7 @@ const Sl = ({
|
|
|
13685
13695
|
] })
|
|
13686
13696
|
}
|
|
13687
13697
|
) }),
|
|
13688
|
-
/* @__PURE__ */ e(
|
|
13698
|
+
/* @__PURE__ */ e(ao, { groupedAccounts: Io(t) }),
|
|
13689
13699
|
/* @__PURE__ */ e(me, { sx: { mb: 8, mt: 12, mx: 8 }, children: /* @__PURE__ */ e(
|
|
13690
13700
|
eA,
|
|
13691
13701
|
{
|
|
@@ -13695,7 +13705,7 @@ const Sl = ({
|
|
|
13695
13705
|
] })
|
|
13696
13706
|
}
|
|
13697
13707
|
) }),
|
|
13698
|
-
/* @__PURE__ */ e(
|
|
13708
|
+
/* @__PURE__ */ e(ao, { groupedAccounts: Io(i) })
|
|
13699
13709
|
] })
|
|
13700
13710
|
] });
|
|
13701
13711
|
}, e9 = C(A9), t9 = ({
|
|
@@ -13708,7 +13718,7 @@ const Sl = ({
|
|
|
13708
13718
|
const { net_worth: o } = X(), I = RA();
|
|
13709
13719
|
return /* @__PURE__ */ s(Z, { children: [
|
|
13710
13720
|
/* @__PURE__ */ s(b, { alignItems: "center", justifyContent: "space-between", mb: 8, pt: 24, children: [
|
|
13711
|
-
/* @__PURE__ */ e(R, { variant: "Small", children:
|
|
13721
|
+
/* @__PURE__ */ e(R, { variant: "Small", children: Zo(A?.x) }),
|
|
13712
13722
|
/* @__PURE__ */ e(R, { variant: "Body", children: o.total_change }),
|
|
13713
13723
|
A && /* @__PURE__ */ e(Ar, { currencyVariant: "H1", iconSize: 32, netWorth: A, theme: I })
|
|
13714
13724
|
] }),
|
|
@@ -13779,9 +13789,9 @@ const Sl = ({
|
|
|
13779
13789
|
title: i
|
|
13780
13790
|
}) => {
|
|
13781
13791
|
let n;
|
|
13782
|
-
const { refreshAccounts: r } = CA(), { loadWidget: o } =
|
|
13792
|
+
const { refreshAccounts: r } = CA(), { loadWidget: o } = iI(), { connect: I } = X(), a = oe(), [c, d] = h.useState(!1), [f, E] = h.useState(!1);
|
|
13783
13793
|
return h.useEffect(() => (t ? (d(!0), o({ widget: "connections_widget", mode: a.palette.mode }).then((l) => {
|
|
13784
|
-
n = new
|
|
13794
|
+
n = new Fa({
|
|
13785
13795
|
container: `#${mr}`,
|
|
13786
13796
|
style: {
|
|
13787
13797
|
height: "calc(100% - 62px)",
|
|
@@ -13813,7 +13823,7 @@ const Sl = ({
|
|
|
13813
13823
|
] })
|
|
13814
13824
|
}
|
|
13815
13825
|
);
|
|
13816
|
-
},
|
|
13826
|
+
}, VI = C(n9), OP = C(({ onBackClick: A }) => {
|
|
13817
13827
|
const { isInitialized: t, selectedAccounts: i, setSelectedAccounts: n } = pA(), { accounts: r, net_worth: o } = X(), { accounts: I } = CA(), {
|
|
13818
13828
|
assetsLiabilities: a,
|
|
13819
13829
|
gainsLosses: c,
|
|
@@ -13824,7 +13834,7 @@ const Sl = ({
|
|
|
13824
13834
|
selectedData: v,
|
|
13825
13835
|
setHoveredData: u,
|
|
13826
13836
|
setSelectedData: H
|
|
13827
|
-
} =
|
|
13837
|
+
} = Qc(), { isMobile: P } = zA(), { onEvent: p } = K(), [y, x] = h.useState(!1), [w, D] = h.useState(6), [m, j] = h.useState(!1), [O, T] = h.useState(!1), [tA, Y] = h.useState(!1), iA = async () => {
|
|
13828
13838
|
await E(i), await f(w), x(!0);
|
|
13829
13839
|
};
|
|
13830
13840
|
h.useEffect(() => {
|
|
@@ -13846,7 +13856,7 @@ const Sl = ({
|
|
|
13846
13856
|
p(V.NET_WORTH_WIDGET_CLICK_ASSETS_LIABILITIES), T(!0);
|
|
13847
13857
|
}, jA = async (Ie) => {
|
|
13848
13858
|
const bA = Ie[0], JA = Ie[1];
|
|
13849
|
-
bA && JA && D(
|
|
13859
|
+
bA && JA && D(ss(JA, bA));
|
|
13850
13860
|
}, WA = {
|
|
13851
13861
|
chartData: l,
|
|
13852
13862
|
hoveredData: d,
|
|
@@ -13887,7 +13897,7 @@ const Sl = ({
|
|
|
13887
13897
|
}
|
|
13888
13898
|
)
|
|
13889
13899
|
] }) : /* @__PURE__ */ e(
|
|
13890
|
-
|
|
13900
|
+
TI,
|
|
13891
13901
|
{
|
|
13892
13902
|
buttonText: o.empty_widget_button,
|
|
13893
13903
|
header: o.empty_widget_header,
|
|
@@ -13897,7 +13907,7 @@ const Sl = ({
|
|
|
13897
13907
|
}
|
|
13898
13908
|
),
|
|
13899
13909
|
/* @__PURE__ */ e(
|
|
13900
|
-
|
|
13910
|
+
VI,
|
|
13901
13911
|
{
|
|
13902
13912
|
onClose: () => Y(!1),
|
|
13903
13913
|
showConnectionsWidget: tA,
|
|
@@ -13961,7 +13971,7 @@ class o9 {
|
|
|
13961
13971
|
notifications = [];
|
|
13962
13972
|
recentNotifications = [];
|
|
13963
13973
|
constructor() {
|
|
13964
|
-
DA(this, { notifications:
|
|
13974
|
+
DA(this, { notifications: ns });
|
|
13965
13975
|
}
|
|
13966
13976
|
initialize = async (t, i) => {
|
|
13967
13977
|
this.api = new Cr(t, i), await this.loadNotifications();
|
|
@@ -13989,7 +13999,7 @@ class o9 {
|
|
|
13989
13999
|
}
|
|
13990
14000
|
const I9 = (A, t) => {
|
|
13991
14001
|
const i = Ai(t[A].delivered_at), n = Ai(t[A - 1]?.delivered_at);
|
|
13992
|
-
return !
|
|
14002
|
+
return !cs(i, n);
|
|
13993
14003
|
}, a9 = ({ notification: A }) => {
|
|
13994
14004
|
const { accounts: t } = CA(), { budgets: i } = te(), { accounts: n } = X(), r = t.find((c) => c.guid === A.entity_guid), o = i.find((c) => c.guid === A.entity_guid), I = A.entity_guid.includes("GOL"), a = {
|
|
13995
14005
|
badge: {
|
|
@@ -14009,7 +14019,7 @@ const I9 = (A, t) => {
|
|
|
14009
14019
|
}
|
|
14010
14020
|
) }) : /* @__PURE__ */ e("div", { style: a.badge, children: /* @__PURE__ */ e(be, { categoryGuid: o?.category_guid, size: 36 }) });
|
|
14011
14021
|
}, s9 = C(a9), c9 = ({ notification: A, onClick: t }) => {
|
|
14012
|
-
const { updateNotification: i } =
|
|
14022
|
+
const { updateNotification: i } = nI(), n = nt(), r = {
|
|
14013
14023
|
card: {
|
|
14014
14024
|
alignItems: "center",
|
|
14015
14025
|
borderRadius: 2,
|
|
@@ -14043,12 +14053,12 @@ const I9 = (A, t) => {
|
|
|
14043
14053
|
/* @__PURE__ */ e(R, { bold: !A.has_been_viewed, truncate: !1, variant: "Small", children: A.content })
|
|
14044
14054
|
] });
|
|
14045
14055
|
}, f9 = ({ date: A }) => /* @__PURE__ */ e(L, { sx: { display: "flex", justifyContent: "center", mt: 12, py: 8 }, children: /* @__PURE__ */ e(R, { bold: !0, variant: "Small", children: Mi(A) }) }), d9 = ({ onClick: A }) => {
|
|
14046
|
-
const { isLoading: t, recentNotifications: i, markAllAsViewed: n } =
|
|
14056
|
+
const { isLoading: t, recentNotifications: i, markAllAsViewed: n } = nI(), { notifications: r } = X(), o = (I) => {
|
|
14047
14057
|
A?.(I);
|
|
14048
14058
|
};
|
|
14049
14059
|
return Ht(() => () => {
|
|
14050
14060
|
n().finally();
|
|
14051
|
-
}, []), /* @__PURE__ */ s(
|
|
14061
|
+
}, []), /* @__PURE__ */ s(Na, { sx: { p: 16 }, children: [
|
|
14052
14062
|
t && /* @__PURE__ */ e(ee, { label: r?.loading, size: 40 }),
|
|
14053
14063
|
!t && i.length === 0 && /* @__PURE__ */ e(Me, { sx: { p: 16 }, children: /* @__PURE__ */ e(R, { fontStyle: "italic", sx: { textAlign: "center" }, children: r.no_notifications }) }),
|
|
14054
14064
|
!t && i.slice().sort((I, a) => a.delivered_at - I.delivered_at).map((I, a) => {
|
|
@@ -14056,14 +14066,14 @@ const I9 = (A, t) => {
|
|
|
14056
14066
|
return /* @__PURE__ */ s(Me, { sx: { mb: 12 }, children: [
|
|
14057
14067
|
c && /* @__PURE__ */ s(Me, { sx: { mb: 12 }, children: [
|
|
14058
14068
|
/* @__PURE__ */ e(f9, { date: I.delivered_at }),
|
|
14059
|
-
/* @__PURE__ */ e(
|
|
14069
|
+
/* @__PURE__ */ e(Ta, {})
|
|
14060
14070
|
] }),
|
|
14061
14071
|
/* @__PURE__ */ e(c9, { notification: I, onClick: o })
|
|
14062
14072
|
] }, I.guid);
|
|
14063
14073
|
})
|
|
14064
14074
|
] });
|
|
14065
14075
|
}, QP = C(d9);
|
|
14066
|
-
class
|
|
14076
|
+
class so {
|
|
14067
14077
|
fetchInstance;
|
|
14068
14078
|
constructor(t, i) {
|
|
14069
14079
|
this.fetchInstance = new Ae(t, i);
|
|
@@ -14079,7 +14089,7 @@ class ao {
|
|
|
14079
14089
|
updateDevice = async (t) => this.fetchInstance.put(`${Q.DEVICES}/${t.guid}`, t).then((i) => i.device);
|
|
14080
14090
|
updateNotificationProfile = async (t) => this.fetchInstance.put(`${Q.NOTIFICATION_PROFILES}/${t.guid}`, t).then((i) => i.notification_profile);
|
|
14081
14091
|
}
|
|
14082
|
-
const
|
|
14092
|
+
const co = "PARENT-ENTITY", E9 = (A, t) => {
|
|
14083
14093
|
switch (A) {
|
|
14084
14094
|
case LA.BudgetExceeded:
|
|
14085
14095
|
return t.notification_budget_exceeded;
|
|
@@ -14110,9 +14120,9 @@ const so = "PARENT-ENTITY", E9 = (A, t) => {
|
|
|
14110
14120
|
opted_out_of_sms_notifications: f,
|
|
14111
14121
|
opted_out_of_push_notifications: E
|
|
14112
14122
|
} = r;
|
|
14113
|
-
for (const l of n.filter((v) => v.entity_guid ===
|
|
14123
|
+
for (const l of n.filter((v) => v.entity_guid === co)) {
|
|
14114
14124
|
const v = E9(l.notification_type, i), u = n.filter(
|
|
14115
|
-
(P) => P.entity_guid !==
|
|
14125
|
+
(P) => P.entity_guid !== co && P.notification_type === l.notification_type
|
|
14116
14126
|
), H = [];
|
|
14117
14127
|
I && !d && l.email_channel && H.push(i.delivery_method_email_label), a && !f && l.sms_channel && H.push(i.delivery_method_sms_label), c && !E && l.push_channel && H.push(i.delivery_method_push_label), o.push({
|
|
14118
14128
|
...l,
|
|
@@ -14129,7 +14139,7 @@ const so = "PARENT-ENTITY", E9 = (A, t) => {
|
|
|
14129
14139
|
};
|
|
14130
14140
|
class l9 {
|
|
14131
14141
|
globalStore;
|
|
14132
|
-
api = new
|
|
14142
|
+
api = new so("/", "");
|
|
14133
14143
|
transactionApi = new gi("/", "");
|
|
14134
14144
|
alert = { message: "", severity: void 0 };
|
|
14135
14145
|
devices = [];
|
|
@@ -14140,7 +14150,7 @@ class l9 {
|
|
|
14140
14150
|
this.globalStore = t, DA(this);
|
|
14141
14151
|
}
|
|
14142
14152
|
initialize = async (t, i) => {
|
|
14143
|
-
this.api = new
|
|
14153
|
+
this.api = new so(t, i), this.transactionApi = new gi(t, i);
|
|
14144
14154
|
};
|
|
14145
14155
|
get accountProfiles() {
|
|
14146
14156
|
return this.detailedNotificationProfiles.filter(
|
|
@@ -14330,7 +14340,7 @@ const u9 = ({
|
|
|
14330
14340
|
/* @__PURE__ */ s(YA, { item: !0, sm: 6, xs: 12, children: [
|
|
14331
14341
|
/* @__PURE__ */ e(ne, { color: "text.primary", children: r }),
|
|
14332
14342
|
/* @__PURE__ */ s(
|
|
14333
|
-
|
|
14343
|
+
hs,
|
|
14334
14344
|
{
|
|
14335
14345
|
separator: /* @__PURE__ */ e(R, { bold: !0, color: "grey.600", sx: { fontWeight: 700 }, variant: "Small", children: "/" }),
|
|
14336
14346
|
children: [
|
|
@@ -17055,7 +17065,7 @@ const u9 = ({
|
|
|
17055
17065
|
borderBottomLeftRadius: 8,
|
|
17056
17066
|
borderBottomRightRadius: 8
|
|
17057
17067
|
}
|
|
17058
|
-
}),
|
|
17068
|
+
}), fo = {
|
|
17059
17069
|
institutionName: "",
|
|
17060
17070
|
institutionWebsite: ""
|
|
17061
17071
|
}, rn = {
|
|
@@ -17064,7 +17074,7 @@ const u9 = ({
|
|
|
17064
17074
|
institutionWebsite: ""
|
|
17065
17075
|
}, wv = C(
|
|
17066
17076
|
({ copy: A, isOpen: t, onClose: i, onSave: n }) => {
|
|
17067
|
-
const { alert: r, isLoading: o, setAlert: I } = Tn(), [a, c] = h.useState(
|
|
17077
|
+
const { alert: r, isLoading: o, setAlert: I } = Tn(), [a, c] = h.useState(fo), [d, f] = h.useState(rn), E = [
|
|
17068
17078
|
{ name: "institutionName", required: !0 },
|
|
17069
17079
|
{ name: "institutionWebsite", required: !0 },
|
|
17070
17080
|
{ name: "institutionLoginPage", required: !1 }
|
|
@@ -17072,7 +17082,7 @@ const u9 = ({
|
|
|
17072
17082
|
...H,
|
|
17073
17083
|
label: A.popular_topics_missing_institution_fields[P.toString()]
|
|
17074
17084
|
})), l = () => {
|
|
17075
|
-
c(
|
|
17085
|
+
c(fo), f(rn), i();
|
|
17076
17086
|
}, v = (H) => {
|
|
17077
17087
|
const {
|
|
17078
17088
|
target: { name: P, value: p }
|
|
@@ -17154,7 +17164,7 @@ const u9 = ({
|
|
|
17154
17164
|
}
|
|
17155
17165
|
),
|
|
17156
17166
|
/* @__PURE__ */ e(re, { children: /* @__PURE__ */ e(ce, {}) })
|
|
17157
|
-
] }) }),
|
|
17167
|
+
] }) }), BI = ({ list: A, onClick: t, sx: i }) => /* @__PURE__ */ e(L, { sx: { bgcolor: "background.paper" }, children: /* @__PURE__ */ e(rA, { sx: { "& .MuiDivider-root:last-child": { ml: 0 } }, children: A.map(({ name: n, guid: r, subtitle: o, type: I }, a) => /* @__PURE__ */ s(h.Fragment, { children: [
|
|
17158
17168
|
/* @__PURE__ */ e(
|
|
17159
17169
|
yv,
|
|
17160
17170
|
{
|
|
@@ -17211,7 +17221,7 @@ const u9 = ({
|
|
|
17211
17221
|
children: A.request_support_institution_topic_label
|
|
17212
17222
|
}
|
|
17213
17223
|
),
|
|
17214
|
-
/* @__PURE__ */ e(
|
|
17224
|
+
/* @__PURE__ */ e(BI, { list: a, onClick: i, sx: { fontWeight: 600 } })
|
|
17215
17225
|
] }) });
|
|
17216
17226
|
}, jv = ({ copy: A, onButtonClick: t }) => {
|
|
17217
17227
|
const i = mv();
|
|
@@ -17371,7 +17381,7 @@ const u9 = ({
|
|
|
17371
17381
|
}
|
|
17372
17382
|
),
|
|
17373
17383
|
/* @__PURE__ */ e(
|
|
17374
|
-
|
|
17384
|
+
BI,
|
|
17375
17385
|
{
|
|
17376
17386
|
list: p,
|
|
17377
17387
|
onClick: w,
|
|
@@ -17798,7 +17808,7 @@ const Bv = ({
|
|
|
17798
17808
|
field: "created_at",
|
|
17799
17809
|
headerName: r.mobile_devices_column_added,
|
|
17800
17810
|
renderHeader: we,
|
|
17801
|
-
valueFormatter: (a) =>
|
|
17811
|
+
valueFormatter: (a) => Qo(yA(a), { addSuffix: !0 }),
|
|
17802
17812
|
sortable: !0,
|
|
17803
17813
|
hideSortIcons: !1,
|
|
17804
17814
|
flex: 1,
|
|
@@ -17893,7 +17903,7 @@ const Bv = ({
|
|
|
17893
17903
|
children: /* @__PURE__ */ s(b, { gap: 4, children: [
|
|
17894
17904
|
/* @__PURE__ */ e(R, { bold: !0, variant: "Body", children: c.name }),
|
|
17895
17905
|
/* @__PURE__ */ e(R, { color: n.palette.text.secondary, variant: "Small", children: `${c.make} ${c.model}` }),
|
|
17896
|
-
/* @__PURE__ */ e(R, { color: n.palette.text.secondary, variant: "Small", children:
|
|
17906
|
+
/* @__PURE__ */ e(R, { color: n.palette.text.secondary, variant: "Small", children: Qo(yA(c.created_at), { addSuffix: !0 }) })
|
|
17897
17907
|
] })
|
|
17898
17908
|
}
|
|
17899
17909
|
),
|
|
@@ -18144,7 +18154,7 @@ const Bv = ({
|
|
|
18144
18154
|
const r = RA();
|
|
18145
18155
|
return /* @__PURE__ */ e(W, { sx: { bgcolor: r.palette.background.paper }, children: /* @__PURE__ */ s(aA, { alignItems: "flex-start", onClick: A, sx: n, children: [
|
|
18146
18156
|
/* @__PURE__ */ e(eA, { primary: t, secondary: i }),
|
|
18147
|
-
/* @__PURE__ */ e(re, { children: /* @__PURE__ */ e(
|
|
18157
|
+
/* @__PURE__ */ e(re, { children: /* @__PURE__ */ e(Ea, {}) })
|
|
18148
18158
|
] }) });
|
|
18149
18159
|
}
|
|
18150
18160
|
), kv = C(() => {
|
|
@@ -18354,7 +18364,7 @@ const Bv = ({
|
|
|
18354
18364
|
}
|
|
18355
18365
|
),
|
|
18356
18366
|
t.sms_notifications_enabled && /* @__PURE__ */ e(ze, { sx: { backgroundColor: "background.default", mt: 12 }, children: /* @__PURE__ */ e(Ce, { children: /* @__PURE__ */ s(b, { alignItems: "flex-start", direction: "row", gap: 6, children: [
|
|
18357
|
-
/* @__PURE__ */ e(
|
|
18367
|
+
/* @__PURE__ */ e(ts, { color: "primary", filled: !0 }),
|
|
18358
18368
|
/* @__PURE__ */ e(R, { sx: { whiteSpace: "wrap" }, variant: "XSmall", children: A.delivery_method_sms_note_1 })
|
|
18359
18369
|
] }) }) })
|
|
18360
18370
|
] });
|
|
@@ -18364,7 +18374,7 @@ const Bv = ({
|
|
|
18364
18374
|
t.account?.day_payment_is_due || 0
|
|
18365
18375
|
), l = t.account?.name || t.account?.feed_name || "", v = t.account?.day_payment_is_due ? z(
|
|
18366
18376
|
n.notification_debt_payment_date,
|
|
18367
|
-
|
|
18377
|
+
ko(t.account?.day_payment_is_due)
|
|
18368
18378
|
) : n.notification_debt_payment_zero_state, u = o ? v : M(t.threshold ?? 0, "0,0"), H = async () => {
|
|
18369
18379
|
o && t.account ? await r({ ...t.account, day_payment_is_due: f }) : A({ ...t, threshold: c });
|
|
18370
18380
|
};
|
|
@@ -18756,7 +18766,7 @@ class GP {
|
|
|
18756
18766
|
globalUiStore;
|
|
18757
18767
|
isInitialized = !1;
|
|
18758
18768
|
constructor(t = rR) {
|
|
18759
|
-
this.accountStore = new mR(this), this.appDataStore = new
|
|
18769
|
+
this.accountStore = new mR(this), this.appDataStore = new _c(t), this.beatStore = new ef(), this.budgetsStore = new of(this), this.cashflowStore = new nh(this), this.categoryStore = new cd(this), this.connectStore = new rh(this), this.copyStore = new Jc(), this.debtsStore = new ol(this), this.goalStore = new wl(this), this.helpStore = new jl(this), this.merchantStore = new Ql(), this.netWorthStore = new Bl(this), this.notificationStore = new o9(), this.recurringActivityStore = new wE(this), this.settingsStore = new l9(this), this.transactionStore = new Cf(this), this.userStore = new nR(this), this.globalUiStore = new Il(this), DA(this);
|
|
18760
18770
|
}
|
|
18761
18771
|
initialize = async (t, i) => {
|
|
18762
18772
|
await this.copyStore.initialize(t, i), await this.appDataStore.initialize(t, i), Promise.all([
|
|
@@ -18796,39 +18806,39 @@ const on = ({
|
|
|
18796
18806
|
(n) => n.member_guid === i.guid && i.successfully_aggregated_at && n.guid !== t.guid
|
|
18797
18807
|
);
|
|
18798
18808
|
}, IR = () => {
|
|
18799
|
-
const [A, t] = h.useState(!1), [i, n] = h.useState(!1), [r, o] = h.useState(!1), [I, a] = h.useState({}), {
|
|
18800
|
-
await
|
|
18801
|
-
...
|
|
18809
|
+
const [A, t] = h.useState(!1), [i, n] = h.useState(!1), [r, o] = h.useState(!1), [I, a] = h.useState({}), { selectedAccount: c } = Xe(), { mergeAccounts: d, updateAccount: f } = CA(), { accounts: E } = X(), l = oR(), { onEvent: v } = K(), { loadTransactions: u } = PA(), H = async (p) => {
|
|
18810
|
+
await f({
|
|
18811
|
+
...c,
|
|
18802
18812
|
...p
|
|
18803
18813
|
}), await u();
|
|
18804
18814
|
}, P = () => {
|
|
18805
|
-
|
|
18815
|
+
d([c.guid, I.guid]).finally(
|
|
18806
18816
|
() => n(!1)
|
|
18807
18817
|
);
|
|
18808
18818
|
};
|
|
18809
18819
|
return /* @__PURE__ */ s(Z, { children: [
|
|
18810
|
-
/* @__PURE__ */ e(me, { sx: { backgroundColor: "transparent", mb: 4, mt: 12, mx: 8 }, children: /* @__PURE__ */ e(R, { bold: !0, component: "h2", variant: "XSmall", children:
|
|
18820
|
+
/* @__PURE__ */ e(me, { sx: { backgroundColor: "transparent", mb: 4, mt: 12, mx: 8 }, children: /* @__PURE__ */ e(R, { bold: !0, component: "h2", variant: "XSmall", children: E.actions }) }),
|
|
18811
18821
|
/* @__PURE__ */ e(
|
|
18812
18822
|
on,
|
|
18813
18823
|
{
|
|
18814
18824
|
onClick: () => {
|
|
18815
|
-
H({ is_hidden: !
|
|
18825
|
+
H({ is_hidden: !c.is_hidden }), v(V.ACCOUNT_DETAILS_CLICK_HIDE, { account_guid: c.guid });
|
|
18816
18826
|
},
|
|
18817
|
-
primaryText:
|
|
18818
|
-
secondaryText:
|
|
18819
|
-
children: /* @__PURE__ */ e(xi, { checked:
|
|
18827
|
+
primaryText: c.is_hidden ? E.unhide_account : E.hide_Account,
|
|
18828
|
+
secondaryText: c.is_hidden ? E.include_this_account : E.exclude_this_account,
|
|
18829
|
+
children: /* @__PURE__ */ e(xi, { checked: c.is_hidden })
|
|
18820
18830
|
}
|
|
18821
18831
|
),
|
|
18822
18832
|
/* @__PURE__ */ e(
|
|
18823
18833
|
on,
|
|
18824
18834
|
{
|
|
18825
18835
|
onClick: () => {
|
|
18826
|
-
t(!0),
|
|
18827
|
-
account_guid:
|
|
18836
|
+
t(!0), v(V.ACCOUNT_DETAILS_CLICK_MARK_CLOSED, {
|
|
18837
|
+
account_guid: c.guid
|
|
18828
18838
|
});
|
|
18829
18839
|
},
|
|
18830
|
-
primaryText:
|
|
18831
|
-
secondaryText:
|
|
18840
|
+
primaryText: c.is_closed ? E.mark_as_open : E.mark_as_closed,
|
|
18841
|
+
secondaryText: E.this_will_set_the_account_balance_to_0,
|
|
18832
18842
|
children: /* @__PURE__ */ e(q, { name: "chevron_right" })
|
|
18833
18843
|
}
|
|
18834
18844
|
),
|
|
@@ -18837,12 +18847,12 @@ const on = ({
|
|
|
18837
18847
|
{
|
|
18838
18848
|
isLast: !0,
|
|
18839
18849
|
onClick: () => {
|
|
18840
|
-
n(!0),
|
|
18841
|
-
account_guid:
|
|
18850
|
+
n(!0), v(V.ACCOUNT_DETAILS_CLICK_MARK_DUPLICATE, {
|
|
18851
|
+
account_guid: c.guid
|
|
18842
18852
|
});
|
|
18843
18853
|
},
|
|
18844
|
-
primaryText:
|
|
18845
|
-
secondaryText:
|
|
18854
|
+
primaryText: E.mark_as_duplicate,
|
|
18855
|
+
secondaryText: E.if_a_connected_account_is_showing_up_twice,
|
|
18846
18856
|
children: /* @__PURE__ */ e(q, { name: "chevron_right" })
|
|
18847
18857
|
}
|
|
18848
18858
|
),
|
|
@@ -18850,27 +18860,27 @@ const on = ({
|
|
|
18850
18860
|
XA,
|
|
18851
18861
|
{
|
|
18852
18862
|
copy: {
|
|
18853
|
-
close_aria:
|
|
18854
|
-
title:
|
|
18863
|
+
close_aria: E.close_modal,
|
|
18864
|
+
title: c.is_closed ? E.confirm_mark_as_open : E.confirm_mark_closed
|
|
18855
18865
|
},
|
|
18856
18866
|
isOpen: A,
|
|
18857
18867
|
onClose: () => {
|
|
18858
18868
|
t(!1);
|
|
18859
18869
|
},
|
|
18860
|
-
onPrimaryAction: () => H({ is_closed: !
|
|
18870
|
+
onPrimaryAction: () => H({ is_closed: !c.is_closed }),
|
|
18861
18871
|
children: z(
|
|
18862
|
-
|
|
18863
|
-
|
|
18872
|
+
c.is_closed ? E.this_will_resume_updating_the_balance : E.this_will_set_the_balance_of_your_account,
|
|
18873
|
+
c.name
|
|
18864
18874
|
)
|
|
18865
18875
|
}
|
|
18866
18876
|
),
|
|
18867
18877
|
/* @__PURE__ */ e(
|
|
18868
18878
|
IA,
|
|
18869
18879
|
{
|
|
18870
|
-
ariaLabelClose:
|
|
18880
|
+
ariaLabelClose: E.close_drawer,
|
|
18871
18881
|
isOpen: i,
|
|
18872
18882
|
onClose: () => n(!1),
|
|
18873
|
-
title:
|
|
18883
|
+
title: E.mark_as_duplicate,
|
|
18874
18884
|
children: /* @__PURE__ */ e(rA, { children: l.map((p) => {
|
|
18875
18885
|
const y = l.indexOf(p) === l.length - 1;
|
|
18876
18886
|
return /* @__PURE__ */ s(h.Fragment, { children: [
|
|
@@ -18892,24 +18902,24 @@ const on = ({
|
|
|
18892
18902
|
XA,
|
|
18893
18903
|
{
|
|
18894
18904
|
copy: {
|
|
18895
|
-
close_aria:
|
|
18896
|
-
title:
|
|
18905
|
+
close_aria: E.close_modal,
|
|
18906
|
+
title: E.confirm_merge
|
|
18897
18907
|
},
|
|
18898
18908
|
isOpen: r,
|
|
18899
18909
|
onClose: () => o(!1),
|
|
18900
18910
|
onPrimaryAction: P,
|
|
18901
18911
|
children: [
|
|
18902
18912
|
z(
|
|
18903
|
-
|
|
18904
|
-
|
|
18913
|
+
E.this_means_accounts_will_be_merged,
|
|
18914
|
+
c.name,
|
|
18905
18915
|
I.name
|
|
18906
18916
|
),
|
|
18907
|
-
/* @__PURE__ */ e(R, { color: "error", sx: { mt: 24 }, children:
|
|
18917
|
+
/* @__PURE__ */ e(R, { color: "error", sx: { mt: 24 }, children: E.this_action_cannot_be_undone })
|
|
18908
18918
|
]
|
|
18909
18919
|
}
|
|
18910
18920
|
)
|
|
18911
18921
|
] });
|
|
18912
|
-
}, aR = C(IR),
|
|
18922
|
+
}, aR = C(IR), SI = (A, t) => {
|
|
18913
18923
|
const { connection_messages: i } = t;
|
|
18914
18924
|
switch (A.connection_status) {
|
|
18915
18925
|
case ie.CHALLENGED:
|
|
@@ -19048,7 +19058,7 @@ const on = ({
|
|
|
19048
19058
|
const n = () => {
|
|
19049
19059
|
const r = A.successfully_aggregated_at ? yA(A.successfully_aggregated_at) : void 0, o = r && nA(r, AA.TIME_STAMP_HOUR_MINUTE);
|
|
19050
19060
|
if (o)
|
|
19051
|
-
return mn(r) ? z(t.last_updated_at, t.today, o) :
|
|
19061
|
+
return mn(r) ? z(t.last_updated_at, t.today, o) : Ds(r) ? z(t.last_updated_at, t.yesterday, o) : z(
|
|
19052
19062
|
t.last_updated_at,
|
|
19053
19063
|
nA(r, AA.MONTH_DAY_YEAR),
|
|
19054
19064
|
o
|
|
@@ -19070,7 +19080,7 @@ const on = ({
|
|
|
19070
19080
|
}, sR = () => {
|
|
19071
19081
|
const [A, t] = h.useState(!1), {
|
|
19072
19082
|
palette: { mode: i }
|
|
19073
|
-
} = RA(), { selectedMember: n } = Xe(), { accounts: r, connect: o } = X(), I =
|
|
19083
|
+
} = RA(), { selectedMember: n } = Xe(), { accounts: r, connect: o } = X(), I = SI(n, o), a = So.includes(n.connection_status) ? {
|
|
19074
19084
|
color: "error.main",
|
|
19075
19085
|
ctaCopy: I.cta ?? "",
|
|
19076
19086
|
icon: /* @__PURE__ */ e(Qi, { sx: { ...In } }),
|
|
@@ -19078,7 +19088,7 @@ const on = ({
|
|
|
19078
19088
|
secondaryMessage: `${I.title}.`
|
|
19079
19089
|
} : {
|
|
19080
19090
|
color: "success.main",
|
|
19081
|
-
icon: /* @__PURE__ */ e(
|
|
19091
|
+
icon: /* @__PURE__ */ e(ys, { sx: { ...In } }),
|
|
19082
19092
|
mainMessage: I.statusName,
|
|
19083
19093
|
secondaryMessage: I.title
|
|
19084
19094
|
};
|
|
@@ -19114,7 +19124,7 @@ const on = ({
|
|
|
19114
19124
|
},
|
|
19115
19125
|
size: 32,
|
|
19116
19126
|
children: /* @__PURE__ */ e(
|
|
19117
|
-
|
|
19127
|
+
xs,
|
|
19118
19128
|
{
|
|
19119
19129
|
sx: {
|
|
19120
19130
|
...In,
|
|
@@ -19145,10 +19155,10 @@ const on = ({
|
|
|
19145
19155
|
}, v = () => {
|
|
19146
19156
|
switch (A.type) {
|
|
19147
19157
|
case de.Select:
|
|
19148
|
-
return /* @__PURE__ */ s(
|
|
19149
|
-
/* @__PURE__ */ e(
|
|
19158
|
+
return /* @__PURE__ */ s(js, { fullWidth: !0, children: [
|
|
19159
|
+
/* @__PURE__ */ e(ms, { id: `${A.label}-select-label`, children: A.label }),
|
|
19150
19160
|
/* @__PURE__ */ e(
|
|
19151
|
-
|
|
19161
|
+
Ls,
|
|
19152
19162
|
{
|
|
19153
19163
|
id: `${A.label}-select`,
|
|
19154
19164
|
inputProps: {
|
|
@@ -19178,7 +19188,7 @@ const on = ({
|
|
|
19178
19188
|
}
|
|
19179
19189
|
);
|
|
19180
19190
|
case de.Date:
|
|
19181
|
-
return /* @__PURE__ */ e(
|
|
19191
|
+
return /* @__PURE__ */ e(Os, { dateAdapter: Ct, children: /* @__PURE__ */ e(
|
|
19182
19192
|
mi,
|
|
19183
19193
|
{
|
|
19184
19194
|
maxDate: Re(/* @__PURE__ */ new Date(), 1),
|
|
@@ -19275,11 +19285,11 @@ const on = ({
|
|
|
19275
19285
|
/* @__PURE__ */ e(aR, {})
|
|
19276
19286
|
] });
|
|
19277
19287
|
}, vR = C(lR), RR = ({ setTabValue: A }) => {
|
|
19278
|
-
const [t, i] = h.useState(!1), { selectedMember: n } = Xe(), { accounts: r, connect: o } = X(), I = n.connection_status &&
|
|
19288
|
+
const [t, i] = h.useState(!1), { selectedMember: n } = Xe(), { accounts: r, connect: o } = X(), I = n.connection_status && So.includes(n.connection_status);
|
|
19279
19289
|
if (h.useEffect(() => {
|
|
19280
19290
|
I && A(1);
|
|
19281
19291
|
}, [I]), !I) return;
|
|
19282
|
-
const a =
|
|
19292
|
+
const a = SI(n, o);
|
|
19283
19293
|
return /* @__PURE__ */ s(Z, { children: [
|
|
19284
19294
|
/* @__PURE__ */ e(
|
|
19285
19295
|
De,
|
|
@@ -19308,7 +19318,7 @@ const on = ({
|
|
|
19308
19318
|
a.title && /* @__PURE__ */ e(En, { sx: { fontWeight: 600, marginTop: 2 }, variant: "Body", children: a.title }),
|
|
19309
19319
|
/* @__PURE__ */ e(R, { component: "p", sx: { whiteSpace: "wrap" }, variant: "ParagraphSmall", children: a.main }),
|
|
19310
19320
|
a.cta && /* @__PURE__ */ e(
|
|
19311
|
-
|
|
19321
|
+
No,
|
|
19312
19322
|
{
|
|
19313
19323
|
onClick: () => i(!0),
|
|
19314
19324
|
sx: { fontSize: 15, fontWeight: 600, ml: 0 },
|
|
@@ -19331,10 +19341,10 @@ const on = ({
|
|
|
19331
19341
|
)
|
|
19332
19342
|
] });
|
|
19333
19343
|
}, uR = C(RR), PR = () => {
|
|
19334
|
-
const [A, t] = h.useState(""), { onEvent: i } = K(), { selectedAccount: n } = Xe(), { accounts: r } = X(), { setFilter: o,
|
|
19344
|
+
const [A, t] = h.useState(""), { onEvent: i } = K(), { selectedAccount: n } = Xe(), { accounts: r } = X(), { setFilter: o, allTxns: I } = PA(), a = h.useMemo(() => I.find((c) => c.guid === A), [A]);
|
|
19335
19345
|
return h.useEffect(() => {
|
|
19336
19346
|
o({
|
|
19337
|
-
dateRange: { start:
|
|
19347
|
+
dateRange: { start: fs(ds(), 90), end: Es() },
|
|
19338
19348
|
accounts: [n.guid]
|
|
19339
19349
|
});
|
|
19340
19350
|
}, [n]), h.useEffect(() => i(V.ACCOUNT_DETAILS_VIEW_TRANSACTIONS), []), /* @__PURE__ */ s(Z, { children: [
|
|
@@ -19385,7 +19395,7 @@ const on = ({
|
|
|
19385
19395
|
/* @__PURE__ */ e(Qt, { index: 0, name: "transaction-details", value: A, children: /* @__PURE__ */ e(bR, {}) }),
|
|
19386
19396
|
/* @__PURE__ */ e(Qt, { index: 1, name: "account-details", value: A, children: /* @__PURE__ */ e(vR, {}) })
|
|
19387
19397
|
] });
|
|
19388
|
-
},
|
|
19398
|
+
}, UI = C(HR), zR = () => {
|
|
19389
19399
|
const [A, t] = h.useState(""), { accounts: i } = X(), { selectedAccounts: n } = pA(), { setSelectedAccount: r, setSelectedMember: o } = Xe(), { members: I } = CA(), { onEvent: a } = K(), c = [...new Set(n.map((f) => f.account_type))], d = n.find((f) => A === f.guid);
|
|
19390
19400
|
return h.useEffect(() => {
|
|
19391
19401
|
if (d) {
|
|
@@ -19455,13 +19465,13 @@ const on = ({
|
|
|
19455
19465
|
title: i.account_details,
|
|
19456
19466
|
children: [
|
|
19457
19467
|
/* @__PURE__ */ e($n, {}),
|
|
19458
|
-
/* @__PURE__ */ e(
|
|
19468
|
+
/* @__PURE__ */ e(UI, {})
|
|
19459
19469
|
]
|
|
19460
19470
|
}
|
|
19461
19471
|
)
|
|
19462
19472
|
] });
|
|
19463
19473
|
}, CR = C(zR), gR = ({ onBackClick: A, sx: t = {} }) => {
|
|
19464
|
-
const [i, n] = h.useState(!1), [r, o] = h.useState(!1), { config: I } =
|
|
19474
|
+
const [i, n] = h.useState(!1), [r, o] = h.useState(!1), { config: I } = tI(), { accounts: a, refreshMembers: c } = CA(), { accounts: d } = X(), { setSelectedAccounts: f, selectedAccountGuids: E } = pA(), { isDesktop: l } = zA(), { onEvent: v } = K();
|
|
19465
19475
|
h.useEffect(() => {
|
|
19466
19476
|
f(a);
|
|
19467
19477
|
}, [a]);
|
|
@@ -19498,7 +19508,7 @@ const on = ({
|
|
|
19498
19508
|
/* @__PURE__ */ e(CR, {})
|
|
19499
19509
|
] }),
|
|
19500
19510
|
/* @__PURE__ */ e(
|
|
19501
|
-
|
|
19511
|
+
VI,
|
|
19502
19512
|
{
|
|
19503
19513
|
onClose: () => n(!1),
|
|
19504
19514
|
showConnectionsWidget: i,
|
|
@@ -20022,7 +20032,7 @@ const on = ({
|
|
|
20022
20032
|
)
|
|
20023
20033
|
] });
|
|
20024
20034
|
}, TP = C(DR);
|
|
20025
|
-
class
|
|
20035
|
+
class Eo {
|
|
20026
20036
|
fetchInstance;
|
|
20027
20037
|
constructor(t, i) {
|
|
20028
20038
|
this.fetchInstance = new Ae(t, i);
|
|
@@ -20049,7 +20059,7 @@ class jR {
|
|
|
20049
20059
|
setSelectedMember = (t) => this.selectedMember = t;
|
|
20050
20060
|
}
|
|
20051
20061
|
class mR {
|
|
20052
|
-
api = new
|
|
20062
|
+
api = new Eo("/", "");
|
|
20053
20063
|
globalStore;
|
|
20054
20064
|
accounts = [];
|
|
20055
20065
|
institutions = [];
|
|
@@ -20059,7 +20069,7 @@ class mR {
|
|
|
20059
20069
|
this.globalStore = t, this.uiStore = new jR(), DA(this);
|
|
20060
20070
|
}
|
|
20061
20071
|
initialize = async (t, i) => {
|
|
20062
|
-
this.api = new
|
|
20072
|
+
this.api = new Eo(t, i), await Promise.all([this.loadAccounts(), this.loadInstitutions()]);
|
|
20063
20073
|
};
|
|
20064
20074
|
get cashAccounts() {
|
|
20065
20075
|
return this.accounts.filter(
|
|
@@ -20104,7 +20114,7 @@ class mR {
|
|
|
20104
20114
|
if (r > -1) {
|
|
20105
20115
|
let o = bt.Connected;
|
|
20106
20116
|
const I = this.members[r];
|
|
20107
|
-
|
|
20117
|
+
Bo.includes(I.connection_status) ? o = bt.Error : Bs.includes(I.connection_status) ? o = bt.Processing : Vo.includes(I.connection_status) && (o = bt.RequiresMfa), i.push({
|
|
20108
20118
|
...n,
|
|
20109
20119
|
memberName: I.name,
|
|
20110
20120
|
connectionStatus: o
|
|
@@ -20204,7 +20214,7 @@ class mR {
|
|
|
20204
20214
|
}
|
|
20205
20215
|
};
|
|
20206
20216
|
}
|
|
20207
|
-
const
|
|
20217
|
+
const ho = 5, OR = 100, LR = 25, QR = (A) => {
|
|
20208
20218
|
const t = (r) => {
|
|
20209
20219
|
r.active || A.alphaTarget(0.3).restart(), r.subject.fx = r.subject.x, r.subject.fy = r.subject.y;
|
|
20210
20220
|
}, i = (r) => {
|
|
@@ -20216,7 +20226,7 @@ const Eo = 5, OR = 100, LR = 25, QR = (A) => {
|
|
|
20216
20226
|
}, qR = (A) => {
|
|
20217
20227
|
let t = A.transaction_total / A.amount;
|
|
20218
20228
|
t < 0 ? t = 0 : t > 1 && (t = 1);
|
|
20219
|
-
const i = t * 2 * Math.PI, n = ue.interpolate(0, i), r = ue.arc().cornerRadius(5).innerRadius(A.radius -
|
|
20229
|
+
const i = t * 2 * Math.PI, n = ue.interpolate(0, i), r = ue.arc().cornerRadius(5).innerRadius(A.radius - ho * 2).outerRadius(A.radius - ho).startAngle(0).endAngle(0);
|
|
20220
20230
|
return (o) => (r.endAngle(n(o)), r(A) || "");
|
|
20221
20231
|
}, GR = (A) => {
|
|
20222
20232
|
ue.selectAll(".bubble").call(QR(A));
|
|
@@ -20245,7 +20255,7 @@ const Eo = 5, OR = 100, LR = 25, QR = (A) => {
|
|
|
20245
20255
|
return ue.forceSimulation(r).velocityDecay(0.05).force("collide", ue.forceCollide((o) => o.radius + 2).strength(0.5)).on("tick", () => {
|
|
20246
20256
|
ue.selectAll(".bubble").data(r).attr("transform", (o) => `translate(${o.x},${o.y})`);
|
|
20247
20257
|
});
|
|
20248
|
-
},
|
|
20258
|
+
}, lo = 5, YR = 2e3;
|
|
20249
20259
|
function VR({ bubble: A }) {
|
|
20250
20260
|
const t = RA(), {
|
|
20251
20261
|
guid: i,
|
|
@@ -20255,7 +20265,7 @@ function VR({ bubble: A }) {
|
|
|
20255
20265
|
h.useEffect(() => {
|
|
20256
20266
|
ue.select(`.${o}`).selectAll(".status").remove(), ue.select(`.${o}`).append("path").transition().duration(YR).delay(0).attr("class", "status").attr("style", `fill: ${n}; fill-opacity: 1;`).attrTween("d", () => qR(A));
|
|
20257
20267
|
}, [A]);
|
|
20258
|
-
const I = ue.arc().innerRadius((a) => a - 2 *
|
|
20268
|
+
const I = ue.arc().innerRadius((a) => a - 2 * lo).outerRadius((a) => a - lo).startAngle(0).endAngle(2 * Math.PI);
|
|
20259
20269
|
return /* @__PURE__ */ e("g", { className: o, children: /* @__PURE__ */ e(
|
|
20260
20270
|
"path",
|
|
20261
20271
|
{
|
|
@@ -20264,7 +20274,7 @@ function VR({ bubble: A }) {
|
|
|
20264
20274
|
}
|
|
20265
20275
|
) });
|
|
20266
20276
|
}
|
|
20267
|
-
const yt = 75,
|
|
20277
|
+
const yt = 75, vo = 50;
|
|
20268
20278
|
function BR({ bubble: A, isDraggable: t, onClick: i = () => {
|
|
20269
20279
|
} }) {
|
|
20270
20280
|
const [n, r] = h.useState(!1);
|
|
@@ -20341,7 +20351,7 @@ function BR({ bubble: A, isDraggable: t, onClick: i = () => {
|
|
|
20341
20351
|
children: c
|
|
20342
20352
|
}
|
|
20343
20353
|
),
|
|
20344
|
-
E >
|
|
20354
|
+
E > vo && /* @__PURE__ */ e(
|
|
20345
20355
|
R,
|
|
20346
20356
|
{
|
|
20347
20357
|
bold: !0,
|
|
@@ -20353,7 +20363,7 @@ function BR({ bubble: A, isDraggable: t, onClick: i = () => {
|
|
|
20353
20363
|
children: E <= yt ? f.split(" ")[0] : f
|
|
20354
20364
|
}
|
|
20355
20365
|
),
|
|
20356
|
-
E <= yt && E >
|
|
20366
|
+
E <= yt && E > vo && /* @__PURE__ */ e(
|
|
20357
20367
|
R,
|
|
20358
20368
|
{
|
|
20359
20369
|
component: "text",
|
|
@@ -20389,7 +20399,7 @@ const SR = ({
|
|
|
20389
20399
|
/* @__PURE__ */ e(R, { bold: !0, variant: "Paragraph", children: A.zero_state_title }),
|
|
20390
20400
|
/* @__PURE__ */ e(R, { sx: { whiteSpace: "wrap" }, variant: "Paragraph", children: A.zero_state_description })
|
|
20391
20401
|
] });
|
|
20392
|
-
},
|
|
20402
|
+
}, FI = C(
|
|
20393
20403
|
({ height: A, isDraggable: t = !1, shouldShowZeroState: i, unavailableWidth: n = 24 }) => {
|
|
20394
20404
|
const { onEvent: r } = K(), { setSelectedBudget: o } = te(), { isLoadingCategoryTotals: I } = qA(), { isInitialized: a } = pA(), { availableWidth: c } = Xt(), { isMobile: d } = zA(), f = h.useMemo(() => c - n, [c]), E = (l) => {
|
|
20395
20405
|
o(l), r(V.BUDGETS_CLICK_BUDGET_CATEGORY, {
|
|
@@ -20408,7 +20418,7 @@ const SR = ({
|
|
|
20408
20418
|
) });
|
|
20409
20419
|
}
|
|
20410
20420
|
), WR = (A) => {
|
|
20411
|
-
const t = RA(), { budgets: i, loadBudgets: n, setTheme: r } = te(), { budgets: o } = X(), I =
|
|
20421
|
+
const t = RA(), { budgets: i, loadBudgets: n, setTheme: r } = te(), { budgets: o } = X(), I = tf(), a = i.length === 0;
|
|
20412
20422
|
return h.useEffect(() => {
|
|
20413
20423
|
r(t), n().finally();
|
|
20414
20424
|
}, []), /* @__PURE__ */ e(
|
|
@@ -20418,7 +20428,7 @@ const SR = ({
|
|
|
20418
20428
|
title: o.budgets_title,
|
|
20419
20429
|
...A,
|
|
20420
20430
|
children: /* @__PURE__ */ s(b, { height: 450, mt: 32, children: [
|
|
20421
|
-
/* @__PURE__ */ e(
|
|
20431
|
+
/* @__PURE__ */ e(FI, { height: 370, shouldShowZeroState: a }),
|
|
20422
20432
|
!a && /* @__PURE__ */ s(L, { ml: 16, children: [
|
|
20423
20433
|
/* @__PURE__ */ e(R, { bold: !0, color: I < 0 ? "error.main" : "success.main", children: M(Math.abs(I), "0,0") }),
|
|
20424
20434
|
/* @__PURE__ */ e(R, { children: I < 0 ? o.overspent_in_budgets : o.left_in_budgets })
|
|
@@ -20437,7 +20447,7 @@ const SR = ({
|
|
|
20437
20447
|
transaction_total: d
|
|
20438
20448
|
} = A;
|
|
20439
20449
|
return /* @__PURE__ */ e(W, { children: /* @__PURE__ */ s(aA, { onClick: () => t?.(A), children: [
|
|
20440
|
-
/* @__PURE__ */ e(xA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ e(
|
|
20450
|
+
/* @__PURE__ */ e(xA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ e(oI, { color: n, percent: a, size: 40, children: /* @__PURE__ */ e(be, { categoryGuid: o, variant: "basic" }) }) }),
|
|
20441
20451
|
/* @__PURE__ */ e(
|
|
20442
20452
|
eA,
|
|
20443
20453
|
{
|
|
@@ -20649,7 +20659,7 @@ const SR = ({
|
|
|
20649
20659
|
secondary: M(A.totalAmount, "0,0")
|
|
20650
20660
|
}
|
|
20651
20661
|
),
|
|
20652
|
-
/* @__PURE__ */ e(
|
|
20662
|
+
/* @__PURE__ */ e(Qs, { children: /* @__PURE__ */ e(q, { name: "add", size: 20 }) })
|
|
20653
20663
|
] }) }, A.guid),
|
|
20654
20664
|
/* @__PURE__ */ e(
|
|
20655
20665
|
XA,
|
|
@@ -20680,7 +20690,7 @@ const SR = ({
|
|
|
20680
20690
|
)) }) }),
|
|
20681
20691
|
/* @__PURE__ */ e($R, { onRecalculateBudgets: A })
|
|
20682
20692
|
] });
|
|
20683
|
-
}),
|
|
20693
|
+
}), WI = ({ budget: A }) => {
|
|
20684
20694
|
const {
|
|
20685
20695
|
amount: t,
|
|
20686
20696
|
budgetColors: { background: i },
|
|
@@ -20716,7 +20726,7 @@ const SR = ({
|
|
|
20716
20726
|
transaction_total: o
|
|
20717
20727
|
} = A, { setSelectedSubBudget: I } = te();
|
|
20718
20728
|
return /* @__PURE__ */ e(W, { children: /* @__PURE__ */ s(aA, { onClick: () => I(A), children: [
|
|
20719
|
-
/* @__PURE__ */ e(xA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ e(
|
|
20729
|
+
/* @__PURE__ */ e(xA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ e(oI, { color: i, percent: r, size: 40, children: /* @__PURE__ */ e(be, { categoryGuid: n.parent_guid, variant: "basic" }) }) }),
|
|
20720
20730
|
/* @__PURE__ */ e(
|
|
20721
20731
|
eA,
|
|
20722
20732
|
{
|
|
@@ -20757,7 +20767,7 @@ const SR = ({
|
|
|
20757
20767
|
isOpen: a,
|
|
20758
20768
|
onClose: () => c(!1),
|
|
20759
20769
|
title: i.add_sub_budget_title,
|
|
20760
|
-
children: /* @__PURE__ */ e(rA, { children: /* @__PURE__ */ e(
|
|
20770
|
+
children: /* @__PURE__ */ e(rA, { children: /* @__PURE__ */ e(dI, { category: A, subCategories: A.subCategories }) })
|
|
20761
20771
|
}
|
|
20762
20772
|
),
|
|
20763
20773
|
/* @__PURE__ */ e(
|
|
@@ -20821,7 +20831,7 @@ const SR = ({
|
|
|
20821
20831
|
secondaryText: n.details_delete_button,
|
|
20822
20832
|
title: n.details_title,
|
|
20823
20833
|
children: I && /* @__PURE__ */ s(b, { gap: 24, children: [
|
|
20824
|
-
/* @__PURE__ */ e(
|
|
20834
|
+
/* @__PURE__ */ e(WI, { budget: I }),
|
|
20825
20835
|
/* @__PURE__ */ e(Rt, { height: "100%" })
|
|
20826
20836
|
] })
|
|
20827
20837
|
}
|
|
@@ -20868,10 +20878,10 @@ const SR = ({
|
|
|
20868
20878
|
), l = (u, H) => {
|
|
20869
20879
|
c(H);
|
|
20870
20880
|
}, v = () => {
|
|
20871
|
-
|
|
20881
|
+
fI(o, I), r(t.alert_csv_downloaded);
|
|
20872
20882
|
};
|
|
20873
20883
|
return /* @__PURE__ */ s(b, { gap: 24, children: [
|
|
20874
|
-
/* @__PURE__ */ e(
|
|
20884
|
+
/* @__PURE__ */ e(WI, { budget: A }),
|
|
20875
20885
|
/* @__PURE__ */ s(b, { children: [
|
|
20876
20886
|
/* @__PURE__ */ s(
|
|
20877
20887
|
Se,
|
|
@@ -20991,7 +21001,7 @@ const SR = ({
|
|
|
20991
21001
|
}
|
|
20992
21002
|
)
|
|
20993
21003
|
] });
|
|
20994
|
-
}),
|
|
21004
|
+
}), Ro = 480, VP = C(({ onBackClick: A, sx: t }) => {
|
|
20995
21005
|
const i = RA(), { onEvent: n } = K(), { accounts: r } = CA(), { budgets: o, common: I } = X(), { isInitialized: a, selectedAccounts: c, setDisplayedDate: d, setSelectedAccounts: f } = pA(), { alert: E, dateRange: l, loadBudgets: v, setDateRange: u, setAlert: H, setTheme: P } = te(), { loadCashflowSequences: p } = ZA(), { isDesktop: y, isTablet: x } = zA(), { reloadCategoryTotals: w } = qA(), [D, m] = h.useState(!1), [j, O] = h.useState(!1);
|
|
20996
21006
|
h.useEffect(() => {
|
|
20997
21007
|
P(i), f(r), d(l.start, l.end), n(V.BUDGETS_VIEW);
|
|
@@ -21029,12 +21039,12 @@ const SR = ({
|
|
|
21029
21039
|
(!a || !D) && /* @__PURE__ */ e(ee, {}),
|
|
21030
21040
|
a && D && /* @__PURE__ */ s(b, { direction: y || x ? "row" : "column", height: "100%", width: "100%", children: [
|
|
21031
21041
|
/* @__PURE__ */ e(b, { height: y || x ? "calc(100dvh - 150px)" : 450, children: /* @__PURE__ */ e(
|
|
21032
|
-
|
|
21042
|
+
FI,
|
|
21033
21043
|
{
|
|
21034
21044
|
height: y || x ? 800 : 450,
|
|
21035
21045
|
isDraggable: !0,
|
|
21036
21046
|
shouldShowZeroState: !1,
|
|
21037
|
-
unavailableWidth: y || x ?
|
|
21047
|
+
unavailableWidth: y || x ? Ro : 0
|
|
21038
21048
|
}
|
|
21039
21049
|
) }),
|
|
21040
21050
|
/* @__PURE__ */ s(
|
|
@@ -21043,7 +21053,7 @@ const SR = ({
|
|
|
21043
21053
|
gap: 24,
|
|
21044
21054
|
height: "100%",
|
|
21045
21055
|
sx: { mr: 24 },
|
|
21046
|
-
width: y || x ?
|
|
21056
|
+
width: y || x ? Ro : "100%",
|
|
21047
21057
|
children: [
|
|
21048
21058
|
/* @__PURE__ */ e(ZR, {}),
|
|
21049
21059
|
/* @__PURE__ */ e(KR, {})
|
|
@@ -21139,7 +21149,7 @@ const a3 = C(() => {
|
|
|
21139
21149
|
/* @__PURE__ */ e(R, { color: "text.secondary", sx: { fontSize: 15 }, children: r.heres_your_spending_overview })
|
|
21140
21150
|
] }),
|
|
21141
21151
|
/* @__PURE__ */ e(
|
|
21142
|
-
|
|
21152
|
+
_o,
|
|
21143
21153
|
{
|
|
21144
21154
|
accounts: A,
|
|
21145
21155
|
copy: o,
|
|
@@ -21230,12 +21240,12 @@ const tr = {
|
|
|
21230
21240
|
WeeklyNewMerchantsV2: "WeeklyNewMerchantsV2",
|
|
21231
21241
|
MonthlySpendComparison: "MonthlySpendComparison",
|
|
21232
21242
|
MonthlySpendToIncomeComparison: "MonthlySpendToIncomeComparison"
|
|
21233
|
-
}, ye = window?.app?.clientConfig?.microwidget_instance_id || "",
|
|
21243
|
+
}, ye = window?.app?.clientConfig?.microwidget_instance_id || "", uo = {
|
|
21234
21244
|
INSIGHTS_MICRO_WIDGET: "/micro-insights-carousel"
|
|
21235
|
-
},
|
|
21245
|
+
}, kI = (A) => `on${A}Click`, KI = (A) => `on${A}View`, ZI = (A) => `on${A}ViewFirstTime`, ir = (A) => A.replace(/([a-z])([A-Z])/g, "$1 $2"), E3 = () => Object.values(tr).reduce(
|
|
21236
21246
|
(A, t) => ({
|
|
21237
21247
|
...A,
|
|
21238
|
-
[
|
|
21248
|
+
[kI(t)]: {
|
|
21239
21249
|
action: et.MICRO_BEAT_CLICKED,
|
|
21240
21250
|
category: At.BEAT_INTERACTION,
|
|
21241
21251
|
label: ir(t),
|
|
@@ -21246,7 +21256,7 @@ const tr = {
|
|
|
21246
21256
|
), h3 = () => Object.values(tr).reduce(
|
|
21247
21257
|
(A, t) => ({
|
|
21248
21258
|
...A,
|
|
21249
|
-
[
|
|
21259
|
+
[KI(t)]: {
|
|
21250
21260
|
action: et.MICRO_BEAT_DISPLAYED,
|
|
21251
21261
|
category: At.BEAT_INTERACTION,
|
|
21252
21262
|
label: ir(t),
|
|
@@ -21257,7 +21267,7 @@ const tr = {
|
|
|
21257
21267
|
), l3 = () => Object.values(tr).reduce(
|
|
21258
21268
|
(A, t) => ({
|
|
21259
21269
|
...A,
|
|
21260
|
-
[
|
|
21270
|
+
[ZI(t)]: {
|
|
21261
21271
|
action: et.MICRO_BEAT_DISPLAYED_FIRST_TIME,
|
|
21262
21272
|
category: At.BEAT_INTERACTION,
|
|
21263
21273
|
label: ir(t),
|
|
@@ -21280,7 +21290,7 @@ const tr = {
|
|
|
21280
21290
|
ON_CAROUSEL_FORWARD_SWIPE: "onCarouselForwardSwipe",
|
|
21281
21291
|
ON_NO_RELEVANT_INSIGHTS_CLICKED: "onNoRelevantInsightsClicked",
|
|
21282
21292
|
ON_VIEW_MORE_CLICKED: "onViewMoreClicked"
|
|
21283
|
-
},
|
|
21293
|
+
}, JI = {
|
|
21284
21294
|
ON_VIEW_MORE_VIEWED: "onViewMoreCardView"
|
|
21285
21295
|
}, et = {
|
|
21286
21296
|
CONTROL_BACKWARD: "Control Backward",
|
|
@@ -21294,18 +21304,18 @@ const tr = {
|
|
|
21294
21304
|
MICRO_WIDGET_CAROUSEL: "Micro Widget Carousel",
|
|
21295
21305
|
MICRO_WIDGET_CAROUSEL_ZERO_STATE: "Micro Widget Carousel Zero State",
|
|
21296
21306
|
MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS: "Micro Widget Carousel No Relevant Insights"
|
|
21297
|
-
},
|
|
21307
|
+
}, Po = {
|
|
21298
21308
|
[at.MICRO_WIDGET_CAROUSEL]: {
|
|
21299
21309
|
label: $e.MICRO_WIDGET,
|
|
21300
21310
|
name: at.MICRO_WIDGET_CAROUSEL,
|
|
21301
|
-
path:
|
|
21311
|
+
path: uo.INSIGHTS_MICRO_WIDGET,
|
|
21302
21312
|
value: ye
|
|
21303
21313
|
},
|
|
21304
21314
|
// zero state
|
|
21305
21315
|
[at.MICRO_WIDGET_CAROUSEL_ZERO_STATE]: {
|
|
21306
21316
|
label: $e.MICRO_WIDGET,
|
|
21307
21317
|
name: at.MICRO_WIDGET_CAROUSEL_ZERO_STATE,
|
|
21308
|
-
path:
|
|
21318
|
+
path: uo.INSIGHTS_MICRO_WIDGET,
|
|
21309
21319
|
value: ye
|
|
21310
21320
|
},
|
|
21311
21321
|
// no relevant cards
|
|
@@ -21315,7 +21325,7 @@ const tr = {
|
|
|
21315
21325
|
path: "/micro-widget",
|
|
21316
21326
|
value: ye
|
|
21317
21327
|
}
|
|
21318
|
-
},
|
|
21328
|
+
}, bo = {
|
|
21319
21329
|
// carousel control interaction events - clicks and swipes
|
|
21320
21330
|
[xe.ON_CAROUSEL_BACK_CLICK]: {
|
|
21321
21331
|
action: et.CONTROL_BACKWARD,
|
|
@@ -21348,7 +21358,7 @@ const tr = {
|
|
|
21348
21358
|
label: $e.VIEW_MORE,
|
|
21349
21359
|
value: ye
|
|
21350
21360
|
},
|
|
21351
|
-
[
|
|
21361
|
+
[JI.ON_VIEW_MORE_VIEWED]: {
|
|
21352
21362
|
action: et.MICRO_BEAT_DISPLAYED,
|
|
21353
21363
|
category: At.BEAT_INTERACTION,
|
|
21354
21364
|
label: $e.VIEW_MORE,
|
|
@@ -21357,25 +21367,25 @@ const tr = {
|
|
|
21357
21367
|
...E3(),
|
|
21358
21368
|
...h3(),
|
|
21359
21369
|
...l3()
|
|
21360
|
-
},
|
|
21370
|
+
}, Ho = async (A, t) => !t || !bo[A] ? null : t.sendAnalyticEvent(bo[A]).then((i) => i).catch((i) => {
|
|
21361
21371
|
throw i;
|
|
21362
|
-
}),
|
|
21372
|
+
}), zo = async (A, t) => !t || !Po[A] ? null : t.sendAnalyticsPageview(Po[A]).then((i) => i).catch((i) => {
|
|
21363
21373
|
throw i;
|
|
21364
21374
|
});
|
|
21365
21375
|
class v3 {
|
|
21366
|
-
onAnalyticEvent =
|
|
21367
|
-
onAnalyticPageView =
|
|
21376
|
+
onAnalyticEvent = Ho;
|
|
21377
|
+
onAnalyticPageView = zo;
|
|
21368
21378
|
beatApi = new Lt("/", "");
|
|
21369
21379
|
constructor() {
|
|
21370
21380
|
DA(this);
|
|
21371
21381
|
}
|
|
21372
21382
|
initialize = async (t, i, n) => {
|
|
21373
21383
|
this.onAnalyticEvent = (r, o) => {
|
|
21374
|
-
|
|
21384
|
+
Ho(r, o).then((I) => I).catch((I) => {
|
|
21375
21385
|
throw I.status === 401 && n(), I;
|
|
21376
21386
|
});
|
|
21377
21387
|
}, this.onAnalyticPageView = (r, o) => {
|
|
21378
|
-
|
|
21388
|
+
zo(r, o).then((I) => I).catch((I) => {
|
|
21379
21389
|
throw I.status === 401 && n(), I;
|
|
21380
21390
|
});
|
|
21381
21391
|
}, this.beatApi = new Lt(t, i);
|
|
@@ -21398,7 +21408,7 @@ class R3 {
|
|
|
21398
21408
|
this.copyStore = new d3(), this.insightsMicroWidgetStore = new v3(), DA(this);
|
|
21399
21409
|
}
|
|
21400
21410
|
initialize = async (t, i, n) => {
|
|
21401
|
-
await this.copyStore.initialize(t, i), await this.insightsMicroWidgetStore.initialize(t, i, n), this.session = await
|
|
21411
|
+
await this.copyStore.initialize(t, i), await this.insightsMicroWidgetStore.initialize(t, i, n), this.session = await Ts(t, i, "1.0.0", "Micro Insights Carousel"), F(() => {
|
|
21402
21412
|
this.isInitialized = !0;
|
|
21403
21413
|
});
|
|
21404
21414
|
};
|
|
@@ -21503,7 +21513,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
21503
21513
|
}
|
|
21504
21514
|
),
|
|
21505
21515
|
/* @__PURE__ */ e(Ce, { sx: { p: 0 }, children: !c && m }),
|
|
21506
|
-
!!t && /* @__PURE__ */ e(
|
|
21516
|
+
!!t && /* @__PURE__ */ e(qs, { sx: { padding: 0 }, children: /* @__PURE__ */ e(
|
|
21507
21517
|
L,
|
|
21508
21518
|
{
|
|
21509
21519
|
sx: (j) => ({
|
|
@@ -21583,7 +21593,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
21583
21593
|
}, p3 = ({ beat: A }) => {
|
|
21584
21594
|
const t = KA(), i = X3(A.data_series, t);
|
|
21585
21595
|
return /* @__PURE__ */ e(q, { name: "bar_chart", sx: { color: i } });
|
|
21586
|
-
},
|
|
21596
|
+
}, _I = () => /* @__PURE__ */ s("svg", { fill: "none", height: "36", viewBox: "0 0 40 36", width: "40", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
21587
21597
|
/* @__PURE__ */ e(
|
|
21588
21598
|
"path",
|
|
21589
21599
|
{
|
|
@@ -22364,7 +22374,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22364
22374
|
}
|
|
22365
22375
|
)
|
|
22366
22376
|
] })
|
|
22367
|
-
] }),
|
|
22377
|
+
] }), Co = ({ beat: A, clientColorScheme: t, color: i, type: n }) => {
|
|
22368
22378
|
const r = RA(), o = t?.primary_300 ? t.primary_300 : r.palette.primary.main;
|
|
22369
22379
|
return n === 0 ? /* @__PURE__ */ e(q, { fill: !0, name: "error", sx: { color: i || o } }) : n === 1 && A ? /* @__PURE__ */ e(P3, { beat: A }) : n === 2 && A ? /* @__PURE__ */ e(z3, { beat: A }) : n === 3 && A ? /* @__PURE__ */ e(p3, { beat: A }) : n === 5 && A ? /* @__PURE__ */ e(q, { name: "campaign" }) : /* @__PURE__ */ e(
|
|
22370
22380
|
q,
|
|
@@ -22393,17 +22403,17 @@ const si = h.createContext(null), u3 = ({
|
|
|
22393
22403
|
if (!A)
|
|
22394
22404
|
throw new Error("useEvent() must be used within the InsightsMicroWidgetDataProvider");
|
|
22395
22405
|
return { onEvent: A.onEvent };
|
|
22396
|
-
},
|
|
22406
|
+
}, $I = () => {
|
|
22397
22407
|
const A = h.useContext(si);
|
|
22398
22408
|
if (!A)
|
|
22399
22409
|
throw new Error("usePageview() must be used within the InsightsMicroWidgetDataProvider");
|
|
22400
22410
|
return { onPageview: A.onPageview };
|
|
22401
|
-
},
|
|
22411
|
+
}, Aa = {
|
|
22402
22412
|
LARGE: 180,
|
|
22403
22413
|
STANDARD: 154,
|
|
22404
22414
|
XLARGE: 200,
|
|
22405
22415
|
XXLARGE: 248
|
|
22406
|
-
}, y3 = 50,
|
|
22416
|
+
}, y3 = 50, ea = 1, x3 = ({
|
|
22407
22417
|
ariaLabel: A,
|
|
22408
22418
|
backgroundColor: t,
|
|
22409
22419
|
beat: i,
|
|
@@ -22418,17 +22428,17 @@ const si = h.createContext(null), u3 = ({
|
|
|
22418
22428
|
variant: E,
|
|
22419
22429
|
widthOverrides: l
|
|
22420
22430
|
}) => {
|
|
22421
|
-
const { ref: v, inView: u } =
|
|
22422
|
-
threshold:
|
|
22431
|
+
const { ref: v, inView: u } = To({
|
|
22432
|
+
threshold: ea
|
|
22423
22433
|
}), { cardsCopy: H } = ut(), { onEvent: P } = ci(), { updateBeat: p, updateOffer: y } = w3();
|
|
22424
22434
|
Ht(() => {
|
|
22425
|
-
u && (i.has_been_displayed ? P(
|
|
22435
|
+
u && (i.has_been_displayed ? P(KI(i.template)) : (i.guid.startsWith("OFR") ? y({
|
|
22426
22436
|
...i,
|
|
22427
22437
|
has_been_displayed: !0
|
|
22428
22438
|
}) : p({
|
|
22429
22439
|
...i,
|
|
22430
22440
|
has_been_displayed: !0
|
|
22431
|
-
}), P(
|
|
22441
|
+
}), P(ZI(i.template))));
|
|
22432
22442
|
}, [u]), Ht(() => {
|
|
22433
22443
|
u && i && d?.capture("viewed_insight", {
|
|
22434
22444
|
beat_guid: i.guid,
|
|
@@ -22437,7 +22447,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22437
22447
|
});
|
|
22438
22448
|
}, [i, I, u]);
|
|
22439
22449
|
const x = () => {
|
|
22440
|
-
c && c(i), P(
|
|
22450
|
+
c && c(i), P(kI(i.template)), d?.capture("clicked_insight", {
|
|
22441
22451
|
beat_guid: i.guid,
|
|
22442
22452
|
template: i.template,
|
|
22443
22453
|
position: I
|
|
@@ -22452,8 +22462,8 @@ const si = h.createContext(null), u3 = ({
|
|
|
22452
22462
|
description: i?.html_micro_description && i?.html_micro_description.length > 0 ? i.html_micro_description : i.html_description,
|
|
22453
22463
|
fontColors: { buttonColor: n?.primary_300 },
|
|
22454
22464
|
heightOverrides: o,
|
|
22455
|
-
icon:
|
|
22456
|
-
|
|
22465
|
+
icon: Co && /* @__PURE__ */ e(
|
|
22466
|
+
Co,
|
|
22457
22467
|
{
|
|
22458
22468
|
beat: i,
|
|
22459
22469
|
clientColorScheme: n,
|
|
@@ -22491,7 +22501,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22491
22501
|
disabled: d,
|
|
22492
22502
|
onClick: r,
|
|
22493
22503
|
children: /* @__PURE__ */ e(
|
|
22494
|
-
|
|
22504
|
+
Gs,
|
|
22495
22505
|
{
|
|
22496
22506
|
style: {
|
|
22497
22507
|
color: d ? E : l
|
|
@@ -22713,7 +22723,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22713
22723
|
}
|
|
22714
22724
|
),
|
|
22715
22725
|
/* @__PURE__ */ s(
|
|
22716
|
-
|
|
22726
|
+
No,
|
|
22717
22727
|
{
|
|
22718
22728
|
onClick: I,
|
|
22719
22729
|
sx: {
|
|
@@ -22769,7 +22779,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22769
22779
|
children: i
|
|
22770
22780
|
}
|
|
22771
22781
|
);
|
|
22772
|
-
},
|
|
22782
|
+
}, ta = ({
|
|
22773
22783
|
ariaLabel: A,
|
|
22774
22784
|
carouselSize: t,
|
|
22775
22785
|
clientColorScheme: i,
|
|
@@ -22781,7 +22791,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22781
22791
|
variant: c,
|
|
22782
22792
|
widthOverrides: d
|
|
22783
22793
|
}) => {
|
|
22784
|
-
const { cardsCopy: f } = ut(), { onEvent: E } = ci(), { onPageview: l } =
|
|
22794
|
+
const { cardsCopy: f } = ut(), { onEvent: E } = ci(), { onPageview: l } = $I();
|
|
22785
22795
|
h.useEffect(() => {
|
|
22786
22796
|
l(at.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS);
|
|
22787
22797
|
}, []);
|
|
@@ -22798,7 +22808,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22798
22808
|
description: f.no_relevant_insights_card_description,
|
|
22799
22809
|
fontColors: { buttonColor: i?.primary_300 },
|
|
22800
22810
|
heightOverrides: n,
|
|
22801
|
-
icon: /* @__PURE__ */ e(
|
|
22811
|
+
icon: /* @__PURE__ */ e(_I, {}),
|
|
22802
22812
|
isZeroState: !0,
|
|
22803
22813
|
onCardClick: v,
|
|
22804
22814
|
posthog: o,
|
|
@@ -22806,7 +22816,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22806
22816
|
style: {
|
|
22807
22817
|
cardStyle: {
|
|
22808
22818
|
card: {
|
|
22809
|
-
height: `calc(${
|
|
22819
|
+
height: `calc(${Aa[t]}px - 44px)`,
|
|
22810
22820
|
margin: "0 auto",
|
|
22811
22821
|
width: a ? "calc(100% - 32px)" : "100%"
|
|
22812
22822
|
},
|
|
@@ -22823,7 +22833,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22823
22833
|
widthOverrides: d
|
|
22824
22834
|
}
|
|
22825
22835
|
);
|
|
22826
|
-
}, SP = C(
|
|
22836
|
+
}, SP = C(ta), ia = ({
|
|
22827
22837
|
ariaLabel: A,
|
|
22828
22838
|
carouselSize: t,
|
|
22829
22839
|
heightOverrides: i,
|
|
@@ -22834,7 +22844,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22834
22844
|
variant: a,
|
|
22835
22845
|
widthOverrides: c
|
|
22836
22846
|
}) => {
|
|
22837
|
-
const { onPageview: d } =
|
|
22847
|
+
const { onPageview: d } = $I(), { zeroStateCopy: f } = ut();
|
|
22838
22848
|
return h.useEffect(() => {
|
|
22839
22849
|
d(at.MICRO_WIDGET_CAROUSEL_ZERO_STATE);
|
|
22840
22850
|
}, []), /* @__PURE__ */ e(
|
|
@@ -22843,7 +22853,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22843
22853
|
ariaLabel: A,
|
|
22844
22854
|
description: f.carousel_zero_state_description,
|
|
22845
22855
|
heightOverrides: i,
|
|
22846
|
-
icon: /* @__PURE__ */ e(
|
|
22856
|
+
icon: /* @__PURE__ */ e(_I, {}),
|
|
22847
22857
|
isZeroState: !0,
|
|
22848
22858
|
onCardClick: n,
|
|
22849
22859
|
posthog: r,
|
|
@@ -22851,7 +22861,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22851
22861
|
style: {
|
|
22852
22862
|
cardStyle: {
|
|
22853
22863
|
card: {
|
|
22854
|
-
height: `calc(${
|
|
22864
|
+
height: `calc(${Aa[t]}px - 44px)`,
|
|
22855
22865
|
margin: "0 auto",
|
|
22856
22866
|
width: I ? "calc(100% - 32px)" : "100%"
|
|
22857
22867
|
},
|
|
@@ -22865,7 +22875,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22865
22875
|
widthOverrides: c
|
|
22866
22876
|
}
|
|
22867
22877
|
);
|
|
22868
|
-
}, UP = C(
|
|
22878
|
+
}, UP = C(ia), M3 = () => /* @__PURE__ */ e(
|
|
22869
22879
|
L,
|
|
22870
22880
|
{
|
|
22871
22881
|
sx: {
|
|
@@ -22905,7 +22915,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22905
22915
|
variant: x,
|
|
22906
22916
|
widthOverrides: w
|
|
22907
22917
|
}) => {
|
|
22908
|
-
const [D, m] = Fe("STANDARD"), [j, O] = Fe(!1), T =
|
|
22918
|
+
const [D, m] = Fe("STANDARD"), [j, O] = Fe(!1), T = ac([c], Je), tA = sc([d], Je);
|
|
22909
22919
|
h.useEffect(() => {
|
|
22910
22920
|
Je.isInitialized || Je.initialize(r, P, I);
|
|
22911
22921
|
}, [r, P, I, Je.isInitialized]), h.useEffect(() => {
|
|
@@ -22930,8 +22940,8 @@ const si = h.createContext(null), u3 = ({
|
|
|
22930
22940
|
};
|
|
22931
22941
|
return (
|
|
22932
22942
|
// The Theme provider must wrap the component so that the styles don't break when imported into other applications.
|
|
22933
|
-
/* @__PURE__ */ s(
|
|
22934
|
-
/* @__PURE__ */ e(
|
|
22943
|
+
/* @__PURE__ */ s(wa, { theme: ha(p ? "dark" : "light"), children: [
|
|
22944
|
+
/* @__PURE__ */ e(Ms, {}),
|
|
22935
22945
|
/* @__PURE__ */ e(u3, { onEvent: T, onPageview: tA, store: Je, children: /* @__PURE__ */ s(G3, { heightOverrides: o, widthOverrides: w, children: [
|
|
22936
22946
|
(A || !Je.isInitialized) && /* @__PURE__ */ e(M3, {}),
|
|
22937
22947
|
j && v && /* @__PURE__ */ e(
|
|
@@ -22953,8 +22963,8 @@ const si = h.createContext(null), u3 = ({
|
|
|
22953
22963
|
...Y
|
|
22954
22964
|
}
|
|
22955
22965
|
),
|
|
22956
|
-
j && !t.length && y && /* @__PURE__ */ e(
|
|
22957
|
-
j && !t.length && !y && /* @__PURE__ */ e(
|
|
22966
|
+
j && !t.length && y && /* @__PURE__ */ e(ta, { clientColorScheme: i, ...iA }),
|
|
22967
|
+
j && !t.length && !y && /* @__PURE__ */ e(ia, { ...iA })
|
|
22958
22968
|
] }) })
|
|
22959
22969
|
] })
|
|
22960
22970
|
);
|
|
@@ -22969,11 +22979,11 @@ const si = h.createContext(null), u3 = ({
|
|
|
22969
22979
|
variant: a,
|
|
22970
22980
|
widthOverrides: c
|
|
22971
22981
|
}) => {
|
|
22972
|
-
const d = KA(), { ref: f, inView: E } =
|
|
22973
|
-
threshold:
|
|
22982
|
+
const d = KA(), { ref: f, inView: E } = To({
|
|
22983
|
+
threshold: ea
|
|
22974
22984
|
}), { cardsCopy: l } = ut(), { onEvent: v } = ci();
|
|
22975
22985
|
Ht(() => {
|
|
22976
|
-
E && (v(
|
|
22986
|
+
E && (v(JI.ON_VIEW_MORE_VIEWED), o?.capture("viewed_insight", {
|
|
22977
22987
|
template: "view_more_card"
|
|
22978
22988
|
}));
|
|
22979
22989
|
}, [E]);
|
|
@@ -23027,7 +23037,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23027
23037
|
});
|
|
23028
23038
|
}
|
|
23029
23039
|
return i;
|
|
23030
|
-
}, []),
|
|
23040
|
+
}, []), na = (A, t) => {
|
|
23031
23041
|
const i = V3(A, t), n = i.filter((c) => c.guid !== g.INCOME && c.guid !== g.TRANSFER).sort((c, d) => d.amount - c.amount), r = n.reduce(
|
|
23032
23042
|
(c, d) => c + d.amount,
|
|
23033
23043
|
0
|
|
@@ -23064,7 +23074,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23064
23074
|
donutData: a,
|
|
23065
23075
|
totalAmount: r
|
|
23066
23076
|
};
|
|
23067
|
-
},
|
|
23077
|
+
}, ra = (A, t, i) => {
|
|
23068
23078
|
const n = A.filter(
|
|
23069
23079
|
(a) => a.parent_guid === g.INCOME
|
|
23070
23080
|
), r = t.filter((a) => n.some((c) => c.guid === a.category_guid)).sort((a, c) => a.total - c.total).map((a, c) => ({
|
|
@@ -23106,7 +23116,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23106
23116
|
), l = h.useMemo(() => A.donutData.length > 0 ? A.donutData : [{ id: "0", color: d.palette.border.light, value: 100 }], [A, d]), v = () => {
|
|
23107
23117
|
n?.(r);
|
|
23108
23118
|
}, u = f ? 32 : 48;
|
|
23109
|
-
return /* @__PURE__ */ e(
|
|
23119
|
+
return /* @__PURE__ */ e(xc, { data: l, onClick: i, selectedId: r, size: o, children: /* @__PURE__ */ e(b, { alignItems: "center", height: "100%", justifyContent: "center", width: "100%", children: /* @__PURE__ */ s(b, { alignItems: "center", justifyContent: "center", minHeight: o, minWidth: o, children: [
|
|
23110
23120
|
E && /* @__PURE__ */ s(
|
|
23111
23121
|
b,
|
|
23112
23122
|
{
|
|
@@ -23121,7 +23131,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23121
23131
|
{
|
|
23122
23132
|
categoryGuid: t ? g.INCOME : E.guid,
|
|
23123
23133
|
size: a === "mini" ? 24 : u,
|
|
23124
|
-
variant:
|
|
23134
|
+
variant: wo.Transparent
|
|
23125
23135
|
}
|
|
23126
23136
|
),
|
|
23127
23137
|
/* @__PURE__ */ e(R, { color: "secondary", noWrap: !0, variant: a === "mini" ? "Tiny" : "Body", children: E ? E.name : I })
|
|
@@ -23143,7 +23153,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23143
23153
|
}
|
|
23144
23154
|
)
|
|
23145
23155
|
] }) }) });
|
|
23146
|
-
}, wi = C(B3),
|
|
23156
|
+
}, wi = C(B3), go = ({ data: A, onSelected: t, selectedId: i }) => /* @__PURE__ */ e(b, { gap: 8, height: "100%", justifyContent: "center", my: "auto", children: A.categoryData.map((n) => /* @__PURE__ */ s(
|
|
23147
23157
|
b,
|
|
23148
23158
|
{
|
|
23149
23159
|
alignItems: "center",
|
|
@@ -23180,10 +23190,10 @@ const si = h.createContext(null), u3 = ({
|
|
|
23180
23190
|
).finally();
|
|
23181
23191
|
}, [i]);
|
|
23182
23192
|
const [a, c] = h.useState(""), [d, f] = h.useState(0), E = h.useMemo(
|
|
23183
|
-
() =>
|
|
23193
|
+
() => na(r, o),
|
|
23184
23194
|
[r, o]
|
|
23185
23195
|
), l = h.useMemo(
|
|
23186
|
-
() =>
|
|
23196
|
+
() => ra(r, o, n),
|
|
23187
23197
|
[r, o, n]
|
|
23188
23198
|
), v = (H, P) => {
|
|
23189
23199
|
f(P), c("");
|
|
@@ -23228,7 +23238,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23228
23238
|
}
|
|
23229
23239
|
),
|
|
23230
23240
|
/* @__PURE__ */ e(
|
|
23231
|
-
|
|
23241
|
+
go,
|
|
23232
23242
|
{
|
|
23233
23243
|
data: E,
|
|
23234
23244
|
onSelected: u,
|
|
@@ -23247,7 +23257,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23247
23257
|
totalLabel: t.total_income
|
|
23248
23258
|
}
|
|
23249
23259
|
),
|
|
23250
|
-
/* @__PURE__ */ e(
|
|
23260
|
+
/* @__PURE__ */ e(go, { data: l, onSelected: u, selectedId: a })
|
|
23251
23261
|
] }) })
|
|
23252
23262
|
] });
|
|
23253
23263
|
}, U3 = C(S3), F3 = ({ onPrimaryCtaClick: A, sx: t = {} }) => {
|
|
@@ -23392,7 +23402,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23392
23402
|
]
|
|
23393
23403
|
}
|
|
23394
23404
|
);
|
|
23395
|
-
},
|
|
23405
|
+
}, Xo = C(K3), Z3 = (A) => [
|
|
23396
23406
|
A.palette.chartMono.chartMono5,
|
|
23397
23407
|
A.palette.chartMono.chartMono4,
|
|
23398
23408
|
A.palette.chartMono.chartMono3,
|
|
@@ -23409,10 +23419,10 @@ const si = h.createContext(null), u3 = ({
|
|
|
23409
23419
|
).finally();
|
|
23410
23420
|
}, [I, o]);
|
|
23411
23421
|
const y = h.useMemo(
|
|
23412
|
-
() =>
|
|
23422
|
+
() => na(t, i),
|
|
23413
23423
|
[t, i]
|
|
23414
23424
|
), x = h.useMemo(
|
|
23415
|
-
() =>
|
|
23425
|
+
() => ra(t, i, Z3(A)),
|
|
23416
23426
|
[t, i]
|
|
23417
23427
|
), w = h.useMemo(
|
|
23418
23428
|
() => d.find((O) => O.guid === u),
|
|
@@ -23473,7 +23483,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23473
23483
|
)
|
|
23474
23484
|
] }),
|
|
23475
23485
|
l === 0 && /* @__PURE__ */ e(
|
|
23476
|
-
|
|
23486
|
+
Xo,
|
|
23477
23487
|
{
|
|
23478
23488
|
data: y,
|
|
23479
23489
|
onSelected: m,
|
|
@@ -23483,7 +23493,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23483
23493
|
}
|
|
23484
23494
|
),
|
|
23485
23495
|
l === 1 && /* @__PURE__ */ e(
|
|
23486
|
-
|
|
23496
|
+
Xo,
|
|
23487
23497
|
{
|
|
23488
23498
|
data: x,
|
|
23489
23499
|
onSelected: m,
|
|
@@ -23748,7 +23758,7 @@ const i7 = (A) => A.reduce((i, n) => {
|
|
|
23748
23758
|
}, [T, I]), oA = (bA, JA) => {
|
|
23749
23759
|
m(JA ?? D), n(V.TRENDS_CLICK_TOGGLE);
|
|
23750
23760
|
}, sA = (bA) => {
|
|
23751
|
-
const JA = Rr(bA?.[0], 1), Ke = bA?.[1], Yt =
|
|
23761
|
+
const JA = Rr(bA?.[0], 1), Ke = bA?.[1], Yt = Ns(Ke, JA);
|
|
23752
23762
|
tA({ start: JA, end: Ke }), n(V.TRENDS_CLICK_DATE, {
|
|
23753
23763
|
time_period: Yt + "M"
|
|
23754
23764
|
});
|
|
@@ -23810,7 +23820,7 @@ const i7 = (A) => A.reduce((i, n) => {
|
|
|
23810
23820
|
/* @__PURE__ */ e(R, { variant: r ? "Body" : "Small", children: iA })
|
|
23811
23821
|
] }),
|
|
23812
23822
|
/* @__PURE__ */ e(
|
|
23813
|
-
|
|
23823
|
+
Do,
|
|
23814
23824
|
{
|
|
23815
23825
|
exclusive: !0,
|
|
23816
23826
|
onChange: oA,
|
|
@@ -23860,7 +23870,7 @@ const i7 = (A) => A.reduce((i, n) => {
|
|
|
23860
23870
|
] }),
|
|
23861
23871
|
/* @__PURE__ */ s(L, { children: [
|
|
23862
23872
|
D === "Chart" && /* @__PURE__ */ e(
|
|
23863
|
-
|
|
23873
|
+
Yc,
|
|
23864
23874
|
{
|
|
23865
23875
|
onClickLegend: jA,
|
|
23866
23876
|
onHoverArea: fe,
|
|
@@ -23931,23 +23941,23 @@ const i7 = (A) => A.reduce((i, n) => {
|
|
|
23931
23941
|
}, ZP = C(u7);
|
|
23932
23942
|
export {
|
|
23933
23943
|
V as ANALYTICS_EVENTS,
|
|
23934
|
-
|
|
23935
|
-
|
|
23944
|
+
Eo as AccountApi,
|
|
23945
|
+
UI as AccountDetailsContent,
|
|
23936
23946
|
$n as AccountDetailsHeader,
|
|
23937
|
-
|
|
23938
|
-
|
|
23939
|
-
|
|
23947
|
+
_o as AccountFilter,
|
|
23948
|
+
Uo as AccountIcon,
|
|
23949
|
+
Ss as AccountIconVariants,
|
|
23940
23950
|
mR as AccountStore,
|
|
23941
|
-
|
|
23951
|
+
Vs as AccountSubType,
|
|
23942
23952
|
_ as AccountType,
|
|
23943
23953
|
On as AccountTypeName,
|
|
23944
23954
|
NP as AccountsMiniWidget,
|
|
23945
23955
|
MP as AccountsWidget,
|
|
23946
|
-
|
|
23956
|
+
wI as ActivitySettings,
|
|
23947
23957
|
SA as ActivityStatus,
|
|
23948
23958
|
TA as ActivityType,
|
|
23949
23959
|
Nd as AddAccountModal,
|
|
23950
|
-
|
|
23960
|
+
oc as AnalyticsApi,
|
|
23951
23961
|
Q as ApiEndpoints,
|
|
23952
23962
|
R3 as AppStore,
|
|
23953
23963
|
zr as BannerApi,
|
|
@@ -23957,10 +23967,10 @@ export {
|
|
|
23957
23967
|
hi as BottomActions,
|
|
23958
23968
|
YP as BubbleBudgetsMiniWidget,
|
|
23959
23969
|
VP as BubbleBudgetsWidget,
|
|
23960
|
-
|
|
23961
|
-
|
|
23970
|
+
gc as Calendar,
|
|
23971
|
+
$o as CalendarSelectionTypes,
|
|
23962
23972
|
q3 as CarouselHeader,
|
|
23963
|
-
|
|
23973
|
+
Ao as CashflowApi,
|
|
23964
23974
|
zP as CashflowMiniWidget,
|
|
23965
23975
|
eh as CashflowOnboarding,
|
|
23966
23976
|
nh as CashflowStore,
|
|
@@ -23969,13 +23979,13 @@ export {
|
|
|
23969
23979
|
st as CategoryColors,
|
|
23970
23980
|
qi as CategoryGuidToName,
|
|
23971
23981
|
g as CategoryGuids,
|
|
23972
|
-
|
|
23973
|
-
|
|
23982
|
+
Fs as CategoryIcon,
|
|
23983
|
+
dI as CategoryRow,
|
|
23974
23984
|
rd as CategorySelector,
|
|
23975
23985
|
Vi as CategorySelectorDrawer,
|
|
23976
23986
|
cd as CategoryStore,
|
|
23977
23987
|
C3 as ChartFilledIcon,
|
|
23978
|
-
|
|
23988
|
+
aI as ConnectCard,
|
|
23979
23989
|
Ii as ConnectDrawer,
|
|
23980
23990
|
TP as ConnectMiniWidget,
|
|
23981
23991
|
bt as ConnectionStatus,
|
|
@@ -23984,30 +23994,30 @@ export {
|
|
|
23984
23994
|
qe as CurrencyInput,
|
|
23985
23995
|
OA as CurrencyText,
|
|
23986
23996
|
AA as DATE_FORMATS_INTL,
|
|
23987
|
-
|
|
23988
|
-
|
|
23997
|
+
Fo as DEFAULT_DONUT_SIZE,
|
|
23998
|
+
Wo as DEFAULT_STROKE_WIDTH,
|
|
23989
23999
|
BP as Dashboard,
|
|
23990
24000
|
Cn as DashboardLocation,
|
|
23991
24001
|
zi as DataRow,
|
|
23992
24002
|
Dr as DateRangeSelector,
|
|
23993
|
-
|
|
24003
|
+
OI as DebtsChart,
|
|
23994
24004
|
ol as DebtsStore,
|
|
23995
24005
|
Zh as DebtsTable,
|
|
23996
24006
|
DP as DebtsWidget,
|
|
23997
24007
|
Wv as DeviceTab,
|
|
23998
24008
|
XA as Dialog,
|
|
23999
|
-
|
|
24009
|
+
xc as Donut,
|
|
24000
24010
|
IA as Drawer,
|
|
24001
|
-
|
|
24011
|
+
Bo as ErrorStatuses,
|
|
24002
24012
|
Pf as ExpenseStatus,
|
|
24003
24013
|
Ae as Fetch,
|
|
24004
24014
|
de as FieldType,
|
|
24005
24015
|
bi as GlobalCopyApi,
|
|
24006
|
-
|
|
24016
|
+
Jc as GlobalCopyStore,
|
|
24007
24017
|
gt as GlobalDataContext,
|
|
24008
24018
|
uP as GlobalDataProvider,
|
|
24009
24019
|
GP as GlobalStore,
|
|
24010
|
-
|
|
24020
|
+
to as GoalApi,
|
|
24011
24021
|
wl as GoalStore,
|
|
24012
24022
|
un as GoalType,
|
|
24013
24023
|
jP as GoalsWidget,
|
|
@@ -24019,11 +24029,11 @@ export {
|
|
|
24019
24029
|
Ci as InformationTooltip,
|
|
24020
24030
|
FP as InsightsMicroWidget,
|
|
24021
24031
|
u3 as InsightsMicroWidgetDataProvider,
|
|
24022
|
-
|
|
24032
|
+
ks as IterationItemTypes,
|
|
24023
24033
|
fP as LOADING_STATUS,
|
|
24024
24034
|
Mn as LineChart,
|
|
24025
24035
|
Ge as ListItemAction,
|
|
24026
|
-
|
|
24036
|
+
Zc as ListItemWrapper,
|
|
24027
24037
|
ee as Loader,
|
|
24028
24038
|
lP as LocalizedCopyApi,
|
|
24029
24039
|
Zn as ManageIncome,
|
|
@@ -24031,7 +24041,7 @@ export {
|
|
|
24031
24041
|
mP as MerchantLookup,
|
|
24032
24042
|
Ql as MerchantStore,
|
|
24033
24043
|
he as MetaType,
|
|
24034
|
-
|
|
24044
|
+
Vo as MfaStatuses,
|
|
24035
24045
|
O3 as MicroBeatCarousel,
|
|
24036
24046
|
ki as MicroInsightCard,
|
|
24037
24047
|
pt as MiniWidgetContainer,
|
|
@@ -24043,20 +24053,20 @@ export {
|
|
|
24043
24053
|
_l as NetWorthSummary,
|
|
24044
24054
|
OP as NetWorthWidget,
|
|
24045
24055
|
SP as NoRelevantInsightsCard,
|
|
24046
|
-
|
|
24056
|
+
So as NonConnectedStatuses,
|
|
24047
24057
|
Cr as NotificationApi,
|
|
24048
24058
|
QP as NotificationList,
|
|
24049
24059
|
iR as NotificationSettings,
|
|
24050
24060
|
o9 as NotificationStore,
|
|
24051
24061
|
LA as NotificationType,
|
|
24052
|
-
|
|
24062
|
+
Ys as ORDINAL_DATE_FORMAT,
|
|
24053
24063
|
IP as ORDINAL_MONTH_DAY_YEAR_FORMAT,
|
|
24054
24064
|
Qn as PAYMENT_ACCOUNT_TYPES,
|
|
24055
24065
|
ur as PaymentCategories,
|
|
24056
|
-
|
|
24057
|
-
|
|
24066
|
+
Ws as PlanTypes,
|
|
24067
|
+
Bs as ProcessingStatuses,
|
|
24058
24068
|
Vv as ProfileTab,
|
|
24059
|
-
|
|
24069
|
+
Yo as PropertyType,
|
|
24060
24070
|
sP as PropertyTypeName,
|
|
24061
24071
|
cP as RECURRENCE_COPY,
|
|
24062
24072
|
U as RecurrenceTypes,
|
|
@@ -24070,14 +24080,14 @@ export {
|
|
|
24070
24080
|
Hf as ScreenSize,
|
|
24071
24081
|
Ti as SearchBox,
|
|
24072
24082
|
Or as SelectionBox,
|
|
24073
|
-
|
|
24083
|
+
so as SettingsApi,
|
|
24074
24084
|
l9 as SettingsStore,
|
|
24075
24085
|
qP as SettingsWidget,
|
|
24076
|
-
|
|
24077
|
-
|
|
24086
|
+
oI as SingleSegmentDonut,
|
|
24087
|
+
Ks as Sizes,
|
|
24078
24088
|
WP as SpendingMiniWidget,
|
|
24079
24089
|
kP as SpendingWidget,
|
|
24080
|
-
|
|
24090
|
+
Yc as StackedLineChart,
|
|
24081
24091
|
ti as StatusBar,
|
|
24082
24092
|
aP as StatusName,
|
|
24083
24093
|
Bt as TOUCH_TARGET,
|
|
@@ -24105,39 +24115,39 @@ export {
|
|
|
24105
24115
|
Y3 as ViewMoreMicroCard,
|
|
24106
24116
|
pr as WidgetApi,
|
|
24107
24117
|
Le as WidgetContainer,
|
|
24108
|
-
|
|
24109
|
-
|
|
24118
|
+
AI as WidgetContainerContext,
|
|
24119
|
+
eI as WidgetContainerProvider,
|
|
24110
24120
|
UP as ZeroStateCard,
|
|
24111
|
-
|
|
24112
|
-
|
|
24121
|
+
_I as ZeroStateIcon,
|
|
24122
|
+
Ts as analyticsSession,
|
|
24113
24123
|
z as buildDynamicCopy,
|
|
24114
24124
|
hP as buildPluralCopy,
|
|
24115
|
-
|
|
24125
|
+
fI as exportTransactionsToCSV,
|
|
24116
24126
|
M as formatCurrency,
|
|
24117
24127
|
nA as formatDate,
|
|
24118
|
-
|
|
24128
|
+
ko as formatOrdinal,
|
|
24119
24129
|
Gi as formatPercentage,
|
|
24120
|
-
|
|
24121
|
-
|
|
24130
|
+
Zo as fromTimestampToMonthYear,
|
|
24131
|
+
xI as getAccountBalanceDetails,
|
|
24122
24132
|
LE as getAccountDetailFields,
|
|
24123
24133
|
br as getCategory,
|
|
24124
24134
|
dP as getCategoryTotalsByParent,
|
|
24125
|
-
|
|
24126
|
-
|
|
24127
|
-
|
|
24135
|
+
$s as getCurrencyCodes,
|
|
24136
|
+
Zs as getDetailedCategory,
|
|
24137
|
+
Js as getDetailedSubCategory,
|
|
24128
24138
|
ht as getLocale,
|
|
24129
24139
|
LP as getNotificationDetailRoute,
|
|
24130
24140
|
EP as isIncome,
|
|
24131
24141
|
hn as isValidNumber,
|
|
24132
24142
|
CA as useAccountStore,
|
|
24133
24143
|
Xe as useAccountUiStore,
|
|
24134
|
-
|
|
24144
|
+
tI as useAppConfig,
|
|
24135
24145
|
te as useBudgetsStore,
|
|
24136
24146
|
Nn as useCashflowStore,
|
|
24137
24147
|
qA as useCategoryStore,
|
|
24138
24148
|
ot as useCategoryUiStore,
|
|
24139
|
-
|
|
24140
|
-
|
|
24149
|
+
ac as useCombineEvents,
|
|
24150
|
+
sc as useCombinePageviews,
|
|
24141
24151
|
Ni as useDebtStore,
|
|
24142
24152
|
K as useEvent,
|
|
24143
24153
|
oR as useGetMergeableAccounts,
|
|
@@ -24146,9 +24156,9 @@ export {
|
|
|
24146
24156
|
pA as useGlobalUiStore,
|
|
24147
24157
|
FA as useGoalStore,
|
|
24148
24158
|
Tn as useHelpStore,
|
|
24149
|
-
|
|
24150
|
-
|
|
24151
|
-
|
|
24159
|
+
Lc as useMerchantStore,
|
|
24160
|
+
Qc as useNetWorthStore,
|
|
24161
|
+
nI as useNotificationStore,
|
|
24152
24162
|
PP as usePageView,
|
|
24153
24163
|
vP as usePrevious,
|
|
24154
24164
|
ZA as useRecurringActivityStore,
|