@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,42 +1,45 @@
1
- import { useGlobalUiStore as N, useNotificationStore as g } from "../../common/context/hooks.es.js";
2
- import { NotificationTypes as v } from "../../core/types/Notification.es.js";
3
- import { getInsightNotificationTypeValues as x, shouldShowDate as y } from "../../core/utils/NotificationUtils.es.js";
4
- import L from "../../common/components/Loader.es.js";
5
- import _ from "./DateRow.es.js";
6
- import b from "./NotificationCard.es.js";
7
- import { NotificationEmptyState as I } from "./NotificationsEmptyState.es.js";
8
- import { useEffect as S } from "react";
9
- import { observer as k } from "mobx-react-lite";
10
- import { Fragment as w, jsx as t, jsxs as e } from "react/jsx-runtime";
1
+ import { useGlobalUiStore as g, useNotificationStore as v } from "../../common/context/hooks.es.js";
2
+ import { NotificationTypes as x } from "../../core/types/Notification.es.js";
3
+ import { getInsightNotificationTypeValues as y, shouldShowDate as L } from "../../core/utils/NotificationUtils.es.js";
4
+ import _ from "../../common/components/Loader.es.js";
5
+ import b from "./DateRow.es.js";
6
+ import w from "./NotificationCard.es.js";
7
+ import { NotificationEmptyState as D } from "./NotificationsEmptyState.es.js";
8
+ import { useEffect as I } from "react";
9
+ import { observer as S } from "mobx-react-lite";
10
+ import { Fragment as k, jsx as t, jsxs as r } from "react/jsx-runtime";
11
11
  import s from "@mui/material/Box";
12
12
  import C from "@mui/material/Divider";
13
- import D from "@mui/material/List";
14
- var T = ({ notificationTypes: a, onClick: n, onManageNotifications: m }) => {
15
- const { isLoading: f, loadNotifications: l, markAllAsViewed: c, recentNotifications: d } = g(), { isInitialized: p } = N(), h = (i) => {
13
+ import T from "@mui/material/List";
14
+ var j = ({ notificationTypes: a, onClick: n, onManageNotifications: m }) => {
15
+ const { isLoading: f, loadNotifications: c, markAllAsViewed: l, recentNotifications: d } = v(), { isInitialized: p } = g(), h = (i) => {
16
16
  n?.(i);
17
17
  };
18
- S(() => {
19
- l().then(() => c()).finally();
18
+ I(() => {
19
+ c().then(() => l()).finally();
20
20
  }, []);
21
- const u = a?.includes(v.Insights);
22
- if (!p || f) return /* @__PURE__ */ t(L, {});
23
- const o = d.slice().sort((i, r) => r.delivered_at - i.delivered_at).filter((i) => u ? x().has(i.notification_type) : !0);
24
- return /* @__PURE__ */ e(w, { children: [o.length === 0 && /* @__PURE__ */ t(I, { onManageNotifications: m }), /* @__PURE__ */ t(D, {
21
+ const u = a?.includes(x.Insights);
22
+ if (!p || f) return /* @__PURE__ */ t(_, {});
23
+ const o = d.slice().sort((i, e) => e.delivered_at - i.delivered_at).filter((i) => u ? y().has(i.notification_type) : !0);
24
+ return /* @__PURE__ */ r(k, { children: [o.length === 0 && /* @__PURE__ */ t(D, { onManageNotifications: m }), /* @__PURE__ */ t(T, {
25
25
  sx: { p: 16 },
26
- children: o.map((i, r) => /* @__PURE__ */ e(s, {
27
- sx: { mb: 12 },
28
- children: [y(r, o) && /* @__PURE__ */ e(s, {
26
+ children: o.map((i, e) => {
27
+ const N = L(e, o);
28
+ return /* @__PURE__ */ r(s, {
29
29
  sx: { mb: 12 },
30
- children: [/* @__PURE__ */ t(_, { date: i.delivered_at }), /* @__PURE__ */ t(C, {})]
31
- }), /* @__PURE__ */ t(b, {
32
- notification: i,
33
- onClick: h
34
- })]
35
- }, i.guid))
30
+ children: [N && /* @__PURE__ */ r(s, {
31
+ sx: { mb: 12 },
32
+ children: [/* @__PURE__ */ t(b, { date: i.delivered_at }), /* @__PURE__ */ t(C, {})]
33
+ }), /* @__PURE__ */ t(w, {
34
+ notification: i,
35
+ onClick: h
36
+ })]
37
+ }, i.guid);
38
+ })
36
39
  })] });
37
- }, M = k(T);
40
+ }, O = S(j);
38
41
  export {
39
- M as default
42
+ O as default
40
43
  };
41
44
 
42
45
  //# sourceMappingURL=NotificationList.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationList.es.js","names":[],"sources":["../../../src/notifications/components/NotificationList.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\n\nimport {\n shouldShowDate,\n getInsightNotificationTypeValues,\n} from '../../core/utils/NotificationUtils'\nimport {\n type Notification,\n NotificationTypes,\n NotificationTypes as NotificationTypesEnum,\n} from '../../core'\n\nimport { Loader, useGlobalUiStore, useNotificationStore } from '../../common'\n\nimport DateRow from './DateRow'\nimport NotificationCard from './NotificationCard'\nimport { NotificationEmptyState } from './NotificationsEmptyState'\n\nexport interface NotificationListProps {\n notificationTypes?: NotificationTypes[]\n onClick?: (notification: Notification) => void\n onManageNotifications: () => void\n}\n\nconst NotificationList: React.FC<NotificationListProps> = ({\n notificationTypes,\n onClick,\n onManageNotifications,\n}) => {\n const { isLoading, loadNotifications, markAllAsViewed, recentNotifications } =\n useNotificationStore()\n const { isInitialized } = useGlobalUiStore()\n\n const handleClick = (notification: Notification) => {\n onClick?.(notification)\n }\n\n useEffect(() => {\n loadNotifications()\n .then(() => markAllAsViewed())\n .finally()\n }, [])\n\n const isNotificationTypesInsights = notificationTypes?.includes(NotificationTypesEnum.Insights)\n\n if (!isInitialized || isLoading) {\n return <Loader />\n }\n\n const filteredNotifications = recentNotifications\n .slice()\n .sort((a, b) => b.delivered_at - a.delivered_at)\n .filter((notification) =>\n isNotificationTypesInsights\n ? getInsightNotificationTypeValues().has(notification.notification_type)\n : true,\n )\n\n return (\n <>\n {filteredNotifications.length === 0 && (\n <NotificationEmptyState onManageNotifications={onManageNotifications} />\n )}\n <List sx={{ p: 16 }}>\n {filteredNotifications.map((notification, index) => {\n const showDate = shouldShowDate(index, filteredNotifications)\n\n return (\n <Box key={notification.guid} sx={{ mb: 12 }}>\n {showDate && (\n <Box sx={{ mb: 12 }}>\n <DateRow date={notification.delivered_at} />\n <Divider />\n </Box>\n )}\n <NotificationCard notification={notification} onClick={handleClick} />\n </Box>\n )\n })}\n </List>\n </>\n )\n}\n\nexport default observer(NotificationList)\n"],"mappings":";;;;;;;;;;;;;AA6BA,IAAM,IAAA,CAAqD,EACzD,mBAAA,GACA,SAAA,GACA,uBAAA,EAAA,MACI;AACJ,QAAM,EAAE,WAAA,GAAW,mBAAA,GAAmB,iBAAA,GAAiB,qBAAA,EAAA,IACrD,EAAqB,GACjB,EAAE,eAAA,EAAA,IAAkB,EAAiB,GAErC,IAAA,CAAe,MAA+B;AAClD,IAAA,IAAU,CAAY;AAAA,EACxB;AAEA,EAAA,EAAA,MAAgB;AACd,IAAA,EAAkB,EACf,KAAA,MAAW,EAAgB,CAAC,EAC5B,QAAQ;AAAA,EACb,GAAG,CAAC,CAAC;AAEL,QAAM,IAA8B,GAAmB,SAAS,EAAsB,QAAQ;AAE9F,MAAI,CAAC,KAAiB,EACpB,QAAO,gBAAA,EAAC,GAAD,CAAS,CAAA;AAGlB,QAAM,IAAwB,EAC3B,MAAM,EACN,KAAA,CAAM,GAAG,MAAM,EAAE,eAAe,EAAE,YAAY,EAC9C,OAAA,CAAQ,MACP,IACI,EAAiC,EAAE,IAAI,EAAa,iBAAiB,IACrE,EACN;AAEF,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA,CACG,EAAsB,WAAW,KAChC,gBAAA,EAAC,GAAD,EAA+C,uBAAA,EAAwB,CAAA,GAEzE,gBAAA,EAAC,GAAD;AAAA,IAAM,IAAI,EAAE,GAAG,GAAG;AAAA,cACf,EAAsB,IAAA,CAAK,GAAc,MAItC,gBAAA,EAAC,GAAD;AAAA,MAA6B,IAAI,EAAE,IAAI,GAAG;AAAA,gBAA1C,CAHe,EAAe,GAAO,CAIlC,KACC,gBAAA,EAAC,GAAD;AAAA,QAAK,IAAI,EAAE,IAAI,GAAG;AAAA,kBAAlB,CACE,gBAAA,EAAC,GAAD,EAAS,MAAM,EAAa,aAAe,CAAA,GAC3C,gBAAA,EAAC,GAAD,CAAU,CAAA,CACP;AAAA,UAEP,gBAAA,EAAC,GAAD;AAAA,QAAgC,cAAA;AAAA,QAAc,SAAS;AAAA,MAAc,CAAA,CAClE;AAAA,OARK,EAAa,IAQlB,CAER;AAAA,EACG,CAAA,CACN,EAAA,CAAA;AAEN,GAEA,IAAe,EAAS,CAAgB"}
1
+ {"version":3,"file":"NotificationList.es.js","names":[],"sources":["../../../src/notifications/components/NotificationList.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\n\nimport {\n shouldShowDate,\n getInsightNotificationTypeValues,\n} from '../../core/utils/NotificationUtils'\nimport {\n type Notification,\n NotificationTypes,\n NotificationTypes as NotificationTypesEnum,\n} from '../../core'\n\nimport { Loader, useGlobalUiStore, useNotificationStore } from '../../common'\n\nimport DateRow from './DateRow'\nimport NotificationCard from './NotificationCard'\nimport { NotificationEmptyState } from './NotificationsEmptyState'\n\nexport interface NotificationListProps {\n notificationTypes?: NotificationTypes[]\n onClick?: (notification: Notification) => void\n onManageNotifications: () => void\n}\n\nconst NotificationList: React.FC<NotificationListProps> = ({\n notificationTypes,\n onClick,\n onManageNotifications,\n}) => {\n const { isLoading, loadNotifications, markAllAsViewed, recentNotifications } =\n useNotificationStore()\n const { isInitialized } = useGlobalUiStore()\n\n const handleClick = (notification: Notification) => {\n onClick?.(notification)\n }\n\n useEffect(() => {\n loadNotifications()\n .then(() => markAllAsViewed())\n .finally()\n }, [])\n\n const isNotificationTypesInsights = notificationTypes?.includes(NotificationTypesEnum.Insights)\n\n if (!isInitialized || isLoading) {\n return <Loader />\n }\n\n const filteredNotifications = recentNotifications\n .slice()\n .sort((a, b) => b.delivered_at - a.delivered_at)\n .filter((notification) =>\n isNotificationTypesInsights\n ? getInsightNotificationTypeValues().has(notification.notification_type)\n : true,\n )\n\n return (\n <>\n {filteredNotifications.length === 0 && (\n <NotificationEmptyState onManageNotifications={onManageNotifications} />\n )}\n <List sx={{ p: 16 }}>\n {filteredNotifications.map((notification, index) => {\n const showDate = shouldShowDate(index, filteredNotifications)\n\n return (\n <Box key={notification.guid} sx={{ mb: 12 }}>\n {showDate && (\n <Box sx={{ mb: 12 }}>\n <DateRow date={notification.delivered_at} />\n <Divider />\n </Box>\n )}\n <NotificationCard notification={notification} onClick={handleClick} />\n </Box>\n )\n })}\n </List>\n </>\n )\n}\n\nexport default observer(NotificationList)\n"],"mappings":";;;;;;;;;;;;;AA6BA,IAAM,IAAA,CAAqD,EACzD,mBAAA,GACA,SAAA,GACA,uBAAA,EAAA,MACI;AACJ,QAAM,EAAE,WAAA,GAAW,mBAAA,GAAmB,iBAAA,GAAiB,qBAAA,EAAA,IACrD,EAAqB,GACjB,EAAE,eAAA,EAAA,IAAkB,EAAiB,GAErC,IAAA,CAAe,MAA+B;AAClD,IAAA,IAAU,CAAY;AAAA,EACxB;AAEA,EAAA,EAAA,MAAgB;AACd,IAAA,EAAkB,EACf,KAAA,MAAW,EAAgB,CAAC,EAC5B,QAAQ;AAAA,EACb,GAAG,CAAC,CAAC;AAEL,QAAM,IAA8B,GAAmB,SAAS,EAAsB,QAAQ;AAE9F,MAAI,CAAC,KAAiB,EACpB,QAAO,gBAAA,EAAC,GAAD,CAAS,CAAA;AAGlB,QAAM,IAAwB,EAC3B,MAAM,EACN,KAAA,CAAM,GAAG,MAAM,EAAE,eAAe,EAAE,YAAY,EAC9C,OAAA,CAAQ,MACP,IACI,EAAiC,EAAE,IAAI,EAAa,iBAAiB,IACrE,EACN;AAEF,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA,CACG,EAAsB,WAAW,KAChC,gBAAA,EAAC,GAAD,EAA+C,uBAAA,EAAwB,CAAA,GAEzE,gBAAA,EAAC,GAAD;AAAA,IAAM,IAAI,EAAE,GAAG,GAAG;AAAA,IACf,UAAA,EAAsB,IAAA,CAAK,GAAc,MAAU;AAClD,YAAM,IAAW,EAAe,GAAO,CAAqB;AAE5D,aACE,gBAAA,EAAC,GAAD;AAAA,QAA6B,IAAI,EAAE,IAAI,GAAG;AAAA,QAA1C,UAAA,CACG,KACC,gBAAA,EAAC,GAAD;AAAA,UAAK,IAAI,EAAE,IAAI,GAAG;AAAA,UAAlB,UAAA,CACE,gBAAA,EAAC,GAAD,EAAS,MAAM,EAAa,aAAe,CAAA,GAC3C,gBAAA,EAAC,GAAD,CAAU,CAAA,CACP;AAAA,QAEP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,UAAgC,cAAA;AAAA,UAAc,SAAS;AAAA,QAAc,CAAA,CAClE;AAAA,MARK,GAAA,EAAa,IAQlB;AAAA,IAET,CAAC;AAAA,EACG,CAAA,CACN,EAAA,CAAA;AAEN,GAEA,IAAe,EAAS,CAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsEmptyState.es.js","names":[],"sources":["../../../src/notifications/components/NotificationsEmptyState.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport { Icon } from '@mxenabled/mx-icons'\nimport { Text } from '@mxenabled/mxui'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { useGlobalCopyStore } from '../../common'\n\ninterface NotificationEmptyStateProps {\n onManageNotifications: () => void\n}\n\nexport const NotificationEmptyState = observer(\n ({ onManageNotifications }: NotificationEmptyStateProps) => {\n const { notifications: notificationsCopy } = useGlobalCopyStore()\n\n return (\n <Stack sx={{ alignItems: 'center', height: '95%', justifyContent: 'center' }}>\n <Icon name=\"notifications\" size={32} />\n\n <Text sx={{ pt: 32 }} variant=\"h3\">\n {notificationsCopy.notification_empty_state.no_new_notifications}\n </Text>\n <Text\n sx={{\n maxWidth: 327,\n pb: 24,\n pt: 12,\n textAlign: 'center',\n }}\n variant=\"subtitle1\"\n >\n {notificationsCopy.notification_empty_state.notification_description}\n </Text>\n <Button onClick={onManageNotifications} sx={{ p: '12px 16px' }} variant=\"outlined\">\n {notificationsCopy.notification_empty_state.manage_notifications}\n </Button>\n </Stack>\n )\n },\n)\n"],"mappings":";;;;;;;AAYA,IAAa,IAAyB,EAAA,CACnC,EAAE,uBAAA,EAAA,MAAyD;AAC1D,QAAM,EAAE,eAAe,EAAA,IAAsB,EAAmB;AAEhE,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,YAAY;AAAA,MAAU,QAAQ;AAAA,MAAO,gBAAgB;AAAA,IAAS;AAAA,cAA3E;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAK;AAAA,QAAgB,MAAM;AAAA,MAAK,CAAA;AAAA,MAEtC,gBAAA,EAAC,GAAD;AAAA,QAAM,IAAI,EAAE,IAAI,GAAG;AAAA,QAAG,SAAQ;AAAA,kBAC3B,EAAkB,yBAAyB;AAAA,MACxC,CAAA;AAAA,MACN,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,UAAU;AAAA,UACV,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,WAAW;AAAA,QACb;AAAA,QACA,SAAQ;AAAA,kBAEP,EAAkB,yBAAyB;AAAA,MACxC,CAAA;AAAA,MACN,gBAAA,EAAC,GAAD;AAAA,QAAQ,SAAS;AAAA,QAAuB,IAAI,EAAE,GAAG,YAAY;AAAA,QAAG,SAAQ;AAAA,kBACrE,EAAkB,yBAAyB;AAAA,MACtC,CAAA;AAAA,IACH;AAAA;AAEX,CACF"}
1
+ {"version":3,"file":"NotificationsEmptyState.es.js","names":[],"sources":["../../../src/notifications/components/NotificationsEmptyState.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport { Icon } from '@mxenabled/mx-icons'\nimport { Text } from '@mxenabled/mxui'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { useGlobalCopyStore } from '../../common'\n\ninterface NotificationEmptyStateProps {\n onManageNotifications: () => void\n}\n\nexport const NotificationEmptyState = observer(\n ({ onManageNotifications }: NotificationEmptyStateProps) => {\n const { notifications: notificationsCopy } = useGlobalCopyStore()\n\n return (\n <Stack sx={{ alignItems: 'center', height: '95%', justifyContent: 'center' }}>\n <Icon name=\"notifications\" size={32} />\n\n <Text sx={{ pt: 32 }} variant=\"h3\">\n {notificationsCopy.notification_empty_state.no_new_notifications}\n </Text>\n <Text\n sx={{\n maxWidth: 327,\n pb: 24,\n pt: 12,\n textAlign: 'center',\n }}\n variant=\"subtitle1\"\n >\n {notificationsCopy.notification_empty_state.notification_description}\n </Text>\n <Button onClick={onManageNotifications} sx={{ p: '12px 16px' }} variant=\"outlined\">\n {notificationsCopy.notification_empty_state.manage_notifications}\n </Button>\n </Stack>\n )\n },\n)\n"],"mappings":";;;;;;;AAYA,IAAa,IAAyB,EAAA,CACnC,EAAE,uBAAA,EAAA,MAAyD;AAC1D,QAAM,EAAE,eAAe,EAAA,IAAsB,EAAmB;AAEhE,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,YAAY;AAAA,MAAU,QAAQ;AAAA,MAAO,gBAAgB;AAAA,IAAS;AAAA,IAA3E,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAK;AAAA,QAAgB,MAAM;AAAA,MAAK,CAAA;AAAA,MAEtC,gBAAA,EAAC,GAAD;AAAA,QAAM,IAAI,EAAE,IAAI,GAAG;AAAA,QAAG,SAAQ;AAAA,QAC3B,UAAA,EAAkB,yBAAyB;AAAA,MACxC,CAAA;AAAA,MACN,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI;AAAA,UACF,UAAU;AAAA,UACV,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,WAAW;AAAA,QACb;AAAA,QACA,SAAQ;AAAA,QAEP,UAAA,EAAkB,yBAAyB;AAAA,MACxC,CAAA;AAAA,MACN,gBAAA,EAAC,GAAD;AAAA,QAAQ,SAAS;AAAA,QAAuB,IAAI,EAAE,GAAG,YAAY;AAAA,QAAG,SAAQ;AAAA,QACrE,UAAA,EAAkB,yBAAyB;AAAA,MACtC,CAAA;AAAA,IACH;AAAA;AAEX,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecurringTransactionsMicroWidget.es.js","names":[],"sources":["../../src/recurringtransactions/RecurringTransactionsMicroWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { endOfMonth } from 'date-fns/endOfMonth'\nimport { endOfToday } from 'date-fns/endOfToday'\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subDays } from 'date-fns/subDays'\n\nimport {\n ANALYTICS_EVENTS,\n Loader,\n MicroWidgetContainer,\n useEvent,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useTransactionStore,\n useWidgetLoadTimer,\n} from '../common'\n\nimport { ZeroStateMicroWidget } from './ZeroStateMicroWidget'\nimport { MicroWidgetContent } from './components/MicroWidgetContent'\n\ninterface RecurringTransactionsMicroWidgetProps {\n onCTAClick: () => void\n}\n\nexport const RecurringTransactionsMicroWidget = observer(\n ({ onCTAClick }: RecurringTransactionsMicroWidgetProps) => {\n const { onEvent } = useEvent()\n\n const { isInitialized, selectedAccountGuids } = useGlobalUiStore()\n const {\n loadRepeatingTransactionData,\n upcomingRecurrences,\n repeatingTransactions,\n setDateRange,\n isDataLoaded,\n } = useRecurringTransactionsStore()\n const { setFilter } = useTransactionStore()\n const { recurring: copy, budgets: budgetsCopy } = useGlobalCopyStore()\n\n useWidgetLoadTimer({\n widgetName: 'RecurringTransactionsMicroWidget',\n isLoaded: isDataLoaded,\n })\n\n React.useEffect(() => {\n if (!isDataLoaded) {\n // Load the repeating transactions and related data\n loadRepeatingTransactionData().finally(() => {\n onEvent(ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_LOAD_WIDGET, {\n state: upcomingRecurrences.length > 0 ? 'default' : 'zeroState',\n })\n })\n }\n }, [])\n\n React.useEffect(() => {\n if (isInitialized) {\n setFilter({\n dateRange: { start: subDays(startOfToday(), 90), end: endOfToday() },\n accounts: selectedAccountGuids,\n })\n setDateRange({ start: startOfMonth(new Date()), end: endOfMonth(new Date()) })\n }\n }, [isInitialized, selectedAccountGuids])\n\n const handleCTAClick = () => {\n onEvent(\n upcomingRecurrences.length > 0\n ? ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_CLICK_GET_STARTED\n : ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_CLICK_VIEW_ALL,\n )\n onCTAClick()\n }\n\n if (!isInitialized || !isDataLoaded) return <Loader height={100} />\n\n const showZeroState = !repeatingTransactions?.length\n\n return (\n <MicroWidgetContainer\n className=\"mx-recurring-transaction-microwidget\"\n ctaLabel={showZeroState ? budgetsCopy.get_started_cta : copy.primary_cta}\n onCTAClick={handleCTAClick}\n title={copy.recurring_expenses}\n >\n {!showZeroState ? <MicroWidgetContent /> : <ZeroStateMicroWidget />}\n </MicroWidgetContainer>\n )\n },\n)\n"],"mappings":";;;;;;;;;;;;;;;AA2BA,IAAa,IAAmC,EAAA,CAC7C,EAAE,YAAA,EAAA,MAAwD;AACzD,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GAEvB,EAAE,eAAA,GAAe,sBAAA,EAAA,IAAyB,EAAiB,GAC3D,EACJ,8BAAA,GACA,qBAAA,GACA,uBAAA,GACA,cAAA,GACA,cAAA,EAAA,IACE,EAA8B,GAC5B,EAAE,WAAA,EAAA,IAAc,EAAoB,GACpC,EAAE,WAAW,GAAM,SAAS,EAAA,IAAgB,EAAmB;AAErE,EAAA,EAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ,CAAC,GAED,EAAM,UAAA,MAAgB;AACpB,IAAK,KAEH,EAA6B,EAAE,QAAA,MAAc;AAC3C,MAAA,EAAQ,EAAiB,oCAAoC,EAC3D,OAAO,EAAoB,SAAS,IAAI,YAAY,YACtD,CAAC;AAAA,IACH,CAAC;AAAA,EAEL,GAAG,CAAC,CAAC,GAEL,EAAM,UAAA,MAAgB;AACpB,IAAI,MACF,EAAU;AAAA,MACR,WAAW;AAAA,QAAE,OAAO,EAAQ,EAAa,GAAG,EAAE;AAAA,QAAG,KAAK,EAAW;AAAA,MAAE;AAAA,MACnE,UAAU;AAAA,IACZ,CAAC,GACD,EAAa;AAAA,MAAE,OAAO,EAAa,oBAAI,KAAK,CAAC;AAAA,MAAG,KAAK,EAAW,oBAAI,KAAK,CAAC;AAAA,IAAE,CAAC;AAAA,EAEjF,GAAG,CAAC,GAAe,CAAoB,CAAC;AAExC,QAAM,IAAA,MAAuB;AAC3B,IAAA,EACE,EAAoB,SAAS,IACzB,EAAiB,2CACjB,EAAiB,qCACvB,GACA,EAAW;AAAA,EACb;AAEA,MAAI,CAAC,KAAiB,CAAC,EAAc,QAAO,gBAAA,EAAC,GAAD,EAAQ,QAAQ,IAAM,CAAA;AAElE,QAAM,IAAgB,CAAC,GAAuB;AAE9C,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,WAAU;AAAA,IACV,UAAU,IAAgB,EAAY,kBAAkB,EAAK;AAAA,IAC7D,YAAY;AAAA,IACZ,OAAO,EAAK;AAAA,cAEV,IAAyC,gBAAA,EAAC,GAAD,CAAuB,CAAA,IAAhD,gBAAA,EAAC,GAAD,CAAqB,CAAA;AAAA,EACnB,CAAA;AAE1B,CACF"}
1
+ {"version":3,"file":"RecurringTransactionsMicroWidget.es.js","names":[],"sources":["../../src/recurringtransactions/RecurringTransactionsMicroWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { endOfMonth } from 'date-fns/endOfMonth'\nimport { endOfToday } from 'date-fns/endOfToday'\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subDays } from 'date-fns/subDays'\n\nimport {\n ANALYTICS_EVENTS,\n Loader,\n MicroWidgetContainer,\n useEvent,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useTransactionStore,\n useWidgetLoadTimer,\n} from '../common'\n\nimport { ZeroStateMicroWidget } from './ZeroStateMicroWidget'\nimport { MicroWidgetContent } from './components/MicroWidgetContent'\n\ninterface RecurringTransactionsMicroWidgetProps {\n onCTAClick: () => void\n}\n\nexport const RecurringTransactionsMicroWidget = observer(\n ({ onCTAClick }: RecurringTransactionsMicroWidgetProps) => {\n const { onEvent } = useEvent()\n\n const { isInitialized, selectedAccountGuids } = useGlobalUiStore()\n const {\n loadRepeatingTransactionData,\n upcomingRecurrences,\n repeatingTransactions,\n setDateRange,\n isDataLoaded,\n } = useRecurringTransactionsStore()\n const { setFilter } = useTransactionStore()\n const { recurring: copy, budgets: budgetsCopy } = useGlobalCopyStore()\n\n useWidgetLoadTimer({\n widgetName: 'RecurringTransactionsMicroWidget',\n isLoaded: isDataLoaded,\n })\n\n React.useEffect(() => {\n if (!isDataLoaded) {\n // Load the repeating transactions and related data\n loadRepeatingTransactionData().finally(() => {\n onEvent(ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_LOAD_WIDGET, {\n state: upcomingRecurrences.length > 0 ? 'default' : 'zeroState',\n })\n })\n }\n }, [])\n\n React.useEffect(() => {\n if (isInitialized) {\n setFilter({\n dateRange: { start: subDays(startOfToday(), 90), end: endOfToday() },\n accounts: selectedAccountGuids,\n })\n setDateRange({ start: startOfMonth(new Date()), end: endOfMonth(new Date()) })\n }\n }, [isInitialized, selectedAccountGuids])\n\n const handleCTAClick = () => {\n onEvent(\n upcomingRecurrences.length > 0\n ? ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_CLICK_GET_STARTED\n : ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_CLICK_VIEW_ALL,\n )\n onCTAClick()\n }\n\n if (!isInitialized || !isDataLoaded) return <Loader height={100} />\n\n const showZeroState = !repeatingTransactions?.length\n\n return (\n <MicroWidgetContainer\n className=\"mx-recurring-transaction-microwidget\"\n ctaLabel={showZeroState ? budgetsCopy.get_started_cta : copy.primary_cta}\n onCTAClick={handleCTAClick}\n title={copy.recurring_expenses}\n >\n {!showZeroState ? <MicroWidgetContent /> : <ZeroStateMicroWidget />}\n </MicroWidgetContainer>\n )\n },\n)\n"],"mappings":";;;;;;;;;;;;;;;AA2BA,IAAa,IAAmC,EAAA,CAC7C,EAAE,YAAA,EAAA,MAAwD;AACzD,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GAEvB,EAAE,eAAA,GAAe,sBAAA,EAAA,IAAyB,EAAiB,GAC3D,EACJ,8BAAA,GACA,qBAAA,GACA,uBAAA,GACA,cAAA,GACA,cAAA,EAAA,IACE,EAA8B,GAC5B,EAAE,WAAA,EAAA,IAAc,EAAoB,GACpC,EAAE,WAAW,GAAM,SAAS,EAAA,IAAgB,EAAmB;AAErE,EAAA,EAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ,CAAC,GAED,EAAM,UAAA,MAAgB;AACpB,IAAK,KAEH,EAA6B,EAAE,QAAA,MAAc;AAC3C,MAAA,EAAQ,EAAiB,oCAAoC,EAC3D,OAAO,EAAoB,SAAS,IAAI,YAAY,YACtD,CAAC;AAAA,IACH,CAAC;AAAA,EAEL,GAAG,CAAC,CAAC,GAEL,EAAM,UAAA,MAAgB;AACpB,IAAI,MACF,EAAU;AAAA,MACR,WAAW;AAAA,QAAE,OAAO,EAAQ,EAAa,GAAG,EAAE;AAAA,QAAG,KAAK,EAAW;AAAA,MAAE;AAAA,MACnE,UAAU;AAAA,IACZ,CAAC,GACD,EAAa;AAAA,MAAE,OAAO,EAAa,oBAAI,KAAK,CAAC;AAAA,MAAG,KAAK,EAAW,oBAAI,KAAK,CAAC;AAAA,IAAE,CAAC;AAAA,EAEjF,GAAG,CAAC,GAAe,CAAoB,CAAC;AAExC,QAAM,IAAA,MAAuB;AAC3B,IAAA,EACE,EAAoB,SAAS,IACzB,EAAiB,2CACjB,EAAiB,qCACvB,GACA,EAAW;AAAA,EACb;AAEA,MAAI,CAAC,KAAiB,CAAC,EAAc,QAAO,gBAAA,EAAC,GAAD,EAAQ,QAAQ,IAAM,CAAA;AAElE,QAAM,IAAgB,CAAC,GAAuB;AAE9C,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,WAAU;AAAA,IACV,UAAU,IAAgB,EAAY,kBAAkB,EAAK;AAAA,IAC7D,YAAY;AAAA,IACZ,OAAO,EAAK;AAAA,IAEX,UAAC,IAAyC,gBAAA,EAAC,GAAD,CAAuB,CAAA,IAAhD,gBAAA,EAAC,GAAD,CAAqB,CAAA;AAAA,EACnB,CAAA;AAE1B,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecurringTransactionsMiniWidget.es.js","names":[],"sources":["../../src/recurringtransactions/RecurringTransactionsMiniWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { endOfToday } from 'date-fns/endOfToday'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subDays } from 'date-fns/subDays'\n\nimport {\n Loader,\n MiniWidgetContainer,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useTransactionStore,\n useWidgetLoadTimer,\n} from '../common'\nimport { type MiniWidgetProps } from '../core'\n\nimport { MiniWidgetContent } from './components/MiniWidgetContent'\nimport { RecurringTransactionDetailsDrawer } from './components/RecurringTransactionDetailsDrawer'\nimport { SkeletonLoader } from '../common/components/SkeletonLoader'\n\nexport const RecurringTransactionsMiniWidget = observer(\n ({ onPrimaryCtaClick, sx }: MiniWidgetProps) => {\n const { recurring: copy } = useGlobalCopyStore()\n const { setFilter } = useTransactionStore()\n const { isDataLoaded, loadRepeatingTransactionData } = useRecurringTransactionsStore()\n const { isInitialized, selectedAccountGuids } = useGlobalUiStore()\n\n useWidgetLoadTimer({\n widgetName: 'RecurringTransactionsMiniWidget',\n isLoaded: isDataLoaded,\n })\n\n React.useEffect(() => {\n if (!isDataLoaded) {\n loadRepeatingTransactionData().finally()\n }\n }, [])\n\n React.useEffect(() => {\n if (selectedAccountGuids.length > 0) {\n setFilter({\n dateRange: { start: subDays(startOfToday(), 90), end: endOfToday() },\n accounts: selectedAccountGuids,\n })\n }\n }, [selectedAccountGuids])\n\n if (!isInitialized) return <Loader />\n\n return (\n <MiniWidgetContainer\n className=\"mx-exp-recurring-transactions-miniwidget\"\n onPrimaryCtaClick={onPrimaryCtaClick}\n primaryCtaLabel={copy.primary_cta}\n primaryCtaLabelAria={copy.primary_cta_aria}\n subTitle={copy.sub_title}\n sx={sx}\n title={copy.mini_title}\n >\n {isDataLoaded ? <MiniWidgetContent /> : <SkeletonLoader sx={{ mx: 16 }} variant=\"list\" />}\n\n <RecurringTransactionDetailsDrawer />\n </MiniWidgetContainer>\n )\n },\n)\n"],"mappings":";;;;;;;;;;;;;AAqBA,IAAa,IAAkC,EAAA,CAC5C,EAAE,mBAAA,GAAmB,IAAA,EAAA,MAA0B;AAC9C,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,WAAA,EAAA,IAAc,EAAoB,GACpC,EAAE,cAAA,GAAc,8BAAA,EAAA,IAAiC,EAA8B,GAC/E,EAAE,eAAA,GAAe,sBAAA,EAAA,IAAyB,EAAiB;AAsBjE,SApBA,EAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ,CAAC,GAED,EAAM,UAAA,MAAgB;AACpB,IAAK,KACH,EAA6B,EAAE,QAAQ;AAAA,EAE3C,GAAG,CAAC,CAAC,GAEL,EAAM,UAAA,MAAgB;AACpB,IAAI,EAAqB,SAAS,KAChC,EAAU;AAAA,MACR,WAAW;AAAA,QAAE,OAAO,EAAQ,EAAa,GAAG,EAAE;AAAA,QAAG,KAAK,EAAW;AAAA,MAAE;AAAA,MACnE,UAAU;AAAA,IACZ,CAAC;AAAA,EAEL,GAAG,CAAC,CAAoB,CAAC,GAEpB,IAGH,gBAAA,EAAC,GAAD;AAAA,IACE,WAAU;AAAA,IACS,mBAAA;AAAA,IACnB,iBAAiB,EAAK;AAAA,IACtB,qBAAqB,EAAK;AAAA,IAC1B,UAAU,EAAK;AAAA,IACX,IAAA;AAAA,IACJ,OAAO,EAAK;AAAA,cAPd,CASG,IAAe,gBAAA,EAAC,GAAD,CAAoB,CAAA,IAAI,gBAAA,EAAC,GAAD;AAAA,MAAgB,IAAI,EAAE,IAAI,GAAG;AAAA,MAAG,SAAQ;AAAA,IAAQ,CAAA,GAExF,gBAAA,EAAC,GAAD,CAAoC,CAAA,CACjB;AAAA,OAfI,gBAAA,EAAC,GAAD,CAAS,CAAA;AAiBtC,CACF"}
1
+ {"version":3,"file":"RecurringTransactionsMiniWidget.es.js","names":[],"sources":["../../src/recurringtransactions/RecurringTransactionsMiniWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { endOfToday } from 'date-fns/endOfToday'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subDays } from 'date-fns/subDays'\n\nimport {\n Loader,\n MiniWidgetContainer,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useTransactionStore,\n useWidgetLoadTimer,\n} from '../common'\nimport { type MiniWidgetProps } from '../core'\n\nimport { MiniWidgetContent } from './components/MiniWidgetContent'\nimport { RecurringTransactionDetailsDrawer } from './components/RecurringTransactionDetailsDrawer'\nimport { SkeletonLoader } from '../common/components/SkeletonLoader'\n\nexport const RecurringTransactionsMiniWidget = observer(\n ({ onPrimaryCtaClick, sx }: MiniWidgetProps) => {\n const { recurring: copy } = useGlobalCopyStore()\n const { setFilter } = useTransactionStore()\n const { isDataLoaded, loadRepeatingTransactionData } = useRecurringTransactionsStore()\n const { isInitialized, selectedAccountGuids } = useGlobalUiStore()\n\n useWidgetLoadTimer({\n widgetName: 'RecurringTransactionsMiniWidget',\n isLoaded: isDataLoaded,\n })\n\n React.useEffect(() => {\n if (!isDataLoaded) {\n loadRepeatingTransactionData().finally()\n }\n }, [])\n\n React.useEffect(() => {\n if (selectedAccountGuids.length > 0) {\n setFilter({\n dateRange: { start: subDays(startOfToday(), 90), end: endOfToday() },\n accounts: selectedAccountGuids,\n })\n }\n }, [selectedAccountGuids])\n\n if (!isInitialized) return <Loader />\n\n return (\n <MiniWidgetContainer\n className=\"mx-exp-recurring-transactions-miniwidget\"\n onPrimaryCtaClick={onPrimaryCtaClick}\n primaryCtaLabel={copy.primary_cta}\n primaryCtaLabelAria={copy.primary_cta_aria}\n subTitle={copy.sub_title}\n sx={sx}\n title={copy.mini_title}\n >\n {isDataLoaded ? <MiniWidgetContent /> : <SkeletonLoader sx={{ mx: 16 }} variant=\"list\" />}\n\n <RecurringTransactionDetailsDrawer />\n </MiniWidgetContainer>\n )\n },\n)\n"],"mappings":";;;;;;;;;;;;;AAqBA,IAAa,IAAkC,EAAA,CAC5C,EAAE,mBAAA,GAAmB,IAAA,EAAA,MAA0B;AAC9C,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,WAAA,EAAA,IAAc,EAAoB,GACpC,EAAE,cAAA,GAAc,8BAAA,EAAA,IAAiC,EAA8B,GAC/E,EAAE,eAAA,GAAe,sBAAA,EAAA,IAAyB,EAAiB;AAsBjE,SApBA,EAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ,CAAC,GAED,EAAM,UAAA,MAAgB;AACpB,IAAK,KACH,EAA6B,EAAE,QAAQ;AAAA,EAE3C,GAAG,CAAC,CAAC,GAEL,EAAM,UAAA,MAAgB;AACpB,IAAI,EAAqB,SAAS,KAChC,EAAU;AAAA,MACR,WAAW;AAAA,QAAE,OAAO,EAAQ,EAAa,GAAG,EAAE;AAAA,QAAG,KAAK,EAAW;AAAA,MAAE;AAAA,MACnE,UAAU;AAAA,IACZ,CAAC;AAAA,EAEL,GAAG,CAAC,CAAoB,CAAC,GAEpB,IAGH,gBAAA,EAAC,GAAD;AAAA,IACE,WAAU;AAAA,IACS,mBAAA;AAAA,IACnB,iBAAiB,EAAK;AAAA,IACtB,qBAAqB,EAAK;AAAA,IAC1B,UAAU,EAAK;AAAA,IACX,IAAA;AAAA,IACJ,OAAO,EAAK;AAAA,IAPd,UAAA,CASG,IAAe,gBAAA,EAAC,GAAD,CAAoB,CAAA,IAAI,gBAAA,EAAC,GAAD;AAAA,MAAgB,IAAI,EAAE,IAAI,GAAG;AAAA,MAAG,SAAQ;AAAA,IAAQ,CAAA,GAExF,gBAAA,EAAC,GAAD,CAAoC,CAAA,CACjB;AAAA,OAfI,gBAAA,EAAC,GAAD,CAAS,CAAA;AAiBtC,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecurringTransactionsWidget.es.js","names":[],"sources":["../../src/recurringtransactions/RecurringTransactionsWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { endOfMonth } from 'date-fns/endOfMonth'\nimport { endOfToday } from 'date-fns/endOfToday'\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subDays } from 'date-fns/subDays'\n\nimport Alert from '@mui/material/Alert'\nimport Snackbar from '@mui/material/Snackbar'\n\nimport {\n ANALYTICS_EVENTS,\n Drawer,\n Loader,\n useEvent,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useTransactionStore,\n useWidgetLoadTimer,\n WidgetContainer,\n} from '../common'\nimport { type WidgetProps } from '../core'\n\nimport { RecurringSettings } from './components/shared/RecurringSettings'\nimport { RecurringTransactions } from './components/RecurringTransactions'\nimport { SkeletonLoader } from '../common/components/SkeletonLoader'\n\nexport const RecurringTransactionsWidget = observer(\n ({ onBackClick, onMenuClick, sx = {} }: WidgetProps) => {\n const { recurring: copy } = useGlobalCopyStore()\n const { isInitialized, selectedAccountGuids } = useGlobalUiStore()\n const { alert, isDataLoaded, loadRepeatingTransactionData, setAlert, setDateRange } =\n useRecurringTransactionsStore()\n const { setFilter } = useTransactionStore()\n const { onEvent } = useEvent()\n const [isSettingsOpen, setIsSettingsOpen] = React.useState(false)\n\n useWidgetLoadTimer({\n widgetName: 'RecurringTransactionsWidget',\n isLoaded: isDataLoaded,\n })\n\n React.useEffect(() => {\n if (!isDataLoaded) {\n // Load the repeating transactions and related data\n loadRepeatingTransactionData().finally()\n }\n }, [])\n\n React.useEffect(() => {\n // Sets the Transaction filter\n setFilter({\n dateRange: { start: subDays(startOfToday(), 90), end: endOfToday() },\n accounts: selectedAccountGuids,\n })\n // Set the Date Range for Recurring Transactions\n setDateRange({ start: startOfMonth(new Date()), end: endOfMonth(new Date()) })\n }, [selectedAccountGuids])\n\n if (!isInitialized) return <Loader />\n\n return (\n <WidgetContainer\n actions={[\n {\n label: copy.action_title,\n iconName: 'credit_card_gear',\n onClick: () => {\n setIsSettingsOpen(true)\n onEvent(ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_CLICK_SETTINGS)\n },\n },\n ]}\n hasDivider={true}\n onAccountsFilterClick={() => onEvent(ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_CLICK_FILTER)}\n onBackClick={onBackClick}\n onMenuClick={onMenuClick}\n sx={sx}\n title={copy.title}\n >\n {!isDataLoaded ? (\n <SkeletonLoader sx={{ m: 48 }} variant=\"list\" />\n ) : (\n <RecurringTransactions />\n )}\n <Drawer\n ariaLabelClose={copy.close_drawer_aria}\n isOpen={isSettingsOpen}\n onClose={() => setIsSettingsOpen(false)}\n shouldShowHeaderBorders={false}\n title={copy.action_title}\n >\n <RecurringSettings />\n </Drawer>\n <Snackbar\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n autoHideDuration={3500}\n onClose={(_event, reason) => {\n if (reason === 'clickaway') return\n setAlert('', alert.severity)\n }}\n open={Boolean(alert.message)}\n >\n <Alert\n onClose={() => setAlert('', alert.severity)}\n severity={alert.severity}\n variant=\"filled\"\n >\n {alert.message}\n </Alert>\n </Snackbar>\n </WidgetContainer>\n )\n },\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;;AA6BA,IAAa,KAA8B,EAAA,CACxC,EAAE,aAAA,GAAa,aAAA,GAAa,IAAA,IAAK,CAAC,EAAA,MAAqB;AACtD,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,eAAA,GAAe,sBAAA,EAAA,IAAyB,EAAiB,GAC3D,EAAE,OAAA,GAAO,cAAA,GAAc,8BAAA,GAA8B,UAAA,GAAU,cAAA,EAAA,IACnE,EAA8B,GAC1B,EAAE,WAAA,EAAA,IAAc,EAAoB,GACpC,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,CAAC,GAAgB,CAAA,IAAqB,EAAM,SAAS,EAAK;AAwBhE,SAtBA,EAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ,CAAC,GAED,EAAM,UAAA,MAAgB;AACpB,IAAK,KAEH,EAA6B,EAAE,QAAQ;AAAA,EAE3C,GAAG,CAAC,CAAC,GAEL,EAAM,UAAA,MAAgB;AAEpB,IAAA,EAAU;AAAA,MACR,WAAW;AAAA,QAAE,OAAO,EAAQ,EAAa,GAAG,EAAE;AAAA,QAAG,KAAK,EAAW;AAAA,MAAE;AAAA,MACnE,UAAU;AAAA,IACZ,CAAC,GAED,EAAa;AAAA,MAAE,OAAO,EAAa,oBAAI,KAAK,CAAC;AAAA,MAAG,KAAK,EAAW,oBAAI,KAAK,CAAC;AAAA,IAAE,CAAC;AAAA,EAC/E,GAAG,CAAC,CAAoB,CAAC,GAEpB,IAGH,gBAAA,EAAC,GAAD;AAAA,IACE,SAAS,CACP;AAAA,MACE,OAAO,EAAK;AAAA,MACZ,UAAU;AAAA,MACV,SAAA,MAAe;AACb,QAAA,EAAkB,EAAI,GACtB,EAAQ,EAAiB,qCAAqC;AAAA,MAChE;AAAA,IACF,CACF;AAAA,IACA,YAAY;AAAA,IACZ,uBAAA,MAA6B,EAAQ,EAAiB,mCAAmC;AAAA,IAC5E,aAAA;AAAA,IACA,aAAA;AAAA,IACT,IAAA;AAAA,IACJ,OAAO,EAAK;AAAA,cAhBd;AAAA,MAkBI,IAGA,gBAAA,EAAC,GAAD,CAAwB,CAAA,IAFxB,gBAAA,EAAC,GAAD;AAAA,QAAgB,IAAI,EAAE,GAAG,GAAG;AAAA,QAAG,SAAQ;AAAA,MAAQ,CAAA;AAAA,MAIjD,gBAAA,EAAC,GAAD;AAAA,QACE,gBAAgB,EAAK;AAAA,QACrB,QAAQ;AAAA,QACR,SAAA,MAAe,EAAkB,EAAK;AAAA,QACtC,yBAAyB;AAAA,QACzB,OAAO,EAAK;AAAA,kBAEZ,gBAAA,EAAC,GAAD,CAAoB,CAAA;AAAA,MACd,CAAA;AAAA,MACR,gBAAA,EAAC,GAAD;AAAA,QACE,cAAc;AAAA,UAAE,UAAU;AAAA,UAAU,YAAY;AAAA,QAAQ;AAAA,QACxD,kBAAkB;AAAA,QAClB,SAAA,CAAU,GAAQ,MAAW;AAC3B,UAAI,MAAW,eACf,EAAS,IAAI,EAAM,QAAQ;AAAA,QAC7B;AAAA,QACA,MAAM,EAAQ,EAAM;AAAA,kBAEpB,gBAAA,EAAC,GAAD;AAAA,UACE,SAAA,MAAe,EAAS,IAAI,EAAM,QAAQ;AAAA,UAC1C,UAAU,EAAM;AAAA,UAChB,SAAQ;AAAA,oBAEP,EAAM;AAAA,QACF,CAAA;AAAA,MACC,CAAA;AAAA,IACK;AAAA,OApDQ,gBAAA,EAAC,GAAD,CAAS,CAAA;AAsDtC,CACF"}
1
+ {"version":3,"file":"RecurringTransactionsWidget.es.js","names":[],"sources":["../../src/recurringtransactions/RecurringTransactionsWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { endOfMonth } from 'date-fns/endOfMonth'\nimport { endOfToday } from 'date-fns/endOfToday'\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subDays } from 'date-fns/subDays'\n\nimport Alert from '@mui/material/Alert'\nimport Snackbar from '@mui/material/Snackbar'\n\nimport {\n ANALYTICS_EVENTS,\n Drawer,\n Loader,\n useEvent,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useTransactionStore,\n useWidgetLoadTimer,\n WidgetContainer,\n} from '../common'\nimport { type WidgetProps } from '../core'\n\nimport { RecurringSettings } from './components/shared/RecurringSettings'\nimport { RecurringTransactions } from './components/RecurringTransactions'\nimport { SkeletonLoader } from '../common/components/SkeletonLoader'\n\nexport const RecurringTransactionsWidget = observer(\n ({ onBackClick, onMenuClick, sx = {} }: WidgetProps) => {\n const { recurring: copy } = useGlobalCopyStore()\n const { isInitialized, selectedAccountGuids } = useGlobalUiStore()\n const { alert, isDataLoaded, loadRepeatingTransactionData, setAlert, setDateRange } =\n useRecurringTransactionsStore()\n const { setFilter } = useTransactionStore()\n const { onEvent } = useEvent()\n const [isSettingsOpen, setIsSettingsOpen] = React.useState(false)\n\n useWidgetLoadTimer({\n widgetName: 'RecurringTransactionsWidget',\n isLoaded: isDataLoaded,\n })\n\n React.useEffect(() => {\n if (!isDataLoaded) {\n // Load the repeating transactions and related data\n loadRepeatingTransactionData().finally()\n }\n }, [])\n\n React.useEffect(() => {\n // Sets the Transaction filter\n setFilter({\n dateRange: { start: subDays(startOfToday(), 90), end: endOfToday() },\n accounts: selectedAccountGuids,\n })\n // Set the Date Range for Recurring Transactions\n setDateRange({ start: startOfMonth(new Date()), end: endOfMonth(new Date()) })\n }, [selectedAccountGuids])\n\n if (!isInitialized) return <Loader />\n\n return (\n <WidgetContainer\n actions={[\n {\n label: copy.action_title,\n iconName: 'credit_card_gear',\n onClick: () => {\n setIsSettingsOpen(true)\n onEvent(ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_CLICK_SETTINGS)\n },\n },\n ]}\n hasDivider={true}\n onAccountsFilterClick={() => onEvent(ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_CLICK_FILTER)}\n onBackClick={onBackClick}\n onMenuClick={onMenuClick}\n sx={sx}\n title={copy.title}\n >\n {!isDataLoaded ? (\n <SkeletonLoader sx={{ m: 48 }} variant=\"list\" />\n ) : (\n <RecurringTransactions />\n )}\n <Drawer\n ariaLabelClose={copy.close_drawer_aria}\n isOpen={isSettingsOpen}\n onClose={() => setIsSettingsOpen(false)}\n shouldShowHeaderBorders={false}\n title={copy.action_title}\n >\n <RecurringSettings />\n </Drawer>\n <Snackbar\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n autoHideDuration={3500}\n onClose={(_event, reason) => {\n if (reason === 'clickaway') return\n setAlert('', alert.severity)\n }}\n open={Boolean(alert.message)}\n >\n <Alert\n onClose={() => setAlert('', alert.severity)}\n severity={alert.severity}\n variant=\"filled\"\n >\n {alert.message}\n </Alert>\n </Snackbar>\n </WidgetContainer>\n )\n },\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;;AA6BA,IAAa,KAA8B,EAAA,CACxC,EAAE,aAAA,GAAa,aAAA,GAAa,IAAA,IAAK,CAAC,EAAA,MAAqB;AACtD,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,eAAA,GAAe,sBAAA,EAAA,IAAyB,EAAiB,GAC3D,EAAE,OAAA,GAAO,cAAA,GAAc,8BAAA,GAA8B,UAAA,GAAU,cAAA,EAAA,IACnE,EAA8B,GAC1B,EAAE,WAAA,EAAA,IAAc,EAAoB,GACpC,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,CAAC,GAAgB,CAAA,IAAqB,EAAM,SAAS,EAAK;AAwBhE,SAtBA,EAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ,CAAC,GAED,EAAM,UAAA,MAAgB;AACpB,IAAK,KAEH,EAA6B,EAAE,QAAQ;AAAA,EAE3C,GAAG,CAAC,CAAC,GAEL,EAAM,UAAA,MAAgB;AAEpB,IAAA,EAAU;AAAA,MACR,WAAW;AAAA,QAAE,OAAO,EAAQ,EAAa,GAAG,EAAE;AAAA,QAAG,KAAK,EAAW;AAAA,MAAE;AAAA,MACnE,UAAU;AAAA,IACZ,CAAC,GAED,EAAa;AAAA,MAAE,OAAO,EAAa,oBAAI,KAAK,CAAC;AAAA,MAAG,KAAK,EAAW,oBAAI,KAAK,CAAC;AAAA,IAAE,CAAC;AAAA,EAC/E,GAAG,CAAC,CAAoB,CAAC,GAEpB,IAGH,gBAAA,EAAC,GAAD;AAAA,IACE,SAAS,CACP;AAAA,MACE,OAAO,EAAK;AAAA,MACZ,UAAU;AAAA,MACV,SAAA,MAAe;AACb,QAAA,EAAkB,EAAI,GACtB,EAAQ,EAAiB,qCAAqC;AAAA,MAChE;AAAA,IACF,CACF;AAAA,IACA,YAAY;AAAA,IACZ,uBAAA,MAA6B,EAAQ,EAAiB,mCAAmC;AAAA,IAC5E,aAAA;AAAA,IACA,aAAA;AAAA,IACT,IAAA;AAAA,IACJ,OAAO,EAAK;AAAA,IAhBd,UAAA;AAAA,MAkBI,IAGA,gBAAA,EAAC,GAAD,CAAwB,CAAA,IAFxB,gBAAA,EAAC,GAAD;AAAA,QAAgB,IAAI,EAAE,GAAG,GAAG;AAAA,QAAG,SAAQ;AAAA,MAAQ,CAAA;AAAA,MAIjD,gBAAA,EAAC,GAAD;AAAA,QACE,gBAAgB,EAAK;AAAA,QACrB,QAAQ;AAAA,QACR,SAAA,MAAe,EAAkB,EAAK;AAAA,QACtC,yBAAyB;AAAA,QACzB,OAAO,EAAK;AAAA,QAEZ,UAAA,gBAAA,EAAC,GAAD,CAAoB,CAAA;AAAA,MACd,CAAA;AAAA,MACR,gBAAA,EAAC,GAAD;AAAA,QACE,cAAc;AAAA,UAAE,UAAU;AAAA,UAAU,YAAY;AAAA,QAAQ;AAAA,QACxD,kBAAkB;AAAA,QAClB,SAAA,CAAU,GAAQ,MAAW;AAC3B,UAAI,MAAW,eACf,EAAS,IAAI,EAAM,QAAQ;AAAA,QAC7B;AAAA,QACA,MAAM,EAAQ,EAAM;AAAA,QAEpB,UAAA,gBAAA,EAAC,GAAD;AAAA,UACE,SAAA,MAAe,EAAS,IAAI,EAAM,QAAQ;AAAA,UAC1C,UAAU,EAAM;AAAA,UAChB,SAAQ;AAAA,UAEP,UAAA,EAAM;AAAA,QACF,CAAA;AAAA,MACC,CAAA;AAAA,IACK;AAAA,OApDQ,gBAAA,EAAC,GAAD,CAAS,CAAA;AAsDtC,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ZeroStateMicroWidget.es.js","names":[],"sources":["../../src/recurringtransactions/ZeroStateMicroWidget.tsx"],"sourcesContent":["import Stack from '@mui/material/Stack'\n\nimport { CurrencyExchange } from '@mxenabled/mx-icons'\n\nimport { P } from '@mxenabled/mxui'\n\nimport { observer } from 'mobx-react-lite'\n\nimport { useGlobalCopyStore } from '../common'\n\nexport const ZeroStateMicroWidget = observer(() => {\n const { recurring: recurringCopy } = useGlobalCopyStore()\n\n return (\n <Stack sx={{ alignItems: 'start', flexDirection: 'row', gap: 12 }}>\n <CurrencyExchange size={32} />\n <Stack>\n <P fontWeight={600} variant=\"body1\">\n {recurringCopy.zero_state_content_header}\n </P>\n <P color=\"text.secondary\" variant=\"subtitle2\">\n {recurringCopy.zero_state_content_description}\n </P>\n </Stack>\n </Stack>\n )\n})\n"],"mappings":";;;;;;AAUA,IAAa,IAAuB,EAAA,MAAe;AACjD,QAAM,EAAE,WAAW,EAAA,IAAkB,EAAmB;AAExD,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,YAAY;AAAA,MAAS,eAAe;AAAA,MAAO,KAAK;AAAA,IAAG;AAAA,cAAhE,CACE,gBAAA,EAAC,GAAD,EAAkB,MAAM,GAAK,CAAA,GAC7B,gBAAA,EAAC,GAAD,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MAAG,YAAY;AAAA,MAAK,SAAQ;AAAA,gBACzB,EAAc;AAAA,IACd,CAAA,GACH,gBAAA,EAAC,GAAD;AAAA,MAAG,OAAM;AAAA,MAAiB,SAAQ;AAAA,gBAC/B,EAAc;AAAA,IACd,CAAA,CACE,EAAA,CAAA,CACF;AAAA;AAEX,CAAC"}
1
+ {"version":3,"file":"ZeroStateMicroWidget.es.js","names":[],"sources":["../../src/recurringtransactions/ZeroStateMicroWidget.tsx"],"sourcesContent":["import Stack from '@mui/material/Stack'\n\nimport { CurrencyExchange } from '@mxenabled/mx-icons'\n\nimport { P } from '@mxenabled/mxui'\n\nimport { observer } from 'mobx-react-lite'\n\nimport { useGlobalCopyStore } from '../common'\n\nexport const ZeroStateMicroWidget = observer(() => {\n const { recurring: recurringCopy } = useGlobalCopyStore()\n\n return (\n <Stack sx={{ alignItems: 'start', flexDirection: 'row', gap: 12 }}>\n <CurrencyExchange size={32} />\n <Stack>\n <P fontWeight={600} variant=\"body1\">\n {recurringCopy.zero_state_content_header}\n </P>\n <P color=\"text.secondary\" variant=\"subtitle2\">\n {recurringCopy.zero_state_content_description}\n </P>\n </Stack>\n </Stack>\n )\n})\n"],"mappings":";;;;;;AAUA,IAAa,IAAuB,EAAA,MAAe;AACjD,QAAM,EAAE,WAAW,EAAA,IAAkB,EAAmB;AAExD,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,YAAY;AAAA,MAAS,eAAe;AAAA,MAAO,KAAK;AAAA,IAAG;AAAA,IAAhE,UAAA,CACE,gBAAA,EAAC,GAAD,EAAkB,MAAM,GAAK,CAAA,GAC7B,gBAAA,EAAC,GAAD,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MAAG,YAAY;AAAA,MAAK,SAAQ;AAAA,MACzB,UAAA,EAAc;AAAA,IACd,CAAA,GACH,gBAAA,EAAC,GAAD;AAAA,MAAG,OAAM;AAAA,MAAiB,SAAQ;AAAA,MAC/B,UAAA,EAAc;AAAA,IACd,CAAA,CACE,EAAA,CAAA,CACF;AAAA;AAEX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MicroWidgetContent.es.js","names":[],"sources":["../../../src/recurringtransactions/components/MicroWidgetContent.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'\n\nimport { P, Text } from '@mxenabled/mxui'\n\nimport { StatusBar, useGlobalCopyStore, useRecurringTransactionsStore } from '../../common'\nimport { useDimensions } from '../../common/hooks/useDimensions'\n\nimport { RecurrenceLegend } from './micro/RecurrenceLegend'\nimport { OverlappingMerchantLogos } from './micro/OverlappingMerchantLogos'\nimport { MerchantLogosRow } from './micro/MerchantLogosRow'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\n\nexport const MicroWidgetContent = observer(() => {\n const theme = useTheme()\n const [containerRef, { width }] = useDimensions()\n const {\n upcomingRecurrences,\n expenseTotal,\n missedExpenseTotal,\n paidExpenseTotal,\n upcomingExpenseTotal,\n } = useRecurringTransactionsStore()\n const { recurring: copy } = useGlobalCopyStore()\n\n const isSmallScreen = width <= 288\n const isLargeScreen = width >= 450\n const logoSize = 32\n const hasLogos = upcomingRecurrences.length > 0\n\n const expectedExpenseTotalFormatted = React.useMemo(() => {\n return formatCurrency(expenseTotal, expenseTotal === 0 ? '0,0' : '0,0.00')\n }, [expenseTotal])\n\n const data = React.useMemo(() => {\n const recurrence = [\n { color: theme.palette.success.main, percentage: `${paidExpenseTotal / expenseTotal}` },\n ]\n if (missedExpenseTotal) {\n recurrence.push({\n color: theme.palette.error.main,\n percentage: `${missedExpenseTotal / expenseTotal}`,\n })\n }\n return recurrence\n }, [\n paidExpenseTotal,\n expenseTotal,\n missedExpenseTotal,\n theme.palette.success.main,\n theme.palette.error.main,\n ])\n\n const renderLogosSection = () => {\n if (!hasLogos) {\n return <Stack sx={{ width: isSmallScreen ? 64 : 104 }} />\n }\n\n return isSmallScreen ? (\n <OverlappingMerchantLogos\n logoSize={logoSize}\n maxLogos={3}\n upcomingRecurrences={upcomingRecurrences.slice(0, 3)}\n />\n ) : (\n <MerchantLogosRow maxLogos={3} upcomingRecurrences={upcomingRecurrences.slice(0, 3)} />\n )\n }\n\n const recurrenceLegend = [\n {\n amount: paidExpenseTotal,\n bgColor: 'success.main',\n label: copy.paid,\n },\n {\n amount: missedExpenseTotal,\n bgColor: 'error.main',\n label: copy.missed,\n },\n {\n amount: upcomingExpenseTotal,\n bgColor: 'neutral.light',\n label: copy.upcoming,\n },\n ]\n\n return (\n <>\n <Stack ref={containerRef} sx={{ flexDirection: 'row', justifyContent: 'space-between' }}>\n <Stack\n sx={[\n expectedExpenseTotalFormatted.length >= 10 && isSmallScreen\n ? { flexDirection: 'column' }\n : { flexDirection: 'row', gap: 2 },\n {\n alignItems: 'baseline',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n ]}\n >\n <Text\n sx={{ width: '100%' }}\n variant={expectedExpenseTotalFormatted.length >= 10 && isSmallScreen ? 'h3' : 'h2'}\n >\n {expectedExpenseTotalFormatted}\n </Text>\n\n <P sx={{ pr: 12 }} variant=\"caption\">\n {copy.expected}\n </P>\n </Stack>\n {renderLogosSection()}\n </Stack>\n\n <Stack sx={{ pt: 12 }}>\n <StatusBar data={data} />\n\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n gap: 16,\n mt: 4,\n }}\n >\n {recurrenceLegend.map((legend, index) => (\n <RecurrenceLegend\n amount={legend.amount}\n bgcolor={legend.bgColor}\n isLargeScreen={isLargeScreen}\n isSmallScreen={isSmallScreen}\n key={`recurrence-legend-${index}`}\n label={legend.label}\n />\n ))}\n </Stack>\n </Stack>\n </>\n )\n})\n"],"mappings":";;;;;;;;;;;;;AAgBA,IAAa,IAAqB,EAAA,MAAe;AAC/C,QAAM,IAAQ,EAAS,GACjB,CAAC,GAAc,EAAE,OAAA,EAAA,CAAA,IAAW,EAAc,GAC1C,EACJ,qBAAA,GACA,cAAA,GACA,oBAAA,GACA,kBAAA,GACA,sBAAA,EAAA,IACE,EAA8B,GAC5B,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,IAAgB,KAAS,KACzB,IAAgB,KAAS,KACzB,IAAW,IACX,IAAW,EAAoB,SAAS,GAExC,IAAgC,EAAM,QAAA,MACnC,EAAe,GAAc,MAAiB,IAAI,QAAQ,QAAQ,GACxE,CAAC,CAAY,CAAC,GAEX,IAAO,EAAM,QAAA,MAAc;AAC/B,UAAM,IAAa,CACjB;AAAA,MAAE,OAAO,EAAM,QAAQ,QAAQ;AAAA,MAAM,YAAY,GAAG,IAAmB,CAAA;AAAA,IAAe,CACxF;AACA,WAAI,KACF,EAAW,KAAK;AAAA,MACd,OAAO,EAAM,QAAQ,MAAM;AAAA,MAC3B,YAAY,GAAG,IAAqB,CAAA;AAAA,IACtC,CAAC,GAEI;AAAA,EACT,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA,EAAM,QAAQ,QAAQ;AAAA,IACtB,EAAM,QAAQ,MAAM;AAAA,EACtB,CAAC,GAEK,IAAA,MACC,IAIE,IACL,gBAAA,EAAC,GAAD;AAAA,IACY,UAAA;AAAA,IACV,UAAU;AAAA,IACV,qBAAqB,EAAoB,MAAM,GAAG,CAAC;AAAA,EACpD,CAAA,IAED,gBAAA,EAAC,GAAD;AAAA,IAAkB,UAAU;AAAA,IAAG,qBAAqB,EAAoB,MAAM,GAAG,CAAC;AAAA,EAAI,CAAA,IAV/E,gBAAA,EAAC,GAAD,EAAO,IAAI,EAAE,OAAO,IAAgB,KAAK,IAAI,EAAI,CAAA,GActD,IAAmB;AAAA,IACvB;AAAA,MACE,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO,EAAK;AAAA,IACd;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO,EAAK;AAAA,IACd;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO,EAAK;AAAA,IACd;AAAA,EACF;AAEA,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IAAO,KAAK;AAAA,IAAc,IAAI;AAAA,MAAE,eAAe;AAAA,MAAO,gBAAgB;AAAA,IAAgB;AAAA,cAAtF,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI,CACF,EAA8B,UAAU,MAAM,IAC1C,EAAE,eAAe,SAAS,IAC1B;AAAA,QAAE,eAAe;AAAA,QAAO,KAAK;AAAA,MAAE,GACnC;AAAA,QACE,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,cAAc;AAAA,QACd,YAAY;AAAA,MACd,CACF;AAAA,gBAXF,CAaE,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI,EAAE,OAAO,OAAO;AAAA,QACpB,SAAS,EAA8B,UAAU,MAAM,IAAgB,OAAO;AAAA,kBAE7E;AAAA,MACG,CAAA,GAEN,gBAAA,EAAC,GAAD;AAAA,QAAG,IAAI,EAAE,IAAI,GAAG;AAAA,QAAG,SAAQ;AAAA,kBACxB,EAAK;AAAA,MACL,CAAA,CACE;AAAA,QACN,EAAmB,CACf;AAAA,MAEP,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI,EAAE,IAAI,GAAG;AAAA,cAApB,CACE,gBAAA,EAAC,GAAD,EAAiB,MAAA,EAAO,CAAA,GAExB,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,KAAK;AAAA,QACL,IAAI;AAAA,MACN;AAAA,gBAEC,EAAiB,IAAA,CAAK,GAAQ,MAC7B,gBAAA,EAAC,GAAD;AAAA,QACE,QAAQ,EAAO;AAAA,QACf,SAAS,EAAO;AAAA,QACD,eAAA;AAAA,QACA,eAAA;AAAA,QAEf,OAAO,EAAO;AAAA,MACf,GAFM,qBAAqB,CAAA,EAE3B,CACF;AAAA,IACI,CAAA,CACF;AAAA,IACP,EAAA,CAAA;AAEN,CAAC"}
1
+ {"version":3,"file":"MicroWidgetContent.es.js","names":[],"sources":["../../../src/recurringtransactions/components/MicroWidgetContent.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'\n\nimport { P, Text } from '@mxenabled/mxui'\n\nimport { StatusBar, useGlobalCopyStore, useRecurringTransactionsStore } from '../../common'\nimport { useDimensions } from '../../common/hooks/useDimensions'\n\nimport { RecurrenceLegend } from './micro/RecurrenceLegend'\nimport { OverlappingMerchantLogos } from './micro/OverlappingMerchantLogos'\nimport { MerchantLogosRow } from './micro/MerchantLogosRow'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\n\nexport const MicroWidgetContent = observer(() => {\n const theme = useTheme()\n const [containerRef, { width }] = useDimensions()\n const {\n upcomingRecurrences,\n expenseTotal,\n missedExpenseTotal,\n paidExpenseTotal,\n upcomingExpenseTotal,\n } = useRecurringTransactionsStore()\n const { recurring: copy } = useGlobalCopyStore()\n\n const isSmallScreen = width <= 288\n const isLargeScreen = width >= 450\n const logoSize = 32\n const hasLogos = upcomingRecurrences.length > 0\n\n const expectedExpenseTotalFormatted = React.useMemo(() => {\n return formatCurrency(expenseTotal, expenseTotal === 0 ? '0,0' : '0,0.00')\n }, [expenseTotal])\n\n const data = React.useMemo(() => {\n const recurrence = [\n { color: theme.palette.success.main, percentage: `${paidExpenseTotal / expenseTotal}` },\n ]\n if (missedExpenseTotal) {\n recurrence.push({\n color: theme.palette.error.main,\n percentage: `${missedExpenseTotal / expenseTotal}`,\n })\n }\n return recurrence\n }, [\n paidExpenseTotal,\n expenseTotal,\n missedExpenseTotal,\n theme.palette.success.main,\n theme.palette.error.main,\n ])\n\n const renderLogosSection = () => {\n if (!hasLogos) {\n return <Stack sx={{ width: isSmallScreen ? 64 : 104 }} />\n }\n\n return isSmallScreen ? (\n <OverlappingMerchantLogos\n logoSize={logoSize}\n maxLogos={3}\n upcomingRecurrences={upcomingRecurrences.slice(0, 3)}\n />\n ) : (\n <MerchantLogosRow maxLogos={3} upcomingRecurrences={upcomingRecurrences.slice(0, 3)} />\n )\n }\n\n const recurrenceLegend = [\n {\n amount: paidExpenseTotal,\n bgColor: 'success.main',\n label: copy.paid,\n },\n {\n amount: missedExpenseTotal,\n bgColor: 'error.main',\n label: copy.missed,\n },\n {\n amount: upcomingExpenseTotal,\n bgColor: 'neutral.light',\n label: copy.upcoming,\n },\n ]\n\n return (\n <>\n <Stack ref={containerRef} sx={{ flexDirection: 'row', justifyContent: 'space-between' }}>\n <Stack\n sx={[\n expectedExpenseTotalFormatted.length >= 10 && isSmallScreen\n ? { flexDirection: 'column' }\n : { flexDirection: 'row', gap: 2 },\n {\n alignItems: 'baseline',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n ]}\n >\n <Text\n sx={{ width: '100%' }}\n variant={expectedExpenseTotalFormatted.length >= 10 && isSmallScreen ? 'h3' : 'h2'}\n >\n {expectedExpenseTotalFormatted}\n </Text>\n\n <P sx={{ pr: 12 }} variant=\"caption\">\n {copy.expected}\n </P>\n </Stack>\n {renderLogosSection()}\n </Stack>\n\n <Stack sx={{ pt: 12 }}>\n <StatusBar data={data} />\n\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n gap: 16,\n mt: 4,\n }}\n >\n {recurrenceLegend.map((legend, index) => (\n <RecurrenceLegend\n amount={legend.amount}\n bgcolor={legend.bgColor}\n isLargeScreen={isLargeScreen}\n isSmallScreen={isSmallScreen}\n key={`recurrence-legend-${index}`}\n label={legend.label}\n />\n ))}\n </Stack>\n </Stack>\n </>\n )\n})\n"],"mappings":";;;;;;;;;;;;;AAgBA,IAAa,IAAqB,EAAA,MAAe;AAC/C,QAAM,IAAQ,EAAS,GACjB,CAAC,GAAc,EAAE,OAAA,EAAA,CAAA,IAAW,EAAc,GAC1C,EACJ,qBAAA,GACA,cAAA,GACA,oBAAA,GACA,kBAAA,GACA,sBAAA,EAAA,IACE,EAA8B,GAC5B,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,IAAgB,KAAS,KACzB,IAAgB,KAAS,KACzB,IAAW,IACX,IAAW,EAAoB,SAAS,GAExC,IAAgC,EAAM,QAAA,MACnC,EAAe,GAAc,MAAiB,IAAI,QAAQ,QAAQ,GACxE,CAAC,CAAY,CAAC,GAEX,IAAO,EAAM,QAAA,MAAc;AAC/B,UAAM,IAAa,CACjB;AAAA,MAAE,OAAO,EAAM,QAAQ,QAAQ;AAAA,MAAM,YAAY,GAAG,IAAmB,CAAA;AAAA,IAAe,CACxF;AACA,WAAI,KACF,EAAW,KAAK;AAAA,MACd,OAAO,EAAM,QAAQ,MAAM;AAAA,MAC3B,YAAY,GAAG,IAAqB,CAAA;AAAA,IACtC,CAAC,GAEI;AAAA,EACT,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA,EAAM,QAAQ,QAAQ;AAAA,IACtB,EAAM,QAAQ,MAAM;AAAA,EACtB,CAAC,GAEK,IAAA,MACC,IAIE,IACL,gBAAA,EAAC,GAAD;AAAA,IACY,UAAA;AAAA,IACV,UAAU;AAAA,IACV,qBAAqB,EAAoB,MAAM,GAAG,CAAC;AAAA,EACpD,CAAA,IAED,gBAAA,EAAC,GAAD;AAAA,IAAkB,UAAU;AAAA,IAAG,qBAAqB,EAAoB,MAAM,GAAG,CAAC;AAAA,EAAI,CAAA,IAV/E,gBAAA,EAAC,GAAD,EAAO,IAAI,EAAE,OAAO,IAAgB,KAAK,IAAI,EAAI,CAAA,GActD,IAAmB;AAAA,IACvB;AAAA,MACE,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO,EAAK;AAAA,IACd;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO,EAAK;AAAA,IACd;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO,EAAK;AAAA,IACd;AAAA,EACF;AAEA,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IAAO,KAAK;AAAA,IAAc,IAAI;AAAA,MAAE,eAAe;AAAA,MAAO,gBAAgB;AAAA,IAAgB;AAAA,IAAtF,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI,CACF,EAA8B,UAAU,MAAM,IAC1C,EAAE,eAAe,SAAS,IAC1B;AAAA,QAAE,eAAe;AAAA,QAAO,KAAK;AAAA,MAAE,GACnC;AAAA,QACE,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,cAAc;AAAA,QACd,YAAY;AAAA,MACd,CACF;AAAA,MAXF,UAAA,CAaE,gBAAA,EAAC,GAAD;AAAA,QACE,IAAI,EAAE,OAAO,OAAO;AAAA,QACpB,SAAS,EAA8B,UAAU,MAAM,IAAgB,OAAO;AAAA,QAE7E,UAAA;AAAA,MACG,CAAA,GAEN,gBAAA,EAAC,GAAD;AAAA,QAAG,IAAI,EAAE,IAAI,GAAG;AAAA,QAAG,SAAQ;AAAA,QACxB,UAAA,EAAK;AAAA,MACL,CAAA,CACE;AAAA,IACN,CAAA,GAAA,EAAmB,CACf;AAAA,EAEP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI,EAAE,IAAI,GAAG;AAAA,IAApB,UAAA,CACE,gBAAA,EAAC,GAAD,EAAiB,MAAA,EAAO,CAAA,GAExB,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,KAAK;AAAA,QACL,IAAI;AAAA,MACN;AAAA,MAEC,UAAA,EAAiB,IAAA,CAAK,GAAQ,MAC7B,gBAAA,EAAC,GAAD;AAAA,QACE,QAAQ,EAAO;AAAA,QACf,SAAS,EAAO;AAAA,QACD,eAAA;AAAA,QACA,eAAA;AAAA,QAEf,OAAO,EAAO;AAAA,MACf,GAFM,qBAAqB,CAAA,EAE3B,CACF;AAAA,IACI,CAAA,CACF;AAAA,EACP,CAAA,CAAA,EAAA,CAAA;AAEN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MiniWidgetContent.es.js","names":[],"sources":["../../../src/recurringtransactions/components/MiniWidgetContent.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport Stack from '@mui/material/Stack'\n\nimport {\n useGlobalCopyStore,\n useRecurringTransactionsStore,\n useWidgetContainerProvider,\n} from '../../common'\nimport { type Recurrence } from '../../core'\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\n\nimport { RecurrenceCalendar } from './recurrencecalendar/RecurrenceCalendar'\nimport { RecurrenceList } from './RecurrenceList'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\nexport const MiniWidgetContent = observer(() => {\n const { recurring: copy } = useGlobalCopyStore()\n const { availableWidth } = useWidgetContainerProvider()\n const {\n selectedDay,\n selectedDayRecurrences,\n setSelectedDay,\n setSelectedRecurrence,\n setSelectedRepeatingTransactionGuid,\n upcomingRecurrences,\n } = useRecurringTransactionsStore()\n\n const onRecurrenceClick = (recurrence: Recurrence) => {\n setSelectedRepeatingTransactionGuid(recurrence.repeatingTransactionGuid)\n setSelectedRecurrence(recurrence)\n }\n\n const isSmall = availableWidth < 750\n\n return (\n <Stack flexDirection={isSmall ? 'column' : 'row'} width=\"100%\">\n <RecurrenceCalendar />\n\n {!isSmall && <Divider flexItem={true} orientation=\"vertical\" sx={{ my: 16, ml: 16 }} />}\n\n <RecurrenceList\n isMini={true}\n onRecurrenceClick={onRecurrenceClick}\n onResetClick={selectedDay ? () => setSelectedDay(selectedDay) : undefined}\n recurrences={selectedDayRecurrences || upcomingRecurrences.slice(0, 5)}\n sx={{ width: isSmall ? '100%' : 'calc(100% - 336px)', mt: 12 }}\n title={\n selectedDay\n ? (buildDynamicCopy(\n copy.day_transactions,\n formatDate(selectedDay, DATE_FORMATS_INTL.MONTH_DAY),\n ) as string)\n : copy.upcoming_activity\n }\n />\n </Stack>\n )\n})\n"],"mappings":";;;;;;;;;AAiBA,IAAa,IAAoB,EAAA,MAAe;AAC9C,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,gBAAA,EAAA,IAAmB,EAA2B,GAChD,EACJ,aAAA,GACA,wBAAA,GACA,gBAAA,GACA,uBAAA,GACA,qCAAA,GACA,qBAAA,EAAA,IACE,EAA8B,GAE5B,IAAA,CAAqB,MAA2B;AACpD,IAAA,EAAoC,EAAW,wBAAwB,GACvE,EAAsB,CAAU;AAAA,EAClC,GAEM,IAAU,IAAiB;AAEjC,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,eAAe,IAAU,WAAW;AAAA,IAAO,OAAM;AAAA,cAAxD;AAAA,MACE,gBAAA,EAAC,GAAD,CAAqB,CAAA;AAAA,MAEpB,CAAC,KAAW,gBAAA,EAAC,GAAD;AAAA,QAAS,UAAU;AAAA,QAAM,aAAY;AAAA,QAAW,IAAI;AAAA,UAAE,IAAI;AAAA,UAAI,IAAI;AAAA,QAAG;AAAA,MAAI,CAAA;AAAA,MAEtF,gBAAA,EAAC,GAAD;AAAA,QACE,QAAQ;AAAA,QACW,mBAAA;AAAA,QACnB,cAAc,IAAA,MAAoB,EAAe,CAAW,IAAI;AAAA,QAChE,aAAa,KAA0B,EAAoB,MAAM,GAAG,CAAC;AAAA,QACrE,IAAI;AAAA,UAAE,OAAO,IAAU,SAAS;AAAA,UAAsB,IAAI;AAAA,QAAG;AAAA,QAC7D,OACE,IACK,EACC,EAAK,kBACL,EAAW,GAAa,EAAkB,SAAS,CACrD,IACA,EAAK;AAAA,MAEZ,CAAA;AAAA,IACI;AAAA;AAEX,CAAC"}
1
+ {"version":3,"file":"MiniWidgetContent.es.js","names":[],"sources":["../../../src/recurringtransactions/components/MiniWidgetContent.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport Stack from '@mui/material/Stack'\n\nimport {\n useGlobalCopyStore,\n useRecurringTransactionsStore,\n useWidgetContainerProvider,\n} from '../../common'\nimport { type Recurrence } from '../../core'\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\n\nimport { RecurrenceCalendar } from './recurrencecalendar/RecurrenceCalendar'\nimport { RecurrenceList } from './RecurrenceList'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\nexport const MiniWidgetContent = observer(() => {\n const { recurring: copy } = useGlobalCopyStore()\n const { availableWidth } = useWidgetContainerProvider()\n const {\n selectedDay,\n selectedDayRecurrences,\n setSelectedDay,\n setSelectedRecurrence,\n setSelectedRepeatingTransactionGuid,\n upcomingRecurrences,\n } = useRecurringTransactionsStore()\n\n const onRecurrenceClick = (recurrence: Recurrence) => {\n setSelectedRepeatingTransactionGuid(recurrence.repeatingTransactionGuid)\n setSelectedRecurrence(recurrence)\n }\n\n const isSmall = availableWidth < 750\n\n return (\n <Stack flexDirection={isSmall ? 'column' : 'row'} width=\"100%\">\n <RecurrenceCalendar />\n\n {!isSmall && <Divider flexItem={true} orientation=\"vertical\" sx={{ my: 16, ml: 16 }} />}\n\n <RecurrenceList\n isMini={true}\n onRecurrenceClick={onRecurrenceClick}\n onResetClick={selectedDay ? () => setSelectedDay(selectedDay) : undefined}\n recurrences={selectedDayRecurrences || upcomingRecurrences.slice(0, 5)}\n sx={{ width: isSmall ? '100%' : 'calc(100% - 336px)', mt: 12 }}\n title={\n selectedDay\n ? (buildDynamicCopy(\n copy.day_transactions,\n formatDate(selectedDay, DATE_FORMATS_INTL.MONTH_DAY),\n ) as string)\n : copy.upcoming_activity\n }\n />\n </Stack>\n )\n})\n"],"mappings":";;;;;;;;;AAiBA,IAAa,IAAoB,EAAA,MAAe;AAC9C,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EAAE,gBAAA,EAAA,IAAmB,EAA2B,GAChD,EACJ,aAAA,GACA,wBAAA,GACA,gBAAA,GACA,uBAAA,GACA,qCAAA,GACA,qBAAA,EAAA,IACE,EAA8B,GAE5B,IAAA,CAAqB,MAA2B;AACpD,IAAA,EAAoC,EAAW,wBAAwB,GACvE,EAAsB,CAAU;AAAA,EAClC,GAEM,IAAU,IAAiB;AAEjC,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,eAAe,IAAU,WAAW;AAAA,IAAO,OAAM;AAAA,IAAxD,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD,CAAqB,CAAA;AAAA,MAEpB,CAAC,KAAW,gBAAA,EAAC,GAAD;AAAA,QAAS,UAAU;AAAA,QAAM,aAAY;AAAA,QAAW,IAAI;AAAA,UAAE,IAAI;AAAA,UAAI,IAAI;AAAA,QAAG;AAAA,MAAI,CAAA;AAAA,MAEtF,gBAAA,EAAC,GAAD;AAAA,QACE,QAAQ;AAAA,QACW,mBAAA;AAAA,QACnB,cAAc,IAAA,MAAoB,EAAe,CAAW,IAAI;AAAA,QAChE,aAAa,KAA0B,EAAoB,MAAM,GAAG,CAAC;AAAA,QACrE,IAAI;AAAA,UAAE,OAAO,IAAU,SAAS;AAAA,UAAsB,IAAI;AAAA,QAAG;AAAA,QAC7D,OACE,IACK,EACC,EAAK,kBACL,EAAW,GAAa,EAAkB,SAAS,CACrD,IACA,EAAK;AAAA,MAEZ,CAAA;AAAA,IACI;AAAA;AAEX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentSchedule.es.js","names":[],"sources":["../../../src/recurringtransactions/components/PaymentSchedule.tsx"],"sourcesContent":["import React from 'react'\nimport { addYears } from 'date-fns/addYears'\nimport { getDayOfYear } from 'date-fns/getDayOfYear'\nimport { setDayOfYear } from 'date-fns/setDayOfYear'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subDays } from 'date-fns/subDays'\n\nimport Stack from '@mui/material/Stack'\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV3'\nimport { DatePicker } from '@mui/x-date-pickers'\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'\n\nimport { Select, useGlobalCopyStore } from '../../common'\nimport { Frequency } from '../../core'\nimport { formatOrdinal } from '../../core/utils/NumberFormatting'\n\ninterface PaymentScheduleProps {\n frequency: Frequency\n firstDay: number\n secondDay?: number\n onFrequencyChange: (frequency: Frequency) => void\n onFirstDayChange: (day: number) => void\n onSecondDayChange: (day: number) => void\n}\n\nexport const PaymentSchedule = ({\n frequency,\n firstDay,\n secondDay,\n onFrequencyChange,\n onFirstDayChange,\n onSecondDayChange,\n}: PaymentScheduleProps) => {\n const { recurring: copy } = useGlobalCopyStore()\n\n const frequencies = React.useMemo(\n () => [\n { id: Frequency.EveryWeek, label: copy.frequency_every_week },\n { id: Frequency.EveryOtherWeek, label: copy.frequency_every_other_week },\n { id: Frequency.TwiceAMonth, label: copy.frequency_twice_a_month },\n { id: Frequency.EveryMonth, label: copy.frequency_every_month },\n { id: Frequency.EveryOtherMonth, label: copy.frequency_every_other_month },\n { id: Frequency.EveryQuarter, label: copy.frequency_every_quarter },\n { id: Frequency.EveryOtherQuarter, label: copy.frequency_every_other_quarter },\n { id: Frequency.EveryYear, label: copy.frequency_every_year },\n ],\n [copy],\n )\n\n const daysOfWeek = [\n { id: 0, label: copy.weekday_sunday },\n { id: 1, label: copy.weekday_monday },\n { id: 2, label: copy.weekday_tuesday },\n { id: 3, label: copy.weekday_wednesday },\n { id: 4, label: copy.weekday_thursday },\n { id: 5, label: copy.weekday_friday },\n { id: 6, label: copy.weekday_saturday },\n ]\n\n const daysOfMonth = [...Array(31).keys()].map((day) => ({\n id: day + 1,\n label: formatOrdinal(day + 1),\n }))\n daysOfMonth[30].label += ` (${copy.last_day_of_month})`\n\n const beginDaysOfMonth = daysOfMonth.slice(0, 15)\n const endDaysOfMonth = daysOfMonth.slice(14)\n\n const weeklyType = frequency === Frequency.EveryWeek || frequency === Frequency.EveryOtherWeek\n const monthlyType =\n frequency === Frequency.TwiceAMonth ||\n frequency === Frequency.EveryMonth ||\n frequency === Frequency.EveryOtherMonth ||\n frequency === Frequency.EveryQuarter ||\n frequency === Frequency.EveryOtherQuarter\n\n const tempDayOfYear = setDayOfYear(startOfToday(), firstDay)\n const dayOfYear = tempDayOfYear < startOfToday() ? addYears(tempDayOfYear, 1) : tempDayOfYear\n\n const handleYearlyChange = (date: Date | null) => {\n if (date) {\n onFirstDayChange(getDayOfYear(date))\n }\n }\n\n return (\n <Stack gap={24} sx={{ m: 24 }}>\n <Select\n label={copy.frequency}\n onChange={onFrequencyChange}\n options={frequencies}\n value={frequency}\n />\n {weeklyType && (\n <Select\n label={copy.day_of_the_week}\n onChange={onFirstDayChange}\n options={daysOfWeek}\n value={firstDay}\n />\n )}\n {monthlyType && (\n <Select\n label={\n frequency === Frequency.TwiceAMonth\n ? copy.first_day_of_the_month\n : copy.day_of_the_month\n }\n onChange={onFirstDayChange}\n options={frequency === Frequency.TwiceAMonth ? beginDaysOfMonth : daysOfMonth}\n value={firstDay}\n />\n )}\n {frequency === Frequency.TwiceAMonth && (\n <Select\n label={copy.second_day_of_the_month}\n onChange={onSecondDayChange}\n options={endDaysOfMonth}\n value={secondDay ?? ''}\n />\n )}\n {frequency === Frequency.EveryYear && (\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <DatePicker\n disablePast={true}\n label={copy.next_payment_date}\n maxDate={subDays(addYears(startOfToday(), 1), 1)}\n minDate={startOfToday()}\n onChange={handleYearlyChange}\n value={dayOfYear}\n />\n </LocalizationProvider>\n )}\n </Stack>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"PaymentSchedule.es.js","names":[],"sources":["../../../src/recurringtransactions/components/PaymentSchedule.tsx"],"sourcesContent":["import React from 'react'\nimport { addYears } from 'date-fns/addYears'\nimport { getDayOfYear } from 'date-fns/getDayOfYear'\nimport { setDayOfYear } from 'date-fns/setDayOfYear'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subDays } from 'date-fns/subDays'\n\nimport Stack from '@mui/material/Stack'\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV3'\nimport { DatePicker } from '@mui/x-date-pickers'\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'\n\nimport { Select, useGlobalCopyStore } from '../../common'\nimport { Frequency } from '../../core'\nimport { formatOrdinal } from '../../core/utils/NumberFormatting'\n\ninterface PaymentScheduleProps {\n frequency: Frequency\n firstDay: number\n secondDay?: number\n onFrequencyChange: (frequency: Frequency) => void\n onFirstDayChange: (day: number) => void\n onSecondDayChange: (day: number) => void\n}\n\nexport const PaymentSchedule = ({\n frequency,\n firstDay,\n secondDay,\n onFrequencyChange,\n onFirstDayChange,\n onSecondDayChange,\n}: PaymentScheduleProps) => {\n const { recurring: copy } = useGlobalCopyStore()\n\n const frequencies = React.useMemo(\n () => [\n { id: Frequency.EveryWeek, label: copy.frequency_every_week },\n { id: Frequency.EveryOtherWeek, label: copy.frequency_every_other_week },\n { id: Frequency.TwiceAMonth, label: copy.frequency_twice_a_month },\n { id: Frequency.EveryMonth, label: copy.frequency_every_month },\n { id: Frequency.EveryOtherMonth, label: copy.frequency_every_other_month },\n { id: Frequency.EveryQuarter, label: copy.frequency_every_quarter },\n { id: Frequency.EveryOtherQuarter, label: copy.frequency_every_other_quarter },\n { id: Frequency.EveryYear, label: copy.frequency_every_year },\n ],\n [copy],\n )\n\n const daysOfWeek = [\n { id: 0, label: copy.weekday_sunday },\n { id: 1, label: copy.weekday_monday },\n { id: 2, label: copy.weekday_tuesday },\n { id: 3, label: copy.weekday_wednesday },\n { id: 4, label: copy.weekday_thursday },\n { id: 5, label: copy.weekday_friday },\n { id: 6, label: copy.weekday_saturday },\n ]\n\n const daysOfMonth = [...Array(31).keys()].map((day) => ({\n id: day + 1,\n label: formatOrdinal(day + 1),\n }))\n daysOfMonth[30].label += ` (${copy.last_day_of_month})`\n\n const beginDaysOfMonth = daysOfMonth.slice(0, 15)\n const endDaysOfMonth = daysOfMonth.slice(14)\n\n const weeklyType = frequency === Frequency.EveryWeek || frequency === Frequency.EveryOtherWeek\n const monthlyType =\n frequency === Frequency.TwiceAMonth ||\n frequency === Frequency.EveryMonth ||\n frequency === Frequency.EveryOtherMonth ||\n frequency === Frequency.EveryQuarter ||\n frequency === Frequency.EveryOtherQuarter\n\n const tempDayOfYear = setDayOfYear(startOfToday(), firstDay)\n const dayOfYear = tempDayOfYear < startOfToday() ? addYears(tempDayOfYear, 1) : tempDayOfYear\n\n const handleYearlyChange = (date: Date | null) => {\n if (date) {\n onFirstDayChange(getDayOfYear(date))\n }\n }\n\n return (\n <Stack gap={24} sx={{ m: 24 }}>\n <Select\n label={copy.frequency}\n onChange={onFrequencyChange}\n options={frequencies}\n value={frequency}\n />\n {weeklyType && (\n <Select\n label={copy.day_of_the_week}\n onChange={onFirstDayChange}\n options={daysOfWeek}\n value={firstDay}\n />\n )}\n {monthlyType && (\n <Select\n label={\n frequency === Frequency.TwiceAMonth\n ? copy.first_day_of_the_month\n : copy.day_of_the_month\n }\n onChange={onFirstDayChange}\n options={frequency === Frequency.TwiceAMonth ? beginDaysOfMonth : daysOfMonth}\n value={firstDay}\n />\n )}\n {frequency === Frequency.TwiceAMonth && (\n <Select\n label={copy.second_day_of_the_month}\n onChange={onSecondDayChange}\n options={endDaysOfMonth}\n value={secondDay ?? ''}\n />\n )}\n {frequency === Frequency.EveryYear && (\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <DatePicker\n disablePast={true}\n label={copy.next_payment_date}\n maxDate={subDays(addYears(startOfToday(), 1), 1)}\n minDate={startOfToday()}\n onChange={handleYearlyChange}\n value={dayOfYear}\n />\n </LocalizationProvider>\n )}\n </Stack>\n )\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecurrenceBadges.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurrenceBadges.tsx"],"sourcesContent":["import { Schedule } from '@mxenabled/mx-icons'\nimport { MonetizationOn } from '@mxenabled/mx-icons'\nimport { Cancel } from '@mxenabled/mx-icons'\nimport { CheckCircle } from '@mxenabled/mx-icons'\n\nimport IconBacking from '../../common/components/IconBacking'\n\nconst iconStyle = {\n gridRow: 1,\n gridColumn: 1,\n zIndex: 2,\n}\n\nconst offsetStyle = (isOffset: boolean) => {\n return isOffset ? { margin: '0 0 -6px -4px' } : undefined\n}\n\nexport const UpcomingExpenseBadge = ({ isOffset = false, size = 16 }) => (\n <IconBacking\n backingSx={{ backgroundColor: 'background.paper' }}\n size={size}\n sx={{ ...offsetStyle(isOffset) }}\n >\n <Schedule color=\"primary\" filled={true} sx={{ fontSize: size, ...iconStyle }} />\n </IconBacking>\n)\n\nexport const IncomeBadge = ({ isOffset = false, size = 16 }) => (\n <IconBacking\n backingSx={{ backgroundColor: 'background.paper' }}\n size={size}\n sx={{ ...offsetStyle(isOffset) }}\n >\n <MonetizationOn\n filled={true}\n sx={{ color: 'categories.income', fontSize: size, ...iconStyle }}\n />\n </IconBacking>\n)\n\nexport const MissedBadge = ({ isOffset = false, size = 16 }) => (\n <IconBacking\n backingSx={{ backgroundColor: 'background.paper' }}\n size={size}\n sx={{ ...offsetStyle(isOffset) }}\n >\n <Cancel color=\"error\" filled={true} sx={{ fontSize: size, ...iconStyle }} />\n </IconBacking>\n)\n\nexport const PaidBadge = ({ isOffset = false, size = 16 }) => (\n <IconBacking\n backingSx={{ backgroundColor: 'background.paper' }}\n size={size}\n sx={{ ...offsetStyle(isOffset) }}\n >\n <CheckCircle color=\"success\" filled={true} sx={{ fontSize: size, ...iconStyle }} />\n </IconBacking>\n)\n"],"mappings":";;;AAOA,IAAM,IAAY;AAAA,EAChB,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,QAAQ;AACV,GAEM,IAAA,CAAe,MACZ,IAAW,EAAE,QAAQ,gBAAgB,IAAI,QAGrC,IAAA,CAAwB,EAAE,UAAA,IAAW,IAAO,MAAA,IAAO,GAAA,MAC9D,gBAAA,EAAC,GAAD;AAAA,EACE,WAAW,EAAE,iBAAiB,mBAAmB;AAAA,EAC3C,MAAA;AAAA,EACN,IAAI,EAAE,GAAG,EAAY,CAAQ,EAAE;AAAA,YAE/B,gBAAA,EAAC,GAAD;AAAA,IAAU,OAAM;AAAA,IAAU,QAAQ;AAAA,IAAM,IAAI;AAAA,MAAE,UAAU;AAAA,MAAM,GAAG;AAAA,IAAU;AAAA,EAAI,CAAA;AACpE,CAAA,GAGF,IAAA,CAAe,EAAE,UAAA,IAAW,IAAO,MAAA,IAAO,GAAA,MACrD,gBAAA,EAAC,GAAD;AAAA,EACE,WAAW,EAAE,iBAAiB,mBAAmB;AAAA,EAC3C,MAAA;AAAA,EACN,IAAI,EAAE,GAAG,EAAY,CAAQ,EAAE;AAAA,YAE/B,gBAAA,EAAC,GAAD;AAAA,IACE,QAAQ;AAAA,IACR,IAAI;AAAA,MAAE,OAAO;AAAA,MAAqB,UAAU;AAAA,MAAM,GAAG;AAAA,IAAU;AAAA,EAChE,CAAA;AACU,CAAA,GAGF,IAAA,CAAe,EAAE,UAAA,IAAW,IAAO,MAAA,IAAO,GAAA,MACrD,gBAAA,EAAC,GAAD;AAAA,EACE,WAAW,EAAE,iBAAiB,mBAAmB;AAAA,EAC3C,MAAA;AAAA,EACN,IAAI,EAAE,GAAG,EAAY,CAAQ,EAAE;AAAA,YAE/B,gBAAA,EAAC,GAAD;AAAA,IAAQ,OAAM;AAAA,IAAQ,QAAQ;AAAA,IAAM,IAAI;AAAA,MAAE,UAAU;AAAA,MAAM,GAAG;AAAA,IAAU;AAAA,EAAI,CAAA;AAChE,CAAA,GAGF,IAAA,CAAa,EAAE,UAAA,IAAW,IAAO,MAAA,IAAO,GAAA,MACnD,gBAAA,EAAC,GAAD;AAAA,EACE,WAAW,EAAE,iBAAiB,mBAAmB;AAAA,EAC3C,MAAA;AAAA,EACN,IAAI,EAAE,GAAG,EAAY,CAAQ,EAAE;AAAA,YAE/B,gBAAA,EAAC,GAAD;AAAA,IAAa,OAAM;AAAA,IAAU,QAAQ;AAAA,IAAM,IAAI;AAAA,MAAE,UAAU;AAAA,MAAM,GAAG;AAAA,IAAU;AAAA,EAAI,CAAA;AACvE,CAAA"}
1
+ {"version":3,"file":"RecurrenceBadges.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurrenceBadges.tsx"],"sourcesContent":["import { Schedule } from '@mxenabled/mx-icons'\nimport { MonetizationOn } from '@mxenabled/mx-icons'\nimport { Cancel } from '@mxenabled/mx-icons'\nimport { CheckCircle } from '@mxenabled/mx-icons'\n\nimport IconBacking from '../../common/components/IconBacking'\n\nconst iconStyle = {\n gridRow: 1,\n gridColumn: 1,\n zIndex: 2,\n}\n\nconst offsetStyle = (isOffset: boolean) => {\n return isOffset ? { margin: '0 0 -6px -4px' } : undefined\n}\n\nexport const UpcomingExpenseBadge = ({ isOffset = false, size = 16 }) => (\n <IconBacking\n backingSx={{ backgroundColor: 'background.paper' }}\n size={size}\n sx={{ ...offsetStyle(isOffset) }}\n >\n <Schedule color=\"primary\" filled={true} sx={{ fontSize: size, ...iconStyle }} />\n </IconBacking>\n)\n\nexport const IncomeBadge = ({ isOffset = false, size = 16 }) => (\n <IconBacking\n backingSx={{ backgroundColor: 'background.paper' }}\n size={size}\n sx={{ ...offsetStyle(isOffset) }}\n >\n <MonetizationOn\n filled={true}\n sx={{ color: 'categories.income', fontSize: size, ...iconStyle }}\n />\n </IconBacking>\n)\n\nexport const MissedBadge = ({ isOffset = false, size = 16 }) => (\n <IconBacking\n backingSx={{ backgroundColor: 'background.paper' }}\n size={size}\n sx={{ ...offsetStyle(isOffset) }}\n >\n <Cancel color=\"error\" filled={true} sx={{ fontSize: size, ...iconStyle }} />\n </IconBacking>\n)\n\nexport const PaidBadge = ({ isOffset = false, size = 16 }) => (\n <IconBacking\n backingSx={{ backgroundColor: 'background.paper' }}\n size={size}\n sx={{ ...offsetStyle(isOffset) }}\n >\n <CheckCircle color=\"success\" filled={true} sx={{ fontSize: size, ...iconStyle }} />\n </IconBacking>\n)\n"],"mappings":";;;AAOA,IAAM,IAAY;AAAA,EAChB,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,QAAQ;AACV,GAEM,IAAA,CAAe,MACZ,IAAW,EAAE,QAAQ,gBAAgB,IAAI,QAGrC,IAAA,CAAwB,EAAE,UAAA,IAAW,IAAO,MAAA,IAAO,GAAA,MAC9D,gBAAA,EAAC,GAAD;AAAA,EACE,WAAW,EAAE,iBAAiB,mBAAmB;AAAA,EAC3C,MAAA;AAAA,EACN,IAAI,EAAE,GAAG,EAAY,CAAQ,EAAE;AAAA,EAE/B,UAAA,gBAAA,EAAC,GAAD;AAAA,IAAU,OAAM;AAAA,IAAU,QAAQ;AAAA,IAAM,IAAI;AAAA,MAAE,UAAU;AAAA,MAAM,GAAG;AAAA,IAAU;AAAA,EAAI,CAAA;AACpE,CAAA,GAGF,IAAA,CAAe,EAAE,UAAA,IAAW,IAAO,MAAA,IAAO,GAAA,MACrD,gBAAA,EAAC,GAAD;AAAA,EACE,WAAW,EAAE,iBAAiB,mBAAmB;AAAA,EAC3C,MAAA;AAAA,EACN,IAAI,EAAE,GAAG,EAAY,CAAQ,EAAE;AAAA,EAE/B,UAAA,gBAAA,EAAC,GAAD;AAAA,IACE,QAAQ;AAAA,IACR,IAAI;AAAA,MAAE,OAAO;AAAA,MAAqB,UAAU;AAAA,MAAM,GAAG;AAAA,IAAU;AAAA,EAChE,CAAA;AACU,CAAA,GAGF,IAAA,CAAe,EAAE,UAAA,IAAW,IAAO,MAAA,IAAO,GAAA,MACrD,gBAAA,EAAC,GAAD;AAAA,EACE,WAAW,EAAE,iBAAiB,mBAAmB;AAAA,EAC3C,MAAA;AAAA,EACN,IAAI,EAAE,GAAG,EAAY,CAAQ,EAAE;AAAA,EAE/B,UAAA,gBAAA,EAAC,GAAD;AAAA,IAAQ,OAAM;AAAA,IAAQ,QAAQ;AAAA,IAAM,IAAI;AAAA,MAAE,UAAU;AAAA,MAAM,GAAG;AAAA,IAAU;AAAA,EAAI,CAAA;AAChE,CAAA,GAGF,IAAA,CAAa,EAAE,UAAA,IAAW,IAAO,MAAA,IAAO,GAAA,MACnD,gBAAA,EAAC,GAAD;AAAA,EACE,WAAW,EAAE,iBAAiB,mBAAmB;AAAA,EAC3C,MAAA;AAAA,EACN,IAAI,EAAE,GAAG,EAAY,CAAQ,EAAE;AAAA,EAE/B,UAAA,gBAAA,EAAC,GAAD;AAAA,IAAa,OAAM;AAAA,IAAU,QAAQ;AAAA,IAAM,IAAI;AAAA,MAAE,UAAU;AAAA,MAAM,GAAG;AAAA,IAAU;AAAA,EAAI,CAAA;AACvE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecurrenceList.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurrenceList.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport ListSubheader from '@mui/material/ListSubheader'\nimport Stack from '@mui/material/Stack'\nimport { type SxProps } from '@mui/material/styles'\n\nimport { H3, Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../common'\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { type Recurrence } from '../../core'\n\nimport { groupRecurrencesByDate } from '../../core/utils/RecurringTransactionsUtil'\n\nimport { RecurrenceRow } from './RecurrenceRow'\n\ninterface RecurrenceListProps {\n recurrences: Recurrence[]\n isMini?: boolean\n onResetClick?: () => void\n onRecurrenceClick?: (recurrence: Recurrence) => void\n sx?: SxProps\n title?: string\n}\n\nexport const RecurrenceList = observer(\n ({\n recurrences,\n isMini = false,\n onResetClick,\n onRecurrenceClick,\n sx = {},\n title,\n }: RecurrenceListProps) => {\n const { recurring: copy } = useGlobalCopyStore()\n\n const groupedRecurrences = React.useMemo(() => {\n return groupRecurrencesByDate(recurrences)\n }, [recurrences])\n\n return (\n <Stack id=\"recurrence-list\" sx={{ gap: 8, mt: 4, ...sx }} tabIndex={-1}>\n {title && (\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n px: 24,\n }}\n >\n <H3 bold={true} variant=\"body1\">\n {title}\n </H3>\n {onResetClick && (\n <Button onClick={onResetClick} size=\"small\" variant=\"text\">\n {copy.reset}\n </Button>\n )}\n </Stack>\n )}\n\n {recurrences.length === 0 ? (\n <Text fontStyle=\"italic\" sx={{ py: 24, textAlign: 'center' }}>\n {copy.no_activities}\n </Text>\n ) : (\n <List aria-label={title}>\n {isMini\n ? recurrences.map((recurrence, index) => (\n <React.Fragment key={`recurrence-${index}`}>\n <RecurrenceRow\n isMini={isMini}\n onRecurrenceClick={onRecurrenceClick}\n recurrence={recurrence}\n />\n <Divider sx={{ mx: 24 }} />\n </React.Fragment>\n ))\n : groupedRecurrences.map((group, index) => (\n <React.Fragment key={`recurrence-${index}`}>\n <ListItem key={group.id}>\n <List\n aria-labelledby={`date-group-header-${group.id}`}\n subheader={\n <ListSubheader\n aria-hidden=\"true\"\n id={`date-group-header-${group.id}`}\n role=\"presentation\"\n sx={{ bgcolor: 'background.paper', ml: 8, pb: 4, pt: 12 }}\n >\n <Text bold={true} variant=\"caption\">\n {formatDate(group.date, DATE_FORMATS_INTL.DAY_OF_WEEK_MONTH_DAY)}\n </Text>\n </ListSubheader>\n }\n sx={{ width: '100%' }}\n >\n {group.recurrences.map((recurrence, index) => (\n <React.Fragment key={`day-recurrence-${index}`}>\n <RecurrenceRow\n isMini={isMini}\n onRecurrenceClick={onRecurrenceClick}\n recurrence={recurrence}\n />\n </React.Fragment>\n ))}\n </List>\n </ListItem>\n <Divider sx={{ mx: 24 }} />\n </React.Fragment>\n ))}\n </List>\n )}\n </Stack>\n )\n },\n)\n"],"mappings":";;;;;;;;;;;;;;AA8BA,IAAa,IAAiB,EAAA,CAC3B,EACC,aAAA,GACA,QAAA,IAAS,IACT,cAAA,GACA,mBAAA,GACA,IAAA,IAAK,CAAC,GACN,OAAA,EAAA,MACyB;AACzB,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,IAAqB,EAAM,QAAA,MACxB,EAAuB,CAAW,GACxC,CAAC,CAAW,CAAC;AAEhB,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAG;AAAA,IAAkB,IAAI;AAAA,MAAE,KAAK;AAAA,MAAG,IAAI;AAAA,MAAG,GAAG;AAAA,IAAG;AAAA,IAAG,UAAU;AAAA,cAApE,CACG,KACC,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,IAAI;AAAA,MACN;AAAA,gBANF,CAQE,gBAAA,EAAC,GAAD;AAAA,QAAI,MAAM;AAAA,QAAM,SAAQ;AAAA,kBACrB;AAAA,MACC,CAAA,GACH,KACC,gBAAA,EAAC,GAAD;AAAA,QAAQ,SAAS;AAAA,QAAc,MAAK;AAAA,QAAQ,SAAQ;AAAA,kBACjD,EAAK;AAAA,MACA,CAAA,CAEL;AAAA,QAGR,EAAY,WAAW,IACtB,gBAAA,EAAC,GAAD;AAAA,MAAM,WAAU;AAAA,MAAS,IAAI;AAAA,QAAE,IAAI;AAAA,QAAI,WAAW;AAAA,MAAS;AAAA,gBACxD,EAAK;AAAA,IACF,CAAA,IAEN,gBAAA,EAAC,GAAD;AAAA,MAAM,cAAY;AAAA,gBACf,IACG,EAAY,IAAA,CAAK,GAAY,MAC3B,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QACU,QAAA;AAAA,QACW,mBAAA;AAAA,QACP,YAAA;AAAA,MACb,CAAA,GACD,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,IAAI,GAAG,EAAI,CAAA,CACZ,EAAA,GAPK,cAAc,CAAA,EAOnB,CACjB,IACD,EAAmB,IAAA,CAAK,GAAO,MAC7B,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UACE,gBAAA,EAAC,GAAD;AAAA,QACE,mBAAiB,qBAAqB,EAAM,EAAA;AAAA,QAC5C,WACE,gBAAA,EAAC,GAAD;AAAA,UACE,eAAY;AAAA,UACZ,IAAI,qBAAqB,EAAM,EAAA;AAAA,UAC/B,MAAK;AAAA,UACL,IAAI;AAAA,YAAE,SAAS;AAAA,YAAoB,IAAI;AAAA,YAAG,IAAI;AAAA,YAAG,IAAI;AAAA,UAAG;AAAA,oBAExD,gBAAA,EAAC,GAAD;AAAA,YAAM,MAAM;AAAA,YAAM,SAAQ;AAAA,sBACvB,EAAW,EAAM,MAAM,EAAkB,qBAAqB;AAAA,UAC3D,CAAA;AAAA,QACO,CAAA;AAAA,QAEjB,IAAI,EAAE,OAAO,OAAO;AAAA,kBAEnB,EAAM,YAAY,IAAA,CAAK,GAAY,MAClC,gBAAA,EAAC,EAAM,UAAP,EAAA,UACE,gBAAA,EAAC,GAAD;AAAA,UACU,QAAA;AAAA,UACW,mBAAA;AAAA,UACP,YAAA;AAAA,QACb,CAAA,EACa,GANK,kBAAkB,CAAA,EAMvB,CACjB;AAAA,MACG,CAAA,EACE,GA3BK,EAAM,EA2BX,GACV,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,IAAI,GAAG,EAAI,CAAA,CACZ,EAAA,GA9BK,cAAc,CAAA,EA8BnB,CACjB;AAAA,IACD,CAAA,CAEH;AAAA;AAEX,CACF"}
1
+ {"version":3,"file":"RecurrenceList.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurrenceList.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport ListItem from '@mui/material/ListItem'\nimport ListSubheader from '@mui/material/ListSubheader'\nimport Stack from '@mui/material/Stack'\nimport { type SxProps } from '@mui/material/styles'\n\nimport { H3, Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../common'\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { type Recurrence } from '../../core'\n\nimport { groupRecurrencesByDate } from '../../core/utils/RecurringTransactionsUtil'\n\nimport { RecurrenceRow } from './RecurrenceRow'\n\ninterface RecurrenceListProps {\n recurrences: Recurrence[]\n isMini?: boolean\n onResetClick?: () => void\n onRecurrenceClick?: (recurrence: Recurrence) => void\n sx?: SxProps\n title?: string\n}\n\nexport const RecurrenceList = observer(\n ({\n recurrences,\n isMini = false,\n onResetClick,\n onRecurrenceClick,\n sx = {},\n title,\n }: RecurrenceListProps) => {\n const { recurring: copy } = useGlobalCopyStore()\n\n const groupedRecurrences = React.useMemo(() => {\n return groupRecurrencesByDate(recurrences)\n }, [recurrences])\n\n return (\n <Stack id=\"recurrence-list\" sx={{ gap: 8, mt: 4, ...sx }} tabIndex={-1}>\n {title && (\n <Stack\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n px: 24,\n }}\n >\n <H3 bold={true} variant=\"body1\">\n {title}\n </H3>\n {onResetClick && (\n <Button onClick={onResetClick} size=\"small\" variant=\"text\">\n {copy.reset}\n </Button>\n )}\n </Stack>\n )}\n\n {recurrences.length === 0 ? (\n <Text fontStyle=\"italic\" sx={{ py: 24, textAlign: 'center' }}>\n {copy.no_activities}\n </Text>\n ) : (\n <List aria-label={title}>\n {isMini\n ? recurrences.map((recurrence, index) => (\n <React.Fragment key={`recurrence-${index}`}>\n <RecurrenceRow\n isMini={isMini}\n onRecurrenceClick={onRecurrenceClick}\n recurrence={recurrence}\n />\n <Divider sx={{ mx: 24 }} />\n </React.Fragment>\n ))\n : groupedRecurrences.map((group, index) => (\n <React.Fragment key={`recurrence-${index}`}>\n <ListItem key={group.id}>\n <List\n aria-labelledby={`date-group-header-${group.id}`}\n subheader={\n <ListSubheader\n aria-hidden=\"true\"\n id={`date-group-header-${group.id}`}\n role=\"presentation\"\n sx={{ bgcolor: 'background.paper', ml: 8, pb: 4, pt: 12 }}\n >\n <Text bold={true} variant=\"caption\">\n {formatDate(group.date, DATE_FORMATS_INTL.DAY_OF_WEEK_MONTH_DAY)}\n </Text>\n </ListSubheader>\n }\n sx={{ width: '100%' }}\n >\n {group.recurrences.map((recurrence, index) => (\n <React.Fragment key={`day-recurrence-${index}`}>\n <RecurrenceRow\n isMini={isMini}\n onRecurrenceClick={onRecurrenceClick}\n recurrence={recurrence}\n />\n </React.Fragment>\n ))}\n </List>\n </ListItem>\n <Divider sx={{ mx: 24 }} />\n </React.Fragment>\n ))}\n </List>\n )}\n </Stack>\n )\n },\n)\n"],"mappings":";;;;;;;;;;;;;;AA8BA,IAAa,IAAiB,EAAA,CAC3B,EACC,aAAA,GACA,QAAA,IAAS,IACT,cAAA,GACA,mBAAA,GACA,IAAA,IAAK,CAAC,GACN,OAAA,EAAA,MACyB;AACzB,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,IAAqB,EAAM,QAAA,MACxB,EAAuB,CAAW,GACxC,CAAC,CAAW,CAAC;AAEhB,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAG;AAAA,IAAkB,IAAI;AAAA,MAAE,KAAK;AAAA,MAAG,IAAI;AAAA,MAAG,GAAG;AAAA,IAAG;AAAA,IAAG,UAAU;AAAA,IAApE,UAAA,CACG,KACC,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,IAAI;AAAA,MACN;AAAA,MANF,UAAA,CAQE,gBAAA,EAAC,GAAD;AAAA,QAAI,MAAM;AAAA,QAAM,SAAQ;AAAA,QACrB,UAAA;AAAA,MACC,CAAA,GACH,KACC,gBAAA,EAAC,GAAD;AAAA,QAAQ,SAAS;AAAA,QAAc,MAAK;AAAA,QAAQ,SAAQ;AAAA,QACjD,UAAA,EAAK;AAAA,MACA,CAAA,CAEL;AAAA,IAGR,CAAA,GAAA,EAAY,WAAW,IACtB,gBAAA,EAAC,GAAD;AAAA,MAAM,WAAU;AAAA,MAAS,IAAI;AAAA,QAAE,IAAI;AAAA,QAAI,WAAW;AAAA,MAAS;AAAA,MACxD,UAAA,EAAK;AAAA,IACF,CAAA,IAEN,gBAAA,EAAC,GAAD;AAAA,MAAM,cAAY;AAAA,MACf,UAAA,IACG,EAAY,IAAA,CAAK,GAAY,MAC3B,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QACU,QAAA;AAAA,QACW,mBAAA;AAAA,QACP,YAAA;AAAA,MACb,CAAA,GACD,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,IAAI,GAAG,EAAI,CAAA,CACZ,EAAA,GAPK,cAAc,CAAA,EAOnB,CACjB,IACD,EAAmB,IAAA,CAAK,GAAO,MAC7B,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UACE,gBAAA,EAAC,GAAD;AAAA,QACE,mBAAiB,qBAAqB,EAAM,EAAA;AAAA,QAC5C,WACE,gBAAA,EAAC,GAAD;AAAA,UACE,eAAY;AAAA,UACZ,IAAI,qBAAqB,EAAM,EAAA;AAAA,UAC/B,MAAK;AAAA,UACL,IAAI;AAAA,YAAE,SAAS;AAAA,YAAoB,IAAI;AAAA,YAAG,IAAI;AAAA,YAAG,IAAI;AAAA,UAAG;AAAA,UAExD,UAAA,gBAAA,EAAC,GAAD;AAAA,YAAM,MAAM;AAAA,YAAM,SAAQ;AAAA,YACvB,UAAA,EAAW,EAAM,MAAM,EAAkB,qBAAqB;AAAA,UAC3D,CAAA;AAAA,QACO,CAAA;AAAA,QAEjB,IAAI,EAAE,OAAO,OAAO;AAAA,QAEnB,UAAA,EAAM,YAAY,IAAA,CAAK,GAAY,MAClC,gBAAA,EAAC,EAAM,UAAP,EAAA,UACE,gBAAA,EAAC,GAAD;AAAA,UACU,QAAA;AAAA,UACW,mBAAA;AAAA,UACP,YAAA;AAAA,QACb,CAAA,EACa,GANK,kBAAkB,CAAA,EAMvB,CACjB;AAAA,MACG,CAAA,EACE,GA3BK,EAAM,EA2BX,GACV,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,IAAI,GAAG,EAAI,CAAA,CACZ,EAAA,GA9BK,cAAc,CAAA,EA8BnB,CACjB;AAAA,IACD,CAAA,CAEH;AAAA;AAEX,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecurrenceRow.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurrenceRow.tsx"],"sourcesContent":["import React from 'react'\n\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\nimport Stack from '@mui/material/Stack'\n\nimport { CheckCircle, Cancel } from '@mxenabled/mx-icons'\nimport { InstitutionLogo, MerchantLogo, Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore, useRecurringTransactionsStore } from '../../common'\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport {\n type Recurrence,\n type RecurringCopy,\n RecurrenceStatus,\n RecurrenceType,\n RepeatingTransaction,\n} from '../../core'\n\nimport { getFrequencyLabel } from '../../core/utils/RecurringTransactionsUtil'\n\nimport { IncomeBadge, MissedBadge, PaidBadge, UpcomingExpenseBadge } from './RecurrenceBadges'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\nconst getStatusIcon = (recurrence: Recurrence): React.ReactNode => {\n if (recurrence.type === RecurrenceType.Income) {\n return <IncomeBadge />\n }\n\n switch (recurrence.status) {\n case RecurrenceStatus.Missed:\n return <MissedBadge />\n case RecurrenceStatus.Paid:\n return <PaidBadge />\n default:\n return <UpcomingExpenseBadge />\n }\n}\n\nconst getStatus = (recurrence: Recurrence, copy: RecurringCopy): string => {\n switch (recurrence.status) {\n case RecurrenceStatus.Paid:\n return recurrence.expectedDate\n ? (buildDynamicCopy(\n copy.paid_on,\n formatDate(\n recurrence.occurredOnDate || recurrence.expectedDate,\n DATE_FORMATS_INTL.MONTH_DAY,\n ),\n ) as string)\n : copy.paid\n case RecurrenceStatus.Missed:\n return buildDynamicCopy(\n copy.missed_on,\n formatDate(recurrence.expectedDate, DATE_FORMATS_INTL.MONTH_DAY),\n ) as string\n case RecurrenceStatus.Upcoming:\n return buildDynamicCopy(\n copy.upcoming_on,\n formatDate(recurrence.expectedDate, DATE_FORMATS_INTL.MONTH_DAY),\n ) as string\n default:\n return copy.unknown\n }\n}\n\ninterface RecurrenceRowProps {\n recurrence: Recurrence\n isMini?: boolean\n onRecurrenceClick?: (recurrence: Recurrence) => void\n showOrdinal?: boolean\n}\n\nexport const RecurrenceRow = ({\n recurrence,\n isMini = false,\n onRecurrenceClick = () => {},\n showOrdinal = false,\n}: RecurrenceRowProps) => {\n const { recurring: copy } = useGlobalCopyStore()\n const { detailedRepeatingTransactions } = useRecurringTransactionsStore()\n\n const repeatingTransaction = React.useMemo(\n () =>\n detailedRepeatingTransactions.find((rt) => rt.guid === recurrence.repeatingTransactionGuid),\n [recurrence, detailedRepeatingTransactions],\n )\n\n const isCredit = recurrence.type === RecurrenceType.Income\n const isPaid = recurrence.status === RecurrenceStatus.Paid\n const isMissed = recurrence.status === RecurrenceStatus.Missed\n const isUpcoming = recurrence.status === RecurrenceStatus.Upcoming\n\n let statusLabel = copy.paid?.toLowerCase()\n if (isMissed) {\n statusLabel = copy.missed?.toLowerCase()\n } else if (isUpcoming) {\n statusLabel = showOrdinal\n ? getFrequencyLabel(copy, repeatingTransaction || ({} as RepeatingTransaction), true)\n : getFrequencyLabel(copy, repeatingTransaction || ({} as RepeatingTransaction), false)\n }\n\n const onItemClick = () => {\n onRecurrenceClick(recurrence)\n }\n\n return (\n //TODO: implement common/components/ListItemRow.tsx\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton onClick={onItemClick}>\n <ListItemAvatar>\n <MerchantLogo\n categoryGuid={recurrence.categoryGuid}\n merchantGuid={recurrence.merchantGuid}\n />\n </ListItemAvatar>\n <ListItemText>\n <Stack\n direction=\"row\"\n gap={4}\n sx={{ justifyContent: 'space-between', textOverflow: 'ellipsis', textWrap: 'nowrap' }}\n >\n <Stack direction=\"column\" width=\"50%\">\n <Text bold={true} variant=\"body1\">\n {recurrence.name}\n </Text>\n <Stack alignItems=\"center\" direction=\"row\" gap={6}>\n {isMini ? (\n <Stack direction=\"row\" gap={4}>\n {getStatusIcon(recurrence)}\n <Text variant=\"caption\">{getStatus(recurrence, copy)}</Text>\n </Stack>\n ) : (\n <>\n {recurrence.institutionGuid && (\n <InstitutionLogo\n alt=\"\"\n institutionGuid={recurrence.institutionGuid}\n size={12}\n />\n )}\n <Text sx={{ maxWidth: 250 }} variant=\"caption\">\n {recurrence.institutionName}\n </Text>\n </>\n )}\n </Stack>\n </Stack>\n\n <Stack alignItems=\"flex-end\" width=\"100%\">\n <Text bold={true} color={isCredit ? 'success.main' : 'text.primary'} variant=\"body1\">\n {isCredit ? '+' : ''}\n {formatCurrency(recurrence.amount, '0,0.00')}\n </Text>\n {!isMini && (\n <Stack\n direction=\"row\"\n sx={{\n alignItems: 'center',\n gap: 6,\n justifyContent: 'flex-end',\n textTransform: 'uppercase',\n width: '100%',\n }}\n >\n {isPaid && <CheckCircle color=\"success\" filled={true} size={12} />}\n {isMissed && <Cancel color=\"error\" filled={true} size={12} />}\n <Text bold={true} color=\"text.secondary\" variant=\"caption\">\n {statusLabel}\n </Text>\n </Stack>\n )}\n </Stack>\n </Stack>\n </ListItemText>\n </ListItemButton>\n </ListItem>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"RecurrenceRow.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurrenceRow.tsx"],"sourcesContent":["import React from 'react'\n\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\nimport Stack from '@mui/material/Stack'\n\nimport { CheckCircle, Cancel } from '@mxenabled/mx-icons'\nimport { InstitutionLogo, MerchantLogo, Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore, useRecurringTransactionsStore } from '../../common'\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport {\n type Recurrence,\n type RecurringCopy,\n RecurrenceStatus,\n RecurrenceType,\n RepeatingTransaction,\n} from '../../core'\n\nimport { getFrequencyLabel } from '../../core/utils/RecurringTransactionsUtil'\n\nimport { IncomeBadge, MissedBadge, PaidBadge, UpcomingExpenseBadge } from './RecurrenceBadges'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\nconst getStatusIcon = (recurrence: Recurrence): React.ReactNode => {\n if (recurrence.type === RecurrenceType.Income) {\n return <IncomeBadge />\n }\n\n switch (recurrence.status) {\n case RecurrenceStatus.Missed:\n return <MissedBadge />\n case RecurrenceStatus.Paid:\n return <PaidBadge />\n default:\n return <UpcomingExpenseBadge />\n }\n}\n\nconst getStatus = (recurrence: Recurrence, copy: RecurringCopy): string => {\n switch (recurrence.status) {\n case RecurrenceStatus.Paid:\n return recurrence.expectedDate\n ? (buildDynamicCopy(\n copy.paid_on,\n formatDate(\n recurrence.occurredOnDate || recurrence.expectedDate,\n DATE_FORMATS_INTL.MONTH_DAY,\n ),\n ) as string)\n : copy.paid\n case RecurrenceStatus.Missed:\n return buildDynamicCopy(\n copy.missed_on,\n formatDate(recurrence.expectedDate, DATE_FORMATS_INTL.MONTH_DAY),\n ) as string\n case RecurrenceStatus.Upcoming:\n return buildDynamicCopy(\n copy.upcoming_on,\n formatDate(recurrence.expectedDate, DATE_FORMATS_INTL.MONTH_DAY),\n ) as string\n default:\n return copy.unknown\n }\n}\n\ninterface RecurrenceRowProps {\n recurrence: Recurrence\n isMini?: boolean\n onRecurrenceClick?: (recurrence: Recurrence) => void\n showOrdinal?: boolean\n}\n\nexport const RecurrenceRow = ({\n recurrence,\n isMini = false,\n onRecurrenceClick = () => {},\n showOrdinal = false,\n}: RecurrenceRowProps) => {\n const { recurring: copy } = useGlobalCopyStore()\n const { detailedRepeatingTransactions } = useRecurringTransactionsStore()\n\n const repeatingTransaction = React.useMemo(\n () =>\n detailedRepeatingTransactions.find((rt) => rt.guid === recurrence.repeatingTransactionGuid),\n [recurrence, detailedRepeatingTransactions],\n )\n\n const isCredit = recurrence.type === RecurrenceType.Income\n const isPaid = recurrence.status === RecurrenceStatus.Paid\n const isMissed = recurrence.status === RecurrenceStatus.Missed\n const isUpcoming = recurrence.status === RecurrenceStatus.Upcoming\n\n let statusLabel = copy.paid?.toLowerCase()\n if (isMissed) {\n statusLabel = copy.missed?.toLowerCase()\n } else if (isUpcoming) {\n statusLabel = showOrdinal\n ? getFrequencyLabel(copy, repeatingTransaction || ({} as RepeatingTransaction), true)\n : getFrequencyLabel(copy, repeatingTransaction || ({} as RepeatingTransaction), false)\n }\n\n const onItemClick = () => {\n onRecurrenceClick(recurrence)\n }\n\n return (\n //TODO: implement common/components/ListItemRow.tsx\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton onClick={onItemClick}>\n <ListItemAvatar>\n <MerchantLogo\n categoryGuid={recurrence.categoryGuid}\n merchantGuid={recurrence.merchantGuid}\n />\n </ListItemAvatar>\n <ListItemText>\n <Stack\n direction=\"row\"\n gap={4}\n sx={{ justifyContent: 'space-between', textOverflow: 'ellipsis', textWrap: 'nowrap' }}\n >\n <Stack direction=\"column\" width=\"50%\">\n <Text bold={true} variant=\"body1\">\n {recurrence.name}\n </Text>\n <Stack alignItems=\"center\" direction=\"row\" gap={6}>\n {isMini ? (\n <Stack direction=\"row\" gap={4}>\n {getStatusIcon(recurrence)}\n <Text variant=\"caption\">{getStatus(recurrence, copy)}</Text>\n </Stack>\n ) : (\n <>\n {recurrence.institutionGuid && (\n <InstitutionLogo\n alt=\"\"\n institutionGuid={recurrence.institutionGuid}\n size={12}\n />\n )}\n <Text sx={{ maxWidth: 250 }} variant=\"caption\">\n {recurrence.institutionName}\n </Text>\n </>\n )}\n </Stack>\n </Stack>\n\n <Stack alignItems=\"flex-end\" width=\"100%\">\n <Text bold={true} color={isCredit ? 'success.main' : 'text.primary'} variant=\"body1\">\n {isCredit ? '+' : ''}\n {formatCurrency(recurrence.amount, '0,0.00')}\n </Text>\n {!isMini && (\n <Stack\n direction=\"row\"\n sx={{\n alignItems: 'center',\n gap: 6,\n justifyContent: 'flex-end',\n textTransform: 'uppercase',\n width: '100%',\n }}\n >\n {isPaid && <CheckCircle color=\"success\" filled={true} size={12} />}\n {isMissed && <Cancel color=\"error\" filled={true} size={12} />}\n <Text bold={true} color=\"text.secondary\" variant=\"caption\">\n {statusLabel}\n </Text>\n </Stack>\n )}\n </Stack>\n </Stack>\n </ListItemText>\n </ListItemButton>\n </ListItem>\n )\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecurringSettingsDrawer.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurringSettingsDrawer.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport { Drawer, useGlobalCopyStore } from '../../common'\n\nimport { RecurringSettings } from './shared/RecurringSettings'\n\ninterface RecurringSettingsDrawerProps {\n isOpen: boolean\n onClose: () => void\n selectedTab?: number\n}\n\nexport const RecurringSettingsDrawer = observer(\n ({ isOpen, onClose, selectedTab }: RecurringSettingsDrawerProps) => {\n const { cashflow: copy } = useGlobalCopyStore()\n\n return (\n <Drawer\n ariaLabelClose={copy.close_settings_aria}\n isOpen={isOpen}\n onClose={onClose}\n title={copy.cashflow_settings}\n >\n <RecurringSettings defaultSelectedTab={selectedTab} />\n </Drawer>\n )\n },\n)\n"],"mappings":";;;;;AAYA,IAAa,IAA0B,EAAA,CACpC,EAAE,QAAA,GAAQ,SAAA,GAAS,aAAA,EAAA,MAAgD;AAClE,QAAM,EAAE,UAAU,EAAA,IAAS,EAAmB;AAE9C,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,gBAAgB,EAAK;AAAA,IACb,QAAA;AAAA,IACC,SAAA;AAAA,IACT,OAAO,EAAK;AAAA,cAEZ,gBAAA,EAAC,GAAD,EAAmB,oBAAoB,EAAc,CAAA;AAAA,EAC/C,CAAA;AAEZ,CACF"}
1
+ {"version":3,"file":"RecurringSettingsDrawer.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurringSettingsDrawer.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport { Drawer, useGlobalCopyStore } from '../../common'\n\nimport { RecurringSettings } from './shared/RecurringSettings'\n\ninterface RecurringSettingsDrawerProps {\n isOpen: boolean\n onClose: () => void\n selectedTab?: number\n}\n\nexport const RecurringSettingsDrawer = observer(\n ({ isOpen, onClose, selectedTab }: RecurringSettingsDrawerProps) => {\n const { cashflow: copy } = useGlobalCopyStore()\n\n return (\n <Drawer\n ariaLabelClose={copy.close_settings_aria}\n isOpen={isOpen}\n onClose={onClose}\n title={copy.cashflow_settings}\n >\n <RecurringSettings defaultSelectedTab={selectedTab} />\n </Drawer>\n )\n },\n)\n"],"mappings":";;;;;AAYA,IAAa,IAA0B,EAAA,CACpC,EAAE,QAAA,GAAQ,SAAA,GAAS,aAAA,EAAA,MAAgD;AAClE,QAAM,EAAE,UAAU,EAAA,IAAS,EAAmB;AAE9C,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,gBAAgB,EAAK;AAAA,IACb,QAAA;AAAA,IACC,SAAA;AAAA,IACT,OAAO,EAAK;AAAA,IAEZ,UAAA,gBAAA,EAAC,GAAD,EAAmB,oBAAoB,EAAc,CAAA;AAAA,EAC/C,CAAA;AAEZ,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecurringStatus.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurringStatus.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { StatusBar, useGlobalCopyStore, useScreenSize } from '../../common'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\ninterface RecurringStatusProps {\n expected: number\n isExpense?: boolean\n missed?: number\n paid: number\n title: string\n total: number\n upcoming: number\n}\n\nexport const RecurringStatus = observer(\n ({ expected, isExpense = true, missed, paid, title, total, upcoming }: RecurringStatusProps) => {\n const theme = useTheme()\n const { isSmallMobile } = useScreenSize()\n const { recurring: recurringCopy } = useGlobalCopyStore()\n\n const data = React.useMemo(() => {\n const recurrence = [{ color: theme.palette.success.main, percentage: `${paid / expected}` }]\n if (missed) {\n recurrence.push({ color: theme.palette.error.main, percentage: `${missed / expected}` })\n }\n return recurrence\n }, [paid, expected, missed])\n\n return (\n <Stack>\n <Stack sx={{ flexDirection: 'row', justifyContent: 'space-between', pb: 12 }}>\n <Text bold={true} variant=\"body1\">\n {`${title} (${total})`}\n </Text>\n <Text bold={true} color={isExpense ? 'text.primary' : 'success.main'} variant=\"body1\">\n {`${isExpense ? '-' : '+'}${formatCurrency(expected, '0,0.00')}`}\n </Text>\n </Stack>\n\n <StatusBar data={data} height={12} />\n\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', gap: 2, my: 8 }}>\n <Box sx={{ bgcolor: 'success.main', height: 8, mr: 8, width: 8 }} />\n {!isSmallMobile && (\n <Text bold={true} variant=\"body2\">\n {formatCurrency(paid, '0,0.00')}\n </Text>\n )}\n <Text variant=\"caption\">{recurringCopy.paid?.toLowerCase()}</Text>\n\n {missed !== undefined && (\n <>\n <Box sx={{ bgcolor: 'error.main', height: 8, ml: 16, mr: 8, width: 8 }} />\n {!isSmallMobile && (\n <Text bold={true} variant=\"body2\">\n {formatCurrency(missed, '0,0.00')}\n </Text>\n )}\n <Text variant=\"caption\">{recurringCopy.missed?.toLowerCase()}</Text>\n </>\n )}\n\n <Box sx={{ bgcolor: 'divider', height: 8, ml: 16, mr: 8, width: 8 }} />\n {!isSmallMobile && (\n <Text bold={true} variant=\"body2\">\n {formatCurrency(upcoming, '0,0.00')}\n </Text>\n )}\n <Text variant=\"caption\">{recurringCopy.upcoming?.toLowerCase()}</Text>\n </Stack>\n </Stack>\n )\n },\n)\n"],"mappings":";;;;;;;;;;;AAqBA,IAAa,IAAkB,EAAA,CAC5B,EAAE,UAAA,GAAU,WAAA,IAAY,IAAM,QAAA,GAAQ,MAAA,GAAM,OAAA,GAAO,OAAA,GAAO,UAAA,EAAA,MAAqC;AAC9F,QAAM,IAAQ,EAAS,GACjB,EAAE,eAAA,EAAA,IAAkB,EAAc,GAClC,EAAE,WAAW,EAAA,IAAkB,EAAmB,GAElD,IAAO,EAAM,QAAA,MAAc;AAC/B,UAAM,IAAa,CAAC;AAAA,MAAE,OAAO,EAAM,QAAQ,QAAQ;AAAA,MAAM,YAAY,GAAG,IAAO,CAAA;AAAA,IAAW,CAAC;AAC3F,WAAI,KACF,EAAW,KAAK;AAAA,MAAE,OAAO,EAAM,QAAQ,MAAM;AAAA,MAAM,YAAY,GAAG,IAAS,CAAA;AAAA,IAAW,CAAC,GAElF;AAAA,EACT,GAAG;AAAA,IAAC;AAAA,IAAM;AAAA,IAAU;AAAA,EAAM,CAAC;AAE3B,SACE,gBAAA,EAAC,GAAD,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,eAAe;AAAA,QAAO,gBAAgB;AAAA,QAAiB,IAAI;AAAA,MAAG;AAAA,gBAA3E,CACE,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,SAAQ;AAAA,kBACvB,GAAG,CAAA,KAAU,CAAA;AAAA,MACV,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,OAAO,IAAY,iBAAiB;AAAA,QAAgB,SAAQ;AAAA,kBAC3E,GAAG,IAAY,MAAM,GAAA,GAAM,EAAe,GAAU,QAAQ,CAAA;AAAA,MACzD,CAAA,CACD;AAAA;IAEP,gBAAA,EAAC,GAAD;AAAA,MAAiB,MAAA;AAAA,MAAM,QAAQ;AAAA,IAAK,CAAA;AAAA,IAEpC,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,YAAY;AAAA,QAAU,eAAe;AAAA,QAAO,KAAK;AAAA,QAAG,IAAI;AAAA,MAAE;AAAA,gBAAvE;AAAA,QACE,gBAAA,EAAC,GAAD,EAAK,IAAI;AAAA,UAAE,SAAS;AAAA,UAAgB,QAAQ;AAAA,UAAG,IAAI;AAAA,UAAG,OAAO;AAAA,QAAE,EAAI,CAAA;AAAA,QAClE,CAAC,KACA,gBAAA,EAAC,GAAD;AAAA,UAAM,MAAM;AAAA,UAAM,SAAQ;AAAA,oBACvB,EAAe,GAAM,QAAQ;AAAA,QAC1B,CAAA;AAAA,QAER,gBAAA,EAAC,GAAD;AAAA,UAAM,SAAQ;AAAA,oBAAW,EAAc,MAAM,YAAY;AAAA,QAAQ,CAAA;AAAA,QAEhE,MAAW,UACV,gBAAA,EAAA,GAAA,EAAA,UAAA;AAAA,UACE,gBAAA,EAAC,GAAD,EAAK,IAAI;AAAA,YAAE,SAAS;AAAA,YAAc,QAAQ;AAAA,YAAG,IAAI;AAAA,YAAI,IAAI;AAAA,YAAG,OAAO;AAAA,UAAE,EAAI,CAAA;AAAA,UACxE,CAAC,KACA,gBAAA,EAAC,GAAD;AAAA,YAAM,MAAM;AAAA,YAAM,SAAQ;AAAA,sBACvB,EAAe,GAAQ,QAAQ;AAAA,UAC5B,CAAA;AAAA,UAER,gBAAA,EAAC,GAAD;AAAA,YAAM,SAAQ;AAAA,sBAAW,EAAc,QAAQ,YAAY;AAAA,UAAQ,CAAA;AAAA,QACnE,EAAA,CAAA;AAAA,QAGJ,gBAAA,EAAC,GAAD,EAAK,IAAI;AAAA,UAAE,SAAS;AAAA,UAAW,QAAQ;AAAA,UAAG,IAAI;AAAA,UAAI,IAAI;AAAA,UAAG,OAAO;AAAA,QAAE,EAAI,CAAA;AAAA,QACrE,CAAC,KACA,gBAAA,EAAC,GAAD;AAAA,UAAM,MAAM;AAAA,UAAM,SAAQ;AAAA,oBACvB,EAAe,GAAU,QAAQ;AAAA,QAC9B,CAAA;AAAA,QAER,gBAAA,EAAC,GAAD;AAAA,UAAM,SAAQ;AAAA,oBAAW,EAAc,UAAU,YAAY;AAAA,QAAQ,CAAA;AAAA,MAChE;AAAA;EACF,EAAA,CAAA;AAEX,CACF"}
1
+ {"version":3,"file":"RecurringStatus.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurringStatus.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { StatusBar, useGlobalCopyStore, useScreenSize } from '../../common'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\ninterface RecurringStatusProps {\n expected: number\n isExpense?: boolean\n missed?: number\n paid: number\n title: string\n total: number\n upcoming: number\n}\n\nexport const RecurringStatus = observer(\n ({ expected, isExpense = true, missed, paid, title, total, upcoming }: RecurringStatusProps) => {\n const theme = useTheme()\n const { isSmallMobile } = useScreenSize()\n const { recurring: recurringCopy } = useGlobalCopyStore()\n\n const data = React.useMemo(() => {\n const recurrence = [{ color: theme.palette.success.main, percentage: `${paid / expected}` }]\n if (missed) {\n recurrence.push({ color: theme.palette.error.main, percentage: `${missed / expected}` })\n }\n return recurrence\n }, [paid, expected, missed])\n\n return (\n <Stack>\n <Stack sx={{ flexDirection: 'row', justifyContent: 'space-between', pb: 12 }}>\n <Text bold={true} variant=\"body1\">\n {`${title} (${total})`}\n </Text>\n <Text bold={true} color={isExpense ? 'text.primary' : 'success.main'} variant=\"body1\">\n {`${isExpense ? '-' : '+'}${formatCurrency(expected, '0,0.00')}`}\n </Text>\n </Stack>\n\n <StatusBar data={data} height={12} />\n\n <Stack sx={{ alignItems: 'center', flexDirection: 'row', gap: 2, my: 8 }}>\n <Box sx={{ bgcolor: 'success.main', height: 8, mr: 8, width: 8 }} />\n {!isSmallMobile && (\n <Text bold={true} variant=\"body2\">\n {formatCurrency(paid, '0,0.00')}\n </Text>\n )}\n <Text variant=\"caption\">{recurringCopy.paid?.toLowerCase()}</Text>\n\n {missed !== undefined && (\n <>\n <Box sx={{ bgcolor: 'error.main', height: 8, ml: 16, mr: 8, width: 8 }} />\n {!isSmallMobile && (\n <Text bold={true} variant=\"body2\">\n {formatCurrency(missed, '0,0.00')}\n </Text>\n )}\n <Text variant=\"caption\">{recurringCopy.missed?.toLowerCase()}</Text>\n </>\n )}\n\n <Box sx={{ bgcolor: 'divider', height: 8, ml: 16, mr: 8, width: 8 }} />\n {!isSmallMobile && (\n <Text bold={true} variant=\"body2\">\n {formatCurrency(upcoming, '0,0.00')}\n </Text>\n )}\n <Text variant=\"caption\">{recurringCopy.upcoming?.toLowerCase()}</Text>\n </Stack>\n </Stack>\n )\n },\n)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecurringTransactionDetails.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurringTransactionDetails.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { subDays } from 'date-fns/subDays'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { endOfMonth } from 'date-fns/endOfMonth'\n\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport Stack from '@mui/material/Stack'\n\nimport { Delete } from '@mxenabled/mx-icons'\n\nimport { MerchantLogo, P, Text } from '@mxenabled/mxui'\n\nimport {\n ANALYTICS_EVENTS,\n DataRow,\n Dialog,\n Drawer,\n useAccountStore,\n useEvent,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useTransactionStore,\n} from '../../common'\nimport {\n type Member,\n type Recurrence,\n type RepeatingTransaction,\n type Transaction,\n RecurrenceStatus,\n RepeatingType,\n} from '../../core'\n\nimport { TransactionDetails } from '../../transactions'\nimport { AccountDetailsDrawer, useAccountUiStore } from '../../accounts'\n\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\nimport { getNextUpcomingDate } from '../../core/utils/RecurringTransactionsUtil'\nimport { LinkTransactionDrawer } from './actions/LinkTransactionDrawer'\nimport { MarkAsPaidDialog } from './actions/MarkAsPaidDialog'\nimport { MarkAsUnpaidDialog } from './actions/MarkAsUnpaidDialog'\nimport { PaymentScheduleAction } from './actions/PaymentScheduleAction'\nimport { RecurringTransactionList } from './RecurringTransactionList'\nimport { UpcomingRecurrenceCard } from './UpcomingRecurrenceCard'\n\ninterface RecurringTransactionDetailsProps {\n onDeleted: () => void\n recurringTransaction: RepeatingTransaction\n selectedRecurrence: Recurrence | null\n}\n\nexport const RecurringTransactionDetails = observer(\n ({ onDeleted, recurringTransaction, selectedRecurrence }: RecurringTransactionDetailsProps) => {\n const { recurring: copy } = useGlobalCopyStore()\n const { selectedAccountGuids } = useGlobalUiStore()\n const { onEvent } = useEvent()\n const { deleteRepeatingTransaction, markRecurrenceAsUnpaid, recurrences } =\n useRecurringTransactionsStore()\n const { detailedTransactions, setFilter, transactions } = useTransactionStore()\n const { setSelectedAccount, setSelectedMember } = useAccountUiStore()\n const { members } = useAccountStore()\n const { amount, description, merchant_guid } = recurringTransaction\n\n const [showAccountDetails, setShowAccountDetails] = React.useState(false)\n const [showDeleteConfirm, setShowDeleteConfirm] = React.useState(false)\n const [showMarkAsPaid, setShowMarkAsPaid] = React.useState(false)\n const [showMarkAsUnpaid, setShowMarkAsUnpaid] = React.useState(false)\n const [unlinkTransactionGuid, setUnlinkTransactionGuid] = React.useState('')\n const [showLinkTransaction, setShowLinkTransaction] = React.useState(false)\n const [transactionGuid, setTransactionGuid] = React.useState('')\n\n React.useEffect(() => {\n setFilter({\n accounts: selectedAccountGuids,\n dateRange: { start: subDays(startOfToday(), 90), end: endOfMonth(startOfToday()) },\n custom: (t: Transaction) => t.repeating_transaction_guid === recurringTransaction.guid,\n })\n }, [recurringTransaction.guid])\n\n const transaction = React.useMemo(\n () => detailedTransactions.find((t) => t.guid === transactionGuid),\n [transactionGuid, detailedTransactions],\n )\n\n const isIncome = recurringTransaction.repeating_transaction_type === RepeatingType.Income\n\n const filteredTransactions = React.useMemo(\n () => transactions.filter((t) => t.repeating_transaction_guid === recurringTransaction.guid),\n [transactions, recurringTransaction.guid],\n )\n\n const nextUpcomingDate = getNextUpcomingDate(recurringTransaction, recurrences)\n\n const handleAccountClick = () => {\n if (recurringTransaction.account) {\n setSelectedAccount(recurringTransaction.account)\n const member =\n members.find((m: Member) => m.guid === recurringTransaction.account?.member_guid) ||\n ({} as Member)\n if (member) {\n setSelectedMember(member)\n }\n setShowAccountDetails(true)\n }\n }\n\n const handleDeleteRecurringTransaction = async () => {\n await deleteRepeatingTransaction(recurringTransaction.guid)\n onDeleted()\n }\n\n const handleDeleteButtonClick = () => {\n setShowDeleteConfirm(true)\n\n onEvent(ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_DETAILS_CLICK_DELETE)\n }\n\n const handleMarkAsPaidClick = () => {\n setShowMarkAsPaid(true)\n onEvent(ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_LIST_CLICK_MARK_AS_PAID)\n }\n\n const handleLinkTransaction = () => {\n setShowMarkAsPaid(false)\n setShowLinkTransaction(true)\n }\n\n const handleMarkAsUnpaidClick = (transactionGuid: string) => {\n setUnlinkTransactionGuid(transactionGuid)\n setShowMarkAsUnpaid(true)\n onEvent(ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_LIST_CLICK_MARK_AS_UNPAID)\n }\n\n const handleUnlinkTransaction = async () => {\n const txn = transactions.find((t) => t.guid === unlinkTransactionGuid)\n if (txn) await markRecurrenceAsUnpaid(txn)\n\n setShowMarkAsUnpaid(false)\n setUnlinkTransactionGuid('')\n }\n\n return (\n <Stack bgcolor=\"background.default\" direction=\"column\" height=\"100%\">\n <Stack direction=\"column\" m={24}>\n <MerchantLogo\n categoryGuid={transaction?.category_guid || ''}\n merchantGuid={merchant_guid}\n size={64}\n sx={{ mb: 12 }}\n />\n <Text bold={true} variant=\"body1\">\n {description}\n </Text>\n <P color={isIncome ? 'success.main' : 'text.primary'} sx={{ mt: 4, mb: 16 }} variant=\"h1\">\n {isIncome ? '+' : ''}\n {formatCurrency(amount, '0,0.00')}\n </P>\n <UpcomingRecurrenceCard\n expectedDate={\n selectedRecurrence?.occurredOnDate ||\n selectedRecurrence?.expectedDate ||\n nextUpcomingDate\n }\n onMarkAsPaidClick={\n selectedRecurrence?.status === RecurrenceStatus.Paid &&\n selectedRecurrence.transaction?.guid\n ? () => handleMarkAsUnpaidClick(selectedRecurrence.transaction!.guid)\n : handleMarkAsPaidClick\n }\n status={selectedRecurrence?.status}\n />\n </Stack>\n <List sx={{ bgcolor: 'background.paper' }}>\n {recurringTransaction.account && (\n <>\n <DataRow\n iconName=\"checkbook\"\n label={copy.account}\n onClick={handleAccountClick}\n showChevron={false}\n value={recurringTransaction.account.displayName || ''}\n />\n <Divider variant=\"inset\" />\n </>\n )}\n\n {transaction?.category && (\n <>\n <DataRow\n iconName=\"monetization_on\"\n label={copy.category}\n value={transaction.category}\n />\n <Divider variant=\"inset\" />\n </>\n )}\n\n <PaymentScheduleAction repeatingTransaction={recurringTransaction} />\n <Divider />\n </List>\n\n <Button\n color=\"error\"\n onClick={handleDeleteButtonClick}\n startIcon={<Delete />}\n sx={{ mx: 24, my: 16 }}\n variant=\"text\"\n >\n {isIncome ? copy.delete_income_title : copy.delete_expense_title}\n </Button>\n\n <RecurringTransactionList\n isIncome={isIncome}\n onMarkAsPaidClick={handleMarkAsPaidClick}\n onMarkAsUnpaidClick={handleMarkAsUnpaidClick}\n onTransactionClick={setTransactionGuid}\n recurringTransaction={recurringTransaction}\n transactions={filteredTransactions}\n />\n\n <Drawer\n ariaLabelClose={copy.close_drawer_aria}\n isOpen={!!transactionGuid && Boolean(transaction)}\n onClose={() => setTransactionGuid('')}\n title={copy.transaction_details_drawer_title}\n >\n {transaction && <TransactionDetails transaction={transaction} />}\n </Drawer>\n\n <Dialog\n copy={{\n title: isIncome ? copy.delete_income_title : copy.delete_expense_title,\n close_aria: copy.close_drawer_aria,\n }}\n isOpen={showDeleteConfirm}\n onClose={() => setShowDeleteConfirm(false)}\n onPrimaryAction={handleDeleteRecurringTransaction}\n >\n <Text>{isIncome ? copy.delete_income_description : copy.delete_expense_description}</Text>\n </Dialog>\n\n <MarkAsPaidDialog\n isOpen={showMarkAsPaid}\n onClose={() => setShowMarkAsPaid(false)}\n onLinkTransaction={handleLinkTransaction}\n />\n\n <MarkAsUnpaidDialog\n isOpen={showMarkAsUnpaid}\n onClose={() => {\n setShowMarkAsUnpaid(false)\n setUnlinkTransactionGuid('')\n }}\n onUnlinkTransaction={handleUnlinkTransaction}\n />\n\n <LinkTransactionDrawer\n isOpen={showLinkTransaction}\n onClose={() => setShowLinkTransaction(false)}\n recurringTransaction={recurringTransaction}\n />\n\n <AccountDetailsDrawer\n isOpen={showAccountDetails}\n onClose={() => setShowAccountDetails(false)}\n />\n </Stack>\n )\n },\n)\n"],"mappings":"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"}
1
+ {"version":3,"file":"RecurringTransactionDetails.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurringTransactionDetails.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { subDays } from 'date-fns/subDays'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { endOfMonth } from 'date-fns/endOfMonth'\n\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport Stack from '@mui/material/Stack'\n\nimport { Delete } from '@mxenabled/mx-icons'\n\nimport { MerchantLogo, P, Text } from '@mxenabled/mxui'\n\nimport {\n ANALYTICS_EVENTS,\n DataRow,\n Dialog,\n Drawer,\n useAccountStore,\n useEvent,\n useGlobalCopyStore,\n useGlobalUiStore,\n useRecurringTransactionsStore,\n useTransactionStore,\n} from '../../common'\nimport {\n type Member,\n type Recurrence,\n type RepeatingTransaction,\n type Transaction,\n RecurrenceStatus,\n RepeatingType,\n} from '../../core'\n\nimport { TransactionDetails } from '../../transactions'\nimport { AccountDetailsDrawer, useAccountUiStore } from '../../accounts'\n\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\nimport { getNextUpcomingDate } from '../../core/utils/RecurringTransactionsUtil'\nimport { LinkTransactionDrawer } from './actions/LinkTransactionDrawer'\nimport { MarkAsPaidDialog } from './actions/MarkAsPaidDialog'\nimport { MarkAsUnpaidDialog } from './actions/MarkAsUnpaidDialog'\nimport { PaymentScheduleAction } from './actions/PaymentScheduleAction'\nimport { RecurringTransactionList } from './RecurringTransactionList'\nimport { UpcomingRecurrenceCard } from './UpcomingRecurrenceCard'\n\ninterface RecurringTransactionDetailsProps {\n onDeleted: () => void\n recurringTransaction: RepeatingTransaction\n selectedRecurrence: Recurrence | null\n}\n\nexport const RecurringTransactionDetails = observer(\n ({ onDeleted, recurringTransaction, selectedRecurrence }: RecurringTransactionDetailsProps) => {\n const { recurring: copy } = useGlobalCopyStore()\n const { selectedAccountGuids } = useGlobalUiStore()\n const { onEvent } = useEvent()\n const { deleteRepeatingTransaction, markRecurrenceAsUnpaid, recurrences } =\n useRecurringTransactionsStore()\n const { detailedTransactions, setFilter, transactions } = useTransactionStore()\n const { setSelectedAccount, setSelectedMember } = useAccountUiStore()\n const { members } = useAccountStore()\n const { amount, description, merchant_guid } = recurringTransaction\n\n const [showAccountDetails, setShowAccountDetails] = React.useState(false)\n const [showDeleteConfirm, setShowDeleteConfirm] = React.useState(false)\n const [showMarkAsPaid, setShowMarkAsPaid] = React.useState(false)\n const [showMarkAsUnpaid, setShowMarkAsUnpaid] = React.useState(false)\n const [unlinkTransactionGuid, setUnlinkTransactionGuid] = React.useState('')\n const [showLinkTransaction, setShowLinkTransaction] = React.useState(false)\n const [transactionGuid, setTransactionGuid] = React.useState('')\n\n React.useEffect(() => {\n setFilter({\n accounts: selectedAccountGuids,\n dateRange: { start: subDays(startOfToday(), 90), end: endOfMonth(startOfToday()) },\n custom: (t: Transaction) => t.repeating_transaction_guid === recurringTransaction.guid,\n })\n }, [recurringTransaction.guid])\n\n const transaction = React.useMemo(\n () => detailedTransactions.find((t) => t.guid === transactionGuid),\n [transactionGuid, detailedTransactions],\n )\n\n const isIncome = recurringTransaction.repeating_transaction_type === RepeatingType.Income\n\n const filteredTransactions = React.useMemo(\n () => transactions.filter((t) => t.repeating_transaction_guid === recurringTransaction.guid),\n [transactions, recurringTransaction.guid],\n )\n\n const nextUpcomingDate = getNextUpcomingDate(recurringTransaction, recurrences)\n\n const handleAccountClick = () => {\n if (recurringTransaction.account) {\n setSelectedAccount(recurringTransaction.account)\n const member =\n members.find((m: Member) => m.guid === recurringTransaction.account?.member_guid) ||\n ({} as Member)\n if (member) {\n setSelectedMember(member)\n }\n setShowAccountDetails(true)\n }\n }\n\n const handleDeleteRecurringTransaction = async () => {\n await deleteRepeatingTransaction(recurringTransaction.guid)\n onDeleted()\n }\n\n const handleDeleteButtonClick = () => {\n setShowDeleteConfirm(true)\n\n onEvent(ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_DETAILS_CLICK_DELETE)\n }\n\n const handleMarkAsPaidClick = () => {\n setShowMarkAsPaid(true)\n onEvent(ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_LIST_CLICK_MARK_AS_PAID)\n }\n\n const handleLinkTransaction = () => {\n setShowMarkAsPaid(false)\n setShowLinkTransaction(true)\n }\n\n const handleMarkAsUnpaidClick = (transactionGuid: string) => {\n setUnlinkTransactionGuid(transactionGuid)\n setShowMarkAsUnpaid(true)\n onEvent(ANALYTICS_EVENTS.RECURRING_TRANSACTIONS_LIST_CLICK_MARK_AS_UNPAID)\n }\n\n const handleUnlinkTransaction = async () => {\n const txn = transactions.find((t) => t.guid === unlinkTransactionGuid)\n if (txn) await markRecurrenceAsUnpaid(txn)\n\n setShowMarkAsUnpaid(false)\n setUnlinkTransactionGuid('')\n }\n\n return (\n <Stack bgcolor=\"background.default\" direction=\"column\" height=\"100%\">\n <Stack direction=\"column\" m={24}>\n <MerchantLogo\n categoryGuid={transaction?.category_guid || ''}\n merchantGuid={merchant_guid}\n size={64}\n sx={{ mb: 12 }}\n />\n <Text bold={true} variant=\"body1\">\n {description}\n </Text>\n <P color={isIncome ? 'success.main' : 'text.primary'} sx={{ mt: 4, mb: 16 }} variant=\"h1\">\n {isIncome ? '+' : ''}\n {formatCurrency(amount, '0,0.00')}\n </P>\n <UpcomingRecurrenceCard\n expectedDate={\n selectedRecurrence?.occurredOnDate ||\n selectedRecurrence?.expectedDate ||\n nextUpcomingDate\n }\n onMarkAsPaidClick={\n selectedRecurrence?.status === RecurrenceStatus.Paid &&\n selectedRecurrence.transaction?.guid\n ? () => handleMarkAsUnpaidClick(selectedRecurrence.transaction!.guid)\n : handleMarkAsPaidClick\n }\n status={selectedRecurrence?.status}\n />\n </Stack>\n <List sx={{ bgcolor: 'background.paper' }}>\n {recurringTransaction.account && (\n <>\n <DataRow\n iconName=\"checkbook\"\n label={copy.account}\n onClick={handleAccountClick}\n showChevron={false}\n value={recurringTransaction.account.displayName || ''}\n />\n <Divider variant=\"inset\" />\n </>\n )}\n\n {transaction?.category && (\n <>\n <DataRow\n iconName=\"monetization_on\"\n label={copy.category}\n value={transaction.category}\n />\n <Divider variant=\"inset\" />\n </>\n )}\n\n <PaymentScheduleAction repeatingTransaction={recurringTransaction} />\n <Divider />\n </List>\n\n <Button\n color=\"error\"\n onClick={handleDeleteButtonClick}\n startIcon={<Delete />}\n sx={{ mx: 24, my: 16 }}\n variant=\"text\"\n >\n {isIncome ? copy.delete_income_title : copy.delete_expense_title}\n </Button>\n\n <RecurringTransactionList\n isIncome={isIncome}\n onMarkAsPaidClick={handleMarkAsPaidClick}\n onMarkAsUnpaidClick={handleMarkAsUnpaidClick}\n onTransactionClick={setTransactionGuid}\n recurringTransaction={recurringTransaction}\n transactions={filteredTransactions}\n />\n\n <Drawer\n ariaLabelClose={copy.close_drawer_aria}\n isOpen={!!transactionGuid && Boolean(transaction)}\n onClose={() => setTransactionGuid('')}\n title={copy.transaction_details_drawer_title}\n >\n {transaction && <TransactionDetails transaction={transaction} />}\n </Drawer>\n\n <Dialog\n copy={{\n title: isIncome ? copy.delete_income_title : copy.delete_expense_title,\n close_aria: copy.close_drawer_aria,\n }}\n isOpen={showDeleteConfirm}\n onClose={() => setShowDeleteConfirm(false)}\n onPrimaryAction={handleDeleteRecurringTransaction}\n >\n <Text>{isIncome ? copy.delete_income_description : copy.delete_expense_description}</Text>\n </Dialog>\n\n <MarkAsPaidDialog\n isOpen={showMarkAsPaid}\n onClose={() => setShowMarkAsPaid(false)}\n onLinkTransaction={handleLinkTransaction}\n />\n\n <MarkAsUnpaidDialog\n isOpen={showMarkAsUnpaid}\n onClose={() => {\n setShowMarkAsUnpaid(false)\n setUnlinkTransactionGuid('')\n }}\n onUnlinkTransaction={handleUnlinkTransaction}\n />\n\n <LinkTransactionDrawer\n isOpen={showLinkTransaction}\n onClose={() => setShowLinkTransaction(false)}\n recurringTransaction={recurringTransaction}\n />\n\n <AccountDetailsDrawer\n isOpen={showAccountDetails}\n onClose={() => setShowAccountDetails(false)}\n />\n </Stack>\n )\n },\n)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecurringTransactionDetailsDrawer.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurringTransactionDetailsDrawer.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport { Drawer, useGlobalCopyStore, useRecurringTransactionsStore } from '../../common'\nimport { RepeatingType } from '../../core'\n\nimport { RecurringTransactionDetails } from './RecurringTransactionDetails'\n\nexport const RecurringTransactionDetailsDrawer = observer(() => {\n const { recurring: copy } = useGlobalCopyStore()\n const {\n selectedRecurrence,\n selectedRepeatingTransaction,\n setSelectedRecurrence,\n setSelectedRepeatingTransactionGuid,\n } = useRecurringTransactionsStore()\n\n const handleClose = () => {\n setSelectedRepeatingTransactionGuid(null)\n setSelectedRecurrence(null)\n }\n\n return (\n <Drawer\n ariaLabelClose={copy.close_drawer_aria}\n isOpen={!!selectedRepeatingTransaction}\n onClose={handleClose}\n title={\n selectedRepeatingTransaction?.repeating_transaction_type === RepeatingType.Income\n ? copy.income_details\n : copy.expense_details\n }\n >\n {selectedRepeatingTransaction && (\n <RecurringTransactionDetails\n onDeleted={handleClose}\n recurringTransaction={selectedRepeatingTransaction}\n selectedRecurrence={selectedRecurrence}\n />\n )}\n </Drawer>\n )\n})\n"],"mappings":";;;;;;AAOA,IAAa,IAAoC,EAAA,MAAe;AAC9D,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EACJ,oBAAA,GACA,8BAAA,GACA,uBAAA,GACA,qCAAA,EAAA,IACE,EAA8B,GAE5B,IAAA,MAAoB;AACxB,IAAA,EAAoC,IAAI,GACxC,EAAsB,IAAI;AAAA,EAC5B;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,gBAAgB,EAAK;AAAA,IACrB,QAAQ,CAAC,CAAC;AAAA,IACV,SAAS;AAAA,IACT,OACE,GAA8B,+BAA+B,EAAc,SACvE,EAAK,iBACL,EAAK;AAAA,cAGV,KACC,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW;AAAA,MACX,sBAAsB;AAAA,MACF,oBAAA;AAAA,IACrB,CAAA;AAAA,EAEG,CAAA;AAEZ,CAAC"}
1
+ {"version":3,"file":"RecurringTransactionDetailsDrawer.es.js","names":[],"sources":["../../../src/recurringtransactions/components/RecurringTransactionDetailsDrawer.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport { Drawer, useGlobalCopyStore, useRecurringTransactionsStore } from '../../common'\nimport { RepeatingType } from '../../core'\n\nimport { RecurringTransactionDetails } from './RecurringTransactionDetails'\n\nexport const RecurringTransactionDetailsDrawer = observer(() => {\n const { recurring: copy } = useGlobalCopyStore()\n const {\n selectedRecurrence,\n selectedRepeatingTransaction,\n setSelectedRecurrence,\n setSelectedRepeatingTransactionGuid,\n } = useRecurringTransactionsStore()\n\n const handleClose = () => {\n setSelectedRepeatingTransactionGuid(null)\n setSelectedRecurrence(null)\n }\n\n return (\n <Drawer\n ariaLabelClose={copy.close_drawer_aria}\n isOpen={!!selectedRepeatingTransaction}\n onClose={handleClose}\n title={\n selectedRepeatingTransaction?.repeating_transaction_type === RepeatingType.Income\n ? copy.income_details\n : copy.expense_details\n }\n >\n {selectedRepeatingTransaction && (\n <RecurringTransactionDetails\n onDeleted={handleClose}\n recurringTransaction={selectedRepeatingTransaction}\n selectedRecurrence={selectedRecurrence}\n />\n )}\n </Drawer>\n )\n})\n"],"mappings":";;;;;;AAOA,IAAa,IAAoC,EAAA,MAAe;AAC9D,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,EACJ,oBAAA,GACA,8BAAA,GACA,uBAAA,GACA,qCAAA,EAAA,IACE,EAA8B,GAE5B,IAAA,MAAoB;AACxB,IAAA,EAAoC,IAAI,GACxC,EAAsB,IAAI;AAAA,EAC5B;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,gBAAgB,EAAK;AAAA,IACrB,QAAQ,CAAC,CAAC;AAAA,IACV,SAAS;AAAA,IACT,OACE,GAA8B,+BAA+B,EAAc,SACvE,EAAK,iBACL,EAAK;AAAA,IAGV,UAAA,KACC,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW;AAAA,MACX,sBAAsB;AAAA,MACF,oBAAA;AAAA,IACrB,CAAA;AAAA,EAEG,CAAA;AAEZ,CAAC"}