@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":"PaydownButton.es.js","names":[],"sources":["../../../../src/debts/components/debtspaydown/PaydownButton.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport { useDebtStore, useGlobalCopyStore, useGoalStore } from '../../../common'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface PaydownButtonProps {\n disabled?: boolean\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void\n}\n\nexport const PaydownButton = observer(({ disabled, onClick }: PaydownButtonProps) => {\n const { debts: copy } = useGlobalCopyStore()\n const { totalMonthlyPayments } = useDebtStore()\n const { monthlyCashFlowProfile } = useGoalStore()\n\n const totalContributions = totalMonthlyPayments + Number(monthlyCashFlowProfile?.extra_payment)\n const buttonText = copy.paydown_button_long\n return (\n <Stack alignItems=\"center\" sx={{ flex: 1, flexShrink: 0 }}>\n <Button\n aria-controls=\"extra-paydown\"\n aria-describedby=\"extra-paydown\"\n aria-haspopup={true}\n aria-label=\"extra-paydown\"\n disabled={disabled}\n onClick={onClick}\n sx={{ justifyContent: 'start' }}\n >\n {buildDynamicCopy(buttonText, formatCurrency(totalContributions, '0,0')) as string}\n </Button>\n </Stack>\n )\n})\n"],"mappings":";;;;;;;AAaA,IAAa,IAAgB,EAAA,CAAU,EAAE,UAAA,GAAU,SAAA,EAAA,MAAkC;AACnF,QAAM,EAAE,OAAO,EAAA,IAAS,EAAmB,GACrC,EAAE,sBAAA,EAAA,IAAyB,EAAa,GACxC,EAAE,wBAAA,EAAA,IAA2B,EAAa,GAE1C,IAAqB,IAAuB,OAAO,GAAwB,aAAa,GACxF,IAAa,EAAK;AACxB,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,YAAW;AAAA,IAAS,IAAI;AAAA,MAAE,MAAM;AAAA,MAAG,YAAY;AAAA,IAAE;AAAA,cACtD,gBAAA,EAAC,GAAD;AAAA,MACE,iBAAc;AAAA,MACd,oBAAiB;AAAA,MACjB,iBAAe;AAAA,MACf,cAAW;AAAA,MACD,UAAA;AAAA,MACD,SAAA;AAAA,MACT,IAAI,EAAE,gBAAgB,QAAQ;AAAA,gBAE7B,EAAiB,GAAY,EAAe,GAAoB,KAAK,CAAC;AAAA,IACjE,CAAA;AAAA,EACH,CAAA;AAEX,CAAC"}
1
+ {"version":3,"file":"PaydownButton.es.js","names":[],"sources":["../../../../src/debts/components/debtspaydown/PaydownButton.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport { useDebtStore, useGlobalCopyStore, useGoalStore } from '../../../common'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface PaydownButtonProps {\n disabled?: boolean\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void\n}\n\nexport const PaydownButton = observer(({ disabled, onClick }: PaydownButtonProps) => {\n const { debts: copy } = useGlobalCopyStore()\n const { totalMonthlyPayments } = useDebtStore()\n const { monthlyCashFlowProfile } = useGoalStore()\n\n const totalContributions = totalMonthlyPayments + Number(monthlyCashFlowProfile?.extra_payment)\n const buttonText = copy.paydown_button_long\n return (\n <Stack alignItems=\"center\" sx={{ flex: 1, flexShrink: 0 }}>\n <Button\n aria-controls=\"extra-paydown\"\n aria-describedby=\"extra-paydown\"\n aria-haspopup={true}\n aria-label=\"extra-paydown\"\n disabled={disabled}\n onClick={onClick}\n sx={{ justifyContent: 'start' }}\n >\n {buildDynamicCopy(buttonText, formatCurrency(totalContributions, '0,0')) as string}\n </Button>\n </Stack>\n )\n})\n"],"mappings":";;;;;;;AAaA,IAAa,IAAgB,EAAA,CAAU,EAAE,UAAA,GAAU,SAAA,EAAA,MAAkC;AACnF,QAAM,EAAE,OAAO,EAAA,IAAS,EAAmB,GACrC,EAAE,sBAAA,EAAA,IAAyB,EAAa,GACxC,EAAE,wBAAA,EAAA,IAA2B,EAAa,GAE1C,IAAqB,IAAuB,OAAO,GAAwB,aAAa,GACxF,IAAa,EAAK;AACxB,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,YAAW;AAAA,IAAS,IAAI;AAAA,MAAE,MAAM;AAAA,MAAG,YAAY;AAAA,IAAE;AAAA,IACtD,UAAA,gBAAA,EAAC,GAAD;AAAA,MACE,iBAAc;AAAA,MACd,oBAAiB;AAAA,MACjB,iBAAe;AAAA,MACf,cAAW;AAAA,MACD,UAAA;AAAA,MACD,SAAA;AAAA,MACT,IAAI,EAAE,gBAAgB,QAAQ;AAAA,MAE7B,UAAA,EAAiB,GAAY,EAAe,GAAoB,KAAK,CAAC;AAAA,IACjE,CAAA;AAAA,EACH,CAAA;AAEX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaydownContent.es.js","names":[],"sources":["../../../../src/debts/components/debtspaydown/PaydownContent.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\nimport { P, Text } from '@mxenabled/mxui'\n\nimport { useDebtStore, useGlobalCopyStore, useGoalStore } from '../../../common'\nimport { ExtraPaymentAction } from '../actions/ExtraPaymentAction'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\nconst PaydownContent = () => {\n const { debts: copy } = useGlobalCopyStore()\n const { totalMonthlyPayments } = useDebtStore()\n const { monthlyCashFlowProfile } = useGoalStore()\n\n const totalContributions = totalMonthlyPayments + Number(monthlyCashFlowProfile?.extra_payment)\n\n return (\n <Stack sx={{ backgroundColor: 'background.default', height: '100%' }}>\n <Stack p={24}>\n <Stack alignItems=\"center\" gap={4} mb={24}>\n <Text variant=\"body1\">{copy.paydown_drawer_mimimum_label}</Text>\n <P bold={true} variant=\"h1\">\n {formatCurrency(totalMonthlyPayments, '0,0')}\n </P>\n <Text textAlign=\"center\" truncate={false} variant=\"body2\" width={208}>\n {copy.paydown_drawer_minimum_info}\n </Text>\n </Stack>\n <Stack>\n <Text variant=\"h3\">{copy.paydown_drawer_subtitle}</Text>\n <Text truncate={false} variant=\"subtitle2\">\n {copy.paydown_drawer_description}\n </Text>\n </Stack>\n </Stack>\n <Stack sx={{ backgroundColor: 'background.paper' }}>\n <ExtraPaymentAction />\n </Stack>\n <Stack flexDirection=\"row-reverse\" px={24} py={12}>\n <Stack gap={4}>\n <Text variant=\"body2\">{copy.paydown_drawer_total_payment}</Text>\n <Text bold={true} textAlign=\"right\" variant=\"body1\">\n {formatCurrency(totalContributions, '0,0')}\n </Text>\n </Stack>\n </Stack>\n </Stack>\n )\n}\n\nexport default observer(PaydownContent)\n"],"mappings":";;;;;;;AASA,IAAM,IAAA,MAAuB;AAC3B,QAAM,EAAE,OAAO,EAAA,IAAS,EAAmB,GACrC,EAAE,sBAAA,EAAA,IAAyB,EAAa,GACxC,EAAE,wBAAA,EAAA,IAA2B,EAAa,GAE1C,IAAqB,IAAuB,OAAO,GAAwB,aAAa;AAE9F,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,iBAAiB;AAAA,MAAsB,QAAQ;AAAA,IAAO;AAAA,cAAnE;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QAAO,GAAG;AAAA,kBAAV,CACE,gBAAA,EAAC,GAAD;AAAA,UAAO,YAAW;AAAA,UAAS,KAAK;AAAA,UAAG,IAAI;AAAA,oBAAvC;AAAA,YACE,gBAAA,EAAC,GAAD;AAAA,cAAM,SAAQ;AAAA,wBAAS,EAAK;AAAA,YAAmC,CAAA;AAAA,YAC/D,gBAAA,EAAC,GAAD;AAAA,cAAG,MAAM;AAAA,cAAM,SAAQ;AAAA,wBACpB,EAAe,GAAsB,KAAK;AAAA,YAC1C,CAAA;AAAA,YACH,gBAAA,EAAC,GAAD;AAAA,cAAM,WAAU;AAAA,cAAS,UAAU;AAAA,cAAO,SAAQ;AAAA,cAAQ,OAAO;AAAA,wBAC9D,EAAK;AAAA,YACF,CAAA;AAAA,UACD;AAAA,YACP,gBAAA,EAAC,GAAD,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UAAM,SAAQ;AAAA,oBAAM,EAAK;AAAA,QAA8B,CAAA,GACvD,gBAAA,EAAC,GAAD;AAAA,UAAM,UAAU;AAAA,UAAO,SAAQ;AAAA,oBAC5B,EAAK;AAAA,QACF,CAAA,CACD,EAAA,CAAA,CACF;AAAA;MACP,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI,EAAE,iBAAiB,mBAAmB;AAAA,kBAC/C,gBAAA,EAAC,GAAD,CAAqB,CAAA;AAAA,MAChB,CAAA;AAAA,MACP,gBAAA,EAAC,GAAD;AAAA,QAAO,eAAc;AAAA,QAAc,IAAI;AAAA,QAAI,IAAI;AAAA,kBAC7C,gBAAA,EAAC,GAAD;AAAA,UAAO,KAAK;AAAA,oBAAZ,CACE,gBAAA,EAAC,GAAD;AAAA,YAAM,SAAQ;AAAA,sBAAS,EAAK;AAAA,UAAmC,CAAA,GAC/D,gBAAA,EAAC,GAAD;AAAA,YAAM,MAAM;AAAA,YAAM,WAAU;AAAA,YAAQ,SAAQ;AAAA,sBACzC,EAAe,GAAoB,KAAK;AAAA,UACrC,CAAA,CACD;AAAA;MACF,CAAA;AAAA,IACF;AAAA;AAEX,GAEA,IAAe,EAAS,CAAc"}
1
+ {"version":3,"file":"PaydownContent.es.js","names":[],"sources":["../../../../src/debts/components/debtspaydown/PaydownContent.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\nimport { P, Text } from '@mxenabled/mxui'\n\nimport { useDebtStore, useGlobalCopyStore, useGoalStore } from '../../../common'\nimport { ExtraPaymentAction } from '../actions/ExtraPaymentAction'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\nconst PaydownContent = () => {\n const { debts: copy } = useGlobalCopyStore()\n const { totalMonthlyPayments } = useDebtStore()\n const { monthlyCashFlowProfile } = useGoalStore()\n\n const totalContributions = totalMonthlyPayments + Number(monthlyCashFlowProfile?.extra_payment)\n\n return (\n <Stack sx={{ backgroundColor: 'background.default', height: '100%' }}>\n <Stack p={24}>\n <Stack alignItems=\"center\" gap={4} mb={24}>\n <Text variant=\"body1\">{copy.paydown_drawer_mimimum_label}</Text>\n <P bold={true} variant=\"h1\">\n {formatCurrency(totalMonthlyPayments, '0,0')}\n </P>\n <Text textAlign=\"center\" truncate={false} variant=\"body2\" width={208}>\n {copy.paydown_drawer_minimum_info}\n </Text>\n </Stack>\n <Stack>\n <Text variant=\"h3\">{copy.paydown_drawer_subtitle}</Text>\n <Text truncate={false} variant=\"subtitle2\">\n {copy.paydown_drawer_description}\n </Text>\n </Stack>\n </Stack>\n <Stack sx={{ backgroundColor: 'background.paper' }}>\n <ExtraPaymentAction />\n </Stack>\n <Stack flexDirection=\"row-reverse\" px={24} py={12}>\n <Stack gap={4}>\n <Text variant=\"body2\">{copy.paydown_drawer_total_payment}</Text>\n <Text bold={true} textAlign=\"right\" variant=\"body1\">\n {formatCurrency(totalContributions, '0,0')}\n </Text>\n </Stack>\n </Stack>\n </Stack>\n )\n}\n\nexport default observer(PaydownContent)\n"],"mappings":";;;;;;;AASA,IAAM,IAAA,MAAuB;AAC3B,QAAM,EAAE,OAAO,EAAA,IAAS,EAAmB,GACrC,EAAE,sBAAA,EAAA,IAAyB,EAAa,GACxC,EAAE,wBAAA,EAAA,IAA2B,EAAa,GAE1C,IAAqB,IAAuB,OAAO,GAAwB,aAAa;AAE9F,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,iBAAiB;AAAA,MAAsB,QAAQ;AAAA,IAAO;AAAA,IAAnE,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QAAO,GAAG;AAAA,QAAV,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UAAO,YAAW;AAAA,UAAS,KAAK;AAAA,UAAG,IAAI;AAAA,UAAvC,UAAA;AAAA,YACE,gBAAA,EAAC,GAAD;AAAA,cAAM,SAAQ;AAAA,cAAS,UAAA,EAAK;AAAA,YAAmC,CAAA;AAAA,YAC/D,gBAAA,EAAC,GAAD;AAAA,cAAG,MAAM;AAAA,cAAM,SAAQ;AAAA,cACpB,UAAA,EAAe,GAAsB,KAAK;AAAA,YAC1C,CAAA;AAAA,YACH,gBAAA,EAAC,GAAD;AAAA,cAAM,WAAU;AAAA,cAAS,UAAU;AAAA,cAAO,SAAQ;AAAA,cAAQ,OAAO;AAAA,cAC9D,UAAA,EAAK;AAAA,YACF,CAAA;AAAA,UACD;AAAA,QACP,CAAA,GAAA,gBAAA,EAAC,GAAD,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UAAM,SAAQ;AAAA,UAAM,UAAA,EAAK;AAAA,QAA8B,CAAA,GACvD,gBAAA,EAAC,GAAD;AAAA,UAAM,UAAU;AAAA,UAAO,SAAQ;AAAA,UAC5B,UAAA,EAAK;AAAA,QACF,CAAA,CACD,EAAA,CAAA,CACF;AAAA;MACP,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI,EAAE,iBAAiB,mBAAmB;AAAA,QAC/C,UAAA,gBAAA,EAAC,GAAD,CAAqB,CAAA;AAAA,MAChB,CAAA;AAAA,MACP,gBAAA,EAAC,GAAD;AAAA,QAAO,eAAc;AAAA,QAAc,IAAI;AAAA,QAAI,IAAI;AAAA,QAC7C,UAAA,gBAAA,EAAC,GAAD;AAAA,UAAO,KAAK;AAAA,UAAZ,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,YAAM,SAAQ;AAAA,YAAS,UAAA,EAAK;AAAA,UAAmC,CAAA,GAC/D,gBAAA,EAAC,GAAD;AAAA,YAAM,MAAM;AAAA,YAAM,WAAU;AAAA,YAAQ,SAAQ;AAAA,YACzC,UAAA,EAAe,GAAoB,KAAK;AAAA,UACrC,CAAA,CACD;AAAA;MACF,CAAA;AAAA,IACF;AAAA;AAEX,GAEA,IAAe,EAAS,CAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"DebtsPriorityButton.es.js","names":[],"sources":["../../../../src/debts/components/debtspriority/DebtsPriorityButton.tsx"],"sourcesContent":["import React from 'react'\n\nimport Button from '@mui/material/Button'\nimport IconButton from '@mui/material/IconButton'\nimport { Icon } from '@mxenabled/mxui'\n\ninterface DebtsPrioriyButtonProps {\n buttonText: string\n disabled?: boolean\n isDesktop?: boolean\n isOpen: boolean\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void\n}\n\nexport const DebtsPriorityButton = ({\n buttonText,\n disabled,\n isDesktop = false,\n isOpen,\n onClick,\n}: DebtsPrioriyButtonProps) => {\n const icon = isOpen ? 'unfold_less' : 'unfold_more'\n\n return isDesktop ? (\n <Button\n aria-controls=\"prioritize-debts\"\n aria-describedby=\"prioritize-debts\"\n aria-haspopup={true}\n aria-label=\"prioritize-debts\"\n disabled={disabled}\n onClick={onClick}\n startIcon={<Icon name={icon} />}\n sx={{ justifyContent: 'start' }}\n >\n {buttonText}\n </Button>\n ) : (\n <IconButton\n aria-controls=\"prioritize-debts\"\n aria-describedby=\"prioritize-debts\"\n aria-haspopup={true}\n aria-label=\"prioritize-debts\"\n disabled={disabled}\n onClick={onClick}\n >\n <Icon name={icon} />\n </IconButton>\n )\n}\n"],"mappings":";;;;;AAcA,IAAa,IAAA,CAAuB,EAClC,YAAA,GACA,UAAA,GACA,WAAA,IAAY,IACZ,QAAA,GACA,SAAA,EAAA,MAC6B;AAC7B,QAAM,IAAO,IAAS,gBAAgB;AAEtC,SAAO,IACL,gBAAA,EAAC,GAAD;AAAA,IACE,iBAAc;AAAA,IACd,oBAAiB;AAAA,IACjB,iBAAe;AAAA,IACf,cAAW;AAAA,IACD,UAAA;AAAA,IACD,SAAA;AAAA,IACT,WAAW,gBAAA,EAAC,GAAD,EAAM,MAAM,EAAO,CAAA;AAAA,IAC9B,IAAI,EAAE,gBAAgB,QAAQ;AAAA,cAE7B;AAAA,EACK,CAAA,IAER,gBAAA,EAAC,GAAD;AAAA,IACE,iBAAc;AAAA,IACd,oBAAiB;AAAA,IACjB,iBAAe;AAAA,IACf,cAAW;AAAA,IACD,UAAA;AAAA,IACD,SAAA;AAAA,cAET,gBAAA,EAAC,GAAD,EAAM,MAAM,EAAO,CAAA;AAAA,EACT,CAAA;AAEhB"}
1
+ {"version":3,"file":"DebtsPriorityButton.es.js","names":[],"sources":["../../../../src/debts/components/debtspriority/DebtsPriorityButton.tsx"],"sourcesContent":["import React from 'react'\n\nimport Button from '@mui/material/Button'\nimport IconButton from '@mui/material/IconButton'\nimport { Icon } from '@mxenabled/mxui'\n\ninterface DebtsPrioriyButtonProps {\n buttonText: string\n disabled?: boolean\n isDesktop?: boolean\n isOpen: boolean\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void\n}\n\nexport const DebtsPriorityButton = ({\n buttonText,\n disabled,\n isDesktop = false,\n isOpen,\n onClick,\n}: DebtsPrioriyButtonProps) => {\n const icon = isOpen ? 'unfold_less' : 'unfold_more'\n\n return isDesktop ? (\n <Button\n aria-controls=\"prioritize-debts\"\n aria-describedby=\"prioritize-debts\"\n aria-haspopup={true}\n aria-label=\"prioritize-debts\"\n disabled={disabled}\n onClick={onClick}\n startIcon={<Icon name={icon} />}\n sx={{ justifyContent: 'start' }}\n >\n {buttonText}\n </Button>\n ) : (\n <IconButton\n aria-controls=\"prioritize-debts\"\n aria-describedby=\"prioritize-debts\"\n aria-haspopup={true}\n aria-label=\"prioritize-debts\"\n disabled={disabled}\n onClick={onClick}\n >\n <Icon name={icon} />\n </IconButton>\n )\n}\n"],"mappings":";;;;;AAcA,IAAa,IAAA,CAAuB,EAClC,YAAA,GACA,UAAA,GACA,WAAA,IAAY,IACZ,QAAA,GACA,SAAA,EAAA,MAC6B;AAC7B,QAAM,IAAO,IAAS,gBAAgB;AAEtC,SAAO,IACL,gBAAA,EAAC,GAAD;AAAA,IACE,iBAAc;AAAA,IACd,oBAAiB;AAAA,IACjB,iBAAe;AAAA,IACf,cAAW;AAAA,IACD,UAAA;AAAA,IACD,SAAA;AAAA,IACT,WAAW,gBAAA,EAAC,GAAD,EAAM,MAAM,EAAO,CAAA;AAAA,IAC9B,IAAI,EAAE,gBAAgB,QAAQ;AAAA,IAE7B,UAAA;AAAA,EACK,CAAA,IAER,gBAAA,EAAC,GAAD;AAAA,IACE,iBAAc;AAAA,IACd,oBAAiB;AAAA,IACjB,iBAAe;AAAA,IACf,cAAW;AAAA,IACD,UAAA;AAAA,IACD,SAAA;AAAA,IAET,UAAA,gBAAA,EAAC,GAAD,EAAM,MAAM,EAAO,CAAA;AAAA,EACT,CAAA;AAEhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DebtsPrioriyPopover.es.js","names":[],"sources":["../../../../src/debts/components/debtspriority/DebtsPrioriyPopover.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport Popover from '@mui/material/Popover'\n\nimport { Text } from '@mxenabled/mxui'\nimport { CheckCircle as SelectedIcon } from '@mxenabled/mx-icons'\n\nimport { useGlobalCopyStore, useEvent, ANALYTICS_EVENTS } from '../../../common'\nimport { useDebtsUiStore } from '../../hooks/useDebtsUiStore'\nimport { DebtPriority } from '../../../core/constants/Debts'\n\ninterface DebtsPriorityPopoverProps {\n buttonEl: HTMLButtonElement | null\n onClose: () => void\n}\n\nexport const DebtsPriorityPopover = observer(({ buttonEl, onClose }: DebtsPriorityPopoverProps) => {\n const { onEvent } = useEvent()\n const { debts: copy } = useGlobalCopyStore()\n const { selectedDebtPriority, setSelectedDebtPriority } = useDebtsUiStore()\n\n const isOpen = Boolean(buttonEl)\n\n const options = [\n {\n priority: DebtPriority.FASTEST_PAYOFF_FIRST,\n text: copy.priority_sort_fastest_payoff,\n },\n {\n priority: DebtPriority.HIGHEST_INTEREST,\n text: copy.priority_sort_highest_interest,\n },\n {\n priority: DebtPriority.LOWEST_BALANCE,\n text: copy.priority_sort_lowest_balance,\n },\n {\n priority: DebtPriority.HIGHEST_BALANCE,\n text: copy.priority_sort_highest_balance,\n },\n ]\n\n const handleClick = (priority: DebtPriority) => {\n setSelectedDebtPriority(priority)\n onEvent(ANALYTICS_EVENTS.DEBTS_CLICK_PRIORITY, { debts_priority: priority })\n }\n\n return (\n <Popover\n anchorEl={buttonEl}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n id=\"prioritize-debts\"\n onClose={onClose}\n open={isOpen}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n >\n <List>\n {options.map(({ priority, text }) => (\n <ListItem\n key={priority}\n onClick={() => handleClick(priority)}\n sx={{\n bgcolor: selectedDebtPriority === priority ? 'primary.main' : undefined,\n color: selectedDebtPriority === priority ? '#fff' : undefined,\n justifyContent: 'space-between',\n minHeight: 44,\n minWidth: 268,\n px: 24,\n py: 12,\n '&:hover': {\n bgcolor: 'background.highlight',\n cursor: 'pointer',\n color: 'text.primary',\n },\n }}\n >\n <Text color=\"inherit\" variant=\"body2\">\n {text}\n </Text>\n {selectedDebtPriority === priority && (\n <SelectedIcon color=\"inherit\" filled={true} fontSize=\"small\" />\n )}\n </ListItem>\n ))}\n </List>\n </Popover>\n )\n})\n"],"mappings":";;;;;;;;;;;AAkBA,IAAa,IAAuB,EAAA,CAAU,EAAE,UAAA,GAAU,SAAA,EAAA,MAAyC;AACjG,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,OAAO,EAAA,IAAS,EAAmB,GACrC,EAAE,sBAAA,GAAsB,yBAAA,EAAA,IAA4B,EAAgB,GAEpE,IAAS,EAAQ,GAEjB,IAAU;AAAA,IACd;AAAA,MACE,UAAU,EAAa;AAAA,MACvB,MAAM,EAAK;AAAA,IACb;AAAA,IACA;AAAA,MACE,UAAU,EAAa;AAAA,MACvB,MAAM,EAAK;AAAA,IACb;AAAA,IACA;AAAA,MACE,UAAU,EAAa;AAAA,MACvB,MAAM,EAAK;AAAA,IACb;AAAA,IACA;AAAA,MACE,UAAU,EAAa;AAAA,MACvB,MAAM,EAAK;AAAA,IACb;AAAA,EACF,GAEM,IAAA,CAAe,MAA2B;AAC9C,IAAA,EAAwB,CAAQ,GAChC,EAAQ,EAAiB,sBAAsB,EAAE,gBAAgB,EAAS,CAAC;AAAA,EAC7E;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,UAAU;AAAA,IACV,cAAc;AAAA,MACZ,UAAU;AAAA,MACV,YAAY;AAAA,IACd;AAAA,IACA,IAAG;AAAA,IACM,SAAA;AAAA,IACT,MAAM;AAAA,IACN,iBAAiB;AAAA,MACf,UAAU;AAAA,MACV,YAAY;AAAA,IACd;AAAA,cAEA,gBAAA,EAAC,GAAD,EAAA,UACG,EAAQ,IAAA,CAAK,EAAE,UAAA,GAAU,MAAA,EAAA,MACxB,gBAAA,EAAC,GAAD;AAAA,MAEE,SAAA,MAAe,EAAY,CAAQ;AAAA,MACnC,IAAI;AAAA,QACF,SAAS,MAAyB,IAAW,iBAAiB;AAAA,QAC9D,OAAO,MAAyB,IAAW,SAAS;AAAA,QACpD,gBAAgB;AAAA,QAChB,WAAW;AAAA,QACX,UAAU;AAAA,QACV,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,WAAW;AAAA,UACT,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,OAAO;AAAA,QACT;AAAA,MACF;AAAA,gBAhBF,CAkBE,gBAAA,EAAC,GAAD;AAAA,QAAM,OAAM;AAAA,QAAU,SAAQ;AAAA,kBAC3B;AAAA,MACG,CAAA,GACL,MAAyB,KACxB,gBAAA,EAAC,GAAD;AAAA,QAAc,OAAM;AAAA,QAAU,QAAQ;AAAA,QAAM,UAAS;AAAA,MAAS,CAAA,CAExD;AAAA,OAvBH,CAuBG,CACX,EACG,CAAA;AAAA,EACC,CAAA;AAEb,CAAC"}
1
+ {"version":3,"file":"DebtsPrioriyPopover.es.js","names":[],"sources":["../../../../src/debts/components/debtspriority/DebtsPrioriyPopover.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport Popover from '@mui/material/Popover'\n\nimport { Text } from '@mxenabled/mxui'\nimport { CheckCircle as SelectedIcon } from '@mxenabled/mx-icons'\n\nimport { useGlobalCopyStore, useEvent, ANALYTICS_EVENTS } from '../../../common'\nimport { useDebtsUiStore } from '../../hooks/useDebtsUiStore'\nimport { DebtPriority } from '../../../core/constants/Debts'\n\ninterface DebtsPriorityPopoverProps {\n buttonEl: HTMLButtonElement | null\n onClose: () => void\n}\n\nexport const DebtsPriorityPopover = observer(({ buttonEl, onClose }: DebtsPriorityPopoverProps) => {\n const { onEvent } = useEvent()\n const { debts: copy } = useGlobalCopyStore()\n const { selectedDebtPriority, setSelectedDebtPriority } = useDebtsUiStore()\n\n const isOpen = Boolean(buttonEl)\n\n const options = [\n {\n priority: DebtPriority.FASTEST_PAYOFF_FIRST,\n text: copy.priority_sort_fastest_payoff,\n },\n {\n priority: DebtPriority.HIGHEST_INTEREST,\n text: copy.priority_sort_highest_interest,\n },\n {\n priority: DebtPriority.LOWEST_BALANCE,\n text: copy.priority_sort_lowest_balance,\n },\n {\n priority: DebtPriority.HIGHEST_BALANCE,\n text: copy.priority_sort_highest_balance,\n },\n ]\n\n const handleClick = (priority: DebtPriority) => {\n setSelectedDebtPriority(priority)\n onEvent(ANALYTICS_EVENTS.DEBTS_CLICK_PRIORITY, { debts_priority: priority })\n }\n\n return (\n <Popover\n anchorEl={buttonEl}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n id=\"prioritize-debts\"\n onClose={onClose}\n open={isOpen}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n >\n <List>\n {options.map(({ priority, text }) => (\n <ListItem\n key={priority}\n onClick={() => handleClick(priority)}\n sx={{\n bgcolor: selectedDebtPriority === priority ? 'primary.main' : undefined,\n color: selectedDebtPriority === priority ? '#fff' : undefined,\n justifyContent: 'space-between',\n minHeight: 44,\n minWidth: 268,\n px: 24,\n py: 12,\n '&:hover': {\n bgcolor: 'background.highlight',\n cursor: 'pointer',\n color: 'text.primary',\n },\n }}\n >\n <Text color=\"inherit\" variant=\"body2\">\n {text}\n </Text>\n {selectedDebtPriority === priority && (\n <SelectedIcon color=\"inherit\" filled={true} fontSize=\"small\" />\n )}\n </ListItem>\n ))}\n </List>\n </Popover>\n )\n})\n"],"mappings":";;;;;;;;;;;AAkBA,IAAa,IAAuB,EAAA,CAAU,EAAE,UAAA,GAAU,SAAA,EAAA,MAAyC;AACjG,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,OAAO,EAAA,IAAS,EAAmB,GACrC,EAAE,sBAAA,GAAsB,yBAAA,EAAA,IAA4B,EAAgB,GAEpE,IAAS,EAAQ,GAEjB,IAAU;AAAA,IACd;AAAA,MACE,UAAU,EAAa;AAAA,MACvB,MAAM,EAAK;AAAA,IACb;AAAA,IACA;AAAA,MACE,UAAU,EAAa;AAAA,MACvB,MAAM,EAAK;AAAA,IACb;AAAA,IACA;AAAA,MACE,UAAU,EAAa;AAAA,MACvB,MAAM,EAAK;AAAA,IACb;AAAA,IACA;AAAA,MACE,UAAU,EAAa;AAAA,MACvB,MAAM,EAAK;AAAA,IACb;AAAA,EACF,GAEM,IAAA,CAAe,MAA2B;AAC9C,IAAA,EAAwB,CAAQ,GAChC,EAAQ,EAAiB,sBAAsB,EAAE,gBAAgB,EAAS,CAAC;AAAA,EAC7E;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,UAAU;AAAA,IACV,cAAc;AAAA,MACZ,UAAU;AAAA,MACV,YAAY;AAAA,IACd;AAAA,IACA,IAAG;AAAA,IACM,SAAA;AAAA,IACT,MAAM;AAAA,IACN,iBAAiB;AAAA,MACf,UAAU;AAAA,MACV,YAAY;AAAA,IACd;AAAA,IAEA,UAAA,gBAAA,EAAC,GAAD,EAAA,UACG,EAAQ,IAAA,CAAK,EAAE,UAAA,GAAU,MAAA,EAAA,MACxB,gBAAA,EAAC,GAAD;AAAA,MAEE,SAAA,MAAe,EAAY,CAAQ;AAAA,MACnC,IAAI;AAAA,QACF,SAAS,MAAyB,IAAW,iBAAiB;AAAA,QAC9D,OAAO,MAAyB,IAAW,SAAS;AAAA,QACpD,gBAAgB;AAAA,QAChB,WAAW;AAAA,QACX,UAAU;AAAA,QACV,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,WAAW;AAAA,UACT,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,OAAO;AAAA,QACT;AAAA,MACF;AAAA,MAhBF,UAAA,CAkBE,gBAAA,EAAC,GAAD;AAAA,QAAM,OAAM;AAAA,QAAU,SAAQ;AAAA,QAC3B,UAAA;AAAA,MACG,CAAA,GACL,MAAyB,KACxB,gBAAA,EAAC,GAAD;AAAA,QAAc,OAAM;AAAA,QAAU,QAAQ;AAAA,QAAM,UAAS;AAAA,MAAS,CAAA,CAExD;AAAA,IAvBH,GAAA,CAuBG,CACX,EACG,CAAA;AAAA,EACC,CAAA;AAEb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountCell.es.js","names":[],"sources":["../../../../src/debts/components/debtstable/AccountCell.tsx"],"sourcesContent":["import { GridCellParams } from '@mui/x-data-grid-pro'\nimport { InstitutionLogo, Text } from '@mxenabled/mxui'\nimport Stack from '@mui/material/Stack'\n\nimport { AccountTypeName, type Account } from '../../../core'\n\nexport const AccountCell = (params: GridCellParams) => {\n const account = params.row.account as Account\n const accountType = AccountTypeName[account.account_type]\n\n return (\n <Stack alignItems=\"center\" flexDirection=\"row\">\n <InstitutionLogo\n alt={`${account.institutionName}`}\n institutionGuid={account.institution_guid || ''}\n />\n <Stack ml={12}>\n <Text variant=\"body2\">{account.name}</Text>\n <Text variant=\"caption\">{accountType}</Text>\n </Stack>\n </Stack>\n )\n}\n\nexport default AccountCell\n"],"mappings":";;;;AAMA,IAAa,IAAA,CAAe,MAA2B;AACrD,QAAM,IAAU,EAAO,IAAI,SACrB,IAAc,EAAgB,EAAQ,YAAA;AAE5C,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,YAAW;AAAA,IAAS,eAAc;AAAA,cAAzC,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,KAAK,GAAG,EAAQ,eAAA;AAAA,MAChB,iBAAiB,EAAQ,oBAAoB;AAAA,IAC9C,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,gBAAX,CACE,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,kBAAS,EAAQ;AAAA,MAAW,CAAA,GAC1C,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,kBAAW;AAAA,MAAkB,CAAA,CACtC;AAAA,MACF;AAAA;AAEX"}
1
+ {"version":3,"file":"AccountCell.es.js","names":[],"sources":["../../../../src/debts/components/debtstable/AccountCell.tsx"],"sourcesContent":["import { GridCellParams } from '@mui/x-data-grid-pro'\nimport { InstitutionLogo, Text } from '@mxenabled/mxui'\nimport Stack from '@mui/material/Stack'\n\nimport { AccountTypeName, type Account } from '../../../core'\n\nexport const AccountCell = (params: GridCellParams) => {\n const account = params.row.account as Account\n const accountType = AccountTypeName[account.account_type]\n\n return (\n <Stack alignItems=\"center\" flexDirection=\"row\">\n <InstitutionLogo\n alt={`${account.institutionName}`}\n institutionGuid={account.institution_guid || ''}\n />\n <Stack ml={12}>\n <Text variant=\"body2\">{account.name}</Text>\n <Text variant=\"caption\">{accountType}</Text>\n </Stack>\n </Stack>\n )\n}\n\nexport default AccountCell\n"],"mappings":";;;;AAMA,IAAa,IAAA,CAAe,MAA2B;AACrD,QAAM,IAAU,EAAO,IAAI,SACrB,IAAc,EAAgB,EAAQ,YAAA;AAE5C,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,YAAW;AAAA,IAAS,eAAc;AAAA,IAAzC,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,KAAK,GAAG,EAAQ,eAAA;AAAA,MAChB,iBAAiB,EAAQ,oBAAoB;AAAA,IAC9C,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,MAAX,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,QAAS,UAAA,EAAQ;AAAA,MAAW,CAAA,GAC1C,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,QAAW,UAAA;AAAA,MAAkB,CAAA,CACtC;AAAA,IACF,CAAA,CAAA;AAAA;AAEX"}
@@ -1 +1 @@
1
- {"version":3,"file":"PriorityCell.es.js","names":[],"sources":["../../../../src/debts/components/debtstable/PriorityCell.tsx"],"sourcesContent":["import { GridCellParams } from '@mui/x-data-grid-pro'\nimport Box from '@mui/material/Box'\nimport { Text } from '@mxenabled/mxui'\n\nconst getColors = (priority: any) => {\n const colors = {\n text: '#121417',\n background: '#FFB252',\n }\n\n if (priority === '!') {\n colors.text = '#FFFFFF'\n colors.background = '#DF320C'\n }\n\n if (priority === '✓') {\n colors.text = '#FFFFFF'\n colors.background = '#09A57F'\n }\n\n return colors\n}\n\nexport const PriorityCell = (params: GridCellParams) => {\n const priority = String(params.formattedValue)\n const colors = getColors(priority)\n\n return (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 20, // Adjust the size as needed\n height: 20,\n borderRadius: '50%',\n backgroundColor: colors.background,\n marginLeft: '10px',\n }}\n >\n <Text color={colors.text} fontWeight={700} variant=\"body2\">\n {priority}\n </Text>\n </Box>\n )\n}\n"],"mappings":";;;AAIA,IAAM,IAAA,CAAa,MAAkB;AACnC,QAAM,IAAS;AAAA,IACb,MAAM;AAAA,IACN,YAAY;AAAA,EACd;AAEA,SAAI,MAAa,QACf,EAAO,OAAO,WACd,EAAO,aAAa,YAGlB,MAAa,QACf,EAAO,OAAO,WACd,EAAO,aAAa,YAGf;AACT,GAEa,IAAA,CAAgB,MAA2B;AACtD,QAAM,IAAW,OAAO,EAAO,cAAc,GACvC,IAAS,EAAU,CAAQ;AAEjC,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,iBAAiB,EAAO;AAAA,MACxB,YAAY;AAAA,IACd;AAAA,cAEA,gBAAA,EAAC,GAAD;AAAA,MAAM,OAAO,EAAO;AAAA,MAAM,YAAY;AAAA,MAAK,SAAQ;AAAA,gBAChD;AAAA,IACG,CAAA;AAAA,EACH,CAAA;AAET"}
1
+ {"version":3,"file":"PriorityCell.es.js","names":[],"sources":["../../../../src/debts/components/debtstable/PriorityCell.tsx"],"sourcesContent":["import { GridCellParams } from '@mui/x-data-grid-pro'\nimport Box from '@mui/material/Box'\nimport { Text } from '@mxenabled/mxui'\n\nconst getColors = (priority: any) => {\n const colors = {\n text: '#121417',\n background: '#FFB252',\n }\n\n if (priority === '!') {\n colors.text = '#FFFFFF'\n colors.background = '#DF320C'\n }\n\n if (priority === '✓') {\n colors.text = '#FFFFFF'\n colors.background = '#09A57F'\n }\n\n return colors\n}\n\nexport const PriorityCell = (params: GridCellParams) => {\n const priority = String(params.formattedValue)\n const colors = getColors(priority)\n\n return (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 20, // Adjust the size as needed\n height: 20,\n borderRadius: '50%',\n backgroundColor: colors.background,\n marginLeft: '10px',\n }}\n >\n <Text color={colors.text} fontWeight={700} variant=\"body2\">\n {priority}\n </Text>\n </Box>\n )\n}\n"],"mappings":";;;AAIA,IAAM,IAAA,CAAa,MAAkB;AACnC,QAAM,IAAS;AAAA,IACb,MAAM;AAAA,IACN,YAAY;AAAA,EACd;AAEA,SAAI,MAAa,QACf,EAAO,OAAO,WACd,EAAO,aAAa,YAGlB,MAAa,QACf,EAAO,OAAO,WACd,EAAO,aAAa,YAGf;AACT,GAEa,IAAA,CAAgB,MAA2B;AACtD,QAAM,IAAW,OAAO,EAAO,cAAc,GACvC,IAAS,EAAU,CAAQ;AAEjC,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,iBAAiB,EAAO;AAAA,MACxB,YAAY;AAAA,IACd;AAAA,IAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,MAAM,OAAO,EAAO;AAAA,MAAM,YAAY;AAAA,MAAK,SAAQ;AAAA,MAChD,UAAA;AAAA,IACG,CAAA;AAAA,EACH,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"FinancialStrengthCard.es.js","names":[],"sources":["../../src/finstrong/FinancialStrengthCard.tsx"],"sourcesContent":["import React from 'react'\nimport Accordion from '@mui/material/Accordion'\nimport AccordionDetails from '@mui/material/AccordionDetails'\nimport AccordionSummary from '@mui/material/AccordionSummary'\nimport Button from '@mui/material/Button'\nimport Card from '@mui/material/Card'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { H3, P, Text } from '@mxenabled/mxui'\nimport { ExpandMore, ChevronRight } from '@mxenabled/mx-icons'\n\nimport { observer } from 'mobx-react-lite'\n\nimport { Loader, useFinstrongStore, useGlobalCopyStore, useGlobalUiStore } from '../common'\nimport { useDimensions } from '../common/hooks/useDimensions'\n\nimport { ConnectMoreAccountsCard } from './components/ConnectMoreAccountsCard'\nimport { FinancialStrengthGraph } from './components/FinancialStrengthGraph'\nimport { calculateFinstrongScoreStatus } from './util/finstrongUtils'\nimport ScoreRubricDrawer from './components/ScoreRubricDrawer'\n\nexport const FinancialStrengthCard = observer(() => {\n const [isScoreRubricDrawerOpen, setIsScoreRubricDrawerOpen] = React.useState(false)\n const theme = useTheme()\n const [containerRef, { width }] = useDimensions()\n const { finstrong: copy } = useGlobalCopyStore()\n const { isCopyLoaded, isInitialized } = useGlobalUiStore()\n\n const { healthScore, healthScoreChange } = useFinstrongStore()\n const isDarkMode = theme.palette.mode === 'dark'\n\n const healthScoreStatus = calculateFinstrongScoreStatus(healthScore?.health_score, copy)\n if (!isCopyLoaded || !isInitialized) return <Loader />\n return (\n <Card ref={containerRef} sx={{ p: 16, display: 'flex', flexDirection: 'column', gap: 8 }}>\n <Stack direction=\"row\" sx={{ alignItems: 'center', justifyContent: 'space-between' }}>\n <H3>{copy.financial_strength_header}</H3>\n\n <Button\n endIcon={<ChevronRight />}\n onClick={() => setIsScoreRubricDrawerOpen(true)}\n size=\"small\"\n sx={{\n '&.MuiButtonBase-root': {\n px: 8,\n py: 4,\n },\n }}\n variant=\"text\"\n >\n <Text\n bold={true}\n sx={{\n overflow: 'visible',\n }}\n variant=\"body2\"\n >\n {copy.financial_strength_header_action}\n </Text>\n </Button>\n </Stack>\n <Stack sx={{ justifyContent: 'center', alignItems: 'center', pb: 4, pt: 20, px: 16 }}>\n <FinancialStrengthGraph\n arcRadius={width <= 323 ? 72.5 : 154}\n footerCenterContent={healthScoreChange}\n healthScore={healthScore?.health_score || 0}\n size={width <= 323 ? 'M' : 'L'}\n />\n </Stack>\n {!healthScore?.health_score ? (\n <ConnectMoreAccountsCard\n buttonText={copy.connect_more_accounts_title}\n description={copy.health_score_zero_description}\n drawerType=\"connectDrawer\"\n hasIcon={false}\n isDashboard={true}\n sx={{\n backgroundColor: isDarkMode ? 'grey.800' : 'grey.50', //TODO: Need to change the background color to palette (supporting both darkmode and lightmode)\n '.connect-more-accounts-title': {\n fontWeight: 600,\n lineHeight: '20px',\n color: 'text.primary',\n },\n '.connect-more-accounts-description': { color: 'text.primary' },\n }}\n title={copy.health_score_zero_title}\n />\n ) : (\n <Accordion\n sx={{\n px: 16,\n backgroundColor: isDarkMode ? 'grey.800' : 'grey.50', //TODO: Need to change the background color to palette (supporting both darkmode and lightmode)\n '&.Mui-expanded': {\n m: 0,\n },\n '&::before': {\n display: 'none',\n },\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMore size={20} />}\n sx={{\n '&.MuiAccordionSummary-root': {\n minHeight: 0,\n },\n height: 44,\n p: 0,\n '&.Mui-expanded': {\n minHeight: 0,\n },\n }}\n >\n <P sx={{ fontWeight: 600 }} variant=\"body1\">\n {copy.accordion_title_text}\n </P>\n </AccordionSummary>\n <AccordionDetails sx={{ '&.MuiAccordionDetails-root': { padding: 0, pb: 16 } }}>\n <P variant=\"subtitle1\">{healthScoreStatus.scoreContent}</P>\n </AccordionDetails>\n </Accordion>\n )}\n <ScoreRubricDrawer\n isOpen={isScoreRubricDrawerOpen}\n onClose={() => setIsScoreRubricDrawerOpen(false)}\n />\n </Card>\n )\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"FinancialStrengthCard.es.js","names":[],"sources":["../../src/finstrong/FinancialStrengthCard.tsx"],"sourcesContent":["import React from 'react'\nimport Accordion from '@mui/material/Accordion'\nimport AccordionDetails from '@mui/material/AccordionDetails'\nimport AccordionSummary from '@mui/material/AccordionSummary'\nimport Button from '@mui/material/Button'\nimport Card from '@mui/material/Card'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { H3, P, Text } from '@mxenabled/mxui'\nimport { ExpandMore, ChevronRight } from '@mxenabled/mx-icons'\n\nimport { observer } from 'mobx-react-lite'\n\nimport { Loader, useFinstrongStore, useGlobalCopyStore, useGlobalUiStore } from '../common'\nimport { useDimensions } from '../common/hooks/useDimensions'\n\nimport { ConnectMoreAccountsCard } from './components/ConnectMoreAccountsCard'\nimport { FinancialStrengthGraph } from './components/FinancialStrengthGraph'\nimport { calculateFinstrongScoreStatus } from './util/finstrongUtils'\nimport ScoreRubricDrawer from './components/ScoreRubricDrawer'\n\nexport const FinancialStrengthCard = observer(() => {\n const [isScoreRubricDrawerOpen, setIsScoreRubricDrawerOpen] = React.useState(false)\n const theme = useTheme()\n const [containerRef, { width }] = useDimensions()\n const { finstrong: copy } = useGlobalCopyStore()\n const { isCopyLoaded, isInitialized } = useGlobalUiStore()\n\n const { healthScore, healthScoreChange } = useFinstrongStore()\n const isDarkMode = theme.palette.mode === 'dark'\n\n const healthScoreStatus = calculateFinstrongScoreStatus(healthScore?.health_score, copy)\n if (!isCopyLoaded || !isInitialized) return <Loader />\n return (\n <Card ref={containerRef} sx={{ p: 16, display: 'flex', flexDirection: 'column', gap: 8 }}>\n <Stack direction=\"row\" sx={{ alignItems: 'center', justifyContent: 'space-between' }}>\n <H3>{copy.financial_strength_header}</H3>\n\n <Button\n endIcon={<ChevronRight />}\n onClick={() => setIsScoreRubricDrawerOpen(true)}\n size=\"small\"\n sx={{\n '&.MuiButtonBase-root': {\n px: 8,\n py: 4,\n },\n }}\n variant=\"text\"\n >\n <Text\n bold={true}\n sx={{\n overflow: 'visible',\n }}\n variant=\"body2\"\n >\n {copy.financial_strength_header_action}\n </Text>\n </Button>\n </Stack>\n <Stack sx={{ justifyContent: 'center', alignItems: 'center', pb: 4, pt: 20, px: 16 }}>\n <FinancialStrengthGraph\n arcRadius={width <= 323 ? 72.5 : 154}\n footerCenterContent={healthScoreChange}\n healthScore={healthScore?.health_score || 0}\n size={width <= 323 ? 'M' : 'L'}\n />\n </Stack>\n {!healthScore?.health_score ? (\n <ConnectMoreAccountsCard\n buttonText={copy.connect_more_accounts_title}\n description={copy.health_score_zero_description}\n drawerType=\"connectDrawer\"\n hasIcon={false}\n isDashboard={true}\n sx={{\n backgroundColor: isDarkMode ? 'grey.800' : 'grey.50', //TODO: Need to change the background color to palette (supporting both darkmode and lightmode)\n '.connect-more-accounts-title': {\n fontWeight: 600,\n lineHeight: '20px',\n color: 'text.primary',\n },\n '.connect-more-accounts-description': { color: 'text.primary' },\n }}\n title={copy.health_score_zero_title}\n />\n ) : (\n <Accordion\n sx={{\n px: 16,\n backgroundColor: isDarkMode ? 'grey.800' : 'grey.50', //TODO: Need to change the background color to palette (supporting both darkmode and lightmode)\n '&.Mui-expanded': {\n m: 0,\n },\n '&::before': {\n display: 'none',\n },\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMore size={20} />}\n sx={{\n '&.MuiAccordionSummary-root': {\n minHeight: 0,\n },\n height: 44,\n p: 0,\n '&.Mui-expanded': {\n minHeight: 0,\n },\n }}\n >\n <P sx={{ fontWeight: 600 }} variant=\"body1\">\n {copy.accordion_title_text}\n </P>\n </AccordionSummary>\n <AccordionDetails sx={{ '&.MuiAccordionDetails-root': { padding: 0, pb: 16 } }}>\n <P variant=\"subtitle1\">{healthScoreStatus.scoreContent}</P>\n </AccordionDetails>\n </Accordion>\n )}\n <ScoreRubricDrawer\n isOpen={isScoreRubricDrawerOpen}\n onClose={() => setIsScoreRubricDrawerOpen(false)}\n />\n </Card>\n )\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAsBA,IAAa,KAAwB,EAAA,MAAe;AAClD,QAAM,CAAC,GAAyB,CAAA,IAA8B,EAAM,SAAS,EAAK,GAC5E,IAAQ,EAAS,GACjB,CAAC,GAAc,EAAE,OAAA,EAAA,CAAA,IAAW,EAAc,GAC1C,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,cAAA,GAAc,eAAA,EAAA,IAAkB,EAAiB,GAEnD,EAAE,aAAA,GAAa,mBAAA,EAAA,IAAsB,EAAkB,GACvD,IAAa,EAAM,QAAQ,SAAS,QAEpC,IAAoB,EAA8B,GAAa,cAAc,CAAI;AACvF,SAAI,CAAC,KAAgB,CAAC,IAAsB,gBAAA,EAAC,GAAD,CAAS,CAAA,IAEnD,gBAAA,EAAC,GAAD;AAAA,IAAM,KAAK;AAAA,IAAc,IAAI;AAAA,MAAE,GAAG;AAAA,MAAI,SAAS;AAAA,MAAQ,eAAe;AAAA,MAAU,KAAK;AAAA,IAAE;AAAA,IAAvF,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QAAO,WAAU;AAAA,QAAM,IAAI;AAAA,UAAE,YAAY;AAAA,UAAU,gBAAgB;AAAA,QAAgB;AAAA,QAAnF,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAK,0BAA8B,CAAA,GAExC,gBAAA,EAAC,GAAD;AAAA,UACE,SAAS,gBAAA,EAAC,GAAD,CAAe,CAAA;AAAA,UACxB,SAAA,MAAe,EAA2B,EAAI;AAAA,UAC9C,MAAK;AAAA,UACL,IAAI,EACF,wBAAwB;AAAA,YACtB,IAAI;AAAA,YACJ,IAAI;AAAA,UACN,EACF;AAAA,UACA,SAAQ;AAAA,UAER,UAAA,gBAAA,EAAC,GAAD;AAAA,YACE,MAAM;AAAA,YACN,IAAI,EACF,UAAU,UACZ;AAAA,YACA,SAAQ;AAAA,YAEP,UAAA,EAAK;AAAA,UACF,CAAA;AAAA,QACA,CAAA,CACH;AAAA;MACP,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI;AAAA,UAAE,gBAAgB;AAAA,UAAU,YAAY;AAAA,UAAU,IAAI;AAAA,UAAG,IAAI;AAAA,UAAI,IAAI;AAAA,QAAG;AAAA,QACjF,UAAA,gBAAA,EAAC,GAAD;AAAA,UACE,WAAW,KAAS,MAAM,OAAO;AAAA,UACjC,qBAAqB;AAAA,UACrB,aAAa,GAAa,gBAAgB;AAAA,UAC1C,MAAM,KAAS,MAAM,MAAM;AAAA,QAC5B,CAAA;AAAA,MACI,CAAA;AAAA,MACL,GAAa,eAmBb,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,IAAI;AAAA,UACJ,iBAAiB,IAAa,aAAa;AAAA,UAC3C,kBAAkB,EAChB,GAAG,EACL;AAAA,UACA,aAAa,EACX,SAAS,OACX;AAAA,QACF;AAAA,QAVF,UAAA,CAYE,gBAAA,EAAC,GAAD;AAAA,UACE,YAAY,gBAAA,EAAC,GAAD,EAAY,MAAM,GAAK,CAAA;AAAA,UACnC,IAAI;AAAA,YACF,8BAA8B,EAC5B,WAAW,EACb;AAAA,YACA,QAAQ;AAAA,YACR,GAAG;AAAA,YACH,kBAAkB,EAChB,WAAW,EACb;AAAA,UACF;AAAA,UAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,YAAG,IAAI,EAAE,YAAY,IAAI;AAAA,YAAG,SAAQ;AAAA,YACjC,UAAA,EAAK;AAAA,UACL,CAAA;AAAA,QACa,CAAA,GAClB,gBAAA,EAAC,GAAD;AAAA,UAAkB,IAAI,EAAE,8BAA8B;AAAA,YAAE,SAAS;AAAA,YAAG,IAAI;AAAA,UAAG,EAAE;AAAA,UAC3E,UAAA,gBAAA,EAAC,GAAD;AAAA,YAAG,SAAQ;AAAA,YAAa,UAAA,EAAkB;AAAA,UAAgB,CAAA;AAAA,QAC1C,CAAA,CACT;AAAA,WAlDX,gBAAA,EAAC,GAAD;AAAA,QACE,YAAY,EAAK;AAAA,QACjB,aAAa,EAAK;AAAA,QAClB,YAAW;AAAA,QACX,SAAS;AAAA,QACT,aAAa;AAAA,QACb,IAAI;AAAA,UACF,iBAAiB,IAAa,aAAa;AAAA,UAC3C,gCAAgC;AAAA,YAC9B,YAAY;AAAA,YACZ,YAAY;AAAA,YACZ,OAAO;AAAA,UACT;AAAA,UACA,sCAAsC,EAAE,OAAO,eAAe;AAAA,QAChE;AAAA,QACA,OAAO,EAAK;AAAA,MACb,CAAA;AAAA,MAoCH,gBAAA,EAAC,GAAD;AAAA,QACE,QAAQ;AAAA,QACR,SAAA,MAAe,EAA2B,EAAK;AAAA,MAChD,CAAA;AAAA,IACG;AAAA;AAEV,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FinstrongWidget.es.js","names":[],"sources":["../../src/finstrong/FinstrongWidget.tsx"],"sourcesContent":["import React from 'react'\n\nimport { observer } from 'mobx-react-lite'\n\nimport Button from '@mui/material/Button'\nimport Card from '@mui/material/Card'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { ChevronRight } from '@mxenabled/mx-icons'\nimport { H3, Text } from '@mxenabled/mxui'\n\nimport {\n ConnectDrawer,\n Loader,\n useAccountStore,\n useBudgetsStore,\n useCategoryStore,\n useFinstrongStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useScreenSize,\n useUserStore,\n useWidgetLoadTimer,\n WidgetContainer,\n} from '../common'\nimport { type WidgetProps } from '../core'\nimport { LineChart } from '../common/components/charts/LineChart'\n\nimport { ConnectMoreAccountsCard } from './components/ConnectMoreAccountsCard'\nimport KeyIndicatorsTabsWidget from './components/KeyIndicatorsTabsWidget'\nimport MissingData from './components/MissingData'\nimport Onboarding from './components/onboarding/Onboarding'\nimport ProfileDrawer from './components/ProfileDrawer'\nimport ScoreHistoryDrawer from './components/ScoreHistoryDrawer'\nimport { FinancialStrengthCard } from './FinancialStrengthCard'\n\nconst FinstrongWidget = ({ onBackClick, onMenuClick, sx, onPrimaryCtaClick }: WidgetProps) => {\n const { visibleAccounts: accounts } = useAccountStore()\n const { dateRange, isDataLoaded, loadBudgetData, setTheme } = useBudgetsStore()\n const { reloadCategoryTotals } = useCategoryStore()\n const finstrongStore = useFinstrongStore()\n const {\n augmentedChartData,\n calculateHealthScore,\n loadAugmentedChartData,\n loadMonthlySummaries,\n loadPeerScore,\n peerScore,\n healthScore,\n } = finstrongStore\n const { finstrong: finstrongCopy, connect: connectCopy } = useGlobalCopyStore()\n const { isInitialized } = useGlobalUiStore()\n const { loadRepeatingTransactionData, isDataLoaded: isRepeatingDataLoaded } =\n useRecurringTransactionsStore()\n const { isSmallMobile } = useScreenSize()\n const theme = useTheme()\n const { userProfile } = useUserStore()\n\n const [isFinstrongLoaded, setIsFinstrongLoaded] = React.useState(false)\n const [isScoreChangeLoading, setIsScoreChangeLoading] = React.useState(false)\n const [isProfileOpen, setIsProfileOpen] = React.useState(false)\n const [isScoreHistoryOpen, setIsScoreHistoryOpen] = React.useState(false)\n const [showConnectWidget, setShowConnectWidget] = React.useState(false)\n\n useWidgetLoadTimer({\n widgetName: 'FinstrongWidget',\n isLoaded: isFinstrongLoaded,\n })\n\n React.useEffect(() => {\n setTheme(theme)\n }, [])\n\n React.useEffect(() => {\n if (onPrimaryCtaClick) {\n finstrongStore.handleFinstrongWidgetPrimaryCtaClick = onPrimaryCtaClick\n }\n }, [onPrimaryCtaClick, finstrongStore])\n\n React.useEffect(() => {\n if (isInitialized) {\n loadMonthlySummaries().finally()\n loadPeerScore().finally()\n calculateHealthScore().finally()\n }\n }, [isInitialized])\n\n // `accounts` (accountStore.visibleAccounts) is a MobX computed that returns a\n // NEW filtered array on every access. Depending on the array reference here\n // caused an infinite loop: reloadCategoryTotals -> observed category state\n // changes -> observer re-renders -> visibleAccounts recomputes to a new array\n // -> this effect re-fires -> reloadCategoryTotals again -> ... (unbounded, it\n // exhausted the jsdom worker's V8 heap in tests and needlessly re-fetched in\n // the app). Depend on a stable primitive signature of the account guids so\n // the effect only re-runs when the actual set of accounts changes.\n const accountsKey = accounts.map((account) => account.guid).join(',')\n\n React.useEffect(() => {\n if (!isInitialized) return\n\n reloadCategoryTotals(accounts, dateRange.start, dateRange.end).finally(() => {\n setIsFinstrongLoaded(true)\n })\n if (!isDataLoaded) {\n loadBudgetData()\n loadRepeatingTransactionData().finally()\n }\n }, [dateRange, isDataLoaded, isInitialized, accountsKey])\n\n React.useEffect(() => {\n if (healthScore?.health_score) {\n loadAugmentedChartData().finally()\n }\n }, [healthScore.health_score])\n\n const handleProfileClick = () => setIsProfileOpen(true)\n const average = Math.round(peerScore?.average_health_score?.average_health_score || 0)\n const hasValidData = augmentedChartData.some((item) => item.y !== 0)\n\n const handleCloseProfileDrawer = () => {\n setIsScoreChangeLoading(true)\n calculateHealthScore(false).finally(() => {\n setIsScoreChangeLoading(false)\n })\n setIsProfileOpen(false)\n }\n\n if (!isInitialized || !isFinstrongLoaded || !isRepeatingDataLoaded || isScoreChangeLoading)\n return <Loader />\n\n return (\n <WidgetContainer\n actions={[\n {\n iconName: 'person',\n label: finstrongCopy.profile,\n onClick: handleProfileClick,\n },\n ]}\n hasDivider={true}\n onBackClick={onBackClick}\n onMenuClick={onMenuClick}\n showAccountFilter={false}\n sx={sx}\n title={finstrongCopy.title}\n >\n {userProfile.has_completed_finstrong_onboarding ? (\n <Stack\n sx={{\n bgcolor: 'background.default',\n flexDirection: { md: 'row' },\n gap: 24,\n justifyContent: 'center',\n pt: isSmallMobile ? 16 : 24,\n px: isSmallMobile ? 16 : 48,\n }}\n >\n <Stack sx={{ gap: 24, width: { md: 432 }, height: '100%' }}>\n <FinancialStrengthCard />\n <ConnectMoreAccountsCard\n description={finstrongCopy.connect_more_accounts_description}\n drawerType=\"connectDrawer\"\n title={finstrongCopy.connect_more_accounts_title}\n />\n </Stack>\n <Stack sx={{ maxWidth: 848, width: { md: 720 } }}>\n <Card sx={{ height: '100%', p: 16 }}>\n <Stack\n direction=\"row\"\n sx={{ alignItems: 'center', gap: 12, justifyContent: 'space-between' }}\n >\n <H3>{finstrongCopy.key_indicators}</H3>\n\n <Button\n endIcon={<ChevronRight />}\n onClick={() => setIsScoreHistoryOpen(true)}\n size=\"small\"\n sx={{\n '&.MuiButtonBase-root': {\n px: 8,\n py: 4,\n },\n }}\n variant=\"text\"\n >\n <Text bold={true} variant=\"body2\">\n {finstrongCopy.whats_changed}\n </Text>\n </Button>\n </Stack>\n {hasValidData ? (\n <LineChart\n axisColor={theme.palette.divider}\n baseline=\"min\"\n colors={[theme.palette.primary.main]}\n curveType=\"natural\"\n customLegendBoxSx={{ borderRadius: '2px' }}\n customLegendSx={{ left: 0 }}\n customLegendVariant=\"caption\"\n datasets={[augmentedChartData]}\n height={300}\n isCurrency={false}\n isGraphClippingXAxis={true}\n labelBackgroundColor={theme.palette.neutral.dark}\n labelFontColor={theme.palette.common.white}\n labelFontSize={\n typeof theme.typography.caption?.fontSize === 'string'\n ? parseFloat(theme.typography.caption.fontSize)\n : theme.typography.caption?.fontSize\n }\n labels={[finstrongCopy.key_indicators_label]}\n margin={{ right: 12, left: -37 }}\n peerAverage={average}\n showArea={true}\n showAverage={true}\n showLegend={true}\n showMarkLabel={true}\n showTooltip={true}\n showXAxis={true}\n title={finstrongCopy.peer_average}\n />\n ) : (\n <MissingData onClick={() => setShowConnectWidget(true)} />\n )}\n <KeyIndicatorsTabsWidget />\n </Card>\n </Stack>\n </Stack>\n ) : (\n <Onboarding />\n )}\n\n <ProfileDrawer isOpen={isProfileOpen} onClose={handleCloseProfileDrawer} />\n <ConnectDrawer\n onClose={() => setShowConnectWidget(false)}\n showConnectWidget={showConnectWidget}\n title={connectCopy.mini_title}\n />\n <ScoreHistoryDrawer\n isOpen={isScoreHistoryOpen}\n onClose={() => setIsScoreHistoryOpen(false)}\n />\n </WidgetContainer>\n )\n}\n\nexport default observer(FinstrongWidget)\n"],"mappings":"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"}
1
+ {"version":3,"file":"FinstrongWidget.es.js","names":[],"sources":["../../src/finstrong/FinstrongWidget.tsx"],"sourcesContent":["import React from 'react'\n\nimport { observer } from 'mobx-react-lite'\n\nimport Button from '@mui/material/Button'\nimport Card from '@mui/material/Card'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { ChevronRight } from '@mxenabled/mx-icons'\nimport { H3, Text } from '@mxenabled/mxui'\n\nimport {\n ConnectDrawer,\n Loader,\n useAccountStore,\n useBudgetsStore,\n useCategoryStore,\n useFinstrongStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useScreenSize,\n useUserStore,\n useWidgetLoadTimer,\n WidgetContainer,\n} from '../common'\nimport { type WidgetProps } from '../core'\nimport { LineChart } from '../common/components/charts/LineChart'\n\nimport { ConnectMoreAccountsCard } from './components/ConnectMoreAccountsCard'\nimport KeyIndicatorsTabsWidget from './components/KeyIndicatorsTabsWidget'\nimport MissingData from './components/MissingData'\nimport Onboarding from './components/onboarding/Onboarding'\nimport ProfileDrawer from './components/ProfileDrawer'\nimport ScoreHistoryDrawer from './components/ScoreHistoryDrawer'\nimport { FinancialStrengthCard } from './FinancialStrengthCard'\n\nconst FinstrongWidget = ({ onBackClick, onMenuClick, sx, onPrimaryCtaClick }: WidgetProps) => {\n const { visibleAccounts: accounts } = useAccountStore()\n const { dateRange, isDataLoaded, loadBudgetData, setTheme } = useBudgetsStore()\n const { reloadCategoryTotals } = useCategoryStore()\n const finstrongStore = useFinstrongStore()\n const {\n augmentedChartData,\n calculateHealthScore,\n loadAugmentedChartData,\n loadMonthlySummaries,\n loadPeerScore,\n peerScore,\n healthScore,\n } = finstrongStore\n const { finstrong: finstrongCopy, connect: connectCopy } = useGlobalCopyStore()\n const { isInitialized } = useGlobalUiStore()\n const { loadRepeatingTransactionData, isDataLoaded: isRepeatingDataLoaded } =\n useRecurringTransactionsStore()\n const { isSmallMobile } = useScreenSize()\n const theme = useTheme()\n const { userProfile } = useUserStore()\n\n const [isFinstrongLoaded, setIsFinstrongLoaded] = React.useState(false)\n const [isScoreChangeLoading, setIsScoreChangeLoading] = React.useState(false)\n const [isProfileOpen, setIsProfileOpen] = React.useState(false)\n const [isScoreHistoryOpen, setIsScoreHistoryOpen] = React.useState(false)\n const [showConnectWidget, setShowConnectWidget] = React.useState(false)\n\n useWidgetLoadTimer({\n widgetName: 'FinstrongWidget',\n isLoaded: isFinstrongLoaded,\n })\n\n React.useEffect(() => {\n setTheme(theme)\n }, [])\n\n React.useEffect(() => {\n if (onPrimaryCtaClick) {\n finstrongStore.handleFinstrongWidgetPrimaryCtaClick = onPrimaryCtaClick\n }\n }, [onPrimaryCtaClick, finstrongStore])\n\n React.useEffect(() => {\n if (isInitialized) {\n loadMonthlySummaries().finally()\n loadPeerScore().finally()\n calculateHealthScore().finally()\n }\n }, [isInitialized])\n\n // `accounts` (accountStore.visibleAccounts) is a MobX computed that returns a\n // NEW filtered array on every access. Depending on the array reference here\n // caused an infinite loop: reloadCategoryTotals -> observed category state\n // changes -> observer re-renders -> visibleAccounts recomputes to a new array\n // -> this effect re-fires -> reloadCategoryTotals again -> ... (unbounded, it\n // exhausted the jsdom worker's V8 heap in tests and needlessly re-fetched in\n // the app). Depend on a stable primitive signature of the account guids so\n // the effect only re-runs when the actual set of accounts changes.\n const accountsKey = accounts.map((account) => account.guid).join(',')\n\n React.useEffect(() => {\n if (!isInitialized) return\n\n reloadCategoryTotals(accounts, dateRange.start, dateRange.end).finally(() => {\n setIsFinstrongLoaded(true)\n })\n if (!isDataLoaded) {\n loadBudgetData()\n loadRepeatingTransactionData().finally()\n }\n }, [dateRange, isDataLoaded, isInitialized, accountsKey])\n\n React.useEffect(() => {\n if (healthScore?.health_score) {\n loadAugmentedChartData().finally()\n }\n }, [healthScore.health_score])\n\n const handleProfileClick = () => setIsProfileOpen(true)\n const average = Math.round(peerScore?.average_health_score?.average_health_score || 0)\n const hasValidData = augmentedChartData.some((item) => item.y !== 0)\n\n const handleCloseProfileDrawer = () => {\n setIsScoreChangeLoading(true)\n calculateHealthScore(false).finally(() => {\n setIsScoreChangeLoading(false)\n })\n setIsProfileOpen(false)\n }\n\n if (!isInitialized || !isFinstrongLoaded || !isRepeatingDataLoaded || isScoreChangeLoading)\n return <Loader />\n\n return (\n <WidgetContainer\n actions={[\n {\n iconName: 'person',\n label: finstrongCopy.profile,\n onClick: handleProfileClick,\n },\n ]}\n hasDivider={true}\n onBackClick={onBackClick}\n onMenuClick={onMenuClick}\n showAccountFilter={false}\n sx={sx}\n title={finstrongCopy.title}\n >\n {userProfile.has_completed_finstrong_onboarding ? (\n <Stack\n sx={{\n bgcolor: 'background.default',\n flexDirection: { md: 'row' },\n gap: 24,\n justifyContent: 'center',\n pt: isSmallMobile ? 16 : 24,\n px: isSmallMobile ? 16 : 48,\n }}\n >\n <Stack sx={{ gap: 24, width: { md: 432 }, height: '100%' }}>\n <FinancialStrengthCard />\n <ConnectMoreAccountsCard\n description={finstrongCopy.connect_more_accounts_description}\n drawerType=\"connectDrawer\"\n title={finstrongCopy.connect_more_accounts_title}\n />\n </Stack>\n <Stack sx={{ maxWidth: 848, width: { md: 720 } }}>\n <Card sx={{ height: '100%', p: 16 }}>\n <Stack\n direction=\"row\"\n sx={{ alignItems: 'center', gap: 12, justifyContent: 'space-between' }}\n >\n <H3>{finstrongCopy.key_indicators}</H3>\n\n <Button\n endIcon={<ChevronRight />}\n onClick={() => setIsScoreHistoryOpen(true)}\n size=\"small\"\n sx={{\n '&.MuiButtonBase-root': {\n px: 8,\n py: 4,\n },\n }}\n variant=\"text\"\n >\n <Text bold={true} variant=\"body2\">\n {finstrongCopy.whats_changed}\n </Text>\n </Button>\n </Stack>\n {hasValidData ? (\n <LineChart\n axisColor={theme.palette.divider}\n baseline=\"min\"\n colors={[theme.palette.primary.main]}\n curveType=\"natural\"\n customLegendBoxSx={{ borderRadius: '2px' }}\n customLegendSx={{ left: 0 }}\n customLegendVariant=\"caption\"\n datasets={[augmentedChartData]}\n height={300}\n isCurrency={false}\n isGraphClippingXAxis={true}\n labelBackgroundColor={theme.palette.neutral.dark}\n labelFontColor={theme.palette.common.white}\n labelFontSize={\n typeof theme.typography.caption?.fontSize === 'string'\n ? parseFloat(theme.typography.caption.fontSize)\n : theme.typography.caption?.fontSize\n }\n labels={[finstrongCopy.key_indicators_label]}\n margin={{ right: 12, left: -37 }}\n peerAverage={average}\n showArea={true}\n showAverage={true}\n showLegend={true}\n showMarkLabel={true}\n showTooltip={true}\n showXAxis={true}\n title={finstrongCopy.peer_average}\n />\n ) : (\n <MissingData onClick={() => setShowConnectWidget(true)} />\n )}\n <KeyIndicatorsTabsWidget />\n </Card>\n </Stack>\n </Stack>\n ) : (\n <Onboarding />\n )}\n\n <ProfileDrawer isOpen={isProfileOpen} onClose={handleCloseProfileDrawer} />\n <ConnectDrawer\n onClose={() => setShowConnectWidget(false)}\n showConnectWidget={showConnectWidget}\n title={connectCopy.mini_title}\n />\n <ScoreHistoryDrawer\n isOpen={isScoreHistoryOpen}\n onClose={() => setIsScoreHistoryOpen(false)}\n />\n </WidgetContainer>\n )\n}\n\nexport default observer(FinstrongWidget)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectMoreAccountsCard.es.js","names":[],"sources":["../../../src/finstrong/components/ConnectMoreAccountsCard.tsx"],"sourcesContent":["import React from 'react'\n\nimport { type SxProps } from '@mui/material/styles'\nimport { AccountBalance, ChevronRight } from '@mxenabled/mx-icons'\n\nimport { P, H3, Text } from '@mxenabled/mxui'\nimport Stack from '@mui/material/Stack'\nimport Button from '@mui/material/Button'\nimport Card from '@mui/material/Card'\n\nimport { ConnectDrawer, useAppConfig, useGlobalCopyStore } from '../../common'\nimport ConnectionsDrawer from '../../accounts/components/ConnectionsDrawer'\n\ninterface ConnectMoreAccountsCardProps {\n drawerType?: 'connectDrawer' | 'connectionsDrawer'\n isDashboard?: boolean\n hasIcon?: boolean\n buttonText?: string\n title?: string\n titleDrawer?: string\n description?: string\n sx?: SxProps\n}\n\nexport const ConnectMoreAccountsCard = ({\n drawerType,\n isDashboard = false,\n hasIcon = true,\n buttonText,\n title,\n titleDrawer,\n description,\n sx,\n}: ConnectMoreAccountsCardProps) => {\n const [showConnectWidget, setShowConnectWidget] = React.useState(false)\n const { connect: connectCopy, finstrong: copy } = useGlobalCopyStore()\n const { config } = useAppConfig()\n return drawerType && config.show_connections_widget_in_master ? (\n <Card\n sx={{\n pb: 24,\n pt: 18,\n px: 24,\n width: '100%',\n ...sx,\n }}\n >\n <Stack\n sx={{\n gap: 8,\n ...(isDashboard && { flexDirection: 'row', alignItems: 'center' }),\n }}\n >\n {hasIcon && <AccountBalance sx={{ height: 20, width: 20 }} />}\n <H3 className=\"connect-more-accounts-title\" sx={{ ...(isDashboard && { fontSize: 15 }) }}>\n {title ? title : copy.connect_more_accounts_title}\n </H3>\n </Stack>\n <P\n className=\"connect-more-accounts-description\"\n sx={{ color: 'text.secondary', mt: 8 }}\n variant=\"subtitle1\"\n >\n {description ? description : copy.connect_more_accounts_description}\n </P>\n\n <Button\n endIcon={<ChevronRight />}\n onClick={() => setShowConnectWidget(true)}\n size=\"small\"\n sx={{ p: 0, mt: 8, '&:hover': { backgroundColor: 'transparent' } }}\n >\n <Text sx={{ fontWeight: 600 }} variant=\"body2\">\n {buttonText ? buttonText : copy.connect_more_accounts_button}\n </Text>\n </Button>\n\n {drawerType === 'connectDrawer' && (\n <ConnectDrawer\n onClose={() => setShowConnectWidget(false)}\n showConnectWidget={showConnectWidget}\n title={titleDrawer ? titleDrawer : connectCopy.mini_title}\n />\n )}\n {drawerType === 'connectionsDrawer' && (\n <ConnectionsDrawer\n onClose={() => setShowConnectWidget(false)}\n showConnectionsWidget={showConnectWidget}\n title={titleDrawer ? titleDrawer : connectCopy.mini_title}\n />\n )}\n </Card>\n ) : null\n}\n"],"mappings":";;;;;;;;;;AAwBA,IAAa,IAAA,CAA2B,EACtC,YAAA,GACA,aAAA,IAAc,IACd,SAAA,IAAU,IACV,YAAA,GACA,OAAA,GACA,aAAA,GACA,aAAA,GACA,IAAA,EAAA,MACkC;AAClC,QAAM,CAAC,GAAmB,CAAA,IAAwB,EAAM,SAAS,EAAK,GAChE,EAAE,SAAS,GAAa,WAAW,EAAA,IAAS,EAAmB,GAC/D,EAAE,QAAA,EAAA,IAAW,EAAa;AAChC,SAAO,KAAc,EAAO,oCAC1B,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,GAAG;AAAA,IACL;AAAA,cAPF;AAAA,MASE,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,KAAK;AAAA,UACL,GAAI,KAAe;AAAA,YAAE,eAAe;AAAA,YAAO,YAAY;AAAA,UAAS;AAAA,QAClE;AAAA,kBAJF,CAMG,KAAW,gBAAA,EAAC,GAAD,EAAgB,IAAI;AAAA,UAAE,QAAQ;AAAA,UAAI,OAAO;AAAA,QAAG,EAAI,CAAA,GAC5D,gBAAA,EAAC,GAAD;AAAA,UAAI,WAAU;AAAA,UAA8B,IAAI,EAAE,GAAI,KAAe,EAAE,UAAU,GAAG,EAAG;AAAA,oBACpF,KAAgB,EAAK;AAAA,QACpB,CAAA,CACC;AAAA;MACP,gBAAA,EAAC,GAAD;AAAA,QACE,WAAU;AAAA,QACV,IAAI;AAAA,UAAE,OAAO;AAAA,UAAkB,IAAI;AAAA,QAAE;AAAA,QACrC,SAAQ;AAAA,kBAEP,KAA4B,EAAK;AAAA,MACjC,CAAA;AAAA,MAEH,gBAAA,EAAC,GAAD;AAAA,QACE,SAAS,gBAAA,EAAC,GAAD,CAAe,CAAA;AAAA,QACxB,SAAA,MAAe,EAAqB,EAAI;AAAA,QACxC,MAAK;AAAA,QACL,IAAI;AAAA,UAAE,GAAG;AAAA,UAAG,IAAI;AAAA,UAAG,WAAW,EAAE,iBAAiB,cAAc;AAAA,QAAE;AAAA,kBAEjE,gBAAA,EAAC,GAAD;AAAA,UAAM,IAAI,EAAE,YAAY,IAAI;AAAA,UAAG,SAAQ;AAAA,oBACpC,KAA0B,EAAK;AAAA,QAC5B,CAAA;AAAA,MACA,CAAA;AAAA,MAEP,MAAe,mBACd,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe,EAAqB,EAAK;AAAA,QACtB,mBAAA;AAAA,QACnB,OAAO,KAA4B,EAAY;AAAA,MAChD,CAAA;AAAA,MAEF,MAAe,uBACd,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe,EAAqB,EAAK;AAAA,QACzC,uBAAuB;AAAA,QACvB,OAAO,KAA4B,EAAY;AAAA,MAChD,CAAA;AAAA,IAEC;AAAA,OACJ;AACN"}
1
+ {"version":3,"file":"ConnectMoreAccountsCard.es.js","names":[],"sources":["../../../src/finstrong/components/ConnectMoreAccountsCard.tsx"],"sourcesContent":["import React from 'react'\n\nimport { type SxProps } from '@mui/material/styles'\nimport { AccountBalance, ChevronRight } from '@mxenabled/mx-icons'\n\nimport { P, H3, Text } from '@mxenabled/mxui'\nimport Stack from '@mui/material/Stack'\nimport Button from '@mui/material/Button'\nimport Card from '@mui/material/Card'\n\nimport { ConnectDrawer, useAppConfig, useGlobalCopyStore } from '../../common'\nimport ConnectionsDrawer from '../../accounts/components/ConnectionsDrawer'\n\ninterface ConnectMoreAccountsCardProps {\n drawerType?: 'connectDrawer' | 'connectionsDrawer'\n isDashboard?: boolean\n hasIcon?: boolean\n buttonText?: string\n title?: string\n titleDrawer?: string\n description?: string\n sx?: SxProps\n}\n\nexport const ConnectMoreAccountsCard = ({\n drawerType,\n isDashboard = false,\n hasIcon = true,\n buttonText,\n title,\n titleDrawer,\n description,\n sx,\n}: ConnectMoreAccountsCardProps) => {\n const [showConnectWidget, setShowConnectWidget] = React.useState(false)\n const { connect: connectCopy, finstrong: copy } = useGlobalCopyStore()\n const { config } = useAppConfig()\n return drawerType && config.show_connections_widget_in_master ? (\n <Card\n sx={{\n pb: 24,\n pt: 18,\n px: 24,\n width: '100%',\n ...sx,\n }}\n >\n <Stack\n sx={{\n gap: 8,\n ...(isDashboard && { flexDirection: 'row', alignItems: 'center' }),\n }}\n >\n {hasIcon && <AccountBalance sx={{ height: 20, width: 20 }} />}\n <H3 className=\"connect-more-accounts-title\" sx={{ ...(isDashboard && { fontSize: 15 }) }}>\n {title ? title : copy.connect_more_accounts_title}\n </H3>\n </Stack>\n <P\n className=\"connect-more-accounts-description\"\n sx={{ color: 'text.secondary', mt: 8 }}\n variant=\"subtitle1\"\n >\n {description ? description : copy.connect_more_accounts_description}\n </P>\n\n <Button\n endIcon={<ChevronRight />}\n onClick={() => setShowConnectWidget(true)}\n size=\"small\"\n sx={{ p: 0, mt: 8, '&:hover': { backgroundColor: 'transparent' } }}\n >\n <Text sx={{ fontWeight: 600 }} variant=\"body2\">\n {buttonText ? buttonText : copy.connect_more_accounts_button}\n </Text>\n </Button>\n\n {drawerType === 'connectDrawer' && (\n <ConnectDrawer\n onClose={() => setShowConnectWidget(false)}\n showConnectWidget={showConnectWidget}\n title={titleDrawer ? titleDrawer : connectCopy.mini_title}\n />\n )}\n {drawerType === 'connectionsDrawer' && (\n <ConnectionsDrawer\n onClose={() => setShowConnectWidget(false)}\n showConnectionsWidget={showConnectWidget}\n title={titleDrawer ? titleDrawer : connectCopy.mini_title}\n />\n )}\n </Card>\n ) : null\n}\n"],"mappings":";;;;;;;;;;AAwBA,IAAa,IAAA,CAA2B,EACtC,YAAA,GACA,aAAA,IAAc,IACd,SAAA,IAAU,IACV,YAAA,GACA,OAAA,GACA,aAAA,GACA,aAAA,GACA,IAAA,EAAA,MACkC;AAClC,QAAM,CAAC,GAAmB,CAAA,IAAwB,EAAM,SAAS,EAAK,GAChE,EAAE,SAAS,GAAa,WAAW,EAAA,IAAS,EAAmB,GAC/D,EAAE,QAAA,EAAA,IAAW,EAAa;AAChC,SAAO,KAAc,EAAO,oCAC1B,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,GAAG;AAAA,IACL;AAAA,IAPF,UAAA;AAAA,MASE,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,KAAK;AAAA,UACL,GAAI,KAAe;AAAA,YAAE,eAAe;AAAA,YAAO,YAAY;AAAA,UAAS;AAAA,QAClE;AAAA,QAJF,UAAA,CAMG,KAAW,gBAAA,EAAC,GAAD,EAAgB,IAAI;AAAA,UAAE,QAAQ;AAAA,UAAI,OAAO;AAAA,QAAG,EAAI,CAAA,GAC5D,gBAAA,EAAC,GAAD;AAAA,UAAI,WAAU;AAAA,UAA8B,IAAI,EAAE,GAAI,KAAe,EAAE,UAAU,GAAG,EAAG;AAAA,UACpF,UAAA,KAAgB,EAAK;AAAA,QACpB,CAAA,CACC;AAAA;MACP,gBAAA,EAAC,GAAD;AAAA,QACE,WAAU;AAAA,QACV,IAAI;AAAA,UAAE,OAAO;AAAA,UAAkB,IAAI;AAAA,QAAE;AAAA,QACrC,SAAQ;AAAA,QAEP,UAAA,KAA4B,EAAK;AAAA,MACjC,CAAA;AAAA,MAEH,gBAAA,EAAC,GAAD;AAAA,QACE,SAAS,gBAAA,EAAC,GAAD,CAAe,CAAA;AAAA,QACxB,SAAA,MAAe,EAAqB,EAAI;AAAA,QACxC,MAAK;AAAA,QACL,IAAI;AAAA,UAAE,GAAG;AAAA,UAAG,IAAI;AAAA,UAAG,WAAW,EAAE,iBAAiB,cAAc;AAAA,QAAE;AAAA,QAEjE,UAAA,gBAAA,EAAC,GAAD;AAAA,UAAM,IAAI,EAAE,YAAY,IAAI;AAAA,UAAG,SAAQ;AAAA,UACpC,UAAA,KAA0B,EAAK;AAAA,QAC5B,CAAA;AAAA,MACA,CAAA;AAAA,MAEP,MAAe,mBACd,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe,EAAqB,EAAK;AAAA,QACtB,mBAAA;AAAA,QACnB,OAAO,KAA4B,EAAY;AAAA,MAChD,CAAA;AAAA,MAEF,MAAe,uBACd,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe,EAAqB,EAAK;AAAA,QACzC,uBAAuB;AAAA,QACvB,OAAO,KAA4B,EAAY;AAAA,MAChD,CAAA;AAAA,IAEC;AAAA,EACJ,CAAA,IAAA;AACN"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreditScoreContent.es.js","names":[],"sources":["../../../../src/finstrong/components/CreditScore/CreditScoreContent.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 {\n useFinstrongStore,\n useGlobalCopyStore,\n useScreenSize,\n useUserStore,\n useWidgetContainerProvider,\n} from '../../../common'\n\nimport { CreditScoreGraph } from '../CreditScoreGraph'\nimport ManageCreditScore from '../ManageCreditScore'\nimport LineGraph from '../shared/LineGraph'\n\nconst CreditScoreContent = () => {\n const { healthScoreChangeReports } = useFinstrongStore()\n const { finstrong: copy } = useGlobalCopyStore()\n const { user } = useUserStore()\n const { availableWidth } = useWidgetContainerProvider()\n const { isSmallMobile } = useScreenSize(availableWidth)\n\n const [isOpen, setIsOpen] = React.useState(false)\n\n const lastReport = healthScoreChangeReports.at(-1)\n\n return (\n <Box>\n <Stack sx={{ gap: 28 }}>\n <CreditScoreGraph\n arcRadius={isSmallMobile ? 124 : 154}\n footerCenterContent={\n lastReport ? lastReport.newer_credit_score - lastReport.older_credit_score : 0\n }\n healthScore={user.credit_score ?? 0}\n size={isSmallMobile ? 'M' : 'L'}\n />\n <Button onClick={() => setIsOpen(true)} variant=\"contained\">\n {copy.credit_score_updated_score}\n </Button>\n <LineGraph chartFor=\"creditOverTime\" />\n </Stack>\n <ManageCreditScore isOpen={isOpen} onClose={() => setIsOpen(false)} />\n </Box>\n )\n}\n\nexport default observer(CreditScoreContent)\n"],"mappings":";;;;;;;;;;;AAmBA,IAAM,IAAA,MAA2B;AAC/B,QAAM,EAAE,0BAAA,EAAA,IAA6B,EAAkB,GACjD,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,MAAA,EAAA,IAAS,EAAa,GACxB,EAAE,gBAAA,EAAA,IAAmB,EAA2B,GAChD,EAAE,eAAA,EAAA,IAAkB,EAAc,CAAc,GAEhD,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAS,EAAK,GAE1C,IAAa,EAAyB,GAAG,EAAE;AAEjD,SACE,gBAAA,EAAC,GAAD,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI,EAAE,KAAK,GAAG;AAAA,cAArB;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QACE,WAAW,IAAgB,MAAM;AAAA,QACjC,qBACE,IAAa,EAAW,qBAAqB,EAAW,qBAAqB;AAAA,QAE/E,aAAa,EAAK,gBAAgB;AAAA,QAClC,MAAM,IAAgB,MAAM;AAAA,MAC7B,CAAA;AAAA,MACD,gBAAA,EAAC,GAAD;AAAA,QAAQ,SAAA,MAAe,EAAU,EAAI;AAAA,QAAG,SAAQ;AAAA,kBAC7C,EAAK;AAAA,MACA,CAAA;AAAA,MACR,gBAAA,EAAC,GAAD,EAAW,UAAS,iBAAkB,CAAA;AAAA,IACjC;AAAA,MACP,gBAAA,EAAC,GAAD;AAAA,IAA2B,QAAA;AAAA,IAAQ,SAAA,MAAe,EAAU,EAAK;AAAA,EAAI,CAAA,CAClE,EAAA,CAAA;AAET,GAEA,IAAe,EAAS,CAAkB"}
1
+ {"version":3,"file":"CreditScoreContent.es.js","names":[],"sources":["../../../../src/finstrong/components/CreditScore/CreditScoreContent.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 {\n useFinstrongStore,\n useGlobalCopyStore,\n useScreenSize,\n useUserStore,\n useWidgetContainerProvider,\n} from '../../../common'\n\nimport { CreditScoreGraph } from '../CreditScoreGraph'\nimport ManageCreditScore from '../ManageCreditScore'\nimport LineGraph from '../shared/LineGraph'\n\nconst CreditScoreContent = () => {\n const { healthScoreChangeReports } = useFinstrongStore()\n const { finstrong: copy } = useGlobalCopyStore()\n const { user } = useUserStore()\n const { availableWidth } = useWidgetContainerProvider()\n const { isSmallMobile } = useScreenSize(availableWidth)\n\n const [isOpen, setIsOpen] = React.useState(false)\n\n const lastReport = healthScoreChangeReports.at(-1)\n\n return (\n <Box>\n <Stack sx={{ gap: 28 }}>\n <CreditScoreGraph\n arcRadius={isSmallMobile ? 124 : 154}\n footerCenterContent={\n lastReport ? lastReport.newer_credit_score - lastReport.older_credit_score : 0\n }\n healthScore={user.credit_score ?? 0}\n size={isSmallMobile ? 'M' : 'L'}\n />\n <Button onClick={() => setIsOpen(true)} variant=\"contained\">\n {copy.credit_score_updated_score}\n </Button>\n <LineGraph chartFor=\"creditOverTime\" />\n </Stack>\n <ManageCreditScore isOpen={isOpen} onClose={() => setIsOpen(false)} />\n </Box>\n )\n}\n\nexport default observer(CreditScoreContent)\n"],"mappings":";;;;;;;;;;;AAmBA,IAAM,IAAA,MAA2B;AAC/B,QAAM,EAAE,0BAAA,EAAA,IAA6B,EAAkB,GACjD,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,MAAA,EAAA,IAAS,EAAa,GACxB,EAAE,gBAAA,EAAA,IAAmB,EAA2B,GAChD,EAAE,eAAA,EAAA,IAAkB,EAAc,CAAc,GAEhD,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAS,EAAK,GAE1C,IAAa,EAAyB,GAAG,EAAE;AAEjD,SACE,gBAAA,EAAC,GAAD,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI,EAAE,KAAK,GAAG;AAAA,IAArB,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QACE,WAAW,IAAgB,MAAM;AAAA,QACjC,qBACE,IAAa,EAAW,qBAAqB,EAAW,qBAAqB;AAAA,QAE/E,aAAa,EAAK,gBAAgB;AAAA,QAClC,MAAM,IAAgB,MAAM;AAAA,MAC7B,CAAA;AAAA,MACD,gBAAA,EAAC,GAAD;AAAA,QAAQ,SAAA,MAAe,EAAU,EAAI;AAAA,QAAG,SAAQ;AAAA,QAC7C,UAAA,EAAK;AAAA,MACA,CAAA;AAAA,MACR,gBAAA,EAAC,GAAD,EAAW,UAAS,iBAAkB,CAAA;AAAA,IACjC;AAAA,EACP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,IAA2B,QAAA;AAAA,IAAQ,SAAA,MAAe,EAAU,EAAK;AAAA,EAAI,CAAA,CAClE,EAAA,CAAA;AAET,GAEA,IAAe,EAAS,CAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreditScoreHeader.es.js","names":[],"sources":["../../../../src/finstrong/components/CreditScore/CreditScoreHeader.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { H3 } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore, useUserStore } from '../../../common'\n\nimport { getCreditScoreState } from '../../util/finstrongUtils'\n\nimport StatusChip from '../StatusChip'\n\nconst CreditScoreHeader = () => {\n const { finstrong: copy } = useGlobalCopyStore()\n const { user } = useUserStore()\n\n const status = getCreditScoreState(user.credit_score ?? null)\n\n return (\n <Stack sx={{ flexDirection: 'row', justifyContent: 'space-between' }}>\n <H3>{copy.credit_score_keep_strong_credit_score}</H3>\n <StatusChip status={status} />\n </Stack>\n )\n}\n\nexport default observer(CreditScoreHeader)\n"],"mappings":";;;;;;;AAYA,IAAM,IAAA,MAA0B;AAC9B,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,MAAA,EAAA,IAAS,EAAa,GAExB,IAAS,EAAoB,EAAK,gBAAgB,IAAI;AAE5D,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,eAAe;AAAA,MAAO,gBAAgB;AAAA,IAAgB;AAAA,cAAnE,CACE,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAK,sCAA0C,CAAA,GACpD,gBAAA,EAAC,GAAD,EAAoB,QAAA,EAAS,CAAA,CACxB;AAAA;AAEX,GAEA,IAAe,EAAS,CAAiB"}
1
+ {"version":3,"file":"CreditScoreHeader.es.js","names":[],"sources":["../../../../src/finstrong/components/CreditScore/CreditScoreHeader.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { H3 } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore, useUserStore } from '../../../common'\n\nimport { getCreditScoreState } from '../../util/finstrongUtils'\n\nimport StatusChip from '../StatusChip'\n\nconst CreditScoreHeader = () => {\n const { finstrong: copy } = useGlobalCopyStore()\n const { user } = useUserStore()\n\n const status = getCreditScoreState(user.credit_score ?? null)\n\n return (\n <Stack sx={{ flexDirection: 'row', justifyContent: 'space-between' }}>\n <H3>{copy.credit_score_keep_strong_credit_score}</H3>\n <StatusChip status={status} />\n </Stack>\n )\n}\n\nexport default observer(CreditScoreHeader)\n"],"mappings":";;;;;;;AAYA,IAAM,IAAA,MAA0B;AAC9B,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,MAAA,EAAA,IAAS,EAAa,GAExB,IAAS,EAAoB,EAAK,gBAAgB,IAAI;AAE5D,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,eAAe;AAAA,MAAO,gBAAgB;AAAA,IAAgB;AAAA,IAAnE,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAK,sCAA0C,CAAA,GACpD,gBAAA,EAAC,GAAD,EAAoB,QAAA,EAAS,CAAA,CACxB;AAAA;AAEX,GAEA,IAAe,EAAS,CAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DebtPaymentTabContent.es.js","names":[],"sources":["../../../../src/finstrong/components/HaveManageableDebt/DebtPaymentTabContent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\nimport { ConnectDrawer, useFinstrongStore, useGlobalCopyStore } from '../../../common'\nimport TotalCard from '../shared/TotalCard'\nimport Transactions from '../shared/Transactions'\n\nconst DebtPaymentTabContent: React.FC = () => {\n const { allTransactions, healthScore } = useFinstrongStore()\n const { connect: connectCopy, finstrong: copy } = useGlobalCopyStore()\n const [showConnectWidget, setShowConnectWidget] = React.useState(false)\n\n return (\n <Stack gap={16} sx={{ p: 16 }}>\n <TotalCard\n balance={healthScore.ninety_day_debt_spend}\n sx={{ flexDirection: 'column-reverse' }}\n title={copy.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_payments}\n />\n\n {allTransactions.debtSpend.length ? (\n //TODO: Need to add More Transactions functionality\n <Transactions\n amountColor=\"text.primary\"\n transactions={allTransactions.debtSpend.map((item) => item.transaction)}\n />\n ) : (\n <Button\n onClick={() => {\n setShowConnectWidget(true)\n }}\n variant=\"contained\"\n >\n {copy.connect_more_accounts_button}\n </Button>\n )}\n\n <ConnectDrawer\n onClose={() => setShowConnectWidget(false)}\n showConnectWidget={showConnectWidget}\n title={connectCopy.mini_title}\n />\n </Stack>\n )\n}\n\nexport default observer(DebtPaymentTabContent)\n"],"mappings":";;;;;;;;;AAUA,IAAM,IAAA,MAAwC;AAC5C,QAAM,EAAE,iBAAA,GAAiB,aAAA,EAAA,IAAgB,EAAkB,GACrD,EAAE,SAAS,GAAa,WAAW,EAAA,IAAS,EAAmB,GAC/D,CAAC,GAAmB,CAAA,IAAwB,EAAM,SAAS,EAAK;AAEtE,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,KAAK;AAAA,IAAI,IAAI,EAAE,GAAG,GAAG;AAAA,cAA5B;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QACE,SAAS,EAAY;AAAA,QACrB,IAAI,EAAE,eAAe,iBAAiB;AAAA,QACtC,OAAO,EAAK,sBAAsB,4BAA4B;AAAA,MAC/D,CAAA;AAAA,MAEA,EAAgB,UAAU,SAEzB,gBAAA,EAAC,GAAD;AAAA,QACE,aAAY;AAAA,QACZ,cAAc,EAAgB,UAAU,IAAA,CAAK,MAAS,EAAK,WAAW;AAAA,MACvE,CAAA,IAED,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe;AACb,UAAA,EAAqB,EAAI;AAAA,QAC3B;AAAA,QACA,SAAQ;AAAA,kBAEP,EAAK;AAAA,MACA,CAAA;AAAA,MAGV,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe,EAAqB,EAAK;AAAA,QACtB,mBAAA;AAAA,QACnB,OAAO,EAAY;AAAA,MACpB,CAAA;AAAA,IACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAqB"}
1
+ {"version":3,"file":"DebtPaymentTabContent.es.js","names":[],"sources":["../../../../src/finstrong/components/HaveManageableDebt/DebtPaymentTabContent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\nimport { ConnectDrawer, useFinstrongStore, useGlobalCopyStore } from '../../../common'\nimport TotalCard from '../shared/TotalCard'\nimport Transactions from '../shared/Transactions'\n\nconst DebtPaymentTabContent: React.FC = () => {\n const { allTransactions, healthScore } = useFinstrongStore()\n const { connect: connectCopy, finstrong: copy } = useGlobalCopyStore()\n const [showConnectWidget, setShowConnectWidget] = React.useState(false)\n\n return (\n <Stack gap={16} sx={{ p: 16 }}>\n <TotalCard\n balance={healthScore.ninety_day_debt_spend}\n sx={{ flexDirection: 'column-reverse' }}\n title={copy.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_payments}\n />\n\n {allTransactions.debtSpend.length ? (\n //TODO: Need to add More Transactions functionality\n <Transactions\n amountColor=\"text.primary\"\n transactions={allTransactions.debtSpend.map((item) => item.transaction)}\n />\n ) : (\n <Button\n onClick={() => {\n setShowConnectWidget(true)\n }}\n variant=\"contained\"\n >\n {copy.connect_more_accounts_button}\n </Button>\n )}\n\n <ConnectDrawer\n onClose={() => setShowConnectWidget(false)}\n showConnectWidget={showConnectWidget}\n title={connectCopy.mini_title}\n />\n </Stack>\n )\n}\n\nexport default observer(DebtPaymentTabContent)\n"],"mappings":";;;;;;;;;AAUA,IAAM,IAAA,MAAwC;AAC5C,QAAM,EAAE,iBAAA,GAAiB,aAAA,EAAA,IAAgB,EAAkB,GACrD,EAAE,SAAS,GAAa,WAAW,EAAA,IAAS,EAAmB,GAC/D,CAAC,GAAmB,CAAA,IAAwB,EAAM,SAAS,EAAK;AAEtE,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,KAAK;AAAA,IAAI,IAAI,EAAE,GAAG,GAAG;AAAA,IAA5B,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QACE,SAAS,EAAY;AAAA,QACrB,IAAI,EAAE,eAAe,iBAAiB;AAAA,QACtC,OAAO,EAAK,sBAAsB,4BAA4B;AAAA,MAC/D,CAAA;AAAA,MAEA,EAAgB,UAAU,SAEzB,gBAAA,EAAC,GAAD;AAAA,QACE,aAAY;AAAA,QACZ,cAAc,EAAgB,UAAU,IAAA,CAAK,MAAS,EAAK,WAAW;AAAA,MACvE,CAAA,IAED,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe;AACb,UAAA,EAAqB,EAAI;AAAA,QAC3B;AAAA,QACA,SAAQ;AAAA,QAEP,UAAA,EAAK;AAAA,MACA,CAAA;AAAA,MAGV,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe,EAAqB,EAAK;AAAA,QACtB,mBAAA;AAAA,QACnB,OAAO,EAAY;AAAA,MACpB,CAAA;AAAA,IACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"HaveManageableDebtComponent.es.js","names":[],"sources":["../../../../src/finstrong/components/HaveManageableDebt/HaveManageableDebtComponent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Card from '@mui/material/Card'\nimport Tab from '@mui/material/Tab'\nimport Tabs from '@mui/material/Tabs'\n\nimport { useGlobalCopyStore, TabContentContainer, useFinstrongStore, Loader } from '../../../common'\nimport { EmptyState } from '../../../common/components/EmptyState'\nimport IncomeTabContent from './IncomeTabContent'\nimport DebtPaymentTabContent from './DebtPaymentTabContent'\nimport DoubleBarChart from '../shared/DoubleBarChart'\nimport LineGraph from '../shared/LineGraph'\n\nconst HaveManagebleDebtComponent: React.FC = () => {\n const { isIncomeInitialized, loadDebtSpend, loadIncome, monthlySummaries } = useFinstrongStore()\n\n const [tabValue, setTabValue] = React.useState(0)\n const { finstrong: copy } = useGlobalCopyStore()\n\n React.useEffect(() => {\n if (!isIncomeInitialized) {\n loadDebtSpend().finally()\n loadIncome().finally()\n }\n }, [isIncomeInitialized])\n\n if (!isIncomeInitialized) return <Loader />\n\n const hasBarChartData = monthlySummaries.some(\n (eachItem) => eachItem.debt_spend !== 0 || eachItem.income !== 0,\n )\n\n return (\n <>\n <Card>\n <Tabs\n aria-label={copy.key_indicators_save.drawer_title}\n centered={true}\n onChange={(_, val) => setTabValue(val)}\n selectionFollowsFocus={true}\n sx={{ mb: 0 }}\n value={tabValue}\n variant=\"fullWidth\"\n >\n <Tab\n aria-controls=\"income-details-tabpanel-0\"\n id=\"income-details-tab-0\"\n label={copy.key_indicators_borrow.have_manageable_debt_drawer.income}\n sx={{ minHeight: 44 }}\n />\n <Tab\n aria-controls=\"debt-payment-details-tabpanel-1\"\n id=\"debt-payment-details-tab-1\"\n label={copy.key_indicators_borrow.have_manageable_debt_drawer.debt_payment}\n sx={{ minHeight: 44 }}\n />\n </Tabs>\n\n <TabContentContainer\n aria-labelledby=\"income-details-tab-0\"\n index={0}\n name=\"income-details\"\n value={tabValue}\n >\n <IncomeTabContent />\n </TabContentContainer>\n\n <TabContentContainer\n aria-labelledby=\"debt-payment-details-tab-1\"\n index={1}\n name=\"debt-payment-details\"\n value={tabValue}\n >\n <DebtPaymentTabContent />\n </TabContentContainer>\n </Card>\n\n {hasBarChartData ? (\n <>\n <DoubleBarChart\n chartFor=\"debt_payment_vs_income\"\n data={monthlySummaries}\n legendLabelComparison={\n copy.key_indicators_borrow.have_manageable_debt_drawer.debt_payment\n }\n legendLabelMain={copy.key_indicators_borrow.have_manageable_debt_drawer.income}\n title={copy.key_indicators_borrow.have_manageable_debt_drawer.debt_payment}\n />\n </>\n ) : (\n <EmptyState\n header={\n copy.key_indicators_borrow.have_manageable_debt_drawer\n .have_manageable_debt_double_bar_chart_empty_state_header\n }\n icon=\"multiline_chart\"\n subText={\n copy.key_indicators_borrow.have_manageable_debt_drawer\n .have_manageable_debt_double_bar_chart_empty_state_description\n }\n sx={{\n backgroundColor: 'background.paper',\n borderRadius: '8px',\n boxShadow: 1,\n p: 24,\n pb: 48,\n '.empty-state-subtext': {\n fontSize: 15,\n lineHeight: '24px',\n mt: 8,\n },\n }}\n />\n )}\n <LineGraph chartFor=\"debtOverTime\" />\n </>\n )\n}\n\nexport default observer(HaveManagebleDebtComponent)\n"],"mappings":";;;;;;;;;;;;;;AAcA,IAAM,IAAA,MAA6C;AACjD,QAAM,EAAE,qBAAA,GAAqB,eAAA,GAAe,YAAA,GAAY,kBAAA,EAAA,IAAqB,EAAkB,GAEzF,CAAC,GAAU,CAAA,IAAe,EAAM,SAAS,CAAC,GAC1C,EAAE,WAAW,EAAA,IAAS,EAAmB;AAS/C,MAPA,EAAM,UAAA,MAAgB;AACpB,IAAK,MACH,EAAc,EAAE,QAAQ,GACxB,EAAW,EAAE,QAAQ;AAAA,EAEzB,GAAG,CAAC,CAAmB,CAAC,GAEpB,CAAC,EAAqB,QAAO,gBAAA,EAAC,GAAD,CAAS,CAAA;AAE1C,QAAM,IAAkB,EAAiB,KAAA,CACtC,MAAa,EAAS,eAAe,KAAK,EAAS,WAAW,CACjE;AAEA,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD,EAAA,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QACE,cAAY,EAAK,oBAAoB;AAAA,QACrC,UAAU;AAAA,QACV,UAAA,CAAW,GAAG,MAAQ,EAAY,CAAG;AAAA,QACrC,uBAAuB;AAAA,QACvB,IAAI,EAAE,IAAI,EAAE;AAAA,QACZ,OAAO;AAAA,QACP,SAAQ;AAAA,kBAPV,CASE,gBAAA,EAAC,GAAD;AAAA,UACE,iBAAc;AAAA,UACd,IAAG;AAAA,UACH,OAAO,EAAK,sBAAsB,4BAA4B;AAAA,UAC9D,IAAI,EAAE,WAAW,GAAG;AAAA,QACrB,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,UACE,iBAAc;AAAA,UACd,IAAG;AAAA,UACH,OAAO,EAAK,sBAAsB,4BAA4B;AAAA,UAC9D,IAAI,EAAE,WAAW,GAAG;AAAA,QACrB,CAAA,CACG;AAAA;MAEN,gBAAA,EAAC,GAAD;AAAA,QACE,mBAAgB;AAAA,QAChB,OAAO;AAAA,QACP,MAAK;AAAA,QACL,OAAO;AAAA,kBAEP,gBAAA,EAAC,GAAD,CAAmB,CAAA;AAAA,MACA,CAAA;AAAA,MAErB,gBAAA,EAAC,GAAD;AAAA,QACE,mBAAgB;AAAA,QAChB,OAAO;AAAA,QACP,MAAK;AAAA,QACL,OAAO;AAAA,kBAEP,gBAAA,EAAC,GAAD,CAAwB,CAAA;AAAA,MACL,CAAA;AAAA,IACjB,EAAA,CAAA;AAAA,IAEL,IACC,gBAAA,EAAA,GAAA,EAAA,UACE,gBAAA,EAAC,GAAD;AAAA,MACE,UAAS;AAAA,MACT,MAAM;AAAA,MACN,uBACE,EAAK,sBAAsB,4BAA4B;AAAA,MAEzD,iBAAiB,EAAK,sBAAsB,4BAA4B;AAAA,MACxE,OAAO,EAAK,sBAAsB,4BAA4B;AAAA,IAC/D,CAAA,EACD,CAAA,IAEF,gBAAA,EAAC,GAAD;AAAA,MACE,QACE,EAAK,sBAAsB,4BACxB;AAAA,MAEL,MAAK;AAAA,MACL,SACE,EAAK,sBAAsB,4BACxB;AAAA,MAEL,IAAI;AAAA,QACF,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,WAAW;AAAA,QACX,GAAG;AAAA,QACH,IAAI;AAAA,QACJ,wBAAwB;AAAA,UACtB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,IAAI;AAAA,QACN;AAAA,MACF;AAAA,IACD,CAAA;AAAA,IAEH,gBAAA,EAAC,GAAD,EAAW,UAAS,eAAgB,CAAA;AAAA,EACpC,EAAA,CAAA;AAEN,GAEA,IAAe,EAAS,CAA0B"}
1
+ {"version":3,"file":"HaveManageableDebtComponent.es.js","names":[],"sources":["../../../../src/finstrong/components/HaveManageableDebt/HaveManageableDebtComponent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Card from '@mui/material/Card'\nimport Tab from '@mui/material/Tab'\nimport Tabs from '@mui/material/Tabs'\n\nimport { useGlobalCopyStore, TabContentContainer, useFinstrongStore, Loader } from '../../../common'\nimport { EmptyState } from '../../../common/components/EmptyState'\nimport IncomeTabContent from './IncomeTabContent'\nimport DebtPaymentTabContent from './DebtPaymentTabContent'\nimport DoubleBarChart from '../shared/DoubleBarChart'\nimport LineGraph from '../shared/LineGraph'\n\nconst HaveManagebleDebtComponent: React.FC = () => {\n const { isIncomeInitialized, loadDebtSpend, loadIncome, monthlySummaries } = useFinstrongStore()\n\n const [tabValue, setTabValue] = React.useState(0)\n const { finstrong: copy } = useGlobalCopyStore()\n\n React.useEffect(() => {\n if (!isIncomeInitialized) {\n loadDebtSpend().finally()\n loadIncome().finally()\n }\n }, [isIncomeInitialized])\n\n if (!isIncomeInitialized) return <Loader />\n\n const hasBarChartData = monthlySummaries.some(\n (eachItem) => eachItem.debt_spend !== 0 || eachItem.income !== 0,\n )\n\n return (\n <>\n <Card>\n <Tabs\n aria-label={copy.key_indicators_save.drawer_title}\n centered={true}\n onChange={(_, val) => setTabValue(val)}\n selectionFollowsFocus={true}\n sx={{ mb: 0 }}\n value={tabValue}\n variant=\"fullWidth\"\n >\n <Tab\n aria-controls=\"income-details-tabpanel-0\"\n id=\"income-details-tab-0\"\n label={copy.key_indicators_borrow.have_manageable_debt_drawer.income}\n sx={{ minHeight: 44 }}\n />\n <Tab\n aria-controls=\"debt-payment-details-tabpanel-1\"\n id=\"debt-payment-details-tab-1\"\n label={copy.key_indicators_borrow.have_manageable_debt_drawer.debt_payment}\n sx={{ minHeight: 44 }}\n />\n </Tabs>\n\n <TabContentContainer\n aria-labelledby=\"income-details-tab-0\"\n index={0}\n name=\"income-details\"\n value={tabValue}\n >\n <IncomeTabContent />\n </TabContentContainer>\n\n <TabContentContainer\n aria-labelledby=\"debt-payment-details-tab-1\"\n index={1}\n name=\"debt-payment-details\"\n value={tabValue}\n >\n <DebtPaymentTabContent />\n </TabContentContainer>\n </Card>\n\n {hasBarChartData ? (\n <>\n <DoubleBarChart\n chartFor=\"debt_payment_vs_income\"\n data={monthlySummaries}\n legendLabelComparison={\n copy.key_indicators_borrow.have_manageable_debt_drawer.debt_payment\n }\n legendLabelMain={copy.key_indicators_borrow.have_manageable_debt_drawer.income}\n title={copy.key_indicators_borrow.have_manageable_debt_drawer.debt_payment}\n />\n </>\n ) : (\n <EmptyState\n header={\n copy.key_indicators_borrow.have_manageable_debt_drawer\n .have_manageable_debt_double_bar_chart_empty_state_header\n }\n icon=\"multiline_chart\"\n subText={\n copy.key_indicators_borrow.have_manageable_debt_drawer\n .have_manageable_debt_double_bar_chart_empty_state_description\n }\n sx={{\n backgroundColor: 'background.paper',\n borderRadius: '8px',\n boxShadow: 1,\n p: 24,\n pb: 48,\n '.empty-state-subtext': {\n fontSize: 15,\n lineHeight: '24px',\n mt: 8,\n },\n }}\n />\n )}\n <LineGraph chartFor=\"debtOverTime\" />\n </>\n )\n}\n\nexport default observer(HaveManagebleDebtComponent)\n"],"mappings":";;;;;;;;;;;;;;AAcA,IAAM,IAAA,MAA6C;AACjD,QAAM,EAAE,qBAAA,GAAqB,eAAA,GAAe,YAAA,GAAY,kBAAA,EAAA,IAAqB,EAAkB,GAEzF,CAAC,GAAU,CAAA,IAAe,EAAM,SAAS,CAAC,GAC1C,EAAE,WAAW,EAAA,IAAS,EAAmB;AAS/C,MAPA,EAAM,UAAA,MAAgB;AACpB,IAAK,MACH,EAAc,EAAE,QAAQ,GACxB,EAAW,EAAE,QAAQ;AAAA,EAEzB,GAAG,CAAC,CAAmB,CAAC,GAEpB,CAAC,EAAqB,QAAO,gBAAA,EAAC,GAAD,CAAS,CAAA;AAE1C,QAAM,IAAkB,EAAiB,KAAA,CACtC,MAAa,EAAS,eAAe,KAAK,EAAS,WAAW,CACjE;AAEA,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD,EAAA,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QACE,cAAY,EAAK,oBAAoB;AAAA,QACrC,UAAU;AAAA,QACV,UAAA,CAAW,GAAG,MAAQ,EAAY,CAAG;AAAA,QACrC,uBAAuB;AAAA,QACvB,IAAI,EAAE,IAAI,EAAE;AAAA,QACZ,OAAO;AAAA,QACP,SAAQ;AAAA,QAPV,UAAA,CASE,gBAAA,EAAC,GAAD;AAAA,UACE,iBAAc;AAAA,UACd,IAAG;AAAA,UACH,OAAO,EAAK,sBAAsB,4BAA4B;AAAA,UAC9D,IAAI,EAAE,WAAW,GAAG;AAAA,QACrB,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,UACE,iBAAc;AAAA,UACd,IAAG;AAAA,UACH,OAAO,EAAK,sBAAsB,4BAA4B;AAAA,UAC9D,IAAI,EAAE,WAAW,GAAG;AAAA,QACrB,CAAA,CACG;AAAA;MAEN,gBAAA,EAAC,GAAD;AAAA,QACE,mBAAgB;AAAA,QAChB,OAAO;AAAA,QACP,MAAK;AAAA,QACL,OAAO;AAAA,QAEP,UAAA,gBAAA,EAAC,GAAD,CAAmB,CAAA;AAAA,MACA,CAAA;AAAA,MAErB,gBAAA,EAAC,GAAD;AAAA,QACE,mBAAgB;AAAA,QAChB,OAAO;AAAA,QACP,MAAK;AAAA,QACL,OAAO;AAAA,QAEP,UAAA,gBAAA,EAAC,GAAD,CAAwB,CAAA;AAAA,MACL,CAAA;AAAA,IACjB,EAAA,CAAA;AAAA,IAEL,IACC,gBAAA,EAAA,GAAA,EAAA,UACE,gBAAA,EAAC,GAAD;AAAA,MACE,UAAS;AAAA,MACT,MAAM;AAAA,MACN,uBACE,EAAK,sBAAsB,4BAA4B;AAAA,MAEzD,iBAAiB,EAAK,sBAAsB,4BAA4B;AAAA,MACxE,OAAO,EAAK,sBAAsB,4BAA4B;AAAA,IAC/D,CAAA,EACD,CAAA,IAEF,gBAAA,EAAC,GAAD;AAAA,MACE,QACE,EAAK,sBAAsB,4BACxB;AAAA,MAEL,MAAK;AAAA,MACL,SACE,EAAK,sBAAsB,4BACxB;AAAA,MAEL,IAAI;AAAA,QACF,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,WAAW;AAAA,QACX,GAAG;AAAA,QACH,IAAI;AAAA,QACJ,wBAAwB;AAAA,UACtB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,IAAI;AAAA,QACN;AAAA,MACF;AAAA,IACD,CAAA;AAAA,IAEH,gBAAA,EAAC,GAAD,EAAW,UAAS,eAAgB,CAAA;AAAA,EACpC,EAAA,CAAA;AAEN,GAEA,IAAe,EAAS,CAA0B"}
@@ -1 +1 @@
1
- {"version":3,"file":"HaveManageableDebtProgressBar.es.js","names":[],"sources":["../../../../src/finstrong/components/HaveManageableDebt/HaveManageableDebtProgressBar.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'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useFinstrongStore, useGlobalCopyStore } from '../../../common'\nimport ProgressBar from '../ProgressBar'\nimport { getManageDebtRatioState, getPercentFromRatio } from '../../util/finstrongUtils'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\nconst HaveManageableDebtProgressBar = () => {\n const { healthScore } = useFinstrongStore()\n const { finstrong: copy } = useGlobalCopyStore()\n\n const debtPercentage = getPercentFromRatio(healthScore.debt_to_income_ratio)\n\n const cardStatus = getManageDebtRatioState(debtPercentage)\n\n return (\n <ProgressBar\n bottomComponent={\n <Stack\n sx={{\n alignItems: 'flex-end',\n flexDirection: 'row',\n height: 24,\n justifyContent: 'space-between',\n mt: 2,\n position: 'relative',\n }}\n >\n {/* 30% tick mark and label positioned at 30% */}\n <Box\n sx={{\n left: '30%',\n position: 'absolute',\n transform: 'translateX(-50%)',\n }}\n >\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'column',\n height: 24,\n justifyContent: 'flex-end',\n }}\n >\n <Divider\n orientation=\"vertical\"\n sx={{\n borderWidth: 1,\n height: 8,\n }}\n />\n <Text sx={{ color: 'text.primary' }} variant=\"caption\">\n 30%\n </Text>\n </Stack>\n </Box>\n {/* Debt percentage positioned at the right end */}\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n height: 24,\n justifyContent: 'center',\n marginLeft: 'auto',\n }}\n >\n <Text variant=\"body2\">\n {healthScore.debt_to_income_ratio\n ? (buildDynamicCopy(\n copy.key_indicators_borrow.have_manageable_debt_drawer\n .have_manageable_debt_sticky_description,\n debtPercentage,\n ) as string)\n : '-'}\n </Text>\n </Box>\n </Stack>\n }\n label={\n copy.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_sticky_title\n }\n status={cardStatus}\n statusBarData={[\n {\n percentage: `${debtPercentage}%`,\n },\n ]}\n value={formatCurrency(healthScore.ninety_day_debt_spend, '0,0.00')}\n />\n )\n}\n\nexport default observer(HaveManageableDebtProgressBar)\n"],"mappings":";;;;;;;;;;;AAcA,IAAM,IAAA,MAAsC;AAC1C,QAAM,EAAE,aAAA,EAAA,IAAgB,EAAkB,GACpC,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,IAAiB,EAAoB,EAAY,oBAAoB,GAErE,IAAa,EAAwB,CAAc;AAEzD,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,iBACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,IAAI;AAAA,QACJ,UAAU;AAAA,MACZ;AAAA,gBARF,CAWE,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,WAAW;AAAA,QACb;AAAA,kBAEA,gBAAA,EAAC,GAAD;AAAA,UACE,IAAI;AAAA,YACF,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,QAAQ;AAAA,YACR,gBAAgB;AAAA,UAClB;AAAA,oBANF,CAQE,gBAAA,EAAC,GAAD;AAAA,YACE,aAAY;AAAA,YACZ,IAAI;AAAA,cACF,aAAa;AAAA,cACb,QAAQ;AAAA,YACV;AAAA,UACD,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,YAAM,IAAI,EAAE,OAAO,eAAe;AAAA,YAAG,SAAQ;AAAA,sBAAU;AAAA,UAEjD,CAAA,CACD;AAAA;MACJ,CAAA,GAEL,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,SAAS;AAAA,UACT,eAAe;AAAA,UACf,QAAQ;AAAA,UACR,gBAAgB;AAAA,UAChB,YAAY;AAAA,QACd;AAAA,kBAEA,gBAAA,EAAC,GAAD;AAAA,UAAM,SAAQ;AAAA,oBACX,EAAY,uBACR,EACC,EAAK,sBAAsB,4BACxB,yCACH,CACF,IACA;AAAA,QACA,CAAA;AAAA,MACH,CAAA,CACA;AAAA;IAET,OACE,EAAK,sBAAsB,4BAA4B;AAAA,IAEzD,QAAQ;AAAA,IACR,eAAe,CACb,EACE,YAAY,GAAG,CAAA,IACjB,CACF;AAAA,IACA,OAAO,EAAe,EAAY,uBAAuB,QAAQ;AAAA,EAClE,CAAA;AAEL,GAEA,IAAe,EAAS,CAA6B"}
1
+ {"version":3,"file":"HaveManageableDebtProgressBar.es.js","names":[],"sources":["../../../../src/finstrong/components/HaveManageableDebt/HaveManageableDebtProgressBar.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'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useFinstrongStore, useGlobalCopyStore } from '../../../common'\nimport ProgressBar from '../ProgressBar'\nimport { getManageDebtRatioState, getPercentFromRatio } from '../../util/finstrongUtils'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\nconst HaveManageableDebtProgressBar = () => {\n const { healthScore } = useFinstrongStore()\n const { finstrong: copy } = useGlobalCopyStore()\n\n const debtPercentage = getPercentFromRatio(healthScore.debt_to_income_ratio)\n\n const cardStatus = getManageDebtRatioState(debtPercentage)\n\n return (\n <ProgressBar\n bottomComponent={\n <Stack\n sx={{\n alignItems: 'flex-end',\n flexDirection: 'row',\n height: 24,\n justifyContent: 'space-between',\n mt: 2,\n position: 'relative',\n }}\n >\n {/* 30% tick mark and label positioned at 30% */}\n <Box\n sx={{\n left: '30%',\n position: 'absolute',\n transform: 'translateX(-50%)',\n }}\n >\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'column',\n height: 24,\n justifyContent: 'flex-end',\n }}\n >\n <Divider\n orientation=\"vertical\"\n sx={{\n borderWidth: 1,\n height: 8,\n }}\n />\n <Text sx={{ color: 'text.primary' }} variant=\"caption\">\n 30%\n </Text>\n </Stack>\n </Box>\n {/* Debt percentage positioned at the right end */}\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n height: 24,\n justifyContent: 'center',\n marginLeft: 'auto',\n }}\n >\n <Text variant=\"body2\">\n {healthScore.debt_to_income_ratio\n ? (buildDynamicCopy(\n copy.key_indicators_borrow.have_manageable_debt_drawer\n .have_manageable_debt_sticky_description,\n debtPercentage,\n ) as string)\n : '-'}\n </Text>\n </Box>\n </Stack>\n }\n label={\n copy.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_sticky_title\n }\n status={cardStatus}\n statusBarData={[\n {\n percentage: `${debtPercentage}%`,\n },\n ]}\n value={formatCurrency(healthScore.ninety_day_debt_spend, '0,0.00')}\n />\n )\n}\n\nexport default observer(HaveManageableDebtProgressBar)\n"],"mappings":";;;;;;;;;;;AAcA,IAAM,IAAA,MAAsC;AAC1C,QAAM,EAAE,aAAA,EAAA,IAAgB,EAAkB,GACpC,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,IAAiB,EAAoB,EAAY,oBAAoB,GAErE,IAAa,EAAwB,CAAc;AAEzD,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,iBACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,IAAI;AAAA,QACJ,UAAU;AAAA,MACZ;AAAA,MARF,UAAA,CAWE,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,WAAW;AAAA,QACb;AAAA,QAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,UACE,IAAI;AAAA,YACF,YAAY;AAAA,YACZ,eAAe;AAAA,YACf,QAAQ;AAAA,YACR,gBAAgB;AAAA,UAClB;AAAA,UANF,UAAA,CAQE,gBAAA,EAAC,GAAD;AAAA,YACE,aAAY;AAAA,YACZ,IAAI;AAAA,cACF,aAAa;AAAA,cACb,QAAQ;AAAA,YACV;AAAA,UACD,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,YAAM,IAAI,EAAE,OAAO,eAAe;AAAA,YAAG,SAAQ;AAAA,YAAU,UAAA;AAAA,UAEjD,CAAA,CACD;AAAA;MACJ,CAAA,GAEL,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,SAAS;AAAA,UACT,eAAe;AAAA,UACf,QAAQ;AAAA,UACR,gBAAgB;AAAA,UAChB,YAAY;AAAA,QACd;AAAA,QAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,UAAM,SAAQ;AAAA,UACX,UAAA,EAAY,uBACR,EACC,EAAK,sBAAsB,4BACxB,yCACH,CACF,IACA;AAAA,QACA,CAAA;AAAA,MACH,CAAA,CACA;AAAA;IAET,OACE,EAAK,sBAAsB,4BAA4B;AAAA,IAEzD,QAAQ;AAAA,IACR,eAAe,CACb,EACE,YAAY,GAAG,CAAA,IACjB,CACF;AAAA,IACA,OAAO,EAAe,EAAY,uBAAuB,QAAQ;AAAA,EAClE,CAAA;AAEL,GAEA,IAAe,EAAS,CAA6B"}
@@ -1 +1 @@
1
- {"version":3,"file":"IncomeTabContent.es.js","names":[],"sources":["../../../../src/finstrong/components/HaveManageableDebt/IncomeTabContent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\nimport { ConnectDrawer, useFinstrongStore, useGlobalCopyStore } from '../../../common'\nimport TotalCard from '../shared/TotalCard'\nimport Transactions from '../shared/Transactions'\n\nconst IncomeTabContent: React.FC = () => {\n const { healthScore, allTransactions } = useFinstrongStore()\n const { connect: connectCopy, finstrong: copy } = useGlobalCopyStore()\n const [showConnectWidget, setShowConnectWidget] = React.useState(false)\n\n return (\n <Stack gap={16} sx={{ p: 16 }}>\n <TotalCard\n balance={healthScore.ninety_day_income}\n sx={{ flexDirection: 'column-reverse' }}\n title={copy.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_income}\n />\n\n {allTransactions.income.length ? (\n // TODO: Need to add More Transactions functionality\n <Transactions transactions={allTransactions.income.map((item) => item.transaction)} />\n ) : (\n <Button\n onClick={() => {\n setShowConnectWidget(true)\n }}\n variant=\"contained\"\n >\n {copy.connect_more_accounts_button}\n </Button>\n )}\n\n <ConnectDrawer\n onClose={() => setShowConnectWidget(false)}\n showConnectWidget={showConnectWidget}\n title={connectCopy.mini_title}\n />\n </Stack>\n )\n}\n\nexport default observer(IncomeTabContent)\n"],"mappings":";;;;;;;;;AAUA,IAAM,IAAA,MAAmC;AACvC,QAAM,EAAE,aAAA,GAAa,iBAAA,EAAA,IAAoB,EAAkB,GACrD,EAAE,SAAS,GAAa,WAAW,EAAA,IAAS,EAAmB,GAC/D,CAAC,GAAmB,CAAA,IAAwB,EAAM,SAAS,EAAK;AAEtE,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,KAAK;AAAA,IAAI,IAAI,EAAE,GAAG,GAAG;AAAA,cAA5B;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QACE,SAAS,EAAY;AAAA,QACrB,IAAI,EAAE,eAAe,iBAAiB;AAAA,QACtC,OAAO,EAAK,sBAAsB,4BAA4B;AAAA,MAC/D,CAAA;AAAA,MAEA,EAAgB,OAAO,SAEtB,gBAAA,EAAC,GAAD,EAAc,cAAc,EAAgB,OAAO,IAAA,CAAK,MAAS,EAAK,WAAW,EAAI,CAAA,IAErF,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe;AACb,UAAA,EAAqB,EAAI;AAAA,QAC3B;AAAA,QACA,SAAQ;AAAA,kBAEP,EAAK;AAAA,MACA,CAAA;AAAA,MAGV,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe,EAAqB,EAAK;AAAA,QACtB,mBAAA;AAAA,QACnB,OAAO,EAAY;AAAA,MACpB,CAAA;AAAA,IACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAgB"}
1
+ {"version":3,"file":"IncomeTabContent.es.js","names":[],"sources":["../../../../src/finstrong/components/HaveManageableDebt/IncomeTabContent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\nimport { ConnectDrawer, useFinstrongStore, useGlobalCopyStore } from '../../../common'\nimport TotalCard from '../shared/TotalCard'\nimport Transactions from '../shared/Transactions'\n\nconst IncomeTabContent: React.FC = () => {\n const { healthScore, allTransactions } = useFinstrongStore()\n const { connect: connectCopy, finstrong: copy } = useGlobalCopyStore()\n const [showConnectWidget, setShowConnectWidget] = React.useState(false)\n\n return (\n <Stack gap={16} sx={{ p: 16 }}>\n <TotalCard\n balance={healthScore.ninety_day_income}\n sx={{ flexDirection: 'column-reverse' }}\n title={copy.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_income}\n />\n\n {allTransactions.income.length ? (\n // TODO: Need to add More Transactions functionality\n <Transactions transactions={allTransactions.income.map((item) => item.transaction)} />\n ) : (\n <Button\n onClick={() => {\n setShowConnectWidget(true)\n }}\n variant=\"contained\"\n >\n {copy.connect_more_accounts_button}\n </Button>\n )}\n\n <ConnectDrawer\n onClose={() => setShowConnectWidget(false)}\n showConnectWidget={showConnectWidget}\n title={connectCopy.mini_title}\n />\n </Stack>\n )\n}\n\nexport default observer(IncomeTabContent)\n"],"mappings":";;;;;;;;;AAUA,IAAM,IAAA,MAAmC;AACvC,QAAM,EAAE,aAAA,GAAa,iBAAA,EAAA,IAAoB,EAAkB,GACrD,EAAE,SAAS,GAAa,WAAW,EAAA,IAAS,EAAmB,GAC/D,CAAC,GAAmB,CAAA,IAAwB,EAAM,SAAS,EAAK;AAEtE,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,KAAK;AAAA,IAAI,IAAI,EAAE,GAAG,GAAG;AAAA,IAA5B,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QACE,SAAS,EAAY;AAAA,QACrB,IAAI,EAAE,eAAe,iBAAiB;AAAA,QACtC,OAAO,EAAK,sBAAsB,4BAA4B;AAAA,MAC/D,CAAA;AAAA,MAEA,EAAgB,OAAO,SAEtB,gBAAA,EAAC,GAAD,EAAc,cAAc,EAAgB,OAAO,IAAA,CAAK,MAAS,EAAK,WAAW,EAAI,CAAA,IAErF,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe;AACb,UAAA,EAAqB,EAAI;AAAA,QAC3B;AAAA,QACA,SAAQ;AAAA,QAEP,UAAA,EAAK;AAAA,MACA,CAAA;AAAA,MAGV,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe,EAAqB,EAAK;AAAA,QACtB,mBAAA;AAAA,QACnB,OAAO,EAAY;AAAA,MACpB,CAAA;AAAA,IACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"HealthChart.es.js","names":[],"sources":["../../../src/finstrong/components/HealthChart.tsx"],"sourcesContent":["import Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { P, Text } from '@mxenabled/mxui'\n\nimport { type FinstrongCopy } from '../../core'\n\ninterface HealthChartProps {\n copy: FinstrongCopy\n}\n\nconst HealthChart = ({ copy }: HealthChartProps) => {\n const theme = useTheme()\n\n const gradientColors = [\n theme.palette.chartMono.chartMono5,\n theme.palette.chartMono.chartMono4,\n theme.palette.chartMono.chartMono3,\n theme.palette.chartMono.chartMono2,\n ]\n return (\n <Stack sx={{ gap: 8 }}>\n <Stack sx={{ flexDirection: 'row', gap: 8, px: 2 }}>\n {[\n { color: 'chartMono.chartMono2', text: copy.vulnerable, value: '0-25' },\n { color: 'chartMono.chartMono3', text: copy.building, value: '26-50' },\n { color: 'chartMono.chartMono4', text: copy.stable, value: '51-75' },\n { color: 'chartMono.chartMono5', text: copy.strong, value: '76-100' },\n ].map(({ color, text, value }) => (\n <Stack key={text} sx={{ gap: 4, textAlign: 'center', width: '100%' }}>\n <Box>\n <P sx={{ fontWeight: 700, textTransform: 'uppercase' }} variant=\"caption\">\n {text}\n </P>\n <Text sx={{ color: 'text.secondary' }} variant=\"caption\">\n ({value})\n </Text>\n </Box>\n <Box sx={{ border: '2px solid', borderColor: color, borderRadius: '3px' }} />\n </Stack>\n ))}\n </Stack>\n <Box>\n <Box\n sx={{\n background: `linear-gradient(to left, ${gradientColors.join(', ')})`,\n borderRadius: '4px',\n height: 16,\n }}\n />\n <Stack sx={{ flexDirection: 'row', justifyContent: 'space-between' }}>\n {[0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100].map((value) => (\n <Stack\n key={value}\n sx={{ alignItems: 'center', height: 20, justifyContent: 'space-between', width: 24 }}\n >\n <Box\n sx={{\n borderBottom: '1px solid',\n borderColor: 'divider',\n position: 'relative',\n rotate: '90deg',\n top: 3.5,\n width: 8,\n }}\n />\n <Text sx={{ color: 'text.secondary' }} variant=\"tiny\">\n {value}\n </Text>\n </Stack>\n ))}\n </Stack>\n </Box>\n </Stack>\n )\n}\n\nexport default HealthChart\n"],"mappings":"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"}
1
+ {"version":3,"file":"HealthChart.es.js","names":[],"sources":["../../../src/finstrong/components/HealthChart.tsx"],"sourcesContent":["import Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { P, Text } from '@mxenabled/mxui'\n\nimport { type FinstrongCopy } from '../../core'\n\ninterface HealthChartProps {\n copy: FinstrongCopy\n}\n\nconst HealthChart = ({ copy }: HealthChartProps) => {\n const theme = useTheme()\n\n const gradientColors = [\n theme.palette.chartMono.chartMono5,\n theme.palette.chartMono.chartMono4,\n theme.palette.chartMono.chartMono3,\n theme.palette.chartMono.chartMono2,\n ]\n return (\n <Stack sx={{ gap: 8 }}>\n <Stack sx={{ flexDirection: 'row', gap: 8, px: 2 }}>\n {[\n { color: 'chartMono.chartMono2', text: copy.vulnerable, value: '0-25' },\n { color: 'chartMono.chartMono3', text: copy.building, value: '26-50' },\n { color: 'chartMono.chartMono4', text: copy.stable, value: '51-75' },\n { color: 'chartMono.chartMono5', text: copy.strong, value: '76-100' },\n ].map(({ color, text, value }) => (\n <Stack key={text} sx={{ gap: 4, textAlign: 'center', width: '100%' }}>\n <Box>\n <P sx={{ fontWeight: 700, textTransform: 'uppercase' }} variant=\"caption\">\n {text}\n </P>\n <Text sx={{ color: 'text.secondary' }} variant=\"caption\">\n ({value})\n </Text>\n </Box>\n <Box sx={{ border: '2px solid', borderColor: color, borderRadius: '3px' }} />\n </Stack>\n ))}\n </Stack>\n <Box>\n <Box\n sx={{\n background: `linear-gradient(to left, ${gradientColors.join(', ')})`,\n borderRadius: '4px',\n height: 16,\n }}\n />\n <Stack sx={{ flexDirection: 'row', justifyContent: 'space-between' }}>\n {[0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100].map((value) => (\n <Stack\n key={value}\n sx={{ alignItems: 'center', height: 20, justifyContent: 'space-between', width: 24 }}\n >\n <Box\n sx={{\n borderBottom: '1px solid',\n borderColor: 'divider',\n position: 'relative',\n rotate: '90deg',\n top: 3.5,\n width: 8,\n }}\n />\n <Text sx={{ color: 'text.secondary' }} variant=\"tiny\">\n {value}\n </Text>\n </Stack>\n ))}\n </Stack>\n </Box>\n </Stack>\n )\n}\n\nexport default HealthChart\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyIndicatorsBorrowTab.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsBorrowTab.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { useFinstrongStore, useGlobalCopyStore, useUserStore } from '../../common'\nimport { KeyIndicatorsTabItemType } from '../constants'\nimport { getCreditScoreState, getManageDebtRatioState } from '../util/finstrongUtils'\n\nimport KeyIndicatorsTabsItem from './KeyIndicatorsTabItem'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\nconst KeyIndicatorsBorrowTab: React.FC = () => {\n const { healthScore } = useFinstrongStore()\n const { finstrong: copyContent } = useGlobalCopyStore()\n const { key_indicators_borrow: borrowCopy } = copyContent\n const { user } = useUserStore()\n\n const getManageDebtRatioStatus = (ratio: number | null) => {\n const state = getManageDebtRatioState(ratio)\n\n const cardStatusMapping = {\n GOOD: borrowCopy.manage_debit_good_description,\n FAIR: borrowCopy.manage_debit_fair_description,\n OFF_TRACK: borrowCopy.manage_debit_off_track_description,\n MISSING: borrowCopy.manage_debit_missing_description,\n }\n\n const description =\n state === 'FAIR' || state === 'OFF_TRACK'\n ? (buildDynamicCopy(cardStatusMapping[state], ratio) as string)\n : cardStatusMapping[state]\n\n return {\n cardState: state,\n description,\n title: borrowCopy.manage_debit_title,\n }\n }\n\n const getCreditScoreStatus = (score: number | null) => {\n const state = getCreditScoreState(score)\n\n const cardStatusMapping = {\n GOOD: borrowCopy.credit_score_good_description,\n FAIR: borrowCopy.credit_score_fair_description,\n OFF_TRACK: borrowCopy.credit_score_off_track_description,\n MISSING: borrowCopy.credit_score_missing_description,\n } as const\n\n const description =\n state === 'MISSING'\n ? cardStatusMapping[state]\n : (buildDynamicCopy(cardStatusMapping[state], score) as string)\n\n return {\n cardState: state,\n description,\n title: borrowCopy.credit_score_title,\n }\n }\n\n const { manageDebtStatus, creditScoreStatus } = React.useMemo(() => {\n const convertedDebtToIncomeRatio =\n healthScore.debt_to_income_ratio !== null\n ? Math.round(healthScore.debt_to_income_ratio * 100)\n : null\n const manageDebtStatus = getManageDebtRatioStatus(convertedDebtToIncomeRatio)\n const creditScoreStatus = getCreditScoreStatus(user.credit_score || null)\n\n return {\n manageDebtStatus,\n creditScoreStatus,\n }\n }, [healthScore.debt_to_income_ratio, user.credit_score, borrowCopy, copyContent])\n\n return (\n <Stack direction=\"column\" gap={24} sx={{ p: 8, pt: 24 }}>\n <KeyIndicatorsTabsItem\n cardState={manageDebtStatus.cardState}\n description={manageDebtStatus.description}\n drawerFor={KeyIndicatorsTabItemType.HaveManageableDebt}\n title={manageDebtStatus.title}\n />\n <KeyIndicatorsTabsItem\n cardState={creditScoreStatus.cardState}\n description={creditScoreStatus.description}\n drawerFor={KeyIndicatorsTabItemType.HaveAGoodCreditScore}\n title={creditScoreStatus.title}\n />\n </Stack>\n )\n}\n\nexport default observer(KeyIndicatorsBorrowTab)\n"],"mappings":";;;;;;;;;AAYA,IAAM,IAAA,MAAyC;AAC7C,QAAM,EAAE,aAAA,EAAA,IAAgB,EAAkB,GACpC,EAAE,WAAW,EAAA,IAAgB,EAAmB,GAChD,EAAE,uBAAuB,EAAA,IAAe,GACxC,EAAE,MAAA,EAAA,IAAS,EAAa,GAExB,IAAA,CAA4B,MAAyB;AACzD,UAAM,IAAQ,EAAwB,CAAK,GAErC,IAAoB;AAAA,MACxB,MAAM,EAAW;AAAA,MACjB,MAAM,EAAW;AAAA,MACjB,WAAW,EAAW;AAAA,MACtB,SAAS,EAAW;AAAA,IACtB;AAOA,WAAO;AAAA,MACL,WAAW;AAAA,MACX,aANA,MAAU,UAAU,MAAU,cACzB,EAAiB,EAAkB,CAAA,GAAQ,CAAK,IACjD,EAAkB,CAAA;AAAA,MAKtB,OAAO,EAAW;AAAA,IACpB;AAAA,EACF,GAEM,IAAA,CAAwB,MAAyB;AACrD,UAAM,IAAQ,EAAoB,CAAK,GAEjC,IAAoB;AAAA,MACxB,MAAM,EAAW;AAAA,MACjB,MAAM,EAAW;AAAA,MACjB,WAAW,EAAW;AAAA,MACtB,SAAS,EAAW;AAAA,IACtB;AAOA,WAAO;AAAA,MACL,WAAW;AAAA,MACX,aANA,MAAU,YACN,EAAkB,CAAA,IACjB,EAAiB,EAAkB,CAAA,GAAQ,CAAK;AAAA,MAKrD,OAAO,EAAW;AAAA,IACpB;AAAA,EACF,GAEM,EAAE,kBAAA,GAAkB,mBAAA,EAAA,IAAsB,EAAM,QAAA,MAAc;AAClE,UAAM,IACJ,EAAY,yBAAyB,OACjC,KAAK,MAAM,EAAY,uBAAuB,GAAG,IACjD;AAIN,WAAO;AAAA,MACL,kBAJuB,EAAyB,CAIhD;AAAA,MACA,mBAJwB,EAAqB,EAAK,gBAAgB,IAIlE;AAAA,IACF;AAAA,EACF,GAAG;AAAA,IAAC,EAAY;AAAA,IAAsB,EAAK;AAAA,IAAc;AAAA,IAAY;AAAA,EAAW,CAAC;AAEjF,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,WAAU;AAAA,IAAS,KAAK;AAAA,IAAI,IAAI;AAAA,MAAE,GAAG;AAAA,MAAG,IAAI;AAAA,IAAG;AAAA,cAAtD,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,EAAiB;AAAA,MAC5B,aAAa,EAAiB;AAAA,MAC9B,WAAW,EAAyB;AAAA,MACpC,OAAO,EAAiB;AAAA,IACzB,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,EAAkB;AAAA,MAC7B,aAAa,EAAkB;AAAA,MAC/B,WAAW,EAAyB;AAAA,MACpC,OAAO,EAAkB;AAAA,IAC1B,CAAA,CACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAsB"}
1
+ {"version":3,"file":"KeyIndicatorsBorrowTab.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsBorrowTab.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { useFinstrongStore, useGlobalCopyStore, useUserStore } from '../../common'\nimport { KeyIndicatorsTabItemType } from '../constants'\nimport { getCreditScoreState, getManageDebtRatioState } from '../util/finstrongUtils'\n\nimport KeyIndicatorsTabsItem from './KeyIndicatorsTabItem'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\nconst KeyIndicatorsBorrowTab: React.FC = () => {\n const { healthScore } = useFinstrongStore()\n const { finstrong: copyContent } = useGlobalCopyStore()\n const { key_indicators_borrow: borrowCopy } = copyContent\n const { user } = useUserStore()\n\n const getManageDebtRatioStatus = (ratio: number | null) => {\n const state = getManageDebtRatioState(ratio)\n\n const cardStatusMapping = {\n GOOD: borrowCopy.manage_debit_good_description,\n FAIR: borrowCopy.manage_debit_fair_description,\n OFF_TRACK: borrowCopy.manage_debit_off_track_description,\n MISSING: borrowCopy.manage_debit_missing_description,\n }\n\n const description =\n state === 'FAIR' || state === 'OFF_TRACK'\n ? (buildDynamicCopy(cardStatusMapping[state], ratio) as string)\n : cardStatusMapping[state]\n\n return {\n cardState: state,\n description,\n title: borrowCopy.manage_debit_title,\n }\n }\n\n const getCreditScoreStatus = (score: number | null) => {\n const state = getCreditScoreState(score)\n\n const cardStatusMapping = {\n GOOD: borrowCopy.credit_score_good_description,\n FAIR: borrowCopy.credit_score_fair_description,\n OFF_TRACK: borrowCopy.credit_score_off_track_description,\n MISSING: borrowCopy.credit_score_missing_description,\n } as const\n\n const description =\n state === 'MISSING'\n ? cardStatusMapping[state]\n : (buildDynamicCopy(cardStatusMapping[state], score) as string)\n\n return {\n cardState: state,\n description,\n title: borrowCopy.credit_score_title,\n }\n }\n\n const { manageDebtStatus, creditScoreStatus } = React.useMemo(() => {\n const convertedDebtToIncomeRatio =\n healthScore.debt_to_income_ratio !== null\n ? Math.round(healthScore.debt_to_income_ratio * 100)\n : null\n const manageDebtStatus = getManageDebtRatioStatus(convertedDebtToIncomeRatio)\n const creditScoreStatus = getCreditScoreStatus(user.credit_score || null)\n\n return {\n manageDebtStatus,\n creditScoreStatus,\n }\n }, [healthScore.debt_to_income_ratio, user.credit_score, borrowCopy, copyContent])\n\n return (\n <Stack direction=\"column\" gap={24} sx={{ p: 8, pt: 24 }}>\n <KeyIndicatorsTabsItem\n cardState={manageDebtStatus.cardState}\n description={manageDebtStatus.description}\n drawerFor={KeyIndicatorsTabItemType.HaveManageableDebt}\n title={manageDebtStatus.title}\n />\n <KeyIndicatorsTabsItem\n cardState={creditScoreStatus.cardState}\n description={creditScoreStatus.description}\n drawerFor={KeyIndicatorsTabItemType.HaveAGoodCreditScore}\n title={creditScoreStatus.title}\n />\n </Stack>\n )\n}\n\nexport default observer(KeyIndicatorsBorrowTab)\n"],"mappings":";;;;;;;;;AAYA,IAAM,IAAA,MAAyC;AAC7C,QAAM,EAAE,aAAA,EAAA,IAAgB,EAAkB,GACpC,EAAE,WAAW,EAAA,IAAgB,EAAmB,GAChD,EAAE,uBAAuB,EAAA,IAAe,GACxC,EAAE,MAAA,EAAA,IAAS,EAAa,GAExB,IAAA,CAA4B,MAAyB;AACzD,UAAM,IAAQ,EAAwB,CAAK,GAErC,IAAoB;AAAA,MACxB,MAAM,EAAW;AAAA,MACjB,MAAM,EAAW;AAAA,MACjB,WAAW,EAAW;AAAA,MACtB,SAAS,EAAW;AAAA,IACtB;AAOA,WAAO;AAAA,MACL,WAAW;AAAA,MACX,aANA,MAAU,UAAU,MAAU,cACzB,EAAiB,EAAkB,CAAA,GAAQ,CAAK,IACjD,EAAkB,CAAA;AAAA,MAKtB,OAAO,EAAW;AAAA,IACpB;AAAA,EACF,GAEM,IAAA,CAAwB,MAAyB;AACrD,UAAM,IAAQ,EAAoB,CAAK,GAEjC,IAAoB;AAAA,MACxB,MAAM,EAAW;AAAA,MACjB,MAAM,EAAW;AAAA,MACjB,WAAW,EAAW;AAAA,MACtB,SAAS,EAAW;AAAA,IACtB;AAOA,WAAO;AAAA,MACL,WAAW;AAAA,MACX,aANA,MAAU,YACN,EAAkB,CAAA,IACjB,EAAiB,EAAkB,CAAA,GAAQ,CAAK;AAAA,MAKrD,OAAO,EAAW;AAAA,IACpB;AAAA,EACF,GAEM,EAAE,kBAAA,GAAkB,mBAAA,EAAA,IAAsB,EAAM,QAAA,MAAc;AAClE,UAAM,IACJ,EAAY,yBAAyB,OACjC,KAAK,MAAM,EAAY,uBAAuB,GAAG,IACjD;AAIN,WAAO;AAAA,MACL,kBAJuB,EAAyB,CAIhD;AAAA,MACA,mBAJwB,EAAqB,EAAK,gBAAgB,IAIlE;AAAA,IACF;AAAA,EACF,GAAG;AAAA,IAAC,EAAY;AAAA,IAAsB,EAAK;AAAA,IAAc;AAAA,IAAY;AAAA,EAAW,CAAC;AAEjF,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,WAAU;AAAA,IAAS,KAAK;AAAA,IAAI,IAAI;AAAA,MAAE,GAAG;AAAA,MAAG,IAAI;AAAA,IAAG;AAAA,IAAtD,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,EAAiB;AAAA,MAC5B,aAAa,EAAiB;AAAA,MAC9B,WAAW,EAAyB;AAAA,MACpC,OAAO,EAAiB;AAAA,IACzB,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,EAAkB;AAAA,MAC7B,aAAa,EAAkB;AAAA,MAC/B,WAAW,EAAyB;AAAA,MACpC,OAAO,EAAkB;AAAA,IAC1B,CAAA,CACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyIndicatorsDrawer.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsDrawer.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useCallback } from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { P, H3 } from '@mxenabled/mxui'\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\n\nimport { Drawer, Loader, useGlobalCopyStore, useGlobalUiStore } from '../../common'\nimport { ConnectMoreAccountsCard } from './ConnectMoreAccountsCard'\n\ninterface KeyIndicatorsDrawerProps {\n additionalContent?: React.ReactNode\n connectTitle?: string\n connectDescription?: string\n children?: React.ReactNode\n description?: string\n drawerTitle?: string\n isOpen: boolean\n loadConnectAccountsCard?: boolean\n onClose: () => void\n stickyComponent?: React.ReactNode\n title?: string | React.ReactNode\n drawerType?: 'connectDrawer' | 'connectionsDrawer'\n}\n\nconst KeyIndicatorsDrawer: React.FC<React.PropsWithChildren<KeyIndicatorsDrawerProps>> = ({\n additionalContent,\n connectTitle,\n connectDescription,\n children,\n description,\n drawerTitle,\n isOpen,\n loadConnectAccountsCard = true,\n onClose,\n stickyComponent,\n title,\n drawerType,\n}: KeyIndicatorsDrawerProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const { isCopyLoaded } = useGlobalUiStore()\n const [isScrolled, setIsScrolled] = useState(false)\n const scrollContainerRef = useRef<HTMLElement | null>(null)\n\n const handleScroll = useCallback(() => {\n if (scrollContainerRef.current) {\n const hasScrolled = scrollContainerRef.current.scrollTop > 0\n setIsScrolled((prev) => (prev !== hasScrolled ? hasScrolled : prev))\n }\n }, [])\n\n const contentCallbackRef = useCallback(\n (node: HTMLDivElement | null) => {\n // Clean up previous listener\n if (scrollContainerRef.current) {\n scrollContainerRef.current.removeEventListener('scroll', handleScroll)\n }\n\n if (node) {\n // Find the scrollable parent\n let parent = node.parentElement\n while (parent) {\n const { overflow, overflowY } = window.getComputedStyle(parent)\n if (\n overflow === 'auto' ||\n overflowY === 'auto' ||\n overflow === 'scroll' ||\n overflowY === 'scroll'\n ) {\n scrollContainerRef.current = parent\n parent.addEventListener('scroll', handleScroll, { passive: true })\n break\n }\n parent = parent.parentElement\n }\n }\n },\n [handleScroll],\n )\n\n useEffect(() => {\n if (!isOpen) {\n setIsScrolled(false)\n }\n }, [isOpen])\n\n useEffect(() => {\n return () => {\n if (scrollContainerRef.current) {\n scrollContainerRef.current.removeEventListener('scroll', handleScroll)\n }\n }\n }, [handleScroll])\n\n if (!isCopyLoaded) return <Loader />\n\n return (\n <Drawer isOpen={isOpen} onClose={onClose} title={drawerTitle || copy.key_indicators}>\n <Stack\n ref={contentCallbackRef}\n sx={{ backgroundColor: 'background.default', height: '100%' }}\n >\n {(title || description) && (\n <Stack\n sx={{\n backgroundColor: 'background.paper',\n gap: 8,\n p: 24,\n pb: stickyComponent ? 0 : 24,\n }}\n >\n {title && typeof title === 'string' ? <H3>{title}</H3> : title}\n {description && <P sx={{ lineHeight: '24px' }}>{description}</P>}\n </Stack>\n )}\n\n {stickyComponent && (\n <Box\n sx={{\n position: 'sticky',\n top: 0,\n zIndex: 1,\n '& > *': {\n borderBottom: isScrolled ? '1px solid' : 'none',\n borderColor: isScrolled ? 'divider' : 'transparent',\n },\n }}\n >\n {stickyComponent}\n </Box>\n )}\n {additionalContent && <Box>{additionalContent}</Box>}\n <Stack sx={{ bgcolor: 'background.default', gap: 24, p: 24 }}>\n {children}\n {loadConnectAccountsCard && (\n <ConnectMoreAccountsCard\n description={connectDescription}\n drawerType={drawerType}\n isDashboard={true}\n sx={{ backgroundColor: 'background.paper' }}\n title={connectTitle}\n />\n )}\n </Stack>\n </Stack>\n </Drawer>\n )\n}\nexport default observer(KeyIndicatorsDrawer)\n"],"mappings":"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"}
1
+ {"version":3,"file":"KeyIndicatorsDrawer.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsDrawer.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useCallback } from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { P, H3 } from '@mxenabled/mxui'\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\n\nimport { Drawer, Loader, useGlobalCopyStore, useGlobalUiStore } from '../../common'\nimport { ConnectMoreAccountsCard } from './ConnectMoreAccountsCard'\n\ninterface KeyIndicatorsDrawerProps {\n additionalContent?: React.ReactNode\n connectTitle?: string\n connectDescription?: string\n children?: React.ReactNode\n description?: string\n drawerTitle?: string\n isOpen: boolean\n loadConnectAccountsCard?: boolean\n onClose: () => void\n stickyComponent?: React.ReactNode\n title?: string | React.ReactNode\n drawerType?: 'connectDrawer' | 'connectionsDrawer'\n}\n\nconst KeyIndicatorsDrawer: React.FC<React.PropsWithChildren<KeyIndicatorsDrawerProps>> = ({\n additionalContent,\n connectTitle,\n connectDescription,\n children,\n description,\n drawerTitle,\n isOpen,\n loadConnectAccountsCard = true,\n onClose,\n stickyComponent,\n title,\n drawerType,\n}: KeyIndicatorsDrawerProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const { isCopyLoaded } = useGlobalUiStore()\n const [isScrolled, setIsScrolled] = useState(false)\n const scrollContainerRef = useRef<HTMLElement | null>(null)\n\n const handleScroll = useCallback(() => {\n if (scrollContainerRef.current) {\n const hasScrolled = scrollContainerRef.current.scrollTop > 0\n setIsScrolled((prev) => (prev !== hasScrolled ? hasScrolled : prev))\n }\n }, [])\n\n const contentCallbackRef = useCallback(\n (node: HTMLDivElement | null) => {\n // Clean up previous listener\n if (scrollContainerRef.current) {\n scrollContainerRef.current.removeEventListener('scroll', handleScroll)\n }\n\n if (node) {\n // Find the scrollable parent\n let parent = node.parentElement\n while (parent) {\n const { overflow, overflowY } = window.getComputedStyle(parent)\n if (\n overflow === 'auto' ||\n overflowY === 'auto' ||\n overflow === 'scroll' ||\n overflowY === 'scroll'\n ) {\n scrollContainerRef.current = parent\n parent.addEventListener('scroll', handleScroll, { passive: true })\n break\n }\n parent = parent.parentElement\n }\n }\n },\n [handleScroll],\n )\n\n useEffect(() => {\n if (!isOpen) {\n setIsScrolled(false)\n }\n }, [isOpen])\n\n useEffect(() => {\n return () => {\n if (scrollContainerRef.current) {\n scrollContainerRef.current.removeEventListener('scroll', handleScroll)\n }\n }\n }, [handleScroll])\n\n if (!isCopyLoaded) return <Loader />\n\n return (\n <Drawer isOpen={isOpen} onClose={onClose} title={drawerTitle || copy.key_indicators}>\n <Stack\n ref={contentCallbackRef}\n sx={{ backgroundColor: 'background.default', height: '100%' }}\n >\n {(title || description) && (\n <Stack\n sx={{\n backgroundColor: 'background.paper',\n gap: 8,\n p: 24,\n pb: stickyComponent ? 0 : 24,\n }}\n >\n {title && typeof title === 'string' ? <H3>{title}</H3> : title}\n {description && <P sx={{ lineHeight: '24px' }}>{description}</P>}\n </Stack>\n )}\n\n {stickyComponent && (\n <Box\n sx={{\n position: 'sticky',\n top: 0,\n zIndex: 1,\n '& > *': {\n borderBottom: isScrolled ? '1px solid' : 'none',\n borderColor: isScrolled ? 'divider' : 'transparent',\n },\n }}\n >\n {stickyComponent}\n </Box>\n )}\n {additionalContent && <Box>{additionalContent}</Box>}\n <Stack sx={{ bgcolor: 'background.default', gap: 24, p: 24 }}>\n {children}\n {loadConnectAccountsCard && (\n <ConnectMoreAccountsCard\n description={connectDescription}\n drawerType={drawerType}\n isDashboard={true}\n sx={{ backgroundColor: 'background.paper' }}\n title={connectTitle}\n />\n )}\n </Stack>\n </Stack>\n </Drawer>\n )\n}\nexport default observer(KeyIndicatorsDrawer)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyIndicatorsSaveTab.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsSaveTab.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { useFinstrongStore, useGlobalCopyStore } from '../../common'\nimport { KeyIndicatorsTabItemType } from '../constants'\nimport { getDaysOfCashOnHandState, getEmergencySavingsState } from '../util/finstrongUtils'\n\nimport KeyIndicatorsTabsItem from './KeyIndicatorsTabItem'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\nconst KeyIndicatorsSaveTab: React.FC = () => {\n const { healthScore } = useFinstrongStore()\n const { finstrong: copyContent } = useGlobalCopyStore()\n const { key_indicators_save: saveCopy } = copyContent\n\n const getDaysOfCashOnHandStatus = (days: number | null) => {\n const state = getDaysOfCashOnHandState(days)\n\n const cardStatusMapping = {\n GOOD: saveCopy.days_of_cash_good_description,\n FAIR: saveCopy.days_of_cash_fair_description,\n OFF_TRACK: saveCopy.days_of_cash_off_track_description,\n MISSING: saveCopy.days_of_cash_missing_description,\n }\n\n const description =\n state === 'MISSING'\n ? cardStatusMapping[state]\n : (buildDynamicCopy(cardStatusMapping[state], days) as string)\n\n return {\n cardState: state,\n description,\n title: saveCopy.days_of_cash_title,\n }\n }\n\n const getEmergencySavingsStatus = (dollars: number | null) => {\n const state = getEmergencySavingsState(dollars)\n\n const cardStatusMapping = {\n GOOD: saveCopy.emergency_savings_good_description,\n FAIR: saveCopy.emergency_savings_fair_description,\n OFF_TRACK: saveCopy.emergency_savings_off_track_description,\n MISSING: saveCopy.emergency_savings_missing_description,\n }\n\n let description: string\n\n if (state === 'FAIR' && dollars !== null) {\n description = buildDynamicCopy(\n cardStatusMapping[state],\n formatCurrency(dollars, '0,0.00'),\n ) as string\n } else {\n description = cardStatusMapping[state]\n }\n\n return {\n cardState: state,\n description,\n title: saveCopy.emergency_savings_title,\n }\n }\n\n const { daysOfCashOnHand, emergencySavings } = React.useMemo(() => {\n const noOfDays =\n healthScore.months_of_cash_on_hand !== null\n ? Math.round(healthScore.months_of_cash_on_hand * 30)\n : null\n const daysOfCashOnHand = getDaysOfCashOnHandStatus(noOfDays)\n\n const noOfDollars =\n healthScore.emergency_savings_on_hand !== null\n ? Math.round(healthScore.emergency_savings_on_hand)\n : null\n const emergencySavings = getEmergencySavingsStatus(noOfDollars)\n\n return { daysOfCashOnHand, emergencySavings }\n }, [\n healthScore.months_of_cash_on_hand,\n healthScore.emergency_savings_on_hand,\n saveCopy,\n copyContent,\n ])\n\n return (\n <Stack direction=\"column\" gap={24} sx={{ p: 8, pt: 24 }}>\n <KeyIndicatorsTabsItem\n cardState={daysOfCashOnHand.cardState}\n description={daysOfCashOnHand.description}\n drawerFor={KeyIndicatorsTabItemType.SaveEnoughToLiveOn}\n title={daysOfCashOnHand.title}\n />\n <KeyIndicatorsTabsItem\n cardState={emergencySavings.cardState}\n description={emergencySavings.description}\n drawerFor={KeyIndicatorsTabItemType.MaintainEmergencySavings}\n title={emergencySavings.title}\n />\n </Stack>\n )\n}\n\nexport default observer(KeyIndicatorsSaveTab)\n"],"mappings":";;;;;;;;;;AAaA,IAAM,IAAA,MAAuC;AAC3C,QAAM,EAAE,aAAA,EAAA,IAAgB,EAAkB,GACpC,EAAE,WAAW,EAAA,IAAgB,EAAmB,GAChD,EAAE,qBAAqB,EAAA,IAAa,GAEpC,IAAA,CAA6B,MAAwB;AACzD,UAAM,IAAQ,EAAyB,CAAI,GAErC,IAAoB;AAAA,MACxB,MAAM,EAAS;AAAA,MACf,MAAM,EAAS;AAAA,MACf,WAAW,EAAS;AAAA,MACpB,SAAS,EAAS;AAAA,IACpB;AAOA,WAAO;AAAA,MACL,WAAW;AAAA,MACX,aANA,MAAU,YACN,EAAkB,CAAA,IACjB,EAAiB,EAAkB,CAAA,GAAQ,CAAI;AAAA,MAKpD,OAAO,EAAS;AAAA,IAClB;AAAA,EACF,GAEM,IAAA,CAA6B,MAA2B;AAC5D,UAAM,IAAQ,EAAyB,CAAO,GAExC,IAAoB;AAAA,MACxB,MAAM,EAAS;AAAA,MACf,MAAM,EAAS;AAAA,MACf,WAAW,EAAS;AAAA,MACpB,SAAS,EAAS;AAAA,IACpB;AAEA,QAAI;AAEJ,WAAI,MAAU,UAAU,MAAY,OAClC,IAAc,EACZ,EAAkB,CAAA,GAClB,EAAe,GAAS,QAAQ,CAClC,IAEA,IAAc,EAAkB,CAAA,GAG3B;AAAA,MACL,WAAW;AAAA,MACX,aAAA;AAAA,MACA,OAAO,EAAS;AAAA,IAClB;AAAA,EACF,GAEM,EAAE,kBAAA,GAAkB,kBAAA,EAAA,IAAqB,EAAM,QAAA,MAAc;AACjE,UAAM,IACJ,EAAY,2BAA2B,OACnC,KAAK,MAAM,EAAY,yBAAyB,EAAE,IAClD,MACA,IAAmB,EAA0B,CAAQ,GAErD,IACJ,EAAY,8BAA8B,OACtC,KAAK,MAAM,EAAY,yBAAyB,IAChD;AAGN,WAAO;AAAA,MAAE,kBAAA;AAAA,MAAkB,kBAFF,EAA0B,CAExB;AAAA,IAAiB;AAAA,EAC9C,GAAG;AAAA,IACD,EAAY;AAAA,IACZ,EAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACF,CAAC;AAED,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,WAAU;AAAA,IAAS,KAAK;AAAA,IAAI,IAAI;AAAA,MAAE,GAAG;AAAA,MAAG,IAAI;AAAA,IAAG;AAAA,cAAtD,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,EAAiB;AAAA,MAC5B,aAAa,EAAiB;AAAA,MAC9B,WAAW,EAAyB;AAAA,MACpC,OAAO,EAAiB;AAAA,IACzB,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,EAAiB;AAAA,MAC5B,aAAa,EAAiB;AAAA,MAC9B,WAAW,EAAyB;AAAA,MACpC,OAAO,EAAiB;AAAA,IACzB,CAAA,CACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAoB"}
1
+ {"version":3,"file":"KeyIndicatorsSaveTab.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsSaveTab.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { useFinstrongStore, useGlobalCopyStore } from '../../common'\nimport { KeyIndicatorsTabItemType } from '../constants'\nimport { getDaysOfCashOnHandState, getEmergencySavingsState } from '../util/finstrongUtils'\n\nimport KeyIndicatorsTabsItem from './KeyIndicatorsTabItem'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\nconst KeyIndicatorsSaveTab: React.FC = () => {\n const { healthScore } = useFinstrongStore()\n const { finstrong: copyContent } = useGlobalCopyStore()\n const { key_indicators_save: saveCopy } = copyContent\n\n const getDaysOfCashOnHandStatus = (days: number | null) => {\n const state = getDaysOfCashOnHandState(days)\n\n const cardStatusMapping = {\n GOOD: saveCopy.days_of_cash_good_description,\n FAIR: saveCopy.days_of_cash_fair_description,\n OFF_TRACK: saveCopy.days_of_cash_off_track_description,\n MISSING: saveCopy.days_of_cash_missing_description,\n }\n\n const description =\n state === 'MISSING'\n ? cardStatusMapping[state]\n : (buildDynamicCopy(cardStatusMapping[state], days) as string)\n\n return {\n cardState: state,\n description,\n title: saveCopy.days_of_cash_title,\n }\n }\n\n const getEmergencySavingsStatus = (dollars: number | null) => {\n const state = getEmergencySavingsState(dollars)\n\n const cardStatusMapping = {\n GOOD: saveCopy.emergency_savings_good_description,\n FAIR: saveCopy.emergency_savings_fair_description,\n OFF_TRACK: saveCopy.emergency_savings_off_track_description,\n MISSING: saveCopy.emergency_savings_missing_description,\n }\n\n let description: string\n\n if (state === 'FAIR' && dollars !== null) {\n description = buildDynamicCopy(\n cardStatusMapping[state],\n formatCurrency(dollars, '0,0.00'),\n ) as string\n } else {\n description = cardStatusMapping[state]\n }\n\n return {\n cardState: state,\n description,\n title: saveCopy.emergency_savings_title,\n }\n }\n\n const { daysOfCashOnHand, emergencySavings } = React.useMemo(() => {\n const noOfDays =\n healthScore.months_of_cash_on_hand !== null\n ? Math.round(healthScore.months_of_cash_on_hand * 30)\n : null\n const daysOfCashOnHand = getDaysOfCashOnHandStatus(noOfDays)\n\n const noOfDollars =\n healthScore.emergency_savings_on_hand !== null\n ? Math.round(healthScore.emergency_savings_on_hand)\n : null\n const emergencySavings = getEmergencySavingsStatus(noOfDollars)\n\n return { daysOfCashOnHand, emergencySavings }\n }, [\n healthScore.months_of_cash_on_hand,\n healthScore.emergency_savings_on_hand,\n saveCopy,\n copyContent,\n ])\n\n return (\n <Stack direction=\"column\" gap={24} sx={{ p: 8, pt: 24 }}>\n <KeyIndicatorsTabsItem\n cardState={daysOfCashOnHand.cardState}\n description={daysOfCashOnHand.description}\n drawerFor={KeyIndicatorsTabItemType.SaveEnoughToLiveOn}\n title={daysOfCashOnHand.title}\n />\n <KeyIndicatorsTabsItem\n cardState={emergencySavings.cardState}\n description={emergencySavings.description}\n drawerFor={KeyIndicatorsTabItemType.MaintainEmergencySavings}\n title={emergencySavings.title}\n />\n </Stack>\n )\n}\n\nexport default observer(KeyIndicatorsSaveTab)\n"],"mappings":";;;;;;;;;;AAaA,IAAM,IAAA,MAAuC;AAC3C,QAAM,EAAE,aAAA,EAAA,IAAgB,EAAkB,GACpC,EAAE,WAAW,EAAA,IAAgB,EAAmB,GAChD,EAAE,qBAAqB,EAAA,IAAa,GAEpC,IAAA,CAA6B,MAAwB;AACzD,UAAM,IAAQ,EAAyB,CAAI,GAErC,IAAoB;AAAA,MACxB,MAAM,EAAS;AAAA,MACf,MAAM,EAAS;AAAA,MACf,WAAW,EAAS;AAAA,MACpB,SAAS,EAAS;AAAA,IACpB;AAOA,WAAO;AAAA,MACL,WAAW;AAAA,MACX,aANA,MAAU,YACN,EAAkB,CAAA,IACjB,EAAiB,EAAkB,CAAA,GAAQ,CAAI;AAAA,MAKpD,OAAO,EAAS;AAAA,IAClB;AAAA,EACF,GAEM,IAAA,CAA6B,MAA2B;AAC5D,UAAM,IAAQ,EAAyB,CAAO,GAExC,IAAoB;AAAA,MACxB,MAAM,EAAS;AAAA,MACf,MAAM,EAAS;AAAA,MACf,WAAW,EAAS;AAAA,MACpB,SAAS,EAAS;AAAA,IACpB;AAEA,QAAI;AAEJ,WAAI,MAAU,UAAU,MAAY,OAClC,IAAc,EACZ,EAAkB,CAAA,GAClB,EAAe,GAAS,QAAQ,CAClC,IAEA,IAAc,EAAkB,CAAA,GAG3B;AAAA,MACL,WAAW;AAAA,MACX,aAAA;AAAA,MACA,OAAO,EAAS;AAAA,IAClB;AAAA,EACF,GAEM,EAAE,kBAAA,GAAkB,kBAAA,EAAA,IAAqB,EAAM,QAAA,MAAc;AACjE,UAAM,IACJ,EAAY,2BAA2B,OACnC,KAAK,MAAM,EAAY,yBAAyB,EAAE,IAClD,MACA,IAAmB,EAA0B,CAAQ,GAErD,IACJ,EAAY,8BAA8B,OACtC,KAAK,MAAM,EAAY,yBAAyB,IAChD;AAGN,WAAO;AAAA,MAAE,kBAAA;AAAA,MAAkB,kBAFF,EAA0B,CAExB;AAAA,IAAiB;AAAA,EAC9C,GAAG;AAAA,IACD,EAAY;AAAA,IACZ,EAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACF,CAAC;AAED,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,WAAU;AAAA,IAAS,KAAK;AAAA,IAAI,IAAI;AAAA,MAAE,GAAG;AAAA,MAAG,IAAI;AAAA,IAAG;AAAA,IAAtD,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,EAAiB;AAAA,MAC5B,aAAa,EAAiB;AAAA,MAC9B,WAAW,EAAyB;AAAA,MACpC,OAAO,EAAiB;AAAA,IACzB,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,EAAiB;AAAA,MAC5B,aAAa,EAAiB;AAAA,MAC9B,WAAW,EAAyB;AAAA,MACpC,OAAO,EAAiB;AAAA,IACzB,CAAA,CACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyIndicatorsSpendTab.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsSpendTab.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { useFinstrongStore, useGlobalCopyStore } from '../../common'\nimport { KeyIndicatorsTabItemType } from '../constants'\nimport { getSpendingFeeCountStatus, getSpendToIncomeRatioState } from '../util/finstrongUtils'\n\nimport KeyIndicatorsTabsItem from './KeyIndicatorsTabItem'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\nconst KeyIndicatorsSpendTab: React.FC = () => {\n const { finstrong: copyContent } = useGlobalCopyStore()\n const { key_indicators_spend: spendCopy } = copyContent\n const { healthScore } = useFinstrongStore()\n\n const getSpendToIncomeRatioStatus = (ratio: number | null) => {\n const state = getSpendToIncomeRatioState(ratio)\n\n const cardStatusMapping = {\n GOOD: spendCopy.ratio_good_description,\n FAIR: spendCopy.ratio_fair_description,\n OFF_TRACK: spendCopy.ratio_off_track_description,\n MISSING: spendCopy.ratio_missing_description,\n }\n\n const description =\n state === 'MISSING'\n ? cardStatusMapping[state]\n : (buildDynamicCopy(cardStatusMapping[state], ratio) as string)\n\n return {\n cardState: state,\n description,\n title: spendCopy.ratio_card_title,\n }\n }\n\n const { spendToIncomeRatio, spendFeeCount } = React.useMemo(() => {\n const healthScoreRatio =\n healthScore.spend_to_income_ratio !== null\n ? Math.round(healthScore.spend_to_income_ratio * 100)\n : null\n const spendToIncomeRatio = getSpendToIncomeRatioStatus(healthScoreRatio)\n const spendFeeCount = getSpendingFeeCountStatus(\n healthScore.spending_fee_transaction_count,\n spendCopy,\n )\n\n return { spendToIncomeRatio, spendFeeCount }\n }, [\n healthScore.spend_to_income_ratio,\n healthScore.spending_fee_transaction_count,\n spendCopy,\n copyContent,\n ])\n\n return (\n <Stack sx={{ gap: 24, p: 8, pt: 24 }}>\n <KeyIndicatorsTabsItem\n cardState={spendToIncomeRatio.cardState}\n description={spendToIncomeRatio.description}\n drawerFor={KeyIndicatorsTabItemType.SpendLessThanYouMake}\n title={spendToIncomeRatio.title}\n />\n <KeyIndicatorsTabsItem\n cardState={spendFeeCount.cardState}\n description={spendFeeCount.description}\n drawerFor={KeyIndicatorsTabItemType.PayBillsOnTime}\n title={spendFeeCount.title}\n />\n </Stack>\n )\n}\n\nexport default observer(KeyIndicatorsSpendTab)\n"],"mappings":";;;;;;;;;AAYA,IAAM,IAAA,MAAwC;AAC5C,QAAM,EAAE,WAAW,EAAA,IAAgB,EAAmB,GAChD,EAAE,sBAAsB,EAAA,IAAc,GACtC,EAAE,aAAA,EAAA,IAAgB,EAAkB,GAEpC,IAAA,CAA+B,MAAyB;AAC5D,UAAM,IAAQ,EAA2B,CAAK,GAExC,IAAoB;AAAA,MACxB,MAAM,EAAU;AAAA,MAChB,MAAM,EAAU;AAAA,MAChB,WAAW,EAAU;AAAA,MACrB,SAAS,EAAU;AAAA,IACrB;AAOA,WAAO;AAAA,MACL,WAAW;AAAA,MACX,aANA,MAAU,YACN,EAAkB,CAAA,IACjB,EAAiB,EAAkB,CAAA,GAAQ,CAAK;AAAA,MAKrD,OAAO,EAAU;AAAA,IACnB;AAAA,EACF,GAEM,EAAE,oBAAA,GAAoB,eAAA,EAAA,IAAkB,EAAM,QAAA,MAAc;AAChE,UAAM,IACJ,EAAY,0BAA0B,OAClC,KAAK,MAAM,EAAY,wBAAwB,GAAG,IAClD;AAON,WAAO;AAAA,MAAE,oBANkB,EAA4B,CAM9C;AAAA,MAAoB,eALP,EACpB,EAAY,gCACZ,CAG2B;AAAA,IAAc;AAAA,EAC7C,GAAG;AAAA,IACD,EAAY;AAAA,IACZ,EAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACF,CAAC;AAED,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,KAAK;AAAA,MAAI,GAAG;AAAA,MAAG,IAAI;AAAA,IAAG;AAAA,cAAnC,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,EAAmB;AAAA,MAC9B,aAAa,EAAmB;AAAA,MAChC,WAAW,EAAyB;AAAA,MACpC,OAAO,EAAmB;AAAA,IAC3B,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,EAAc;AAAA,MACzB,aAAa,EAAc;AAAA,MAC3B,WAAW,EAAyB;AAAA,MACpC,OAAO,EAAc;AAAA,IACtB,CAAA,CACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAqB"}
1
+ {"version":3,"file":"KeyIndicatorsSpendTab.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsSpendTab.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { useFinstrongStore, useGlobalCopyStore } from '../../common'\nimport { KeyIndicatorsTabItemType } from '../constants'\nimport { getSpendingFeeCountStatus, getSpendToIncomeRatioState } from '../util/finstrongUtils'\n\nimport KeyIndicatorsTabsItem from './KeyIndicatorsTabItem'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\nconst KeyIndicatorsSpendTab: React.FC = () => {\n const { finstrong: copyContent } = useGlobalCopyStore()\n const { key_indicators_spend: spendCopy } = copyContent\n const { healthScore } = useFinstrongStore()\n\n const getSpendToIncomeRatioStatus = (ratio: number | null) => {\n const state = getSpendToIncomeRatioState(ratio)\n\n const cardStatusMapping = {\n GOOD: spendCopy.ratio_good_description,\n FAIR: spendCopy.ratio_fair_description,\n OFF_TRACK: spendCopy.ratio_off_track_description,\n MISSING: spendCopy.ratio_missing_description,\n }\n\n const description =\n state === 'MISSING'\n ? cardStatusMapping[state]\n : (buildDynamicCopy(cardStatusMapping[state], ratio) as string)\n\n return {\n cardState: state,\n description,\n title: spendCopy.ratio_card_title,\n }\n }\n\n const { spendToIncomeRatio, spendFeeCount } = React.useMemo(() => {\n const healthScoreRatio =\n healthScore.spend_to_income_ratio !== null\n ? Math.round(healthScore.spend_to_income_ratio * 100)\n : null\n const spendToIncomeRatio = getSpendToIncomeRatioStatus(healthScoreRatio)\n const spendFeeCount = getSpendingFeeCountStatus(\n healthScore.spending_fee_transaction_count,\n spendCopy,\n )\n\n return { spendToIncomeRatio, spendFeeCount }\n }, [\n healthScore.spend_to_income_ratio,\n healthScore.spending_fee_transaction_count,\n spendCopy,\n copyContent,\n ])\n\n return (\n <Stack sx={{ gap: 24, p: 8, pt: 24 }}>\n <KeyIndicatorsTabsItem\n cardState={spendToIncomeRatio.cardState}\n description={spendToIncomeRatio.description}\n drawerFor={KeyIndicatorsTabItemType.SpendLessThanYouMake}\n title={spendToIncomeRatio.title}\n />\n <KeyIndicatorsTabsItem\n cardState={spendFeeCount.cardState}\n description={spendFeeCount.description}\n drawerFor={KeyIndicatorsTabItemType.PayBillsOnTime}\n title={spendFeeCount.title}\n />\n </Stack>\n )\n}\n\nexport default observer(KeyIndicatorsSpendTab)\n"],"mappings":";;;;;;;;;AAYA,IAAM,IAAA,MAAwC;AAC5C,QAAM,EAAE,WAAW,EAAA,IAAgB,EAAmB,GAChD,EAAE,sBAAsB,EAAA,IAAc,GACtC,EAAE,aAAA,EAAA,IAAgB,EAAkB,GAEpC,IAAA,CAA+B,MAAyB;AAC5D,UAAM,IAAQ,EAA2B,CAAK,GAExC,IAAoB;AAAA,MACxB,MAAM,EAAU;AAAA,MAChB,MAAM,EAAU;AAAA,MAChB,WAAW,EAAU;AAAA,MACrB,SAAS,EAAU;AAAA,IACrB;AAOA,WAAO;AAAA,MACL,WAAW;AAAA,MACX,aANA,MAAU,YACN,EAAkB,CAAA,IACjB,EAAiB,EAAkB,CAAA,GAAQ,CAAK;AAAA,MAKrD,OAAO,EAAU;AAAA,IACnB;AAAA,EACF,GAEM,EAAE,oBAAA,GAAoB,eAAA,EAAA,IAAkB,EAAM,QAAA,MAAc;AAChE,UAAM,IACJ,EAAY,0BAA0B,OAClC,KAAK,MAAM,EAAY,wBAAwB,GAAG,IAClD;AAON,WAAO;AAAA,MAAE,oBANkB,EAA4B,CAM9C;AAAA,MAAoB,eALP,EACpB,EAAY,gCACZ,CAG2B;AAAA,IAAc;AAAA,EAC7C,GAAG;AAAA,IACD,EAAY;AAAA,IACZ,EAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACF,CAAC;AAED,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,KAAK;AAAA,MAAI,GAAG;AAAA,MAAG,IAAI;AAAA,IAAG;AAAA,IAAnC,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,EAAmB;AAAA,MAC9B,aAAa,EAAmB;AAAA,MAChC,WAAW,EAAyB;AAAA,MACpC,OAAO,EAAmB;AAAA,IAC3B,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,EAAc;AAAA,MACzB,aAAa,EAAc;AAAA,MAC3B,WAAW,EAAyB;AAAA,MACpC,OAAO,EAAc;AAAA,IACtB,CAAA,CACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyIndicatorsTabItem.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsTabItem.tsx"],"sourcesContent":["import React from 'react'\n\nimport Stack from '@mui/material/Stack'\n\nimport { P, Text } from '@mxenabled/mxui'\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport { useGlobalCopyStore } from '../../common'\nimport type { CardStatus } from '../../common/constants/FinStrong'\n\nimport { KeyIndicatorsTabItemType } from '../constants'\n\nimport KeyIndicatorsTabItemDrawer from './KeyIndicatorsTabItemDrawer'\nimport StatusChip from './StatusChip'\n\ninterface KeyIndicatorsTabsItemProps {\n drawerFor: KeyIndicatorsTabItemType\n title: string\n description: string\n cardState: keyof typeof CardStatus\n}\n\nconst KeyIndicatorsTabsItem: React.FC<KeyIndicatorsTabsItemProps> = ({\n drawerFor,\n title,\n description,\n cardState = 'MISSING',\n}) => {\n const { finstrong: copyContent } = useGlobalCopyStore()\n\n const [isDrawerOpen, setIsDrawerOpen] = React.useState(false)\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n setIsDrawerOpen(true)\n }\n }\n\n return (\n <>\n <Stack\n aria-label={`${copyContent.key_indicators_open} ${title}`}\n onClick={() => setIsDrawerOpen(true)}\n onKeyDown={handleKeyDown}\n role=\"button\"\n sx={{\n alignItems: 'center',\n borderRadius: 2,\n cursor: 'pointer',\n flexDirection: 'row',\n gap: 12,\n justifyContent: 'space-between',\n outline: '1px solid',\n outlineColor: 'divider',\n p: 16,\n }}\n tabIndex={0}\n >\n <Stack sx={{ gap: 8, minWidth: 0 }}>\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', gap: 8 }}>\n <Text sx={{ fontWeight: 600 }} variant=\"body1\">\n {title}\n </Text>\n <StatusChip status={cardState} />\n </Stack>\n <P color=\"secondary\" variant=\"subtitle2\">\n {description}\n </P>\n </Stack>\n <ChevronRight color=\"secondary\" size={24} />\n </Stack>\n <KeyIndicatorsTabItemDrawer\n drawerFor={drawerFor}\n isOpen={isDrawerOpen}\n onClose={() => setIsDrawerOpen(false)}\n />\n </>\n )\n}\n\nexport default KeyIndicatorsTabsItem\n"],"mappings":";;;;;;;;AAsBA,IAAM,IAAA,CAA+D,EACnE,WAAA,GACA,OAAA,GACA,aAAA,GACA,WAAA,IAAY,UAAA,MACR;AACJ,QAAM,EAAE,WAAW,EAAA,IAAgB,EAAmB,GAEhD,CAAC,GAAc,CAAA,IAAmB,EAAM,SAAS,EAAK,GAEtD,IAAA,CAAiB,MAA+B;AACpD,KAAI,EAAM,QAAQ,WAAW,EAAM,QAAQ,SACzC,EAAM,eAAe,GACrB,EAAgB,EAAI;AAAA,EAExB;AAEA,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IACE,cAAY,GAAG,EAAY,mBAAA,IAAuB,CAAA;AAAA,IAClD,SAAA,MAAe,EAAgB,EAAI;AAAA,IACnC,WAAW;AAAA,IACX,MAAK;AAAA,IACL,IAAI;AAAA,MACF,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,KAAK;AAAA,MACL,gBAAgB;AAAA,MAChB,SAAS;AAAA,MACT,cAAc;AAAA,MACd,GAAG;AAAA,IACL;AAAA,IACA,UAAU;AAAA,cAhBZ,CAkBE,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,KAAK;AAAA,QAAG,UAAU;AAAA,MAAE;AAAA,gBAAjC,CACE,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI;AAAA,UAAE,YAAY;AAAA,UAAU,eAAe;AAAA,UAAO,KAAK;AAAA,QAAE;AAAA,kBAAhE,CACE,gBAAA,EAAC,GAAD;AAAA,UAAM,IAAI,EAAE,YAAY,IAAI;AAAA,UAAG,SAAQ;AAAA,oBACpC;AAAA,QACG,CAAA,GACN,gBAAA,EAAC,GAAD,EAAY,QAAQ,EAAY,CAAA,CAC3B;AAAA,UACP,gBAAA,EAAC,GAAD;AAAA,QAAG,OAAM;AAAA,QAAY,SAAQ;AAAA,kBAC1B;AAAA,MACA,CAAA,CACE;AAAA,QACP,gBAAA,EAAC,GAAD;AAAA,MAAc,OAAM;AAAA,MAAY,MAAM;AAAA,IAAK,CAAA,CACtC;AAAA,MACP,gBAAA,EAAC,GAAD;AAAA,IACa,WAAA;AAAA,IACX,QAAQ;AAAA,IACR,SAAA,MAAe,EAAgB,EAAK;AAAA,EACrC,CAAA,CACD,EAAA,CAAA;AAEN"}
1
+ {"version":3,"file":"KeyIndicatorsTabItem.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsTabItem.tsx"],"sourcesContent":["import React from 'react'\n\nimport Stack from '@mui/material/Stack'\n\nimport { P, Text } from '@mxenabled/mxui'\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport { useGlobalCopyStore } from '../../common'\nimport type { CardStatus } from '../../common/constants/FinStrong'\n\nimport { KeyIndicatorsTabItemType } from '../constants'\n\nimport KeyIndicatorsTabItemDrawer from './KeyIndicatorsTabItemDrawer'\nimport StatusChip from './StatusChip'\n\ninterface KeyIndicatorsTabsItemProps {\n drawerFor: KeyIndicatorsTabItemType\n title: string\n description: string\n cardState: keyof typeof CardStatus\n}\n\nconst KeyIndicatorsTabsItem: React.FC<KeyIndicatorsTabsItemProps> = ({\n drawerFor,\n title,\n description,\n cardState = 'MISSING',\n}) => {\n const { finstrong: copyContent } = useGlobalCopyStore()\n\n const [isDrawerOpen, setIsDrawerOpen] = React.useState(false)\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n setIsDrawerOpen(true)\n }\n }\n\n return (\n <>\n <Stack\n aria-label={`${copyContent.key_indicators_open} ${title}`}\n onClick={() => setIsDrawerOpen(true)}\n onKeyDown={handleKeyDown}\n role=\"button\"\n sx={{\n alignItems: 'center',\n borderRadius: 2,\n cursor: 'pointer',\n flexDirection: 'row',\n gap: 12,\n justifyContent: 'space-between',\n outline: '1px solid',\n outlineColor: 'divider',\n p: 16,\n }}\n tabIndex={0}\n >\n <Stack sx={{ gap: 8, minWidth: 0 }}>\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', gap: 8 }}>\n <Text sx={{ fontWeight: 600 }} variant=\"body1\">\n {title}\n </Text>\n <StatusChip status={cardState} />\n </Stack>\n <P color=\"secondary\" variant=\"subtitle2\">\n {description}\n </P>\n </Stack>\n <ChevronRight color=\"secondary\" size={24} />\n </Stack>\n <KeyIndicatorsTabItemDrawer\n drawerFor={drawerFor}\n isOpen={isDrawerOpen}\n onClose={() => setIsDrawerOpen(false)}\n />\n </>\n )\n}\n\nexport default KeyIndicatorsTabsItem\n"],"mappings":";;;;;;;;AAsBA,IAAM,IAAA,CAA+D,EACnE,WAAA,GACA,OAAA,GACA,aAAA,GACA,WAAA,IAAY,UAAA,MACR;AACJ,QAAM,EAAE,WAAW,EAAA,IAAgB,EAAmB,GAEhD,CAAC,GAAc,CAAA,IAAmB,EAAM,SAAS,EAAK,GAEtD,IAAA,CAAiB,MAA+B;AACpD,KAAI,EAAM,QAAQ,WAAW,EAAM,QAAQ,SACzC,EAAM,eAAe,GACrB,EAAgB,EAAI;AAAA,EAExB;AAEA,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IACE,cAAY,GAAG,EAAY,mBAAA,IAAuB,CAAA;AAAA,IAClD,SAAA,MAAe,EAAgB,EAAI;AAAA,IACnC,WAAW;AAAA,IACX,MAAK;AAAA,IACL,IAAI;AAAA,MACF,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,KAAK;AAAA,MACL,gBAAgB;AAAA,MAChB,SAAS;AAAA,MACT,cAAc;AAAA,MACd,GAAG;AAAA,IACL;AAAA,IACA,UAAU;AAAA,IAhBZ,UAAA,CAkBE,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,KAAK;AAAA,QAAG,UAAU;AAAA,MAAE;AAAA,MAAjC,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI;AAAA,UAAE,YAAY;AAAA,UAAU,eAAe;AAAA,UAAO,KAAK;AAAA,QAAE;AAAA,QAAhE,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UAAM,IAAI,EAAE,YAAY,IAAI;AAAA,UAAG,SAAQ;AAAA,UACpC,UAAA;AAAA,QACG,CAAA,GACN,gBAAA,EAAC,GAAD,EAAY,QAAQ,EAAY,CAAA,CAC3B;AAAA,MACP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,QAAG,OAAM;AAAA,QAAY,SAAQ;AAAA,QAC1B,UAAA;AAAA,MACA,CAAA,CACE;AAAA,IACP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,MAAc,OAAM;AAAA,MAAY,MAAM;AAAA,IAAK,CAAA,CACtC;AAAA,EACP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,IACa,WAAA;AAAA,IACX,QAAQ;AAAA,IACR,SAAA,MAAe,EAAgB,EAAK;AAAA,EACrC,CAAA,CACD,EAAA,CAAA;AAEN"}