@mx-cartographer/experiences 9.3.0-alpha.bb2 → 9.3.0

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 (612) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/accounts/AccountsMiniWidget.es.js.map +1 -1
  3. package/dist/accounts/AccountsWidget.es.js.map +1 -1
  4. package/dist/accounts/ConnectMiniWidget.es.js.map +1 -1
  5. package/dist/accounts/components/AccountListItem.es.js.map +1 -1
  6. package/dist/accounts/components/AccountsList.es.js.map +1 -1
  7. package/dist/accounts/components/AccountsListCompact.es.js.map +1 -1
  8. package/dist/accounts/components/ConnectImage.es.js.map +1 -1
  9. package/dist/accounts/components/ConnectMiniWidgetCard.es.js.map +1 -1
  10. package/dist/accounts/components/ConnectionStatusIcons.es.js.map +1 -1
  11. package/dist/accounts/components/ConnectionsDrawer.es.js.map +1 -1
  12. package/dist/accounts/components/detailsdrawer/Accounts/AccountActions.es.js +40 -37
  13. package/dist/accounts/components/detailsdrawer/Accounts/AccountActions.es.js.map +1 -1
  14. package/dist/accounts/components/detailsdrawer/Accounts/AccountActionsRow.es.js.map +1 -1
  15. package/dist/accounts/components/detailsdrawer/Accounts/AccountConnection.es.js.map +1 -1
  16. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailEdit.es.js.map +1 -1
  17. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetails.es.js.map +1 -1
  18. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsChart.es.js.map +1 -1
  19. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsContent.es.js.map +1 -1
  20. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsDrawer.es.js.map +1 -1
  21. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsHeader.es.js.map +1 -1
  22. package/dist/accounts/components/detailsdrawer/Accounts/ConnectionErrorMessage.es.js.map +1 -1
  23. package/dist/accounts/components/detailsdrawer/Transactions/TransactionsTab.es.js.map +1 -1
  24. package/dist/accounts/utils/AccountFields.es.js +4 -1
  25. package/dist/accounts/utils/AccountFields.es.js.map +1 -1
  26. package/dist/analytics/SurveyMiniWidget.es.js.map +1 -1
  27. package/dist/analytics/components/RatingScale.es.js.map +1 -1
  28. package/dist/budgets/BubbleBudgetsMiniWidget.es.js +46 -44
  29. package/dist/budgets/BubbleBudgetsMiniWidget.es.js.map +1 -1
  30. package/dist/budgets/BubbleBudgetsWidget.es.js.map +1 -1
  31. package/dist/budgets/components/AddBudgets.es.js.map +1 -1
  32. package/dist/budgets/components/BubbleBudgets.es.js.map +1 -1
  33. package/dist/budgets/components/BubbleChart.es.js +12 -12
  34. package/dist/budgets/components/BubbleChart.es.js.map +1 -1
  35. package/dist/budgets/components/BudgetDetailsDrawer.es.js.map +1 -1
  36. package/dist/budgets/components/BudgetDetailsDrawerV2.es.js.map +1 -1
  37. package/dist/budgets/components/BudgetList.es.js.map +1 -1
  38. package/dist/budgets/components/MerchantBudgetDetailsDrawer.es.js.map +1 -1
  39. package/dist/budgets/components/Overview.es.js.map +1 -1
  40. package/dist/budgets/components/addbudget/Header.es.js.map +1 -1
  41. package/dist/budgets/components/addbudget/RecalculateBudgets.es.js.map +1 -1
  42. package/dist/budgets/components/addbudget/UnbudgetedRow.es.js.map +1 -1
  43. package/dist/budgets/components/bubblechart/Bubble.es.js.map +1 -1
  44. package/dist/budgets/components/bubblechart/Mercury.es.js +13 -11
  45. package/dist/budgets/components/bubblechart/Mercury.es.js.map +1 -1
  46. package/dist/budgets/components/budgetdetails/AddSubBudget.es.js.map +1 -1
  47. package/dist/budgets/components/budgetdetails/BudgetDetails.es.js.map +1 -1
  48. package/dist/budgets/components/budgetdetails/Header.es.js.map +1 -1
  49. package/dist/budgets/components/budgetdetails/SubBudgetList.es.js.map +1 -1
  50. package/dist/budgets/components/budgetlist/BudgetRow.es.js.map +1 -1
  51. package/dist/budgets/components/budgetlist/SubBudgetRow.es.js.map +1 -1
  52. package/dist/budgets/components/budgetlist/SubBudgetZeroState.es.js.map +1 -1
  53. package/dist/budgets/components/shared/BudgetAmount.es.js.map +1 -1
  54. package/dist/budgets/components/shared/BudgetDetailsTopSection.es.js.map +1 -1
  55. package/dist/budgets/utils/BubblesSVG.es.js +10 -10
  56. package/dist/budgets/utils/BubblesSVG.es.js.map +1 -1
  57. package/dist/cashflow/CashflowMiniWidget.es.js.map +1 -1
  58. package/dist/cashflow/CashflowOnboarding.es.js.map +1 -1
  59. package/dist/cashflow/CashflowWidget.es.js.map +1 -1
  60. package/dist/cashflow/components/CashflowAmountHeading.es.js.map +1 -1
  61. package/dist/cashflow/components/CashflowContent.es.js.map +1 -1
  62. package/dist/cashflow/components/CashflowHeading.es.js.map +1 -1
  63. package/dist/cashflow/components/CashflowWidgetContent.es.js.map +1 -1
  64. package/dist/cashflow/components/DetailsExpenseHeader.es.js.map +1 -1
  65. package/dist/cashflow/components/DetailsExpenseRow.es.js.map +1 -1
  66. package/dist/cashflow/components/DetailsFooter.es.js.map +1 -1
  67. package/dist/cashflow/components/DetailsTab.es.js.map +1 -1
  68. package/dist/cashflow/components/RemainingCash.es.js.map +1 -1
  69. package/dist/cashflow/components/SummaryTab.es.js.map +1 -1
  70. package/dist/cashflow/components/onboarding/StepOne.es.js.map +1 -1
  71. package/dist/cashflow/components/onboarding/StepTwo.es.js.map +1 -1
  72. package/dist/categories/components/CategoryList.es.js +24 -24
  73. package/dist/categories/components/CategoryList.es.js.map +1 -1
  74. package/dist/categories/components/CategoryRow.es.js +6 -6
  75. package/dist/categories/components/CategoryRow.es.js.map +1 -1
  76. package/dist/categories/components/CategorySelector.es.js +36 -32
  77. package/dist/categories/components/CategorySelector.es.js.map +1 -1
  78. package/dist/categories/components/CategorySelectorDrawer.es.js.map +1 -1
  79. package/dist/categories/components/CustomCategories/AddSubcategory.es.js.map +1 -1
  80. package/dist/categories/components/CustomCategories/CustomCategoryModal.es.js +0 -1
  81. package/dist/categories/components/CustomCategories/CustomCategoryModal.es.js.map +1 -1
  82. package/dist/categories/components/SubcategoryList.es.js.map +1 -1
  83. package/dist/categories/components/SubcategoryRow.es.js.map +1 -1
  84. package/dist/common/components/Banner.es.js.map +1 -1
  85. package/dist/common/components/ConnectCard.es.js.map +1 -1
  86. package/dist/common/components/ConnectDrawer.es.js.map +1 -1
  87. package/dist/common/components/ConnectStatus.es.js.map +1 -1
  88. package/dist/common/components/CurrencyDialog.es.js.map +1 -1
  89. package/dist/common/components/CurrencyInput.es.js +11 -11
  90. package/dist/common/components/CurrencyText.es.js.map +1 -1
  91. package/dist/common/components/DataRow.es.js +7 -7
  92. package/dist/common/components/DataRow.es.js.map +1 -1
  93. package/dist/common/components/EmptyState.es.js.map +1 -1
  94. package/dist/common/components/Error.es.js.map +1 -1
  95. package/dist/common/components/ErrorBoundary.es.js.map +1 -1
  96. package/dist/common/components/GlobalAccountFilter.es.js.map +1 -1
  97. package/dist/common/components/IconBacking.es.js.map +1 -1
  98. package/dist/common/components/InformationTooltip.es.js.map +1 -1
  99. package/dist/common/components/ListItemAction.es.js.map +1 -1
  100. package/dist/common/components/ListItemRow.es.js +1 -1
  101. package/dist/common/components/ListItemRow.es.js.map +1 -1
  102. package/dist/common/components/ListItemWrapper.es.js.map +1 -1
  103. package/dist/common/components/Loader.es.js.map +1 -1
  104. package/dist/common/components/MicroWidgetContainer.es.js.map +1 -1
  105. package/dist/common/components/MiniWidgetContainer.es.js.map +1 -1
  106. package/dist/common/components/ResponsiveButton.es.js.map +1 -1
  107. package/dist/common/components/SearchBox.es.js.map +1 -1
  108. package/dist/common/components/Select.es.js.map +1 -1
  109. package/dist/common/components/SelectionBox.es.js.map +1 -1
  110. package/dist/common/components/SkeletonLoader.es.js.map +1 -1
  111. package/dist/common/components/SubheaderRow.es.js.map +1 -1
  112. package/dist/common/components/TabContentContainer.es.js.map +1 -1
  113. package/dist/common/components/TinyBarChart.es.js.map +1 -1
  114. package/dist/common/components/WidgetContainer.es.js.map +1 -1
  115. package/dist/common/components/WidgetDateRangeSelector.es.js +28 -28
  116. package/dist/common/components/WidgetDateRangeSelector.es.js.map +1 -1
  117. package/dist/common/components/addaccounts/AddAccounts.es.js +13 -13
  118. package/dist/common/components/addaccounts/AddAccounts.es.js.map +1 -1
  119. package/dist/common/components/calendar/Calendar.es.js.map +1 -1
  120. package/dist/common/components/calendar/Day.es.js.map +1 -1
  121. package/dist/common/components/calendar/Header.es.js +26 -23
  122. package/dist/common/components/calendar/Header.es.js.map +1 -1
  123. package/dist/common/components/charts/Donut.es.js.map +1 -1
  124. package/dist/common/components/charts/LineChart.es.js.map +1 -1
  125. package/dist/common/components/charts/StackedLineChart.es.js.map +1 -1
  126. package/dist/common/components/charts/StatusBar.es.js.map +1 -1
  127. package/dist/common/components/charts/linechart/CustomLegend.es.js.map +1 -1
  128. package/dist/common/components/charts/linechart/CustomLine.es.js.map +1 -1
  129. package/dist/common/components/charts/linechart/CustomMark.es.js.map +1 -1
  130. package/dist/common/components/charts/linechart/CustomTooltip.es.js.map +1 -1
  131. package/dist/common/components/charts/stackedlinechart/CategoryIconLabel.es.js.map +1 -1
  132. package/dist/common/components/charts/stackedlinechart/CustomAreaTooltip.es.js.map +1 -1
  133. package/dist/common/components/charts/stackedlinechart/CustomLegend.es.js.map +1 -1
  134. package/dist/common/components/charts/stackedlinechart/CustomPointTooltip.es.js.map +1 -1
  135. package/dist/common/components/daterangeselector/DateRangeSelector.d.ts +14 -0
  136. package/dist/common/components/daterangeselector/DateRangeSelector.es.js +113 -101
  137. package/dist/common/components/daterangeselector/DateRangeSelector.es.js.map +1 -1
  138. package/dist/common/components/dialog/Dialog.es.js.map +1 -1
  139. package/dist/common/components/donuts/MultiSegmentDonut.es.js.map +1 -1
  140. package/dist/common/components/donuts/SingleSegmentDonut.es.js.map +1 -1
  141. package/dist/common/components/drawer/Drawer.es.js.map +1 -1
  142. package/dist/common/components/drawer/Footer.es.js.map +1 -1
  143. package/dist/common/components/drawer/Header.es.js.map +1 -1
  144. package/dist/common/components/globalaccountfilter/GlobalAccountFilterList.es.js +71 -87
  145. package/dist/common/components/globalaccountfilter/GlobalAccountFilterList.es.js.map +1 -1
  146. package/dist/common/components/listitems/CollapseExpandListItem.es.js +4 -4
  147. package/dist/common/components/listitems/CollapseExpandListItem.es.js.map +1 -1
  148. package/dist/common/components/listitems/ToggleButtonListItem.es.js +6 -6
  149. package/dist/common/components/listitems/ToggleButtonListItem.es.js.map +1 -1
  150. package/dist/common/components/listitems/ToggleListItem.es.js.map +1 -1
  151. package/dist/common/hooks/useAriaLive.es.js.map +1 -1
  152. package/dist/common/utils/AccountFilter.es.js.map +1 -1
  153. package/dist/core/constants/Category.es.js.map +1 -1
  154. package/dist/core/stores/CategoryStore.d.ts +2 -0
  155. package/dist/core/stores/CategoryStore.es.js +55 -47
  156. package/dist/core/stores/CategoryStore.es.js.map +1 -1
  157. package/dist/core/stores/DebtsStore.es.js +10 -10
  158. package/dist/core/stores/DebtsStore.es.js.map +1 -1
  159. package/dist/core/stores/FinstrongStore.es.js +4 -4
  160. package/dist/core/stores/FinstrongStore.es.js.map +1 -1
  161. package/dist/core/stores/TrendsStore.es.js +6 -6
  162. package/dist/core/types/Account.es.js.map +1 -1
  163. package/dist/core/utils/DateUtil.es.js +24 -23
  164. package/dist/core/utils/DateUtil.es.js.map +1 -1
  165. package/dist/core/utils/DebtUtils.es.js +28 -28
  166. package/dist/core/utils/DebtUtils.es.js.map +1 -1
  167. package/dist/core/utils/GoalsUtil.es.js +11 -8
  168. package/dist/core/utils/GoalsUtil.es.js.map +1 -1
  169. package/dist/core/utils/InvestmentUtil.es.js +26 -23
  170. package/dist/core/utils/InvestmentUtil.es.js.map +1 -1
  171. package/dist/core/utils/NotificationUtils.es.js +11 -8
  172. package/dist/core/utils/NotificationUtils.es.js.map +1 -1
  173. package/dist/core/utils/RecurringTransactionsUtil.es.js +5 -8
  174. package/dist/core/utils/RecurringTransactionsUtil.es.js.map +1 -1
  175. package/dist/core/utils/SettingsUtil.es.js.map +1 -1
  176. package/dist/core/utils/TransactionUtils.es.js.map +1 -1
  177. package/dist/dashboard/Dashboard.es.js.map +1 -1
  178. package/dist/dashboard/Greeting.es.js.map +1 -1
  179. package/dist/debts/DebtsWidget.es.js.map +1 -1
  180. package/dist/debts/components/DebtDrawer.es.js.map +1 -1
  181. package/dist/debts/components/DebtsChart.es.js +36 -36
  182. package/dist/debts/components/DebtsChart.es.js.map +1 -1
  183. package/dist/debts/components/DebtsTable.es.js +13 -13
  184. package/dist/debts/components/DebtsTable.es.js.map +1 -1
  185. package/dist/debts/components/PaydownDrawer.es.js.map +1 -1
  186. package/dist/debts/components/SnowballCard.es.js.map +1 -1
  187. package/dist/debts/components/SnowballDrawer.es.js.map +1 -1
  188. package/dist/debts/components/actions/DebtsPriorityAction.es.js +23 -23
  189. package/dist/debts/components/actions/DebtsPriorityAction.es.js.map +1 -1
  190. package/dist/debts/components/actions/ExtraPaymentAction.es.js.map +1 -1
  191. package/dist/debts/components/actions/InterestRateAction.es.js.map +1 -1
  192. package/dist/debts/components/actions/MonthlyPaymentAction.es.js.map +1 -1
  193. package/dist/debts/components/actions/OriginalBalanceAction.es.js.map +1 -1
  194. package/dist/debts/components/debtsdrawer/DebtDetailsChart.es.js.map +1 -1
  195. package/dist/debts/components/debtsdrawer/DebtDetailsContent.es.js.map +1 -1
  196. package/dist/debts/components/debtsdrawer/DebtDetailsTab.es.js.map +1 -1
  197. package/dist/debts/components/debtsdrawer/DebtScheduleTab.es.js.map +1 -1
  198. package/dist/debts/components/debtsdrawer/DebtStatusCard.es.js.map +1 -1
  199. package/dist/debts/components/debtspaydown/PaydownButton.es.js.map +1 -1
  200. package/dist/debts/components/debtspaydown/PaydownContent.es.js.map +1 -1
  201. package/dist/debts/components/debtspriority/DebtsPriorityButton.es.js.map +1 -1
  202. package/dist/debts/components/debtspriority/DebtsPrioriyPopover.es.js.map +1 -1
  203. package/dist/debts/components/debtstable/AccountCell.es.js.map +1 -1
  204. package/dist/debts/components/debtstable/PriorityCell.es.js.map +1 -1
  205. package/dist/finstrong/FinancialStrengthCard.es.js.map +1 -1
  206. package/dist/finstrong/FinstrongWidget.es.js.map +1 -1
  207. package/dist/finstrong/components/ConnectMoreAccountsCard.es.js.map +1 -1
  208. package/dist/finstrong/components/CreditScore/CreditScoreContent.es.js.map +1 -1
  209. package/dist/finstrong/components/CreditScore/CreditScoreHeader.es.js.map +1 -1
  210. package/dist/finstrong/components/HaveManageableDebt/DebtPaymentTabContent.es.js.map +1 -1
  211. package/dist/finstrong/components/HaveManageableDebt/HaveManageableDebtComponent.es.js.map +1 -1
  212. package/dist/finstrong/components/HaveManageableDebt/HaveManageableDebtProgressBar.es.js.map +1 -1
  213. package/dist/finstrong/components/HaveManageableDebt/IncomeTabContent.es.js.map +1 -1
  214. package/dist/finstrong/components/HealthChart.es.js.map +1 -1
  215. package/dist/finstrong/components/KeyIndicatorsBorrowTab.es.js.map +1 -1
  216. package/dist/finstrong/components/KeyIndicatorsDrawer.es.js.map +1 -1
  217. package/dist/finstrong/components/KeyIndicatorsSaveTab.es.js.map +1 -1
  218. package/dist/finstrong/components/KeyIndicatorsSpendTab.es.js.map +1 -1
  219. package/dist/finstrong/components/KeyIndicatorsTabItem.es.js.map +1 -1
  220. package/dist/finstrong/components/KeyIndicatorsTabItemDrawer.es.js.map +1 -1
  221. package/dist/finstrong/components/KeyIndicatorsTabsWidget.es.js.map +1 -1
  222. package/dist/finstrong/components/MaintainingEmergencySavings/EstimatedContributionCalculator.es.js.map +1 -1
  223. package/dist/finstrong/components/MaintainingEmergencySavings/MaintainingEmergencySavingsContent.es.js.map +1 -1
  224. package/dist/finstrong/components/MaintainingEmergencySavings/MaintainingEmergencySavingsSticky.es.js.map +1 -1
  225. package/dist/finstrong/components/ManageCreditScore.es.js.map +1 -1
  226. package/dist/finstrong/components/ManageDOB.es.js.map +1 -1
  227. package/dist/finstrong/components/MissingData.es.js.map +1 -1
  228. package/dist/finstrong/components/ProfileDrawer.es.js.map +1 -1
  229. package/dist/finstrong/components/ProfileList.es.js.map +1 -1
  230. package/dist/finstrong/components/ProfileProgressBar.es.js.map +1 -1
  231. package/dist/finstrong/components/ProgressBar.es.js.map +1 -1
  232. package/dist/finstrong/components/SaveEnoughToLiveOn/AvailableTabContent.es.js.map +1 -1
  233. package/dist/finstrong/components/SaveEnoughToLiveOn/SaveEnoughToLiveOnDrawerContent.es.js.map +1 -1
  234. package/dist/finstrong/components/SaveEnoughToLiveOn/SaveEnoughToLiveOnProgressBar.es.js.map +1 -1
  235. package/dist/finstrong/components/SaveEnoughToLiveOn/SpendingTabContent.es.js.map +1 -1
  236. package/dist/finstrong/components/ScoreHistoryDrawer.es.js.map +1 -1
  237. package/dist/finstrong/components/ScoreRubricDrawer.es.js.map +1 -1
  238. package/dist/finstrong/components/SpendLessThanYouMake/SpendLessThanYouMakeComponent.es.js.map +1 -1
  239. package/dist/finstrong/components/SpendLessThanYouMake/SpendLessThanYouMakeProgressBar.es.js.map +1 -1
  240. package/dist/finstrong/components/StatusChip.es.js.map +1 -1
  241. package/dist/finstrong/components/onboarding/Onboarding.es.js.map +1 -1
  242. package/dist/finstrong/components/onboarding/OnboardingAddMonthlyIncome.es.js.map +1 -1
  243. package/dist/finstrong/components/onboarding/OnboardingBirthday.es.js.map +1 -1
  244. package/dist/finstrong/components/onboarding/OnboardingCreditScore.es.js.map +1 -1
  245. package/dist/finstrong/components/onboarding/OnboardingStepsDrawer.es.js +15 -18
  246. package/dist/finstrong/components/onboarding/OnboardingStepsDrawer.es.js.map +1 -1
  247. package/dist/finstrong/components/onboarding/OnboardingStepsHeader.es.js.map +1 -1
  248. package/dist/finstrong/components/paybillsontime/PayBillsOnTimeDrawerComponent.es.js.map +1 -1
  249. package/dist/finstrong/components/paybillsontime/PayBillsOnTimeStickyComponent.es.js.map +1 -1
  250. package/dist/finstrong/components/shared/Accounts.es.js.map +1 -1
  251. package/dist/finstrong/components/shared/CustomDoubleBarPlot.es.js.map +1 -1
  252. package/dist/finstrong/components/shared/CustomPieArc.es.js.map +1 -1
  253. package/dist/finstrong/components/shared/DialScoreCard.es.js +27 -27
  254. package/dist/finstrong/components/shared/DialScoreCard.es.js.map +1 -1
  255. package/dist/finstrong/components/shared/DoubleBarChart.es.js.map +1 -1
  256. package/dist/finstrong/components/shared/LineGraph.es.js +20 -19
  257. package/dist/finstrong/components/shared/LineGraph.es.js.map +1 -1
  258. package/dist/finstrong/components/shared/ScoreHistoryTimeline.es.js +28 -28
  259. package/dist/finstrong/components/shared/ScoreHistoryTimeline.es.js.map +1 -1
  260. package/dist/finstrong/components/shared/ScoreHistoryTimelineItem.es.js.map +1 -1
  261. package/dist/finstrong/components/shared/TotalCard.es.js.map +1 -1
  262. package/dist/finstrong/components/shared/Transactions.es.js.map +1 -1
  263. package/dist/finstrong/util/finstrongUtils.es.js +4 -1
  264. package/dist/finstrong/util/finstrongUtils.es.js.map +1 -1
  265. package/dist/goals/GoalsMicroWidget.es.js.map +1 -1
  266. package/dist/goals/GoalsWidget.es.js.map +1 -1
  267. package/dist/goals/components/AccountSelectionDrawer.es.js.map +1 -1
  268. package/dist/goals/components/AddGoal.es.js.map +1 -1
  269. package/dist/goals/components/GoalDetails.es.js.map +1 -1
  270. package/dist/goals/components/GoalDetailsDrawer.es.js.map +1 -1
  271. package/dist/goals/components/GoalList.es.js.map +1 -1
  272. package/dist/goals/components/GoalStatusCard.es.js.map +1 -1
  273. package/dist/goals/components/ManageGoals.es.js.map +1 -1
  274. package/dist/goals/components/TabTitle.es.js.map +1 -1
  275. package/dist/goals/components/actions/AccountAction.es.js.map +1 -1
  276. package/dist/goals/components/actions/AddRetirementAccountAction.es.js.map +1 -1
  277. package/dist/goals/components/actions/AmountToSaveAction.es.js.map +1 -1
  278. package/dist/goals/components/actions/BirthdayAction.es.js.map +1 -1
  279. package/dist/goals/components/actions/ChangeAccountAction.es.js.map +1 -1
  280. package/dist/goals/components/actions/ContributionAction.es.js.map +1 -1
  281. package/dist/goals/components/actions/GoalNameAction.es.js.map +1 -1
  282. package/dist/goals/components/actions/InterestRateAction.es.js.map +1 -1
  283. package/dist/goals/components/actions/MonthlyPaymentAction.es.js.map +1 -1
  284. package/dist/goals/components/actions/OriginalBalanceAction.es.js.map +1 -1
  285. package/dist/goals/components/actions/RetirementAgeAction.es.js.map +1 -1
  286. package/dist/goals/components/addgoal/AddGoalListItem.es.js +5 -5
  287. package/dist/goals/components/addgoal/AddGoalListItem.es.js.map +1 -1
  288. package/dist/goals/components/managegoals/CompleteListItem.es.js.map +1 -1
  289. package/dist/goals/components/managegoals/OngoingListItem.es.js.map +1 -1
  290. package/dist/goals/components/micro/GoalMicroStatusCard.es.js.map +1 -1
  291. package/dist/goals/components/micro/GoalsMicroEmptyState.es.js.map +1 -1
  292. package/dist/help/HelpWidget.es.js.map +1 -1
  293. package/dist/help/components/Help.es.js.map +1 -1
  294. package/dist/help/components/HelpList.es.js +32 -32
  295. package/dist/help/components/HelpList.es.js.map +1 -1
  296. package/dist/help/components/content/BottomImageContent.es.js.map +1 -1
  297. package/dist/help/components/content/ContentItem.es.js.map +1 -1
  298. package/dist/help/components/content/Header.es.js.map +1 -1
  299. package/dist/help/components/content/LeftImageContent.es.js.map +1 -1
  300. package/dist/help/components/content/NoImageContent.es.js.map +1 -1
  301. package/dist/help/components/content/RightImageContent.es.js.map +1 -1
  302. package/dist/help/components/content/TopImageContent.es.js.map +1 -1
  303. package/dist/help/components/requestsupport/ContactSupport.es.js.map +1 -1
  304. package/dist/help/components/requestsupport/HelpByCategoryList.es.js.map +1 -1
  305. package/dist/help/components/requestsupport/MissingInstitution.es.js.map +1 -1
  306. package/dist/help/components/requestsupport/PopularTopicsDrawer.es.js.map +1 -1
  307. package/dist/help/components/requestsupport/PopularTopicsList.es.js.map +1 -1
  308. package/dist/help/components/requestsupport/PopularTopicsRow.es.js +6 -6
  309. package/dist/help/components/requestsupport/PopularTopicsRow.es.js.map +1 -1
  310. package/dist/help/components/requestsupport/RequestSupport.es.js.map +1 -1
  311. package/dist/help/components/requestsupport/RequestSupportFooter.es.js.map +1 -1
  312. package/dist/help/components/requestsupport/RequestSupportHeader.es.js.map +1 -1
  313. package/dist/help/components/requestsupport/RequestSupportInstitution.es.js.map +1 -1
  314. package/dist/help/components/requestsupport/SupportSuccessMessage.es.js.map +1 -1
  315. package/dist/insights/components/feed/Header.es.js.map +1 -1
  316. package/dist/insights/components/insights/AmericanUpcomingTaxDeadlineAlert/AmericanUpcomingTaxDeadlineAlert.es.js.map +1 -1
  317. package/dist/insights/components/insights/BillAmountNotStandard/BillAmountNotStandard.es.js.map +1 -1
  318. package/dist/insights/components/insights/BillAmountNotStandard/BillAmountNotStandardMUI.es.js.map +1 -1
  319. package/dist/insights/components/insights/CashBack/CashBack.es.js.map +1 -1
  320. package/dist/insights/components/insights/CategoryBudget/CategoryBudget.es.js +17 -17
  321. package/dist/insights/components/insights/CategoryBudget/CategoryBudget.es.js.map +1 -1
  322. package/dist/insights/components/insights/CategorySpendingV2/CategorySpendingV2.es.js.map +1 -1
  323. package/dist/insights/components/insights/CategorySpendingV2/CategorySpendingV2MUI.es.js.map +1 -1
  324. package/dist/insights/components/insights/CelebrateCreditCardPayoff/CelebrateCreditCardPayoff.es.js.map +1 -1
  325. package/dist/insights/components/insights/CustomTransaction/CustomTransaction.es.js.map +1 -1
  326. package/dist/insights/components/insights/DiscoveredAccounts/DiscoveredAccountsBody.es.js.map +1 -1
  327. package/dist/insights/components/insights/DiscoveredAccounts/DiscoveredAccountsLearnMoreDrawerContent.es.js +6 -6
  328. package/dist/insights/components/insights/DiscoveredAccounts/DiscoveredAccountsLearnMoreDrawerContent.es.js.map +1 -1
  329. package/dist/insights/components/insights/DiscoveredAccounts/DiscoveredAccountsMiniInsight.es.js.map +1 -1
  330. package/dist/insights/components/insights/FederalBankHoliday/FederalBankHoliday.es.js.map +1 -1
  331. package/dist/insights/components/insights/FederalBankHoliday/FederalBankHolidayMUI.es.js.map +1 -1
  332. package/dist/insights/components/insights/MarketingHub/Offer.es.js.map +1 -1
  333. package/dist/insights/components/insights/MonthlyDebtToIncomeComparisonV2/MonthlyDebtToIncomeComparisonV2.es.js.map +1 -1
  334. package/dist/insights/components/insights/MonthlyEmergencyFundReview/LastMonthsContributionSection.es.js.map +1 -1
  335. package/dist/insights/components/insights/MonthlyEmergencyFundReview/MonthlyEmergencyFundReviewBody.es.js +38 -35
  336. package/dist/insights/components/insights/MonthlyEmergencyFundReview/MonthlyEmergencyFundReviewBody.es.js.map +1 -1
  337. package/dist/insights/components/insights/MonthlyEmergencyFundReview/ProjectedCompletionSection.es.js.map +1 -1
  338. package/dist/insights/components/insights/MonthlyEmergencyFundReview/TotalSection.es.js.map +1 -1
  339. package/dist/insights/components/insights/MonthlySavingsToIncomeComparison/MonthlySavingsToIncomeComparison.es.js.map +1 -1
  340. package/dist/insights/components/insights/MonthlySpendToIncomeComparisonV2/MonthlySpendToIncomeComparisonV2.es.js.map +1 -1
  341. package/dist/insights/components/insights/MonthlySpendingComparisonV2/MonthlySpendingComparisonV2.es.js.map +1 -1
  342. package/dist/insights/components/insights/P2pCategorization/P2pCategorization.es.js.map +1 -1
  343. package/dist/insights/components/insights/P2pCategorization/shared/P2pCategorizationMultipleTransactions.es.js.map +1 -1
  344. package/dist/insights/components/insights/P2pCategorization/shared/P2pCategorizationSingleTransaction.es.js.map +1 -1
  345. package/dist/insights/components/insights/SavingsAccountBalancesSummary/SavingsAccountBalancesSummary.es.js.map +1 -1
  346. package/dist/insights/components/insights/SharedDeposit/SharedDeposit.es.js.map +1 -1
  347. package/dist/insights/components/insights/SwitchDirectDeposit/AccountBox.es.js.map +1 -1
  348. package/dist/insights/components/insights/SwitchDirectDeposit/SwitchDirectDepositMainContainer.es.js.map +1 -1
  349. package/dist/insights/components/insights/UnifiedDeposit/UnifiedDeposit.es.js.map +1 -1
  350. package/dist/insights/components/insights/UnifiedDeposit/UnifiedDepositBody.es.js.map +1 -1
  351. package/dist/insights/components/insights/UserFeedback/UserFeedback.es.js.map +1 -1
  352. package/dist/insights/components/insights/WeeklyNoSpendDays/BubbleWeek.es.js.map +1 -1
  353. package/dist/insights/components/insights/WeeklyNoSpendDays/WeeklyNoSpendDays.es.js.map +1 -1
  354. package/dist/insights/components/shared/ChartDrawerTemplate/ChartDrawerTemplate.es.js +22 -22
  355. package/dist/insights/components/shared/ChartDrawerTemplate/ChartDrawerTemplate.es.js.map +1 -1
  356. package/dist/insights/components/shared/ChartDrawerTemplate/TipSection.es.js.map +1 -1
  357. package/dist/insights/components/shared/ChartTransactionWithDrillDown.es.js.map +1 -1
  358. package/dist/insights/components/shared/Charts/BarChart/BarChart.es.js.map +1 -1
  359. package/dist/insights/components/shared/Charts/BarChart/BarChartV2.es.js.map +1 -1
  360. package/dist/insights/components/shared/Charts/BarChart/ChartLegend.es.js.map +1 -1
  361. package/dist/insights/components/shared/Charts/BarChart/ChartLegendV2.es.js.map +1 -1
  362. package/dist/insights/components/shared/Charts/BarChart/CustomBarPlot.es.js.map +1 -1
  363. package/dist/insights/components/shared/Charts/BarChart/CustomBarPlotV2.es.js.map +1 -1
  364. package/dist/insights/components/shared/Charts/BarChart/CustomDoubleBarPlot.es.js.map +1 -1
  365. package/dist/insights/components/shared/Charts/BarChart/CustomDoubleBarPlotMXUI.es.js.map +1 -1
  366. package/dist/insights/components/shared/Charts/BarChart/DoubleBarChart.es.js.map +1 -1
  367. package/dist/insights/components/shared/Charts/BarChart/DoubleBarChartLegend.es.js.map +1 -1
  368. package/dist/insights/components/shared/Charts/BarChart/DoubleBarChartLegendMXUI.es.js.map +1 -1
  369. package/dist/insights/components/shared/Charts/BarChart/DoubleBarChartMXUI.es.js.map +1 -1
  370. package/dist/insights/components/shared/ConnectionCard.es.js.map +1 -1
  371. package/dist/insights/components/shared/Coupon.es.js.map +1 -1
  372. package/dist/insights/components/shared/DeepLinks/DeepLinkDialog.es.js.map +1 -1
  373. package/dist/insights/components/shared/DeepLinks/DirectDeposit/DirectDepositDeepLink.es.js.map +1 -1
  374. package/dist/insights/components/shared/DeepLinks/DirectDeposit/Dot.es.js.map +1 -1
  375. package/dist/insights/components/shared/DirectDeposit/DirectDeposit.es.js.map +1 -1
  376. package/dist/insights/components/shared/DirectDeposit/DirectDepositSubHeader.es.js.map +1 -1
  377. package/dist/insights/components/shared/DirectDeposit/FullFeedBodyHeader.es.js.map +1 -1
  378. package/dist/insights/components/shared/DirectDeposit/LeftBox.es.js.map +1 -1
  379. package/dist/insights/components/shared/DirectDeposit/MiniBodyHeader.es.js.map +1 -1
  380. package/dist/insights/components/shared/DirectDeposit/RightBox.es.js.map +1 -1
  381. package/dist/insights/components/shared/DiscoveredAccountsConnect.es.js.map +1 -1
  382. package/dist/insights/components/shared/DrillDownCalculation/BalanceStepper.es.js.map +1 -1
  383. package/dist/insights/components/shared/DrillDownCalculation/DrillDownCalculation.es.js.map +1 -1
  384. package/dist/insights/components/shared/ErrorCard/ErrorCard.es.js.map +1 -1
  385. package/dist/insights/components/shared/GenericFeedback/FeedbackButtons.es.js.map +1 -1
  386. package/dist/insights/components/shared/GenericFeedback/FeedbackDescription.es.js.map +1 -1
  387. package/dist/insights/components/shared/GenericFeedback/FeedbackHeader.es.js.map +1 -1
  388. package/dist/insights/components/shared/GenericFeedback/FeedbackOptions.es.js.map +1 -1
  389. package/dist/insights/components/shared/GenericFeedback/FeedbackText.es.js.map +1 -1
  390. package/dist/insights/components/shared/GoalProgress.es.js.map +1 -1
  391. package/dist/insights/components/shared/GradientBox.es.js.map +1 -1
  392. package/dist/insights/components/shared/InsightsCard/BeatCard.es.js.map +1 -1
  393. package/dist/insights/components/shared/InsightsCard/BeatCardMUI.es.js.map +1 -1
  394. package/dist/insights/components/shared/InsightsCard/CardButtonSection.es.js.map +1 -1
  395. package/dist/insights/components/shared/InsightsCard/CardError.es.js.map +1 -1
  396. package/dist/insights/components/shared/InsightsCard/CardFooter.es.js.map +1 -1
  397. package/dist/insights/components/shared/InsightsCard/CardLoading.es.js.map +1 -1
  398. package/dist/insights/components/shared/InsightsCard/ClientConfigurableCta.es.js.map +1 -1
  399. package/dist/insights/components/shared/InsightsCard/ContentAndDescription.es.js.map +1 -1
  400. package/dist/insights/components/shared/InsightsCard/ContentAndDescriptionMUI.es.js.map +1 -1
  401. package/dist/insights/components/shared/InsightsCard/Description.es.js.map +1 -1
  402. package/dist/insights/components/shared/InsightsCard/DescriptionMUI.es.js.map +1 -1
  403. package/dist/insights/components/shared/InsightsCard/EmbeddedCard.es.js.map +1 -1
  404. package/dist/insights/components/shared/InsightsCard/FeedbackCard.es.js +4 -4
  405. package/dist/insights/components/shared/InsightsCard/FeedbackCard.es.js.map +1 -1
  406. package/dist/insights/components/shared/InsightsCard/InsightButton.es.js.map +1 -1
  407. package/dist/insights/components/shared/MenuAction.es.js +4 -4
  408. package/dist/insights/components/shared/MenuAction.es.js.map +1 -1
  409. package/dist/insights/components/shared/MiniInsightCard.es.js.map +1 -1
  410. package/dist/insights/components/shared/P2P/P2PMultipleCategorization.es.js +23 -23
  411. package/dist/insights/components/shared/P2P/P2PMultipleCategorization.es.js.map +1 -1
  412. package/dist/insights/components/shared/P2PCategorizationSingleAccount/P2PCategorizationSingleAccount.es.js +24 -24
  413. package/dist/insights/components/shared/P2PCategorizationSingleAccount/P2PCategorizationSingleAccount.es.js.map +1 -1
  414. package/dist/insights/components/shared/ProgressBar.es.js.map +1 -1
  415. package/dist/insights/components/shared/SaveAnExtra100/SaveAnExtra100.es.js.map +1 -1
  416. package/dist/insights/components/shared/SaveEnoughToLiveOnBottomSection.es.js.map +1 -1
  417. package/dist/insights/components/shared/StatusIndicator.es.js.map +1 -1
  418. package/dist/insights/components/shared/ThemedSVGImage.es.js.map +1 -1
  419. package/dist/insights/components/shared/TransactionCard.es.js.map +1 -1
  420. package/dist/insights/components/shared/ZeroState/LinedCardZeroState.es.js.map +1 -1
  421. package/dist/investments/InvestmentsWidget.es.js.map +1 -1
  422. package/dist/investments/components/Allocation.es.js.map +1 -1
  423. package/dist/investments/components/Analysis.es.js.map +1 -1
  424. package/dist/investments/components/AnalysisDetails.es.js.map +1 -1
  425. package/dist/investments/components/EmptyStateFooterComponent.es.js.map +1 -1
  426. package/dist/investments/components/HeaderCell.es.js.map +1 -1
  427. package/dist/investments/components/HoldingDrawer.es.js.map +1 -1
  428. package/dist/investments/components/HoldingTable.es.js +167 -164
  429. package/dist/investments/components/HoldingTable.es.js.map +1 -1
  430. package/dist/investments/components/InfoToolTip.es.js.map +1 -1
  431. package/dist/investments/components/Overview.es.js.map +1 -1
  432. package/dist/investments/components/TabTitle.es.js.map +1 -1
  433. package/dist/investments/components/allocation/InvestementAllocationList.es.js.map +1 -1
  434. package/dist/investments/components/allocation/InvestmentsAllocationChart.es.js.map +1 -1
  435. package/dist/merchants/components/MerchantLookup.es.js.map +1 -1
  436. package/dist/microinsights/InsightsMicroWidget.es.js.map +1 -1
  437. package/dist/microinsights/MicroCardTemplate.es.js.map +1 -1
  438. package/dist/microinsights/Spinner.es.js.map +1 -1
  439. package/dist/microinsights/beaticons/BeatCategoryIcon.es.js +8 -8
  440. package/dist/microinsights/beaticons/BeatCategoryIcon.es.js.map +1 -1
  441. package/dist/microinsights/beaticons/BeatMaterialIcon.es.js.map +1 -1
  442. package/dist/microinsights/beaticons/ChartFilledIcon.es.js.map +1 -1
  443. package/dist/microinsights/beaticons/ZeroStateIcon.es.js.map +1 -1
  444. package/dist/microinsights/cards/ViewMoreMicroCard.d.ts +1 -0
  445. package/dist/microinsights/cards/ViewMoreMicroCard.es.js.map +1 -1
  446. package/dist/microinsights/carousel/BeatList.es.js +17 -17
  447. package/dist/microinsights/carousel/BeatList.es.js.map +1 -1
  448. package/dist/microinsights/carousel/CarouselControls.es.js.map +1 -1
  449. package/dist/microinsights/carousel/CarouselHeader.es.js.map +1 -1
  450. package/dist/microinsights/carousel/MicroBeatCarousel.es.js.map +1 -1
  451. package/dist/microinsights/constants/Analytics.es.js.map +1 -1
  452. package/dist/networth/NetWorthMicroWidget.es.js.map +1 -1
  453. package/dist/networth/NetWorthWidget.es.js.map +1 -1
  454. package/dist/networth/components/AssetsLiabilitiesDetail.es.js +1 -1
  455. package/dist/networth/components/AssetsLiabilitiesDetail.es.js.map +1 -1
  456. package/dist/networth/components/GainsLossesDetail.es.js.map +1 -1
  457. package/dist/networth/components/NetWorthChange.es.js.map +1 -1
  458. package/dist/networth/components/NetWorthChart.es.js.map +1 -1
  459. package/dist/networth/components/NetWorthList.es.js.map +1 -1
  460. package/dist/networth/components/NetWorthListItem.es.js.map +1 -1
  461. package/dist/networth/components/NetWorthSummary.es.js.map +1 -1
  462. package/dist/networth/components/micro/NetworthData.es.js.map +1 -1
  463. package/dist/networth/components/micro/ZeroState.es.js.map +1 -1
  464. package/dist/notifications/components/DateRow.es.js.map +1 -1
  465. package/dist/notifications/components/NotificationBadge.es.js.map +1 -1
  466. package/dist/notifications/components/NotificationCard.es.js.map +1 -1
  467. package/dist/notifications/components/NotificationDrawer.es.js.map +1 -1
  468. package/dist/notifications/components/NotificationList.es.js +33 -30
  469. package/dist/notifications/components/NotificationList.es.js.map +1 -1
  470. package/dist/notifications/components/NotificationsEmptyState.es.js.map +1 -1
  471. package/dist/recurringtransactions/RecurringTransactionsMicroWidget.es.js.map +1 -1
  472. package/dist/recurringtransactions/RecurringTransactionsMiniWidget.es.js.map +1 -1
  473. package/dist/recurringtransactions/RecurringTransactionsWidget.es.js.map +1 -1
  474. package/dist/recurringtransactions/ZeroStateMicroWidget.es.js.map +1 -1
  475. package/dist/recurringtransactions/components/MicroWidgetContent.es.js.map +1 -1
  476. package/dist/recurringtransactions/components/MiniWidgetContent.es.js.map +1 -1
  477. package/dist/recurringtransactions/components/PaymentSchedule.es.js.map +1 -1
  478. package/dist/recurringtransactions/components/RecurrenceBadges.es.js.map +1 -1
  479. package/dist/recurringtransactions/components/RecurrenceList.es.js.map +1 -1
  480. package/dist/recurringtransactions/components/RecurrenceRow.es.js.map +1 -1
  481. package/dist/recurringtransactions/components/RecurringSettingsDrawer.es.js.map +1 -1
  482. package/dist/recurringtransactions/components/RecurringStatus.es.js.map +1 -1
  483. package/dist/recurringtransactions/components/RecurringTransactionDetails.es.js.map +1 -1
  484. package/dist/recurringtransactions/components/RecurringTransactionDetailsDrawer.es.js.map +1 -1
  485. package/dist/recurringtransactions/components/RecurringTransactionList.es.js.map +1 -1
  486. package/dist/recurringtransactions/components/RecurringTransactions.es.js.map +1 -1
  487. package/dist/recurringtransactions/components/UpcomingRecurrenceCard.es.js.map +1 -1
  488. package/dist/recurringtransactions/components/actions/LinkTransactionDrawer.es.js.map +1 -1
  489. package/dist/recurringtransactions/components/actions/MarkAsPaidDialog.es.js.map +1 -1
  490. package/dist/recurringtransactions/components/actions/MarkAsUnpaidDialog.es.js.map +1 -1
  491. package/dist/recurringtransactions/components/actions/PaymentScheduleAction.es.js.map +1 -1
  492. package/dist/recurringtransactions/components/micro/MerchantLogosRow.es.js.map +1 -1
  493. package/dist/recurringtransactions/components/micro/OverlappingMerchantLogos.es.js.map +1 -1
  494. package/dist/recurringtransactions/components/micro/RecurrenceLegend.es.js.map +1 -1
  495. package/dist/recurringtransactions/components/recurrencecalendar/Legend.es.js.map +1 -1
  496. package/dist/recurringtransactions/components/recurrencecalendar/RecurrenceCalendar.es.js.map +1 -1
  497. package/dist/recurringtransactions/components/recurrencecalendar/RecurrenceDay.es.js.map +1 -1
  498. package/dist/recurringtransactions/components/shared/RecurringSettings.es.js.map +1 -1
  499. package/dist/recurringtransactions/components/shared/recurringsettings/AddRecurringTransaction.es.js.map +1 -1
  500. package/dist/recurringtransactions/components/shared/recurringsettings/AddRecurringTransactionDetails.es.js.map +1 -1
  501. package/dist/recurringtransactions/components/shared/recurringsettings/ManageExpenses.es.js.map +1 -1
  502. package/dist/recurringtransactions/components/shared/recurringsettings/ManageIncome.es.js.map +1 -1
  503. package/dist/recurringtransactions/components/shared/recurringsettings/RecurringRow.es.js.map +1 -1
  504. package/dist/recurringtransactions/components/shared/recurringsettings/RecurringSettingsZeroState.es.js.map +1 -1
  505. package/dist/recurringtransactions/components/shared/recurringsettings/SelectTransaction.es.js.map +1 -1
  506. package/dist/settings/NotificationSettingsWidget.es.js.map +1 -1
  507. package/dist/settings/SettingsWidget.es.js.map +1 -1
  508. package/dist/settings/TransactionRulesWidget.es.js.map +1 -1
  509. package/dist/settings/components/SettingsWidgetContents.es.js.map +1 -1
  510. package/dist/settings/components/devices/DeviceDialog.es.js.map +1 -1
  511. package/dist/settings/components/devices/DeviceList.es.js.map +1 -1
  512. package/dist/settings/components/devices/DeviceTab.es.js.map +1 -1
  513. package/dist/settings/components/devices/DeviceTable.es.js +82 -82
  514. package/dist/settings/components/devices/DeviceTable.es.js.map +1 -1
  515. package/dist/settings/components/notifications/AccountNotificationProfile.es.js.map +1 -1
  516. package/dist/settings/components/notifications/AccountNotificationProfiles.es.js.map +1 -1
  517. package/dist/settings/components/notifications/AccountProfileListItem.es.js.map +1 -1
  518. package/dist/settings/components/notifications/DeliveryMethods.es.js.map +1 -1
  519. package/dist/settings/components/notifications/NotificationProfile.es.js.map +1 -1
  520. package/dist/settings/components/notifications/NotificationSettings.es.js.map +1 -1
  521. package/dist/settings/components/notifications/PersonalDetails.es.js.map +1 -1
  522. package/dist/settings/components/profile/ProfileTab.es.js.map +1 -1
  523. package/dist/settings/components/profile/actions/VerifyEmailAction.es.js.map +1 -1
  524. package/dist/settings/components/profile/actions/VerifyPhoneAction.es.js.map +1 -1
  525. package/dist/settings/components/profile/actions/VerifyTokenAction.es.js.map +1 -1
  526. package/dist/settings/components/transactionrules/TransactionRulesTab.es.js.map +1 -1
  527. package/dist/settings/components/transactionrules/actions/DeleteRuleAction.es.js.map +1 -1
  528. package/dist/settings/components/transactionrules/actions/EditPayeeAction.es.js.map +1 -1
  529. package/dist/settings/components/transactionrules/components/EditRuleDetails.es.js.map +1 -1
  530. package/dist/settings/components/transactionrules/components/RuleListItem.es.js +24 -21
  531. package/dist/settings/components/transactionrules/components/RuleListItem.es.js.map +1 -1
  532. package/dist/spending/SpendingMiniWidget.es.js.map +1 -1
  533. package/dist/spending/SpendingWidget.es.js +48 -39
  534. package/dist/spending/SpendingWidget.es.js.map +1 -1
  535. package/dist/spending/components/MiniSpendingChart.es.js.map +1 -1
  536. package/dist/spending/components/Spending.es.js.map +1 -1
  537. package/dist/spending/components/SpendingChart.es.js.map +1 -1
  538. package/dist/spending/components/SpendingDonut.es.js.map +1 -1
  539. package/dist/spending/components/SpendingLegend.es.js.map +1 -1
  540. package/dist/spending/components/SpendingList.es.js.map +1 -1
  541. package/dist/spending/components/SpendingTabLabel.es.js.map +1 -1
  542. package/dist/transactions/TransactionWidget.es.js.map +1 -1
  543. package/dist/transactions/components/shared/TransactionDetails.es.js.map +1 -1
  544. package/dist/transactions/components/shared/TransactionList.es.js.map +1 -1
  545. package/dist/transactions/components/shared/TransactionTable.es.js.map +1 -1
  546. package/dist/transactions/components/shared/transactiondetails/Description.es.js.map +1 -1
  547. package/dist/transactions/components/shared/transactiondetails/FlagTransaction.es.js.map +1 -1
  548. package/dist/transactions/components/shared/transactiondetails/ManualTransactionDetails.es.js.map +1 -1
  549. package/dist/transactions/components/shared/transactiondetails/TransactionAmountHeader.es.js.map +1 -1
  550. package/dist/transactions/components/shared/transactiondetails/TransactionDetailsView.es.js.map +1 -1
  551. package/dist/transactions/components/shared/transactiondetails/actions/AddMerchantBudgetAction.es.js +7 -7
  552. package/dist/transactions/components/shared/transactiondetails/actions/AddMerchantBudgetAction.es.js.map +1 -1
  553. package/dist/transactions/components/shared/transactiondetails/actions/CategoryAction.es.js +29 -29
  554. package/dist/transactions/components/shared/transactiondetails/actions/CategoryAction.es.js.map +1 -1
  555. package/dist/transactions/components/shared/transactiondetails/actions/DateAction.es.js +36 -36
  556. package/dist/transactions/components/shared/transactiondetails/actions/DateAction.es.js.map +1 -1
  557. package/dist/transactions/components/shared/transactiondetails/actions/DeleteAction.es.js +7 -7
  558. package/dist/transactions/components/shared/transactiondetails/actions/DeleteAction.es.js.map +1 -1
  559. package/dist/transactions/components/shared/transactiondetails/actions/DeleteLogoAction.es.js +7 -7
  560. package/dist/transactions/components/shared/transactiondetails/actions/DeleteLogoAction.es.js.map +1 -1
  561. package/dist/transactions/components/shared/transactiondetails/actions/ExcludeAction.es.js +7 -7
  562. package/dist/transactions/components/shared/transactiondetails/actions/ExcludeAction.es.js.map +1 -1
  563. package/dist/transactions/components/shared/transactiondetails/actions/MemoAction.es.js +24 -24
  564. package/dist/transactions/components/shared/transactiondetails/actions/MemoAction.es.js.map +1 -1
  565. package/dist/transactions/components/shared/transactiondetails/actions/SplitAction.es.js +40 -40
  566. package/dist/transactions/components/shared/transactiondetails/actions/SplitAction.es.js.map +1 -1
  567. package/dist/transactions/components/shared/transactiondetails/actions/TagsAction.es.js +34 -34
  568. package/dist/transactions/components/shared/transactiondetails/actions/TagsAction.es.js.map +1 -1
  569. package/dist/transactions/components/shared/transactionlist/TransactionRow.es.js.map +1 -1
  570. package/dist/transactions/components/shared/transactionlist/ZeroState.es.js.map +1 -1
  571. package/dist/transactions/components/shared/transactiontable/cells/AccountCell.es.js.map +1 -1
  572. package/dist/transactions/components/shared/transactiontable/cells/AmountCell.es.js.map +1 -1
  573. package/dist/transactions/components/shared/transactiontable/cells/CategoryCell.es.js.map +1 -1
  574. package/dist/transactions/components/shared/transactiontable/cells/DateCell.es.js.map +1 -1
  575. package/dist/transactions/components/shared/transactiontable/cells/FlagCell.es.js.map +1 -1
  576. package/dist/transactions/components/shared/transactiontable/cells/HeaderCell.es.js.map +1 -1
  577. package/dist/transactions/components/shared/transactiontable/cells/PayeeCell.es.js.map +1 -1
  578. package/dist/transactions/components/splitmanager/SplitManager.es.js.map +1 -1
  579. package/dist/transactions/components/splitmanager/SplitRow.es.js.map +1 -1
  580. package/dist/transactions/components/tagmanager/Header.es.js.map +1 -1
  581. package/dist/transactions/components/tagmanager/SearchBox.es.js.map +1 -1
  582. package/dist/transactions/components/tagmanager/TagManager.es.js.map +1 -1
  583. package/dist/transactions/components/tagmanager/TagRow.es.js +4 -4
  584. package/dist/transactions/components/tagmanager/TagRow.es.js.map +1 -1
  585. package/dist/transactions/components/transactionwidget/AddAccountModal.es.js.map +1 -1
  586. package/dist/transactions/components/transactionwidget/actions/EditCategoryAction.es.js.map +1 -1
  587. package/dist/transactions/components/transactionwidget/actions/ExportCsvAction.es.js.map +1 -1
  588. package/dist/transactions/utils/Transactions.es.js +20 -12
  589. package/dist/transactions/utils/Transactions.es.js.map +1 -1
  590. package/dist/trends/TrendsFullWidget.es.js +47 -47
  591. package/dist/trends/TrendsFullWidget.es.js.map +1 -1
  592. package/dist/trends/TrendsMicroWidget.es.js.map +1 -1
  593. package/dist/trends/TrendsMiniWidget.es.js.map +1 -1
  594. package/dist/trends/TrendsWidget.es.js +88 -89
  595. package/dist/trends/TrendsWidget.es.js.map +1 -1
  596. package/dist/trends/ZeroStateMicroWidget.es.js.map +1 -1
  597. package/dist/trends/components/CategoriesList.es.js.map +1 -1
  598. package/dist/trends/components/CategoryDetailChart.es.js.map +1 -1
  599. package/dist/trends/components/CategoryDetails.es.js.map +1 -1
  600. package/dist/trends/components/DateRangeText.es.js.map +1 -1
  601. package/dist/trends/components/TrendsChart.es.js.map +1 -1
  602. package/dist/trends/components/TrendsDrawer.es.js.map +1 -1
  603. package/dist/trends/components/TrendsInsights.es.js +21 -21
  604. package/dist/trends/components/TrendsInsights.es.js.map +1 -1
  605. package/dist/trends/components/TrendsMicroSpendingIncomeBox.es.js.map +1 -1
  606. package/dist/trends/components/TrendsTableContainer.es.js.map +1 -1
  607. package/dist/trends/components/TrendsViewToggle.es.js.map +1 -1
  608. package/dist/trends/components/trendstable/AccessibleSortIcon.es.js.map +1 -1
  609. package/dist/trends/components/trendstable/AmountCell.es.js.map +1 -1
  610. package/dist/trends/components/trendstable/CategoryCell.es.js.map +1 -1
  611. package/dist/trends/components/trendstable/HeaderCell.es.js.map +1 -1
  612. package/package.json +36 -35
@@ -1 +1 @@
1
- {"version":3,"file":"CashflowWidget.es.js","names":[],"sources":["../../src/cashflow/CashflowWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Alert from '@mui/material/Alert'\nimport Snackbar from '@mui/material/Snackbar'\n\nimport {\n ANALYTICS_EVENTS,\n Drawer,\n Loader,\n useAccountStore,\n useAppConfig,\n useEvent,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useTransactionStore,\n useWidgetLoadTimer,\n WidgetContainer,\n} from '../common'\nimport { AccountType, WidgetProps } from '../core'\n\nimport { RecurringSettings } from '../recurringtransactions'\n\nimport CashflowContent from './components/CashflowContent'\nimport CashflowHeading from './components/CashflowHeading'\nimport { useCashflowUiStore } from './context/hooks'\nimport { subDays } from 'date-fns/subDays'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { endOfToday } from 'date-fns/endOfToday'\n\nconst CashflowWidget: React.FC<WidgetProps> = ({ onBackClick, onMenuClick, sx = {} }) => {\n const { selectedAccounts, selectedAccountGuids, shouldDisableNextDate, shouldDisablePrevDate } =\n useGlobalUiStore()\n\n const { onEvent } = useEvent()\n const { clientConfig } = useAppConfig()\n const { visibleCashAccounts: cashAccounts } = useAccountStore()\n const { setFilter } = useTransactionStore()\n const { dateRange } = useCashflowUiStore()\n const { alert, loadRepeatingTransactionData, isDataLoaded, setAlert } =\n useRecurringTransactionsStore()\n const { cashflow: customCopy, recurring: recurringCopy } = useGlobalCopyStore()\n const { isInitialized } = useGlobalUiStore()\n\n const view = clientConfig?.master?.deep_link_params?.view\n const isManageIncomeView = view === 'manage_income'\n const [isSettingsOpen, setIsSettingsOpen] = React.useState(isManageIncomeView)\n\n React.useEffect(() => {\n if (!isDataLoaded) {\n loadRepeatingTransactionData().finally()\n }\n }, [])\n\n React.useEffect(() => {\n const cashAccountGuids = cashAccounts.map((account) => account.guid)\n const selAccts = selectedAccounts.filter(\n (account) =>\n selectedAccountGuids.includes(account.guid) && cashAccountGuids.includes(account.guid),\n )\n setFilter({\n dateRange: { start: subDays(startOfToday(), 90), end: endOfToday() },\n accounts: selAccts.map((a) => a.guid),\n })\n }, [cashAccounts, selectedAccounts])\n\n useWidgetLoadTimer({\n widgetName: 'CashflowWidget',\n isLoaded: isDataLoaded,\n })\n\n if (!isInitialized) return <Loader />\n\n return (\n <WidgetContainer\n actions={[\n {\n label: recurringCopy.action_title,\n iconName: 'credit_card_gear',\n onClick: () => {\n setIsSettingsOpen(true)\n onEvent(ANALYTICS_EVENTS.CASH_FLOW_CLICK_SETTINGS)\n },\n },\n ]}\n allowedAccountTypes={[\n AccountType.CASH,\n AccountType.CHECKING,\n AccountType.PREPAID,\n AccountType.SAVINGS,\n AccountType.CHECKING_LINE_OF_CREDIT,\n ]}\n calendarActions={{\n shouldDisableNext: shouldDisableNextDate,\n shouldDisablePrevious: shouldDisablePrevDate,\n shouldDisablePicker: true,\n onRangeChanged: () => {},\n }}\n dateRange={dateRange}\n dateRangeVariant=\"readonly\"\n hasDivider={true}\n onAccountsFilterClick={() => onEvent(ANALYTICS_EVENTS.CASH_FLOW_CLICK_FILTER)}\n onBackClick={onBackClick}\n onMenuClick={onMenuClick}\n sx={sx}\n title={customCopy.title}\n >\n <CashflowHeading />\n\n <CashflowContent />\n\n <Drawer\n ariaLabelClose={customCopy.close_settings_aria}\n isOpen={isSettingsOpen}\n onClose={() => setIsSettingsOpen(false)}\n shouldShowHeaderBorders={false}\n title={recurringCopy.action_title}\n >\n <RecurringSettings defaultSelectedTab={isManageIncomeView ? 1 : 0} />\n </Drawer>\n <Snackbar\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n autoHideDuration={3500}\n onClose={(_event, reason) => {\n if (reason === 'clickaway') return\n setAlert('', alert.severity)\n }}\n open={Boolean(alert.message)}\n >\n <Alert\n onClose={() => setAlert('', alert.severity)}\n severity={alert.severity}\n variant=\"filled\"\n >\n {alert.message}\n </Alert>\n </Snackbar>\n </WidgetContainer>\n )\n}\n\nexport default observer(CashflowWidget)\n"],"mappings":"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"}
1
+ {"version":3,"file":"CashflowWidget.es.js","names":[],"sources":["../../src/cashflow/CashflowWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Alert from '@mui/material/Alert'\nimport Snackbar from '@mui/material/Snackbar'\n\nimport {\n ANALYTICS_EVENTS,\n Drawer,\n Loader,\n useAccountStore,\n useAppConfig,\n useEvent,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useTransactionStore,\n useWidgetLoadTimer,\n WidgetContainer,\n} from '../common'\nimport { AccountType, WidgetProps } from '../core'\n\nimport { RecurringSettings } from '../recurringtransactions'\n\nimport CashflowContent from './components/CashflowContent'\nimport CashflowHeading from './components/CashflowHeading'\nimport { useCashflowUiStore } from './context/hooks'\nimport { subDays } from 'date-fns/subDays'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { endOfToday } from 'date-fns/endOfToday'\n\nconst CashflowWidget: React.FC<WidgetProps> = ({ onBackClick, onMenuClick, sx = {} }) => {\n const { selectedAccounts, selectedAccountGuids, shouldDisableNextDate, shouldDisablePrevDate } =\n useGlobalUiStore()\n\n const { onEvent } = useEvent()\n const { clientConfig } = useAppConfig()\n const { visibleCashAccounts: cashAccounts } = useAccountStore()\n const { setFilter } = useTransactionStore()\n const { dateRange } = useCashflowUiStore()\n const { alert, loadRepeatingTransactionData, isDataLoaded, setAlert } =\n useRecurringTransactionsStore()\n const { cashflow: customCopy, recurring: recurringCopy } = useGlobalCopyStore()\n const { isInitialized } = useGlobalUiStore()\n\n const view = clientConfig?.master?.deep_link_params?.view\n const isManageIncomeView = view === 'manage_income'\n const [isSettingsOpen, setIsSettingsOpen] = React.useState(isManageIncomeView)\n\n React.useEffect(() => {\n if (!isDataLoaded) {\n loadRepeatingTransactionData().finally()\n }\n }, [])\n\n React.useEffect(() => {\n const cashAccountGuids = cashAccounts.map((account) => account.guid)\n const selAccts = selectedAccounts.filter(\n (account) =>\n selectedAccountGuids.includes(account.guid) && cashAccountGuids.includes(account.guid),\n )\n setFilter({\n dateRange: { start: subDays(startOfToday(), 90), end: endOfToday() },\n accounts: selAccts.map((a) => a.guid),\n })\n }, [cashAccounts, selectedAccounts])\n\n useWidgetLoadTimer({\n widgetName: 'CashflowWidget',\n isLoaded: isDataLoaded,\n })\n\n if (!isInitialized) return <Loader />\n\n return (\n <WidgetContainer\n actions={[\n {\n label: recurringCopy.action_title,\n iconName: 'credit_card_gear',\n onClick: () => {\n setIsSettingsOpen(true)\n onEvent(ANALYTICS_EVENTS.CASH_FLOW_CLICK_SETTINGS)\n },\n },\n ]}\n allowedAccountTypes={[\n AccountType.CASH,\n AccountType.CHECKING,\n AccountType.PREPAID,\n AccountType.SAVINGS,\n AccountType.CHECKING_LINE_OF_CREDIT,\n ]}\n calendarActions={{\n shouldDisableNext: shouldDisableNextDate,\n shouldDisablePrevious: shouldDisablePrevDate,\n shouldDisablePicker: true,\n onRangeChanged: () => {},\n }}\n dateRange={dateRange}\n dateRangeVariant=\"readonly\"\n hasDivider={true}\n onAccountsFilterClick={() => onEvent(ANALYTICS_EVENTS.CASH_FLOW_CLICK_FILTER)}\n onBackClick={onBackClick}\n onMenuClick={onMenuClick}\n sx={sx}\n title={customCopy.title}\n >\n <CashflowHeading />\n\n <CashflowContent />\n\n <Drawer\n ariaLabelClose={customCopy.close_settings_aria}\n isOpen={isSettingsOpen}\n onClose={() => setIsSettingsOpen(false)}\n shouldShowHeaderBorders={false}\n title={recurringCopy.action_title}\n >\n <RecurringSettings defaultSelectedTab={isManageIncomeView ? 1 : 0} />\n </Drawer>\n <Snackbar\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n autoHideDuration={3500}\n onClose={(_event, reason) => {\n if (reason === 'clickaway') return\n setAlert('', alert.severity)\n }}\n open={Boolean(alert.message)}\n >\n <Alert\n onClose={() => setAlert('', alert.severity)}\n severity={alert.severity}\n variant=\"filled\"\n >\n {alert.message}\n </Alert>\n </Snackbar>\n </WidgetContainer>\n )\n}\n\nexport default observer(CashflowWidget)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CashflowAmountHeading.es.js","names":[],"sources":["../../../src/cashflow/components/CashflowAmountHeading.tsx"],"sourcesContent":["import React from 'react'\n\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { CurrencyText } from '../../common/components/CurrencyText'\n\ninterface CashflowAmountHeadingProps {\n amount: number\n isMobile?: boolean\n isTotal?: boolean\n label: string\n symbol?: string\n tooltip?: React.ReactNode\n}\n\nconst CashflowAmountHeading: React.FC<CashflowAmountHeadingProps> = ({\n amount,\n isMobile = false,\n isTotal = false,\n label,\n symbol,\n tooltip,\n}) => {\n return (\n <Stack\n bgcolor={isTotal ? 'background.default' : 'transparent'}\n direction={isMobile ? 'row' : 'column'}\n justifyContent={isMobile ? 'space-between' : 'initial'}\n padding={isMobile ? '14px 16px' : 0}\n sx={{ borderBottomLeftRadius: 4, borderBottomRightRadius: 4 }}\n >\n {!isMobile && <CurrencyText amount={amount} component=\"h2\" variant=\"h2\" />}\n <Stack alignItems=\"center\" component=\"span\" direction=\"row\" gap={8} mt={2}>\n <Text bold={isTotal} variant=\"body2\">\n {label}\n </Text>\n {tooltip}\n </Stack>\n {isMobile && <CurrencyText amount={amount} component=\"h2\" symbol={symbol} variant=\"body2\" />}\n </Stack>\n )\n}\n\nexport default CashflowAmountHeading\n"],"mappings":";;;;;AAiBA,IAAM,IAAA,CAA+D,EACnE,QAAA,GACA,UAAA,IAAW,IACX,SAAA,IAAU,IACV,OAAA,GACA,QAAA,GACA,SAAA,EAAA,MAGE,gBAAA,EAAC,GAAD;AAAA,EACE,SAAS,IAAU,uBAAuB;AAAA,EAC1C,WAAW,IAAW,QAAQ;AAAA,EAC9B,gBAAgB,IAAW,kBAAkB;AAAA,EAC7C,SAAS,IAAW,cAAc;AAAA,EAClC,IAAI;AAAA,IAAE,wBAAwB;AAAA,IAAG,yBAAyB;AAAA,EAAE;AAAA,YAL9D;AAAA,IAOG,CAAC,KAAY,gBAAA,EAAC,GAAD;AAAA,MAAsB,QAAA;AAAA,MAAQ,WAAU;AAAA,MAAK,SAAQ;AAAA,IAAM,CAAA;AAAA,IACzE,gBAAA,EAAC,GAAD;AAAA,MAAO,YAAW;AAAA,MAAS,WAAU;AAAA,MAAO,WAAU;AAAA,MAAM,KAAK;AAAA,MAAG,IAAI;AAAA,gBAAxE,CACE,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAS,SAAQ;AAAA,kBAC1B;AAAA,MACG,CAAA,GACL,CACI;AAAA;IACN,KAAY,gBAAA,EAAC,GAAD;AAAA,MAAsB,QAAA;AAAA,MAAQ,WAAU;AAAA,MAAa,QAAA;AAAA,MAAQ,SAAQ;AAAA,IAAS,CAAA;AAAA,EACtF"}
1
+ {"version":3,"file":"CashflowAmountHeading.es.js","names":[],"sources":["../../../src/cashflow/components/CashflowAmountHeading.tsx"],"sourcesContent":["import React from 'react'\n\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { CurrencyText } from '../../common/components/CurrencyText'\n\ninterface CashflowAmountHeadingProps {\n amount: number\n isMobile?: boolean\n isTotal?: boolean\n label: string\n symbol?: string\n tooltip?: React.ReactNode\n}\n\nconst CashflowAmountHeading: React.FC<CashflowAmountHeadingProps> = ({\n amount,\n isMobile = false,\n isTotal = false,\n label,\n symbol,\n tooltip,\n}) => {\n return (\n <Stack\n bgcolor={isTotal ? 'background.default' : 'transparent'}\n direction={isMobile ? 'row' : 'column'}\n justifyContent={isMobile ? 'space-between' : 'initial'}\n padding={isMobile ? '14px 16px' : 0}\n sx={{ borderBottomLeftRadius: 4, borderBottomRightRadius: 4 }}\n >\n {!isMobile && <CurrencyText amount={amount} component=\"h2\" variant=\"h2\" />}\n <Stack alignItems=\"center\" component=\"span\" direction=\"row\" gap={8} mt={2}>\n <Text bold={isTotal} variant=\"body2\">\n {label}\n </Text>\n {tooltip}\n </Stack>\n {isMobile && <CurrencyText amount={amount} component=\"h2\" symbol={symbol} variant=\"body2\" />}\n </Stack>\n )\n}\n\nexport default CashflowAmountHeading\n"],"mappings":";;;;;AAiBA,IAAM,IAAA,CAA+D,EACnE,QAAA,GACA,UAAA,IAAW,IACX,SAAA,IAAU,IACV,OAAA,GACA,QAAA,GACA,SAAA,EAAA,MAGE,gBAAA,EAAC,GAAD;AAAA,EACE,SAAS,IAAU,uBAAuB;AAAA,EAC1C,WAAW,IAAW,QAAQ;AAAA,EAC9B,gBAAgB,IAAW,kBAAkB;AAAA,EAC7C,SAAS,IAAW,cAAc;AAAA,EAClC,IAAI;AAAA,IAAE,wBAAwB;AAAA,IAAG,yBAAyB;AAAA,EAAE;AAAA,EAL9D,UAAA;AAAA,IAOG,CAAC,KAAY,gBAAA,EAAC,GAAD;AAAA,MAAsB,QAAA;AAAA,MAAQ,WAAU;AAAA,MAAK,SAAQ;AAAA,IAAM,CAAA;AAAA,IACzE,gBAAA,EAAC,GAAD;AAAA,MAAO,YAAW;AAAA,MAAS,WAAU;AAAA,MAAO,WAAU;AAAA,MAAM,KAAK;AAAA,MAAG,IAAI;AAAA,MAAxE,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAS,SAAQ;AAAA,QAC1B,UAAA;AAAA,MACG,CAAA,GACL,CACI;AAAA;IACN,KAAY,gBAAA,EAAC,GAAD;AAAA,MAAsB,QAAA;AAAA,MAAQ,WAAU;AAAA,MAAa,QAAA;AAAA,MAAQ,SAAQ;AAAA,IAAS,CAAA;AAAA,EACtF"}
@@ -1 +1 @@
1
- {"version":3,"file":"CashflowContent.es.js","names":[],"sources":["../../../src/cashflow/components/CashflowContent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Tabs from '@mui/material/Tabs'\nimport Tab from '@mui/material/Tab'\n\nimport DetailsTab from './DetailsTab'\nimport SummaryTab from './SummaryTab'\nimport { TabContentContainer, useEvent, useGlobalCopyStore, useScreenSize } from '../../common'\n\nconst CashflowContent: React.FC = () => {\n const { cashflow: customCopy } = useGlobalCopyStore()\n const { isDesktop } = useScreenSize()\n const { onEvent } = useEvent()\n\n const [value, setValue] = React.useState(0)\n\n const handleChange = (_event: React.SyntheticEvent, newValue: number) => {\n setValue(newValue)\n }\n\n React.useEffect(() => {\n onEvent(value === 0 ? 'cash_flow_summary' : 'cash_flow_details')\n }, [value])\n\n return (\n <Box>\n <Tabs\n aria-label={customCopy.cashflow_summary_and_details}\n centered={true}\n onChange={handleChange}\n textColor=\"primary\"\n value={value}\n variant=\"fullWidth\"\n >\n <Tab\n aria-controls=\"cashflow-tabpanel-0\"\n id=\"cashflow-tab-0\"\n label={customCopy.summary}\n sx={{\n textTransform: 'none',\n }}\n />\n <Tab\n aria-controls=\"cashflow-tabpanel-1\"\n id=\"cashflow-tab-1\"\n label={customCopy.details}\n sx={{\n textTransform: 'none',\n }}\n />\n </Tabs>\n <Box sx={{ mb: 32 }} />\n <TabContentContainer index={0} name=\"cashflow\" value={value}>\n <Box sx={{ m: isDesktop ? 48 : 16 }}>\n <SummaryTab />\n </Box>\n </TabContentContainer>\n <TabContentContainer index={1} name=\"cashflow\" value={value}>\n <Box sx={{ m: isDesktop ? 48 : 16 }}>\n <DetailsTab />\n </Box>\n </TabContentContainer>\n </Box>\n )\n}\n\nexport default observer(CashflowContent)\n"],"mappings":";;;;;;;;;;;AAWA,IAAM,IAAA,MAAkC;AACtC,QAAM,EAAE,UAAU,EAAA,IAAe,EAAmB,GAC9C,EAAE,WAAA,EAAA,IAAc,EAAc,GAC9B,EAAE,SAAA,EAAA,IAAY,EAAS,GAEvB,CAAC,GAAO,CAAA,IAAY,EAAM,SAAS,CAAC,GAEpC,IAAA,CAAgB,GAA8B,MAAqB;AACvE,IAAA,EAAS,CAAQ;AAAA,EACnB;AAEA,SAAA,EAAM,UAAA,MAAgB;AACpB,IAAA,EAAQ,MAAU,IAAI,sBAAsB,mBAAmB;AAAA,EACjE,GAAG,CAAC,CAAK,CAAC,GAGR,gBAAA,EAAC,GAAD,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MACE,cAAY,EAAW;AAAA,MACvB,UAAU;AAAA,MACV,UAAU;AAAA,MACV,WAAU;AAAA,MACH,OAAA;AAAA,MACP,SAAQ;AAAA,gBANV,CAQE,gBAAA,EAAC,GAAD;AAAA,QACE,iBAAc;AAAA,QACd,IAAG;AAAA,QACH,OAAO,EAAW;AAAA,QAClB,IAAI,EACF,eAAe,OACjB;AAAA,MACD,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,QACE,iBAAc;AAAA,QACd,IAAG;AAAA,QACH,OAAO,EAAW;AAAA,QAClB,IAAI,EACF,eAAe,OACjB;AAAA,MACD,CAAA,CACG;AAAA;IACN,gBAAA,EAAC,GAAD,EAAK,IAAI,EAAE,IAAI,GAAG,EAAI,CAAA;AAAA,IACtB,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAkB,OAAA;AAAA,gBACpD,gBAAA,EAAC,GAAD;AAAA,QAAK,IAAI,EAAE,GAAG,IAAY,KAAK,GAAG;AAAA,kBAChC,gBAAA,EAAC,GAAD,CAAa,CAAA;AAAA,MACV,CAAA;AAAA,IACc,CAAA;AAAA,IACrB,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAkB,OAAA;AAAA,gBACpD,gBAAA,EAAC,GAAD;AAAA,QAAK,IAAI,EAAE,GAAG,IAAY,KAAK,GAAG;AAAA,kBAChC,gBAAA,EAAC,GAAD,CAAa,CAAA;AAAA,MACV,CAAA;AAAA,IACc,CAAA;AAAA,EAClB,EAAA,CAAA;AAET,GAEA,IAAe,EAAS,CAAe"}
1
+ {"version":3,"file":"CashflowContent.es.js","names":[],"sources":["../../../src/cashflow/components/CashflowContent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Tabs from '@mui/material/Tabs'\nimport Tab from '@mui/material/Tab'\n\nimport DetailsTab from './DetailsTab'\nimport SummaryTab from './SummaryTab'\nimport { TabContentContainer, useEvent, useGlobalCopyStore, useScreenSize } from '../../common'\n\nconst CashflowContent: React.FC = () => {\n const { cashflow: customCopy } = useGlobalCopyStore()\n const { isDesktop } = useScreenSize()\n const { onEvent } = useEvent()\n\n const [value, setValue] = React.useState(0)\n\n const handleChange = (_event: React.SyntheticEvent, newValue: number) => {\n setValue(newValue)\n }\n\n React.useEffect(() => {\n onEvent(value === 0 ? 'cash_flow_summary' : 'cash_flow_details')\n }, [value])\n\n return (\n <Box>\n <Tabs\n aria-label={customCopy.cashflow_summary_and_details}\n centered={true}\n onChange={handleChange}\n textColor=\"primary\"\n value={value}\n variant=\"fullWidth\"\n >\n <Tab\n aria-controls=\"cashflow-tabpanel-0\"\n id=\"cashflow-tab-0\"\n label={customCopy.summary}\n sx={{\n textTransform: 'none',\n }}\n />\n <Tab\n aria-controls=\"cashflow-tabpanel-1\"\n id=\"cashflow-tab-1\"\n label={customCopy.details}\n sx={{\n textTransform: 'none',\n }}\n />\n </Tabs>\n <Box sx={{ mb: 32 }} />\n <TabContentContainer index={0} name=\"cashflow\" value={value}>\n <Box sx={{ m: isDesktop ? 48 : 16 }}>\n <SummaryTab />\n </Box>\n </TabContentContainer>\n <TabContentContainer index={1} name=\"cashflow\" value={value}>\n <Box sx={{ m: isDesktop ? 48 : 16 }}>\n <DetailsTab />\n </Box>\n </TabContentContainer>\n </Box>\n )\n}\n\nexport default observer(CashflowContent)\n"],"mappings":";;;;;;;;;;;AAWA,IAAM,IAAA,MAAkC;AACtC,QAAM,EAAE,UAAU,EAAA,IAAe,EAAmB,GAC9C,EAAE,WAAA,EAAA,IAAc,EAAc,GAC9B,EAAE,SAAA,EAAA,IAAY,EAAS,GAEvB,CAAC,GAAO,CAAA,IAAY,EAAM,SAAS,CAAC,GAEpC,IAAA,CAAgB,GAA8B,MAAqB;AACvE,IAAA,EAAS,CAAQ;AAAA,EACnB;AAEA,SAAA,EAAM,UAAA,MAAgB;AACpB,IAAA,EAAQ,MAAU,IAAI,sBAAsB,mBAAmB;AAAA,EACjE,GAAG,CAAC,CAAK,CAAC,GAGR,gBAAA,EAAC,GAAD,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MACE,cAAY,EAAW;AAAA,MACvB,UAAU;AAAA,MACV,UAAU;AAAA,MACV,WAAU;AAAA,MACH,OAAA;AAAA,MACP,SAAQ;AAAA,MANV,UAAA,CAQE,gBAAA,EAAC,GAAD;AAAA,QACE,iBAAc;AAAA,QACd,IAAG;AAAA,QACH,OAAO,EAAW;AAAA,QAClB,IAAI,EACF,eAAe,OACjB;AAAA,MACD,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,QACE,iBAAc;AAAA,QACd,IAAG;AAAA,QACH,OAAO,EAAW;AAAA,QAClB,IAAI,EACF,eAAe,OACjB;AAAA,MACD,CAAA,CACG;AAAA;IACN,gBAAA,EAAC,GAAD,EAAK,IAAI,EAAE,IAAI,GAAG,EAAI,CAAA;AAAA,IACtB,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAkB,OAAA;AAAA,MACpD,UAAA,gBAAA,EAAC,GAAD;AAAA,QAAK,IAAI,EAAE,GAAG,IAAY,KAAK,GAAG;AAAA,QAChC,UAAA,gBAAA,EAAC,GAAD,CAAa,CAAA;AAAA,MACV,CAAA;AAAA,IACc,CAAA;AAAA,IACrB,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAkB,OAAA;AAAA,MACpD,UAAA,gBAAA,EAAC,GAAD;AAAA,QAAK,IAAI,EAAE,GAAG,IAAY,KAAK,GAAG;AAAA,QAChC,UAAA,gBAAA,EAAC,GAAD,CAAa,CAAA;AAAA,MACV,CAAA;AAAA,IACc,CAAA;AAAA,EAClB,EAAA,CAAA;AAET,GAEA,IAAe,EAAS,CAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"CashflowHeading.es.js","names":[],"sources":["../../../src/cashflow/components/CashflowHeading.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { isAfter } from 'date-fns/isAfter'\nimport { isBefore } from 'date-fns/isBefore'\nimport { isToday } from 'date-fns/isToday'\n\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport Stack from '@mui/material/Stack'\n\nimport { Icon, Text } from '@mxenabled/mxui'\n\nimport {\n Drawer,\n InformationTooltip,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useWidgetContainerProvider,\n} from '../../common'\nimport { type Recurrence } from '../../core'\n\nimport { ManageIncome } from '../../recurringtransactions'\n\nimport CashflowAmountHeading from './CashflowAmountHeading'\nimport { useCashflowUiStore } from '../context/hooks'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\n// This filter only includes activities that have an account guid that matches an account guid\n// in the given list of accountGuids and is within the given date range\nconst recurrenceAccountFilter =\n (accountGuids: string[], dateRange: { start: Date; end: Date }) => (r: Recurrence) =>\n r.accountGuid &&\n accountGuids.includes(r.accountGuid) &&\n (isToday(r.expectedDate) || isAfter(r.expectedDate, dateRange.start)) &&\n isBefore(r.expectedDate, dateRange.end)\n\nconst CashflowHeading: React.FC = () => {\n const { availableWidth } = useWidgetContainerProvider()\n const { cashflow: customCopy } = useGlobalCopyStore()\n\n const { isDataLoaded } = useRecurringTransactionsStore()\n const { selectedAccountGuids } = useGlobalUiStore()\n const {\n dateRange,\n income,\n selectedCashAccounts,\n selectedCashBalance,\n upcomingExpenses,\n upcomingIncome,\n } = useCashflowUiStore()\n\n const [isOpen, setIsOpen] = React.useState(false)\n\n // Plain derivations: observer tracks the observable reads, so no useMemo is\n // needed. The account-scoped balance is a store computed (selectedCashBalance).\n const filteredExpenses = upcomingExpenses.filter(\n recurrenceAccountFilter(selectedAccountGuids, dateRange),\n )\n\n const filteredIncome = upcomingIncome.filter(\n recurrenceAccountFilter(selectedAccountGuids, dateRange),\n )\n\n const cashBalance = selectedCashBalance\n\n const totalUpcomingExpenses = filteredExpenses.reduce((acc, curr) => acc + curr.amount, 0)\n const totalUpcomingIncome = filteredIncome.reduce((acc, curr) => acc + curr.amount, 0)\n const availableToSpend = cashBalance - totalUpcomingExpenses + totalUpcomingIncome\n\n const hasRecurringIncome = isDataLoaded && income.length > 0\n const isMobile = availableWidth < 725\n\n return (\n <Stack sx={{ mx: isMobile ? 16 : 0, my: isMobile ? 24 : 42 }}>\n <Stack\n border={isMobile ? '1px solid' : 'none'}\n borderColor=\"neutral.light\"\n borderRadius={2}\n flexDirection={isMobile ? 'column' : 'row'}\n gap={isMobile ? 0 : 24}\n justifyContent=\"center\"\n >\n <CashflowAmountHeading\n amount={cashBalance}\n isMobile={isMobile}\n label={buildDynamicCopy(customCopy.cash_and_bank, selectedCashAccounts.length) as string}\n />\n\n {isMobile && <Divider />}\n {hasRecurringIncome ? (\n <>\n {!isMobile && <Text sx={{ fontSize: 25, lineHeight: 1 }}>+</Text>}\n <CashflowAmountHeading\n amount={totalUpcomingIncome}\n isMobile={isMobile}\n label={customCopy.to_be_received}\n symbol={isMobile ? '+' : undefined}\n />\n </>\n ) : (\n <Button\n onClick={() => setIsOpen(true)}\n startIcon={<Icon name=\"add\" />}\n sx={{ fontSize: 13 }}\n >\n {customCopy.add_income}\n </Button>\n )}\n\n {isMobile ? <Divider /> : <Text sx={{ fontSize: 25, lineHeight: 1 }}>-</Text>}\n\n <CashflowAmountHeading\n amount={totalUpcomingExpenses}\n isMobile={isMobile}\n label={buildDynamicCopy(customCopy.to_be_paid_out, filteredExpenses.length) as string}\n symbol={isMobile ? '-' : undefined}\n />\n\n {isMobile ? <Divider /> : <Text sx={{ fontSize: 25, lineHeight: 1 }}>=</Text>}\n\n <CashflowAmountHeading\n amount={availableToSpend}\n isMobile={isMobile}\n isTotal={isMobile}\n label={customCopy.remaining_cash}\n tooltip={\n <InformationTooltip\n body={customCopy.remaining_income_tooltip_body}\n title={customCopy.remaining_income_tooltip_title}\n />\n }\n />\n </Stack>\n\n <Drawer\n ariaLabelClose={customCopy.close_manage_income_aria}\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n shouldShowHeaderBorders={false}\n title={customCopy.manage_income}\n >\n <ManageIncome />\n </Drawer>\n </Stack>\n )\n}\n\nexport default observer(CashflowHeading)\n"],"mappings":"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"}
1
+ {"version":3,"file":"CashflowHeading.es.js","names":[],"sources":["../../../src/cashflow/components/CashflowHeading.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { isAfter } from 'date-fns/isAfter'\nimport { isBefore } from 'date-fns/isBefore'\nimport { isToday } from 'date-fns/isToday'\n\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport Stack from '@mui/material/Stack'\n\nimport { Icon, Text } from '@mxenabled/mxui'\n\nimport {\n Drawer,\n InformationTooltip,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useWidgetContainerProvider,\n} from '../../common'\nimport { type Recurrence } from '../../core'\n\nimport { ManageIncome } from '../../recurringtransactions'\n\nimport CashflowAmountHeading from './CashflowAmountHeading'\nimport { useCashflowUiStore } from '../context/hooks'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\n// This filter only includes activities that have an account guid that matches an account guid\n// in the given list of accountGuids and is within the given date range\nconst recurrenceAccountFilter =\n (accountGuids: string[], dateRange: { start: Date; end: Date }) => (r: Recurrence) =>\n r.accountGuid &&\n accountGuids.includes(r.accountGuid) &&\n (isToday(r.expectedDate) || isAfter(r.expectedDate, dateRange.start)) &&\n isBefore(r.expectedDate, dateRange.end)\n\nconst CashflowHeading: React.FC = () => {\n const { availableWidth } = useWidgetContainerProvider()\n const { cashflow: customCopy } = useGlobalCopyStore()\n\n const { isDataLoaded } = useRecurringTransactionsStore()\n const { selectedAccountGuids } = useGlobalUiStore()\n const {\n dateRange,\n income,\n selectedCashAccounts,\n selectedCashBalance,\n upcomingExpenses,\n upcomingIncome,\n } = useCashflowUiStore()\n\n const [isOpen, setIsOpen] = React.useState(false)\n\n // Plain derivations: observer tracks the observable reads, so no useMemo is\n // needed. The account-scoped balance is a store computed (selectedCashBalance).\n const filteredExpenses = upcomingExpenses.filter(\n recurrenceAccountFilter(selectedAccountGuids, dateRange),\n )\n\n const filteredIncome = upcomingIncome.filter(\n recurrenceAccountFilter(selectedAccountGuids, dateRange),\n )\n\n const cashBalance = selectedCashBalance\n\n const totalUpcomingExpenses = filteredExpenses.reduce((acc, curr) => acc + curr.amount, 0)\n const totalUpcomingIncome = filteredIncome.reduce((acc, curr) => acc + curr.amount, 0)\n const availableToSpend = cashBalance - totalUpcomingExpenses + totalUpcomingIncome\n\n const hasRecurringIncome = isDataLoaded && income.length > 0\n const isMobile = availableWidth < 725\n\n return (\n <Stack sx={{ mx: isMobile ? 16 : 0, my: isMobile ? 24 : 42 }}>\n <Stack\n border={isMobile ? '1px solid' : 'none'}\n borderColor=\"neutral.light\"\n borderRadius={2}\n flexDirection={isMobile ? 'column' : 'row'}\n gap={isMobile ? 0 : 24}\n justifyContent=\"center\"\n >\n <CashflowAmountHeading\n amount={cashBalance}\n isMobile={isMobile}\n label={buildDynamicCopy(customCopy.cash_and_bank, selectedCashAccounts.length) as string}\n />\n\n {isMobile && <Divider />}\n {hasRecurringIncome ? (\n <>\n {!isMobile && <Text sx={{ fontSize: 25, lineHeight: 1 }}>+</Text>}\n <CashflowAmountHeading\n amount={totalUpcomingIncome}\n isMobile={isMobile}\n label={customCopy.to_be_received}\n symbol={isMobile ? '+' : undefined}\n />\n </>\n ) : (\n <Button\n onClick={() => setIsOpen(true)}\n startIcon={<Icon name=\"add\" />}\n sx={{ fontSize: 13 }}\n >\n {customCopy.add_income}\n </Button>\n )}\n\n {isMobile ? <Divider /> : <Text sx={{ fontSize: 25, lineHeight: 1 }}>-</Text>}\n\n <CashflowAmountHeading\n amount={totalUpcomingExpenses}\n isMobile={isMobile}\n label={buildDynamicCopy(customCopy.to_be_paid_out, filteredExpenses.length) as string}\n symbol={isMobile ? '-' : undefined}\n />\n\n {isMobile ? <Divider /> : <Text sx={{ fontSize: 25, lineHeight: 1 }}>=</Text>}\n\n <CashflowAmountHeading\n amount={availableToSpend}\n isMobile={isMobile}\n isTotal={isMobile}\n label={customCopy.remaining_cash}\n tooltip={\n <InformationTooltip\n body={customCopy.remaining_income_tooltip_body}\n title={customCopy.remaining_income_tooltip_title}\n />\n }\n />\n </Stack>\n\n <Drawer\n ariaLabelClose={customCopy.close_manage_income_aria}\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n shouldShowHeaderBorders={false}\n title={customCopy.manage_income}\n >\n <ManageIncome />\n </Drawer>\n </Stack>\n )\n}\n\nexport default observer(CashflowHeading)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CashflowWidgetContent.es.js","names":[],"sources":["../../../src/cashflow/components/CashflowWidgetContent.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Divider from '@mui/material/Divider'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Icon, P, Text } from '@mxenabled/mxui'\n\nimport {\n InformationTooltip,\n Loader,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useScreenSize,\n useWidgetContainerProvider,\n} from '../../common'\nimport { useCashflowUiStore } from '../context/hooks'\nimport { CurrencyText } from '../../common'\nimport RemainingCash from './RemainingCash'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\nconst CashflowWidgetContent = () => {\n const theme = useTheme()\n const { availableWidth } = useWidgetContainerProvider()\n const { isMobile } = useScreenSize()\n\n const { selectedAccountGuids } = useGlobalUiStore()\n const { cashflow: customCopy } = useGlobalCopyStore()\n const { daysUntilNextIncome, expensesTilNextIncome, selectedCashAccounts, selectedCashBalance } =\n useCashflowUiStore()\n const { isDataLoaded } = useRecurringTransactionsStore()\n\n // Plain derivations: observer tracks the observable reads and re-renders\n // correctly even when arrays are mutated in place by MobX. The account-scoped\n // balance is a store computed (selectedCashBalance).\n const filteredExpenseTotal = expensesTilNextIncome\n .filter((expense) => selectedAccountGuids.includes(expense.accountGuid || ''))\n .reduce((acc, curr) => acc + curr.amount, 0)\n\n const availableToSpend = selectedCashBalance - filteredExpenseTotal\n\n if (!isDataLoaded) {\n return <Loader height={isMobile ? 210 : 120} />\n }\n\n return (\n <Box className=\"mx-cashflow\" pl={16} pr={16} pt={16}>\n {availableWidth > 710 ? (\n <Stack\n border={`1px solid ${theme.palette.divider}`}\n borderRadius={1}\n direction=\"row\"\n justifyContent=\"space-between\"\n px={24}\n >\n <Stack pb={14} pt={12}>\n <CurrencyText amount={selectedCashBalance} variant=\"h2\" />\n <P variant=\"caption\" whiteSpace=\"nowrap\">\n {\n buildDynamicCopy(\n customCopy.total_cash_accounts,\n selectedCashAccounts.length,\n ) as string\n }\n </P>\n </Stack>\n\n <Stack pt={18}>\n <Icon name=\"remove\" />\n </Stack>\n\n <Stack pb={14} pt={12}>\n <CurrencyText amount={filteredExpenseTotal} variant=\"h2\" />\n <P variant=\"caption\" whiteSpace=\"nowrap\">\n {buildDynamicCopy(customCopy.expenses_due, expensesTilNextIncome.length) as string}\n </P>\n </Stack>\n\n <Stack pt={18}>\n <Icon name=\"equal\" />\n </Stack>\n\n <Stack pb={14} pr={24} pt={12}>\n <CurrencyText amount={availableToSpend} variant=\"h2\" />\n <Stack alignItems=\"center\" direction=\"row\" gap={8}>\n <P variant=\"caption\" whiteSpace=\"nowrap\">\n {customCopy.available_to_spend}\n </P>\n <InformationTooltip body={customCopy.tooltip_body} title={customCopy.tooltip_title} />\n </Stack>\n </Stack>\n\n <Stack borderLeft={`1px solid ${theme.palette.divider}`} pb={12} pl={24} pt={12}>\n <>\n <Text variant=\"h2\">\n {buildDynamicCopy(customCopy.days, daysUntilNextIncome) as string}\n </Text>\n <P variant=\"caption\" whiteSpace=\"nowrap\">\n {customCopy.next_paycheck}\n </P>\n </>\n </Stack>\n </Stack>\n ) : (\n <Stack border={`1px solid ${theme.palette.divider}`} borderRadius={1}>\n <Stack direction=\"row\" justifyContent=\"space-between\" p={16}>\n <Text variant=\"body2\">\n {\n buildDynamicCopy(\n customCopy.total_cash_accounts,\n selectedCashAccounts.length,\n ) as string\n }\n </Text>\n <CurrencyText amount={selectedCashBalance} bold={true} variant=\"caption\" />\n </Stack>\n\n <Divider />\n\n <Stack direction=\"row\" justifyContent=\"space-between\" p={16}>\n <Text variant=\"body2\">\n {buildDynamicCopy(customCopy.expenses_due, expensesTilNextIncome.length) as string}\n </Text>\n <CurrencyText amount={filteredExpenseTotal} bold={true} symbol=\"-\" variant=\"caption\" />\n </Stack>\n\n <Divider />\n\n <Stack\n alignItems=\"center\"\n bgcolor=\"background.default\"\n direction=\"row\"\n gap={8}\n height={48}\n justifyContent=\"space-between\"\n px={16}\n sx={{ borderBottomLeftRadius: 4, borderBottomRightRadius: 4 }}\n >\n <RemainingCash remaining={availableToSpend} />\n </Stack>\n <Divider />\n <Stack direction=\"row\" justifyContent=\"space-between\" p={16}>\n <Text variant=\"body2\">{customCopy.next_paycheck}</Text>\n <Text bold={true} variant=\"caption\">\n {buildDynamicCopy(customCopy.days, daysUntilNextIncome) as string}\n </Text>\n </Stack>\n </Stack>\n )}\n </Box>\n )\n}\n\nexport default observer(CashflowWidgetContent)\n"],"mappings":"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"}
1
+ {"version":3,"file":"CashflowWidgetContent.es.js","names":[],"sources":["../../../src/cashflow/components/CashflowWidgetContent.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Divider from '@mui/material/Divider'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Icon, P, Text } from '@mxenabled/mxui'\n\nimport {\n InformationTooltip,\n Loader,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useScreenSize,\n useWidgetContainerProvider,\n} from '../../common'\nimport { useCashflowUiStore } from '../context/hooks'\nimport { CurrencyText } from '../../common'\nimport RemainingCash from './RemainingCash'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\nconst CashflowWidgetContent = () => {\n const theme = useTheme()\n const { availableWidth } = useWidgetContainerProvider()\n const { isMobile } = useScreenSize()\n\n const { selectedAccountGuids } = useGlobalUiStore()\n const { cashflow: customCopy } = useGlobalCopyStore()\n const { daysUntilNextIncome, expensesTilNextIncome, selectedCashAccounts, selectedCashBalance } =\n useCashflowUiStore()\n const { isDataLoaded } = useRecurringTransactionsStore()\n\n // Plain derivations: observer tracks the observable reads and re-renders\n // correctly even when arrays are mutated in place by MobX. The account-scoped\n // balance is a store computed (selectedCashBalance).\n const filteredExpenseTotal = expensesTilNextIncome\n .filter((expense) => selectedAccountGuids.includes(expense.accountGuid || ''))\n .reduce((acc, curr) => acc + curr.amount, 0)\n\n const availableToSpend = selectedCashBalance - filteredExpenseTotal\n\n if (!isDataLoaded) {\n return <Loader height={isMobile ? 210 : 120} />\n }\n\n return (\n <Box className=\"mx-cashflow\" pl={16} pr={16} pt={16}>\n {availableWidth > 710 ? (\n <Stack\n border={`1px solid ${theme.palette.divider}`}\n borderRadius={1}\n direction=\"row\"\n justifyContent=\"space-between\"\n px={24}\n >\n <Stack pb={14} pt={12}>\n <CurrencyText amount={selectedCashBalance} variant=\"h2\" />\n <P variant=\"caption\" whiteSpace=\"nowrap\">\n {\n buildDynamicCopy(\n customCopy.total_cash_accounts,\n selectedCashAccounts.length,\n ) as string\n }\n </P>\n </Stack>\n\n <Stack pt={18}>\n <Icon name=\"remove\" />\n </Stack>\n\n <Stack pb={14} pt={12}>\n <CurrencyText amount={filteredExpenseTotal} variant=\"h2\" />\n <P variant=\"caption\" whiteSpace=\"nowrap\">\n {buildDynamicCopy(customCopy.expenses_due, expensesTilNextIncome.length) as string}\n </P>\n </Stack>\n\n <Stack pt={18}>\n <Icon name=\"equal\" />\n </Stack>\n\n <Stack pb={14} pr={24} pt={12}>\n <CurrencyText amount={availableToSpend} variant=\"h2\" />\n <Stack alignItems=\"center\" direction=\"row\" gap={8}>\n <P variant=\"caption\" whiteSpace=\"nowrap\">\n {customCopy.available_to_spend}\n </P>\n <InformationTooltip body={customCopy.tooltip_body} title={customCopy.tooltip_title} />\n </Stack>\n </Stack>\n\n <Stack borderLeft={`1px solid ${theme.palette.divider}`} pb={12} pl={24} pt={12}>\n <>\n <Text variant=\"h2\">\n {buildDynamicCopy(customCopy.days, daysUntilNextIncome) as string}\n </Text>\n <P variant=\"caption\" whiteSpace=\"nowrap\">\n {customCopy.next_paycheck}\n </P>\n </>\n </Stack>\n </Stack>\n ) : (\n <Stack border={`1px solid ${theme.palette.divider}`} borderRadius={1}>\n <Stack direction=\"row\" justifyContent=\"space-between\" p={16}>\n <Text variant=\"body2\">\n {\n buildDynamicCopy(\n customCopy.total_cash_accounts,\n selectedCashAccounts.length,\n ) as string\n }\n </Text>\n <CurrencyText amount={selectedCashBalance} bold={true} variant=\"caption\" />\n </Stack>\n\n <Divider />\n\n <Stack direction=\"row\" justifyContent=\"space-between\" p={16}>\n <Text variant=\"body2\">\n {buildDynamicCopy(customCopy.expenses_due, expensesTilNextIncome.length) as string}\n </Text>\n <CurrencyText amount={filteredExpenseTotal} bold={true} symbol=\"-\" variant=\"caption\" />\n </Stack>\n\n <Divider />\n\n <Stack\n alignItems=\"center\"\n bgcolor=\"background.default\"\n direction=\"row\"\n gap={8}\n height={48}\n justifyContent=\"space-between\"\n px={16}\n sx={{ borderBottomLeftRadius: 4, borderBottomRightRadius: 4 }}\n >\n <RemainingCash remaining={availableToSpend} />\n </Stack>\n <Divider />\n <Stack direction=\"row\" justifyContent=\"space-between\" p={16}>\n <Text variant=\"body2\">{customCopy.next_paycheck}</Text>\n <Text bold={true} variant=\"caption\">\n {buildDynamicCopy(customCopy.days, daysUntilNextIncome) as string}\n </Text>\n </Stack>\n </Stack>\n )}\n </Box>\n )\n}\n\nexport default observer(CashflowWidgetContent)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsExpenseHeader.es.js","names":[],"sources":["../../../src/cashflow/components/DetailsExpenseHeader.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport ListSubheader from '@mui/material/ListSubheader'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../common'\nimport { ExpenseType } from './DetailsExpenseRow'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\n\ninterface DetailsExpenseHeaderProps {\n total: number\n type: ExpenseType\n}\n\nconst DetailsExpenseHeader: React.FC<DetailsExpenseHeaderProps> = ({ total, type }) => {\n const { cashflow: customCopy } = useGlobalCopyStore()\n\n return (\n <>\n <ListSubheader\n sx={{\n alignItems: 'center',\n backgroundColor: 'background.highlight',\n display: 'flex',\n justifyContent: 'space-between',\n pb: 4,\n pt: 12,\n px: 24,\n }}\n >\n <Text bold={true} sx={{ fontSize: 12 }}>\n {type === ExpenseType.EXPENSE ? customCopy.expenses : customCopy.income}\n </Text>\n <Text bold={true} sx={{ fontSize: 13 }}>\n {type === ExpenseType.EXPENSE ? '-' : '+'}\n {formatCurrency(total, '0,0.00')}\n </Text>\n </ListSubheader>\n <Divider />\n </>\n )\n}\n\nexport default observer(DetailsExpenseHeader)\n"],"mappings":";;;;;;;;;AAiBA,IAAM,IAAA,CAA6D,EAAE,OAAA,GAAO,MAAA,EAAA,MAAW;AACrF,QAAM,EAAE,UAAU,EAAA,IAAe,EAAmB;AAEpD,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,cATF,CAWE,gBAAA,EAAC,GAAD;AAAA,MAAM,MAAM;AAAA,MAAM,IAAI,EAAE,UAAU,GAAG;AAAA,gBAClC,MAAS,EAAY,UAAU,EAAW,WAAW,EAAW;AAAA,IAC7D,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,MAAM,MAAM;AAAA,MAAM,IAAI,EAAE,UAAU,GAAG;AAAA,gBAArC,CACG,MAAS,EAAY,UAAU,MAAM,KACrC,EAAe,GAAO,QAAQ,CAC3B;AAAA,MACO;AAAA,MACf,gBAAA,EAAC,GAAD,CAAU,CAAA,CACV,EAAA,CAAA;AAEN,GAEA,IAAe,EAAS,CAAoB"}
1
+ {"version":3,"file":"DetailsExpenseHeader.es.js","names":[],"sources":["../../../src/cashflow/components/DetailsExpenseHeader.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport ListSubheader from '@mui/material/ListSubheader'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../common'\nimport { ExpenseType } from './DetailsExpenseRow'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\n\ninterface DetailsExpenseHeaderProps {\n total: number\n type: ExpenseType\n}\n\nconst DetailsExpenseHeader: React.FC<DetailsExpenseHeaderProps> = ({ total, type }) => {\n const { cashflow: customCopy } = useGlobalCopyStore()\n\n return (\n <>\n <ListSubheader\n sx={{\n alignItems: 'center',\n backgroundColor: 'background.highlight',\n display: 'flex',\n justifyContent: 'space-between',\n pb: 4,\n pt: 12,\n px: 24,\n }}\n >\n <Text bold={true} sx={{ fontSize: 12 }}>\n {type === ExpenseType.EXPENSE ? customCopy.expenses : customCopy.income}\n </Text>\n <Text bold={true} sx={{ fontSize: 13 }}>\n {type === ExpenseType.EXPENSE ? '-' : '+'}\n {formatCurrency(total, '0,0.00')}\n </Text>\n </ListSubheader>\n <Divider />\n </>\n )\n}\n\nexport default observer(DetailsExpenseHeader)\n"],"mappings":";;;;;;;;;AAiBA,IAAM,IAAA,CAA6D,EAAE,OAAA,GAAO,MAAA,EAAA,MAAW;AACrF,QAAM,EAAE,UAAU,EAAA,IAAe,EAAmB;AAEpD,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IATF,UAAA,CAWE,gBAAA,EAAC,GAAD;AAAA,MAAM,MAAM;AAAA,MAAM,IAAI,EAAE,UAAU,GAAG;AAAA,MAClC,UAAA,MAAS,EAAY,UAAU,EAAW,WAAW,EAAW;AAAA,IAC7D,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,MAAM,MAAM;AAAA,MAAM,IAAI,EAAE,UAAU,GAAG;AAAA,MAArC,UAAA,CACG,MAAS,EAAY,UAAU,MAAM,KACrC,EAAe,GAAO,QAAQ,CAC3B;AAAA,IACO,CAAA,CAAA;AAAA,EACf,CAAA,GAAA,gBAAA,EAAC,GAAD,CAAU,CAAA,CACV,EAAA,CAAA;AAEN,GAEA,IAAe,EAAS,CAAoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsExpenseRow.es.js","names":[],"sources":["../../../src/cashflow/components/DetailsExpenseRow.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport ListItem from '@mui/material/ListItem'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { type Recurrence } from '../../core'\nimport { CurrencyText } from '../../common'\n\nexport enum ExpenseType {\n EXPENSE = 'expense',\n INCOME = 'income',\n}\n\ninterface DetailsExpenseRowType {\n recurrence: Recurrence\n}\n\nconst DetailsExpenseRow: React.FC<DetailsExpenseRowType> = ({ recurrence }) => {\n return (\n <>\n <ListItem sx={{ display: 'flex', alignItems: 'center', gap: 16, px: 24, py: 12 }}>\n <Stack alignItems=\"center\" height={32} width={32}>\n <Text bold={true} sx={{ fontSize: 11 }}>\n {formatDate(recurrence.expectedDate, DATE_FORMATS_INTL.MONTH)}\n </Text>\n <Text bold={true} sx={{ fontSize: 11 }}>\n {formatDate(recurrence.expectedDate, DATE_FORMATS_INTL.DAY)}\n </Text>\n </Stack>\n <Text sx={{ flexGrow: 1, fontSize: 13 }}>{recurrence.name}</Text>\n <CurrencyText\n amount={recurrence.amount}\n bold={true}\n sx={{ textAlign: 'right', fontSize: 13 }}\n />\n </ListItem>\n <Divider />\n </>\n )\n}\n\nexport default observer(DetailsExpenseRow)\n"],"mappings":";;;;;;;;;AAaA,IAAY,IAAL,0BAAA,GAAA;AACL,SAAA,EAAA,UAAA,WACA,EAAA,SAAA;AACF,GAAA,CAAA,CAAA,GAMM,IAAA,CAAsD,EAAE,YAAA,EAAA,MAE1D,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,EAAU,IAAI;AAAA,IAAE,SAAS;AAAA,IAAQ,YAAY;AAAA,IAAU,KAAK;AAAA,IAAI,IAAI;AAAA,IAAI,IAAI;AAAA,EAAG;AAAA,YAA/E;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MAAO,YAAW;AAAA,MAAS,QAAQ;AAAA,MAAI,OAAO;AAAA,gBAA9C,CACE,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,IAAI,EAAE,UAAU,GAAG;AAAA,kBAClC,EAAW,EAAW,cAAc,EAAkB,KAAK;AAAA,MACxD,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,IAAI,EAAE,UAAU,GAAG;AAAA,kBAClC,EAAW,EAAW,cAAc,EAAkB,GAAG;AAAA,MACtD,CAAA,CACD;AAAA;IACP,gBAAA,EAAC,GAAD;AAAA,MAAM,IAAI;AAAA,QAAE,UAAU;AAAA,QAAG,UAAU;AAAA,MAAG;AAAA,gBAAI,EAAW;AAAA,IAAW,CAAA;AAAA,IAChE,gBAAA,EAAC,GAAD;AAAA,MACE,QAAQ,EAAW;AAAA,MACnB,MAAM;AAAA,MACN,IAAI;AAAA,QAAE,WAAW;AAAA,QAAS,UAAU;AAAA,MAAG;AAAA,IACxC,CAAA;AAAA,EACO;IACV,gBAAA,EAAC,GAAD,CAAU,CAAA,CACV,EAAA,CAAA,GAIN,IAAe,EAAS,CAAiB"}
1
+ {"version":3,"file":"DetailsExpenseRow.es.js","names":[],"sources":["../../../src/cashflow/components/DetailsExpenseRow.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport ListItem from '@mui/material/ListItem'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { type Recurrence } from '../../core'\nimport { CurrencyText } from '../../common'\n\nexport enum ExpenseType {\n EXPENSE = 'expense',\n INCOME = 'income',\n}\n\ninterface DetailsExpenseRowType {\n recurrence: Recurrence\n}\n\nconst DetailsExpenseRow: React.FC<DetailsExpenseRowType> = ({ recurrence }) => {\n return (\n <>\n <ListItem sx={{ display: 'flex', alignItems: 'center', gap: 16, px: 24, py: 12 }}>\n <Stack alignItems=\"center\" height={32} width={32}>\n <Text bold={true} sx={{ fontSize: 11 }}>\n {formatDate(recurrence.expectedDate, DATE_FORMATS_INTL.MONTH)}\n </Text>\n <Text bold={true} sx={{ fontSize: 11 }}>\n {formatDate(recurrence.expectedDate, DATE_FORMATS_INTL.DAY)}\n </Text>\n </Stack>\n <Text sx={{ flexGrow: 1, fontSize: 13 }}>{recurrence.name}</Text>\n <CurrencyText\n amount={recurrence.amount}\n bold={true}\n sx={{ textAlign: 'right', fontSize: 13 }}\n />\n </ListItem>\n <Divider />\n </>\n )\n}\n\nexport default observer(DetailsExpenseRow)\n"],"mappings":";;;;;;;;;AAaA,IAAY,IAAL,0BAAA,GAAA;AACL,SAAA,EAAA,UAAA,WACA,EAAA,SAAA;AACF,GAAA,CAAA,CAAA,GAMM,IAAA,CAAsD,EAAE,YAAA,EAAA,MAE1D,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,EAAU,IAAI;AAAA,IAAE,SAAS;AAAA,IAAQ,YAAY;AAAA,IAAU,KAAK;AAAA,IAAI,IAAI;AAAA,IAAI,IAAI;AAAA,EAAG;AAAA,EAA/E,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MAAO,YAAW;AAAA,MAAS,QAAQ;AAAA,MAAI,OAAO;AAAA,MAA9C,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,IAAI,EAAE,UAAU,GAAG;AAAA,QAClC,UAAA,EAAW,EAAW,cAAc,EAAkB,KAAK;AAAA,MACxD,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,IAAI,EAAE,UAAU,GAAG;AAAA,QAClC,UAAA,EAAW,EAAW,cAAc,EAAkB,GAAG;AAAA,MACtD,CAAA,CACD;AAAA;IACP,gBAAA,EAAC,GAAD;AAAA,MAAM,IAAI;AAAA,QAAE,UAAU;AAAA,QAAG,UAAU;AAAA,MAAG;AAAA,MAAI,UAAA,EAAW;AAAA,IAAW,CAAA;AAAA,IAChE,gBAAA,EAAC,GAAD;AAAA,MACE,QAAQ,EAAW;AAAA,MACnB,MAAM;AAAA,MACN,IAAI;AAAA,QAAE,WAAW;AAAA,QAAS,UAAU;AAAA,MAAG;AAAA,IACxC,CAAA;AAAA,EACO;AACV,CAAA,GAAA,gBAAA,EAAC,GAAD,CAAU,CAAA,CACV,EAAA,CAAA,GAIN,IAAe,EAAS,CAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsFooter.es.js","names":[],"sources":["../../../src/cashflow/components/DetailsFooter.tsx"],"sourcesContent":["import ListItem from '@mui/material/ListItem'\n\nimport RemainingCash from './RemainingCash'\n\ninterface DetailsFooterProps {\n remaining: number\n}\n\nconst DetailsFooter = ({ remaining }: DetailsFooterProps) => {\n return (\n <ListItem\n sx={{\n alignItems: 'center',\n backgroundColor: 'background.highlight',\n display: 'flex',\n gap: 12,\n padding: '12px 24px',\n borderBottomLeftRadius: '3px',\n borderBottomRightRadius: '3px',\n minHeight: 'auto',\n }}\n >\n <RemainingCash remaining={remaining} />\n </ListItem>\n )\n}\n\nexport default DetailsFooter\n"],"mappings":";;;AAQA,IAAM,IAAA,CAAiB,EAAE,WAAA,EAAA,MAErB,gBAAA,EAAC,GAAD;AAAA,EACE,IAAI;AAAA,IACF,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,KAAK;AAAA,IACL,SAAS;AAAA,IACT,wBAAwB;AAAA,IACxB,yBAAyB;AAAA,IACzB,WAAW;AAAA,EACb;AAAA,YAEA,gBAAA,EAAC,GAAD,EAA0B,WAAA,EAAY,CAAA;AAC9B,CAAA"}
1
+ {"version":3,"file":"DetailsFooter.es.js","names":[],"sources":["../../../src/cashflow/components/DetailsFooter.tsx"],"sourcesContent":["import ListItem from '@mui/material/ListItem'\n\nimport RemainingCash from './RemainingCash'\n\ninterface DetailsFooterProps {\n remaining: number\n}\n\nconst DetailsFooter = ({ remaining }: DetailsFooterProps) => {\n return (\n <ListItem\n sx={{\n alignItems: 'center',\n backgroundColor: 'background.highlight',\n display: 'flex',\n gap: 12,\n padding: '12px 24px',\n borderBottomLeftRadius: '3px',\n borderBottomRightRadius: '3px',\n minHeight: 'auto',\n }}\n >\n <RemainingCash remaining={remaining} />\n </ListItem>\n )\n}\n\nexport default DetailsFooter\n"],"mappings":";;;AAQA,IAAM,IAAA,CAAiB,EAAE,WAAA,EAAA,MAErB,gBAAA,EAAC,GAAD;AAAA,EACE,IAAI;AAAA,IACF,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,KAAK;AAAA,IACL,SAAS;AAAA,IACT,wBAAwB;AAAA,IACxB,yBAAyB;AAAA,IACzB,WAAW;AAAA,EACb;AAAA,EAEA,UAAA,gBAAA,EAAC,GAAD,EAA0B,WAAA,EAAY,CAAA;AAC9B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsTab.es.js","names":[],"sources":["../../../src/cashflow/components/DetailsTab.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\nimport { getUnixTime } from 'date-fns/getUnixTime'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport AccountListItem from '../../accounts/components/AccountListItem'\nimport DetailsFooter from './DetailsFooter'\nimport DetailsExpenseRow, { ExpenseType } from './DetailsExpenseRow'\nimport DetailsExpenseHeader from './DetailsExpenseHeader'\n\nimport { useAppConfig, useGlobalCopyStore, useWidgetContainerProvider } from '../../common'\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { type Account, type Recurrence } from '../../core'\nimport { useCashflowUiStore } from '../context/hooks'\nimport { recurrenceFilter } from '../util/Filters'\nimport { getAccountStartingBalance } from '../../core/utils/AccountUtils'\n\nconst DetailsTab = () => {\n const { availableWidth } = useWidgetContainerProvider()\n const { cashflow: customCopy } = useGlobalCopyStore()\n const {\n config: { display_available_balance_in_accounts: useAvailable },\n } = useAppConfig()\n const { dateRange, selectedCashAccounts, upcomingExpenses, upcomingIncome } = useCashflowUiStore()\n\n return (\n <Stack>\n <Stack direction={availableWidth < 400 ? 'column' : 'row'} justifyContent=\"space-between\">\n <Text bold={true} sx={{ fontSize: 15, mb: 12 }}>\n {customCopy.accounts_breakdown}\n </Text>\n <Text bold={true} sx={{ fontSize: 15, mb: 12 }}>\n {formatDate(dateRange.start, DATE_FORMATS_INTL.FULL_MONTH_DAY)} -{' '}\n {formatDate(dateRange.end, DATE_FORMATS_INTL.FULL_MONTH_DAY)}\n </Text>\n </Stack>\n\n <Stack>\n {selectedCashAccounts.map((account: Account) => {\n const upcomingIncomeByAccount = upcomingIncome\n .filter(recurrenceFilter(account, dateRange))\n .sort((a, b) => getUnixTime(a.expectedDate) - getUnixTime(b.expectedDate))\n\n const projectedExpensesByAccount = upcomingExpenses.filter(\n recurrenceFilter(account, dateRange),\n )\n\n const incomeTotal = upcomingIncomeByAccount.reduce(\n (acc: number, curr: Recurrence) => acc + curr.amount,\n 0,\n )\n const expenseTotal = projectedExpensesByAccount.reduce(\n (acc, curr) => acc + curr.amount,\n 0,\n )\n\n const remainingBalance =\n getAccountStartingBalance(account, useAvailable) + incomeTotal - expenseTotal\n\n return (\n <List\n key={account.guid}\n sx={{\n border: '1px solid',\n borderColor: 'neutral.light',\n mb: 24,\n borderRadius: 1,\n }}\n >\n <AccountListItem\n account={account}\n listItemProps={{\n disableGutters: false,\n disablePadding: false,\n sx: { borderTopRadius: 1, pr: 24 },\n }}\n />\n <Divider />\n {/* Income */}\n {upcomingIncomeByAccount.length > 0 && (\n <ListItem>\n <List\n subheader={\n <DetailsExpenseHeader total={incomeTotal} type={ExpenseType.INCOME} />\n }\n sx={{ width: '100%' }}\n >\n {upcomingIncomeByAccount.map((r) => (\n <DetailsExpenseRow key={r.repeatingTransactionGuid} recurrence={r} />\n ))}\n </List>\n </ListItem>\n )}\n {/* Expenses */}\n {projectedExpensesByAccount.length > 0 && (\n <ListItem>\n <List\n subheader={\n <DetailsExpenseHeader total={expenseTotal} type={ExpenseType.EXPENSE} />\n }\n sx={{ width: '100%' }}\n >\n {projectedExpensesByAccount.map((r) => (\n <DetailsExpenseRow key={r.repeatingTransactionGuid} recurrence={r} />\n ))}\n </List>\n </ListItem>\n )}\n {/* Bottom row total */}\n <DetailsFooter remaining={remainingBalance} />\n </List>\n )\n })}\n </Stack>\n </Stack>\n )\n}\n\nexport default observer(DetailsTab)\n"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsTab.es.js","names":[],"sources":["../../../src/cashflow/components/DetailsTab.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\nimport { getUnixTime } from 'date-fns/getUnixTime'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport AccountListItem from '../../accounts/components/AccountListItem'\nimport DetailsFooter from './DetailsFooter'\nimport DetailsExpenseRow, { ExpenseType } from './DetailsExpenseRow'\nimport DetailsExpenseHeader from './DetailsExpenseHeader'\n\nimport { useAppConfig, useGlobalCopyStore, useWidgetContainerProvider } from '../../common'\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { type Account, type Recurrence } from '../../core'\nimport { useCashflowUiStore } from '../context/hooks'\nimport { recurrenceFilter } from '../util/Filters'\nimport { getAccountStartingBalance } from '../../core/utils/AccountUtils'\n\nconst DetailsTab = () => {\n const { availableWidth } = useWidgetContainerProvider()\n const { cashflow: customCopy } = useGlobalCopyStore()\n const {\n config: { display_available_balance_in_accounts: useAvailable },\n } = useAppConfig()\n const { dateRange, selectedCashAccounts, upcomingExpenses, upcomingIncome } = useCashflowUiStore()\n\n return (\n <Stack>\n <Stack direction={availableWidth < 400 ? 'column' : 'row'} justifyContent=\"space-between\">\n <Text bold={true} sx={{ fontSize: 15, mb: 12 }}>\n {customCopy.accounts_breakdown}\n </Text>\n <Text bold={true} sx={{ fontSize: 15, mb: 12 }}>\n {formatDate(dateRange.start, DATE_FORMATS_INTL.FULL_MONTH_DAY)} -{' '}\n {formatDate(dateRange.end, DATE_FORMATS_INTL.FULL_MONTH_DAY)}\n </Text>\n </Stack>\n\n <Stack>\n {selectedCashAccounts.map((account: Account) => {\n const upcomingIncomeByAccount = upcomingIncome\n .filter(recurrenceFilter(account, dateRange))\n .sort((a, b) => getUnixTime(a.expectedDate) - getUnixTime(b.expectedDate))\n\n const projectedExpensesByAccount = upcomingExpenses.filter(\n recurrenceFilter(account, dateRange),\n )\n\n const incomeTotal = upcomingIncomeByAccount.reduce(\n (acc: number, curr: Recurrence) => acc + curr.amount,\n 0,\n )\n const expenseTotal = projectedExpensesByAccount.reduce(\n (acc, curr) => acc + curr.amount,\n 0,\n )\n\n const remainingBalance =\n getAccountStartingBalance(account, useAvailable) + incomeTotal - expenseTotal\n\n return (\n <List\n key={account.guid}\n sx={{\n border: '1px solid',\n borderColor: 'neutral.light',\n mb: 24,\n borderRadius: 1,\n }}\n >\n <AccountListItem\n account={account}\n listItemProps={{\n disableGutters: false,\n disablePadding: false,\n sx: { borderTopRadius: 1, pr: 24 },\n }}\n />\n <Divider />\n {/* Income */}\n {upcomingIncomeByAccount.length > 0 && (\n <ListItem>\n <List\n subheader={\n <DetailsExpenseHeader total={incomeTotal} type={ExpenseType.INCOME} />\n }\n sx={{ width: '100%' }}\n >\n {upcomingIncomeByAccount.map((r) => (\n <DetailsExpenseRow key={r.repeatingTransactionGuid} recurrence={r} />\n ))}\n </List>\n </ListItem>\n )}\n {/* Expenses */}\n {projectedExpensesByAccount.length > 0 && (\n <ListItem>\n <List\n subheader={\n <DetailsExpenseHeader total={expenseTotal} type={ExpenseType.EXPENSE} />\n }\n sx={{ width: '100%' }}\n >\n {projectedExpensesByAccount.map((r) => (\n <DetailsExpenseRow key={r.repeatingTransactionGuid} recurrence={r} />\n ))}\n </List>\n </ListItem>\n )}\n {/* Bottom row total */}\n <DetailsFooter remaining={remainingBalance} />\n </List>\n )\n })}\n </Stack>\n </Stack>\n )\n}\n\nexport default observer(DetailsTab)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RemainingCash.es.js","names":[],"sources":["../../../src/cashflow/components/RemainingCash.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../common'\nimport { CurrencyText } from '../../common'\n\ninterface RemainingCashProps {\n remaining: number\n}\n\nconst RemainingCash = ({ remaining }: RemainingCashProps) => {\n const { cashflow: customCopy } = useGlobalCopyStore()\n\n const getRemainingCashColor = () => {\n if (remaining < 0) {\n return 'error.main'\n }\n if (remaining > 0) {\n return 'success.main'\n }\n return 'warning.main'\n }\n\n return (\n <>\n <Box\n sx={{\n borderRadius: '1px',\n backgroundColor: getRemainingCashColor(),\n height: 6,\n width: 6,\n }}\n />\n <Text bold={true} sx={{ flexGrow: 1, fontSize: 12 }}>\n {customCopy.remaining_cash}\n </Text>\n <CurrencyText amount={remaining} bold={true} sx={{ fontSize: 12 }} />\n </>\n )\n}\n\nexport default observer(RemainingCash)\n"],"mappings":";;;;;;AAaA,IAAM,IAAA,CAAiB,EAAE,WAAA,EAAA,MAAoC;AAC3D,QAAM,EAAE,UAAU,EAAA,IAAe,EAAmB;AAYpD,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD,EACE,IAAI;AAAA,MACF,cAAc;AAAA,MACd,iBAdF,IAAY,IACP,eAEL,IAAY,IACP,iBAEF;AAAA,MASD,QAAQ;AAAA,MACR,OAAO;AAAA,IACT,EACD,CAAA;AAAA,IACD,gBAAA,EAAC,GAAD;AAAA,MAAM,MAAM;AAAA,MAAM,IAAI;AAAA,QAAE,UAAU;AAAA,QAAG,UAAU;AAAA,MAAG;AAAA,gBAC/C,EAAW;AAAA,IACR,CAAA;AAAA,IACN,gBAAA,EAAC,GAAD;AAAA,MAAc,QAAQ;AAAA,MAAW,MAAM;AAAA,MAAM,IAAI,EAAE,UAAU,GAAG;AAAA,IAAI,CAAA;AAAA,EACpE,EAAA,CAAA;AAEN,GAEA,IAAe,EAAS,CAAa"}
1
+ {"version":3,"file":"RemainingCash.es.js","names":[],"sources":["../../../src/cashflow/components/RemainingCash.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../common'\nimport { CurrencyText } from '../../common'\n\ninterface RemainingCashProps {\n remaining: number\n}\n\nconst RemainingCash = ({ remaining }: RemainingCashProps) => {\n const { cashflow: customCopy } = useGlobalCopyStore()\n\n const getRemainingCashColor = () => {\n if (remaining < 0) {\n return 'error.main'\n }\n if (remaining > 0) {\n return 'success.main'\n }\n return 'warning.main'\n }\n\n return (\n <>\n <Box\n sx={{\n borderRadius: '1px',\n backgroundColor: getRemainingCashColor(),\n height: 6,\n width: 6,\n }}\n />\n <Text bold={true} sx={{ flexGrow: 1, fontSize: 12 }}>\n {customCopy.remaining_cash}\n </Text>\n <CurrencyText amount={remaining} bold={true} sx={{ fontSize: 12 }} />\n </>\n )\n}\n\nexport default observer(RemainingCash)\n"],"mappings":";;;;;;AAaA,IAAM,IAAA,CAAiB,EAAE,WAAA,EAAA,MAAoC;AAC3D,QAAM,EAAE,UAAU,EAAA,IAAe,EAAmB;AAYpD,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD,EACE,IAAI;AAAA,MACF,cAAc;AAAA,MACd,iBAdF,IAAY,IACP,eAEL,IAAY,IACP,iBAEF;AAAA,MASD,QAAQ;AAAA,MACR,OAAO;AAAA,IACT,EACD,CAAA;AAAA,IACD,gBAAA,EAAC,GAAD;AAAA,MAAM,MAAM;AAAA,MAAM,IAAI;AAAA,QAAE,UAAU;AAAA,QAAG,UAAU;AAAA,MAAG;AAAA,MAC/C,UAAA,EAAW;AAAA,IACR,CAAA;AAAA,IACN,gBAAA,EAAC,GAAD;AAAA,MAAc,QAAQ;AAAA,MAAW,MAAM;AAAA,MAAM,IAAI,EAAE,UAAU,GAAG;AAAA,IAAI,CAAA;AAAA,EACpE,EAAA,CAAA;AAEN,GAEA,IAAe,EAAS,CAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"SummaryTab.es.js","names":[],"sources":["../../../src/cashflow/components/SummaryTab.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\nimport { alpha } from '@mui/material/styles'\n\nimport { DataGridPro, GridColDef } from '@mui/x-data-grid-pro'\n\nimport { InstitutionLogo, Text } from '@mxenabled/mxui'\n\nimport {\n CurrencyText,\n InformationTooltip,\n useAppConfig,\n useGlobalCopyStore,\n useWidgetContainerProvider,\n} from '../../common'\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { type Account } from '../../core'\nimport { useCashflowUiStore } from '../context/hooks'\nimport { recurrenceFilter } from '../util/Filters'\n\nimport RemainingCash from './RemainingCash'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\nimport { getAccountStartingBalance } from '../../core/utils/AccountUtils'\n\nconst SummaryTab = () => {\n const { availableWidth } = useWidgetContainerProvider()\n const theme = useTheme()\n const { cashflow: customCopy } = useGlobalCopyStore()\n const {\n config: { display_available_balance_in_accounts: useAvailable },\n } = useAppConfig()\n const { dateRange, selectedCashAccounts, upcomingExpenses, upcomingIncome } = useCashflowUiStore()\n\n const columns: GridColDef[] = [\n {\n field: 'account',\n flex: 1.5,\n headerName: customCopy.accounts,\n renderCell: ({ value: { name, nickname, institution_guid, account_number } }) => {\n const accountName = nickname || name\n\n return (\n <Stack alignItems=\"center\" flexDirection=\"row\" gap={12}>\n <InstitutionLogo\n alt={customCopy.institution_logo}\n institutionGuid={institution_guid || ''}\n size={16}\n />\n <Text variant=\"body2\">{`${accountName} ${account_number ? `*${account_number}` : ''}`}</Text>\n </Stack>\n )\n },\n },\n {\n field: 'balance',\n flex: 1,\n headerName: customCopy.balance,\n type: 'number',\n renderCell: (params) => (\n <Text color={theme.palette.text.primary} variant=\"body2\">\n {formatCurrency(params.value, '0,0.00')}\n </Text>\n ),\n },\n {\n field: 'income',\n flex: 1,\n headerName: customCopy.projected_income,\n type: 'number',\n renderCell: (params) => (\n <Text color={theme.palette.text.primary} variant=\"body2\">\n {`+${formatCurrency(params.value, '0,0.00')}`}\n </Text>\n ),\n },\n {\n field: 'expenses',\n flex: 1.1,\n headerName: customCopy.projected_expenses,\n type: 'number',\n renderCell: (params) => (\n <Text color={theme.palette.text.primary} variant=\"body2\">\n {`-${formatCurrency(params.value, '0,0.00')}`}\n </Text>\n ),\n },\n {\n field: 'remaining',\n flex: 1,\n headerName: customCopy.remaining,\n type: 'number',\n renderCell: (params) => {\n const total = params.row.balance + params.row.income - params.row.expenses\n\n return (\n <Text\n color={Math.sign(total) === -1 ? theme.palette.error.main : theme.palette.text.primary}\n variant=\"body2\"\n >\n {formatCurrency(total, '0,0.00')}\n </Text>\n )\n },\n },\n ]\n\n const rows = React.useMemo(() => {\n return selectedCashAccounts.map((account: Account) => {\n const totalprojectedExpenses = upcomingExpenses\n .filter(recurrenceFilter(account, dateRange))\n .reduce((acc, curr) => acc + curr.amount, 0)\n\n const totalProjectedIncome = upcomingIncome\n .filter(recurrenceFilter(account, dateRange))\n .reduce((acc, curr) => acc + curr.amount, 0)\n\n const startingBalance = getAccountStartingBalance(account, useAvailable)\n const remaining = startingBalance + totalProjectedIncome - totalprojectedExpenses\n\n return {\n account,\n balance: startingBalance,\n id: account.guid,\n income: totalProjectedIncome,\n expenses: totalprojectedExpenses,\n remaining,\n }\n })\n }, [selectedCashAccounts, upcomingExpenses, upcomingIncome, useAvailable, dateRange])\n\n return (\n <Box\n sx={{\n width: '100%',\n }}\n >\n <Stack\n direction={availableWidth < 540 ? 'column' : 'row'}\n justifyContent=\"space-between\"\n mb={12}\n >\n <Stack alignItems=\"center\" direction=\"row\" gap={8}>\n <Text\n bold={true}\n sx={{\n fontSize: 15,\n }}\n >\n {customCopy.cash_inflow_and_outflow}\n </Text>\n <InformationTooltip\n body={customCopy.table_tooltip_body}\n title={customCopy.table_tooltip_title}\n />\n </Stack>\n <Text bold={true} sx={{ fontSize: 15 }}>\n {formatDate(dateRange.start, DATE_FORMATS_INTL.FULL_MONTH_DAY)} -{' '}\n {formatDate(dateRange.end, DATE_FORMATS_INTL.FULL_MONTH_DAY)}\n </Text>\n </Stack>\n {availableWidth > 650 ? (\n <DataGridPro\n columnHeaderHeight={48}\n columns={columns}\n density=\"standard\"\n disableColumnMenu={true}\n disableRowSelectionOnClick={true}\n hideFooter={true}\n rowHeight={48}\n rows={rows}\n sx={{\n border: '1px solid',\n borderColor: 'neutral.light',\n borderRadius: 1,\n '& .MuiDataGrid-columnHeader .MuiIconButton-root': {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, 0.1),\n },\n },\n '& .MuiDataGrid-columnHeaderTitle': {\n fontFamily: theme.typography.h3.fontFamily,\n fontSize: theme.typography.body2.fontSize,\n },\n '& .MuiDataGrid-sortIcon': {\n color: theme.palette.primary.main,\n },\n }}\n />\n ) : (\n rows.map((row) => {\n const { name, nickname, institution_guid, account_number } = row.account\n const accountName = nickname || name\n\n return (\n <List\n key={row.id}\n sx={{\n border: '1px solid',\n borderColor: 'neutral.light',\n borderRadius: 1,\n marginBottom: 24,\n }}\n >\n <ListItem sx={{ minHeight: 'auto' }}>\n <Stack width=\"100%\">\n <Stack\n alignItems=\"center\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n px={16}\n py={12}\n >\n <Stack alignItems=\"center\" flexDirection=\"row\" gap={8} width=\"50%\">\n <InstitutionLogo\n alt={customCopy.institution_logo}\n institutionGuid={institution_guid || ''}\n size={16}\n />\n <Text variant=\"body2\">{`${accountName} ${account_number ? `*${account_number}` : ''}`}</Text>\n </Stack>\n <CurrencyText amount={row.balance} bold={true} variant=\"body2\" />\n </Stack>\n <Divider sx={{ width: '100%' }} />\n <Stack\n alignItems=\"center\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n px={16}\n py={12}\n >\n <Text variant=\"body2\">{customCopy.projected_income}</Text>\n <CurrencyText amount={row.income} bold={true} symbol=\"+\" variant=\"body2\" />\n </Stack>\n <Divider sx={{ width: '100%' }} />\n <Stack\n alignItems=\"center\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n px={16}\n py={12}\n >\n <Text variant=\"body2\">{customCopy.projected_expenses}</Text>\n <CurrencyText amount={row.expenses} bold={true} symbol=\"-\" variant=\"body2\" />\n </Stack>\n <Divider sx={{ width: '100%' }} />\n <Stack\n alignItems=\"center\"\n bgcolor=\"background.default\"\n flexDirection=\"row\"\n gap={8}\n justifyContent=\"space-between\"\n px={16}\n py={12}\n sx={{ borderBottomLeftRadius: '4px', borderBottomRightRadius: '4px' }}\n >\n <RemainingCash remaining={row.remaining} />\n </Stack>\n </Stack>\n </ListItem>\n </List>\n )\n })\n )}\n </Box>\n )\n}\n\nexport default observer(SummaryTab)\n"],"mappings":"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"}
1
+ {"version":3,"file":"SummaryTab.es.js","names":[],"sources":["../../../src/cashflow/components/SummaryTab.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\nimport { alpha } from '@mui/material/styles'\n\nimport { DataGridPro, GridColDef } from '@mui/x-data-grid-pro'\n\nimport { InstitutionLogo, Text } from '@mxenabled/mxui'\n\nimport {\n CurrencyText,\n InformationTooltip,\n useAppConfig,\n useGlobalCopyStore,\n useWidgetContainerProvider,\n} from '../../common'\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { type Account } from '../../core'\nimport { useCashflowUiStore } from '../context/hooks'\nimport { recurrenceFilter } from '../util/Filters'\n\nimport RemainingCash from './RemainingCash'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\nimport { getAccountStartingBalance } from '../../core/utils/AccountUtils'\n\nconst SummaryTab = () => {\n const { availableWidth } = useWidgetContainerProvider()\n const theme = useTheme()\n const { cashflow: customCopy } = useGlobalCopyStore()\n const {\n config: { display_available_balance_in_accounts: useAvailable },\n } = useAppConfig()\n const { dateRange, selectedCashAccounts, upcomingExpenses, upcomingIncome } = useCashflowUiStore()\n\n const columns: GridColDef[] = [\n {\n field: 'account',\n flex: 1.5,\n headerName: customCopy.accounts,\n renderCell: ({ value: { name, nickname, institution_guid, account_number } }) => {\n const accountName = nickname || name\n\n return (\n <Stack alignItems=\"center\" flexDirection=\"row\" gap={12}>\n <InstitutionLogo\n alt={customCopy.institution_logo}\n institutionGuid={institution_guid || ''}\n size={16}\n />\n <Text variant=\"body2\">{`${accountName} ${account_number ? `*${account_number}` : ''}`}</Text>\n </Stack>\n )\n },\n },\n {\n field: 'balance',\n flex: 1,\n headerName: customCopy.balance,\n type: 'number',\n renderCell: (params) => (\n <Text color={theme.palette.text.primary} variant=\"body2\">\n {formatCurrency(params.value, '0,0.00')}\n </Text>\n ),\n },\n {\n field: 'income',\n flex: 1,\n headerName: customCopy.projected_income,\n type: 'number',\n renderCell: (params) => (\n <Text color={theme.palette.text.primary} variant=\"body2\">\n {`+${formatCurrency(params.value, '0,0.00')}`}\n </Text>\n ),\n },\n {\n field: 'expenses',\n flex: 1.1,\n headerName: customCopy.projected_expenses,\n type: 'number',\n renderCell: (params) => (\n <Text color={theme.palette.text.primary} variant=\"body2\">\n {`-${formatCurrency(params.value, '0,0.00')}`}\n </Text>\n ),\n },\n {\n field: 'remaining',\n flex: 1,\n headerName: customCopy.remaining,\n type: 'number',\n renderCell: (params) => {\n const total = params.row.balance + params.row.income - params.row.expenses\n\n return (\n <Text\n color={Math.sign(total) === -1 ? theme.palette.error.main : theme.palette.text.primary}\n variant=\"body2\"\n >\n {formatCurrency(total, '0,0.00')}\n </Text>\n )\n },\n },\n ]\n\n const rows = React.useMemo(() => {\n return selectedCashAccounts.map((account: Account) => {\n const totalprojectedExpenses = upcomingExpenses\n .filter(recurrenceFilter(account, dateRange))\n .reduce((acc, curr) => acc + curr.amount, 0)\n\n const totalProjectedIncome = upcomingIncome\n .filter(recurrenceFilter(account, dateRange))\n .reduce((acc, curr) => acc + curr.amount, 0)\n\n const startingBalance = getAccountStartingBalance(account, useAvailable)\n const remaining = startingBalance + totalProjectedIncome - totalprojectedExpenses\n\n return {\n account,\n balance: startingBalance,\n id: account.guid,\n income: totalProjectedIncome,\n expenses: totalprojectedExpenses,\n remaining,\n }\n })\n }, [selectedCashAccounts, upcomingExpenses, upcomingIncome, useAvailable, dateRange])\n\n return (\n <Box\n sx={{\n width: '100%',\n }}\n >\n <Stack\n direction={availableWidth < 540 ? 'column' : 'row'}\n justifyContent=\"space-between\"\n mb={12}\n >\n <Stack alignItems=\"center\" direction=\"row\" gap={8}>\n <Text\n bold={true}\n sx={{\n fontSize: 15,\n }}\n >\n {customCopy.cash_inflow_and_outflow}\n </Text>\n <InformationTooltip\n body={customCopy.table_tooltip_body}\n title={customCopy.table_tooltip_title}\n />\n </Stack>\n <Text bold={true} sx={{ fontSize: 15 }}>\n {formatDate(dateRange.start, DATE_FORMATS_INTL.FULL_MONTH_DAY)} -{' '}\n {formatDate(dateRange.end, DATE_FORMATS_INTL.FULL_MONTH_DAY)}\n </Text>\n </Stack>\n {availableWidth > 650 ? (\n <DataGridPro\n columnHeaderHeight={48}\n columns={columns}\n density=\"standard\"\n disableColumnMenu={true}\n disableRowSelectionOnClick={true}\n hideFooter={true}\n rowHeight={48}\n rows={rows}\n sx={{\n border: '1px solid',\n borderColor: 'neutral.light',\n borderRadius: 1,\n '& .MuiDataGrid-columnHeader .MuiIconButton-root': {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, 0.1),\n },\n },\n '& .MuiDataGrid-columnHeaderTitle': {\n fontFamily: theme.typography.h3.fontFamily,\n fontSize: theme.typography.body2.fontSize,\n },\n '& .MuiDataGrid-sortIcon': {\n color: theme.palette.primary.main,\n },\n }}\n />\n ) : (\n rows.map((row) => {\n const { name, nickname, institution_guid, account_number } = row.account\n const accountName = nickname || name\n\n return (\n <List\n key={row.id}\n sx={{\n border: '1px solid',\n borderColor: 'neutral.light',\n borderRadius: 1,\n marginBottom: 24,\n }}\n >\n <ListItem sx={{ minHeight: 'auto' }}>\n <Stack width=\"100%\">\n <Stack\n alignItems=\"center\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n px={16}\n py={12}\n >\n <Stack alignItems=\"center\" flexDirection=\"row\" gap={8} width=\"50%\">\n <InstitutionLogo\n alt={customCopy.institution_logo}\n institutionGuid={institution_guid || ''}\n size={16}\n />\n <Text variant=\"body2\">{`${accountName} ${account_number ? `*${account_number}` : ''}`}</Text>\n </Stack>\n <CurrencyText amount={row.balance} bold={true} variant=\"body2\" />\n </Stack>\n <Divider sx={{ width: '100%' }} />\n <Stack\n alignItems=\"center\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n px={16}\n py={12}\n >\n <Text variant=\"body2\">{customCopy.projected_income}</Text>\n <CurrencyText amount={row.income} bold={true} symbol=\"+\" variant=\"body2\" />\n </Stack>\n <Divider sx={{ width: '100%' }} />\n <Stack\n alignItems=\"center\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n px={16}\n py={12}\n >\n <Text variant=\"body2\">{customCopy.projected_expenses}</Text>\n <CurrencyText amount={row.expenses} bold={true} symbol=\"-\" variant=\"body2\" />\n </Stack>\n <Divider sx={{ width: '100%' }} />\n <Stack\n alignItems=\"center\"\n bgcolor=\"background.default\"\n flexDirection=\"row\"\n gap={8}\n justifyContent=\"space-between\"\n px={16}\n py={12}\n sx={{ borderBottomLeftRadius: '4px', borderBottomRightRadius: '4px' }}\n >\n <RemainingCash remaining={row.remaining} />\n </Stack>\n </Stack>\n </ListItem>\n </List>\n )\n })\n )}\n </Box>\n )\n}\n\nexport default observer(SummaryTab)\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA+BA,IAAM,IAAA,MAAmB;AACvB,QAAM,EAAE,gBAAA,EAAA,IAAmB,EAA2B,GAChD,IAAQ,EAAS,GACjB,EAAE,UAAU,EAAA,IAAe,EAAmB,GAC9C,EACJ,QAAQ,EAAE,uCAAuC,EAAA,EAAA,IAC/C,EAAa,GACX,EAAE,WAAA,GAAW,sBAAA,GAAsB,kBAAA,GAAkB,gBAAA,EAAA,IAAmB,EAAmB,GAE3F,IAAwB;AAAA,IAC5B;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,YAAY,EAAW;AAAA,MACvB,YAAA,CAAa,EAAE,OAAO,EAAE,MAAA,GAAM,UAAA,GAAU,kBAAA,GAAkB,gBAAA,EAAA,EAAA,MAAuB;AAC/E,cAAM,IAAc,KAAY;AAEhC,eACE,gBAAA,EAAC,GAAD;AAAA,UAAO,YAAW;AAAA,UAAS,eAAc;AAAA,UAAM,KAAK;AAAA,UAApD,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,YACE,KAAK,EAAW;AAAA,YAChB,iBAAiB,KAAoB;AAAA,YACrC,MAAM;AAAA,UACP,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,YAAM,SAAQ;AAAA,YAAS,UAAA,GAAG,CAAA,IAAe,IAAiB,IAAI,CAAA,KAAmB,EAAA;AAAA,UAAW,CAAA,CACvF;AAAA;MAEX;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,YAAY,EAAW;AAAA,MACvB,MAAM;AAAA,MACN,YAAA,CAAa,MACX,gBAAA,EAAC,GAAD;AAAA,QAAM,OAAO,EAAM,QAAQ,KAAK;AAAA,QAAS,SAAQ;AAAA,QAC9C,UAAA,EAAe,EAAO,OAAO,QAAQ;AAAA,MAClC,CAAA;AAAA,IAEV;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,YAAY,EAAW;AAAA,MACvB,MAAM;AAAA,MACN,YAAA,CAAa,MACX,gBAAA,EAAC,GAAD;AAAA,QAAM,OAAO,EAAM,QAAQ,KAAK;AAAA,QAAS,SAAQ;AAAA,QAC9C,UAAA,IAAI,EAAe,EAAO,OAAO,QAAQ,CAAA;AAAA,MACtC,CAAA;AAAA,IAEV;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,YAAY,EAAW;AAAA,MACvB,MAAM;AAAA,MACN,YAAA,CAAa,MACX,gBAAA,EAAC,GAAD;AAAA,QAAM,OAAO,EAAM,QAAQ,KAAK;AAAA,QAAS,SAAQ;AAAA,QAC9C,UAAA,IAAI,EAAe,EAAO,OAAO,QAAQ,CAAA;AAAA,MACtC,CAAA;AAAA,IAEV;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,YAAY,EAAW;AAAA,MACvB,MAAM;AAAA,MACN,YAAA,CAAa,MAAW;AACtB,cAAM,IAAQ,EAAO,IAAI,UAAU,EAAO,IAAI,SAAS,EAAO,IAAI;AAElE,eACE,gBAAA,EAAC,GAAD;AAAA,UACE,OAAO,KAAK,KAAK,CAAK,MAAM,KAAK,EAAM,QAAQ,MAAM,OAAO,EAAM,QAAQ,KAAK;AAAA,UAC/E,SAAQ;AAAA,UAEP,UAAA,EAAe,GAAO,QAAQ;AAAA,QAC3B,CAAA;AAAA,MAEV;AAAA,IACF;AAAA,EACF,GAEM,IAAO,EAAM,QAAA,MACV,EAAqB,IAAA,CAAK,MAAqB;AACpD,UAAM,IAAyB,EAC5B,OAAO,EAAiB,GAAS,CAAS,CAAC,EAC3C,OAAA,CAAQ,GAAK,MAAS,IAAM,EAAK,QAAQ,CAAC,GAEvC,IAAuB,EAC1B,OAAO,EAAiB,GAAS,CAAS,CAAC,EAC3C,OAAA,CAAQ,GAAK,MAAS,IAAM,EAAK,QAAQ,CAAC,GAEvC,IAAkB,EAA0B,GAAS,CAAY,GACjE,IAAY,IAAkB,IAAuB;AAE3D,WAAO;AAAA,MACL,SAAA;AAAA,MACA,SAAS;AAAA,MACT,IAAI,EAAQ;AAAA,MACZ,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAA;AAAA,IACF;AAAA,EACF,CAAC,GACA;AAAA,IAAC;AAAA,IAAsB;AAAA,IAAkB;AAAA,IAAgB;AAAA,IAAc;AAAA,EAAS,CAAC;AAEpF,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI,EACF,OAAO,OACT;AAAA,IAHF,UAAA,CAKE,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,IAAiB,MAAM,WAAW;AAAA,MAC7C,gBAAe;AAAA,MACf,IAAI;AAAA,MAHN,UAAA,CAKE,gBAAA,EAAC,GAAD;AAAA,QAAO,YAAW;AAAA,QAAS,WAAU;AAAA,QAAM,KAAK;AAAA,QAAhD,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UACE,MAAM;AAAA,UACN,IAAI,EACF,UAAU,GACZ;AAAA,UAEC,UAAA,EAAW;AAAA,QACR,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,UACE,MAAM,EAAW;AAAA,UACjB,OAAO,EAAW;AAAA,QACnB,CAAA,CACI;AAAA,MACP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,IAAI,EAAE,UAAU,GAAG;AAAA,QAArC,UAAA;AAAA,UACG,EAAW,EAAU,OAAO,EAAkB,cAAc;AAAA,UAAE;AAAA,UAAG;AAAA,UACjE,EAAW,EAAU,KAAK,EAAkB,cAAc;AAAA,QACvD;AAAA,MACD,CAAA,CAAA;AAAA,IACN,CAAA,GAAA,IAAiB,MAChB,gBAAA,EAAC,GAAD;AAAA,MACE,oBAAoB;AAAA,MACX,SAAA;AAAA,MACT,SAAQ;AAAA,MACR,mBAAmB;AAAA,MACnB,4BAA4B;AAAA,MAC5B,YAAY;AAAA,MACZ,WAAW;AAAA,MACL,MAAA;AAAA,MACN,IAAI;AAAA,QACF,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,cAAc;AAAA,QACd,mDAAmD;AAAA,UACjD,OAAO,EAAM,QAAQ,QAAQ;AAAA,UAC7B,WAAW,EACT,iBAAiB,EAAM,EAAM,QAAQ,QAAQ,MAAM,GAAG,EACxD;AAAA,QACF;AAAA,QACA,oCAAoC;AAAA,UAClC,YAAY,EAAM,WAAW,GAAG;AAAA,UAChC,UAAU,EAAM,WAAW,MAAM;AAAA,QACnC;AAAA,QACA,2BAA2B,EACzB,OAAO,EAAM,QAAQ,QAAQ,KAC/B;AAAA,MACF;AAAA,IACD,CAAA,IAED,EAAK,IAAA,CAAK,MAAQ;AAChB,YAAM,EAAE,MAAA,GAAM,UAAA,GAAU,kBAAA,GAAkB,gBAAA,EAAA,IAAmB,EAAI,SAC3D,IAAc,KAAY;AAEhC,aACE,gBAAA,EAAC,GAAD;AAAA,QAEE,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,cAAc;AAAA,UACd,cAAc;AAAA,QAChB;AAAA,QAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,UAAU,IAAI,EAAE,WAAW,OAAO;AAAA,UAChC,UAAA,gBAAA,EAAC,GAAD;AAAA,YAAO,OAAM;AAAA,YAAb,UAAA;AAAA,cACE,gBAAA,EAAC,GAAD;AAAA,gBACE,YAAW;AAAA,gBACX,eAAc;AAAA,gBACd,gBAAe;AAAA,gBACf,IAAI;AAAA,gBACJ,IAAI;AAAA,gBALN,UAAA,CAOE,gBAAA,EAAC,GAAD;AAAA,kBAAO,YAAW;AAAA,kBAAS,eAAc;AAAA,kBAAM,KAAK;AAAA,kBAAG,OAAM;AAAA,kBAA7D,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,oBACE,KAAK,EAAW;AAAA,oBAChB,iBAAiB,KAAoB;AAAA,oBACrC,MAAM;AAAA,kBACP,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,oBAAM,SAAQ;AAAA,oBAAS,UAAA,GAAG,CAAA,IAAe,IAAiB,IAAI,CAAA,KAAmB,EAAA;AAAA,kBAAW,CAAA,CACvF;AAAA,gBACP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,kBAAc,QAAQ,EAAI;AAAA,kBAAS,MAAM;AAAA,kBAAM,SAAQ;AAAA,gBAAS,CAAA,CAC3D;AAAA;cACP,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,OAAO,OAAO,EAAI,CAAA;AAAA,cACjC,gBAAA,EAAC,GAAD;AAAA,gBACE,YAAW;AAAA,gBACX,eAAc;AAAA,gBACd,gBAAe;AAAA,gBACf,IAAI;AAAA,gBACJ,IAAI;AAAA,gBALN,UAAA,CAOE,gBAAA,EAAC,GAAD;AAAA,kBAAM,SAAQ;AAAA,kBAAS,UAAA,EAAW;AAAA,gBAAuB,CAAA,GACzD,gBAAA,EAAC,GAAD;AAAA,kBAAc,QAAQ,EAAI;AAAA,kBAAQ,MAAM;AAAA,kBAAM,QAAO;AAAA,kBAAI,SAAQ;AAAA,gBAAS,CAAA,CACrE;AAAA;cACP,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,OAAO,OAAO,EAAI,CAAA;AAAA,cACjC,gBAAA,EAAC,GAAD;AAAA,gBACE,YAAW;AAAA,gBACX,eAAc;AAAA,gBACd,gBAAe;AAAA,gBACf,IAAI;AAAA,gBACJ,IAAI;AAAA,gBALN,UAAA,CAOE,gBAAA,EAAC,GAAD;AAAA,kBAAM,SAAQ;AAAA,kBAAS,UAAA,EAAW;AAAA,gBAAyB,CAAA,GAC3D,gBAAA,EAAC,GAAD;AAAA,kBAAc,QAAQ,EAAI;AAAA,kBAAU,MAAM;AAAA,kBAAM,QAAO;AAAA,kBAAI,SAAQ;AAAA,gBAAS,CAAA,CACvE;AAAA;cACP,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,OAAO,OAAO,EAAI,CAAA;AAAA,cACjC,gBAAA,EAAC,GAAD;AAAA,gBACE,YAAW;AAAA,gBACX,SAAQ;AAAA,gBACR,eAAc;AAAA,gBACd,KAAK;AAAA,gBACL,gBAAe;AAAA,gBACf,IAAI;AAAA,gBACJ,IAAI;AAAA,gBACJ,IAAI;AAAA,kBAAE,wBAAwB;AAAA,kBAAO,yBAAyB;AAAA,gBAAM;AAAA,gBAEpE,UAAA,gBAAA,EAAC,GAAD,EAAe,WAAW,EAAI,UAAY,CAAA;AAAA,cACrC,CAAA;AAAA,YACF;AAAA;QACC,CAAA;AAAA,MACN,GAhEC,EAAI,EAgEL;AAAA,IAEV,CAAC,CAEA;AAAA;AAET,GAEA,KAAe,EAAS,CAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"StepOne.es.js","names":[],"sources":["../../../../src/cashflow/components/onboarding/StepOne.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\nimport { H2, H3, Icon, P } from '@mxenabled/mxui'\nimport { useTheme } from '@mui/material/styles'\nimport { useCashflowStore, useGlobalCopyStore } from '../../../common'\n\ninterface StepOneProps {\n handleNextStep: () => void\n}\n\nconst StepOne: React.FC<StepOneProps> = ({ handleNextStep }) => {\n const { completeOnboarding } = useCashflowStore()\n const { cashflow: customCopy } = useGlobalCopyStore()\n\n const theme = useTheme()\n\n return (\n <Stack>\n <H2 pb={12} variant=\"h1\">\n {customCopy.welcome_title}\n </H2>\n <H3 color={theme.palette.primary.light} pb={8}>\n {customCopy.welcome_sub_title}\n </H3>\n <P pb={32}>{customCopy.welcome_description}</P>\n <Stack direction=\"column\" mb={32} spacing={32}>\n <P sx={{ display: 'flex', alignItems: 'center', fontSize: 18 }}>\n <Box\n bgcolor={theme.palette.primary.lighter}\n borderRadius={1}\n component=\"span\"\n height={44}\n mr={24}\n sx={{ display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0 }}\n width={44}\n >\n <Icon color=\"primary\" name=\"currency_exchange\" />\n </Box>\n {customCopy.bullet_one}\n </P>\n <P sx={{ display: 'flex', alignItems: 'center', fontSize: 18 }}>\n <Box\n bgcolor={theme.palette.primary.lighter}\n borderRadius={1}\n component=\"span\"\n height={44}\n mr={24}\n sx={{ display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0 }}\n width={44}\n >\n <Icon color=\"primary\" name=\"cardiology\" />\n </Box>\n {customCopy.bullet_two}\n </P>\n <P sx={{ display: 'flex', alignItems: 'center', fontSize: 18 }}>\n <Box\n bgcolor={theme.palette.primary.lighter}\n borderRadius={1}\n component=\"span\"\n height={44}\n mr={24}\n sx={{ display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0 }}\n width={44}\n >\n <Icon color=\"primary\" name=\"flare\" />\n </Box>\n {customCopy.bullet_three}\n </P>\n </Stack>\n <Stack direction=\"row\" spacing={16}>\n <Button onClick={handleNextStep} variant=\"contained\">\n {customCopy.get_started_button}\n </Button>\n <Button onClick={completeOnboarding} variant=\"outlined\">\n {customCopy.skip_button}\n </Button>\n </Stack>\n </Stack>\n )\n}\n\nexport default observer(StepOne)\n"],"mappings":"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"}
1
+ {"version":3,"file":"StepOne.es.js","names":[],"sources":["../../../../src/cashflow/components/onboarding/StepOne.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\nimport { H2, H3, Icon, P } from '@mxenabled/mxui'\nimport { useTheme } from '@mui/material/styles'\nimport { useCashflowStore, useGlobalCopyStore } from '../../../common'\n\ninterface StepOneProps {\n handleNextStep: () => void\n}\n\nconst StepOne: React.FC<StepOneProps> = ({ handleNextStep }) => {\n const { completeOnboarding } = useCashflowStore()\n const { cashflow: customCopy } = useGlobalCopyStore()\n\n const theme = useTheme()\n\n return (\n <Stack>\n <H2 pb={12} variant=\"h1\">\n {customCopy.welcome_title}\n </H2>\n <H3 color={theme.palette.primary.light} pb={8}>\n {customCopy.welcome_sub_title}\n </H3>\n <P pb={32}>{customCopy.welcome_description}</P>\n <Stack direction=\"column\" mb={32} spacing={32}>\n <P sx={{ display: 'flex', alignItems: 'center', fontSize: 18 }}>\n <Box\n bgcolor={theme.palette.primary.lighter}\n borderRadius={1}\n component=\"span\"\n height={44}\n mr={24}\n sx={{ display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0 }}\n width={44}\n >\n <Icon color=\"primary\" name=\"currency_exchange\" />\n </Box>\n {customCopy.bullet_one}\n </P>\n <P sx={{ display: 'flex', alignItems: 'center', fontSize: 18 }}>\n <Box\n bgcolor={theme.palette.primary.lighter}\n borderRadius={1}\n component=\"span\"\n height={44}\n mr={24}\n sx={{ display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0 }}\n width={44}\n >\n <Icon color=\"primary\" name=\"cardiology\" />\n </Box>\n {customCopy.bullet_two}\n </P>\n <P sx={{ display: 'flex', alignItems: 'center', fontSize: 18 }}>\n <Box\n bgcolor={theme.palette.primary.lighter}\n borderRadius={1}\n component=\"span\"\n height={44}\n mr={24}\n sx={{ display: 'flex', alignItems: 'center', justifyContent: 'center', flexShrink: 0 }}\n width={44}\n >\n <Icon color=\"primary\" name=\"flare\" />\n </Box>\n {customCopy.bullet_three}\n </P>\n </Stack>\n <Stack direction=\"row\" spacing={16}>\n <Button onClick={handleNextStep} variant=\"contained\">\n {customCopy.get_started_button}\n </Button>\n <Button onClick={completeOnboarding} variant=\"outlined\">\n {customCopy.skip_button}\n </Button>\n </Stack>\n </Stack>\n )\n}\n\nexport default observer(StepOne)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StepTwo.es.js","names":[],"sources":["../../../../src/cashflow/components/onboarding/StepTwo.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { H2, P } from '@mxenabled/mxui'\nimport { useGlobalCopyStore } from '../../../common'\n\nimport { CASHFLOW_IMAGES } from '../../constants/CashflowImages'\n\nconst StepTwo: React.FC = () => {\n const { cashflow: customCopy } = useGlobalCopyStore()\n\n return (\n <React.Fragment>\n <div>\n <img alt=\"Loading\" src={CASHFLOW_IMAGES.CASHFLOW_LOADING_ANIMATION} />\n </div>\n <H2 pb={12} variant=\"h1\">\n {customCopy.loading_title}\n </H2>\n <P>{customCopy.loading_description}</P>\n </React.Fragment>\n )\n}\n\nexport default observer(StepTwo)\n"],"mappings":";;;;;;AAQA,IAAM,IAAA,MAA0B;AAC9B,QAAM,EAAE,UAAU,EAAA,IAAe,EAAmB;AAEpD,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,OAAD,EAAA,UACE,gBAAA,EAAC,OAAD;AAAA,MAAK,KAAI;AAAA,MAAU,KAAK,EAAgB;AAAA,IAA6B,CAAA,EAClE,CAAA;AAAA,IACL,gBAAA,EAAC,GAAD;AAAA,MAAI,IAAI;AAAA,MAAI,SAAQ;AAAA,gBACjB,EAAW;AAAA,IACV,CAAA;AAAA,IACJ,gBAAA,EAAC,GAAD,EAAA,UAAI,EAAW,oBAAuB,CAAA;AAAA,EACxB,EAAA,CAAA;AAEpB,GAEA,IAAe,EAAS,CAAO"}
1
+ {"version":3,"file":"StepTwo.es.js","names":[],"sources":["../../../../src/cashflow/components/onboarding/StepTwo.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { H2, P } from '@mxenabled/mxui'\nimport { useGlobalCopyStore } from '../../../common'\n\nimport { CASHFLOW_IMAGES } from '../../constants/CashflowImages'\n\nconst StepTwo: React.FC = () => {\n const { cashflow: customCopy } = useGlobalCopyStore()\n\n return (\n <React.Fragment>\n <div>\n <img alt=\"Loading\" src={CASHFLOW_IMAGES.CASHFLOW_LOADING_ANIMATION} />\n </div>\n <H2 pb={12} variant=\"h1\">\n {customCopy.loading_title}\n </H2>\n <P>{customCopy.loading_description}</P>\n </React.Fragment>\n )\n}\n\nexport default observer(StepTwo)\n"],"mappings":";;;;;;AAQA,IAAM,IAAA,MAA0B;AAC9B,QAAM,EAAE,UAAU,EAAA,IAAe,EAAmB;AAEpD,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,OAAD,EAAA,UACE,gBAAA,EAAC,OAAD;AAAA,MAAK,KAAI;AAAA,MAAU,KAAK,EAAgB;AAAA,IAA6B,CAAA,EAClE,CAAA;AAAA,IACL,gBAAA,EAAC,GAAD;AAAA,MAAI,IAAI;AAAA,MAAI,SAAQ;AAAA,MACjB,UAAA,EAAW;AAAA,IACV,CAAA;AAAA,IACJ,gBAAA,EAAC,GAAD,EAAA,UAAI,EAAW,oBAAuB,CAAA;AAAA,EACxB,EAAA,CAAA;AAEpB,GAEA,IAAe,EAAS,CAAO"}
@@ -1,38 +1,38 @@
1
- import { buildDynamicCopy as d } from "../../core/utils/Localization.es.js";
2
- import { useCategoryStore as p, useGlobalCopyStore as u } from "../../common/context/hooks.es.js";
3
- import { useCategoryUiStore as c } from "../context/hooks.es.js";
4
- import g from "./CategoryRow.es.js";
1
+ import { buildDynamicCopy as p } from "../../core/utils/Localization.es.js";
2
+ import { useCategoryStore as u, useGlobalCopyStore as c } from "../../common/context/hooks.es.js";
3
+ import { useCategoryUiStore as g } from "../context/hooks.es.js";
4
+ import f from "./CategoryRow.es.js";
5
5
  import "react";
6
- import { observer as f } from "mobx-react-lite";
6
+ import { observer as C } from "mobx-react-lite";
7
7
  import y from "@mui/material/Paper";
8
8
  import { jsx as t } from "react/jsx-runtime";
9
- import C from "@mui/material/List";
10
- var b = () => {
11
- const { categories: m } = p(), { searchValue: n } = c(), { categories: l } = u();
9
+ import b from "@mui/material/List";
10
+ var h = () => {
11
+ const { categories: n } = u(), { searchValue: m } = g(), { categories: l } = c(), d = ((o, r = "") => o.reduce((a, e) => {
12
+ if (e.parent_guid === null) {
13
+ const i = [{
14
+ ...e,
15
+ name: p(l.all_parent_category, e.name),
16
+ parent_guid: e.guid
17
+ }, ...o].filter((s) => s.parent_guid === e.guid && s.name.toLowerCase().includes(r.toLowerCase()));
18
+ if (e.name.toLowerCase().includes(r.toLowerCase()) || i.length > 0) return [...a, {
19
+ category: { ...e },
20
+ children: i
21
+ }];
22
+ }
23
+ return a;
24
+ }, []))(n, m);
12
25
  return /* @__PURE__ */ t(y, {
13
26
  className: "mx-cat-category-list",
14
27
  sx: { boxShadow: "none" },
15
- children: /* @__PURE__ */ t(C, { children: ((o, r = "") => o.reduce((a, e) => {
16
- if (e.parent_guid === null) {
17
- const i = [{
18
- ...e,
19
- name: d(l.all_parent_category, e.name),
20
- parent_guid: e.guid
21
- }, ...o].filter((s) => s.parent_guid === e.guid && s.name.toLowerCase().includes(r.toLowerCase()));
22
- if (e.name.toLowerCase().includes(r.toLowerCase()) || i.length > 0) return [...a, {
23
- category: { ...e },
24
- children: i
25
- }];
26
- }
27
- return a;
28
- }, []))(m, n).map((o) => /* @__PURE__ */ t(g, {
28
+ children: /* @__PURE__ */ t(b, { children: d.map((o) => /* @__PURE__ */ t(f, {
29
29
  category: o.category,
30
30
  subCategories: o.children
31
31
  }, o.category.guid)) })
32
32
  });
33
- }, G = f(b);
33
+ }, P = C(h);
34
34
  export {
35
- G as default
35
+ P as default
36
36
  };
37
37
 
38
38
  //# sourceMappingURL=CategoryList.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryList.es.js","names":[],"sources":["../../../src/categories/components/CategoryList.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport List from '@mui/material/List'\nimport Paper from '@mui/material/Paper'\n\nimport { useCategoryStore, useGlobalCopyStore } from '../../common'\nimport type { Category } from '../../core'\n\nimport { useCategoryUiStore } from '../context/hooks'\nimport CategoryRow from './CategoryRow'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ninterface NestedCategory {\n category: Category\n children: Category[]\n}\n\nconst CategoryList: React.FC = () => {\n const { categories } = useCategoryStore()\n const { searchValue } = useCategoryUiStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const buildNestedCategories = (categories: Category[], filter = ''): NestedCategory[] => {\n return categories.reduce((acc, currCategory) => {\n if (currCategory.parent_guid === null) {\n const categoriesWithParent = [\n {\n ...currCategory,\n name: buildDynamicCopy(copy.all_parent_category, currCategory.name) as string,\n parent_guid: currCategory.guid,\n },\n ...categories,\n ]\n const children = categoriesWithParent.filter(\n (category) =>\n category.parent_guid === currCategory.guid &&\n category.name.toLowerCase().includes(filter.toLowerCase()),\n )\n\n if (currCategory.name.toLowerCase().includes(filter.toLowerCase()) || children.length > 0) {\n return [...acc, { category: { ...currCategory }, children }]\n }\n }\n return acc\n }, [] as NestedCategory[])\n }\n\n const nestedCategories = buildNestedCategories(categories, searchValue)\n\n return (\n <Paper className=\"mx-cat-category-list\" sx={{ boxShadow: 'none' }}>\n <List>\n {nestedCategories.map((nested: NestedCategory) => (\n <CategoryRow\n category={nested.category}\n key={nested.category.guid}\n subCategories={nested.children}\n />\n ))}\n </List>\n </Paper>\n )\n}\n\nexport default observer(CategoryList)\n"],"mappings":";;;;;;;;;AAiBA,IAAM,IAAA,MAA+B;AACnC,QAAM,EAAE,YAAA,EAAA,IAAe,EAAiB,GAClC,EAAE,aAAA,EAAA,IAAgB,EAAmB,GACrC,EAAE,YAAY,EAAA,IAAS,EAAmB;AA6BhD,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,WAAU;AAAA,IAAuB,IAAI,EAAE,WAAW,OAAO;AAAA,cAC9D,gBAAA,EAAC,GAAD,EAAA,WA7BE,CAAyB,GAAwB,IAAS,OACvD,EAAW,OAAA,CAAQ,GAAK,MAAiB;AAC9C,UAAI,EAAa,gBAAgB,MAAM;AASrC,cAAM,IAAW,CAPf;AAAA,UACE,GAAG;AAAA,UACH,MAAM,EAAiB,EAAK,qBAAqB,EAAa,IAAI;AAAA,UAClE,aAAa,EAAa;AAAA,QAC5B,GACA,GAAG,CAEY,EAAqB,OAAA,CACnC,MACC,EAAS,gBAAgB,EAAa,QACtC,EAAS,KAAK,YAAY,EAAE,SAAS,EAAO,YAAY,CAAC,CAC7D;AAEA,YAAI,EAAa,KAAK,YAAY,EAAE,SAAS,EAAO,YAAY,CAAC,KAAK,EAAS,SAAS,EACtF,QAAO,CAAC,GAAG,GAAK;AAAA,UAAE,UAAU,EAAE,GAAG,EAAa;AAAA,UAAG,UAAA;AAAA,QAAS,CAAC;AAAA,MAE/D;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAqB,GAGoB,GAAY,CAKpD,EAAiB,IAAA,CAAK,MACrB,gBAAA,EAAC,GAAD;AAAA,MACE,UAAU,EAAO;AAAA,MAEjB,eAAe,EAAO;AAAA,IACvB,GAFM,EAAO,SAAS,IAEtB,CACF,EACG,CAAA;AAAA,EACD,CAAA;AAEX,GAEA,IAAe,EAAS,CAAY"}
1
+ {"version":3,"file":"CategoryList.es.js","names":[],"sources":["../../../src/categories/components/CategoryList.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport List from '@mui/material/List'\nimport Paper from '@mui/material/Paper'\n\nimport { useCategoryStore, useGlobalCopyStore } from '../../common'\nimport type { Category } from '../../core'\n\nimport { useCategoryUiStore } from '../context/hooks'\nimport CategoryRow from './CategoryRow'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ninterface NestedCategory {\n category: Category\n children: Category[]\n}\n\nconst CategoryList: React.FC = () => {\n const { categories } = useCategoryStore()\n const { searchValue } = useCategoryUiStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const buildNestedCategories = (categories: Category[], filter = ''): NestedCategory[] => {\n return categories.reduce((acc, currCategory) => {\n if (currCategory.parent_guid === null) {\n const categoriesWithParent = [\n {\n ...currCategory,\n name: buildDynamicCopy(copy.all_parent_category, currCategory.name) as string,\n parent_guid: currCategory.guid,\n },\n ...categories,\n ]\n const children = categoriesWithParent.filter(\n (category) =>\n category.parent_guid === currCategory.guid &&\n category.name.toLowerCase().includes(filter.toLowerCase()),\n )\n\n if (currCategory.name.toLowerCase().includes(filter.toLowerCase()) || children.length > 0) {\n return [...acc, { category: { ...currCategory }, children }]\n }\n }\n return acc\n }, [] as NestedCategory[])\n }\n\n const nestedCategories = buildNestedCategories(categories, searchValue)\n\n return (\n <Paper className=\"mx-cat-category-list\" sx={{ boxShadow: 'none' }}>\n <List>\n {nestedCategories.map((nested: NestedCategory) => (\n <CategoryRow\n category={nested.category}\n key={nested.category.guid}\n subCategories={nested.children}\n />\n ))}\n </List>\n </Paper>\n )\n}\n\nexport default observer(CategoryList)\n"],"mappings":";;;;;;;;;AAiBA,IAAM,IAAA,MAA+B;AACnC,QAAM,EAAE,YAAA,EAAA,IAAe,EAAiB,GAClC,EAAE,aAAA,EAAA,IAAgB,EAAmB,GACrC,EAAE,YAAY,EAAA,IAAS,EAAmB,GA2B1C,KAzBA,CAAyB,GAAwB,IAAS,OACvD,EAAW,OAAA,CAAQ,GAAK,MAAiB;AAC9C,QAAI,EAAa,gBAAgB,MAAM;AASrC,YAAM,IAAW,CAPf;AAAA,QACE,GAAG;AAAA,QACH,MAAM,EAAiB,EAAK,qBAAqB,EAAa,IAAI;AAAA,QAClE,aAAa,EAAa;AAAA,MAC5B,GACA,GAAG,CAEY,EAAqB,OAAA,CACnC,MACC,EAAS,gBAAgB,EAAa,QACtC,EAAS,KAAK,YAAY,EAAE,SAAS,EAAO,YAAY,CAAC,CAC7D;AAEA,UAAI,EAAa,KAAK,YAAY,EAAE,SAAS,EAAO,YAAY,CAAC,KAAK,EAAS,SAAS,EACtF,QAAO,CAAC,GAAG,GAAK;AAAA,QAAE,UAAU,EAAE,GAAG,EAAa;AAAA,QAAG,UAAA;AAAA,MAAS,CAAC;AAAA,IAE/D;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAqB,GAGoB,GAAY,CAAW;AAEtE,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,WAAU;AAAA,IAAuB,IAAI,EAAE,WAAW,OAAO;AAAA,IAC9D,UAAA,gBAAA,EAAC,GAAD,EAAA,UACG,EAAiB,IAAA,CAAK,MACrB,gBAAA,EAAC,GAAD;AAAA,MACE,UAAU,EAAO;AAAA,MAEjB,eAAe,EAAO;AAAA,IACvB,GAFM,EAAO,SAAS,IAEtB,CACF,EACG,CAAA;AAAA,EACD,CAAA;AAEX,GAEA,IAAe,EAAS,CAAY"}
@@ -10,9 +10,9 @@ import { jsx as t, jsxs as n } from "react/jsx-runtime";
10
10
  import h from "@mui/material/Divider";
11
11
  import L from "@mui/material/ListItem";
12
12
  import v from "@mui/material/ListItemButton";
13
- import I from "@mui/material/ListItemIcon";
14
- import _ from "@mui/material/ListItemText";
15
- import b from "@mui/material/ListItemAvatar";
13
+ import I from "@mui/material/ListItemText";
14
+ import _ from "@mui/material/ListItemAvatar";
15
+ import b from "@mui/material/ListItemIcon";
16
16
  var G = ({ category: r, subCategories: a }) => {
17
17
  const { expandedGuid: i, searchValue: m, setExpandedGuid: d } = f(), { onEvent: s } = p(), l = r.guid === i, u = () => {
18
18
  const e = r.guid !== i ? r.guid : null;
@@ -29,15 +29,15 @@ var G = ({ category: r, subCategories: a }) => {
29
29
  id: `category-${r.guid}`,
30
30
  onClick: u,
31
31
  children: [
32
- /* @__PURE__ */ t(b, { children: /* @__PURE__ */ t(x, { categoryGuid: r.guid }) }),
33
- /* @__PURE__ */ t(_, {
32
+ /* @__PURE__ */ t(_, { children: /* @__PURE__ */ t(x, { categoryGuid: r.guid }) }),
33
+ /* @__PURE__ */ t(I, {
34
34
  primary: r.name,
35
35
  slotProps: { primary: {
36
36
  fontWeight: "normal",
37
37
  variant: "body1"
38
38
  } }
39
39
  }),
40
- /* @__PURE__ */ t(I, { children: /* @__PURE__ */ t(C, { sx: {
40
+ /* @__PURE__ */ t(b, { children: /* @__PURE__ */ t(C, { sx: {
41
41
  transition: "transform 0.3s ease-in-out",
42
42
  transform: l || m ? "rotate(180deg)" : "rotate(0deg)"
43
43
  } }) })
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryRow.es.js","names":[],"sources":["../../../src/categories/components/CategoryRow.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\nimport { CategoryIcon } from '@mxenabled/mxui'\n\nimport { useEvent } from '../../common'\nimport type { Category } from '../../core'\n\nimport { useCategoryUiStore } from '../context/hooks'\nimport { ON_CLICK_EVENTS } from '../constants/OnClickEvents'\nimport SubcategoryList from './SubcategoryList'\n\ninterface CategoryRowProps {\n category: Category\n subCategories: Category[]\n}\n\nconst CategoryRow: React.FC<CategoryRowProps> = ({ category, subCategories }) => {\n const { expandedGuid, searchValue, setExpandedGuid } = useCategoryUiStore()\n const { onEvent } = useEvent()\n const isExpanded = category.guid === expandedGuid\n\n const handleExpanderClick = () => {\n const guid = category.guid !== expandedGuid ? category.guid : null\n setExpandedGuid(guid)\n onEvent(guid ? ON_CLICK_EVENTS.ON_CATEGORY_EXPANDED : ON_CLICK_EVENTS.ON_CATEGORY_COLLAPSED)\n }\n\n return (\n <React.Fragment>\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton\n aria-controls={`subcategories-${category.guid}`}\n aria-expanded={category.guid === expandedGuid}\n aria-label={category.name}\n id={`category-${category.guid}`}\n key={category.guid}\n onClick={handleExpanderClick}\n >\n <ListItemAvatar>\n <CategoryIcon categoryGuid={category.guid} />\n </ListItemAvatar>\n <ListItemText\n primary={category.name}\n slotProps={{ primary: { fontWeight: 'normal', variant: 'body1' } }}\n />\n <ListItemIcon>\n <ExpandMore\n sx={{\n transition: 'transform 0.3s ease-in-out',\n transform: isExpanded || searchValue ? 'rotate(180deg)' : 'rotate(0deg)',\n }}\n />\n </ListItemIcon>\n </ListItemButton>\n </ListItem>\n <Divider aria-hidden=\"true\" component=\"li\" sx={{ ml: 58 }} />\n <li style={{ listStyle: 'none' }}>\n <SubcategoryList categories={subCategories} parentCategory={category} />\n </li>\n </React.Fragment>\n )\n}\n\nexport default observer(CategoryRow)\n"],"mappings":";;;;;;;;;;;;;;;AA0BA,IAAM,IAAA,CAA2C,EAAE,UAAA,GAAU,eAAA,EAAA,MAAoB;AAC/E,QAAM,EAAE,cAAA,GAAc,aAAA,GAAa,iBAAA,EAAA,IAAoB,EAAmB,GACpE,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,IAAa,EAAS,SAAS,GAE/B,IAAA,MAA4B;AAChC,UAAM,IAAO,EAAS,SAAS,IAAe,EAAS,OAAO;AAC9D,IAAA,EAAgB,CAAI,GACpB,EAAQ,IAAO,EAAgB,uBAAuB,EAAgB,qBAAqB;AAAA,EAC7F;AAEA,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MAAU,gBAAgB;AAAA,MAAM,gBAAgB;AAAA,gBAC9C,gBAAA,EAAC,GAAD;AAAA,QACE,iBAAe,iBAAiB,EAAS,IAAA;AAAA,QACzC,iBAAe,EAAS,SAAS;AAAA,QACjC,cAAY,EAAS;AAAA,QACrB,IAAI,YAAY,EAAS,IAAA;AAAA,QAEzB,SAAS;AAAA,kBANX;AAAA,UAQE,gBAAA,EAAC,GAAD,EAAA,UACE,gBAAA,EAAC,GAAD,EAAc,cAAc,EAAS,KAAO,CAAA,EAC9B,CAAA;AAAA,UAChB,gBAAA,EAAC,GAAD;AAAA,YACE,SAAS,EAAS;AAAA,YAClB,WAAW,EAAE,SAAS;AAAA,cAAE,YAAY;AAAA,cAAU,SAAS;AAAA,YAAQ,EAAE;AAAA,UAClE,CAAA;AAAA,UACD,gBAAA,EAAC,GAAD,EAAA,UACE,gBAAA,EAAC,GAAD,EACE,IAAI;AAAA,YACF,YAAY;AAAA,YACZ,WAAW,KAAc,IAAc,mBAAmB;AAAA,UAC5D,EACD,CAAA,EACW,CAAA;AAAA,QACA;AAAA,SAlBT,EAAS,IAkBA;AAAA,IACR,CAAA;AAAA,IACV,gBAAA,EAAC,GAAD;AAAA,MAAS,eAAY;AAAA,MAAO,WAAU;AAAA,MAAK,IAAI,EAAE,IAAI,GAAG;AAAA,IAAI,CAAA;AAAA,IAC5D,gBAAA,EAAC,MAAD;AAAA,MAAI,OAAO,EAAE,WAAW,OAAO;AAAA,gBAC7B,gBAAA,EAAC,GAAD;AAAA,QAAiB,YAAY;AAAA,QAAe,gBAAgB;AAAA,MAAW,CAAA;AAAA,IACrE,CAAA;AAAA,EACU,EAAA,CAAA;AAEpB,GAEA,IAAe,EAAS,CAAW"}
1
+ {"version":3,"file":"CategoryRow.es.js","names":[],"sources":["../../../src/categories/components/CategoryRow.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\nimport { CategoryIcon } from '@mxenabled/mxui'\n\nimport { useEvent } from '../../common'\nimport type { Category } from '../../core'\n\nimport { useCategoryUiStore } from '../context/hooks'\nimport { ON_CLICK_EVENTS } from '../constants/OnClickEvents'\nimport SubcategoryList from './SubcategoryList'\n\ninterface CategoryRowProps {\n category: Category\n subCategories: Category[]\n}\n\nconst CategoryRow: React.FC<CategoryRowProps> = ({ category, subCategories }) => {\n const { expandedGuid, searchValue, setExpandedGuid } = useCategoryUiStore()\n const { onEvent } = useEvent()\n const isExpanded = category.guid === expandedGuid\n\n const handleExpanderClick = () => {\n const guid = category.guid !== expandedGuid ? category.guid : null\n setExpandedGuid(guid)\n onEvent(guid ? ON_CLICK_EVENTS.ON_CATEGORY_EXPANDED : ON_CLICK_EVENTS.ON_CATEGORY_COLLAPSED)\n }\n\n return (\n <React.Fragment>\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton\n aria-controls={`subcategories-${category.guid}`}\n aria-expanded={category.guid === expandedGuid}\n aria-label={category.name}\n id={`category-${category.guid}`}\n key={category.guid}\n onClick={handleExpanderClick}\n >\n <ListItemAvatar>\n <CategoryIcon categoryGuid={category.guid} />\n </ListItemAvatar>\n <ListItemText\n primary={category.name}\n slotProps={{ primary: { fontWeight: 'normal', variant: 'body1' } }}\n />\n <ListItemIcon>\n <ExpandMore\n sx={{\n transition: 'transform 0.3s ease-in-out',\n transform: isExpanded || searchValue ? 'rotate(180deg)' : 'rotate(0deg)',\n }}\n />\n </ListItemIcon>\n </ListItemButton>\n </ListItem>\n <Divider aria-hidden=\"true\" component=\"li\" sx={{ ml: 58 }} />\n <li style={{ listStyle: 'none' }}>\n <SubcategoryList categories={subCategories} parentCategory={category} />\n </li>\n </React.Fragment>\n )\n}\n\nexport default observer(CategoryRow)\n"],"mappings":";;;;;;;;;;;;;;;AA0BA,IAAM,IAAA,CAA2C,EAAE,UAAA,GAAU,eAAA,EAAA,MAAoB;AAC/E,QAAM,EAAE,cAAA,GAAc,aAAA,GAAa,iBAAA,EAAA,IAAoB,EAAmB,GACpE,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,IAAa,EAAS,SAAS,GAE/B,IAAA,MAA4B;AAChC,UAAM,IAAO,EAAS,SAAS,IAAe,EAAS,OAAO;AAC9D,IAAA,EAAgB,CAAI,GACpB,EAAQ,IAAO,EAAgB,uBAAuB,EAAgB,qBAAqB;AAAA,EAC7F;AAEA,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MAAU,gBAAgB;AAAA,MAAM,gBAAgB;AAAA,MAC9C,UAAA,gBAAA,EAAC,GAAD;AAAA,QACE,iBAAe,iBAAiB,EAAS,IAAA;AAAA,QACzC,iBAAe,EAAS,SAAS;AAAA,QACjC,cAAY,EAAS;AAAA,QACrB,IAAI,YAAY,EAAS,IAAA;AAAA,QAEzB,SAAS;AAAA,QANX,UAAA;AAAA,UAQE,gBAAA,EAAC,GAAD,EAAA,UACE,gBAAA,EAAC,GAAD,EAAc,cAAc,EAAS,KAAO,CAAA,EAC9B,CAAA;AAAA,UAChB,gBAAA,EAAC,GAAD;AAAA,YACE,SAAS,EAAS;AAAA,YAClB,WAAW,EAAE,SAAS;AAAA,cAAE,YAAY;AAAA,cAAU,SAAS;AAAA,YAAQ,EAAE;AAAA,UAClE,CAAA;AAAA,UACD,gBAAA,EAAC,GAAD,EAAA,UACE,gBAAA,EAAC,GAAD,EACE,IAAI;AAAA,YACF,YAAY;AAAA,YACZ,WAAW,KAAc,IAAc,mBAAmB;AAAA,UAC5D,EACD,CAAA,EACW,CAAA;AAAA,QACA;AAAA,MAlBT,GAAA,EAAS,IAkBA;AAAA,IACR,CAAA;AAAA,IACV,gBAAA,EAAC,GAAD;AAAA,MAAS,eAAY;AAAA,MAAO,WAAU;AAAA,MAAK,IAAI,EAAE,IAAI,GAAG;AAAA,IAAI,CAAA;AAAA,IAC5D,gBAAA,EAAC,MAAD;AAAA,MAAI,OAAO,EAAE,WAAW,OAAO;AAAA,MAC7B,UAAA,gBAAA,EAAC,GAAD;AAAA,QAAiB,YAAY;AAAA,QAAe,gBAAgB;AAAA,MAAW,CAAA;AAAA,IACrE,CAAA;AAAA,EACU,EAAA,CAAA;AAEpB,GAEA,IAAe,EAAS,CAAW"}