@mx-cartographer/experiences 9.3.8-alpha.al0 → 9.4.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 (305) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/accounts/components/AccountListItem.es.js +4 -4
  3. package/dist/accounts/components/AccountsListCompact.es.js +15 -15
  4. package/dist/accounts/components/detailsdrawer/Accounts/AccountActions.es.js +6 -6
  5. package/dist/accounts/components/detailsdrawer/Accounts/AccountConnection.es.js +6 -6
  6. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetails.es.js +11 -11
  7. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsContent.es.js +6 -6
  8. package/dist/accounts/components/detailsdrawer/Accounts/ConnectionErrorMessage.es.js +7 -7
  9. package/dist/accounts/components/detailsdrawer/Transactions/TransactionsTab.es.js +4 -4
  10. package/dist/budgets/components/BudgetsEmptyState.es.js +7 -7
  11. package/dist/budgets/components/budgetdetails/SubBudgetList.es.js +16 -16
  12. package/dist/budgets/components/budgetdetails/SubBudgetList.es.js.map +1 -1
  13. package/dist/cashflow/CashflowOnboarding.es.js +13 -13
  14. package/dist/cashflow/components/CashflowHeading.es.js +4 -4
  15. package/dist/cashflow/components/DetailsExpenseHeader.es.js +4 -4
  16. package/dist/common/components/DataRow.es.js +6 -6
  17. package/dist/common/components/MiniWidgetContainer.es.js +9 -9
  18. package/dist/common/components/charts/linechart/CustomLine.es.js +2 -2
  19. package/dist/common/components/charts/linechart/CustomMark.es.js +2 -2
  20. package/dist/common/context/hooks.d.ts +1 -0
  21. package/dist/common/context/hooks.es.js +12 -11
  22. package/dist/common/context/hooks.es.js.map +1 -1
  23. package/dist/common/context/index.d.ts +1 -1
  24. package/dist/common/index.es.js +116 -115
  25. package/dist/core/index.es.js +27 -25
  26. package/dist/core/stores/BudgetsStore.es.js +21 -28
  27. package/dist/core/stores/BudgetsStore.es.js.map +1 -1
  28. package/dist/core/stores/GlobalStore.d.ts +2 -1
  29. package/dist/core/stores/GlobalStore.es.js +11 -9
  30. package/dist/core/stores/GlobalStore.es.js.map +1 -1
  31. package/dist/core/stores/InsightsV2Store.d.ts +24 -0
  32. package/dist/core/stores/InsightsV2Store.es.js +41 -0
  33. package/dist/core/stores/InsightsV2Store.es.js.map +1 -0
  34. package/dist/core/stores/index.d.ts +2 -0
  35. package/dist/core/types/Beat.d.ts +2 -0
  36. package/dist/core/types/Beat.es.js.map +1 -1
  37. package/dist/core/types/Insights.d.ts +90 -0
  38. package/dist/core/types/InsightsInstanceSlotData.d.ts +93 -0
  39. package/dist/core/types/InsightsInstanceSlotData.es.js +8 -0
  40. package/dist/core/types/InsightsInstanceSlotData.es.js.map +1 -0
  41. package/dist/core/types/index.d.ts +1 -0
  42. package/dist/core/utils/BudgetUtil.es.js +50 -56
  43. package/dist/core/utils/BudgetUtil.es.js.map +1 -1
  44. package/dist/debts/DebtsWidget.es.js +5 -5
  45. package/dist/debts/components/debtsdrawer/DebtDetailsContent.es.js +3 -3
  46. package/dist/debts/components/debtsdrawer/DebtDetailsTab.es.js +6 -6
  47. package/dist/debts/components/debtsdrawer/DebtScheduleTab.es.js +8 -8
  48. package/dist/finstrong/components/HaveManageableDebt/HaveManageableDebtComponent.es.js +2 -2
  49. package/dist/finstrong/components/KeyIndicatorsTabItem.es.js +8 -8
  50. package/dist/finstrong/components/SaveEnoughToLiveOn/SaveEnoughToLiveOnDrawerContent.es.js +5 -5
  51. package/dist/finstrong/components/shared/Accounts.es.js +24 -24
  52. package/dist/finstrong/components/shared/ScoreHistoryTimeline.es.js +2 -2
  53. package/dist/finstrong/components/shared/Transactions.es.js +28 -28
  54. package/dist/finstrong/util/finstrongUtils.d.ts +1 -1
  55. package/dist/goals/GoalsWidget.es.js +12 -12
  56. package/dist/insights/components/insights/CustomTransaction/CustomTransaction.es.js +13 -13
  57. package/dist/insights/components/insights/UserFeedback/UserFeedback.es.js +14 -14
  58. package/dist/insights/components/shared/DeepLinks/DirectDeposit/DirectDepositDeepLink.es.js +2 -2
  59. package/dist/insights/components/shared/DirectDeposit/DirectDepositSubHeader.es.js +9 -9
  60. package/dist/insights/components/shared/InsightsCard/BeatCard.es.js +4 -4
  61. package/dist/insights/components/shared/InsightsCard/BeatCardMUI.es.js +4 -4
  62. package/dist/insights/components/shared/InsightsCard/ContentAndDescription.es.js +2 -2
  63. package/dist/insights/components/shared/InsightsCard/ContentAndDescriptionMUI.es.js +2 -2
  64. package/dist/insights/components/shared/MenuAction.es.js +16 -16
  65. package/dist/insights-v2/CommonUtils.d.ts +1 -0
  66. package/dist/insights-v2/CommonUtils.es.js +7 -0
  67. package/dist/insights-v2/CommonUtils.es.js.map +1 -0
  68. package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/BarchartBlock.d.ts +3 -0
  69. package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/BarchartBlock.es.js +28 -0
  70. package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/BarchartBlock.es.js.map +1 -0
  71. package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/index.d.ts +1 -0
  72. package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/layout.d.ts +9 -0
  73. package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/layout.es.js +9 -0
  74. package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/layout.es.js.map +1 -0
  75. package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/utils.d.ts +18 -0
  76. package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/utils.es.js +34 -0
  77. package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/utils.es.js.map +1 -0
  78. package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChart.d.ts +13 -0
  79. package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChart.es.js +87 -0
  80. package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChart.es.js.map +1 -0
  81. package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChartBlock.d.ts +4 -0
  82. package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChartBlock.es.js +23 -0
  83. package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChartBlock.es.js.map +1 -0
  84. package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/index.d.ts +1 -0
  85. package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/layout.d.ts +19 -0
  86. package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/layout.es.js +15 -0
  87. package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/layout.es.js.map +1 -0
  88. package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/utils.d.ts +3 -0
  89. package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/utils.es.js +11 -0
  90. package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/utils.es.js.map +1 -0
  91. package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/ChartLegend.d.ts +7 -0
  92. package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/ChartLegend.es.js +48 -0
  93. package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/ChartLegend.es.js.map +1 -0
  94. package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/CustomDoubleBar.d.ts +18 -0
  95. package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/CustomDoubleBar.es.js +45 -0
  96. package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/CustomDoubleBar.es.js.map +1 -0
  97. package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/DoubleBarChart.d.ts +2 -0
  98. package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/DoubleBarChart.es.js +125 -0
  99. package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/DoubleBarChart.es.js.map +1 -0
  100. package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/index.d.ts +1 -0
  101. package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/layout.d.ts +8 -0
  102. package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/layout.es.js +10 -0
  103. package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/layout.es.js.map +1 -0
  104. package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/DoubleProgressBarBlock.d.ts +4 -0
  105. package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/DoubleProgressBarBlock.es.js +28 -0
  106. package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/DoubleProgressBarBlock.es.js.map +1 -0
  107. package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/ProgressBar.d.ts +8 -0
  108. package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/ProgressBar.es.js +44 -0
  109. package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/ProgressBar.es.js.map +1 -0
  110. package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/index.d.ts +1 -0
  111. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/StepChartBlock.d.ts +4 -0
  112. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/StepChartBlock.es.js +15 -0
  113. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/StepChartBlock.es.js.map +1 -0
  114. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/index.d.ts +9 -0
  115. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/index.es.js +13 -0
  116. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/index.es.js.map +1 -0
  117. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/utils.d.ts +19 -0
  118. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/utils.es.js +27 -0
  119. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/utils.es.js.map +1 -0
  120. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/variants/WithText.d.ts +5 -0
  121. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/variants/WithText.es.js +78 -0
  122. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/variants/WithText.es.js.map +1 -0
  123. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/variants/WithoutText.d.ts +5 -0
  124. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/variants/WithoutText.es.js +81 -0
  125. package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/variants/WithoutText.es.js.map +1 -0
  126. package/dist/insights-v2/blocks/ChartBlocks/index.d.ts +5 -0
  127. package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/AccountBlock.d.ts +4 -0
  128. package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/AccountBlock.es.js +200 -0
  129. package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/AccountBlock.es.js.map +1 -0
  130. package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/HeaderComponent.d.ts +5 -0
  131. package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/HeaderComponent.es.js +26 -0
  132. package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/HeaderComponent.es.js.map +1 -0
  133. package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/IconComponent.d.ts +7 -0
  134. package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/IconComponent.es.js +64 -0
  135. package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/IconComponent.es.js.map +1 -0
  136. package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/index.d.ts +1 -0
  137. package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/layout.d.ts +32 -0
  138. package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/layout.es.js +100 -0
  139. package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/layout.es.js.map +1 -0
  140. package/dist/insights-v2/blocks/ComponentBlocks/ActionBlock/ActionBlockLayer.d.ts +8 -0
  141. package/dist/insights-v2/blocks/ComponentBlocks/ActionBlock/ActionBlockLayer.es.js +41 -0
  142. package/dist/insights-v2/blocks/ComponentBlocks/ActionBlock/ActionBlockLayer.es.js.map +1 -0
  143. package/dist/insights-v2/blocks/ComponentBlocks/ActionBlock/PlaceholderActionBlock.d.ts +4 -0
  144. package/dist/insights-v2/blocks/ComponentBlocks/ActionBlock/PlaceholderActionBlock.es.js +32 -0
  145. package/dist/insights-v2/blocks/ComponentBlocks/ActionBlock/PlaceholderActionBlock.es.js.map +1 -0
  146. package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/BudgetBlock.d.ts +3 -0
  147. package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/BudgetBlock.es.js +50 -0
  148. package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/BudgetBlock.es.js.map +1 -0
  149. package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/index.d.ts +1 -0
  150. package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/util.d.ts +7 -0
  151. package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/util.es.js +12 -0
  152. package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/util.es.js.map +1 -0
  153. package/dist/insights-v2/blocks/ComponentBlocks/index.d.ts +2 -0
  154. package/dist/insights-v2/blocks/ImageBlocks/ImageBlock.d.ts +4 -0
  155. package/dist/insights-v2/blocks/ImageBlocks/ImageBlock.es.js +35 -0
  156. package/dist/insights-v2/blocks/ImageBlocks/ImageBlock.es.js.map +1 -0
  157. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/SVGImageBlock.d.ts +3 -0
  158. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/SVGImageBlock.es.js +20 -0
  159. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/SVGImageBlock.es.js.map +1 -0
  160. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/DesignateEmergencySavingsAccount.es.js +296 -0
  161. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/DesignateEmergencySavingsAccount.es.js.map +1 -0
  162. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/FederalBankHoliday.es.js +449 -0
  163. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/FederalBankHoliday.es.js.map +1 -0
  164. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/FederalBankHolidayCibc.es.js +89 -0
  165. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/FederalBankHolidayCibc.es.js.map +1 -0
  166. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/UpcomingTaxDeadlineAlert.es.js +235 -0
  167. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/UpcomingTaxDeadlineAlert.es.js.map +1 -0
  168. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/UpcomingTaxDeadlineAlertCIBC.es.js +57 -0
  169. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/UpcomingTaxDeadlineAlertCIBC.es.js.map +1 -0
  170. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/index.d.ts +1 -0
  171. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/layout.d.ts +7 -0
  172. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/layout.es.js +15 -0
  173. package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/layout.es.js.map +1 -0
  174. package/dist/insights-v2/blocks/ImageBlocks/index.d.ts +2 -0
  175. package/dist/insights-v2/blocks/index.d.ts +4 -0
  176. package/dist/insights-v2/blocks/types.d.ts +8 -0
  177. package/dist/insights-v2/components/AccountHeroCard.d.ts +35 -0
  178. package/dist/insights-v2/components/AccountHeroCard.es.js +91 -0
  179. package/dist/insights-v2/components/AccountHeroCard.es.js.map +1 -0
  180. package/dist/insights-v2/components/AmountPill.d.ts +16 -0
  181. package/dist/insights-v2/components/AmountPill.es.js +25 -0
  182. package/dist/insights-v2/components/AmountPill.es.js.map +1 -0
  183. package/dist/insights-v2/components/BaseLayout.d.ts +6 -0
  184. package/dist/insights-v2/components/BaseLayout.es.js +77 -0
  185. package/dist/insights-v2/components/BaseLayout.es.js.map +1 -0
  186. package/dist/insights-v2/components/ComponentBlocks/DepositLogo.d.ts +22 -0
  187. package/dist/insights-v2/components/ComponentBlocks/DepositLogo.es.js +33 -0
  188. package/dist/insights-v2/components/ComponentBlocks/DepositLogo.es.js.map +1 -0
  189. package/dist/insights-v2/components/ComponentBlocks/StatusIndicator.d.ts +14 -0
  190. package/dist/insights-v2/components/ComponentBlocks/StatusIndicator.es.js +65 -0
  191. package/dist/insights-v2/components/ComponentBlocks/StatusIndicator.es.js.map +1 -0
  192. package/dist/insights-v2/components/DesignateEmergencySavingsCard.d.ts +33 -0
  193. package/dist/insights-v2/components/DesignateEmergencySavingsCard.es.js +78 -0
  194. package/dist/insights-v2/components/DesignateEmergencySavingsCard.es.js.map +1 -0
  195. package/dist/insights-v2/components/Footer.d.ts +9 -0
  196. package/dist/insights-v2/components/Footer.es.js +25 -0
  197. package/dist/insights-v2/components/Footer.es.js.map +1 -0
  198. package/dist/insights-v2/components/Header.d.ts +8 -0
  199. package/dist/insights-v2/components/Header.es.js +41 -0
  200. package/dist/insights-v2/components/Header.es.js.map +1 -0
  201. package/dist/insights-v2/components/InsightTransactionRow.d.ts +23 -0
  202. package/dist/insights-v2/components/InsightTransactionRow.es.js +52 -0
  203. package/dist/insights-v2/components/InsightTransactionRow.es.js.map +1 -0
  204. package/dist/insights-v2/components/LogoClusterCard.d.ts +40 -0
  205. package/dist/insights-v2/components/LogoClusterCard.es.js +104 -0
  206. package/dist/insights-v2/components/LogoClusterCard.es.js.map +1 -0
  207. package/dist/insights-v2/components/LogoTile.d.ts +31 -0
  208. package/dist/insights-v2/components/LogoTile.es.js +34 -0
  209. package/dist/insights-v2/components/LogoTile.es.js.map +1 -0
  210. package/dist/insights-v2/components/MerchantHighlightCard.d.ts +34 -0
  211. package/dist/insights-v2/components/MerchantHighlightCard.es.js +64 -0
  212. package/dist/insights-v2/components/MerchantHighlightCard.es.js.map +1 -0
  213. package/dist/insights-v2/components/P2PLogoStack.d.ts +32 -0
  214. package/dist/insights-v2/components/P2PLogoStack.es.js +55 -0
  215. package/dist/insights-v2/components/P2PLogoStack.es.js.map +1 -0
  216. package/dist/insights-v2/components/SaveAnExtraCard.d.ts +27 -0
  217. package/dist/insights-v2/components/SaveAnExtraCard.es.js +57 -0
  218. package/dist/insights-v2/components/SaveAnExtraCard.es.js.map +1 -0
  219. package/dist/insights-v2/components/SavingsOpportunityCard.d.ts +18 -0
  220. package/dist/insights-v2/components/SavingsOpportunityCard.es.js +71 -0
  221. package/dist/insights-v2/components/SavingsOpportunityCard.es.js.map +1 -0
  222. package/dist/insights-v2/components/StatusMessageCard.d.ts +28 -0
  223. package/dist/insights-v2/components/StatusMessageCard.es.js +45 -0
  224. package/dist/insights-v2/components/StatusMessageCard.es.js.map +1 -0
  225. package/dist/insights-v2/components/StatusPill.d.ts +26 -0
  226. package/dist/insights-v2/components/StatusPill.es.js +30 -0
  227. package/dist/insights-v2/components/StatusPill.es.js.map +1 -0
  228. package/dist/insights-v2/components/SubHeader.d.ts +6 -0
  229. package/dist/insights-v2/components/SubHeader.es.js +40 -0
  230. package/dist/insights-v2/components/SubHeader.es.js.map +1 -0
  231. package/dist/insights-v2/components/SubscriptionHeroCard.d.ts +27 -0
  232. package/dist/insights-v2/components/SubscriptionHeroCard.es.js +63 -0
  233. package/dist/insights-v2/components/SubscriptionHeroCard.es.js.map +1 -0
  234. package/dist/insights-v2/components/TransactionListCard.d.ts +45 -0
  235. package/dist/insights-v2/components/TransactionListCard.es.js +118 -0
  236. package/dist/insights-v2/components/TransactionListCard.es.js.map +1 -0
  237. package/dist/insights-v2/components/TransferLogoCard.d.ts +44 -0
  238. package/dist/insights-v2/components/TransferLogoCard.es.js +121 -0
  239. package/dist/insights-v2/components/TransferLogoCard.es.js.map +1 -0
  240. package/dist/insights-v2/components/UpcomingBillCard.d.ts +41 -0
  241. package/dist/insights-v2/components/UpcomingBillCard.es.js +99 -0
  242. package/dist/insights-v2/components/UpcomingBillCard.es.js.map +1 -0
  243. package/dist/insights-v2/components/celebrationGradients.d.ts +19 -0
  244. package/dist/insights-v2/components/celebrationGradients.es.js +7 -0
  245. package/dist/insights-v2/components/celebrationGradients.es.js.map +1 -0
  246. package/dist/insights-v2/components/chartblocks/BarchartV2.d.ts +2 -0
  247. package/dist/insights-v2/components/chartblocks/BarchartV2.es.js +148 -0
  248. package/dist/insights-v2/components/chartblocks/BarchartV2.es.js.map +1 -0
  249. package/dist/insights-v2/components/chartblocks/EmptyBarChart.d.ts +1 -0
  250. package/dist/insights-v2/components/chartblocks/EmptyBarChart.es.js +14 -0
  251. package/dist/insights-v2/components/chartblocks/EmptyBarChart.es.js.map +1 -0
  252. package/dist/insights-v2/components/chartblocks/ThemedSVGImage.d.ts +2 -0
  253. package/dist/insights-v2/components/chartblocks/ThemedSVGImage.es.js +49 -0
  254. package/dist/insights-v2/components/chartblocks/ThemedSVGImage.es.js.map +1 -0
  255. package/dist/insights-v2/components/logoShadow.d.ts +26 -0
  256. package/dist/insights-v2/components/logoShadow.es.js +12 -0
  257. package/dist/insights-v2/components/logoShadow.es.js.map +1 -0
  258. package/dist/insights-v2/components/shared/Confetti.d.ts +15 -0
  259. package/dist/insights-v2/components/shared/Confetti.es.js +33 -0
  260. package/dist/insights-v2/components/shared/Confetti.es.js.map +1 -0
  261. package/dist/insights-v2/components/shared/images/DesignateEmergencySavings.es.js +338 -0
  262. package/dist/insights-v2/components/shared/images/DesignateEmergencySavings.es.js.map +1 -0
  263. package/dist/insights-v2/components/shared/images/PaidOffCard.es.js +85 -0
  264. package/dist/insights-v2/components/shared/images/PaidOffCard.es.js.map +1 -0
  265. package/dist/insights-v2/components/shared/images/SavingsAccountDeposit.es.js +124 -0
  266. package/dist/insights-v2/components/shared/images/SavingsAccountDeposit.es.js.map +1 -0
  267. package/dist/insights-v2/components/shared/images/SavingsOpportunityLeft.es.js +104 -0
  268. package/dist/insights-v2/components/shared/images/SavingsOpportunityLeft.es.js.map +1 -0
  269. package/dist/insights-v2/components/shared/images/SavingsOpportunityLeftDark.es.js +104 -0
  270. package/dist/insights-v2/components/shared/images/SavingsOpportunityLeftDark.es.js.map +1 -0
  271. package/dist/insights-v2/components/shared/images/SavingsOpportunityPerforation.es.js +38 -0
  272. package/dist/insights-v2/components/shared/images/SavingsOpportunityPerforation.es.js.map +1 -0
  273. package/dist/insights-v2/components/statusTokens.d.ts +12 -0
  274. package/dist/insights-v2/components/statusTokens.es.js +10 -0
  275. package/dist/insights-v2/components/statusTokens.es.js.map +1 -0
  276. package/dist/insights-v2/hooks/useContainerDimensions.d.ts +5 -0
  277. package/dist/insights-v2/hooks/useContainerDimensions.es.js +26 -0
  278. package/dist/insights-v2/hooks/useContainerDimensions.es.js.map +1 -0
  279. package/dist/insights-v2/index.d.ts +18 -0
  280. package/dist/insights-v2/index.es.js +55 -0
  281. package/dist/insights-v2/mappings/blocks.d.ts +14 -0
  282. package/dist/insights-v2/mappings/blocks.es.js +32 -0
  283. package/dist/insights-v2/mappings/blocks.es.js.map +1 -0
  284. package/dist/investments/InvestmentsWidget.es.js +10 -10
  285. package/dist/investments/components/AnalysisDetails.es.js +4 -4
  286. package/dist/investments/components/allocation/InvestementAllocationList.es.js +27 -27
  287. package/dist/microinsights/MicroCardTemplate.es.js +4 -4
  288. package/dist/microinsights/carousel/BeatList.es.js +9 -9
  289. package/dist/networth/NetWorthWidget.es.js +6 -6
  290. package/dist/networth/components/AssetsLiabilitiesDetail.es.js +2 -2
  291. package/dist/networth/components/GainsLossesDetail.es.js +13 -13
  292. package/dist/notifications/components/NotificationDrawer.es.js +5 -5
  293. package/dist/notifications/components/NotificationList.es.js +13 -13
  294. package/dist/recurringtransactions/components/MicroWidgetContent.es.js +13 -13
  295. package/dist/recurringtransactions/components/RecurrenceRow.es.js +6 -6
  296. package/dist/recurringtransactions/components/RecurringStatus.es.js +4 -4
  297. package/dist/recurringtransactions/components/RecurringTransactionDetails.es.js +19 -19
  298. package/dist/recurringtransactions/components/actions/PaymentScheduleAction.es.js +9 -9
  299. package/dist/recurringtransactions/components/recurrencecalendar/RecurrenceDay.es.js +5 -5
  300. package/dist/recurringtransactions/components/shared/recurringsettings/AddRecurringTransaction.es.js +25 -25
  301. package/dist/recurringtransactions/components/shared/recurringsettings/ManageIncome.es.js +5 -5
  302. package/dist/settings/components/notifications/NotificationSettings.es.js +12 -12
  303. package/dist/settings/components/profile/ProfileTab.es.js +20 -20
  304. package/dist/trends/TrendsWidget.es.js +25 -25
  305. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## [9.4.0] - 08-25-2026
2
+
3
+ - **ADDED** - insights-v2.0 module: comprehensive reusable component library for insights UI
4
+ - **ADDED** - Chart blocks: BarChart, DoubleBarChart, DonutChart, StepChart, DoubleProgressBar (WEC-1256, WEC-1257, WEC-1258, WEC-1259, WEC-1260)
5
+ - **ADDED** - Content blocks: AccountBlock (with/without confetti variants), BudgetBlock (category/merchant), ActionBlock foundation (WEC-1309, WEC-1312, WEC-1315, WEC-1704)
6
+ - **ADDED** - Image blocks: SVG Block (with CIBC support), Image Block (WEC-1295, WEC-1296, WEC-1335)
7
+ - **ADDED** - Reusable components: AccountHeroCard, TransferLogoCard, MerchantHighlightCard, MerchantLogo, LogoClusterCard, LogoTile, MerchantLogoCard, P2PLogoStack, RankBadge, InsightTransactionRow, TransactionListCard, TransactionRow, DesignateEmergencySavingsCard, SaveAnExtraCard, SavingsOpportunityCard, UpcomingBillCard (WEC-1303, WEC-1305, WEC-1313, WEC-1714, WEC-1750)
8
+ - **ADDED** - Support components: StatusMessageCard, StatusPill, AmountPill, celebrationGradients module with confetti animations
9
+ - **ADDED** - Block type system: standardized block structure (BlockType, BlockConfig, BlockData), moved to `src/core/types/blocks/`, renamed `block_data` to `instance_slot_data` (WEC-1344)
10
+ - **ADDED** - Insight template system and mini layout support (WEC-1253, WEC-1254)
11
+ - **ADDED** - Storybook stories for all 40+ new components and blocks with interactive examples
12
+ - **ADDED** - RTL tests for all components with 85%+ code coverage across the insights-v2.0 module
13
+ - **CHANGED** - Block type definitions now centralized in `src/core/types/blocks/` with proper TypeScript exports
14
+ - **NOTE** - All insights-v2.0 components are presentational (stateless); data provided by consumers; ready for integration into blocks and containers
15
+
1
16
  ## [9.3.7] - 08-20-2026
2
17
 
3
18
  - **FIXED** - Prevent duplicate items caused by race conditions between REST responses and WebSocket events
@@ -11,8 +11,8 @@ import { Fragment as d, jsx as e, jsxs as r } from "react/jsx-runtime";
11
11
  import { useTheme as j } from "@mui/material/styles";
12
12
  import c from "@mui/material/Box";
13
13
  import T from "@mui/material/ListItem";
14
- import M from "@mui/material/ListItemButton";
15
- import $ from "@mui/material/ListItemText";
14
+ import $ from "@mui/material/ListItemButton";
15
+ import M from "@mui/material/ListItemText";
16
16
  import k from "@mui/material/ListItemAvatar";
17
17
  import D from "@mui/material/Badge";
18
18
  var E = ({ account: t, onRowClick: n, listItemProps: s, shouldShowConnectionStatus: p = !1 }) => {
@@ -26,7 +26,7 @@ var E = ({ account: t, onRowClick: n, listItemProps: s, shouldShowConnectionStat
26
26
  alt: "MX",
27
27
  institutionGuid: t.institution_guid || ""
28
28
  })
29
- }) }), /* @__PURE__ */ e($, {
29
+ }) }), /* @__PURE__ */ e(M, {
30
30
  disableTypography: !0,
31
31
  primary: /* @__PURE__ */ r(i, {
32
32
  bold: !0,
@@ -76,7 +76,7 @@ var E = ({ account: t, onRowClick: n, listItemProps: s, shouldShowConnectionStat
76
76
  color: t.is_closed ? "grey.700" : "",
77
77
  ...s?.sx
78
78
  },
79
- children: n ? /* @__PURE__ */ e(M, {
79
+ children: n ? /* @__PURE__ */ e($, {
80
80
  alignItems: "flex-start",
81
81
  onClick: n,
82
82
  sx: { px: 24 },
@@ -9,17 +9,17 @@ import { InstitutionLogo as D, P as k, Text as b } from "@mxenabled/mxui";
9
9
  import { Fragment as w, jsx as t, jsxs as s } from "react/jsx-runtime";
10
10
  import y from "@mui/material/Divider";
11
11
  import S from "@mui/material/List";
12
- import j from "@mui/material/ListItem";
13
- import G from "@mui/material/ListItemButton";
14
- import N from "@mui/material/ListItemText";
15
- import $ from "@mui/material/ListItemAvatar";
12
+ import $ from "@mui/material/ListItem";
13
+ import j from "@mui/material/ListItemButton";
14
+ import G from "@mui/material/ListItemText";
15
+ import N from "@mui/material/ListItemAvatar";
16
16
  import M from "@mui/material/ListSubheader";
17
- var P = ({ onClick: i, shouldShowBalance: m = !0, loadAccounts: c }) => {
17
+ var P = ({ onClick: i, shouldShowBalance: c = !0, loadAccounts: m }) => {
18
18
  const { config: p } = L(), { accounts: l } = A(), { selectedAccounts: n } = C(), h = a.useCallback((e) => {
19
19
  i?.(e);
20
- }, [i]), _ = a.useMemo(() => Array.from(new Set(n.map((e) => e.account_type))).filter((e) => c ? c.includes(e) : !0), [n, c]);
21
- return n.length ? /* @__PURE__ */ t(a.Fragment, { children: _.map((e) => {
22
- const { accountsForType: u, totalBalanceForType: g } = n.reduce((r, o) => (o.account_type === e && (r.accountsForType.push(o), r.totalBalanceForType += o.balance || 0), r), {
20
+ }, [i]), g = a.useMemo(() => Array.from(new Set(n.map((e) => e.account_type))).filter((e) => m ? m.includes(e) : !0), [n, m]);
21
+ return n.length ? /* @__PURE__ */ t(a.Fragment, { children: g.map((e) => {
22
+ const { accountsForType: u, totalBalanceForType: _ } = n.reduce((r, o) => (o.account_type === e && (r.accountsForType.push(o), r.totalBalanceForType += o.balance || 0), r), {
23
23
  accountsForType: [],
24
24
  totalBalanceForType: 0
25
25
  });
@@ -40,21 +40,21 @@ var P = ({ onClick: i, shouldShowBalance: m = !0, loadAccounts: c }) => {
40
40
  bold: !0,
41
41
  variant: "caption",
42
42
  children: l.account_types[e]
43
- }), m && /* @__PURE__ */ t(b, {
43
+ }), c && /* @__PURE__ */ t(b, {
44
44
  bold: !0,
45
45
  variant: "caption",
46
- children: f(g, "0,0.00")
46
+ children: f(_, "0,0.00")
47
47
  })]
48
48
  })
49
49
  }),
50
50
  sx: { bgcolor: "background.paper" },
51
51
  children: [u.map((r, o) => {
52
52
  const { firstValue: x } = T(r, l, p.display_available_balance_in_accounts), v = F(r, { allowNickname: p?.show_account_nicknames_in_master }), d = /* @__PURE__ */ s(w, { children: [
53
- /* @__PURE__ */ t($, { children: /* @__PURE__ */ t(D, {
53
+ /* @__PURE__ */ t(N, { children: /* @__PURE__ */ t(D, {
54
54
  alt: "MX",
55
55
  institutionGuid: r.institution_guid ?? ""
56
56
  }) }),
57
- /* @__PURE__ */ t(N, {
57
+ /* @__PURE__ */ t(G, {
58
58
  primary: `${v}${r.account_number ? ` *${r.account_number}` : ""}`,
59
59
  slotProps: { primary: {
60
60
  noWrap: !0,
@@ -62,15 +62,15 @@ var P = ({ onClick: i, shouldShowBalance: m = !0, loadAccounts: c }) => {
62
62
  variant: "body1"
63
63
  } }
64
64
  }),
65
- m && /* @__PURE__ */ t(k, {
65
+ c && /* @__PURE__ */ t(k, {
66
66
  bold: !0,
67
67
  variant: "body2",
68
68
  children: f(x ?? 0, "0,0.00")
69
69
  })
70
70
  ] });
71
- return /* @__PURE__ */ s(a.Fragment, { children: [/* @__PURE__ */ t(j, {
71
+ return /* @__PURE__ */ s(a.Fragment, { children: [/* @__PURE__ */ t($, {
72
72
  sx: { px: i ? 0 : 24 },
73
- children: i ? /* @__PURE__ */ t(G, {
73
+ children: i ? /* @__PURE__ */ t(j, {
74
74
  onClick: () => h(r),
75
75
  children: d
76
76
  }) : d
@@ -1,6 +1,6 @@
1
1
  import { buildDynamicCopy as A } from "../../../../core/utils/Localization.es.js";
2
2
  import { useAccountStore as M, useEvent as k, useGlobalCopyStore as v, useTransactionStore as D } from "../../../../common/context/hooks.es.js";
3
- import C from "../../../../common/components/dialog/Dialog.es.js";
3
+ import g from "../../../../common/components/dialog/Dialog.es.js";
4
4
  import E from "../../../../common/components/drawer/Drawer.es.js";
5
5
  import { ANALYTICS_EVENTS as _ } from "../../../../common/constants/Analytics.es.js";
6
6
  import { useAccountUiStore as O } from "../../../hooks/useUiStore.es.js";
@@ -9,7 +9,7 @@ import { useGetMergeableAccounts as P } from "../../../hooks/useGetMergeableAcco
9
9
  import U from "../../AccountListItem.es.js";
10
10
  import n from "react";
11
11
  import { observer as K } from "mobx-react-lite";
12
- import { Icon as g, Text as r } from "@mxenabled/mxui";
12
+ import { Icon as C, Text as r } from "@mxenabled/mxui";
13
13
  import { Fragment as N, jsx as t, jsxs as s } from "react/jsx-runtime";
14
14
  import R from "@mui/material/List";
15
15
  import G from "@mui/material/Switch";
@@ -57,9 +57,9 @@ var B = () => {
57
57
  },
58
58
  primaryText: e.is_closed ? o.mark_as_open : o.mark_as_closed,
59
59
  secondaryText: e.is_closed ? o.this_will_set_the_closed_account : o.this_will_set_the_account_balance_to_0,
60
- children: [/* @__PURE__ */ t(g, { name: "chevron_right" }), /* @__PURE__ */ t("div", {
60
+ children: [/* @__PURE__ */ t(C, { name: "chevron_right" }), /* @__PURE__ */ t("div", {
61
61
  onClick: (c) => c.stopPropagation(),
62
- children: /* @__PURE__ */ t(C, {
62
+ children: /* @__PURE__ */ t(g, {
63
63
  copy: {
64
64
  close_aria: o.close_modal,
65
65
  title: e.is_closed ? o.confirm_mark_as_open : o.confirm_mark_closed
@@ -83,7 +83,7 @@ var B = () => {
83
83
  },
84
84
  primaryText: o.mark_as_duplicate,
85
85
  secondaryText: o.if_a_connected_account_is_showing_up_twice,
86
- children: /* @__PURE__ */ t(g, { name: "chevron_right" })
86
+ children: /* @__PURE__ */ t(C, { name: "chevron_right" })
87
87
  }),
88
88
  /* @__PURE__ */ s(E, {
89
89
  ariaLabelClose: o.close_drawer,
@@ -110,7 +110,7 @@ var B = () => {
110
110
  h(!0), b(c);
111
111
  }
112
112
  }, c.guid);
113
- }) }), m && /* @__PURE__ */ s(C, {
113
+ }) }), m && /* @__PURE__ */ s(g, {
114
114
  copy: {
115
115
  close_aria: o.close_modal,
116
116
  title: o.confirm_merge
@@ -7,7 +7,7 @@ import { getConnectionMessages as S } from "../../../utils/getConnectionMessages
7
7
  import v from "react";
8
8
  import { observer as M } from "mobx-react-lite";
9
9
  import w from "@mui/material/Stack";
10
- import { Icon as g, Text as h } from "@mxenabled/mxui";
10
+ import { Icon as p, Text as h } from "@mxenabled/mxui";
11
11
  import { CheckCircle as I, Error as L, Language as z } from "@mxenabled/mx-icons";
12
12
  import { Fragment as a, jsx as o, jsxs as n } from "react/jsx-runtime";
13
13
  import { useTheme as R } from "@mui/material/styles";
@@ -23,7 +23,7 @@ var m = {
23
23
  gridColumn: 1,
24
24
  zIndex: 2
25
25
  }, B = () => {
26
- const [l, d] = v.useState(!1), { palette: { mode: u } } = R(), { selectedMember: e } = _(), { accounts: p, connect: C } = y(), t = S(e, C), r = x.includes(e.connection_status) ? {
26
+ const [l, d] = v.useState(!1), { palette: { mode: u } } = R(), { selectedMember: e } = _(), { accounts: g, connect: C } = y(), t = S(e, C), r = x.includes(e.connection_status) ? {
27
27
  color: "error.main",
28
28
  ctaCopy: t.cta ?? "",
29
29
  icon: /* @__PURE__ */ o(L, {
@@ -52,7 +52,7 @@ var m = {
52
52
  bold: !0,
53
53
  component: "h2",
54
54
  variant: "caption",
55
- children: p.connection_status
55
+ children: g.connection_status
56
56
  })
57
57
  }),
58
58
  /* @__PURE__ */ o(b, {
@@ -109,7 +109,7 @@ var m = {
109
109
  })
110
110
  ] })
111
111
  }),
112
- /* @__PURE__ */ o(g, { name: "chevron_right" })
112
+ /* @__PURE__ */ o(p, { name: "chevron_right" })
113
113
  ]
114
114
  })
115
115
  }),
@@ -139,7 +139,7 @@ var m = {
139
139
  primary: e.name,
140
140
  secondary: e.institution_url
141
141
  }),
142
- /* @__PURE__ */ o(g, { name: "launch" })
142
+ /* @__PURE__ */ o(p, { name: "launch" })
143
143
  ]
144
144
  })
145
145
  }) }),
@@ -147,7 +147,7 @@ var m = {
147
147
  loadWidgetProps: { current_member_guid: e.guid },
148
148
  onClose: () => d(!1),
149
149
  showConnectWidget: l,
150
- title: p.manage_connection
150
+ title: g.manage_connection
151
151
  })
152
152
  ] });
153
153
  }, X = M(B);
@@ -1,17 +1,17 @@
1
1
  import { useEvent as v, useGlobalCopyStore as y } from "../../../../common/context/hooks.es.js";
2
2
  import { useAccountUiStore as C } from "../../../hooks/useUiStore.es.js";
3
3
  import { getAccountDetailFields as E } from "../../../utils/AccountFields.es.js";
4
- import S from "./AccountDetailEdit.es.js";
4
+ import F from "./AccountDetailEdit.es.js";
5
5
  import n from "react";
6
- import { observer as A } from "mobx-react-lite";
7
- import { Icon as D, Text as p } from "@mxenabled/mxui";
8
- import { Fragment as F, jsx as e, jsxs as b } from "react/jsx-runtime";
6
+ import { observer as S } from "mobx-react-lite";
7
+ import { Icon as A, Text as p } from "@mxenabled/mxui";
8
+ import { Fragment as D, jsx as e, jsxs as b } from "react/jsx-runtime";
9
9
  import g from "@mui/material/ListItem";
10
10
  import k from "@mui/material/ListItemButton";
11
11
  import w from "@mui/material/ListItemText";
12
12
  var T = () => {
13
- const f = window.app?.config, { onEvent: h } = v(), { selectedAccount: o } = C(), { accounts: _ } = y(), i = E(o, _), a = o.member_is_managed_by_user || !o.member_is_managed_by_user && f.enable_renaming_home_accounts, [s, c] = n.useState(!1), [m, x] = n.useState(i[0]), r = i.filter((t) => a || o[t.name] || o[t.name] === 0);
14
- return /* @__PURE__ */ b(F, { children: [r.map((t) => {
13
+ const f = window.app?.config, { onEvent: h } = v(), { selectedAccount: o } = C(), { accounts: _ } = y(), a = E(o, _), i = o.member_is_managed_by_user || !o.member_is_managed_by_user && f.enable_renaming_home_accounts, [s, c] = n.useState(!1), [m, x] = n.useState(a[0]), r = a.filter((t) => i || o[t.name] || o[t.name] === 0);
14
+ return /* @__PURE__ */ b(D, { children: [r.map((t) => {
15
15
  const l = o[t.name] || o[t.name] === 0, d = r.indexOf(t) === r.length - 1, u = /* @__PURE__ */ e(w, {
16
16
  disableTypography: !0,
17
17
  primary: /* @__PURE__ */ e(p, {
@@ -24,7 +24,7 @@ var T = () => {
24
24
  children: l ? t.valueFormatter(o[t.name]) : t.placeholder
25
25
  })
26
26
  });
27
- return /* @__PURE__ */ e(n.Fragment, { children: a ? /* @__PURE__ */ e(g, {
27
+ return /* @__PURE__ */ e(n.Fragment, { children: i ? /* @__PURE__ */ e(g, {
28
28
  sx: {
29
29
  backgroundColor: "background.paper",
30
30
  px: 0,
@@ -43,7 +43,7 @@ var T = () => {
43
43
  onClick: () => {
44
44
  x(t), c(!0), t?.event && h(t.event, { account_guid: o.guid });
45
45
  },
46
- children: [u, /* @__PURE__ */ e(D, { name: "chevron_right" })]
46
+ children: [u, /* @__PURE__ */ e(A, { name: "chevron_right" })]
47
47
  })
48
48
  }) : l && /* @__PURE__ */ e(g, {
49
49
  sx: {
@@ -62,14 +62,14 @@ var T = () => {
62
62
  },
63
63
  children: u
64
64
  }) }, t.name);
65
- }), s && m && /* @__PURE__ */ e(S, {
65
+ }), s && m && /* @__PURE__ */ e(F, {
66
66
  field: m,
67
67
  isOpen: s,
68
68
  onClose: () => c(!1)
69
69
  })] });
70
- }, q = A(T);
70
+ }, $ = S(T);
71
71
  export {
72
- q as default
72
+ $ as default
73
73
  };
74
74
 
75
75
  //# sourceMappingURL=AccountDetails.es.js.map
@@ -1,8 +1,8 @@
1
1
  import { useGlobalCopyStore as s } from "../../../../common/context/hooks.es.js";
2
2
  import r from "../../../../common/components/TabContentContainer.es.js";
3
3
  import c from "./AccountDetailsTab.es.js";
4
- import d from "./ConnectionErrorMessage.es.js";
5
- import m from "../Transactions/TransactionsTab.es.js";
4
+ import m from "./ConnectionErrorMessage.es.js";
5
+ import d from "../Transactions/TransactionsTab.es.js";
6
6
  import u from "react";
7
7
  import { observer as b } from "mobx-react-lite";
8
8
  import { Fragment as f, jsx as a, jsxs as n } from "react/jsx-runtime";
@@ -11,7 +11,7 @@ import p from "@mui/material/Tabs";
11
11
  var C = () => {
12
12
  const [t, o] = u.useState(0), { accounts: e } = s();
13
13
  return /* @__PURE__ */ n(f, { children: [
14
- /* @__PURE__ */ a(d, { setTabValue: o }),
14
+ /* @__PURE__ */ a(m, { setTabValue: o }),
15
15
  /* @__PURE__ */ n(p, {
16
16
  "aria-label": e.transactions_and_details_aria,
17
17
  centered: !0,
@@ -33,7 +33,7 @@ var C = () => {
33
33
  index: 0,
34
34
  name: "transaction-details",
35
35
  value: t,
36
- children: /* @__PURE__ */ a(m, {})
36
+ children: /* @__PURE__ */ a(d, {})
37
37
  }),
38
38
  /* @__PURE__ */ a(r, {
39
39
  index: 1,
@@ -42,9 +42,9 @@ var C = () => {
42
42
  children: /* @__PURE__ */ a(c, {})
43
43
  })
44
44
  ] });
45
- }, V = b(C);
45
+ }, S = b(C);
46
46
  export {
47
- V as default
47
+ S as default
48
48
  };
49
49
 
50
50
  //# sourceMappingURL=AccountDetailsContent.es.js.map
@@ -8,23 +8,23 @@ import { observer as C } from "mobx-react-lite";
8
8
  import { Text as b } from "@mxenabled/mxui";
9
9
  import h from "@mui/material/Paper";
10
10
  import { Error as x } from "@mxenabled/mx-icons";
11
- import { Fragment as S, jsx as o, jsxs as c } from "react/jsx-runtime";
11
+ import { Fragment as S, jsx as o, jsxs as a } from "react/jsx-runtime";
12
12
  import _ from "@mui/material/Alert";
13
13
  import v from "@mui/material/AlertTitle";
14
14
  import w from "@mui/material/Link";
15
- var y = ({ setTabValue: a }) => {
15
+ var y = ({ setTabValue: c }) => {
16
16
  const [n, i] = s.useState(!1), { selectedMember: e } = p(), { accounts: m, connect: l } = f(), t = e.connection_status && u.includes(e.connection_status);
17
17
  if (s.useEffect(() => {
18
- t && a(1);
18
+ t && c(1);
19
19
  }, [t]), !t) return;
20
20
  const r = g(e, l);
21
- return /* @__PURE__ */ c(S, { children: [/* @__PURE__ */ o(h, {
21
+ return /* @__PURE__ */ a(S, { children: [/* @__PURE__ */ o(h, {
22
22
  sx: {
23
23
  mb: 16,
24
24
  mt: 24,
25
25
  mx: 24
26
26
  },
27
- children: /* @__PURE__ */ c(_, {
27
+ children: /* @__PURE__ */ a(_, {
28
28
  icon: /* @__PURE__ */ o(x, { filled: !0 }),
29
29
  role: "none",
30
30
  severity: "error",
@@ -67,9 +67,9 @@ var y = ({ setTabValue: a }) => {
67
67
  showConnectWidget: n,
68
68
  title: m.manage_connection
69
69
  })] });
70
- }, G = C(y);
70
+ }, B = C(y);
71
71
  export {
72
- G as default
72
+ B as default
73
73
  };
74
74
 
75
75
  //# sourceMappingURL=ConnectionErrorMessage.es.js.map
@@ -6,8 +6,8 @@ import S from "../../../../transactions/components/shared/TransactionList.es.js"
6
6
  import A from "../../../../transactions/components/shared/TransactionDetails.es.js";
7
7
  import t from "react";
8
8
  import { observer as b } from "mobx-react-lite";
9
- import { Fragment as y, jsx as a, jsxs as D } from "react/jsx-runtime";
10
- import { endOfToday as g, startOfToday as v, subDays as L } from "date-fns";
9
+ import { Fragment as g, jsx as a, jsxs as y } from "react/jsx-runtime";
10
+ import { endOfToday as D, startOfToday as v, subDays as L } from "date-fns";
11
11
  var N = () => {
12
12
  const [o, e] = t.useState(""), { onEvent: c } = l(), { selectedAccount: r } = E(), { accounts: s } = T(), { isTransactionDataLoaded: f, loadTransactionData: u, setFilter: d, sortedTransactions: n } = p();
13
13
  t.useEffect(() => {
@@ -18,11 +18,11 @@ var N = () => {
18
18
  d({
19
19
  dateRange: {
20
20
  start: L(v(), 90),
21
- end: g()
21
+ end: D()
22
22
  },
23
23
  accounts: [r.guid]
24
24
  });
25
- }, [r]), t.useEffect(() => c(C.ACCOUNT_DETAILS_VIEW_TRANSACTIONS), []), /* @__PURE__ */ D(y, { children: [/* @__PURE__ */ a(S, { onClick: e }), i && /* @__PURE__ */ a(_, {
25
+ }, [r]), t.useEffect(() => c(C.ACCOUNT_DETAILS_VIEW_TRANSACTIONS), []), /* @__PURE__ */ y(g, { children: [/* @__PURE__ */ a(S, { onClick: e }), i && /* @__PURE__ */ a(_, {
26
26
  ariaLabelClose: s.close_drawer,
27
27
  isOpen: !!o,
28
28
  onClose: () => e(""),
@@ -4,10 +4,10 @@ import E from "../../common/components/Loader.es.js";
4
4
  import { EmptyState as u } from "../../common/components/EmptyState.es.js";
5
5
  import a from "react";
6
6
  import { Fragment as j, jsx as s } from "react/jsx-runtime";
7
- var P = ({ isMiniWidget: o = !1, onConnectAccountsClick: m, createBudgetOnClick: n }) => {
8
- const { config: h } = B(), { recalculateBudgets: g } = x(), { spendCategories: d } = v(), { budgets: t } = z(), { availableWidth: b } = A(), { isMobile: l } = D(b), r = o && l, [p, i] = a.useState(!1), [y, f] = a.useState(!1), [w, c] = a.useState(!1), C = a.useMemo(() => [...d.filter((e) => e.totalAverageAmount > 0)], [d]), _ = async () => {
7
+ var P = ({ isMiniWidget: o = !1, onConnectAccountsClick: _, createBudgetOnClick: n }) => {
8
+ const { config: g } = B(), { recalculateBudgets: h } = x(), { spendCategories: d } = v(), { budgets: t } = z(), { availableWidth: b } = A(), { isMobile: l } = D(b), r = o && l, [p, i] = a.useState(!1), [y, f] = a.useState(!1), [w, c] = a.useState(!1), C = a.useMemo(() => [...d.filter((e) => e.totalAverageAmount > 0)], [d]), m = async () => {
9
9
  c(!0);
10
- const { data: e, isSuccess: S } = await g(C);
10
+ const { data: e, isSuccess: S } = await h(C);
11
11
  c(!1), S ? (e.length === 0 && f(!0), i(!1)) : i(!0);
12
12
  };
13
13
  return w ? /* @__PURE__ */ s(E, {}) : p ? /* @__PURE__ */ s(u, {
@@ -15,7 +15,7 @@ var P = ({ isMiniWidget: o = !1, onConnectAccountsClick: m, createBudgetOnClick:
15
15
  icon: "error",
16
16
  iconColor: "#4D4D4D",
17
17
  onClick: (e) => {
18
- e === "primary" ? _() : n();
18
+ e === "primary" ? m() : n();
19
19
  },
20
20
  primaryButton: t.autogenerate_budgets_error_primary_button,
21
21
  secondaryButton: t.zero_state_generate_budgets_secondary_button,
@@ -43,9 +43,9 @@ var P = ({ isMiniWidget: o = !1, onConnectAccountsClick: m, createBudgetOnClick:
43
43
  icon: "error",
44
44
  iconColor: "#4D4D4D",
45
45
  onClick: (e) => {
46
- e === "primary" ? m() : n();
46
+ e === "primary" ? _() : n();
47
47
  },
48
- primaryButton: h.show_connections_widget_in_master ? t.zero_state_generate_budgets_primary_button : void 0,
48
+ primaryButton: g.show_connections_widget_in_master ? t.zero_state_generate_budgets_primary_button : void 0,
49
49
  secondaryButton: t.zero_state_generate_budgets_secondary_button,
50
50
  subText: t.zero_state_generate_budgets_subheader,
51
51
  sx: {
@@ -74,7 +74,7 @@ var P = ({ isMiniWidget: o = !1, onConnectAccountsClick: m, createBudgetOnClick:
74
74
  icon: "bubble_chart",
75
75
  iconColor: "#1A1A1A",
76
76
  onClick: (e) => {
77
- e === "primary" ? _() : n();
77
+ e === "primary" ? m() : n();
78
78
  },
79
79
  primaryButton: t.empty_state_primary_button,
80
80
  secondaryButton: o ? void 0 : t.empty_state_secondary_button,
@@ -16,30 +16,30 @@ import { jsx as t, jsxs as a } from "react/jsx-runtime";
16
16
  import $ from "@mui/material/Divider";
17
17
  import G from "@mui/material/List";
18
18
  var ie = k(({ budget: n }) => {
19
- const { category: _, subBudgets: c } = n, { budgets: o, common: s } = O(), { deleteBudget: b, selectedSubBudget: e, setSelectedSubBudget: h, updateBudget: S } = v(), { filter: u, setFilter: p } = T(), [B, d] = i.useState(!1), [C, l] = i.useState(!1), [m, g] = i.useState("");
19
+ const { category: _, subBudgets: m } = n, { budgets: o, common: s } = O(), { deleteBudget: b, selectedSubBudget: e, setSelectedSubBudget: h, updateBudget: S } = v(), { filter: c, setFilter: u } = T(), [B, p] = i.useState(!1), [C, d] = i.useState(!1), [l, g] = i.useState("");
20
20
  i.useEffect(() => {
21
- e && (g(`${e.amount}`), p({
22
- ...u,
21
+ e && (g(`${e.amount}`), u({
22
+ ...c,
23
23
  custom: (r) => r.category_guid === e.category_guid
24
24
  }));
25
25
  }, [e]);
26
26
  const x = async () => {
27
- e && (await S({
27
+ e && await S({
28
28
  ...e,
29
- amount: Number(m)
30
- }), d(!1));
29
+ amount: Number(l)
30
+ });
31
31
  }, A = async () => {
32
- e && await b(e.guid), l(!1), y();
32
+ e && await b(e.guid), d(!1), y();
33
33
  }, y = () => {
34
- p({
35
- ...u,
34
+ u({
35
+ ...c,
36
36
  custom: (r) => r.category_guid === n.category_guid || r.top_level_category_guid === n.category_guid
37
37
  }), h(void 0);
38
38
  };
39
39
  return /* @__PURE__ */ a(i.Fragment, { children: [
40
40
  /* @__PURE__ */ a(G, {
41
41
  sx: { bgcolor: "background.paper" },
42
- children: [c.length === 0 ? /* @__PURE__ */ t(E, {}) : c.map((r) => /* @__PURE__ */ a(i.Fragment, { children: [/* @__PURE__ */ t(N, { budget: r }), /* @__PURE__ */ t($, {})] }, r.guid)), /* @__PURE__ */ t(j, {
42
+ children: [m.length === 0 ? /* @__PURE__ */ t(E, {}) : m.map((r) => /* @__PURE__ */ a(i.Fragment, { children: [/* @__PURE__ */ t(N, { budget: r }), /* @__PURE__ */ t($, {})] }, r.guid)), /* @__PURE__ */ t(j, {
43
43
  category: _,
44
44
  parentBudget: n
45
45
  })]
@@ -48,8 +48,8 @@ var ie = k(({ budget: n }) => {
48
48
  ariaLabelClose: s.close_aria,
49
49
  isOpen: !!e,
50
50
  onClose: y,
51
- onPrimaryAction: () => d(!0),
52
- onSecondaryAction: () => l(!0),
51
+ onPrimaryAction: () => p(!0),
52
+ onSecondaryAction: () => d(!0),
53
53
  primaryText: o.details_edit_button,
54
54
  secondaryText: o.details_delete_button,
55
55
  title: o.details_title,
@@ -63,13 +63,13 @@ var ie = k(({ budget: n }) => {
63
63
  close_aria: s.close_aria,
64
64
  title: o.details_edit_title
65
65
  },
66
- disablePrimaryButton: Number(m) <= 0,
66
+ disablePrimaryButton: Number(l) <= 0,
67
67
  isOpen: B,
68
- onClose: () => d(!1),
68
+ onClose: () => p(!1),
69
69
  onPrimaryAction: x,
70
70
  primaryText: o.edit_save_button,
71
71
  children: /* @__PURE__ */ t(L, {
72
- amount: m,
72
+ amount: l,
73
73
  categoryName: e.category.name,
74
74
  onAmountChanged: g
75
75
  })
@@ -79,7 +79,7 @@ var ie = k(({ budget: n }) => {
79
79
  title: o.delete_title
80
80
  },
81
81
  isOpen: C,
82
- onClose: () => l(!1),
82
+ onClose: () => d(!1),
83
83
  onPrimaryAction: A,
84
84
  primaryColor: "error",
85
85
  primaryText: "Delete",
@@ -1 +1 @@
1
- {"version":3,"file":"SubBudgetList.es.js","names":[],"sources":["../../../../src/budgets/components/budgetdetails/SubBudgetList.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport {\n Dialog,\n Drawer,\n useBudgetsStore,\n useGlobalCopyStore,\n useTransactionStore,\n} from '../../../common'\nimport { type Budget, type DetailedBudget, type Transaction } from '../../../core'\n\nimport { TransactionList } from '../../../transactions'\n\nimport { SubBudgetZeroState } from '../budgetlist/SubBudgetZeroState'\nimport { SubBudgetRow } from '../budgetlist/SubBudgetRow'\nimport { BudgetAmount } from '../shared/BudgetAmount'\nimport { AddSubBudget } from './AddSubBudget'\nimport { Header } from './Header'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface SubBudgetListProps {\n budget: DetailedBudget\n}\n\nexport const SubBudgetList: React.FC<SubBudgetListProps> = observer(({ budget }) => {\n const { category, subBudgets } = budget\n const { budgets: copy, common: commonCopy } = useGlobalCopyStore()\n const { deleteBudget, selectedSubBudget, setSelectedSubBudget, updateBudget } = useBudgetsStore()\n const { filter, setFilter } = useTransactionStore()\n\n const [isEditOpen, setIsEditOpen] = React.useState(false)\n const [isDeleteOpen, setIsDeleteOpen] = React.useState(false)\n const [amount, setAmount] = React.useState(``)\n\n React.useEffect(() => {\n if (selectedSubBudget) {\n setAmount(`${selectedSubBudget.amount}`)\n setFilter({\n ...filter,\n custom: (t: Transaction) => t.category_guid === selectedSubBudget.category_guid,\n })\n }\n }, [selectedSubBudget])\n\n const handleUpdateBudget = async () => {\n if (selectedSubBudget) {\n await updateBudget({\n ...selectedSubBudget,\n amount: Number(amount),\n } as Budget)\n setIsEditOpen(false)\n }\n }\n\n const handleDeleteBudget = async () => {\n if (selectedSubBudget) {\n await deleteBudget(selectedSubBudget.guid)\n }\n setIsDeleteOpen(false)\n handleClose()\n }\n\n const handleClose = () => {\n setFilter({\n ...filter,\n custom: (t: Transaction) =>\n t.category_guid === budget.category_guid ||\n t.top_level_category_guid === budget.category_guid,\n })\n setSelectedSubBudget(undefined)\n }\n\n return (\n <React.Fragment>\n <List sx={{ bgcolor: 'background.paper' }}>\n {subBudgets.length === 0 ? (\n <SubBudgetZeroState />\n ) : (\n subBudgets.map((subBudget) => (\n <React.Fragment key={subBudget.guid}>\n <SubBudgetRow budget={subBudget} />\n <Divider />\n </React.Fragment>\n ))\n )}\n <AddSubBudget category={category} parentBudget={budget} />\n </List>\n <Drawer\n ariaLabelClose={commonCopy.close_aria}\n isOpen={Boolean(selectedSubBudget)}\n onClose={handleClose}\n onPrimaryAction={() => setIsEditOpen(true)}\n onSecondaryAction={() => setIsDeleteOpen(true)}\n primaryText={copy.details_edit_button}\n secondaryText={copy.details_delete_button}\n title={copy.details_title}\n >\n {selectedSubBudget && (\n <Stack gap={24}>\n <Header budget={selectedSubBudget} />\n <TransactionList height=\"100%\" />\n </Stack>\n )}\n </Drawer>\n\n {selectedSubBudget && (\n <React.Fragment>\n <Dialog\n copy={{ close_aria: commonCopy.close_aria, title: copy.details_edit_title }}\n disablePrimaryButton={Number(amount) <= 0}\n isOpen={isEditOpen}\n onClose={() => setIsEditOpen(false)}\n onPrimaryAction={handleUpdateBudget}\n primaryText={copy.edit_save_button}\n >\n <BudgetAmount\n amount={amount}\n categoryName={selectedSubBudget.category.name}\n onAmountChanged={setAmount}\n />\n </Dialog>\n\n <Dialog\n copy={{ close_aria: commonCopy.close_aria, title: copy.delete_title }}\n isOpen={isDeleteOpen}\n onClose={() => setIsDeleteOpen(false)}\n onPrimaryAction={handleDeleteBudget}\n primaryColor=\"error\"\n primaryText=\"Delete\"\n secondaryColor=\"secondary\"\n >\n <Text variant=\"subtitle1\">\n {buildDynamicCopy(copy.delete_description, selectedSubBudget.category.name) as string}\n </Text>\n </Dialog>\n </React.Fragment>\n )}\n </React.Fragment>\n )\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"SubBudgetList.es.js","names":[],"sources":["../../../../src/budgets/components/budgetdetails/SubBudgetList.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport {\n Dialog,\n Drawer,\n useBudgetsStore,\n useGlobalCopyStore,\n useTransactionStore,\n} from '../../../common'\nimport { type Budget, type DetailedBudget, type Transaction } from '../../../core'\n\nimport { TransactionList } from '../../../transactions'\n\nimport { SubBudgetZeroState } from '../budgetlist/SubBudgetZeroState'\nimport { SubBudgetRow } from '../budgetlist/SubBudgetRow'\nimport { BudgetAmount } from '../shared/BudgetAmount'\nimport { AddSubBudget } from './AddSubBudget'\nimport { Header } from './Header'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface SubBudgetListProps {\n budget: DetailedBudget\n}\n\nexport const SubBudgetList: React.FC<SubBudgetListProps> = observer(({ budget }) => {\n const { category, subBudgets } = budget\n const { budgets: copy, common: commonCopy } = useGlobalCopyStore()\n const { deleteBudget, selectedSubBudget, setSelectedSubBudget, updateBudget } = useBudgetsStore()\n const { filter, setFilter } = useTransactionStore()\n\n const [isEditOpen, setIsEditOpen] = React.useState(false)\n const [isDeleteOpen, setIsDeleteOpen] = React.useState(false)\n const [amount, setAmount] = React.useState(``)\n\n React.useEffect(() => {\n if (selectedSubBudget) {\n setAmount(`${selectedSubBudget.amount}`)\n setFilter({\n ...filter,\n custom: (t: Transaction) => t.category_guid === selectedSubBudget.category_guid,\n })\n }\n }, [selectedSubBudget])\n\n const handleUpdateBudget = async () => {\n if (selectedSubBudget) {\n await updateBudget({\n ...selectedSubBudget,\n amount: Number(amount),\n } as Budget)\n }\n }\n\n const handleDeleteBudget = async () => {\n if (selectedSubBudget) {\n await deleteBudget(selectedSubBudget.guid)\n }\n setIsDeleteOpen(false)\n handleClose()\n }\n\n const handleClose = () => {\n setFilter({\n ...filter,\n custom: (t: Transaction) =>\n t.category_guid === budget.category_guid ||\n t.top_level_category_guid === budget.category_guid,\n })\n setSelectedSubBudget(undefined)\n }\n\n return (\n <React.Fragment>\n <List sx={{ bgcolor: 'background.paper' }}>\n {subBudgets.length === 0 ? (\n <SubBudgetZeroState />\n ) : (\n subBudgets.map((subBudget) => (\n <React.Fragment key={subBudget.guid}>\n <SubBudgetRow budget={subBudget} />\n <Divider />\n </React.Fragment>\n ))\n )}\n <AddSubBudget category={category} parentBudget={budget} />\n </List>\n <Drawer\n ariaLabelClose={commonCopy.close_aria}\n isOpen={Boolean(selectedSubBudget)}\n onClose={handleClose}\n onPrimaryAction={() => setIsEditOpen(true)}\n onSecondaryAction={() => setIsDeleteOpen(true)}\n primaryText={copy.details_edit_button}\n secondaryText={copy.details_delete_button}\n title={copy.details_title}\n >\n {selectedSubBudget && (\n <Stack gap={24}>\n <Header budget={selectedSubBudget} />\n <TransactionList height=\"100%\" />\n </Stack>\n )}\n </Drawer>\n\n {selectedSubBudget && (\n <React.Fragment>\n <Dialog\n copy={{ close_aria: commonCopy.close_aria, title: copy.details_edit_title }}\n disablePrimaryButton={Number(amount) <= 0}\n isOpen={isEditOpen}\n onClose={() => setIsEditOpen(false)}\n onPrimaryAction={handleUpdateBudget}\n primaryText={copy.edit_save_button}\n >\n <BudgetAmount\n amount={amount}\n categoryName={selectedSubBudget.category.name}\n onAmountChanged={setAmount}\n />\n </Dialog>\n\n <Dialog\n copy={{ close_aria: commonCopy.close_aria, title: copy.delete_title }}\n isOpen={isDeleteOpen}\n onClose={() => setIsDeleteOpen(false)}\n onPrimaryAction={handleDeleteBudget}\n primaryColor=\"error\"\n primaryText=\"Delete\"\n secondaryColor=\"secondary\"\n >\n <Text variant=\"subtitle1\">\n {buildDynamicCopy(copy.delete_description, selectedSubBudget.category.name) as string}\n </Text>\n </Dialog>\n </React.Fragment>\n )}\n </React.Fragment>\n )\n})\n"],"mappings":"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"}