@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,10 +0,0 @@
1
- export interface TrendsCopy {
2
- all_categories: string
3
- income_label: string
4
- mini_title: string
5
- payments_label: string
6
- primary_cta: string
7
- spending_label: string
8
- sub_title: string
9
- title: string
10
- }
@@ -1,19 +0,0 @@
1
- export type { AccountFilterCopy } from './AccountFilterCopy'
2
- export type { AccountsCopy } from './AccountsCopy'
3
- export type { AccountTypeCopy } from './AccountTypeCopy'
4
- export type { BudgetsCopy } from './BudgetsCopy'
5
- export type { CashflowCopy } from './CashflowCopy'
6
- export type { CategoryCopy } from './CategoryCopy'
7
- export type { CommonCopy } from './CommonCopy'
8
- export type { ConnectCopy } from './ConnectCopy'
9
- export type { CurrencyInputCopy } from './CurrencyInputCopy'
10
- export type { DateRangePickerCopy } from './DateRangePickerCopy'
11
- export type { GoalsCopy } from './GoalsCopy'
12
- export type { InsightsFeedCopy } from './InsightsFeedCopy'
13
- export type { MicroInsightsCopy } from './MicroInsightsCopy'
14
- export type { NetWorthCopy } from './NetWorthCopy'
15
- export type { NotificationsCopy } from './NotificationsCopy'
16
- export type { RecurringCopy } from './RecurringCopy'
17
- export type { SpendingCopy } from './SpendingCopy'
18
- export type { TransactionsCopy } from './TransactionsCopy'
19
- export type { TrendsCopy } from './TrendsCopy'
@@ -1,45 +0,0 @@
1
- import { AccountTypeName } from '../'
2
-
3
- import type { Account } from '../types'
4
-
5
- export interface MappedAccounts {
6
- [key: string]: MappedAccount[]
7
- }
8
-
9
- export interface MappedAccount {
10
- accountNumber: string
11
- name: string
12
- guid: string
13
- }
14
-
15
- export interface MappedOptions {
16
- [key: string]: boolean
17
- }
18
-
19
- // Sets up the collection of selected account guids into a mapped object
20
- export const setupMappedSelectedOptions = (accounts: Account[], selectedAccountGuids: string[]) => {
21
- return accounts.reduce((accumulator: MappedOptions, account) => {
22
- accumulator[account.guid] = selectedAccountGuids?.includes(account.guid)
23
- return accumulator
24
- }, {})
25
- }
26
-
27
- // Creates a mapped collection of accounts that are grouped together by the account type
28
- export const setupMappedAccounts = (accounts: Account[]) => {
29
- return accounts.reduce((accumulator: MappedAccounts, account) => {
30
- const accountType = AccountTypeName[account.account_type]
31
- const newAccount = {
32
- accountNumber: account.account_number,
33
- name: account.name || account.feed_name,
34
- guid: account.guid,
35
- } as MappedAccount
36
-
37
- if (Object.prototype.hasOwnProperty.call(accumulator, accountType)) {
38
- accumulator[accountType] = accumulator[accountType].concat(newAccount)
39
- } else {
40
- accumulator[accountType] = [newAccount]
41
- }
42
-
43
- return accumulator
44
- }, {})
45
- }
@@ -1,51 +0,0 @@
1
- import { getUnixTime } from 'date-fns/getUnixTime'
2
-
3
- import { AnalyticsApi } from '../api'
4
- import { BasicAnalyticsEvent, AnalyticsSession, BasicAnalyticsPageview } from '../types'
5
-
6
- export const analyticsSession = async (
7
- endpoint: string,
8
- token: string,
9
- version = '1.0.0',
10
- featureName = 'Experiences',
11
- ) => {
12
- const analyticsApi = new AnalyticsApi(endpoint, token)
13
- const { analytics_session } = (await analyticsApi.initializeAnalyticsSession(
14
- version,
15
- featureName,
16
- )) as {
17
- analytics_session: AnalyticsSession
18
- }
19
-
20
- const host = window.location.hostname
21
-
22
- return {
23
- sendAnalyticEvent: async (event: BasicAnalyticsEvent) => {
24
- return await analyticsApi.sendAnalyticEvent({
25
- analytics_event: {
26
- ...event,
27
- app_version: 'widgets-v2',
28
- created_at: getUnixTime(new Date()).toString(),
29
- host,
30
- name: event?.label || '',
31
- session_id: analytics_session.guid,
32
- user_agent: navigator.userAgent || '',
33
- version: 2,
34
- },
35
- })
36
- },
37
- sendAnalyticsPageview: async (pageview: BasicAnalyticsPageview) => {
38
- return await analyticsApi.sendAnalyticsPageview({
39
- analytics_pageview: {
40
- ...pageview,
41
- app_version: 'widgets-v2',
42
- created_at: getUnixTime(new Date()).toString(),
43
- host,
44
- name: pageview.name,
45
- session_id: analytics_session.guid,
46
- user_agent: navigator.userAgent || '',
47
- },
48
- })
49
- },
50
- }
51
- }
@@ -1,75 +0,0 @@
1
- import type { Category, CategoryTotal, DateRangeCategoryTotals, DetailedCategory } from '../types'
2
- import { CategoryGuids } from '../constants'
3
-
4
- export const getCategory = (
5
- categories: Category[],
6
- categoryGuid: string | undefined,
7
- ): Category | undefined => {
8
- return categories.find((c) => c.guid === categoryGuid)
9
- }
10
-
11
- export const getDetailedCategory = (
12
- detailedCategories: DetailedCategory[],
13
- guid: string | undefined,
14
- ): DetailedCategory | undefined => {
15
- return detailedCategories.find((dc) => dc.guid === guid)
16
- }
17
-
18
- export const getDetailedSubCategory = (
19
- detailedCategories: DetailedCategory[],
20
- guid: string | undefined,
21
- ): DetailedCategory | undefined => {
22
- const parent = detailedCategories.find((dc) => dc.subCategories.find((sc) => sc.guid === guid))
23
- if (!parent) return undefined
24
-
25
- return parent.subCategories.find((sc) => sc.guid === guid)
26
- }
27
-
28
- export const getCategoryTotalsByParent = (
29
- categories: Category[],
30
- dateRangeTotals: DateRangeCategoryTotals[],
31
- ): CategoryTotal[] => {
32
- const categoryTotals = [] as CategoryTotal[]
33
-
34
- // Iterate over the category data from BE and roll up all categories into parent categories
35
- // acc is the accumulated category totals of type CategoryTotal that is initialized as an empty []
36
- // curr is the current DateRangeCategoryTotal
37
-
38
- for (const dateRangeTotal of dateRangeTotals) {
39
- const category = getCategory(categories, dateRangeTotal.category_guid)
40
- if (!category) continue
41
-
42
- const parentGuid = category.parent_guid ?? category.guid
43
- const parentCategory = getCategory(categories, parentGuid)
44
- if (!parentCategory) continue
45
-
46
- const categoryTotal = {
47
- amount: dateRangeTotal.total,
48
- category,
49
- guid: category.guid,
50
- subCategoryTotals: [],
51
- }
52
-
53
- const parentCategoryTotal = categoryTotals.find((ct) => ct.guid === parentGuid)
54
- if (parentCategoryTotal) {
55
- parentCategoryTotal.amount += dateRangeTotal.total
56
- parentCategoryTotal.subCategoryTotals.push(categoryTotal)
57
- } else {
58
- categoryTotals.push({
59
- amount: dateRangeTotal.total,
60
- category: parentCategory,
61
- guid: parentGuid,
62
- subCategoryTotals: [categoryTotal],
63
- })
64
- }
65
- }
66
-
67
- return categoryTotals
68
- }
69
-
70
- export const isIncome = (categories: Category[], guid: string) => {
71
- const category = categories.find((c) => c.guid === guid)
72
- if (!category) return false
73
-
74
- return category.guid === CategoryGuids.INCOME || category.parent_guid === CategoryGuids.INCOME
75
- }
@@ -1,67 +0,0 @@
1
- import { addMonths } from 'date-fns/addMonths'
2
- import { addQuarters } from 'date-fns/addQuarters'
3
- import { addWeeks } from 'date-fns/addWeeks'
4
- import { addYears } from 'date-fns/addYears'
5
- import { getDay } from 'date-fns/getDay'
6
- import { isBefore } from 'date-fns/isBefore'
7
- import { nextDay } from 'date-fns/nextDay'
8
- import { setDate } from 'date-fns/setDate'
9
- import { startOfToday } from 'date-fns/startOfToday'
10
- import { fromUnixTime } from 'date-fns/fromUnixTime'
11
- import { type Day } from 'date-fns/types'
12
- import { DATE_FORMATS_INTL, formatDate } from '../constants'
13
-
14
- export const getNextWeeklyDate = (date: Date): Date => {
15
- const dayOfWeek = getDay(date)
16
- let nextDate = nextDay(date, dayOfWeek as Day)
17
- while (isBefore(nextDate, startOfToday())) {
18
- nextDate = addWeeks(nextDate, 1)
19
- }
20
- return nextDate
21
- }
22
-
23
- export const getNextBiWeeklyDate = (date: Date): Date => {
24
- const nextWeeklyday = getNextWeeklyDate(date)
25
- return addWeeks(nextWeeklyday, 1)
26
- }
27
-
28
- export const getNextMonthlyDate = (date: Date): Date => {
29
- let nextDate = setDate(startOfToday(), date.getDate())
30
- while (isBefore(nextDate, startOfToday())) {
31
- nextDate = addMonths(nextDate, 1)
32
- }
33
- return nextDate
34
- }
35
-
36
- export const getNextBiMonthlyDate = (date: Date): Date => {
37
- const nextMonthlyDate = getNextWeeklyDate(date)
38
- return addMonths(nextMonthlyDate, 1)
39
- }
40
-
41
- export const getNextQuarterlyDate = (date: Date): Date => {
42
- let nextDate = addQuarters(date, 1)
43
- while (isBefore(nextDate, startOfToday())) {
44
- nextDate = addQuarters(nextDate, 1)
45
- }
46
- return nextDate
47
- }
48
-
49
- export const getNextBiQuarterlyDate = (date: Date): Date => {
50
- const nextQuarterlyDate = getNextQuarterlyDate(date)
51
- return addQuarters(nextQuarterlyDate, 1)
52
- }
53
-
54
- export const getNextYearlyDate = (date: Date): Date => {
55
- return addYears(date, 1)
56
- }
57
-
58
- export const fromUnixUTC = (utcTime: number) => {
59
- const date = fromUnixTime(utcTime)
60
- return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate())
61
- }
62
-
63
- export const fromUnixToDayOfWeekAndDate = (date: number) =>
64
- formatDate(fromUnixTime(date), DATE_FORMATS_INTL.DAY_OF_WEEK_MONTH_DAY)
65
-
66
- export const fromTimestampToMonthYear = (timestamp?: number) =>
67
- timestamp ? formatDate(fromUnixTime(timestamp), DATE_FORMATS_INTL.MONTH_YEAR) : ''
@@ -1,115 +0,0 @@
1
- import { getLocale } from './Localization'
2
- import { Honeybadger } from '@honeybadger-io/react'
3
-
4
- export class Fetch {
5
- endpoint = '/'
6
- headers = {}
7
-
8
- constructor(endpoint: string, token: string) {
9
- this.endpoint = endpoint
10
- this.headers = {
11
- Accept: 'application/json',
12
- 'Accept-Language': getLocale(),
13
- 'Content-Type': 'application/json',
14
- 'MD-Session-Token': token,
15
- }
16
- }
17
-
18
- get = async (url: string) => {
19
- const options = {
20
- method: 'GET',
21
- headers: this.headers,
22
- }
23
-
24
- return fetch(`${this.endpoint}${url}`, options)
25
- .then((response) => {
26
- if (response.ok) {
27
- return response.text()
28
- } else {
29
- throw response
30
- }
31
- })
32
- .then((text) => (text.length ? JSON.parse(text) : {}))
33
- .then((data) => data)
34
- .catch((err) => {
35
- Honeybadger.notify(err)
36
- throw err
37
- })
38
- }
39
-
40
- post = async (url: string, data?: any) => {
41
- const body = data ? JSON.stringify(data) : undefined
42
- const options = {
43
- method: 'POST',
44
- headers: this.headers,
45
- body,
46
- }
47
-
48
- return fetch(`${this.endpoint}${url}`, options)
49
- .then((response) => {
50
- if (!response.ok) {
51
- throw response
52
- }
53
-
54
- return response.text()
55
- })
56
- .then((text) => (text.length ? JSON.parse(text) : {}))
57
- .then((data) => data)
58
- .catch((error) => {
59
- Honeybadger.notify(error)
60
- throw error
61
- })
62
- }
63
-
64
- put = async (url: string, data: any) => {
65
- const body = JSON.stringify(data)
66
- const options = {
67
- method: 'PUT',
68
- headers: this.headers,
69
- body,
70
- }
71
-
72
- return fetch(`${this.endpoint}${url}`, options)
73
- .then((response) => {
74
- if (response.ok) {
75
- return response.text()
76
- } else {
77
- return response.text().then((text) => {
78
- throw new Error(text)
79
- })
80
- }
81
- })
82
- .then((text) => (text.length ? JSON.parse(text) : {}))
83
- .then((data) => data)
84
- .catch((err) => {
85
- Honeybadger.notify(err)
86
- throw err
87
- })
88
- }
89
-
90
- delete = async (url: string) => {
91
- const options = {
92
- method: 'DELETE',
93
- headers: this.headers,
94
- }
95
-
96
- return fetch(`${this.endpoint}${url}`, options)
97
- .then((response) => {
98
- if (response.ok) {
99
- return response.text()
100
- } else {
101
- return response.text().then((text) => {
102
- throw new Error(text)
103
- })
104
- }
105
- })
106
- .then((text) => (text.length ? JSON.parse(text) : {}))
107
- .then((data) => data)
108
- .catch((err) => {
109
- Honeybadger.notify(err)
110
- throw err
111
- })
112
- }
113
- }
114
-
115
- export default Fetch
@@ -1,67 +0,0 @@
1
- import React from 'react'
2
- import { DynamicCopyElement } from '../types'
3
-
4
- // matches a pattern like "static text _1{category_name} and _2{amount} more static text"
5
- const copyPattern = /(?<static>.*?)(?<dynamic>(?:_\d+{(?:.*?)}))|(?<staticEnd>.+)/g
6
-
7
- export const buildDynamicCopy = (str: string, ...args: DynamicCopyElement[]) => {
8
- if (!str) return ''
9
-
10
- const hasFormattedElement = args.some((arg) => typeof arg !== 'string')
11
-
12
- // finds all instances of matching pattern in given string
13
- const regexMatches = [...str.matchAll(copyPattern)]
14
- const matches = regexMatches.reduce(
15
- (acc: DynamicCopyElement[], match: RegExpMatchArray, matchIndex) => {
16
- const temp = [...acc]
17
- const groups = match.groups
18
- if (groups?.static) {
19
- temp.push(groups.static)
20
- }
21
-
22
- if (groups?.dynamic) {
23
- const curlyIndex = groups.dynamic.indexOf('{')
24
- const variableName = groups.dynamic.substring(curlyIndex + 1, groups.dynamic.length - 1)
25
- const index = Number(groups.dynamic.substring(1, curlyIndex))
26
- if (React.isValidElement(args[index - 1])) {
27
- const element = args[index - 1] as React.ReactElement
28
- const clonedElement = React.cloneElement(element, {
29
- key: `${variableName}-${matchIndex}`,
30
- })
31
- temp.push(clonedElement)
32
- } else {
33
- temp.push(args[index - 1])
34
- }
35
- }
36
-
37
- if (groups?.staticEnd) {
38
- temp.push(groups.staticEnd)
39
- }
40
-
41
- return temp
42
- },
43
- [],
44
- )
45
-
46
- return hasFormattedElement ? (matches as DynamicCopyElement[]) : (matches.join('') as string)
47
- }
48
-
49
- export const buildPluralCopy = (
50
- strOne: string,
51
- strMulti: string,
52
- count: number,
53
- ...args: DynamicCopyElement[]
54
- ) => {
55
- if (!strOne || !strMulti) return ''
56
- const str = count === 1 ? strOne : strMulti
57
-
58
- return buildDynamicCopy(str, ...args)
59
- }
60
-
61
- export const getLocale = () => {
62
- return (
63
- (window as any)?.app?.options?.language ||
64
- document.querySelector('html')?.getAttribute('lang') ||
65
- 'en-US'
66
- ).toLowerCase()
67
- }
@@ -1,65 +0,0 @@
1
- import numeral from 'numeral'
2
- import type { RoundingFunction } from 'numeral'
3
- import { getLocale } from './Localization'
4
- import { CurrencyCodes } from '../constants'
5
-
6
- // enhances numeral's localization functionality by puting the $ in the correct place
7
- export const formatCurrency = (
8
- amount: number | undefined,
9
- formatting: string,
10
- roundingFunction?: RoundingFunction,
11
- ) => {
12
- switch (getLocale()) {
13
- case 'fr-ca': {
14
- return numeral(amount).format(`${formatting} $`, roundingFunction)
15
- }
16
- default: {
17
- return numeral(amount).format(`$${formatting}`, roundingFunction)
18
- }
19
- }
20
- }
21
-
22
- export const getCurrencyCodes = () => {
23
- switch (getLocale()) {
24
- case 'fr-ca':
25
- return CurrencyCodes.CAD
26
- default:
27
- return CurrencyCodes.USD
28
- }
29
- }
30
-
31
- // will return `true` if value is a string number, like '99', which matches Serenity logic
32
- export const isValidNumber = (value: any) =>
33
- value !== undefined && value !== null && value !== '' && isFinite(value)
34
-
35
- const defaultPercentStyle = {
36
- style: 'percent',
37
- minimumFractionDigits: 2,
38
- maximumFractionDigits: 2,
39
- } as Intl.NumberFormatOptions
40
-
41
- export const formatPercentage = (
42
- amount: number | string | undefined,
43
- options: Intl.NumberFormatOptions = defaultPercentStyle,
44
- ) =>
45
- isValidNumber(amount)
46
- ? new Intl.NumberFormat(getLocale(), options).format(Number(amount))
47
- : amount
48
-
49
- export const getPluralRules = (options: Intl.PluralRulesOptions) =>
50
- new Intl.PluralRules(getLocale(), options)
51
-
52
- export const formatOrdinal = (
53
- number: number,
54
- options: Intl.PluralRulesOptions = { type: 'ordinal' },
55
- copy = {
56
- one: 'st',
57
- two: 'nd',
58
- few: 'rd',
59
- other: 'th',
60
- } as const,
61
- ) => {
62
- const rule = getPluralRules(options).select(number)
63
-
64
- return `${number}${copy[rule as keyof typeof copy]}`
65
- }
@@ -1,34 +0,0 @@
1
- // /* eslint-disable jest/no-conditional-expect */
2
- import Fetch from '../Fetch'
3
- import { beforeEach, describe, expect, it, vi } from 'vitest'
4
-
5
- describe('Fetch', () => {
6
- let instance: Fetch
7
-
8
- beforeEach(() => {
9
- instance = new Fetch('/', 'token')
10
- })
11
-
12
- describe('post()', () => {
13
- it('throws error', async () => {
14
- const spy = vi.spyOn(instance, 'post').mockRejectedValue((err: any) => err)
15
- return instance
16
- .post('/steph_rulez')
17
- .then((res) => res)
18
- .catch((err) => {
19
- expect(spy).toHaveBeenCalled()
20
- return err
21
- })
22
- })
23
- it('returns response', async () => {
24
- const spy = vi.spyOn(instance, 'post').mockResolvedValue((res: any) => res)
25
- return instance
26
- .post('/steph_rulez')
27
- .then((res) => {
28
- expect(spy).toHaveBeenCalled()
29
- return res
30
- })
31
- .catch((err) => err)
32
- })
33
- })
34
- })
@@ -1,18 +0,0 @@
1
- export { analyticsSession } from './Analytics'
2
- export {
3
- getCategory,
4
- getDetailedCategory,
5
- getDetailedSubCategory,
6
- getCategoryTotalsByParent,
7
- isIncome,
8
- } from './Categories'
9
- export { Fetch } from './Fetch'
10
- export { buildDynamicCopy, buildPluralCopy, getLocale } from './Localization'
11
- export {
12
- formatCurrency,
13
- formatOrdinal,
14
- formatPercentage,
15
- getCurrencyCodes,
16
- isValidNumber,
17
- } from './NumberFormatting'
18
- export { fromTimestampToMonthYear } from './DateUtil'
@@ -1,92 +0,0 @@
1
- import React from 'react'
2
- import { observer } from 'mobx-react-lite'
3
-
4
- import Grid from '@mui/material/Unstable_Grid2'
5
- import Skeleton from '@mui/material/Skeleton'
6
- import Stack from '@mui/material/Stack'
7
-
8
- import { useAccountStore, useGlobalStore, useGlobalUiStore, useScreenSize } from '../common'
9
- import { DashboardLocation } from './constants/Dashboard'
10
-
11
- import type { DashboardWidget } from './types/DashboardTypes'
12
- import Greeting from './Greeting'
13
-
14
- export interface DashboardProps {
15
- widgets: DashboardWidget[]
16
- isLoading: boolean
17
- }
18
-
19
- const Dashboard: React.FC<DashboardProps> = ({ widgets, isLoading }) => {
20
- const { isDesktop, isMobile } = useScreenSize()
21
- const { copyStore } = useGlobalStore()
22
- const { setSelectedAccounts } = useGlobalUiStore()
23
- const { accounts } = useAccountStore()
24
-
25
- React.useEffect(() => {
26
- setSelectedAccounts(accounts)
27
- }, [accounts])
28
-
29
- const sortedWidgets = React.useMemo(
30
- () => widgets.sort((w1, w2) => w1.index - w2.index),
31
- [widgets],
32
- )
33
-
34
- const mainWidgets = React.useMemo(
35
- () => sortedWidgets.filter((widget) => widget.location === DashboardLocation.Main),
36
- [widgets],
37
- )
38
-
39
- const sideWidgets = React.useMemo(
40
- () => sortedWidgets.filter((widget) => widget.location === DashboardLocation.RightSide),
41
- [widgets],
42
- )
43
-
44
- return (
45
- <Grid container={true} spacing={isMobile ? 0 : 24} sx={{ overflow: 'scroll' }}>
46
- <Grid xs={12}>{copyStore.isInitialized && <Greeting />}</Grid>
47
-
48
- {/* Main Column */}
49
- <Grid xl={8} xs={12}>
50
- {isLoading && (
51
- <Stack direction="column" spacing={24}>
52
- <Skeleton height={100} variant="rounded" width="100%" />
53
- <Skeleton height={300} variant="rounded" width="100%" />
54
- <Skeleton height={300} variant="rounded" width="100%" />
55
- </Stack>
56
- )}
57
- {!isLoading && (
58
- <Stack direction="column" spacing={24}>
59
- {isDesktop
60
- ? mainWidgets.map((widget) => (
61
- <React.Fragment key={widget.index}>{widget.component}</React.Fragment>
62
- ))
63
- : sortedWidgets.map((widget) => (
64
- <React.Fragment key={widget.index}>{widget.component}</React.Fragment>
65
- ))}
66
- </Stack>
67
- )}
68
- </Grid>
69
-
70
- {/* Right Column */}
71
- {isDesktop && (
72
- <Grid xl={4}>
73
- {isLoading ? (
74
- <Stack direction="column" spacing={24}>
75
- <Skeleton height={200} variant="rounded" width="100%" />
76
- <Skeleton height={100} variant="rounded" width="100%" />
77
- <Skeleton height={300} variant="rounded" width="100%" />
78
- </Stack>
79
- ) : (
80
- <Stack direction="column" spacing={24}>
81
- {sideWidgets.map((widget) => (
82
- <React.Fragment key={widget.index}>{widget.component}</React.Fragment>
83
- ))}
84
- </Stack>
85
- )}
86
- </Grid>
87
- )}
88
- </Grid>
89
- )
90
- }
91
-
92
- export default observer(Dashboard)