@mx-cartographer/experiences 9.1.0-alpha.bb1 → 9.1.1

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 (248) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +10 -10
  3. package/dist/Account-DR7Plrqy.mjs +119 -0
  4. package/dist/Account-DR7Plrqy.mjs.map +1 -0
  5. package/dist/AccountDetailsDrawer-C1hhmlmI.mjs +922 -0
  6. package/dist/AccountDetailsDrawer-C1hhmlmI.mjs.map +1 -0
  7. package/dist/AccountDetailsHeader-BliEZhz7.mjs +230 -0
  8. package/dist/AccountDetailsHeader-BliEZhz7.mjs.map +1 -0
  9. package/dist/AccountUtils-Cbh8r9cP.mjs +29 -0
  10. package/dist/AccountUtils-Cbh8r9cP.mjs.map +1 -0
  11. package/dist/Analytics-CkYXKvco.mjs +54 -0
  12. package/dist/Analytics-CkYXKvco.mjs.map +1 -0
  13. package/dist/Analytics-WeZYytR0.mjs +140 -0
  14. package/dist/Analytics-WeZYytR0.mjs.map +1 -0
  15. package/dist/ApiEndpoints-DXwIYNUV.mjs +50 -0
  16. package/dist/ApiEndpoints-DXwIYNUV.mjs.map +1 -0
  17. package/dist/BeatMaterialIcon-1KOfRZrA.mjs +27 -0
  18. package/dist/BeatMaterialIcon-1KOfRZrA.mjs.map +1 -0
  19. package/dist/BudgetUtil-Bg2AQJpQ.mjs +75 -0
  20. package/dist/BudgetUtil-Bg2AQJpQ.mjs.map +1 -0
  21. package/dist/Category-DEKZGLYe.mjs +302 -0
  22. package/dist/Category-DEKZGLYe.mjs.map +1 -0
  23. package/dist/CategorySelectorDrawer-NJsFsKP1.mjs +431 -0
  24. package/dist/CategorySelectorDrawer-NJsFsKP1.mjs.map +1 -0
  25. package/dist/Connect-BH0Pt6zc.mjs +43 -0
  26. package/dist/Connect-BH0Pt6zc.mjs.map +1 -0
  27. package/dist/ConnectCard-D7uxoH5Y.mjs +55 -0
  28. package/dist/ConnectCard-D7uxoH5Y.mjs.map +1 -0
  29. package/dist/ConnectDrawer-CW4LA3H3.mjs +58 -0
  30. package/dist/ConnectDrawer-CW4LA3H3.mjs.map +1 -0
  31. package/dist/ConnectionsDrawer-CZU9ku-k.mjs +54 -0
  32. package/dist/ConnectionsDrawer-CZU9ku-k.mjs.map +1 -0
  33. package/dist/CurrencyDialog-DumQCTPO.mjs +374 -0
  34. package/dist/CurrencyDialog-DumQCTPO.mjs.map +1 -0
  35. package/dist/CurrencyInput-DaGEQaLW.mjs +88 -0
  36. package/dist/CurrencyInput-DaGEQaLW.mjs.map +1 -0
  37. package/dist/CurrencyText-CCbE6MmF.mjs +21 -0
  38. package/dist/CurrencyText-CCbE6MmF.mjs.map +1 -0
  39. package/dist/DateFormats-HudZ3Bjs.mjs +65 -0
  40. package/dist/DateFormats-HudZ3Bjs.mjs.map +1 -0
  41. package/dist/DateUtil-CzBmbjmA.mjs +75 -0
  42. package/dist/DateUtil-CzBmbjmA.mjs.map +1 -0
  43. package/dist/DebtUtils-i4pI2Uoe.mjs +154 -0
  44. package/dist/DebtUtils-i4pI2Uoe.mjs.map +1 -0
  45. package/dist/Dialog-Bvd2n8hz.mjs +67 -0
  46. package/dist/Dialog-Bvd2n8hz.mjs.map +1 -0
  47. package/dist/Donut-SzzfZDHF.mjs +89 -0
  48. package/dist/Donut-SzzfZDHF.mjs.map +1 -0
  49. package/dist/Drawer-DsnW2o0v.mjs +175 -0
  50. package/dist/Drawer-DsnW2o0v.mjs.map +1 -0
  51. package/dist/EmbeddedCard-DH8vQ3qN.mjs +859 -0
  52. package/dist/EmbeddedCard-DH8vQ3qN.mjs.map +1 -0
  53. package/dist/EmptyState-CJUDc3kD.mjs +85 -0
  54. package/dist/EmptyState-CJUDc3kD.mjs.map +1 -0
  55. package/dist/Error-Dtw6yxkf.mjs +85 -0
  56. package/dist/Error-Dtw6yxkf.mjs.map +1 -0
  57. package/dist/ErrorBoundary-CsdOcnJ9.mjs +24 -0
  58. package/dist/ErrorBoundary-CsdOcnJ9.mjs.map +1 -0
  59. package/dist/ExportCsvAction-C9KWH3Az.mjs +25 -0
  60. package/dist/ExportCsvAction-C9KWH3Az.mjs.map +1 -0
  61. package/dist/GlobalAccountFilter-BhzR5Vb1.mjs +230 -0
  62. package/dist/GlobalAccountFilter-BhzR5Vb1.mjs.map +1 -0
  63. package/dist/GlobalCopyApi-wcnDUzMV.mjs +129 -0
  64. package/dist/GlobalCopyApi-wcnDUzMV.mjs.map +1 -0
  65. package/dist/GoalsUtil-C9EnLWvC.mjs +108 -0
  66. package/dist/GoalsUtil-C9EnLWvC.mjs.map +1 -0
  67. package/dist/HeaderCell-P8w6CmfO.mjs +7 -0
  68. package/dist/HeaderCell-P8w6CmfO.mjs.map +1 -0
  69. package/dist/Help-CkQTjORd.mjs +300 -0
  70. package/dist/Help-CkQTjORd.mjs.map +1 -0
  71. package/dist/Help-aERwhajy.mjs +3210 -0
  72. package/dist/Help-aERwhajy.mjs.map +1 -0
  73. package/dist/IconBacking-DgT8DCeh.mjs +40 -0
  74. package/dist/IconBacking-DgT8DCeh.mjs.map +1 -0
  75. package/dist/InformationTooltip-4su8bn1e.mjs +42 -0
  76. package/dist/InformationTooltip-4su8bn1e.mjs.map +1 -0
  77. package/dist/InvestmentUtil-BItV7uEs.mjs +135 -0
  78. package/dist/InvestmentUtil-BItV7uEs.mjs.map +1 -0
  79. package/dist/LineChart-CUfiH86G.mjs +613 -0
  80. package/dist/LineChart-CUfiH86G.mjs.map +1 -0
  81. package/dist/ListItemAction-BqUCLj_w.mjs +70 -0
  82. package/dist/ListItemAction-BqUCLj_w.mjs.map +1 -0
  83. package/dist/ListItemRow-kH1rn8Xu.mjs +68 -0
  84. package/dist/ListItemRow-kH1rn8Xu.mjs.map +1 -0
  85. package/dist/ListItemWrapper-DRse79Iu.mjs +44 -0
  86. package/dist/ListItemWrapper-DRse79Iu.mjs.map +1 -0
  87. package/dist/Loader-CxeBwuPG.mjs +22 -0
  88. package/dist/Loader-CxeBwuPG.mjs.map +1 -0
  89. package/dist/Localization-DnoVyBNK.mjs +39 -0
  90. package/dist/Localization-DnoVyBNK.mjs.map +1 -0
  91. package/dist/ManageIncome-Be9WHv-s.mjs +906 -0
  92. package/dist/ManageIncome-Be9WHv-s.mjs.map +1 -0
  93. package/dist/MicroWidgetContainer-B2NnKBgW.mjs +46 -0
  94. package/dist/MicroWidgetContainer-B2NnKBgW.mjs.map +1 -0
  95. package/dist/MiniWidgetContainer-Bmv_WeUd.mjs +67 -0
  96. package/dist/MiniWidgetContainer-Bmv_WeUd.mjs.map +1 -0
  97. package/dist/NetWorthUtils-Dj7CgAg2.mjs +96 -0
  98. package/dist/NetWorthUtils-Dj7CgAg2.mjs.map +1 -0
  99. package/dist/Notification-DTNYSd8P.mjs +8 -0
  100. package/dist/Notification-DTNYSd8P.mjs.map +1 -0
  101. package/dist/NotificationSettings-CW7okUrk.mjs +678 -0
  102. package/dist/NotificationSettings-CW7okUrk.mjs.map +1 -0
  103. package/dist/NotificationUtils-BRGFTePr.mjs +24 -0
  104. package/dist/NotificationUtils-BRGFTePr.mjs.map +1 -0
  105. package/dist/NumberFormatting--XMeeBfr.mjs +50 -0
  106. package/dist/NumberFormatting--XMeeBfr.mjs.map +1 -0
  107. package/dist/OriginalBalanceAction-YrvxBYAl.mjs +115 -0
  108. package/dist/OriginalBalanceAction-YrvxBYAl.mjs.map +1 -0
  109. package/dist/RecurringSettings-kRqAViNn.mjs +89 -0
  110. package/dist/RecurringSettings-kRqAViNn.mjs.map +1 -0
  111. package/dist/RecurringTransactionsUtil-CHWmqvW5.mjs +299 -0
  112. package/dist/RecurringTransactionsUtil-CHWmqvW5.mjs.map +1 -0
  113. package/dist/ResponsiveButton-CC9F_Ezk.mjs +46 -0
  114. package/dist/ResponsiveButton-CC9F_Ezk.mjs.map +1 -0
  115. package/dist/SearchBox-Cpgu_gdO.mjs +51 -0
  116. package/dist/SearchBox-Cpgu_gdO.mjs.map +1 -0
  117. package/dist/Select-CSpkK5cR.mjs +62 -0
  118. package/dist/Select-CSpkK5cR.mjs.map +1 -0
  119. package/dist/SelectionBox-B4xELRgp.mjs +49 -0
  120. package/dist/SelectionBox-B4xELRgp.mjs.map +1 -0
  121. package/dist/SingleSegmentDonut-7Uy6VEld.mjs +70 -0
  122. package/dist/SingleSegmentDonut-7Uy6VEld.mjs.map +1 -0
  123. package/dist/Sizes-DISGrlUg.mjs +7 -0
  124. package/dist/Sizes-DISGrlUg.mjs.map +1 -0
  125. package/dist/SkeletonLoader-BaNboJjD.mjs +39 -0
  126. package/dist/SkeletonLoader-BaNboJjD.mjs.map +1 -0
  127. package/dist/SpendingData-Fii_xATx.mjs +54 -0
  128. package/dist/SpendingData-Fii_xATx.mjs.map +1 -0
  129. package/dist/SpendingLegend-CxvNOg3c.mjs +204 -0
  130. package/dist/SpendingLegend-CxvNOg3c.mjs.map +1 -0
  131. package/dist/StatusBar-CPfSXe80.mjs +31 -0
  132. package/dist/StatusBar-CPfSXe80.mjs.map +1 -0
  133. package/dist/TabContentContainer-B0eYJP5p.mjs +49 -0
  134. package/dist/TabContentContainer-B0eYJP5p.mjs.map +1 -0
  135. package/dist/ToggleListItem-Dl1lXNwj.mjs +92 -0
  136. package/dist/ToggleListItem-Dl1lXNwj.mjs.map +1 -0
  137. package/dist/TransactionDetails-roZ5xLq8.mjs +1708 -0
  138. package/dist/TransactionDetails-roZ5xLq8.mjs.map +1 -0
  139. package/dist/TransactionUtils-BphBJBbU.mjs +235 -0
  140. package/dist/TransactionUtils-BphBJBbU.mjs.map +1 -0
  141. package/dist/TrendsUtil-D9z3kIj_.mjs +70 -0
  142. package/dist/TrendsUtil-D9z3kIj_.mjs.map +1 -0
  143. package/dist/UserStore-BjnNCO5a.mjs +3121 -0
  144. package/dist/UserStore-BjnNCO5a.mjs.map +1 -0
  145. package/dist/ViewMoreMicroCard-fnwE0hqd.mjs +1280 -0
  146. package/dist/ViewMoreMicroCard-fnwE0hqd.mjs.map +1 -0
  147. package/dist/WidgetContainer-DJnp6t6c.mjs +483 -0
  148. package/dist/WidgetContainer-DJnp6t6c.mjs.map +1 -0
  149. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsDrawer.d.ts +6 -0
  150. package/dist/accounts/index.d.ts +1 -0
  151. package/dist/accounts/index.es.js +784 -12
  152. package/dist/accounts/index.es.js.map +1 -0
  153. package/dist/analytics/index.es.js +140 -155
  154. package/dist/analytics/index.es.js.map +1 -0
  155. package/dist/budgets/index.es.js +1267 -1317
  156. package/dist/budgets/index.es.js.map +1 -0
  157. package/dist/cashflow/context/hooks.d.ts +7 -6
  158. package/dist/cashflow/index.es.js +944 -1076
  159. package/dist/cashflow/index.es.js.map +1 -0
  160. package/dist/categories/index.es.js +5 -4
  161. package/dist/categories/index.es.js.map +1 -0
  162. package/dist/common/components/DataRow.d.ts +1 -0
  163. package/dist/common/components/ListItemWrapper.d.ts +2 -1
  164. package/dist/common/constants/Analytics.d.ts +3 -0
  165. package/dist/common/index.es.js +310 -101
  166. package/dist/common/index.es.js.map +1 -0
  167. package/dist/core/index.es.js +105 -80
  168. package/dist/core/index.es.js.map +1 -0
  169. package/dist/core/stores/CashflowStore.d.ts +8 -7
  170. package/dist/core/stores/RecurringTransactionsStore.d.ts +53 -1
  171. package/dist/core/stores/TransactionStore.d.ts +1 -0
  172. package/dist/core/types/localization/RecurringCopy.d.ts +14 -1
  173. package/dist/core/types/localization/SpendingCopy.d.ts +1 -0
  174. package/dist/core/utils/AccountUtils.d.ts +8 -0
  175. package/dist/core/utils/DateUtil.d.ts +2 -0
  176. package/dist/core/utils/RecurringTransactionsUtil.d.ts +2 -1
  177. package/dist/dashboard/index.es.js +142 -185
  178. package/dist/dashboard/index.es.js.map +1 -0
  179. package/dist/debts/index.es.js +1273 -1384
  180. package/dist/debts/index.es.js.map +1 -0
  181. package/dist/finstrong/index.es.js +3473 -3367
  182. package/dist/finstrong/index.es.js.map +1 -0
  183. package/dist/goals/index.es.js +984 -1103
  184. package/dist/goals/index.es.js.map +1 -0
  185. package/dist/help/index.es.js +26 -3
  186. package/dist/help/index.es.js.map +1 -0
  187. package/dist/hooks-97sNJ_lf.mjs +78 -0
  188. package/dist/hooks-97sNJ_lf.mjs.map +1 -0
  189. package/dist/insights/components/insights/WeeklyNoSpendDays/BubbleWeek.d.ts +4 -1
  190. package/dist/insights/components/insights/WeeklyNoSpendDays/WeeklyNoSpendDays.d.ts +4 -2
  191. package/dist/insights/index.es.js +4871 -93
  192. package/dist/insights/index.es.js.map +1 -0
  193. package/dist/investments/index.es.js +1523 -1533
  194. package/dist/investments/index.es.js.map +1 -0
  195. package/dist/merchants/index.es.js +65 -75
  196. package/dist/merchants/index.es.js.map +1 -0
  197. package/dist/microinsights/index.es.js +826 -15
  198. package/dist/microinsights/index.es.js.map +1 -0
  199. package/dist/networth/index.es.js +504 -550
  200. package/dist/networth/index.es.js.map +1 -0
  201. package/dist/notifications/index.es.js +162 -169
  202. package/dist/notifications/index.es.js.map +1 -0
  203. package/dist/recurringtransactions/components/RecurringTransactionDetails.d.ts +3 -2
  204. package/dist/recurringtransactions/components/RecurringTransactionDetailsDrawer.d.ts +3 -0
  205. package/dist/recurringtransactions/components/RecurringTransactionList.d.ts +11 -0
  206. package/dist/recurringtransactions/components/UpcomingRecurrenceCard.d.ts +8 -0
  207. package/dist/recurringtransactions/components/actions/LinkTransactionDrawer.d.ts +10 -0
  208. package/dist/recurringtransactions/components/actions/MarkAsPaidDialog.d.ts +7 -0
  209. package/dist/recurringtransactions/components/actions/MarkAsUnpaidDialog.d.ts +7 -0
  210. package/dist/recurringtransactions/index.es.js +1012 -10
  211. package/dist/recurringtransactions/index.es.js.map +1 -0
  212. package/dist/settings/index.es.js +892 -13
  213. package/dist/settings/index.es.js.map +1 -0
  214. package/dist/spending/index.es.js +457 -400
  215. package/dist/spending/index.es.js.map +1 -0
  216. package/dist/transactions/components/shared/transactionlist/TransactionRow.d.ts +1 -0
  217. package/dist/transactions/index.es.js +604 -10
  218. package/dist/transactions/index.es.js.map +1 -0
  219. package/dist/trends/index.es.js +1408 -1268
  220. package/dist/trends/index.es.js.map +1 -0
  221. package/dist/useAccountDisplayName-BsiXA0qf.mjs +24 -0
  222. package/dist/useAccountDisplayName-BsiXA0qf.mjs.map +1 -0
  223. package/dist/useAriaLive-MkYebyUR.mjs +36 -0
  224. package/dist/useAriaLive-MkYebyUR.mjs.map +1 -0
  225. package/dist/useDimensions-CeDR9V8N.mjs +37 -0
  226. package/dist/useDimensions-CeDR9V8N.mjs.map +1 -0
  227. package/dist/useInsightsEnabled-D5Sdm0TJ.mjs +12 -0
  228. package/dist/useInsightsEnabled-D5Sdm0TJ.mjs.map +1 -0
  229. package/dist/useScreenSize-mWpmnh5w.mjs +37 -0
  230. package/dist/useScreenSize-mWpmnh5w.mjs.map +1 -0
  231. package/dist/useWidgetLoadTimer-B0tB-yzL.mjs +20 -0
  232. package/dist/useWidgetLoadTimer-B0tB-yzL.mjs.map +1 -0
  233. package/package.json +30 -30
  234. package/dist/Analytics-BKzTPees.mjs +0 -61
  235. package/dist/GlobalCopyApi-BeXzaDH9.mjs +0 -487
  236. package/dist/HeaderCell-EhCUSjvj.mjs +0 -10
  237. package/dist/Loader-BlVzRtUd.mjs +0 -73
  238. package/dist/MiniWidgetContainer-COwnjfy7.mjs +0 -110
  239. package/dist/OriginalBalanceAction-sbiqaxok.mjs +0 -110
  240. package/dist/SpendingLegend-D15ixlQ1.mjs +0 -222
  241. package/dist/accounts-DkyAiLpg.mjs +0 -15632
  242. package/dist/core-BexP5oiV.mjs +0 -4047
  243. package/dist/help-CctDYrAH.mjs +0 -2308
  244. package/dist/insights/components/insights/P2pCategorization/_tests_/P2pCategorizationMultipleTransaction.test.d.ts +0 -0
  245. package/dist/insights/components/insights/P2pCategorization/_tests_/P2pCategorizationSingleTransaction.test.d.ts +0 -0
  246. package/dist/microinsights-CRf3ChsJ.mjs +0 -1814
  247. package/dist/recurringtransactions-gbJ_NA8u.mjs +0 -1564
  248. package/dist/settings-ZMHe439l.mjs +0 -1526
@@ -1,410 +1,332 @@
1
- import { s as F } from "../GlobalCopyApi-BeXzaDH9.mjs";
2
- import { J as V, Pt as q, _t as xe, f as ye, h as $e, ln as P, mt as Ye, un as U } from "../core-BexP5oiV.mjs";
3
- import { An as qe, Gn as Ke, In as _e, Nn as le, jn as E, ln as Ve, lr as Ne, mr as de, nn as Xe, rn as Je, sr as Ce } from "../accounts-DkyAiLpg.mjs";
4
- import { n as ke } from "../Analytics-BKzTPees.mjs";
5
- import { E as Le, M as Qe, O as Ze, d as Oe, h as $, i as et, k as ie, n as Ge, o as me, p as N, t as J, w as B } from "../Loader-BlVzRtUd.mjs";
6
- import { t as tt } from "../MiniWidgetContainer-COwnjfy7.mjs";
7
- import { a as nt, c as we, d as at, l as ot, o as it, u as rt } from "../recurringtransactions-gbJ_NA8u.mjs";
8
- import h, { useState as K } from "react";
9
- import { observer as A } from "mobx-react-lite";
10
- import s from "@mui/material/Stack";
11
- import { H2 as ue, H3 as st, Icon as z, InstitutionLogo as ve, P as L, Text as m } from "@mxenabled/mxui";
12
- import { addDays as Se } from "date-fns/addDays";
13
- import { addMonths as ct } from "date-fns/addMonths";
14
- import { isBefore as Me } from "date-fns/isBefore";
15
- import { startOfMonth as lt } from "date-fns/startOfMonth";
16
- import { startOfToday as H } from "date-fns/startOfToday";
17
- import W from "@mui/material/Button";
18
- import { Fragment as j, jsx as e, jsxs as n } from "react/jsx-runtime";
19
- import { alpha as dt, keyframes as mt, useTheme as re } from "@mui/material/styles";
1
+ import { jsxs as n, Fragment as M, jsx as e } from "react/jsx-runtime";
2
+ import w, { useState as U } from "react";
3
+ import { observer as T } from "mobx-react-lite";
20
4
  import D from "@mui/material/Box";
21
- import { endOfToday as ut } from "date-fns/endOfToday";
22
- import { subDays as He } from "date-fns/subDays";
23
- import De from "@mui/material/Tab";
24
- import pt from "@mui/material/Tabs";
25
- import { getUnixTime as ce } from "date-fns/getUnixTime";
26
- import { fromUnixTime as Ie } from "date-fns/fromUnixTime";
27
- import { isAfter as Fe } from "date-fns/isAfter";
28
- import { formatISO as ht } from "date-fns/formatISO";
29
5
  import I from "@mui/material/Divider";
30
- import X from "@mui/material/List";
31
- import Q from "@mui/material/ListItem";
32
- import ft from "@mui/material/ListSubheader";
33
- import { isToday as We } from "date-fns/isToday";
34
- import { DataGridPro as gt } from "@mui/x-data-grid-pro";
35
- var Y = () => {
36
- if (!h.useContext(Qe)) throw new Error("useCashflowUiStore() must be used within the GlobalDataContext");
37
- return me().uiStore;
38
- }, bt = ({ remaining: o }) => {
39
- const { cashflow: a } = N();
40
- return /* @__PURE__ */ n(j, { children: [
41
- /* @__PURE__ */ e(D, { sx: {
42
- borderRadius: "1px",
43
- backgroundColor: o < 0 ? "error.main" : o > 0 ? "success.main" : "warning.main",
44
- height: 6,
45
- width: 6
46
- } }),
47
- /* @__PURE__ */ e(m, {
48
- bold: !0,
49
- sx: {
50
- flexGrow: 1,
51
- fontSize: 12
52
- },
53
- children: a.remaining_cash
54
- }),
55
- /* @__PURE__ */ e(E, {
56
- amount: o,
57
- bold: !0,
58
- sx: { fontSize: 12 }
59
- })
6
+ import c from "@mui/material/Stack";
7
+ import { useTheme as oe, alpha as Ye, keyframes as qe } from "@mui/material/styles";
8
+ import { Text as m, P as E, Icon as H, InstitutionLogo as ye, H2 as le, H3 as Ke } from "@mxenabled/mxui";
9
+ import { b as G } from "../Localization-DnoVyBNK.mjs";
10
+ import { G as Ve, p as de, u as R, D as ie, a as j, h as Q, i as me, f as Le, c as Xe, g as ke, C as Je } from "../hooks-97sNJ_lf.mjs";
11
+ import { C as A } from "../CurrencyText-CCbE6MmF.mjs";
12
+ import { u as pe } from "../useScreenSize-mWpmnh5w.mjs";
13
+ import { L as V } from "../Loader-CxeBwuPG.mjs";
14
+ import { I as ue } from "../InformationTooltip-4su8bn1e.mjs";
15
+ import { u as Ne } from "../useWidgetLoadTimer-B0tB-yzL.mjs";
16
+ import { M as Qe } from "../MiniWidgetContainer-Bmv_WeUd.mjs";
17
+ import { E as Ze } from "../EmptyState-CJUDc3kD.mjs";
18
+ import { R as et } from "../RecurringSettings-kRqAViNn.mjs";
19
+ import tt from "@mui/material/Tabs";
20
+ import _e from "@mui/material/Tab";
21
+ import { getUnixTime as ce } from "date-fns/getUnixTime";
22
+ import K from "@mui/material/List";
23
+ import X from "@mui/material/ListItem";
24
+ import { A as nt } from "../AccountDetailsDrawer-C1hhmlmI.mjs";
25
+ import { f as $, D as P } from "../DateFormats-HudZ3Bjs.mjs";
26
+ import ot from "@mui/material/ListSubheader";
27
+ import { f as q } from "../NumberFormatting--XMeeBfr.mjs";
28
+ import { isAfter as Oe } from "date-fns/isAfter";
29
+ import { isBefore as Ge } from "date-fns/isBefore";
30
+ import { isToday as Fe } from "date-fns/isToday";
31
+ import { g as He } from "../AccountUtils-Cbh8r9cP.mjs";
32
+ import { DataGridPro as it } from "@mui/x-data-grid-pro";
33
+ import { T as Ce } from "../TabContentContainer-B0eYJP5p.mjs";
34
+ import F from "@mui/material/Button";
35
+ import { M as at, S as rt, i as ct, b as we, c as st } from "../ManageIncome-Be9WHv-s.mjs";
36
+ import { D as We } from "../Drawer-DsnW2o0v.mjs";
37
+ import { subDays as Me } from "date-fns/subDays";
38
+ import { startOfToday as se } from "date-fns/startOfToday";
39
+ import { endOfToday as lt } from "date-fns/endOfToday";
40
+ import { W as dt } from "../WidgetContainer-DJnp6t6c.mjs";
41
+ import { c as Y } from "../Account-DR7Plrqy.mjs";
42
+ import { A as Se } from "../Analytics-WeZYytR0.mjs";
43
+ import { formatISO as mt } from "date-fns/formatISO";
44
+ import { fromUnixTime as De } from "date-fns/fromUnixTime";
45
+ import { startOfMonth as pt } from "date-fns/startOfMonth";
46
+ import { S as ut, a as ht } from "../EmbeddedCard-DH8vQ3qN.mjs";
47
+ import { F as ft, R as Ie, d as ve } from "../RecurringTransactionsUtil-CHWmqvW5.mjs";
48
+ import { k as gt } from "../DateUtil-CzBmbjmA.mjs";
49
+ const z = () => {
50
+ if (!w.useContext(Ve))
51
+ throw new Error("useCashflowUiStore() must be used within the GlobalDataContext");
52
+ return de().uiStore;
53
+ }, bt = ({ remaining: i }) => {
54
+ const { cashflow: o } = R();
55
+ return /* @__PURE__ */ n(M, { children: [
56
+ /* @__PURE__ */ e(
57
+ D,
58
+ {
59
+ sx: {
60
+ borderRadius: "1px",
61
+ backgroundColor: i < 0 ? "error.main" : i > 0 ? "success.main" : "warning.main",
62
+ height: 6,
63
+ width: 6
64
+ }
65
+ }
66
+ ),
67
+ /* @__PURE__ */ e(m, { bold: !0, sx: { flexGrow: 1, fontSize: 12 }, children: o.remaining_cash }),
68
+ /* @__PURE__ */ e(A, { amount: i, bold: !0, sx: { fontSize: 12 } })
60
69
  ] });
61
- }, pe = A(bt), xt = () => {
62
- const o = re(), { availableWidth: a } = ie(), { isMobile: t } = de(), { visibleCashAccounts: r, visibleCashBalance: f } = Ge(), { selectedAccountGuids: u } = $(), { cashflow: c } = N(), { daysUntilNextIncome: l, expensesTilNextIncome: b, selectedCashAccounts: i, setNextIncome: g, setSelectedCashAccounts: d, setUpcomingExpenses: x } = Y(), { isDataLoaded: C, nextIncomeRecurrence: w, upcomingExpenses: R } = B();
63
- h.useEffect(() => {
64
- d(r.filter((y) => u.includes(y.guid)));
65
- }, [r, u]), h.useEffect(() => {
66
- w && g(w), x(R);
67
- }, [w, R]);
68
- const v = h.useMemo(() => r.filter((y) => u.includes(y.guid)).reduce((y, S) => y + (S?.balance || 0), 0), [u, R]), k = h.useMemo(() => b.filter((y) => u.includes(y.accountGuid || "")).reduce((y, S) => y + S.amount, 0), [u, b]), p = h.useMemo(() => v - k, [v, k]);
69
- return C ? /* @__PURE__ */ e(D, {
70
- className: "mx-cashflow",
71
- pl: 16,
72
- pr: 16,
73
- pt: 16,
74
- children: a > 710 ? /* @__PURE__ */ n(s, {
75
- border: `1px solid ${o.palette.divider}`,
70
+ }, he = T(bt), xt = () => {
71
+ const i = oe(), { availableWidth: o } = ie(), { isMobile: t } = pe(), { selectedAccountGuids: a } = j(), { cashflow: s } = R(), { daysUntilNextIncome: u, expensesTilNextIncome: y, selectedCashAccounts: l, selectedCashBalance: x } = z(), { isDataLoaded: _ } = Q(), r = y.filter((h) => a.includes(h.accountGuid || "")).reduce((h, d) => h + d.amount, 0), p = x - r;
72
+ return _ ? /* @__PURE__ */ e(D, { className: "mx-cashflow", pl: 16, pr: 16, pt: 16, children: o > 710 ? /* @__PURE__ */ n(
73
+ c,
74
+ {
75
+ border: `1px solid ${i.palette.divider}`,
76
76
  borderRadius: 1,
77
77
  direction: "row",
78
78
  justifyContent: "space-between",
79
79
  px: 24,
80
80
  children: [
81
- /* @__PURE__ */ n(s, {
82
- pb: 14,
83
- pt: 12,
84
- children: [/* @__PURE__ */ e(E, {
85
- amount: v,
86
- variant: "h2"
87
- }), /* @__PURE__ */ e(L, {
88
- variant: "caption",
89
- whiteSpace: "nowrap",
90
- children: F(c.total_cash_accounts, i.length)
91
- })]
92
- }),
93
- /* @__PURE__ */ e(s, {
94
- pt: 18,
95
- children: /* @__PURE__ */ e(z, { name: "remove" })
96
- }),
97
- /* @__PURE__ */ n(s, {
98
- pb: 14,
99
- pt: 12,
100
- children: [/* @__PURE__ */ e(E, {
101
- amount: k,
102
- variant: "h2"
103
- }), /* @__PURE__ */ e(L, {
104
- variant: "caption",
105
- whiteSpace: "nowrap",
106
- children: F(c.expenses_due, b.length)
107
- })]
108
- }),
109
- /* @__PURE__ */ e(s, {
110
- pt: 18,
111
- children: /* @__PURE__ */ e(z, { name: "equal" })
112
- }),
113
- /* @__PURE__ */ n(s, {
114
- pb: 14,
115
- pr: 24,
116
- pt: 12,
117
- children: [/* @__PURE__ */ e(E, {
118
- amount: p,
119
- variant: "h2"
120
- }), /* @__PURE__ */ n(s, {
121
- alignItems: "center",
122
- direction: "row",
123
- gap: 8,
124
- children: [/* @__PURE__ */ e(L, {
125
- variant: "caption",
126
- whiteSpace: "nowrap",
127
- children: c.available_to_spend
128
- }), /* @__PURE__ */ e(le, {
129
- body: c.tooltip_body,
130
- title: c.tooltip_title
131
- })]
132
- })]
133
- }),
134
- /* @__PURE__ */ e(s, {
135
- borderLeft: `1px solid ${o.palette.divider}`,
136
- pb: 12,
137
- pl: 24,
138
- pt: 12,
139
- children: /* @__PURE__ */ n(j, { children: [/* @__PURE__ */ e(m, {
140
- variant: "h2",
141
- children: F(c.days, l)
142
- }), /* @__PURE__ */ e(L, {
143
- variant: "caption",
144
- whiteSpace: "nowrap",
145
- children: c.next_paycheck
146
- })] })
147
- })
148
- ]
149
- }) : /* @__PURE__ */ n(s, {
150
- border: `1px solid ${o.palette.divider}`,
151
- borderRadius: 1,
152
- children: [
153
- /* @__PURE__ */ n(s, {
154
- direction: "row",
155
- justifyContent: "space-between",
156
- p: 16,
157
- children: [/* @__PURE__ */ e(m, {
158
- variant: "body2",
159
- children: F(c.total_cash_accounts, i.length)
160
- }), /* @__PURE__ */ e(E, {
161
- amount: f,
162
- bold: !0,
163
- variant: "caption"
164
- })]
165
- }),
166
- /* @__PURE__ */ e(I, {}),
167
- /* @__PURE__ */ n(s, {
168
- direction: "row",
169
- justifyContent: "space-between",
170
- p: 16,
171
- children: [/* @__PURE__ */ e(m, {
172
- variant: "body2",
173
- children: F(c.expenses_due, b.length)
174
- }), /* @__PURE__ */ e(E, {
175
- amount: k,
176
- bold: !0,
177
- symbol: "-",
178
- variant: "caption"
179
- })]
180
- }),
181
- /* @__PURE__ */ e(I, {}),
182
- /* @__PURE__ */ e(s, {
183
- alignItems: "center",
184
- bgcolor: "background.default",
185
- direction: "row",
186
- gap: 8,
187
- height: 48,
188
- justifyContent: "space-between",
189
- px: 16,
190
- sx: {
191
- borderBottomLeftRadius: 4,
192
- borderBottomRightRadius: 4
193
- },
194
- children: /* @__PURE__ */ e(pe, { remaining: p })
195
- }),
196
- /* @__PURE__ */ e(I, {}),
197
- /* @__PURE__ */ n(s, {
198
- direction: "row",
199
- justifyContent: "space-between",
200
- p: 16,
201
- children: [/* @__PURE__ */ e(m, {
202
- variant: "body2",
203
- children: c.next_paycheck
204
- }), /* @__PURE__ */ e(m, {
205
- bold: !0,
206
- variant: "caption",
207
- children: F(c.days, l)
208
- })]
209
- })
81
+ /* @__PURE__ */ n(c, { pb: 14, pt: 12, children: [
82
+ /* @__PURE__ */ e(A, { amount: x, variant: "h2" }),
83
+ /* @__PURE__ */ e(E, { variant: "caption", whiteSpace: "nowrap", children: G(
84
+ s.total_cash_accounts,
85
+ l.length
86
+ ) })
87
+ ] }),
88
+ /* @__PURE__ */ e(c, { pt: 18, children: /* @__PURE__ */ e(H, { name: "remove" }) }),
89
+ /* @__PURE__ */ n(c, { pb: 14, pt: 12, children: [
90
+ /* @__PURE__ */ e(A, { amount: r, variant: "h2" }),
91
+ /* @__PURE__ */ e(E, { variant: "caption", whiteSpace: "nowrap", children: G(s.expenses_due, y.length) })
92
+ ] }),
93
+ /* @__PURE__ */ e(c, { pt: 18, children: /* @__PURE__ */ e(H, { name: "equal" }) }),
94
+ /* @__PURE__ */ n(c, { pb: 14, pr: 24, pt: 12, children: [
95
+ /* @__PURE__ */ e(A, { amount: p, variant: "h2" }),
96
+ /* @__PURE__ */ n(c, { alignItems: "center", direction: "row", gap: 8, children: [
97
+ /* @__PURE__ */ e(E, { variant: "caption", whiteSpace: "nowrap", children: s.available_to_spend }),
98
+ /* @__PURE__ */ e(ue, { body: s.tooltip_body, title: s.tooltip_title })
99
+ ] })
100
+ ] }),
101
+ /* @__PURE__ */ e(c, { borderLeft: `1px solid ${i.palette.divider}`, pb: 12, pl: 24, pt: 12, children: /* @__PURE__ */ n(M, { children: [
102
+ /* @__PURE__ */ e(m, { variant: "h2", children: G(s.days, u) }),
103
+ /* @__PURE__ */ e(E, { variant: "caption", whiteSpace: "nowrap", children: s.next_paycheck })
104
+ ] }) })
210
105
  ]
211
- })
212
- }) : /* @__PURE__ */ e(J, { height: t ? 210 : 120 });
213
- }, yt = A(xt), _t = ({ onPrimaryCtaClick: o, onSecondaryCtaClick: a, sx: t = {} }) => {
214
- const { cashflow: r } = N(), { isInitialized: f } = $(), { loadRepeatingTransactionData: u, income: c, isDataLoaded: l, setDateRange: b } = B();
215
- h.useEffect(() => {
216
- b({
217
- start: H(),
218
- end: ct(H(), 1)
219
- }), l || u().finally();
220
- }, []), ke({
106
+ }
107
+ ) : /* @__PURE__ */ n(c, { border: `1px solid ${i.palette.divider}`, borderRadius: 1, children: [
108
+ /* @__PURE__ */ n(c, { direction: "row", justifyContent: "space-between", p: 16, children: [
109
+ /* @__PURE__ */ e(m, { variant: "body2", children: G(
110
+ s.total_cash_accounts,
111
+ l.length
112
+ ) }),
113
+ /* @__PURE__ */ e(A, { amount: x, bold: !0, variant: "caption" })
114
+ ] }),
115
+ /* @__PURE__ */ e(I, {}),
116
+ /* @__PURE__ */ n(c, { direction: "row", justifyContent: "space-between", p: 16, children: [
117
+ /* @__PURE__ */ e(m, { variant: "body2", children: G(s.expenses_due, y.length) }),
118
+ /* @__PURE__ */ e(A, { amount: r, bold: !0, symbol: "-", variant: "caption" })
119
+ ] }),
120
+ /* @__PURE__ */ e(I, {}),
121
+ /* @__PURE__ */ e(
122
+ c,
123
+ {
124
+ alignItems: "center",
125
+ bgcolor: "background.default",
126
+ direction: "row",
127
+ gap: 8,
128
+ height: 48,
129
+ justifyContent: "space-between",
130
+ px: 16,
131
+ sx: { borderBottomLeftRadius: 4, borderBottomRightRadius: 4 },
132
+ children: /* @__PURE__ */ e(he, { remaining: p })
133
+ }
134
+ ),
135
+ /* @__PURE__ */ e(I, {}),
136
+ /* @__PURE__ */ n(c, { direction: "row", justifyContent: "space-between", p: 16, children: [
137
+ /* @__PURE__ */ e(m, { variant: "body2", children: s.next_paycheck }),
138
+ /* @__PURE__ */ e(m, { bold: !0, variant: "caption", children: G(s.days, u) })
139
+ ] })
140
+ ] }) }) : /* @__PURE__ */ e(V, { height: t ? 210 : 120 });
141
+ }, yt = T(xt), _t = ({
142
+ onPrimaryCtaClick: i,
143
+ onSecondaryCtaClick: o,
144
+ sx: t = {}
145
+ }) => {
146
+ const { cashflow: a } = R(), { isInitialized: s } = j(), { income: u } = z(), { loadRepeatingTransactionData: y, isDataLoaded: l } = Q();
147
+ w.useEffect(() => {
148
+ l || y().finally();
149
+ }, []), Ne({
221
150
  widgetName: "CashflowMiniWidget",
222
151
  isLoaded: l
223
152
  });
224
- const i = l && !c.length;
225
- return f ? /* @__PURE__ */ n(tt, {
226
- className: "mx-exp-cashflow-miniwidget",
227
- onPrimaryCtaClick: o,
228
- primaryCtaLabel: r.primary_cta,
229
- primaryCtaLabelAria: r.primary_cta_aria,
230
- subTitle: i || !l ? void 0 : r.sub_title,
231
- sx: {
232
- height: "100%",
233
- ...t
234
- },
235
- title: r.title,
236
- children: [!l && /* @__PURE__ */ e(J, {}), l && (i ? /* @__PURE__ */ e(qe, {
237
- header: r.create,
238
- icon: "local_atm",
239
- onClick: a,
240
- primaryButton: r.add_income,
241
- primaryButtonStartIcon: "add",
242
- subText: r.create_description
243
- }) : /* @__PURE__ */ e(yt, {}))]
244
- }) : /* @__PURE__ */ e(J, {});
245
- }, _n = A(_t), Ct = ({ remaining: o }) => /* @__PURE__ */ e(Q, {
246
- sx: {
247
- alignItems: "center",
248
- backgroundColor: "background.highlight",
249
- display: "flex",
250
- gap: 12,
251
- padding: "12px 24px",
252
- borderBottomLeftRadius: "3px",
253
- borderBottomRightRadius: "3px",
254
- minHeight: "auto"
255
- },
256
- children: /* @__PURE__ */ e(pe, { remaining: o })
257
- }), ae = /* @__PURE__ */ (function(o) {
258
- return o.EXPENSE = "expense", o.INCOME = "income", o;
259
- })({}), wt = ({ recurrence: o }) => /* @__PURE__ */ n(j, { children: [/* @__PURE__ */ n(Q, {
260
- sx: {
261
- display: "flex",
262
- alignItems: "center",
263
- gap: 16,
264
- px: 24,
265
- py: 12
266
- },
267
- children: [
268
- /* @__PURE__ */ n(s, {
269
- alignItems: "center",
270
- height: 32,
271
- width: 32,
272
- children: [/* @__PURE__ */ e(m, {
273
- bold: !0,
274
- sx: { fontSize: 11 },
275
- children: U(o.expectedDate, P.MONTH)
276
- }), /* @__PURE__ */ e(m, {
277
- bold: !0,
278
- sx: { fontSize: 11 },
279
- children: U(o.expectedDate, P.DAY)
280
- })]
281
- }),
282
- /* @__PURE__ */ e(m, {
283
- sx: {
284
- flexGrow: 1,
285
- fontSize: 13
286
- },
287
- children: o.name
288
- }),
289
- /* @__PURE__ */ e(E, {
290
- amount: o.amount,
291
- bold: !0,
292
- sx: {
293
- textAlign: "right",
294
- fontSize: 13
295
- }
296
- })
297
- ]
298
- }), /* @__PURE__ */ e(I, {})] }), Te = A(wt), vt = ({ total: o, type: a }) => {
299
- const { cashflow: t } = N();
300
- return /* @__PURE__ */ n(j, { children: [/* @__PURE__ */ n(ft, {
153
+ const x = l && !u.length;
154
+ return s ? /* @__PURE__ */ n(
155
+ Qe,
156
+ {
157
+ className: "mx-exp-cashflow-miniwidget",
158
+ onPrimaryCtaClick: i,
159
+ primaryCtaLabel: a.primary_cta,
160
+ primaryCtaLabelAria: a.primary_cta_aria,
161
+ subTitle: x || !l ? void 0 : a.sub_title,
162
+ sx: { height: "100%", ...t },
163
+ title: a.title,
164
+ children: [
165
+ !l && /* @__PURE__ */ e(V, {}),
166
+ l && (x ? /* @__PURE__ */ e(
167
+ Ze,
168
+ {
169
+ header: a.create,
170
+ icon: "local_atm",
171
+ onClick: o,
172
+ primaryButton: a.add_income,
173
+ primaryButtonStartIcon: "add",
174
+ subText: a.create_description
175
+ }
176
+ ) : /* @__PURE__ */ e(yt, {}))
177
+ ]
178
+ }
179
+ ) : /* @__PURE__ */ e(V, {});
180
+ }, On = T(_t), Ct = ({ remaining: i }) => /* @__PURE__ */ e(
181
+ X,
182
+ {
301
183
  sx: {
302
184
  alignItems: "center",
303
185
  backgroundColor: "background.highlight",
304
186
  display: "flex",
305
- justifyContent: "space-between",
306
- pb: 4,
307
- pt: 12,
308
- px: 24
187
+ gap: 12,
188
+ padding: "12px 24px",
189
+ borderBottomLeftRadius: "3px",
190
+ borderBottomRightRadius: "3px",
191
+ minHeight: "auto"
309
192
  },
310
- children: [/* @__PURE__ */ e(m, {
311
- bold: !0,
312
- sx: { fontSize: 12 },
313
- children: a === ae.EXPENSE ? t.expenses : t.income
314
- }), /* @__PURE__ */ n(m, {
315
- bold: !0,
316
- sx: { fontSize: 13 },
317
- children: [a === ae.EXPENSE ? "-" : "+", V(o, "0,0.00")]
318
- })]
319
- }), /* @__PURE__ */ e(I, {})] });
320
- }, Ae = A(vt), oe = (o, a) => (t) => t.accountGuid === o.guid && (We(t.expectedDate) || Fe(t.expectedDate, a.start)) && Me(t.expectedDate, a.end), St = () => {
321
- const { availableWidth: o } = ie(), { cashflow: a } = N(), { upcomingExpenses: t, upcomingIncome: r } = B(), { dateRange: f, selectedCashAccounts: u } = Y();
322
- return /* @__PURE__ */ n(s, { children: [/* @__PURE__ */ n(s, {
323
- direction: o < 400 ? "column" : "row",
324
- justifyContent: "space-between",
325
- children: [/* @__PURE__ */ e(m, {
326
- bold: !0,
327
- sx: {
328
- fontSize: 15,
329
- mb: 12
330
- },
331
- children: a.accounts_breakdown
332
- }), /* @__PURE__ */ n(m, {
333
- bold: !0,
334
- sx: {
335
- fontSize: 15,
336
- mb: 12
337
- },
338
- children: [
339
- U(f.start, P.FULL_MONTH_DAY),
193
+ children: /* @__PURE__ */ e(he, { remaining: i })
194
+ }
195
+ );
196
+ var J = /* @__PURE__ */ ((i) => (i.EXPENSE = "expense", i.INCOME = "income", i))(J || {});
197
+ const wt = ({ recurrence: i }) => /* @__PURE__ */ n(M, { children: [
198
+ /* @__PURE__ */ n(X, { sx: { display: "flex", alignItems: "center", gap: 16, px: 24, py: 12 }, children: [
199
+ /* @__PURE__ */ n(c, { alignItems: "center", height: 32, width: 32, children: [
200
+ /* @__PURE__ */ e(m, { bold: !0, sx: { fontSize: 11 }, children: $(i.expectedDate, P.MONTH) }),
201
+ /* @__PURE__ */ e(m, { bold: !0, sx: { fontSize: 11 }, children: $(i.expectedDate, P.DAY) })
202
+ ] }),
203
+ /* @__PURE__ */ e(m, { sx: { flexGrow: 1, fontSize: 13 }, children: i.name }),
204
+ /* @__PURE__ */ e(
205
+ A,
206
+ {
207
+ amount: i.amount,
208
+ bold: !0,
209
+ sx: { textAlign: "right", fontSize: 13 }
210
+ }
211
+ )
212
+ ] }),
213
+ /* @__PURE__ */ e(I, {})
214
+ ] }), Te = T(wt), St = ({ total: i, type: o }) => {
215
+ const { cashflow: t } = R();
216
+ return /* @__PURE__ */ n(M, { children: [
217
+ /* @__PURE__ */ n(
218
+ ot,
219
+ {
220
+ sx: {
221
+ alignItems: "center",
222
+ backgroundColor: "background.highlight",
223
+ display: "flex",
224
+ justifyContent: "space-between",
225
+ pb: 4,
226
+ pt: 12,
227
+ px: 24
228
+ },
229
+ children: [
230
+ /* @__PURE__ */ e(m, { bold: !0, sx: { fontSize: 12 }, children: o === J.EXPENSE ? t.expenses : t.income }),
231
+ /* @__PURE__ */ n(m, { bold: !0, sx: { fontSize: 13 }, children: [
232
+ o === J.EXPENSE ? "-" : "+",
233
+ q(i, "0,0.00")
234
+ ] })
235
+ ]
236
+ }
237
+ ),
238
+ /* @__PURE__ */ e(I, {})
239
+ ] });
240
+ }, Ae = T(St), ne = (i, o) => (t) => t.accountGuid === i.guid && (Fe(t.expectedDate) || Oe(t.expectedDate, o.start)) && Ge(t.expectedDate, o.end), Dt = () => {
241
+ const { availableWidth: i } = ie(), { cashflow: o } = R(), {
242
+ config: { display_available_balance_in_accounts: t }
243
+ } = me(), { dateRange: a, selectedCashAccounts: s, upcomingExpenses: u, upcomingIncome: y } = z();
244
+ return /* @__PURE__ */ n(c, { children: [
245
+ /* @__PURE__ */ n(c, { direction: i < 400 ? "column" : "row", justifyContent: "space-between", children: [
246
+ /* @__PURE__ */ e(m, { bold: !0, sx: { fontSize: 15, mb: 12 }, children: o.accounts_breakdown }),
247
+ /* @__PURE__ */ n(m, { bold: !0, sx: { fontSize: 15, mb: 12 }, children: [
248
+ $(a.start, P.FULL_MONTH_DAY),
340
249
  " -",
341
250
  " ",
342
- U(f.end, P.FULL_MONTH_DAY)
343
- ]
344
- })]
345
- }), /* @__PURE__ */ e(s, { children: u.map((c) => {
346
- const l = r.filter(oe(c, f)).sort((d, x) => ce(d.expectedDate) - ce(x.expectedDate)), b = t.filter(oe(c, f)), i = l.reduce((d, x) => d + x.amount, 0), g = b.reduce((d, x) => d + x.amount, 0);
347
- return /* @__PURE__ */ n(X, {
348
- sx: {
349
- border: "1px solid",
350
- borderColor: "neutral.light",
351
- mb: 24,
352
- borderRadius: 1
353
- },
354
- children: [
355
- /* @__PURE__ */ e(Ve, {
356
- account: c,
357
- listItemProps: {
358
- disableGutters: !1,
359
- disablePadding: !1,
360
- sx: {
361
- borderTopRadius: 1,
362
- pr: 24
363
- }
364
- }
365
- }),
366
- /* @__PURE__ */ e(I, {}),
367
- l.length > 0 && /* @__PURE__ */ e(Q, { children: /* @__PURE__ */ e(X, {
368
- subheader: /* @__PURE__ */ e(Ae, {
369
- total: i,
370
- type: ae.INCOME
371
- }),
372
- sx: { width: "100%" },
373
- children: l.map((d) => /* @__PURE__ */ e(Te, { recurrence: d }, d.repeatingTransactionGuid))
374
- }) }),
375
- b.length > 0 && /* @__PURE__ */ e(Q, { children: /* @__PURE__ */ e(X, {
376
- subheader: /* @__PURE__ */ e(Ae, {
377
- total: g,
378
- type: ae.EXPENSE
379
- }),
380
- sx: { width: "100%" },
381
- children: b.map((d) => /* @__PURE__ */ e(Te, { recurrence: d }, d.repeatingTransactionGuid))
382
- }) }),
383
- /* @__PURE__ */ e(Ct, { remaining: (c.available_balance || c.balance || 0) + i - g })
384
- ]
385
- }, c.guid);
386
- }) })] });
387
- }, Dt = A(St), It = () => {
388
- const { availableWidth: o } = ie(), a = re(), { cashflow: t } = N(), { upcomingExpenses: r, upcomingIncome: f } = B(), { dateRange: u, selectedCashAccounts: c } = Y(), l = [
251
+ $(a.end, P.FULL_MONTH_DAY)
252
+ ] })
253
+ ] }),
254
+ /* @__PURE__ */ e(c, { children: s.map((l) => {
255
+ const x = y.filter(ne(l, a)).sort((d, f) => ce(d.expectedDate) - ce(f.expectedDate)), _ = u.filter(
256
+ ne(l, a)
257
+ ), r = x.reduce(
258
+ (d, f) => d + f.amount,
259
+ 0
260
+ ), p = _.reduce(
261
+ (d, f) => d + f.amount,
262
+ 0
263
+ ), h = He(l, t) + r - p;
264
+ return /* @__PURE__ */ n(
265
+ K,
266
+ {
267
+ sx: {
268
+ border: "1px solid",
269
+ borderColor: "neutral.light",
270
+ mb: 24,
271
+ borderRadius: 1
272
+ },
273
+ children: [
274
+ /* @__PURE__ */ e(
275
+ nt,
276
+ {
277
+ account: l,
278
+ listItemProps: {
279
+ disableGutters: !1,
280
+ disablePadding: !1,
281
+ sx: { borderTopRadius: 1, pr: 24 }
282
+ }
283
+ }
284
+ ),
285
+ /* @__PURE__ */ e(I, {}),
286
+ x.length > 0 && /* @__PURE__ */ e(X, { children: /* @__PURE__ */ e(
287
+ K,
288
+ {
289
+ subheader: /* @__PURE__ */ e(Ae, { total: r, type: J.INCOME }),
290
+ sx: { width: "100%" },
291
+ children: x.map((d) => /* @__PURE__ */ e(Te, { recurrence: d }, d.repeatingTransactionGuid))
292
+ }
293
+ ) }),
294
+ _.length > 0 && /* @__PURE__ */ e(X, { children: /* @__PURE__ */ e(
295
+ K,
296
+ {
297
+ subheader: /* @__PURE__ */ e(Ae, { total: p, type: J.EXPENSE }),
298
+ sx: { width: "100%" },
299
+ children: _.map((d) => /* @__PURE__ */ e(Te, { recurrence: d }, d.repeatingTransactionGuid))
300
+ }
301
+ ) }),
302
+ /* @__PURE__ */ e(Ct, { remaining: h })
303
+ ]
304
+ },
305
+ l.guid
306
+ );
307
+ }) })
308
+ ] });
309
+ }, It = T(Dt), vt = () => {
310
+ const { availableWidth: i } = ie(), o = oe(), { cashflow: t } = R(), {
311
+ config: { display_available_balance_in_accounts: a }
312
+ } = me(), { dateRange: s, selectedCashAccounts: u, upcomingExpenses: y, upcomingIncome: l } = z(), x = [
389
313
  {
390
314
  field: "account",
391
315
  flex: 1.5,
392
316
  headerName: t.accounts,
393
- renderCell: ({ value: { name: i, nickname: g, institution_guid: d, account_number: x } }) => {
394
- const C = g || i;
395
- return /* @__PURE__ */ n(s, {
396
- alignItems: "center",
397
- flexDirection: "row",
398
- gap: 12,
399
- children: [/* @__PURE__ */ e(ve, {
400
- alt: t.institution_logo,
401
- institutionGuid: d || "",
402
- size: 16
403
- }), /* @__PURE__ */ e(m, {
404
- variant: "body2",
405
- children: `${C} ${x ? `*${x}` : ""}`
406
- })]
407
- });
317
+ renderCell: ({ value: { name: r, nickname: p, institution_guid: h, account_number: d } }) => {
318
+ const f = p || r;
319
+ return /* @__PURE__ */ n(c, { alignItems: "center", flexDirection: "row", gap: 12, children: [
320
+ /* @__PURE__ */ e(
321
+ ye,
322
+ {
323
+ alt: t.institution_logo,
324
+ institutionGuid: h || "",
325
+ size: 16
326
+ }
327
+ ),
328
+ /* @__PURE__ */ e(m, { variant: "body2", children: `${f} ${d ? `*${d}` : ""}` })
329
+ ] });
408
330
  }
409
331
  },
410
332
  {
@@ -412,759 +334,705 @@ var Y = () => {
412
334
  flex: 1,
413
335
  headerName: t.balance,
414
336
  type: "number",
415
- renderCell: (i) => /* @__PURE__ */ e(m, {
416
- color: a.palette.text.primary,
417
- variant: "body2",
418
- children: V(i.value, "0,0.00")
419
- })
337
+ renderCell: (r) => /* @__PURE__ */ e(m, { color: o.palette.text.primary, variant: "body2", children: q(r.value, "0,0.00") })
420
338
  },
421
339
  {
422
340
  field: "income",
423
341
  flex: 1,
424
342
  headerName: t.projected_income,
425
343
  type: "number",
426
- renderCell: (i) => /* @__PURE__ */ e(m, {
427
- color: a.palette.text.primary,
428
- variant: "body2",
429
- children: `+${V(i.value, "0,0.00")}`
430
- })
344
+ renderCell: (r) => /* @__PURE__ */ e(m, { color: o.palette.text.primary, variant: "body2", children: `+${q(r.value, "0,0.00")}` })
431
345
  },
432
346
  {
433
347
  field: "expenses",
434
348
  flex: 1.1,
435
349
  headerName: t.projected_expenses,
436
350
  type: "number",
437
- renderCell: (i) => /* @__PURE__ */ e(m, {
438
- color: a.palette.text.primary,
439
- variant: "body2",
440
- children: `-${V(i.value, "0,0.00")}`
441
- })
351
+ renderCell: (r) => /* @__PURE__ */ e(m, { color: o.palette.text.primary, variant: "body2", children: `-${q(r.value, "0,0.00")}` })
442
352
  },
443
353
  {
444
354
  field: "remaining",
445
355
  flex: 1,
446
356
  headerName: t.remaining,
447
357
  type: "number",
448
- renderCell: (i) => {
449
- const g = i.row.balance + i.row.income - i.row.expenses;
450
- return /* @__PURE__ */ e(m, {
451
- color: Math.sign(g) === -1 ? a.palette.error.main : a.palette.text.primary,
452
- variant: "body2",
453
- children: V(g, "0,0.00")
454
- });
358
+ renderCell: (r) => {
359
+ const p = r.row.balance + r.row.income - r.row.expenses;
360
+ return /* @__PURE__ */ e(
361
+ m,
362
+ {
363
+ color: Math.sign(p) === -1 ? o.palette.error.main : o.palette.text.primary,
364
+ variant: "body2",
365
+ children: q(p, "0,0.00")
366
+ }
367
+ );
455
368
  }
456
369
  }
457
- ], b = h.useMemo(() => c.map((i) => {
458
- const g = r.filter(oe(i, {
459
- start: H(),
460
- end: Se(H(), 30)
461
- })).reduce((C, w) => C + w.amount, 0), d = f.filter(oe(i, {
462
- start: H(),
463
- end: Se(H(), 30)
464
- })).reduce((C, w) => C + w.amount, 0), x = (i.balance || 0) + d - g;
370
+ ], _ = w.useMemo(() => u.map((r) => {
371
+ const p = y.filter(ne(r, s)).reduce((C, S) => C + S.amount, 0), h = l.filter(ne(r, s)).reduce((C, S) => C + S.amount, 0), d = He(r, a), f = d + h - p;
465
372
  return {
466
- account: i,
467
- balance: i.balance || 0,
468
- id: i.guid,
469
- income: d,
470
- expenses: g,
471
- remaining: x
373
+ account: r,
374
+ balance: d,
375
+ id: r.guid,
376
+ income: h,
377
+ expenses: p,
378
+ remaining: f
472
379
  };
473
- }), [
474
- c,
475
- r,
476
- f
477
- ]);
478
- return /* @__PURE__ */ n(D, {
479
- sx: { width: "100%" },
480
- children: [/* @__PURE__ */ n(s, {
481
- direction: o < 540 ? "column" : "row",
482
- justifyContent: "space-between",
483
- mb: 12,
484
- children: [/* @__PURE__ */ n(s, {
485
- alignItems: "center",
486
- direction: "row",
487
- gap: 8,
488
- children: [/* @__PURE__ */ e(m, {
489
- bold: !0,
490
- sx: { fontSize: 15 },
491
- children: t.cash_inflow_and_outflow
492
- }), /* @__PURE__ */ e(le, {
493
- body: t.table_tooltip_body,
494
- title: t.table_tooltip_title
495
- })]
496
- }), /* @__PURE__ */ n(m, {
497
- bold: !0,
498
- sx: { fontSize: 15 },
499
- children: [
500
- U(u.start, P.FULL_MONTH_DAY),
501
- " -",
502
- " ",
503
- U(u.end, P.FULL_MONTH_DAY)
504
- ]
505
- })]
506
- }), o > 650 ? /* @__PURE__ */ e(gt, {
507
- columnHeaderHeight: 48,
508
- columns: l,
509
- density: "standard",
510
- disableColumnMenu: !0,
511
- disableRowSelectionOnClick: !0,
512
- hideFooter: !0,
513
- rowHeight: 48,
514
- rows: b,
380
+ }), [u, y, l, a, s]);
381
+ return /* @__PURE__ */ n(
382
+ D,
383
+ {
515
384
  sx: {
516
- border: "1px solid",
517
- borderColor: "neutral.light",
518
- borderRadius: 1,
519
- "& .MuiDataGrid-columnHeader .MuiIconButton-root": {
520
- color: a.palette.primary.main,
521
- "&:hover": { backgroundColor: dt(a.palette.primary.main, 0.1) }
522
- },
523
- "& .MuiDataGrid-columnHeaderTitle": {
524
- fontFamily: a.typography.h3.fontFamily,
525
- fontSize: a.typography.body2.fontSize
526
- },
527
- "& .MuiDataGrid-sortIcon": { color: a.palette.primary.main }
528
- }
529
- }) : b.map((i) => {
530
- const { name: g, nickname: d, institution_guid: x, account_number: C } = i.account, w = d || g;
531
- return /* @__PURE__ */ e(X, {
532
- sx: {
533
- border: "1px solid",
534
- borderColor: "neutral.light",
535
- borderRadius: 1,
536
- marginBottom: 24
537
- },
538
- children: /* @__PURE__ */ e(Q, {
539
- sx: { minHeight: "auto" },
540
- children: /* @__PURE__ */ n(s, {
541
- width: "100%",
385
+ width: "100%"
386
+ },
387
+ children: [
388
+ /* @__PURE__ */ n(
389
+ c,
390
+ {
391
+ direction: i < 540 ? "column" : "row",
392
+ justifyContent: "space-between",
393
+ mb: 12,
542
394
  children: [
543
- /* @__PURE__ */ n(s, {
544
- alignItems: "center",
545
- flexDirection: "row",
546
- justifyContent: "space-between",
547
- px: 16,
548
- py: 12,
549
- children: [/* @__PURE__ */ n(s, {
550
- alignItems: "center",
551
- flexDirection: "row",
552
- gap: 8,
553
- width: "50%",
554
- children: [/* @__PURE__ */ e(ve, {
555
- alt: t.institution_logo,
556
- institutionGuid: x || "",
557
- size: 16
558
- }), /* @__PURE__ */ e(m, {
559
- variant: "body2",
560
- children: `${w} ${C ? `*${C}` : ""}`
561
- })]
562
- }), /* @__PURE__ */ e(E, {
563
- amount: i.balance,
564
- bold: !0,
565
- variant: "body2"
566
- })]
567
- }),
568
- /* @__PURE__ */ e(I, { sx: { width: "100%" } }),
569
- /* @__PURE__ */ n(s, {
570
- alignItems: "center",
571
- flexDirection: "row",
572
- justifyContent: "space-between",
573
- px: 16,
574
- py: 12,
575
- children: [/* @__PURE__ */ e(m, {
576
- variant: "body2",
577
- children: t.projected_income
578
- }), /* @__PURE__ */ e(E, {
579
- amount: i.income,
580
- bold: !0,
581
- symbol: "+",
582
- variant: "body2"
583
- })]
584
- }),
585
- /* @__PURE__ */ e(I, { sx: { width: "100%" } }),
586
- /* @__PURE__ */ n(s, {
587
- alignItems: "center",
588
- flexDirection: "row",
589
- justifyContent: "space-between",
590
- px: 16,
591
- py: 12,
592
- children: [/* @__PURE__ */ e(m, {
593
- variant: "body2",
594
- children: t.projected_expenses
595
- }), /* @__PURE__ */ e(E, {
596
- amount: i.expenses,
597
- bold: !0,
598
- symbol: "-",
599
- variant: "body2"
600
- })]
601
- }),
602
- /* @__PURE__ */ e(I, { sx: { width: "100%" } }),
603
- /* @__PURE__ */ e(s, {
604
- alignItems: "center",
605
- bgcolor: "background.default",
606
- flexDirection: "row",
607
- gap: 8,
608
- justifyContent: "space-between",
609
- px: 16,
610
- py: 12,
611
- sx: {
612
- borderBottomLeftRadius: "4px",
613
- borderBottomRightRadius: "4px"
614
- },
615
- children: /* @__PURE__ */ e(pe, { remaining: i.remaining })
616
- })
395
+ /* @__PURE__ */ n(c, { alignItems: "center", direction: "row", gap: 8, children: [
396
+ /* @__PURE__ */ e(
397
+ m,
398
+ {
399
+ bold: !0,
400
+ sx: {
401
+ fontSize: 15
402
+ },
403
+ children: t.cash_inflow_and_outflow
404
+ }
405
+ ),
406
+ /* @__PURE__ */ e(
407
+ ue,
408
+ {
409
+ body: t.table_tooltip_body,
410
+ title: t.table_tooltip_title
411
+ }
412
+ )
413
+ ] }),
414
+ /* @__PURE__ */ n(m, { bold: !0, sx: { fontSize: 15 }, children: [
415
+ $(s.start, P.FULL_MONTH_DAY),
416
+ " -",
417
+ " ",
418
+ $(s.end, P.FULL_MONTH_DAY)
419
+ ] })
617
420
  ]
618
- })
421
+ }
422
+ ),
423
+ i > 650 ? /* @__PURE__ */ e(
424
+ it,
425
+ {
426
+ columnHeaderHeight: 48,
427
+ columns: x,
428
+ density: "standard",
429
+ disableColumnMenu: !0,
430
+ disableRowSelectionOnClick: !0,
431
+ hideFooter: !0,
432
+ rowHeight: 48,
433
+ rows: _,
434
+ sx: {
435
+ border: "1px solid",
436
+ borderColor: "neutral.light",
437
+ borderRadius: 1,
438
+ "& .MuiDataGrid-columnHeader .MuiIconButton-root": {
439
+ color: o.palette.primary.main,
440
+ "&:hover": {
441
+ backgroundColor: Ye(o.palette.primary.main, 0.1)
442
+ }
443
+ },
444
+ "& .MuiDataGrid-columnHeaderTitle": {
445
+ fontFamily: o.typography.h3.fontFamily,
446
+ fontSize: o.typography.body2.fontSize
447
+ },
448
+ "& .MuiDataGrid-sortIcon": {
449
+ color: o.palette.primary.main
450
+ }
451
+ }
452
+ }
453
+ ) : _.map((r) => {
454
+ const { name: p, nickname: h, institution_guid: d, account_number: f } = r.account, C = h || p;
455
+ return /* @__PURE__ */ e(
456
+ K,
457
+ {
458
+ sx: {
459
+ border: "1px solid",
460
+ borderColor: "neutral.light",
461
+ borderRadius: 1,
462
+ marginBottom: 24
463
+ },
464
+ children: /* @__PURE__ */ e(X, { sx: { minHeight: "auto" }, children: /* @__PURE__ */ n(c, { width: "100%", children: [
465
+ /* @__PURE__ */ n(
466
+ c,
467
+ {
468
+ alignItems: "center",
469
+ flexDirection: "row",
470
+ justifyContent: "space-between",
471
+ px: 16,
472
+ py: 12,
473
+ children: [
474
+ /* @__PURE__ */ n(c, { alignItems: "center", flexDirection: "row", gap: 8, width: "50%", children: [
475
+ /* @__PURE__ */ e(
476
+ ye,
477
+ {
478
+ alt: t.institution_logo,
479
+ institutionGuid: d || "",
480
+ size: 16
481
+ }
482
+ ),
483
+ /* @__PURE__ */ e(m, { variant: "body2", children: `${C} ${f ? `*${f}` : ""}` })
484
+ ] }),
485
+ /* @__PURE__ */ e(A, { amount: r.balance, bold: !0, variant: "body2" })
486
+ ]
487
+ }
488
+ ),
489
+ /* @__PURE__ */ e(I, { sx: { width: "100%" } }),
490
+ /* @__PURE__ */ n(
491
+ c,
492
+ {
493
+ alignItems: "center",
494
+ flexDirection: "row",
495
+ justifyContent: "space-between",
496
+ px: 16,
497
+ py: 12,
498
+ children: [
499
+ /* @__PURE__ */ e(m, { variant: "body2", children: t.projected_income }),
500
+ /* @__PURE__ */ e(A, { amount: r.income, bold: !0, symbol: "+", variant: "body2" })
501
+ ]
502
+ }
503
+ ),
504
+ /* @__PURE__ */ e(I, { sx: { width: "100%" } }),
505
+ /* @__PURE__ */ n(
506
+ c,
507
+ {
508
+ alignItems: "center",
509
+ flexDirection: "row",
510
+ justifyContent: "space-between",
511
+ px: 16,
512
+ py: 12,
513
+ children: [
514
+ /* @__PURE__ */ e(m, { variant: "body2", children: t.projected_expenses }),
515
+ /* @__PURE__ */ e(A, { amount: r.expenses, bold: !0, symbol: "-", variant: "body2" })
516
+ ]
517
+ }
518
+ ),
519
+ /* @__PURE__ */ e(I, { sx: { width: "100%" } }),
520
+ /* @__PURE__ */ e(
521
+ c,
522
+ {
523
+ alignItems: "center",
524
+ bgcolor: "background.default",
525
+ flexDirection: "row",
526
+ gap: 8,
527
+ justifyContent: "space-between",
528
+ px: 16,
529
+ py: 12,
530
+ sx: { borderBottomLeftRadius: "4px", borderBottomRightRadius: "4px" },
531
+ children: /* @__PURE__ */ e(he, { remaining: r.remaining })
532
+ }
533
+ )
534
+ ] }) })
535
+ },
536
+ r.id
537
+ );
619
538
  })
620
- }, i.id);
621
- })]
622
- });
623
- }, Tt = A(It), At = () => {
624
- const { cashflow: o } = N(), { isDesktop: a } = de(), { onEvent: t } = Oe(), [r, f] = h.useState(0), u = (c, l) => {
625
- f(l);
539
+ ]
540
+ }
541
+ );
542
+ }, Tt = T(vt), At = () => {
543
+ const { cashflow: i } = R(), { isDesktop: o } = pe(), { onEvent: t } = Le(), [a, s] = w.useState(0), u = (y, l) => {
544
+ s(l);
626
545
  };
627
- return h.useEffect(() => {
628
- t(r === 0 ? "cash_flow_summary" : "cash_flow_details");
629
- }, [r]), /* @__PURE__ */ n(D, { children: [
630
- /* @__PURE__ */ n(pt, {
631
- "aria-label": o.cashflow_summary_and_details,
632
- centered: !0,
633
- onChange: u,
634
- textColor: "primary",
635
- value: r,
636
- variant: "fullWidth",
637
- children: [/* @__PURE__ */ e(De, {
638
- "aria-controls": "cashflow-tabpanel-0",
639
- id: "cashflow-tab-0",
640
- label: o.summary,
641
- sx: { textTransform: "none" }
642
- }), /* @__PURE__ */ e(De, {
643
- "aria-controls": "cashflow-tabpanel-1",
644
- id: "cashflow-tab-1",
645
- label: o.details,
646
- sx: { textTransform: "none" }
647
- })]
648
- }),
546
+ return w.useEffect(() => {
547
+ t(a === 0 ? "cash_flow_summary" : "cash_flow_details");
548
+ }, [a]), /* @__PURE__ */ n(D, { children: [
549
+ /* @__PURE__ */ n(
550
+ tt,
551
+ {
552
+ "aria-label": i.cashflow_summary_and_details,
553
+ centered: !0,
554
+ onChange: u,
555
+ textColor: "primary",
556
+ value: a,
557
+ variant: "fullWidth",
558
+ children: [
559
+ /* @__PURE__ */ e(
560
+ _e,
561
+ {
562
+ "aria-controls": "cashflow-tabpanel-0",
563
+ id: "cashflow-tab-0",
564
+ label: i.summary,
565
+ sx: {
566
+ textTransform: "none"
567
+ }
568
+ }
569
+ ),
570
+ /* @__PURE__ */ e(
571
+ _e,
572
+ {
573
+ "aria-controls": "cashflow-tabpanel-1",
574
+ id: "cashflow-tab-1",
575
+ label: i.details,
576
+ sx: {
577
+ textTransform: "none"
578
+ }
579
+ }
580
+ )
581
+ ]
582
+ }
583
+ ),
649
584
  /* @__PURE__ */ e(D, { sx: { mb: 32 } }),
650
- /* @__PURE__ */ e(_e, {
651
- index: 0,
652
- name: "cashflow",
653
- value: r,
654
- children: /* @__PURE__ */ e(D, {
655
- sx: { m: a ? 48 : 16 },
656
- children: /* @__PURE__ */ e(Tt, {})
657
- })
658
- }),
659
- /* @__PURE__ */ e(_e, {
660
- index: 1,
661
- name: "cashflow",
662
- value: r,
663
- children: /* @__PURE__ */ e(D, {
664
- sx: { m: a ? 48 : 16 },
665
- children: /* @__PURE__ */ e(Dt, {})
666
- })
667
- })
585
+ /* @__PURE__ */ e(Ce, { index: 0, name: "cashflow", value: a, children: /* @__PURE__ */ e(D, { sx: { m: o ? 48 : 16 }, children: /* @__PURE__ */ e(Tt, {}) }) }),
586
+ /* @__PURE__ */ e(Ce, { index: 1, name: "cashflow", value: a, children: /* @__PURE__ */ e(D, { sx: { m: o ? 48 : 16 }, children: /* @__PURE__ */ e(It, {}) }) })
668
587
  ] });
669
- }, Rt = A(At), ne = ({ amount: o, isMobile: a = !1, isTotal: t = !1, label: r, symbol: f, tooltip: u }) => /* @__PURE__ */ n(s, {
670
- bgcolor: t ? "background.default" : "transparent",
671
- direction: a ? "row" : "column",
672
- justifyContent: a ? "space-between" : "initial",
673
- padding: a ? "14px 16px" : 0,
674
- sx: {
675
- borderBottomLeftRadius: 4,
676
- borderBottomRightRadius: 4
677
- },
678
- children: [
679
- !a && /* @__PURE__ */ e(E, {
680
- amount: o,
681
- component: "h2",
682
- variant: "h2"
683
- }),
684
- /* @__PURE__ */ n(s, {
685
- alignItems: "center",
686
- component: "span",
687
- direction: "row",
688
- gap: 8,
689
- mt: 2,
690
- children: [/* @__PURE__ */ e(m, {
691
- bold: t,
692
- variant: "body2",
693
- children: r
694
- }), u]
695
- }),
696
- a && /* @__PURE__ */ e(E, {
697
- amount: o,
698
- component: "h2",
699
- symbol: f,
700
- variant: "body2"
701
- })
702
- ]
703
- }), Re = (o, a) => (t) => t.accountGuid && o.includes(t.accountGuid) && (We(t.expectedDate) || Fe(t.expectedDate, a.start)) && Me(t.expectedDate, a.end), Et = () => {
704
- const { availableWidth: o } = ie(), { cashflow: a } = N(), { income: t, isDataLoaded: r, upcomingExpenses: f, upcomingIncome: u } = B(), { selectedAccountGuids: c } = $(), { dateRange: l, selectedCashAccounts: b } = Y(), [i, g] = h.useState(!1), d = h.useMemo(() => f.filter(Re(c, l)), [
705
- l,
706
- c,
707
- f
708
- ]), x = h.useMemo(() => u.filter(Re(c, l)), [
709
- l,
710
- c,
711
- u
712
- ]), C = h.useMemo(() => b.reduce((y, S) => y + (S?.balance || 0), 0), [b]), w = d.reduce((y, S) => y + S.amount, 0), R = x.reduce((y, S) => y + S.amount, 0), v = C - w + R, k = r && t.length > 0, p = o < 725;
713
- return /* @__PURE__ */ n(s, {
714
- sx: {
715
- mx: p ? 16 : 0,
716
- my: p ? 24 : 42
717
- },
718
- children: [/* @__PURE__ */ n(s, {
719
- border: p ? "1px solid" : "none",
720
- borderColor: "neutral.light",
721
- borderRadius: 2,
722
- flexDirection: p ? "column" : "row",
723
- gap: p ? 0 : 24,
724
- justifyContent: "center",
725
- children: [
726
- /* @__PURE__ */ e(ne, {
727
- amount: C,
728
- isMobile: p,
729
- label: F(a.cash_and_bank, b.length)
730
- }),
731
- p && /* @__PURE__ */ e(I, {}),
732
- k ? /* @__PURE__ */ n(j, { children: [!p && /* @__PURE__ */ e(m, {
733
- sx: {
734
- fontSize: 25,
735
- lineHeight: 1
736
- },
737
- children: "+"
738
- }), /* @__PURE__ */ e(ne, {
739
- amount: R,
740
- isMobile: p,
741
- label: a.to_be_received,
742
- symbol: p ? "+" : void 0
743
- })] }) : /* @__PURE__ */ e(W, {
744
- onClick: () => g(!0),
745
- startIcon: /* @__PURE__ */ e(z, { name: "add" }),
746
- sx: { fontSize: 13 },
747
- children: a.add_income
748
- }),
749
- p ? /* @__PURE__ */ e(I, {}) : /* @__PURE__ */ e(m, {
750
- sx: {
751
- fontSize: 25,
752
- lineHeight: 1
753
- },
754
- children: "-"
755
- }),
756
- /* @__PURE__ */ e(ne, {
757
- amount: w,
758
- isMobile: p,
759
- label: F(a.to_be_paid_out, d.length),
760
- symbol: p ? "-" : void 0
761
- }),
762
- p ? /* @__PURE__ */ e(I, {}) : /* @__PURE__ */ e(m, {
763
- sx: {
764
- fontSize: 25,
765
- lineHeight: 1
766
- },
767
- children: "="
768
- }),
769
- /* @__PURE__ */ e(ne, {
770
- amount: v,
771
- isMobile: p,
772
- isTotal: p,
773
- label: a.remaining_cash,
774
- tooltip: /* @__PURE__ */ e(le, {
775
- body: a.remaining_income_tooltip_body,
776
- title: a.remaining_income_tooltip_title
777
- })
778
- })
779
- ]
780
- }), /* @__PURE__ */ e(Ne, {
781
- ariaLabelClose: a.close_manage_income_aria,
782
- isOpen: i,
783
- onClose: () => g(!1),
784
- shouldShowHeaderBorders: !1,
785
- title: a.manage_income,
786
- children: /* @__PURE__ */ e(it, {})
787
- })]
788
- });
789
- }, Nt = A(Et), kt = ({ onBackClick: o, onMenuClick: a, sx: t = {} }) => {
790
- const { selectedAccounts: r, selectedAccountGuids: f, shouldDisableNextDate: u, shouldDisablePrevDate: c } = $(), { onEvent: l } = Oe(), { clientConfig: b } = et(), { visibleCashAccounts: i } = Ge(), { setFilter: g } = Le(), { dateRange: d, setSelectedCashAccounts: x } = Y(), { loadRepeatingTransactionData: C, isDataLoaded: w, setDateRange: R } = B(), { cashflow: v, recurring: k } = N(), { isInitialized: p } = $(), y = b?.master?.deep_link_params?.view === "manage_income", [S, Z] = h.useState(y);
791
- return h.useEffect(() => {
792
- R(d), w || C().finally();
793
- }, []), h.useEffect(() => {
794
- const ee = i.map((O) => O.guid), te = r.filter((O) => f.includes(O.guid) && ee.includes(O.guid));
795
- x(te), g({
796
- dateRange: {
797
- start: He(H(), 90),
798
- end: ut()
799
- },
800
- accounts: te.map((O) => O.guid)
801
- });
802
- }, [i, r]), ke({
803
- widgetName: "CashflowWidget",
804
- isLoaded: w
805
- }), p ? /* @__PURE__ */ n(Ke, {
806
- actions: [{
807
- label: k.action_title,
808
- iconName: "credit_card_gear",
809
- onClick: () => {
810
- Z(!0), l(Ce.CASH_FLOW_CLICK_SETTINGS);
811
- }
812
- }],
813
- allowedAccountTypes: [
814
- q.CASH,
815
- q.CHECKING,
816
- q.PREPAID,
817
- q.SAVINGS,
818
- q.CHECKING_LINE_OF_CREDIT
819
- ],
820
- calendarActions: {
821
- shouldDisableNext: u,
822
- shouldDisablePrevious: c,
823
- shouldDisablePicker: !0,
824
- onRangeChanged: () => {
825
- }
826
- },
827
- dateRange: d,
828
- dateRangeVariant: "readonly",
829
- hasDivider: !0,
830
- onAccountsFilterClick: () => l(Ce.CASH_FLOW_CLICK_FILTER),
831
- onBackClick: o,
832
- onMenuClick: a,
833
- sx: t,
834
- title: v.title,
588
+ }, Rt = T(At), te = ({
589
+ amount: i,
590
+ isMobile: o = !1,
591
+ isTotal: t = !1,
592
+ label: a,
593
+ symbol: s,
594
+ tooltip: u
595
+ }) => /* @__PURE__ */ n(
596
+ c,
597
+ {
598
+ bgcolor: t ? "background.default" : "transparent",
599
+ direction: o ? "row" : "column",
600
+ justifyContent: o ? "space-between" : "initial",
601
+ padding: o ? "14px 16px" : 0,
602
+ sx: { borderBottomLeftRadius: 4, borderBottomRightRadius: 4 },
835
603
  children: [
836
- /* @__PURE__ */ e(Nt, {}),
837
- /* @__PURE__ */ e(Rt, {}),
838
- /* @__PURE__ */ e(Ne, {
839
- ariaLabelClose: v.close_settings_aria,
840
- isOpen: S,
841
- onClose: () => Z(!1),
842
- shouldShowHeaderBorders: !1,
843
- title: k.action_title,
844
- children: /* @__PURE__ */ e(nt, { defaultSelectedTab: y ? 1 : 0 })
845
- })
604
+ !o && /* @__PURE__ */ e(A, { amount: i, component: "h2", variant: "h2" }),
605
+ /* @__PURE__ */ n(c, { alignItems: "center", component: "span", direction: "row", gap: 8, mt: 2, children: [
606
+ /* @__PURE__ */ e(m, { bold: t, variant: "body2", children: a }),
607
+ u
608
+ ] }),
609
+ o && /* @__PURE__ */ e(A, { amount: i, component: "h2", symbol: s, variant: "body2" })
846
610
  ]
847
- }) : /* @__PURE__ */ e(J, {});
848
- }, Cn = A(kt), Lt = ({ handleNextStep: o }) => {
849
- const { completeOnboarding: a } = me(), { cashflow: t } = N(), r = re();
850
- return /* @__PURE__ */ n(s, { children: [
851
- /* @__PURE__ */ e(ue, {
852
- pb: 12,
853
- variant: "h1",
854
- children: t.welcome_title
855
- }),
856
- /* @__PURE__ */ e(st, {
857
- color: r.palette.primary.light,
858
- pb: 8,
859
- children: t.welcome_sub_title
860
- }),
861
- /* @__PURE__ */ e(L, {
862
- pb: 32,
863
- children: t.welcome_description
864
- }),
865
- /* @__PURE__ */ n(s, {
866
- direction: "column",
867
- mb: 32,
868
- spacing: 32,
611
+ }
612
+ ), Re = (i, o) => (t) => t.accountGuid && i.includes(t.accountGuid) && (Fe(t.expectedDate) || Oe(t.expectedDate, o.start)) && Ge(t.expectedDate, o.end), Et = () => {
613
+ const { availableWidth: i } = ie(), { cashflow: o } = R(), { isDataLoaded: t } = Q(), { selectedAccountGuids: a } = j(), {
614
+ dateRange: s,
615
+ income: u,
616
+ selectedCashAccounts: y,
617
+ selectedCashBalance: l,
618
+ upcomingExpenses: x,
619
+ upcomingIncome: _
620
+ } = z(), [r, p] = w.useState(!1), h = x.filter(
621
+ Re(a, s)
622
+ ), d = _.filter(
623
+ Re(a, s)
624
+ ), f = l, C = h.reduce((k, W) => k + W.amount, 0), S = d.reduce((k, W) => k + W.amount, 0), Z = f - C + S, B = t && u.length > 0, g = i < 725;
625
+ return /* @__PURE__ */ n(c, { sx: { mx: g ? 16 : 0, my: g ? 24 : 42 }, children: [
626
+ /* @__PURE__ */ n(
627
+ c,
628
+ {
629
+ border: g ? "1px solid" : "none",
630
+ borderColor: "neutral.light",
631
+ borderRadius: 2,
632
+ flexDirection: g ? "column" : "row",
633
+ gap: g ? 0 : 24,
634
+ justifyContent: "center",
635
+ children: [
636
+ /* @__PURE__ */ e(
637
+ te,
638
+ {
639
+ amount: f,
640
+ isMobile: g,
641
+ label: G(o.cash_and_bank, y.length)
642
+ }
643
+ ),
644
+ g && /* @__PURE__ */ e(I, {}),
645
+ B ? /* @__PURE__ */ n(M, { children: [
646
+ !g && /* @__PURE__ */ e(m, { sx: { fontSize: 25, lineHeight: 1 }, children: "+" }),
647
+ /* @__PURE__ */ e(
648
+ te,
649
+ {
650
+ amount: S,
651
+ isMobile: g,
652
+ label: o.to_be_received,
653
+ symbol: g ? "+" : void 0
654
+ }
655
+ )
656
+ ] }) : /* @__PURE__ */ e(
657
+ F,
658
+ {
659
+ onClick: () => p(!0),
660
+ startIcon: /* @__PURE__ */ e(H, { name: "add" }),
661
+ sx: { fontSize: 13 },
662
+ children: o.add_income
663
+ }
664
+ ),
665
+ g ? /* @__PURE__ */ e(I, {}) : /* @__PURE__ */ e(m, { sx: { fontSize: 25, lineHeight: 1 }, children: "-" }),
666
+ /* @__PURE__ */ e(
667
+ te,
668
+ {
669
+ amount: C,
670
+ isMobile: g,
671
+ label: G(o.to_be_paid_out, h.length),
672
+ symbol: g ? "-" : void 0
673
+ }
674
+ ),
675
+ g ? /* @__PURE__ */ e(I, {}) : /* @__PURE__ */ e(m, { sx: { fontSize: 25, lineHeight: 1 }, children: "=" }),
676
+ /* @__PURE__ */ e(
677
+ te,
678
+ {
679
+ amount: Z,
680
+ isMobile: g,
681
+ isTotal: g,
682
+ label: o.remaining_cash,
683
+ tooltip: /* @__PURE__ */ e(
684
+ ue,
685
+ {
686
+ body: o.remaining_income_tooltip_body,
687
+ title: o.remaining_income_tooltip_title
688
+ }
689
+ )
690
+ }
691
+ )
692
+ ]
693
+ }
694
+ ),
695
+ /* @__PURE__ */ e(
696
+ We,
697
+ {
698
+ ariaLabelClose: o.close_manage_income_aria,
699
+ isOpen: r,
700
+ onClose: () => p(!1),
701
+ shouldShowHeaderBorders: !1,
702
+ title: o.manage_income,
703
+ children: /* @__PURE__ */ e(at, {})
704
+ }
705
+ )
706
+ ] });
707
+ }, Lt = T(Et), kt = ({ onBackClick: i, onMenuClick: o, sx: t = {} }) => {
708
+ const { selectedAccounts: a, selectedAccountGuids: s, shouldDisableNextDate: u, shouldDisablePrevDate: y } = j(), { onEvent: l } = Le(), { clientConfig: x } = me(), { visibleCashAccounts: _ } = Xe(), { setFilter: r } = ke(), { dateRange: p } = z(), { loadRepeatingTransactionData: h, isDataLoaded: d } = Q(), { cashflow: f, recurring: C } = R(), { isInitialized: S } = j(), B = x?.master?.deep_link_params?.view === "manage_income", [g, k] = w.useState(B);
709
+ return w.useEffect(() => {
710
+ d || h().finally();
711
+ }, []), w.useEffect(() => {
712
+ const W = _.map((O) => O.guid), ee = a.filter(
713
+ (O) => s.includes(O.guid) && W.includes(O.guid)
714
+ );
715
+ r({
716
+ dateRange: { start: Me(se(), 90), end: lt() },
717
+ accounts: ee.map((O) => O.guid)
718
+ });
719
+ }, [_, a]), Ne({
720
+ widgetName: "CashflowWidget",
721
+ isLoaded: d
722
+ }), S ? /* @__PURE__ */ n(
723
+ dt,
724
+ {
725
+ actions: [
726
+ {
727
+ label: C.action_title,
728
+ iconName: "credit_card_gear",
729
+ onClick: () => {
730
+ k(!0), l(Se.CASH_FLOW_CLICK_SETTINGS);
731
+ }
732
+ }
733
+ ],
734
+ allowedAccountTypes: [
735
+ Y.CASH,
736
+ Y.CHECKING,
737
+ Y.PREPAID,
738
+ Y.SAVINGS,
739
+ Y.CHECKING_LINE_OF_CREDIT
740
+ ],
741
+ calendarActions: {
742
+ shouldDisableNext: u,
743
+ shouldDisablePrevious: y,
744
+ shouldDisablePicker: !0,
745
+ onRangeChanged: () => {
746
+ }
747
+ },
748
+ dateRange: p,
749
+ dateRangeVariant: "readonly",
750
+ hasDivider: !0,
751
+ onAccountsFilterClick: () => l(Se.CASH_FLOW_CLICK_FILTER),
752
+ onBackClick: i,
753
+ onMenuClick: o,
754
+ sx: t,
755
+ title: f.title,
869
756
  children: [
870
- /* @__PURE__ */ n(L, {
871
- sx: {
872
- display: "flex",
873
- alignItems: "center",
874
- fontSize: 18
875
- },
876
- children: [/* @__PURE__ */ e(D, {
877
- bgcolor: r.palette.primary.lighter,
757
+ /* @__PURE__ */ e(Lt, {}),
758
+ /* @__PURE__ */ e(Rt, {}),
759
+ /* @__PURE__ */ e(
760
+ We,
761
+ {
762
+ ariaLabelClose: f.close_settings_aria,
763
+ isOpen: g,
764
+ onClose: () => k(!1),
765
+ shouldShowHeaderBorders: !1,
766
+ title: C.action_title,
767
+ children: /* @__PURE__ */ e(et, { defaultSelectedTab: B ? 1 : 0 })
768
+ }
769
+ )
770
+ ]
771
+ }
772
+ ) : /* @__PURE__ */ e(V, {});
773
+ }, Gn = T(kt), Nt = ({ handleNextStep: i }) => {
774
+ const { completeOnboarding: o } = de(), { cashflow: t } = R(), a = oe();
775
+ return /* @__PURE__ */ n(c, { children: [
776
+ /* @__PURE__ */ e(le, { pb: 12, variant: "h1", children: t.welcome_title }),
777
+ /* @__PURE__ */ e(Ke, { color: a.palette.primary.light, pb: 8, children: t.welcome_sub_title }),
778
+ /* @__PURE__ */ e(E, { pb: 32, children: t.welcome_description }),
779
+ /* @__PURE__ */ n(c, { direction: "column", mb: 32, spacing: 32, children: [
780
+ /* @__PURE__ */ n(E, { sx: { display: "flex", alignItems: "center", fontSize: 18 }, children: [
781
+ /* @__PURE__ */ e(
782
+ D,
783
+ {
784
+ bgcolor: a.palette.primary.lighter,
878
785
  borderRadius: 1,
879
786
  component: "span",
880
787
  height: 44,
881
788
  mr: 24,
882
- sx: {
883
- display: "flex",
884
- alignItems: "center",
885
- justifyContent: "center",
886
- flexShrink: 0
887
- },
789
+ sx: { display: "flex", alignItems: "center", justifyContent: "center", flexShrink: 0 },
888
790
  width: 44,
889
- children: /* @__PURE__ */ e(z, {
890
- color: "primary",
891
- name: "currency_exchange"
892
- })
893
- }), t.bullet_one]
894
- }),
895
- /* @__PURE__ */ n(L, {
896
- sx: {
897
- display: "flex",
898
- alignItems: "center",
899
- fontSize: 18
900
- },
901
- children: [/* @__PURE__ */ e(D, {
902
- bgcolor: r.palette.primary.lighter,
791
+ children: /* @__PURE__ */ e(H, { color: "primary", name: "currency_exchange" })
792
+ }
793
+ ),
794
+ t.bullet_one
795
+ ] }),
796
+ /* @__PURE__ */ n(E, { sx: { display: "flex", alignItems: "center", fontSize: 18 }, children: [
797
+ /* @__PURE__ */ e(
798
+ D,
799
+ {
800
+ bgcolor: a.palette.primary.lighter,
903
801
  borderRadius: 1,
904
802
  component: "span",
905
803
  height: 44,
906
804
  mr: 24,
907
- sx: {
908
- display: "flex",
909
- alignItems: "center",
910
- justifyContent: "center",
911
- flexShrink: 0
912
- },
805
+ sx: { display: "flex", alignItems: "center", justifyContent: "center", flexShrink: 0 },
913
806
  width: 44,
914
- children: /* @__PURE__ */ e(z, {
915
- color: "primary",
916
- name: "cardiology"
917
- })
918
- }), t.bullet_two]
919
- }),
920
- /* @__PURE__ */ n(L, {
921
- sx: {
922
- display: "flex",
923
- alignItems: "center",
924
- fontSize: 18
925
- },
926
- children: [/* @__PURE__ */ e(D, {
927
- bgcolor: r.palette.primary.lighter,
807
+ children: /* @__PURE__ */ e(H, { color: "primary", name: "cardiology" })
808
+ }
809
+ ),
810
+ t.bullet_two
811
+ ] }),
812
+ /* @__PURE__ */ n(E, { sx: { display: "flex", alignItems: "center", fontSize: 18 }, children: [
813
+ /* @__PURE__ */ e(
814
+ D,
815
+ {
816
+ bgcolor: a.palette.primary.lighter,
928
817
  borderRadius: 1,
929
818
  component: "span",
930
819
  height: 44,
931
820
  mr: 24,
932
- sx: {
933
- display: "flex",
934
- alignItems: "center",
935
- justifyContent: "center",
936
- flexShrink: 0
937
- },
821
+ sx: { display: "flex", alignItems: "center", justifyContent: "center", flexShrink: 0 },
938
822
  width: 44,
939
- children: /* @__PURE__ */ e(z, {
940
- color: "primary",
941
- name: "flare"
942
- })
943
- }), t.bullet_three]
944
- })
945
- ]
946
- }),
947
- /* @__PURE__ */ n(s, {
948
- direction: "row",
949
- spacing: 16,
950
- children: [/* @__PURE__ */ e(W, {
951
- onClick: o,
952
- variant: "contained",
953
- children: t.get_started_button
954
- }), /* @__PURE__ */ e(W, {
955
- onClick: a,
956
- variant: "outlined",
957
- children: t.skip_button
958
- })]
959
- })
823
+ children: /* @__PURE__ */ e(H, { color: "primary", name: "flare" })
824
+ }
825
+ ),
826
+ t.bullet_three
827
+ ] })
828
+ ] }),
829
+ /* @__PURE__ */ n(c, { direction: "row", spacing: 16, children: [
830
+ /* @__PURE__ */ e(F, { onClick: i, variant: "contained", children: t.get_started_button }),
831
+ /* @__PURE__ */ e(F, { onClick: o, variant: "outlined", children: t.skip_button })
832
+ ] })
960
833
  ] });
961
- }, Ot = A(Lt), Ee = "https://content.moneydesktop.com/storage/MD_Assets/md/cashflow", ze = {
834
+ }, Ot = T(Nt), Ee = "https://content.moneydesktop.com/storage/MD_Assets/md/cashflow", ze = {
962
835
  CASHFLOW_ONBOARDING: `${Ee}/cashflow-onboarding.png`,
963
836
  CASHFLOW_LOADING_ANIMATION: `${Ee}/loading-animation.gif`
964
837
  }, Gt = () => {
965
- const { cashflow: o } = N();
966
- return /* @__PURE__ */ n(h.Fragment, { children: [
967
- /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e("img", {
968
- alt: "Loading",
969
- src: ze.CASHFLOW_LOADING_ANIMATION
970
- }) }),
971
- /* @__PURE__ */ e(ue, {
972
- pb: 12,
973
- variant: "h1",
974
- children: o.loading_title
975
- }),
976
- /* @__PURE__ */ e(L, { children: o.loading_description })
838
+ const { cashflow: i } = R();
839
+ return /* @__PURE__ */ n(w.Fragment, { children: [
840
+ /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e("img", { alt: "Loading", src: ze.CASHFLOW_LOADING_ANIMATION }) }),
841
+ /* @__PURE__ */ e(le, { pb: 12, variant: "h1", children: i.loading_title }),
842
+ /* @__PURE__ */ e(E, { children: i.loading_description })
977
843
  ] });
978
- }, Mt = A(Gt), Ht = mt`
844
+ }, Ft = T(Gt), Ht = qe`
979
845
  from {
980
846
  transform: rotate(0deg);
981
847
  }
982
848
  to {
983
849
  transform: rotate(360deg);
984
850
  }
985
- `, Ft = () => {
986
- const { addRepeatingTransaction: o, repeatingTransactions: a } = B(), { cashflow: t, common: r } = N(), { user: f } = Ze(), { completeOnboarding: u } = me(), { isDirty: c } = Y(), { isMobile: l } = de(), { isCopyLoaded: b, setDisplayedDate: i } = $(), { filter: g, setFilter: d, transactions: x } = Le(), C = re(), [w, R] = K(!0), [v, k] = h.useState(Ye.EveryMonth), [p, y] = h.useState(1), [S, Z] = h.useState(15), [ee, te] = K(!1), [O, he] = K(1), [G, je] = K([]), [fe, se] = K(""), M = h.useMemo(() => x.find((_) => _.guid === fe), [fe, x]), Be = !!a.filter((_) => _.repeating_transaction_type === xe.Income).length, ge = async () => {
987
- he(2), i(lt(He(H(), 90)), H()), d({
988
- ...g,
989
- custom: we
990
- }), he(3);
991
- }, Pe = async () => {
992
- if (!(G.length < 1)) {
993
- te(!0);
994
- for (let _ = 0; _ < G.length; _++) {
995
- const T = G[_], be = ye(v, Ie(T.date));
996
- await o({
997
- account_guid: T.account_guid,
998
- amount: T.amount,
851
+ `, Wt = () => {
852
+ const { addRepeatingTransaction: i, repeatingTransactions: o } = Q(), { cashflow: t, common: a } = R(), { user: s } = Je(), { completeOnboarding: u } = de(), { isDirty: y } = z(), { isMobile: l } = pe(), { isCopyLoaded: x, setDisplayedDate: _ } = j(), { filter: r, setFilter: p, transactions: h } = ke(), d = oe(), [f, C] = U(!0), [S, Z] = w.useState(ft.EveryMonth), [B, g] = w.useState(1), [k, W] = w.useState(15), [ee, O] = U(!1), [ae, fe] = U(1), [L, Be] = U([]), [ge, re] = U(""), N = w.useMemo(
853
+ () => h.find((b) => b.guid === ge),
854
+ [ge, h]
855
+ ), je = !!o.filter(
856
+ (b) => b.repeating_transaction_type === Ie.Income
857
+ ).length, be = async () => {
858
+ fe(2), _(
859
+ // Beginning of the month, 90 days before today
860
+ pt(Me(se(), 90)),
861
+ se()
862
+ ), p({ ...r, custom: we }), fe(3);
863
+ }, $e = async () => {
864
+ if (!(L.length < 1)) {
865
+ O(!0);
866
+ for (let b = 0; b < L.length; b++) {
867
+ const v = L[b], xe = ve(S, De(v.date)), Ue = {
868
+ account_guid: v.account_guid,
869
+ amount: v.amount,
999
870
  created_by: 0,
1000
- merchant_guid: T.merchant_guid,
1001
- description: T.feed_description || T.description,
1002
- predicted_occurs_on: ht(be, { representation: "date" }),
1003
- recurrence_day: be.getDay(),
1004
- recurrence_type: v,
1005
- repeating_transaction_type: xe.Income,
1006
- second_recurrence_day: S,
1007
- transaction_type: T.transaction_type,
1008
- user_guid: f.guid
1009
- }, T);
871
+ //user
872
+ merchant_guid: v.merchant_guid,
873
+ description: v.feed_description || v.description,
874
+ predicted_occurs_on: mt(xe, { representation: "date" }),
875
+ recurrence_day: xe.getDay(),
876
+ recurrence_type: S,
877
+ repeating_transaction_type: Ie.Income,
878
+ second_recurrence_day: k,
879
+ transaction_type: v.transaction_type,
880
+ user_guid: s.guid
881
+ };
882
+ await i(Ue, v);
1010
883
  }
1011
884
  await u();
1012
885
  }
1013
- }, Ue = !M && w || !M && G.length < 1;
1014
- return b ? /* @__PURE__ */ n(D, {
1015
- sx: {
1016
- display: "flex",
1017
- alignItems: l ? "flex-start" : "center",
1018
- backgroundColor: C.palette.background.paper,
1019
- backgroundImage: l ? null : `url(${ze.CASHFLOW_ONBOARDING})`,
1020
- backgroundRepeat: "no-repeat",
1021
- backgroundPosition: "left 100px",
1022
- backgroundSize: "35%",
1023
- py: 24
1024
- },
1025
- children: [
1026
- O === 1 && /* @__PURE__ */ e(D, {
1027
- sx: { ...l ? {
1028
- display: "flex",
1029
- flexDirection: "column",
1030
- maxWidth: "100%",
1031
- padding: "0 16px"
1032
- } : {
1033
- maxWidth: 590,
1034
- ml: "40%",
1035
- mr: 90
1036
- } },
1037
- children: /* @__PURE__ */ e(Ot, { handleNextStep: ge })
1038
- }),
1039
- O === 2 && /* @__PURE__ */ e(D, {
1040
- sx: { ...l ? {
1041
- display: "flex",
1042
- flexDirection: "column",
1043
- maxWidth: "100%",
1044
- padding: "0 16px"
1045
- } : {
1046
- maxWidth: 590,
1047
- ml: "40%",
1048
- mr: 90
1049
- } },
1050
- children: /* @__PURE__ */ e(Mt, {})
1051
- }),
1052
- O === 3 && /* @__PURE__ */ n(D, {
1053
- sx: { ...l ? {
1054
- display: "flex",
1055
- flexDirection: "column",
1056
- maxWidth: "100%",
1057
- padding: "0 16px"
1058
- } : {
1059
- maxWidth: 590,
1060
- ml: "40%",
1061
- mr: 90
1062
- } },
1063
- children: [
1064
- /* @__PURE__ */ e(ue, {
1065
- pb: 12,
1066
- variant: "h1",
1067
- children: t.add_income_title
1068
- }),
1069
- /* @__PURE__ */ e(L, {
1070
- mb: 24,
1071
- children: t.add_income_description
1072
- }),
1073
- G.length > 0 && !M && /* @__PURE__ */ n(j, { children: [/* @__PURE__ */ e(X, { children: G.map((_, T) => /* @__PURE__ */ n(h.Fragment, { children: [
1074
- /* @__PURE__ */ e(Xe, {
1075
- bgcolor: "background.paper",
1076
- children: $e(ce(_.nextDate || _.date))
1077
- }),
1078
- /* @__PURE__ */ e(Je, { transaction: _ }),
1079
- T !== G.length - 1 && /* @__PURE__ */ e(I, {})
1080
- ] }, _.guid)) }), /* @__PURE__ */ n(s, {
1081
- alignItems: "center",
1082
- direction: "row",
1083
- children: [/* @__PURE__ */ e(I, { sx: { flexGrow: 1 } }), /* @__PURE__ */ e(W, {
1084
- onClick: () => R(!0),
1085
- startIcon: /* @__PURE__ */ e(z, {
1086
- name: "add",
1087
- size: 20
1088
- }),
1089
- children: t.add_income
1090
- })]
1091
- })] }),
1092
- Ue && /* @__PURE__ */ e(at, {
1093
- bgcolor: "background.paper",
1094
- onSearch: (_) => d({
1095
- ...g,
1096
- custom: (T) => _ ? ot(T, _) : we(T)
1097
- }),
1098
- onSelected: (_) => {
1099
- se(_), R(!1);
1100
- }
1101
- }),
1102
- !Be && c && /* @__PURE__ */ e(L, {
1103
- color: "error",
1104
- mt: 16,
1105
- children: t.confirm_error
1106
- }),
1107
- M && /* @__PURE__ */ n(j, { children: [/* @__PURE__ */ e(rt, {
1108
- bgcolor: "background.paper",
1109
- firstDay: p,
1110
- frequency: v,
1111
- onFirstDayChange: y,
1112
- onFrequencyChange: k,
1113
- onSecondDayChange: Z,
1114
- secondDay: S,
1115
- transaction: M
1116
- }), /* @__PURE__ */ n(s, {
1117
- direction: "row",
1118
- gap: 16,
1119
- ml: 24,
1120
- mt: 32,
1121
- children: [/* @__PURE__ */ e(W, {
1122
- "aria-disabled": !M,
1123
- onClick: () => {
1124
- const _ = [...G];
1125
- _.push({
1126
- ...M,
1127
- nextDate: ye(v, Ie(M.date)),
1128
- frequency: v
1129
- }), je(_), se("");
1130
- },
1131
- variant: "contained",
1132
- children: r.confirm_button
1133
- }), /* @__PURE__ */ e(W, {
1134
- onClick: () => {
1135
- se(""), R(!0), ge().finally();
1136
- },
1137
- variant: "outlined",
1138
- children: r.cancel_button
1139
- })]
1140
- })] }),
1141
- G.length > 0 && !M && /* @__PURE__ */ n(s, {
1142
- direction: "row",
1143
- gap: 16,
1144
- ml: 24,
1145
- mt: 32,
1146
- children: [/* @__PURE__ */ e(W, {
1147
- "aria-disabled": G.length < 1 || ee,
1148
- onClick: Pe,
1149
- startIcon: ee ? /* @__PURE__ */ e(z, {
1150
- name: "progress_activity",
1151
- sx: { animation: `${Ht} 2s linear infinite` }
1152
- }) : null,
1153
- variant: "contained",
1154
- children: t.confirm_income_button
1155
- }), /* @__PURE__ */ e(W, {
1156
- onClick: u,
1157
- variant: "outlined",
1158
- children: t.skip_button
1159
- })]
1160
- })
1161
- ]
1162
- })
1163
- ]
1164
- }) : /* @__PURE__ */ e(J, {});
1165
- }, wn = A(Ft);
886
+ }, Pe = !N && f || !N && L.length < 1;
887
+ return x ? /* @__PURE__ */ n(
888
+ D,
889
+ {
890
+ sx: {
891
+ display: "flex",
892
+ alignItems: l ? "flex-start" : "center",
893
+ backgroundColor: d.palette.background.paper,
894
+ backgroundImage: l ? null : `url(${ze.CASHFLOW_ONBOARDING})`,
895
+ backgroundRepeat: "no-repeat",
896
+ backgroundPosition: "left 100px",
897
+ backgroundSize: "35%",
898
+ py: 24
899
+ },
900
+ children: [
901
+ ae === 1 && /* @__PURE__ */ e(
902
+ D,
903
+ {
904
+ sx: {
905
+ ...l ? { display: "flex", flexDirection: "column", maxWidth: "100%", padding: "0 16px" } : { maxWidth: 590, ml: "40%", mr: 90 }
906
+ },
907
+ children: /* @__PURE__ */ e(Ot, { handleNextStep: be })
908
+ }
909
+ ),
910
+ ae === 2 && /* @__PURE__ */ e(
911
+ D,
912
+ {
913
+ sx: {
914
+ ...l ? { display: "flex", flexDirection: "column", maxWidth: "100%", padding: "0 16px" } : { maxWidth: 590, ml: "40%", mr: 90 }
915
+ },
916
+ children: /* @__PURE__ */ e(Ft, {})
917
+ }
918
+ ),
919
+ ae === 3 && /* @__PURE__ */ n(
920
+ D,
921
+ {
922
+ sx: {
923
+ ...l ? { display: "flex", flexDirection: "column", maxWidth: "100%", padding: "0 16px" } : { maxWidth: 590, ml: "40%", mr: 90 }
924
+ },
925
+ children: [
926
+ /* @__PURE__ */ e(le, { pb: 12, variant: "h1", children: t.add_income_title }),
927
+ /* @__PURE__ */ e(E, { mb: 24, children: t.add_income_description }),
928
+ L.length > 0 && !N && /* @__PURE__ */ n(M, { children: [
929
+ /* @__PURE__ */ e(K, { children: L.map((b, v) => /* @__PURE__ */ n(w.Fragment, { children: [
930
+ /* @__PURE__ */ e(ut, { bgcolor: "background.paper", children: gt(
931
+ ce(b.nextDate || b.date)
932
+ ) }),
933
+ /* @__PURE__ */ e(ht, { transaction: b }),
934
+ v !== L.length - 1 && /* @__PURE__ */ e(I, {})
935
+ ] }, b.guid)) }),
936
+ /* @__PURE__ */ n(c, { alignItems: "center", direction: "row", children: [
937
+ /* @__PURE__ */ e(I, { sx: { flexGrow: 1 } }),
938
+ /* @__PURE__ */ e(
939
+ F,
940
+ {
941
+ onClick: () => C(!0),
942
+ startIcon: /* @__PURE__ */ e(H, { name: "add", size: 20 }),
943
+ children: t.add_income
944
+ }
945
+ )
946
+ ] })
947
+ ] }),
948
+ Pe && /* @__PURE__ */ e(
949
+ rt,
950
+ {
951
+ bgcolor: "background.paper",
952
+ onSearch: (b) => p({
953
+ ...r,
954
+ custom: (v) => b ? ct(v, b) : we(v)
955
+ }),
956
+ onSelected: (b) => {
957
+ re(b), C(!1);
958
+ }
959
+ }
960
+ ),
961
+ !je && y && /* @__PURE__ */ e(E, { color: "error", mt: 16, children: t.confirm_error }),
962
+ N && /* @__PURE__ */ n(M, { children: [
963
+ /* @__PURE__ */ e(
964
+ st,
965
+ {
966
+ bgcolor: "background.paper",
967
+ firstDay: B,
968
+ frequency: S,
969
+ onFirstDayChange: g,
970
+ onFrequencyChange: Z,
971
+ onSecondDayChange: W,
972
+ secondDay: k,
973
+ transaction: N
974
+ }
975
+ ),
976
+ /* @__PURE__ */ n(c, { direction: "row", gap: 16, ml: 24, mt: 32, children: [
977
+ /* @__PURE__ */ e(
978
+ F,
979
+ {
980
+ "aria-disabled": !N,
981
+ onClick: () => {
982
+ const b = [...L];
983
+ b.push({
984
+ ...N,
985
+ nextDate: ve(S, De(N.date)),
986
+ frequency: S
987
+ }), Be(b), re("");
988
+ },
989
+ variant: "contained",
990
+ children: a.confirm_button
991
+ }
992
+ ),
993
+ /* @__PURE__ */ e(
994
+ F,
995
+ {
996
+ onClick: () => {
997
+ re(""), C(!0), be().finally();
998
+ },
999
+ variant: "outlined",
1000
+ children: a.cancel_button
1001
+ }
1002
+ )
1003
+ ] })
1004
+ ] }),
1005
+ L.length > 0 && !N && /* @__PURE__ */ n(c, { direction: "row", gap: 16, ml: 24, mt: 32, children: [
1006
+ /* @__PURE__ */ e(
1007
+ F,
1008
+ {
1009
+ "aria-disabled": L.length < 1 || ee,
1010
+ onClick: $e,
1011
+ startIcon: ee ? /* @__PURE__ */ e(
1012
+ H,
1013
+ {
1014
+ name: "progress_activity",
1015
+ sx: {
1016
+ animation: `${Ht} 2s linear infinite`
1017
+ }
1018
+ }
1019
+ ) : null,
1020
+ variant: "contained",
1021
+ children: t.confirm_income_button
1022
+ }
1023
+ ),
1024
+ /* @__PURE__ */ e(F, { onClick: u, variant: "outlined", children: t.skip_button })
1025
+ ] })
1026
+ ]
1027
+ }
1028
+ )
1029
+ ]
1030
+ }
1031
+ ) : /* @__PURE__ */ e(V, {});
1032
+ }, Fn = T(Wt);
1166
1033
  export {
1167
- _n as CashflowMiniWidget,
1168
- wn as CashflowOnboarding,
1169
- Cn as CashflowWidget
1034
+ On as CashflowMiniWidget,
1035
+ Fn as CashflowOnboarding,
1036
+ Gn as CashflowWidget
1170
1037
  };
1038
+ //# sourceMappingURL=index.es.js.map