@mx-cartographer/experiences 4.0.14-alpha.JB1 → 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 (582) 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 +2 -3
  76. package/src/accounts/AccountsMiniWidget.tsx +0 -62
  77. package/src/accounts/AccountsWidget.tsx +0 -93
  78. package/src/accounts/ConnectMiniWidget.tsx +0 -36
  79. package/src/accounts/__tests__/Accounts.test.tsx +0 -561
  80. package/src/accounts/api/AccountApi.ts +0 -74
  81. package/src/accounts/api/__mocks__/AccountApi.ts +0 -46
  82. package/src/accounts/components/AccountListItem.tsx +0 -102
  83. package/src/accounts/components/AccountsList.tsx +0 -133
  84. package/src/accounts/components/ConnectImage.tsx +0 -314
  85. package/src/accounts/components/ConnectMiniWidgetCard.tsx +0 -41
  86. package/src/accounts/components/ConnectStatus.tsx +0 -44
  87. package/src/accounts/components/ConnectionStatusIcons.tsx +0 -26
  88. package/src/accounts/components/ConnectionsDrawer.tsx +0 -84
  89. package/src/accounts/components/detailsdrawer/Accounts/AccountActions.tsx +0 -177
  90. package/src/accounts/components/detailsdrawer/Accounts/AccountActionsRow.tsx +0 -33
  91. package/src/accounts/components/detailsdrawer/Accounts/AccountConnection.tsx +0 -139
  92. package/src/accounts/components/detailsdrawer/Accounts/AccountDetailEdit.tsx +0 -162
  93. package/src/accounts/components/detailsdrawer/Accounts/AccountDetails.tsx +0 -98
  94. package/src/accounts/components/detailsdrawer/Accounts/AccountDetailsChart.tsx +0 -63
  95. package/src/accounts/components/detailsdrawer/Accounts/AccountDetailsContent.tsx +0 -52
  96. package/src/accounts/components/detailsdrawer/Accounts/AccountDetailsHeader.tsx +0 -71
  97. package/src/accounts/components/detailsdrawer/Accounts/AccountDetailsTab.tsx +0 -25
  98. package/src/accounts/components/detailsdrawer/Accounts/ConnectionErrorMessage.tsx +0 -99
  99. package/src/accounts/components/detailsdrawer/Transactions/TransactionsTab.tsx +0 -51
  100. package/src/accounts/constants/Accounts.ts +0 -11
  101. package/src/accounts/hooks/useGetMergeableAccounts.tsx +0 -13
  102. package/src/accounts/hooks/useUiStore.ts +0 -12
  103. package/src/accounts/index.ts +0 -8
  104. package/src/accounts/stores/AccountStore.ts +0 -220
  105. package/src/accounts/stores/UiStore.ts +0 -18
  106. package/src/accounts/stores/__tests__/AccountStore.test.ts +0 -204
  107. package/src/accounts/utils/AccountFields.tsx +0 -248
  108. package/src/accounts/utils/Accounts.ts +0 -28
  109. package/src/accounts/utils/__tests__/AccountFieldsUtils.test.tsx +0 -215
  110. package/src/accounts/utils/__tests__/AccountsUtils.test.tsx +0 -104
  111. package/src/accounts/utils/getConnectionMessages.tsx +0 -198
  112. package/src/accounts/utils/index.ts +0 -1
  113. package/src/budgets/BubbleBudgetsMiniWidget.tsx +0 -57
  114. package/src/budgets/BubbleBudgetsWidget.tsx +0 -154
  115. package/src/budgets/__tests__/BubbleBudgetsWidget.test.tsx +0 -40
  116. package/src/budgets/__tests__/BudgetList.test.tsx +0 -38
  117. package/src/budgets/__tests__/BudgetsStore.test.tsx +0 -48
  118. package/src/budgets/__tests__/Overview.test.tsx +0 -38
  119. package/src/budgets/api/BudgetsApi.ts +0 -43
  120. package/src/budgets/api/__mocks__/BudgetsApi.ts +0 -7
  121. package/src/budgets/components/AddBudgets.tsx +0 -50
  122. package/src/budgets/components/BubbleBudgets.tsx +0 -73
  123. package/src/budgets/components/BubbleChart.tsx +0 -50
  124. package/src/budgets/components/BudgetDetailsDrawer.tsx +0 -134
  125. package/src/budgets/components/BudgetList.tsx +0 -50
  126. package/src/budgets/components/Overview.tsx +0 -156
  127. package/src/budgets/components/ZeroState.tsx +0 -23
  128. package/src/budgets/components/addbudget/Header.tsx +0 -59
  129. package/src/budgets/components/addbudget/RecalculateBudgetRow.tsx +0 -53
  130. package/src/budgets/components/addbudget/RecalculateBudgets.tsx +0 -69
  131. package/src/budgets/components/addbudget/UnbudgetedRow.tsx +0 -57
  132. package/src/budgets/components/bubblechart/Bubble.tsx +0 -148
  133. package/src/budgets/components/bubblechart/Mercury.tsx +0 -57
  134. package/src/budgets/components/budgetdetails/AddSubBudget.tsx +0 -111
  135. package/src/budgets/components/budgetdetails/BudgetDetails.tsx +0 -93
  136. package/src/budgets/components/budgetdetails/Header.tsx +0 -48
  137. package/src/budgets/components/budgetdetails/SubBudgetList.tsx +0 -148
  138. package/src/budgets/components/budgetlist/BudgetRow.tsx +0 -63
  139. package/src/budgets/components/budgetlist/SubBudgetRow.tsx +0 -64
  140. package/src/budgets/components/budgetlist/SubBudgetZeroState.tsx +0 -22
  141. package/src/budgets/components/shared/BudgetAmount.tsx +0 -54
  142. package/src/budgets/index.ts +0 -2
  143. package/src/budgets/store/BudgetsStore.ts +0 -183
  144. package/src/budgets/utils/BubblesSVG.ts +0 -142
  145. package/src/budgets/utils/BudgetUtil.ts +0 -140
  146. package/src/cashflow/CashflowMiniWidget.tsx +0 -25
  147. package/src/cashflow/CashflowOnboarding.tsx +0 -298
  148. package/src/cashflow/CashflowWidget.tsx +0 -111
  149. package/src/cashflow/api/CashflowApi.ts +0 -62
  150. package/src/cashflow/api/__mocks__/CashflowApi.ts +0 -15
  151. package/src/cashflow/components/CashflowAmountHeading.tsx +0 -46
  152. package/src/cashflow/components/CashflowContent.tsx +0 -63
  153. package/src/cashflow/components/CashflowHeading.tsx +0 -172
  154. package/src/cashflow/components/CashflowWidgetContent.tsx +0 -225
  155. package/src/cashflow/components/DetailsExpenseHeader.tsx +0 -47
  156. package/src/cashflow/components/DetailsExpenseRow.tsx +0 -46
  157. package/src/cashflow/components/DetailsFooter.tsx +0 -28
  158. package/src/cashflow/components/DetailsTab.tsx +0 -128
  159. package/src/cashflow/components/RemainingCash.tsx +0 -44
  160. package/src/cashflow/components/SummaryTab.tsx +0 -247
  161. package/src/cashflow/components/onboarding/StepOne.tsx +0 -90
  162. package/src/cashflow/components/onboarding/StepTwo.tsx +0 -23
  163. package/src/cashflow/context/hooks.tsx +0 -12
  164. package/src/cashflow/images/cashflow-onboarding.png +0 -0
  165. package/src/cashflow/images/loading-animation.gif +0 -0
  166. package/src/cashflow/index.ts +0 -5
  167. package/src/cashflow/stores/CashflowStore.ts +0 -26
  168. package/src/cashflow/stores/UiStore.ts +0 -48
  169. package/src/cashflow/stores/__tests__/CashflowStore.test.ts +0 -16
  170. package/src/cashflow/util/Filters.ts +0 -15
  171. package/src/categories/components/CategoryList.tsx +0 -64
  172. package/src/categories/components/CategoryRow.tsx +0 -68
  173. package/src/categories/components/CategorySelector.tsx +0 -80
  174. package/src/categories/components/CategorySelectorDrawer.tsx +0 -41
  175. package/src/categories/components/CustomCategories/AddSubcategory.tsx +0 -65
  176. package/src/categories/components/CustomCategories/CustomCategoryModal.tsx +0 -99
  177. package/src/categories/components/CustomCategories/DeleteSubcategory.tsx +0 -49
  178. package/src/categories/components/CustomCategories/RenameSubcategory.tsx +0 -48
  179. package/src/categories/components/CustomCategories/index.ts +0 -4
  180. package/src/categories/components/SubcategoryList.tsx +0 -47
  181. package/src/categories/components/SubcategoryRow.tsx +0 -123
  182. package/src/categories/constants/Analytics.ts +0 -89
  183. package/src/categories/constants/OnClickEvents.ts +0 -13
  184. package/src/categories/context/hooks.ts +0 -12
  185. package/src/categories/index.ts +0 -5
  186. package/src/categories/stores/CategoryStore.ts +0 -184
  187. package/src/categories/stores/UiStore.ts +0 -36
  188. package/src/categories/stores/__tests__/CategoryStore.test.ts +0 -54
  189. package/src/categories/util/CategoryUtil.ts +0 -136
  190. package/src/common/api/AnalyticsApi.ts +0 -49
  191. package/src/common/api/BeatApi.ts +0 -32
  192. package/src/common/api/CategoryApi.ts +0 -52
  193. package/src/common/api/GlobalCopyApi.ts +0 -17
  194. package/src/common/api/LocalizedCopyApi.ts +0 -21
  195. package/src/common/api/NotificationApi.ts +0 -40
  196. package/src/common/api/ScheduledPaymentsApi.ts +0 -37
  197. package/src/common/api/UserApi.ts +0 -23
  198. package/src/common/api/WidgetApi.ts +0 -15
  199. package/src/common/api/__mocks__/BeatApi.ts +0 -8
  200. package/src/common/api/__mocks__/CategoryApi.ts +0 -15
  201. package/src/common/api/__mocks__/GlobalCopyApi.ts +0 -7
  202. package/src/common/api/__mocks__/NotificationApi.ts +0 -11
  203. package/src/common/api/__mocks__/ScheduledPaymentsApi.ts +0 -7
  204. package/src/common/api/__mocks__/UserApi.ts +0 -9
  205. package/src/common/api/__mocks__/WidgetApi.ts +0 -11
  206. package/src/common/api/index.ts +0 -9
  207. package/src/common/components/ConnectDrawer.tsx +0 -87
  208. package/src/common/components/CurrencyInput.tsx +0 -147
  209. package/src/common/components/CurrencyText.tsx +0 -44
  210. package/src/common/components/DataRow.tsx +0 -52
  211. package/src/common/components/IconBacking.tsx +0 -41
  212. package/src/common/components/InformationTooltip.tsx +0 -52
  213. package/src/common/components/ListItemWrapper.tsx +0 -49
  214. package/src/common/components/Loader.tsx +0 -24
  215. package/src/common/components/MiniWidgetContainer.tsx +0 -64
  216. package/src/common/components/ResponsiveButton.tsx +0 -65
  217. package/src/common/components/SearchBox.tsx +0 -64
  218. package/src/common/components/SelectionBox.tsx +0 -64
  219. package/src/common/components/SubheaderRow.tsx +0 -22
  220. package/src/common/components/TabContentContainer.tsx +0 -28
  221. package/src/common/components/WidgetContainer.tsx +0 -239
  222. package/src/common/components/accountfilter/AccountFilter.tsx +0 -133
  223. package/src/common/components/accountfilter/AccountFilterOptions.tsx +0 -263
  224. package/src/common/components/accountfilter/index.ts +0 -1
  225. package/src/common/components/barchart/Bar.tsx +0 -123
  226. package/src/common/components/barchart/BarChart.tsx +0 -136
  227. package/src/common/components/barchart/BarColumn.tsx +0 -150
  228. package/src/common/components/barchart/Legend.tsx +0 -60
  229. package/src/common/components/barchart/Util.ts +0 -54
  230. package/src/common/components/barchart/__tests__/BarChart.test.tsx +0 -46
  231. package/src/common/components/barchart/index.ts +0 -1
  232. package/src/common/components/calendar/Calendar.tsx +0 -223
  233. package/src/common/components/calendar/Day.tsx +0 -127
  234. package/src/common/components/calendar/Header.tsx +0 -58
  235. package/src/common/components/calendar/__tests__/Calendar.test.tsx +0 -50
  236. package/src/common/components/calendar/index.ts +0 -1
  237. package/src/common/components/calendar/upcomingActivity/CalendarIcons.tsx +0 -40
  238. package/src/common/components/charts/Donut.tsx +0 -82
  239. package/src/common/components/charts/LineChart.tsx +0 -204
  240. package/src/common/components/charts/StackedLineChart.tsx +0 -292
  241. package/src/common/components/charts/StatusBar.tsx +0 -41
  242. package/src/common/components/charts/index.ts +0 -4
  243. package/src/common/components/charts/linechart/CustomLegend.tsx +0 -49
  244. package/src/common/components/charts/linechart/CustomLine.tsx +0 -31
  245. package/src/common/components/charts/linechart/CustomMark.tsx +0 -68
  246. package/src/common/components/charts/stackedlinechart/CategoryIconLabel.tsx +0 -29
  247. package/src/common/components/charts/stackedlinechart/CustomAreaTooltip.tsx +0 -115
  248. package/src/common/components/charts/stackedlinechart/CustomLegend.tsx +0 -73
  249. package/src/common/components/charts/stackedlinechart/CustomPointTooltip.tsx +0 -41
  250. package/src/common/components/charts/stackedlinechart/utils.ts +0 -13
  251. package/src/common/components/daterangeselector/DateRangeSelector.tsx +0 -383
  252. package/src/common/components/daterangeselector/index.ts +0 -1
  253. package/src/common/components/dialog/Dialog.tsx +0 -92
  254. package/src/common/components/dialog/index.ts +0 -1
  255. package/src/common/components/donuts/MultiSegmentDonut.tsx +0 -89
  256. package/src/common/components/donuts/SingleSegmentDonut.tsx +0 -75
  257. package/src/common/components/donuts/index.ts +0 -2
  258. package/src/common/components/drawer/Drawer.tsx +0 -97
  259. package/src/common/components/drawer/Header.tsx +0 -64
  260. package/src/common/components/drawer/index.ts +0 -1
  261. package/src/common/components/index.ts +0 -22
  262. package/src/common/constants/Account.ts +0 -30
  263. package/src/common/constants/Analytics.ts +0 -70
  264. package/src/common/constants/ApiEndpoints.ts +0 -30
  265. package/src/common/constants/Category.ts +0 -302
  266. package/src/common/constants/Connect.ts +0 -2
  267. package/src/common/constants/DateFormats.ts +0 -122
  268. package/src/common/constants/Donut.ts +0 -2
  269. package/src/common/constants/Numbers.ts +0 -6
  270. package/src/common/constants/ScheduledPayment.ts +0 -21
  271. package/src/common/constants/Sizes.ts +0 -7
  272. package/src/common/constants/SpendingPlan.ts +0 -17
  273. package/src/common/constants/Table.ts +0 -13
  274. package/src/common/constants/index.ts +0 -21
  275. package/src/common/context/GlobalDataProvider.tsx +0 -31
  276. package/src/common/context/WidgetContainerProvider.tsx +0 -24
  277. package/src/common/context/__mocks__/GlobalDataProvider.tsx +0 -25
  278. package/src/common/context/hooks.tsx +0 -57
  279. package/src/common/context/index.ts +0 -22
  280. package/src/common/hooks/__tests__/useDimensions.test.tsx +0 -190
  281. package/src/common/hooks/index.ts +0 -3
  282. package/src/common/hooks/useCombineEvents.tsx +0 -53
  283. package/src/common/hooks/useDimensions.tsx +0 -78
  284. package/src/common/hooks/usePrevious.tsx +0 -10
  285. package/src/common/hooks/useScreenSize.tsx +0 -15
  286. package/src/common/index.ts +0 -23
  287. package/src/common/stores/ConnectStore.ts +0 -26
  288. package/src/common/stores/GlobalCopyStore.ts +0 -36
  289. package/src/common/stores/GlobalStore.ts +0 -83
  290. package/src/common/stores/GlobalUiStore.ts +0 -66
  291. package/src/common/stores/UserStore.ts +0 -45
  292. package/src/common/stores/__tests__/GlobalCopyStore.test.ts +0 -23
  293. package/src/common/stores/__tests__/GlobalStore.test.ts +0 -24
  294. package/src/common/stores/index.ts +0 -3
  295. package/src/common/types/Account.ts +0 -406
  296. package/src/common/types/Activity.ts +0 -31
  297. package/src/common/types/Analytics.ts +0 -70
  298. package/src/common/types/Beat.ts +0 -71
  299. package/src/common/types/Budget.ts +0 -29
  300. package/src/common/types/Cashflow.ts +0 -110
  301. package/src/common/types/Category.ts +0 -68
  302. package/src/common/types/Date.ts +0 -2
  303. package/src/common/types/Debt.ts +0 -19
  304. package/src/common/types/Expense.ts +0 -20
  305. package/src/common/types/Global.ts +0 -13
  306. package/src/common/types/GlobalCopy.ts +0 -37
  307. package/src/common/types/Goal.ts +0 -59
  308. package/src/common/types/Institution.ts +0 -11
  309. package/src/common/types/LocalizedContent.ts +0 -9
  310. package/src/common/types/Merchant.ts +0 -6
  311. package/src/common/types/Notification.ts +0 -15
  312. package/src/common/types/ScheduledPayment.ts +0 -15
  313. package/src/common/types/ScreenSize.tsx +0 -4
  314. package/src/common/types/SpendingPlan.ts +0 -48
  315. package/src/common/types/Transaction.ts +0 -91
  316. package/src/common/types/User.ts +0 -20
  317. package/src/common/types/Widgets.ts +0 -11
  318. package/src/common/types/index.ts +0 -93
  319. package/src/common/types/localization/AccountFilterCopy.ts +0 -12
  320. package/src/common/types/localization/AccountTypeCopy.ts +0 -16
  321. package/src/common/types/localization/AccountsCopy.ts +0 -113
  322. package/src/common/types/localization/BudgetsCopy.ts +0 -52
  323. package/src/common/types/localization/CashflowCopy.ts +0 -77
  324. package/src/common/types/localization/CategoryCopy.ts +0 -18
  325. package/src/common/types/localization/CommonCopy.ts +0 -30
  326. package/src/common/types/localization/ConnectCopy.ts +0 -74
  327. package/src/common/types/localization/CurrencyInputCopy.ts +0 -6
  328. package/src/common/types/localization/DateRangePickerCopy.ts +0 -23
  329. package/src/common/types/localization/GoalsCopy.ts +0 -37
  330. package/src/common/types/localization/InsightsFeedCopy.ts +0 -26
  331. package/src/common/types/localization/MicroInsightsCopy.ts +0 -28
  332. package/src/common/types/localization/NetWorthCopy.ts +0 -14
  333. package/src/common/types/localization/NotificationsCopy.ts +0 -7
  334. package/src/common/types/localization/RecurringCopy.ts +0 -76
  335. package/src/common/types/localization/SpendingCopy.ts +0 -16
  336. package/src/common/types/localization/TransactionsCopy.ts +0 -81
  337. package/src/common/types/localization/TrendsCopy.ts +0 -10
  338. package/src/common/types/localization/index.ts +0 -19
  339. package/src/common/utils/AccountFilter.ts +0 -45
  340. package/src/common/utils/Analytics.ts +0 -51
  341. package/src/common/utils/Categories.ts +0 -75
  342. package/src/common/utils/DateUtil.ts +0 -67
  343. package/src/common/utils/Fetch.ts +0 -115
  344. package/src/common/utils/Localization.ts +0 -67
  345. package/src/common/utils/NumberFormatting.ts +0 -65
  346. package/src/common/utils/__tests__/Fetch.test.tsx +0 -34
  347. package/src/common/utils/index.ts +0 -18
  348. package/src/dashboard/Dashboard.tsx +0 -92
  349. package/src/dashboard/Greeting.tsx +0 -75
  350. package/src/dashboard/__tests__/Dashboard.test.tsx +0 -84
  351. package/src/dashboard/constants/Dashboard.ts +0 -4
  352. package/src/dashboard/index.ts +0 -3
  353. package/src/dashboard/types/DashboardTypes.ts +0 -9
  354. package/src/debts/DebtsWidget.tsx +0 -90
  355. package/src/debts/components/DebtsChart.tsx +0 -190
  356. package/src/debts/components/DebtsTable.tsx +0 -209
  357. package/src/debts/components/SnowballCard.tsx +0 -70
  358. package/src/debts/components/SnowballDrawer.tsx +0 -384
  359. package/src/debts/components/debtstable/AccountCell.tsx +0 -25
  360. package/src/debts/components/debtstable/PriorityCell.tsx +0 -46
  361. package/src/debts/index.ts +0 -4
  362. package/src/debts/store/DebtsStore.ts +0 -20
  363. package/src/debts/utils/DebtStore.ts +0 -75
  364. package/src/debts/utils/DebtsWidget.ts +0 -32
  365. package/src/debts/utils/SnowballCard.tsx +0 -48
  366. package/src/goals/GoalsWidget.tsx +0 -128
  367. package/src/goals/api/GoalApi.ts +0 -29
  368. package/src/goals/components/GoalDetails.tsx +0 -240
  369. package/src/goals/components/GoalList.tsx +0 -101
  370. package/src/goals/components/GoalStatusCard.tsx +0 -87
  371. package/src/goals/components/TabTitle.tsx +0 -21
  372. package/src/goals/constants/CopyKeys.ts +0 -29
  373. package/src/goals/index.ts +0 -2
  374. package/src/goals/stores/GoalStore.ts +0 -47
  375. package/src/goals/util/GoalsUtil.ts +0 -61
  376. package/src/index.ts +0 -17
  377. package/src/insights/README.md +0 -16
  378. package/src/insights/contexts/ToastContext.tsx +0 -62
  379. package/src/insights/index.ts +0 -5
  380. package/src/insights/settings/SettingsDrawer.tsx +0 -40
  381. package/src/insights/settings/__tests__/SettingsDrawer.test.tsx +0 -50
  382. package/src/insights/settings/components/PulseSubheaderRow.tsx +0 -34
  383. package/src/insights/settings/components/SettingsItem.tsx +0 -55
  384. package/src/insights/settings/components/Toast.tsx +0 -69
  385. package/src/insights/settings/hiddeninsights/__tests__/HiddenInsightsDrawer.test.tsx +0 -108
  386. package/src/insights/settings/hiddeninsights/__tests__/SubCategoryDrawer.test.tsx +0 -150
  387. package/src/insights/settings/hiddeninsights/components/CategoryEmptyState.tsx +0 -50
  388. package/src/insights/settings/hiddeninsights/components/HiddenInsightsDrawer.tsx +0 -222
  389. package/src/insights/settings/hiddeninsights/components/HiddenInsightsDrawerWrapper.tsx +0 -24
  390. package/src/insights/settings/hiddeninsights/components/SubCategoryDrawer.tsx +0 -256
  391. package/src/insights/settings/hiddeninsights/images/no-insights.png +0 -0
  392. package/src/insights/settings/hiddeninsights/types/index.ts +0 -74
  393. package/src/insights/settings/manageaccounts/__tests__/AccountGroup.test.tsx +0 -92
  394. package/src/insights/settings/manageaccounts/__tests__/ManageAccountsDrawer.test.tsx +0 -83
  395. package/src/insights/settings/manageaccounts/components/AccountGroup.tsx +0 -109
  396. package/src/insights/settings/manageaccounts/components/ManageAccountsDrawer.tsx +0 -63
  397. package/src/insights/settings/manageaccounts/types/index.ts +0 -13
  398. package/src/insights/settings/types/index.ts +0 -4
  399. package/src/insights/store/BeatStore.ts +0 -25
  400. package/src/insights/utils/beatTemplateCategories.ts +0 -103
  401. package/src/merchants/api/MerchantApi.ts +0 -33
  402. package/src/merchants/components/MerchantLookup.tsx +0 -117
  403. package/src/merchants/index.ts +0 -2
  404. package/src/merchants/stores/MerchantStore.ts +0 -42
  405. package/src/microinsights/analytics.ts +0 -31
  406. package/src/microinsights/components/beatCard/BeatCard.tsx +0 -124
  407. package/src/microinsights/components/beaticons/BeatCategoryIcon.tsx +0 -20
  408. package/src/microinsights/components/beaticons/BeatIcon.tsx +0 -45
  409. package/src/microinsights/components/beaticons/BeatMerchantLogo.tsx +0 -33
  410. package/src/microinsights/components/beaticons/ChartFilledIcon.tsx +0 -37
  411. package/src/microinsights/components/beaticons/MonthlySpendComparisonIcon.tsx +0 -30
  412. package/src/microinsights/components/beaticons/ZeroStateIcon.tsx +0 -558
  413. package/src/microinsights/components/beaticons/index.tsx +0 -7
  414. package/src/microinsights/components/carouselheader/CarouselHeader.tsx +0 -111
  415. package/src/microinsights/components/insightsmicrowidget/InsightsMicroWidget.tsx +0 -163
  416. package/src/microinsights/components/microBeatCarousel/CarouselControls.tsx +0 -99
  417. package/src/microinsights/components/microBeatCarousel/MicroBeatCarousel.tsx +0 -207
  418. package/src/microinsights/components/microInsightCard/MicroInsightCard.tsx +0 -173
  419. package/src/microinsights/components/noRelevantInsightsCard/NoRelevantInsightsCard.tsx +0 -89
  420. package/src/microinsights/components/spinner/Spinner.tsx +0 -21
  421. package/src/microinsights/components/viewMoreMicroCard/ViewMoreMicroCard.tsx +0 -101
  422. package/src/microinsights/components/zeroStateCard/ZeroStateCard.tsx +0 -62
  423. package/src/microinsights/constants/Analytics.ts +0 -192
  424. package/src/microinsights/constants/App.ts +0 -53
  425. package/src/microinsights/constants/Insights.tsx +0 -3
  426. package/src/microinsights/constants/OnClickEvents.ts +0 -3
  427. package/src/microinsights/context/InsightsMicroWidgetDataProvider.tsx +0 -24
  428. package/src/microinsights/context/hooks.tsx +0 -65
  429. package/src/microinsights/index.ts +0 -16
  430. package/src/microinsights/interfaces.ts +0 -28
  431. package/src/microinsights/stores/AppStore.ts +0 -34
  432. package/src/microinsights/stores/CopyStore.ts +0 -38
  433. package/src/microinsights/stores/InsightsMicroWidgetStore.ts +0 -61
  434. package/src/microinsights/types/BeatUIComponent.ts +0 -5
  435. package/src/microinsights/utils/DataSeries.ts +0 -20
  436. package/src/networth/NetWorthWidget.tsx +0 -171
  437. package/src/networth/__tests__/AssetsLiabilitiesDetail.test.tsx +0 -94
  438. package/src/networth/__tests__/NetWorthChart.test.tsx +0 -31
  439. package/src/networth/__tests__/NetWorthList.test.tsx +0 -33
  440. package/src/networth/components/AssetsLiabilitiesDetail.tsx +0 -146
  441. package/src/networth/components/GainsLossesDetail.tsx +0 -110
  442. package/src/networth/components/NetWorthChange.tsx +0 -51
  443. package/src/networth/components/NetWorthChart.tsx +0 -71
  444. package/src/networth/components/NetWorthList.tsx +0 -91
  445. package/src/networth/components/NetWorthListItem.tsx +0 -72
  446. package/src/networth/components/NetWorthSummary.tsx +0 -36
  447. package/src/networth/index.ts +0 -5
  448. package/src/networth/stores/NetWorthStore.ts +0 -99
  449. package/src/networth/stores/__tests__/NetWorthStore.test.ts +0 -32
  450. package/src/networth/types/NetWorth.ts +0 -59
  451. package/src/networth/utils/NetWorthUtils.ts +0 -177
  452. package/src/networth/utils/__tests__/NetWorthUtils.test.ts +0 -198
  453. package/src/notifications/__tests__/NotificationList.test.tsx +0 -67
  454. package/src/notifications/components/DateRow.tsx +0 -21
  455. package/src/notifications/components/NotificationBadge.tsx +0 -51
  456. package/src/notifications/components/NotificationCard.tsx +0 -63
  457. package/src/notifications/components/NotificationList.tsx +0 -65
  458. package/src/notifications/constants/NotificationConstants.ts +0 -104
  459. package/src/notifications/index.ts +0 -3
  460. package/src/notifications/stores/NotificationStore.ts +0 -62
  461. package/src/notifications/utils/NotificationUtils.ts +0 -21
  462. package/src/recurringactivity/RecurringActivityMiniWidget.tsx +0 -45
  463. package/src/recurringactivity/RecurringActivityWidget.tsx +0 -89
  464. package/src/recurringactivity/__tests__/BuildActivities.test.ts +0 -30
  465. package/src/recurringactivity/__tests__/BuildNewActivity.test.ts +0 -59
  466. package/src/recurringactivity/__tests__/RecurringActivityWidget.test.tsx +0 -33
  467. package/src/recurringactivity/components/ActivityBadges.tsx +0 -40
  468. package/src/recurringactivity/components/ActivityDetails.tsx +0 -196
  469. package/src/recurringactivity/components/ActivityList.tsx +0 -141
  470. package/src/recurringactivity/components/ActivityRow.tsx +0 -161
  471. package/src/recurringactivity/components/ActivityStatus.tsx +0 -82
  472. package/src/recurringactivity/components/MiniWidgetContent.tsx +0 -61
  473. package/src/recurringactivity/components/RecurringActivity.tsx +0 -165
  474. package/src/recurringactivity/components/actions/FrequencyAction.tsx +0 -130
  475. package/src/recurringactivity/components/actions/PaymentDateAction.tsx +0 -99
  476. package/src/recurringactivity/components/activitycalendar/ActivityCalendar.tsx +0 -100
  477. package/src/recurringactivity/components/activitycalendar/ActivityDay.tsx +0 -88
  478. package/src/recurringactivity/components/activitycalendar/Legend.tsx +0 -42
  479. package/src/recurringactivity/components/shared/ActivitySettings.tsx +0 -43
  480. package/src/recurringactivity/components/shared/activitysettings/AddActivity.tsx +0 -175
  481. package/src/recurringactivity/components/shared/activitysettings/AddActivityDetails.tsx +0 -148
  482. package/src/recurringactivity/components/shared/activitysettings/ManageExpenses.tsx +0 -84
  483. package/src/recurringactivity/components/shared/activitysettings/ManageIncome.tsx +0 -102
  484. package/src/recurringactivity/components/shared/activitysettings/SelectTransaction.tsx +0 -45
  485. package/src/recurringactivity/index.ts +0 -5
  486. package/src/recurringactivity/stores/RecurringActivityStore.ts +0 -312
  487. package/src/recurringactivity/util/RecurringActivityUtils.ts +0 -40
  488. package/src/recurringactivity/util/buildActivities.ts +0 -334
  489. package/src/recurringactivity/util/buildNewActivity.ts +0 -111
  490. package/src/recurringactivity/util/getRecurrence.ts +0 -50
  491. package/src/recurringactivity/util/getStatus.ts +0 -32
  492. package/src/recurringactivity/util/updateActivity.ts +0 -66
  493. package/src/spending/SpendingMiniWidget.tsx +0 -23
  494. package/src/spending/SpendingWidget.tsx +0 -71
  495. package/src/spending/__tests__/MiniSpendingChart.test.tsx +0 -43
  496. package/src/spending/__tests__/SpendingData.test.ts +0 -38
  497. package/src/spending/__tests__/SpendingMiniWidget.test.tsx +0 -49
  498. package/src/spending/__tests__/SpendingWidget.test.tsx +0 -49
  499. package/src/spending/components/MiniSpendingChart.tsx +0 -125
  500. package/src/spending/components/Spending.tsx +0 -175
  501. package/src/spending/components/SpendingChart.tsx +0 -74
  502. package/src/spending/components/SpendingDonut.tsx +0 -125
  503. package/src/spending/components/SpendingLegend.tsx +0 -41
  504. package/src/spending/components/SpendingList.tsx +0 -112
  505. package/src/spending/components/SpendingTabLabel.tsx +0 -25
  506. package/src/spending/index.ts +0 -2
  507. package/src/spending/utils/SpendingData.ts +0 -196
  508. package/src/transactions/TransactionWidget.tsx +0 -319
  509. package/src/transactions/analytics.ts +0 -12
  510. package/src/transactions/api/TransactionApi.ts +0 -204
  511. package/src/transactions/api/__mocks__/TransactionApi.ts +0 -20
  512. package/src/transactions/components/shared/TransactionDetails.tsx +0 -140
  513. package/src/transactions/components/shared/TransactionList.tsx +0 -124
  514. package/src/transactions/components/shared/TransactionTable.tsx +0 -123
  515. package/src/transactions/components/shared/transactiondetails/Description.tsx +0 -97
  516. package/src/transactions/components/shared/transactiondetails/FlagTransaction.tsx +0 -63
  517. package/src/transactions/components/shared/transactiondetails/ManualTransactionDetails.tsx +0 -148
  518. package/src/transactions/components/shared/transactiondetails/TransactionAmountHeader.tsx +0 -39
  519. package/src/transactions/components/shared/transactiondetails/actions/CategoryAction.tsx +0 -149
  520. package/src/transactions/components/shared/transactiondetails/actions/DateAction.tsx +0 -119
  521. package/src/transactions/components/shared/transactiondetails/actions/DeleteAction.tsx +0 -85
  522. package/src/transactions/components/shared/transactiondetails/actions/DeleteLogoAction.tsx +0 -88
  523. package/src/transactions/components/shared/transactiondetails/actions/HideAction.tsx +0 -126
  524. package/src/transactions/components/shared/transactiondetails/actions/MemoAction.tsx +0 -112
  525. package/src/transactions/components/shared/transactiondetails/actions/SplitAction.tsx +0 -234
  526. package/src/transactions/components/shared/transactiondetails/actions/TagsAction.tsx +0 -119
  527. package/src/transactions/components/shared/transactiondetails/actions/index.ts +0 -8
  528. package/src/transactions/components/shared/transactionlist/DateRow.tsx +0 -33
  529. package/src/transactions/components/shared/transactionlist/TransactionRow.tsx +0 -92
  530. package/src/transactions/components/shared/transactionlist/ZeroState.tsx +0 -36
  531. package/src/transactions/components/shared/transactiontable/cells/AccountCell.tsx +0 -12
  532. package/src/transactions/components/shared/transactiontable/cells/AmountCell.tsx +0 -35
  533. package/src/transactions/components/shared/transactiontable/cells/CategoryCell.tsx +0 -37
  534. package/src/transactions/components/shared/transactiontable/cells/DateCell.tsx +0 -17
  535. package/src/transactions/components/shared/transactiontable/cells/FlagCell.tsx +0 -43
  536. package/src/transactions/components/shared/transactiontable/cells/HeaderCell.tsx +0 -11
  537. package/src/transactions/components/shared/transactiontable/cells/PayeeCell.tsx +0 -21
  538. package/src/transactions/components/shared/transactiontable/cells/index.ts +0 -7
  539. package/src/transactions/components/splitmanager/SplitManager.tsx +0 -93
  540. package/src/transactions/components/splitmanager/SplitRow.tsx +0 -149
  541. package/src/transactions/components/splitmanager/index.ts +0 -1
  542. package/src/transactions/components/tagmanager/Header.tsx +0 -100
  543. package/src/transactions/components/tagmanager/SearchBox.tsx +0 -60
  544. package/src/transactions/components/tagmanager/TagManager.tsx +0 -51
  545. package/src/transactions/components/tagmanager/TagRow.tsx +0 -145
  546. package/src/transactions/components/tagmanager/index.ts +0 -1
  547. package/src/transactions/components/transactionwidget/AddAccountModal.tsx +0 -30
  548. package/src/transactions/components/transactionwidget/actions/AddTransactionAction.tsx +0 -74
  549. package/src/transactions/components/transactionwidget/actions/EditCategoryAction.tsx +0 -80
  550. package/src/transactions/components/transactionwidget/actions/ExportCsvAction.tsx +0 -32
  551. package/src/transactions/constants/Actions.ts +0 -28
  552. package/src/transactions/constants/Analytics.ts +0 -272
  553. package/src/transactions/constants/OnClickEvents.ts +0 -45
  554. package/src/transactions/constants/Transaction.ts +0 -32
  555. package/src/transactions/constants/TransactionsTable.ts +0 -26
  556. package/src/transactions/context/hooks.tsx +0 -12
  557. package/src/transactions/index.ts +0 -12
  558. package/src/transactions/stores/TransactionStore.ts +0 -327
  559. package/src/transactions/stores/UiStore.ts +0 -72
  560. package/src/transactions/stores/__tests__/TransactionStore.test.ts +0 -80
  561. package/src/transactions/utils/Filters.ts +0 -35
  562. package/src/transactions/utils/Transactions.ts +0 -22
  563. package/src/transactions/utils/buildDetailedTransactions.ts +0 -66
  564. package/src/transactions/utils/exportTransactionsToCSV.ts +0 -85
  565. package/src/transactions/utils/sortAndFilterTransactions.ts +0 -127
  566. package/src/trends/TrendsFullWidget.tsx +0 -286
  567. package/src/trends/TrendsMiniWidget.tsx +0 -49
  568. package/src/trends/__tests__/TrendsFullWidget.test.tsx +0 -45
  569. package/src/trends/__tests__/TrendsMiniWidget.test.tsx +0 -35
  570. package/src/trends/components/SpendingChart.tsx +0 -29
  571. package/src/trends/components/TrendsChart.tsx +0 -75
  572. package/src/trends/components/TrendsDrawer.tsx +0 -74
  573. package/src/trends/components/TrendsTable.tsx +0 -161
  574. package/src/trends/components/__tests__/SpendingChart.test.tsx +0 -37
  575. package/src/trends/components/trendstable/AmountCell.tsx +0 -14
  576. package/src/trends/components/trendstable/CategoryCell.tsx +0 -39
  577. package/src/trends/components/trendstable/HeaderCell.tsx +0 -8
  578. package/src/trends/index.ts +0 -2
  579. package/src/trends/mocks.ts +0 -423
  580. package/src/trends/utils/SpendingData.ts +0 -76
  581. package/src/trends/utils/TrendsData.ts +0 -127
  582. package/src/trends/utils/shared.ts +0 -39
@@ -1,40 +0,0 @@
1
- import { addDays } from 'date-fns/addDays'
2
- import { endOfMonth } from 'date-fns/endOfMonth'
3
- import { isWithinInterval } from 'date-fns/isWithinInterval'
4
- import { startOfMonth } from 'date-fns/startOfMonth'
5
- import { startOfToday } from 'date-fns/startOfToday'
6
-
7
- import { type Activity, ActivityType } from '../../common'
8
-
9
- // This adds up the total amount in a list of activities
10
- export const totalReducer = (acc: number, curr: Activity) => acc + curr.amount
11
-
12
- // This filters activity to income during the current month
13
- // This is used by the Income activity bar
14
- export const incomeFilter = (i: Activity) =>
15
- i.activityType === ActivityType.Income &&
16
- isWithinInterval(i.expectedDate, {
17
- start: startOfMonth(startOfToday()),
18
- end: endOfMonth(startOfToday()),
19
- })
20
-
21
- // This filters activity to expenses during the current month
22
- // This is used by the Expense activity bar
23
- export const expenseFilter = (i: Activity) =>
24
- i.activityType === ActivityType.Expense &&
25
- isWithinInterval(i.expectedDate, {
26
- start: startOfMonth(startOfToday()),
27
- end: endOfMonth(startOfToday()),
28
- })
29
-
30
- // This filters all activity to the current month plus the next 30 days
31
- export const dateFilter = (a: Activity) =>
32
- (a.occurredOnDate &&
33
- isWithinInterval(a.occurredOnDate, {
34
- start: startOfMonth(new Date()),
35
- end: addDays(startOfToday(), 30),
36
- })) ||
37
- isWithinInterval(a.expectedDate, {
38
- start: startOfMonth(new Date()),
39
- end: addDays(startOfToday(), 30),
40
- })
@@ -1,334 +0,0 @@
1
- import { addDays } from 'date-fns/addDays'
2
- import { addMonths } from 'date-fns/addMonths'
3
- import { addQuarters } from 'date-fns/addQuarters'
4
- import { addWeeks } from 'date-fns/addWeeks'
5
- import { addYears } from 'date-fns/addYears'
6
- import { fromUnixTime } from 'date-fns/fromUnixTime'
7
- import { getUnixTime } from 'date-fns/getUnixTime'
8
- import { isAfter } from 'date-fns/isAfter'
9
- import { isBefore } from 'date-fns/isBefore'
10
- import { isWithinInterval } from 'date-fns/isWithinInterval'
11
- import { nextDay } from 'date-fns/nextDay'
12
- import { parseISO } from 'date-fns/parseISO'
13
- import { setDate } from 'date-fns/setDate'
14
- import { startOfMonth } from 'date-fns/startOfMonth'
15
- import { startOfToday } from 'date-fns/startOfToday'
16
- import { subDays } from 'date-fns/subDays'
17
- import { subWeeks } from 'date-fns/subWeeks'
18
- import { Day } from 'date-fns/types'
19
-
20
- import {
21
- type Account,
22
- type Activity,
23
- ActivityStatus,
24
- ActivityType,
25
- type CashflowEvent,
26
- type CashflowSequence,
27
- RecurrenceTypes,
28
- type ScheduledPayment,
29
- type Transaction,
30
- } from '../../common'
31
-
32
- import { fromUnixUTC } from '../../common/utils/DateUtil'
33
-
34
- const buildInstitutionName = (account: Account) => {
35
- let name = account.user_name || account.feed_name || ''
36
- if (account.account_number) {
37
- name = `${name} *${account.account_number}`
38
- }
39
- return name
40
- }
41
-
42
- export const getRecurrenceType = (sequence?: CashflowSequence) => {
43
- if (!sequence) return RecurrenceTypes.Unknown
44
-
45
- if (sequence.repeat_interval === '1') return RecurrenceTypes.EveryWeek
46
- if (sequence.repeat_interval === '2') return RecurrenceTypes.EveryOtherWeek
47
- if (sequence.repeat_day && !sequence.repeat_month && !sequence.repeat_interval)
48
- return RecurrenceTypes.EveryMonth
49
- if (sequence.repeat_day && sequence.repeat_interval === '3') return RecurrenceTypes.EveryQuarter
50
- if (sequence.repeat_day && sequence.repeat_month) return RecurrenceTypes.EveryYear
51
-
52
- return RecurrenceTypes.Unknown
53
- }
54
-
55
- export const buildActivities = (
56
- accounts: Account[],
57
- events: CashflowEvent[],
58
- payments: ScheduledPayment[],
59
- projected: CashflowEvent[],
60
- sequences: CashflowSequence[],
61
- transactions: Transaction[],
62
- ): Activity[] => {
63
- // Add paid income
64
- const paidIncome = events
65
- .filter((e) => {
66
- const sequence = sequences.find((s) => s.guid === e.cashflow_sequence_guid)
67
- const transaction = transactions.find((t) => t.guid === e.transaction_guid)
68
-
69
- return sequence?.end_date === null && transaction
70
- })
71
- .map((e) => {
72
- const sequence = sequences.find((s) => s.guid === e.cashflow_sequence_guid)
73
- const transaction = transactions.find((t) => t.guid === e.transaction_guid)
74
- const account = accounts.find((a) => a.guid === transaction?.account_guid)
75
-
76
- return {
77
- accountGuid: sequence?.account_guid || account?.guid,
78
- activityStatus: ActivityStatus.Paid,
79
- activityType: ActivityType.Income,
80
- amount: e.amount,
81
- categoryGuid: e.category_guid,
82
- expectedDate: fromUnixUTC(e.expected_date),
83
- occurredOnDate: e.occurred_on ? fromUnixUTC(e.occurred_on) : undefined,
84
- name: e.name,
85
- institution: account ? buildInstitutionName(account) : undefined,
86
- institutionGuid: account?.institution_guid,
87
- merchantGuid: transaction?.merchant_guid || undefined,
88
- recurrenceType: getRecurrenceType(sequence),
89
- recurrenceDay: sequence?.repeat_day ? Number(sequence?.repeat_day) : undefined,
90
- sequenceGuid: sequence?.guid,
91
- transactionGuid: e.transaction_guid,
92
- }
93
- })
94
-
95
- // Add expected income for the next 30 days
96
- const upcomingIncome = projected
97
- .filter((e) =>
98
- isWithinInterval(fromUnixTime(e.expected_date), {
99
- start: startOfMonth(startOfToday()),
100
- end: addDays(startOfToday(), 30),
101
- }),
102
- )
103
- .filter((e) => {
104
- const sequence = sequences.find((s) => s.guid === e.cashflow_sequence_guid)
105
- const actual = events.find(
106
- (a) => a.cashflow_sequence_guid === sequence?.guid && a.expected_date === e.expected_date,
107
- )
108
- return sequence?.end_date === null && !actual
109
- })
110
- .map((e) => {
111
- const sequence = sequences.find((s) => s.guid === e.cashflow_sequence_guid)
112
- // Find a past event to fill in account and merchant information
113
- const pastEvent = events.find(
114
- (p) => p.cashflow_sequence_guid === e.cashflow_sequence_guid && Boolean(p.transaction_guid),
115
- )
116
- const transaction = transactions.find((t) => t.guid === pastEvent?.transaction_guid)
117
- const account = accounts.find((a) => a.guid === transaction?.account_guid)
118
-
119
- return {
120
- accountGuid: sequence?.account_guid || account?.guid,
121
- activityStatus: ActivityStatus.Upcoming,
122
- activityType: ActivityType.Income,
123
- amount: e.amount,
124
- categoryGuid: e.category_guid,
125
- expectedDate: fromUnixUTC(e.expected_date),
126
- name: e.name,
127
- institution: account ? buildInstitutionName(account) : undefined,
128
- institutionGuid: account?.institution_guid,
129
- merchantGuid: transaction?.merchant_guid || undefined,
130
- recurrenceType: getRecurrenceType(sequence),
131
- recurrenceDay: sequence?.repeat_day ? Number(sequence?.repeat_day) : undefined,
132
- sequenceGuid: sequence?.guid,
133
- transactionGuid: undefined,
134
- }
135
- })
136
-
137
- // Add scheduled payments for the next 30 days
138
- const expenses = [] as Activity[]
139
-
140
- if (payments) {
141
- payments.forEach((payment) => expenses.push(...buildExpenses(accounts, payment, transactions)))
142
- }
143
-
144
- const activities = [...paidIncome, ...upcomingIncome, ...expenses] as Activity[]
145
-
146
- return activities.sort(
147
- (a, b) =>
148
- getUnixTime(a.occurredOnDate || a.expectedDate) -
149
- getUnixTime(b.occurredOnDate || b.expectedDate),
150
- )
151
- }
152
-
153
- const buildExpenses = (
154
- accounts: Account[],
155
- payment: ScheduledPayment,
156
- transactions: Transaction[],
157
- ): Activity[] => {
158
- const expenses = [] as Activity[]
159
-
160
- const pastTransaction = transactions.find((t) => t.scheduled_payment_guid === payment.guid)
161
- if (!pastTransaction) return []
162
-
163
- const account = accounts.find((a) => a.guid === pastTransaction?.account_guid)
164
- const occursOn = parseISO(payment.occurs_on)
165
- const baseExpense = {
166
- accountGuid: account?.guid,
167
- activityStatus: ActivityStatus.Upcoming,
168
- activityType: ActivityType.Expense,
169
- amount: payment.amount,
170
- categoryGuid: pastTransaction?.category_guid,
171
- expectedDate: occursOn,
172
- name: payment.description,
173
- institution: account ? buildInstitutionName(account) : undefined,
174
- institutionGuid: account?.institution_guid,
175
- merchantGuid: payment.merchant_guid,
176
- recurrenceType: payment.recurrence_type,
177
- recurrenceDay: payment.recurrence_day,
178
- scheduledPaymentGuid: payment.guid,
179
- transactionGuid: '',
180
- }
181
-
182
- const day = payment.recurrence_day
183
- const today = startOfToday()
184
- const startDate = startOfMonth(startOfToday())
185
- const endDate = addDays(startOfToday(), 30)
186
-
187
- let nextDate = startDate
188
- switch (payment.recurrence_type) {
189
- case RecurrenceTypes.EveryWeek:
190
- // Add upcoming expenses for each week in the current month + next month
191
- nextDate = nextDay(nextDate, day as Day)
192
- while (isBefore(nextDate, endDate)) {
193
- expenses.push({
194
- ...baseExpense,
195
- expectedDate: nextDate,
196
- })
197
- nextDate = nextDay(nextDate, day as Day)
198
- }
199
- break
200
- case RecurrenceTypes.EveryOtherWeek:
201
- // Add upcoming expense for every other week in current month + next month
202
- if (isBefore(occursOn, startDate)) {
203
- nextDate = addWeeks(occursOn, 2)
204
- while (isBefore(nextDate, endDate)) {
205
- if (isAfter(nextDate, startDate)) {
206
- expenses.push({
207
- ...baseExpense,
208
- expectedDate: nextDate,
209
- })
210
- }
211
- nextDate = addWeeks(nextDate, 2)
212
- }
213
- } else {
214
- // Add for occurs_on
215
- expenses.push({
216
- ...baseExpense,
217
- expectedDate: occursOn,
218
- })
219
- // Add past starting at occurs_on
220
- nextDate = subWeeks(occursOn, 2)
221
- while (isAfter(nextDate, startDate)) {
222
- expenses.push({
223
- ...baseExpense,
224
- expectedDate: nextDate,
225
- })
226
- nextDate = subWeeks(nextDate, 2)
227
- }
228
-
229
- // Add future starting at occurs_on
230
- nextDate = addWeeks(occursOn, 2)
231
- while (isBefore(nextDate, endDate)) {
232
- expenses.push({
233
- ...baseExpense,
234
- expectedDate: nextDate,
235
- })
236
- nextDate = addWeeks(nextDate, 2)
237
- }
238
- }
239
- break
240
- case RecurrenceTypes.EveryMonth:
241
- // Add expense for current month and next month
242
- expenses.push({
243
- ...baseExpense,
244
- expectedDate: setDate(nextDate, day),
245
- })
246
- expenses.push({
247
- ...baseExpense,
248
- expectedDate: addMonths(setDate(nextDate, day), 1),
249
- })
250
- break
251
- case RecurrenceTypes.EveryOtherMonth:
252
- // Use occurs_on to calculate next expense
253
- if (isBefore(occursOn, startDate)) {
254
- if (isBefore(addMonths(occursOn, 2), endDate)) {
255
- expenses.push({
256
- ...baseExpense,
257
- expectedDate: addMonths(occursOn, 2),
258
- })
259
- }
260
- } else if (isBefore(occursOn, endDate)) {
261
- expenses.push({
262
- ...baseExpense,
263
- expectedDate: occursOn,
264
- })
265
- }
266
- break
267
- case RecurrenceTypes.EveryQuarter:
268
- // Use occurs_on to calculate next expense
269
- if (isBefore(occursOn, startDate)) {
270
- if (isBefore(addQuarters(occursOn, 1), endDate)) {
271
- expenses.push({
272
- ...baseExpense,
273
- expectedDate: addQuarters(occursOn, 1),
274
- })
275
- }
276
- } else if (isBefore(occursOn, endDate)) {
277
- expenses.push({
278
- ...baseExpense,
279
- expectedDate: occursOn,
280
- })
281
- }
282
- break
283
- case RecurrenceTypes.EveryOtherQuarter:
284
- // Use occurs_on to calculate next expense
285
- if (isBefore(occursOn, startDate)) {
286
- if (isBefore(addQuarters(occursOn, 2), endDate)) {
287
- expenses.push({
288
- ...baseExpense,
289
- expectedDate: addQuarters(occursOn, 2),
290
- })
291
- }
292
- } else if (isBefore(occursOn, endDate)) {
293
- expenses.push({
294
- ...baseExpense,
295
- expectedDate: occursOn,
296
- })
297
- }
298
- break
299
- case RecurrenceTypes.EveryYear:
300
- // Use occurs_on to calculate next expense
301
- if (isBefore(occursOn, startDate)) {
302
- if (isBefore(addYears(occursOn, 1), endDate)) {
303
- expenses.push({
304
- ...baseExpense,
305
- expectedDate: addYears(occursOn, 1),
306
- })
307
- }
308
- } else if (isBefore(occursOn, endDate)) {
309
- expenses.push({
310
- ...baseExpense,
311
- expectedDate: occursOn,
312
- })
313
- }
314
- break
315
- }
316
-
317
- expenses.forEach((exp) => {
318
- const transaction = transactions.find(
319
- (t) =>
320
- t.scheduled_payment_guid === exp.scheduledPaymentGuid &&
321
- t.date > getUnixTime(subDays(exp.expectedDate, 3)) &&
322
- t.date < getUnixTime(addDays(exp.expectedDate, 3)),
323
- )
324
- if (transaction) {
325
- exp.transactionGuid = transaction.guid
326
- exp.occurredOnDate = fromUnixTime(transaction.date)
327
- exp.activityStatus = ActivityStatus.Paid
328
- } else if (isBefore(exp.expectedDate, subDays(today, 3))) {
329
- exp.activityStatus = ActivityStatus.Missed
330
- }
331
- })
332
-
333
- return expenses
334
- }
@@ -1,111 +0,0 @@
1
- import { formatISO } from 'date-fns/formatISO'
2
- import { getDay } from 'date-fns/getDay'
3
- import { getDate } from 'date-fns/getDate'
4
- import { getMonth } from 'date-fns/getMonth'
5
- import { getUnixTime } from 'date-fns/getUnixTime'
6
-
7
- import {
8
- type CashflowEvent,
9
- type CashflowSequence,
10
- type RepeatDay,
11
- type RepeatMonth,
12
- type ScheduledPayment,
13
- type Transaction,
14
- RecurrenceTypes,
15
- RepeatWeekday,
16
- } from '../../common'
17
-
18
- export const buildNewCashflowSequence = (
19
- transaction: Transaction,
20
- recurrenceType: RecurrenceTypes,
21
- nextDate: Date,
22
- ): CashflowSequence => {
23
- const cashflowSequence = {
24
- account_guid: transaction.account_guid,
25
- amount: transaction.amount,
26
- category_guid: transaction.category_guid,
27
- description: transaction.feed_description || transaction.description,
28
- name: transaction.description,
29
- repeat_day: null,
30
- repeat_interval: null,
31
- repeat_month: null,
32
- repeat_week: null,
33
- repeat_weekday: null,
34
- repeat_year: null,
35
- start_date: getUnixTime(nextDate),
36
- transaction_type: transaction.transaction_type,
37
- } as CashflowSequence
38
-
39
- switch (recurrenceType) {
40
- case RecurrenceTypes.EveryWeek:
41
- cashflowSequence.repeat_interval = '1'
42
- cashflowSequence.repeat_weekday = `${getDay(nextDate)}` as RepeatWeekday
43
- break
44
- case RecurrenceTypes.EveryOtherWeek:
45
- cashflowSequence.repeat_interval = '2'
46
- cashflowSequence.repeat_weekday = `${getDay(nextDate)}` as RepeatWeekday
47
- break
48
- case RecurrenceTypes.EveryMonth:
49
- cashflowSequence.repeat_day = `${getDate(nextDate)}` as RepeatDay
50
- break
51
- case RecurrenceTypes.EveryQuarter:
52
- cashflowSequence.repeat_interval = '3'
53
- cashflowSequence.repeat_day = `${getDate(nextDate)}` as RepeatDay
54
- break
55
- case RecurrenceTypes.EveryYear:
56
- cashflowSequence.repeat_day = `${getDate(nextDate)}` as RepeatDay
57
- cashflowSequence.repeat_month = `${getMonth(nextDate)}` as RepeatMonth
58
- break
59
- }
60
-
61
- return cashflowSequence
62
- }
63
-
64
- export const buildNewCashflowEvent = (
65
- cashflowSequence: CashflowSequence,
66
- transaction: Transaction,
67
- ) => {
68
- return {
69
- amount: transaction.amount,
70
- cashflow_sequence_guid: cashflowSequence.guid,
71
- category_guid: transaction.category_guid,
72
- description: transaction.feed_description || transaction.description,
73
- expected_date: transaction.date,
74
- name: transaction.description,
75
- occurred_on: transaction.date,
76
- transaction_guid: transaction.guid,
77
- transaction_type: transaction.transaction_type,
78
- } as CashflowEvent
79
- }
80
-
81
- export const buildNewScheduledPayment = (
82
- transaction: Transaction,
83
- recurrenceType: RecurrenceTypes,
84
- nextDate: Date,
85
- ) => {
86
- const payment = {
87
- amount: transaction.amount,
88
- description: transaction.feed_description || transaction.description,
89
- is_tracked_by_user: true,
90
- merchant_guid: transaction.merchant_guid,
91
- occurs_on: formatISO(nextDate, { representation: 'date' }),
92
- recurrence_day: 0,
93
- recurrence_type: RecurrenceTypes.EveryMonth,
94
- } as ScheduledPayment
95
-
96
- switch (recurrenceType) {
97
- case RecurrenceTypes.EveryWeek:
98
- case RecurrenceTypes.EveryOtherWeek:
99
- payment.recurrence_day = getDay(nextDate)
100
- break
101
- case RecurrenceTypes.EveryMonth:
102
- case RecurrenceTypes.EveryOtherMonth:
103
- case RecurrenceTypes.EveryQuarter:
104
- case RecurrenceTypes.EveryOtherQuarter:
105
- case RecurrenceTypes.EveryYear:
106
- payment.recurrence_day = getDate(nextDate)
107
- break
108
- }
109
-
110
- return payment
111
- }
@@ -1,50 +0,0 @@
1
- import { format } from 'date-fns/format'
2
- import { isValid } from 'date-fns/isValid'
3
- import { buildDynamicCopy, RecurrenceTypes, type RecurringCopy } from '../../common'
4
-
5
- interface GetRecurrenceArgs {
6
- copy: RecurringCopy
7
- date: Date | null
8
- type: RecurrenceTypes
9
- }
10
-
11
- export const getRecurrence = ({ copy, date, type }: GetRecurrenceArgs) => {
12
- let recurrenceType =
13
- date && isValid(date)
14
- ? buildDynamicCopy(copy.monthly_ordinal, format(date, 'do'))
15
- : copy.monthly
16
- switch (type) {
17
- case RecurrenceTypes.EveryQuarter:
18
- recurrenceType = date
19
- ? buildDynamicCopy(copy.quarterly_ordinal, format(date, 'do'))
20
- : copy.quarterly
21
- break
22
- case RecurrenceTypes.EveryWeek:
23
- recurrenceType = date
24
- ? buildDynamicCopy(copy.weekly_ordinal, format(date, 'do'))
25
- : copy.weekly
26
- break
27
- case RecurrenceTypes.EveryYear:
28
- recurrenceType = date
29
- ? buildDynamicCopy(copy.anually_ordinal, format(date, 'do'))
30
- : copy.anually
31
- break
32
- case RecurrenceTypes.EveryOtherWeek:
33
- recurrenceType = date
34
- ? buildDynamicCopy(copy.every_other_week_ordinal, format(date, 'do'))
35
- : copy.every_other_week
36
- break
37
- case RecurrenceTypes.EveryOtherMonth:
38
- recurrenceType = date
39
- ? buildDynamicCopy(copy.every_other_month_ordinal, format(date, 'do'))
40
- : copy.every_other_month
41
- break
42
- case RecurrenceTypes.EveryOtherQuarter:
43
- recurrenceType = date
44
- ? buildDynamicCopy(copy.every_other_quarter_ordinal, format(date, 'do'))
45
- : copy.every_other_quarter
46
- break
47
- }
48
-
49
- return recurrenceType as string
50
- }
@@ -1,32 +0,0 @@
1
- import {
2
- type Activity,
3
- ActivityStatus,
4
- buildDynamicCopy,
5
- DATE_FORMATS_INTL,
6
- formatDate,
7
- type RecurringCopy,
8
- } from '../../common'
9
-
10
- export const getStatus = (activity: Activity, copy: RecurringCopy): string => {
11
- switch (activity.activityStatus) {
12
- case ActivityStatus.Paid:
13
- return activity.occurredOnDate
14
- ? (buildDynamicCopy(
15
- copy.paid_on,
16
- formatDate(activity.occurredOnDate, DATE_FORMATS_INTL.MONTH_DAY),
17
- ) as string)
18
- : copy.paid
19
- case ActivityStatus.Missed:
20
- return buildDynamicCopy(
21
- copy.missed_on,
22
- formatDate(activity.expectedDate, DATE_FORMATS_INTL.MONTH_DAY),
23
- ) as string
24
- case ActivityStatus.Upcoming:
25
- return buildDynamicCopy(
26
- copy.upcoming_on,
27
- formatDate(activity.expectedDate, DATE_FORMATS_INTL.MONTH_DAY),
28
- ) as string
29
- default:
30
- return copy.unknown
31
- }
32
- }
@@ -1,66 +0,0 @@
1
- import { formatISO } from 'date-fns/formatISO'
2
- import { getDate } from 'date-fns/getDate'
3
- import { getDay } from 'date-fns/getDay'
4
- import { getUnixTime } from 'date-fns/getUnixTime'
5
- import { getMonth } from 'date-fns/getMonth'
6
-
7
- import { RecurrenceTypes } from '../../common'
8
-
9
- import type {
10
- Activity,
11
- CashflowSequence,
12
- RepeatDay,
13
- RepeatMonth,
14
- RepeatWeekday,
15
- ScheduledPayment,
16
- } from '../../common'
17
-
18
- export const updateIncome = (activity: Activity, sequence: CashflowSequence): CashflowSequence => {
19
- const updatedSequence = {
20
- ...sequence,
21
- repeat_day: null,
22
- repeat_interval: null,
23
- repeat_month: null,
24
- repeat_weekday: null,
25
- start_date: getUnixTime(activity.expectedDate),
26
- } as CashflowSequence
27
-
28
- const repeatDay = `${getDate(activity.expectedDate)}` as RepeatDay
29
- const repeatMonth = `${getMonth(activity.expectedDate)}` as RepeatMonth
30
- const repeatWeekday = `${getDay(activity.expectedDate)}` as RepeatWeekday
31
-
32
- switch (activity.recurrenceType) {
33
- case RecurrenceTypes.EveryWeek:
34
- updatedSequence.repeat_interval = '1'
35
- updatedSequence.repeat_weekday = repeatWeekday
36
- break
37
- case RecurrenceTypes.EveryOtherWeek:
38
- updatedSequence.repeat_interval = '2'
39
- updatedSequence.repeat_weekday = repeatWeekday
40
- break
41
- case RecurrenceTypes.EveryMonth:
42
- updatedSequence.repeat_day = repeatDay
43
- break
44
- case RecurrenceTypes.EveryQuarter:
45
- updatedSequence.repeat_day = repeatDay
46
- updatedSequence.repeat_interval = '3'
47
- break
48
- case RecurrenceTypes.EveryYear:
49
- updatedSequence.repeat_day = repeatDay
50
- updatedSequence.repeat_month = repeatMonth
51
- break
52
- }
53
-
54
- return updatedSequence
55
- }
56
-
57
- export const updateExpense = (
58
- activity: Activity,
59
- scheduledPayment: ScheduledPayment,
60
- ): ScheduledPayment => {
61
- return {
62
- ...scheduledPayment,
63
- occurs_on: formatISO(activity.expectedDate, { representation: 'date' }),
64
- recurrence_type: activity.recurrenceType,
65
- }
66
- }
@@ -1,23 +0,0 @@
1
- import React from 'react'
2
- import { observer } from 'mobx-react-lite'
3
-
4
- import { MiniWidgetContainer, MiniWidgetProps, useGlobalCopyStore } from '../common'
5
- import MiniSpendingChart from './components/MiniSpendingChart'
6
-
7
- const SpendingMiniWidget: React.FC<MiniWidgetProps> = ({ onPrimaryCtaClick, sx = {} }) => {
8
- const { spending: spendingCopy } = useGlobalCopyStore()
9
-
10
- return (
11
- <MiniWidgetContainer
12
- className="mx-exp-spending-miniwidget"
13
- onPrimaryCtaClick={onPrimaryCtaClick}
14
- primaryCtaLabel={spendingCopy.primary_cta}
15
- sx={sx}
16
- title={spendingCopy.mini_title}
17
- >
18
- <MiniSpendingChart />
19
- </MiniWidgetContainer>
20
- )
21
- }
22
-
23
- export default observer(SpendingMiniWidget)