@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.
- package/CHANGELOG.md +15 -0
- package/dist/accounts/components/AccountListItem.es.js +4 -4
- package/dist/accounts/components/AccountsListCompact.es.js +15 -15
- package/dist/accounts/components/detailsdrawer/Accounts/AccountActions.es.js +6 -6
- package/dist/accounts/components/detailsdrawer/Accounts/AccountConnection.es.js +6 -6
- package/dist/accounts/components/detailsdrawer/Accounts/AccountDetails.es.js +11 -11
- package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsContent.es.js +6 -6
- package/dist/accounts/components/detailsdrawer/Accounts/ConnectionErrorMessage.es.js +7 -7
- package/dist/accounts/components/detailsdrawer/Transactions/TransactionsTab.es.js +4 -4
- package/dist/budgets/components/BudgetsEmptyState.es.js +7 -7
- package/dist/budgets/components/budgetdetails/SubBudgetList.es.js +16 -16
- package/dist/budgets/components/budgetdetails/SubBudgetList.es.js.map +1 -1
- package/dist/cashflow/CashflowOnboarding.es.js +13 -13
- package/dist/cashflow/components/CashflowHeading.es.js +4 -4
- package/dist/cashflow/components/DetailsExpenseHeader.es.js +4 -4
- package/dist/common/components/DataRow.es.js +6 -6
- package/dist/common/components/MiniWidgetContainer.es.js +9 -9
- package/dist/common/components/charts/linechart/CustomLine.es.js +2 -2
- package/dist/common/components/charts/linechart/CustomMark.es.js +2 -2
- package/dist/common/context/hooks.d.ts +1 -0
- package/dist/common/context/hooks.es.js +12 -11
- package/dist/common/context/hooks.es.js.map +1 -1
- package/dist/common/context/index.d.ts +1 -1
- package/dist/common/index.es.js +116 -115
- package/dist/core/index.es.js +27 -25
- package/dist/core/stores/BudgetsStore.es.js +21 -28
- package/dist/core/stores/BudgetsStore.es.js.map +1 -1
- package/dist/core/stores/GlobalStore.d.ts +2 -1
- package/dist/core/stores/GlobalStore.es.js +11 -9
- package/dist/core/stores/GlobalStore.es.js.map +1 -1
- package/dist/core/stores/InsightsV2Store.d.ts +24 -0
- package/dist/core/stores/InsightsV2Store.es.js +41 -0
- package/dist/core/stores/InsightsV2Store.es.js.map +1 -0
- package/dist/core/stores/index.d.ts +2 -0
- package/dist/core/types/Beat.d.ts +2 -0
- package/dist/core/types/Beat.es.js.map +1 -1
- package/dist/core/types/Insights.d.ts +90 -0
- package/dist/core/types/InsightsInstanceSlotData.d.ts +93 -0
- package/dist/core/types/InsightsInstanceSlotData.es.js +8 -0
- package/dist/core/types/InsightsInstanceSlotData.es.js.map +1 -0
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/utils/BudgetUtil.es.js +50 -56
- package/dist/core/utils/BudgetUtil.es.js.map +1 -1
- package/dist/debts/DebtsWidget.es.js +5 -5
- package/dist/debts/components/debtsdrawer/DebtDetailsContent.es.js +3 -3
- package/dist/debts/components/debtsdrawer/DebtDetailsTab.es.js +6 -6
- package/dist/debts/components/debtsdrawer/DebtScheduleTab.es.js +8 -8
- package/dist/finstrong/components/HaveManageableDebt/HaveManageableDebtComponent.es.js +2 -2
- package/dist/finstrong/components/KeyIndicatorsTabItem.es.js +8 -8
- package/dist/finstrong/components/SaveEnoughToLiveOn/SaveEnoughToLiveOnDrawerContent.es.js +5 -5
- package/dist/finstrong/components/shared/Accounts.es.js +24 -24
- package/dist/finstrong/components/shared/ScoreHistoryTimeline.es.js +2 -2
- package/dist/finstrong/components/shared/Transactions.es.js +28 -28
- package/dist/finstrong/util/finstrongUtils.d.ts +1 -1
- package/dist/goals/GoalsWidget.es.js +12 -12
- package/dist/insights/components/insights/CustomTransaction/CustomTransaction.es.js +13 -13
- package/dist/insights/components/insights/UserFeedback/UserFeedback.es.js +14 -14
- package/dist/insights/components/shared/DeepLinks/DirectDeposit/DirectDepositDeepLink.es.js +2 -2
- package/dist/insights/components/shared/DirectDeposit/DirectDepositSubHeader.es.js +9 -9
- package/dist/insights/components/shared/InsightsCard/BeatCard.es.js +4 -4
- package/dist/insights/components/shared/InsightsCard/BeatCardMUI.es.js +4 -4
- package/dist/insights/components/shared/InsightsCard/ContentAndDescription.es.js +2 -2
- package/dist/insights/components/shared/InsightsCard/ContentAndDescriptionMUI.es.js +2 -2
- package/dist/insights/components/shared/MenuAction.es.js +16 -16
- package/dist/insights-v2/CommonUtils.d.ts +1 -0
- package/dist/insights-v2/CommonUtils.es.js +7 -0
- package/dist/insights-v2/CommonUtils.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/BarchartBlock.d.ts +3 -0
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/BarchartBlock.es.js +28 -0
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/BarchartBlock.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/index.d.ts +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/layout.d.ts +9 -0
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/layout.es.js +9 -0
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/layout.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/utils.d.ts +18 -0
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/utils.es.js +34 -0
- package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/utils.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChart.d.ts +13 -0
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChart.es.js +87 -0
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChart.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChartBlock.d.ts +4 -0
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChartBlock.es.js +23 -0
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/DonutChartBlock.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/index.d.ts +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/layout.d.ts +19 -0
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/layout.es.js +15 -0
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/layout.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/utils.d.ts +3 -0
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/utils.es.js +11 -0
- package/dist/insights-v2/blocks/ChartBlocks/DonutChartBlock/utils.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/ChartLegend.d.ts +7 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/ChartLegend.es.js +48 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/ChartLegend.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/CustomDoubleBar.d.ts +18 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/CustomDoubleBar.es.js +45 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/CustomDoubleBar.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/DoubleBarChart.d.ts +2 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/DoubleBarChart.es.js +125 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/DoubleBarChart.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/index.d.ts +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/layout.d.ts +8 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/layout.es.js +10 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleBarChartBlock/layout.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/DoubleProgressBarBlock.d.ts +4 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/DoubleProgressBarBlock.es.js +28 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/DoubleProgressBarBlock.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/ProgressBar.d.ts +8 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/ProgressBar.es.js +44 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/ProgressBar.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/DoubleProgressBarBlock/index.d.ts +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/StepChartBlock.d.ts +4 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/StepChartBlock.es.js +15 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/StepChartBlock.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/index.d.ts +9 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/index.es.js +13 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/index.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/utils.d.ts +19 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/utils.es.js +27 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/utils.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/variants/WithText.d.ts +5 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/variants/WithText.es.js +78 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/variants/WithText.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/variants/WithoutText.d.ts +5 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/variants/WithoutText.es.js +81 -0
- package/dist/insights-v2/blocks/ChartBlocks/StepChartBlock/variants/WithoutText.es.js.map +1 -0
- package/dist/insights-v2/blocks/ChartBlocks/index.d.ts +5 -0
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/AccountBlock.d.ts +4 -0
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/AccountBlock.es.js +200 -0
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/AccountBlock.es.js.map +1 -0
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/HeaderComponent.d.ts +5 -0
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/HeaderComponent.es.js +26 -0
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/HeaderComponent.es.js.map +1 -0
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/IconComponent.d.ts +7 -0
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/IconComponent.es.js +64 -0
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/IconComponent.es.js.map +1 -0
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/index.d.ts +1 -0
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/layout.d.ts +32 -0
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/layout.es.js +100 -0
- package/dist/insights-v2/blocks/ComponentBlocks/AccountBlock/layout.es.js.map +1 -0
- package/dist/insights-v2/blocks/ComponentBlocks/ActionBlock/ActionBlockLayer.d.ts +8 -0
- package/dist/insights-v2/blocks/ComponentBlocks/ActionBlock/ActionBlockLayer.es.js +41 -0
- package/dist/insights-v2/blocks/ComponentBlocks/ActionBlock/ActionBlockLayer.es.js.map +1 -0
- package/dist/insights-v2/blocks/ComponentBlocks/ActionBlock/PlaceholderActionBlock.d.ts +4 -0
- package/dist/insights-v2/blocks/ComponentBlocks/ActionBlock/PlaceholderActionBlock.es.js +32 -0
- package/dist/insights-v2/blocks/ComponentBlocks/ActionBlock/PlaceholderActionBlock.es.js.map +1 -0
- package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/BudgetBlock.d.ts +3 -0
- package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/BudgetBlock.es.js +50 -0
- package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/BudgetBlock.es.js.map +1 -0
- package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/index.d.ts +1 -0
- package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/util.d.ts +7 -0
- package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/util.es.js +12 -0
- package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/util.es.js.map +1 -0
- package/dist/insights-v2/blocks/ComponentBlocks/index.d.ts +2 -0
- package/dist/insights-v2/blocks/ImageBlocks/ImageBlock.d.ts +4 -0
- package/dist/insights-v2/blocks/ImageBlocks/ImageBlock.es.js +35 -0
- package/dist/insights-v2/blocks/ImageBlocks/ImageBlock.es.js.map +1 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/SVGImageBlock.d.ts +3 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/SVGImageBlock.es.js +20 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/SVGImageBlock.es.js.map +1 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/DesignateEmergencySavingsAccount.es.js +296 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/DesignateEmergencySavingsAccount.es.js.map +1 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/FederalBankHoliday.es.js +449 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/FederalBankHoliday.es.js.map +1 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/FederalBankHolidayCibc.es.js +89 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/FederalBankHolidayCibc.es.js.map +1 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/UpcomingTaxDeadlineAlert.es.js +235 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/UpcomingTaxDeadlineAlert.es.js.map +1 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/UpcomingTaxDeadlineAlertCIBC.es.js +57 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/images/UpcomingTaxDeadlineAlertCIBC.es.js.map +1 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/index.d.ts +1 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/layout.d.ts +7 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/layout.es.js +15 -0
- package/dist/insights-v2/blocks/ImageBlocks/SVGImageBlock/layout.es.js.map +1 -0
- package/dist/insights-v2/blocks/ImageBlocks/index.d.ts +2 -0
- package/dist/insights-v2/blocks/index.d.ts +4 -0
- package/dist/insights-v2/blocks/types.d.ts +8 -0
- package/dist/insights-v2/components/AccountHeroCard.d.ts +35 -0
- package/dist/insights-v2/components/AccountHeroCard.es.js +91 -0
- package/dist/insights-v2/components/AccountHeroCard.es.js.map +1 -0
- package/dist/insights-v2/components/AmountPill.d.ts +16 -0
- package/dist/insights-v2/components/AmountPill.es.js +25 -0
- package/dist/insights-v2/components/AmountPill.es.js.map +1 -0
- package/dist/insights-v2/components/BaseLayout.d.ts +6 -0
- package/dist/insights-v2/components/BaseLayout.es.js +77 -0
- package/dist/insights-v2/components/BaseLayout.es.js.map +1 -0
- package/dist/insights-v2/components/ComponentBlocks/DepositLogo.d.ts +22 -0
- package/dist/insights-v2/components/ComponentBlocks/DepositLogo.es.js +33 -0
- package/dist/insights-v2/components/ComponentBlocks/DepositLogo.es.js.map +1 -0
- package/dist/insights-v2/components/ComponentBlocks/StatusIndicator.d.ts +14 -0
- package/dist/insights-v2/components/ComponentBlocks/StatusIndicator.es.js +65 -0
- package/dist/insights-v2/components/ComponentBlocks/StatusIndicator.es.js.map +1 -0
- package/dist/insights-v2/components/DesignateEmergencySavingsCard.d.ts +33 -0
- package/dist/insights-v2/components/DesignateEmergencySavingsCard.es.js +78 -0
- package/dist/insights-v2/components/DesignateEmergencySavingsCard.es.js.map +1 -0
- package/dist/insights-v2/components/Footer.d.ts +9 -0
- package/dist/insights-v2/components/Footer.es.js +25 -0
- package/dist/insights-v2/components/Footer.es.js.map +1 -0
- package/dist/insights-v2/components/Header.d.ts +8 -0
- package/dist/insights-v2/components/Header.es.js +41 -0
- package/dist/insights-v2/components/Header.es.js.map +1 -0
- package/dist/insights-v2/components/InsightTransactionRow.d.ts +23 -0
- package/dist/insights-v2/components/InsightTransactionRow.es.js +52 -0
- package/dist/insights-v2/components/InsightTransactionRow.es.js.map +1 -0
- package/dist/insights-v2/components/LogoClusterCard.d.ts +40 -0
- package/dist/insights-v2/components/LogoClusterCard.es.js +104 -0
- package/dist/insights-v2/components/LogoClusterCard.es.js.map +1 -0
- package/dist/insights-v2/components/LogoTile.d.ts +31 -0
- package/dist/insights-v2/components/LogoTile.es.js +34 -0
- package/dist/insights-v2/components/LogoTile.es.js.map +1 -0
- package/dist/insights-v2/components/MerchantHighlightCard.d.ts +34 -0
- package/dist/insights-v2/components/MerchantHighlightCard.es.js +64 -0
- package/dist/insights-v2/components/MerchantHighlightCard.es.js.map +1 -0
- package/dist/insights-v2/components/P2PLogoStack.d.ts +32 -0
- package/dist/insights-v2/components/P2PLogoStack.es.js +55 -0
- package/dist/insights-v2/components/P2PLogoStack.es.js.map +1 -0
- package/dist/insights-v2/components/SaveAnExtraCard.d.ts +27 -0
- package/dist/insights-v2/components/SaveAnExtraCard.es.js +57 -0
- package/dist/insights-v2/components/SaveAnExtraCard.es.js.map +1 -0
- package/dist/insights-v2/components/SavingsOpportunityCard.d.ts +18 -0
- package/dist/insights-v2/components/SavingsOpportunityCard.es.js +71 -0
- package/dist/insights-v2/components/SavingsOpportunityCard.es.js.map +1 -0
- package/dist/insights-v2/components/StatusMessageCard.d.ts +28 -0
- package/dist/insights-v2/components/StatusMessageCard.es.js +45 -0
- package/dist/insights-v2/components/StatusMessageCard.es.js.map +1 -0
- package/dist/insights-v2/components/StatusPill.d.ts +26 -0
- package/dist/insights-v2/components/StatusPill.es.js +30 -0
- package/dist/insights-v2/components/StatusPill.es.js.map +1 -0
- package/dist/insights-v2/components/SubHeader.d.ts +6 -0
- package/dist/insights-v2/components/SubHeader.es.js +40 -0
- package/dist/insights-v2/components/SubHeader.es.js.map +1 -0
- package/dist/insights-v2/components/SubscriptionHeroCard.d.ts +27 -0
- package/dist/insights-v2/components/SubscriptionHeroCard.es.js +63 -0
- package/dist/insights-v2/components/SubscriptionHeroCard.es.js.map +1 -0
- package/dist/insights-v2/components/TransactionListCard.d.ts +45 -0
- package/dist/insights-v2/components/TransactionListCard.es.js +118 -0
- package/dist/insights-v2/components/TransactionListCard.es.js.map +1 -0
- package/dist/insights-v2/components/TransferLogoCard.d.ts +44 -0
- package/dist/insights-v2/components/TransferLogoCard.es.js +121 -0
- package/dist/insights-v2/components/TransferLogoCard.es.js.map +1 -0
- package/dist/insights-v2/components/UpcomingBillCard.d.ts +41 -0
- package/dist/insights-v2/components/UpcomingBillCard.es.js +99 -0
- package/dist/insights-v2/components/UpcomingBillCard.es.js.map +1 -0
- package/dist/insights-v2/components/celebrationGradients.d.ts +19 -0
- package/dist/insights-v2/components/celebrationGradients.es.js +7 -0
- package/dist/insights-v2/components/celebrationGradients.es.js.map +1 -0
- package/dist/insights-v2/components/chartblocks/BarchartV2.d.ts +2 -0
- package/dist/insights-v2/components/chartblocks/BarchartV2.es.js +148 -0
- package/dist/insights-v2/components/chartblocks/BarchartV2.es.js.map +1 -0
- package/dist/insights-v2/components/chartblocks/EmptyBarChart.d.ts +1 -0
- package/dist/insights-v2/components/chartblocks/EmptyBarChart.es.js +14 -0
- package/dist/insights-v2/components/chartblocks/EmptyBarChart.es.js.map +1 -0
- package/dist/insights-v2/components/chartblocks/ThemedSVGImage.d.ts +2 -0
- package/dist/insights-v2/components/chartblocks/ThemedSVGImage.es.js +49 -0
- package/dist/insights-v2/components/chartblocks/ThemedSVGImage.es.js.map +1 -0
- package/dist/insights-v2/components/logoShadow.d.ts +26 -0
- package/dist/insights-v2/components/logoShadow.es.js +12 -0
- package/dist/insights-v2/components/logoShadow.es.js.map +1 -0
- package/dist/insights-v2/components/shared/Confetti.d.ts +15 -0
- package/dist/insights-v2/components/shared/Confetti.es.js +33 -0
- package/dist/insights-v2/components/shared/Confetti.es.js.map +1 -0
- package/dist/insights-v2/components/shared/images/DesignateEmergencySavings.es.js +338 -0
- package/dist/insights-v2/components/shared/images/DesignateEmergencySavings.es.js.map +1 -0
- package/dist/insights-v2/components/shared/images/PaidOffCard.es.js +85 -0
- package/dist/insights-v2/components/shared/images/PaidOffCard.es.js.map +1 -0
- package/dist/insights-v2/components/shared/images/SavingsAccountDeposit.es.js +124 -0
- package/dist/insights-v2/components/shared/images/SavingsAccountDeposit.es.js.map +1 -0
- package/dist/insights-v2/components/shared/images/SavingsOpportunityLeft.es.js +104 -0
- package/dist/insights-v2/components/shared/images/SavingsOpportunityLeft.es.js.map +1 -0
- package/dist/insights-v2/components/shared/images/SavingsOpportunityLeftDark.es.js +104 -0
- package/dist/insights-v2/components/shared/images/SavingsOpportunityLeftDark.es.js.map +1 -0
- package/dist/insights-v2/components/shared/images/SavingsOpportunityPerforation.es.js +38 -0
- package/dist/insights-v2/components/shared/images/SavingsOpportunityPerforation.es.js.map +1 -0
- package/dist/insights-v2/components/statusTokens.d.ts +12 -0
- package/dist/insights-v2/components/statusTokens.es.js +10 -0
- package/dist/insights-v2/components/statusTokens.es.js.map +1 -0
- package/dist/insights-v2/hooks/useContainerDimensions.d.ts +5 -0
- package/dist/insights-v2/hooks/useContainerDimensions.es.js +26 -0
- package/dist/insights-v2/hooks/useContainerDimensions.es.js.map +1 -0
- package/dist/insights-v2/index.d.ts +18 -0
- package/dist/insights-v2/index.es.js +55 -0
- package/dist/insights-v2/mappings/blocks.d.ts +14 -0
- package/dist/insights-v2/mappings/blocks.es.js +32 -0
- package/dist/insights-v2/mappings/blocks.es.js.map +1 -0
- package/dist/investments/InvestmentsWidget.es.js +10 -10
- package/dist/investments/components/AnalysisDetails.es.js +4 -4
- package/dist/investments/components/allocation/InvestementAllocationList.es.js +27 -27
- package/dist/microinsights/MicroCardTemplate.es.js +4 -4
- package/dist/microinsights/carousel/BeatList.es.js +9 -9
- package/dist/networth/NetWorthWidget.es.js +6 -6
- package/dist/networth/components/AssetsLiabilitiesDetail.es.js +2 -2
- package/dist/networth/components/GainsLossesDetail.es.js +13 -13
- package/dist/notifications/components/NotificationDrawer.es.js +5 -5
- package/dist/notifications/components/NotificationList.es.js +13 -13
- package/dist/recurringtransactions/components/MicroWidgetContent.es.js +13 -13
- package/dist/recurringtransactions/components/RecurrenceRow.es.js +6 -6
- package/dist/recurringtransactions/components/RecurringStatus.es.js +4 -4
- package/dist/recurringtransactions/components/RecurringTransactionDetails.es.js +19 -19
- package/dist/recurringtransactions/components/actions/PaymentScheduleAction.es.js +9 -9
- package/dist/recurringtransactions/components/recurrencecalendar/RecurrenceDay.es.js +5 -5
- package/dist/recurringtransactions/components/shared/recurringsettings/AddRecurringTransaction.es.js +25 -25
- package/dist/recurringtransactions/components/shared/recurringsettings/ManageIncome.es.js +5 -5
- package/dist/settings/components/notifications/NotificationSettings.es.js +12 -12
- package/dist/settings/components/profile/ProfileTab.es.js +20 -20
- package/dist/trends/TrendsWidget.es.js +25 -25
- 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
|
|
15
|
-
import
|
|
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(
|
|
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
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
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:
|
|
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]),
|
|
21
|
-
return n.length ? /* @__PURE__ */ t(a.Fragment, { children:
|
|
22
|
-
const { accountsForType: u, totalBalanceForType:
|
|
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
|
-
}),
|
|
43
|
+
}), c && /* @__PURE__ */ t(b, {
|
|
44
44
|
bold: !0,
|
|
45
45
|
variant: "caption",
|
|
46
|
-
children: f(
|
|
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(
|
|
53
|
+
/* @__PURE__ */ t(N, { children: /* @__PURE__ */ t(D, {
|
|
54
54
|
alt: "MX",
|
|
55
55
|
institutionGuid: r.institution_guid ?? ""
|
|
56
56
|
}) }),
|
|
57
|
-
/* @__PURE__ */ t(
|
|
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
|
-
|
|
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(
|
|
71
|
+
return /* @__PURE__ */ s(a.Fragment, { children: [/* @__PURE__ */ t($, {
|
|
72
72
|
sx: { px: i ? 0 : 24 },
|
|
73
|
-
children: i ? /* @__PURE__ */ t(
|
|
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
|
|
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
|
|
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(
|
|
60
|
+
children: [/* @__PURE__ */ t(C, { name: "chevron_right" }), /* @__PURE__ */ t("div", {
|
|
61
61
|
onClick: (c) => c.stopPropagation(),
|
|
62
|
-
children: /* @__PURE__ */ t(
|
|
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(
|
|
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(
|
|
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
|
|
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:
|
|
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:
|
|
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(
|
|
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(
|
|
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:
|
|
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
|
|
4
|
+
import F from "./AccountDetailEdit.es.js";
|
|
5
5
|
import n from "react";
|
|
6
|
-
import { observer as
|
|
7
|
-
import { Icon as
|
|
8
|
-
import { Fragment as
|
|
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(),
|
|
14
|
-
return /* @__PURE__ */ b(
|
|
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:
|
|
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(
|
|
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(
|
|
65
|
+
}), s && m && /* @__PURE__ */ e(F, {
|
|
66
66
|
field: m,
|
|
67
67
|
isOpen: s,
|
|
68
68
|
onClose: () => c(!1)
|
|
69
69
|
})] });
|
|
70
|
-
},
|
|
70
|
+
}, $ = S(T);
|
|
71
71
|
export {
|
|
72
|
-
|
|
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
|
|
5
|
-
import
|
|
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(
|
|
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(
|
|
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
|
-
},
|
|
45
|
+
}, S = b(C);
|
|
46
46
|
export {
|
|
47
|
-
|
|
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
|
|
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:
|
|
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 &&
|
|
18
|
+
t && c(1);
|
|
19
19
|
}, [t]), !t) return;
|
|
20
20
|
const r = g(e, l);
|
|
21
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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
|
-
},
|
|
70
|
+
}, B = C(y);
|
|
71
71
|
export {
|
|
72
|
-
|
|
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
|
|
10
|
-
import { endOfToday as
|
|
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:
|
|
21
|
+
end: D()
|
|
22
22
|
},
|
|
23
23
|
accounts: [r.guid]
|
|
24
24
|
});
|
|
25
|
-
}, [r]), t.useEffect(() => c(C.ACCOUNT_DETAILS_VIEW_TRANSACTIONS), []), /* @__PURE__ */
|
|
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:
|
|
8
|
-
const { config:
|
|
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
|
|
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" ?
|
|
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" ?
|
|
46
|
+
e === "primary" ? _() : n();
|
|
47
47
|
},
|
|
48
|
-
primaryButton:
|
|
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" ?
|
|
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:
|
|
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}`),
|
|
22
|
-
...
|
|
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 &&
|
|
27
|
+
e && await S({
|
|
28
28
|
...e,
|
|
29
|
-
amount: Number(
|
|
30
|
-
})
|
|
29
|
+
amount: Number(l)
|
|
30
|
+
});
|
|
31
31
|
}, A = async () => {
|
|
32
|
-
e && await b(e.guid),
|
|
32
|
+
e && await b(e.guid), d(!1), y();
|
|
33
33
|
}, y = () => {
|
|
34
|
-
|
|
35
|
-
...
|
|
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: [
|
|
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: () =>
|
|
52
|
-
onSecondaryAction: () =>
|
|
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(
|
|
66
|
+
disablePrimaryButton: Number(l) <= 0,
|
|
67
67
|
isOpen: B,
|
|
68
|
-
onClose: () =>
|
|
68
|
+
onClose: () => p(!1),
|
|
69
69
|
onPrimaryAction: x,
|
|
70
70
|
primaryText: o.edit_save_button,
|
|
71
71
|
children: /* @__PURE__ */ t(L, {
|
|
72
|
-
amount:
|
|
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: () =>
|
|
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
|
|
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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"}
|