@mx-cartographer/experiences 5.3.1-alpha.mega16 → 5.3.1-alpha.mega18
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 P 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((b) => !!b);
|
|
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, b = 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), b = 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), j = (O) => c === void 0 || O === c ? i : `${i}80`, m = () => /* @__PURE__ */ e(
|
|
1628
1628
|
yr,
|
|
1629
1629
|
{
|
|
1630
1630
|
averageLineHeight: D,
|
|
@@ -1661,9 +1661,9 @@ const Ic = (A, t) => {
|
|
|
1661
1661
|
/* @__PURE__ */ e(m, {})
|
|
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 j = x[D], m =
|
|
1796
|
+
const j = x[D], m = ua({ start: j, end: We(j, 6) }), O = [];
|
|
1797
1797
|
for (let T = 0; T < m.length; T++)
|
|
1798
1798
|
O.push(m[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, j) => /* @__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
|
j
|
|
1839
1839
|
)) }, `w-${w}`)),
|
|
1840
1840
|
/* @__PURE__ */ e("div", { className: "mx-cmn-calendar-today-container", children: /* @__PURE__ */ e($, { onClick: b, 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: (j) => /* @__PURE__ */ e(
|
|
2080
|
+
line: (j) => /* @__PURE__ */ e(jc, { ...j, 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: (j) => /* @__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: (j) => Number(j.value) > 0 ? `$${j.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(P, { 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: m,
|
|
@@ -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
|
...b
|
|
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
|
...b,
|
|
2679
2679
|
children: /* @__PURE__ */ s(P, { 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: b } = K(), { isDesktop: p, isLargeDesktop: y, isMobile: x, isTablet: w } = zA(), { displayedDateRange: D, selectedAccountGuids: j, setSelectedAccountGuids: m } = pA(), { common: O } = X(), T = () => {
|
|
3157
3157
|
c && (c(), b(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, b = KA(), p =
|
|
3386
|
+
const [l, v] = h.useState(""), { common: u } = X(), H = r || u.currency_input, b = KA(), p = kc(b), y = /^[0-9]*$/, x = /^(\d)*(\,)?([0-9]{1,2})?$/, w = /^(\d)*(\.)?([0-9]{1,2})?$/;
|
|
3387
3387
|
let D;
|
|
3388
|
-
const j = h.useRef(
|
|
3388
|
+
const j = 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])
|
|
@@ -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,
|
|
@@ -4909,6 +4910,16 @@ class Cf {
|
|
|
4909
4910
|
this.transactions
|
|
4910
4911
|
);
|
|
4911
4912
|
}
|
|
4913
|
+
get sortedAllTxns() {
|
|
4914
|
+
return Nr(
|
|
4915
|
+
this.filter,
|
|
4916
|
+
this.uiStore.expandedSplits,
|
|
4917
|
+
this.sortColumn,
|
|
4918
|
+
this.sortDirection,
|
|
4919
|
+
this.tags,
|
|
4920
|
+
this.allTxns
|
|
4921
|
+
);
|
|
4922
|
+
}
|
|
4912
4923
|
addTag = async (t) => {
|
|
4913
4924
|
await this.api.addTag({ name: t }), await this.loadTags();
|
|
4914
4925
|
};
|
|
@@ -4938,7 +4949,7 @@ class Cf {
|
|
|
4938
4949
|
() => this.transactions = this.augmentTransactions([i, ...this.transactions])
|
|
4939
4950
|
);
|
|
4940
4951
|
};
|
|
4941
|
-
augmentTransactions = (t) =>
|
|
4952
|
+
augmentTransactions = (t) => Ef(
|
|
4942
4953
|
t,
|
|
4943
4954
|
this.globalStore.accountStore.accounts,
|
|
4944
4955
|
this.globalStore.categoryStore.categories,
|
|
@@ -4968,7 +4979,9 @@ class Cf {
|
|
|
4968
4979
|
gA(i)
|
|
4969
4980
|
);
|
|
4970
4981
|
F(() => {
|
|
4971
|
-
this.transactions = this.augmentTransactions(n)
|
|
4982
|
+
this.allTxns = this.augmentTransactions(n), this.transactions = this.augmentTransactions(n).filter(
|
|
4983
|
+
(r) => !r.accountIsClosed
|
|
4984
|
+
);
|
|
4972
4985
|
});
|
|
4973
4986
|
} catch (n) {
|
|
4974
4987
|
console.error(`Error occurred while loading transactions: ${n}`);
|
|
@@ -5067,7 +5080,7 @@ const Pe = () => {
|
|
|
5067
5080
|
if (!h.useContext(gt))
|
|
5068
5081
|
throw new Error("useTransactionsUiStore() must be used within the GlobalDataContext");
|
|
5069
5082
|
return PA().uiStore;
|
|
5070
|
-
},
|
|
5083
|
+
}, fI = (A, t) => {
|
|
5071
5084
|
const i = Xf(gf(A, t)), n = encodeURIComponent(i), r = document.createElement("a");
|
|
5072
5085
|
r.href = `data:attachment/csv;charset=utf-8,${n}`, r.download = "transactions.csv", document.body.appendChild(r), r.click(), document.body.removeChild(r);
|
|
5073
5086
|
}, gf = (A, t) => A.map((i) => ({
|
|
@@ -5092,7 +5105,7 @@ const Pe = () => {
|
|
|
5092
5105
|
}, wf = (A, t) => A.tags.map((i) => t.filter((r) => r.guid === i)[0]?.name ?? "").join(" "), yf = ({ transaction: A, onClick: t }) => {
|
|
5093
5106
|
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
5107
|
return /* @__PURE__ */ s(
|
|
5095
|
-
|
|
5108
|
+
Zc,
|
|
5096
5109
|
{
|
|
5097
5110
|
clickEventName: S.ON_TRANSACTION_LIST_ITEM_CLICK,
|
|
5098
5111
|
onClick: t ? () => t(A.guid) : void 0,
|
|
@@ -5147,17 +5160,17 @@ const Pe = () => {
|
|
|
5147
5160
|
}) => /* @__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
5161
|
const i = KA(), { transactions: n } = X();
|
|
5149
5162
|
return /* @__PURE__ */ s(P, { alignItems: "center", gap: i.Spacing.Small, height: "auto", mt: i.Spacing.Large, children: [
|
|
5150
|
-
A && /* @__PURE__ */ e(
|
|
5163
|
+
A && /* @__PURE__ */ e(Hs, { color: "secondary", sx: { fontSize: 32 } }),
|
|
5151
5164
|
/* @__PURE__ */ e(R, { bold: !0, color: "secondary", variant: "Small", children: n.zero_state_no_transactions }),
|
|
5152
5165
|
t && /* @__PURE__ */ e(R, { color: "secondary", variant: "XSmall", children: n.zero_state_there_are_no_transactions })
|
|
5153
5166
|
] });
|
|
5154
|
-
}, Df = C(xf),
|
|
5167
|
+
}, Df = C(xf), Tr = (A, t) => {
|
|
5155
5168
|
const i = yA(t[A].date), n = yA(t[A - 1]?.date);
|
|
5156
5169
|
return !Ee(i, n);
|
|
5157
5170
|
}, jf = (A, t) => {
|
|
5158
5171
|
const i = yA(t[A].date), n = yA(t[A + 1]?.date);
|
|
5159
5172
|
return Ee(i, n);
|
|
5160
|
-
},
|
|
5173
|
+
}, Yr = 65, Vr = 34, mf = ({
|
|
5161
5174
|
bgcolor: A,
|
|
5162
5175
|
height: t = "calc(100dvh - 36px)",
|
|
5163
5176
|
loader: i = /* @__PURE__ */ e(ee, { label: "Loading", size: 40 }),
|
|
@@ -5168,9 +5181,10 @@ const Pe = () => {
|
|
|
5168
5181
|
width: a = "100%",
|
|
5169
5182
|
zeroState: c = /* @__PURE__ */ e(Df, {})
|
|
5170
5183
|
}) => {
|
|
5171
|
-
const { isLoading: d, sortedTransactions: f } = PA(), E = h.useMemo(
|
|
5172
|
-
|
|
5173
|
-
|
|
5184
|
+
const { isLoading: d, sortedTransactions: f } = PA(), E = h.useMemo(
|
|
5185
|
+
() => r ? f : f.filter((y) => !y.accountIsClosed),
|
|
5186
|
+
[f, f]
|
|
5187
|
+
), { setShowInsights: l, toggleSplit: v } = Pe(), { onEvent: u } = K(), H = (y) => {
|
|
5174
5188
|
const x = E.find((w) => w.guid === y);
|
|
5175
5189
|
if (x?.has_been_split) {
|
|
5176
5190
|
v(x.guid);
|
|
@@ -5180,23 +5194,26 @@ const Pe = () => {
|
|
|
5180
5194
|
account_guid: x?.account_guid,
|
|
5181
5195
|
transaction_guid: y
|
|
5182
5196
|
}), n?.(y);
|
|
5183
|
-
}, b = h.useRef(null), p =
|
|
5197
|
+
}, b = h.useRef(null), p = Oo({
|
|
5184
5198
|
count: E.length,
|
|
5185
5199
|
getScrollElement: () => b.current,
|
|
5186
|
-
estimateSize: (y) =>
|
|
5200
|
+
estimateSize: (y) => Yr + (Tr(y, E) ? Vr : 0),
|
|
5187
5201
|
overscan: 5
|
|
5188
5202
|
});
|
|
5189
|
-
return h.useEffect(() => p.measure, [E
|
|
5203
|
+
return h.useEffect(() => p.measure, [E]), h.useEffect(() => l(o), [o]), /* @__PURE__ */ e(rA, { children: /* @__PURE__ */ e(L, { height: t, overflow: "auto", ref: b, width: a, children: /* @__PURE__ */ s(
|
|
5190
5204
|
L,
|
|
5191
5205
|
{
|
|
5192
|
-
height:
|
|
5206
|
+
height: (
|
|
5207
|
+
// set the height to auto when there are no transactions so the zero state isn't set to 0
|
|
5208
|
+
p.getVirtualItems().length === 0 ? "auto" : p.getTotalSize()
|
|
5209
|
+
),
|
|
5193
5210
|
position: "relative",
|
|
5194
5211
|
width: "100%",
|
|
5195
5212
|
children: [
|
|
5196
5213
|
(d || I) && i,
|
|
5197
5214
|
!d && !I && p.getVirtualItems().length === 0 && c,
|
|
5198
5215
|
!d && !I && p.getVirtualItems().length > 0 && p.getVirtualItems().map((y) => {
|
|
5199
|
-
const x = E[y.index], w =
|
|
5216
|
+
const x = E[y.index], w = Tr(y.index, E), D = jf(y.index, E), j = Yr + (w ? Vr : 0);
|
|
5200
5217
|
return /* @__PURE__ */ s(
|
|
5201
5218
|
L,
|
|
5202
5219
|
{
|
|
@@ -5424,7 +5441,7 @@ const Bf = ({
|
|
|
5424
5441
|
onPrimaryAction: () => {
|
|
5425
5442
|
c(!1), i(o);
|
|
5426
5443
|
},
|
|
5427
|
-
children: /* @__PURE__ */ e(
|
|
5444
|
+
children: /* @__PURE__ */ e(jo, { children: E ? /* @__PURE__ */ e(R, { children: f }) : /* @__PURE__ */ e(
|
|
5428
5445
|
dt,
|
|
5429
5446
|
{
|
|
5430
5447
|
"aria-label": r === "edit" ? a.edit_subcategory_aria : a.add_subcategory_aria,
|
|
@@ -5540,7 +5557,7 @@ const Bf = ({
|
|
|
5540
5557
|
}
|
|
5541
5558
|
),
|
|
5542
5559
|
I && b && /* @__PURE__ */ e(Oi, { fontSize: "small" }),
|
|
5543
|
-
!p && /* @__PURE__ */ e(
|
|
5560
|
+
!p && /* @__PURE__ */ e(ps, { label: c })
|
|
5544
5561
|
]
|
|
5545
5562
|
}
|
|
5546
5563
|
),
|
|
@@ -5552,7 +5569,7 @@ const Bf = ({
|
|
|
5552
5569
|
onClick: () => {
|
|
5553
5570
|
l(!0), o(!0), f(je.ON_SUBCATEGORY_EDIT_CLICK);
|
|
5554
5571
|
},
|
|
5555
|
-
children: /* @__PURE__ */ e(
|
|
5572
|
+
children: /* @__PURE__ */ e(ws, { color: "secondary" })
|
|
5556
5573
|
}
|
|
5557
5574
|
),
|
|
5558
5575
|
/* @__PURE__ */ e(
|
|
@@ -5644,7 +5661,7 @@ const Bf = ({
|
|
|
5644
5661
|
/* @__PURE__ */ e(G, { sx: { ml: 58 } }),
|
|
5645
5662
|
/* @__PURE__ */ e($f, { categories: t, parentCategory: A })
|
|
5646
5663
|
] });
|
|
5647
|
-
},
|
|
5664
|
+
}, dI = C(Ad), ed = () => {
|
|
5648
5665
|
const { categories: A } = qA(), { searchValue: t } = ot(), { categories: i } = X(), r = ((o, I = "") => o.reduce((a, c) => {
|
|
5649
5666
|
if (c.parent_guid === null) {
|
|
5650
5667
|
const f = [
|
|
@@ -5663,7 +5680,7 @@ const Bf = ({
|
|
|
5663
5680
|
return a;
|
|
5664
5681
|
}, []))(A, t);
|
|
5665
5682
|
return /* @__PURE__ */ e(De, { className: "mx-cat-category-list", sx: { boxShadow: "none" }, children: /* @__PURE__ */ e(rA, { children: r.map((o) => /* @__PURE__ */ e(
|
|
5666
|
-
|
|
5683
|
+
dI,
|
|
5667
5684
|
{
|
|
5668
5685
|
category: o.category,
|
|
5669
5686
|
subCategories: o.children
|
|
@@ -5729,22 +5746,22 @@ const Bf = ({
|
|
|
5729
5746
|
children: /* @__PURE__ */ e(rd, { ...r })
|
|
5730
5747
|
}
|
|
5731
5748
|
);
|
|
5732
|
-
}, Vi = C(od), Id = 3,
|
|
5733
|
-
(n) =>
|
|
5749
|
+
}, Vi = C(od), Id = 3, Br = 12, ad = (A, t, i) => A.filter((n) => !n.parent_guid).map(
|
|
5750
|
+
(n) => EI(
|
|
5734
5751
|
n,
|
|
5735
5752
|
t,
|
|
5736
5753
|
i,
|
|
5737
5754
|
A.filter((r) => r.parent_guid === n.guid)
|
|
5738
5755
|
)
|
|
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 =
|
|
5756
|
+
), EI = (A, t, i, n = []) => {
|
|
5757
|
+
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
5758
|
i.filter((l) => l.category_guid === r)
|
|
5742
|
-
), d =
|
|
5759
|
+
), d = Ur(
|
|
5743
5760
|
i.filter(
|
|
5744
5761
|
(l) => l.category_guid === r || l.top_level_category_guid === r
|
|
5745
5762
|
)
|
|
5746
5763
|
), f = n.map(
|
|
5747
|
-
(l) =>
|
|
5764
|
+
(l) => EI(l, t, i)
|
|
5748
5765
|
), E = f.reduce(
|
|
5749
5766
|
(l, v) => l + v.currentAmount,
|
|
5750
5767
|
a
|
|
@@ -5752,17 +5769,17 @@ const Bf = ({
|
|
|
5752
5769
|
return {
|
|
5753
5770
|
...A,
|
|
5754
5771
|
currentAmount: a,
|
|
5755
|
-
averageAmount:
|
|
5772
|
+
averageAmount: Sr(c),
|
|
5756
5773
|
color: st[o],
|
|
5757
|
-
icon:
|
|
5774
|
+
icon: Fs[o],
|
|
5758
5775
|
isTransfer: o === g.TRANSFER,
|
|
5759
5776
|
monthlyAmounts: c,
|
|
5760
5777
|
subCategories: f,
|
|
5761
5778
|
totalAmount: I ? E : 0,
|
|
5762
|
-
totalAverageAmount:
|
|
5779
|
+
totalAverageAmount: Sr(d),
|
|
5763
5780
|
totalMonthlyAmounts: I ? d : []
|
|
5764
5781
|
};
|
|
5765
|
-
},
|
|
5782
|
+
}, Sr = (A, t = Id) => {
|
|
5766
5783
|
const i = t > history.length ? history.length : t;
|
|
5767
5784
|
return Math.ceil(
|
|
5768
5785
|
Math.max(
|
|
@@ -5770,10 +5787,10 @@ const Bf = ({
|
|
|
5770
5787
|
A.slice(-i).reduce((n, r) => n + r.amount, 0) / i
|
|
5771
5788
|
)
|
|
5772
5789
|
);
|
|
5773
|
-
},
|
|
5790
|
+
}, Ur = (A) => {
|
|
5774
5791
|
const t = [], i = fA();
|
|
5775
|
-
for (let n = 0; n <=
|
|
5776
|
-
const r = QA(Ne(i,
|
|
5792
|
+
for (let n = 0; n <= Br; n++) {
|
|
5793
|
+
const r = QA(Ne(i, Br - n)), I = A.filter(
|
|
5777
5794
|
(a) => a.year_month === Number(le(r, "yyyyMM"))
|
|
5778
5795
|
).reduce((a, c) => a + c.total, 0);
|
|
5779
5796
|
t.push({
|
|
@@ -5925,7 +5942,7 @@ class cd {
|
|
|
5925
5942
|
// TODO: Remove this after refactoring Trends components to use detailedCategories
|
|
5926
5943
|
getCategoryName = (t) => this.categories.find((n) => n.guid === t)?.name ?? qi[t];
|
|
5927
5944
|
}
|
|
5928
|
-
const
|
|
5945
|
+
const hI = ({ transaction: A }) => {
|
|
5929
5946
|
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 (b) => {
|
|
5930
5947
|
await i({ ...A, category_guid: f }), b && await t(f, A), E(""), r(V.TRANSACTION_DETAILS_CLICK_CATEGORY, {
|
|
5931
5948
|
transaction_guid: A.guid
|
|
@@ -5962,7 +5979,7 @@ const EI = ({ transaction: A }) => {
|
|
|
5962
5979
|
categoryGuid: A.top_level_category_guid,
|
|
5963
5980
|
size: 24,
|
|
5964
5981
|
sx: { color: "text.primary" },
|
|
5965
|
-
variant:
|
|
5982
|
+
variant: wo.Transparent
|
|
5966
5983
|
}
|
|
5967
5984
|
) }) }),
|
|
5968
5985
|
/* @__PURE__ */ e(
|
|
@@ -6010,7 +6027,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6010
6027
|
}
|
|
6011
6028
|
)
|
|
6012
6029
|
] });
|
|
6013
|
-
},
|
|
6030
|
+
}, lI = ({ transaction: A }) => {
|
|
6014
6031
|
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
6032
|
f(gA(v));
|
|
6016
6033
|
}, l = async () => {
|
|
@@ -6052,7 +6069,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6052
6069
|
secondaryText: o.cancel_button,
|
|
6053
6070
|
title: I.date_edit_title,
|
|
6054
6071
|
children: /* @__PURE__ */ e(P, { alignItems: "center", mt: t.Spacing.XXLarge, children: /* @__PURE__ */ e(
|
|
6055
|
-
|
|
6072
|
+
gc,
|
|
6056
6073
|
{
|
|
6057
6074
|
beginDate: yA(d),
|
|
6058
6075
|
copy: {
|
|
@@ -6061,7 +6078,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6061
6078
|
today: o.date_range_picker.today
|
|
6062
6079
|
},
|
|
6063
6080
|
onDateSelected: E,
|
|
6064
|
-
selectionType:
|
|
6081
|
+
selectionType: $o.Single
|
|
6065
6082
|
}
|
|
6066
6083
|
) })
|
|
6067
6084
|
}
|
|
@@ -6217,7 +6234,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6217
6234
|
}
|
|
6218
6235
|
)
|
|
6219
6236
|
] });
|
|
6220
|
-
}, vd = C(ld),
|
|
6237
|
+
}, vd = C(ld), vI = ({ transaction: A }) => {
|
|
6221
6238
|
const { amount: t, description: i, isIncome: n, merchant_guid: r, payee: o, top_level_category_guid: I } = A;
|
|
6222
6239
|
return /* @__PURE__ */ s(P, { className: "mx-txn-amount-header", direction: "row", gap: 12, px: 16, py: 24, children: [
|
|
6223
6240
|
/* @__PURE__ */ e(
|
|
@@ -6286,7 +6303,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6286
6303
|
onPrimaryAction: f,
|
|
6287
6304
|
title: o.memo_title,
|
|
6288
6305
|
children: [
|
|
6289
|
-
/* @__PURE__ */ e(
|
|
6306
|
+
/* @__PURE__ */ e(vI, { transaction: A }),
|
|
6290
6307
|
/* @__PURE__ */ e(
|
|
6291
6308
|
$A,
|
|
6292
6309
|
{
|
|
@@ -6306,7 +6323,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6306
6323
|
}
|
|
6307
6324
|
)
|
|
6308
6325
|
] });
|
|
6309
|
-
},
|
|
6326
|
+
}, RI = C(Rd), ud = ({
|
|
6310
6327
|
index: A,
|
|
6311
6328
|
onDeleteRow: t,
|
|
6312
6329
|
onCategoryChanged: i,
|
|
@@ -6543,7 +6560,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6543
6560
|
secondaryText: r.cancel_button,
|
|
6544
6561
|
title: o.split_transaction_title,
|
|
6545
6562
|
children: [
|
|
6546
|
-
/* @__PURE__ */ e(
|
|
6563
|
+
/* @__PURE__ */ e(vI, { transaction: A }),
|
|
6547
6564
|
/* @__PURE__ */ e(
|
|
6548
6565
|
Hd,
|
|
6549
6566
|
{
|
|
@@ -6648,14 +6665,14 @@ const EI = ({ transaction: A }) => {
|
|
|
6648
6665
|
{
|
|
6649
6666
|
"aria-label": n.tags_cancel_search || "Search",
|
|
6650
6667
|
onClick: () => A(""),
|
|
6651
|
-
children: /* @__PURE__ */ e(
|
|
6668
|
+
children: /* @__PURE__ */ e(vs, {})
|
|
6652
6669
|
}
|
|
6653
6670
|
);
|
|
6654
6671
|
return /* @__PURE__ */ e(L, { className: "mx-txn-tag-manager-search", px: r.Spacing.Large, py: r.Spacing.Medium, children: /* @__PURE__ */ e(
|
|
6655
6672
|
dt,
|
|
6656
6673
|
{
|
|
6657
6674
|
InputProps: {
|
|
6658
|
-
startAdornment: /* @__PURE__ */ e(vi, { position: "start", children: /* @__PURE__ */ e(
|
|
6675
|
+
startAdornment: /* @__PURE__ */ e(vi, { position: "start", children: /* @__PURE__ */ e(Rs, { color: "disabled" }) }),
|
|
6659
6676
|
endAdornment: /* @__PURE__ */ e(vi, { position: "end", sx: { padding: 0 }, children: t ? o : null })
|
|
6660
6677
|
},
|
|
6661
6678
|
"aria-label": i.search_aria,
|
|
@@ -6693,7 +6710,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6693
6710
|
"aria-label": `Edit ${i.name} tag`,
|
|
6694
6711
|
color: "secondary",
|
|
6695
6712
|
onClick: y,
|
|
6696
|
-
children: /* @__PURE__ */ e(
|
|
6713
|
+
children: /* @__PURE__ */ e(us, { color: "secondary" })
|
|
6697
6714
|
}
|
|
6698
6715
|
),
|
|
6699
6716
|
/* @__PURE__ */ e(
|
|
@@ -6833,7 +6850,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6833
6850
|
}
|
|
6834
6851
|
)
|
|
6835
6852
|
] });
|
|
6836
|
-
},
|
|
6853
|
+
}, uI = C(md), Od = ({ transaction: A }) => {
|
|
6837
6854
|
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
6855
|
h.useEffect(() => {
|
|
6839
6856
|
o && (c(A.description), d?.current?.focus());
|
|
@@ -6843,7 +6860,7 @@ const EI = ({ transaction: A }) => {
|
|
|
6843
6860
|
transaction_guid: A.guid
|
|
6844
6861
|
}), await t({ ...A, description: a }), I(!1);
|
|
6845
6862
|
};
|
|
6846
|
-
return /* @__PURE__ */ e(L, { className: "mx-txn-transaction-description", children: o ? /* @__PURE__ */ s(
|
|
6863
|
+
return /* @__PURE__ */ e(L, { className: "mx-txn-transaction-description", children: o ? /* @__PURE__ */ s(Ps, { row: !0, children: [
|
|
6847
6864
|
/* @__PURE__ */ e(
|
|
6848
6865
|
$A,
|
|
6849
6866
|
{
|
|
@@ -6913,12 +6930,12 @@ const EI = ({ transaction: A }) => {
|
|
|
6913
6930
|
}
|
|
6914
6931
|
},
|
|
6915
6932
|
value: "flagged",
|
|
6916
|
-
children: /* @__PURE__ */ e(
|
|
6933
|
+
children: /* @__PURE__ */ e(bs, { color: "inherit" })
|
|
6917
6934
|
}
|
|
6918
6935
|
) });
|
|
6919
6936
|
}, qd = C(Qd), Gd = ({
|
|
6920
|
-
bottomActions: A =
|
|
6921
|
-
topActions: t =
|
|
6937
|
+
bottomActions: A = df,
|
|
6938
|
+
topActions: t = ff,
|
|
6922
6939
|
transaction: i
|
|
6923
6940
|
}) => {
|
|
6924
6941
|
const n = KA(), r = i?.number && i.number.length > 4, { onEvent: o } = K();
|
|
@@ -6959,10 +6976,10 @@ const EI = ({ transaction: A }) => {
|
|
|
6959
6976
|
)
|
|
6960
6977
|
] }),
|
|
6961
6978
|
/* @__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(
|
|
6979
|
+
I === Wt.Category && /* @__PURE__ */ e(hI, { transaction: i }),
|
|
6980
|
+
I === Wt.Date && /* @__PURE__ */ e(lI, { transaction: i }),
|
|
6981
|
+
I === Wt.Memo && /* @__PURE__ */ e(RI, { transaction: i }),
|
|
6982
|
+
I === Wt.Tags && /* @__PURE__ */ e(uI, { transaction: i }),
|
|
6966
6983
|
/* @__PURE__ */ e(G, { variant: a < t.length - 1 ? "inset" : "fullWidth" })
|
|
6967
6984
|
] }, I)) }) }),
|
|
6968
6985
|
/* @__PURE__ */ e(R, { bold: !0, mb: 8, ml: 26, mt: 16, variant: "Body", children: "Actions" }),
|
|
@@ -7037,7 +7054,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7037
7054
|
sx: { bgcolor: "background.paper" }
|
|
7038
7055
|
}
|
|
7039
7056
|
),
|
|
7040
|
-
/* @__PURE__ */ e(
|
|
7057
|
+
/* @__PURE__ */ e(ls, { name: "TransactionType", onChange: v, row: !0, children: /* @__PURE__ */ s(P, { alignItems: "center", direction: "row", children: [
|
|
7041
7058
|
/* @__PURE__ */ e(
|
|
7042
7059
|
Or,
|
|
7043
7060
|
{
|
|
@@ -7087,10 +7104,10 @@ const EI = ({ transaction: A }) => {
|
|
|
7087
7104
|
] }),
|
|
7088
7105
|
/* @__PURE__ */ e(G, { light: !0 }),
|
|
7089
7106
|
/* @__PURE__ */ s(L, { bgcolor: "background.paper", children: [
|
|
7090
|
-
/* @__PURE__ */ e(EI, { transaction: n }),
|
|
7091
7107
|
/* @__PURE__ */ e(hI, { transaction: n }),
|
|
7092
|
-
/* @__PURE__ */ e(
|
|
7093
|
-
/* @__PURE__ */ e(RI, { transaction: n })
|
|
7108
|
+
/* @__PURE__ */ e(lI, { transaction: n }),
|
|
7109
|
+
/* @__PURE__ */ e(RI, { transaction: n }),
|
|
7110
|
+
/* @__PURE__ */ e(uI, { transaction: n })
|
|
7094
7111
|
] })
|
|
7095
7112
|
] });
|
|
7096
7113
|
}, Yd = C(Td), Vd = ({ onClose: A, transaction: t }) => {
|
|
@@ -7134,7 +7151,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7134
7151
|
}
|
|
7135
7152
|
)
|
|
7136
7153
|
] });
|
|
7137
|
-
}, Bd = C(Vd),
|
|
7154
|
+
}, Bd = C(Vd), Fr = 120, Sd = ({
|
|
7138
7155
|
onBackClick: A,
|
|
7139
7156
|
height: t = "100dvh",
|
|
7140
7157
|
showInsights: i = !1,
|
|
@@ -7169,7 +7186,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7169
7186
|
const kA = QA(fA()), nr = BA(fA());
|
|
7170
7187
|
iA(kA, nr), b({
|
|
7171
7188
|
dateRange: { start: kA, end: nr },
|
|
7172
|
-
accounts: Y.map((
|
|
7189
|
+
accounts: Y.map((oa) => oa.guid)
|
|
7173
7190
|
}), Ke(!0), m(V.TRANSACTIONS_VIEW);
|
|
7174
7191
|
}, []), h.useEffect(() => {
|
|
7175
7192
|
JA && (b({
|
|
@@ -7191,10 +7208,10 @@ const EI = ({ transaction: A }) => {
|
|
|
7191
7208
|
searchTerm: kA
|
|
7192
7209
|
}), m(V.TRANSACTIONS_CLICK_SEARCH, { search_term: kA });
|
|
7193
7210
|
}, Ki = () => {
|
|
7194
|
-
|
|
7211
|
+
fI(y, p), m(V.TRANSACTIONS_CLICK_EXPORT);
|
|
7195
7212
|
}, Zi = () => {
|
|
7196
7213
|
Yt.length > 0 ? (l({
|
|
7197
|
-
...
|
|
7214
|
+
...cI,
|
|
7198
7215
|
date: gA(fA()),
|
|
7199
7216
|
user_guid: j?.user_guid || ""
|
|
7200
7217
|
}), uA(
|
|
@@ -7250,7 +7267,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7250
7267
|
children: /* @__PURE__ */ e(
|
|
7251
7268
|
Vf,
|
|
7252
7269
|
{
|
|
7253
|
-
height: `calc(${t} - ${
|
|
7270
|
+
height: `calc(${t} - ${Fr}px)`,
|
|
7254
7271
|
onCategoryClick: (kA) => {
|
|
7255
7272
|
jA(kA), uA(
|
|
7256
7273
|
"category"
|
|
@@ -7277,7 +7294,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7277
7294
|
children: /* @__PURE__ */ e(
|
|
7278
7295
|
Rt,
|
|
7279
7296
|
{
|
|
7280
|
-
height: `calc(${t} - ${
|
|
7297
|
+
height: `calc(${t} - ${Fr}px)`,
|
|
7281
7298
|
onClick: (kA) => {
|
|
7282
7299
|
jA(kA), uA(
|
|
7283
7300
|
"transaction"
|
|
@@ -7344,7 +7361,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7344
7361
|
]
|
|
7345
7362
|
}
|
|
7346
7363
|
);
|
|
7347
|
-
}, XP = C(Sd),
|
|
7364
|
+
}, XP = C(Sd), PI = (A, t) => {
|
|
7348
7365
|
const i = {
|
|
7349
7366
|
...t,
|
|
7350
7367
|
repeat_day: null,
|
|
@@ -7371,7 +7388,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7371
7388
|
break;
|
|
7372
7389
|
}
|
|
7373
7390
|
return i;
|
|
7374
|
-
},
|
|
7391
|
+
}, bI = (A, t) => ({
|
|
7375
7392
|
...t,
|
|
7376
7393
|
occurs_on: pn(A.expectedDate, { representation: "date" }),
|
|
7377
7394
|
recurrence_type: A.recurrenceType
|
|
@@ -7388,10 +7405,10 @@ const EI = ({ transaction: A }) => {
|
|
|
7388
7405
|
const H = { ...A, recurrenceType: u };
|
|
7389
7406
|
if (A.activityType === TA.Expense) {
|
|
7390
7407
|
const b = n.find((p) => p.guid === A.scheduledPaymentGuid);
|
|
7391
|
-
b && await o(
|
|
7408
|
+
b && await o(bI(H, b));
|
|
7392
7409
|
} else {
|
|
7393
7410
|
const b = i.find((p) => p.guid === A.sequenceGuid);
|
|
7394
|
-
b && await r(
|
|
7411
|
+
b && await r(PI(H, b));
|
|
7395
7412
|
}
|
|
7396
7413
|
c(!1);
|
|
7397
7414
|
}, l = () => {
|
|
@@ -7453,10 +7470,10 @@ const EI = ({ transaction: A }) => {
|
|
|
7453
7470
|
const u = { ...A, expectedDate: d };
|
|
7454
7471
|
if (A.activityType === TA.Expense) {
|
|
7455
7472
|
const H = n.find((b) => b.guid === A.scheduledPaymentGuid);
|
|
7456
|
-
H && await o(
|
|
7473
|
+
H && await o(bI(u, H));
|
|
7457
7474
|
} else {
|
|
7458
7475
|
const H = i.find((b) => b.guid === A.sequenceGuid);
|
|
7459
|
-
H && await r(
|
|
7476
|
+
H && await r(PI(u, H));
|
|
7460
7477
|
}
|
|
7461
7478
|
c(!1);
|
|
7462
7479
|
};
|
|
@@ -7606,8 +7623,8 @@ const EI = ({ transaction: A }) => {
|
|
|
7606
7623
|
gridRow: 1,
|
|
7607
7624
|
gridColumn: 1,
|
|
7608
7625
|
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 &&
|
|
7626
|
+
}, 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 }) => {
|
|
7627
|
+
let n = t && Go(t) ? z(A.monthly_ordinal, le(t, "do")) : A.monthly;
|
|
7611
7628
|
switch (i) {
|
|
7612
7629
|
case U.EveryQuarter:
|
|
7613
7630
|
n = t ? z(A.quarterly_ordinal, le(t, "do")) : A.quarterly;
|
|
@@ -7669,7 +7686,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7669
7686
|
}) => {
|
|
7670
7687
|
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
7688
|
let E = r.paid?.toLowerCase();
|
|
7672
|
-
return d ? E = r.missed?.toLowerCase() : f && (E =
|
|
7689
|
+
return d ? E = r.missed?.toLowerCase() : f && (E = Wr(n ? {
|
|
7673
7690
|
copy: r,
|
|
7674
7691
|
date: A.expectedDate,
|
|
7675
7692
|
type: A.recurrenceType
|
|
@@ -7760,7 +7777,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7760
7777
|
}
|
|
7761
7778
|
)
|
|
7762
7779
|
] });
|
|
7763
|
-
}, Xi = C($d),
|
|
7780
|
+
}, Xi = C($d), HI = (A, t, i) => {
|
|
7764
7781
|
const n = {
|
|
7765
7782
|
account_guid: A.account_guid,
|
|
7766
7783
|
amount: A.amount,
|
|
@@ -7794,7 +7811,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7794
7811
|
break;
|
|
7795
7812
|
}
|
|
7796
7813
|
return n;
|
|
7797
|
-
},
|
|
7814
|
+
}, zI = (A, t) => ({
|
|
7798
7815
|
amount: t.amount,
|
|
7799
7816
|
cashflow_sequence_guid: A.guid,
|
|
7800
7817
|
category_guid: t.category_guid,
|
|
@@ -7851,7 +7868,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7851
7868
|
),
|
|
7852
7869
|
/* @__PURE__ */ e(Rt, { bgcolor: A, height: "auto", onClick: n, showLoader: !1 })
|
|
7853
7870
|
] });
|
|
7854
|
-
},
|
|
7871
|
+
}, CI = C(eE), tE = ({
|
|
7855
7872
|
bgcolor: A = "background.default",
|
|
7856
7873
|
frequency: t,
|
|
7857
7874
|
isIncome: i,
|
|
@@ -7880,22 +7897,22 @@ const EI = ({ transaction: A }) => {
|
|
|
7880
7897
|
o(Gn(E));
|
|
7881
7898
|
break;
|
|
7882
7899
|
case U.EveryOtherWeek:
|
|
7883
|
-
o(
|
|
7900
|
+
o(tc(E));
|
|
7884
7901
|
break;
|
|
7885
7902
|
case U.EveryMonth:
|
|
7886
7903
|
o(Hr(E));
|
|
7887
7904
|
break;
|
|
7888
7905
|
case U.EveryOtherMonth:
|
|
7889
|
-
o(
|
|
7906
|
+
o(ic(E));
|
|
7890
7907
|
break;
|
|
7891
7908
|
case U.EveryQuarter:
|
|
7892
|
-
o(
|
|
7909
|
+
o(Ko(E));
|
|
7893
7910
|
break;
|
|
7894
7911
|
case U.EveryOtherQuarter:
|
|
7895
|
-
o(
|
|
7912
|
+
o(nc(E));
|
|
7896
7913
|
break;
|
|
7897
7914
|
case U.EveryYear:
|
|
7898
|
-
o(
|
|
7915
|
+
o(rc(E));
|
|
7899
7916
|
break;
|
|
7900
7917
|
}
|
|
7901
7918
|
r(Number(f.target.value));
|
|
@@ -7934,7 +7951,7 @@ const EI = ({ transaction: A }) => {
|
|
|
7934
7951
|
}
|
|
7935
7952
|
) })
|
|
7936
7953
|
] });
|
|
7937
|
-
},
|
|
7954
|
+
}, 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
7955
|
isIncome: A = !1,
|
|
7939
7956
|
label: t,
|
|
7940
7957
|
onAddActivity: i = () => null
|
|
@@ -7950,9 +7967,9 @@ const EI = ({ transaction: A }) => {
|
|
|
7950
7967
|
return;
|
|
7951
7968
|
}
|
|
7952
7969
|
if (A) {
|
|
7953
|
-
const j =
|
|
7970
|
+
const j = HI(y, u, b), m = await o(j);
|
|
7954
7971
|
if (m) {
|
|
7955
|
-
const O =
|
|
7972
|
+
const O = zI(m, y);
|
|
7956
7973
|
await r(O);
|
|
7957
7974
|
}
|
|
7958
7975
|
} else {
|
|
@@ -7980,13 +7997,13 @@ const EI = ({ transaction: A }) => {
|
|
|
7980
7997
|
onClose: () => E(!1),
|
|
7981
7998
|
title: t,
|
|
7982
7999
|
children: /* @__PURE__ */ e(
|
|
7983
|
-
|
|
8000
|
+
CI,
|
|
7984
8001
|
{
|
|
7985
8002
|
description: A ? n.add_income_description : n.add_expense_description,
|
|
7986
8003
|
onSearch: (j) => {
|
|
7987
8004
|
c({
|
|
7988
8005
|
...a,
|
|
7989
|
-
custom: (m) => A ? j ?
|
|
8006
|
+
custom: (m) => A ? j ? XI(m, j) : ii(m) : j ? iE(m, j) : Pn(m)
|
|
7990
8007
|
});
|
|
7991
8008
|
},
|
|
7992
8009
|
onSelected: (j) => v(j)
|
|
@@ -8003,7 +8020,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8003
8020
|
onPrimaryAction: w,
|
|
8004
8021
|
title: A ? n.income_details : n.expense_details,
|
|
8005
8022
|
children: y && /* @__PURE__ */ e(
|
|
8006
|
-
|
|
8023
|
+
gI,
|
|
8007
8024
|
{
|
|
8008
8025
|
frequency: u,
|
|
8009
8026
|
isIncome: A,
|
|
@@ -8016,14 +8033,14 @@ const EI = ({ transaction: A }) => {
|
|
|
8016
8033
|
}
|
|
8017
8034
|
)
|
|
8018
8035
|
] });
|
|
8019
|
-
},
|
|
8036
|
+
}, pI = C(nE), rE = (A, t, i) => t.map((n) => {
|
|
8020
8037
|
const r = i.find((I) => I.scheduled_payment_guid === n.guid), o = A.find((I) => I.guid === r?.account_guid);
|
|
8021
8038
|
return {
|
|
8022
8039
|
activityStatus: SA.Upcoming,
|
|
8023
8040
|
activityType: TA.Expense,
|
|
8024
8041
|
amount: n.amount,
|
|
8025
8042
|
categoryGuid: r?.category_guid,
|
|
8026
|
-
expectedDate:
|
|
8043
|
+
expectedDate: Lo(n.occurs_on),
|
|
8027
8044
|
name: n.description,
|
|
8028
8045
|
institution: o?.user_name,
|
|
8029
8046
|
institutionGuid: o?.institution_guid,
|
|
@@ -8045,7 +8062,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8045
8062
|
/* @__PURE__ */ e(Xi, { activity: c, onActivityClick: I, showOrdinal: !0 }),
|
|
8046
8063
|
/* @__PURE__ */ e(G, { variant: d < o.length - 1 ? "inset" : "fullWidth" })
|
|
8047
8064
|
] }, c.scheduledPaymentGuid)),
|
|
8048
|
-
/* @__PURE__ */ e(
|
|
8065
|
+
/* @__PURE__ */ e(pI, { label: A.add_expense, onAddActivity: a })
|
|
8049
8066
|
] });
|
|
8050
8067
|
}, IE = C(oE), bn = (A) => {
|
|
8051
8068
|
let t = A.user_name || A.feed_name || "";
|
|
@@ -8110,7 +8127,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8110
8127
|
}, sE = (A, t, i) => {
|
|
8111
8128
|
const n = [], r = i.find((v) => v.scheduled_payment_guid === t.guid);
|
|
8112
8129
|
if (!r) return [];
|
|
8113
|
-
const o = A.find((v) => v.guid === r?.account_guid), I =
|
|
8130
|
+
const o = A.find((v) => v.guid === r?.account_guid), I = Lo(t.occurs_on), a = {
|
|
8114
8131
|
accountGuid: o?.guid,
|
|
8115
8132
|
activityStatus: SA.Upcoming,
|
|
8116
8133
|
activityType: TA.Expense,
|
|
@@ -8246,7 +8263,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8246
8263
|
/* @__PURE__ */ e(Xi, { activity: f, onActivityClick: c, showOrdinal: !0 }),
|
|
8247
8264
|
/* @__PURE__ */ e(G, { variant: E < a.length - 1 ? "inset" : "fullWidth" })
|
|
8248
8265
|
] }, f.sequenceGuid)),
|
|
8249
|
-
/* @__PURE__ */ e(
|
|
8266
|
+
/* @__PURE__ */ e(pI, { isIncome: !0, label: A.add_income, onAddActivity: d })
|
|
8250
8267
|
] });
|
|
8251
8268
|
}, Zn = C(fE), dE = () => {
|
|
8252
8269
|
const [A, t] = h.useState(0), { onEvent: i } = K(), { recurring: n } = X();
|
|
@@ -8271,7 +8288,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8271
8288
|
A === 0 && /* @__PURE__ */ e(IE, {}),
|
|
8272
8289
|
A === 1 && /* @__PURE__ */ e(Zn, {})
|
|
8273
8290
|
] });
|
|
8274
|
-
},
|
|
8291
|
+
}, wI = C(dE), Ut = (A, t) => A + t.amount, An = (A) => A.activityType === TA.Income && mt(A.expectedDate, {
|
|
8275
8292
|
start: QA(fA()),
|
|
8276
8293
|
end: BA(fA())
|
|
8277
8294
|
}), di = (A) => A.activityType === TA.Expense && mt(A.expectedDate, {
|
|
@@ -8297,7 +8314,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8297
8314
|
(u) => u.activityType === TA.Expense && u.activityStatus === SA.Paid
|
|
8298
8315
|
), l = c.some((u) => u.activityType === TA.Income), v = (d ? 1 : 0) + (f ? 1 : 0) + (E ? 1 : 0) + (l ? 1 : 0);
|
|
8299
8316
|
return /* @__PURE__ */ e(
|
|
8300
|
-
|
|
8317
|
+
qo,
|
|
8301
8318
|
{
|
|
8302
8319
|
badgeContent: c.length > 0 && /* @__PURE__ */ s(Z, { children: [
|
|
8303
8320
|
f && /* @__PURE__ */ e(kn, { isOffset: !0 }),
|
|
@@ -8314,7 +8331,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8314
8331
|
}
|
|
8315
8332
|
},
|
|
8316
8333
|
children: /* @__PURE__ */ e(
|
|
8317
|
-
|
|
8334
|
+
zs,
|
|
8318
8335
|
{
|
|
8319
8336
|
"aria-label": `
|
|
8320
8337
|
${E && n.paid},
|
|
@@ -8358,11 +8375,11 @@ const EI = ({ transaction: A }) => {
|
|
|
8358
8375
|
]
|
|
8359
8376
|
}
|
|
8360
8377
|
);
|
|
8361
|
-
}, vE = C(lE),
|
|
8378
|
+
}, vE = C(lE), kr = 58, RE = () => {
|
|
8362
8379
|
const A = RA(), { onEvent: t } = K(), { selectedDay: i } = ZA(), [n, r] = h.useState(
|
|
8363
|
-
lr(/* @__PURE__ */ new Date()) * Bt +
|
|
8380
|
+
lr(/* @__PURE__ */ new Date()) * Bt + kr
|
|
8364
8381
|
), o = (a) => {
|
|
8365
|
-
r(lr(a) * Bt +
|
|
8382
|
+
r(lr(a) * Bt + kr), t(V.RECURRING_ACTIVITY_CLICK_CALENDAR_RIGHT);
|
|
8366
8383
|
}, I = /* @__PURE__ */ e(
|
|
8367
8384
|
mi,
|
|
8368
8385
|
{
|
|
@@ -8414,7 +8431,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8414
8431
|
!i && I,
|
|
8415
8432
|
/* @__PURE__ */ e(vE, {})
|
|
8416
8433
|
] }) });
|
|
8417
|
-
},
|
|
8434
|
+
}, yI = C(RE), uE = (A) => A.reduce((t, i) => {
|
|
8418
8435
|
const n = i.expectedDate.toISOString().split("T")[0], r = t.find(
|
|
8419
8436
|
(o) => o.expectedDate.toString() === i.expectedDate.toString()
|
|
8420
8437
|
);
|
|
@@ -8507,7 +8524,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8507
8524
|
] }),
|
|
8508
8525
|
/* @__PURE__ */ e(ti, { data: c })
|
|
8509
8526
|
] });
|
|
8510
|
-
},
|
|
8527
|
+
}, Kr = C(bE), HE = () => {
|
|
8511
8528
|
const { recurring: A } = X(), { isMobile: t, isSmallTablet: i } = zA(), {
|
|
8512
8529
|
activities: n,
|
|
8513
8530
|
missedActivities: r,
|
|
@@ -8530,7 +8547,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8530
8547
|
return /* @__PURE__ */ s(tt, { container: !0, pt: 16, px: 24, spacing: 24, children: [
|
|
8531
8548
|
/* @__PURE__ */ e(tt, { md: !0, sm: 12, children: /* @__PURE__ */ s(P, { gap: 24, children: [
|
|
8532
8549
|
/* @__PURE__ */ e(
|
|
8533
|
-
|
|
8550
|
+
Kr,
|
|
8534
8551
|
{
|
|
8535
8552
|
expected: b,
|
|
8536
8553
|
missed: y,
|
|
@@ -8540,7 +8557,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8540
8557
|
}
|
|
8541
8558
|
),
|
|
8542
8559
|
/* @__PURE__ */ e(
|
|
8543
|
-
|
|
8560
|
+
Kr,
|
|
8544
8561
|
{
|
|
8545
8562
|
expected: w,
|
|
8546
8563
|
paid: D,
|
|
@@ -8582,7 +8599,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8582
8599
|
] })
|
|
8583
8600
|
] }) }),
|
|
8584
8601
|
!i && !t && /* @__PURE__ */ e(tt, { sx: { minWidth: 450 }, xs: "auto", children: /* @__PURE__ */ s(P, { gap: 35, children: [
|
|
8585
|
-
/* @__PURE__ */ e(
|
|
8602
|
+
/* @__PURE__ */ e(yI, {}),
|
|
8586
8603
|
/* @__PURE__ */ e(
|
|
8587
8604
|
kt,
|
|
8588
8605
|
{
|
|
@@ -8639,7 +8656,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8639
8656
|
onClose: () => E(!1),
|
|
8640
8657
|
shouldShowHeaderBorders: !1,
|
|
8641
8658
|
title: n.settings,
|
|
8642
|
-
children: /* @__PURE__ */ e(
|
|
8659
|
+
children: /* @__PURE__ */ e(wI, {})
|
|
8643
8660
|
}
|
|
8644
8661
|
)
|
|
8645
8662
|
]
|
|
@@ -8653,7 +8670,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8653
8670
|
[t, o]
|
|
8654
8671
|
), { availableWidth: a } = Xt(), c = a < 750;
|
|
8655
8672
|
return /* @__PURE__ */ s(P, { flexDirection: c ? "column" : "row", width: "100%", children: [
|
|
8656
|
-
/* @__PURE__ */ e(
|
|
8673
|
+
/* @__PURE__ */ e(yI, {}),
|
|
8657
8674
|
!c && /* @__PURE__ */ e(G, { flexItem: !0, orientation: "vertical", sx: { my: 16, ml: 16 } }),
|
|
8658
8675
|
/* @__PURE__ */ e(
|
|
8659
8676
|
kt,
|
|
@@ -8692,7 +8709,7 @@ const EI = ({ transaction: A }) => {
|
|
|
8692
8709
|
class wE {
|
|
8693
8710
|
globalStore;
|
|
8694
8711
|
api = new gr("/", "");
|
|
8695
|
-
cashflowApi = new
|
|
8712
|
+
cashflowApi = new Ao("/", "");
|
|
8696
8713
|
cashflowSequences = [];
|
|
8697
8714
|
cashflowEvents = [];
|
|
8698
8715
|
projectedEvents = [];
|
|
@@ -8704,7 +8721,7 @@ class wE {
|
|
|
8704
8721
|
this.globalStore = t, DA(this);
|
|
8705
8722
|
}
|
|
8706
8723
|
initialize = async (t, i) => {
|
|
8707
|
-
this.api = new gr(t, i), this.cashflowApi = new
|
|
8724
|
+
this.api = new gr(t, i), this.cashflowApi = new Ao(t, i), this.loadActivity();
|
|
8708
8725
|
};
|
|
8709
8726
|
get activities() {
|
|
8710
8727
|
return this.isLoading ? [] : aE(
|
|
@@ -8917,7 +8934,7 @@ const yE = {
|
|
|
8917
8934
|
const n = Object.keys(_).filter((r) => Number(r)).map((r) => ({
|
|
8918
8935
|
label: t.account_types[r],
|
|
8919
8936
|
value: Number(r),
|
|
8920
|
-
icon: /* @__PURE__ */ e(q, { name:
|
|
8937
|
+
icon: /* @__PURE__ */ e(q, { name: Uo[r] })
|
|
8921
8938
|
}));
|
|
8922
8939
|
i.push({
|
|
8923
8940
|
label: t.account_type,
|
|
@@ -8929,10 +8946,10 @@ const yE = {
|
|
|
8929
8946
|
});
|
|
8930
8947
|
}
|
|
8931
8948
|
if (A.account_type === _.PROPERTY) {
|
|
8932
|
-
const n = Object.keys(
|
|
8949
|
+
const n = Object.keys(Yo).filter((r) => Number(r)).map((r) => ({
|
|
8933
8950
|
label: t.property_types[r],
|
|
8934
8951
|
value: Number(r),
|
|
8935
|
-
icon: /* @__PURE__ */ e(q, { name:
|
|
8952
|
+
icon: /* @__PURE__ */ e(q, { name: Us[r] })
|
|
8936
8953
|
}));
|
|
8937
8954
|
i.push({
|
|
8938
8955
|
label: t.property_type,
|
|
@@ -8976,7 +8993,7 @@ const yE = {
|
|
|
8976
8993
|
type: de.Date,
|
|
8977
8994
|
valueFormatter: (n) => z(
|
|
8978
8995
|
t.day_of_every_month,
|
|
8979
|
-
|
|
8996
|
+
ko(n <= 31 ? n : new Date(n).getDate())
|
|
8980
8997
|
)
|
|
8981
8998
|
})), jE(A) && i.push({
|
|
8982
8999
|
label: t.credit_limit,
|
|
@@ -8992,7 +9009,7 @@ const yE = {
|
|
|
8992
9009
|
type: de.Currency,
|
|
8993
9010
|
valueFormatter: (n) => M(n, "0,0.00")
|
|
8994
9011
|
}), i;
|
|
8995
|
-
},
|
|
9012
|
+
}, xI = (A, t) => {
|
|
8996
9013
|
let i = "", n = null, r = null, o = null, I = !1;
|
|
8997
9014
|
switch (A.account_type) {
|
|
8998
9015
|
case 1:
|
|
@@ -9023,7 +9040,7 @@ const yE = {
|
|
|
9023
9040
|
listItemProps: i,
|
|
9024
9041
|
shouldShowConnectionStatus: n = !1
|
|
9025
9042
|
}) => {
|
|
9026
|
-
const { accounts: r } = X(), { firstSubtitle: o, firstValue: I, secondSubtitle: a, secondValue: c } =
|
|
9043
|
+
const { accounts: r } = X(), { firstSubtitle: o, firstValue: I, secondSubtitle: a, secondValue: c } = xI(
|
|
9027
9044
|
A,
|
|
9028
9045
|
r
|
|
9029
9046
|
);
|
|
@@ -9031,7 +9048,7 @@ const yE = {
|
|
|
9031
9048
|
(A.connectionStatus === bt.Error || A.connectionStatus === bt.RequiresMfa) && (d = /* @__PURE__ */ e(xE, { size: 16 }));
|
|
9032
9049
|
const f = /* @__PURE__ */ s(Z, { children: [
|
|
9033
9050
|
/* @__PURE__ */ e(xA, { children: /* @__PURE__ */ e(
|
|
9034
|
-
|
|
9051
|
+
qo,
|
|
9035
9052
|
{
|
|
9036
9053
|
badgeContent: n ? d : void 0,
|
|
9037
9054
|
sx: {
|
|
@@ -9100,7 +9117,7 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9100
9117
|
)
|
|
9101
9118
|
] }),
|
|
9102
9119
|
/* @__PURE__ */ e(G, {})
|
|
9103
|
-
] }),
|
|
9120
|
+
] }), Zr = C(GE), ME = ({ total: A, type: t }) => {
|
|
9104
9121
|
const { cashflow: i } = X();
|
|
9105
9122
|
return /* @__PURE__ */ s(Z, { children: [
|
|
9106
9123
|
/* @__PURE__ */ s(
|
|
@@ -9126,7 +9143,7 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9126
9143
|
),
|
|
9127
9144
|
/* @__PURE__ */ e(G, {})
|
|
9128
9145
|
] });
|
|
9129
|
-
},
|
|
9146
|
+
}, 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
9147
|
const { availableWidth: A } = Xt(), { cashflow: t } = X(), { upcomingExpenses: i, upcomingIncome: n } = ZA(), { dateRange: r, selectedCashAccounts: o } = Nt();
|
|
9131
9148
|
return /* @__PURE__ */ s(P, { children: [
|
|
9132
9149
|
/* @__PURE__ */ s(P, { direction: A < 400 ? "column" : "row", justifyContent: "space-between", children: [
|
|
@@ -9139,8 +9156,8 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9139
9156
|
] })
|
|
9140
9157
|
] }),
|
|
9141
9158
|
/* @__PURE__ */ e(P, { children: o.map((I) => {
|
|
9142
|
-
const a = n.filter(
|
|
9143
|
-
|
|
9159
|
+
const a = n.filter(_r(I, r)).sort((E, l) => gA(E.expectedDate) - gA(l.expectedDate)), c = i.filter(
|
|
9160
|
+
_r(I, r)
|
|
9144
9161
|
), d = a.reduce(
|
|
9145
9162
|
(E, l) => E + l.amount,
|
|
9146
9163
|
0
|
|
@@ -9173,17 +9190,17 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9173
9190
|
a.length > 0 && /* @__PURE__ */ e(W, { children: /* @__PURE__ */ e(
|
|
9174
9191
|
rA,
|
|
9175
9192
|
{
|
|
9176
|
-
subheader: /* @__PURE__ */ e(
|
|
9193
|
+
subheader: /* @__PURE__ */ e(Jr, { total: d, type: ni.INCOME }),
|
|
9177
9194
|
sx: { width: "100%" },
|
|
9178
|
-
children: a.map((E) => /* @__PURE__ */ e(
|
|
9195
|
+
children: a.map((E) => /* @__PURE__ */ e(Zr, { activity: E }, E.sequenceGuid))
|
|
9179
9196
|
}
|
|
9180
9197
|
) }),
|
|
9181
9198
|
c.length > 0 && /* @__PURE__ */ e(W, { children: /* @__PURE__ */ e(
|
|
9182
9199
|
rA,
|
|
9183
9200
|
{
|
|
9184
|
-
subheader: /* @__PURE__ */ e(
|
|
9201
|
+
subheader: /* @__PURE__ */ e(Jr, { total: f, type: ni.EXPENSE }),
|
|
9185
9202
|
sx: { width: "100%" },
|
|
9186
|
-
children: c.map((E) => /* @__PURE__ */ e(
|
|
9203
|
+
children: c.map((E) => /* @__PURE__ */ e(Zr, { activity: E }, E.scheduledPaymentGuid))
|
|
9187
9204
|
}
|
|
9188
9205
|
) }),
|
|
9189
9206
|
/* @__PURE__ */ e(
|
|
@@ -9483,12 +9500,12 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9483
9500
|
t && /* @__PURE__ */ e(OA, { amount: A, component: "h2", symbol: r, variant: "Small" })
|
|
9484
9501
|
]
|
|
9485
9502
|
}
|
|
9486
|
-
),
|
|
9503
|
+
), $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
9504
|
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(
|
|
9505
|
+
() => r.filter($r(I, a)),
|
|
9489
9506
|
[a, I, r]
|
|
9490
9507
|
), E = h.useMemo(
|
|
9491
|
-
() => o.filter(
|
|
9508
|
+
() => o.filter($r(I, a)),
|
|
9492
9509
|
[a, I, o]
|
|
9493
9510
|
), l = h.useMemo(
|
|
9494
9511
|
() => c.reduce((y, x) => y + (x?.balance || 0), 0),
|
|
@@ -9676,7 +9693,7 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9676
9693
|
/* @__PURE__ */ e(it, { pb: 12, children: A.loading_title }),
|
|
9677
9694
|
/* @__PURE__ */ e(HA, { children: A.loading_description })
|
|
9678
9695
|
] });
|
|
9679
|
-
}, JE = C(ZE), _E = "data:image/png;base64,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", $E = Xa`
|
|
9696
|
+
}, JE = C(ZE), _E = "data:image/png;base64,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", $E = pa`
|
|
9680
9697
|
from {
|
|
9681
9698
|
transform: rotate(0deg);
|
|
9682
9699
|
}
|
|
@@ -9697,13 +9714,13 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9697
9714
|
if (!(m.length < 1)) {
|
|
9698
9715
|
y(!0);
|
|
9699
9716
|
for (let cA = 0; cA < m.length; cA++) {
|
|
9700
|
-
const jA = m[cA], WA =
|
|
9717
|
+
const jA = m[cA], WA = HI(
|
|
9701
9718
|
jA,
|
|
9702
9719
|
jA.frequency,
|
|
9703
9720
|
jA.nextDate
|
|
9704
9721
|
), fe = await t(WA);
|
|
9705
9722
|
if (fe) {
|
|
9706
|
-
const Ie =
|
|
9723
|
+
const Ie = zI(fe, jA);
|
|
9707
9724
|
await A(Ie);
|
|
9708
9725
|
}
|
|
9709
9726
|
}
|
|
@@ -9772,12 +9789,12 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9772
9789
|
] })
|
|
9773
9790
|
] }),
|
|
9774
9791
|
uA && /* @__PURE__ */ e(
|
|
9775
|
-
|
|
9792
|
+
CI,
|
|
9776
9793
|
{
|
|
9777
9794
|
bgcolor: "background.paper",
|
|
9778
9795
|
onSearch: (cA) => f({
|
|
9779
9796
|
...d,
|
|
9780
|
-
custom: (jA) => cA ?
|
|
9797
|
+
custom: (jA) => cA ? XI(jA, cA) : ii(jA)
|
|
9781
9798
|
}),
|
|
9782
9799
|
onSelected: (cA) => {
|
|
9783
9800
|
tA(cA), u(!1);
|
|
@@ -9787,7 +9804,7 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9787
9804
|
!iA && I && /* @__PURE__ */ e(HA, { color: "error", mt: 16, children: n.confirm_error }),
|
|
9788
9805
|
Y && /* @__PURE__ */ s(Z, { children: [
|
|
9789
9806
|
/* @__PURE__ */ e(
|
|
9790
|
-
|
|
9807
|
+
gI,
|
|
9791
9808
|
{
|
|
9792
9809
|
bgcolor: "background.paper",
|
|
9793
9810
|
frequency: H,
|
|
@@ -9902,7 +9919,7 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9902
9919
|
onClose: () => H(!1),
|
|
9903
9920
|
shouldShowHeaderBorders: !1,
|
|
9904
9921
|
title: v.cashflow_settings,
|
|
9905
|
-
children: /* @__PURE__ */ e(
|
|
9922
|
+
children: /* @__PURE__ */ e(wI, {})
|
|
9906
9923
|
}
|
|
9907
9924
|
)
|
|
9908
9925
|
]
|
|
@@ -9917,7 +9934,7 @@ const GE = ({ activity: A }) => /* @__PURE__ */ s(Z, { children: [
|
|
|
9917
9934
|
}
|
|
9918
9935
|
);
|
|
9919
9936
|
}, yP = C(th);
|
|
9920
|
-
class
|
|
9937
|
+
class Ao {
|
|
9921
9938
|
fetchInstance;
|
|
9922
9939
|
constructor(t, i) {
|
|
9923
9940
|
this.fetchInstance = new Ae(t, i);
|
|
@@ -9948,7 +9965,7 @@ let ih = class {
|
|
|
9948
9965
|
}
|
|
9949
9966
|
// Returns the number of days until the next income activity or 0 if there is no income activity
|
|
9950
9967
|
get daysUntilNextIncome() {
|
|
9951
|
-
return this.nextIncome ? Math.abs(
|
|
9968
|
+
return this.nextIncome ? Math.abs(rs(fA(), this.nextIncome.expectedDate)) : 0;
|
|
9952
9969
|
}
|
|
9953
9970
|
// Returns the expenses (Activities) until the next income activity or the end of the month
|
|
9954
9971
|
// if there is no income activity
|
|
@@ -9993,7 +10010,7 @@ class rh {
|
|
|
9993
10010
|
});
|
|
9994
10011
|
}
|
|
9995
10012
|
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
|
|
10013
|
+
const DI = (A, t) => {
|
|
9997
10014
|
const i = A.filter((r) => !r.is_paid_off && !r.is_impossible), n = A.filter((r) => r.is_paid_off || r.is_impossible);
|
|
9998
10015
|
switch (t) {
|
|
9999
10016
|
case Te.HIGHEST_INTEREST:
|
|
@@ -10014,7 +10031,7 @@ function oh(A, t, i = 0) {
|
|
|
10014
10031
|
const n = A.map((f) => ({ ...f })).filter(
|
|
10015
10032
|
(f) => f.interest_rate !== void 0 && f.monthly_payment !== void 0 && !f.is_paid_off
|
|
10016
10033
|
);
|
|
10017
|
-
|
|
10034
|
+
DI(n, t);
|
|
10018
10035
|
let r = 0, o = 0;
|
|
10019
10036
|
const I = /* @__PURE__ */ new Date(), a = /* @__PURE__ */ new Date();
|
|
10020
10037
|
for (; n.some((f) => f.balance >= 0.01 && !f.is_impossible); ) {
|
|
@@ -10033,11 +10050,11 @@ function oh(A, t, i = 0) {
|
|
|
10033
10050
|
}
|
|
10034
10051
|
f && a.setMonth(a.getMonth() + 1);
|
|
10035
10052
|
}
|
|
10036
|
-
const c = n.some((f) => f.is_impossible && f.balance > 0), d =
|
|
10053
|
+
const c = n.some((f) => f.is_impossible && f.balance > 0), d = os({ start: I, end: a });
|
|
10037
10054
|
return {
|
|
10038
10055
|
payoffSavings: c ? "N/A" : M(r, "0,0.00"),
|
|
10039
10056
|
payoffDate: c ? "Never" : nA(a, AA.MONTH_YEAR),
|
|
10040
|
-
payoffDuration: c ? "Stagnant" :
|
|
10057
|
+
payoffDuration: c ? "Stagnant" : Is(d, { format: ["years", "months"] }) || "0 months"
|
|
10041
10058
|
};
|
|
10042
10059
|
}
|
|
10043
10060
|
const ke = () => {
|
|
@@ -10462,7 +10479,7 @@ const ke = () => {
|
|
|
10462
10479
|
if (!h.useContext(gt))
|
|
10463
10480
|
throw new Error("useCategoryUiStore() must be used within the GlobalDataContext");
|
|
10464
10481
|
return CA().uiStore;
|
|
10465
|
-
}, Fi = (A) => A.top_level_category_guid === g.INCOME || A.category_guid === g.INCOME, fh = (A) => !Fi(A) && !
|
|
10482
|
+
}, 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
10483
|
const i = [];
|
|
10467
10484
|
let n = QA(Ne(/* @__PURE__ */ new Date(), 5));
|
|
10468
10485
|
const r = /* @__PURE__ */ new Date();
|
|
@@ -10476,7 +10493,7 @@ const ke = () => {
|
|
|
10476
10493
|
const i = A.filter(Fi);
|
|
10477
10494
|
return _n(i).map((n) => ({ ...n, y: Math.abs(n.y) }));
|
|
10478
10495
|
}, lh = (A, t) => {
|
|
10479
|
-
const i = A.filter(
|
|
10496
|
+
const i = A.filter(jI);
|
|
10480
10497
|
return _n(i).map((n) => ({ ...n, y: Math.abs(n.y) }));
|
|
10481
10498
|
}, vh = (A, t) => {
|
|
10482
10499
|
const i = A.filter(dh);
|
|
@@ -10552,7 +10569,7 @@ const ke = () => {
|
|
|
10552
10569
|
}
|
|
10553
10570
|
);
|
|
10554
10571
|
}, 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 } =
|
|
10572
|
+
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
10573
|
(E) => E.guid === i?.institution_guid
|
|
10557
10574
|
), f = [
|
|
10558
10575
|
...Ln,
|
|
@@ -10593,7 +10610,7 @@ function ph(A, t) {
|
|
|
10593
10610
|
];
|
|
10594
10611
|
return `rgb(${o[0]}, ${o[1]}, ${o[2]})`;
|
|
10595
10612
|
}
|
|
10596
|
-
const
|
|
10613
|
+
const OI = ({
|
|
10597
10614
|
sx: A,
|
|
10598
10615
|
height: t = 500,
|
|
10599
10616
|
width: i,
|
|
@@ -10648,7 +10665,7 @@ const mI = ({
|
|
|
10648
10665
|
});
|
|
10649
10666
|
const p = (w) => b.findIndex((D) => D?.guid === w);
|
|
10650
10667
|
return /* @__PURE__ */ e(
|
|
10651
|
-
|
|
10668
|
+
xo,
|
|
10652
10669
|
{
|
|
10653
10670
|
axisHighlight: { x: "none" },
|
|
10654
10671
|
disableLineItemHighlight: !0,
|
|
@@ -10729,7 +10746,7 @@ const mI = ({
|
|
|
10729
10746
|
},
|
|
10730
10747
|
children: [
|
|
10731
10748
|
/* @__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(
|
|
10749
|
+
/* @__PURE__ */ e(Ce, { sx: { p: 0 }, children: /* @__PURE__ */ e(OI, { debts: [i], height: 250 }) })
|
|
10733
10750
|
]
|
|
10734
10751
|
}
|
|
10735
10752
|
),
|
|
@@ -10807,7 +10824,7 @@ const mI = ({
|
|
|
10807
10824
|
}
|
|
10808
10825
|
) })
|
|
10809
10826
|
] }) });
|
|
10810
|
-
}, Dh = C(xh),
|
|
10827
|
+
}, Dh = C(xh), LI = C(({ goal: A }) => {
|
|
10811
10828
|
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
10829
|
const E = { ...A, interest_rate: o };
|
|
10813
10830
|
A.interest_rate = o, a ? n(E) : (await r(E), i(t.alert_goal_updated_interest_rate));
|
|
@@ -10840,7 +10857,7 @@ const mI = ({
|
|
|
10840
10857
|
)
|
|
10841
10858
|
}
|
|
10842
10859
|
);
|
|
10843
|
-
}),
|
|
10860
|
+
}), QI = C(({ goal: A }) => {
|
|
10844
10861
|
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
10862
|
const E = { ...A, monthly_payment: o };
|
|
10846
10863
|
A.monthly_payment = o, a ? n(E) : (await r({ ...A, monthly_payment: o }), i(t.alert_goal_updated_payment));
|
|
@@ -10874,7 +10891,7 @@ const mI = ({
|
|
|
10874
10891
|
)
|
|
10875
10892
|
}
|
|
10876
10893
|
);
|
|
10877
|
-
}),
|
|
10894
|
+
}), qI = C(({ goal: A }) => {
|
|
10878
10895
|
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
10896
|
const E = { ...A, initial_amount: o };
|
|
10880
10897
|
A.initial_amount = o, a ? n(E) : (await r({ ...A, initial_amount: o }), i(t.alert_goal_updated_balance));
|
|
@@ -11006,11 +11023,11 @@ const mI = ({
|
|
|
11006
11023
|
const { onEvent: A } = K(), { selectedDebtChartData: t } = ke();
|
|
11007
11024
|
return h.useEffect(() => A(V.DEBT_DETAILS_VIEW), []), /* @__PURE__ */ s(P, { bgcolor: "background.paper", children: [
|
|
11008
11025
|
t?.goal && /* @__PURE__ */ s(Z, { children: [
|
|
11009
|
-
/* @__PURE__ */ e(
|
|
11026
|
+
/* @__PURE__ */ e(QI, { goal: t.goal }),
|
|
11010
11027
|
/* @__PURE__ */ e(G, {}),
|
|
11011
|
-
/* @__PURE__ */ e(
|
|
11028
|
+
/* @__PURE__ */ e(LI, { goal: t.goal }),
|
|
11012
11029
|
/* @__PURE__ */ e(G, {}),
|
|
11013
|
-
/* @__PURE__ */ e(
|
|
11030
|
+
/* @__PURE__ */ e(qI, { goal: t.goal }),
|
|
11014
11031
|
/* @__PURE__ */ e(G, {})
|
|
11015
11032
|
] }),
|
|
11016
11033
|
!t?.goal && t?.account && /* @__PURE__ */ s(Z, { children: [
|
|
@@ -11435,7 +11452,7 @@ const we = (A) => /* @__PURE__ */ e(R, { fontWeight: 600, variant: "Small", chil
|
|
|
11435
11452
|
o(d), i(V.DEBTS_CLICK_PRIORITY, { debts_priority: d });
|
|
11436
11453
|
};
|
|
11437
11454
|
return /* @__PURE__ */ e(
|
|
11438
|
-
|
|
11455
|
+
yo,
|
|
11439
11456
|
{
|
|
11440
11457
|
anchorEl: A,
|
|
11441
11458
|
anchorOrigin: {
|
|
@@ -11492,7 +11509,7 @@ const we = (A) => /* @__PURE__ */ e(R, { fontWeight: 600, variant: "Small", chil
|
|
|
11492
11509
|
] });
|
|
11493
11510
|
}), Al = (A, t, i = 0) => {
|
|
11494
11511
|
const n = A.map((c) => ({ ...c }));
|
|
11495
|
-
|
|
11512
|
+
DI(n, t);
|
|
11496
11513
|
const r = /* @__PURE__ */ new Date(), o = [];
|
|
11497
11514
|
let I = 0, a = 1;
|
|
11498
11515
|
for (const c of n)
|
|
@@ -11585,7 +11602,7 @@ const we = (A) => /* @__PURE__ */ e(R, { fontWeight: 600, variant: "Small", chil
|
|
|
11585
11602
|
},
|
|
11586
11603
|
children: [
|
|
11587
11604
|
/* @__PURE__ */ e(
|
|
11588
|
-
|
|
11605
|
+
OI,
|
|
11589
11606
|
{
|
|
11590
11607
|
debts: m,
|
|
11591
11608
|
height: E ? 250 : void 0,
|
|
@@ -11633,11 +11650,11 @@ const we = (A) => /* @__PURE__ */ e(R, { fontWeight: 600, variant: "Small", chil
|
|
|
11633
11650
|
};
|
|
11634
11651
|
function nl(A, t) {
|
|
11635
11652
|
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) =>
|
|
11653
|
+
(o) => eo(i.find((I) => I.guid === o.account_guid), o)
|
|
11654
|
+
), r = i.filter((o) => !n.some((I) => I.account.guid === o.guid)).map((o) => eo(o));
|
|
11638
11655
|
return [...n, ...r];
|
|
11639
11656
|
}
|
|
11640
|
-
function
|
|
11657
|
+
function eo(A, t) {
|
|
11641
11658
|
const i = { account: A, goal: t, guid: A.guid };
|
|
11642
11659
|
if (t) {
|
|
11643
11660
|
const n = t.payment_due_at ? dr(Ai(t.payment_due_at)) : 1, r = Er(/* @__PURE__ */ new Date()).setDate(n);
|
|
@@ -11723,7 +11740,7 @@ class Il {
|
|
|
11723
11740
|
return t === i;
|
|
11724
11741
|
}
|
|
11725
11742
|
}
|
|
11726
|
-
class
|
|
11743
|
+
class to {
|
|
11727
11744
|
fetchInstance;
|
|
11728
11745
|
constructor(t, i) {
|
|
11729
11746
|
this.fetchInstance = new Ae(t, i);
|
|
@@ -11840,7 +11857,7 @@ const cl = (A, t) => {
|
|
|
11840
11857
|
}, fl = (A, t) => t ? M(A, A < 1e3 ? "0" : "0.00a").replace(
|
|
11841
11858
|
/(\d+)(?:\.0+|(\.\d*?[1-9])0*)([a-zA-Z]* ?\$?)/g,
|
|
11842
11859
|
"$1$2$3"
|
|
11843
|
-
) : M(A, "0,0.00"),
|
|
11860
|
+
) : M(A, "0,0.00"), GI = C(
|
|
11844
11861
|
({ goal: A, isInDrawer: t = !1, onClick: i }) => {
|
|
11845
11862
|
const { goals: n } = X(), { isMobile: r, isTablet: o } = zA(), I = r || o, {
|
|
11846
11863
|
backgroundColor: a,
|
|
@@ -11854,8 +11871,8 @@ const cl = (A, t) => {
|
|
|
11854
11871
|
percentage: `${d}`
|
|
11855
11872
|
}
|
|
11856
11873
|
];
|
|
11857
|
-
let u = /* @__PURE__ */ e(
|
|
11858
|
-
return A.track_type === B.DEBT_TRACK ? u = /* @__PURE__ */ e(
|
|
11874
|
+
let u = /* @__PURE__ */ e(Za, {});
|
|
11875
|
+
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
11876
|
/* @__PURE__ */ e(
|
|
11860
11877
|
rt,
|
|
11861
11878
|
{
|
|
@@ -11993,7 +12010,7 @@ const cl = (A, t) => {
|
|
|
11993
12010
|
rowReordering: !0,
|
|
11994
12011
|
rows: f,
|
|
11995
12012
|
slots: {
|
|
11996
|
-
rowReorderIcon: () => /* @__PURE__ */ e(
|
|
12013
|
+
rowReorderIcon: () => /* @__PURE__ */ e(Xs, { sx: { ml: 12 } })
|
|
11997
12014
|
//TODO: Add to mx-icons
|
|
11998
12015
|
},
|
|
11999
12016
|
sx: {
|
|
@@ -12039,7 +12056,7 @@ const cl = (A, t) => {
|
|
|
12039
12056
|
}, ll = ({ goal: A }) => {
|
|
12040
12057
|
const { goals: t } = X();
|
|
12041
12058
|
return /* @__PURE__ */ e(W, { children: /* @__PURE__ */ s(aA, { children: [
|
|
12042
|
-
/* @__PURE__ */ e(xA, { sx: { alignItems: "center", display: "flex", justifyContent: "center" }, children: /* @__PURE__ */ e(
|
|
12059
|
+
/* @__PURE__ */ e(xA, { sx: { alignItems: "center", display: "flex", justifyContent: "center" }, children: /* @__PURE__ */ e($a, { color: "success", filled: !0, size: 20 }) }),
|
|
12043
12060
|
/* @__PURE__ */ e(eA, { primaryTypographyProps: { variant: "Body" }, children: /* @__PURE__ */ s(P, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
12044
12061
|
/* @__PURE__ */ s(P, { children: [
|
|
12045
12062
|
/* @__PURE__ */ e(R, { bold: !0, variant: "Body", children: A.name }),
|
|
@@ -12122,7 +12139,7 @@ const cl = (A, t) => {
|
|
|
12122
12139
|
] }),
|
|
12123
12140
|
a.length > 0 ? /* @__PURE__ */ e(tt, { container: !0, spacing: 24, children: a.map((f, E, l) => (
|
|
12124
12141
|
// 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(
|
|
12142
|
+
/* @__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
12143
|
)) }) : /* @__PURE__ */ s(
|
|
12127
12144
|
P,
|
|
12128
12145
|
{
|
|
@@ -12141,7 +12158,7 @@ const cl = (A, t) => {
|
|
|
12141
12158
|
A !== B.RETIREMENT_TRACK && /* @__PURE__ */ s(P, { gap: 16, mt: 48, children: [
|
|
12142
12159
|
/* @__PURE__ */ e(R, { color: "text.secondary", variant: "Small", children: n.complete_title }),
|
|
12143
12160
|
c.length === 0 && /* @__PURE__ */ e(P, { 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(
|
|
12161
|
+
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(P, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
12145
12162
|
/* @__PURE__ */ s(P, { alignItems: "center", direction: "row", gap: 6, children: [
|
|
12146
12163
|
/* @__PURE__ */ e(q, { color: "success", fill: !0, name: "check_circle", size: 20 }),
|
|
12147
12164
|
/* @__PURE__ */ e(R, { color: "text.secondary", variant: "Body", children: f.name })
|
|
@@ -12165,7 +12182,7 @@ const cl = (A, t) => {
|
|
|
12165
12182
|
/* @__PURE__ */ e(xA, { children: /* @__PURE__ */ e(Qe, { sx: { bgcolor: n }, variant: "rounded", children: /* @__PURE__ */ e(dn, { name: r, sx: { color: "grey.900" } }) }) }),
|
|
12166
12183
|
/* @__PURE__ */ e(eA, { primary: o, secondary: I, sx: { mr: 24 } }),
|
|
12167
12184
|
!E && /* @__PURE__ */ e(ce, {}),
|
|
12168
|
-
E && (d ? /* @__PURE__ */ e(
|
|
12185
|
+
E && (d ? /* @__PURE__ */ e(As, {}) : /* @__PURE__ */ e(es, {}))
|
|
12169
12186
|
]
|
|
12170
12187
|
}
|
|
12171
12188
|
) }),
|
|
@@ -12182,7 +12199,7 @@ const cl = (A, t) => {
|
|
|
12182
12199
|
/* @__PURE__ */ e(ce, {})
|
|
12183
12200
|
] }) }, v)) }) })
|
|
12184
12201
|
] }) });
|
|
12185
|
-
},
|
|
12202
|
+
}, MI = ({
|
|
12186
12203
|
accounts: A,
|
|
12187
12204
|
isOpen: t,
|
|
12188
12205
|
onClose: i,
|
|
@@ -12227,7 +12244,7 @@ const cl = (A, t) => {
|
|
|
12227
12244
|
] }, f.guid))
|
|
12228
12245
|
] }),
|
|
12229
12246
|
/* @__PURE__ */ e(
|
|
12230
|
-
|
|
12247
|
+
aI,
|
|
12231
12248
|
{
|
|
12232
12249
|
description: o.connect_description,
|
|
12233
12250
|
label: o.connect_button,
|
|
@@ -12269,7 +12286,7 @@ const cl = (A, t) => {
|
|
|
12269
12286
|
return /* @__PURE__ */ s(P, { children: [
|
|
12270
12287
|
/* @__PURE__ */ e(rA, { sx: { bgcolor: "background.paper" }, children: d.map((l, v) => /* @__PURE__ */ e(Rl, { goalType: l, onClick: f }, v)) }),
|
|
12271
12288
|
/* @__PURE__ */ e(
|
|
12272
|
-
|
|
12289
|
+
MI,
|
|
12273
12290
|
{
|
|
12274
12291
|
accounts: I.filter((l) => !n.find((v) => v.account_guid === l.guid)),
|
|
12275
12292
|
isOpen: a,
|
|
@@ -12279,7 +12296,7 @@ const cl = (A, t) => {
|
|
|
12279
12296
|
}
|
|
12280
12297
|
)
|
|
12281
12298
|
] });
|
|
12282
|
-
},
|
|
12299
|
+
}, NI = ({ account: A }) => {
|
|
12283
12300
|
const { accounts: t } = X(), { setSelectedAccount: i } = Xe(), [n, r] = h.useState(!1);
|
|
12284
12301
|
return /* @__PURE__ */ s(W, { sx: { bgcolor: "background.paper" }, children: [
|
|
12285
12302
|
/* @__PURE__ */ s(aA, { onClick: () => {
|
|
@@ -12303,7 +12320,7 @@ const cl = (A, t) => {
|
|
|
12303
12320
|
] }),
|
|
12304
12321
|
/* @__PURE__ */ e(IA, { isOpen: n, onClose: () => r(!1), title: t.account_details, children: /* @__PURE__ */ s(P, { children: [
|
|
12305
12322
|
/* @__PURE__ */ e($n, {}),
|
|
12306
|
-
/* @__PURE__ */ e(
|
|
12323
|
+
/* @__PURE__ */ e(UI, {})
|
|
12307
12324
|
] }) })
|
|
12308
12325
|
] });
|
|
12309
12326
|
}, Pl = C(({ goal: A }) => {
|
|
@@ -12348,7 +12365,7 @@ const cl = (A, t) => {
|
|
|
12348
12365
|
return /* @__PURE__ */ s(P, { children: [
|
|
12349
12366
|
c ? /* @__PURE__ */ e(W, { disableGutters: !0, disablePadding: !0, sx: { bgcolor: "background.paper" }, children: /* @__PURE__ */ s(aA, { onClick: () => f(!0), children: [
|
|
12350
12367
|
/* @__PURE__ */ e(eA, { children: /* @__PURE__ */ s(P, { alignItems: "center", color: "action.active", direction: "row", gap: 8, children: [
|
|
12351
|
-
/* @__PURE__ */ e(
|
|
12368
|
+
/* @__PURE__ */ e(mo, { filled: !0 }),
|
|
12352
12369
|
r.details_add_account
|
|
12353
12370
|
] }) }),
|
|
12354
12371
|
/* @__PURE__ */ e(ce, { color: "primary" })
|
|
@@ -12402,7 +12419,7 @@ const cl = (A, t) => {
|
|
|
12402
12419
|
/* @__PURE__ */ e(ce, {})
|
|
12403
12420
|
] }) }, l.guid)) }),
|
|
12404
12421
|
/* @__PURE__ */ e(
|
|
12405
|
-
|
|
12422
|
+
aI,
|
|
12406
12423
|
{
|
|
12407
12424
|
description: r.connect_description,
|
|
12408
12425
|
label: r.connect_button,
|
|
@@ -12478,7 +12495,7 @@ const cl = (A, t) => {
|
|
|
12478
12495
|
);
|
|
12479
12496
|
}, Cl = C(({ goal: A }) => {
|
|
12480
12497
|
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 &&
|
|
12498
|
+
o && Go(o) && (await n({ ...i, birthday: gA(o) }), r(t.alert_goal_updated_birthday));
|
|
12482
12499
|
};
|
|
12483
12500
|
return /* @__PURE__ */ e(
|
|
12484
12501
|
Ge,
|
|
@@ -12527,18 +12544,18 @@ const cl = (A, t) => {
|
|
|
12527
12544
|
};
|
|
12528
12545
|
return /* @__PURE__ */ s(P, { children: [
|
|
12529
12546
|
E.map((u) => /* @__PURE__ */ s(P, { children: [
|
|
12530
|
-
/* @__PURE__ */ e(
|
|
12547
|
+
/* @__PURE__ */ e(NI, { account: u }),
|
|
12531
12548
|
/* @__PURE__ */ e(G, {})
|
|
12532
12549
|
] }, u.guid)),
|
|
12533
12550
|
/* @__PURE__ */ e(W, { disableGutters: !0, disablePadding: !0, sx: { bgcolor: "background.paper" }, children: /* @__PURE__ */ s(aA, { onClick: () => d(!0), children: [
|
|
12534
12551
|
/* @__PURE__ */ e(eA, { children: /* @__PURE__ */ s(P, { alignItems: "center", color: "action.active", direction: "row", gap: 8, children: [
|
|
12535
|
-
/* @__PURE__ */ e(
|
|
12552
|
+
/* @__PURE__ */ e(mo, { filled: !0 }),
|
|
12536
12553
|
t.details_add_account
|
|
12537
12554
|
] }) }),
|
|
12538
12555
|
/* @__PURE__ */ e(ce, { color: "primary" })
|
|
12539
12556
|
] }) }),
|
|
12540
12557
|
/* @__PURE__ */ e(
|
|
12541
|
-
|
|
12558
|
+
MI,
|
|
12542
12559
|
{
|
|
12543
12560
|
accounts: l,
|
|
12544
12561
|
isOpen: c,
|
|
@@ -12557,7 +12574,7 @@ const cl = (A, t) => {
|
|
|
12557
12574
|
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(P, { children: [
|
|
12558
12575
|
/* @__PURE__ */ s(P, { mx: 24, children: [
|
|
12559
12576
|
/* @__PURE__ */ e(R, { color: "text.secondary", sx: { mb: 4, mt: 24 }, variant: "XSmall", children: o }),
|
|
12560
|
-
/* @__PURE__ */ e(
|
|
12577
|
+
/* @__PURE__ */ e(GI, { goal: A, isInDrawer: !0 }),
|
|
12561
12578
|
/* @__PURE__ */ e(R, { color: "text.secondary", sx: { mb: 4, mt: 24 }, variant: "XSmall", children: t.details_title })
|
|
12562
12579
|
] }),
|
|
12563
12580
|
/* @__PURE__ */ s(rA, { sx: { bgcolor: "background.paper" }, children: [
|
|
@@ -12568,11 +12585,11 @@ const cl = (A, t) => {
|
|
|
12568
12585
|
/* @__PURE__ */ e(G, { sx: { ml: r === B.RETIREMENT_TRACK ? 24 : 0 } })
|
|
12569
12586
|
] }),
|
|
12570
12587
|
A.track_type === B.DEBT_TRACK && /* @__PURE__ */ s(Z, { children: [
|
|
12571
|
-
/* @__PURE__ */ e(
|
|
12588
|
+
/* @__PURE__ */ e(QI, { goal: A }),
|
|
12572
12589
|
/* @__PURE__ */ e(G, { sx: { ml: 24 } }),
|
|
12573
|
-
/* @__PURE__ */ e(
|
|
12590
|
+
/* @__PURE__ */ e(LI, { goal: A }),
|
|
12574
12591
|
/* @__PURE__ */ e(G, { sx: { ml: 24 } }),
|
|
12575
|
-
/* @__PURE__ */ e(
|
|
12592
|
+
/* @__PURE__ */ e(qI, { goal: A }),
|
|
12576
12593
|
/* @__PURE__ */ e(G, { variant: "fullWidth" })
|
|
12577
12594
|
] }),
|
|
12578
12595
|
A.track_type === B.RETIREMENT_TRACK && /* @__PURE__ */ s(Z, { children: [
|
|
@@ -12584,7 +12601,7 @@ const cl = (A, t) => {
|
|
|
12584
12601
|
] }),
|
|
12585
12602
|
/* @__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
12603
|
A.track_type !== B.RETIREMENT_TRACK && n && /* @__PURE__ */ s(Z, { children: [
|
|
12587
|
-
/* @__PURE__ */ e(
|
|
12604
|
+
/* @__PURE__ */ e(NI, { account: n }),
|
|
12588
12605
|
/* @__PURE__ */ e(G, {})
|
|
12589
12606
|
] }),
|
|
12590
12607
|
A.track_type === B.RETIREMENT_TRACK && /* @__PURE__ */ s(Z, { children: [
|
|
@@ -12651,7 +12668,7 @@ const cl = (A, t) => {
|
|
|
12651
12668
|
}
|
|
12652
12669
|
)
|
|
12653
12670
|
] });
|
|
12654
|
-
}),
|
|
12671
|
+
}), TI = ({
|
|
12655
12672
|
buttonText: A,
|
|
12656
12673
|
header: t,
|
|
12657
12674
|
icon: i,
|
|
@@ -12756,7 +12773,7 @@ const cl = (A, t) => {
|
|
|
12756
12773
|
}
|
|
12757
12774
|
),
|
|
12758
12775
|
iA ? /* @__PURE__ */ e(
|
|
12759
|
-
|
|
12776
|
+
TI,
|
|
12760
12777
|
{
|
|
12761
12778
|
buttonText: a.add_goals_button,
|
|
12762
12779
|
header: a.create_goals_header,
|
|
@@ -12796,7 +12813,7 @@ const cl = (A, t) => {
|
|
|
12796
12813
|
);
|
|
12797
12814
|
});
|
|
12798
12815
|
class wl {
|
|
12799
|
-
api = new
|
|
12816
|
+
api = new to("/", "");
|
|
12800
12817
|
globalStore;
|
|
12801
12818
|
alert = "";
|
|
12802
12819
|
goals = [];
|
|
@@ -12808,7 +12825,7 @@ class wl {
|
|
|
12808
12825
|
this.globalStore = t, DA(this);
|
|
12809
12826
|
}
|
|
12810
12827
|
initialize = async (t, i) => {
|
|
12811
|
-
this.api = new
|
|
12828
|
+
this.api = new to(t, i);
|
|
12812
12829
|
};
|
|
12813
12830
|
get orderedGoals() {
|
|
12814
12831
|
return this.goals.slice().sort((t, i) => t.position - i.position);
|
|
@@ -12962,7 +12979,7 @@ class wl {
|
|
|
12962
12979
|
}
|
|
12963
12980
|
};
|
|
12964
12981
|
}
|
|
12965
|
-
class
|
|
12982
|
+
class io {
|
|
12966
12983
|
fetchInstance;
|
|
12967
12984
|
constructor(t, i) {
|
|
12968
12985
|
this.fetchInstance = new Ae(t, i);
|
|
@@ -13192,7 +13209,7 @@ const yl = [
|
|
|
13192
13209
|
};
|
|
13193
13210
|
class jl {
|
|
13194
13211
|
alert = { message: "", severity: void 0 };
|
|
13195
|
-
api = new
|
|
13212
|
+
api = new io("/", "");
|
|
13196
13213
|
appConfig;
|
|
13197
13214
|
globalStore;
|
|
13198
13215
|
isLoading = !1;
|
|
@@ -13200,7 +13217,7 @@ class jl {
|
|
|
13200
13217
|
this.globalStore = t, DA(this);
|
|
13201
13218
|
}
|
|
13202
13219
|
initialize = async (t, i) => {
|
|
13203
|
-
this.api = new
|
|
13220
|
+
this.api = new io(t, i);
|
|
13204
13221
|
};
|
|
13205
13222
|
createSupportTicket = async (t) => {
|
|
13206
13223
|
try {
|
|
@@ -13230,11 +13247,11 @@ class jl {
|
|
|
13230
13247
|
);
|
|
13231
13248
|
}
|
|
13232
13249
|
}
|
|
13233
|
-
const ml = /^[ a-zA-ZÀ-ÿ0-9]+$/, Ol = 50,
|
|
13250
|
+
const ml = /^[ a-zA-ZÀ-ÿ0-9]+$/, Ol = 50, no = 65, Ll = ({
|
|
13234
13251
|
height: A = "calc(100dvh - 120px)",
|
|
13235
13252
|
onSelect: t
|
|
13236
13253
|
}) => {
|
|
13237
|
-
const { isLoading: i, merchants: n, loadMerchants: r } =
|
|
13254
|
+
const { isLoading: i, merchants: n, loadMerchants: r } = Lc(), { common: o } = X(), [I, a] = h.useState("");
|
|
13238
13255
|
h.useEffect(() => {
|
|
13239
13256
|
r().finally();
|
|
13240
13257
|
}, [r]);
|
|
@@ -13242,10 +13259,10 @@ const ml = /^[ a-zA-ZÀ-ÿ0-9]+$/, Ol = 50, io = 65, Ll = ({
|
|
|
13242
13259
|
t(l);
|
|
13243
13260
|
}, d = async (l) => {
|
|
13244
13261
|
(!l || ml.test(l)) && l.length <= Ol && (a(l), await r(l));
|
|
13245
|
-
}, f = h.useRef(null), E =
|
|
13262
|
+
}, f = h.useRef(null), E = Oo({
|
|
13246
13263
|
count: n.length,
|
|
13247
13264
|
getScrollElement: () => f.current,
|
|
13248
|
-
estimateSize: () =>
|
|
13265
|
+
estimateSize: () => no,
|
|
13249
13266
|
overscan: 5
|
|
13250
13267
|
});
|
|
13251
13268
|
return h.useEffect(() => E.measure(), [n]), /* @__PURE__ */ s(P, { className: "mx-mrt-lookup", children: [
|
|
@@ -13267,7 +13284,7 @@ const ml = /^[ a-zA-ZÀ-ÿ0-9]+$/, Ol = 50, io = 65, Ll = ({
|
|
|
13267
13284
|
return /* @__PURE__ */ s(
|
|
13268
13285
|
L,
|
|
13269
13286
|
{
|
|
13270
|
-
height:
|
|
13287
|
+
height: no,
|
|
13271
13288
|
position: "absolute",
|
|
13272
13289
|
sx: { transform: `translateY(${l.start}px)` },
|
|
13273
13290
|
width: "100%",
|
|
@@ -13287,7 +13304,7 @@ const ml = /^[ a-zA-ZÀ-ÿ0-9]+$/, Ol = 50, io = 65, Ll = ({
|
|
|
13287
13304
|
] }) }) })
|
|
13288
13305
|
] });
|
|
13289
13306
|
}, mP = C(Ll);
|
|
13290
|
-
class
|
|
13307
|
+
class ro {
|
|
13291
13308
|
fetchInstance;
|
|
13292
13309
|
constructor(t, i) {
|
|
13293
13310
|
this.fetchInstance = new Ae(t, i);
|
|
@@ -13299,7 +13316,7 @@ class no {
|
|
|
13299
13316
|
getMerchantByGuid = async (t) => this.fetchInstance.get(`${Q.MERCHANTS}/${t}`).then((i) => i.merchant);
|
|
13300
13317
|
}
|
|
13301
13318
|
class Ql {
|
|
13302
|
-
api = new
|
|
13319
|
+
api = new ro("/", "");
|
|
13303
13320
|
merchant = null;
|
|
13304
13321
|
merchants = [];
|
|
13305
13322
|
isLoading = !1;
|
|
@@ -13307,7 +13324,7 @@ class Ql {
|
|
|
13307
13324
|
DA(this);
|
|
13308
13325
|
}
|
|
13309
13326
|
initialize = async (t, i) => {
|
|
13310
|
-
this.api = new
|
|
13327
|
+
this.api = new ro(t, i);
|
|
13311
13328
|
};
|
|
13312
13329
|
loadMerchants = async (t = "") => {
|
|
13313
13330
|
this.isLoading = !0;
|
|
@@ -13321,13 +13338,13 @@ class Ql {
|
|
|
13321
13338
|
F(() => this.merchant = i);
|
|
13322
13339
|
};
|
|
13323
13340
|
}
|
|
13324
|
-
const
|
|
13341
|
+
const YI = 13, ql = (A, t) => A.filter((i) => {
|
|
13325
13342
|
const { is_closed: n, is_deleted: r, is_hidden: o, is_manual: I } = i;
|
|
13326
13343
|
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],
|
|
13344
|
+
}), Gl = (A, t) => [...A, ...t], oo = (A) => {
|
|
13328
13345
|
if (A && A.length > 0)
|
|
13329
13346
|
return A[A.length - 1];
|
|
13330
|
-
}, Ml = (A, t) => A.year_month - t.year_month, Nl = () => Array.from({ length:
|
|
13347
|
+
}, 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
13348
|
const I = t.filter(
|
|
13332
13349
|
({ year_month: f }) => f === parseInt(le(yA(o), "yyyyMM"))
|
|
13333
13350
|
), a = A.map((f) => {
|
|
@@ -13371,7 +13388,7 @@ const TI = 13, ql = (A, t) => A.filter((i) => {
|
|
|
13371
13388
|
},
|
|
13372
13389
|
...r
|
|
13373
13390
|
];
|
|
13374
|
-
}, []).slice(
|
|
13391
|
+
}, []).slice(YI - i), Yl = (A) => {
|
|
13375
13392
|
const t = [], i = [];
|
|
13376
13393
|
let n = 0, r = 0;
|
|
13377
13394
|
return A?.accounts.forEach((o) => {
|
|
@@ -13389,13 +13406,13 @@ const TI = 13, ql = (A, t) => A.filter((i) => {
|
|
|
13389
13406
|
t.push({ accountName: o.name, accountType: o.account_type, balance: I }), n += I;
|
|
13390
13407
|
}
|
|
13391
13408
|
}), { assets: t, liabilities: i, totalAssets: n, totalLiabilities: r };
|
|
13392
|
-
},
|
|
13409
|
+
}, Io = (A) => {
|
|
13393
13410
|
const t = A.reduce((i, n) => {
|
|
13394
13411
|
const r = n.accountType;
|
|
13395
13412
|
return i[r] || (i[r] = []), i[r].push(n), i;
|
|
13396
13413
|
}, {});
|
|
13397
13414
|
return Object.entries(t).map(([i, n]) => ({
|
|
13398
|
-
icon:
|
|
13415
|
+
icon: Ss[+i] || Uo[+i],
|
|
13399
13416
|
name: On[+i],
|
|
13400
13417
|
accounts: n
|
|
13401
13418
|
}));
|
|
@@ -13426,7 +13443,7 @@ class Bl {
|
|
|
13426
13443
|
};
|
|
13427
13444
|
loadChartData = async (t) => {
|
|
13428
13445
|
try {
|
|
13429
|
-
const { accounts: i, monthlyAccountBalances: n } = this.netWorthData, r = await Tl(i, n, t), o =
|
|
13446
|
+
const { accounts: i, monthlyAccountBalances: n } = this.netWorthData, r = await Tl(i, n, t), o = oo(r);
|
|
13430
13447
|
F(() => {
|
|
13431
13448
|
this.netWorthChartData = r, this.selectedData = o;
|
|
13432
13449
|
});
|
|
@@ -13442,7 +13459,7 @@ class Bl {
|
|
|
13442
13459
|
this.netWorthData.accounts
|
|
13443
13460
|
);
|
|
13444
13461
|
return {
|
|
13445
|
-
netWorth:
|
|
13462
|
+
netWorth: oo(this.netWorthChartData),
|
|
13446
13463
|
assets: t,
|
|
13447
13464
|
liabilities: i,
|
|
13448
13465
|
totalAssets: n,
|
|
@@ -13527,7 +13544,7 @@ const Sl = ({
|
|
|
13527
13544
|
eA,
|
|
13528
13545
|
{
|
|
13529
13546
|
primary: /* @__PURE__ */ s(P, { direction: "row", justifyContent: "space-between", sx: { fontWeight: 400 }, children: [
|
|
13530
|
-
/* @__PURE__ */ e(R, { variant: "Body", children:
|
|
13547
|
+
/* @__PURE__ */ e(R, { variant: "Body", children: Zo(A.x) }),
|
|
13531
13548
|
/* @__PURE__ */ e(OA, { amount: A.y, sx: { color: "inherit" }, variant: "Body" })
|
|
13532
13549
|
] })
|
|
13533
13550
|
}
|
|
@@ -13574,7 +13591,7 @@ const Sl = ({
|
|
|
13574
13591
|
))
|
|
13575
13592
|
] }),
|
|
13576
13593
|
/* @__PURE__ */ e(
|
|
13577
|
-
|
|
13594
|
+
Ma,
|
|
13578
13595
|
{
|
|
13579
13596
|
onClick: () => n(),
|
|
13580
13597
|
sx: { alignSelf: "center", marginTop: 16, width: "fit-content" },
|
|
@@ -13606,7 +13623,7 @@ const Sl = ({
|
|
|
13606
13623
|
/* @__PURE__ */ e(R, { variant: "Small", children: A })
|
|
13607
13624
|
] });
|
|
13608
13625
|
}, Ar = C(Zl), Jl = ({ hoveredData: A, selectedData: t }) => {
|
|
13609
|
-
const { net_worth: i } = X(), n = oe(), r = A || t, o =
|
|
13626
|
+
const { net_worth: i } = X(), n = oe(), r = A || t, o = as(Ai(r.x), "MMMM");
|
|
13610
13627
|
return /* @__PURE__ */ s(P, { alignItems: "center", direction: "column", m: 24, children: [
|
|
13611
13628
|
/* @__PURE__ */ e(R, { color: n.palette.secondary.main, variant: "Small", children: `${o} ${i.net_worth}` }),
|
|
13612
13629
|
/* @__PURE__ */ e(OA, { amount: r.y, variant: "H2" }),
|
|
@@ -13640,7 +13657,7 @@ const Sl = ({
|
|
|
13640
13657
|
I < A.length - 1 ? /* @__PURE__ */ e(G, { variant: "inset" }) : /* @__PURE__ */ e(G, {})
|
|
13641
13658
|
] }, o.accountName)) })
|
|
13642
13659
|
] });
|
|
13643
|
-
},
|
|
13660
|
+
}, 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
13661
|
netWorth: A,
|
|
13645
13662
|
assets: t,
|
|
13646
13663
|
liabilities: i,
|
|
@@ -13685,7 +13702,7 @@ const Sl = ({
|
|
|
13685
13702
|
] })
|
|
13686
13703
|
}
|
|
13687
13704
|
) }),
|
|
13688
|
-
/* @__PURE__ */ e(
|
|
13705
|
+
/* @__PURE__ */ e(ao, { groupedAccounts: Io(t) }),
|
|
13689
13706
|
/* @__PURE__ */ e(me, { sx: { mb: 8, mt: 12, mx: 8 }, children: /* @__PURE__ */ e(
|
|
13690
13707
|
eA,
|
|
13691
13708
|
{
|
|
@@ -13695,7 +13712,7 @@ const Sl = ({
|
|
|
13695
13712
|
] })
|
|
13696
13713
|
}
|
|
13697
13714
|
) }),
|
|
13698
|
-
/* @__PURE__ */ e(
|
|
13715
|
+
/* @__PURE__ */ e(ao, { groupedAccounts: Io(i) })
|
|
13699
13716
|
] })
|
|
13700
13717
|
] });
|
|
13701
13718
|
}, e9 = C(A9), t9 = ({
|
|
@@ -13708,7 +13725,7 @@ const Sl = ({
|
|
|
13708
13725
|
const { net_worth: o } = X(), I = RA();
|
|
13709
13726
|
return /* @__PURE__ */ s(Z, { children: [
|
|
13710
13727
|
/* @__PURE__ */ s(P, { alignItems: "center", justifyContent: "space-between", mb: 8, pt: 24, children: [
|
|
13711
|
-
/* @__PURE__ */ e(R, { variant: "Small", children:
|
|
13728
|
+
/* @__PURE__ */ e(R, { variant: "Small", children: Zo(A?.x) }),
|
|
13712
13729
|
/* @__PURE__ */ e(R, { variant: "Body", children: o.total_change }),
|
|
13713
13730
|
A && /* @__PURE__ */ e(Ar, { currencyVariant: "H1", iconSize: 32, netWorth: A, theme: I })
|
|
13714
13731
|
] }),
|
|
@@ -13779,9 +13796,9 @@ const Sl = ({
|
|
|
13779
13796
|
title: i
|
|
13780
13797
|
}) => {
|
|
13781
13798
|
let n;
|
|
13782
|
-
const { refreshAccounts: r } = CA(), { loadWidget: o } =
|
|
13799
|
+
const { refreshAccounts: r } = CA(), { loadWidget: o } = iI(), { connect: I } = X(), a = oe(), [c, d] = h.useState(!1), [f, E] = h.useState(!1);
|
|
13783
13800
|
return h.useEffect(() => (t ? (d(!0), o({ widget: "connections_widget", mode: a.palette.mode }).then((l) => {
|
|
13784
|
-
n = new
|
|
13801
|
+
n = new Fa({
|
|
13785
13802
|
container: `#${mr}`,
|
|
13786
13803
|
style: {
|
|
13787
13804
|
height: "calc(100% - 62px)",
|
|
@@ -13813,7 +13830,7 @@ const Sl = ({
|
|
|
13813
13830
|
] })
|
|
13814
13831
|
}
|
|
13815
13832
|
);
|
|
13816
|
-
},
|
|
13833
|
+
}, VI = C(n9), OP = C(({ onBackClick: A }) => {
|
|
13817
13834
|
const { isInitialized: t, selectedAccounts: i, setSelectedAccounts: n } = pA(), { accounts: r, net_worth: o } = X(), { accounts: I } = CA(), {
|
|
13818
13835
|
assetsLiabilities: a,
|
|
13819
13836
|
gainsLosses: c,
|
|
@@ -13824,7 +13841,7 @@ const Sl = ({
|
|
|
13824
13841
|
selectedData: v,
|
|
13825
13842
|
setHoveredData: u,
|
|
13826
13843
|
setSelectedData: H
|
|
13827
|
-
} =
|
|
13844
|
+
} = Qc(), { isMobile: b } = zA(), { onEvent: p } = K(), [y, x] = h.useState(!1), [w, D] = h.useState(6), [j, m] = h.useState(!1), [O, T] = h.useState(!1), [tA, Y] = h.useState(!1), iA = async () => {
|
|
13828
13845
|
await E(i), await f(w), x(!0);
|
|
13829
13846
|
};
|
|
13830
13847
|
h.useEffect(() => {
|
|
@@ -13846,7 +13863,7 @@ const Sl = ({
|
|
|
13846
13863
|
p(V.NET_WORTH_WIDGET_CLICK_ASSETS_LIABILITIES), T(!0);
|
|
13847
13864
|
}, jA = async (Ie) => {
|
|
13848
13865
|
const bA = Ie[0], JA = Ie[1];
|
|
13849
|
-
bA && JA && D(
|
|
13866
|
+
bA && JA && D(ss(JA, bA));
|
|
13850
13867
|
}, WA = {
|
|
13851
13868
|
chartData: l,
|
|
13852
13869
|
hoveredData: d,
|
|
@@ -13887,7 +13904,7 @@ const Sl = ({
|
|
|
13887
13904
|
}
|
|
13888
13905
|
)
|
|
13889
13906
|
] }) : /* @__PURE__ */ e(
|
|
13890
|
-
|
|
13907
|
+
TI,
|
|
13891
13908
|
{
|
|
13892
13909
|
buttonText: o.empty_widget_button,
|
|
13893
13910
|
header: o.empty_widget_header,
|
|
@@ -13897,7 +13914,7 @@ const Sl = ({
|
|
|
13897
13914
|
}
|
|
13898
13915
|
),
|
|
13899
13916
|
/* @__PURE__ */ e(
|
|
13900
|
-
|
|
13917
|
+
VI,
|
|
13901
13918
|
{
|
|
13902
13919
|
onClose: () => Y(!1),
|
|
13903
13920
|
showConnectionsWidget: tA,
|
|
@@ -13961,7 +13978,7 @@ class o9 {
|
|
|
13961
13978
|
notifications = [];
|
|
13962
13979
|
recentNotifications = [];
|
|
13963
13980
|
constructor() {
|
|
13964
|
-
DA(this, { notifications:
|
|
13981
|
+
DA(this, { notifications: ns });
|
|
13965
13982
|
}
|
|
13966
13983
|
initialize = async (t, i) => {
|
|
13967
13984
|
this.api = new Cr(t, i), await this.loadNotifications();
|
|
@@ -13989,7 +14006,7 @@ class o9 {
|
|
|
13989
14006
|
}
|
|
13990
14007
|
const I9 = (A, t) => {
|
|
13991
14008
|
const i = Ai(t[A].delivered_at), n = Ai(t[A - 1]?.delivered_at);
|
|
13992
|
-
return !
|
|
14009
|
+
return !cs(i, n);
|
|
13993
14010
|
}, a9 = ({ notification: A }) => {
|
|
13994
14011
|
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
14012
|
badge: {
|
|
@@ -14009,7 +14026,7 @@ const I9 = (A, t) => {
|
|
|
14009
14026
|
}
|
|
14010
14027
|
) }) : /* @__PURE__ */ e("div", { style: a.badge, children: /* @__PURE__ */ e(be, { categoryGuid: o?.category_guid, size: 36 }) });
|
|
14011
14028
|
}, s9 = C(a9), c9 = ({ notification: A, onClick: t }) => {
|
|
14012
|
-
const { updateNotification: i } =
|
|
14029
|
+
const { updateNotification: i } = nI(), n = nt(), r = {
|
|
14013
14030
|
card: {
|
|
14014
14031
|
alignItems: "center",
|
|
14015
14032
|
borderRadius: 2,
|
|
@@ -14043,12 +14060,12 @@ const I9 = (A, t) => {
|
|
|
14043
14060
|
/* @__PURE__ */ e(R, { bold: !A.has_been_viewed, truncate: !1, variant: "Small", children: A.content })
|
|
14044
14061
|
] });
|
|
14045
14062
|
}, 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 } =
|
|
14063
|
+
const { isLoading: t, recentNotifications: i, markAllAsViewed: n } = nI(), { notifications: r } = X(), o = (I) => {
|
|
14047
14064
|
A?.(I);
|
|
14048
14065
|
};
|
|
14049
14066
|
return Ht(() => () => {
|
|
14050
14067
|
n().finally();
|
|
14051
|
-
}, []), /* @__PURE__ */ s(
|
|
14068
|
+
}, []), /* @__PURE__ */ s(Na, { sx: { p: 16 }, children: [
|
|
14052
14069
|
t && /* @__PURE__ */ e(ee, { label: r?.loading, size: 40 }),
|
|
14053
14070
|
!t && i.length === 0 && /* @__PURE__ */ e(Me, { sx: { p: 16 }, children: /* @__PURE__ */ e(R, { fontStyle: "italic", sx: { textAlign: "center" }, children: r.no_notifications }) }),
|
|
14054
14071
|
!t && i.slice().sort((I, a) => a.delivered_at - I.delivered_at).map((I, a) => {
|
|
@@ -14056,14 +14073,14 @@ const I9 = (A, t) => {
|
|
|
14056
14073
|
return /* @__PURE__ */ s(Me, { sx: { mb: 12 }, children: [
|
|
14057
14074
|
c && /* @__PURE__ */ s(Me, { sx: { mb: 12 }, children: [
|
|
14058
14075
|
/* @__PURE__ */ e(f9, { date: I.delivered_at }),
|
|
14059
|
-
/* @__PURE__ */ e(
|
|
14076
|
+
/* @__PURE__ */ e(Ta, {})
|
|
14060
14077
|
] }),
|
|
14061
14078
|
/* @__PURE__ */ e(c9, { notification: I, onClick: o })
|
|
14062
14079
|
] }, I.guid);
|
|
14063
14080
|
})
|
|
14064
14081
|
] });
|
|
14065
14082
|
}, QP = C(d9);
|
|
14066
|
-
class
|
|
14083
|
+
class so {
|
|
14067
14084
|
fetchInstance;
|
|
14068
14085
|
constructor(t, i) {
|
|
14069
14086
|
this.fetchInstance = new Ae(t, i);
|
|
@@ -14079,7 +14096,7 @@ class ao {
|
|
|
14079
14096
|
updateDevice = async (t) => this.fetchInstance.put(`${Q.DEVICES}/${t.guid}`, t).then((i) => i.device);
|
|
14080
14097
|
updateNotificationProfile = async (t) => this.fetchInstance.put(`${Q.NOTIFICATION_PROFILES}/${t.guid}`, t).then((i) => i.notification_profile);
|
|
14081
14098
|
}
|
|
14082
|
-
const
|
|
14099
|
+
const co = "PARENT-ENTITY", E9 = (A, t) => {
|
|
14083
14100
|
switch (A) {
|
|
14084
14101
|
case LA.BudgetExceeded:
|
|
14085
14102
|
return t.notification_budget_exceeded;
|
|
@@ -14110,9 +14127,9 @@ const so = "PARENT-ENTITY", E9 = (A, t) => {
|
|
|
14110
14127
|
opted_out_of_sms_notifications: f,
|
|
14111
14128
|
opted_out_of_push_notifications: E
|
|
14112
14129
|
} = r;
|
|
14113
|
-
for (const l of n.filter((v) => v.entity_guid ===
|
|
14130
|
+
for (const l of n.filter((v) => v.entity_guid === co)) {
|
|
14114
14131
|
const v = E9(l.notification_type, i), u = n.filter(
|
|
14115
|
-
(b) => b.entity_guid !==
|
|
14132
|
+
(b) => b.entity_guid !== co && b.notification_type === l.notification_type
|
|
14116
14133
|
), H = [];
|
|
14117
14134
|
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
14135
|
...l,
|
|
@@ -14129,7 +14146,7 @@ const so = "PARENT-ENTITY", E9 = (A, t) => {
|
|
|
14129
14146
|
};
|
|
14130
14147
|
class l9 {
|
|
14131
14148
|
globalStore;
|
|
14132
|
-
api = new
|
|
14149
|
+
api = new so("/", "");
|
|
14133
14150
|
transactionApi = new gi("/", "");
|
|
14134
14151
|
alert = { message: "", severity: void 0 };
|
|
14135
14152
|
devices = [];
|
|
@@ -14140,7 +14157,7 @@ class l9 {
|
|
|
14140
14157
|
this.globalStore = t, DA(this);
|
|
14141
14158
|
}
|
|
14142
14159
|
initialize = async (t, i) => {
|
|
14143
|
-
this.api = new
|
|
14160
|
+
this.api = new so(t, i), this.transactionApi = new gi(t, i);
|
|
14144
14161
|
};
|
|
14145
14162
|
get accountProfiles() {
|
|
14146
14163
|
return this.detailedNotificationProfiles.filter(
|
|
@@ -14330,7 +14347,7 @@ const u9 = ({
|
|
|
14330
14347
|
/* @__PURE__ */ s(YA, { item: !0, sm: 6, xs: 12, children: [
|
|
14331
14348
|
/* @__PURE__ */ e(ne, { color: "text.primary", children: r }),
|
|
14332
14349
|
/* @__PURE__ */ s(
|
|
14333
|
-
|
|
14350
|
+
hs,
|
|
14334
14351
|
{
|
|
14335
14352
|
separator: /* @__PURE__ */ e(R, { bold: !0, color: "grey.600", sx: { fontWeight: 700 }, variant: "Small", children: "/" }),
|
|
14336
14353
|
children: [
|
|
@@ -17055,7 +17072,7 @@ const u9 = ({
|
|
|
17055
17072
|
borderBottomLeftRadius: 8,
|
|
17056
17073
|
borderBottomRightRadius: 8
|
|
17057
17074
|
}
|
|
17058
|
-
}),
|
|
17075
|
+
}), fo = {
|
|
17059
17076
|
institutionName: "",
|
|
17060
17077
|
institutionWebsite: ""
|
|
17061
17078
|
}, rn = {
|
|
@@ -17064,7 +17081,7 @@ const u9 = ({
|
|
|
17064
17081
|
institutionWebsite: ""
|
|
17065
17082
|
}, wv = C(
|
|
17066
17083
|
({ copy: A, isOpen: t, onClose: i, onSave: n }) => {
|
|
17067
|
-
const { alert: r, isLoading: o, setAlert: I } = Tn(), [a, c] = h.useState(
|
|
17084
|
+
const { alert: r, isLoading: o, setAlert: I } = Tn(), [a, c] = h.useState(fo), [d, f] = h.useState(rn), E = [
|
|
17068
17085
|
{ name: "institutionName", required: !0 },
|
|
17069
17086
|
{ name: "institutionWebsite", required: !0 },
|
|
17070
17087
|
{ name: "institutionLoginPage", required: !1 }
|
|
@@ -17072,7 +17089,7 @@ const u9 = ({
|
|
|
17072
17089
|
...H,
|
|
17073
17090
|
label: A.popular_topics_missing_institution_fields[b.toString()]
|
|
17074
17091
|
})), l = () => {
|
|
17075
|
-
c(
|
|
17092
|
+
c(fo), f(rn), i();
|
|
17076
17093
|
}, v = (H) => {
|
|
17077
17094
|
const {
|
|
17078
17095
|
target: { name: b, value: p }
|
|
@@ -17154,7 +17171,7 @@ const u9 = ({
|
|
|
17154
17171
|
}
|
|
17155
17172
|
),
|
|
17156
17173
|
/* @__PURE__ */ e(re, { children: /* @__PURE__ */ e(ce, {}) })
|
|
17157
|
-
] }) }),
|
|
17174
|
+
] }) }), 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
17175
|
/* @__PURE__ */ e(
|
|
17159
17176
|
yv,
|
|
17160
17177
|
{
|
|
@@ -17211,7 +17228,7 @@ const u9 = ({
|
|
|
17211
17228
|
children: A.request_support_institution_topic_label
|
|
17212
17229
|
}
|
|
17213
17230
|
),
|
|
17214
|
-
/* @__PURE__ */ e(
|
|
17231
|
+
/* @__PURE__ */ e(BI, { list: a, onClick: i, sx: { fontWeight: 600 } })
|
|
17215
17232
|
] }) });
|
|
17216
17233
|
}, jv = ({ copy: A, onButtonClick: t }) => {
|
|
17217
17234
|
const i = mv();
|
|
@@ -17371,7 +17388,7 @@ const u9 = ({
|
|
|
17371
17388
|
}
|
|
17372
17389
|
),
|
|
17373
17390
|
/* @__PURE__ */ e(
|
|
17374
|
-
|
|
17391
|
+
BI,
|
|
17375
17392
|
{
|
|
17376
17393
|
list: p,
|
|
17377
17394
|
onClick: w,
|
|
@@ -17798,7 +17815,7 @@ const Bv = ({
|
|
|
17798
17815
|
field: "created_at",
|
|
17799
17816
|
headerName: r.mobile_devices_column_added,
|
|
17800
17817
|
renderHeader: we,
|
|
17801
|
-
valueFormatter: (a) =>
|
|
17818
|
+
valueFormatter: (a) => Qo(yA(a), { addSuffix: !0 }),
|
|
17802
17819
|
sortable: !0,
|
|
17803
17820
|
hideSortIcons: !1,
|
|
17804
17821
|
flex: 1,
|
|
@@ -17893,7 +17910,7 @@ const Bv = ({
|
|
|
17893
17910
|
children: /* @__PURE__ */ s(P, { gap: 4, children: [
|
|
17894
17911
|
/* @__PURE__ */ e(R, { bold: !0, variant: "Body", children: c.name }),
|
|
17895
17912
|
/* @__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:
|
|
17913
|
+
/* @__PURE__ */ e(R, { color: n.palette.text.secondary, variant: "Small", children: Qo(yA(c.created_at), { addSuffix: !0 }) })
|
|
17897
17914
|
] })
|
|
17898
17915
|
}
|
|
17899
17916
|
),
|
|
@@ -18144,7 +18161,7 @@ const Bv = ({
|
|
|
18144
18161
|
const r = RA();
|
|
18145
18162
|
return /* @__PURE__ */ e(W, { sx: { bgcolor: r.palette.background.paper }, children: /* @__PURE__ */ s(aA, { alignItems: "flex-start", onClick: A, sx: n, children: [
|
|
18146
18163
|
/* @__PURE__ */ e(eA, { primary: t, secondary: i }),
|
|
18147
|
-
/* @__PURE__ */ e(re, { children: /* @__PURE__ */ e(
|
|
18164
|
+
/* @__PURE__ */ e(re, { children: /* @__PURE__ */ e(Ea, {}) })
|
|
18148
18165
|
] }) });
|
|
18149
18166
|
}
|
|
18150
18167
|
), kv = C(() => {
|
|
@@ -18354,7 +18371,7 @@ const Bv = ({
|
|
|
18354
18371
|
}
|
|
18355
18372
|
),
|
|
18356
18373
|
t.sms_notifications_enabled && /* @__PURE__ */ e(ze, { sx: { backgroundColor: "background.default", mt: 12 }, children: /* @__PURE__ */ e(Ce, { children: /* @__PURE__ */ s(P, { alignItems: "flex-start", direction: "row", gap: 6, children: [
|
|
18357
|
-
/* @__PURE__ */ e(
|
|
18374
|
+
/* @__PURE__ */ e(ts, { color: "primary", filled: !0 }),
|
|
18358
18375
|
/* @__PURE__ */ e(R, { sx: { whiteSpace: "wrap" }, variant: "XSmall", children: A.delivery_method_sms_note_1 })
|
|
18359
18376
|
] }) }) })
|
|
18360
18377
|
] });
|
|
@@ -18364,7 +18381,7 @@ const Bv = ({
|
|
|
18364
18381
|
t.account?.day_payment_is_due || 0
|
|
18365
18382
|
), l = t.account?.name || t.account?.feed_name || "", v = t.account?.day_payment_is_due ? z(
|
|
18366
18383
|
n.notification_debt_payment_date,
|
|
18367
|
-
|
|
18384
|
+
ko(t.account?.day_payment_is_due)
|
|
18368
18385
|
) : n.notification_debt_payment_zero_state, u = o ? v : M(t.threshold ?? 0, "0,0"), H = async () => {
|
|
18369
18386
|
o && t.account ? await r({ ...t.account, day_payment_is_due: f }) : A({ ...t, threshold: c });
|
|
18370
18387
|
};
|
|
@@ -18756,7 +18773,7 @@ class GP {
|
|
|
18756
18773
|
globalUiStore;
|
|
18757
18774
|
isInitialized = !1;
|
|
18758
18775
|
constructor(t = rR) {
|
|
18759
|
-
this.accountStore = new mR(this), this.appDataStore = new
|
|
18776
|
+
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
18777
|
}
|
|
18761
18778
|
initialize = async (t, i) => {
|
|
18762
18779
|
await this.copyStore.initialize(t, i), await this.appDataStore.initialize(t, i), Promise.all([
|
|
@@ -18909,7 +18926,7 @@ const on = ({
|
|
|
18909
18926
|
}
|
|
18910
18927
|
)
|
|
18911
18928
|
] });
|
|
18912
|
-
}, aR = C(IR),
|
|
18929
|
+
}, aR = C(IR), SI = (A, t) => {
|
|
18913
18930
|
const { connection_messages: i } = t;
|
|
18914
18931
|
switch (A.connection_status) {
|
|
18915
18932
|
case ie.CHALLENGED:
|
|
@@ -19048,7 +19065,7 @@ const on = ({
|
|
|
19048
19065
|
const n = () => {
|
|
19049
19066
|
const r = A.successfully_aggregated_at ? yA(A.successfully_aggregated_at) : void 0, o = r && nA(r, AA.TIME_STAMP_HOUR_MINUTE);
|
|
19050
19067
|
if (o)
|
|
19051
|
-
return mn(r) ? z(t.last_updated_at, t.today, o) :
|
|
19068
|
+
return mn(r) ? z(t.last_updated_at, t.today, o) : Ds(r) ? z(t.last_updated_at, t.yesterday, o) : z(
|
|
19052
19069
|
t.last_updated_at,
|
|
19053
19070
|
nA(r, AA.MONTH_DAY_YEAR),
|
|
19054
19071
|
o
|
|
@@ -19070,7 +19087,7 @@ const on = ({
|
|
|
19070
19087
|
}, sR = () => {
|
|
19071
19088
|
const [A, t] = h.useState(!1), {
|
|
19072
19089
|
palette: { mode: i }
|
|
19073
|
-
} = RA(), { selectedMember: n } = Xe(), { accounts: r, connect: o } = X(), I =
|
|
19090
|
+
} = RA(), { selectedMember: n } = Xe(), { accounts: r, connect: o } = X(), I = SI(n, o), a = So.includes(n.connection_status) ? {
|
|
19074
19091
|
color: "error.main",
|
|
19075
19092
|
ctaCopy: I.cta ?? "",
|
|
19076
19093
|
icon: /* @__PURE__ */ e(Qi, { sx: { ...In } }),
|
|
@@ -19078,7 +19095,7 @@ const on = ({
|
|
|
19078
19095
|
secondaryMessage: `${I.title}.`
|
|
19079
19096
|
} : {
|
|
19080
19097
|
color: "success.main",
|
|
19081
|
-
icon: /* @__PURE__ */ e(
|
|
19098
|
+
icon: /* @__PURE__ */ e(ys, { sx: { ...In } }),
|
|
19082
19099
|
mainMessage: I.statusName,
|
|
19083
19100
|
secondaryMessage: I.title
|
|
19084
19101
|
};
|
|
@@ -19114,7 +19131,7 @@ const on = ({
|
|
|
19114
19131
|
},
|
|
19115
19132
|
size: 32,
|
|
19116
19133
|
children: /* @__PURE__ */ e(
|
|
19117
|
-
|
|
19134
|
+
xs,
|
|
19118
19135
|
{
|
|
19119
19136
|
sx: {
|
|
19120
19137
|
...In,
|
|
@@ -19145,10 +19162,10 @@ const on = ({
|
|
|
19145
19162
|
}, v = () => {
|
|
19146
19163
|
switch (A.type) {
|
|
19147
19164
|
case de.Select:
|
|
19148
|
-
return /* @__PURE__ */ s(
|
|
19149
|
-
/* @__PURE__ */ e(
|
|
19165
|
+
return /* @__PURE__ */ s(js, { fullWidth: !0, children: [
|
|
19166
|
+
/* @__PURE__ */ e(ms, { id: `${A.label}-select-label`, children: A.label }),
|
|
19150
19167
|
/* @__PURE__ */ e(
|
|
19151
|
-
|
|
19168
|
+
Ls,
|
|
19152
19169
|
{
|
|
19153
19170
|
id: `${A.label}-select`,
|
|
19154
19171
|
inputProps: {
|
|
@@ -19178,7 +19195,7 @@ const on = ({
|
|
|
19178
19195
|
}
|
|
19179
19196
|
);
|
|
19180
19197
|
case de.Date:
|
|
19181
|
-
return /* @__PURE__ */ e(
|
|
19198
|
+
return /* @__PURE__ */ e(Os, { dateAdapter: Ct, children: /* @__PURE__ */ e(
|
|
19182
19199
|
mi,
|
|
19183
19200
|
{
|
|
19184
19201
|
maxDate: Re(/* @__PURE__ */ new Date(), 1),
|
|
@@ -19275,11 +19292,11 @@ const on = ({
|
|
|
19275
19292
|
/* @__PURE__ */ e(aR, {})
|
|
19276
19293
|
] });
|
|
19277
19294
|
}, 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 &&
|
|
19295
|
+
const [t, i] = h.useState(!1), { selectedMember: n } = Xe(), { accounts: r, connect: o } = X(), I = n.connection_status && So.includes(n.connection_status);
|
|
19279
19296
|
if (h.useEffect(() => {
|
|
19280
19297
|
I && A(1);
|
|
19281
19298
|
}, [I]), !I) return;
|
|
19282
|
-
const a =
|
|
19299
|
+
const a = SI(n, o);
|
|
19283
19300
|
return /* @__PURE__ */ s(Z, { children: [
|
|
19284
19301
|
/* @__PURE__ */ e(
|
|
19285
19302
|
De,
|
|
@@ -19308,7 +19325,7 @@ const on = ({
|
|
|
19308
19325
|
a.title && /* @__PURE__ */ e(En, { sx: { fontWeight: 600, marginTop: 2 }, variant: "Body", children: a.title }),
|
|
19309
19326
|
/* @__PURE__ */ e(R, { component: "p", sx: { whiteSpace: "wrap" }, variant: "ParagraphSmall", children: a.main }),
|
|
19310
19327
|
a.cta && /* @__PURE__ */ e(
|
|
19311
|
-
|
|
19328
|
+
No,
|
|
19312
19329
|
{
|
|
19313
19330
|
onClick: () => i(!0),
|
|
19314
19331
|
sx: { fontSize: 15, fontWeight: 600, ml: 0 },
|
|
@@ -19334,7 +19351,7 @@ const on = ({
|
|
|
19334
19351
|
const [A, t] = h.useState(""), { onEvent: i } = K(), { selectedAccount: n } = Xe(), { accounts: r } = X(), { setFilter: o, sortedTransactions: I } = PA(), a = h.useMemo(() => I.find((c) => c.guid === A), [A]);
|
|
19335
19352
|
return h.useEffect(() => {
|
|
19336
19353
|
o({
|
|
19337
|
-
dateRange: { start:
|
|
19354
|
+
dateRange: { start: fs(ds(), 90), end: Es() },
|
|
19338
19355
|
accounts: [n.guid]
|
|
19339
19356
|
});
|
|
19340
19357
|
}, [n]), h.useEffect(() => i(V.ACCOUNT_DETAILS_VIEW_TRANSACTIONS), []), /* @__PURE__ */ s(Z, { children: [
|
|
@@ -19385,7 +19402,7 @@ const on = ({
|
|
|
19385
19402
|
/* @__PURE__ */ e(Qt, { index: 0, name: "transaction-details", value: A, children: /* @__PURE__ */ e(bR, {}) }),
|
|
19386
19403
|
/* @__PURE__ */ e(Qt, { index: 1, name: "account-details", value: A, children: /* @__PURE__ */ e(vR, {}) })
|
|
19387
19404
|
] });
|
|
19388
|
-
},
|
|
19405
|
+
}, UI = C(HR), zR = () => {
|
|
19389
19406
|
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
19407
|
return h.useEffect(() => {
|
|
19391
19408
|
if (d) {
|
|
@@ -19455,13 +19472,13 @@ const on = ({
|
|
|
19455
19472
|
title: i.account_details,
|
|
19456
19473
|
children: [
|
|
19457
19474
|
/* @__PURE__ */ e($n, {}),
|
|
19458
|
-
/* @__PURE__ */ e(
|
|
19475
|
+
/* @__PURE__ */ e(UI, {})
|
|
19459
19476
|
]
|
|
19460
19477
|
}
|
|
19461
19478
|
)
|
|
19462
19479
|
] });
|
|
19463
19480
|
}, CR = C(zR), gR = ({ onBackClick: A, sx: t = {} }) => {
|
|
19464
|
-
const [i, n] = h.useState(!1), [r, o] = h.useState(!1), { config: I } =
|
|
19481
|
+
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
19482
|
h.useEffect(() => {
|
|
19466
19483
|
f(a);
|
|
19467
19484
|
}, [a]);
|
|
@@ -19498,7 +19515,7 @@ const on = ({
|
|
|
19498
19515
|
/* @__PURE__ */ e(CR, {})
|
|
19499
19516
|
] }),
|
|
19500
19517
|
/* @__PURE__ */ e(
|
|
19501
|
-
|
|
19518
|
+
VI,
|
|
19502
19519
|
{
|
|
19503
19520
|
onClose: () => n(!1),
|
|
19504
19521
|
showConnectionsWidget: i,
|
|
@@ -20022,7 +20039,7 @@ const on = ({
|
|
|
20022
20039
|
)
|
|
20023
20040
|
] });
|
|
20024
20041
|
}, TP = C(DR);
|
|
20025
|
-
class
|
|
20042
|
+
class Eo {
|
|
20026
20043
|
fetchInstance;
|
|
20027
20044
|
constructor(t, i) {
|
|
20028
20045
|
this.fetchInstance = new Ae(t, i);
|
|
@@ -20049,7 +20066,7 @@ class jR {
|
|
|
20049
20066
|
setSelectedMember = (t) => this.selectedMember = t;
|
|
20050
20067
|
}
|
|
20051
20068
|
class mR {
|
|
20052
|
-
api = new
|
|
20069
|
+
api = new Eo("/", "");
|
|
20053
20070
|
globalStore;
|
|
20054
20071
|
accounts = [];
|
|
20055
20072
|
institutions = [];
|
|
@@ -20059,7 +20076,7 @@ class mR {
|
|
|
20059
20076
|
this.globalStore = t, this.uiStore = new jR(), DA(this);
|
|
20060
20077
|
}
|
|
20061
20078
|
initialize = async (t, i) => {
|
|
20062
|
-
this.api = new
|
|
20079
|
+
this.api = new Eo(t, i), await Promise.all([this.loadAccounts(), this.loadInstitutions()]);
|
|
20063
20080
|
};
|
|
20064
20081
|
get cashAccounts() {
|
|
20065
20082
|
return this.accounts.filter(
|
|
@@ -20104,7 +20121,7 @@ class mR {
|
|
|
20104
20121
|
if (r > -1) {
|
|
20105
20122
|
let o = bt.Connected;
|
|
20106
20123
|
const I = this.members[r];
|
|
20107
|
-
|
|
20124
|
+
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
20125
|
...n,
|
|
20109
20126
|
memberName: I.name,
|
|
20110
20127
|
connectionStatus: o
|
|
@@ -20204,7 +20221,7 @@ class mR {
|
|
|
20204
20221
|
}
|
|
20205
20222
|
};
|
|
20206
20223
|
}
|
|
20207
|
-
const
|
|
20224
|
+
const ho = 5, OR = 100, LR = 25, QR = (A) => {
|
|
20208
20225
|
const t = (r) => {
|
|
20209
20226
|
r.active || A.alphaTarget(0.3).restart(), r.subject.fx = r.subject.x, r.subject.fy = r.subject.y;
|
|
20210
20227
|
}, i = (r) => {
|
|
@@ -20216,7 +20233,7 @@ const Eo = 5, OR = 100, LR = 25, QR = (A) => {
|
|
|
20216
20233
|
}, qR = (A) => {
|
|
20217
20234
|
let t = A.transaction_total / A.amount;
|
|
20218
20235
|
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 -
|
|
20236
|
+
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
20237
|
return (o) => (r.endAngle(n(o)), r(A) || "");
|
|
20221
20238
|
}, GR = (A) => {
|
|
20222
20239
|
ue.selectAll(".bubble").call(QR(A));
|
|
@@ -20245,7 +20262,7 @@ const Eo = 5, OR = 100, LR = 25, QR = (A) => {
|
|
|
20245
20262
|
return ue.forceSimulation(r).velocityDecay(0.05).force("collide", ue.forceCollide((o) => o.radius + 2).strength(0.5)).on("tick", () => {
|
|
20246
20263
|
ue.selectAll(".bubble").data(r).attr("transform", (o) => `translate(${o.x},${o.y})`);
|
|
20247
20264
|
});
|
|
20248
|
-
},
|
|
20265
|
+
}, lo = 5, YR = 2e3;
|
|
20249
20266
|
function VR({ bubble: A }) {
|
|
20250
20267
|
const t = RA(), {
|
|
20251
20268
|
guid: i,
|
|
@@ -20255,7 +20272,7 @@ function VR({ bubble: A }) {
|
|
|
20255
20272
|
h.useEffect(() => {
|
|
20256
20273
|
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
20274
|
}, [A]);
|
|
20258
|
-
const I = ue.arc().innerRadius((a) => a - 2 *
|
|
20275
|
+
const I = ue.arc().innerRadius((a) => a - 2 * lo).outerRadius((a) => a - lo).startAngle(0).endAngle(2 * Math.PI);
|
|
20259
20276
|
return /* @__PURE__ */ e("g", { className: o, children: /* @__PURE__ */ e(
|
|
20260
20277
|
"path",
|
|
20261
20278
|
{
|
|
@@ -20264,7 +20281,7 @@ function VR({ bubble: A }) {
|
|
|
20264
20281
|
}
|
|
20265
20282
|
) });
|
|
20266
20283
|
}
|
|
20267
|
-
const yt = 75,
|
|
20284
|
+
const yt = 75, vo = 50;
|
|
20268
20285
|
function BR({ bubble: A, isDraggable: t, onClick: i = () => {
|
|
20269
20286
|
} }) {
|
|
20270
20287
|
const [n, r] = h.useState(!1);
|
|
@@ -20341,7 +20358,7 @@ function BR({ bubble: A, isDraggable: t, onClick: i = () => {
|
|
|
20341
20358
|
children: c
|
|
20342
20359
|
}
|
|
20343
20360
|
),
|
|
20344
|
-
E >
|
|
20361
|
+
E > vo && /* @__PURE__ */ e(
|
|
20345
20362
|
R,
|
|
20346
20363
|
{
|
|
20347
20364
|
bold: !0,
|
|
@@ -20353,7 +20370,7 @@ function BR({ bubble: A, isDraggable: t, onClick: i = () => {
|
|
|
20353
20370
|
children: E <= yt ? f.split(" ")[0] : f
|
|
20354
20371
|
}
|
|
20355
20372
|
),
|
|
20356
|
-
E <= yt && E >
|
|
20373
|
+
E <= yt && E > vo && /* @__PURE__ */ e(
|
|
20357
20374
|
R,
|
|
20358
20375
|
{
|
|
20359
20376
|
component: "text",
|
|
@@ -20389,7 +20406,7 @@ const SR = ({
|
|
|
20389
20406
|
/* @__PURE__ */ e(R, { bold: !0, variant: "Paragraph", children: A.zero_state_title }),
|
|
20390
20407
|
/* @__PURE__ */ e(R, { sx: { whiteSpace: "wrap" }, variant: "Paragraph", children: A.zero_state_description })
|
|
20391
20408
|
] });
|
|
20392
|
-
},
|
|
20409
|
+
}, FI = C(
|
|
20393
20410
|
({ height: A, isDraggable: t = !1, shouldShowZeroState: i, unavailableWidth: n = 24 }) => {
|
|
20394
20411
|
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
20412
|
o(l), r(V.BUDGETS_CLICK_BUDGET_CATEGORY, {
|
|
@@ -20408,7 +20425,7 @@ const SR = ({
|
|
|
20408
20425
|
) });
|
|
20409
20426
|
}
|
|
20410
20427
|
), WR = (A) => {
|
|
20411
|
-
const t = RA(), { budgets: i, loadBudgets: n, setTheme: r } = te(), { budgets: o } = X(), I =
|
|
20428
|
+
const t = RA(), { budgets: i, loadBudgets: n, setTheme: r } = te(), { budgets: o } = X(), I = tf(), a = i.length === 0;
|
|
20412
20429
|
return h.useEffect(() => {
|
|
20413
20430
|
r(t), n().finally();
|
|
20414
20431
|
}, []), /* @__PURE__ */ e(
|
|
@@ -20418,7 +20435,7 @@ const SR = ({
|
|
|
20418
20435
|
title: o.budgets_title,
|
|
20419
20436
|
...A,
|
|
20420
20437
|
children: /* @__PURE__ */ s(P, { height: 450, mt: 32, children: [
|
|
20421
|
-
/* @__PURE__ */ e(
|
|
20438
|
+
/* @__PURE__ */ e(FI, { height: 370, shouldShowZeroState: a }),
|
|
20422
20439
|
!a && /* @__PURE__ */ s(L, { ml: 16, children: [
|
|
20423
20440
|
/* @__PURE__ */ e(R, { bold: !0, color: I < 0 ? "error.main" : "success.main", children: M(Math.abs(I), "0,0") }),
|
|
20424
20441
|
/* @__PURE__ */ e(R, { children: I < 0 ? o.overspent_in_budgets : o.left_in_budgets })
|
|
@@ -20437,7 +20454,7 @@ const SR = ({
|
|
|
20437
20454
|
transaction_total: d
|
|
20438
20455
|
} = A;
|
|
20439
20456
|
return /* @__PURE__ */ e(W, { children: /* @__PURE__ */ s(aA, { onClick: () => t?.(A), children: [
|
|
20440
|
-
/* @__PURE__ */ e(xA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ e(
|
|
20457
|
+
/* @__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
20458
|
/* @__PURE__ */ e(
|
|
20442
20459
|
eA,
|
|
20443
20460
|
{
|
|
@@ -20649,7 +20666,7 @@ const SR = ({
|
|
|
20649
20666
|
secondary: M(A.totalAmount, "0,0")
|
|
20650
20667
|
}
|
|
20651
20668
|
),
|
|
20652
|
-
/* @__PURE__ */ e(
|
|
20669
|
+
/* @__PURE__ */ e(Qs, { children: /* @__PURE__ */ e(q, { name: "add", size: 20 }) })
|
|
20653
20670
|
] }) }, A.guid),
|
|
20654
20671
|
/* @__PURE__ */ e(
|
|
20655
20672
|
XA,
|
|
@@ -20680,7 +20697,7 @@ const SR = ({
|
|
|
20680
20697
|
)) }) }),
|
|
20681
20698
|
/* @__PURE__ */ e($R, { onRecalculateBudgets: A })
|
|
20682
20699
|
] });
|
|
20683
|
-
}),
|
|
20700
|
+
}), WI = ({ budget: A }) => {
|
|
20684
20701
|
const {
|
|
20685
20702
|
amount: t,
|
|
20686
20703
|
budgetColors: { background: i },
|
|
@@ -20716,7 +20733,7 @@ const SR = ({
|
|
|
20716
20733
|
transaction_total: o
|
|
20717
20734
|
} = A, { setSelectedSubBudget: I } = te();
|
|
20718
20735
|
return /* @__PURE__ */ e(W, { children: /* @__PURE__ */ s(aA, { onClick: () => I(A), children: [
|
|
20719
|
-
/* @__PURE__ */ e(xA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ e(
|
|
20736
|
+
/* @__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
20737
|
/* @__PURE__ */ e(
|
|
20721
20738
|
eA,
|
|
20722
20739
|
{
|
|
@@ -20757,7 +20774,7 @@ const SR = ({
|
|
|
20757
20774
|
isOpen: a,
|
|
20758
20775
|
onClose: () => c(!1),
|
|
20759
20776
|
title: i.add_sub_budget_title,
|
|
20760
|
-
children: /* @__PURE__ */ e(rA, { children: /* @__PURE__ */ e(
|
|
20777
|
+
children: /* @__PURE__ */ e(rA, { children: /* @__PURE__ */ e(dI, { category: A, subCategories: A.subCategories }) })
|
|
20761
20778
|
}
|
|
20762
20779
|
),
|
|
20763
20780
|
/* @__PURE__ */ e(
|
|
@@ -20821,7 +20838,7 @@ const SR = ({
|
|
|
20821
20838
|
secondaryText: n.details_delete_button,
|
|
20822
20839
|
title: n.details_title,
|
|
20823
20840
|
children: I && /* @__PURE__ */ s(P, { gap: 24, children: [
|
|
20824
|
-
/* @__PURE__ */ e(
|
|
20841
|
+
/* @__PURE__ */ e(WI, { budget: I }),
|
|
20825
20842
|
/* @__PURE__ */ e(Rt, { height: "100%" })
|
|
20826
20843
|
] })
|
|
20827
20844
|
}
|
|
@@ -20868,10 +20885,10 @@ const SR = ({
|
|
|
20868
20885
|
), l = (u, H) => {
|
|
20869
20886
|
c(H);
|
|
20870
20887
|
}, v = () => {
|
|
20871
|
-
|
|
20888
|
+
fI(o, I), r(t.alert_csv_downloaded);
|
|
20872
20889
|
};
|
|
20873
20890
|
return /* @__PURE__ */ s(P, { gap: 24, children: [
|
|
20874
|
-
/* @__PURE__ */ e(
|
|
20891
|
+
/* @__PURE__ */ e(WI, { budget: A }),
|
|
20875
20892
|
/* @__PURE__ */ s(P, { children: [
|
|
20876
20893
|
/* @__PURE__ */ s(
|
|
20877
20894
|
Se,
|
|
@@ -20991,7 +21008,7 @@ const SR = ({
|
|
|
20991
21008
|
}
|
|
20992
21009
|
)
|
|
20993
21010
|
] });
|
|
20994
|
-
}),
|
|
21011
|
+
}), Ro = 480, VP = C(({ onBackClick: A, sx: t }) => {
|
|
20995
21012
|
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: b } = te(), { loadCashflowSequences: p } = ZA(), { isDesktop: y, isTablet: x } = zA(), { reloadCategoryTotals: w } = qA(), [D, j] = h.useState(!1), [m, O] = h.useState(!1);
|
|
20996
21013
|
h.useEffect(() => {
|
|
20997
21014
|
b(i), f(r), d(l.start, l.end), n(V.BUDGETS_VIEW);
|
|
@@ -21029,12 +21046,12 @@ const SR = ({
|
|
|
21029
21046
|
(!a || !D) && /* @__PURE__ */ e(ee, {}),
|
|
21030
21047
|
a && D && /* @__PURE__ */ s(P, { direction: y || x ? "row" : "column", height: "100%", width: "100%", children: [
|
|
21031
21048
|
/* @__PURE__ */ e(P, { height: y || x ? "calc(100dvh - 150px)" : 450, children: /* @__PURE__ */ e(
|
|
21032
|
-
|
|
21049
|
+
FI,
|
|
21033
21050
|
{
|
|
21034
21051
|
height: y || x ? 800 : 450,
|
|
21035
21052
|
isDraggable: !0,
|
|
21036
21053
|
shouldShowZeroState: !1,
|
|
21037
|
-
unavailableWidth: y || x ?
|
|
21054
|
+
unavailableWidth: y || x ? Ro : 0
|
|
21038
21055
|
}
|
|
21039
21056
|
) }),
|
|
21040
21057
|
/* @__PURE__ */ s(
|
|
@@ -21043,7 +21060,7 @@ const SR = ({
|
|
|
21043
21060
|
gap: 24,
|
|
21044
21061
|
height: "100%",
|
|
21045
21062
|
sx: { mr: 24 },
|
|
21046
|
-
width: y || x ?
|
|
21063
|
+
width: y || x ? Ro : "100%",
|
|
21047
21064
|
children: [
|
|
21048
21065
|
/* @__PURE__ */ e(ZR, {}),
|
|
21049
21066
|
/* @__PURE__ */ e(KR, {})
|
|
@@ -21139,7 +21156,7 @@ const a3 = C(() => {
|
|
|
21139
21156
|
/* @__PURE__ */ e(R, { color: "text.secondary", sx: { fontSize: 15 }, children: r.heres_your_spending_overview })
|
|
21140
21157
|
] }),
|
|
21141
21158
|
/* @__PURE__ */ e(
|
|
21142
|
-
|
|
21159
|
+
_o,
|
|
21143
21160
|
{
|
|
21144
21161
|
accounts: A,
|
|
21145
21162
|
copy: o,
|
|
@@ -21230,12 +21247,12 @@ const tr = {
|
|
|
21230
21247
|
WeeklyNewMerchantsV2: "WeeklyNewMerchantsV2",
|
|
21231
21248
|
MonthlySpendComparison: "MonthlySpendComparison",
|
|
21232
21249
|
MonthlySpendToIncomeComparison: "MonthlySpendToIncomeComparison"
|
|
21233
|
-
}, ye = window?.app?.clientConfig?.microwidget_instance_id || "",
|
|
21250
|
+
}, ye = window?.app?.clientConfig?.microwidget_instance_id || "", uo = {
|
|
21234
21251
|
INSIGHTS_MICRO_WIDGET: "/micro-insights-carousel"
|
|
21235
|
-
},
|
|
21252
|
+
}, 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
21253
|
(A, t) => ({
|
|
21237
21254
|
...A,
|
|
21238
|
-
[
|
|
21255
|
+
[kI(t)]: {
|
|
21239
21256
|
action: et.MICRO_BEAT_CLICKED,
|
|
21240
21257
|
category: At.BEAT_INTERACTION,
|
|
21241
21258
|
label: ir(t),
|
|
@@ -21246,7 +21263,7 @@ const tr = {
|
|
|
21246
21263
|
), h3 = () => Object.values(tr).reduce(
|
|
21247
21264
|
(A, t) => ({
|
|
21248
21265
|
...A,
|
|
21249
|
-
[
|
|
21266
|
+
[KI(t)]: {
|
|
21250
21267
|
action: et.MICRO_BEAT_DISPLAYED,
|
|
21251
21268
|
category: At.BEAT_INTERACTION,
|
|
21252
21269
|
label: ir(t),
|
|
@@ -21257,7 +21274,7 @@ const tr = {
|
|
|
21257
21274
|
), l3 = () => Object.values(tr).reduce(
|
|
21258
21275
|
(A, t) => ({
|
|
21259
21276
|
...A,
|
|
21260
|
-
[
|
|
21277
|
+
[ZI(t)]: {
|
|
21261
21278
|
action: et.MICRO_BEAT_DISPLAYED_FIRST_TIME,
|
|
21262
21279
|
category: At.BEAT_INTERACTION,
|
|
21263
21280
|
label: ir(t),
|
|
@@ -21280,7 +21297,7 @@ const tr = {
|
|
|
21280
21297
|
ON_CAROUSEL_FORWARD_SWIPE: "onCarouselForwardSwipe",
|
|
21281
21298
|
ON_NO_RELEVANT_INSIGHTS_CLICKED: "onNoRelevantInsightsClicked",
|
|
21282
21299
|
ON_VIEW_MORE_CLICKED: "onViewMoreClicked"
|
|
21283
|
-
},
|
|
21300
|
+
}, JI = {
|
|
21284
21301
|
ON_VIEW_MORE_VIEWED: "onViewMoreCardView"
|
|
21285
21302
|
}, et = {
|
|
21286
21303
|
CONTROL_BACKWARD: "Control Backward",
|
|
@@ -21294,18 +21311,18 @@ const tr = {
|
|
|
21294
21311
|
MICRO_WIDGET_CAROUSEL: "Micro Widget Carousel",
|
|
21295
21312
|
MICRO_WIDGET_CAROUSEL_ZERO_STATE: "Micro Widget Carousel Zero State",
|
|
21296
21313
|
MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS: "Micro Widget Carousel No Relevant Insights"
|
|
21297
|
-
},
|
|
21314
|
+
}, Po = {
|
|
21298
21315
|
[at.MICRO_WIDGET_CAROUSEL]: {
|
|
21299
21316
|
label: $e.MICRO_WIDGET,
|
|
21300
21317
|
name: at.MICRO_WIDGET_CAROUSEL,
|
|
21301
|
-
path:
|
|
21318
|
+
path: uo.INSIGHTS_MICRO_WIDGET,
|
|
21302
21319
|
value: ye
|
|
21303
21320
|
},
|
|
21304
21321
|
// zero state
|
|
21305
21322
|
[at.MICRO_WIDGET_CAROUSEL_ZERO_STATE]: {
|
|
21306
21323
|
label: $e.MICRO_WIDGET,
|
|
21307
21324
|
name: at.MICRO_WIDGET_CAROUSEL_ZERO_STATE,
|
|
21308
|
-
path:
|
|
21325
|
+
path: uo.INSIGHTS_MICRO_WIDGET,
|
|
21309
21326
|
value: ye
|
|
21310
21327
|
},
|
|
21311
21328
|
// no relevant cards
|
|
@@ -21315,7 +21332,7 @@ const tr = {
|
|
|
21315
21332
|
path: "/micro-widget",
|
|
21316
21333
|
value: ye
|
|
21317
21334
|
}
|
|
21318
|
-
},
|
|
21335
|
+
}, bo = {
|
|
21319
21336
|
// carousel control interaction events - clicks and swipes
|
|
21320
21337
|
[xe.ON_CAROUSEL_BACK_CLICK]: {
|
|
21321
21338
|
action: et.CONTROL_BACKWARD,
|
|
@@ -21348,7 +21365,7 @@ const tr = {
|
|
|
21348
21365
|
label: $e.VIEW_MORE,
|
|
21349
21366
|
value: ye
|
|
21350
21367
|
},
|
|
21351
|
-
[
|
|
21368
|
+
[JI.ON_VIEW_MORE_VIEWED]: {
|
|
21352
21369
|
action: et.MICRO_BEAT_DISPLAYED,
|
|
21353
21370
|
category: At.BEAT_INTERACTION,
|
|
21354
21371
|
label: $e.VIEW_MORE,
|
|
@@ -21357,25 +21374,25 @@ const tr = {
|
|
|
21357
21374
|
...E3(),
|
|
21358
21375
|
...h3(),
|
|
21359
21376
|
...l3()
|
|
21360
|
-
},
|
|
21377
|
+
}, Ho = async (A, t) => !t || !bo[A] ? null : t.sendAnalyticEvent(bo[A]).then((i) => i).catch((i) => {
|
|
21361
21378
|
throw i;
|
|
21362
|
-
}),
|
|
21379
|
+
}), zo = async (A, t) => !t || !Po[A] ? null : t.sendAnalyticsPageview(Po[A]).then((i) => i).catch((i) => {
|
|
21363
21380
|
throw i;
|
|
21364
21381
|
});
|
|
21365
21382
|
class v3 {
|
|
21366
|
-
onAnalyticEvent =
|
|
21367
|
-
onAnalyticPageView =
|
|
21383
|
+
onAnalyticEvent = Ho;
|
|
21384
|
+
onAnalyticPageView = zo;
|
|
21368
21385
|
beatApi = new Lt("/", "");
|
|
21369
21386
|
constructor() {
|
|
21370
21387
|
DA(this);
|
|
21371
21388
|
}
|
|
21372
21389
|
initialize = async (t, i, n) => {
|
|
21373
21390
|
this.onAnalyticEvent = (r, o) => {
|
|
21374
|
-
|
|
21391
|
+
Ho(r, o).then((I) => I).catch((I) => {
|
|
21375
21392
|
throw I.status === 401 && n(), I;
|
|
21376
21393
|
});
|
|
21377
21394
|
}, this.onAnalyticPageView = (r, o) => {
|
|
21378
|
-
|
|
21395
|
+
zo(r, o).then((I) => I).catch((I) => {
|
|
21379
21396
|
throw I.status === 401 && n(), I;
|
|
21380
21397
|
});
|
|
21381
21398
|
}, this.beatApi = new Lt(t, i);
|
|
@@ -21398,7 +21415,7 @@ class R3 {
|
|
|
21398
21415
|
this.copyStore = new d3(), this.insightsMicroWidgetStore = new v3(), DA(this);
|
|
21399
21416
|
}
|
|
21400
21417
|
initialize = async (t, i, n) => {
|
|
21401
|
-
await this.copyStore.initialize(t, i), await this.insightsMicroWidgetStore.initialize(t, i, n), this.session = await
|
|
21418
|
+
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
21419
|
this.isInitialized = !0;
|
|
21403
21420
|
});
|
|
21404
21421
|
};
|
|
@@ -21503,7 +21520,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
21503
21520
|
}
|
|
21504
21521
|
),
|
|
21505
21522
|
/* @__PURE__ */ e(Ce, { sx: { p: 0 }, children: !c && j }),
|
|
21506
|
-
!!t && /* @__PURE__ */ e(
|
|
21523
|
+
!!t && /* @__PURE__ */ e(qs, { sx: { padding: 0 }, children: /* @__PURE__ */ e(
|
|
21507
21524
|
L,
|
|
21508
21525
|
{
|
|
21509
21526
|
sx: (m) => ({
|
|
@@ -21583,7 +21600,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
21583
21600
|
}, p3 = ({ beat: A }) => {
|
|
21584
21601
|
const t = KA(), i = X3(A.data_series, t);
|
|
21585
21602
|
return /* @__PURE__ */ e(q, { name: "bar_chart", sx: { color: i } });
|
|
21586
|
-
},
|
|
21603
|
+
}, _I = () => /* @__PURE__ */ s("svg", { fill: "none", height: "36", viewBox: "0 0 40 36", width: "40", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
21587
21604
|
/* @__PURE__ */ e(
|
|
21588
21605
|
"path",
|
|
21589
21606
|
{
|
|
@@ -22364,7 +22381,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22364
22381
|
}
|
|
22365
22382
|
)
|
|
22366
22383
|
] })
|
|
22367
|
-
] }),
|
|
22384
|
+
] }), Co = ({ beat: A, clientColorScheme: t, color: i, type: n }) => {
|
|
22368
22385
|
const r = RA(), o = t?.primary_300 ? t.primary_300 : r.palette.primary.main;
|
|
22369
22386
|
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
22387
|
q,
|
|
@@ -22393,17 +22410,17 @@ const si = h.createContext(null), u3 = ({
|
|
|
22393
22410
|
if (!A)
|
|
22394
22411
|
throw new Error("useEvent() must be used within the InsightsMicroWidgetDataProvider");
|
|
22395
22412
|
return { onEvent: A.onEvent };
|
|
22396
|
-
},
|
|
22413
|
+
}, $I = () => {
|
|
22397
22414
|
const A = h.useContext(si);
|
|
22398
22415
|
if (!A)
|
|
22399
22416
|
throw new Error("usePageview() must be used within the InsightsMicroWidgetDataProvider");
|
|
22400
22417
|
return { onPageview: A.onPageview };
|
|
22401
|
-
},
|
|
22418
|
+
}, Aa = {
|
|
22402
22419
|
LARGE: 180,
|
|
22403
22420
|
STANDARD: 154,
|
|
22404
22421
|
XLARGE: 200,
|
|
22405
22422
|
XXLARGE: 248
|
|
22406
|
-
}, y3 = 50,
|
|
22423
|
+
}, y3 = 50, ea = 1, x3 = ({
|
|
22407
22424
|
ariaLabel: A,
|
|
22408
22425
|
backgroundColor: t,
|
|
22409
22426
|
beat: i,
|
|
@@ -22418,17 +22435,17 @@ const si = h.createContext(null), u3 = ({
|
|
|
22418
22435
|
variant: E,
|
|
22419
22436
|
widthOverrides: l
|
|
22420
22437
|
}) => {
|
|
22421
|
-
const { ref: v, inView: u } =
|
|
22422
|
-
threshold:
|
|
22438
|
+
const { ref: v, inView: u } = To({
|
|
22439
|
+
threshold: ea
|
|
22423
22440
|
}), { cardsCopy: H } = ut(), { onEvent: b } = ci(), { updateBeat: p, updateOffer: y } = w3();
|
|
22424
22441
|
Ht(() => {
|
|
22425
|
-
u && (i.has_been_displayed ? b(
|
|
22442
|
+
u && (i.has_been_displayed ? b(KI(i.template)) : (i.guid.startsWith("OFR") ? y({
|
|
22426
22443
|
...i,
|
|
22427
22444
|
has_been_displayed: !0
|
|
22428
22445
|
}) : p({
|
|
22429
22446
|
...i,
|
|
22430
22447
|
has_been_displayed: !0
|
|
22431
|
-
}), b(
|
|
22448
|
+
}), b(ZI(i.template))));
|
|
22432
22449
|
}, [u]), Ht(() => {
|
|
22433
22450
|
u && i && d?.capture("viewed_insight", {
|
|
22434
22451
|
beat_guid: i.guid,
|
|
@@ -22437,7 +22454,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22437
22454
|
});
|
|
22438
22455
|
}, [i, I, u]);
|
|
22439
22456
|
const x = () => {
|
|
22440
|
-
c && c(i), b(
|
|
22457
|
+
c && c(i), b(kI(i.template)), d?.capture("clicked_insight", {
|
|
22441
22458
|
beat_guid: i.guid,
|
|
22442
22459
|
template: i.template,
|
|
22443
22460
|
position: I
|
|
@@ -22452,8 +22469,8 @@ const si = h.createContext(null), u3 = ({
|
|
|
22452
22469
|
description: i?.html_micro_description && i?.html_micro_description.length > 0 ? i.html_micro_description : i.html_description,
|
|
22453
22470
|
fontColors: { buttonColor: n?.primary_300 },
|
|
22454
22471
|
heightOverrides: o,
|
|
22455
|
-
icon:
|
|
22456
|
-
|
|
22472
|
+
icon: Co && /* @__PURE__ */ e(
|
|
22473
|
+
Co,
|
|
22457
22474
|
{
|
|
22458
22475
|
beat: i,
|
|
22459
22476
|
clientColorScheme: n,
|
|
@@ -22491,7 +22508,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22491
22508
|
disabled: d,
|
|
22492
22509
|
onClick: r,
|
|
22493
22510
|
children: /* @__PURE__ */ e(
|
|
22494
|
-
|
|
22511
|
+
Gs,
|
|
22495
22512
|
{
|
|
22496
22513
|
style: {
|
|
22497
22514
|
color: d ? E : l
|
|
@@ -22713,7 +22730,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22713
22730
|
}
|
|
22714
22731
|
),
|
|
22715
22732
|
/* @__PURE__ */ s(
|
|
22716
|
-
|
|
22733
|
+
No,
|
|
22717
22734
|
{
|
|
22718
22735
|
onClick: I,
|
|
22719
22736
|
sx: {
|
|
@@ -22769,7 +22786,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22769
22786
|
children: i
|
|
22770
22787
|
}
|
|
22771
22788
|
);
|
|
22772
|
-
},
|
|
22789
|
+
}, ta = ({
|
|
22773
22790
|
ariaLabel: A,
|
|
22774
22791
|
carouselSize: t,
|
|
22775
22792
|
clientColorScheme: i,
|
|
@@ -22781,7 +22798,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22781
22798
|
variant: c,
|
|
22782
22799
|
widthOverrides: d
|
|
22783
22800
|
}) => {
|
|
22784
|
-
const { cardsCopy: f } = ut(), { onEvent: E } = ci(), { onPageview: l } =
|
|
22801
|
+
const { cardsCopy: f } = ut(), { onEvent: E } = ci(), { onPageview: l } = $I();
|
|
22785
22802
|
h.useEffect(() => {
|
|
22786
22803
|
l(at.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS);
|
|
22787
22804
|
}, []);
|
|
@@ -22798,7 +22815,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22798
22815
|
description: f.no_relevant_insights_card_description,
|
|
22799
22816
|
fontColors: { buttonColor: i?.primary_300 },
|
|
22800
22817
|
heightOverrides: n,
|
|
22801
|
-
icon: /* @__PURE__ */ e(
|
|
22818
|
+
icon: /* @__PURE__ */ e(_I, {}),
|
|
22802
22819
|
isZeroState: !0,
|
|
22803
22820
|
onCardClick: v,
|
|
22804
22821
|
posthog: o,
|
|
@@ -22806,7 +22823,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22806
22823
|
style: {
|
|
22807
22824
|
cardStyle: {
|
|
22808
22825
|
card: {
|
|
22809
|
-
height: `calc(${
|
|
22826
|
+
height: `calc(${Aa[t]}px - 44px)`,
|
|
22810
22827
|
margin: "0 auto",
|
|
22811
22828
|
width: a ? "calc(100% - 32px)" : "100%"
|
|
22812
22829
|
},
|
|
@@ -22823,7 +22840,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22823
22840
|
widthOverrides: d
|
|
22824
22841
|
}
|
|
22825
22842
|
);
|
|
22826
|
-
}, SP = C(
|
|
22843
|
+
}, SP = C(ta), ia = ({
|
|
22827
22844
|
ariaLabel: A,
|
|
22828
22845
|
carouselSize: t,
|
|
22829
22846
|
heightOverrides: i,
|
|
@@ -22834,7 +22851,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22834
22851
|
variant: a,
|
|
22835
22852
|
widthOverrides: c
|
|
22836
22853
|
}) => {
|
|
22837
|
-
const { onPageview: d } =
|
|
22854
|
+
const { onPageview: d } = $I(), { zeroStateCopy: f } = ut();
|
|
22838
22855
|
return h.useEffect(() => {
|
|
22839
22856
|
d(at.MICRO_WIDGET_CAROUSEL_ZERO_STATE);
|
|
22840
22857
|
}, []), /* @__PURE__ */ e(
|
|
@@ -22843,7 +22860,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22843
22860
|
ariaLabel: A,
|
|
22844
22861
|
description: f.carousel_zero_state_description,
|
|
22845
22862
|
heightOverrides: i,
|
|
22846
|
-
icon: /* @__PURE__ */ e(
|
|
22863
|
+
icon: /* @__PURE__ */ e(_I, {}),
|
|
22847
22864
|
isZeroState: !0,
|
|
22848
22865
|
onCardClick: n,
|
|
22849
22866
|
posthog: r,
|
|
@@ -22851,7 +22868,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22851
22868
|
style: {
|
|
22852
22869
|
cardStyle: {
|
|
22853
22870
|
card: {
|
|
22854
|
-
height: `calc(${
|
|
22871
|
+
height: `calc(${Aa[t]}px - 44px)`,
|
|
22855
22872
|
margin: "0 auto",
|
|
22856
22873
|
width: I ? "calc(100% - 32px)" : "100%"
|
|
22857
22874
|
},
|
|
@@ -22865,7 +22882,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22865
22882
|
widthOverrides: c
|
|
22866
22883
|
}
|
|
22867
22884
|
);
|
|
22868
|
-
}, UP = C(
|
|
22885
|
+
}, UP = C(ia), M3 = () => /* @__PURE__ */ e(
|
|
22869
22886
|
L,
|
|
22870
22887
|
{
|
|
22871
22888
|
sx: {
|
|
@@ -22905,7 +22922,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
22905
22922
|
variant: x,
|
|
22906
22923
|
widthOverrides: w
|
|
22907
22924
|
}) => {
|
|
22908
|
-
const [D, j] = Fe("STANDARD"), [m, O] = Fe(!1), T =
|
|
22925
|
+
const [D, j] = Fe("STANDARD"), [m, O] = Fe(!1), T = ac([c], Je), tA = sc([d], Je);
|
|
22909
22926
|
h.useEffect(() => {
|
|
22910
22927
|
Je.isInitialized || Je.initialize(r, b, I);
|
|
22911
22928
|
}, [r, b, I, Je.isInitialized]), h.useEffect(() => {
|
|
@@ -22930,8 +22947,8 @@ const si = h.createContext(null), u3 = ({
|
|
|
22930
22947
|
};
|
|
22931
22948
|
return (
|
|
22932
22949
|
// 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(
|
|
22950
|
+
/* @__PURE__ */ s(wa, { theme: ha(p ? "dark" : "light"), children: [
|
|
22951
|
+
/* @__PURE__ */ e(Ms, {}),
|
|
22935
22952
|
/* @__PURE__ */ e(u3, { onEvent: T, onPageview: tA, store: Je, children: /* @__PURE__ */ s(G3, { heightOverrides: o, widthOverrides: w, children: [
|
|
22936
22953
|
(A || !Je.isInitialized) && /* @__PURE__ */ e(M3, {}),
|
|
22937
22954
|
m && v && /* @__PURE__ */ e(
|
|
@@ -22953,8 +22970,8 @@ const si = h.createContext(null), u3 = ({
|
|
|
22953
22970
|
...Y
|
|
22954
22971
|
}
|
|
22955
22972
|
),
|
|
22956
|
-
m && !t.length && y && /* @__PURE__ */ e(
|
|
22957
|
-
m && !t.length && !y && /* @__PURE__ */ e(
|
|
22973
|
+
m && !t.length && y && /* @__PURE__ */ e(ta, { clientColorScheme: i, ...iA }),
|
|
22974
|
+
m && !t.length && !y && /* @__PURE__ */ e(ia, { ...iA })
|
|
22958
22975
|
] }) })
|
|
22959
22976
|
] })
|
|
22960
22977
|
);
|
|
@@ -22969,11 +22986,11 @@ const si = h.createContext(null), u3 = ({
|
|
|
22969
22986
|
variant: a,
|
|
22970
22987
|
widthOverrides: c
|
|
22971
22988
|
}) => {
|
|
22972
|
-
const d = KA(), { ref: f, inView: E } =
|
|
22973
|
-
threshold:
|
|
22989
|
+
const d = KA(), { ref: f, inView: E } = To({
|
|
22990
|
+
threshold: ea
|
|
22974
22991
|
}), { cardsCopy: l } = ut(), { onEvent: v } = ci();
|
|
22975
22992
|
Ht(() => {
|
|
22976
|
-
E && (v(
|
|
22993
|
+
E && (v(JI.ON_VIEW_MORE_VIEWED), o?.capture("viewed_insight", {
|
|
22977
22994
|
template: "view_more_card"
|
|
22978
22995
|
}));
|
|
22979
22996
|
}, [E]);
|
|
@@ -23027,7 +23044,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23027
23044
|
});
|
|
23028
23045
|
}
|
|
23029
23046
|
return i;
|
|
23030
|
-
}, []),
|
|
23047
|
+
}, []), na = (A, t) => {
|
|
23031
23048
|
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
23049
|
(c, d) => c + d.amount,
|
|
23033
23050
|
0
|
|
@@ -23064,7 +23081,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23064
23081
|
donutData: a,
|
|
23065
23082
|
totalAmount: r
|
|
23066
23083
|
};
|
|
23067
|
-
},
|
|
23084
|
+
}, ra = (A, t, i) => {
|
|
23068
23085
|
const n = A.filter(
|
|
23069
23086
|
(a) => a.parent_guid === g.INCOME
|
|
23070
23087
|
), r = t.filter((a) => n.some((c) => c.guid === a.category_guid)).sort((a, c) => a.total - c.total).map((a, c) => ({
|
|
@@ -23106,7 +23123,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23106
23123
|
), l = h.useMemo(() => A.donutData.length > 0 ? A.donutData : [{ id: "0", color: d.palette.border.light, value: 100 }], [A, d]), v = () => {
|
|
23107
23124
|
n?.(r);
|
|
23108
23125
|
}, u = f ? 32 : 48;
|
|
23109
|
-
return /* @__PURE__ */ e(
|
|
23126
|
+
return /* @__PURE__ */ e(xc, { data: l, onClick: i, selectedId: r, size: o, children: /* @__PURE__ */ e(P, { alignItems: "center", height: "100%", justifyContent: "center", width: "100%", children: /* @__PURE__ */ s(P, { alignItems: "center", justifyContent: "center", minHeight: o, minWidth: o, children: [
|
|
23110
23127
|
E && /* @__PURE__ */ s(
|
|
23111
23128
|
P,
|
|
23112
23129
|
{
|
|
@@ -23121,7 +23138,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23121
23138
|
{
|
|
23122
23139
|
categoryGuid: t ? g.INCOME : E.guid,
|
|
23123
23140
|
size: a === "mini" ? 24 : u,
|
|
23124
|
-
variant:
|
|
23141
|
+
variant: wo.Transparent
|
|
23125
23142
|
}
|
|
23126
23143
|
),
|
|
23127
23144
|
/* @__PURE__ */ e(R, { color: "secondary", noWrap: !0, variant: a === "mini" ? "Tiny" : "Body", children: E ? E.name : I })
|
|
@@ -23143,7 +23160,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23143
23160
|
}
|
|
23144
23161
|
)
|
|
23145
23162
|
] }) }) });
|
|
23146
|
-
}, wi = C(B3),
|
|
23163
|
+
}, wi = C(B3), go = ({ data: A, onSelected: t, selectedId: i }) => /* @__PURE__ */ e(P, { gap: 8, height: "100%", justifyContent: "center", my: "auto", children: A.categoryData.map((n) => /* @__PURE__ */ s(
|
|
23147
23164
|
P,
|
|
23148
23165
|
{
|
|
23149
23166
|
alignItems: "center",
|
|
@@ -23180,10 +23197,10 @@ const si = h.createContext(null), u3 = ({
|
|
|
23180
23197
|
).finally();
|
|
23181
23198
|
}, [i]);
|
|
23182
23199
|
const [a, c] = h.useState(""), [d, f] = h.useState(0), E = h.useMemo(
|
|
23183
|
-
() =>
|
|
23200
|
+
() => na(r, o),
|
|
23184
23201
|
[r, o]
|
|
23185
23202
|
), l = h.useMemo(
|
|
23186
|
-
() =>
|
|
23203
|
+
() => ra(r, o, n),
|
|
23187
23204
|
[r, o, n]
|
|
23188
23205
|
), v = (H, b) => {
|
|
23189
23206
|
f(b), c("");
|
|
@@ -23228,7 +23245,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23228
23245
|
}
|
|
23229
23246
|
),
|
|
23230
23247
|
/* @__PURE__ */ e(
|
|
23231
|
-
|
|
23248
|
+
go,
|
|
23232
23249
|
{
|
|
23233
23250
|
data: E,
|
|
23234
23251
|
onSelected: u,
|
|
@@ -23247,7 +23264,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23247
23264
|
totalLabel: t.total_income
|
|
23248
23265
|
}
|
|
23249
23266
|
),
|
|
23250
|
-
/* @__PURE__ */ e(
|
|
23267
|
+
/* @__PURE__ */ e(go, { data: l, onSelected: u, selectedId: a })
|
|
23251
23268
|
] }) })
|
|
23252
23269
|
] });
|
|
23253
23270
|
}, U3 = C(S3), F3 = ({ onPrimaryCtaClick: A, sx: t = {} }) => {
|
|
@@ -23392,7 +23409,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23392
23409
|
]
|
|
23393
23410
|
}
|
|
23394
23411
|
);
|
|
23395
|
-
},
|
|
23412
|
+
}, Xo = C(K3), Z3 = (A) => [
|
|
23396
23413
|
A.palette.chartMono.chartMono5,
|
|
23397
23414
|
A.palette.chartMono.chartMono4,
|
|
23398
23415
|
A.palette.chartMono.chartMono3,
|
|
@@ -23409,10 +23426,10 @@ const si = h.createContext(null), u3 = ({
|
|
|
23409
23426
|
).finally();
|
|
23410
23427
|
}, [I, o]);
|
|
23411
23428
|
const y = h.useMemo(
|
|
23412
|
-
() =>
|
|
23429
|
+
() => na(t, i),
|
|
23413
23430
|
[t, i]
|
|
23414
23431
|
), x = h.useMemo(
|
|
23415
|
-
() =>
|
|
23432
|
+
() => ra(t, i, Z3(A)),
|
|
23416
23433
|
[t, i]
|
|
23417
23434
|
), w = h.useMemo(
|
|
23418
23435
|
() => d.find((O) => O.guid === u),
|
|
@@ -23473,7 +23490,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23473
23490
|
)
|
|
23474
23491
|
] }),
|
|
23475
23492
|
l === 0 && /* @__PURE__ */ e(
|
|
23476
|
-
|
|
23493
|
+
Xo,
|
|
23477
23494
|
{
|
|
23478
23495
|
data: y,
|
|
23479
23496
|
onSelected: j,
|
|
@@ -23483,7 +23500,7 @@ const si = h.createContext(null), u3 = ({
|
|
|
23483
23500
|
}
|
|
23484
23501
|
),
|
|
23485
23502
|
l === 1 && /* @__PURE__ */ e(
|
|
23486
|
-
|
|
23503
|
+
Xo,
|
|
23487
23504
|
{
|
|
23488
23505
|
data: x,
|
|
23489
23506
|
onSelected: j,
|
|
@@ -23748,7 +23765,7 @@ const i7 = (A) => A.reduce((i, n) => {
|
|
|
23748
23765
|
}, [T, I]), oA = (bA, JA) => {
|
|
23749
23766
|
j(JA ?? D), n(V.TRENDS_CLICK_TOGGLE);
|
|
23750
23767
|
}, sA = (bA) => {
|
|
23751
|
-
const JA = Rr(bA?.[0], 1), Ke = bA?.[1], Yt =
|
|
23768
|
+
const JA = Rr(bA?.[0], 1), Ke = bA?.[1], Yt = Ns(Ke, JA);
|
|
23752
23769
|
tA({ start: JA, end: Ke }), n(V.TRENDS_CLICK_DATE, {
|
|
23753
23770
|
time_period: Yt + "M"
|
|
23754
23771
|
});
|
|
@@ -23810,7 +23827,7 @@ const i7 = (A) => A.reduce((i, n) => {
|
|
|
23810
23827
|
/* @__PURE__ */ e(R, { variant: r ? "Body" : "Small", children: iA })
|
|
23811
23828
|
] }),
|
|
23812
23829
|
/* @__PURE__ */ e(
|
|
23813
|
-
|
|
23830
|
+
Do,
|
|
23814
23831
|
{
|
|
23815
23832
|
exclusive: !0,
|
|
23816
23833
|
onChange: oA,
|
|
@@ -23860,7 +23877,7 @@ const i7 = (A) => A.reduce((i, n) => {
|
|
|
23860
23877
|
] }),
|
|
23861
23878
|
/* @__PURE__ */ s(L, { children: [
|
|
23862
23879
|
D === "Chart" && /* @__PURE__ */ e(
|
|
23863
|
-
|
|
23880
|
+
Yc,
|
|
23864
23881
|
{
|
|
23865
23882
|
onClickLegend: jA,
|
|
23866
23883
|
onHoverArea: fe,
|
|
@@ -23931,23 +23948,23 @@ const i7 = (A) => A.reduce((i, n) => {
|
|
|
23931
23948
|
}, ZP = C(u7);
|
|
23932
23949
|
export {
|
|
23933
23950
|
V as ANALYTICS_EVENTS,
|
|
23934
|
-
|
|
23935
|
-
|
|
23951
|
+
Eo as AccountApi,
|
|
23952
|
+
UI as AccountDetailsContent,
|
|
23936
23953
|
$n as AccountDetailsHeader,
|
|
23937
|
-
|
|
23938
|
-
|
|
23939
|
-
|
|
23954
|
+
_o as AccountFilter,
|
|
23955
|
+
Uo as AccountIcon,
|
|
23956
|
+
Ss as AccountIconVariants,
|
|
23940
23957
|
mR as AccountStore,
|
|
23941
|
-
|
|
23958
|
+
Vs as AccountSubType,
|
|
23942
23959
|
_ as AccountType,
|
|
23943
23960
|
On as AccountTypeName,
|
|
23944
23961
|
NP as AccountsMiniWidget,
|
|
23945
23962
|
MP as AccountsWidget,
|
|
23946
|
-
|
|
23963
|
+
wI as ActivitySettings,
|
|
23947
23964
|
SA as ActivityStatus,
|
|
23948
23965
|
TA as ActivityType,
|
|
23949
23966
|
Nd as AddAccountModal,
|
|
23950
|
-
|
|
23967
|
+
oc as AnalyticsApi,
|
|
23951
23968
|
Q as ApiEndpoints,
|
|
23952
23969
|
R3 as AppStore,
|
|
23953
23970
|
zr as BannerApi,
|
|
@@ -23957,10 +23974,10 @@ export {
|
|
|
23957
23974
|
hi as BottomActions,
|
|
23958
23975
|
YP as BubbleBudgetsMiniWidget,
|
|
23959
23976
|
VP as BubbleBudgetsWidget,
|
|
23960
|
-
|
|
23961
|
-
|
|
23977
|
+
gc as Calendar,
|
|
23978
|
+
$o as CalendarSelectionTypes,
|
|
23962
23979
|
q3 as CarouselHeader,
|
|
23963
|
-
|
|
23980
|
+
Ao as CashflowApi,
|
|
23964
23981
|
zP as CashflowMiniWidget,
|
|
23965
23982
|
eh as CashflowOnboarding,
|
|
23966
23983
|
nh as CashflowStore,
|
|
@@ -23969,13 +23986,13 @@ export {
|
|
|
23969
23986
|
st as CategoryColors,
|
|
23970
23987
|
qi as CategoryGuidToName,
|
|
23971
23988
|
g as CategoryGuids,
|
|
23972
|
-
|
|
23973
|
-
|
|
23989
|
+
Fs as CategoryIcon,
|
|
23990
|
+
dI as CategoryRow,
|
|
23974
23991
|
rd as CategorySelector,
|
|
23975
23992
|
Vi as CategorySelectorDrawer,
|
|
23976
23993
|
cd as CategoryStore,
|
|
23977
23994
|
C3 as ChartFilledIcon,
|
|
23978
|
-
|
|
23995
|
+
aI as ConnectCard,
|
|
23979
23996
|
Ii as ConnectDrawer,
|
|
23980
23997
|
TP as ConnectMiniWidget,
|
|
23981
23998
|
bt as ConnectionStatus,
|
|
@@ -23984,30 +24001,30 @@ export {
|
|
|
23984
24001
|
qe as CurrencyInput,
|
|
23985
24002
|
OA as CurrencyText,
|
|
23986
24003
|
AA as DATE_FORMATS_INTL,
|
|
23987
|
-
|
|
23988
|
-
|
|
24004
|
+
Fo as DEFAULT_DONUT_SIZE,
|
|
24005
|
+
Wo as DEFAULT_STROKE_WIDTH,
|
|
23989
24006
|
BP as Dashboard,
|
|
23990
24007
|
Cn as DashboardLocation,
|
|
23991
24008
|
zi as DataRow,
|
|
23992
24009
|
Dr as DateRangeSelector,
|
|
23993
|
-
|
|
24010
|
+
OI as DebtsChart,
|
|
23994
24011
|
ol as DebtsStore,
|
|
23995
24012
|
Zh as DebtsTable,
|
|
23996
24013
|
DP as DebtsWidget,
|
|
23997
24014
|
Wv as DeviceTab,
|
|
23998
24015
|
XA as Dialog,
|
|
23999
|
-
|
|
24016
|
+
xc as Donut,
|
|
24000
24017
|
IA as Drawer,
|
|
24001
|
-
|
|
24018
|
+
Bo as ErrorStatuses,
|
|
24002
24019
|
Pf as ExpenseStatus,
|
|
24003
24020
|
Ae as Fetch,
|
|
24004
24021
|
de as FieldType,
|
|
24005
24022
|
bi as GlobalCopyApi,
|
|
24006
|
-
|
|
24023
|
+
Jc as GlobalCopyStore,
|
|
24007
24024
|
gt as GlobalDataContext,
|
|
24008
24025
|
uP as GlobalDataProvider,
|
|
24009
24026
|
GP as GlobalStore,
|
|
24010
|
-
|
|
24027
|
+
to as GoalApi,
|
|
24011
24028
|
wl as GoalStore,
|
|
24012
24029
|
un as GoalType,
|
|
24013
24030
|
jP as GoalsWidget,
|
|
@@ -24019,11 +24036,11 @@ export {
|
|
|
24019
24036
|
Ci as InformationTooltip,
|
|
24020
24037
|
FP as InsightsMicroWidget,
|
|
24021
24038
|
u3 as InsightsMicroWidgetDataProvider,
|
|
24022
|
-
|
|
24039
|
+
ks as IterationItemTypes,
|
|
24023
24040
|
fP as LOADING_STATUS,
|
|
24024
24041
|
Mn as LineChart,
|
|
24025
24042
|
Ge as ListItemAction,
|
|
24026
|
-
|
|
24043
|
+
Zc as ListItemWrapper,
|
|
24027
24044
|
ee as Loader,
|
|
24028
24045
|
lP as LocalizedCopyApi,
|
|
24029
24046
|
Zn as ManageIncome,
|
|
@@ -24031,7 +24048,7 @@ export {
|
|
|
24031
24048
|
mP as MerchantLookup,
|
|
24032
24049
|
Ql as MerchantStore,
|
|
24033
24050
|
he as MetaType,
|
|
24034
|
-
|
|
24051
|
+
Vo as MfaStatuses,
|
|
24035
24052
|
O3 as MicroBeatCarousel,
|
|
24036
24053
|
ki as MicroInsightCard,
|
|
24037
24054
|
pt as MiniWidgetContainer,
|
|
@@ -24043,20 +24060,20 @@ export {
|
|
|
24043
24060
|
_l as NetWorthSummary,
|
|
24044
24061
|
OP as NetWorthWidget,
|
|
24045
24062
|
SP as NoRelevantInsightsCard,
|
|
24046
|
-
|
|
24063
|
+
So as NonConnectedStatuses,
|
|
24047
24064
|
Cr as NotificationApi,
|
|
24048
24065
|
QP as NotificationList,
|
|
24049
24066
|
iR as NotificationSettings,
|
|
24050
24067
|
o9 as NotificationStore,
|
|
24051
24068
|
LA as NotificationType,
|
|
24052
|
-
|
|
24069
|
+
Ys as ORDINAL_DATE_FORMAT,
|
|
24053
24070
|
IP as ORDINAL_MONTH_DAY_YEAR_FORMAT,
|
|
24054
24071
|
Qn as PAYMENT_ACCOUNT_TYPES,
|
|
24055
24072
|
ur as PaymentCategories,
|
|
24056
|
-
|
|
24057
|
-
|
|
24073
|
+
Ws as PlanTypes,
|
|
24074
|
+
Bs as ProcessingStatuses,
|
|
24058
24075
|
Vv as ProfileTab,
|
|
24059
|
-
|
|
24076
|
+
Yo as PropertyType,
|
|
24060
24077
|
sP as PropertyTypeName,
|
|
24061
24078
|
cP as RECURRENCE_COPY,
|
|
24062
24079
|
U as RecurrenceTypes,
|
|
@@ -24070,14 +24087,14 @@ export {
|
|
|
24070
24087
|
Hf as ScreenSize,
|
|
24071
24088
|
Ti as SearchBox,
|
|
24072
24089
|
Or as SelectionBox,
|
|
24073
|
-
|
|
24090
|
+
so as SettingsApi,
|
|
24074
24091
|
l9 as SettingsStore,
|
|
24075
24092
|
qP as SettingsWidget,
|
|
24076
|
-
|
|
24077
|
-
|
|
24093
|
+
oI as SingleSegmentDonut,
|
|
24094
|
+
Ks as Sizes,
|
|
24078
24095
|
WP as SpendingMiniWidget,
|
|
24079
24096
|
kP as SpendingWidget,
|
|
24080
|
-
|
|
24097
|
+
Yc as StackedLineChart,
|
|
24081
24098
|
ti as StatusBar,
|
|
24082
24099
|
aP as StatusName,
|
|
24083
24100
|
Bt as TOUCH_TARGET,
|
|
@@ -24105,39 +24122,39 @@ export {
|
|
|
24105
24122
|
Y3 as ViewMoreMicroCard,
|
|
24106
24123
|
pr as WidgetApi,
|
|
24107
24124
|
Le as WidgetContainer,
|
|
24108
|
-
|
|
24109
|
-
|
|
24125
|
+
AI as WidgetContainerContext,
|
|
24126
|
+
eI as WidgetContainerProvider,
|
|
24110
24127
|
UP as ZeroStateCard,
|
|
24111
|
-
|
|
24112
|
-
|
|
24128
|
+
_I as ZeroStateIcon,
|
|
24129
|
+
Ts as analyticsSession,
|
|
24113
24130
|
z as buildDynamicCopy,
|
|
24114
24131
|
hP as buildPluralCopy,
|
|
24115
|
-
|
|
24132
|
+
fI as exportTransactionsToCSV,
|
|
24116
24133
|
M as formatCurrency,
|
|
24117
24134
|
nA as formatDate,
|
|
24118
|
-
|
|
24135
|
+
ko as formatOrdinal,
|
|
24119
24136
|
Gi as formatPercentage,
|
|
24120
|
-
|
|
24121
|
-
|
|
24137
|
+
Zo as fromTimestampToMonthYear,
|
|
24138
|
+
xI as getAccountBalanceDetails,
|
|
24122
24139
|
LE as getAccountDetailFields,
|
|
24123
24140
|
br as getCategory,
|
|
24124
24141
|
dP as getCategoryTotalsByParent,
|
|
24125
|
-
|
|
24126
|
-
|
|
24127
|
-
|
|
24142
|
+
$s as getCurrencyCodes,
|
|
24143
|
+
Zs as getDetailedCategory,
|
|
24144
|
+
Js as getDetailedSubCategory,
|
|
24128
24145
|
ht as getLocale,
|
|
24129
24146
|
LP as getNotificationDetailRoute,
|
|
24130
24147
|
EP as isIncome,
|
|
24131
24148
|
hn as isValidNumber,
|
|
24132
24149
|
CA as useAccountStore,
|
|
24133
24150
|
Xe as useAccountUiStore,
|
|
24134
|
-
|
|
24151
|
+
tI as useAppConfig,
|
|
24135
24152
|
te as useBudgetsStore,
|
|
24136
24153
|
Nn as useCashflowStore,
|
|
24137
24154
|
qA as useCategoryStore,
|
|
24138
24155
|
ot as useCategoryUiStore,
|
|
24139
|
-
|
|
24140
|
-
|
|
24156
|
+
ac as useCombineEvents,
|
|
24157
|
+
sc as useCombinePageviews,
|
|
24141
24158
|
Ni as useDebtStore,
|
|
24142
24159
|
K as useEvent,
|
|
24143
24160
|
oR as useGetMergeableAccounts,
|
|
@@ -24146,9 +24163,9 @@ export {
|
|
|
24146
24163
|
pA as useGlobalUiStore,
|
|
24147
24164
|
FA as useGoalStore,
|
|
24148
24165
|
Tn as useHelpStore,
|
|
24149
|
-
|
|
24150
|
-
|
|
24151
|
-
|
|
24166
|
+
Lc as useMerchantStore,
|
|
24167
|
+
Qc as useNetWorthStore,
|
|
24168
|
+
nI as useNotificationStore,
|
|
24152
24169
|
PP as usePageView,
|
|
24153
24170
|
vP as usePrevious,
|
|
24154
24171
|
ZA as useRecurringActivityStore,
|