@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,82 +0,0 @@
1
- import React from 'react'
2
- import { arc, selectAll, interpolateString } from 'd3'
3
-
4
- import Box from '@mui/material/Box'
5
-
6
- const INNER_RADIUS = 100
7
- const OUT_RADIUS = 140
8
- const SELECTION_RADIUS = 10
9
-
10
- export interface DonutData {
11
- id: string
12
- label?: string
13
- color: string
14
- value: number
15
- }
16
-
17
- export interface DonutProps {
18
- data: DonutData[]
19
- onClick?: (id: string) => void
20
- selectedId?: string
21
- size?: number
22
- }
23
-
24
- const Donut: React.FC<React.PropsWithChildren<DonutProps>> = ({
25
- data,
26
- onClick,
27
- selectedId,
28
- size = 300,
29
- children,
30
- }) => {
31
- let offset = 0
32
-
33
- React.useEffect(() => {
34
- selectAll('.arc-outer')
35
- .transition('roll')
36
- .duration(500)
37
- .attrTween('transform', () => interpolateString('rotate(0)', 'rotate(360)'))
38
- }, [])
39
-
40
- return (
41
- <Box height={size} position="relative" width={size}>
42
- <Box height="100%" padding={size / 3.75} width="100%">
43
- {children}
44
- </Box>
45
- <svg
46
- height={size}
47
- style={{ position: 'absolute', top: 0, left: 0 }}
48
- viewBox={`-150 -150 300 300`}
49
- width={size}
50
- >
51
- <g>
52
- {data.map((item) => {
53
- const startAngle = offset
54
- offset = offset + 2 * Math.PI * (item.value / 100)
55
- const endAngle = offset
56
-
57
- const segment = arc().cornerRadius(4)({
58
- innerRadius: INNER_RADIUS,
59
- outerRadius: OUT_RADIUS + (item.id === selectedId ? SELECTION_RADIUS : 0),
60
- startAngle,
61
- endAngle,
62
- padAngle: 0.025,
63
- }) as string
64
-
65
- return (
66
- <path
67
- className="arc-outer"
68
- d={segment}
69
- fill={item.color}
70
- key={item.id}
71
- onClick={() => onClick?.(item.id)}
72
- style={{ cursor: 'pointer' }}
73
- />
74
- )
75
- })}
76
- </g>
77
- </svg>
78
- </Box>
79
- )
80
- }
81
-
82
- export default Donut
@@ -1,204 +0,0 @@
1
- import React, { CSSProperties } from 'react'
2
-
3
- import { useTheme } from '@mui/material/styles'
4
-
5
- import {
6
- AllSeriesType,
7
- AreaPlot,
8
- BarPlot,
9
- ChartsLegend,
10
- ChartsReferenceLine,
11
- ChartsXAxis,
12
- ChartsYAxis,
13
- LinePlot,
14
- MarkPlot,
15
- ResponsiveChartContainer,
16
- } from '@mui/x-charts'
17
-
18
- import { formatCurrency } from '../../utils'
19
-
20
- import { CustomMark, MarkHandlers } from './linechart/CustomMark'
21
- import { CustomLine } from './linechart/CustomLine'
22
- import CustomLegend from './linechart/CustomLegend'
23
-
24
- interface LineChartProps {
25
- baseline?: string
26
- // Because theme chart colors are typed string|undefined
27
- colors: (string | undefined)[]
28
- datasets: { x: string; y: number }[][]
29
- height?: number
30
- labels: string[]
31
- margin?: { top?: number; right?: number; bottom?: number; left?: number }
32
- markHandlers?: MarkHandlers
33
- markStyles?: (markIndex: number) => CSSProperties
34
- showArea?: boolean
35
- showAverage?: boolean
36
- showBars?: boolean
37
- showMarkLabel?: boolean
38
- useCustomMark?: boolean
39
- valueFormatterString?: string
40
- width?: number
41
- }
42
-
43
- export const LineChart: React.FC<LineChartProps> = ({
44
- baseline = 'max',
45
- colors,
46
- datasets,
47
- height,
48
- labels,
49
- margin,
50
- markHandlers,
51
- markStyles,
52
- showBars = false,
53
- showArea = false,
54
- showAverage = false,
55
- showMarkLabel = false,
56
- useCustomMark = false,
57
- valueFormatterString = '0,0',
58
- width,
59
- }) => {
60
- const theme = useTheme()
61
-
62
- // Data for the X axis
63
- const xData = datasets.flat().map((item) => item.x)
64
- const yData = datasets.flat().map((item) => item.y)
65
-
66
- const average = Math.round(yData.reduce((value, total) => total + value, 0) / yData.length)
67
-
68
- // Used for the min and max Y axis values
69
- const yMin = Math.floor(Math.min(...yData) / 100) * 100
70
- const yMax = Math.ceil(Math.max(...yData) / 100) * 100
71
-
72
- const series = datasets.map((data, index) => {
73
- return {
74
- type: showBars ? 'bar' : 'line',
75
- curve: 'linear',
76
- color: showBars ? theme.palette.chart?.chart6 : (colors[index] ?? theme.palette.primary.main),
77
- data: data.map((item) => item.y),
78
- area: showArea,
79
- baseline: baseline,
80
- showMark: true,
81
- label: labels[index],
82
- valueFormatter: (value: number) => formatCurrency(value || 0, valueFormatterString),
83
- }
84
- })
85
-
86
- return (
87
- <div style={{ position: 'relative' }}>
88
- <ResponsiveChartContainer
89
- height={height}
90
- margin={margin}
91
- series={series as AllSeriesType[]}
92
- sx={{
93
- p: 4,
94
- '& .MuiBarLabel-root': {
95
- fontSize: 10,
96
- fontWeight: 600,
97
- },
98
- '& .MuiAreaElement-root': {
99
- opacity: 0.15,
100
- },
101
- }}
102
- width={width}
103
- xAxis={[{ data: xData, scaleType: showBars ? 'band' : 'point' }]}
104
- yAxis={[
105
- {
106
- min: yMin,
107
- max: yMax || 100,
108
- colorMap: showArea
109
- ? {
110
- type: 'continuous',
111
- min: yMin,
112
- max: yMax,
113
- color: [theme.palette.background.paper, colors[0] ?? theme.palette.primary.main],
114
- }
115
- : undefined,
116
- valueFormatter: (value) => formatCurrency(value, valueFormatterString),
117
- },
118
- ]}
119
- >
120
- {/** Area plot provides gradiant below the line **/}
121
- {/* Note: Must be above the LinePlot for some style rules to work */}
122
- <AreaPlot />
123
-
124
- {/** Line plot provides the data line **/}
125
- <LinePlot
126
- slots={
127
- showArea && series.length < 2
128
- ? {
129
- line: (props) => (
130
- <CustomLine {...props} lineColor={colors[0] ?? theme.palette.primary.main} />
131
- ),
132
- }
133
- : undefined
134
- }
135
- />
136
-
137
- {/** Mark plot provides the circles **/}
138
- <MarkPlot
139
- slots={
140
- useCustomMark
141
- ? {
142
- mark: (props) => {
143
- return (
144
- <CustomMark
145
- handlers={markHandlers}
146
- showLabel={showMarkLabel}
147
- style={markStyles?.(props.dataIndex) ?? {}}
148
- yData={yData}
149
- {...props}
150
- />
151
- )
152
- },
153
- }
154
- : undefined
155
- }
156
- />
157
-
158
- <BarPlot
159
- barLabel={(item) => (Number(item.value) > 0 ? `$${item.value}` : null)}
160
- borderRadius={10}
161
- />
162
-
163
- {/** Provides the X axis line and values **/}
164
- <ChartsXAxis disableLine={true} disableTicks={true} />
165
-
166
- {/** Provides the Y axis values **/}
167
- <ChartsYAxis disableLine={true} disableTicks={true} />
168
-
169
- {/** Provides the average line **/}
170
- {showAverage && (
171
- <ChartsReferenceLine
172
- lineStyle={{
173
- stroke: theme.palette.grey[700],
174
- strokeDasharray: '10, 8',
175
- strokeWidth: 2,
176
- }}
177
- y={average}
178
- />
179
- )}
180
-
181
- {/** Provides the legend for the chart **/}
182
- {!showAverage && (
183
- <ChartsLegend
184
- position={{ horizontal: 'left', vertical: 'top' }}
185
- slotProps={{
186
- legend: {
187
- labelStyle: { fontSize: 12 },
188
- itemMarkHeight: 10,
189
- itemMarkWidth: 10,
190
- },
191
- }}
192
- />
193
- )}
194
- </ResponsiveChartContainer>
195
- {showAverage && (
196
- <CustomLegend
197
- average={average}
198
- series={series}
199
- style={{ position: 'absolute', top: 16, left: 16 }}
200
- />
201
- )}
202
- </div>
203
- )
204
- }
@@ -1,292 +0,0 @@
1
- import React from 'react'
2
- import Box from '@mui/material/Box'
3
- import Stack from '@mui/material/Stack'
4
- import { useTheme } from '@mui/material/styles'
5
- import { LineSeriesType, LineChart, HighlightItemData } from '@mui/x-charts'
6
-
7
- import { DATE_FORMATS_INTL, formatDate } from '../../constants'
8
- import { formatCurrency } from '../../utils'
9
- import { useScreenSize } from '../../hooks'
10
-
11
- import CustomAreaTooltip from './stackedlinechart/CustomAreaTooltip'
12
- import { CustomPointTooltip } from './stackedlinechart/CustomPointTooltip'
13
- import { CustomLegend } from './stackedlinechart/CustomLegend'
14
-
15
- type DataPoint = { x: Date; y: number }
16
- type Dataset = DataPoint[]
17
-
18
- interface StackedLineChartData {
19
- top_level_category_guid: string
20
- category_guid: string
21
- category_name: string
22
- category_color: string
23
- dataset: Dataset
24
- }
25
-
26
- interface StackedLineChartProps {
27
- stackedDatasets: StackedLineChartData[]
28
- unstackedDatasets?: StackedLineChartData[]
29
- onHoverArea?: (category: string) => void
30
- onHoverPoint?: (category: string) => void
31
- onHoverLegend?: (category: string) => void
32
- onClickLegend?: (category: string) => void
33
- height?: number
34
- width?: number
35
- }
36
-
37
- export const StackedLineChart: React.FC<StackedLineChartProps> = ({
38
- onHoverArea,
39
- onHoverPoint,
40
- onHoverLegend,
41
- onClickLegend,
42
- stackedDatasets,
43
- unstackedDatasets = [],
44
- height,
45
- width,
46
- }) => {
47
- const theme = useTheme()
48
- const { isMobile } = useScreenSize()
49
- const chartContainerRef = React.useRef<HTMLDivElement>(null)
50
-
51
- const [hoveredLegend, setHoveredLegend] = React.useState<string | null>(null)
52
- const [hoverState, setHoverState] = React.useState({
53
- hoveredSeriesId: null as string | null,
54
- hoveredAreaData: null as DataPoint[] | null,
55
- isAreaHovered: false,
56
- cursorPos: { x: 0, y: 0 },
57
- })
58
-
59
- const { hoveredSeriesId, hoveredAreaData, isAreaHovered, cursorPos } = hoverState
60
- const showAreaTooltip = isAreaHovered && hoveredSeriesId && hoveredAreaData
61
- const showPointTooltip = !showAreaTooltip
62
-
63
- const datasets = [...stackedDatasets, ...unstackedDatasets]
64
- const xTicks = datasets[0]?.dataset.length ?? 0
65
- const xData = datasets.flatMap((data) => data.dataset.map((d) => d.x))
66
- const yData = datasets.flatMap((data) => data.dataset.map((d) => d.y))
67
-
68
- // Calculate max cumulative heights for stacked datasets
69
- const cumulativeHeights = stackedDatasets[0]?.dataset?.map((_, i) =>
70
- stackedDatasets.reduce((sum, dataset) => sum + dataset.dataset[i]?.y || 0, 0),
71
- ) ?? [0]
72
- const stackedMax = Math.max(...cumulativeHeights)
73
- const unstackedMax = Math.max(
74
- ...unstackedDatasets.flatMap((data) => data.dataset.map((d) => d.y)),
75
- )
76
-
77
- const yMin = Math.floor(Math.min(...yData) / 100) * 100
78
- const yMax = Math.ceil(Math.max(stackedMax, unstackedMax) / 100) * 100
79
-
80
- const stackedSeries = stackedDatasets.map((data, index) => ({
81
- id: `stacked-${index}`,
82
- guid: data.category_guid,
83
- top_level_guid: data.top_level_category_guid,
84
- area: true,
85
- color: stackedDatasets[index].category_color ?? theme.palette.primary.main,
86
- data: data.dataset.map((d) => d.y),
87
- label: stackedDatasets[index].category_name,
88
- stack: 'total',
89
- type: 'line',
90
- highlightScope: { highlight: 'item' },
91
- valueFormatter: (value: number) => formatCurrency(value, '0,0'),
92
- }))
93
-
94
- const unstackedSeries = unstackedDatasets.map((data, index) => ({
95
- id: `unstacked-${index}`,
96
- guid: data.category_guid,
97
- top_level_guid: data.top_level_category_guid,
98
- area: false,
99
- color: data.category_color,
100
- data: data.dataset.map((d) => d.y),
101
- label: data.category_name,
102
- type: 'line',
103
- valueFormatter: (value: number) => formatCurrency(value, '0,0'),
104
- }))
105
-
106
- const series = [...stackedSeries, ...unstackedSeries]
107
- const guids = [
108
- ...stackedSeries.map(({ guid, top_level_guid }) => ({
109
- guid,
110
- top_level_guid,
111
- })),
112
- ...unstackedSeries.map(({ guid, top_level_guid }) => ({
113
- guid,
114
- top_level_guid,
115
- })),
116
- ]
117
-
118
- const getSeriesCategoryGuids = (seriesId: string) => {
119
- const isStacked = seriesId.startsWith('stacked-')
120
- const dataset = isStacked
121
- ? stackedDatasets[parseInt(seriesId.split('-')[1])]
122
- : unstackedDatasets[parseInt(seriesId.split('-')[1])]
123
- return {
124
- guid: dataset?.category_guid,
125
- topLevelGuid: dataset?.top_level_category_guid,
126
- }
127
- }
128
-
129
- const handleHoverLegend = (guid: string | null) => {
130
- setHoveredLegend(guid)
131
- onHoverLegend?.(guid ?? '')
132
- }
133
-
134
- const handleClickLegend = (guid: string | null) => {
135
- onClickLegend?.(guid ?? '')
136
- }
137
-
138
- const handleClickArea = () => {
139
- const clickedSeriesGuid = getSeriesCategoryGuids(String(hoveredSeriesId)).guid
140
- if (clickedSeriesGuid) onClickLegend?.(clickedSeriesGuid)
141
- }
142
-
143
- const handleHighlightChange = (highlightedItem: HighlightItemData | null) => {
144
- const hoveredSeriesId = String(highlightedItem?.seriesId)
145
- const hoveredSeriesGuid = getSeriesCategoryGuids(hoveredSeriesId).guid
146
- const hoveredSeries = series.find((s) => s.id === hoveredSeriesId)
147
- const isPointHovered = hoveredSeries && highlightedItem?.dataIndex !== undefined
148
- const isAreaHovered = hoveredSeries && highlightedItem?.dataIndex === undefined
149
-
150
- if (isPointHovered) {
151
- setHoverState({
152
- hoveredSeriesId: hoveredSeriesId,
153
- hoveredAreaData: null,
154
- isAreaHovered: false,
155
- cursorPos,
156
- })
157
- onHoverPoint?.(hoveredSeriesGuid)
158
- } else if (isAreaHovered) {
159
- const hoveredDataPoints =
160
- hoveredSeries?.data.map((yValue, index) => ({
161
- x: xData[index],
162
- y: yValue,
163
- })) ?? []
164
-
165
- setHoverState({
166
- hoveredSeriesId: hoveredSeriesId,
167
- hoveredAreaData: hoveredDataPoints,
168
- isAreaHovered: true,
169
- cursorPos,
170
- })
171
- onHoverArea?.(hoveredSeriesGuid)
172
- } else {
173
- setHoverState({
174
- hoveredSeriesId: null,
175
- hoveredAreaData: null,
176
- isAreaHovered: false,
177
- cursorPos,
178
- })
179
- }
180
- }
181
-
182
- const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {
183
- const rect = event.currentTarget.getBoundingClientRect()
184
- setHoverState((prev) => ({
185
- ...prev,
186
- cursorPos: {
187
- x: event.clientX - rect.left,
188
- y: event.clientY - rect.top,
189
- },
190
- }))
191
- }
192
-
193
- const customStyles = {
194
- p: 4,
195
- '& .MuiBarLabel-root': {
196
- fontSize: 10,
197
- fontWeight: 600,
198
- },
199
- '& .MuiAreaElement-root': {
200
- opacity: 0.4,
201
- transition: 'opacity 0.3s ease',
202
- },
203
- '& .MuiAreaElement-root:hover': {
204
- opacity: 1,
205
- },
206
- '& [class*="MuiLineElement-series-unstacked-"]': {
207
- strokeWidth: 3,
208
- },
209
- ...(hoveredLegend &&
210
- stackedSeries.reduce<Record<string, any>>((acc, _, index) => {
211
- const selector = `.MuiAreaElement-series-stacked-${index}`
212
- acc[selector] = {
213
- opacity: stackedSeries[index].guid === hoveredLegend ? 0.9 : 0.2,
214
- }
215
- return acc
216
- }, {})),
217
- }
218
-
219
- return (
220
- <Box onMouseMove={handleMouseMove} ref={chartContainerRef} style={{ position: 'relative' }}>
221
- <Stack
222
- direction={{ xs: 'column', md: 'column' }}
223
- spacing={{ xs: 0, md: 4 }}
224
- sx={{ width: '100%', position: 'relative' }}
225
- >
226
- <LineChart
227
- height={height || 400}
228
- margin={{ bottom: 50 }}
229
- onAreaClick={handleClickArea}
230
- onHighlightChange={handleHighlightChange}
231
- series={series as LineSeriesType[]}
232
- skipAnimation={true}
233
- slotProps={{
234
- legend: {
235
- hidden: true,
236
- },
237
- }}
238
- slots={{
239
- itemContent: (props) => {
240
- return showPointTooltip && hoveredSeriesId ? (
241
- <CustomPointTooltip
242
- categoryGuids={getSeriesCategoryGuids(hoveredSeriesId)}
243
- xData={xData}
244
- {...props}
245
- />
246
- ) : null
247
- },
248
- }}
249
- sx={customStyles}
250
- tooltip={{
251
- trigger: showPointTooltip ? 'item' : 'none',
252
- }}
253
- width={width}
254
- xAxis={[
255
- {
256
- data: xData,
257
- scaleType: 'time',
258
- valueFormatter: (value: Date) =>
259
- formatDate(value, DATE_FORMATS_INTL.MONTH_SHORT_YEAR),
260
- tickNumber: xTicks, // How many ticks to show on the x-axis
261
- },
262
- ]}
263
- yAxis={[
264
- {
265
- min: yMin,
266
- max: yMax || 100,
267
- },
268
- ]}
269
- />
270
- <CustomLegend
271
- categoryGuids={guids}
272
- hoveredLegend={hoveredLegend}
273
- onClickLegend={handleClickLegend}
274
- onHoverLegend={handleHoverLegend}
275
- sx={{ px: isMobile ? 0 : 24 }}
276
- />
277
-
278
- {showAreaTooltip && (
279
- <CustomAreaTooltip
280
- categoryGuids={getSeriesCategoryGuids(hoveredSeriesId)}
281
- chartContainerRef={chartContainerRef}
282
- cursorPosition={cursorPos}
283
- hoveredAreaData={hoveredAreaData.map((point) => ({
284
- ...point,
285
- x: formatDate(point.x, DATE_FORMATS_INTL.MONTH_SHORT_YEAR),
286
- }))}
287
- />
288
- )}
289
- </Stack>
290
- </Box>
291
- )
292
- }
@@ -1,41 +0,0 @@
1
- import React from 'react'
2
-
3
- import Box from '@mui/material/Box'
4
- import Stack from '@mui/material/Stack'
5
-
6
- export type StatusBarData = {
7
- color: string
8
- percentage: string
9
- }
10
-
11
- interface StatusBarProps {
12
- data: StatusBarData[]
13
- height?: number
14
- }
15
-
16
- const StatusBar: React.FC<StatusBarProps> = ({ data, height = 8 }) => {
17
- const borderRadius = `${height / 4}px`
18
-
19
- return (
20
- <Stack
21
- bgcolor="grey.300"
22
- borderRadius={borderRadius}
23
- direction="row"
24
- gap={2}
25
- height={height}
26
- width="100%"
27
- >
28
- {data.map((item, index) => (
29
- <Box
30
- bgcolor={item.color}
31
- borderRadius={borderRadius}
32
- height={height}
33
- key={index}
34
- width={item.percentage}
35
- />
36
- ))}
37
- </Stack>
38
- )
39
- }
40
-
41
- export default StatusBar
@@ -1,4 +0,0 @@
1
- export { default as Donut, type DonutData } from './Donut'
2
- export { LineChart } from './LineChart'
3
- export { StackedLineChart } from './StackedLineChart'
4
- export { default as StatusBar, type StatusBarData } from './StatusBar'
@@ -1,49 +0,0 @@
1
- import { observer } from 'mobx-react-lite'
2
-
3
- import { Box, Stack } from '@mui/material'
4
- import { Text } from '@kyper/mui'
5
-
6
- import { formatCurrency } from '../../../utils'
7
- import { useGlobalCopyStore } from '../../../../common'
8
-
9
- const CustomLegend = ({
10
- series,
11
- average,
12
- style,
13
- }: {
14
- average: number
15
- series: any[]
16
- style: any
17
- }) => {
18
- const { common: commonCopy } = useGlobalCopyStore()
19
- return (
20
- <Stack style={{ flexDirection: 'row', gap: 25, ...style }}>
21
- {series.map((s, index) => (
22
- <Stack key={index} style={{ alignItems: 'center', flexDirection: 'row' }}>
23
- <Box
24
- sx={{
25
- width: 10,
26
- height: 10,
27
- backgroundColor: s.color,
28
- marginRight: 8,
29
- }}
30
- />
31
- <Text variant="Small">{s.label}</Text>
32
- </Stack>
33
- ))}
34
- <Stack sx={{ alignItems: 'center', flexDirection: 'row' }}>
35
- <Text bold={true} sx={{ marginRight: 8 }} variant="Small">
36
- – –
37
- </Text>
38
- <Text variant="Small">
39
- {commonCopy.average}{' '}
40
- <Text bold={true} variant="Small">
41
- {formatCurrency(average, '0,0')}
42
- </Text>
43
- </Text>
44
- </Stack>
45
- </Stack>
46
- )
47
- }
48
-
49
- export default observer(CustomLegend)
@@ -1,31 +0,0 @@
1
- import React from 'react'
2
-
3
- import { AnimatedLineProps } from '@mui/x-charts'
4
-
5
- interface CustomLineProps extends AnimatedLineProps {
6
- lineColor?: string
7
- }
8
-
9
- export const CustomLine: React.FC<CustomLineProps> = (props) => {
10
- return (
11
- <>
12
- <clipPath id={props.id}>
13
- <rect height={props.height} width={props.width} x="0" y="0" />
14
- </clipPath>
15
- <g>
16
- <path
17
- cursor="unset"
18
- d={props.d}
19
- style={{
20
- strokeWidth: 2,
21
- strokeLinejoin: 'round',
22
- fill: 'none',
23
- stroke: props.lineColor ? props.lineColor : props.stroke,
24
- transition: 'opacity 0.2s ease-in, stroke 0.2s ease-in',
25
- opacity: 1,
26
- }}
27
- />
28
- </g>
29
- </>
30
- )
31
- }