@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":"StatusIndicator.es.js","names":[],"sources":["../../../../src/insights/components/shared/StatusIndicator.tsx"],"sourcesContent":["import { H2, P, Text } from '@mxenabled/mxui'\n\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport type { SxProps } from '@mui/material/styles'\n\ninterface StatusIndicatorProps {\n amount: string | React.ReactNode\n borderRadius?: string\n completeColor?: string\n count?: string\n icon: React.ReactNode\n label: string | React.ReactNode\n leftLabel?: string\n percentComplete?: number\n rightLabel?: string\n sx?: SxProps\n}\n\nconst StatusIndicator = ({\n amount,\n borderRadius = '2px',\n count,\n completeColor = 'success.main',\n icon,\n label,\n leftLabel,\n percentComplete = 0,\n rightLabel,\n sx,\n}: StatusIndicatorProps) => {\n return (\n <Stack className=\"details-container\" sx={{ p: 24, width: '100%', gap: 16, ...sx }}>\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', gap: 12 }}>\n <Box>{icon}</Box>\n <Stack>\n {typeof label === 'string' ? (\n <P dangerouslySetInnerHTML={{ __html: label }} variant={'body2'} />\n ) : (\n label\n )}\n {typeof amount === 'string' ? <H2>{amount}</H2> : amount}\n </Stack>\n </Stack>\n <Stack sx={{ gap: 4 }}>\n <Stack\n sx={{\n bgcolor: 'divider',\n borderRadius,\n flexDirection: 'row',\n height: count ? 20 : 16,\n width: '100%',\n }}\n >\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n py: 2,\n px: 12,\n bgcolor: completeColor,\n borderRadius,\n height: count ? 20 : 16,\n width: `${percentComplete}%`,\n }}\n >\n <Text sx={{ color: 'primary.dark' }} variant=\"caption\">\n {count}\n </Text>\n </Box>\n </Stack>\n {!count && (\n <Stack sx={{ flexDirection: 'row', justifyContent: 'space-between' }}>\n <Text variant=\"body2\">{leftLabel}</Text>\n <Text variant=\"body2\">{rightLabel}</Text>\n </Stack>\n )}\n </Stack>\n </Stack>\n )\n}\n\nexport default StatusIndicator\n"],"mappings":";;;;AAmBA,IAAM,IAAA,CAAmB,EACvB,QAAA,GACA,cAAA,IAAe,OACf,OAAA,GACA,eAAA,IAAgB,gBAChB,MAAA,GACA,OAAA,GACA,WAAA,GACA,iBAAA,IAAkB,GAClB,YAAA,GACA,IAAA,EAAA,MAGE,gBAAA,EAAC,GAAD;AAAA,EAAO,WAAU;AAAA,EAAoB,IAAI;AAAA,IAAE,GAAG;AAAA,IAAI,OAAO;AAAA,IAAQ,KAAK;AAAA,IAAI,GAAG;AAAA,EAAG;AAAA,YAAhF,CACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,YAAY;AAAA,MAAU,eAAe;AAAA,MAAO,KAAK;AAAA,IAAG;AAAA,cAAjE,CACE,gBAAA,EAAC,GAAD,EAAA,UAAM,EAAU,CAAA,GAChB,gBAAA,EAAC,GAAD,EAAA,UAAA,CACG,OAAO,KAAU,WAChB,gBAAA,EAAC,GAAD;AAAA,MAAG,yBAAyB,EAAE,QAAQ,EAAM;AAAA,MAAG,SAAS;AAAA,IAAU,CAAA,IAElE,GAED,OAAO,KAAW,WAAW,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAW,CAAA,IAAI,CAC7C,EAAA,CAAA,CACF;AAAA,MACP,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI,EAAE,KAAK,EAAE;AAAA,cAApB,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,SAAS;AAAA,QACT,cAAA;AAAA,QACA,eAAe;AAAA,QACf,QAAQ,IAAQ,KAAK;AAAA,QACrB,OAAO;AAAA,MACT;AAAA,gBAEA,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,SAAS;AAAA,UACT,cAAA;AAAA,UACA,QAAQ,IAAQ,KAAK;AAAA,UACrB,OAAO,GAAG,CAAA;AAAA,QACZ;AAAA,kBAEA,gBAAA,EAAC,GAAD;AAAA,UAAM,IAAI,EAAE,OAAO,eAAe;AAAA,UAAG,SAAQ;AAAA,oBAC1C;AAAA,QACG,CAAA;AAAA,MACH,CAAA;AAAA,IACA,CAAA,GACN,CAAC,KACA,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,eAAe;AAAA,QAAO,gBAAgB;AAAA,MAAgB;AAAA,gBAAnE,CACE,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,kBAAS;AAAA,MAAgB,CAAA,GACvC,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,kBAAS;AAAA,MAAiB,CAAA,CACnC;AAAA,MAEJ;AAAA,IACF"}
1
+ {"version":3,"file":"StatusIndicator.es.js","names":[],"sources":["../../../../src/insights/components/shared/StatusIndicator.tsx"],"sourcesContent":["import { H2, P, Text } from '@mxenabled/mxui'\n\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport type { SxProps } from '@mui/material/styles'\n\ninterface StatusIndicatorProps {\n amount: string | React.ReactNode\n borderRadius?: string\n completeColor?: string\n count?: string\n icon: React.ReactNode\n label: string | React.ReactNode\n leftLabel?: string\n percentComplete?: number\n rightLabel?: string\n sx?: SxProps\n}\n\nconst StatusIndicator = ({\n amount,\n borderRadius = '2px',\n count,\n completeColor = 'success.main',\n icon,\n label,\n leftLabel,\n percentComplete = 0,\n rightLabel,\n sx,\n}: StatusIndicatorProps) => {\n return (\n <Stack className=\"details-container\" sx={{ p: 24, width: '100%', gap: 16, ...sx }}>\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', gap: 12 }}>\n <Box>{icon}</Box>\n <Stack>\n {typeof label === 'string' ? (\n <P dangerouslySetInnerHTML={{ __html: label }} variant={'body2'} />\n ) : (\n label\n )}\n {typeof amount === 'string' ? <H2>{amount}</H2> : amount}\n </Stack>\n </Stack>\n <Stack sx={{ gap: 4 }}>\n <Stack\n sx={{\n bgcolor: 'divider',\n borderRadius,\n flexDirection: 'row',\n height: count ? 20 : 16,\n width: '100%',\n }}\n >\n <Box\n sx={{\n alignItems: 'center',\n display: 'flex',\n py: 2,\n px: 12,\n bgcolor: completeColor,\n borderRadius,\n height: count ? 20 : 16,\n width: `${percentComplete}%`,\n }}\n >\n <Text sx={{ color: 'primary.dark' }} variant=\"caption\">\n {count}\n </Text>\n </Box>\n </Stack>\n {!count && (\n <Stack sx={{ flexDirection: 'row', justifyContent: 'space-between' }}>\n <Text variant=\"body2\">{leftLabel}</Text>\n <Text variant=\"body2\">{rightLabel}</Text>\n </Stack>\n )}\n </Stack>\n </Stack>\n )\n}\n\nexport default StatusIndicator\n"],"mappings":";;;;AAmBA,IAAM,IAAA,CAAmB,EACvB,QAAA,GACA,cAAA,IAAe,OACf,OAAA,GACA,eAAA,IAAgB,gBAChB,MAAA,GACA,OAAA,GACA,WAAA,GACA,iBAAA,IAAkB,GAClB,YAAA,GACA,IAAA,EAAA,MAGE,gBAAA,EAAC,GAAD;AAAA,EAAO,WAAU;AAAA,EAAoB,IAAI;AAAA,IAAE,GAAG;AAAA,IAAI,OAAO;AAAA,IAAQ,KAAK;AAAA,IAAI,GAAG;AAAA,EAAG;AAAA,EAAhF,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,YAAY;AAAA,MAAU,eAAe;AAAA,MAAO,KAAK;AAAA,IAAG;AAAA,IAAjE,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UAAM,EAAU,CAAA,GAChB,gBAAA,EAAC,GAAD,EAAA,UAAA,CACG,OAAO,KAAU,WAChB,gBAAA,EAAC,GAAD;AAAA,MAAG,yBAAyB,EAAE,QAAQ,EAAM;AAAA,MAAG,SAAS;AAAA,IAAU,CAAA,IAElE,GAED,OAAO,KAAW,WAAW,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAW,CAAA,IAAI,CAC7C,EAAA,CAAA,CACF;AAAA,EACP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI,EAAE,KAAK,EAAE;AAAA,IAApB,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,SAAS;AAAA,QACT,cAAA;AAAA,QACA,eAAe;AAAA,QACf,QAAQ,IAAQ,KAAK;AAAA,QACrB,OAAO;AAAA,MACT;AAAA,MAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,SAAS;AAAA,UACT,cAAA;AAAA,UACA,QAAQ,IAAQ,KAAK;AAAA,UACrB,OAAO,GAAG,CAAA;AAAA,QACZ;AAAA,QAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,UAAM,IAAI,EAAE,OAAO,eAAe;AAAA,UAAG,SAAQ;AAAA,UAC1C,UAAA;AAAA,QACG,CAAA;AAAA,MACH,CAAA;AAAA,IACA,CAAA,GACN,CAAC,KACA,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,eAAe;AAAA,QAAO,gBAAgB;AAAA,MAAgB;AAAA,MAAnE,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,QAAS,UAAA;AAAA,MAAgB,CAAA,GACvC,gBAAA,EAAC,GAAD;AAAA,QAAM,SAAQ;AAAA,QAAS,UAAA;AAAA,MAAiB,CAAA,CACnC;AAAA,IAEJ,CAAA,CAAA;AAAA,EACF,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThemedSVGImage.es.js","names":[],"sources":["../../../../src/insights/components/shared/ThemedSVGImage.tsx"],"sourcesContent":["/* eslint-disable react/jsx-pascal-case */\n\nimport { useEffect, useRef } from 'react'\n\nimport { useTheme } from '@mui/material/styles'\n\nimport { ThemedSVGImageProps } from '../../types/ThemedSVGImage'\n\nconst MAX_SVG_WIDTH = 200\nconst MINI_SVG_WIDTH = 130\n\n// Utility function to get an SVG element from a DOM node\nconst getSVGElement = (element: Element | null): SVGElement | null => {\n return element ? (element as SVGElement) : null\n}\n\n// Utility function to apply color to SVG elements\nconst applyColorToSVG = (elements: NodeListOf<Element>, color: string) => {\n elements.forEach((element) => {\n const svgElement = getSVGElement(element)\n if (svgElement) {\n const strokeAttr = svgElement.getAttribute('stroke')\n const fillAttr = svgElement.getAttribute('fill')\n\n if (strokeAttr && strokeAttr !== 'white') {\n svgElement.style.setProperty('stroke', color)\n }\n\n if (fillAttr) {\n const fillColor = fillAttr === 'white' ? 'white' : color\n svgElement.style.setProperty('fill', fillColor)\n }\n }\n })\n}\n\nexport const ThemedSVGImage = ({ divProps, image: SVG, isMini = false }: ThemedSVGImageProps) => {\n const theme = useTheme()\n const containerRef = useRef<SVGSVGElement | null>(null)\n\n const colors = {\n '100': (theme as any).palette.primary.lighter,\n '200': theme.palette.primary.light,\n '300': theme.palette.primary.main,\n '400': theme.palette.primary.dark,\n '500': (theme as any).palette.primary.darker,\n }\n\n // If the client does not have a color scheme aka widget brand color, set the colors to the primary kyper token colors\n // Apply color scheme to SVG elements when component mounts or colors change\n useEffect(() => {\n if (!containerRef.current) return\n\n const container = containerRef.current\n\n const overlayElements = container.querySelectorAll('.Overlay')\n const brandElements = ['brand100', 'brand200', 'brand300', 'brand400', 'brand500']\n\n brandElements.forEach((className) => {\n const elements = container.querySelectorAll(`.${className}`)\n const colorKey = className.replace('brand', '') as keyof typeof colors\n applyColorToSVG(elements, colors[colorKey])\n })\n\n // Apply the color for overlays separately (using the 300 color scheme)\n applyColorToSVG(overlayElements, colors['300'])\n }, [colors])\n\n return (\n <div\n style={{\n maxWidth: isMini ? MINI_SVG_WIDTH : MAX_SVG_WIDTH,\n width: '100%',\n }}\n {...divProps}\n >\n <SVG ref={containerRef} />\n </div>\n )\n}\n"],"mappings":";;;AAQA,IAAM,IAAgB,KAChB,IAAiB,KAGjB,IAAA,CAAiB,MACd,KAAoC,MAIvC,IAAA,CAAmB,GAA+B,MAAkB;AACxE,EAAA,EAAS,QAAA,CAAS,MAAY;AAC5B,UAAM,IAAa,EAAc,CAAO;AACxC,QAAI,GAAY;AACd,YAAM,IAAa,EAAW,aAAa,QAAQ,GAC7C,IAAW,EAAW,aAAa,MAAM;AAM/C,UAJI,KAAc,MAAe,WAC/B,EAAW,MAAM,YAAY,UAAU,CAAK,GAG1C,GAAU;AACZ,cAAM,IAAY,MAAa,UAAU,UAAU;AACnD,QAAA,EAAW,MAAM,YAAY,QAAQ,CAAS;AAAA,MAChD;AAAA,IACF;AAAA,EACF,CAAC;AACH,GAEa,IAAA,CAAkB,EAAE,UAAA,GAAU,OAAO,GAAK,QAAA,IAAS,GAAA,MAAiC;AAC/F,QAAM,IAAQ,EAAS,GACjB,IAAe,EAA6B,IAAI,GAEhD,IAAS;AAAA,IACb,KAAQ,EAAc,QAAQ,QAAQ;AAAA,IACtC,KAAO,EAAM,QAAQ,QAAQ;AAAA,IAC7B,KAAO,EAAM,QAAQ,QAAQ;AAAA,IAC7B,KAAO,EAAM,QAAQ,QAAQ;AAAA,IAC7B,KAAQ,EAAc,QAAQ,QAAQ;AAAA,EACxC;AAIA,SAAA,EAAA,MAAgB;AACd,QAAI,CAAC,EAAa,QAAS;AAE3B,UAAM,IAAY,EAAa,SAEzB,IAAkB,EAAU,iBAAiB,UAAU;AAG7D;AAAA,MAFuB;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,IAEvE,EAAc,QAAA,CAAS,MAAc;AACnC,YAAM,IAAW,EAAU,iBAAiB,IAAI,CAAA,EAAW,GACrD,IAAW,EAAU,QAAQ,SAAS,EAAE;AAC9C,MAAA,EAAgB,GAAU,EAAO,CAAA,CAAS;AAAA,IAC5C,CAAC,GAGD,EAAgB,GAAiB,EAAO,GAAA,CAAM;AAAA,EAChD,GAAG,CAAC,CAAM,CAAC,GAGT,gBAAA,EAAC,OAAD;AAAA,IACE,OAAO;AAAA,MACL,UAAU,IAAS,IAAiB;AAAA,MACpC,OAAO;AAAA,IACT;AAAA,IACA,GAAI;AAAA,cAEJ,gBAAA,EAAC,GAAD,EAAK,KAAK,EAAe,CAAA;AAAA,EACtB,CAAA;AAET"}
1
+ {"version":3,"file":"ThemedSVGImage.es.js","names":[],"sources":["../../../../src/insights/components/shared/ThemedSVGImage.tsx"],"sourcesContent":["/* eslint-disable react/jsx-pascal-case */\n\nimport { useEffect, useRef } from 'react'\n\nimport { useTheme } from '@mui/material/styles'\n\nimport { ThemedSVGImageProps } from '../../types/ThemedSVGImage'\n\nconst MAX_SVG_WIDTH = 200\nconst MINI_SVG_WIDTH = 130\n\n// Utility function to get an SVG element from a DOM node\nconst getSVGElement = (element: Element | null): SVGElement | null => {\n return element ? (element as SVGElement) : null\n}\n\n// Utility function to apply color to SVG elements\nconst applyColorToSVG = (elements: NodeListOf<Element>, color: string) => {\n elements.forEach((element) => {\n const svgElement = getSVGElement(element)\n if (svgElement) {\n const strokeAttr = svgElement.getAttribute('stroke')\n const fillAttr = svgElement.getAttribute('fill')\n\n if (strokeAttr && strokeAttr !== 'white') {\n svgElement.style.setProperty('stroke', color)\n }\n\n if (fillAttr) {\n const fillColor = fillAttr === 'white' ? 'white' : color\n svgElement.style.setProperty('fill', fillColor)\n }\n }\n })\n}\n\nexport const ThemedSVGImage = ({ divProps, image: SVG, isMini = false }: ThemedSVGImageProps) => {\n const theme = useTheme()\n const containerRef = useRef<SVGSVGElement | null>(null)\n\n const colors = {\n '100': (theme as any).palette.primary.lighter,\n '200': theme.palette.primary.light,\n '300': theme.palette.primary.main,\n '400': theme.palette.primary.dark,\n '500': (theme as any).palette.primary.darker,\n }\n\n // If the client does not have a color scheme aka widget brand color, set the colors to the primary kyper token colors\n // Apply color scheme to SVG elements when component mounts or colors change\n useEffect(() => {\n if (!containerRef.current) return\n\n const container = containerRef.current\n\n const overlayElements = container.querySelectorAll('.Overlay')\n const brandElements = ['brand100', 'brand200', 'brand300', 'brand400', 'brand500']\n\n brandElements.forEach((className) => {\n const elements = container.querySelectorAll(`.${className}`)\n const colorKey = className.replace('brand', '') as keyof typeof colors\n applyColorToSVG(elements, colors[colorKey])\n })\n\n // Apply the color for overlays separately (using the 300 color scheme)\n applyColorToSVG(overlayElements, colors['300'])\n }, [colors])\n\n return (\n <div\n style={{\n maxWidth: isMini ? MINI_SVG_WIDTH : MAX_SVG_WIDTH,\n width: '100%',\n }}\n {...divProps}\n >\n <SVG ref={containerRef} />\n </div>\n )\n}\n"],"mappings":";;;AAQA,IAAM,IAAgB,KAChB,IAAiB,KAGjB,IAAA,CAAiB,MACd,KAAoC,MAIvC,IAAA,CAAmB,GAA+B,MAAkB;AACxE,EAAA,EAAS,QAAA,CAAS,MAAY;AAC5B,UAAM,IAAa,EAAc,CAAO;AACxC,QAAI,GAAY;AACd,YAAM,IAAa,EAAW,aAAa,QAAQ,GAC7C,IAAW,EAAW,aAAa,MAAM;AAM/C,UAJI,KAAc,MAAe,WAC/B,EAAW,MAAM,YAAY,UAAU,CAAK,GAG1C,GAAU;AACZ,cAAM,IAAY,MAAa,UAAU,UAAU;AACnD,QAAA,EAAW,MAAM,YAAY,QAAQ,CAAS;AAAA,MAChD;AAAA,IACF;AAAA,EACF,CAAC;AACH,GAEa,IAAA,CAAkB,EAAE,UAAA,GAAU,OAAO,GAAK,QAAA,IAAS,GAAA,MAAiC;AAC/F,QAAM,IAAQ,EAAS,GACjB,IAAe,EAA6B,IAAI,GAEhD,IAAS;AAAA,IACb,KAAQ,EAAc,QAAQ,QAAQ;AAAA,IACtC,KAAO,EAAM,QAAQ,QAAQ;AAAA,IAC7B,KAAO,EAAM,QAAQ,QAAQ;AAAA,IAC7B,KAAO,EAAM,QAAQ,QAAQ;AAAA,IAC7B,KAAQ,EAAc,QAAQ,QAAQ;AAAA,EACxC;AAIA,SAAA,EAAA,MAAgB;AACd,QAAI,CAAC,EAAa,QAAS;AAE3B,UAAM,IAAY,EAAa,SAEzB,IAAkB,EAAU,iBAAiB,UAAU;AAG7D;AAAA,MAFuB;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,MAAY;AAAA,IAEvE,EAAc,QAAA,CAAS,MAAc;AACnC,YAAM,IAAW,EAAU,iBAAiB,IAAI,CAAA,EAAW,GACrD,IAAW,EAAU,QAAQ,SAAS,EAAE;AAC9C,MAAA,EAAgB,GAAU,EAAO,CAAA,CAAS;AAAA,IAC5C,CAAC,GAGD,EAAgB,GAAiB,EAAO,GAAA,CAAM;AAAA,EAChD,GAAG,CAAC,CAAM,CAAC,GAGT,gBAAA,EAAC,OAAD;AAAA,IACE,OAAO;AAAA,MACL,UAAU,IAAS,IAAiB;AAAA,MACpC,OAAO;AAAA,IACT;AAAA,IACA,GAAI;AAAA,IAEJ,UAAA,gBAAA,EAAC,GAAD,EAAK,KAAK,EAAe,CAAA;AAAA,EACtB,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionCard.es.js","names":[],"sources":["../../../../src/insights/components/shared/TransactionCard.tsx"],"sourcesContent":["import Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\ninterface BodyContent {\n amount: string\n icon: React.ReactNode\n primaryText: string\n secondaryText: string\n}\n\ninterface TransactionCardProps {\n bodyContent: BodyContent[]\n footerLeftText?: string\n footerRightText?: string\n headerText?: string\n}\n\nconst TransactionCard = ({\n bodyContent,\n footerLeftText,\n footerRightText,\n headerText,\n}: TransactionCardProps) => {\n return (\n <Stack\n sx={{\n outlineColor: 'divider',\n borderRadius: '4px',\n outlineStyle: 'solid',\n outlineWidth: '1px',\n maxWidth: 288,\n minWidth: 224,\n }}\n >\n {/* Header */}\n {headerText && (\n <Stack\n sx={{\n bgcolor: 'background.default',\n borderBottom: '1px solid',\n borderBottomColor: 'divider',\n height: 40,\n justifyContent: 'center',\n px: 16,\n py: 2,\n }}\n >\n <Text sx={{ fontWeight: 700 }} variant=\"caption\">\n {headerText}\n </Text>\n </Stack>\n )}\n\n {/* Body */}\n {bodyContent.map(({ amount, icon, primaryText, secondaryText }, index) => (\n <Stack\n key={index}\n sx={{\n ...((bodyContent.length - 1 !== index || !!(footerLeftText && footerRightText)) && {\n borderBottom: '1px solid',\n borderBottomColor: 'divider',\n }),\n flexDirection: 'row',\n gap: 16,\n px: 16,\n py: 14,\n }}\n >\n <Stack sx={{ alignItems: 'center', flex: 1, flexDirection: 'row', gap: 12, minWidth: 0 }}>\n {icon}\n <Stack sx={{ minWidth: 0 }}>\n <Text bold={true} variant=\"body1\">\n {primaryText}\n </Text>\n <Text variant=\"caption\">{secondaryText}</Text>\n </Stack>\n </Stack>\n <Text bold={true} variant=\"body1\">\n {amount}\n </Text>\n </Stack>\n ))}\n\n {/* Footer */}\n {footerLeftText && footerRightText && (\n <Stack\n sx={{\n alignItems: 'center',\n bgcolor: 'background.default',\n flexDirection: 'row',\n gap: 16,\n height: 40,\n justifyContent: 'space-between',\n px: 16,\n py: 2,\n }}\n >\n <Text color=\"text.secondary\" variant=\"caption\">\n {footerLeftText}\n </Text>\n <Text bold={true} variant=\"body2\">\n {footerRightText}\n </Text>\n </Stack>\n )}\n </Stack>\n )\n}\n\nexport default TransactionCard\n"],"mappings":";;;AAkBA,IAAM,IAAA,CAAmB,EACvB,aAAA,GACA,gBAAA,GACA,iBAAA,GACA,YAAA,EAAA,MAGE,gBAAA,EAAC,GAAD;AAAA,EACE,IAAI;AAAA,IACF,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAc;AAAA,IACd,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AAAA,YARF;AAAA,IAWG,KACC,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,SAAS;AAAA,QACT,cAAc;AAAA,QACd,mBAAmB;AAAA,QACnB,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,gBAEA,gBAAA,EAAC,GAAD;AAAA,QAAM,IAAI,EAAE,YAAY,IAAI;AAAA,QAAG,SAAQ;AAAA,kBACpC;AAAA,MACG,CAAA;AAAA,IACD,CAAA;AAAA,IAIR,EAAY,IAAA,CAAK,EAAE,QAAA,GAAQ,MAAA,GAAM,aAAA,GAAa,eAAA,EAAA,GAAiB,MAC9D,gBAAA,EAAC,GAAD;AAAA,MAEE,IAAI;AAAA,QACF,IAAK,EAAY,SAAS,MAAM,KAAS,CAAC,EAAE,KAAkB,OAAqB;AAAA,UACjF,cAAc;AAAA,UACd,mBAAmB;AAAA,QACrB;AAAA,QACA,eAAe;AAAA,QACf,KAAK;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,gBAXF,CAaE,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI;AAAA,UAAE,YAAY;AAAA,UAAU,MAAM;AAAA,UAAG,eAAe;AAAA,UAAO,KAAK;AAAA,UAAI,UAAU;AAAA,QAAE;AAAA,kBAAvF,CACG,GACD,gBAAA,EAAC,GAAD;AAAA,UAAO,IAAI,EAAE,UAAU,EAAE;AAAA,oBAAzB,CACE,gBAAA,EAAC,GAAD;AAAA,YAAM,MAAM;AAAA,YAAM,SAAQ;AAAA,sBACvB;AAAA,UACG,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,YAAM,SAAQ;AAAA,sBAAW;AAAA,UAAoB,CAAA,CACxC;AAAA,UACF;AAAA,UACP,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,SAAQ;AAAA,kBACvB;AAAA,MACG,CAAA,CACD;AAAA,OAxBA,CAwBA,CACR;AAAA,IAGA,KAAkB,KACjB,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,eAAe;AAAA,QACf,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,gBAVF,CAYE,gBAAA,EAAC,GAAD;AAAA,QAAM,OAAM;AAAA,QAAiB,SAAQ;AAAA,kBAClC;AAAA,MACG,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,SAAQ;AAAA,kBACvB;AAAA,MACG,CAAA,CACD;AAAA;EAEJ"}
1
+ {"version":3,"file":"TransactionCard.es.js","names":[],"sources":["../../../../src/insights/components/shared/TransactionCard.tsx"],"sourcesContent":["import Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\ninterface BodyContent {\n amount: string\n icon: React.ReactNode\n primaryText: string\n secondaryText: string\n}\n\ninterface TransactionCardProps {\n bodyContent: BodyContent[]\n footerLeftText?: string\n footerRightText?: string\n headerText?: string\n}\n\nconst TransactionCard = ({\n bodyContent,\n footerLeftText,\n footerRightText,\n headerText,\n}: TransactionCardProps) => {\n return (\n <Stack\n sx={{\n outlineColor: 'divider',\n borderRadius: '4px',\n outlineStyle: 'solid',\n outlineWidth: '1px',\n maxWidth: 288,\n minWidth: 224,\n }}\n >\n {/* Header */}\n {headerText && (\n <Stack\n sx={{\n bgcolor: 'background.default',\n borderBottom: '1px solid',\n borderBottomColor: 'divider',\n height: 40,\n justifyContent: 'center',\n px: 16,\n py: 2,\n }}\n >\n <Text sx={{ fontWeight: 700 }} variant=\"caption\">\n {headerText}\n </Text>\n </Stack>\n )}\n\n {/* Body */}\n {bodyContent.map(({ amount, icon, primaryText, secondaryText }, index) => (\n <Stack\n key={index}\n sx={{\n ...((bodyContent.length - 1 !== index || !!(footerLeftText && footerRightText)) && {\n borderBottom: '1px solid',\n borderBottomColor: 'divider',\n }),\n flexDirection: 'row',\n gap: 16,\n px: 16,\n py: 14,\n }}\n >\n <Stack sx={{ alignItems: 'center', flex: 1, flexDirection: 'row', gap: 12, minWidth: 0 }}>\n {icon}\n <Stack sx={{ minWidth: 0 }}>\n <Text bold={true} variant=\"body1\">\n {primaryText}\n </Text>\n <Text variant=\"caption\">{secondaryText}</Text>\n </Stack>\n </Stack>\n <Text bold={true} variant=\"body1\">\n {amount}\n </Text>\n </Stack>\n ))}\n\n {/* Footer */}\n {footerLeftText && footerRightText && (\n <Stack\n sx={{\n alignItems: 'center',\n bgcolor: 'background.default',\n flexDirection: 'row',\n gap: 16,\n height: 40,\n justifyContent: 'space-between',\n px: 16,\n py: 2,\n }}\n >\n <Text color=\"text.secondary\" variant=\"caption\">\n {footerLeftText}\n </Text>\n <Text bold={true} variant=\"body2\">\n {footerRightText}\n </Text>\n </Stack>\n )}\n </Stack>\n )\n}\n\nexport default TransactionCard\n"],"mappings":";;;AAkBA,IAAM,IAAA,CAAmB,EACvB,aAAA,GACA,gBAAA,GACA,iBAAA,GACA,YAAA,EAAA,MAGE,gBAAA,EAAC,GAAD;AAAA,EACE,IAAI;AAAA,IACF,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAc;AAAA,IACd,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AAAA,EARF,UAAA;AAAA,IAWG,KACC,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,SAAS;AAAA,QACT,cAAc;AAAA,QACd,mBAAmB;AAAA,QACnB,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,QAAM,IAAI,EAAE,YAAY,IAAI;AAAA,QAAG,SAAQ;AAAA,QACpC,UAAA;AAAA,MACG,CAAA;AAAA,IACD,CAAA;AAAA,IAIR,EAAY,IAAA,CAAK,EAAE,QAAA,GAAQ,MAAA,GAAM,aAAA,GAAa,eAAA,EAAA,GAAiB,MAC9D,gBAAA,EAAC,GAAD;AAAA,MAEE,IAAI;AAAA,QACF,IAAK,EAAY,SAAS,MAAM,KAAS,CAAC,EAAE,KAAkB,OAAqB;AAAA,UACjF,cAAc;AAAA,UACd,mBAAmB;AAAA,QACrB;AAAA,QACA,eAAe;AAAA,QACf,KAAK;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MAXF,UAAA,CAaE,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI;AAAA,UAAE,YAAY;AAAA,UAAU,MAAM;AAAA,UAAG,eAAe;AAAA,UAAO,KAAK;AAAA,UAAI,UAAU;AAAA,QAAE;AAAA,QAAvF,UAAA,CACG,GACD,gBAAA,EAAC,GAAD;AAAA,UAAO,IAAI,EAAE,UAAU,EAAE;AAAA,UAAzB,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,YAAM,MAAM;AAAA,YAAM,SAAQ;AAAA,YACvB,UAAA;AAAA,UACG,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,YAAM,SAAQ;AAAA,YAAW,UAAA;AAAA,UAAoB,CAAA,CACxC;AAAA,QACF,CAAA,CAAA;AAAA,MACP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,SAAQ;AAAA,QACvB,UAAA;AAAA,MACG,CAAA,CACD;AAAA,IAxBA,GAAA,CAwBA,CACR;AAAA,IAGA,KAAkB,KACjB,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,eAAe;AAAA,QACf,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MAVF,UAAA,CAYE,gBAAA,EAAC,GAAD;AAAA,QAAM,OAAM;AAAA,QAAiB,SAAQ;AAAA,QAClC,UAAA;AAAA,MACG,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,SAAQ;AAAA,QACvB,UAAA;AAAA,MACG,CAAA,CACD;AAAA;EAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"LinedCardZeroState.es.js","names":[],"sources":["../../../../../src/insights/components/shared/ZeroState/LinedCardZeroState.tsx"],"sourcesContent":["import Stack from '@mui/material/Stack'\n\nimport { ReactComponent as LinedCardZeroStateSVG } from '../images/LinedCardZeroState.svg'\nimport { ThemedSVGImage } from '../ThemedSVGImage'\n\nconst imageStyles = {\n padding: 8,\n marginTop: 8,\n marginBottom: 12,\n}\n\nexport const LinedCardZeroState = () => (\n <Stack\n sx={{\n flexDirection: 'row',\n justifyContent: 'center',\n }}\n >\n <ThemedSVGImage divProps={{ style: imageStyles }} image={LinedCardZeroStateSVG} />\n </Stack>\n)\n"],"mappings":";;;;AAKA,IAAM,IAAc;AAAA,EAClB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,cAAc;AAChB,GAEa,IAAA,MACX,gBAAA,EAAC,GAAD;AAAA,EACE,IAAI;AAAA,IACF,eAAe;AAAA,IACf,gBAAgB;AAAA,EAClB;AAAA,YAEA,gBAAA,EAAC,GAAD;AAAA,IAAgB,UAAU,EAAE,OAAO,EAAY;AAAA,IAAG,OAAO;AAAA,EAAwB,CAAA;AAC5E,CAAA"}
1
+ {"version":3,"file":"LinedCardZeroState.es.js","names":[],"sources":["../../../../../src/insights/components/shared/ZeroState/LinedCardZeroState.tsx"],"sourcesContent":["import Stack from '@mui/material/Stack'\n\nimport { ReactComponent as LinedCardZeroStateSVG } from '../images/LinedCardZeroState.svg'\nimport { ThemedSVGImage } from '../ThemedSVGImage'\n\nconst imageStyles = {\n padding: 8,\n marginTop: 8,\n marginBottom: 12,\n}\n\nexport const LinedCardZeroState = () => (\n <Stack\n sx={{\n flexDirection: 'row',\n justifyContent: 'center',\n }}\n >\n <ThemedSVGImage divProps={{ style: imageStyles }} image={LinedCardZeroStateSVG} />\n </Stack>\n)\n"],"mappings":";;;;AAKA,IAAM,IAAc;AAAA,EAClB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,cAAc;AAChB,GAEa,IAAA,MACX,gBAAA,EAAC,GAAD;AAAA,EACE,IAAI;AAAA,IACF,eAAe;AAAA,IACf,gBAAgB;AAAA,EAClB;AAAA,EAEA,UAAA,gBAAA,EAAC,GAAD;AAAA,IAAgB,UAAU,EAAE,OAAO,EAAY;AAAA,IAAG,OAAO;AAAA,EAAwB,CAAA;AAC5E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"InvestmentsWidget.es.js","names":[],"sources":["../../src/investments/InvestmentsWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\nimport Tab from '@mui/material/Tab'\nimport Tabs from '@mui/material/Tabs'\n\nimport {\n ANALYTICS_EVENTS,\n EmptyState,\n Loader,\n useAccountStore,\n useEvent,\n useGlobalCopyStore,\n useGlobalUiStore,\n useHoldingStore,\n useScreenSize,\n useWidgetLoadTimer,\n WidgetContainer,\n} from '../common'\nimport { AccountType, WidgetProps } from '../core'\n\nimport ConnectionsDrawer from '../accounts/components/ConnectionsDrawer'\nimport Allocation from './components/Allocation'\nimport Analysis from './components/Analysis'\nimport Overview from './components/Overview'\nimport { TabTitle } from './components/TabTitle'\n\nexport const InvestmentsWidget = observer(({ onBackClick, onMenuClick, sx }: WidgetProps) => {\n const { onEvent } = useEvent()\n const { isMobile } = useScreenSize()\n const {\n isAccountDataLoaded,\n loadAccountData,\n visibleInvestmentAccounts: accounts,\n } = useAccountStore()\n const {\n visibleHoldings: holdings,\n setShowConnectionsWidget,\n showConnectionsWidget,\n } = useHoldingStore()\n const { investments: copy, accounts: accountsCopy } = useGlobalCopyStore()\n\n const { isInitialized } = useGlobalUiStore()\n\n const [selectedTab, setSelectedTab] = React.useState(0)\n\n const { loadHoldings, holdingsLoaded } = useHoldingStore()\n\n useWidgetLoadTimer({\n widgetName: 'InvestmentsWidget',\n isLoaded: holdingsLoaded,\n })\n\n React.useEffect(() => {\n if (!isAccountDataLoaded) {\n loadAccountData().finally()\n }\n }, [])\n\n React.useEffect(() => {\n if (isInitialized) {\n loadHoldings().finally()\n }\n }, [isInitialized])\n\n const handleAccountFilterClick = () => {\n onEvent(ANALYTICS_EVENTS.INVESTMENT_WIDGET_ACCOUNT_FILTER_CLICK)\n }\n\n if (!isInitialized || !holdingsLoaded) return <Loader />\n\n const events = [\n ANALYTICS_EVENTS.INVESTMENT_WIDGET_DETAILS_CLICK,\n ANALYTICS_EVENTS.INVESTMENT_WIDGET_ALLOCATION_CLICK,\n ANALYTICS_EVENTS.INVESTMENT_WIDGET_ANALYSIS_CLICK,\n ]\n const isEmptyState = accounts.length === 0 && holdings.length === 0\n const investmentTabs = [\n copy.tab_overview_title,\n copy.tab_allocation_title,\n copy.tab_analysis_title,\n ]\n return (\n <WidgetContainer\n allowedAccountTypes={[AccountType.INVESTMENT]}\n onAccountsFilterClick={handleAccountFilterClick}\n onBackClick={onBackClick}\n onMenuClick={onMenuClick}\n sx={sx}\n title={copy.title}\n >\n <Stack mx={isMobile ? 0 : 48} my={24}>\n <Tabs\n onChange={(_, newValue) => {\n setSelectedTab(newValue)\n onEvent(events[newValue])\n }}\n sx={{ bgcolor: 'background.paper' }}\n textColor=\"primary\"\n value={!isEmptyState ? selectedTab : false}\n variant=\"fullWidth\"\n >\n {investmentTabs.map((title) => (\n <Tab disabled={isEmptyState} key={title} label={<TabTitle title={title} />} />\n ))}\n </Tabs>\n {isEmptyState ? (\n <EmptyState\n header={copy.empty_state_header}\n icon=\"bid_landscape\"\n onClick={() => {\n setShowConnectionsWidget(true)\n onEvent(ANALYTICS_EVENTS.ACCOUNTS_CLICK_CONNECT)\n }}\n primaryButton={copy.overview.connect_accounts}\n subText={copy.empty_state_description}\n sx={{\n width: { sm: 432 },\n '.buttons-footer': {\n width: 167,\n },\n '.MuiTypography-h2': {\n mt: 20,\n mb: 4,\n },\n px: 16,\n }}\n />\n ) : (\n <>\n {selectedTab === 0 && <Overview />}\n {selectedTab === 1 && <Allocation />}\n {selectedTab === 2 && <Analysis />}\n </>\n )}\n </Stack>\n <ConnectionsDrawer\n onClose={() => setShowConnectionsWidget(false)}\n showConnectionsWidget={showConnectionsWidget}\n title={accountsCopy.manage_connections}\n />\n </WidgetContainer>\n )\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"InvestmentsWidget.es.js","names":[],"sources":["../../src/investments/InvestmentsWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\nimport Tab from '@mui/material/Tab'\nimport Tabs from '@mui/material/Tabs'\n\nimport {\n ANALYTICS_EVENTS,\n EmptyState,\n Loader,\n useAccountStore,\n useEvent,\n useGlobalCopyStore,\n useGlobalUiStore,\n useHoldingStore,\n useScreenSize,\n useWidgetLoadTimer,\n WidgetContainer,\n} from '../common'\nimport { AccountType, WidgetProps } from '../core'\n\nimport ConnectionsDrawer from '../accounts/components/ConnectionsDrawer'\nimport Allocation from './components/Allocation'\nimport Analysis from './components/Analysis'\nimport Overview from './components/Overview'\nimport { TabTitle } from './components/TabTitle'\n\nexport const InvestmentsWidget = observer(({ onBackClick, onMenuClick, sx }: WidgetProps) => {\n const { onEvent } = useEvent()\n const { isMobile } = useScreenSize()\n const {\n isAccountDataLoaded,\n loadAccountData,\n visibleInvestmentAccounts: accounts,\n } = useAccountStore()\n const {\n visibleHoldings: holdings,\n setShowConnectionsWidget,\n showConnectionsWidget,\n } = useHoldingStore()\n const { investments: copy, accounts: accountsCopy } = useGlobalCopyStore()\n\n const { isInitialized } = useGlobalUiStore()\n\n const [selectedTab, setSelectedTab] = React.useState(0)\n\n const { loadHoldings, holdingsLoaded } = useHoldingStore()\n\n useWidgetLoadTimer({\n widgetName: 'InvestmentsWidget',\n isLoaded: holdingsLoaded,\n })\n\n React.useEffect(() => {\n if (!isAccountDataLoaded) {\n loadAccountData().finally()\n }\n }, [])\n\n React.useEffect(() => {\n if (isInitialized) {\n loadHoldings().finally()\n }\n }, [isInitialized])\n\n const handleAccountFilterClick = () => {\n onEvent(ANALYTICS_EVENTS.INVESTMENT_WIDGET_ACCOUNT_FILTER_CLICK)\n }\n\n if (!isInitialized || !holdingsLoaded) return <Loader />\n\n const events = [\n ANALYTICS_EVENTS.INVESTMENT_WIDGET_DETAILS_CLICK,\n ANALYTICS_EVENTS.INVESTMENT_WIDGET_ALLOCATION_CLICK,\n ANALYTICS_EVENTS.INVESTMENT_WIDGET_ANALYSIS_CLICK,\n ]\n const isEmptyState = accounts.length === 0 && holdings.length === 0\n const investmentTabs = [\n copy.tab_overview_title,\n copy.tab_allocation_title,\n copy.tab_analysis_title,\n ]\n return (\n <WidgetContainer\n allowedAccountTypes={[AccountType.INVESTMENT]}\n onAccountsFilterClick={handleAccountFilterClick}\n onBackClick={onBackClick}\n onMenuClick={onMenuClick}\n sx={sx}\n title={copy.title}\n >\n <Stack mx={isMobile ? 0 : 48} my={24}>\n <Tabs\n onChange={(_, newValue) => {\n setSelectedTab(newValue)\n onEvent(events[newValue])\n }}\n sx={{ bgcolor: 'background.paper' }}\n textColor=\"primary\"\n value={!isEmptyState ? selectedTab : false}\n variant=\"fullWidth\"\n >\n {investmentTabs.map((title) => (\n <Tab disabled={isEmptyState} key={title} label={<TabTitle title={title} />} />\n ))}\n </Tabs>\n {isEmptyState ? (\n <EmptyState\n header={copy.empty_state_header}\n icon=\"bid_landscape\"\n onClick={() => {\n setShowConnectionsWidget(true)\n onEvent(ANALYTICS_EVENTS.ACCOUNTS_CLICK_CONNECT)\n }}\n primaryButton={copy.overview.connect_accounts}\n subText={copy.empty_state_description}\n sx={{\n width: { sm: 432 },\n '.buttons-footer': {\n width: 167,\n },\n '.MuiTypography-h2': {\n mt: 20,\n mb: 4,\n },\n px: 16,\n }}\n />\n ) : (\n <>\n {selectedTab === 0 && <Overview />}\n {selectedTab === 1 && <Allocation />}\n {selectedTab === 2 && <Analysis />}\n </>\n )}\n </Stack>\n <ConnectionsDrawer\n onClose={() => setShowConnectionsWidget(false)}\n showConnectionsWidget={showConnectionsWidget}\n title={accountsCopy.manage_connections}\n />\n </WidgetContainer>\n )\n})\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Allocation.es.js","names":[],"sources":["../../../src/investments/components/Allocation.tsx"],"sourcesContent":["import React from 'react'\n\nimport Stack from '@mui/material/Stack'\nimport useMediaQuery from '@mui/material/useMediaQuery'\n\nimport { observer } from 'mobx-react-lite'\n\nimport { InvestementAllocationList } from './allocation/InvestementAllocationList'\nimport { InvestementsAllocationChart } from './allocation/InvestmentsAllocationChart'\nimport { createInvestmentsAllocationData } from './allocation/util/createInvestementsAllocationData'\nimport {\n useAccountStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n useHoldingStore,\n useScreenSize,\n} from '../../common'\n\nconst Allocation = () => {\n const [selectedTabs, setSelectedTabs] = React.useState(0)\n const [selectedId, setSelectedId] = React.useState('')\n const [hoveredId, setHoveredId] = React.useState('')\n const onSelected = (id: string) => {\n if (selectedId !== id) {\n setSelectedId(id)\n } else {\n setSelectedId('')\n setHoveredId('')\n }\n }\n const { selectedAccountGuids } = useGlobalUiStore()\n const { visibleHoldings: allHoldings } = useHoldingStore()\n const { visibleInvestmentAccounts: accounts } = useAccountStore()\n const {\n investments: { allocation: copy },\n } = useGlobalCopyStore()\n const investmentAllocationData = createInvestmentsAllocationData(\n accounts.filter(({ guid }) => selectedAccountGuids.includes(guid)),\n copy,\n allHoldings,\n )\n const { isMobile } = useScreenSize()\n const isScreenDeviceTablet = useMediaQuery('(max-width:768px)')\n\n return (\n <Stack\n alignItems={isScreenDeviceTablet ? 'center' : 'flex-start'}\n direction={isScreenDeviceTablet ? 'column' : 'row'}\n gap={{ xs: 16, md: 64, xl: 100 }}\n sx={{\n justifyContent: 'center',\n mt: 50,\n width: '100%',\n }}\n >\n <InvestementsAllocationChart\n data={investmentAllocationData}\n hoveredId={hoveredId}\n isPercentage={selectedTabs === 1}\n onMouseEnter={(id) => {\n if (selectedId === id) {\n setHoveredId('')\n } else if (!selectedId) {\n setHoveredId(id)\n }\n }}\n onMouseLeave={() => {\n setHoveredId('')\n }}\n onSelected={onSelected}\n selectedId={selectedId}\n size={isMobile ? 280 : 400}\n totalLabel={copy.pie_chart_centered_text}\n />\n <InvestementAllocationList\n data={investmentAllocationData}\n onSelected={onSelected}\n selectedId={selectedId}\n selectedTabs={selectedTabs}\n setSelectedTabs={setSelectedTabs}\n />\n </Stack>\n )\n}\n\nexport default observer(Allocation)\n"],"mappings":";;;;;;;;;;AAkBA,IAAM,IAAA,MAAmB;AACvB,QAAM,CAAC,GAAc,CAAA,IAAmB,EAAM,SAAS,CAAC,GAClD,CAAC,GAAY,CAAA,IAAiB,EAAM,SAAS,EAAE,GAC/C,CAAC,GAAW,CAAA,IAAgB,EAAM,SAAS,EAAE,GAC7C,IAAA,CAAc,MAAe;AACjC,IAAI,MAAe,IACjB,EAAc,CAAE,KAEhB,EAAc,EAAE,GAChB,EAAa,EAAE;AAAA,EAEnB,GACM,EAAE,sBAAA,EAAA,IAAyB,EAAiB,GAC5C,EAAE,iBAAiB,EAAA,IAAgB,EAAgB,GACnD,EAAE,2BAA2B,EAAA,IAAa,EAAgB,GAC1D,EACJ,aAAa,EAAE,YAAY,EAAA,EAAA,IACzB,EAAmB,GACjB,IAA2B,EAC/B,EAAS,OAAA,CAAQ,EAAE,MAAA,EAAA,MAAW,EAAqB,SAAS,CAAI,CAAC,GACjE,GACA,CACF,GACM,EAAE,UAAA,EAAA,IAAa,EAAc,GAC7B,IAAuB,EAAc,mBAAmB;AAE9D,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,YAAY,IAAuB,WAAW;AAAA,IAC9C,WAAW,IAAuB,WAAW;AAAA,IAC7C,KAAK;AAAA,MAAE,IAAI;AAAA,MAAI,IAAI;AAAA,MAAI,IAAI;AAAA,IAAI;AAAA,IAC/B,IAAI;AAAA,MACF,gBAAgB;AAAA,MAChB,IAAI;AAAA,MACJ,OAAO;AAAA,IACT;AAAA,cARF,CAUE,gBAAA,EAAC,GAAD;AAAA,MACE,MAAM;AAAA,MACK,WAAA;AAAA,MACX,cAAc,MAAiB;AAAA,MAC/B,cAAA,CAAe,MAAO;AACpB,QAAI,MAAe,IACjB,EAAa,EAAE,IACL,KACV,EAAa,CAAE;AAAA,MAEnB;AAAA,MACA,cAAA,MAAoB;AAClB,QAAA,EAAa,EAAE;AAAA,MACjB;AAAA,MACY,YAAA;AAAA,MACA,YAAA;AAAA,MACZ,MAAM,IAAW,MAAM;AAAA,MACvB,YAAY,EAAK;AAAA,IAClB,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MACE,MAAM;AAAA,MACM,YAAA;AAAA,MACA,YAAA;AAAA,MACE,cAAA;AAAA,MACG,iBAAA;AAAA,IAClB,CAAA,CACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAU"}
1
+ {"version":3,"file":"Allocation.es.js","names":[],"sources":["../../../src/investments/components/Allocation.tsx"],"sourcesContent":["import React from 'react'\n\nimport Stack from '@mui/material/Stack'\nimport useMediaQuery from '@mui/material/useMediaQuery'\n\nimport { observer } from 'mobx-react-lite'\n\nimport { InvestementAllocationList } from './allocation/InvestementAllocationList'\nimport { InvestementsAllocationChart } from './allocation/InvestmentsAllocationChart'\nimport { createInvestmentsAllocationData } from './allocation/util/createInvestementsAllocationData'\nimport {\n useAccountStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n useHoldingStore,\n useScreenSize,\n} from '../../common'\n\nconst Allocation = () => {\n const [selectedTabs, setSelectedTabs] = React.useState(0)\n const [selectedId, setSelectedId] = React.useState('')\n const [hoveredId, setHoveredId] = React.useState('')\n const onSelected = (id: string) => {\n if (selectedId !== id) {\n setSelectedId(id)\n } else {\n setSelectedId('')\n setHoveredId('')\n }\n }\n const { selectedAccountGuids } = useGlobalUiStore()\n const { visibleHoldings: allHoldings } = useHoldingStore()\n const { visibleInvestmentAccounts: accounts } = useAccountStore()\n const {\n investments: { allocation: copy },\n } = useGlobalCopyStore()\n const investmentAllocationData = createInvestmentsAllocationData(\n accounts.filter(({ guid }) => selectedAccountGuids.includes(guid)),\n copy,\n allHoldings,\n )\n const { isMobile } = useScreenSize()\n const isScreenDeviceTablet = useMediaQuery('(max-width:768px)')\n\n return (\n <Stack\n alignItems={isScreenDeviceTablet ? 'center' : 'flex-start'}\n direction={isScreenDeviceTablet ? 'column' : 'row'}\n gap={{ xs: 16, md: 64, xl: 100 }}\n sx={{\n justifyContent: 'center',\n mt: 50,\n width: '100%',\n }}\n >\n <InvestementsAllocationChart\n data={investmentAllocationData}\n hoveredId={hoveredId}\n isPercentage={selectedTabs === 1}\n onMouseEnter={(id) => {\n if (selectedId === id) {\n setHoveredId('')\n } else if (!selectedId) {\n setHoveredId(id)\n }\n }}\n onMouseLeave={() => {\n setHoveredId('')\n }}\n onSelected={onSelected}\n selectedId={selectedId}\n size={isMobile ? 280 : 400}\n totalLabel={copy.pie_chart_centered_text}\n />\n <InvestementAllocationList\n data={investmentAllocationData}\n onSelected={onSelected}\n selectedId={selectedId}\n selectedTabs={selectedTabs}\n setSelectedTabs={setSelectedTabs}\n />\n </Stack>\n )\n}\n\nexport default observer(Allocation)\n"],"mappings":";;;;;;;;;;AAkBA,IAAM,IAAA,MAAmB;AACvB,QAAM,CAAC,GAAc,CAAA,IAAmB,EAAM,SAAS,CAAC,GAClD,CAAC,GAAY,CAAA,IAAiB,EAAM,SAAS,EAAE,GAC/C,CAAC,GAAW,CAAA,IAAgB,EAAM,SAAS,EAAE,GAC7C,IAAA,CAAc,MAAe;AACjC,IAAI,MAAe,IACjB,EAAc,CAAE,KAEhB,EAAc,EAAE,GAChB,EAAa,EAAE;AAAA,EAEnB,GACM,EAAE,sBAAA,EAAA,IAAyB,EAAiB,GAC5C,EAAE,iBAAiB,EAAA,IAAgB,EAAgB,GACnD,EAAE,2BAA2B,EAAA,IAAa,EAAgB,GAC1D,EACJ,aAAa,EAAE,YAAY,EAAA,EAAA,IACzB,EAAmB,GACjB,IAA2B,EAC/B,EAAS,OAAA,CAAQ,EAAE,MAAA,EAAA,MAAW,EAAqB,SAAS,CAAI,CAAC,GACjE,GACA,CACF,GACM,EAAE,UAAA,EAAA,IAAa,EAAc,GAC7B,IAAuB,EAAc,mBAAmB;AAE9D,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,YAAY,IAAuB,WAAW;AAAA,IAC9C,WAAW,IAAuB,WAAW;AAAA,IAC7C,KAAK;AAAA,MAAE,IAAI;AAAA,MAAI,IAAI;AAAA,MAAI,IAAI;AAAA,IAAI;AAAA,IAC/B,IAAI;AAAA,MACF,gBAAgB;AAAA,MAChB,IAAI;AAAA,MACJ,OAAO;AAAA,IACT;AAAA,IARF,UAAA,CAUE,gBAAA,EAAC,GAAD;AAAA,MACE,MAAM;AAAA,MACK,WAAA;AAAA,MACX,cAAc,MAAiB;AAAA,MAC/B,cAAA,CAAe,MAAO;AACpB,QAAI,MAAe,IACjB,EAAa,EAAE,IACL,KACV,EAAa,CAAE;AAAA,MAEnB;AAAA,MACA,cAAA,MAAoB;AAClB,QAAA,EAAa,EAAE;AAAA,MACjB;AAAA,MACY,YAAA;AAAA,MACA,YAAA;AAAA,MACZ,MAAM,IAAW,MAAM;AAAA,MACvB,YAAY,EAAK;AAAA,IAClB,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MACE,MAAM;AAAA,MACM,YAAA;AAAA,MACA,YAAA;AAAA,MACE,cAAA;AAAA,MACG,iBAAA;AAAA,IAClB,CAAA,CACI;AAAA;AAEX,GAEA,IAAe,EAAS,CAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"Analysis.es.js","names":[],"sources":["../../../src/investments/components/Analysis.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\nimport useMediaQuery from '@mui/material/useMediaQuery'\n\nimport { P, Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore, useHoldingStore, useScreenSize } from '../../common'\n\nimport { AnalysisType } from '../../core/constants/Investments'\n\nimport AnalysisDetails from './AnalysisDetails'\nimport InfoTooltip from './InfoToolTip'\n\nconst Analysis: React.FC = () => {\n const {\n investments: { analysis: copy },\n } = useGlobalCopyStore()\n const { analysisChartData, analysisDetails, analysisType, setAnalysisType } = useHoldingStore()\n\n const isSmallMobileDevice = useMediaQuery('(min-width:320px) and (max-width:375px)')\n const { isMobile } = useScreenSize()\n\n const theme = useTheme()\n const isDark = theme.palette.mode === 'dark'\n\n const { cellDimension, columns, rows, textVariant } = React.useMemo(() => {\n const isStocks = analysisType === AnalysisType.Stocks\n\n const columns = isStocks\n ? Object.values(copy.stock_column_labels)\n : Object.values(copy.bond_column_labels)\n const rows = isStocks\n ? Object.values(copy.stock_row_labels)\n : Object.values(copy.bond_row_labels)\n\n const textVariant: 'body1' | 'caption' = isMobile ? 'caption' : 'body1'\n const cellDimension = isMobile ? 72 : 100\n\n return { cellDimension, columns, rows, textVariant }\n }, [copy, isMobile, analysisType])\n\n return (\n <Stack\n sx={{\n flexDirection: { md: 'row' },\n gap: isMobile ? 48 : 64,\n justifyContent: 'center',\n pt: 48,\n px: 16,\n }}\n >\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'center',\n pr: { lg: 72 },\n }}\n >\n <Stack\n sx={{\n alignItems: 'center',\n bottom: isMobile ? 10 : 24,\n gap: isMobile ? 0 : 24,\n position: 'relative',\n transform: 'rotate(-180deg)',\n writingMode: 'vertical-rl',\n }}\n >\n <P bold={true} color=\"secondary.main\" variant={textVariant}>\n {analysisType === AnalysisType.Stocks\n ? copy.market_capitalization\n : copy.credit_quality}\n </P>\n <Stack\n sx={{\n flexDirection: 'row',\n height: isMobile ? 224 : 308,\n justifyContent: 'space-around',\n }}\n >\n {columns.map((label) => (\n <Text\n key={label}\n sx={{\n color: 'secondary.main',\n pl: 12,\n pr: isMobile ? 4 : 0,\n }}\n variant={textVariant}\n >\n {label}\n </Text>\n ))}\n </Stack>\n </Stack>\n <Stack sx={{ gap: 4 }}>\n <Stack\n sx={{\n alignSelf: isSmallMobileDevice ? 'start' : 'center',\n flexDirection: 'row',\n gap: 8,\n pb: 12,\n }}\n >\n <Text bold={true}>{copy.invest_analysis}</Text>\n <InfoTooltip\n tooltip_info_body={copy.tooltip_info_body}\n tooltip_info_title={copy.tooltip_info_title}\n />\n </Stack>\n {analysisChartData.map((row, rowIndex, data) => (\n <Stack key={rowIndex} sx={{ flexDirection: 'row', gap: 4 }}>\n {row.map((value, colIndex) => {\n const isFirstRow = rowIndex === 0\n const isLastRow = rowIndex === data.length - 1\n const isFirstCol = colIndex === 0\n const isLastCol = colIndex === row.length - 1\n\n const isHigh = Number(value.replace('%', '')) >= 25\n\n let bgcolor = 'grey.200'\n let color = 'grey.900'\n\n if (isDark) {\n bgcolor = isHigh ? 'grey.200' : 'grey.700'\n color = isHigh ? 'grey.900' : 'common.white'\n } else {\n bgcolor = isHigh ? 'grey.700' : 'grey.200'\n color = isHigh ? 'common.white' : 'grey.900'\n }\n\n const borderRadius = {\n borderBottomLeftRadius: isLastRow && isFirstCol ? 4 : 0,\n borderBottomRightRadius: isLastRow && isLastCol ? 4 : 0,\n borderTopLeftRadius: isFirstRow && isFirstCol ? 4 : 0,\n borderTopRightRadius: isFirstRow && isLastCol ? 4 : 0,\n }\n return (\n <Stack\n key={colIndex}\n sx={{\n ...borderRadius,\n alignItems: 'center',\n bgcolor,\n height: cellDimension,\n justifyContent: 'center',\n width: cellDimension,\n }}\n >\n <Text\n sx={{\n color,\n fontWeight: isMobile ? 600 : 700,\n }}\n variant={isMobile ? 'body1' : 'h3'}\n >\n {value}\n </Text>\n </Stack>\n )\n })}\n </Stack>\n ))}\n <Stack sx={{ alignSelf: 'center', flexDirection: 'row', pt: 12 }}>\n {rows.map((label) => (\n <Stack key={label} sx={{ alignItems: 'center', width: cellDimension }}>\n <Text color=\"secondary.main\" variant={textVariant}>\n {label}\n </Text>\n </Stack>\n ))}\n </Stack>\n <Text\n bold={true}\n sx={{ color: 'secondary.main', pt: isMobile ? 4 : 24, textAlign: 'center' }}\n variant={textVariant}\n >\n {analysisType === AnalysisType.Stocks ? copy.valuation : copy.duration}\n </Text>\n </Stack>\n </Stack>\n <AnalysisDetails\n analysisDetails={analysisDetails}\n analysisType={analysisType}\n copy={{\n empty_data: copy.empty_data,\n equities: copy.equities,\n bonds: copy.bonds,\n }}\n setAnalysisType={setAnalysisType}\n />\n </Stack>\n )\n}\n\nexport default observer(Analysis)\n"],"mappings":"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"}
1
+ {"version":3,"file":"Analysis.es.js","names":[],"sources":["../../../src/investments/components/Analysis.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\nimport useMediaQuery from '@mui/material/useMediaQuery'\n\nimport { P, Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore, useHoldingStore, useScreenSize } from '../../common'\n\nimport { AnalysisType } from '../../core/constants/Investments'\n\nimport AnalysisDetails from './AnalysisDetails'\nimport InfoTooltip from './InfoToolTip'\n\nconst Analysis: React.FC = () => {\n const {\n investments: { analysis: copy },\n } = useGlobalCopyStore()\n const { analysisChartData, analysisDetails, analysisType, setAnalysisType } = useHoldingStore()\n\n const isSmallMobileDevice = useMediaQuery('(min-width:320px) and (max-width:375px)')\n const { isMobile } = useScreenSize()\n\n const theme = useTheme()\n const isDark = theme.palette.mode === 'dark'\n\n const { cellDimension, columns, rows, textVariant } = React.useMemo(() => {\n const isStocks = analysisType === AnalysisType.Stocks\n\n const columns = isStocks\n ? Object.values(copy.stock_column_labels)\n : Object.values(copy.bond_column_labels)\n const rows = isStocks\n ? Object.values(copy.stock_row_labels)\n : Object.values(copy.bond_row_labels)\n\n const textVariant: 'body1' | 'caption' = isMobile ? 'caption' : 'body1'\n const cellDimension = isMobile ? 72 : 100\n\n return { cellDimension, columns, rows, textVariant }\n }, [copy, isMobile, analysisType])\n\n return (\n <Stack\n sx={{\n flexDirection: { md: 'row' },\n gap: isMobile ? 48 : 64,\n justifyContent: 'center',\n pt: 48,\n px: 16,\n }}\n >\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'center',\n pr: { lg: 72 },\n }}\n >\n <Stack\n sx={{\n alignItems: 'center',\n bottom: isMobile ? 10 : 24,\n gap: isMobile ? 0 : 24,\n position: 'relative',\n transform: 'rotate(-180deg)',\n writingMode: 'vertical-rl',\n }}\n >\n <P bold={true} color=\"secondary.main\" variant={textVariant}>\n {analysisType === AnalysisType.Stocks\n ? copy.market_capitalization\n : copy.credit_quality}\n </P>\n <Stack\n sx={{\n flexDirection: 'row',\n height: isMobile ? 224 : 308,\n justifyContent: 'space-around',\n }}\n >\n {columns.map((label) => (\n <Text\n key={label}\n sx={{\n color: 'secondary.main',\n pl: 12,\n pr: isMobile ? 4 : 0,\n }}\n variant={textVariant}\n >\n {label}\n </Text>\n ))}\n </Stack>\n </Stack>\n <Stack sx={{ gap: 4 }}>\n <Stack\n sx={{\n alignSelf: isSmallMobileDevice ? 'start' : 'center',\n flexDirection: 'row',\n gap: 8,\n pb: 12,\n }}\n >\n <Text bold={true}>{copy.invest_analysis}</Text>\n <InfoTooltip\n tooltip_info_body={copy.tooltip_info_body}\n tooltip_info_title={copy.tooltip_info_title}\n />\n </Stack>\n {analysisChartData.map((row, rowIndex, data) => (\n <Stack key={rowIndex} sx={{ flexDirection: 'row', gap: 4 }}>\n {row.map((value, colIndex) => {\n const isFirstRow = rowIndex === 0\n const isLastRow = rowIndex === data.length - 1\n const isFirstCol = colIndex === 0\n const isLastCol = colIndex === row.length - 1\n\n const isHigh = Number(value.replace('%', '')) >= 25\n\n let bgcolor = 'grey.200'\n let color = 'grey.900'\n\n if (isDark) {\n bgcolor = isHigh ? 'grey.200' : 'grey.700'\n color = isHigh ? 'grey.900' : 'common.white'\n } else {\n bgcolor = isHigh ? 'grey.700' : 'grey.200'\n color = isHigh ? 'common.white' : 'grey.900'\n }\n\n const borderRadius = {\n borderBottomLeftRadius: isLastRow && isFirstCol ? 4 : 0,\n borderBottomRightRadius: isLastRow && isLastCol ? 4 : 0,\n borderTopLeftRadius: isFirstRow && isFirstCol ? 4 : 0,\n borderTopRightRadius: isFirstRow && isLastCol ? 4 : 0,\n }\n return (\n <Stack\n key={colIndex}\n sx={{\n ...borderRadius,\n alignItems: 'center',\n bgcolor,\n height: cellDimension,\n justifyContent: 'center',\n width: cellDimension,\n }}\n >\n <Text\n sx={{\n color,\n fontWeight: isMobile ? 600 : 700,\n }}\n variant={isMobile ? 'body1' : 'h3'}\n >\n {value}\n </Text>\n </Stack>\n )\n })}\n </Stack>\n ))}\n <Stack sx={{ alignSelf: 'center', flexDirection: 'row', pt: 12 }}>\n {rows.map((label) => (\n <Stack key={label} sx={{ alignItems: 'center', width: cellDimension }}>\n <Text color=\"secondary.main\" variant={textVariant}>\n {label}\n </Text>\n </Stack>\n ))}\n </Stack>\n <Text\n bold={true}\n sx={{ color: 'secondary.main', pt: isMobile ? 4 : 24, textAlign: 'center' }}\n variant={textVariant}\n >\n {analysisType === AnalysisType.Stocks ? copy.valuation : copy.duration}\n </Text>\n </Stack>\n </Stack>\n <AnalysisDetails\n analysisDetails={analysisDetails}\n analysisType={analysisType}\n copy={{\n empty_data: copy.empty_data,\n equities: copy.equities,\n bonds: copy.bonds,\n }}\n setAnalysisType={setAnalysisType}\n />\n </Stack>\n )\n}\n\nexport default observer(Analysis)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AnalysisDetails.es.js","names":[],"sources":["../../../src/investments/components/AnalysisDetails.tsx"],"sourcesContent":["import React from 'react'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemText from '@mui/material/ListItemText'\nimport Stack from '@mui/material/Stack'\nimport ToggleButton from '@mui/material/ToggleButton'\nimport ToggleButtonGroup from '@mui/material/ToggleButtonGroup'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useScreenSize } from '../../common'\nimport { AnalysisType } from '../../core/constants/Investments'\nimport { formatKey } from '../../core/utils/InvestmentUtil'\n\nimport { EmptyStateFooterComponent } from './EmptyStateFooterComponent'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\n\ninterface Copy {\n bonds: string\n equities: string\n empty_data: string\n}\n\ninterface AnalysisDetailsProps {\n analysisDetails: Record<string, number>\n analysisType: AnalysisType\n copy: Copy\n setAnalysisType: (type: AnalysisType) => void\n}\n\nconst AnalysisDetails: React.FC<AnalysisDetailsProps> = ({\n analysisDetails,\n analysisType,\n copy,\n setAnalysisType,\n}) => {\n const { isSmallMobile } = useScreenSize()\n\n const listItems = React.useMemo(() => {\n return Object.keys(analysisDetails)\n .filter((key) => analysisDetails[key] >= 1)\n .map((key) => ({\n key,\n value: formatCurrency(analysisDetails[key], '0,0'),\n formattedKey: formatKey(key),\n }))\n }, [analysisDetails])\n\n const toggleButtons = [\n { label: copy.equities, value: AnalysisType.Stocks },\n { label: copy.bonds, value: AnalysisType.Bonds },\n ]\n return (\n <Stack sx={{ gap: 12, width: { md: 412 } }}>\n <ToggleButtonGroup\n color=\"primary\"\n exclusive={true}\n onChange={(_, value) => value && setAnalysisType(value)}\n sx={{\n width: '100%',\n '& .MuiToggleButton-root': {\n color: 'secondary.main',\n fontWeight: 600,\n textTransform: 'capitalize',\n },\n }}\n value={listItems.length ? analysisType : -1}\n >\n {toggleButtons.map(({ label, value }) => (\n <ToggleButton key={value} sx={{ width: '100%' }} value={value}>\n {label}\n </ToggleButton>\n ))}\n </ToggleButtonGroup>\n\n {listItems.length ? (\n <List\n sx={{\n '& .MuiListItemSecondaryAction-root': { pr: 12 },\n '& .MuiListItem-divider': { borderColor: 'neutral.light' },\n '& .MuiListItem-root': { minHeight: 44, px: 12 },\n }}\n >\n {listItems.map(({ value, formattedKey }) => (\n <ListItem divider={true} key={formattedKey} secondaryAction={<Text>{value}</Text>}>\n <ListItemText\n primary={formattedKey}\n slotProps={{ primary: { fontStyle: 'normal' } }}\n />\n </ListItem>\n ))}\n </List>\n ) : (\n <>\n <Text sx={{ color: 'secondary.main', p: 8, textAlign: 'center' }}>{copy.empty_data}</Text>\n <Divider sx={{ borderColor: 'neutral.light' }} />\n <EmptyStateFooterComponent\n sx={{\n '.inner-container': { width: isSmallMobile ? '100%' : 364 },\n }}\n />\n </>\n )}\n </Stack>\n )\n}\n\nexport default AnalysisDetails\n"],"mappings":";;;;;;;;;;;;;;;AAgCA,IAAM,IAAA,CAAmD,EACvD,iBAAA,GACA,cAAA,GACA,MAAA,GACA,iBAAA,EAAA,MACI;AACJ,QAAM,EAAE,eAAA,EAAA,IAAkB,EAAc,GAElC,IAAY,EAAM,QAAA,MACf,OAAO,KAAK,CAAe,EAC/B,OAAA,CAAQ,MAAQ,EAAgB,CAAA,KAAQ,CAAC,EACzC,IAAA,CAAK,OAAS;AAAA,IACb,KAAA;AAAA,IACA,OAAO,EAAe,EAAgB,CAAA,GAAM,KAAK;AAAA,IACjD,cAAc,EAAU,CAAG;AAAA,EAC7B,EAAE,GACH,CAAC,CAAe,CAAC,GAEd,IAAgB,CACpB;AAAA,IAAE,OAAO,EAAK;AAAA,IAAU,OAAO,EAAa;AAAA,EAAO,GACnD;AAAA,IAAE,OAAO,EAAK;AAAA,IAAO,OAAO,EAAa;AAAA,EAAM,CACjD;AACA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,KAAK;AAAA,MAAI,OAAO,EAAE,IAAI,IAAI;AAAA,IAAE;AAAA,cAAzC,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,OAAM;AAAA,MACN,WAAW;AAAA,MACX,UAAA,CAAW,GAAG,MAAU,KAAS,EAAgB,CAAK;AAAA,MACtD,IAAI;AAAA,QACF,OAAO;AAAA,QACP,2BAA2B;AAAA,UACzB,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,eAAe;AAAA,QACjB;AAAA,MACF;AAAA,MACA,OAAO,EAAU,SAAS,IAAe;AAAA,gBAExC,EAAc,IAAA,CAAK,EAAE,OAAA,GAAO,OAAA,EAAA,MAC3B,gBAAA,EAAC,GAAD;AAAA,QAA0B,IAAI,EAAE,OAAO,OAAO;AAAA,QAAU,OAAA;AAAA,kBACrD;AAAA,MACW,GAFK,CAEL,CACf;AAAA,IACgB,CAAA,GAElB,EAAU,SACT,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,sCAAsC,EAAE,IAAI,GAAG;AAAA,QAC/C,0BAA0B,EAAE,aAAa,gBAAgB;AAAA,QACzD,uBAAuB;AAAA,UAAE,WAAW;AAAA,UAAI,IAAI;AAAA,QAAG;AAAA,MACjD;AAAA,gBAEC,EAAU,IAAA,CAAK,EAAE,OAAA,GAAO,cAAA,EAAA,MACvB,gBAAA,EAAC,GAAD;AAAA,QAAU,SAAS;AAAA,QAAyB,iBAAiB,gBAAA,EAAC,GAAD,EAAA,UAAO,EAAY,CAAA;AAAA,kBAC9E,gBAAA,EAAC,GAAD;AAAA,UACE,SAAS;AAAA,UACT,WAAW,EAAE,SAAS,EAAE,WAAW,SAAS,EAAE;AAAA,QAC/C,CAAA;AAAA,MACO,GALoB,CAKpB,CACX;AAAA,IACG,CAAA,IAEN,gBAAA,EAAA,GAAA,EAAA,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QAAM,IAAI;AAAA,UAAE,OAAO;AAAA,UAAkB,GAAG;AAAA,UAAG,WAAW;AAAA,QAAS;AAAA,kBAAI,EAAK;AAAA,MAAiB,CAAA;AAAA,MACzF,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,aAAa,gBAAgB,EAAI,CAAA;AAAA,MAChD,gBAAA,EAAC,GAAD,EACE,IAAI,EACF,oBAAoB,EAAE,OAAO,IAAgB,SAAS,IAAI,EAC5D,EACD,CAAA;AAAA,IACD,EAAA,CAAA,CAEC;AAAA;AAEX"}
1
+ {"version":3,"file":"AnalysisDetails.es.js","names":[],"sources":["../../../src/investments/components/AnalysisDetails.tsx"],"sourcesContent":["import React from 'react'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemText from '@mui/material/ListItemText'\nimport Stack from '@mui/material/Stack'\nimport ToggleButton from '@mui/material/ToggleButton'\nimport ToggleButtonGroup from '@mui/material/ToggleButtonGroup'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useScreenSize } from '../../common'\nimport { AnalysisType } from '../../core/constants/Investments'\nimport { formatKey } from '../../core/utils/InvestmentUtil'\n\nimport { EmptyStateFooterComponent } from './EmptyStateFooterComponent'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\n\ninterface Copy {\n bonds: string\n equities: string\n empty_data: string\n}\n\ninterface AnalysisDetailsProps {\n analysisDetails: Record<string, number>\n analysisType: AnalysisType\n copy: Copy\n setAnalysisType: (type: AnalysisType) => void\n}\n\nconst AnalysisDetails: React.FC<AnalysisDetailsProps> = ({\n analysisDetails,\n analysisType,\n copy,\n setAnalysisType,\n}) => {\n const { isSmallMobile } = useScreenSize()\n\n const listItems = React.useMemo(() => {\n return Object.keys(analysisDetails)\n .filter((key) => analysisDetails[key] >= 1)\n .map((key) => ({\n key,\n value: formatCurrency(analysisDetails[key], '0,0'),\n formattedKey: formatKey(key),\n }))\n }, [analysisDetails])\n\n const toggleButtons = [\n { label: copy.equities, value: AnalysisType.Stocks },\n { label: copy.bonds, value: AnalysisType.Bonds },\n ]\n return (\n <Stack sx={{ gap: 12, width: { md: 412 } }}>\n <ToggleButtonGroup\n color=\"primary\"\n exclusive={true}\n onChange={(_, value) => value && setAnalysisType(value)}\n sx={{\n width: '100%',\n '& .MuiToggleButton-root': {\n color: 'secondary.main',\n fontWeight: 600,\n textTransform: 'capitalize',\n },\n }}\n value={listItems.length ? analysisType : -1}\n >\n {toggleButtons.map(({ label, value }) => (\n <ToggleButton key={value} sx={{ width: '100%' }} value={value}>\n {label}\n </ToggleButton>\n ))}\n </ToggleButtonGroup>\n\n {listItems.length ? (\n <List\n sx={{\n '& .MuiListItemSecondaryAction-root': { pr: 12 },\n '& .MuiListItem-divider': { borderColor: 'neutral.light' },\n '& .MuiListItem-root': { minHeight: 44, px: 12 },\n }}\n >\n {listItems.map(({ value, formattedKey }) => (\n <ListItem divider={true} key={formattedKey} secondaryAction={<Text>{value}</Text>}>\n <ListItemText\n primary={formattedKey}\n slotProps={{ primary: { fontStyle: 'normal' } }}\n />\n </ListItem>\n ))}\n </List>\n ) : (\n <>\n <Text sx={{ color: 'secondary.main', p: 8, textAlign: 'center' }}>{copy.empty_data}</Text>\n <Divider sx={{ borderColor: 'neutral.light' }} />\n <EmptyStateFooterComponent\n sx={{\n '.inner-container': { width: isSmallMobile ? '100%' : 364 },\n }}\n />\n </>\n )}\n </Stack>\n )\n}\n\nexport default AnalysisDetails\n"],"mappings":";;;;;;;;;;;;;;;AAgCA,IAAM,IAAA,CAAmD,EACvD,iBAAA,GACA,cAAA,GACA,MAAA,GACA,iBAAA,EAAA,MACI;AACJ,QAAM,EAAE,eAAA,EAAA,IAAkB,EAAc,GAElC,IAAY,EAAM,QAAA,MACf,OAAO,KAAK,CAAe,EAC/B,OAAA,CAAQ,MAAQ,EAAgB,CAAA,KAAQ,CAAC,EACzC,IAAA,CAAK,OAAS;AAAA,IACb,KAAA;AAAA,IACA,OAAO,EAAe,EAAgB,CAAA,GAAM,KAAK;AAAA,IACjD,cAAc,EAAU,CAAG;AAAA,EAC7B,EAAE,GACH,CAAC,CAAe,CAAC,GAEd,IAAgB,CACpB;AAAA,IAAE,OAAO,EAAK;AAAA,IAAU,OAAO,EAAa;AAAA,EAAO,GACnD;AAAA,IAAE,OAAO,EAAK;AAAA,IAAO,OAAO,EAAa;AAAA,EAAM,CACjD;AACA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,KAAK;AAAA,MAAI,OAAO,EAAE,IAAI,IAAI;AAAA,IAAE;AAAA,IAAzC,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,OAAM;AAAA,MACN,WAAW;AAAA,MACX,UAAA,CAAW,GAAG,MAAU,KAAS,EAAgB,CAAK;AAAA,MACtD,IAAI;AAAA,QACF,OAAO;AAAA,QACP,2BAA2B;AAAA,UACzB,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,eAAe;AAAA,QACjB;AAAA,MACF;AAAA,MACA,OAAO,EAAU,SAAS,IAAe;AAAA,MAExC,UAAA,EAAc,IAAA,CAAK,EAAE,OAAA,GAAO,OAAA,EAAA,MAC3B,gBAAA,EAAC,GAAD;AAAA,QAA0B,IAAI,EAAE,OAAO,OAAO;AAAA,QAAU,OAAA;AAAA,QACrD,UAAA;AAAA,MACW,GAFK,CAEL,CACf;AAAA,IACgB,CAAA,GAElB,EAAU,SACT,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,sCAAsC,EAAE,IAAI,GAAG;AAAA,QAC/C,0BAA0B,EAAE,aAAa,gBAAgB;AAAA,QACzD,uBAAuB;AAAA,UAAE,WAAW;AAAA,UAAI,IAAI;AAAA,QAAG;AAAA,MACjD;AAAA,MAEC,UAAA,EAAU,IAAA,CAAK,EAAE,OAAA,GAAO,cAAA,EAAA,MACvB,gBAAA,EAAC,GAAD;AAAA,QAAU,SAAS;AAAA,QAAyB,iBAAiB,gBAAA,EAAC,GAAD,EAAA,UAAO,EAAY,CAAA;AAAA,QAC9E,UAAA,gBAAA,EAAC,GAAD;AAAA,UACE,SAAS;AAAA,UACT,WAAW,EAAE,SAAS,EAAE,WAAW,SAAS,EAAE;AAAA,QAC/C,CAAA;AAAA,MACO,GALoB,CAKpB,CACX;AAAA,IACG,CAAA,IAEN,gBAAA,EAAA,GAAA,EAAA,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QAAM,IAAI;AAAA,UAAE,OAAO;AAAA,UAAkB,GAAG;AAAA,UAAG,WAAW;AAAA,QAAS;AAAA,QAAI,UAAA,EAAK;AAAA,MAAiB,CAAA;AAAA,MACzF,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,aAAa,gBAAgB,EAAI,CAAA;AAAA,MAChD,gBAAA,EAAC,GAAD,EACE,IAAI,EACF,oBAAoB,EAAE,OAAO,IAAgB,SAAS,IAAI,EAC5D,EACD,CAAA;AAAA,IACD,EAAA,CAAA,CAEC;AAAA;AAEX"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyStateFooterComponent.es.js","names":[],"sources":["../../../src/investments/components/EmptyStateFooterComponent.tsx"],"sourcesContent":["import Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { type SxProps } from '@mui/material/styles'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { ANALYTICS_EVENTS, useEvent, useGlobalCopyStore, useHoldingStore } from '../../common'\n\ninterface EmptyStateFooterComponentProps {\n sx?: SxProps\n}\n\nexport const EmptyStateFooterComponent = ({ sx = {} }: EmptyStateFooterComponentProps) => {\n const { investments: copy } = useGlobalCopyStore()\n const { onEvent } = useEvent()\n const { setShowConnectionsWidget } = useHoldingStore()\n\n return (\n <Stack sx={{ alignItems: 'center', gap: 24, height: 164, p: 24, width: '100%', ...sx }}>\n <Stack\n className=\"inner-container\"\n sx={{\n alignItems: 'center',\n gap: 8,\n width: '100%',\n textAlign: 'center',\n }}\n >\n <Text sx={{ fontWeight: 600 }} variant=\"body1\">\n {copy.overview.investment_accounts_footer}\n </Text>\n <Text\n sx={{\n color: 'text.secondary',\n fontWeight: 400,\n }}\n variant=\"subtitle2\"\n >\n {copy.overview.connect_more_accounts_description}\n </Text>\n </Stack>\n <Button\n onClick={() => {\n setShowConnectionsWidget(true)\n onEvent(ANALYTICS_EVENTS.ACCOUNTS_CLICK_CONNECT)\n }}\n sx={{ fontWeight: 600 }}\n variant=\"outlined\"\n >\n {copy.overview.connect_accounts}\n </Button>\n </Stack>\n )\n}\n"],"mappings":";;;;;;AAYA,IAAa,IAAA,CAA6B,EAAE,IAAA,IAAK,CAAC,EAAA,MAAwC;AACxF,QAAM,EAAE,aAAa,EAAA,IAAS,EAAmB,GAC3C,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,0BAAA,EAAA,IAA6B,EAAgB;AAErD,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,YAAY;AAAA,MAAU,KAAK;AAAA,MAAI,QAAQ;AAAA,MAAK,GAAG;AAAA,MAAI,OAAO;AAAA,MAAQ,GAAG;AAAA,IAAG;AAAA,cAArF,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,WAAU;AAAA,MACV,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,KAAK;AAAA,QACL,OAAO;AAAA,QACP,WAAW;AAAA,MACb;AAAA,gBAPF,CASE,gBAAA,EAAC,GAAD;AAAA,QAAM,IAAI,EAAE,YAAY,IAAI;AAAA,QAAG,SAAQ;AAAA,kBACpC,EAAK,SAAS;AAAA,MACX,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,OAAO;AAAA,UACP,YAAY;AAAA,QACd;AAAA,QACA,SAAQ;AAAA,kBAEP,EAAK,SAAS;AAAA,MACX,CAAA,CACD;AAAA,QACP,gBAAA,EAAC,GAAD;AAAA,MACE,SAAA,MAAe;AACb,QAAA,EAAyB,EAAI,GAC7B,EAAQ,EAAiB,sBAAsB;AAAA,MACjD;AAAA,MACA,IAAI,EAAE,YAAY,IAAI;AAAA,MACtB,SAAQ;AAAA,gBAEP,EAAK,SAAS;AAAA,IACT,CAAA,CACH;AAAA;AAEX"}
1
+ {"version":3,"file":"EmptyStateFooterComponent.es.js","names":[],"sources":["../../../src/investments/components/EmptyStateFooterComponent.tsx"],"sourcesContent":["import Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { type SxProps } from '@mui/material/styles'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { ANALYTICS_EVENTS, useEvent, useGlobalCopyStore, useHoldingStore } from '../../common'\n\ninterface EmptyStateFooterComponentProps {\n sx?: SxProps\n}\n\nexport const EmptyStateFooterComponent = ({ sx = {} }: EmptyStateFooterComponentProps) => {\n const { investments: copy } = useGlobalCopyStore()\n const { onEvent } = useEvent()\n const { setShowConnectionsWidget } = useHoldingStore()\n\n return (\n <Stack sx={{ alignItems: 'center', gap: 24, height: 164, p: 24, width: '100%', ...sx }}>\n <Stack\n className=\"inner-container\"\n sx={{\n alignItems: 'center',\n gap: 8,\n width: '100%',\n textAlign: 'center',\n }}\n >\n <Text sx={{ fontWeight: 600 }} variant=\"body1\">\n {copy.overview.investment_accounts_footer}\n </Text>\n <Text\n sx={{\n color: 'text.secondary',\n fontWeight: 400,\n }}\n variant=\"subtitle2\"\n >\n {copy.overview.connect_more_accounts_description}\n </Text>\n </Stack>\n <Button\n onClick={() => {\n setShowConnectionsWidget(true)\n onEvent(ANALYTICS_EVENTS.ACCOUNTS_CLICK_CONNECT)\n }}\n sx={{ fontWeight: 600 }}\n variant=\"outlined\"\n >\n {copy.overview.connect_accounts}\n </Button>\n </Stack>\n )\n}\n"],"mappings":";;;;;;AAYA,IAAa,IAAA,CAA6B,EAAE,IAAA,IAAK,CAAC,EAAA,MAAwC;AACxF,QAAM,EAAE,aAAa,EAAA,IAAS,EAAmB,GAC3C,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,0BAAA,EAAA,IAA6B,EAAgB;AAErD,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,YAAY;AAAA,MAAU,KAAK;AAAA,MAAI,QAAQ;AAAA,MAAK,GAAG;AAAA,MAAI,OAAO;AAAA,MAAQ,GAAG;AAAA,IAAG;AAAA,IAArF,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,WAAU;AAAA,MACV,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,KAAK;AAAA,QACL,OAAO;AAAA,QACP,WAAW;AAAA,MACb;AAAA,MAPF,UAAA,CASE,gBAAA,EAAC,GAAD;AAAA,QAAM,IAAI,EAAE,YAAY,IAAI;AAAA,QAAG,SAAQ;AAAA,QACpC,UAAA,EAAK,SAAS;AAAA,MACX,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,OAAO;AAAA,UACP,YAAY;AAAA,QACd;AAAA,QACA,SAAQ;AAAA,QAEP,UAAA,EAAK,SAAS;AAAA,MACX,CAAA,CACD;AAAA,IACP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,MACE,SAAA,MAAe;AACb,QAAA,EAAyB,EAAI,GAC7B,EAAQ,EAAiB,sBAAsB;AAAA,MACjD;AAAA,MACA,IAAI,EAAE,YAAY,IAAI;AAAA,MACtB,SAAQ;AAAA,MAEP,UAAA,EAAK,SAAS;AAAA,IACT,CAAA,CACH;AAAA;AAEX"}
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderCell.es.js","names":[],"sources":["../../../src/investments/components/HeaderCell.tsx"],"sourcesContent":["import { Text } from '@mxenabled/mxui'\nimport { GridColumnHeaderParams } from '@mui/x-data-grid'\nimport { Icon } from '@mxenabled/mx-icons'\nimport { Stack } from '@mui/material'\n\nexport const HeaderCell = (params: GridColumnHeaderParams) => (\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', gap: 4 }}>\n <Text sx={{ color: 'text.primary', fontWeight: 600, fontSize: 14 }} variant=\"body2\">\n {params.colDef.headerName}\n </Text>\n <Icon name={'expand_all'} size={12} />\n </Stack>\n)\n"],"mappings":";;;;AAKA,IAAa,IAAA,CAAc,MACzB,gBAAA,EAAC,GAAD;AAAA,EAAO,IAAI;AAAA,IAAE,YAAY;AAAA,IAAU,eAAe;AAAA,IAAO,KAAK;AAAA,EAAE;AAAA,YAAhE,CACE,gBAAA,EAAC,GAAD;AAAA,IAAM,IAAI;AAAA,MAAE,OAAO;AAAA,MAAgB,YAAY;AAAA,MAAK,UAAU;AAAA,IAAG;AAAA,IAAG,SAAQ;AAAA,cACzE,EAAO,OAAO;AAAA,EACX,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,IAAM,MAAM;AAAA,IAAc,MAAM;AAAA,EAAK,CAAA,CAChC"}
1
+ {"version":3,"file":"HeaderCell.es.js","names":[],"sources":["../../../src/investments/components/HeaderCell.tsx"],"sourcesContent":["import { Text } from '@mxenabled/mxui'\nimport { GridColumnHeaderParams } from '@mui/x-data-grid'\nimport { Icon } from '@mxenabled/mx-icons'\nimport { Stack } from '@mui/material'\n\nexport const HeaderCell = (params: GridColumnHeaderParams) => (\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', gap: 4 }}>\n <Text sx={{ color: 'text.primary', fontWeight: 600, fontSize: 14 }} variant=\"body2\">\n {params.colDef.headerName}\n </Text>\n <Icon name={'expand_all'} size={12} />\n </Stack>\n)\n"],"mappings":";;;;AAKA,IAAa,IAAA,CAAc,MACzB,gBAAA,EAAC,GAAD;AAAA,EAAO,IAAI;AAAA,IAAE,YAAY;AAAA,IAAU,eAAe;AAAA,IAAO,KAAK;AAAA,EAAE;AAAA,EAAhE,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IAAM,IAAI;AAAA,MAAE,OAAO;AAAA,MAAgB,YAAY;AAAA,MAAK,UAAU;AAAA,IAAG;AAAA,IAAG,SAAQ;AAAA,IACzE,UAAA,EAAO,OAAO;AAAA,EACX,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,IAAM,MAAM;AAAA,IAAc,MAAM;AAAA,EAAK,CAAA,CAChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HoldingDrawer.es.js","names":[],"sources":["../../../src/investments/components/HoldingDrawer.tsx"],"sourcesContent":["import React from 'react'\n\nimport { observer } from 'mobx-react-lite'\n\nimport Accordion from '@mui/material/Accordion'\nimport AccordionDetails from '@mui/material/AccordionDetails'\nimport AccordionSummary from '@mui/material/AccordionSummary'\nimport IconButton from '@mui/material/IconButton'\nimport TextField from '@mui/material/TextField'\nimport Stack from '@mui/system/Stack'\n\nimport { Icon } from '@mxenabled/mx-icons'\n\nimport { InstitutionLogo, Text } from '@mxenabled/mxui'\n\nimport { Drawer } from '../../common'\nimport { useGlobalCopyStore } from '../../common'\n\ninterface HoldingDetail {\n id: string\n description: string\n qty: number\n holding: string\n costBasis: number\n totalGainLoss: number\n marketValue: number\n}\n\ninterface InvestmentDetailsDrawerProps {\n accountHoldingsData: {\n accounts: any\n holdings: HoldingDetail[]\n }\n currentEditedCostBasis: string\n editingHoldingId: string | null\n handleCostBasisBlur: (id: string) => void\n handleCostBasisChange: (event: React.ChangeEvent<HTMLInputElement>) => void\n handleCostBasisClick: (holdingId: string, currentCostBasis: number) => void\n handleCostBasisKeyDown: (event: React.KeyboardEvent<HTMLInputElement>, id: string) => void\n isOpen: boolean\n onClose: () => void\n}\n\nconst InvestmentDetailsDrawer: React.FC<InvestmentDetailsDrawerProps> = ({\n accountHoldingsData,\n currentEditedCostBasis,\n editingHoldingId,\n handleCostBasisBlur,\n handleCostBasisClick,\n handleCostBasisChange,\n handleCostBasisKeyDown,\n isOpen,\n onClose,\n}) => {\n const { investments: copy } = useGlobalCopyStore()\n const [expandedStates, setExpandedStates] = React.useState<Record<string, boolean>>({})\n\n const handleAccordionChange =\n (holdingId: string) => (_event: React.SyntheticEvent, isExpanded: boolean) => {\n setExpandedStates((prevStates) => ({\n ...prevStates,\n [holdingId]: isExpanded,\n }))\n }\n\n return (\n <Drawer\n ariaLabelClose={copy.overview.close_investment_drawer}\n isOpen={isOpen}\n onClose={onClose}\n title={copy.overview.investment_details}\n >\n <Stack sx={{ gap: 8, p: 24 }}>\n <InstitutionLogo\n alt={accountHoldingsData.accounts.institutionName || ''}\n institutionGuid={accountHoldingsData.accounts.institution_guid || ''}\n size={64}\n />\n <Text sx={{ color: 'text.primary' }} variant=\"body2\">\n {accountHoldingsData.accounts.memberName}\n </Text>\n <Text sx={{ color: 'text.primary' }} variant=\"h2\">\n {accountHoldingsData.accounts.user_name || accountHoldingsData.accounts.name}\n </Text>\n\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', justifyContent: 'space-between' }}>\n <Text sx={{ color: 'text.primary', fontWeight: 600 }} variant=\"body1\">\n {copy.overview.current_balance}\n </Text>\n\n <Text sx={{ color: 'text.primary', fontWeight: 600 }} variant=\"body1\">\n {accountHoldingsData.accounts.balance?.toLocaleString('en-US', {\n currency: 'USD',\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: 'currency',\n })}\n </Text>\n </Stack>\n </Stack>\n\n <Stack\n sx={{\n bgcolor: 'background.default',\n flexDirection: 'row',\n justifyContent: 'space-between',\n px: 24,\n py: 10,\n }}\n >\n <Text sx={{ color: 'text.primary', fontWeight: 700 }} variant=\"caption\">\n {copy.overview.holding}\n </Text>\n <Text sx={{ color: 'text.primary', fontWeight: 700 }} variant=\"caption\">\n {copy.overview.market_value}\n </Text>\n </Stack>\n {accountHoldingsData.holdings?.map((holding, index) => {\n const isCurrentlyEditing = editingHoldingId === holding.id\n return (\n <Accordion\n disableGutters={true}\n expanded={expandedStates[holding.id] === true}\n key={holding.id}\n onChange={holding ? handleAccordionChange(holding?.id) : () => {}}\n sx={{\n ':before': index === 0 ? { opacity: 0 } : {},\n '.MuiAccordionDetails-root': { p: 0 },\n }}\n >\n <AccordionSummary\n aria-controls=\"panel1a-content\"\n id=\"panel1a-header\"\n sx={[\n { height: 64 },\n expandedStates[holding.id] &&\n index > 0 && {\n borderTop: 1,\n borderColor: 'divider',\n },\n ]}\n >\n <Stack sx={{ flexDirection: 'row', width: '100%' }}>\n <div style={{ width: 24 }} />\n <Stack\n sx={[\n {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n pr: 24,\n py: 14,\n width: '100%',\n },\n expandedStates[holding.id] && {\n borderBottom: 1,\n borderColor: 'divider',\n },\n ]}\n >\n <Stack\n sx={{\n alignItems: 'center',\n flex: 1,\n flexDirection: 'row',\n gap: 12,\n minWidth: 0,\n }}\n >\n <Stack sx={{ minWidth: 0, overflow: 'hidden' }}>\n <Text\n sx={{\n fontWeight: 600,\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 1,\n overflow: 'hidden',\n overflowWrap: 'anywhere',\n }}\n variant=\"body1\"\n >\n {holding.holding}\n </Text>\n <Text\n sx={{\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n overflow: 'hidden',\n overflowWrap: 'anywhere',\n }}\n variant=\"caption\"\n >\n {holding.description}\n </Text>\n </Stack>\n </Stack>\n\n <Stack\n sx={{\n alignItems: 'center',\n flexShrink: 0,\n flexDirection: 'row',\n gap: 12,\n justifyContent: 'flex-end',\n }}\n >\n <Stack>\n <Text sx={{ fontWeight: 600, textAlign: 'right' }} variant={'body1'}>\n {holding.marketValue?.toLocaleString('en-US', {\n currency: 'USD',\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: 'currency',\n })}\n </Text>\n <Stack sx={{ alignItems: 'center', gap: 2, flexDirection: 'row' }}>\n {holding.totalGainLoss !== 0 && (\n <Icon\n name={holding.totalGainLoss >= 0 ? 'trending_up' : 'trending_down'}\n size={12}\n sx={{\n verticalAlign: 'middle',\n mr: 1,\n color: holding.totalGainLoss >= 0 ? 'success.main' : 'grey.700',\n }}\n />\n )}\n <Text\n sx={{\n color: holding.totalGainLoss <= 0 ? 'grey.700' : 'success.main',\n fontWeight: holding.totalGainLoss <= 0 ? 400 : 700,\n }}\n variant=\"caption\"\n >\n {holding.costBasis\n ? `${((holding.totalGainLoss / holding.costBasis) * 100).toFixed(2)}%`\n : '0.00%'}\n </Text>\n <Text sx={{ color: 'grey.700' }} variant=\"caption\">\n |\n </Text>\n <Text\n sx={{\n color: holding.totalGainLoss <= 0 ? 'grey.700' : 'success.main',\n fontWeight: holding.totalGainLoss <= 0 ? 400 : 700,\n }}\n variant=\"caption\"\n >\n {Math.abs(holding.totalGainLoss).toLocaleString('en-US', {\n currency: 'USD',\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: 'currency',\n })}\n </Text>\n </Stack>\n </Stack>\n\n <Icon\n name={expandedStates[holding.id] ? 'expand_less' : 'expand_more'}\n size={20}\n />\n </Stack>\n </Stack>\n </Stack>\n </AccordionSummary>\n <AccordionDetails>\n <Stack\n sx={{\n alignItems: 'center',\n bgcolor: 'background.default',\n flexDirection: 'row',\n pl: 24,\n }}\n >\n <Stack sx={{ width: 32 }} />\n <Stack sx={{ flex: 1 }}>\n <Stack\n sx={{\n alignItems: 'center',\n borderBottom: 1,\n borderColor: 'divider',\n flexDirection: 'row',\n height: 48,\n justifyContent: 'space-between',\n pr: 24,\n }}\n >\n <Text sx={{ color: 'text.primary' }} variant=\"body1\">\n {copy.overview.quantity}\n </Text>\n <Text sx={{ color: 'text.primary' }} variant=\"body2\">\n {holding.qty}\n </Text>\n </Stack>\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n height: 48,\n justifyContent: 'space-between',\n pr: 24,\n }}\n >\n <Text sx={{ color: 'text.primary' }} variant=\"body1\">\n {copy.overview.cost_basis_header}\n </Text>\n\n <Stack\n direction=\"row\"\n sx={{\n alignItems: 'center',\n gap: 4,\n }}\n >\n {isCurrentlyEditing ? (\n <TextField\n autoFocus={true}\n onBlur={() => handleCostBasisBlur(holding.id)}\n onChange={handleCostBasisChange}\n onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) =>\n handleCostBasisKeyDown(e, holding.id)\n }\n size=\"small\"\n sx={{\n fontSize: 14,\n width: 58,\n '& .MuiInputBase-input': {\n padding: '4px 0',\n textAlign: 'center',\n fontWeight: 600,\n color: 'text.primary',\n },\n '& .MuiOutlinedInput-notchedOutline': {\n border: 'none',\n },\n }}\n value={currentEditedCostBasis}\n />\n ) : (\n <Text sx={{ fontSize: 14, width: 58 }} variant=\"body2\">\n {holding.costBasis?.toLocaleString('en-US', {\n currency: 'USD',\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: 'currency',\n })}\n </Text>\n )}\n\n <IconButton\n onClick={() => handleCostBasisClick(holding.id, holding.costBasis)}\n sx={{ minWidth: 16, minHeight: 16 }}\n >\n <Icon name={'stylus'} size={16} sx={{ color: 'grey.700' }} />\n </IconButton>\n </Stack>\n </Stack>\n </Stack>\n </Stack>\n </AccordionDetails>\n </Accordion>\n )\n })}\n </Drawer>\n )\n}\n\nexport default observer(InvestmentDetailsDrawer)\n"],"mappings":"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"}
1
+ {"version":3,"file":"HoldingDrawer.es.js","names":[],"sources":["../../../src/investments/components/HoldingDrawer.tsx"],"sourcesContent":["import React from 'react'\n\nimport { observer } from 'mobx-react-lite'\n\nimport Accordion from '@mui/material/Accordion'\nimport AccordionDetails from '@mui/material/AccordionDetails'\nimport AccordionSummary from '@mui/material/AccordionSummary'\nimport IconButton from '@mui/material/IconButton'\nimport TextField from '@mui/material/TextField'\nimport Stack from '@mui/system/Stack'\n\nimport { Icon } from '@mxenabled/mx-icons'\n\nimport { InstitutionLogo, Text } from '@mxenabled/mxui'\n\nimport { Drawer } from '../../common'\nimport { useGlobalCopyStore } from '../../common'\n\ninterface HoldingDetail {\n id: string\n description: string\n qty: number\n holding: string\n costBasis: number\n totalGainLoss: number\n marketValue: number\n}\n\ninterface InvestmentDetailsDrawerProps {\n accountHoldingsData: {\n accounts: any\n holdings: HoldingDetail[]\n }\n currentEditedCostBasis: string\n editingHoldingId: string | null\n handleCostBasisBlur: (id: string) => void\n handleCostBasisChange: (event: React.ChangeEvent<HTMLInputElement>) => void\n handleCostBasisClick: (holdingId: string, currentCostBasis: number) => void\n handleCostBasisKeyDown: (event: React.KeyboardEvent<HTMLInputElement>, id: string) => void\n isOpen: boolean\n onClose: () => void\n}\n\nconst InvestmentDetailsDrawer: React.FC<InvestmentDetailsDrawerProps> = ({\n accountHoldingsData,\n currentEditedCostBasis,\n editingHoldingId,\n handleCostBasisBlur,\n handleCostBasisClick,\n handleCostBasisChange,\n handleCostBasisKeyDown,\n isOpen,\n onClose,\n}) => {\n const { investments: copy } = useGlobalCopyStore()\n const [expandedStates, setExpandedStates] = React.useState<Record<string, boolean>>({})\n\n const handleAccordionChange =\n (holdingId: string) => (_event: React.SyntheticEvent, isExpanded: boolean) => {\n setExpandedStates((prevStates) => ({\n ...prevStates,\n [holdingId]: isExpanded,\n }))\n }\n\n return (\n <Drawer\n ariaLabelClose={copy.overview.close_investment_drawer}\n isOpen={isOpen}\n onClose={onClose}\n title={copy.overview.investment_details}\n >\n <Stack sx={{ gap: 8, p: 24 }}>\n <InstitutionLogo\n alt={accountHoldingsData.accounts.institutionName || ''}\n institutionGuid={accountHoldingsData.accounts.institution_guid || ''}\n size={64}\n />\n <Text sx={{ color: 'text.primary' }} variant=\"body2\">\n {accountHoldingsData.accounts.memberName}\n </Text>\n <Text sx={{ color: 'text.primary' }} variant=\"h2\">\n {accountHoldingsData.accounts.user_name || accountHoldingsData.accounts.name}\n </Text>\n\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', justifyContent: 'space-between' }}>\n <Text sx={{ color: 'text.primary', fontWeight: 600 }} variant=\"body1\">\n {copy.overview.current_balance}\n </Text>\n\n <Text sx={{ color: 'text.primary', fontWeight: 600 }} variant=\"body1\">\n {accountHoldingsData.accounts.balance?.toLocaleString('en-US', {\n currency: 'USD',\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: 'currency',\n })}\n </Text>\n </Stack>\n </Stack>\n\n <Stack\n sx={{\n bgcolor: 'background.default',\n flexDirection: 'row',\n justifyContent: 'space-between',\n px: 24,\n py: 10,\n }}\n >\n <Text sx={{ color: 'text.primary', fontWeight: 700 }} variant=\"caption\">\n {copy.overview.holding}\n </Text>\n <Text sx={{ color: 'text.primary', fontWeight: 700 }} variant=\"caption\">\n {copy.overview.market_value}\n </Text>\n </Stack>\n {accountHoldingsData.holdings?.map((holding, index) => {\n const isCurrentlyEditing = editingHoldingId === holding.id\n return (\n <Accordion\n disableGutters={true}\n expanded={expandedStates[holding.id] === true}\n key={holding.id}\n onChange={holding ? handleAccordionChange(holding?.id) : () => {}}\n sx={{\n ':before': index === 0 ? { opacity: 0 } : {},\n '.MuiAccordionDetails-root': { p: 0 },\n }}\n >\n <AccordionSummary\n aria-controls=\"panel1a-content\"\n id=\"panel1a-header\"\n sx={[\n { height: 64 },\n expandedStates[holding.id] &&\n index > 0 && {\n borderTop: 1,\n borderColor: 'divider',\n },\n ]}\n >\n <Stack sx={{ flexDirection: 'row', width: '100%' }}>\n <div style={{ width: 24 }} />\n <Stack\n sx={[\n {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n pr: 24,\n py: 14,\n width: '100%',\n },\n expandedStates[holding.id] && {\n borderBottom: 1,\n borderColor: 'divider',\n },\n ]}\n >\n <Stack\n sx={{\n alignItems: 'center',\n flex: 1,\n flexDirection: 'row',\n gap: 12,\n minWidth: 0,\n }}\n >\n <Stack sx={{ minWidth: 0, overflow: 'hidden' }}>\n <Text\n sx={{\n fontWeight: 600,\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 1,\n overflow: 'hidden',\n overflowWrap: 'anywhere',\n }}\n variant=\"body1\"\n >\n {holding.holding}\n </Text>\n <Text\n sx={{\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: 2,\n overflow: 'hidden',\n overflowWrap: 'anywhere',\n }}\n variant=\"caption\"\n >\n {holding.description}\n </Text>\n </Stack>\n </Stack>\n\n <Stack\n sx={{\n alignItems: 'center',\n flexShrink: 0,\n flexDirection: 'row',\n gap: 12,\n justifyContent: 'flex-end',\n }}\n >\n <Stack>\n <Text sx={{ fontWeight: 600, textAlign: 'right' }} variant={'body1'}>\n {holding.marketValue?.toLocaleString('en-US', {\n currency: 'USD',\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: 'currency',\n })}\n </Text>\n <Stack sx={{ alignItems: 'center', gap: 2, flexDirection: 'row' }}>\n {holding.totalGainLoss !== 0 && (\n <Icon\n name={holding.totalGainLoss >= 0 ? 'trending_up' : 'trending_down'}\n size={12}\n sx={{\n verticalAlign: 'middle',\n mr: 1,\n color: holding.totalGainLoss >= 0 ? 'success.main' : 'grey.700',\n }}\n />\n )}\n <Text\n sx={{\n color: holding.totalGainLoss <= 0 ? 'grey.700' : 'success.main',\n fontWeight: holding.totalGainLoss <= 0 ? 400 : 700,\n }}\n variant=\"caption\"\n >\n {holding.costBasis\n ? `${((holding.totalGainLoss / holding.costBasis) * 100).toFixed(2)}%`\n : '0.00%'}\n </Text>\n <Text sx={{ color: 'grey.700' }} variant=\"caption\">\n |\n </Text>\n <Text\n sx={{\n color: holding.totalGainLoss <= 0 ? 'grey.700' : 'success.main',\n fontWeight: holding.totalGainLoss <= 0 ? 400 : 700,\n }}\n variant=\"caption\"\n >\n {Math.abs(holding.totalGainLoss).toLocaleString('en-US', {\n currency: 'USD',\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: 'currency',\n })}\n </Text>\n </Stack>\n </Stack>\n\n <Icon\n name={expandedStates[holding.id] ? 'expand_less' : 'expand_more'}\n size={20}\n />\n </Stack>\n </Stack>\n </Stack>\n </AccordionSummary>\n <AccordionDetails>\n <Stack\n sx={{\n alignItems: 'center',\n bgcolor: 'background.default',\n flexDirection: 'row',\n pl: 24,\n }}\n >\n <Stack sx={{ width: 32 }} />\n <Stack sx={{ flex: 1 }}>\n <Stack\n sx={{\n alignItems: 'center',\n borderBottom: 1,\n borderColor: 'divider',\n flexDirection: 'row',\n height: 48,\n justifyContent: 'space-between',\n pr: 24,\n }}\n >\n <Text sx={{ color: 'text.primary' }} variant=\"body1\">\n {copy.overview.quantity}\n </Text>\n <Text sx={{ color: 'text.primary' }} variant=\"body2\">\n {holding.qty}\n </Text>\n </Stack>\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n height: 48,\n justifyContent: 'space-between',\n pr: 24,\n }}\n >\n <Text sx={{ color: 'text.primary' }} variant=\"body1\">\n {copy.overview.cost_basis_header}\n </Text>\n\n <Stack\n direction=\"row\"\n sx={{\n alignItems: 'center',\n gap: 4,\n }}\n >\n {isCurrentlyEditing ? (\n <TextField\n autoFocus={true}\n onBlur={() => handleCostBasisBlur(holding.id)}\n onChange={handleCostBasisChange}\n onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) =>\n handleCostBasisKeyDown(e, holding.id)\n }\n size=\"small\"\n sx={{\n fontSize: 14,\n width: 58,\n '& .MuiInputBase-input': {\n padding: '4px 0',\n textAlign: 'center',\n fontWeight: 600,\n color: 'text.primary',\n },\n '& .MuiOutlinedInput-notchedOutline': {\n border: 'none',\n },\n }}\n value={currentEditedCostBasis}\n />\n ) : (\n <Text sx={{ fontSize: 14, width: 58 }} variant=\"body2\">\n {holding.costBasis?.toLocaleString('en-US', {\n currency: 'USD',\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: 'currency',\n })}\n </Text>\n )}\n\n <IconButton\n onClick={() => handleCostBasisClick(holding.id, holding.costBasis)}\n sx={{ minWidth: 16, minHeight: 16 }}\n >\n <Icon name={'stylus'} size={16} sx={{ color: 'grey.700' }} />\n </IconButton>\n </Stack>\n </Stack>\n </Stack>\n </Stack>\n </AccordionDetails>\n </Accordion>\n )\n })}\n </Drawer>\n )\n}\n\nexport default observer(InvestmentDetailsDrawer)\n"],"mappings":"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"}