@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
@@ -0,0 +1,244 @@
1
+ import { makeAutoObservable as h, runInAction as a } from "mobx";
2
+ import "bowser";
3
+ import "date-fns/getUnixTime";
4
+ import "date-fns/intlFormat";
5
+ import { W as r, a1 as u, a2 as l, a3 as d, a4 as A } from "./ConnectMiniWidget-Ep65CtHH.mjs";
6
+ import "react";
7
+ import "@honeybadger-io/react";
8
+ import "numeral";
9
+ import "date-fns/addMonths";
10
+ import "date-fns/addQuarters";
11
+ import "date-fns/addWeeks";
12
+ import "date-fns/addYears";
13
+ import "date-fns/getDay";
14
+ import "date-fns/isBefore";
15
+ import "date-fns/nextDay";
16
+ import "date-fns/setDate";
17
+ import "date-fns/startOfToday";
18
+ import "date-fns/fromUnixTime";
19
+ import "react/jsx-runtime";
20
+ import "@mui/material/Button";
21
+ import "@kyper/mui";
22
+ import "@mui/material/Tooltip";
23
+ import "@mui/material/Box";
24
+ import "@mui/material/IconButton";
25
+ import "@mui/material/styles/useTheme";
26
+ import "@mui/material/useMediaQuery";
27
+ import "@mxenabled/cssinjs";
28
+ import "date-fns/addDays";
29
+ import "date-fns/eachDayOfInterval";
30
+ import "date-fns/eachWeekOfInterval";
31
+ import "date-fns/endOfMonth";
32
+ import "date-fns/format";
33
+ import "date-fns/isSameMonth";
34
+ import "date-fns/startOfMonth";
35
+ import "date-fns/subMonths";
36
+ import "@mui/material/Paper";
37
+ import "@mui/icons-material/KeyboardArrowLeftRounded";
38
+ import "@mui/icons-material/KeyboardArrowRightRounded";
39
+ import "date-fns/isSameDay";
40
+ import "date-fns/isWithinInterval";
41
+ import "d3";
42
+ import "@mui/material/styles";
43
+ import "@mui/x-charts";
44
+ import "@mui/material/Stack";
45
+ import "@mui/material";
46
+ import "date-fns/differenceInCalendarDays";
47
+ import "date-fns/endOfToday";
48
+ import "date-fns/endOfYear";
49
+ import "date-fns/startOfYear";
50
+ import "date-fns/subDays";
51
+ import "date-fns/subYears";
52
+ import "@mui/material/ButtonGroup";
53
+ import "@mui/material/Tab";
54
+ import "@mui/material/Tabs";
55
+ import "@mui/material/ToggleButton";
56
+ import "@mui/material/ToggleButtonGroup";
57
+ import "@mui/material/Dialog";
58
+ import "@mui/material/DialogContent";
59
+ import "@mui/icons-material/ArrowBackOutlined";
60
+ import "@mui/material/Card";
61
+ import "@mui/material/CardHeader";
62
+ import "@mui/material/CardContent";
63
+ import "uuid";
64
+ import "@mui/material/CircularProgress";
65
+ import "@mui/material/FormControlLabel";
66
+ import "@mui/material/Radio";
67
+ import "@mui/material/Avatar";
68
+ import "@mui/material/ListItem";
69
+ import "@mui/material/ListItemAvatar";
70
+ import "@mui/material/ListItemButton";
71
+ import "@mui/material/ListItemText";
72
+ import "@mui/material/ListItemIcon";
73
+ import { F as g, A as s } from "./Fetch-DpUi1_Dx.mjs";
74
+ import "date-fns/differenceInDays";
75
+ import "@mui/x-data-grid-pro";
76
+ import "date-fns";
77
+ import "date-fns/getMonth";
78
+ import "date-fns/isAfter";
79
+ import "date-fns/parseISO";
80
+ import "date-fns/subWeeks";
81
+ import "date-fns/formatISO";
82
+ class p {
83
+ fetchInstance;
84
+ constructor(t, e) {
85
+ this.fetchInstance = new g(t, e);
86
+ }
87
+ createAccount = async (t) => this.fetchInstance.post(s.ACCOUNTS, t).then((e) => e.account).catch((e) => e);
88
+ deleteAccount = async (t) => this.fetchInstance.delete(`${s.ACCOUNTS}/${t}`).catch((e) => e);
89
+ getAccounts = async () => this.fetchInstance.get(s.ACCOUNTS).then((t) => t.accounts).catch((t) => t);
90
+ getInstitutions = async () => this.fetchInstance.get(s.INSTITUTIONS).then((t) => t).catch((t) => t);
91
+ getMembers = async () => this.fetchInstance.get(s.MEMBERS).then((t) => t.members).catch((t) => t);
92
+ getMonthlyAccountBalances = async (t) => this.fetchInstance.get(`${s.ACCOUNTS}/${t}/monthly_account_balances`).then((e) => e.monthly_account_balances).catch((e) => e);
93
+ mergeAccounts = async (t) => this.fetchInstance.put(`${s.ACCOUNTS}/merge`, { accounts: t }).then((e) => e).catch((e) => e);
94
+ refreshAllMembers = async () => this.fetchInstance.get(`${s.MEMBERS}/refresh_all`).then((t) => t).catch((t) => t);
95
+ updateAccount = async (t) => this.fetchInstance.put(`${s.ACCOUNTS}/${t.guid}`, t).then((e) => e.account).catch((e) => e);
96
+ }
97
+ class y {
98
+ isLoading = !1;
99
+ selectedAccount = {};
100
+ selectedMember = {};
101
+ constructor() {
102
+ h(this);
103
+ }
104
+ setIsLoading = (t) => this.isLoading = t;
105
+ setSelectedAccount = (t) => this.selectedAccount = t;
106
+ setSelectedMember = (t) => this.selectedMember = t;
107
+ }
108
+ class qt {
109
+ api = new p("/", "");
110
+ globalStore;
111
+ accounts = [];
112
+ institutions = [];
113
+ members = [];
114
+ uiStore;
115
+ constructor(t) {
116
+ this.globalStore = t, this.uiStore = new y(), h(this);
117
+ }
118
+ initialize = async (t, e) => {
119
+ this.api = new p(t, e), await Promise.all([this.loadAccounts(), this.loadInstitutions()]);
120
+ };
121
+ get cashAccounts() {
122
+ return this.accounts.filter(
123
+ (t) => t.account_type === r.CASH || t.account_type === r.CHECKING || t.account_type === r.PREPAID || t.account_type === r.SAVINGS || t.account_type === r.CHECKING_LINE_OF_CREDIT
124
+ );
125
+ }
126
+ get debtAccounts() {
127
+ return this.accounts.filter(
128
+ (t) => t.account_type === r.CREDIT_CARD || t.account_type === r.LOAN || t.account_type === r.MORTGAGE || t.account_type === r.LINE_OF_CREDIT || t.account_type === r.CHECKING_LINE_OF_CREDIT
129
+ );
130
+ }
131
+ get cashBalance() {
132
+ return this.cashAccounts.reduce((t, e) => t + (e?.balance || 0), 0);
133
+ }
134
+ addAccount = async (t) => {
135
+ try {
136
+ const e = await this.api.createAccount(t);
137
+ a(() => {
138
+ this.accounts = [...this.accounts, e];
139
+ });
140
+ } catch (e) {
141
+ console.error(`Error occurred while adding an account: ${e}`);
142
+ }
143
+ };
144
+ augmentAccounts = (t = this.accounts) => {
145
+ const e = [];
146
+ return t.forEach((c) => {
147
+ const i = this.members.findIndex(
148
+ (o) => o.guid === c.member_guid
149
+ );
150
+ if (i > -1) {
151
+ let o = u.Connected;
152
+ const n = this.members[i];
153
+ l.includes(n.connection_status) ? o = u.Error : d.includes(n.connection_status) ? o = u.Processing : A.includes(n.connection_status) && (o = u.RequiresMfa), e.push({
154
+ ...c,
155
+ memberName: n.name,
156
+ connectionStatus: o
157
+ }), this.members[i].connectionStatus = o;
158
+ }
159
+ }), e;
160
+ };
161
+ loadAccounts = async () => {
162
+ await this.loadMembers();
163
+ try {
164
+ const t = await this.api.getAccounts();
165
+ a(() => {
166
+ this.accounts = this.sortAccounts(this.augmentAccounts(t));
167
+ });
168
+ } catch (t) {
169
+ console.error(`Error occurred while loading accounts: ${t}`);
170
+ }
171
+ };
172
+ loadInstitutions = async () => {
173
+ try {
174
+ const t = await this.api.getInstitutions();
175
+ a(() => {
176
+ this.institutions = t;
177
+ });
178
+ } catch (t) {
179
+ console.error(`Error occurred while loading institutions: ${t}`);
180
+ }
181
+ };
182
+ loadMembers = async () => {
183
+ try {
184
+ const t = await this.api.getMembers();
185
+ a(() => {
186
+ this.members = t;
187
+ });
188
+ } catch (t) {
189
+ console.error(`Error occurred while loading members: ${t}`);
190
+ }
191
+ };
192
+ mergeAccounts = async (t) => {
193
+ try {
194
+ const e = await this.api.mergeAccounts(t), c = e[Object.keys(e)[0]];
195
+ a(() => {
196
+ const i = this.accounts.findIndex((n) => n.guid === t[1]);
197
+ this.accounts.splice(i, 1);
198
+ const o = this.accounts.findIndex((n) => n.guid === t[0]);
199
+ this.accounts.splice(o, 1, c);
200
+ });
201
+ } catch (e) {
202
+ console.error(`Error occurred while merging accounts: ${e}`);
203
+ }
204
+ };
205
+ sortAccounts = (t = this.accounts) => t.sort((e, c) => e.account_type > c.account_type ? 1 : e.account_type < c.account_type ? -1 : (e.name || "") > (c.name || "") ? 1 : (e.name || "") < (c.name || "") ? -1 : 0);
206
+ refreshAccounts = async () => {
207
+ this.uiStore.setIsLoading(!0), await Promise.all([this.loadAccounts(), this.loadInstitutions()]), this.uiStore.setIsLoading(!1);
208
+ };
209
+ refreshMembers = async () => {
210
+ try {
211
+ await this.api.refreshAllMembers(), await this.loadMembers();
212
+ } catch (t) {
213
+ console.error(`Error occurredwhile refreshing members: ${t}`);
214
+ }
215
+ };
216
+ removeAccount = async (t) => {
217
+ try {
218
+ await this.api.deleteAccount(t), a(() => {
219
+ const e = this.accounts.findIndex((c) => c.guid === t);
220
+ this.accounts.splice(e, 1);
221
+ });
222
+ } catch (e) {
223
+ console.error(`Error occurred while removing an account: ${e}`);
224
+ }
225
+ };
226
+ updateAccount = async (t) => {
227
+ try {
228
+ const e = await this.api.updateAccount(t);
229
+ a(() => {
230
+ const c = this.accounts.findIndex(
231
+ (i) => i.guid === e.guid
232
+ );
233
+ this.accounts.splice(c, 1, e), this.augmentAccounts(this.accounts);
234
+ });
235
+ } catch (e) {
236
+ console.error(`Error occurred while updating account: ${e}`);
237
+ }
238
+ };
239
+ }
240
+ export {
241
+ p as A,
242
+ qt as a
243
+ };
244
+ //# sourceMappingURL=AccountStore-B23-oV1B.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountStore-B23-oV1B.mjs","sources":["../src/accounts/api/AccountApi.ts","../src/accounts/stores/UiStore.ts","../src/accounts/stores/AccountStore.ts"],"sourcesContent":["import Fetch from '../../common/utils/Fetch'\n\nimport { ApiEndpoints } from '../../common/constants'\nimport type { Account } from '../../common'\n\nexport class AccountApi {\n fetchInstance: Fetch\n\n constructor(endpoint: string, token: string) {\n this.fetchInstance = new Fetch(endpoint, token)\n }\n\n createAccount = async (account: Account) => {\n return this.fetchInstance\n .post(ApiEndpoints.ACCOUNTS, account)\n .then((data) => data.account)\n .catch((error) => error)\n }\n\n deleteAccount = async (accountGuid: string) => {\n return this.fetchInstance\n .delete(`${ApiEndpoints.ACCOUNTS}/${accountGuid}`)\n .catch((error) => error)\n }\n\n getAccounts = async () => {\n return this.fetchInstance\n .get(ApiEndpoints.ACCOUNTS)\n .then((data) => data.accounts)\n .catch((error) => error)\n }\n\n getInstitutions = async () => {\n return this.fetchInstance\n .get(ApiEndpoints.INSTITUTIONS)\n .then((data) => data)\n .catch((error) => error)\n }\n\n getMembers = async () => {\n return this.fetchInstance\n .get(ApiEndpoints.MEMBERS)\n .then((data) => data.members)\n .catch((error) => error)\n }\n\n getMonthlyAccountBalances = async (guid: string) => {\n return this.fetchInstance\n .get(`${ApiEndpoints.ACCOUNTS}/${guid}/monthly_account_balances`)\n .then((data) => data.monthly_account_balances)\n .catch((error) => error)\n }\n\n mergeAccounts = async (accountGuids: string[]) => {\n return this.fetchInstance\n .put(`${ApiEndpoints.ACCOUNTS}/merge`, { accounts: accountGuids })\n .then((data) => data)\n .catch((error) => error)\n }\n\n refreshAllMembers = async () => {\n return this.fetchInstance\n .get(`${ApiEndpoints.MEMBERS}/refresh_all`)\n .then((data) => data)\n .catch((error) => error)\n }\n\n updateAccount = async (account: Account) => {\n return this.fetchInstance\n .put(`${ApiEndpoints.ACCOUNTS}/${account.guid}`, account)\n .then((data) => data.account)\n .catch((error) => error)\n }\n}\n","import { makeAutoObservable } from 'mobx'\nimport { Account, Member } from '../../common'\n\nexport class UiStore {\n isLoading = false\n\n selectedAccount: Account = {} as Account\n selectedMember: Member = {} as Member\n\n constructor() {\n makeAutoObservable(this)\n }\n\n setIsLoading = (isLoading: boolean) => (this.isLoading = isLoading)\n\n setSelectedAccount = (account: Account) => (this.selectedAccount = account)\n setSelectedMember = (member: Member) => (this.selectedMember = member)\n}\n","import { makeAutoObservable, runInAction } from 'mobx'\n\nimport {\n AccountType,\n ErrorStatuses,\n MfaStatuses,\n ConnectionStatus,\n ProcessingStatuses,\n} from '../../common'\n\nimport type { Account, GlobalStore, Institution, Member } from '../../common'\n\nimport { AccountApi } from '../api/AccountApi'\nimport { UiStore } from './UiStore'\n\nexport class AccountStore {\n api: AccountApi = new AccountApi('/', '')\n\n globalStore: GlobalStore\n\n accounts: Account[] = []\n institutions: Institution[] = []\n members: Member[] = []\n uiStore: UiStore\n\n constructor(globalStore: GlobalStore) {\n this.globalStore = globalStore\n this.uiStore = new UiStore()\n makeAutoObservable(this)\n }\n\n initialize = async (endpoint: string, token: string) => {\n this.api = new AccountApi(endpoint, token)\n\n await Promise.all([this.loadAccounts(), this.loadInstitutions()])\n }\n\n get cashAccounts(): Account[] {\n return this.accounts.filter(\n (account: Account) =>\n account.account_type === AccountType.CASH ||\n account.account_type === AccountType.CHECKING ||\n account.account_type === AccountType.PREPAID ||\n account.account_type === AccountType.SAVINGS ||\n account.account_type === AccountType.CHECKING_LINE_OF_CREDIT,\n )\n }\n\n get debtAccounts(): Account[] {\n return this.accounts.filter(\n (account: Account) =>\n account.account_type === AccountType.CREDIT_CARD ||\n account.account_type === AccountType.LOAN ||\n account.account_type === AccountType.MORTGAGE ||\n account.account_type === AccountType.LINE_OF_CREDIT ||\n account.account_type === AccountType.CHECKING_LINE_OF_CREDIT,\n )\n }\n\n get cashBalance(): number {\n return this.cashAccounts.reduce((total, account) => total + (account?.balance || 0), 0)\n }\n\n addAccount = async (account: Account) => {\n try {\n const newAccount = await this.api.createAccount(account)\n\n runInAction(() => {\n this.accounts = [...this.accounts, newAccount]\n })\n } catch (error) {\n console.error(`Error occurred while adding an account: ${error}`)\n }\n }\n\n augmentAccounts = (accounts: Account[] = this.accounts) => {\n const augmentedAccounts: Account[] = []\n\n accounts.forEach((account: Account) => {\n const memberLocation = this.members.findIndex(\n (member: Member) => member.guid === account.member_guid,\n )\n if (memberLocation > -1) {\n let connectionStatus = ConnectionStatus.Connected\n const member = this.members[memberLocation]\n if (ErrorStatuses.includes(member.connection_status)) {\n connectionStatus = ConnectionStatus.Error\n } else if (ProcessingStatuses.includes(member.connection_status)) {\n connectionStatus = ConnectionStatus.Processing\n } else if (MfaStatuses.includes(member.connection_status)) {\n connectionStatus = ConnectionStatus.RequiresMfa\n }\n\n augmentedAccounts.push({\n ...account,\n memberName: member.name,\n connectionStatus,\n })\n\n this.members[memberLocation].connectionStatus = connectionStatus\n }\n })\n\n return augmentedAccounts\n }\n\n loadAccounts = async () => {\n await this.loadMembers()\n\n try {\n const accounts = await this.api.getAccounts()\n\n runInAction(() => {\n this.accounts = this.sortAccounts(this.augmentAccounts(accounts))\n })\n } catch (error) {\n console.error(`Error occurred while loading accounts: ${error}`)\n }\n }\n\n loadInstitutions = async () => {\n try {\n const institutions = await this.api.getInstitutions()\n\n runInAction(() => {\n this.institutions = institutions\n })\n } catch (error) {\n console.error(`Error occurred while loading institutions: ${error}`)\n }\n }\n\n loadMembers = async () => {\n try {\n const members = await this.api.getMembers()\n\n runInAction(() => {\n this.members = members\n })\n } catch (error) {\n console.error(`Error occurred while loading members: ${error}`)\n }\n }\n\n mergeAccounts = async (accountGuids: string[]) => {\n try {\n const response = await this.api.mergeAccounts(accountGuids)\n // the response from the api is a funky database key here, so this is essentially just getting the first item in the returned object\n // to prevent making multiple api calls here\n const mergedAccount = response[Object.keys(response)[0]]\n\n runInAction(() => {\n const account2Index = this.accounts.findIndex((account) => account.guid === accountGuids[1])\n this.accounts.splice(account2Index, 1)\n\n const account1Index = this.accounts.findIndex((account) => account.guid === accountGuids[0])\n this.accounts.splice(account1Index, 1, mergedAccount)\n })\n } catch (error) {\n console.error(`Error occurred while merging accounts: ${error}`)\n }\n }\n\n sortAccounts = (accounts: Account[] = this.accounts) => {\n return accounts.sort((a: Account, b: Account) => {\n // orders by account type descending (Checking -> Savings -> Credit card)\n if (a.account_type > b.account_type) return 1\n if (a.account_type < b.account_type) return -1\n // orders by name (Emergency Savings -> Health Savings -> Rainy Day Savings)\n if ((a.name || '') > (b.name || '')) return 1\n if ((a.name || '') < (b.name || '')) return -1\n return 0\n })\n }\n\n refreshAccounts = async () => {\n this.uiStore.setIsLoading(true)\n await Promise.all([this.loadAccounts(), this.loadInstitutions()])\n this.uiStore.setIsLoading(false)\n }\n\n refreshMembers = async () => {\n try {\n await this.api.refreshAllMembers()\n await this.loadMembers()\n } catch (error) {\n console.error(`Error occurredwhile refreshing members: ${error}`)\n }\n }\n\n removeAccount = async (accountGuid: string) => {\n try {\n await this.api.deleteAccount(accountGuid)\n\n runInAction(() => {\n const deletedIndex = this.accounts.findIndex((account) => account.guid === accountGuid)\n this.accounts.splice(deletedIndex, 1)\n })\n } catch (error) {\n console.error(`Error occurred while removing an account: ${error}`)\n }\n }\n\n updateAccount = async (account: Account) => {\n try {\n const updatedAccount = await this.api.updateAccount(account)\n\n runInAction(() => {\n const updatedAccountIndex = this.accounts.findIndex(\n (account) => account.guid === updatedAccount.guid,\n )\n\n this.accounts.splice(updatedAccountIndex, 1, updatedAccount)\n this.augmentAccounts(this.accounts)\n })\n } catch (error) {\n console.error(`Error occurred while updating account: ${error}`)\n }\n }\n}\n"],"names":["AccountApi","endpoint","token","Fetch","account","ApiEndpoints","data","error","accountGuid","guid","accountGuids","UiStore","makeAutoObservable","isLoading","member","AccountStore","globalStore","AccountType","total","newAccount","runInAction","accounts","augmentedAccounts","memberLocation","connectionStatus","ConnectionStatus","ErrorStatuses","ProcessingStatuses","MfaStatuses","institutions","members","response","mergedAccount","account2Index","account1Index","a","b","deletedIndex","updatedAccount","updatedAccountIndex"],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import { F as m, A as o } from "./Fetch-DpUi1_Dx.mjs";
2
+ import "date-fns/intlFormat";
3
+ import "date-fns/getUnixTime";
4
+ import "bowser";
5
+ import "react/jsx-runtime";
6
+ import "react";
7
+ import "@mui/material/Button";
8
+ import "@kyper/mui";
9
+ import "@mui/material/Tooltip";
10
+ import "@mui/material/Box";
11
+ import "@mui/material/IconButton";
12
+ import "./ConnectMiniWidget-Ep65CtHH.mjs";
13
+ import "@mui/material/styles/useTheme";
14
+ import "@mui/material/useMediaQuery";
15
+ import "@mxenabled/cssinjs";
16
+ import "date-fns/addDays";
17
+ import "date-fns/addMonths";
18
+ import "date-fns/eachDayOfInterval";
19
+ import "date-fns/eachWeekOfInterval";
20
+ import "date-fns/endOfMonth";
21
+ import "date-fns/format";
22
+ import "date-fns/isBefore";
23
+ import "date-fns/isSameMonth";
24
+ import "date-fns/startOfMonth";
25
+ import "date-fns/startOfToday";
26
+ import "date-fns/subMonths";
27
+ import "@mui/material/Paper";
28
+ import "@mui/icons-material/KeyboardArrowLeftRounded";
29
+ import "@mui/icons-material/KeyboardArrowRightRounded";
30
+ import "date-fns/isSameDay";
31
+ import "date-fns/isWithinInterval";
32
+ import "d3";
33
+ import "@mui/material/styles";
34
+ import "@mui/x-charts";
35
+ import "@mui/material/Stack";
36
+ import "@mui/material";
37
+ import "date-fns/addYears";
38
+ import "date-fns/differenceInCalendarDays";
39
+ import "date-fns/endOfToday";
40
+ import "date-fns/endOfYear";
41
+ import "date-fns/startOfYear";
42
+ import "date-fns/subDays";
43
+ import "date-fns/subYears";
44
+ import "@mui/material/ButtonGroup";
45
+ import "@mui/material/Tab";
46
+ import "@mui/material/Tabs";
47
+ import "@mui/material/ToggleButton";
48
+ import "@mui/material/ToggleButtonGroup";
49
+ import "@mui/material/Dialog";
50
+ import "@mui/material/DialogContent";
51
+ import "@mui/icons-material/ArrowBackOutlined";
52
+ import "@mui/material/Card";
53
+ import "@mui/material/CardHeader";
54
+ import "@mui/material/CardContent";
55
+ import "uuid";
56
+ import "numeral";
57
+ import "@mui/material/CircularProgress";
58
+ import "@mui/material/FormControlLabel";
59
+ import "@mui/material/Radio";
60
+ import "@mui/material/Avatar";
61
+ import "@mui/material/ListItem";
62
+ import "@mui/material/ListItemAvatar";
63
+ import "@mui/material/ListItemButton";
64
+ import "@mui/material/ListItemText";
65
+ import "@mui/material/ListItemIcon";
66
+ import "mobx";
67
+ import "date-fns/differenceInDays";
68
+ import "date-fns/fromUnixTime";
69
+ import "@mui/x-data-grid-pro";
70
+ import "date-fns";
71
+ import "date-fns/getMonth";
72
+ import "date-fns/isAfter";
73
+ import "date-fns/addQuarters";
74
+ import "date-fns/addWeeks";
75
+ import "date-fns/nextDay";
76
+ import "date-fns/parseISO";
77
+ import "date-fns/setDate";
78
+ import "date-fns/subWeeks";
79
+ import "date-fns/getDay";
80
+ import "date-fns/formatISO";
81
+ class kt {
82
+ fetchInstance;
83
+ constructor(t, r) {
84
+ this.fetchInstance = new m(t, r);
85
+ }
86
+ getBeats = async (t, r) => {
87
+ const i = `page=${t || 1}&per_page=${r || 5}`;
88
+ return this.fetchInstance.get(`${o.BEATS}?${i}`).then((p) => p.beats);
89
+ };
90
+ getBeatsWithAssociatedTransaction = async (t) => {
91
+ let r = "has_associated_transaction_guid=true";
92
+ return r += t ? `&from_date=${t}` : "", this.fetchInstance.get(`${o.BEATS}?${r}`).then((i) => i.beats);
93
+ };
94
+ updateBeat = async (t) => this.fetchInstance.put(`${o.BEATS}/${t.guid}`, t).then((r) => r.beat);
95
+ }
96
+ export {
97
+ kt as B
98
+ };
99
+ //# sourceMappingURL=BeatApi-BxXgbSJY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BeatApi-BxXgbSJY.mjs","sources":["../src/common/api/BeatApi.ts"],"sourcesContent":["import Fetch from '../utils/Fetch'\n\nimport { ApiEndpoints } from '../constants'\n\nimport type { Beat } from '../types'\n\nexport class BeatApi {\n fetchInstance: Fetch\n\n constructor(endpoint: string, token: string) {\n this.fetchInstance = new Fetch(endpoint, token)\n }\n\n getBeats = async (pageNum?: number, perPage?: number) => {\n const beatParams = `page=${pageNum ? pageNum : 1}&per_page=${perPage ? perPage : 5}`\n\n return this.fetchInstance.get(`${ApiEndpoints.BEATS}?${beatParams}`).then((data) => data.beats)\n }\n\n getBeatsWithAssociatedTransaction = async (fromDate?: string) => {\n let beatParams = 'has_associated_transaction_guid=true'\n beatParams += fromDate ? `&from_date=${fromDate}` : ''\n\n return this.fetchInstance.get(`${ApiEndpoints.BEATS}?${beatParams}`).then((data) => data.beats)\n }\n\n updateBeat = async (beat: Beat) => {\n return this.fetchInstance\n .put(`${ApiEndpoints.BEATS}/${beat.guid}`, beat)\n .then((data) => data.beat)\n }\n}\n"],"names":["BeatApi","endpoint","token","Fetch","pageNum","perPage","beatParams","ApiEndpoints","data","fromDate","beat"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAMA,GAAQ;AAAA,EACnB;AAAA,EAEA,YAAYC,GAAkBC,GAAe;AAC3C,SAAK,gBAAgB,IAAIC,EAAMF,GAAUC,CAAK;AAAA,EAChD;AAAA,EAEA,WAAW,OAAOE,GAAkBC,MAAqB;AACjD,UAAAC,IAAa,QAAQF,KAAoB,CAAC,aAAaC,KAAoB,CAAC;AAElF,WAAO,KAAK,cAAc,IAAI,GAAGE,EAAa,KAAK,IAAID,CAAU,EAAE,EAAE,KAAK,CAACE,MAASA,EAAK,KAAK;AAAA,EAAA;AAAA,EAGhG,oCAAoC,OAAOC,MAAsB;AAC/D,QAAIH,IAAa;AACH,WAAAA,KAAAG,IAAW,cAAcA,CAAQ,KAAK,IAE7C,KAAK,cAAc,IAAI,GAAGF,EAAa,KAAK,IAAID,CAAU,EAAE,EAAE,KAAK,CAACE,MAASA,EAAK,KAAK;AAAA,EAAA;AAAA,EAGhG,aAAa,OAAOE,MACX,KAAK,cACT,IAAI,GAAGH,EAAa,KAAK,IAAIG,EAAK,IAAI,IAAIA,CAAI,EAC9C,KAAK,CAACF,MAASA,EAAK,IAAI;AAE/B;"}
@@ -0,0 +1,208 @@
1
+ import { jsxs as g, jsx as u } from "react/jsx-runtime";
2
+ import d from "@mui/material/Box";
3
+ import h from "@mui/material/styles/useTheme";
4
+ import "date-fns/intlFormat";
5
+ import "date-fns/getUnixTime";
6
+ import "bowser";
7
+ import "react";
8
+ import "@honeybadger-io/react";
9
+ import "@mui/material/Button";
10
+ import "@kyper/mui";
11
+ import "@mui/material/Tooltip";
12
+ import "@mui/material/IconButton";
13
+ import { a5 as x, a6 as l, a7 as f } from "./ConnectMiniWidget-Ep65CtHH.mjs";
14
+ import "@mui/material/useMediaQuery";
15
+ import "@mxenabled/cssinjs";
16
+ import "date-fns/addDays";
17
+ import "date-fns/addMonths";
18
+ import "date-fns/eachDayOfInterval";
19
+ import "date-fns/eachWeekOfInterval";
20
+ import "date-fns/endOfMonth";
21
+ import "date-fns/format";
22
+ import "date-fns/isBefore";
23
+ import "date-fns/isSameMonth";
24
+ import "date-fns/startOfMonth";
25
+ import "date-fns/startOfToday";
26
+ import "date-fns/subMonths";
27
+ import "@mui/material/Paper";
28
+ import "@mui/icons-material/KeyboardArrowLeftRounded";
29
+ import "@mui/icons-material/KeyboardArrowRightRounded";
30
+ import "date-fns/isSameDay";
31
+ import "date-fns/isWithinInterval";
32
+ import "d3";
33
+ import "@mui/material/styles";
34
+ import "@mui/x-charts";
35
+ import "@mui/material/Stack";
36
+ import "@mui/material";
37
+ import "date-fns/addYears";
38
+ import "date-fns/differenceInCalendarDays";
39
+ import "date-fns/endOfToday";
40
+ import "date-fns/endOfYear";
41
+ import "date-fns/startOfYear";
42
+ import "date-fns/subDays";
43
+ import "date-fns/subYears";
44
+ import "@mui/material/ButtonGroup";
45
+ import "@mui/material/Tab";
46
+ import "@mui/material/Tabs";
47
+ import "@mui/material/ToggleButton";
48
+ import "@mui/material/ToggleButtonGroup";
49
+ import "@mui/material/Dialog";
50
+ import "@mui/material/DialogContent";
51
+ import "@mui/icons-material/ArrowBackOutlined";
52
+ import "@mui/material/Card";
53
+ import "@mui/material/CardHeader";
54
+ import "@mui/material/CardContent";
55
+ import "uuid";
56
+ import "numeral";
57
+ import "@mui/material/CircularProgress";
58
+ import "@mui/material/FormControlLabel";
59
+ import "@mui/material/Radio";
60
+ import "@mui/material/Avatar";
61
+ import "@mui/material/ListItem";
62
+ import "@mui/material/ListItemAvatar";
63
+ import "@mui/material/ListItemButton";
64
+ import "@mui/material/ListItemText";
65
+ import "@mui/material/ListItemIcon";
66
+ import "mobx";
67
+ import "date-fns/differenceInDays";
68
+ import "date-fns/fromUnixTime";
69
+ import "@mui/x-data-grid-pro";
70
+ import "date-fns";
71
+ import "date-fns/getMonth";
72
+ import "date-fns/isAfter";
73
+ import "date-fns/addQuarters";
74
+ import "date-fns/addWeeks";
75
+ import "date-fns/nextDay";
76
+ import "date-fns/parseISO";
77
+ import "date-fns/setDate";
78
+ import "date-fns/subWeeks";
79
+ import "date-fns/getDay";
80
+ import "date-fns/formatISO";
81
+ import { g as D, a as S } from "./Categories-XVFviD23.mjs";
82
+ const C = 48, T = 4, zt = ({
83
+ color: o = "",
84
+ percent: r = 0,
85
+ size: t = C,
86
+ strokeWidth: i = T,
87
+ children: c
88
+ }) => {
89
+ const n = h(), e = (t - i) / 2, m = -90, p = r > 100 ? 100 : r, a = 2 * Math.PI * e * (1 - p / 100), s = t / 2;
90
+ return /* @__PURE__ */ g(
91
+ d,
92
+ {
93
+ className: "mx-cmn-single-segment-donut",
94
+ height: t,
95
+ mt: -8,
96
+ position: "relative",
97
+ width: t,
98
+ children: [
99
+ /* @__PURE__ */ g("svg", { height: t, width: t, children: [
100
+ /* @__PURE__ */ u(
101
+ "circle",
102
+ {
103
+ cx: s,
104
+ cy: s,
105
+ fill: "none",
106
+ r: e,
107
+ stroke: n.palette.grey[300],
108
+ strokeWidth: i
109
+ }
110
+ ),
111
+ /* @__PURE__ */ u(
112
+ "circle",
113
+ {
114
+ cx: s,
115
+ cy: s,
116
+ fill: "none",
117
+ r: e,
118
+ stroke: o,
119
+ strokeDasharray: 2 * Math.PI * e,
120
+ strokeDashoffset: a,
121
+ strokeWidth: i,
122
+ transform: `rotate(${m}, ${s}, ${s})`
123
+ }
124
+ )
125
+ ] }),
126
+ /* @__PURE__ */ u(
127
+ d,
128
+ {
129
+ className: "mx-cmn-single-segment-donut-children",
130
+ left: "50%",
131
+ position: "absolute",
132
+ sx: { transform: "translate(-50%, -50%)" },
133
+ textAlign: "center",
134
+ top: "50%",
135
+ children: c
136
+ }
137
+ )
138
+ ]
139
+ }
140
+ );
141
+ }, b = (o, r) => !o && !r ? 0 : !o && r ? 101 : r / o * 100, _ = (o, r) => {
142
+ const t = {
143
+ background: r.palette.success.main,
144
+ description: o <= 100 ? r.palette.text.secondary : r.palette.error.main,
145
+ text: r.palette.common.white,
146
+ mercury: r.palette.success.lighter
147
+ };
148
+ return o > 100 ? (t.background = r.palette.error.main, t.mercury = r.palette.error.lighter) : o > 80 && (t.background = r.palette.warning.main, t.text = r.palette.grey[900], t.mercury = r.palette.warning.lighter), t;
149
+ }, tr = () => {
150
+ const { budgets: o } = x();
151
+ return o.map((t) => {
152
+ const i = t.transaction_total;
153
+ return t.amount - i;
154
+ }).reduce((t, i) => t + i, 0);
155
+ }, rr = (o, r, t, i) => {
156
+ const c = [];
157
+ for (const n of o) {
158
+ const e = D(r, n.category_guid);
159
+ if (!e) continue;
160
+ const m = e.totalAmount, p = b(n.amount, m), a = n.amount - m;
161
+ c.push({
162
+ ...n,
163
+ budgetColors: _(p, i),
164
+ category: e,
165
+ description: l(
166
+ a < 0 ? t.budget_remaining_over : t.budget_remaining_left,
167
+ f(Math.abs(a), "0,0")
168
+ ),
169
+ percentage: p,
170
+ subBudgets: [],
171
+ transaction_total: m
172
+ });
173
+ }
174
+ for (const n of o) {
175
+ const e = S(r, n.category_guid);
176
+ if (!e) continue;
177
+ const m = e.currentAmount, p = c.find((B) => B.category_guid === e.parent_guid);
178
+ if (!p) continue;
179
+ const a = n.amount - m, s = b(n.amount, m);
180
+ p && p.subBudgets.push({
181
+ ...n,
182
+ budgetColors: _(s, i),
183
+ category: e,
184
+ description: l(
185
+ a < 0 ? t.budget_remaining_over : t.budget_remaining_left,
186
+ f(Math.abs(a), "0,0")
187
+ ),
188
+ percentage: s,
189
+ subBudgets: [],
190
+ transaction_total: m
191
+ });
192
+ }
193
+ return c;
194
+ }, y = (o, r) => o.find((t) => t.guid === r), or = (o, r, t) => {
195
+ const i = y(o, t);
196
+ if (i)
197
+ return y(i.subBudgets, r);
198
+ };
199
+ export {
200
+ C as D,
201
+ zt as S,
202
+ T as a,
203
+ or as b,
204
+ rr as c,
205
+ y as f,
206
+ tr as u
207
+ };
208
+ //# sourceMappingURL=BudgetUtil-BSn9Zr71.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BudgetUtil-BSn9Zr71.mjs","sources":["../src/common/constants/Donut.ts","../src/common/components/donuts/SingleSegmentDonut.tsx","../src/budgets/utils/BudgetUtil.ts"],"sourcesContent":["export const DEFAULT_DONUT_SIZE = 48\nexport const DEFAULT_STROKE_WIDTH = 4\n","import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport useTheme from '@mui/material/styles/useTheme'\n\nimport { DEFAULT_DONUT_SIZE, DEFAULT_STROKE_WIDTH } from '../../constants'\n\nexport interface SingleSegmentDonutProps {\n children: React.ReactNode\n color: string\n percent: number\n size?: number\n strokeWidth?: number\n}\n\nconst SingleSegmentDonut: React.FC<SingleSegmentDonutProps> = ({\n color = '',\n percent = 0,\n size = DEFAULT_DONUT_SIZE,\n strokeWidth = DEFAULT_STROKE_WIDTH,\n children,\n}) => {\n const theme = useTheme()\n\n const radius = (size - strokeWidth) / 2\n const offset = -90\n const limitedPercent = percent > 100 ? 100 : percent\n const length = 2 * Math.PI * radius * (1 - limitedPercent / 100)\n const halfSize = size / 2\n\n return (\n <Box\n className=\"mx-cmn-single-segment-donut\"\n height={size}\n mt={-8}\n position=\"relative\"\n width={size}\n >\n <svg height={size} width={size}>\n <circle\n cx={halfSize}\n cy={halfSize}\n fill=\"none\"\n r={radius}\n stroke={theme.palette.grey[300]}\n strokeWidth={strokeWidth}\n />\n\n <circle\n cx={halfSize}\n cy={halfSize}\n fill=\"none\"\n r={radius}\n stroke={color}\n strokeDasharray={2 * Math.PI * radius}\n strokeDashoffset={length}\n strokeWidth={strokeWidth}\n transform={`rotate(${offset}, ${halfSize}, ${halfSize})`}\n />\n </svg>\n <Box\n className=\"mx-cmn-single-segment-donut-children\"\n left=\"50%\"\n position=\"absolute\"\n sx={{ transform: 'translate(-50%, -50%)' }}\n textAlign=\"center\"\n top=\"50%\"\n >\n {children}\n </Box>\n </Box>\n )\n}\n\nexport default SingleSegmentDonut\n","import type { Theme } from '@mui/system'\n\nimport {\n type Budget,\n type BudgetColors,\n type BudgetsCopy,\n type DetailedCategory,\n type DetailedBudget,\n buildDynamicCopy,\n formatCurrency,\n getDetailedCategory,\n getDetailedSubCategory,\n useBudgetsStore,\n} from '../../common'\n\nexport const getBudgetPercentage = (budgetAmount: number, totalAmount: number) => {\n // No budget amount and nothing spent results in zero percent and green bubble\n if (!budgetAmount && !totalAmount) {\n return 0\n }\n\n // No budget amount and money spent results in 101 percent and red bubble\n if (!budgetAmount && totalAmount) {\n return 101\n }\n\n // Budget amount and money spent results in calculating percentage for color\n return (totalAmount / budgetAmount) * 100\n}\n\nexport const getBudgetColors = (percentage: number, theme: Theme) => {\n const budgetColors: BudgetColors = {\n background: theme.palette.success.main,\n description: percentage <= 100 ? theme.palette.text.secondary : theme.palette.error.main,\n text: theme.palette.common.white,\n mercury: theme.palette.success.lighter,\n }\n\n if (percentage > 100) {\n budgetColors.background = theme.palette.error.main\n budgetColors.mercury = theme.palette.error.lighter\n } else if (percentage > 80) {\n budgetColors.background = theme.palette.warning.main\n budgetColors.text = theme.palette.grey['900']\n budgetColors.mercury = theme.palette.warning.lighter\n }\n\n return budgetColors\n}\n\nexport const useGetBudgetDifference = () => {\n const { budgets } = useBudgetsStore()\n\n const differences = budgets.map((budget) => {\n const currentAmount = budget.transaction_total\n const totalAmount = budget.amount\n return totalAmount - currentAmount\n })\n\n return differences.reduce((total, difference) => total + difference, 0)\n}\n\nexport const augmentBudgets = (\n budgets: Budget[],\n categories: DetailedCategory[],\n copy: BudgetsCopy,\n theme: Theme,\n): DetailedBudget[] => {\n const detailedBudgets = [] as DetailedBudget[]\n\n // Top-level Categories\n for (const budget of budgets) {\n const category = getDetailedCategory(categories, budget.category_guid)\n if (!category) continue\n\n const spent = category.totalAmount\n\n const percentage = getBudgetPercentage(budget.amount, spent)\n const difference = budget.amount - spent\n\n detailedBudgets.push({\n ...budget,\n budgetColors: getBudgetColors(percentage, theme),\n category,\n description: buildDynamicCopy(\n difference < 0 ? copy.budget_remaining_over : copy.budget_remaining_left,\n formatCurrency(Math.abs(difference), '0,0'),\n ) as string,\n percentage,\n subBudgets: [],\n transaction_total: spent,\n })\n }\n\n // Sub categories\n for (const budget of budgets) {\n const category = getDetailedSubCategory(categories, budget.category_guid)\n if (!category) continue\n\n const spent = category.currentAmount\n\n const parentBudget = detailedBudgets.find((b) => b.category_guid === category.parent_guid)\n if (!parentBudget) continue\n\n const difference = budget.amount - spent\n const percentage = getBudgetPercentage(budget.amount, spent)\n\n if (parentBudget) {\n parentBudget.subBudgets.push({\n ...budget,\n budgetColors: getBudgetColors(percentage, theme),\n category,\n description: buildDynamicCopy(\n difference < 0 ? copy.budget_remaining_over : copy.budget_remaining_left,\n formatCurrency(Math.abs(difference), '0,0'),\n ) as string,\n percentage,\n subBudgets: [],\n transaction_total: spent,\n })\n }\n }\n\n return detailedBudgets\n}\n\nexport const findBudget = (budgets: DetailedBudget[], guid: string): DetailedBudget | undefined => {\n return budgets.find((budget) => budget.guid === guid)\n}\n\nexport const findSubBudget = (\n budgets: DetailedBudget[],\n guid: string,\n parentGuid: string,\n): DetailedBudget | undefined => {\n const parent = findBudget(budgets, parentGuid)\n if (!parent) return undefined\n\n return findBudget(parent.subBudgets, guid)\n}\n"],"names":["DEFAULT_DONUT_SIZE","DEFAULT_STROKE_WIDTH","SingleSegmentDonut","color","percent","size","strokeWidth","children","theme","useTheme","radius","offset","limitedPercent","length","halfSize","jsxs","Box","jsx","getBudgetPercentage","budgetAmount","totalAmount","getBudgetColors","percentage","budgetColors","useGetBudgetDifference","budgets","useBudgetsStore","budget","currentAmount","total","difference","augmentBudgets","categories","copy","detailedBudgets","category","getDetailedCategory","spent","buildDynamicCopy","formatCurrency","getDetailedSubCategory","parentBudget","b","findBudget","guid","findSubBudget","parentGuid","parent"],"mappings":"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"}