@mx-cartographer/experiences 4.0.14-alpha.JB0 → 4.0.14-alpha.JB2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/AccountStore-B23-oV1B.mjs +244 -0
  2. package/dist/AccountStore-B23-oV1B.mjs.map +1 -0
  3. package/dist/BeatApi-BxXgbSJY.mjs +99 -0
  4. package/dist/BeatApi-BxXgbSJY.mjs.map +1 -0
  5. package/dist/BudgetUtil-BSn9Zr71.mjs +208 -0
  6. package/dist/BudgetUtil-BSn9Zr71.mjs.map +1 -0
  7. package/dist/CashflowApi-zcebgnO1.mjs +103 -0
  8. package/dist/CashflowApi-zcebgnO1.mjs.map +1 -0
  9. package/dist/CashflowStore-gPEEBiXo.mjs +53 -0
  10. package/dist/CashflowStore-gPEEBiXo.mjs.map +1 -0
  11. package/dist/Categories-XVFviD23.mjs +117 -0
  12. package/dist/Categories-XVFviD23.mjs.map +1 -0
  13. package/dist/CategoryStore-CSNSMNA6.mjs +298 -0
  14. package/dist/CategoryStore-CSNSMNA6.mjs.map +1 -0
  15. package/dist/ConnectMiniWidget-Ep65CtHH.mjs +10854 -0
  16. package/dist/ConnectMiniWidget-Ep65CtHH.mjs.map +1 -0
  17. package/dist/DebtsStore-Duf3n1vZ.mjs +127 -0
  18. package/dist/DebtsStore-Duf3n1vZ.mjs.map +1 -0
  19. package/dist/Donut-DgMeKScZ.mjs +53 -0
  20. package/dist/Donut-DgMeKScZ.mjs.map +1 -0
  21. package/dist/Fetch-DpUi1_Dx.mjs +99 -0
  22. package/dist/Fetch-DpUi1_Dx.mjs.map +1 -0
  23. package/dist/GoalStore-BYoRLx99.mjs +128 -0
  24. package/dist/GoalStore-BYoRLx99.mjs.map +1 -0
  25. package/dist/MerchantStore-RhLvDvX-.mjs +118 -0
  26. package/dist/MerchantStore-RhLvDvX-.mjs.map +1 -0
  27. package/dist/NetWorthStore-syD1VnxE.mjs +66 -0
  28. package/dist/NetWorthStore-syD1VnxE.mjs.map +1 -0
  29. package/dist/NotificationStore-CqTYHfJC.mjs +141 -0
  30. package/dist/NotificationStore-CqTYHfJC.mjs.map +1 -0
  31. package/dist/RecurringActivityStore-B_COvGWG.mjs +304 -0
  32. package/dist/RecurringActivityStore-B_COvGWG.mjs.map +1 -0
  33. package/dist/StackedLineChart-CCqGRwvs.mjs +342 -0
  34. package/dist/StackedLineChart-CCqGRwvs.mjs.map +1 -0
  35. package/dist/TransactionStore-BUrjBWkk.mjs +478 -0
  36. package/dist/TransactionStore-BUrjBWkk.mjs.map +1 -0
  37. package/dist/index.es.js +12 -17869
  38. package/dist/index.es.js.map +1 -1
  39. package/dist/index.es10.js +107 -0
  40. package/dist/index.es10.js.map +1 -0
  41. package/dist/index.es11.js +159 -0
  42. package/dist/index.es11.js.map +1 -0
  43. package/dist/index.es12.js +483 -0
  44. package/dist/index.es12.js.map +1 -0
  45. package/dist/index.es13.js +620 -0
  46. package/dist/index.es13.js.map +1 -0
  47. package/dist/index.es14.js +788 -0
  48. package/dist/index.es14.js.map +1 -0
  49. package/dist/index.es15.js +891 -0
  50. package/dist/index.es15.js.map +1 -0
  51. package/dist/index.es16.js +962 -0
  52. package/dist/index.es16.js.map +1 -0
  53. package/dist/index.es17.js +1904 -0
  54. package/dist/index.es17.js.map +1 -0
  55. package/dist/index.es2.js +11 -0
  56. package/dist/index.es2.js.map +1 -0
  57. package/dist/index.es3.js +10 -0
  58. package/dist/index.es3.js.map +1 -0
  59. package/dist/index.es4.js +9 -0
  60. package/dist/index.es4.js.map +1 -0
  61. package/dist/index.es5.js +7 -0
  62. package/dist/index.es5.js.map +1 -0
  63. package/dist/index.es6.js +7 -0
  64. package/dist/index.es6.js.map +1 -0
  65. package/dist/index.es7.js +10 -0
  66. package/dist/index.es7.js.map +1 -0
  67. package/dist/index.es8.js +10 -0
  68. package/dist/index.es8.js.map +1 -0
  69. package/dist/index.es9.js +18 -0
  70. package/dist/index.es9.js.map +1 -0
  71. package/dist/useCombineEvents-CZUDHE96.mjs +170 -0
  72. package/dist/useCombineEvents-CZUDHE96.mjs.map +1 -0
  73. package/dist/usePrevious-BLb3umpI.mjs +11 -0
  74. package/dist/usePrevious-BLb3umpI.mjs.map +1 -0
  75. package/package.json +1 -1
@@ -0,0 +1,107 @@
1
+ import "bowser";
2
+ import "date-fns/getUnixTime";
3
+ import { A as t } from "./Fetch-DpUi1_Dx.mjs";
4
+ import "date-fns/intlFormat";
5
+ import { U as It } from "./ConnectMiniWidget-Ep65CtHH.mjs";
6
+ import "react";
7
+ import "@honeybadger-io/react";
8
+ import "numeral";
9
+ import "date-fns/addMonths";
10
+ import "date-fns/addQuarters";
11
+ import "date-fns/addWeeks";
12
+ import "date-fns/addYears";
13
+ import "date-fns/getDay";
14
+ import "date-fns/isBefore";
15
+ import "date-fns/nextDay";
16
+ import "date-fns/setDate";
17
+ import "date-fns/startOfToday";
18
+ import "date-fns/fromUnixTime";
19
+ import "react/jsx-runtime";
20
+ import "@mui/material/Button";
21
+ import "@kyper/mui";
22
+ import "@mui/material/Tooltip";
23
+ import "@mui/material/Box";
24
+ import "@mui/material/IconButton";
25
+ import "@mui/material/styles/useTheme";
26
+ import "@mui/material/useMediaQuery";
27
+ import "@mxenabled/cssinjs";
28
+ import "date-fns/addDays";
29
+ import "date-fns/eachDayOfInterval";
30
+ import "date-fns/eachWeekOfInterval";
31
+ import "date-fns/endOfMonth";
32
+ import "date-fns/format";
33
+ import "date-fns/isSameMonth";
34
+ import "date-fns/startOfMonth";
35
+ import "date-fns/subMonths";
36
+ import "@mui/material/Paper";
37
+ import "@mui/icons-material/KeyboardArrowLeftRounded";
38
+ import "@mui/icons-material/KeyboardArrowRightRounded";
39
+ import "date-fns/isSameDay";
40
+ import "date-fns/isWithinInterval";
41
+ import "d3";
42
+ import "@mui/material/styles";
43
+ import "@mui/x-charts";
44
+ import "@mui/material/Stack";
45
+ import "@mui/material";
46
+ import "date-fns/differenceInCalendarDays";
47
+ import "date-fns/endOfToday";
48
+ import "date-fns/endOfYear";
49
+ import "date-fns/startOfYear";
50
+ import "date-fns/subDays";
51
+ import "date-fns/subYears";
52
+ import "@mui/material/ButtonGroup";
53
+ import "@mui/material/Tab";
54
+ import "@mui/material/Tabs";
55
+ import "@mui/material/ToggleButton";
56
+ import "@mui/material/ToggleButtonGroup";
57
+ import "@mui/material/Dialog";
58
+ import "@mui/material/DialogContent";
59
+ import "@mui/icons-material/ArrowBackOutlined";
60
+ import "@mui/material/Card";
61
+ import "@mui/material/CardHeader";
62
+ import "@mui/material/CardContent";
63
+ import "uuid";
64
+ import "@mui/material/CircularProgress";
65
+ import "@mui/material/FormControlLabel";
66
+ import "@mui/material/Radio";
67
+ import "@mui/material/Avatar";
68
+ import "@mui/material/ListItem";
69
+ import "@mui/material/ListItemAvatar";
70
+ import "@mui/material/ListItemButton";
71
+ import "@mui/material/ListItemText";
72
+ import "@mui/material/ListItemIcon";
73
+ import "mobx";
74
+ import "date-fns/differenceInDays";
75
+ import "@mui/x-data-grid-pro";
76
+ import "date-fns";
77
+ import "date-fns/getMonth";
78
+ import "date-fns/isAfter";
79
+ import "date-fns/parseISO";
80
+ import "date-fns/subWeeks";
81
+ import "date-fns/formatISO";
82
+ import { N as bt } from "./NotificationStore-CqTYHfJC.mjs";
83
+ const wt = (o) => {
84
+ switch (o) {
85
+ case 1:
86
+ case 2:
87
+ return t.BUDGETS;
88
+ case 3:
89
+ case 6:
90
+ case 7:
91
+ case 22:
92
+ return t.ACCOUNTS;
93
+ case 8:
94
+ case 9:
95
+ case 23:
96
+ case 29:
97
+ return t.TRANSACTIONS;
98
+ default:
99
+ return null;
100
+ }
101
+ };
102
+ export {
103
+ It as NotificationList,
104
+ bt as NotificationStore,
105
+ wt as getNotificationDetailRoute
106
+ };
107
+ //# sourceMappingURL=index.es10.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es10.js","sources":["../src/notifications/constants/NotificationConstants.ts"],"sourcesContent":["import { ApiEndpoints } from '../../common'\n\nexport enum NotificationType {\n BudgetExceeded = 1,\n BudgetOffTarget = 2,\n DebtPaymentReminder = 3,\n GuideMeStepComplete = 4, //deprecated: unused\n GuideMeOffTarget = 5, //deprecated: unused\n AccountBalanceLow = 6,\n AccountDepositLarge = 7,\n TransactionExpenseLarge = 8,\n TransactionFeeCharge = 9,\n SystemNotification = 10, //deprecated: unused\n ApiNotification = 11,\n UserSummary = 12,\n Offer = 13,\n PasswordResetToken = 14,\n PasswordChanged = 15,\n EmailVerification = 16,\n EmailVerified = 17,\n WelcomeNewUser = 18,\n DeviceCreated = 19,\n DeviceDeleted = 20,\n SmsVerification = 21,\n AccountNearingZero = 22,\n InternationalTransaction = 23,\n GoalProgress = 25,\n DuplicatePayment = 29,\n}\n\nexport const NOTIFICATION_DETAILS = {\n [NotificationType.BudgetExceeded]: {\n type: 'Exceeded Budget',\n icon: 'attention',\n },\n [NotificationType.BudgetOffTarget]: {\n type: 'Projected to Exceed Budget',\n icon: 'attention',\n },\n [NotificationType.DebtPaymentReminder]: {\n type: 'Payment Reminder',\n icon: 'calendar-plus',\n },\n [NotificationType.AccountBalanceLow]: {\n type: 'Low Account Balance',\n icon: 'attention',\n },\n [NotificationType.AccountDepositLarge]: {\n type: 'Large Deposit',\n icon: 'cash',\n },\n [NotificationType.TransactionExpenseLarge]: {\n type: 'Large Expense/Withdrawal',\n icon: 'attention',\n },\n [NotificationType.TransactionFeeCharge]: {\n type: 'Fee Charged',\n icon: 'attention',\n },\n [NotificationType.ApiNotification]: {\n type: 'API Notification',\n icon: 'info',\n },\n [NotificationType.UserSummary]: {\n type: 'Weekly Summary',\n icon: 'info',\n },\n [NotificationType.Offer]: {\n type: 'Special Message',\n icon: '',\n },\n [NotificationType.InternationalTransaction]: {\n type: 'International Transaction',\n icon: 'attention',\n },\n}\n\nexport const NOTIFICATION_ICON = {\n 1: 'check-skinny',\n 2: 'credit-card',\n 3: 'savings',\n 4: 'debts',\n 5: 'money-banknote',\n}\n\nexport const getNotificationDetailRoute = (notificationType: number) => {\n switch (notificationType) {\n case NotificationType.BudgetExceeded:\n case NotificationType.BudgetOffTarget:\n return ApiEndpoints.BUDGETS\n case NotificationType.DebtPaymentReminder:\n case NotificationType.AccountBalanceLow:\n case NotificationType.AccountDepositLarge:\n case NotificationType.AccountNearingZero:\n return ApiEndpoints.ACCOUNTS\n case NotificationType.TransactionExpenseLarge:\n case NotificationType.TransactionFeeCharge:\n case NotificationType.InternationalTransaction:\n case NotificationType.DuplicatePayment:\n return ApiEndpoints.TRANSACTIONS\n default:\n return null\n }\n}\n"],"names":["getNotificationDetailRoute","notificationType","ApiEndpoints"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqFa,MAAAA,KAA6B,CAACC,MAA6B;AACtE,UAAQA,GAAkB;AAAA,IACxB,KAAK;AAAA,IACL,KAAK;AACH,aAAOC,EAAa;AAAA,IACtB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAa;AAAA,IACtB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,EAAa;AAAA,IACtB;AACS,aAAA;AAAA,EACX;AACF;"}
@@ -0,0 +1,159 @@
1
+ import { jsx as t, jsxs as p } from "react/jsx-runtime";
2
+ import e from "react";
3
+ import { observer as g } from "mobx-react-lite";
4
+ import u from "@mui/material/Unstable_Grid2";
5
+ import m from "@mui/material/Skeleton";
6
+ import s from "@mui/material/Stack";
7
+ import "bowser";
8
+ import "date-fns/getUnixTime";
9
+ import "date-fns/intlFormat";
10
+ import { a8 as x, a9 as S, aa as b, ab as y, ac as z, ad as G } from "./ConnectMiniWidget-Ep65CtHH.mjs";
11
+ import "@honeybadger-io/react";
12
+ import "numeral";
13
+ import "date-fns/addMonths";
14
+ import "date-fns/addQuarters";
15
+ import "date-fns/addWeeks";
16
+ import "date-fns/addYears";
17
+ import "date-fns/getDay";
18
+ import "date-fns/isBefore";
19
+ import "date-fns/nextDay";
20
+ import "date-fns/setDate";
21
+ import "date-fns/startOfToday";
22
+ import "date-fns/fromUnixTime";
23
+ import "@mui/material/Button";
24
+ import { H1 as w, Text as M } from "@kyper/mui";
25
+ import "@mui/material/Tooltip";
26
+ import "@mui/material/Box";
27
+ import "@mui/material/IconButton";
28
+ import "@mxenabled/cssinjs";
29
+ import "date-fns/addDays";
30
+ import "date-fns/eachDayOfInterval";
31
+ import "date-fns/eachWeekOfInterval";
32
+ import "date-fns/endOfMonth";
33
+ import "date-fns/format";
34
+ import "date-fns/isSameMonth";
35
+ import "date-fns/startOfMonth";
36
+ import "date-fns/subMonths";
37
+ import F from "@mui/material/Paper";
38
+ import "@mui/icons-material/KeyboardArrowLeftRounded";
39
+ import "@mui/icons-material/KeyboardArrowRightRounded";
40
+ import "date-fns/isSameDay";
41
+ import "date-fns/isWithinInterval";
42
+ import "@mui/material/styles/useTheme";
43
+ import "d3";
44
+ import "@mui/material/styles";
45
+ import "@mui/x-charts";
46
+ import "@mui/material";
47
+ import "date-fns/differenceInCalendarDays";
48
+ import "date-fns/endOfToday";
49
+ import "date-fns/endOfYear";
50
+ import "date-fns/startOfYear";
51
+ import "date-fns/subDays";
52
+ import "date-fns/subYears";
53
+ import "@mui/material/ButtonGroup";
54
+ import "@mui/material/Tab";
55
+ import "@mui/material/Tabs";
56
+ import "@mui/material/ToggleButton";
57
+ import "@mui/material/ToggleButtonGroup";
58
+ import "@mui/material/Dialog";
59
+ import "@mui/material/DialogContent";
60
+ import "@mui/icons-material/ArrowBackOutlined";
61
+ import "@mui/material/Card";
62
+ import "@mui/material/CardHeader";
63
+ import "@mui/material/CardContent";
64
+ import "uuid";
65
+ import "@mui/material/CircularProgress";
66
+ import "@mui/material/FormControlLabel";
67
+ import "@mui/material/Radio";
68
+ import "@mui/material/Avatar";
69
+ import "@mui/material/ListItem";
70
+ import "@mui/material/ListItemAvatar";
71
+ import "@mui/material/ListItemButton";
72
+ import "@mui/material/ListItemText";
73
+ import "@mui/material/ListItemIcon";
74
+ import "mobx";
75
+ import "date-fns/differenceInDays";
76
+ import "@mui/x-data-grid-pro";
77
+ import "date-fns";
78
+ import "date-fns/getMonth";
79
+ import "date-fns/isAfter";
80
+ import "date-fns/parseISO";
81
+ import "date-fns/subWeeks";
82
+ import "date-fns/formatISO";
83
+ var _ = /* @__PURE__ */ ((i) => (i[i.Main = 0] = "Main", i[i.RightSide = 1] = "RightSide", i))(_ || {});
84
+ const C = () => {
85
+ const { accounts: i } = x(), { selectedAccountGuids: a, setSelectedAccountGuids: l } = S(), { isMobile: d } = b(), { common: o } = y(), h = {
86
+ accountFilterOptionsCopy: {
87
+ accountTypeAccounts: o.account_filter.account_type_accounts,
88
+ cancelButton: o.cancel_button,
89
+ filterButton: o.filter_button,
90
+ filterButtonAria: o.account_filter.filter_button_generic_aria,
91
+ selectAllAccounts: o.account_filter.select_all_accounts,
92
+ toggleAccountTypeAccounts: o.account_filter.toggle_account_type_accounts,
93
+ unselectAllAccounts: o.account_filter.unselect_all_accounts,
94
+ zeroStateButton: o.account_filter.zero_state_button,
95
+ zeroStateDescription: o.account_filter.zero_state_description,
96
+ zeroStateTitle: o.account_filter.zero_state_title
97
+ },
98
+ title: o.account_filter.title
99
+ };
100
+ return /* @__PURE__ */ t(F, { sx: { mb: d ? 24 : 0, p: 24 }, children: /* @__PURE__ */ p(s, { alignItems: "center", flexDirection: "row", justifyContent: "space-between", children: [
101
+ /* @__PURE__ */ p(s, { children: [
102
+ /* @__PURE__ */ t(w, { children: (() => {
103
+ const c = (/* @__PURE__ */ new Date()).getHours();
104
+ return c > 1 && c < 12 ? o.good_morning : c >= 12 && c < 18 ? o.good_afternoon : o.good_evening;
105
+ })() }),
106
+ /* @__PURE__ */ t(M, { color: "text.secondary", sx: { fontSize: 15 }, children: o.heres_your_spending_overview })
107
+ ] }),
108
+ /* @__PURE__ */ t(
109
+ z,
110
+ {
111
+ accounts: i,
112
+ copy: h,
113
+ onFilterClick: (n) => {
114
+ l(n);
115
+ },
116
+ selectedAccountGuids: a,
117
+ showAccountNumbers: !1,
118
+ sx: { "& .mx-cmn-account-filter-title": { fontSize: 15 }, mx: 4 },
119
+ variant: "text"
120
+ }
121
+ )
122
+ ] }) });
123
+ }, k = g(C), B = ({ widgets: i, isLoading: a }) => {
124
+ const { isDesktop: l, isMobile: d } = b(), { copyStore: o } = G(), { setSelectedAccounts: h } = S(), { accounts: f } = x();
125
+ e.useEffect(() => {
126
+ h(f);
127
+ }, [f]);
128
+ const n = e.useMemo(
129
+ () => i.sort((r, v) => r.index - v.index),
130
+ [i]
131
+ ), c = e.useMemo(
132
+ () => n.filter((r) => r.location === _.Main),
133
+ [i]
134
+ ), A = e.useMemo(
135
+ () => n.filter((r) => r.location === _.RightSide),
136
+ [i]
137
+ );
138
+ return /* @__PURE__ */ p(u, { container: !0, spacing: d ? 0 : 24, sx: { overflow: "scroll" }, children: [
139
+ /* @__PURE__ */ t(u, { xs: 12, children: o.isInitialized && /* @__PURE__ */ t(k, {}) }),
140
+ /* @__PURE__ */ p(u, { xl: 8, xs: 12, children: [
141
+ a && /* @__PURE__ */ p(s, { direction: "column", spacing: 24, children: [
142
+ /* @__PURE__ */ t(m, { height: 100, variant: "rounded", width: "100%" }),
143
+ /* @__PURE__ */ t(m, { height: 300, variant: "rounded", width: "100%" }),
144
+ /* @__PURE__ */ t(m, { height: 300, variant: "rounded", width: "100%" })
145
+ ] }),
146
+ !a && /* @__PURE__ */ t(s, { direction: "column", spacing: 24, children: l ? c.map((r) => /* @__PURE__ */ t(e.Fragment, { children: r.component }, r.index)) : n.map((r) => /* @__PURE__ */ t(e.Fragment, { children: r.component }, r.index)) })
147
+ ] }),
148
+ l && /* @__PURE__ */ t(u, { xl: 4, children: a ? /* @__PURE__ */ p(s, { direction: "column", spacing: 24, children: [
149
+ /* @__PURE__ */ t(m, { height: 200, variant: "rounded", width: "100%" }),
150
+ /* @__PURE__ */ t(m, { height: 100, variant: "rounded", width: "100%" }),
151
+ /* @__PURE__ */ t(m, { height: 300, variant: "rounded", width: "100%" })
152
+ ] }) : /* @__PURE__ */ t(s, { direction: "column", spacing: 24, children: A.map((r) => /* @__PURE__ */ t(e.Fragment, { children: r.component }, r.index)) }) })
153
+ ] });
154
+ }, co = g(B);
155
+ export {
156
+ co as Dashboard,
157
+ _ as DashboardLocation
158
+ };
159
+ //# sourceMappingURL=index.es11.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es11.js","sources":["../src/dashboard/constants/Dashboard.ts","../src/dashboard/Greeting.tsx","../src/dashboard/Dashboard.tsx"],"sourcesContent":["export enum DashboardLocation {\n Main = 0,\n RightSide = 1,\n}\n","import { observer } from 'mobx-react-lite'\nimport Stack from '@mui/material/Stack'\nimport Paper from '@mui/material/Paper'\n\nimport { H1, Text } from '@kyper/mui'\n\nimport {\n AccountFilter,\n useAccountStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n useScreenSize,\n} from '../common'\n\nconst Greeting = () => {\n const { accounts } = useAccountStore()\n const { selectedAccountGuids, setSelectedAccountGuids } = useGlobalUiStore()\n const { isMobile } = useScreenSize()\n const { common: commonCopy } = useGlobalCopyStore()\n\n const accountFilterCopy = {\n accountFilterOptionsCopy: {\n accountTypeAccounts: commonCopy.account_filter.account_type_accounts,\n cancelButton: commonCopy.cancel_button,\n filterButton: commonCopy.filter_button,\n filterButtonAria: commonCopy.account_filter.filter_button_generic_aria,\n selectAllAccounts: commonCopy.account_filter.select_all_accounts,\n toggleAccountTypeAccounts: commonCopy.account_filter.toggle_account_type_accounts,\n unselectAllAccounts: commonCopy.account_filter.unselect_all_accounts,\n zeroStateButton: commonCopy.account_filter.zero_state_button,\n zeroStateDescription: commonCopy.account_filter.zero_state_description,\n zeroStateTitle: commonCopy.account_filter.zero_state_title,\n },\n title: commonCopy.account_filter.title,\n }\n\n const getGreeting = () => {\n const now = new Date()\n const hour = now.getHours()\n\n if (hour > 1 && hour < 12) {\n return commonCopy.good_morning\n } else if (hour >= 12 && hour < 18) {\n return commonCopy.good_afternoon\n } else {\n return commonCopy.good_evening\n }\n }\n\n return (\n <Paper sx={{ mb: isMobile ? 24 : 0, p: 24 }}>\n <Stack alignItems=\"center\" flexDirection=\"row\" justifyContent=\"space-between\">\n <Stack>\n <H1>{getGreeting()}</H1>\n <Text color=\"text.secondary\" sx={{ fontSize: 15 }}>\n {commonCopy.heres_your_spending_overview}\n </Text>\n </Stack>\n <AccountFilter\n accounts={accounts}\n copy={accountFilterCopy}\n onFilterClick={(guids) => {\n setSelectedAccountGuids(guids)\n }}\n selectedAccountGuids={selectedAccountGuids}\n showAccountNumbers={false}\n sx={{ '& .mx-cmn-account-filter-title': { fontSize: 15 }, mx: 4 }}\n variant=\"text\"\n />\n </Stack>\n </Paper>\n )\n}\n\nexport default observer(Greeting)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Grid from '@mui/material/Unstable_Grid2'\nimport Skeleton from '@mui/material/Skeleton'\nimport Stack from '@mui/material/Stack'\n\nimport { useAccountStore, useGlobalStore, useGlobalUiStore, useScreenSize } from '../common'\nimport { DashboardLocation } from './constants/Dashboard'\n\nimport type { DashboardWidget } from './types/DashboardTypes'\nimport Greeting from './Greeting'\n\nexport interface DashboardProps {\n widgets: DashboardWidget[]\n isLoading: boolean\n}\n\nconst Dashboard: React.FC<DashboardProps> = ({ widgets, isLoading }) => {\n const { isDesktop, isMobile } = useScreenSize()\n const { copyStore } = useGlobalStore()\n const { setSelectedAccounts } = useGlobalUiStore()\n const { accounts } = useAccountStore()\n\n React.useEffect(() => {\n setSelectedAccounts(accounts)\n }, [accounts])\n\n const sortedWidgets = React.useMemo(\n () => widgets.sort((w1, w2) => w1.index - w2.index),\n [widgets],\n )\n\n const mainWidgets = React.useMemo(\n () => sortedWidgets.filter((widget) => widget.location === DashboardLocation.Main),\n [widgets],\n )\n\n const sideWidgets = React.useMemo(\n () => sortedWidgets.filter((widget) => widget.location === DashboardLocation.RightSide),\n [widgets],\n )\n\n return (\n <Grid container={true} spacing={isMobile ? 0 : 24} sx={{ overflow: 'scroll' }}>\n <Grid xs={12}>{copyStore.isInitialized && <Greeting />}</Grid>\n\n {/* Main Column */}\n <Grid xl={8} xs={12}>\n {isLoading && (\n <Stack direction=\"column\" spacing={24}>\n <Skeleton height={100} variant=\"rounded\" width=\"100%\" />\n <Skeleton height={300} variant=\"rounded\" width=\"100%\" />\n <Skeleton height={300} variant=\"rounded\" width=\"100%\" />\n </Stack>\n )}\n {!isLoading && (\n <Stack direction=\"column\" spacing={24}>\n {isDesktop\n ? mainWidgets.map((widget) => (\n <React.Fragment key={widget.index}>{widget.component}</React.Fragment>\n ))\n : sortedWidgets.map((widget) => (\n <React.Fragment key={widget.index}>{widget.component}</React.Fragment>\n ))}\n </Stack>\n )}\n </Grid>\n\n {/* Right Column */}\n {isDesktop && (\n <Grid xl={4}>\n {isLoading ? (\n <Stack direction=\"column\" spacing={24}>\n <Skeleton height={200} variant=\"rounded\" width=\"100%\" />\n <Skeleton height={100} variant=\"rounded\" width=\"100%\" />\n <Skeleton height={300} variant=\"rounded\" width=\"100%\" />\n </Stack>\n ) : (\n <Stack direction=\"column\" spacing={24}>\n {sideWidgets.map((widget) => (\n <React.Fragment key={widget.index}>{widget.component}</React.Fragment>\n ))}\n </Stack>\n )}\n </Grid>\n )}\n </Grid>\n )\n}\n\nexport default observer(Dashboard)\n"],"names":["DashboardLocation","Greeting","accounts","useAccountStore","selectedAccountGuids","setSelectedAccountGuids","useGlobalUiStore","isMobile","useScreenSize","commonCopy","useGlobalCopyStore","accountFilterCopy","Paper","Stack","jsxs","jsx","H1","hour","Text","AccountFilter","guids","Greeting$1","observer","Dashboard","widgets","isLoading","isDesktop","copyStore","useGlobalStore","setSelectedAccounts","React","sortedWidgets","w1","w2","mainWidgets","widget","sideWidgets","Grid","Skeleton","Dashboard$1"],"mappings":"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"}