@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":"KeyIndicatorsTabItemDrawer.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsTabItemDrawer.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { useGlobalCopyStore } from '../../common'\nimport { KeyIndicatorsTabItemType } from '../constants'\n\nimport CreditScoreContent from './CreditScore/CreditScoreContent'\nimport CreditScoreHeader from './CreditScore/CreditScoreHeader'\nimport KeyIndicatorsDrawer from './KeyIndicatorsDrawer'\nimport MaintainingEmergencySavingsContent from './MaintainingEmergencySavings/MaintainingEmergencySavingsContent'\nimport MaintainingEmergencySavingsSticky from './MaintainingEmergencySavings/MaintainingEmergencySavingsSticky'\nimport PayBillsOnTimeDrawerComponent from './paybillsontime/PayBillsOnTimeDrawerComponent'\nimport PayBillsOnTimeStickyComponent from './paybillsontime/PayBillsOnTimeStickyComponent'\nimport SaveEnoughToLiveOnDrawerContent from './SaveEnoughToLiveOn/SaveEnoughToLiveOnDrawerContent'\nimport SaveEnoughToLiveOnProgressBar from './SaveEnoughToLiveOn/SaveEnoughToLiveOnProgressBar'\nimport HaveManageableDebtProgressBar from './HaveManageableDebt/HaveManageableDebtProgressBar'\nimport HaveManageableDebtComponent from './HaveManageableDebt/HaveManageableDebtComponent'\nimport SpendLessThanYouMakeProgressBar from './SpendLessThanYouMake/SpendLessThanYouMakeProgressBar'\nimport SpendLessThanYouMakeComponent from './SpendLessThanYouMake/SpendLessThanYouMakeComponent'\n\ninterface KeyIndicatorsTabItemDrawerProps {\n drawerFor: KeyIndicatorsTabItemType\n isOpen: boolean\n onClose: () => void\n}\n\nconst KeyIndicatorsTabItemDrawer = ({\n drawerFor,\n isOpen,\n onClose,\n}: KeyIndicatorsTabItemDrawerProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n //TODO : When the Drawer for key indicators other than Save Enough To Live On are implemented,\n // add their respective content, titles, descriptions, and sticky components here.\n const contentMapping: Record<\n KeyIndicatorsTabItemType,\n {\n connectTitle?: string\n connectDescription?: string\n title: React.ReactNode\n description: string\n stickyComponent: React.ReactNode\n content: React.ReactNode\n drawerType?: 'connectDrawer' | 'connectionsDrawer'\n }\n > = {\n spendLessThanYouMake: {\n title:\n copy.key_indicators_spend.spend_less_than_you_make_drawer.spend_less_than_you_make_title,\n description:\n copy.key_indicators_spend.spend_less_than_you_make_drawer\n .spend_less_than_you_make_description,\n stickyComponent: <SpendLessThanYouMakeProgressBar />,\n content: <SpendLessThanYouMakeComponent />,\n drawerType: 'connectDrawer',\n connectTitle: copy.connect_your_accounts,\n connectDescription:\n copy.connect_more_accounts_to_unlock_a_fuller_understanding_of_your_finances,\n },\n payBillsOnTime: {\n title: copy.key_indicators_spend.pay_bills_on_time_drawer.pay_bills_on_time_title,\n description: copy.key_indicators_spend.pay_bills_on_time_drawer.pay_bills_on_time_description,\n stickyComponent: <PayBillsOnTimeStickyComponent />,\n content: <PayBillsOnTimeDrawerComponent />,\n drawerType: 'connectDrawer',\n connectTitle: copy.connect_your_accounts,\n connectDescription:\n copy.connect_more_accounts_to_unlock_a_fuller_understanding_of_your_finances,\n },\n maintainEmergencySavings: {\n content: <MaintainingEmergencySavingsContent />,\n description: copy.maintain_emergency_savings_description,\n stickyComponent: <MaintainingEmergencySavingsSticky />,\n title: copy.maintain_emergency_savings_title,\n drawerType: 'connectDrawer',\n connectTitle: copy.connect_your_accounts,\n connectDescription:\n copy.connect_more_accounts_to_unlock_a_fuller_understanding_of_your_finances,\n },\n haveManageableDebt: {\n title: copy.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_title,\n description:\n copy.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_description,\n stickyComponent: <HaveManageableDebtProgressBar />,\n content: <HaveManageableDebtComponent />,\n drawerType: 'connectDrawer',\n connectTitle: copy.dont_see_all_your_accounts,\n connectDescription: copy.connect_more_accounts_to_view_more_accurate_financial_picture,\n },\n haveAGoodCreditScore: {\n title: <CreditScoreHeader />,\n description: copy.credit_score_description,\n stickyComponent: null,\n content: <CreditScoreContent />,\n },\n saveEnoughToLiveOn: {\n title: copy.key_indicators_save.drawer_title,\n description: copy.key_indicators_save.drawer_description,\n stickyComponent: <SaveEnoughToLiveOnProgressBar />,\n content: <SaveEnoughToLiveOnDrawerContent />,\n drawerType: 'connectDrawer',\n connectTitle: copy.dont_see_all_your_accounts,\n connectDescription: copy.connect_more_accounts_to_view_more_accurate_financial_picture,\n },\n }\n\n const content = contentMapping[drawerFor]\n return (\n <KeyIndicatorsDrawer\n connectDescription={content?.connectDescription}\n connectTitle={content?.connectTitle}\n description={content?.description}\n drawerTitle={copy.key_indicators}\n drawerType={content.drawerType}\n isOpen={isOpen}\n loadConnectAccountsCard={true}\n onClose={onClose}\n stickyComponent={content.stickyComponent}\n title={content.title}\n >\n <Stack sx={{ gap: 16 }}>{content.content}</Stack>\n </KeyIndicatorsDrawer>\n )\n}\n\nexport default observer(KeyIndicatorsTabItemDrawer)\n"],"mappings":";;;;;;;;;;;;;;;;;AA2BA,IAAM,IAAA,CAA8B,EAClC,WAAA,GACA,QAAA,GACA,SAAA,EAAA,MACqC;AACrC,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GA4EzC,IAAU;AAAA,IA5Dd,sBAAsB;AAAA,MACpB,OACE,EAAK,qBAAqB,gCAAgC;AAAA,MAC5D,aACE,EAAK,qBAAqB,gCACvB;AAAA,MACL,iBAAiB,gBAAA,EAAC,GAAD,CAAkC,CAAA;AAAA,MACnD,SAAS,gBAAA,EAAC,GAAD,CAAgC,CAAA;AAAA,MACzC,YAAY;AAAA,MACZ,cAAc,EAAK;AAAA,MACnB,oBACE,EAAK;AAAA,IACT;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO,EAAK,qBAAqB,yBAAyB;AAAA,MAC1D,aAAa,EAAK,qBAAqB,yBAAyB;AAAA,MAChE,iBAAiB,gBAAA,EAAC,GAAD,CAAgC,CAAA;AAAA,MACjD,SAAS,gBAAA,EAAC,GAAD,CAAgC,CAAA;AAAA,MACzC,YAAY;AAAA,MACZ,cAAc,EAAK;AAAA,MACnB,oBACE,EAAK;AAAA,IACT;AAAA,IACA,0BAA0B;AAAA,MACxB,SAAS,gBAAA,EAAC,GAAD,CAAqC,CAAA;AAAA,MAC9C,aAAa,EAAK;AAAA,MAClB,iBAAiB,gBAAA,EAAC,GAAD,CAAoC,CAAA;AAAA,MACrD,OAAO,EAAK;AAAA,MACZ,YAAY;AAAA,MACZ,cAAc,EAAK;AAAA,MACnB,oBACE,EAAK;AAAA,IACT;AAAA,IACA,oBAAoB;AAAA,MAClB,OAAO,EAAK,sBAAsB,4BAA4B;AAAA,MAC9D,aACE,EAAK,sBAAsB,4BAA4B;AAAA,MACzD,iBAAiB,gBAAA,EAAC,GAAD,CAAgC,CAAA;AAAA,MACjD,SAAS,gBAAA,EAAC,GAAD,CAA8B,CAAA;AAAA,MACvC,YAAY;AAAA,MACZ,cAAc,EAAK;AAAA,MACnB,oBAAoB,EAAK;AAAA,IAC3B;AAAA,IACA,sBAAsB;AAAA,MACpB,OAAO,gBAAA,EAAC,GAAD,CAAoB,CAAA;AAAA,MAC3B,aAAa,EAAK;AAAA,MAClB,iBAAiB;AAAA,MACjB,SAAS,gBAAA,EAAC,GAAD,CAAqB,CAAA;AAAA,IAChC;AAAA,IACA,oBAAoB;AAAA,MAClB,OAAO,EAAK,oBAAoB;AAAA,MAChC,aAAa,EAAK,oBAAoB;AAAA,MACtC,iBAAiB,gBAAA,EAAC,GAAD,CAAgC,CAAA;AAAA,MACjD,SAAS,gBAAA,EAAC,GAAD,CAAkC,CAAA;AAAA,MAC3C,YAAY;AAAA,MACZ,cAAc,EAAK;AAAA,MACnB,oBAAoB,EAAK;AAAA,IAC3B;AAAA,EAGc,EAAe,CAAA;AAC/B,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,oBAAoB,GAAS;AAAA,IAC7B,cAAc,GAAS;AAAA,IACvB,aAAa,GAAS;AAAA,IACtB,aAAa,EAAK;AAAA,IAClB,YAAY,EAAQ;AAAA,IACZ,QAAA;AAAA,IACR,yBAAyB;AAAA,IAChB,SAAA;AAAA,IACT,iBAAiB,EAAQ;AAAA,IACzB,OAAO,EAAQ;AAAA,cAEf,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI,EAAE,KAAK,GAAG;AAAA,gBAAI,EAAQ;AAAA,IAAe,CAAA;AAAA,EAC7B,CAAA;AAEzB,GAEA,IAAe,EAAS,CAA0B"}
1
+ {"version":3,"file":"KeyIndicatorsTabItemDrawer.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsTabItemDrawer.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { useGlobalCopyStore } from '../../common'\nimport { KeyIndicatorsTabItemType } from '../constants'\n\nimport CreditScoreContent from './CreditScore/CreditScoreContent'\nimport CreditScoreHeader from './CreditScore/CreditScoreHeader'\nimport KeyIndicatorsDrawer from './KeyIndicatorsDrawer'\nimport MaintainingEmergencySavingsContent from './MaintainingEmergencySavings/MaintainingEmergencySavingsContent'\nimport MaintainingEmergencySavingsSticky from './MaintainingEmergencySavings/MaintainingEmergencySavingsSticky'\nimport PayBillsOnTimeDrawerComponent from './paybillsontime/PayBillsOnTimeDrawerComponent'\nimport PayBillsOnTimeStickyComponent from './paybillsontime/PayBillsOnTimeStickyComponent'\nimport SaveEnoughToLiveOnDrawerContent from './SaveEnoughToLiveOn/SaveEnoughToLiveOnDrawerContent'\nimport SaveEnoughToLiveOnProgressBar from './SaveEnoughToLiveOn/SaveEnoughToLiveOnProgressBar'\nimport HaveManageableDebtProgressBar from './HaveManageableDebt/HaveManageableDebtProgressBar'\nimport HaveManageableDebtComponent from './HaveManageableDebt/HaveManageableDebtComponent'\nimport SpendLessThanYouMakeProgressBar from './SpendLessThanYouMake/SpendLessThanYouMakeProgressBar'\nimport SpendLessThanYouMakeComponent from './SpendLessThanYouMake/SpendLessThanYouMakeComponent'\n\ninterface KeyIndicatorsTabItemDrawerProps {\n drawerFor: KeyIndicatorsTabItemType\n isOpen: boolean\n onClose: () => void\n}\n\nconst KeyIndicatorsTabItemDrawer = ({\n drawerFor,\n isOpen,\n onClose,\n}: KeyIndicatorsTabItemDrawerProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n //TODO : When the Drawer for key indicators other than Save Enough To Live On are implemented,\n // add their respective content, titles, descriptions, and sticky components here.\n const contentMapping: Record<\n KeyIndicatorsTabItemType,\n {\n connectTitle?: string\n connectDescription?: string\n title: React.ReactNode\n description: string\n stickyComponent: React.ReactNode\n content: React.ReactNode\n drawerType?: 'connectDrawer' | 'connectionsDrawer'\n }\n > = {\n spendLessThanYouMake: {\n title:\n copy.key_indicators_spend.spend_less_than_you_make_drawer.spend_less_than_you_make_title,\n description:\n copy.key_indicators_spend.spend_less_than_you_make_drawer\n .spend_less_than_you_make_description,\n stickyComponent: <SpendLessThanYouMakeProgressBar />,\n content: <SpendLessThanYouMakeComponent />,\n drawerType: 'connectDrawer',\n connectTitle: copy.connect_your_accounts,\n connectDescription:\n copy.connect_more_accounts_to_unlock_a_fuller_understanding_of_your_finances,\n },\n payBillsOnTime: {\n title: copy.key_indicators_spend.pay_bills_on_time_drawer.pay_bills_on_time_title,\n description: copy.key_indicators_spend.pay_bills_on_time_drawer.pay_bills_on_time_description,\n stickyComponent: <PayBillsOnTimeStickyComponent />,\n content: <PayBillsOnTimeDrawerComponent />,\n drawerType: 'connectDrawer',\n connectTitle: copy.connect_your_accounts,\n connectDescription:\n copy.connect_more_accounts_to_unlock_a_fuller_understanding_of_your_finances,\n },\n maintainEmergencySavings: {\n content: <MaintainingEmergencySavingsContent />,\n description: copy.maintain_emergency_savings_description,\n stickyComponent: <MaintainingEmergencySavingsSticky />,\n title: copy.maintain_emergency_savings_title,\n drawerType: 'connectDrawer',\n connectTitle: copy.connect_your_accounts,\n connectDescription:\n copy.connect_more_accounts_to_unlock_a_fuller_understanding_of_your_finances,\n },\n haveManageableDebt: {\n title: copy.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_title,\n description:\n copy.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_description,\n stickyComponent: <HaveManageableDebtProgressBar />,\n content: <HaveManageableDebtComponent />,\n drawerType: 'connectDrawer',\n connectTitle: copy.dont_see_all_your_accounts,\n connectDescription: copy.connect_more_accounts_to_view_more_accurate_financial_picture,\n },\n haveAGoodCreditScore: {\n title: <CreditScoreHeader />,\n description: copy.credit_score_description,\n stickyComponent: null,\n content: <CreditScoreContent />,\n },\n saveEnoughToLiveOn: {\n title: copy.key_indicators_save.drawer_title,\n description: copy.key_indicators_save.drawer_description,\n stickyComponent: <SaveEnoughToLiveOnProgressBar />,\n content: <SaveEnoughToLiveOnDrawerContent />,\n drawerType: 'connectDrawer',\n connectTitle: copy.dont_see_all_your_accounts,\n connectDescription: copy.connect_more_accounts_to_view_more_accurate_financial_picture,\n },\n }\n\n const content = contentMapping[drawerFor]\n return (\n <KeyIndicatorsDrawer\n connectDescription={content?.connectDescription}\n connectTitle={content?.connectTitle}\n description={content?.description}\n drawerTitle={copy.key_indicators}\n drawerType={content.drawerType}\n isOpen={isOpen}\n loadConnectAccountsCard={true}\n onClose={onClose}\n stickyComponent={content.stickyComponent}\n title={content.title}\n >\n <Stack sx={{ gap: 16 }}>{content.content}</Stack>\n </KeyIndicatorsDrawer>\n )\n}\n\nexport default observer(KeyIndicatorsTabItemDrawer)\n"],"mappings":";;;;;;;;;;;;;;;;;AA2BA,IAAM,IAAA,CAA8B,EAClC,WAAA,GACA,QAAA,GACA,SAAA,EAAA,MACqC;AACrC,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GA4EzC,IAAU;AAAA,IA5Dd,sBAAsB;AAAA,MACpB,OACE,EAAK,qBAAqB,gCAAgC;AAAA,MAC5D,aACE,EAAK,qBAAqB,gCACvB;AAAA,MACL,iBAAiB,gBAAA,EAAC,GAAD,CAAkC,CAAA;AAAA,MACnD,SAAS,gBAAA,EAAC,GAAD,CAAgC,CAAA;AAAA,MACzC,YAAY;AAAA,MACZ,cAAc,EAAK;AAAA,MACnB,oBACE,EAAK;AAAA,IACT;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO,EAAK,qBAAqB,yBAAyB;AAAA,MAC1D,aAAa,EAAK,qBAAqB,yBAAyB;AAAA,MAChE,iBAAiB,gBAAA,EAAC,GAAD,CAAgC,CAAA;AAAA,MACjD,SAAS,gBAAA,EAAC,GAAD,CAAgC,CAAA;AAAA,MACzC,YAAY;AAAA,MACZ,cAAc,EAAK;AAAA,MACnB,oBACE,EAAK;AAAA,IACT;AAAA,IACA,0BAA0B;AAAA,MACxB,SAAS,gBAAA,EAAC,GAAD,CAAqC,CAAA;AAAA,MAC9C,aAAa,EAAK;AAAA,MAClB,iBAAiB,gBAAA,EAAC,GAAD,CAAoC,CAAA;AAAA,MACrD,OAAO,EAAK;AAAA,MACZ,YAAY;AAAA,MACZ,cAAc,EAAK;AAAA,MACnB,oBACE,EAAK;AAAA,IACT;AAAA,IACA,oBAAoB;AAAA,MAClB,OAAO,EAAK,sBAAsB,4BAA4B;AAAA,MAC9D,aACE,EAAK,sBAAsB,4BAA4B;AAAA,MACzD,iBAAiB,gBAAA,EAAC,GAAD,CAAgC,CAAA;AAAA,MACjD,SAAS,gBAAA,EAAC,GAAD,CAA8B,CAAA;AAAA,MACvC,YAAY;AAAA,MACZ,cAAc,EAAK;AAAA,MACnB,oBAAoB,EAAK;AAAA,IAC3B;AAAA,IACA,sBAAsB;AAAA,MACpB,OAAO,gBAAA,EAAC,GAAD,CAAoB,CAAA;AAAA,MAC3B,aAAa,EAAK;AAAA,MAClB,iBAAiB;AAAA,MACjB,SAAS,gBAAA,EAAC,GAAD,CAAqB,CAAA;AAAA,IAChC;AAAA,IACA,oBAAoB;AAAA,MAClB,OAAO,EAAK,oBAAoB;AAAA,MAChC,aAAa,EAAK,oBAAoB;AAAA,MACtC,iBAAiB,gBAAA,EAAC,GAAD,CAAgC,CAAA;AAAA,MACjD,SAAS,gBAAA,EAAC,GAAD,CAAkC,CAAA;AAAA,MAC3C,YAAY;AAAA,MACZ,cAAc,EAAK;AAAA,MACnB,oBAAoB,EAAK;AAAA,IAC3B;AAAA,EAGc,EAAe,CAAA;AAC/B,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,oBAAoB,GAAS;AAAA,IAC7B,cAAc,GAAS;AAAA,IACvB,aAAa,GAAS;AAAA,IACtB,aAAa,EAAK;AAAA,IAClB,YAAY,EAAQ;AAAA,IACZ,QAAA;AAAA,IACR,yBAAyB;AAAA,IAChB,SAAA;AAAA,IACT,iBAAiB,EAAQ;AAAA,IACzB,OAAO,EAAQ;AAAA,IAEf,UAAA,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI,EAAE,KAAK,GAAG;AAAA,MAAI,UAAA,EAAQ;AAAA,IAAe,CAAA;AAAA,EAC7B,CAAA;AAEzB,GAEA,IAAe,EAAS,CAA0B"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyIndicatorsTabsWidget.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsTabsWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Tab from '@mui/material/Tab'\nimport Tabs from '@mui/material/Tabs'\n\nimport { CreditCard, ContentCopy, Savings } from '@mxenabled/mx-icons'\n\nimport { TabContentContainer, useGlobalCopyStore } from '../../common'\n\nimport KeyIndicatorsSpendTab from './KeyIndicatorsSpendTab'\nimport KeyIndicatorsSaveTab from './KeyIndicatorsSaveTab'\nimport KeyIndicatorsBorrowTab from './KeyIndicatorsBorrowTab'\n\nconst KeyIndicatorsTabsWidget: React.FC = () => {\n const [tabValue, setTabValue] = React.useState(0)\n const { finstrong: copy } = useGlobalCopyStore()\n\n return (\n <>\n <Tabs\n aria-label={'Key Indicators'}\n centered={true}\n onChange={(_, val) => setTabValue(val)}\n selectionFollowsFocus={true}\n sx={{\n mb: 0,\n '& .MuiTab-root': {\n minWidth: 0,\n },\n }}\n textColor=\"primary\"\n value={tabValue}\n variant=\"fullWidth\"\n >\n <Tab\n aria-controls=\"spend-details-tabpanel-0\"\n icon={<CreditCard sx={{ mr: 8 }} />}\n iconPosition=\"start\"\n id=\"spend-details-tab-0\"\n label={copy.key_indicators_spend.title}\n sx={{ minHeight: 44 }} // TODO : remove it once the theme is updated\n />\n <Tab\n aria-controls=\"save-details-tabpanel-1\"\n icon={<Savings sx={{ mr: 8 }} />}\n iconPosition=\"start\"\n id=\"save-details-tab-1\"\n label={copy.key_indicators_save.title}\n sx={{ minHeight: 44 }} // TODO : remove it once the theme is updated\n />\n <Tab\n aria-controls=\"borrow-details-tabpanel-2\"\n icon={<ContentCopy sx={{ mr: 8 }} />}\n iconPosition=\"start\"\n id=\"borrow-details-tab-2\"\n label={copy.key_indicators_borrow.title}\n sx={{ minHeight: 44 }} // TODO : remove it once the theme is updated\n />\n </Tabs>\n\n <TabContentContainer index={0} name=\"spend-details\" value={tabValue}>\n <KeyIndicatorsSpendTab />\n </TabContentContainer>\n\n <TabContentContainer index={1} name=\"save-details\" value={tabValue}>\n <KeyIndicatorsSaveTab />\n </TabContentContainer>\n\n <TabContentContainer index={2} name=\"borrow-details\" value={tabValue}>\n <KeyIndicatorsBorrowTab />\n </TabContentContainer>\n </>\n )\n}\n\nexport default observer(KeyIndicatorsTabsWidget)\n"],"mappings":";;;;;;;;;;;AAcA,IAAM,IAAA,MAA0C;AAC9C,QAAM,CAAC,GAAU,CAAA,IAAe,EAAM,SAAS,CAAC,GAC1C,EAAE,WAAW,EAAA,IAAS,EAAmB;AAE/C,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MACE,cAAY;AAAA,MACZ,UAAU;AAAA,MACV,UAAA,CAAW,GAAG,MAAQ,EAAY,CAAG;AAAA,MACrC,uBAAuB;AAAA,MACvB,IAAI;AAAA,QACF,IAAI;AAAA,QACJ,kBAAkB,EAChB,UAAU,EACZ;AAAA,MACF;AAAA,MACA,WAAU;AAAA,MACV,OAAO;AAAA,MACP,SAAQ;AAAA,gBAbV;AAAA,QAeE,gBAAA,EAAC,GAAD;AAAA,UACE,iBAAc;AAAA,UACd,MAAM,gBAAA,EAAC,GAAD,EAAY,IAAI,EAAE,IAAI,EAAE,EAAI,CAAA;AAAA,UAClC,cAAa;AAAA,UACb,IAAG;AAAA,UACH,OAAO,EAAK,qBAAqB;AAAA,UACjC,IAAI,EAAE,WAAW,GAAG;AAAA,QACrB,CAAA;AAAA,QACD,gBAAA,EAAC,GAAD;AAAA,UACE,iBAAc;AAAA,UACd,MAAM,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,IAAI,EAAE,EAAI,CAAA;AAAA,UAC/B,cAAa;AAAA,UACb,IAAG;AAAA,UACH,OAAO,EAAK,oBAAoB;AAAA,UAChC,IAAI,EAAE,WAAW,GAAG;AAAA,QACrB,CAAA;AAAA,QACD,gBAAA,EAAC,GAAD;AAAA,UACE,iBAAc;AAAA,UACd,MAAM,gBAAA,EAAC,GAAD,EAAa,IAAI,EAAE,IAAI,EAAE,EAAI,CAAA;AAAA,UACnC,cAAa;AAAA,UACb,IAAG;AAAA,UACH,OAAO,EAAK,sBAAsB;AAAA,UAClC,IAAI,EAAE,WAAW,GAAG;AAAA,QACrB,CAAA;AAAA,MACG;AAAA;IAEN,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAgB,OAAO;AAAA,gBACzD,gBAAA,EAAC,GAAD,CAAwB,CAAA;AAAA,IACL,CAAA;AAAA,IAErB,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAe,OAAO;AAAA,gBACxD,gBAAA,EAAC,GAAD,CAAuB,CAAA;AAAA,IACJ,CAAA;AAAA,IAErB,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAiB,OAAO;AAAA,gBAC1D,gBAAA,EAAC,GAAD,CAAyB,CAAA;AAAA,IACN,CAAA;AAAA,EACrB,EAAA,CAAA;AAEN,GAEA,IAAe,EAAS,CAAuB"}
1
+ {"version":3,"file":"KeyIndicatorsTabsWidget.es.js","names":[],"sources":["../../../src/finstrong/components/KeyIndicatorsTabsWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Tab from '@mui/material/Tab'\nimport Tabs from '@mui/material/Tabs'\n\nimport { CreditCard, ContentCopy, Savings } from '@mxenabled/mx-icons'\n\nimport { TabContentContainer, useGlobalCopyStore } from '../../common'\n\nimport KeyIndicatorsSpendTab from './KeyIndicatorsSpendTab'\nimport KeyIndicatorsSaveTab from './KeyIndicatorsSaveTab'\nimport KeyIndicatorsBorrowTab from './KeyIndicatorsBorrowTab'\n\nconst KeyIndicatorsTabsWidget: React.FC = () => {\n const [tabValue, setTabValue] = React.useState(0)\n const { finstrong: copy } = useGlobalCopyStore()\n\n return (\n <>\n <Tabs\n aria-label={'Key Indicators'}\n centered={true}\n onChange={(_, val) => setTabValue(val)}\n selectionFollowsFocus={true}\n sx={{\n mb: 0,\n '& .MuiTab-root': {\n minWidth: 0,\n },\n }}\n textColor=\"primary\"\n value={tabValue}\n variant=\"fullWidth\"\n >\n <Tab\n aria-controls=\"spend-details-tabpanel-0\"\n icon={<CreditCard sx={{ mr: 8 }} />}\n iconPosition=\"start\"\n id=\"spend-details-tab-0\"\n label={copy.key_indicators_spend.title}\n sx={{ minHeight: 44 }} // TODO : remove it once the theme is updated\n />\n <Tab\n aria-controls=\"save-details-tabpanel-1\"\n icon={<Savings sx={{ mr: 8 }} />}\n iconPosition=\"start\"\n id=\"save-details-tab-1\"\n label={copy.key_indicators_save.title}\n sx={{ minHeight: 44 }} // TODO : remove it once the theme is updated\n />\n <Tab\n aria-controls=\"borrow-details-tabpanel-2\"\n icon={<ContentCopy sx={{ mr: 8 }} />}\n iconPosition=\"start\"\n id=\"borrow-details-tab-2\"\n label={copy.key_indicators_borrow.title}\n sx={{ minHeight: 44 }} // TODO : remove it once the theme is updated\n />\n </Tabs>\n\n <TabContentContainer index={0} name=\"spend-details\" value={tabValue}>\n <KeyIndicatorsSpendTab />\n </TabContentContainer>\n\n <TabContentContainer index={1} name=\"save-details\" value={tabValue}>\n <KeyIndicatorsSaveTab />\n </TabContentContainer>\n\n <TabContentContainer index={2} name=\"borrow-details\" value={tabValue}>\n <KeyIndicatorsBorrowTab />\n </TabContentContainer>\n </>\n )\n}\n\nexport default observer(KeyIndicatorsTabsWidget)\n"],"mappings":";;;;;;;;;;;AAcA,IAAM,IAAA,MAA0C;AAC9C,QAAM,CAAC,GAAU,CAAA,IAAe,EAAM,SAAS,CAAC,GAC1C,EAAE,WAAW,EAAA,IAAS,EAAmB;AAE/C,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MACE,cAAY;AAAA,MACZ,UAAU;AAAA,MACV,UAAA,CAAW,GAAG,MAAQ,EAAY,CAAG;AAAA,MACrC,uBAAuB;AAAA,MACvB,IAAI;AAAA,QACF,IAAI;AAAA,QACJ,kBAAkB,EAChB,UAAU,EACZ;AAAA,MACF;AAAA,MACA,WAAU;AAAA,MACV,OAAO;AAAA,MACP,SAAQ;AAAA,MAbV,UAAA;AAAA,QAeE,gBAAA,EAAC,GAAD;AAAA,UACE,iBAAc;AAAA,UACd,MAAM,gBAAA,EAAC,GAAD,EAAY,IAAI,EAAE,IAAI,EAAE,EAAI,CAAA;AAAA,UAClC,cAAa;AAAA,UACb,IAAG;AAAA,UACH,OAAO,EAAK,qBAAqB;AAAA,UACjC,IAAI,EAAE,WAAW,GAAG;AAAA,QACrB,CAAA;AAAA,QACD,gBAAA,EAAC,GAAD;AAAA,UACE,iBAAc;AAAA,UACd,MAAM,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,IAAI,EAAE,EAAI,CAAA;AAAA,UAC/B,cAAa;AAAA,UACb,IAAG;AAAA,UACH,OAAO,EAAK,oBAAoB;AAAA,UAChC,IAAI,EAAE,WAAW,GAAG;AAAA,QACrB,CAAA;AAAA,QACD,gBAAA,EAAC,GAAD;AAAA,UACE,iBAAc;AAAA,UACd,MAAM,gBAAA,EAAC,GAAD,EAAa,IAAI,EAAE,IAAI,EAAE,EAAI,CAAA;AAAA,UACnC,cAAa;AAAA,UACb,IAAG;AAAA,UACH,OAAO,EAAK,sBAAsB;AAAA,UAClC,IAAI,EAAE,WAAW,GAAG;AAAA,QACrB,CAAA;AAAA,MACG;AAAA;IAEN,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAgB,OAAO;AAAA,MACzD,UAAA,gBAAA,EAAC,GAAD,CAAwB,CAAA;AAAA,IACL,CAAA;AAAA,IAErB,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAe,OAAO;AAAA,MACxD,UAAA,gBAAA,EAAC,GAAD,CAAuB,CAAA;AAAA,IACJ,CAAA;AAAA,IAErB,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAiB,OAAO;AAAA,MAC1D,UAAA,gBAAA,EAAC,GAAD,CAAyB,CAAA;AAAA,IACN,CAAA;AAAA,EACrB,EAAA,CAAA;AAEN,GAEA,IAAe,EAAS,CAAuB"}
@@ -1 +1 @@
1
- {"version":3,"file":"EstimatedContributionCalculator.es.js","names":[],"sources":["../../../../src/finstrong/components/MaintainingEmergencySavings/EstimatedContributionCalculator.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 Card from '@mui/material/Card'\nimport Stack from '@mui/material/Stack'\nimport TextField from '@mui/material/TextField'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { Select, useGlobalCopyStore } from '../../../common'\nimport { DurationUnit, ContributeFrequency } from '../../../core/types/Finstrong'\n\nimport {\n calculateContribution,\n getInitialContributionPeriod,\n getInitialTargetPeriodAmount,\n} from '../../util/finstrongUtils'\n\nimport TotalCard from '../shared/TotalCard'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\nconst EstimatedContributionCalculator = ({ total }: { total: number }) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const frequencies = [\n { id: ContributeFrequency.Monthly, label: copy.maintain_emergency_savings_monthly },\n { id: ContributeFrequency.BiWeekly, label: copy.maintain_emergency_savings_bi_weekly },\n { id: ContributeFrequency.Weekly, label: copy.maintain_emergency_savings_weekly },\n { id: ContributeFrequency.Daily, label: copy.maintain_emergency_savings_daily },\n ]\n\n const frequencyPeriodLabels = {\n [ContributeFrequency.Monthly]: copy.maintain_emergency_savings_estimated_period_monthly,\n [ContributeFrequency.BiWeekly]: copy.maintain_emergency_savings_estimated_period_bi_weekly,\n [ContributeFrequency.Weekly]: copy.maintain_emergency_savings_estimated_period_weekly,\n [ContributeFrequency.Daily]: copy.maintain_emergency_savings_estimated_period_daily,\n }\n\n const series = [\n { id: DurationUnit.Months, label: copy.maintain_emergency_savings_months },\n { id: DurationUnit.Years, label: copy.maintain_emergency_savings_years },\n { id: DurationUnit.Days, label: copy.maintain_emergency_savings_days },\n ]\n\n const initialGoalAmount = Math.ceil((total + 1) / 1000) * 1000\n\n const [calculatedContribution, setCalculatedContribution] = React.useState<number>(0)\n const [calculatedContributionPerPeriod, setCalculatedContributionPerPeriod] =\n React.useState<ContributeFrequency>(getInitialContributionPeriod(total))\n const [contribution, setContribution] = React.useState<ContributeFrequency>(\n getInitialContributionPeriod(total),\n )\n const [goalAmount, setGoalAmount] = React.useState<number>(initialGoalAmount)\n const [goalPeriod, setGoalPeriod] = React.useState<number>(getInitialTargetPeriodAmount(total))\n const [targetPeriod, setTargetPeriod] = React.useState<DurationUnit>(DurationUnit.Months)\n\n React.useEffect(() => {\n setCalculatedContribution(\n calculateContribution({\n contribution,\n goalAmount,\n goalPeriod,\n targetPeriod,\n totalSaved: total,\n }),\n )\n setCalculatedContributionPerPeriod(contribution)\n }, [])\n\n const handleCalculate = (e: React.FormEvent) => {\n e.preventDefault()\n\n setCalculatedContribution(\n calculateContribution({\n contribution,\n goalAmount,\n goalPeriod,\n targetPeriod,\n totalSaved: total,\n }),\n )\n setCalculatedContributionPerPeriod(contribution)\n }\n\n return (\n <Card>\n <form onSubmit={handleCalculate}>\n <Stack sx={{ gap: 24, pb: 24, pt: 16, px: 16 }}>\n <TotalCard\n balance={\n <Stack sx={{ flexDirection: 'row', height: 32 }}>\n <Text variant=\"h2\">{formatCurrency(calculatedContribution, '0,0')}</Text>\n <Text sx={{ alignSelf: 'end', height: 24 }} variant=\"subtitle2\">\n /{frequencyPeriodLabels[calculatedContributionPerPeriod]}\n </Text>\n </Stack>\n }\n title={copy.maintain_emergency_savings_estimated_contribution}\n />\n\n <TextField\n aria-label={copy.maintain_emergency_savings_savings_goal}\n helperText={\n buildDynamicCopy(\n copy.maintain_emergency_savings_suggested_goal,\n formatCurrency(initialGoalAmount, '0,0'),\n ) as string\n }\n label={copy.maintain_emergency_savings_savings_goal}\n onChange={(e) => {\n if (e.target.value) setGoalAmount(Number(e.target.value.replace(/[^0-9]/g, '')))\n }}\n slotProps={{\n htmlInput: {\n noValidate: true,\n pattern: '[0-9]*',\n },\n }}\n value={goalAmount ? formatCurrency(goalAmount, '0,0') : ''}\n />\n <Select\n label={copy.maintain_emergency_savings_how_often_contribute}\n onChange={setContribution}\n options={frequencies}\n required={true}\n value={contribution}\n />\n <Stack sx={{ flexDirection: 'row' }}>\n <TextField\n aria-label={copy.maintain_emergency_savings_meet_your_goal_within}\n fullWidth={true}\n label={copy.maintain_emergency_savings_meet_your_goal_within}\n onChange={(e) => {\n if (!isNaN(Number(e.target.value))) setGoalPeriod(Number(e.target.value))\n }}\n slotProps={{\n htmlInput: {\n noValidate: true,\n pattern: '[0-9]*',\n },\n }}\n sx={{\n '& .MuiInputBase-root': {\n borderBottomRightRadius: 0,\n borderTopRightRadius: 0,\n fieldset: {\n borderRightWidth: 0.5,\n },\n },\n }}\n value={goalPeriod}\n />\n <Box\n sx={{\n '& .MuiInputBase-root': {\n borderBottomLeftRadius: 0,\n borderTopLeftRadius: 0,\n fieldset: {\n borderLeftWidth: 0.5,\n },\n },\n }}\n >\n <Select label=\"\" onChange={setTargetPeriod} options={series} value={targetPeriod} />\n </Box>\n </Stack>\n <Button fullWidth={true} onClick={handleCalculate} type=\"submit\" variant=\"contained\">\n {copy.maintain_emergency_savings_calculate}\n </Button>\n </Stack>\n </form>\n </Card>\n )\n}\n\nexport default observer(EstimatedContributionCalculator)\n"],"mappings":"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"}
1
+ {"version":3,"file":"EstimatedContributionCalculator.es.js","names":[],"sources":["../../../../src/finstrong/components/MaintainingEmergencySavings/EstimatedContributionCalculator.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 Card from '@mui/material/Card'\nimport Stack from '@mui/material/Stack'\nimport TextField from '@mui/material/TextField'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { Select, useGlobalCopyStore } from '../../../common'\nimport { DurationUnit, ContributeFrequency } from '../../../core/types/Finstrong'\n\nimport {\n calculateContribution,\n getInitialContributionPeriod,\n getInitialTargetPeriodAmount,\n} from '../../util/finstrongUtils'\n\nimport TotalCard from '../shared/TotalCard'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\nconst EstimatedContributionCalculator = ({ total }: { total: number }) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const frequencies = [\n { id: ContributeFrequency.Monthly, label: copy.maintain_emergency_savings_monthly },\n { id: ContributeFrequency.BiWeekly, label: copy.maintain_emergency_savings_bi_weekly },\n { id: ContributeFrequency.Weekly, label: copy.maintain_emergency_savings_weekly },\n { id: ContributeFrequency.Daily, label: copy.maintain_emergency_savings_daily },\n ]\n\n const frequencyPeriodLabels = {\n [ContributeFrequency.Monthly]: copy.maintain_emergency_savings_estimated_period_monthly,\n [ContributeFrequency.BiWeekly]: copy.maintain_emergency_savings_estimated_period_bi_weekly,\n [ContributeFrequency.Weekly]: copy.maintain_emergency_savings_estimated_period_weekly,\n [ContributeFrequency.Daily]: copy.maintain_emergency_savings_estimated_period_daily,\n }\n\n const series = [\n { id: DurationUnit.Months, label: copy.maintain_emergency_savings_months },\n { id: DurationUnit.Years, label: copy.maintain_emergency_savings_years },\n { id: DurationUnit.Days, label: copy.maintain_emergency_savings_days },\n ]\n\n const initialGoalAmount = Math.ceil((total + 1) / 1000) * 1000\n\n const [calculatedContribution, setCalculatedContribution] = React.useState<number>(0)\n const [calculatedContributionPerPeriod, setCalculatedContributionPerPeriod] =\n React.useState<ContributeFrequency>(getInitialContributionPeriod(total))\n const [contribution, setContribution] = React.useState<ContributeFrequency>(\n getInitialContributionPeriod(total),\n )\n const [goalAmount, setGoalAmount] = React.useState<number>(initialGoalAmount)\n const [goalPeriod, setGoalPeriod] = React.useState<number>(getInitialTargetPeriodAmount(total))\n const [targetPeriod, setTargetPeriod] = React.useState<DurationUnit>(DurationUnit.Months)\n\n React.useEffect(() => {\n setCalculatedContribution(\n calculateContribution({\n contribution,\n goalAmount,\n goalPeriod,\n targetPeriod,\n totalSaved: total,\n }),\n )\n setCalculatedContributionPerPeriod(contribution)\n }, [])\n\n const handleCalculate = (e: React.FormEvent) => {\n e.preventDefault()\n\n setCalculatedContribution(\n calculateContribution({\n contribution,\n goalAmount,\n goalPeriod,\n targetPeriod,\n totalSaved: total,\n }),\n )\n setCalculatedContributionPerPeriod(contribution)\n }\n\n return (\n <Card>\n <form onSubmit={handleCalculate}>\n <Stack sx={{ gap: 24, pb: 24, pt: 16, px: 16 }}>\n <TotalCard\n balance={\n <Stack sx={{ flexDirection: 'row', height: 32 }}>\n <Text variant=\"h2\">{formatCurrency(calculatedContribution, '0,0')}</Text>\n <Text sx={{ alignSelf: 'end', height: 24 }} variant=\"subtitle2\">\n /{frequencyPeriodLabels[calculatedContributionPerPeriod]}\n </Text>\n </Stack>\n }\n title={copy.maintain_emergency_savings_estimated_contribution}\n />\n\n <TextField\n aria-label={copy.maintain_emergency_savings_savings_goal}\n helperText={\n buildDynamicCopy(\n copy.maintain_emergency_savings_suggested_goal,\n formatCurrency(initialGoalAmount, '0,0'),\n ) as string\n }\n label={copy.maintain_emergency_savings_savings_goal}\n onChange={(e) => {\n if (e.target.value) setGoalAmount(Number(e.target.value.replace(/[^0-9]/g, '')))\n }}\n slotProps={{\n htmlInput: {\n noValidate: true,\n pattern: '[0-9]*',\n },\n }}\n value={goalAmount ? formatCurrency(goalAmount, '0,0') : ''}\n />\n <Select\n label={copy.maintain_emergency_savings_how_often_contribute}\n onChange={setContribution}\n options={frequencies}\n required={true}\n value={contribution}\n />\n <Stack sx={{ flexDirection: 'row' }}>\n <TextField\n aria-label={copy.maintain_emergency_savings_meet_your_goal_within}\n fullWidth={true}\n label={copy.maintain_emergency_savings_meet_your_goal_within}\n onChange={(e) => {\n if (!isNaN(Number(e.target.value))) setGoalPeriod(Number(e.target.value))\n }}\n slotProps={{\n htmlInput: {\n noValidate: true,\n pattern: '[0-9]*',\n },\n }}\n sx={{\n '& .MuiInputBase-root': {\n borderBottomRightRadius: 0,\n borderTopRightRadius: 0,\n fieldset: {\n borderRightWidth: 0.5,\n },\n },\n }}\n value={goalPeriod}\n />\n <Box\n sx={{\n '& .MuiInputBase-root': {\n borderBottomLeftRadius: 0,\n borderTopLeftRadius: 0,\n fieldset: {\n borderLeftWidth: 0.5,\n },\n },\n }}\n >\n <Select label=\"\" onChange={setTargetPeriod} options={series} value={targetPeriod} />\n </Box>\n </Stack>\n <Button fullWidth={true} onClick={handleCalculate} type=\"submit\" variant=\"contained\">\n {copy.maintain_emergency_savings_calculate}\n </Button>\n </Stack>\n </form>\n </Card>\n )\n}\n\nexport default observer(EstimatedContributionCalculator)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MaintainingEmergencySavingsContent.es.js","names":[],"sources":["../../../../src/finstrong/components/MaintainingEmergencySavings/MaintainingEmergencySavingsContent.tsx"],"sourcesContent":["import React from 'react'\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'\n\nimport { ConnectDrawer, useAccountStore, useGlobalCopyStore } from '../../../common'\nimport { AccountType } from '../../../core'\n\nimport Accounts from '../shared/Accounts'\nimport TotalCard from '../shared/TotalCard'\n\nimport EstimatedContributionCalculator from './EstimatedContributionCalculator'\n\nconst MaintainingEmergencySavingsContent = () => {\n const { savingsAccounts } = useAccountStore()\n const { finstrong: copy } = useGlobalCopyStore()\n\n const [isConnectDrawerOpen, setIsConnectDrawerOpen] = React.useState(false)\n\n const total = React.useMemo(\n () => savingsAccounts.reduce((acc, account) => acc + (account.balance ?? 0), 0),\n [savingsAccounts],\n )\n\n return (\n <Stack sx={{ gap: 24 }}>\n <Card sx={{ bgcolor: 'background.paper', p: 16 }}>\n <Stack sx={{ gap: 16 }}>\n <TotalCard balance={total} title={copy.maintain_emergency_savings_your_savings} />\n {savingsAccounts.length ? (\n <Accounts\n loadAccounts={[AccountType.SAVINGS]}\n loadMoreLabel={copy.connect_more_accounts_button}\n />\n ) : (\n <Button onClick={() => setIsConnectDrawerOpen(true)} variant=\"contained\">\n {copy.connect_more_accounts_button}\n </Button>\n )}\n </Stack>\n </Card>\n <EstimatedContributionCalculator total={total} />\n <ConnectDrawer\n onClose={() => setIsConnectDrawerOpen(false)}\n showConnectWidget={isConnectDrawerOpen}\n title={copy.connect_more_accounts_button}\n />\n </Stack>\n )\n}\n\nexport default observer(MaintainingEmergencySavingsContent)\n"],"mappings":";;;;;;;;;;;;AAeA,IAAM,IAAA,MAA2C;AAC/C,QAAM,EAAE,iBAAA,EAAA,IAAoB,EAAgB,GACtC,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,CAAC,GAAqB,CAAA,IAA0B,EAAM,SAAS,EAAK,GAEpE,IAAQ,EAAM,QAAA,MACZ,EAAgB,OAAA,CAAQ,GAAK,MAAY,KAAO,EAAQ,WAAW,IAAI,CAAC,GAC9E,CAAC,CAAe,CAClB;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI,EAAE,KAAK,GAAG;AAAA,cAArB;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QAAM,IAAI;AAAA,UAAE,SAAS;AAAA,UAAoB,GAAG;AAAA,QAAG;AAAA,kBAC7C,gBAAA,EAAC,GAAD;AAAA,UAAO,IAAI,EAAE,KAAK,GAAG;AAAA,oBAArB,CACE,gBAAA,EAAC,GAAD;AAAA,YAAW,SAAS;AAAA,YAAO,OAAO,EAAK;AAAA,UAA0C,CAAA,GAChF,EAAgB,SACf,gBAAA,EAAC,GAAD;AAAA,YACE,cAAc,CAAC,EAAY,OAAO;AAAA,YAClC,eAAe,EAAK;AAAA,UACrB,CAAA,IAED,gBAAA,EAAC,GAAD;AAAA,YAAQ,SAAA,MAAe,EAAuB,EAAI;AAAA,YAAG,SAAQ;AAAA,sBAC1D,EAAK;AAAA,UACA,CAAA,CAEL;AAAA;MACH,CAAA;AAAA,MACN,gBAAA,EAAC,GAAD,EAAwC,OAAA,EAAQ,CAAA;AAAA,MAChD,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe,EAAuB,EAAK;AAAA,QAC3C,mBAAmB;AAAA,QACnB,OAAO,EAAK;AAAA,MACb,CAAA;AAAA,IACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAkC"}
1
+ {"version":3,"file":"MaintainingEmergencySavingsContent.es.js","names":[],"sources":["../../../../src/finstrong/components/MaintainingEmergencySavings/MaintainingEmergencySavingsContent.tsx"],"sourcesContent":["import React from 'react'\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'\n\nimport { ConnectDrawer, useAccountStore, useGlobalCopyStore } from '../../../common'\nimport { AccountType } from '../../../core'\n\nimport Accounts from '../shared/Accounts'\nimport TotalCard from '../shared/TotalCard'\n\nimport EstimatedContributionCalculator from './EstimatedContributionCalculator'\n\nconst MaintainingEmergencySavingsContent = () => {\n const { savingsAccounts } = useAccountStore()\n const { finstrong: copy } = useGlobalCopyStore()\n\n const [isConnectDrawerOpen, setIsConnectDrawerOpen] = React.useState(false)\n\n const total = React.useMemo(\n () => savingsAccounts.reduce((acc, account) => acc + (account.balance ?? 0), 0),\n [savingsAccounts],\n )\n\n return (\n <Stack sx={{ gap: 24 }}>\n <Card sx={{ bgcolor: 'background.paper', p: 16 }}>\n <Stack sx={{ gap: 16 }}>\n <TotalCard balance={total} title={copy.maintain_emergency_savings_your_savings} />\n {savingsAccounts.length ? (\n <Accounts\n loadAccounts={[AccountType.SAVINGS]}\n loadMoreLabel={copy.connect_more_accounts_button}\n />\n ) : (\n <Button onClick={() => setIsConnectDrawerOpen(true)} variant=\"contained\">\n {copy.connect_more_accounts_button}\n </Button>\n )}\n </Stack>\n </Card>\n <EstimatedContributionCalculator total={total} />\n <ConnectDrawer\n onClose={() => setIsConnectDrawerOpen(false)}\n showConnectWidget={isConnectDrawerOpen}\n title={copy.connect_more_accounts_button}\n />\n </Stack>\n )\n}\n\nexport default observer(MaintainingEmergencySavingsContent)\n"],"mappings":";;;;;;;;;;;;AAeA,IAAM,IAAA,MAA2C;AAC/C,QAAM,EAAE,iBAAA,EAAA,IAAoB,EAAgB,GACtC,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,CAAC,GAAqB,CAAA,IAA0B,EAAM,SAAS,EAAK,GAEpE,IAAQ,EAAM,QAAA,MACZ,EAAgB,OAAA,CAAQ,GAAK,MAAY,KAAO,EAAQ,WAAW,IAAI,CAAC,GAC9E,CAAC,CAAe,CAClB;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI,EAAE,KAAK,GAAG;AAAA,IAArB,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QAAM,IAAI;AAAA,UAAE,SAAS;AAAA,UAAoB,GAAG;AAAA,QAAG;AAAA,QAC7C,UAAA,gBAAA,EAAC,GAAD;AAAA,UAAO,IAAI,EAAE,KAAK,GAAG;AAAA,UAArB,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,YAAW,SAAS;AAAA,YAAO,OAAO,EAAK;AAAA,UAA0C,CAAA,GAChF,EAAgB,SACf,gBAAA,EAAC,GAAD;AAAA,YACE,cAAc,CAAC,EAAY,OAAO;AAAA,YAClC,eAAe,EAAK;AAAA,UACrB,CAAA,IAED,gBAAA,EAAC,GAAD;AAAA,YAAQ,SAAA,MAAe,EAAuB,EAAI;AAAA,YAAG,SAAQ;AAAA,YAC1D,UAAA,EAAK;AAAA,UACA,CAAA,CAEL;AAAA;MACH,CAAA;AAAA,MACN,gBAAA,EAAC,GAAD,EAAwC,OAAA,EAAQ,CAAA;AAAA,MAChD,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe,EAAuB,EAAK;AAAA,QAC3C,mBAAmB;AAAA,QACnB,OAAO,EAAK;AAAA,MACb,CAAA;AAAA,IACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAkC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MaintainingEmergencySavingsSticky.es.js","names":[],"sources":["../../../../src/finstrong/components/MaintainingEmergencySavings/MaintainingEmergencySavingsSticky.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useFinstrongStore } from '../../../common'\nimport { calculatePercentage, getEmergencySavingsState } from '../../util/finstrongUtils'\n\nimport ProgressBar from '../ProgressBar'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\nconst copy = {\n sticky_label: 'You have saved',\n}\n\nconst savingsRange = ['$0', '$250', '$500', '$750', '$1k']\n\nconst MaintainingEmergencySavingsSticky = () => {\n const { healthScore } = useFinstrongStore()\n\n const emergencySavings = Math.round(healthScore.emergency_savings_on_hand ?? NaN) || null\n\n const percentage = calculatePercentage(emergencySavings)\n const status = getEmergencySavingsState(emergencySavings)\n\n return (\n <ProgressBar\n bottomComponent={\n <Stack sx={{ flexDirection: 'row', justifyContent: 'space-between' }}>\n {savingsRange.map((range) => (\n <Stack key={range} sx={{ alignItems: 'center', height: 24, width: 30 }}>\n <Divider\n orientation=\"vertical\"\n sx={{\n borderWidth: 0.5,\n height: 8,\n mt: 2,\n }}\n />\n <Text variant=\"caption\">{range}</Text>\n </Stack>\n ))}\n </Stack>\n }\n label={copy.sticky_label}\n status={status}\n statusBarData={[\n {\n percentage,\n },\n ]}\n value={formatCurrency(emergencySavings ?? 0, '0,0.00')}\n />\n )\n}\n\nexport default observer(MaintainingEmergencySavingsSticky)\n"],"mappings":";;;;;;;;;AAaA,IAAM,IAAO,EACX,cAAc,iBAChB,GAEM,IAAe;AAAA,EAAC;AAAA,EAAM;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAQ;AAAK,GAEnD,IAAA,MAA0C;AAC9C,QAAM,EAAE,aAAA,EAAA,IAAgB,EAAkB,GAEpC,IAAmB,KAAK,MAAM,EAAY,6BAA6B,GAAG,KAAK,MAE/E,IAAa,EAAoB,CAAgB,GACjD,IAAS,EAAyB,CAAgB;AAExD,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,iBACE,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,eAAe;AAAA,QAAO,gBAAgB;AAAA,MAAgB;AAAA,gBAChE,EAAa,IAAA,CAAK,MACjB,gBAAA,EAAC,GAAD;AAAA,QAAmB,IAAI;AAAA,UAAE,YAAY;AAAA,UAAU,QAAQ;AAAA,UAAI,OAAO;AAAA,QAAG;AAAA,kBAArE,CACE,gBAAA,EAAC,GAAD;AAAA,UACE,aAAY;AAAA,UACZ,IAAI;AAAA,YACF,aAAa;AAAA,YACb,QAAQ;AAAA,YACR,IAAI;AAAA,UACN;AAAA,QACD,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,UAAM,SAAQ;AAAA,oBAAW;AAAA,QAAY,CAAA,CAChC;AAAA,SAVK,CAUL,CACR;AAAA,IACI,CAAA;AAAA,IAET,OAAO,EAAK;AAAA,IACJ,QAAA;AAAA,IACR,eAAe,CACb,EACE,YAAA,EACF,CACF;AAAA,IACA,OAAO,EAAe,KAAoB,GAAG,QAAQ;AAAA,EACtD,CAAA;AAEL,GAEA,IAAe,EAAS,CAAiC"}
1
+ {"version":3,"file":"MaintainingEmergencySavingsSticky.es.js","names":[],"sources":["../../../../src/finstrong/components/MaintainingEmergencySavings/MaintainingEmergencySavingsSticky.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useFinstrongStore } from '../../../common'\nimport { calculatePercentage, getEmergencySavingsState } from '../../util/finstrongUtils'\n\nimport ProgressBar from '../ProgressBar'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\nconst copy = {\n sticky_label: 'You have saved',\n}\n\nconst savingsRange = ['$0', '$250', '$500', '$750', '$1k']\n\nconst MaintainingEmergencySavingsSticky = () => {\n const { healthScore } = useFinstrongStore()\n\n const emergencySavings = Math.round(healthScore.emergency_savings_on_hand ?? NaN) || null\n\n const percentage = calculatePercentage(emergencySavings)\n const status = getEmergencySavingsState(emergencySavings)\n\n return (\n <ProgressBar\n bottomComponent={\n <Stack sx={{ flexDirection: 'row', justifyContent: 'space-between' }}>\n {savingsRange.map((range) => (\n <Stack key={range} sx={{ alignItems: 'center', height: 24, width: 30 }}>\n <Divider\n orientation=\"vertical\"\n sx={{\n borderWidth: 0.5,\n height: 8,\n mt: 2,\n }}\n />\n <Text variant=\"caption\">{range}</Text>\n </Stack>\n ))}\n </Stack>\n }\n label={copy.sticky_label}\n status={status}\n statusBarData={[\n {\n percentage,\n },\n ]}\n value={formatCurrency(emergencySavings ?? 0, '0,0.00')}\n />\n )\n}\n\nexport default observer(MaintainingEmergencySavingsSticky)\n"],"mappings":";;;;;;;;;AAaA,IAAM,IAAO,EACX,cAAc,iBAChB,GAEM,IAAe;AAAA,EAAC;AAAA,EAAM;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAQ;AAAK,GAEnD,IAAA,MAA0C;AAC9C,QAAM,EAAE,aAAA,EAAA,IAAgB,EAAkB,GAEpC,IAAmB,KAAK,MAAM,EAAY,6BAA6B,GAAG,KAAK,MAE/E,IAAa,EAAoB,CAAgB,GACjD,IAAS,EAAyB,CAAgB;AAExD,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,iBACE,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,eAAe;AAAA,QAAO,gBAAgB;AAAA,MAAgB;AAAA,MAChE,UAAA,EAAa,IAAA,CAAK,MACjB,gBAAA,EAAC,GAAD;AAAA,QAAmB,IAAI;AAAA,UAAE,YAAY;AAAA,UAAU,QAAQ;AAAA,UAAI,OAAO;AAAA,QAAG;AAAA,QAArE,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UACE,aAAY;AAAA,UACZ,IAAI;AAAA,YACF,aAAa;AAAA,YACb,QAAQ;AAAA,YACR,IAAI;AAAA,UACN;AAAA,QACD,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,UAAM,SAAQ;AAAA,UAAW,UAAA;AAAA,QAAY,CAAA,CAChC;AAAA,MAVK,GAAA,CAUL,CACR;AAAA,IACI,CAAA;AAAA,IAET,OAAO,EAAK;AAAA,IACJ,QAAA;AAAA,IACR,eAAe,CACb,EACE,YAAA,EACF,CACF;AAAA,IACA,OAAO,EAAe,KAAoB,GAAG,QAAQ;AAAA,EACtD,CAAA;AAEL,GAEA,IAAe,EAAS,CAAiC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ManageCreditScore.es.js","names":[],"sources":["../../../src/finstrong/components/ManageCreditScore.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport TextField from '@mui/material/TextField'\n\nimport { Dialog, useGlobalCopyStore, useScreenSize, useUserStore } from '../../common'\n\ninterface ManageCreditScoreProps {\n isOpen: boolean\n onClose: () => void\n}\n\nconst ManageCreditScore = ({ isOpen, onClose }: ManageCreditScoreProps) => {\n const { common: commonCopy, finstrong: finstrongCopy } = useGlobalCopyStore()\n const { isMobile } = useScreenSize()\n const { updateUser, user } = useUserStore()\n\n const [creditScore, setCreditScore] = React.useState<number>(user.credit_score || 0)\n\n const isValid = !isNaN(creditScore)\n\n const handleClose = () => {\n onClose()\n setTimeout(() => setCreditScore(user.credit_score || 0), 300)\n }\n\n const handlePrimaryAction = () => {\n if (!creditScore || creditScore === user.credit_score) return\n updateUser({ ...user, credit_score: creditScore })\n }\n\n return (\n <Dialog\n copy={{ close_aria: commonCopy.close_aria, title: finstrongCopy.edit_credit_score }}\n disablePrimaryButton={!creditScore || !isValid}\n isOpen={isOpen}\n maxWidth=\"xs\"\n onClose={handleClose}\n onPrimaryAction={handlePrimaryAction}\n primaryColor=\"primary\"\n primaryText={commonCopy.save_button}\n sx={{\n '& .MuiDialog-paper': {\n minWidth: isMobile ? '100%' : 400,\n },\n }}\n >\n <form\n onSubmit={(e) => {\n e.preventDefault()\n handlePrimaryAction()\n handleClose()\n }}\n >\n <TextField\n error={!isValid}\n fullWidth={true}\n inputMode=\"numeric\"\n onChange={(e) => setCreditScore(Number(e.target.value))}\n slotProps={{\n htmlInput: {\n noValidate: true,\n pattern: '[0-9]*',\n },\n }}\n value={isValid ? creditScore : ''}\n />\n </form>\n </Dialog>\n )\n}\n\nexport default observer(ManageCreditScore)\n"],"mappings":";;;;;;;AAYA,IAAM,IAAA,CAAqB,EAAE,QAAA,GAAQ,SAAA,EAAA,MAAsC;AACzE,QAAM,EAAE,QAAQ,GAAY,WAAW,EAAA,IAAkB,EAAmB,GACtE,EAAE,UAAA,EAAA,IAAa,EAAc,GAC7B,EAAE,YAAA,GAAY,MAAA,EAAA,IAAS,EAAa,GAEpC,CAAC,GAAa,CAAA,IAAkB,EAAM,SAAiB,EAAK,gBAAgB,CAAC,GAE7E,IAAU,CAAC,MAAM,CAAW,GAE5B,IAAA,MAAoB;AACxB,IAAA,EAAQ,GACR,WAAA,MAAiB,EAAe,EAAK,gBAAgB,CAAC,GAAG,GAAG;AAAA,EAC9D,GAEM,IAAA,MAA4B;AAChC,IAAI,CAAC,KAAe,MAAgB,EAAK,gBACzC,EAAW;AAAA,MAAE,GAAG;AAAA,MAAM,cAAc;AAAA,IAAY,CAAC;AAAA,EACnD;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,MAAM;AAAA,MAAE,YAAY,EAAW;AAAA,MAAY,OAAO,EAAc;AAAA,IAAkB;AAAA,IAClF,sBAAsB,CAAC,KAAe,CAAC;AAAA,IAC/B,QAAA;AAAA,IACR,UAAS;AAAA,IACT,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,cAAa;AAAA,IACb,aAAa,EAAW;AAAA,IACxB,IAAI,EACF,sBAAsB,EACpB,UAAU,IAAW,SAAS,IAChC,EACF;AAAA,cAEA,gBAAA,EAAC,QAAD;AAAA,MACE,UAAA,CAAW,MAAM;AACf,QAAA,EAAE,eAAe,GACjB,EAAoB,GACpB,EAAY;AAAA,MACd;AAAA,gBAEA,gBAAA,EAAC,GAAD;AAAA,QACE,OAAO,CAAC;AAAA,QACR,WAAW;AAAA,QACX,WAAU;AAAA,QACV,UAAA,CAAW,MAAM,EAAe,OAAO,EAAE,OAAO,KAAK,CAAC;AAAA,QACtD,WAAW,EACT,WAAW;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX,EACF;AAAA,QACA,OAAO,IAAU,IAAc;AAAA,MAChC,CAAA;AAAA,IACG,CAAA;AAAA,EACA,CAAA;AAEZ,GAEA,IAAe,EAAS,CAAiB"}
1
+ {"version":3,"file":"ManageCreditScore.es.js","names":[],"sources":["../../../src/finstrong/components/ManageCreditScore.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport TextField from '@mui/material/TextField'\n\nimport { Dialog, useGlobalCopyStore, useScreenSize, useUserStore } from '../../common'\n\ninterface ManageCreditScoreProps {\n isOpen: boolean\n onClose: () => void\n}\n\nconst ManageCreditScore = ({ isOpen, onClose }: ManageCreditScoreProps) => {\n const { common: commonCopy, finstrong: finstrongCopy } = useGlobalCopyStore()\n const { isMobile } = useScreenSize()\n const { updateUser, user } = useUserStore()\n\n const [creditScore, setCreditScore] = React.useState<number>(user.credit_score || 0)\n\n const isValid = !isNaN(creditScore)\n\n const handleClose = () => {\n onClose()\n setTimeout(() => setCreditScore(user.credit_score || 0), 300)\n }\n\n const handlePrimaryAction = () => {\n if (!creditScore || creditScore === user.credit_score) return\n updateUser({ ...user, credit_score: creditScore })\n }\n\n return (\n <Dialog\n copy={{ close_aria: commonCopy.close_aria, title: finstrongCopy.edit_credit_score }}\n disablePrimaryButton={!creditScore || !isValid}\n isOpen={isOpen}\n maxWidth=\"xs\"\n onClose={handleClose}\n onPrimaryAction={handlePrimaryAction}\n primaryColor=\"primary\"\n primaryText={commonCopy.save_button}\n sx={{\n '& .MuiDialog-paper': {\n minWidth: isMobile ? '100%' : 400,\n },\n }}\n >\n <form\n onSubmit={(e) => {\n e.preventDefault()\n handlePrimaryAction()\n handleClose()\n }}\n >\n <TextField\n error={!isValid}\n fullWidth={true}\n inputMode=\"numeric\"\n onChange={(e) => setCreditScore(Number(e.target.value))}\n slotProps={{\n htmlInput: {\n noValidate: true,\n pattern: '[0-9]*',\n },\n }}\n value={isValid ? creditScore : ''}\n />\n </form>\n </Dialog>\n )\n}\n\nexport default observer(ManageCreditScore)\n"],"mappings":";;;;;;;AAYA,IAAM,IAAA,CAAqB,EAAE,QAAA,GAAQ,SAAA,EAAA,MAAsC;AACzE,QAAM,EAAE,QAAQ,GAAY,WAAW,EAAA,IAAkB,EAAmB,GACtE,EAAE,UAAA,EAAA,IAAa,EAAc,GAC7B,EAAE,YAAA,GAAY,MAAA,EAAA,IAAS,EAAa,GAEpC,CAAC,GAAa,CAAA,IAAkB,EAAM,SAAiB,EAAK,gBAAgB,CAAC,GAE7E,IAAU,CAAC,MAAM,CAAW,GAE5B,IAAA,MAAoB;AACxB,IAAA,EAAQ,GACR,WAAA,MAAiB,EAAe,EAAK,gBAAgB,CAAC,GAAG,GAAG;AAAA,EAC9D,GAEM,IAAA,MAA4B;AAChC,IAAI,CAAC,KAAe,MAAgB,EAAK,gBACzC,EAAW;AAAA,MAAE,GAAG;AAAA,MAAM,cAAc;AAAA,IAAY,CAAC;AAAA,EACnD;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,MAAM;AAAA,MAAE,YAAY,EAAW;AAAA,MAAY,OAAO,EAAc;AAAA,IAAkB;AAAA,IAClF,sBAAsB,CAAC,KAAe,CAAC;AAAA,IAC/B,QAAA;AAAA,IACR,UAAS;AAAA,IACT,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,cAAa;AAAA,IACb,aAAa,EAAW;AAAA,IACxB,IAAI,EACF,sBAAsB,EACpB,UAAU,IAAW,SAAS,IAChC,EACF;AAAA,IAEA,UAAA,gBAAA,EAAC,QAAD;AAAA,MACE,UAAA,CAAW,MAAM;AACf,QAAA,EAAE,eAAe,GACjB,EAAoB,GACpB,EAAY;AAAA,MACd;AAAA,MAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,QACE,OAAO,CAAC;AAAA,QACR,WAAW;AAAA,QACX,WAAU;AAAA,QACV,UAAA,CAAW,MAAM,EAAe,OAAO,EAAE,OAAO,KAAK,CAAC;AAAA,QACtD,WAAW,EACT,WAAW;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX,EACF;AAAA,QACA,OAAO,IAAU,IAAc;AAAA,MAChC,CAAA;AAAA,IACG,CAAA;AAAA,EACA,CAAA;AAEZ,GAEA,IAAe,EAAS,CAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ManageDOB.es.js","names":[],"sources":["../../../src/finstrong/components/ManageDOB.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { alpha, useTheme } from '@mui/material/styles'\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV3'\nimport { StaticDatePicker } from '@mui/x-date-pickers'\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'\n\nimport { Drawer, useFinstrongStore, useGlobalCopyStore, useUserStore } from '../../common'\n\ninterface ManageDOBProps {\n isOpen: boolean\n onClose: () => void\n}\n\nconst ManageDOB = ({ isOpen, onClose }: ManageDOBProps) => {\n const { finstrong: finstrongCopy } = useGlobalCopyStore()\n const theme = useTheme()\n const { updateUser, user } = useUserStore()\n const { loadPeerScore } = useFinstrongStore()\n const [selectedDate, setSelectedDate] = React.useState<number | null | undefined>(user.birthday)\n\n const handleChange = (date: Date | null) => {\n setSelectedDate(Math.floor(new Date(date!).getTime() / 1000))\n }\n const handlePrimaryAction = () => {\n if (!selectedDate || selectedDate === user.birthday) return\n updateUser({ ...user, birthday: selectedDate }).finally(() => {\n loadPeerScore()\n })\n onClose()\n }\n\n return (\n <Drawer\n footerStyles={{ borderTop: 1, borderColor: 'divider', px: 24, py: 16 }}\n isOpen={isOpen}\n onClose={onClose}\n onPrimaryAction={handlePrimaryAction}\n onSecondaryAction={onClose}\n title={finstrongCopy.date_of_birth}\n >\n <Stack sx={{ bgcolor: 'background.default', height: '100%' }}>\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n {/* TODO: Use the existing Calendar component, but update a few things in it */}\n <StaticDatePicker\n disableFuture={true}\n onChange={handleChange}\n slotProps={{\n nextIconButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n previousIconButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n switchViewButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n }}\n slots={{\n actionBar: () => null,\n toolbar: () => null,\n }}\n sx={{\n width: '100%',\n '& .MuiIconButton-edgeEnd': {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n }}\n value={selectedDate ? new Date(selectedDate * 1000) : new Date()}\n />\n </LocalizationProvider>\n </Stack>\n </Drawer>\n )\n}\n\nexport default observer(ManageDOB)\n"],"mappings":";;;;;;;;;;AAiBA,IAAM,IAAA,CAAa,EAAE,QAAA,GAAQ,SAAA,EAAA,MAA8B;AACzD,QAAM,EAAE,WAAW,EAAA,IAAkB,EAAmB,GAClD,IAAQ,EAAS,GACjB,EAAE,YAAA,GAAY,MAAA,EAAA,IAAS,EAAa,GACpC,EAAE,eAAA,EAAA,IAAkB,EAAkB,GACtC,CAAC,GAAc,CAAA,IAAmB,EAAM,SAAoC,EAAK,QAAQ,GAEzF,IAAA,CAAgB,MAAsB;AAC1C,IAAA,EAAgB,KAAK,MAAM,IAAI,KAAK,CAAK,EAAE,QAAQ,IAAI,GAAI,CAAC;AAAA,EAC9D;AASA,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,cAAc;AAAA,MAAE,WAAW;AAAA,MAAG,aAAa;AAAA,MAAW,IAAI;AAAA,MAAI,IAAI;AAAA,IAAG;AAAA,IAC7D,QAAA;AAAA,IACC,SAAA;AAAA,IACT,iBAbE,MAA4B;AAChC,MAAI,CAAC,KAAgB,MAAiB,EAAK,aAC3C,EAAW;AAAA,QAAE,GAAG;AAAA,QAAM,UAAU;AAAA,MAAa,CAAC,EAAE,QAAA,MAAc;AAC5D,QAAA,EAAc;AAAA,MAChB,CAAC,GACD,EAAQ;AAAA,IACV;AAAA,IAQI,mBAAmB;AAAA,IACnB,OAAO,EAAc;AAAA,cAErB,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,SAAS;AAAA,QAAsB,QAAQ;AAAA,MAAO;AAAA,gBACzD,gBAAA,EAAC,GAAD;AAAA,QAAsB,aAAa;AAAA,kBAEjC,gBAAA,EAAC,GAAD;AAAA,UACE,eAAe;AAAA,UACf,UAAU;AAAA,UACV,WAAW;AAAA,YACT,gBAAgB,EACd,IAAI;AAAA,cACF,OAAO;AAAA,cACP,WAAW,EAAE,SAAS,EAAM,EAAM,QAAQ,QAAQ,OAAO,GAAG,EAAE;AAAA,YAChE,EACF;AAAA,YACA,oBAAoB,EAClB,IAAI;AAAA,cACF,OAAO;AAAA,cACP,WAAW,EAAE,SAAS,EAAM,EAAM,QAAQ,QAAQ,OAAO,GAAG,EAAE;AAAA,YAChE,EACF;AAAA,YACA,kBAAkB,EAChB,IAAI;AAAA,cACF,OAAO;AAAA,cACP,WAAW,EAAE,SAAS,EAAM,EAAM,QAAQ,QAAQ,OAAO,GAAG,EAAE;AAAA,YAChE,EACF;AAAA,UACF;AAAA,UACA,OAAO;AAAA,YACL,WAAA,MAAiB;AAAA,YACjB,SAAA,MAAe;AAAA,UACjB;AAAA,UACA,IAAI;AAAA,YACF,OAAO;AAAA,YACP,4BAA4B;AAAA,cAC1B,OAAO;AAAA,cACP,WAAW,EAAE,SAAS,EAAM,EAAM,QAAQ,QAAQ,OAAO,GAAG,EAAE;AAAA,YAChE;AAAA,UACF;AAAA,UACA,OAAO,IAAe,oBAAI,KAAK,IAAe,GAAI,IAAI,oBAAI,KAAK;AAAA,QAChE,CAAA;AAAA,MACmB,CAAA;AAAA,IACjB,CAAA;AAAA,EACD,CAAA;AAEZ,GAEA,IAAe,EAAS,CAAS"}
1
+ {"version":3,"file":"ManageDOB.es.js","names":[],"sources":["../../../src/finstrong/components/ManageDOB.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { alpha, useTheme } from '@mui/material/styles'\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV3'\nimport { StaticDatePicker } from '@mui/x-date-pickers'\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'\n\nimport { Drawer, useFinstrongStore, useGlobalCopyStore, useUserStore } from '../../common'\n\ninterface ManageDOBProps {\n isOpen: boolean\n onClose: () => void\n}\n\nconst ManageDOB = ({ isOpen, onClose }: ManageDOBProps) => {\n const { finstrong: finstrongCopy } = useGlobalCopyStore()\n const theme = useTheme()\n const { updateUser, user } = useUserStore()\n const { loadPeerScore } = useFinstrongStore()\n const [selectedDate, setSelectedDate] = React.useState<number | null | undefined>(user.birthday)\n\n const handleChange = (date: Date | null) => {\n setSelectedDate(Math.floor(new Date(date!).getTime() / 1000))\n }\n const handlePrimaryAction = () => {\n if (!selectedDate || selectedDate === user.birthday) return\n updateUser({ ...user, birthday: selectedDate }).finally(() => {\n loadPeerScore()\n })\n onClose()\n }\n\n return (\n <Drawer\n footerStyles={{ borderTop: 1, borderColor: 'divider', px: 24, py: 16 }}\n isOpen={isOpen}\n onClose={onClose}\n onPrimaryAction={handlePrimaryAction}\n onSecondaryAction={onClose}\n title={finstrongCopy.date_of_birth}\n >\n <Stack sx={{ bgcolor: 'background.default', height: '100%' }}>\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n {/* TODO: Use the existing Calendar component, but update a few things in it */}\n <StaticDatePicker\n disableFuture={true}\n onChange={handleChange}\n slotProps={{\n nextIconButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n previousIconButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n switchViewButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n }}\n slots={{\n actionBar: () => null,\n toolbar: () => null,\n }}\n sx={{\n width: '100%',\n '& .MuiIconButton-edgeEnd': {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n }}\n value={selectedDate ? new Date(selectedDate * 1000) : new Date()}\n />\n </LocalizationProvider>\n </Stack>\n </Drawer>\n )\n}\n\nexport default observer(ManageDOB)\n"],"mappings":";;;;;;;;;;AAiBA,IAAM,IAAA,CAAa,EAAE,QAAA,GAAQ,SAAA,EAAA,MAA8B;AACzD,QAAM,EAAE,WAAW,EAAA,IAAkB,EAAmB,GAClD,IAAQ,EAAS,GACjB,EAAE,YAAA,GAAY,MAAA,EAAA,IAAS,EAAa,GACpC,EAAE,eAAA,EAAA,IAAkB,EAAkB,GACtC,CAAC,GAAc,CAAA,IAAmB,EAAM,SAAoC,EAAK,QAAQ,GAEzF,IAAA,CAAgB,MAAsB;AAC1C,IAAA,EAAgB,KAAK,MAAM,IAAI,KAAK,CAAK,EAAE,QAAQ,IAAI,GAAI,CAAC;AAAA,EAC9D;AASA,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,cAAc;AAAA,MAAE,WAAW;AAAA,MAAG,aAAa;AAAA,MAAW,IAAI;AAAA,MAAI,IAAI;AAAA,IAAG;AAAA,IAC7D,QAAA;AAAA,IACC,SAAA;AAAA,IACT,iBAbE,MAA4B;AAChC,MAAI,CAAC,KAAgB,MAAiB,EAAK,aAC3C,EAAW;AAAA,QAAE,GAAG;AAAA,QAAM,UAAU;AAAA,MAAa,CAAC,EAAE,QAAA,MAAc;AAC5D,QAAA,EAAc;AAAA,MAChB,CAAC,GACD,EAAQ;AAAA,IACV;AAAA,IAQI,mBAAmB;AAAA,IACnB,OAAO,EAAc;AAAA,IAErB,UAAA,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,SAAS;AAAA,QAAsB,QAAQ;AAAA,MAAO;AAAA,MACzD,UAAA,gBAAA,EAAC,GAAD;AAAA,QAAsB,aAAa;AAAA,QAEjC,UAAA,gBAAA,EAAC,GAAD;AAAA,UACE,eAAe;AAAA,UACf,UAAU;AAAA,UACV,WAAW;AAAA,YACT,gBAAgB,EACd,IAAI;AAAA,cACF,OAAO;AAAA,cACP,WAAW,EAAE,SAAS,EAAM,EAAM,QAAQ,QAAQ,OAAO,GAAG,EAAE;AAAA,YAChE,EACF;AAAA,YACA,oBAAoB,EAClB,IAAI;AAAA,cACF,OAAO;AAAA,cACP,WAAW,EAAE,SAAS,EAAM,EAAM,QAAQ,QAAQ,OAAO,GAAG,EAAE;AAAA,YAChE,EACF;AAAA,YACA,kBAAkB,EAChB,IAAI;AAAA,cACF,OAAO;AAAA,cACP,WAAW,EAAE,SAAS,EAAM,EAAM,QAAQ,QAAQ,OAAO,GAAG,EAAE;AAAA,YAChE,EACF;AAAA,UACF;AAAA,UACA,OAAO;AAAA,YACL,WAAA,MAAiB;AAAA,YACjB,SAAA,MAAe;AAAA,UACjB;AAAA,UACA,IAAI;AAAA,YACF,OAAO;AAAA,YACP,4BAA4B;AAAA,cAC1B,OAAO;AAAA,cACP,WAAW,EAAE,SAAS,EAAM,EAAM,QAAQ,QAAQ,OAAO,GAAG,EAAE;AAAA,YAChE;AAAA,UACF;AAAA,UACA,OAAO,IAAe,oBAAI,KAAK,IAAe,GAAI,IAAI,oBAAI,KAAK;AAAA,QAChE,CAAA;AAAA,MACmB,CAAA;AAAA,IACjB,CAAA;AAAA,EACD,CAAA;AAEZ,GAEA,IAAe,EAAS,CAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"MissingData.es.js","names":[],"sources":["../../../src/finstrong/components/MissingData.tsx"],"sourcesContent":["import { 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 { H3, P } from '@mxenabled/mxui'\nimport { ChevronRight, MultilineChart } from '@mxenabled/mx-icons'\n\nimport { Loader, useGlobalCopyStore, useGlobalUiStore } from '../../common'\n\ninterface MissingDataProps {\n onClick: () => void\n}\n\nconst MissingData = ({ onClick }: MissingDataProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n if (!isCopyLoaded) return <Loader />\n\n return (\n <Stack sx={{ alignItems: 'center', gap: 12, pt: 12, pb: 32 }}>\n <MultilineChart size={48} />\n\n <Stack sx={{ alignItems: 'center', gap: 4, textAlign: 'center' }}>\n <H3>{copy.missing_data_title}</H3>\n <P sx={{ width: { sm: 348 } }} variant=\"subtitle1\">\n {copy.missing_data_description}\n </P>\n </Stack>\n <Box>\n <Button\n endIcon={<ChevronRight />}\n onClick={onClick}\n size=\"small\"\n sx={{\n fontSize: 13,\n ':hover': {\n bgcolor: 'transparent',\n },\n }}\n variant=\"text\"\n >\n {copy.connect_more_accounts_button}\n </Button>\n </Box>\n </Stack>\n )\n}\n\nexport default observer(MissingData)\n"],"mappings":";;;;;;;;;AAeA,IAAM,IAAA,CAAe,EAAE,SAAA,EAAA,MAAgC;AACrD,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,cAAA,EAAA,IAAiB,EAAiB;AAE1C,SAAK,IAGH,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,YAAY;AAAA,MAAU,KAAK;AAAA,MAAI,IAAI;AAAA,MAAI,IAAI;AAAA,IAAG;AAAA,cAA3D;AAAA,MACE,gBAAA,EAAC,GAAD,EAAgB,MAAM,GAAK,CAAA;AAAA,MAE3B,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI;AAAA,UAAE,YAAY;AAAA,UAAU,KAAK;AAAA,UAAG,WAAW;AAAA,QAAS;AAAA,kBAA/D,CACE,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAK,mBAAuB,CAAA,GACjC,gBAAA,EAAC,GAAD;AAAA,UAAG,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE;AAAA,UAAG,SAAQ;AAAA,oBACpC,EAAK;AAAA,QACL,CAAA,CACE;AAAA;MACP,gBAAA,EAAC,GAAD,EAAA,UACE,gBAAA,EAAC,GAAD;AAAA,QACE,SAAS,gBAAA,EAAC,GAAD,CAAe,CAAA;AAAA,QACf,SAAA;AAAA,QACT,MAAK;AAAA,QACL,IAAI;AAAA,UACF,UAAU;AAAA,UACV,UAAU,EACR,SAAS,cACX;AAAA,QACF;AAAA,QACA,SAAQ;AAAA,kBAEP,EAAK;AAAA,MACA,CAAA,EACL,CAAA;AAAA,IACA;AAAA,OA5BiB,gBAAA,EAAC,GAAD,CAAS,CAAA;AA8BrC,GAEA,IAAe,EAAS,CAAW"}
1
+ {"version":3,"file":"MissingData.es.js","names":[],"sources":["../../../src/finstrong/components/MissingData.tsx"],"sourcesContent":["import { 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 { H3, P } from '@mxenabled/mxui'\nimport { ChevronRight, MultilineChart } from '@mxenabled/mx-icons'\n\nimport { Loader, useGlobalCopyStore, useGlobalUiStore } from '../../common'\n\ninterface MissingDataProps {\n onClick: () => void\n}\n\nconst MissingData = ({ onClick }: MissingDataProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n if (!isCopyLoaded) return <Loader />\n\n return (\n <Stack sx={{ alignItems: 'center', gap: 12, pt: 12, pb: 32 }}>\n <MultilineChart size={48} />\n\n <Stack sx={{ alignItems: 'center', gap: 4, textAlign: 'center' }}>\n <H3>{copy.missing_data_title}</H3>\n <P sx={{ width: { sm: 348 } }} variant=\"subtitle1\">\n {copy.missing_data_description}\n </P>\n </Stack>\n <Box>\n <Button\n endIcon={<ChevronRight />}\n onClick={onClick}\n size=\"small\"\n sx={{\n fontSize: 13,\n ':hover': {\n bgcolor: 'transparent',\n },\n }}\n variant=\"text\"\n >\n {copy.connect_more_accounts_button}\n </Button>\n </Box>\n </Stack>\n )\n}\n\nexport default observer(MissingData)\n"],"mappings":";;;;;;;;;AAeA,IAAM,IAAA,CAAe,EAAE,SAAA,EAAA,MAAgC;AACrD,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,cAAA,EAAA,IAAiB,EAAiB;AAE1C,SAAK,IAGH,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,YAAY;AAAA,MAAU,KAAK;AAAA,MAAI,IAAI;AAAA,MAAI,IAAI;AAAA,IAAG;AAAA,IAA3D,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD,EAAgB,MAAM,GAAK,CAAA;AAAA,MAE3B,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI;AAAA,UAAE,YAAY;AAAA,UAAU,KAAK;AAAA,UAAG,WAAW;AAAA,QAAS;AAAA,QAA/D,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAK,mBAAuB,CAAA,GACjC,gBAAA,EAAC,GAAD;AAAA,UAAG,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE;AAAA,UAAG,SAAQ;AAAA,UACpC,UAAA,EAAK;AAAA,QACL,CAAA,CACE;AAAA;MACP,gBAAA,EAAC,GAAD,EAAA,UACE,gBAAA,EAAC,GAAD;AAAA,QACE,SAAS,gBAAA,EAAC,GAAD,CAAe,CAAA;AAAA,QACf,SAAA;AAAA,QACT,MAAK;AAAA,QACL,IAAI;AAAA,UACF,UAAU;AAAA,UACV,UAAU,EACR,SAAS,cACX;AAAA,QACF;AAAA,QACA,SAAQ;AAAA,QAEP,UAAA,EAAK;AAAA,MACA,CAAA,EACL,CAAA;AAAA,IACA;AAAA,OA5BiB,gBAAA,EAAC,GAAD,CAAS,CAAA;AA8BrC,GAEA,IAAe,EAAS,CAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileDrawer.es.js","names":[],"sources":["../../../src/finstrong/components/ProfileDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\n\nimport { H3, P } from '@mxenabled/mxui'\nimport { AccountBalance, CalendarMonth, CreditCard, Payments } from '@mxenabled/mx-icons'\n\nimport ConnectionsDrawer from '../../accounts/components/ConnectionsDrawer'\nimport {\n Drawer,\n useAccountStore,\n useGlobalCopyStore,\n useRecurringTransactionsStore,\n useUserStore,\n} from '../../common'\nimport { Frequency, RepeatingType } from '../../core'\nimport { RecurringSettings } from '../../recurringtransactions'\n\nimport { buildProfileItem } from '../util/finstrongUtils'\n\nimport { ConnectMoreAccountsCard } from './ConnectMoreAccountsCard'\nimport ManageCreditScore from './ManageCreditScore'\nimport ManageDOB from './ManageDOB'\nimport ProfileList, { Action } from './ProfileList'\nimport ProfileProgressBar from './ProfileProgressBar'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ninterface ProfileDrawerProps {\n isOpen: boolean\n onClose: () => void\n}\n\nconst ProfileDrawer = ({ isOpen, onClose }: ProfileDrawerProps) => {\n const { visibleFinstrongAccounts: accounts } = useAccountStore()\n const {\n accounts: accountsCopy,\n common: commonCopy,\n finstrong: finstrongCopy,\n recurring: recurringCopy,\n } = useGlobalCopyStore()\n const { repeatingTransactions } = useRecurringTransactionsStore()\n const { user } = useUserStore()\n\n const totalIncomeAmount = repeatingTransactions.reduce((sum, rt) => {\n const { repeating_transaction_type, transactions, recurrence_type, amount } = rt\n\n const isIncome =\n repeating_transaction_type === RepeatingType.Income &&\n ((transactions && transactions.length > 0) || recurrence_type === Frequency.EveryYear)\n\n return isIncome ? sum + amount : sum\n }, 0)\n\n const [action, setAction] = React.useState<Action | null>(null)\n\n const profileItemsData = [\n {\n dynamicCopy: finstrongCopy.add_profile_item,\n fallbackLabel: finstrongCopy.monthly_income,\n icon: <Payments />,\n key: Action.MonthlyIncome,\n label: finstrongCopy.monthly_income,\n value: totalIncomeAmount,\n },\n {\n dynamicCopy: finstrongCopy.add_profile_item,\n fallbackLabel: finstrongCopy.date_of_birth,\n icon: <CalendarMonth />,\n key: Action.DateOfBirth,\n label: finstrongCopy.date_of_birth,\n value: user.birthday,\n },\n {\n dynamicCopy: finstrongCopy.add_profile_item,\n fallbackLabel: finstrongCopy.credit_score,\n icon: <CreditCard />,\n key: Action.CreditScore,\n label: finstrongCopy.credit_score,\n value: user.credit_score,\n },\n {\n fallbackLabel: finstrongCopy.connect_your_accounts,\n icon: <AccountBalance />,\n key: Action.Connections,\n label: finstrongCopy.connections,\n value:\n accounts.length > 0\n ? (buildDynamicCopy(\n finstrongCopy.connected_account,\n String(accounts.length),\n accounts.length > 1 ? finstrongCopy.accounts : finstrongCopy.account,\n ) as string)\n : undefined,\n },\n ]\n\n const list = profileItemsData.map((item) => buildProfileItem(item))\n\n return (\n <Drawer isOpen={isOpen} onClose={onClose} title={finstrongCopy.financial_profile}>\n <Stack sx={{ bgcolor: 'background.default', height: '100%' }}>\n <Stack sx={{ gap: 20, p: 24 }}>\n <Stack sx={{ gap: 8 }}>\n <H3>{finstrongCopy.your_financial_profile}</H3>\n <P>{finstrongCopy.financial_profile_description}</P>\n </Stack>\n <ProfileProgressBar\n completeCopy={finstrongCopy.complete}\n value={list.reduce((acc, item) => acc + (item.isComplete ? 1 : 0), 0)}\n />\n </Stack>\n <ProfileList list={list} onClickItem={setAction} />\n <Box sx={{ p: 24 }}>\n <ConnectMoreAccountsCard\n description={\n finstrongCopy.connect_more_accounts_to_view_more_accurate_financial_picture\n }\n drawerType=\"connectDrawer\"\n isDashboard={true}\n title={finstrongCopy.dont_see_all_your_accounts}\n titleDrawer={commonCopy.add_accounts}\n />\n </Box>\n </Stack>\n\n <Drawer\n isOpen={action === Action.MonthlyIncome}\n onClose={() => setAction(null)}\n shouldShowHeaderBorders={false}\n title={recurringCopy.action_title}\n >\n <RecurringSettings />\n </Drawer>\n <ManageDOB isOpen={action === Action.DateOfBirth} onClose={() => setAction(null)} />\n <ManageCreditScore isOpen={action === Action.CreditScore} onClose={() => setAction(null)} />\n <ConnectionsDrawer\n onClose={() => setAction(null)}\n showConnectionsWidget={action === Action.Connections}\n title={accountsCopy.manage_connections}\n />\n </Drawer>\n )\n}\nexport default observer(ProfileDrawer)\n"],"mappings":"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"}
1
+ {"version":3,"file":"ProfileDrawer.es.js","names":[],"sources":["../../../src/finstrong/components/ProfileDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\n\nimport { H3, P } from '@mxenabled/mxui'\nimport { AccountBalance, CalendarMonth, CreditCard, Payments } from '@mxenabled/mx-icons'\n\nimport ConnectionsDrawer from '../../accounts/components/ConnectionsDrawer'\nimport {\n Drawer,\n useAccountStore,\n useGlobalCopyStore,\n useRecurringTransactionsStore,\n useUserStore,\n} from '../../common'\nimport { Frequency, RepeatingType } from '../../core'\nimport { RecurringSettings } from '../../recurringtransactions'\n\nimport { buildProfileItem } from '../util/finstrongUtils'\n\nimport { ConnectMoreAccountsCard } from './ConnectMoreAccountsCard'\nimport ManageCreditScore from './ManageCreditScore'\nimport ManageDOB from './ManageDOB'\nimport ProfileList, { Action } from './ProfileList'\nimport ProfileProgressBar from './ProfileProgressBar'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ninterface ProfileDrawerProps {\n isOpen: boolean\n onClose: () => void\n}\n\nconst ProfileDrawer = ({ isOpen, onClose }: ProfileDrawerProps) => {\n const { visibleFinstrongAccounts: accounts } = useAccountStore()\n const {\n accounts: accountsCopy,\n common: commonCopy,\n finstrong: finstrongCopy,\n recurring: recurringCopy,\n } = useGlobalCopyStore()\n const { repeatingTransactions } = useRecurringTransactionsStore()\n const { user } = useUserStore()\n\n const totalIncomeAmount = repeatingTransactions.reduce((sum, rt) => {\n const { repeating_transaction_type, transactions, recurrence_type, amount } = rt\n\n const isIncome =\n repeating_transaction_type === RepeatingType.Income &&\n ((transactions && transactions.length > 0) || recurrence_type === Frequency.EveryYear)\n\n return isIncome ? sum + amount : sum\n }, 0)\n\n const [action, setAction] = React.useState<Action | null>(null)\n\n const profileItemsData = [\n {\n dynamicCopy: finstrongCopy.add_profile_item,\n fallbackLabel: finstrongCopy.monthly_income,\n icon: <Payments />,\n key: Action.MonthlyIncome,\n label: finstrongCopy.monthly_income,\n value: totalIncomeAmount,\n },\n {\n dynamicCopy: finstrongCopy.add_profile_item,\n fallbackLabel: finstrongCopy.date_of_birth,\n icon: <CalendarMonth />,\n key: Action.DateOfBirth,\n label: finstrongCopy.date_of_birth,\n value: user.birthday,\n },\n {\n dynamicCopy: finstrongCopy.add_profile_item,\n fallbackLabel: finstrongCopy.credit_score,\n icon: <CreditCard />,\n key: Action.CreditScore,\n label: finstrongCopy.credit_score,\n value: user.credit_score,\n },\n {\n fallbackLabel: finstrongCopy.connect_your_accounts,\n icon: <AccountBalance />,\n key: Action.Connections,\n label: finstrongCopy.connections,\n value:\n accounts.length > 0\n ? (buildDynamicCopy(\n finstrongCopy.connected_account,\n String(accounts.length),\n accounts.length > 1 ? finstrongCopy.accounts : finstrongCopy.account,\n ) as string)\n : undefined,\n },\n ]\n\n const list = profileItemsData.map((item) => buildProfileItem(item))\n\n return (\n <Drawer isOpen={isOpen} onClose={onClose} title={finstrongCopy.financial_profile}>\n <Stack sx={{ bgcolor: 'background.default', height: '100%' }}>\n <Stack sx={{ gap: 20, p: 24 }}>\n <Stack sx={{ gap: 8 }}>\n <H3>{finstrongCopy.your_financial_profile}</H3>\n <P>{finstrongCopy.financial_profile_description}</P>\n </Stack>\n <ProfileProgressBar\n completeCopy={finstrongCopy.complete}\n value={list.reduce((acc, item) => acc + (item.isComplete ? 1 : 0), 0)}\n />\n </Stack>\n <ProfileList list={list} onClickItem={setAction} />\n <Box sx={{ p: 24 }}>\n <ConnectMoreAccountsCard\n description={\n finstrongCopy.connect_more_accounts_to_view_more_accurate_financial_picture\n }\n drawerType=\"connectDrawer\"\n isDashboard={true}\n title={finstrongCopy.dont_see_all_your_accounts}\n titleDrawer={commonCopy.add_accounts}\n />\n </Box>\n </Stack>\n\n <Drawer\n isOpen={action === Action.MonthlyIncome}\n onClose={() => setAction(null)}\n shouldShowHeaderBorders={false}\n title={recurringCopy.action_title}\n >\n <RecurringSettings />\n </Drawer>\n <ManageDOB isOpen={action === Action.DateOfBirth} onClose={() => setAction(null)} />\n <ManageCreditScore isOpen={action === Action.CreditScore} onClose={() => setAction(null)} />\n <ConnectionsDrawer\n onClose={() => setAction(null)}\n showConnectionsWidget={action === Action.Connections}\n title={accountsCopy.manage_connections}\n />\n </Drawer>\n )\n}\nexport default observer(ProfileDrawer)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileList.es.js","names":[],"sources":["../../../src/finstrong/components/ProfileList.tsx"],"sourcesContent":["import React from 'react'\n\nimport Avatar from '@mui/material/Avatar'\nimport Box from '@mui/material/Box'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { Text } from '@mxenabled/mxui'\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nexport enum Action {\n Connections = 'connections',\n CreditScore = 'credit_score',\n DateOfBirth = 'date_of_birth',\n MonthlyIncome = 'monthly_income',\n}\n\ninterface ProfileListItem {\n icon: React.ReactNode\n isComplete: boolean\n key: Action\n primaryText: string\n secondaryText: string\n}\n\ninterface ProfileListProps {\n list: ProfileListItem[]\n onClickItem: (action: Action) => void\n}\n\nconst ProfileList = ({ list, onClickItem }: ProfileListProps) => (\n <Box sx={{ bgcolor: 'background.paper' }}>\n <List\n sx={{\n '& .MuiListItemSecondaryAction-root': {\n color: 'text.primary',\n pr: 24,\n },\n }}\n >\n {list.map((item, i) => (\n <React.Fragment key={item.key}>\n <ListItem secondaryAction={<ChevronRight />}>\n <ListItemButton onClick={() => onClickItem(item.key)}>\n <ListItemAvatar>\n <Avatar\n sx={{\n bgcolor: 'primary.main',\n ...(!item.isComplete && {\n bgcolor: 'transparent',\n borderColor: 'action.active',\n borderStyle: 'solid',\n borderWidth: 1,\n color: 'action.active',\n }),\n }}\n >\n {item.icon}\n </Avatar>\n </ListItemAvatar>\n <ListItemText\n primary={\n <Text sx={{ color: 'text.secondary' }} variant=\"caption\">\n {item.primaryText}\n </Text>\n }\n secondary={\n <Text sx={{ color: 'text.primary', fontWeight: 600 }} variant=\"body1\">\n {item.secondaryText}\n </Text>\n }\n />\n </ListItemButton>\n </ListItem>\n <Divider sx={{ color: 'divider', ml: i === list.length - 1 ? 0 : 68 }} />\n </React.Fragment>\n ))}\n </List>\n </Box>\n)\n\nexport default ProfileList\n"],"mappings":";;;;;;;;;;;;AAcA,IAAY,IAAL,0BAAA,GAAA;AACL,SAAA,EAAA,cAAA,eACA,EAAA,cAAA,gBACA,EAAA,cAAA,iBACA,EAAA,gBAAA;AACF,GAAA,CAAA,CAAA,GAeM,IAAA,CAAe,EAAE,MAAA,GAAM,aAAA,EAAA,MAC3B,gBAAA,EAAC,GAAD;AAAA,EAAK,IAAI,EAAE,SAAS,mBAAmB;AAAA,YACrC,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI,EACF,sCAAsC;AAAA,MACpC,OAAO;AAAA,MACP,IAAI;AAAA,IACN,EACF;AAAA,cAEC,EAAK,IAAA,CAAK,GAAM,MACf,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MAAU,iBAAiB,gBAAA,EAAC,GAAD,CAAe,CAAA;AAAA,gBACxC,gBAAA,EAAC,GAAD;AAAA,QAAgB,SAAA,MAAe,EAAY,EAAK,GAAG;AAAA,kBAAnD,CACE,gBAAA,EAAC,GAAD,EAAA,UACE,gBAAA,EAAC,GAAD;AAAA,UACE,IAAI;AAAA,YACF,SAAS;AAAA,YACT,GAAI,CAAC,EAAK,cAAc;AAAA,cACtB,SAAS;AAAA,cACT,aAAa;AAAA,cACb,aAAa;AAAA,cACb,aAAa;AAAA,cACb,OAAO;AAAA,YACT;AAAA,UACF;AAAA,oBAEC,EAAK;AAAA,QACA,CAAA,EACM,CAAA,GAChB,gBAAA,EAAC,GAAD;AAAA,UACE,SACE,gBAAA,EAAC,GAAD;AAAA,YAAM,IAAI,EAAE,OAAO,iBAAiB;AAAA,YAAG,SAAQ;AAAA,sBAC5C,EAAK;AAAA,UACF,CAAA;AAAA,UAER,WACE,gBAAA,EAAC,GAAD;AAAA,YAAM,IAAI;AAAA,cAAE,OAAO;AAAA,cAAgB,YAAY;AAAA,YAAI;AAAA,YAAG,SAAQ;AAAA,sBAC3D,EAAK;AAAA,UACF,CAAA;AAAA,QAET,CAAA,CACa;AAAA;IACR,CAAA,GACV,gBAAA,EAAC,GAAD,EAAS,IAAI;AAAA,MAAE,OAAO;AAAA,MAAW,IAAI,MAAM,EAAK,SAAS,IAAI,IAAI;AAAA,IAAG,EAAI,CAAA,CAC1D,EAAA,GAlCK,EAAK,GAkCV,CACjB;AAAA,EACG,CAAA;AACH,CAAA"}
1
+ {"version":3,"file":"ProfileList.es.js","names":[],"sources":["../../../src/finstrong/components/ProfileList.tsx"],"sourcesContent":["import React from 'react'\n\nimport Avatar from '@mui/material/Avatar'\nimport Box from '@mui/material/Box'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { Text } from '@mxenabled/mxui'\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nexport enum Action {\n Connections = 'connections',\n CreditScore = 'credit_score',\n DateOfBirth = 'date_of_birth',\n MonthlyIncome = 'monthly_income',\n}\n\ninterface ProfileListItem {\n icon: React.ReactNode\n isComplete: boolean\n key: Action\n primaryText: string\n secondaryText: string\n}\n\ninterface ProfileListProps {\n list: ProfileListItem[]\n onClickItem: (action: Action) => void\n}\n\nconst ProfileList = ({ list, onClickItem }: ProfileListProps) => (\n <Box sx={{ bgcolor: 'background.paper' }}>\n <List\n sx={{\n '& .MuiListItemSecondaryAction-root': {\n color: 'text.primary',\n pr: 24,\n },\n }}\n >\n {list.map((item, i) => (\n <React.Fragment key={item.key}>\n <ListItem secondaryAction={<ChevronRight />}>\n <ListItemButton onClick={() => onClickItem(item.key)}>\n <ListItemAvatar>\n <Avatar\n sx={{\n bgcolor: 'primary.main',\n ...(!item.isComplete && {\n bgcolor: 'transparent',\n borderColor: 'action.active',\n borderStyle: 'solid',\n borderWidth: 1,\n color: 'action.active',\n }),\n }}\n >\n {item.icon}\n </Avatar>\n </ListItemAvatar>\n <ListItemText\n primary={\n <Text sx={{ color: 'text.secondary' }} variant=\"caption\">\n {item.primaryText}\n </Text>\n }\n secondary={\n <Text sx={{ color: 'text.primary', fontWeight: 600 }} variant=\"body1\">\n {item.secondaryText}\n </Text>\n }\n />\n </ListItemButton>\n </ListItem>\n <Divider sx={{ color: 'divider', ml: i === list.length - 1 ? 0 : 68 }} />\n </React.Fragment>\n ))}\n </List>\n </Box>\n)\n\nexport default ProfileList\n"],"mappings":";;;;;;;;;;;;AAcA,IAAY,IAAL,0BAAA,GAAA;AACL,SAAA,EAAA,cAAA,eACA,EAAA,cAAA,gBACA,EAAA,cAAA,iBACA,EAAA,gBAAA;AACF,GAAA,CAAA,CAAA,GAeM,IAAA,CAAe,EAAE,MAAA,GAAM,aAAA,EAAA,MAC3B,gBAAA,EAAC,GAAD;AAAA,EAAK,IAAI,EAAE,SAAS,mBAAmB;AAAA,EACrC,UAAA,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI,EACF,sCAAsC;AAAA,MACpC,OAAO;AAAA,MACP,IAAI;AAAA,IACN,EACF;AAAA,IAEC,UAAA,EAAK,IAAA,CAAK,GAAM,MACf,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MAAU,iBAAiB,gBAAA,EAAC,GAAD,CAAe,CAAA;AAAA,MACxC,UAAA,gBAAA,EAAC,GAAD;AAAA,QAAgB,SAAA,MAAe,EAAY,EAAK,GAAG;AAAA,QAAnD,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UACE,gBAAA,EAAC,GAAD;AAAA,UACE,IAAI;AAAA,YACF,SAAS;AAAA,YACT,GAAI,CAAC,EAAK,cAAc;AAAA,cACtB,SAAS;AAAA,cACT,aAAa;AAAA,cACb,aAAa;AAAA,cACb,aAAa;AAAA,cACb,OAAO;AAAA,YACT;AAAA,UACF;AAAA,UAEC,UAAA,EAAK;AAAA,QACA,CAAA,EACM,CAAA,GAChB,gBAAA,EAAC,GAAD;AAAA,UACE,SACE,gBAAA,EAAC,GAAD;AAAA,YAAM,IAAI,EAAE,OAAO,iBAAiB;AAAA,YAAG,SAAQ;AAAA,YAC5C,UAAA,EAAK;AAAA,UACF,CAAA;AAAA,UAER,WACE,gBAAA,EAAC,GAAD;AAAA,YAAM,IAAI;AAAA,cAAE,OAAO;AAAA,cAAgB,YAAY;AAAA,YAAI;AAAA,YAAG,SAAQ;AAAA,YAC3D,UAAA,EAAK;AAAA,UACF,CAAA;AAAA,QAET,CAAA,CACa;AAAA;IACR,CAAA,GACV,gBAAA,EAAC,GAAD,EAAS,IAAI;AAAA,MAAE,OAAO;AAAA,MAAW,IAAI,MAAM,EAAK,SAAS,IAAI,IAAI;AAAA,IAAG,EAAI,CAAA,CAC1D,EAAA,GAlCK,EAAK,GAkCV,CACjB;AAAA,EACG,CAAA;AACH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileProgressBar.es.js","names":[],"sources":["../../../src/finstrong/components/ProfileProgressBar.tsx"],"sourcesContent":["import Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\ninterface ProfileProgressBarProps {\n completeCopy: string\n value: number\n}\n\nconst ProfileProgressBar = ({ value, completeCopy }: ProfileProgressBarProps) => (\n <Stack sx={{ gap: 8 }}>\n <Stack sx={{ flexDirection: 'row', gap: 4 }}>\n {Array.from({ length: 4 }).map((_, i) => (\n <Box\n key={i}\n sx={{\n bgcolor: i < value ? 'primary.main' : 'neutral.light',\n borderRadius: '24px',\n height: 4,\n width: '100%',\n }}\n />\n ))}\n </Stack>\n <Text sx={{ color: 'text.secondary' }} variant=\"body2\">\n {(value / 4) * 100}% {completeCopy}\n </Text>\n </Stack>\n)\n\nexport default ProfileProgressBar\n"],"mappings":";;;;AAUA,IAAM,IAAA,CAAsB,EAAE,OAAA,GAAO,cAAA,EAAA,MACnC,gBAAA,EAAC,GAAD;AAAA,EAAO,IAAI,EAAE,KAAK,EAAE;AAAA,YAApB,CACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,eAAe;AAAA,MAAO,KAAK;AAAA,IAAE;AAAA,cACvC,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAA,CAAK,GAAG,MACjC,gBAAA,EAAC,GAAD,EAEE,IAAI;AAAA,MACF,SAAS,IAAI,IAAQ,iBAAiB;AAAA,MACtC,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,OAAO;AAAA,IACT,EACD,GAPM,CAON,CACF;AAAA,EACI,CAAA,GACP,gBAAA,EAAC,GAAD;AAAA,IAAM,IAAI,EAAE,OAAO,iBAAiB;AAAA,IAAG,SAAQ;AAAA,cAA/C;AAAA,MACI,IAAQ,IAAK;AAAA,MAAI;AAAA,MAAG;AAAA,IAClB;AAAA,IACD"}
1
+ {"version":3,"file":"ProfileProgressBar.es.js","names":[],"sources":["../../../src/finstrong/components/ProfileProgressBar.tsx"],"sourcesContent":["import Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\ninterface ProfileProgressBarProps {\n completeCopy: string\n value: number\n}\n\nconst ProfileProgressBar = ({ value, completeCopy }: ProfileProgressBarProps) => (\n <Stack sx={{ gap: 8 }}>\n <Stack sx={{ flexDirection: 'row', gap: 4 }}>\n {Array.from({ length: 4 }).map((_, i) => (\n <Box\n key={i}\n sx={{\n bgcolor: i < value ? 'primary.main' : 'neutral.light',\n borderRadius: '24px',\n height: 4,\n width: '100%',\n }}\n />\n ))}\n </Stack>\n <Text sx={{ color: 'text.secondary' }} variant=\"body2\">\n {(value / 4) * 100}% {completeCopy}\n </Text>\n </Stack>\n)\n\nexport default ProfileProgressBar\n"],"mappings":";;;;AAUA,IAAM,IAAA,CAAsB,EAAE,OAAA,GAAO,cAAA,EAAA,MACnC,gBAAA,EAAC,GAAD;AAAA,EAAO,IAAI,EAAE,KAAK,EAAE;AAAA,EAApB,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,eAAe;AAAA,MAAO,KAAK;AAAA,IAAE;AAAA,IACvC,UAAA,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAA,CAAK,GAAG,MACjC,gBAAA,EAAC,GAAD,EAEE,IAAI;AAAA,MACF,SAAS,IAAI,IAAQ,iBAAiB;AAAA,MACtC,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,OAAO;AAAA,IACT,EACD,GAPM,CAON,CACF;AAAA,EACI,CAAA,GACP,gBAAA,EAAC,GAAD;AAAA,IAAM,IAAI,EAAE,OAAO,iBAAiB;AAAA,IAAG,SAAQ;AAAA,IAA/C,UAAA;AAAA,MACI,IAAQ,IAAK;AAAA,MAAI;AAAA,MAAG;AAAA,IAClB;AAAA,EACD,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.es.js","names":[],"sources":["../../../src/finstrong/components/ProgressBar.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { H2, Text } from '@mxenabled/mxui'\n\nimport StatusBar from '../../common/components/charts/StatusBar'\n\nimport StatusChip from './StatusChip'\n\nexport type ProgressBarStatus = 'GOOD' | 'FAIR' | 'OFF_TRACK' | 'MISSING'\n\ninterface StatusBarDataItem {\n percentage: string\n color?: string\n}\n\nexport interface ProgressBarProps {\n label: string\n value: string\n status: ProgressBarStatus\n bottomComponent: React.ReactNode\n statusBarData: StatusBarDataItem[]\n}\n\nconst ProgressBar: React.FC<ProgressBarProps> = observer(\n ({ label, value, status, bottomComponent, statusBarData = [] }) => {\n const cardStateStyles = {\n GOOD: {\n progressBarColor: 'primary.main',\n },\n FAIR: {\n progressBarColor: 'warning.main',\n },\n OFF_TRACK: {\n progressBarColor: 'error.main',\n },\n MISSING: {\n progressBarColor: 'text.secondary',\n },\n }[status]\n\n const statusBarColorData = statusBarData.map((item, index) => {\n if (statusBarData.length === 2) {\n return {\n color: index === 0 ? 'primary.main' : item.color || cardStateStyles?.progressBarColor,\n percentage: item.percentage,\n }\n }\n\n return {\n color: item.color || cardStateStyles?.progressBarColor,\n percentage: item.percentage,\n }\n })\n\n return (\n <Stack\n sx={{\n backgroundColor: 'background.paper',\n gap: 8,\n p: 24,\n borderBottom: '1px solid',\n borderColor: 'divider',\n }}\n >\n <Stack sx={{ gap: 2 }}>\n <Text variant=\"body2\">{label}</Text>\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n gap: 12,\n justifyContent: 'space-between',\n }}\n >\n <H2>{value}</H2>\n <StatusChip status={status} />\n </Stack>\n </Stack>\n\n <Stack>\n <StatusBar data={statusBarColorData} height={16} />\n {bottomComponent}\n </Stack>\n </Stack>\n )\n },\n)\n\nexport default ProgressBar\n"],"mappings":";;;;;;;AA0BA,IAAM,IAA0C,EAAA,CAC7C,EAAE,OAAA,GAAO,OAAA,GAAO,QAAA,GAAQ,iBAAA,GAAiB,eAAA,IAAgB,CAAC,EAAA,MAAQ;AACjE,QAAM,IAAkB;AAAA,IACtB,MAAM,EACJ,kBAAkB,eACpB;AAAA,IACA,MAAM,EACJ,kBAAkB,eACpB;AAAA,IACA,WAAW,EACT,kBAAkB,aACpB;AAAA,IACA,SAAS,EACP,kBAAkB,iBACpB;AAAA,EACF,EAAE,CAAA,GAEI,IAAqB,EAAc,IAAA,CAAK,GAAM,MAC9C,EAAc,WAAW,IACpB;AAAA,IACL,OAAO,MAAU,IAAI,iBAAiB,EAAK,SAAS,GAAiB;AAAA,IACrE,YAAY,EAAK;AAAA,EACnB,IAGK;AAAA,IACL,OAAO,EAAK,SAAS,GAAiB;AAAA,IACtC,YAAY,EAAK;AAAA,EACnB,CACD;AAED,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,iBAAiB;AAAA,MACjB,KAAK;AAAA,MACL,GAAG;AAAA,MACH,cAAc;AAAA,MACd,aAAa;AAAA,IACf;AAAA,cAPF,CASE,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI,EAAE,KAAK,EAAE;AAAA,gBAApB,CACE,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,kBAAS;AAAA,MAAY,CAAA,GACnC,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,eAAe;AAAA,UACf,KAAK;AAAA,UACL,gBAAgB;AAAA,QAClB;AAAA,kBANF,CAQE,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAU,CAAA,GACf,gBAAA,EAAC,GAAD,EAAoB,QAAA,EAAS,CAAA,CACxB;AAAA,QACF;AAAA,QAEP,gBAAA,EAAC,GAAD,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MAAW,MAAM;AAAA,MAAoB,QAAQ;AAAA,IAAK,CAAA,GACjD,CACI,EAAA,CAAA,CACF;AAAA;AAEX,CACF"}
1
+ {"version":3,"file":"ProgressBar.es.js","names":[],"sources":["../../../src/finstrong/components/ProgressBar.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { H2, Text } from '@mxenabled/mxui'\n\nimport StatusBar from '../../common/components/charts/StatusBar'\n\nimport StatusChip from './StatusChip'\n\nexport type ProgressBarStatus = 'GOOD' | 'FAIR' | 'OFF_TRACK' | 'MISSING'\n\ninterface StatusBarDataItem {\n percentage: string\n color?: string\n}\n\nexport interface ProgressBarProps {\n label: string\n value: string\n status: ProgressBarStatus\n bottomComponent: React.ReactNode\n statusBarData: StatusBarDataItem[]\n}\n\nconst ProgressBar: React.FC<ProgressBarProps> = observer(\n ({ label, value, status, bottomComponent, statusBarData = [] }) => {\n const cardStateStyles = {\n GOOD: {\n progressBarColor: 'primary.main',\n },\n FAIR: {\n progressBarColor: 'warning.main',\n },\n OFF_TRACK: {\n progressBarColor: 'error.main',\n },\n MISSING: {\n progressBarColor: 'text.secondary',\n },\n }[status]\n\n const statusBarColorData = statusBarData.map((item, index) => {\n if (statusBarData.length === 2) {\n return {\n color: index === 0 ? 'primary.main' : item.color || cardStateStyles?.progressBarColor,\n percentage: item.percentage,\n }\n }\n\n return {\n color: item.color || cardStateStyles?.progressBarColor,\n percentage: item.percentage,\n }\n })\n\n return (\n <Stack\n sx={{\n backgroundColor: 'background.paper',\n gap: 8,\n p: 24,\n borderBottom: '1px solid',\n borderColor: 'divider',\n }}\n >\n <Stack sx={{ gap: 2 }}>\n <Text variant=\"body2\">{label}</Text>\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n gap: 12,\n justifyContent: 'space-between',\n }}\n >\n <H2>{value}</H2>\n <StatusChip status={status} />\n </Stack>\n </Stack>\n\n <Stack>\n <StatusBar data={statusBarColorData} height={16} />\n {bottomComponent}\n </Stack>\n </Stack>\n )\n },\n)\n\nexport default ProgressBar\n"],"mappings":";;;;;;;AA0BA,IAAM,IAA0C,EAAA,CAC7C,EAAE,OAAA,GAAO,OAAA,GAAO,QAAA,GAAQ,iBAAA,GAAiB,eAAA,IAAgB,CAAC,EAAA,MAAQ;AACjE,QAAM,IAAkB;AAAA,IACtB,MAAM,EACJ,kBAAkB,eACpB;AAAA,IACA,MAAM,EACJ,kBAAkB,eACpB;AAAA,IACA,WAAW,EACT,kBAAkB,aACpB;AAAA,IACA,SAAS,EACP,kBAAkB,iBACpB;AAAA,EACF,EAAE,CAAA,GAEI,IAAqB,EAAc,IAAA,CAAK,GAAM,MAC9C,EAAc,WAAW,IACpB;AAAA,IACL,OAAO,MAAU,IAAI,iBAAiB,EAAK,SAAS,GAAiB;AAAA,IACrE,YAAY,EAAK;AAAA,EACnB,IAGK;AAAA,IACL,OAAO,EAAK,SAAS,GAAiB;AAAA,IACtC,YAAY,EAAK;AAAA,EACnB,CACD;AAED,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,iBAAiB;AAAA,MACjB,KAAK;AAAA,MACL,GAAG;AAAA,MACH,cAAc;AAAA,MACd,aAAa;AAAA,IACf;AAAA,IAPF,UAAA,CASE,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI,EAAE,KAAK,EAAE;AAAA,MAApB,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,QAAS,UAAA;AAAA,MAAY,CAAA,GACnC,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,eAAe;AAAA,UACf,KAAK;AAAA,UACL,gBAAgB;AAAA,QAClB;AAAA,QANF,UAAA,CAQE,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAU,CAAA,GACf,gBAAA,EAAC,GAAD,EAAoB,QAAA,EAAS,CAAA,CACxB;AAAA,MACF,CAAA,CAAA;AAAA,IAEP,CAAA,GAAA,gBAAA,EAAC,GAAD,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MAAW,MAAM;AAAA,MAAoB,QAAQ;AAAA,IAAK,CAAA,GACjD,CACI,EAAA,CAAA,CACF;AAAA;AAEX,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AvailableTabContent.es.js","names":[],"sources":["../../../../src/finstrong/components/SaveEnoughToLiveOn/AvailableTabContent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { useAccountStore, useGlobalCopyStore } from '../../../common'\nimport { AccountType } from '../../../core'\n\nimport TotalCard from '../shared/TotalCard'\nimport Accounts from '../shared/Accounts'\n\nconst AvailableTabContent: React.FC = () => {\n const { savingsAndCheckingAccountsBalance } = useAccountStore()\n const { finstrong: copy } = useGlobalCopyStore()\n\n return (\n <Stack gap={16} sx={{ p: 16 }}>\n <TotalCard\n balance={savingsAndCheckingAccountsBalance}\n title={copy.key_indicators_save.drawer_available_balance}\n />\n <Accounts\n loadAccounts={[AccountType.SAVINGS, AccountType.CHECKING]}\n loadMoreLabel={copy.more_accounts}\n />\n </Stack>\n )\n}\n\nexport default observer(AvailableTabContent)\n"],"mappings":";;;;;;;;AAWA,IAAM,IAAA,MAAsC;AAC1C,QAAM,EAAE,mCAAA,EAAA,IAAsC,EAAgB,GACxD,EAAE,WAAW,EAAA,IAAS,EAAmB;AAE/C,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,KAAK;AAAA,IAAI,IAAI,EAAE,GAAG,GAAG;AAAA,cAA5B,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,SAAS;AAAA,MACT,OAAO,EAAK,oBAAoB;AAAA,IACjC,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MACE,cAAc,CAAC,EAAY,SAAS,EAAY,QAAQ;AAAA,MACxD,eAAe,EAAK;AAAA,IACrB,CAAA,CACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAmB"}
1
+ {"version":3,"file":"AvailableTabContent.es.js","names":[],"sources":["../../../../src/finstrong/components/SaveEnoughToLiveOn/AvailableTabContent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { useAccountStore, useGlobalCopyStore } from '../../../common'\nimport { AccountType } from '../../../core'\n\nimport TotalCard from '../shared/TotalCard'\nimport Accounts from '../shared/Accounts'\n\nconst AvailableTabContent: React.FC = () => {\n const { savingsAndCheckingAccountsBalance } = useAccountStore()\n const { finstrong: copy } = useGlobalCopyStore()\n\n return (\n <Stack gap={16} sx={{ p: 16 }}>\n <TotalCard\n balance={savingsAndCheckingAccountsBalance}\n title={copy.key_indicators_save.drawer_available_balance}\n />\n <Accounts\n loadAccounts={[AccountType.SAVINGS, AccountType.CHECKING]}\n loadMoreLabel={copy.more_accounts}\n />\n </Stack>\n )\n}\n\nexport default observer(AvailableTabContent)\n"],"mappings":";;;;;;;;AAWA,IAAM,IAAA,MAAsC;AAC1C,QAAM,EAAE,mCAAA,EAAA,IAAsC,EAAgB,GACxD,EAAE,WAAW,EAAA,IAAS,EAAmB;AAE/C,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,KAAK;AAAA,IAAI,IAAI,EAAE,GAAG,GAAG;AAAA,IAA5B,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,SAAS;AAAA,MACT,OAAO,EAAK,oBAAoB;AAAA,IACjC,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MACE,cAAc,CAAC,EAAY,SAAS,EAAY,QAAQ;AAAA,MACxD,eAAe,EAAK;AAAA,IACrB,CAAA,CACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SaveEnoughToLiveOnDrawerContent.es.js","names":[],"sources":["../../../../src/finstrong/components/SaveEnoughToLiveOn/SaveEnoughToLiveOnDrawerContent.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 } from '../../../common'\n\nimport AvailableTabContent from './AvailableTabContent'\nimport LineGraph from '../shared/LineGraph'\nimport SpendingTabContent from './SpendingTabContent'\n\nconst SaveEnoughToLiveOnDrawerContent: React.FC = () => {\n const [tabValue, setTabValue] = React.useState(0)\n const { finstrong: copy } = useGlobalCopyStore()\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=\"available-details-tabpanel-0\"\n label={copy.key_indicators_save.drawer_available}\n sx={{ minHeight: 44 }}\n />\n <Tab\n aria-controls=\"spending-details-tabpanel-1\"\n label={copy.key_indicators_save.drawer_spending}\n sx={{ minHeight: 44 }}\n />\n </Tabs>\n\n <TabContentContainer index={0} name=\"available-details\" value={tabValue}>\n <AvailableTabContent />\n </TabContentContainer>\n\n <TabContentContainer index={1} name=\"spending-details\" value={tabValue}>\n <SpendingTabContent />\n </TabContentContainer>\n </Card>\n <LineGraph chartFor=\"savingsOverTime\" />\n </>\n )\n}\n\nexport default observer(SaveEnoughToLiveOnDrawerContent)\n"],"mappings":";;;;;;;;;;;AAaA,IAAM,IAAA,MAAkD;AACtD,QAAM,CAAC,GAAU,CAAA,IAAe,EAAM,SAAS,CAAC,GAC1C,EAAE,WAAW,EAAA,IAAS,EAAmB;AAE/C,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MACE,cAAY,EAAK,oBAAoB;AAAA,MACrC,UAAU;AAAA,MACV,UAAA,CAAW,GAAG,MAAQ,EAAY,CAAG;AAAA,MACrC,uBAAuB;AAAA,MACvB,IAAI,EAAE,IAAI,EAAE;AAAA,MACZ,OAAO;AAAA,MACP,SAAQ;AAAA,gBAPV,CASE,gBAAA,EAAC,GAAD;AAAA,QACE,iBAAc;AAAA,QACd,OAAO,EAAK,oBAAoB;AAAA,QAChC,IAAI,EAAE,WAAW,GAAG;AAAA,MACrB,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,QACE,iBAAc;AAAA,QACd,OAAO,EAAK,oBAAoB;AAAA,QAChC,IAAI,EAAE,WAAW,GAAG;AAAA,MACrB,CAAA,CACG;AAAA;IAEN,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAoB,OAAO;AAAA,gBAC7D,gBAAA,EAAC,GAAD,CAAsB,CAAA;AAAA,IACH,CAAA;AAAA,IAErB,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAmB,OAAO;AAAA,gBAC5D,gBAAA,EAAC,GAAD,CAAqB,CAAA;AAAA,IACF,CAAA;AAAA,EACjB,EAAA,CAAA,GACN,gBAAA,EAAC,GAAD,EAAW,UAAS,kBAAmB,CAAA,CACvC,EAAA,CAAA;AAEN,GAEA,IAAe,EAAS,CAA+B"}
1
+ {"version":3,"file":"SaveEnoughToLiveOnDrawerContent.es.js","names":[],"sources":["../../../../src/finstrong/components/SaveEnoughToLiveOn/SaveEnoughToLiveOnDrawerContent.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 } from '../../../common'\n\nimport AvailableTabContent from './AvailableTabContent'\nimport LineGraph from '../shared/LineGraph'\nimport SpendingTabContent from './SpendingTabContent'\n\nconst SaveEnoughToLiveOnDrawerContent: React.FC = () => {\n const [tabValue, setTabValue] = React.useState(0)\n const { finstrong: copy } = useGlobalCopyStore()\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=\"available-details-tabpanel-0\"\n label={copy.key_indicators_save.drawer_available}\n sx={{ minHeight: 44 }}\n />\n <Tab\n aria-controls=\"spending-details-tabpanel-1\"\n label={copy.key_indicators_save.drawer_spending}\n sx={{ minHeight: 44 }}\n />\n </Tabs>\n\n <TabContentContainer index={0} name=\"available-details\" value={tabValue}>\n <AvailableTabContent />\n </TabContentContainer>\n\n <TabContentContainer index={1} name=\"spending-details\" value={tabValue}>\n <SpendingTabContent />\n </TabContentContainer>\n </Card>\n <LineGraph chartFor=\"savingsOverTime\" />\n </>\n )\n}\n\nexport default observer(SaveEnoughToLiveOnDrawerContent)\n"],"mappings":";;;;;;;;;;;AAaA,IAAM,IAAA,MAAkD;AACtD,QAAM,CAAC,GAAU,CAAA,IAAe,EAAM,SAAS,CAAC,GAC1C,EAAE,WAAW,EAAA,IAAS,EAAmB;AAE/C,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MACE,cAAY,EAAK,oBAAoB;AAAA,MACrC,UAAU;AAAA,MACV,UAAA,CAAW,GAAG,MAAQ,EAAY,CAAG;AAAA,MACrC,uBAAuB;AAAA,MACvB,IAAI,EAAE,IAAI,EAAE;AAAA,MACZ,OAAO;AAAA,MACP,SAAQ;AAAA,MAPV,UAAA,CASE,gBAAA,EAAC,GAAD;AAAA,QACE,iBAAc;AAAA,QACd,OAAO,EAAK,oBAAoB;AAAA,QAChC,IAAI,EAAE,WAAW,GAAG;AAAA,MACrB,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,QACE,iBAAc;AAAA,QACd,OAAO,EAAK,oBAAoB;AAAA,QAChC,IAAI,EAAE,WAAW,GAAG;AAAA,MACrB,CAAA,CACG;AAAA;IAEN,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAoB,OAAO;AAAA,MAC7D,UAAA,gBAAA,EAAC,GAAD,CAAsB,CAAA;AAAA,IACH,CAAA;AAAA,IAErB,gBAAA,EAAC,GAAD;AAAA,MAAqB,OAAO;AAAA,MAAG,MAAK;AAAA,MAAmB,OAAO;AAAA,MAC5D,UAAA,gBAAA,EAAC,GAAD,CAAqB,CAAA;AAAA,IACF,CAAA;AAAA,EACjB,EAAA,CAAA,GACN,gBAAA,EAAC,GAAD,EAAW,UAAS,kBAAmB,CAAA,CACvC,EAAA,CAAA;AAEN,GAEA,IAAe,EAAS,CAA+B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SaveEnoughToLiveOnProgressBar.es.js","names":[],"sources":["../../../../src/finstrong/components/SaveEnoughToLiveOn/SaveEnoughToLiveOnProgressBar.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\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 { getDaysOfCashOnHandState } from '../../util/finstrongUtils'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\nconst SaveEnoughToLiveOnProgressBar = () => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const { healthScore } = useFinstrongStore()\n const noOfMonths = healthScore.months_of_cash_on_hand\n const cardStatus = getDaysOfCashOnHandState(noOfMonths ? noOfMonths * 30 : null) // Convert months to days for state calculation\n\n // Using 183 days as an approximate 6-month period\n const avgDaysPerMonth = 183 / 6\n const months = Math.floor(noOfMonths)\n const days = Math.round((noOfMonths - months) * avgDaysPerMonth)\n const percentage = (noOfMonths / 6) * 100\n const monthsToDisplay = ['0 Mo', '1 Mo', '2 Mo', '3 Mo', '4 Mo', '5 Mo', '6 Mo']\n\n return (\n <ProgressBar\n bottomComponent={\n <Stack\n sx={{\n flexDirection: 'row',\n height: 24,\n justifyContent: 'space-between',\n mt: 2,\n px: 1,\n }}\n >\n {monthsToDisplay.map((label) => (\n <Stack\n key={label}\n sx={{\n alignItems: 'center',\n height: 24,\n }}\n >\n <Divider\n orientation=\"vertical\"\n sx={{\n borderWidth: 1,\n height: 8,\n }}\n />\n <Text variant=\"caption\">{label}</Text>\n </Stack>\n ))}\n </Stack>\n }\n label={copy.key_indicators_save.drawer_progress_bar_label}\n status={cardStatus}\n statusBarData={[\n {\n percentage: `${percentage}%`,\n },\n ]}\n value={\n buildDynamicCopy(copy.key_indicators_save.drawer_progress_bar_value, months, days) as string\n }\n />\n )\n}\n\nexport default observer(SaveEnoughToLiveOnProgressBar)\n"],"mappings":";;;;;;;;;AAYA,IAAM,IAAA,MAAsC;AAC1C,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,EAAE,aAAA,EAAA,IAAgB,EAAkB,GACpC,IAAa,EAAY,wBACzB,IAAa,EAAyB,IAAa,IAAa,KAAK,IAAI,GAGzE,IAAkB,MAAM,GACxB,IAAS,KAAK,MAAM,CAAU,GAC9B,IAAO,KAAK,OAAO,IAAa,KAAU,CAAe,GACzD,IAAc,IAAa,IAAK;AAGtC,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,iBACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,eAAe;AAAA,QACf,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,gBAEC;AAAA,QAdgB;AAAA,QAAQ;AAAA,QAAQ;AAAA,QAAQ;AAAA,QAAQ;AAAA,QAAQ;AAAA,QAAQ;AAAA,MAchE,EAAgB,IAAA,CAAK,MACpB,gBAAA,EAAC,GAAD;AAAA,QAEE,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,QAAQ;AAAA,QACV;AAAA,kBALF,CAOE,gBAAA,EAAC,GAAD;AAAA,UACE,aAAY;AAAA,UACZ,IAAI;AAAA,YACF,aAAa;AAAA,YACb,QAAQ;AAAA,UACV;AAAA,QACD,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,UAAM,SAAQ;AAAA,oBAAW;AAAA,QAAY,CAAA,CAChC;AAAA,SAdA,CAcA,CACR;AAAA,IACI,CAAA;AAAA,IAET,OAAO,EAAK,oBAAoB;AAAA,IAChC,QAAQ;AAAA,IACR,eAAe,CACb,EACE,YAAY,GAAG,CAAA,IACjB,CACF;AAAA,IACA,OACE,EAAiB,EAAK,oBAAoB,2BAA2B,GAAQ,CAAI;AAAA,EAEpF,CAAA;AAEL,GAEA,IAAe,EAAS,CAA6B"}
1
+ {"version":3,"file":"SaveEnoughToLiveOnProgressBar.es.js","names":[],"sources":["../../../../src/finstrong/components/SaveEnoughToLiveOn/SaveEnoughToLiveOnProgressBar.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\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 { getDaysOfCashOnHandState } from '../../util/finstrongUtils'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\nconst SaveEnoughToLiveOnProgressBar = () => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const { healthScore } = useFinstrongStore()\n const noOfMonths = healthScore.months_of_cash_on_hand\n const cardStatus = getDaysOfCashOnHandState(noOfMonths ? noOfMonths * 30 : null) // Convert months to days for state calculation\n\n // Using 183 days as an approximate 6-month period\n const avgDaysPerMonth = 183 / 6\n const months = Math.floor(noOfMonths)\n const days = Math.round((noOfMonths - months) * avgDaysPerMonth)\n const percentage = (noOfMonths / 6) * 100\n const monthsToDisplay = ['0 Mo', '1 Mo', '2 Mo', '3 Mo', '4 Mo', '5 Mo', '6 Mo']\n\n return (\n <ProgressBar\n bottomComponent={\n <Stack\n sx={{\n flexDirection: 'row',\n height: 24,\n justifyContent: 'space-between',\n mt: 2,\n px: 1,\n }}\n >\n {monthsToDisplay.map((label) => (\n <Stack\n key={label}\n sx={{\n alignItems: 'center',\n height: 24,\n }}\n >\n <Divider\n orientation=\"vertical\"\n sx={{\n borderWidth: 1,\n height: 8,\n }}\n />\n <Text variant=\"caption\">{label}</Text>\n </Stack>\n ))}\n </Stack>\n }\n label={copy.key_indicators_save.drawer_progress_bar_label}\n status={cardStatus}\n statusBarData={[\n {\n percentage: `${percentage}%`,\n },\n ]}\n value={\n buildDynamicCopy(copy.key_indicators_save.drawer_progress_bar_value, months, days) as string\n }\n />\n )\n}\n\nexport default observer(SaveEnoughToLiveOnProgressBar)\n"],"mappings":";;;;;;;;;AAYA,IAAM,IAAA,MAAsC;AAC1C,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,EAAE,aAAA,EAAA,IAAgB,EAAkB,GACpC,IAAa,EAAY,wBACzB,IAAa,EAAyB,IAAa,IAAa,KAAK,IAAI,GAGzE,IAAkB,MAAM,GACxB,IAAS,KAAK,MAAM,CAAU,GAC9B,IAAO,KAAK,OAAO,IAAa,KAAU,CAAe,GACzD,IAAc,IAAa,IAAK;AAGtC,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,iBACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,eAAe;AAAA,QACf,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MAEC,UAAA;AAAA,QAdgB;AAAA,QAAQ;AAAA,QAAQ;AAAA,QAAQ;AAAA,QAAQ;AAAA,QAAQ;AAAA,QAAQ;AAAA,MAchE,EAAgB,IAAA,CAAK,MACpB,gBAAA,EAAC,GAAD;AAAA,QAEE,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,QAAQ;AAAA,QACV;AAAA,QALF,UAAA,CAOE,gBAAA,EAAC,GAAD;AAAA,UACE,aAAY;AAAA,UACZ,IAAI;AAAA,YACF,aAAa;AAAA,YACb,QAAQ;AAAA,UACV;AAAA,QACD,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,UAAM,SAAQ;AAAA,UAAW,UAAA;AAAA,QAAY,CAAA,CAChC;AAAA,MAdA,GAAA,CAcA,CACR;AAAA,IACI,CAAA;AAAA,IAET,OAAO,EAAK,oBAAoB;AAAA,IAChC,QAAQ;AAAA,IACR,eAAe,CACb,EACE,YAAY,GAAG,CAAA,IACjB,CACF;AAAA,IACA,OACE,EAAiB,EAAK,oBAAoB,2BAA2B,GAAQ,CAAI;AAAA,EAEpF,CAAA;AAEL,GAEA,IAAe,EAAS,CAA6B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpendingTabContent.es.js","names":[],"sources":["../../../../src/finstrong/components/SaveEnoughToLiveOn/SpendingTabContent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { Loader, useFinstrongStore, useGlobalCopyStore } from '../../../common'\n\nimport TotalCard from '../shared/TotalCard'\nimport Transactions from '../shared/Transactions'\n\nconst SpendingTabContent: React.FC = () => {\n const { finstrong: copy } = useGlobalCopyStore()\n const {\n isSpendingInitialized,\n healthScore,\n allTransactions,\n loadSpendTransactions,\n loadDebtSpend,\n } = useFinstrongStore()\n\n React.useEffect(() => {\n if (!isSpendingInitialized) {\n loadSpendTransactions().finally()\n loadDebtSpend().finally()\n }\n }, [isSpendingInitialized])\n\n const transactions = React.useMemo(() => {\n const spendTransactions = allTransactions.spend.map((item) => item.transaction)\n const debtSpendTransactions = allTransactions.debtSpend.map((item) => item.transaction)\n return [...spendTransactions, ...debtSpendTransactions]\n }, [allTransactions.spend, allTransactions.debtSpend])\n\n if (!isSpendingInitialized) return <Loader />\n\n return (\n <Stack gap={16} sx={{ p: 16 }}>\n <TotalCard\n balance={healthScore.ninety_day_spend / 90}\n title={copy.key_indicators_save.drawer_daily_spend}\n />\n <Transactions amountColor=\"text.primary\" transactions={transactions} />\n </Stack>\n )\n}\n\nexport default observer(SpendingTabContent)\n"],"mappings":";;;;;;;;AAUA,IAAM,IAAA,MAAqC;AACzC,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EACJ,uBAAA,GACA,aAAA,GACA,iBAAA,GACA,uBAAA,GACA,eAAA,EAAA,IACE,EAAkB;AAEtB,EAAA,EAAM,UAAA,MAAgB;AACpB,IAAK,MACH,EAAsB,EAAE,QAAQ,GAChC,EAAc,EAAE,QAAQ;AAAA,EAE5B,GAAG,CAAC,CAAqB,CAAC;AAE1B,QAAM,IAAe,EAAM,QAAA,MAAc;AACvC,UAAM,IAAoB,EAAgB,MAAM,IAAA,CAAK,MAAS,EAAK,WAAW,GACxE,IAAwB,EAAgB,UAAU,IAAA,CAAK,MAAS,EAAK,WAAW;AACtF,WAAO,CAAC,GAAG,GAAmB,GAAG,CAAqB;AAAA,EACxD,GAAG,CAAC,EAAgB,OAAO,EAAgB,SAAS,CAAC;AAErD,SAAK,IAGH,gBAAA,EAAC,GAAD;AAAA,IAAO,KAAK;AAAA,IAAI,IAAI,EAAE,GAAG,GAAG;AAAA,cAA5B,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,SAAS,EAAY,mBAAmB;AAAA,MACxC,OAAO,EAAK,oBAAoB;AAAA,IACjC,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MAAc,aAAY;AAAA,MAA6B,cAAA;AAAA,IAAe,CAAA,CACjE;AAAA,OAT0B,gBAAA,EAAC,GAAD,CAAS,CAAA;AAW9C,GAEA,IAAe,EAAS,CAAkB"}
1
+ {"version":3,"file":"SpendingTabContent.es.js","names":[],"sources":["../../../../src/finstrong/components/SaveEnoughToLiveOn/SpendingTabContent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { Loader, useFinstrongStore, useGlobalCopyStore } from '../../../common'\n\nimport TotalCard from '../shared/TotalCard'\nimport Transactions from '../shared/Transactions'\n\nconst SpendingTabContent: React.FC = () => {\n const { finstrong: copy } = useGlobalCopyStore()\n const {\n isSpendingInitialized,\n healthScore,\n allTransactions,\n loadSpendTransactions,\n loadDebtSpend,\n } = useFinstrongStore()\n\n React.useEffect(() => {\n if (!isSpendingInitialized) {\n loadSpendTransactions().finally()\n loadDebtSpend().finally()\n }\n }, [isSpendingInitialized])\n\n const transactions = React.useMemo(() => {\n const spendTransactions = allTransactions.spend.map((item) => item.transaction)\n const debtSpendTransactions = allTransactions.debtSpend.map((item) => item.transaction)\n return [...spendTransactions, ...debtSpendTransactions]\n }, [allTransactions.spend, allTransactions.debtSpend])\n\n if (!isSpendingInitialized) return <Loader />\n\n return (\n <Stack gap={16} sx={{ p: 16 }}>\n <TotalCard\n balance={healthScore.ninety_day_spend / 90}\n title={copy.key_indicators_save.drawer_daily_spend}\n />\n <Transactions amountColor=\"text.primary\" transactions={transactions} />\n </Stack>\n )\n}\n\nexport default observer(SpendingTabContent)\n"],"mappings":";;;;;;;;AAUA,IAAM,IAAA,MAAqC;AACzC,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EACJ,uBAAA,GACA,aAAA,GACA,iBAAA,GACA,uBAAA,GACA,eAAA,EAAA,IACE,EAAkB;AAEtB,EAAA,EAAM,UAAA,MAAgB;AACpB,IAAK,MACH,EAAsB,EAAE,QAAQ,GAChC,EAAc,EAAE,QAAQ;AAAA,EAE5B,GAAG,CAAC,CAAqB,CAAC;AAE1B,QAAM,IAAe,EAAM,QAAA,MAAc;AACvC,UAAM,IAAoB,EAAgB,MAAM,IAAA,CAAK,MAAS,EAAK,WAAW,GACxE,IAAwB,EAAgB,UAAU,IAAA,CAAK,MAAS,EAAK,WAAW;AACtF,WAAO,CAAC,GAAG,GAAmB,GAAG,CAAqB;AAAA,EACxD,GAAG,CAAC,EAAgB,OAAO,EAAgB,SAAS,CAAC;AAErD,SAAK,IAGH,gBAAA,EAAC,GAAD;AAAA,IAAO,KAAK;AAAA,IAAI,IAAI,EAAE,GAAG,GAAG;AAAA,IAA5B,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,SAAS,EAAY,mBAAmB;AAAA,MACxC,OAAO,EAAK,oBAAoB;AAAA,IACjC,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MAAc,aAAY;AAAA,MAA6B,cAAA;AAAA,IAAe,CAAA,CACjE;AAAA,OAT0B,gBAAA,EAAC,GAAD,CAAS,CAAA;AAW9C,GAEA,IAAe,EAAS,CAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScoreHistoryDrawer.es.js","names":[],"sources":["../../../src/finstrong/components/ScoreHistoryDrawer.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { P } from '@mxenabled/mxui'\n\nimport { Loader, useFinstrongStore, useGlobalCopyStore, useGlobalUiStore } from '../../common'\nimport { LineChart } from '../../common/components/charts/LineChart'\n\nimport { calculateFinstrongScoreStatus } from '../util/finstrongUtils'\n\nimport { FinancialStrengthGraph } from './FinancialStrengthGraph'\nimport KeyIndicatorsDrawer from './KeyIndicatorsDrawer'\nimport ScoreHistoryTimeline from './shared/ScoreHistoryTimeline'\n\ninterface ScoreHistoryDrawerProps {\n isOpen: boolean\n onClose: () => void\n}\n\nconst ScoreHistoryDrawer = ({ isOpen, onClose }: ScoreHistoryDrawerProps) => {\n const theme = useTheme()\n const { finstrong: copy } = useGlobalCopyStore()\n const { isCopyLoaded, isInitialized } = useGlobalUiStore()\n const { augmentedChartData, healthScore, healthScoreChangeReports, peerScore } =\n useFinstrongStore()\n\n if (!isCopyLoaded || !isInitialized) return <Loader />\n\n const healthScoreStatus = calculateFinstrongScoreStatus(healthScore.health_score || 0, copy)\n const sortedHealthScoreChangeReports = healthScoreChangeReports.slice().reverse()\n\n return (\n <KeyIndicatorsDrawer\n additionalContent={\n <Stack\n sx={{\n backgroundColor: 'background.paper',\n borderBottom: '1px solid',\n borderColor: 'divider',\n }}\n >\n <LineChart\n axisColor={theme.palette.divider}\n baseline=\"min\"\n colors={[theme.palette.primary.main]}\n curveType=\"natural\"\n datasets={[augmentedChartData]}\n height={160}\n isGraphClippingXAxis={true}\n labels={[copy.key_indicators_label]}\n margin={{ top: 24, bottom: 6, right: 24, left: -17 }}\n peerAverage={Math.round(peerScore?.average_health_score?.average_health_score || 0)}\n showArea={true}\n showAverage={true}\n title={copy.peer_average}\n useCustomMark={true}\n />\n </Stack>\n }\n drawerTitle={copy.score_history}\n isOpen={isOpen}\n loadConnectAccountsCard={false}\n onClose={onClose}\n stickyComponent={\n <Stack\n sx={{\n backgroundColor: 'background.paper',\n pb: 11,\n pt: 8,\n px: 24,\n }}\n >\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', gap: 16 }}>\n <FinancialStrengthGraph\n arcRadius={24}\n healthScore={healthScore?.health_score}\n margin={{ top: 9 }}\n size=\"SM\"\n />\n\n <Stack sx={{ gap: 4 }}>\n <P variant=\"h3\">{healthScoreStatus.status}</P>\n <P variant=\"caption\">{healthScoreStatus.description}</P>\n </Stack>\n </Stack>\n </Stack>\n }\n >\n <Stack sx={{ gap: 16 }}>\n {sortedHealthScoreChangeReports.map((report, index) => (\n <ScoreHistoryTimeline key={index} report={report} />\n ))}\n </Stack>\n </KeyIndicatorsDrawer>\n )\n}\n\nexport default observer(ScoreHistoryDrawer)\n"],"mappings":";;;;;;;;;;;;AAqBA,IAAM,IAAA,CAAsB,EAAE,QAAA,GAAQ,SAAA,EAAA,MAAuC;AAC3E,QAAM,IAAQ,EAAS,GACjB,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,cAAA,GAAc,eAAA,EAAA,IAAkB,EAAiB,GACnD,EAAE,oBAAA,GAAoB,aAAA,GAAa,0BAAA,GAA0B,WAAA,EAAA,IACjE,EAAkB;AAEpB,MAAI,CAAC,KAAgB,CAAC,EAAe,QAAO,gBAAA,EAAC,GAAD,CAAS,CAAA;AAErD,QAAM,IAAoB,EAA8B,EAAY,gBAAgB,GAAG,CAAI,GACrF,IAAiC,EAAyB,MAAM,EAAE,QAAQ;AAEhF,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,mBACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,aAAa;AAAA,MACf;AAAA,gBAEA,gBAAA,EAAC,GAAD;AAAA,QACE,WAAW,EAAM,QAAQ;AAAA,QACzB,UAAS;AAAA,QACT,QAAQ,CAAC,EAAM,QAAQ,QAAQ,IAAI;AAAA,QACnC,WAAU;AAAA,QACV,UAAU,CAAC,CAAkB;AAAA,QAC7B,QAAQ;AAAA,QACR,sBAAsB;AAAA,QACtB,QAAQ,CAAC,EAAK,oBAAoB;AAAA,QAClC,QAAQ;AAAA,UAAE,KAAK;AAAA,UAAI,QAAQ;AAAA,UAAG,OAAO;AAAA,UAAI,MAAM;AAAA,QAAI;AAAA,QACnD,aAAa,KAAK,MAAM,GAAW,sBAAsB,wBAAwB,CAAC;AAAA,QAClF,UAAU;AAAA,QACV,aAAa;AAAA,QACb,OAAO,EAAK;AAAA,QACZ,eAAe;AAAA,MAChB,CAAA;AAAA,IACI,CAAA;AAAA,IAET,aAAa,EAAK;AAAA,IACV,QAAA;AAAA,IACR,yBAAyB;AAAA,IAChB,SAAA;AAAA,IACT,iBACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,iBAAiB;AAAA,QACjB,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,gBAEA,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI;AAAA,UAAE,YAAY;AAAA,UAAU,eAAe;AAAA,UAAO,KAAK;AAAA,QAAG;AAAA,kBAAjE,CACE,gBAAA,EAAC,GAAD;AAAA,UACE,WAAW;AAAA,UACX,aAAa,GAAa;AAAA,UAC1B,QAAQ,EAAE,KAAK,EAAE;AAAA,UACjB,MAAK;AAAA,QACN,CAAA,GAED,gBAAA,EAAC,GAAD;AAAA,UAAO,IAAI,EAAE,KAAK,EAAE;AAAA,oBAApB,CACE,gBAAA,EAAC,GAAD;AAAA,YAAG,SAAQ;AAAA,sBAAM,EAAkB;AAAA,UAAU,CAAA,GAC7C,gBAAA,EAAC,GAAD;AAAA,YAAG,SAAQ;AAAA,sBAAW,EAAkB;AAAA,UAAe,CAAA,CAClD;AAAA,UACF;AAAA;IACF,CAAA;AAAA,cAGT,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI,EAAE,KAAK,GAAG;AAAA,gBAClB,EAA+B,IAAA,CAAK,GAAQ,MAC3C,gBAAA,EAAC,GAAD,EAA0C,QAAA,EAAS,GAAxB,CAAwB,CACpD;AAAA,IACI,CAAA;AAAA,EACY,CAAA;AAEzB,GAEA,IAAe,EAAS,CAAkB"}
1
+ {"version":3,"file":"ScoreHistoryDrawer.es.js","names":[],"sources":["../../../src/finstrong/components/ScoreHistoryDrawer.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { P } from '@mxenabled/mxui'\n\nimport { Loader, useFinstrongStore, useGlobalCopyStore, useGlobalUiStore } from '../../common'\nimport { LineChart } from '../../common/components/charts/LineChart'\n\nimport { calculateFinstrongScoreStatus } from '../util/finstrongUtils'\n\nimport { FinancialStrengthGraph } from './FinancialStrengthGraph'\nimport KeyIndicatorsDrawer from './KeyIndicatorsDrawer'\nimport ScoreHistoryTimeline from './shared/ScoreHistoryTimeline'\n\ninterface ScoreHistoryDrawerProps {\n isOpen: boolean\n onClose: () => void\n}\n\nconst ScoreHistoryDrawer = ({ isOpen, onClose }: ScoreHistoryDrawerProps) => {\n const theme = useTheme()\n const { finstrong: copy } = useGlobalCopyStore()\n const { isCopyLoaded, isInitialized } = useGlobalUiStore()\n const { augmentedChartData, healthScore, healthScoreChangeReports, peerScore } =\n useFinstrongStore()\n\n if (!isCopyLoaded || !isInitialized) return <Loader />\n\n const healthScoreStatus = calculateFinstrongScoreStatus(healthScore.health_score || 0, copy)\n const sortedHealthScoreChangeReports = healthScoreChangeReports.slice().reverse()\n\n return (\n <KeyIndicatorsDrawer\n additionalContent={\n <Stack\n sx={{\n backgroundColor: 'background.paper',\n borderBottom: '1px solid',\n borderColor: 'divider',\n }}\n >\n <LineChart\n axisColor={theme.palette.divider}\n baseline=\"min\"\n colors={[theme.palette.primary.main]}\n curveType=\"natural\"\n datasets={[augmentedChartData]}\n height={160}\n isGraphClippingXAxis={true}\n labels={[copy.key_indicators_label]}\n margin={{ top: 24, bottom: 6, right: 24, left: -17 }}\n peerAverage={Math.round(peerScore?.average_health_score?.average_health_score || 0)}\n showArea={true}\n showAverage={true}\n title={copy.peer_average}\n useCustomMark={true}\n />\n </Stack>\n }\n drawerTitle={copy.score_history}\n isOpen={isOpen}\n loadConnectAccountsCard={false}\n onClose={onClose}\n stickyComponent={\n <Stack\n sx={{\n backgroundColor: 'background.paper',\n pb: 11,\n pt: 8,\n px: 24,\n }}\n >\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', gap: 16 }}>\n <FinancialStrengthGraph\n arcRadius={24}\n healthScore={healthScore?.health_score}\n margin={{ top: 9 }}\n size=\"SM\"\n />\n\n <Stack sx={{ gap: 4 }}>\n <P variant=\"h3\">{healthScoreStatus.status}</P>\n <P variant=\"caption\">{healthScoreStatus.description}</P>\n </Stack>\n </Stack>\n </Stack>\n }\n >\n <Stack sx={{ gap: 16 }}>\n {sortedHealthScoreChangeReports.map((report, index) => (\n <ScoreHistoryTimeline key={index} report={report} />\n ))}\n </Stack>\n </KeyIndicatorsDrawer>\n )\n}\n\nexport default observer(ScoreHistoryDrawer)\n"],"mappings":";;;;;;;;;;;;AAqBA,IAAM,IAAA,CAAsB,EAAE,QAAA,GAAQ,SAAA,EAAA,MAAuC;AAC3E,QAAM,IAAQ,EAAS,GACjB,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,cAAA,GAAc,eAAA,EAAA,IAAkB,EAAiB,GACnD,EAAE,oBAAA,GAAoB,aAAA,GAAa,0BAAA,GAA0B,WAAA,EAAA,IACjE,EAAkB;AAEpB,MAAI,CAAC,KAAgB,CAAC,EAAe,QAAO,gBAAA,EAAC,GAAD,CAAS,CAAA;AAErD,QAAM,IAAoB,EAA8B,EAAY,gBAAgB,GAAG,CAAI,GACrF,IAAiC,EAAyB,MAAM,EAAE,QAAQ;AAEhF,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,mBACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,aAAa;AAAA,MACf;AAAA,MAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,QACE,WAAW,EAAM,QAAQ;AAAA,QACzB,UAAS;AAAA,QACT,QAAQ,CAAC,EAAM,QAAQ,QAAQ,IAAI;AAAA,QACnC,WAAU;AAAA,QACV,UAAU,CAAC,CAAkB;AAAA,QAC7B,QAAQ;AAAA,QACR,sBAAsB;AAAA,QACtB,QAAQ,CAAC,EAAK,oBAAoB;AAAA,QAClC,QAAQ;AAAA,UAAE,KAAK;AAAA,UAAI,QAAQ;AAAA,UAAG,OAAO;AAAA,UAAI,MAAM;AAAA,QAAI;AAAA,QACnD,aAAa,KAAK,MAAM,GAAW,sBAAsB,wBAAwB,CAAC;AAAA,QAClF,UAAU;AAAA,QACV,aAAa;AAAA,QACb,OAAO,EAAK;AAAA,QACZ,eAAe;AAAA,MAChB,CAAA;AAAA,IACI,CAAA;AAAA,IAET,aAAa,EAAK;AAAA,IACV,QAAA;AAAA,IACR,yBAAyB;AAAA,IAChB,SAAA;AAAA,IACT,iBACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,iBAAiB;AAAA,QACjB,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI;AAAA,UAAE,YAAY;AAAA,UAAU,eAAe;AAAA,UAAO,KAAK;AAAA,QAAG;AAAA,QAAjE,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UACE,WAAW;AAAA,UACX,aAAa,GAAa;AAAA,UAC1B,QAAQ,EAAE,KAAK,EAAE;AAAA,UACjB,MAAK;AAAA,QACN,CAAA,GAED,gBAAA,EAAC,GAAD;AAAA,UAAO,IAAI,EAAE,KAAK,EAAE;AAAA,UAApB,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,YAAG,SAAQ;AAAA,YAAM,UAAA,EAAkB;AAAA,UAAU,CAAA,GAC7C,gBAAA,EAAC,GAAD;AAAA,YAAG,SAAQ;AAAA,YAAW,UAAA,EAAkB;AAAA,UAAe,CAAA,CAClD;AAAA,QACF,CAAA,CAAA;AAAA;IACF,CAAA;AAAA,IAGT,UAAA,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI,EAAE,KAAK,GAAG;AAAA,MAClB,UAAA,EAA+B,IAAA,CAAK,GAAQ,MAC3C,gBAAA,EAAC,GAAD,EAA0C,QAAA,EAAS,GAAxB,CAAwB,CACpD;AAAA,IACI,CAAA;AAAA,EACY,CAAA;AAEzB,GAEA,IAAe,EAAS,CAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScoreRubricDrawer.es.js","names":[],"sources":["../../../src/finstrong/components/ScoreRubricDrawer.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemText from '@mui/material/ListItemText'\nimport Stack from '@mui/material/Stack'\n\nimport { H3, P, Text } from '@mxenabled/mxui'\n\nimport { Drawer, Loader, useGlobalCopyStore, useGlobalUiStore } from '../../common'\n\nimport HealthChart from './HealthChart'\n\ninterface ScoreRubricDrawerProps {\n isOpen: boolean\n onClose: () => void\n}\n\nconst ScoreRubricDrawer = ({ isOpen, onClose }: ScoreRubricDrawerProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n if (!isCopyLoaded) return <Loader />\n\n return (\n <Drawer isOpen={isOpen} onClose={onClose} title={copy.score_rubric}>\n <Stack sx={{ bgcolor: 'background.default', gap: 36, height: '100%', p: 24 }}>\n <Stack sx={{ gap: 20 }}>\n <Stack sx={{ gap: 8 }}>\n <H3>{copy.your_path_to_financial_freedom}</H3>\n <P variant=\"subtitle1\">{copy.finstrong_freedom_description}</P>\n </Stack>\n <Box>\n <HealthChart copy={copy} />\n </Box>\n </Stack>\n <Stack sx={{ gap: 12 }}>\n <Text sx={{ fontWeight: 600 }} variant=\"body1\">\n {copy.how_do_we_do_this}\n </Text>\n <List\n component=\"ol\"\n sx={{\n listStyleType: 'decimal',\n pl: 20,\n pr: 16,\n '& li': {\n '::marker': {\n fontWeight: 600,\n },\n },\n '& .MuiListItemText-secondary': {\n fontSize: 15,\n lineHeight: '24px',\n pt: 4,\n },\n }}\n >\n <ListItem sx={{ display: 'list-item' }}>\n <ListItemText\n primary={copy.understand_your_habits}\n secondary={copy.understand_your_habits_description}\n />\n </ListItem>\n <ListItem sx={{ display: 'list-item', pt: 16 }}>\n <ListItemText\n primary={copy.see_whats_possible}\n secondary={copy.see_whats_possible_description}\n />\n </ListItem>\n </List>\n </Stack>\n <Stack sx={{ gap: 4 }}>\n <Text sx={{ fontWeight: 600, pb: 4 }} variant=\"body1\">\n {copy.we_ask_questions}\n </Text>\n <List\n component=\"ol\"\n sx={{\n listStyleType: 'initial',\n pl: 20,\n pr: 16,\n '& li': {\n minHeight: 'max-content',\n '::marker': {\n color: 'text.secondary',\n fontWeight: 600,\n },\n },\n '& .MuiListItemText-secondary': {\n fontSize: 15,\n lineHeight: '24px',\n },\n }}\n >\n <ListItem sx={{ display: 'list-item' }}>\n <ListItemText secondary={copy.we_ask_questions_description_1} />\n </ListItem>\n <ListItem sx={{ display: 'list-item' }}>\n <ListItemText secondary={copy.we_ask_questions_description_2} />\n </ListItem>\n </List>\n </Stack>\n </Stack>\n </Drawer>\n )\n}\n\nexport default observer(ScoreRubricDrawer)\n"],"mappings":"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"}
1
+ {"version":3,"file":"ScoreRubricDrawer.es.js","names":[],"sources":["../../../src/finstrong/components/ScoreRubricDrawer.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemText from '@mui/material/ListItemText'\nimport Stack from '@mui/material/Stack'\n\nimport { H3, P, Text } from '@mxenabled/mxui'\n\nimport { Drawer, Loader, useGlobalCopyStore, useGlobalUiStore } from '../../common'\n\nimport HealthChart from './HealthChart'\n\ninterface ScoreRubricDrawerProps {\n isOpen: boolean\n onClose: () => void\n}\n\nconst ScoreRubricDrawer = ({ isOpen, onClose }: ScoreRubricDrawerProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n if (!isCopyLoaded) return <Loader />\n\n return (\n <Drawer isOpen={isOpen} onClose={onClose} title={copy.score_rubric}>\n <Stack sx={{ bgcolor: 'background.default', gap: 36, height: '100%', p: 24 }}>\n <Stack sx={{ gap: 20 }}>\n <Stack sx={{ gap: 8 }}>\n <H3>{copy.your_path_to_financial_freedom}</H3>\n <P variant=\"subtitle1\">{copy.finstrong_freedom_description}</P>\n </Stack>\n <Box>\n <HealthChart copy={copy} />\n </Box>\n </Stack>\n <Stack sx={{ gap: 12 }}>\n <Text sx={{ fontWeight: 600 }} variant=\"body1\">\n {copy.how_do_we_do_this}\n </Text>\n <List\n component=\"ol\"\n sx={{\n listStyleType: 'decimal',\n pl: 20,\n pr: 16,\n '& li': {\n '::marker': {\n fontWeight: 600,\n },\n },\n '& .MuiListItemText-secondary': {\n fontSize: 15,\n lineHeight: '24px',\n pt: 4,\n },\n }}\n >\n <ListItem sx={{ display: 'list-item' }}>\n <ListItemText\n primary={copy.understand_your_habits}\n secondary={copy.understand_your_habits_description}\n />\n </ListItem>\n <ListItem sx={{ display: 'list-item', pt: 16 }}>\n <ListItemText\n primary={copy.see_whats_possible}\n secondary={copy.see_whats_possible_description}\n />\n </ListItem>\n </List>\n </Stack>\n <Stack sx={{ gap: 4 }}>\n <Text sx={{ fontWeight: 600, pb: 4 }} variant=\"body1\">\n {copy.we_ask_questions}\n </Text>\n <List\n component=\"ol\"\n sx={{\n listStyleType: 'initial',\n pl: 20,\n pr: 16,\n '& li': {\n minHeight: 'max-content',\n '::marker': {\n color: 'text.secondary',\n fontWeight: 600,\n },\n },\n '& .MuiListItemText-secondary': {\n fontSize: 15,\n lineHeight: '24px',\n },\n }}\n >\n <ListItem sx={{ display: 'list-item' }}>\n <ListItemText secondary={copy.we_ask_questions_description_1} />\n </ListItem>\n <ListItem sx={{ display: 'list-item' }}>\n <ListItemText secondary={copy.we_ask_questions_description_2} />\n </ListItem>\n </List>\n </Stack>\n </Stack>\n </Drawer>\n )\n}\n\nexport default observer(ScoreRubricDrawer)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpendLessThanYouMakeComponent.es.js","names":[],"sources":["../../../../src/finstrong/components/SpendLessThanYouMake/SpendLessThanYouMakeComponent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { endOfMonth } from 'date-fns/endOfMonth'\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 { H3 } from '@mxenabled/mxui'\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport {\n useAccountStore,\n useCategoryStore,\n useFinstrongStore,\n useGlobalStore,\n useGlobalCopyStore,\n} from '../../../common'\nimport { EmptyState } from '../../../common/components/EmptyState'\nimport DoubleBarChart from '../shared/DoubleBarChart'\nimport { getSpendingData } from '../../../spending/utils/SpendingData'\nimport SpendingDonut from '../../../spending/components/SpendingDonut'\nimport SpendingLegend from '../../../spending/components/SpendingLegend'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\nconst SpendLessThanYouMakeComponent: React.FC = () => {\n const { accounts } = useAccountStore()\n const { categories, dateRangeCategoryTotals, loadDateRangeCategoryTotals } = useCategoryStore()\n const { monthlySummaries, handleFinstrongWidgetPrimaryCtaClick } = useFinstrongStore()\n const { appDataStore } = useGlobalStore()\n const { finstrong: copy, goals: goalsCopy, spending: spendingCopy } = useGlobalCopyStore()\n const theme = useTheme()\n\n const [selectedId, setSelectedId] = React.useState('')\n\n // Load category data for spending chart\n React.useEffect(() => {\n loadDateRangeCategoryTotals(\n accounts,\n startOfMonth(new Date()),\n endOfMonth(new Date()),\n ).finally()\n }, [accounts])\n\n // Spending data for donut chart\n const spendingData = React.useMemo(\n () => getSpendingData(categories, goalsCopy, theme, dateRangeCategoryTotals),\n [categories, dateRangeCategoryTotals],\n )\n\n const handleSelected = (id: string) => {\n setSelectedId(selectedId === id ? '' : id)\n }\n\n const { totalSpending, totalIncome } = React.useMemo(() => {\n return monthlySummaries?.reduce(\n (\n totals: { totalSpending: number; totalIncome: number },\n { standard_spend = 0, income = 0 },\n ) => ({\n totalSpending: totals.totalSpending + standard_spend,\n totalIncome: totals.totalIncome + income,\n }),\n { totalSpending: 0, totalIncome: 0 },\n )\n }, [monthlySummaries])\n\n //TODO: Add Functionalities for View More Buttons\n return (\n <Stack sx={{ gap: 24 }}>\n {totalIncome > 0 || totalSpending > 0 ? (\n <DoubleBarChart\n {...(appDataStore.appData.client_profile?.allow_trends_widget && {\n buttonLabel: copy.key_indicators_spend.spend_less_than_you_make_drawer.view_more,\n })}\n chartFor=\"spending_vs_income\"\n data={monthlySummaries}\n legendLabelComparison={copy.key_indicators_spend.spend_less_than_you_make_drawer.income}\n legendLabelMain={copy.key_indicators_spend.spend_less_than_you_make_drawer.spending}\n onClick={() => handleFinstrongWidgetPrimaryCtaClick('trends')()}\n title={copy.key_indicators_spend.spend_less_than_you_make_drawer.trends}\n totalComparison={formatCurrency(totalIncome, '0,0.00')}\n totalMain={formatCurrency(totalSpending, '0,0.00')}\n />\n ) : (\n <EmptyState\n header={copy.key_indicators_spend.spend_less_than_you_make_drawer.trends_zero_state_title}\n icon=\"multiline_chart\"\n subText={\n copy.key_indicators_spend.spend_less_than_you_make_drawer.trends_zero_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\n {/* Mini Spending Chart Component */}\n {spendingData.donutData.length > 0 ? (\n <Card\n sx={{\n px: 16,\n py: 24,\n }}\n >\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n gap: 12,\n justifyContent: 'space-between',\n pb: 8,\n pt: 16,\n px: 16,\n }}\n >\n <H3>{copy.key_indicators_spend.spend_less_than_you_make_drawer.spending}</H3>\n {appDataStore.appData.client_profile?.allow_spending_widget && (\n <Button\n endIcon={<ChevronRight />}\n onClick={() => handleFinstrongWidgetPrimaryCtaClick('spending')()}\n size=\"small\"\n sx={{\n pl: 8,\n height: 24,\n }}\n variant=\"text\"\n >\n {copy.key_indicators_spend.spend_less_than_you_make_drawer.view_more}\n </Button>\n )}\n </Stack>\n <Stack\n sx={{ flexDirection: 'row', gap: 12, justifyContent: 'center', pb: 32, pt: 16, px: 24 }}\n >\n <SpendingDonut\n data={spendingData}\n onSelected={handleSelected}\n selectedId={selectedId}\n totalLabel={spendingCopy.total_spending}\n />\n\n <SpendingLegend\n data={spendingData}\n onSelected={handleSelected}\n selectedId={selectedId}\n />\n </Stack>\n </Card>\n ) : (\n <EmptyState\n header={\n copy.key_indicators_spend.spend_less_than_you_make_drawer.spending_zero_state_title\n }\n icon=\"donut_small\"\n subText={\n copy.key_indicators_spend.spend_less_than_you_make_drawer\n .spending_zero_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 </Stack>\n )\n}\n\nexport default observer(SpendLessThanYouMakeComponent)\n"],"mappings":"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"}
1
+ {"version":3,"file":"SpendLessThanYouMakeComponent.es.js","names":[],"sources":["../../../../src/finstrong/components/SpendLessThanYouMake/SpendLessThanYouMakeComponent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { endOfMonth } from 'date-fns/endOfMonth'\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 { H3 } from '@mxenabled/mxui'\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport {\n useAccountStore,\n useCategoryStore,\n useFinstrongStore,\n useGlobalStore,\n useGlobalCopyStore,\n} from '../../../common'\nimport { EmptyState } from '../../../common/components/EmptyState'\nimport DoubleBarChart from '../shared/DoubleBarChart'\nimport { getSpendingData } from '../../../spending/utils/SpendingData'\nimport SpendingDonut from '../../../spending/components/SpendingDonut'\nimport SpendingLegend from '../../../spending/components/SpendingLegend'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\nconst SpendLessThanYouMakeComponent: React.FC = () => {\n const { accounts } = useAccountStore()\n const { categories, dateRangeCategoryTotals, loadDateRangeCategoryTotals } = useCategoryStore()\n const { monthlySummaries, handleFinstrongWidgetPrimaryCtaClick } = useFinstrongStore()\n const { appDataStore } = useGlobalStore()\n const { finstrong: copy, goals: goalsCopy, spending: spendingCopy } = useGlobalCopyStore()\n const theme = useTheme()\n\n const [selectedId, setSelectedId] = React.useState('')\n\n // Load category data for spending chart\n React.useEffect(() => {\n loadDateRangeCategoryTotals(\n accounts,\n startOfMonth(new Date()),\n endOfMonth(new Date()),\n ).finally()\n }, [accounts])\n\n // Spending data for donut chart\n const spendingData = React.useMemo(\n () => getSpendingData(categories, goalsCopy, theme, dateRangeCategoryTotals),\n [categories, dateRangeCategoryTotals],\n )\n\n const handleSelected = (id: string) => {\n setSelectedId(selectedId === id ? '' : id)\n }\n\n const { totalSpending, totalIncome } = React.useMemo(() => {\n return monthlySummaries?.reduce(\n (\n totals: { totalSpending: number; totalIncome: number },\n { standard_spend = 0, income = 0 },\n ) => ({\n totalSpending: totals.totalSpending + standard_spend,\n totalIncome: totals.totalIncome + income,\n }),\n { totalSpending: 0, totalIncome: 0 },\n )\n }, [monthlySummaries])\n\n //TODO: Add Functionalities for View More Buttons\n return (\n <Stack sx={{ gap: 24 }}>\n {totalIncome > 0 || totalSpending > 0 ? (\n <DoubleBarChart\n {...(appDataStore.appData.client_profile?.allow_trends_widget && {\n buttonLabel: copy.key_indicators_spend.spend_less_than_you_make_drawer.view_more,\n })}\n chartFor=\"spending_vs_income\"\n data={monthlySummaries}\n legendLabelComparison={copy.key_indicators_spend.spend_less_than_you_make_drawer.income}\n legendLabelMain={copy.key_indicators_spend.spend_less_than_you_make_drawer.spending}\n onClick={() => handleFinstrongWidgetPrimaryCtaClick('trends')()}\n title={copy.key_indicators_spend.spend_less_than_you_make_drawer.trends}\n totalComparison={formatCurrency(totalIncome, '0,0.00')}\n totalMain={formatCurrency(totalSpending, '0,0.00')}\n />\n ) : (\n <EmptyState\n header={copy.key_indicators_spend.spend_less_than_you_make_drawer.trends_zero_state_title}\n icon=\"multiline_chart\"\n subText={\n copy.key_indicators_spend.spend_less_than_you_make_drawer.trends_zero_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\n {/* Mini Spending Chart Component */}\n {spendingData.donutData.length > 0 ? (\n <Card\n sx={{\n px: 16,\n py: 24,\n }}\n >\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n gap: 12,\n justifyContent: 'space-between',\n pb: 8,\n pt: 16,\n px: 16,\n }}\n >\n <H3>{copy.key_indicators_spend.spend_less_than_you_make_drawer.spending}</H3>\n {appDataStore.appData.client_profile?.allow_spending_widget && (\n <Button\n endIcon={<ChevronRight />}\n onClick={() => handleFinstrongWidgetPrimaryCtaClick('spending')()}\n size=\"small\"\n sx={{\n pl: 8,\n height: 24,\n }}\n variant=\"text\"\n >\n {copy.key_indicators_spend.spend_less_than_you_make_drawer.view_more}\n </Button>\n )}\n </Stack>\n <Stack\n sx={{ flexDirection: 'row', gap: 12, justifyContent: 'center', pb: 32, pt: 16, px: 24 }}\n >\n <SpendingDonut\n data={spendingData}\n onSelected={handleSelected}\n selectedId={selectedId}\n totalLabel={spendingCopy.total_spending}\n />\n\n <SpendingLegend\n data={spendingData}\n onSelected={handleSelected}\n selectedId={selectedId}\n />\n </Stack>\n </Card>\n ) : (\n <EmptyState\n header={\n copy.key_indicators_spend.spend_less_than_you_make_drawer.spending_zero_state_title\n }\n icon=\"donut_small\"\n subText={\n copy.key_indicators_spend.spend_less_than_you_make_drawer\n .spending_zero_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 </Stack>\n )\n}\n\nexport default observer(SpendLessThanYouMakeComponent)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpendLessThanYouMakeProgressBar.es.js","names":[],"sources":["../../../../src/finstrong/components/SpendLessThanYouMake/SpendLessThanYouMakeProgressBar.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\nimport { Text } from '@mxenabled/mxui'\n\nimport { useFinstrongStore, useGlobalCopyStore } from '../../../common'\nimport { getPercentFromRatio, getSpendToIncomeRatioState } from '../../util/finstrongUtils'\n\nimport ProgressBar from '../ProgressBar'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\nconst SpendLessThanYouMakeProgressBar = () => {\n const { healthScore } = useFinstrongStore()\n const { finstrong: copy } = useGlobalCopyStore()\n\n const spend = getPercentFromRatio(healthScore.spend_to_income_ratio)\n const spendPercentage = spend ?? 0\n\n // Check if healthScore is empty\n const isHealthScoreEmpty = Object.keys(healthScore).length === 0\n\n const cardStatus = getSpendToIncomeRatioState(spend)\n\n const statusBarData = {\n GOOD: [{ percentage: `${spendPercentage}%` }],\n FAIR: [{ percentage: '100%' }, { percentage: `${spendPercentage - 100}%` }],\n OFF_TRACK: [{ percentage: '100%' }, { percentage: `${spendPercentage - 100}%` }],\n MISSING: [{ percentage: '0%' }],\n }[cardStatus]\n\n return (\n <ProgressBar\n bottomComponent={\n <Stack\n sx={{\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n mt: 8,\n }}\n >\n <Text variant=\"body2\">\n {healthScore.ninety_day_income <= 0\n ? '-'\n : formatCurrency(healthScore.ninety_day_income, '0,0.00')}\n &nbsp;\n {copy?.key_indicators_spend.spend_less_than_you_make_drawer.income}\n </Text>\n <Text variant=\"body2\">\n {spendPercentage <= 0 ? '-%' : `${spendPercentage}%`}&nbsp;\n {copy?.key_indicators_spend.spend_less_than_you_make_drawer.spent}\n </Text>\n </Stack>\n }\n label={\n copy?.key_indicators_spend.spend_less_than_you_make_drawer\n .spend_less_than_you_make_sticky_description\n }\n status={cardStatus}\n statusBarData={statusBarData}\n value={isHealthScoreEmpty ? '$0' : formatCurrency(healthScore.ninety_day_spend, '0,0.00')}\n />\n )\n}\n\nexport default observer(SpendLessThanYouMakeProgressBar)\n"],"mappings":";;;;;;;;AAWA,IAAM,IAAA,MAAwC;AAC5C,QAAM,EAAE,aAAA,EAAA,IAAgB,EAAkB,GACpC,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,IAAQ,EAAoB,EAAY,qBAAqB,GAC7D,IAAkB,KAAS,GAG3B,IAAqB,OAAO,KAAK,CAAW,EAAE,WAAW,GAEzD,IAAa,EAA2B,CAAK,GAE7C,IAAgB;AAAA,IACpB,MAAM,CAAC,EAAE,YAAY,GAAG,CAAA,IAAmB,CAAC;AAAA,IAC5C,MAAM,CAAC,EAAE,YAAY,OAAO,GAAG,EAAE,YAAY,GAAG,IAAkB,GAAA,IAAO,CAAC;AAAA,IAC1E,WAAW,CAAC,EAAE,YAAY,OAAO,GAAG,EAAE,YAAY,GAAG,IAAkB,GAAA,IAAO,CAAC;AAAA,IAC/E,SAAS,CAAC,EAAE,YAAY,KAAK,CAAC;AAAA,EAChC,EAAE,CAAA;AAEF,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,iBACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,IAAI;AAAA,MACN;AAAA,gBANF,CAQE,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,kBAAd;AAAA,UACG,EAAY,qBAAqB,IAC9B,MACA,EAAe,EAAY,mBAAmB,QAAQ;AAAA,UAAE;AAAA,UAE3D,GAAM,qBAAqB,gCAAgC;AAAA,QACxD;AAAA,UACN,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,kBAAd;AAAA,UACG,KAAmB,IAAI,OAAO,GAAG,CAAA;AAAA,UAAmB;AAAA,UACpD,GAAM,qBAAqB,gCAAgC;AAAA,QACxD;AAAA,QACD;AAAA;IAET,OACE,GAAM,qBAAqB,gCACxB;AAAA,IAEL,QAAQ;AAAA,IACO,eAAA;AAAA,IACf,OAAO,IAAqB,OAAO,EAAe,EAAY,kBAAkB,QAAQ;AAAA,EACzF,CAAA;AAEL,GAEA,IAAe,EAAS,CAA+B"}
1
+ {"version":3,"file":"SpendLessThanYouMakeProgressBar.es.js","names":[],"sources":["../../../../src/finstrong/components/SpendLessThanYouMake/SpendLessThanYouMakeProgressBar.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\nimport { Text } from '@mxenabled/mxui'\n\nimport { useFinstrongStore, useGlobalCopyStore } from '../../../common'\nimport { getPercentFromRatio, getSpendToIncomeRatioState } from '../../util/finstrongUtils'\n\nimport ProgressBar from '../ProgressBar'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\nconst SpendLessThanYouMakeProgressBar = () => {\n const { healthScore } = useFinstrongStore()\n const { finstrong: copy } = useGlobalCopyStore()\n\n const spend = getPercentFromRatio(healthScore.spend_to_income_ratio)\n const spendPercentage = spend ?? 0\n\n // Check if healthScore is empty\n const isHealthScoreEmpty = Object.keys(healthScore).length === 0\n\n const cardStatus = getSpendToIncomeRatioState(spend)\n\n const statusBarData = {\n GOOD: [{ percentage: `${spendPercentage}%` }],\n FAIR: [{ percentage: '100%' }, { percentage: `${spendPercentage - 100}%` }],\n OFF_TRACK: [{ percentage: '100%' }, { percentage: `${spendPercentage - 100}%` }],\n MISSING: [{ percentage: '0%' }],\n }[cardStatus]\n\n return (\n <ProgressBar\n bottomComponent={\n <Stack\n sx={{\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n mt: 8,\n }}\n >\n <Text variant=\"body2\">\n {healthScore.ninety_day_income <= 0\n ? '-'\n : formatCurrency(healthScore.ninety_day_income, '0,0.00')}\n &nbsp;\n {copy?.key_indicators_spend.spend_less_than_you_make_drawer.income}\n </Text>\n <Text variant=\"body2\">\n {spendPercentage <= 0 ? '-%' : `${spendPercentage}%`}&nbsp;\n {copy?.key_indicators_spend.spend_less_than_you_make_drawer.spent}\n </Text>\n </Stack>\n }\n label={\n copy?.key_indicators_spend.spend_less_than_you_make_drawer\n .spend_less_than_you_make_sticky_description\n }\n status={cardStatus}\n statusBarData={statusBarData}\n value={isHealthScoreEmpty ? '$0' : formatCurrency(healthScore.ninety_day_spend, '0,0.00')}\n />\n )\n}\n\nexport default observer(SpendLessThanYouMakeProgressBar)\n"],"mappings":";;;;;;;;AAWA,IAAM,IAAA,MAAwC;AAC5C,QAAM,EAAE,aAAA,EAAA,IAAgB,EAAkB,GACpC,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,IAAQ,EAAoB,EAAY,qBAAqB,GAC7D,IAAkB,KAAS,GAG3B,IAAqB,OAAO,KAAK,CAAW,EAAE,WAAW,GAEzD,IAAa,EAA2B,CAAK,GAE7C,IAAgB;AAAA,IACpB,MAAM,CAAC,EAAE,YAAY,GAAG,CAAA,IAAmB,CAAC;AAAA,IAC5C,MAAM,CAAC,EAAE,YAAY,OAAO,GAAG,EAAE,YAAY,GAAG,IAAkB,GAAA,IAAO,CAAC;AAAA,IAC1E,WAAW,CAAC,EAAE,YAAY,OAAO,GAAG,EAAE,YAAY,GAAG,IAAkB,GAAA,IAAO,CAAC;AAAA,IAC/E,SAAS,CAAC,EAAE,YAAY,KAAK,CAAC;AAAA,EAChC,EAAE,CAAA;AAEF,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,iBACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,IAAI;AAAA,MACN;AAAA,MANF,UAAA,CAQE,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,QAAd,UAAA;AAAA,UACG,EAAY,qBAAqB,IAC9B,MACA,EAAe,EAAY,mBAAmB,QAAQ;AAAA,UAAE;AAAA,UAE3D,GAAM,qBAAqB,gCAAgC;AAAA,QACxD;AAAA,MACN,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,QAAd,UAAA;AAAA,UACG,KAAmB,IAAI,OAAO,GAAG,CAAA;AAAA,UAAmB;AAAA,UACpD,GAAM,qBAAqB,gCAAgC;AAAA,QACxD;AAAA,MACD,CAAA,CAAA;AAAA;IAET,OACE,GAAM,qBAAqB,gCACxB;AAAA,IAEL,QAAQ;AAAA,IACO,eAAA;AAAA,IACf,OAAO,IAAqB,OAAO,EAAe,EAAY,kBAAkB,QAAQ;AAAA,EACzF,CAAA;AAEL,GAEA,IAAe,EAAS,CAA+B"}
@@ -1 +1 @@
1
- {"version":3,"file":"StatusChip.es.js","names":[],"sources":["../../../src/finstrong/components/StatusChip.tsx"],"sourcesContent":["import Chip from '@mui/material/Chip'\n\nimport { P } from '@mxenabled/mxui'\n\nimport { CardStatus } from '../../common/constants/FinStrong'\n\nimport { getCardStateStyles } from '../util/finstrongUtils'\nimport { useGlobalCopyStore } from '../../common'\n\nconst StatusChip = ({ status }: { status: keyof typeof CardStatus }) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const chipStyles = getCardStateStyles(CardStatus[status])\n const statusCopy = {\n GOOD: copy.key_indicators_good,\n FAIR: copy.key_indicators_fair,\n OFF_TRACK: copy.key_indicators_off_track,\n MISSING: copy.key_indicators_missing,\n }[status]\n\n return (\n <Chip\n label={\n <P\n fontWeight={700}\n sx={{ color: chipStyles.color, minHeight: 12 }}\n uppercase={true}\n variant=\"tiny\"\n >\n {statusCopy}\n </P>\n }\n size=\"small\"\n sx={{\n bgcolor: chipStyles.backgroundColor,\n height: 16,\n }}\n variant=\"filled\"\n />\n )\n}\n\nexport default StatusChip\n"],"mappings":";;;;;;AASA,IAAM,IAAA,CAAc,EAAE,QAAA,EAAA,MAAkD;AACtE,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,IAAa,EAAmB,EAAW,CAAA,CAAO,GAClD,IAAa;AAAA,IACjB,MAAM,EAAK;AAAA,IACX,MAAM,EAAK;AAAA,IACX,WAAW,EAAK;AAAA,IAChB,SAAS,EAAK;AAAA,EAChB,EAAE,CAAA;AAEF,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,OACE,gBAAA,EAAC,GAAD;AAAA,MACE,YAAY;AAAA,MACZ,IAAI;AAAA,QAAE,OAAO,EAAW;AAAA,QAAO,WAAW;AAAA,MAAG;AAAA,MAC7C,WAAW;AAAA,MACX,SAAQ;AAAA,gBAEP;AAAA,IACA,CAAA;AAAA,IAEL,MAAK;AAAA,IACL,IAAI;AAAA,MACF,SAAS,EAAW;AAAA,MACpB,QAAQ;AAAA,IACV;AAAA,IACA,SAAQ;AAAA,EACT,CAAA;AAEL"}
1
+ {"version":3,"file":"StatusChip.es.js","names":[],"sources":["../../../src/finstrong/components/StatusChip.tsx"],"sourcesContent":["import Chip from '@mui/material/Chip'\n\nimport { P } from '@mxenabled/mxui'\n\nimport { CardStatus } from '../../common/constants/FinStrong'\n\nimport { getCardStateStyles } from '../util/finstrongUtils'\nimport { useGlobalCopyStore } from '../../common'\n\nconst StatusChip = ({ status }: { status: keyof typeof CardStatus }) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const chipStyles = getCardStateStyles(CardStatus[status])\n const statusCopy = {\n GOOD: copy.key_indicators_good,\n FAIR: copy.key_indicators_fair,\n OFF_TRACK: copy.key_indicators_off_track,\n MISSING: copy.key_indicators_missing,\n }[status]\n\n return (\n <Chip\n label={\n <P\n fontWeight={700}\n sx={{ color: chipStyles.color, minHeight: 12 }}\n uppercase={true}\n variant=\"tiny\"\n >\n {statusCopy}\n </P>\n }\n size=\"small\"\n sx={{\n bgcolor: chipStyles.backgroundColor,\n height: 16,\n }}\n variant=\"filled\"\n />\n )\n}\n\nexport default StatusChip\n"],"mappings":";;;;;;AASA,IAAM,IAAA,CAAc,EAAE,QAAA,EAAA,MAAkD;AACtE,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,IAAa,EAAmB,EAAW,CAAA,CAAO,GAClD,IAAa;AAAA,IACjB,MAAM,EAAK;AAAA,IACX,MAAM,EAAK;AAAA,IACX,WAAW,EAAK;AAAA,IAChB,SAAS,EAAK;AAAA,EAChB,EAAE,CAAA;AAEF,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,OACE,gBAAA,EAAC,GAAD;AAAA,MACE,YAAY;AAAA,MACZ,IAAI;AAAA,QAAE,OAAO,EAAW;AAAA,QAAO,WAAW;AAAA,MAAG;AAAA,MAC7C,WAAW;AAAA,MACX,SAAQ;AAAA,MAEP,UAAA;AAAA,IACA,CAAA;AAAA,IAEL,MAAK;AAAA,IACL,IAAI;AAAA,MACF,SAAS,EAAW;AAAA,MACpB,QAAQ;AAAA,IACV;AAAA,IACA,SAAQ;AAAA,EACT,CAAA;AAEL"}
@@ -1 +1 @@
1
- {"version":3,"file":"Onboarding.es.js","names":[],"sources":["../../../../src/finstrong/components/onboarding/Onboarding.tsx"],"sourcesContent":["import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\nimport { H2, P } from '@mxenabled/mxui'\nimport { Cardiology } from '@mxenabled/mx-icons'\n\nimport { useGlobalCopyStore } from '../../../common'\n\nimport OnboardingStepsDrawer from './OnboardingStepsDrawer'\n\nconst Onboarding = () => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const [isOpen, setIsOpen] = React.useState(false)\n\n return (\n <React.Fragment>\n <Stack\n sx={{\n alignItems: 'center',\n bgcolor: 'background.default',\n gap: 48,\n height: 'calc(100dvh - 116px)',\n pb: 24,\n pt: 72,\n px: 16,\n }}\n >\n <Stack sx={{ alignItems: { sm: 'center' }, gap: 24, width: '100%' }}>\n <Box sx={{ textAlign: 'center' }}>\n <Cardiology size={72} />\n </Box>\n <Stack sx={{ gap: 4, textAlign: 'center', width: { sm: 400 } }}>\n <H2>{copy.onboarding_title}</H2>\n <P sx={{ color: 'text.secondary' }} variant=\"subtitle1\">\n {copy.onboarding_subtitle}\n </P>\n </Stack>\n </Stack>\n <Button onClick={() => setIsOpen(true)} variant=\"contained\">\n {copy.onboarding_get_started}\n </Button>\n </Stack>\n\n <OnboardingStepsDrawer isOpen={isOpen} onClose={() => setIsOpen(false)} />\n </React.Fragment>\n )\n}\n\nexport default Onboarding\n"],"mappings":";;;;;;;;;AAaA,IAAM,IAAA,MAAmB;AACvB,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAS,EAAK;AAEhD,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,cATF,CAWE,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,YAAY,EAAE,IAAI,SAAS;AAAA,QAAG,KAAK;AAAA,QAAI,OAAO;AAAA,MAAO;AAAA,gBAAlE,CACE,gBAAA,EAAC,GAAD;AAAA,QAAK,IAAI,EAAE,WAAW,SAAS;AAAA,kBAC7B,gBAAA,EAAC,GAAD,EAAY,MAAM,GAAK,CAAA;AAAA,MACpB,CAAA,GACL,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI;AAAA,UAAE,KAAK;AAAA,UAAG,WAAW;AAAA,UAAU,OAAO,EAAE,IAAI,IAAI;AAAA,QAAE;AAAA,kBAA7D,CACE,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAK,iBAAqB,CAAA,GAC/B,gBAAA,EAAC,GAAD;AAAA,UAAG,IAAI,EAAE,OAAO,iBAAiB;AAAA,UAAG,SAAQ;AAAA,oBACzC,EAAK;AAAA,QACL,CAAA,CACE;AAAA,QACF;AAAA,QACP,gBAAA,EAAC,GAAD;AAAA,MAAQ,SAAA,MAAe,EAAU,EAAI;AAAA,MAAG,SAAQ;AAAA,gBAC7C,EAAK;AAAA,IACA,CAAA,CACH;AAAA,MAEP,gBAAA,EAAC,GAAD;AAAA,IAA+B,QAAA;AAAA,IAAQ,SAAA,MAAe,EAAU,EAAK;AAAA,EAAI,CAAA,CAC3D,EAAA,CAAA;AAEpB"}
1
+ {"version":3,"file":"Onboarding.es.js","names":[],"sources":["../../../../src/finstrong/components/onboarding/Onboarding.tsx"],"sourcesContent":["import React from 'react'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\nimport { H2, P } from '@mxenabled/mxui'\nimport { Cardiology } from '@mxenabled/mx-icons'\n\nimport { useGlobalCopyStore } from '../../../common'\n\nimport OnboardingStepsDrawer from './OnboardingStepsDrawer'\n\nconst Onboarding = () => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const [isOpen, setIsOpen] = React.useState(false)\n\n return (\n <React.Fragment>\n <Stack\n sx={{\n alignItems: 'center',\n bgcolor: 'background.default',\n gap: 48,\n height: 'calc(100dvh - 116px)',\n pb: 24,\n pt: 72,\n px: 16,\n }}\n >\n <Stack sx={{ alignItems: { sm: 'center' }, gap: 24, width: '100%' }}>\n <Box sx={{ textAlign: 'center' }}>\n <Cardiology size={72} />\n </Box>\n <Stack sx={{ gap: 4, textAlign: 'center', width: { sm: 400 } }}>\n <H2>{copy.onboarding_title}</H2>\n <P sx={{ color: 'text.secondary' }} variant=\"subtitle1\">\n {copy.onboarding_subtitle}\n </P>\n </Stack>\n </Stack>\n <Button onClick={() => setIsOpen(true)} variant=\"contained\">\n {copy.onboarding_get_started}\n </Button>\n </Stack>\n\n <OnboardingStepsDrawer isOpen={isOpen} onClose={() => setIsOpen(false)} />\n </React.Fragment>\n )\n}\n\nexport default Onboarding\n"],"mappings":";;;;;;;;;AAaA,IAAM,IAAA,MAAmB;AACvB,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAS,EAAK;AAEhD,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IATF,UAAA,CAWE,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,YAAY,EAAE,IAAI,SAAS;AAAA,QAAG,KAAK;AAAA,QAAI,OAAO;AAAA,MAAO;AAAA,MAAlE,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QAAK,IAAI,EAAE,WAAW,SAAS;AAAA,QAC7B,UAAA,gBAAA,EAAC,GAAD,EAAY,MAAM,GAAK,CAAA;AAAA,MACpB,CAAA,GACL,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI;AAAA,UAAE,KAAK;AAAA,UAAG,WAAW;AAAA,UAAU,OAAO,EAAE,IAAI,IAAI;AAAA,QAAE;AAAA,QAA7D,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAK,iBAAqB,CAAA,GAC/B,gBAAA,EAAC,GAAD;AAAA,UAAG,IAAI,EAAE,OAAO,iBAAiB;AAAA,UAAG,SAAQ;AAAA,UACzC,UAAA,EAAK;AAAA,QACL,CAAA,CACE;AAAA,MACF,CAAA,CAAA;AAAA,IACP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,MAAQ,SAAA,MAAe,EAAU,EAAI;AAAA,MAAG,SAAQ;AAAA,MAC7C,UAAA,EAAK;AAAA,IACA,CAAA,CACH;AAAA,EAEP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,IAA+B,QAAA;AAAA,IAAQ,SAAA,MAAe,EAAU,EAAK;AAAA,EAAI,CAAA,CAC3D,EAAA,CAAA;AAEpB"}