@mx-cartographer/experiences 9.3.0-alpha.bb2 → 9.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/dist/accounts/AccountsMiniWidget.es.js.map +1 -1
- package/dist/accounts/AccountsWidget.es.js.map +1 -1
- package/dist/accounts/ConnectMiniWidget.es.js.map +1 -1
- package/dist/accounts/components/AccountListItem.es.js.map +1 -1
- package/dist/accounts/components/AccountsList.es.js.map +1 -1
- package/dist/accounts/components/AccountsListCompact.es.js.map +1 -1
- package/dist/accounts/components/ConnectImage.es.js.map +1 -1
- package/dist/accounts/components/ConnectMiniWidgetCard.es.js.map +1 -1
- package/dist/accounts/components/ConnectionStatusIcons.es.js.map +1 -1
- package/dist/accounts/components/ConnectionsDrawer.es.js.map +1 -1
- package/dist/accounts/components/detailsdrawer/Accounts/AccountActions.es.js +40 -37
- package/dist/accounts/components/detailsdrawer/Accounts/AccountActions.es.js.map +1 -1
- package/dist/accounts/components/detailsdrawer/Accounts/AccountActionsRow.es.js.map +1 -1
- package/dist/accounts/components/detailsdrawer/Accounts/AccountConnection.es.js.map +1 -1
- package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailEdit.es.js.map +1 -1
- package/dist/accounts/components/detailsdrawer/Accounts/AccountDetails.es.js.map +1 -1
- package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsChart.es.js.map +1 -1
- package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsContent.es.js.map +1 -1
- package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsDrawer.es.js.map +1 -1
- package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsHeader.es.js.map +1 -1
- package/dist/accounts/components/detailsdrawer/Accounts/ConnectionErrorMessage.es.js.map +1 -1
- package/dist/accounts/components/detailsdrawer/Transactions/TransactionsTab.es.js.map +1 -1
- package/dist/accounts/utils/AccountFields.es.js +4 -1
- package/dist/accounts/utils/AccountFields.es.js.map +1 -1
- package/dist/analytics/SurveyMiniWidget.es.js.map +1 -1
- package/dist/analytics/components/RatingScale.es.js.map +1 -1
- package/dist/budgets/BubbleBudgetsMiniWidget.es.js +46 -44
- package/dist/budgets/BubbleBudgetsMiniWidget.es.js.map +1 -1
- package/dist/budgets/BubbleBudgetsWidget.es.js.map +1 -1
- package/dist/budgets/components/AddBudgets.es.js.map +1 -1
- package/dist/budgets/components/BubbleBudgets.es.js.map +1 -1
- package/dist/budgets/components/BubbleChart.es.js +12 -12
- package/dist/budgets/components/BubbleChart.es.js.map +1 -1
- package/dist/budgets/components/BudgetDetailsDrawer.es.js.map +1 -1
- package/dist/budgets/components/BudgetDetailsDrawerV2.es.js.map +1 -1
- package/dist/budgets/components/BudgetList.es.js.map +1 -1
- package/dist/budgets/components/MerchantBudgetDetailsDrawer.es.js.map +1 -1
- package/dist/budgets/components/Overview.es.js.map +1 -1
- package/dist/budgets/components/addbudget/Header.es.js.map +1 -1
- package/dist/budgets/components/addbudget/RecalculateBudgets.es.js.map +1 -1
- package/dist/budgets/components/addbudget/UnbudgetedRow.es.js.map +1 -1
- package/dist/budgets/components/bubblechart/Bubble.es.js.map +1 -1
- package/dist/budgets/components/bubblechart/Mercury.es.js +13 -11
- package/dist/budgets/components/bubblechart/Mercury.es.js.map +1 -1
- package/dist/budgets/components/budgetdetails/AddSubBudget.es.js.map +1 -1
- package/dist/budgets/components/budgetdetails/BudgetDetails.es.js.map +1 -1
- package/dist/budgets/components/budgetdetails/Header.es.js.map +1 -1
- package/dist/budgets/components/budgetdetails/SubBudgetList.es.js.map +1 -1
- package/dist/budgets/components/budgetlist/BudgetRow.es.js.map +1 -1
- package/dist/budgets/components/budgetlist/SubBudgetRow.es.js.map +1 -1
- package/dist/budgets/components/budgetlist/SubBudgetZeroState.es.js.map +1 -1
- package/dist/budgets/components/shared/BudgetAmount.es.js.map +1 -1
- package/dist/budgets/components/shared/BudgetDetailsTopSection.es.js.map +1 -1
- package/dist/budgets/utils/BubblesSVG.es.js +10 -10
- package/dist/budgets/utils/BubblesSVG.es.js.map +1 -1
- package/dist/cashflow/CashflowMiniWidget.es.js.map +1 -1
- package/dist/cashflow/CashflowOnboarding.es.js.map +1 -1
- package/dist/cashflow/CashflowWidget.es.js.map +1 -1
- package/dist/cashflow/components/CashflowAmountHeading.es.js.map +1 -1
- package/dist/cashflow/components/CashflowContent.es.js.map +1 -1
- package/dist/cashflow/components/CashflowHeading.es.js.map +1 -1
- package/dist/cashflow/components/CashflowWidgetContent.es.js.map +1 -1
- package/dist/cashflow/components/DetailsExpenseHeader.es.js.map +1 -1
- package/dist/cashflow/components/DetailsExpenseRow.es.js.map +1 -1
- package/dist/cashflow/components/DetailsFooter.es.js.map +1 -1
- package/dist/cashflow/components/DetailsTab.es.js.map +1 -1
- package/dist/cashflow/components/RemainingCash.es.js.map +1 -1
- package/dist/cashflow/components/SummaryTab.es.js.map +1 -1
- package/dist/cashflow/components/onboarding/StepOne.es.js.map +1 -1
- package/dist/cashflow/components/onboarding/StepTwo.es.js.map +1 -1
- package/dist/categories/components/CategoryList.es.js +24 -24
- package/dist/categories/components/CategoryList.es.js.map +1 -1
- package/dist/categories/components/CategoryRow.es.js +6 -6
- package/dist/categories/components/CategoryRow.es.js.map +1 -1
- package/dist/categories/components/CategorySelector.es.js +36 -32
- package/dist/categories/components/CategorySelector.es.js.map +1 -1
- package/dist/categories/components/CategorySelectorDrawer.es.js.map +1 -1
- package/dist/categories/components/CustomCategories/AddSubcategory.es.js.map +1 -1
- package/dist/categories/components/CustomCategories/CustomCategoryModal.es.js +0 -1
- package/dist/categories/components/CustomCategories/CustomCategoryModal.es.js.map +1 -1
- package/dist/categories/components/SubcategoryList.es.js.map +1 -1
- package/dist/categories/components/SubcategoryRow.es.js.map +1 -1
- package/dist/common/components/Banner.es.js.map +1 -1
- package/dist/common/components/ConnectCard.es.js.map +1 -1
- package/dist/common/components/ConnectDrawer.es.js.map +1 -1
- package/dist/common/components/ConnectStatus.es.js.map +1 -1
- package/dist/common/components/CurrencyDialog.es.js.map +1 -1
- package/dist/common/components/CurrencyInput.es.js +11 -11
- package/dist/common/components/CurrencyText.es.js.map +1 -1
- package/dist/common/components/DataRow.es.js +7 -7
- package/dist/common/components/DataRow.es.js.map +1 -1
- package/dist/common/components/EmptyState.es.js.map +1 -1
- package/dist/common/components/Error.es.js.map +1 -1
- package/dist/common/components/ErrorBoundary.es.js.map +1 -1
- package/dist/common/components/GlobalAccountFilter.es.js.map +1 -1
- package/dist/common/components/IconBacking.es.js.map +1 -1
- package/dist/common/components/InformationTooltip.es.js.map +1 -1
- package/dist/common/components/ListItemAction.es.js.map +1 -1
- package/dist/common/components/ListItemRow.es.js +1 -1
- package/dist/common/components/ListItemRow.es.js.map +1 -1
- package/dist/common/components/ListItemWrapper.es.js.map +1 -1
- package/dist/common/components/Loader.es.js.map +1 -1
- package/dist/common/components/MicroWidgetContainer.es.js.map +1 -1
- package/dist/common/components/MiniWidgetContainer.es.js.map +1 -1
- package/dist/common/components/ResponsiveButton.es.js.map +1 -1
- package/dist/common/components/SearchBox.es.js.map +1 -1
- package/dist/common/components/Select.es.js.map +1 -1
- package/dist/common/components/SelectionBox.es.js.map +1 -1
- package/dist/common/components/SkeletonLoader.es.js.map +1 -1
- package/dist/common/components/SubheaderRow.es.js.map +1 -1
- package/dist/common/components/TabContentContainer.es.js.map +1 -1
- package/dist/common/components/TinyBarChart.es.js.map +1 -1
- package/dist/common/components/WidgetContainer.es.js.map +1 -1
- package/dist/common/components/WidgetDateRangeSelector.es.js +28 -28
- package/dist/common/components/WidgetDateRangeSelector.es.js.map +1 -1
- package/dist/common/components/addaccounts/AddAccounts.es.js +13 -13
- package/dist/common/components/addaccounts/AddAccounts.es.js.map +1 -1
- package/dist/common/components/calendar/Calendar.es.js.map +1 -1
- package/dist/common/components/calendar/Day.es.js.map +1 -1
- package/dist/common/components/calendar/Header.es.js +26 -23
- package/dist/common/components/calendar/Header.es.js.map +1 -1
- package/dist/common/components/charts/Donut.es.js.map +1 -1
- package/dist/common/components/charts/LineChart.es.js.map +1 -1
- package/dist/common/components/charts/StackedLineChart.es.js.map +1 -1
- package/dist/common/components/charts/StatusBar.es.js.map +1 -1
- package/dist/common/components/charts/linechart/CustomLegend.es.js.map +1 -1
- package/dist/common/components/charts/linechart/CustomLine.es.js.map +1 -1
- package/dist/common/components/charts/linechart/CustomMark.es.js.map +1 -1
- package/dist/common/components/charts/linechart/CustomTooltip.es.js.map +1 -1
- package/dist/common/components/charts/stackedlinechart/CategoryIconLabel.es.js.map +1 -1
- package/dist/common/components/charts/stackedlinechart/CustomAreaTooltip.es.js.map +1 -1
- package/dist/common/components/charts/stackedlinechart/CustomLegend.es.js.map +1 -1
- package/dist/common/components/charts/stackedlinechart/CustomPointTooltip.es.js.map +1 -1
- package/dist/common/components/daterangeselector/DateRangeSelector.d.ts +14 -0
- package/dist/common/components/daterangeselector/DateRangeSelector.es.js +113 -101
- package/dist/common/components/daterangeselector/DateRangeSelector.es.js.map +1 -1
- package/dist/common/components/dialog/Dialog.es.js.map +1 -1
- package/dist/common/components/donuts/MultiSegmentDonut.es.js.map +1 -1
- package/dist/common/components/donuts/SingleSegmentDonut.es.js.map +1 -1
- package/dist/common/components/drawer/Drawer.es.js.map +1 -1
- package/dist/common/components/drawer/Footer.es.js.map +1 -1
- package/dist/common/components/drawer/Header.es.js.map +1 -1
- package/dist/common/components/globalaccountfilter/GlobalAccountFilterList.es.js +71 -87
- package/dist/common/components/globalaccountfilter/GlobalAccountFilterList.es.js.map +1 -1
- package/dist/common/components/listitems/CollapseExpandListItem.es.js +4 -4
- package/dist/common/components/listitems/CollapseExpandListItem.es.js.map +1 -1
- package/dist/common/components/listitems/ToggleButtonListItem.es.js +6 -6
- package/dist/common/components/listitems/ToggleButtonListItem.es.js.map +1 -1
- package/dist/common/components/listitems/ToggleListItem.es.js.map +1 -1
- package/dist/common/hooks/useAriaLive.es.js.map +1 -1
- package/dist/common/utils/AccountFilter.es.js.map +1 -1
- package/dist/core/constants/Category.es.js.map +1 -1
- package/dist/core/stores/CategoryStore.d.ts +2 -0
- package/dist/core/stores/CategoryStore.es.js +55 -47
- package/dist/core/stores/CategoryStore.es.js.map +1 -1
- package/dist/core/stores/DebtsStore.es.js +10 -10
- package/dist/core/stores/DebtsStore.es.js.map +1 -1
- package/dist/core/stores/FinstrongStore.es.js +4 -4
- package/dist/core/stores/FinstrongStore.es.js.map +1 -1
- package/dist/core/stores/TrendsStore.es.js +6 -6
- package/dist/core/types/Account.es.js.map +1 -1
- package/dist/core/utils/DateUtil.es.js +24 -23
- package/dist/core/utils/DateUtil.es.js.map +1 -1
- package/dist/core/utils/DebtUtils.es.js +28 -28
- package/dist/core/utils/DebtUtils.es.js.map +1 -1
- package/dist/core/utils/GoalsUtil.es.js +11 -8
- package/dist/core/utils/GoalsUtil.es.js.map +1 -1
- package/dist/core/utils/InvestmentUtil.es.js +26 -23
- package/dist/core/utils/InvestmentUtil.es.js.map +1 -1
- package/dist/core/utils/NotificationUtils.es.js +11 -8
- package/dist/core/utils/NotificationUtils.es.js.map +1 -1
- package/dist/core/utils/RecurringTransactionsUtil.es.js +5 -8
- package/dist/core/utils/RecurringTransactionsUtil.es.js.map +1 -1
- package/dist/core/utils/SettingsUtil.es.js.map +1 -1
- package/dist/core/utils/TransactionUtils.es.js.map +1 -1
- package/dist/dashboard/Dashboard.es.js.map +1 -1
- package/dist/dashboard/Greeting.es.js.map +1 -1
- package/dist/debts/DebtsWidget.es.js.map +1 -1
- package/dist/debts/components/DebtDrawer.es.js.map +1 -1
- package/dist/debts/components/DebtsChart.es.js +36 -36
- package/dist/debts/components/DebtsChart.es.js.map +1 -1
- package/dist/debts/components/DebtsTable.es.js +13 -13
- package/dist/debts/components/DebtsTable.es.js.map +1 -1
- package/dist/debts/components/PaydownDrawer.es.js.map +1 -1
- package/dist/debts/components/SnowballCard.es.js.map +1 -1
- package/dist/debts/components/SnowballDrawer.es.js.map +1 -1
- package/dist/debts/components/actions/DebtsPriorityAction.es.js +23 -23
- package/dist/debts/components/actions/DebtsPriorityAction.es.js.map +1 -1
- package/dist/debts/components/actions/ExtraPaymentAction.es.js.map +1 -1
- package/dist/debts/components/actions/InterestRateAction.es.js.map +1 -1
- package/dist/debts/components/actions/MonthlyPaymentAction.es.js.map +1 -1
- package/dist/debts/components/actions/OriginalBalanceAction.es.js.map +1 -1
- package/dist/debts/components/debtsdrawer/DebtDetailsChart.es.js.map +1 -1
- package/dist/debts/components/debtsdrawer/DebtDetailsContent.es.js.map +1 -1
- package/dist/debts/components/debtsdrawer/DebtDetailsTab.es.js.map +1 -1
- package/dist/debts/components/debtsdrawer/DebtScheduleTab.es.js.map +1 -1
- package/dist/debts/components/debtsdrawer/DebtStatusCard.es.js.map +1 -1
- package/dist/debts/components/debtspaydown/PaydownButton.es.js.map +1 -1
- package/dist/debts/components/debtspaydown/PaydownContent.es.js.map +1 -1
- package/dist/debts/components/debtspriority/DebtsPriorityButton.es.js.map +1 -1
- package/dist/debts/components/debtspriority/DebtsPrioriyPopover.es.js.map +1 -1
- package/dist/debts/components/debtstable/AccountCell.es.js.map +1 -1
- package/dist/debts/components/debtstable/PriorityCell.es.js.map +1 -1
- package/dist/finstrong/FinancialStrengthCard.es.js.map +1 -1
- package/dist/finstrong/FinstrongWidget.es.js.map +1 -1
- package/dist/finstrong/components/ConnectMoreAccountsCard.es.js.map +1 -1
- package/dist/finstrong/components/CreditScore/CreditScoreContent.es.js.map +1 -1
- package/dist/finstrong/components/CreditScore/CreditScoreHeader.es.js.map +1 -1
- package/dist/finstrong/components/HaveManageableDebt/DebtPaymentTabContent.es.js.map +1 -1
- package/dist/finstrong/components/HaveManageableDebt/HaveManageableDebtComponent.es.js.map +1 -1
- package/dist/finstrong/components/HaveManageableDebt/HaveManageableDebtProgressBar.es.js.map +1 -1
- package/dist/finstrong/components/HaveManageableDebt/IncomeTabContent.es.js.map +1 -1
- package/dist/finstrong/components/HealthChart.es.js.map +1 -1
- package/dist/finstrong/components/KeyIndicatorsBorrowTab.es.js.map +1 -1
- package/dist/finstrong/components/KeyIndicatorsDrawer.es.js.map +1 -1
- package/dist/finstrong/components/KeyIndicatorsSaveTab.es.js.map +1 -1
- package/dist/finstrong/components/KeyIndicatorsSpendTab.es.js.map +1 -1
- package/dist/finstrong/components/KeyIndicatorsTabItem.es.js.map +1 -1
- package/dist/finstrong/components/KeyIndicatorsTabItemDrawer.es.js.map +1 -1
- package/dist/finstrong/components/KeyIndicatorsTabsWidget.es.js.map +1 -1
- package/dist/finstrong/components/MaintainingEmergencySavings/EstimatedContributionCalculator.es.js.map +1 -1
- package/dist/finstrong/components/MaintainingEmergencySavings/MaintainingEmergencySavingsContent.es.js.map +1 -1
- package/dist/finstrong/components/MaintainingEmergencySavings/MaintainingEmergencySavingsSticky.es.js.map +1 -1
- package/dist/finstrong/components/ManageCreditScore.es.js.map +1 -1
- package/dist/finstrong/components/ManageDOB.es.js.map +1 -1
- package/dist/finstrong/components/MissingData.es.js.map +1 -1
- package/dist/finstrong/components/ProfileDrawer.es.js.map +1 -1
- package/dist/finstrong/components/ProfileList.es.js.map +1 -1
- package/dist/finstrong/components/ProfileProgressBar.es.js.map +1 -1
- package/dist/finstrong/components/ProgressBar.es.js.map +1 -1
- package/dist/finstrong/components/SaveEnoughToLiveOn/AvailableTabContent.es.js.map +1 -1
- package/dist/finstrong/components/SaveEnoughToLiveOn/SaveEnoughToLiveOnDrawerContent.es.js.map +1 -1
- package/dist/finstrong/components/SaveEnoughToLiveOn/SaveEnoughToLiveOnProgressBar.es.js.map +1 -1
- package/dist/finstrong/components/SaveEnoughToLiveOn/SpendingTabContent.es.js.map +1 -1
- package/dist/finstrong/components/ScoreHistoryDrawer.es.js.map +1 -1
- package/dist/finstrong/components/ScoreRubricDrawer.es.js.map +1 -1
- package/dist/finstrong/components/SpendLessThanYouMake/SpendLessThanYouMakeComponent.es.js.map +1 -1
- package/dist/finstrong/components/SpendLessThanYouMake/SpendLessThanYouMakeProgressBar.es.js.map +1 -1
- package/dist/finstrong/components/StatusChip.es.js.map +1 -1
- package/dist/finstrong/components/onboarding/Onboarding.es.js.map +1 -1
- package/dist/finstrong/components/onboarding/OnboardingAddMonthlyIncome.es.js.map +1 -1
- package/dist/finstrong/components/onboarding/OnboardingBirthday.es.js.map +1 -1
- package/dist/finstrong/components/onboarding/OnboardingCreditScore.es.js.map +1 -1
- package/dist/finstrong/components/onboarding/OnboardingStepsDrawer.es.js +15 -18
- package/dist/finstrong/components/onboarding/OnboardingStepsDrawer.es.js.map +1 -1
- package/dist/finstrong/components/onboarding/OnboardingStepsHeader.es.js.map +1 -1
- package/dist/finstrong/components/paybillsontime/PayBillsOnTimeDrawerComponent.es.js.map +1 -1
- package/dist/finstrong/components/paybillsontime/PayBillsOnTimeStickyComponent.es.js.map +1 -1
- package/dist/finstrong/components/shared/Accounts.es.js.map +1 -1
- package/dist/finstrong/components/shared/CustomDoubleBarPlot.es.js.map +1 -1
- package/dist/finstrong/components/shared/CustomPieArc.es.js.map +1 -1
- package/dist/finstrong/components/shared/DialScoreCard.es.js +27 -27
- package/dist/finstrong/components/shared/DialScoreCard.es.js.map +1 -1
- package/dist/finstrong/components/shared/DoubleBarChart.es.js.map +1 -1
- package/dist/finstrong/components/shared/LineGraph.es.js +20 -19
- package/dist/finstrong/components/shared/LineGraph.es.js.map +1 -1
- package/dist/finstrong/components/shared/ScoreHistoryTimeline.es.js +28 -28
- package/dist/finstrong/components/shared/ScoreHistoryTimeline.es.js.map +1 -1
- package/dist/finstrong/components/shared/ScoreHistoryTimelineItem.es.js.map +1 -1
- package/dist/finstrong/components/shared/TotalCard.es.js.map +1 -1
- package/dist/finstrong/components/shared/Transactions.es.js.map +1 -1
- package/dist/finstrong/util/finstrongUtils.es.js +4 -1
- package/dist/finstrong/util/finstrongUtils.es.js.map +1 -1
- package/dist/goals/GoalsMicroWidget.es.js.map +1 -1
- package/dist/goals/GoalsWidget.es.js.map +1 -1
- package/dist/goals/components/AccountSelectionDrawer.es.js.map +1 -1
- package/dist/goals/components/AddGoal.es.js.map +1 -1
- package/dist/goals/components/GoalDetails.es.js.map +1 -1
- package/dist/goals/components/GoalDetailsDrawer.es.js.map +1 -1
- package/dist/goals/components/GoalList.es.js.map +1 -1
- package/dist/goals/components/GoalStatusCard.es.js.map +1 -1
- package/dist/goals/components/ManageGoals.es.js.map +1 -1
- package/dist/goals/components/TabTitle.es.js.map +1 -1
- package/dist/goals/components/actions/AccountAction.es.js.map +1 -1
- package/dist/goals/components/actions/AddRetirementAccountAction.es.js.map +1 -1
- package/dist/goals/components/actions/AmountToSaveAction.es.js.map +1 -1
- package/dist/goals/components/actions/BirthdayAction.es.js.map +1 -1
- package/dist/goals/components/actions/ChangeAccountAction.es.js.map +1 -1
- package/dist/goals/components/actions/ContributionAction.es.js.map +1 -1
- package/dist/goals/components/actions/GoalNameAction.es.js.map +1 -1
- package/dist/goals/components/actions/InterestRateAction.es.js.map +1 -1
- package/dist/goals/components/actions/MonthlyPaymentAction.es.js.map +1 -1
- package/dist/goals/components/actions/OriginalBalanceAction.es.js.map +1 -1
- package/dist/goals/components/actions/RetirementAgeAction.es.js.map +1 -1
- package/dist/goals/components/addgoal/AddGoalListItem.es.js +5 -5
- package/dist/goals/components/addgoal/AddGoalListItem.es.js.map +1 -1
- package/dist/goals/components/managegoals/CompleteListItem.es.js.map +1 -1
- package/dist/goals/components/managegoals/OngoingListItem.es.js.map +1 -1
- package/dist/goals/components/micro/GoalMicroStatusCard.es.js.map +1 -1
- package/dist/goals/components/micro/GoalsMicroEmptyState.es.js.map +1 -1
- package/dist/help/HelpWidget.es.js.map +1 -1
- package/dist/help/components/Help.es.js.map +1 -1
- package/dist/help/components/HelpList.es.js +32 -32
- package/dist/help/components/HelpList.es.js.map +1 -1
- package/dist/help/components/content/BottomImageContent.es.js.map +1 -1
- package/dist/help/components/content/ContentItem.es.js.map +1 -1
- package/dist/help/components/content/Header.es.js.map +1 -1
- package/dist/help/components/content/LeftImageContent.es.js.map +1 -1
- package/dist/help/components/content/NoImageContent.es.js.map +1 -1
- package/dist/help/components/content/RightImageContent.es.js.map +1 -1
- package/dist/help/components/content/TopImageContent.es.js.map +1 -1
- package/dist/help/components/requestsupport/ContactSupport.es.js.map +1 -1
- package/dist/help/components/requestsupport/HelpByCategoryList.es.js.map +1 -1
- package/dist/help/components/requestsupport/MissingInstitution.es.js.map +1 -1
- package/dist/help/components/requestsupport/PopularTopicsDrawer.es.js.map +1 -1
- package/dist/help/components/requestsupport/PopularTopicsList.es.js.map +1 -1
- package/dist/help/components/requestsupport/PopularTopicsRow.es.js +6 -6
- package/dist/help/components/requestsupport/PopularTopicsRow.es.js.map +1 -1
- package/dist/help/components/requestsupport/RequestSupport.es.js.map +1 -1
- package/dist/help/components/requestsupport/RequestSupportFooter.es.js.map +1 -1
- package/dist/help/components/requestsupport/RequestSupportHeader.es.js.map +1 -1
- package/dist/help/components/requestsupport/RequestSupportInstitution.es.js.map +1 -1
- package/dist/help/components/requestsupport/SupportSuccessMessage.es.js.map +1 -1
- package/dist/insights/components/feed/Header.es.js.map +1 -1
- package/dist/insights/components/insights/AmericanUpcomingTaxDeadlineAlert/AmericanUpcomingTaxDeadlineAlert.es.js.map +1 -1
- package/dist/insights/components/insights/BillAmountNotStandard/BillAmountNotStandard.es.js.map +1 -1
- package/dist/insights/components/insights/BillAmountNotStandard/BillAmountNotStandardMUI.es.js.map +1 -1
- package/dist/insights/components/insights/CashBack/CashBack.es.js.map +1 -1
- package/dist/insights/components/insights/CategoryBudget/CategoryBudget.es.js +17 -17
- package/dist/insights/components/insights/CategoryBudget/CategoryBudget.es.js.map +1 -1
- package/dist/insights/components/insights/CategorySpendingV2/CategorySpendingV2.es.js.map +1 -1
- package/dist/insights/components/insights/CategorySpendingV2/CategorySpendingV2MUI.es.js.map +1 -1
- package/dist/insights/components/insights/CelebrateCreditCardPayoff/CelebrateCreditCardPayoff.es.js.map +1 -1
- package/dist/insights/components/insights/CustomTransaction/CustomTransaction.es.js.map +1 -1
- package/dist/insights/components/insights/DiscoveredAccounts/DiscoveredAccountsBody.es.js.map +1 -1
- package/dist/insights/components/insights/DiscoveredAccounts/DiscoveredAccountsLearnMoreDrawerContent.es.js +6 -6
- package/dist/insights/components/insights/DiscoveredAccounts/DiscoveredAccountsLearnMoreDrawerContent.es.js.map +1 -1
- package/dist/insights/components/insights/DiscoveredAccounts/DiscoveredAccountsMiniInsight.es.js.map +1 -1
- package/dist/insights/components/insights/FederalBankHoliday/FederalBankHoliday.es.js.map +1 -1
- package/dist/insights/components/insights/FederalBankHoliday/FederalBankHolidayMUI.es.js.map +1 -1
- package/dist/insights/components/insights/MarketingHub/Offer.es.js.map +1 -1
- package/dist/insights/components/insights/MonthlyDebtToIncomeComparisonV2/MonthlyDebtToIncomeComparisonV2.es.js.map +1 -1
- package/dist/insights/components/insights/MonthlyEmergencyFundReview/LastMonthsContributionSection.es.js.map +1 -1
- package/dist/insights/components/insights/MonthlyEmergencyFundReview/MonthlyEmergencyFundReviewBody.es.js +38 -35
- package/dist/insights/components/insights/MonthlyEmergencyFundReview/MonthlyEmergencyFundReviewBody.es.js.map +1 -1
- package/dist/insights/components/insights/MonthlyEmergencyFundReview/ProjectedCompletionSection.es.js.map +1 -1
- package/dist/insights/components/insights/MonthlyEmergencyFundReview/TotalSection.es.js.map +1 -1
- package/dist/insights/components/insights/MonthlySavingsToIncomeComparison/MonthlySavingsToIncomeComparison.es.js.map +1 -1
- package/dist/insights/components/insights/MonthlySpendToIncomeComparisonV2/MonthlySpendToIncomeComparisonV2.es.js.map +1 -1
- package/dist/insights/components/insights/MonthlySpendingComparisonV2/MonthlySpendingComparisonV2.es.js.map +1 -1
- package/dist/insights/components/insights/P2pCategorization/P2pCategorization.es.js.map +1 -1
- package/dist/insights/components/insights/P2pCategorization/shared/P2pCategorizationMultipleTransactions.es.js.map +1 -1
- package/dist/insights/components/insights/P2pCategorization/shared/P2pCategorizationSingleTransaction.es.js.map +1 -1
- package/dist/insights/components/insights/SavingsAccountBalancesSummary/SavingsAccountBalancesSummary.es.js.map +1 -1
- package/dist/insights/components/insights/SharedDeposit/SharedDeposit.es.js.map +1 -1
- package/dist/insights/components/insights/SwitchDirectDeposit/AccountBox.es.js.map +1 -1
- package/dist/insights/components/insights/SwitchDirectDeposit/SwitchDirectDepositMainContainer.es.js.map +1 -1
- package/dist/insights/components/insights/UnifiedDeposit/UnifiedDeposit.es.js.map +1 -1
- package/dist/insights/components/insights/UnifiedDeposit/UnifiedDepositBody.es.js.map +1 -1
- package/dist/insights/components/insights/UserFeedback/UserFeedback.es.js.map +1 -1
- package/dist/insights/components/insights/WeeklyNoSpendDays/BubbleWeek.es.js.map +1 -1
- package/dist/insights/components/insights/WeeklyNoSpendDays/WeeklyNoSpendDays.es.js.map +1 -1
- package/dist/insights/components/shared/ChartDrawerTemplate/ChartDrawerTemplate.es.js +22 -22
- package/dist/insights/components/shared/ChartDrawerTemplate/ChartDrawerTemplate.es.js.map +1 -1
- package/dist/insights/components/shared/ChartDrawerTemplate/TipSection.es.js.map +1 -1
- package/dist/insights/components/shared/ChartTransactionWithDrillDown.es.js.map +1 -1
- package/dist/insights/components/shared/Charts/BarChart/BarChart.es.js.map +1 -1
- package/dist/insights/components/shared/Charts/BarChart/BarChartV2.es.js.map +1 -1
- package/dist/insights/components/shared/Charts/BarChart/ChartLegend.es.js.map +1 -1
- package/dist/insights/components/shared/Charts/BarChart/ChartLegendV2.es.js.map +1 -1
- package/dist/insights/components/shared/Charts/BarChart/CustomBarPlot.es.js.map +1 -1
- package/dist/insights/components/shared/Charts/BarChart/CustomBarPlotV2.es.js.map +1 -1
- package/dist/insights/components/shared/Charts/BarChart/CustomDoubleBarPlot.es.js.map +1 -1
- package/dist/insights/components/shared/Charts/BarChart/CustomDoubleBarPlotMXUI.es.js.map +1 -1
- package/dist/insights/components/shared/Charts/BarChart/DoubleBarChart.es.js.map +1 -1
- package/dist/insights/components/shared/Charts/BarChart/DoubleBarChartLegend.es.js.map +1 -1
- package/dist/insights/components/shared/Charts/BarChart/DoubleBarChartLegendMXUI.es.js.map +1 -1
- package/dist/insights/components/shared/Charts/BarChart/DoubleBarChartMXUI.es.js.map +1 -1
- package/dist/insights/components/shared/ConnectionCard.es.js.map +1 -1
- package/dist/insights/components/shared/Coupon.es.js.map +1 -1
- package/dist/insights/components/shared/DeepLinks/DeepLinkDialog.es.js.map +1 -1
- package/dist/insights/components/shared/DeepLinks/DirectDeposit/DirectDepositDeepLink.es.js.map +1 -1
- package/dist/insights/components/shared/DeepLinks/DirectDeposit/Dot.es.js.map +1 -1
- package/dist/insights/components/shared/DirectDeposit/DirectDeposit.es.js.map +1 -1
- package/dist/insights/components/shared/DirectDeposit/DirectDepositSubHeader.es.js.map +1 -1
- package/dist/insights/components/shared/DirectDeposit/FullFeedBodyHeader.es.js.map +1 -1
- package/dist/insights/components/shared/DirectDeposit/LeftBox.es.js.map +1 -1
- package/dist/insights/components/shared/DirectDeposit/MiniBodyHeader.es.js.map +1 -1
- package/dist/insights/components/shared/DirectDeposit/RightBox.es.js.map +1 -1
- package/dist/insights/components/shared/DiscoveredAccountsConnect.es.js.map +1 -1
- package/dist/insights/components/shared/DrillDownCalculation/BalanceStepper.es.js.map +1 -1
- package/dist/insights/components/shared/DrillDownCalculation/DrillDownCalculation.es.js.map +1 -1
- package/dist/insights/components/shared/ErrorCard/ErrorCard.es.js.map +1 -1
- package/dist/insights/components/shared/GenericFeedback/FeedbackButtons.es.js.map +1 -1
- package/dist/insights/components/shared/GenericFeedback/FeedbackDescription.es.js.map +1 -1
- package/dist/insights/components/shared/GenericFeedback/FeedbackHeader.es.js.map +1 -1
- package/dist/insights/components/shared/GenericFeedback/FeedbackOptions.es.js.map +1 -1
- package/dist/insights/components/shared/GenericFeedback/FeedbackText.es.js.map +1 -1
- package/dist/insights/components/shared/GoalProgress.es.js.map +1 -1
- package/dist/insights/components/shared/GradientBox.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/BeatCard.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/BeatCardMUI.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/CardButtonSection.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/CardError.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/CardFooter.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/CardLoading.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/ClientConfigurableCta.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/ContentAndDescription.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/ContentAndDescriptionMUI.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/Description.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/DescriptionMUI.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/EmbeddedCard.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/FeedbackCard.es.js +4 -4
- package/dist/insights/components/shared/InsightsCard/FeedbackCard.es.js.map +1 -1
- package/dist/insights/components/shared/InsightsCard/InsightButton.es.js.map +1 -1
- package/dist/insights/components/shared/MenuAction.es.js +4 -4
- package/dist/insights/components/shared/MenuAction.es.js.map +1 -1
- package/dist/insights/components/shared/MiniInsightCard.es.js.map +1 -1
- package/dist/insights/components/shared/P2P/P2PMultipleCategorization.es.js +23 -23
- package/dist/insights/components/shared/P2P/P2PMultipleCategorization.es.js.map +1 -1
- package/dist/insights/components/shared/P2PCategorizationSingleAccount/P2PCategorizationSingleAccount.es.js +24 -24
- package/dist/insights/components/shared/P2PCategorizationSingleAccount/P2PCategorizationSingleAccount.es.js.map +1 -1
- package/dist/insights/components/shared/ProgressBar.es.js.map +1 -1
- package/dist/insights/components/shared/SaveAnExtra100/SaveAnExtra100.es.js.map +1 -1
- package/dist/insights/components/shared/SaveEnoughToLiveOnBottomSection.es.js.map +1 -1
- package/dist/insights/components/shared/StatusIndicator.es.js.map +1 -1
- package/dist/insights/components/shared/ThemedSVGImage.es.js.map +1 -1
- package/dist/insights/components/shared/TransactionCard.es.js.map +1 -1
- package/dist/insights/components/shared/ZeroState/LinedCardZeroState.es.js.map +1 -1
- package/dist/investments/InvestmentsWidget.es.js.map +1 -1
- package/dist/investments/components/Allocation.es.js.map +1 -1
- package/dist/investments/components/Analysis.es.js.map +1 -1
- package/dist/investments/components/AnalysisDetails.es.js.map +1 -1
- package/dist/investments/components/EmptyStateFooterComponent.es.js.map +1 -1
- package/dist/investments/components/HeaderCell.es.js.map +1 -1
- package/dist/investments/components/HoldingDrawer.es.js.map +1 -1
- package/dist/investments/components/HoldingTable.es.js +167 -164
- package/dist/investments/components/HoldingTable.es.js.map +1 -1
- package/dist/investments/components/InfoToolTip.es.js.map +1 -1
- package/dist/investments/components/Overview.es.js.map +1 -1
- package/dist/investments/components/TabTitle.es.js.map +1 -1
- package/dist/investments/components/allocation/InvestementAllocationList.es.js.map +1 -1
- package/dist/investments/components/allocation/InvestmentsAllocationChart.es.js.map +1 -1
- package/dist/merchants/components/MerchantLookup.es.js.map +1 -1
- package/dist/microinsights/InsightsMicroWidget.es.js.map +1 -1
- package/dist/microinsights/MicroCardTemplate.es.js.map +1 -1
- package/dist/microinsights/Spinner.es.js.map +1 -1
- package/dist/microinsights/beaticons/BeatCategoryIcon.es.js +8 -8
- package/dist/microinsights/beaticons/BeatCategoryIcon.es.js.map +1 -1
- package/dist/microinsights/beaticons/BeatMaterialIcon.es.js.map +1 -1
- package/dist/microinsights/beaticons/ChartFilledIcon.es.js.map +1 -1
- package/dist/microinsights/beaticons/ZeroStateIcon.es.js.map +1 -1
- package/dist/microinsights/cards/ViewMoreMicroCard.d.ts +1 -0
- package/dist/microinsights/cards/ViewMoreMicroCard.es.js.map +1 -1
- package/dist/microinsights/carousel/BeatList.es.js +17 -17
- package/dist/microinsights/carousel/BeatList.es.js.map +1 -1
- package/dist/microinsights/carousel/CarouselControls.es.js.map +1 -1
- package/dist/microinsights/carousel/CarouselHeader.es.js.map +1 -1
- package/dist/microinsights/carousel/MicroBeatCarousel.es.js.map +1 -1
- package/dist/microinsights/constants/Analytics.es.js.map +1 -1
- package/dist/networth/NetWorthMicroWidget.es.js.map +1 -1
- package/dist/networth/NetWorthWidget.es.js.map +1 -1
- package/dist/networth/components/AssetsLiabilitiesDetail.es.js +1 -1
- package/dist/networth/components/AssetsLiabilitiesDetail.es.js.map +1 -1
- package/dist/networth/components/GainsLossesDetail.es.js.map +1 -1
- package/dist/networth/components/NetWorthChange.es.js.map +1 -1
- package/dist/networth/components/NetWorthChart.es.js.map +1 -1
- package/dist/networth/components/NetWorthList.es.js.map +1 -1
- package/dist/networth/components/NetWorthListItem.es.js.map +1 -1
- package/dist/networth/components/NetWorthSummary.es.js.map +1 -1
- package/dist/networth/components/micro/NetworthData.es.js.map +1 -1
- package/dist/networth/components/micro/ZeroState.es.js.map +1 -1
- package/dist/notifications/components/DateRow.es.js.map +1 -1
- package/dist/notifications/components/NotificationBadge.es.js.map +1 -1
- package/dist/notifications/components/NotificationCard.es.js.map +1 -1
- package/dist/notifications/components/NotificationDrawer.es.js.map +1 -1
- package/dist/notifications/components/NotificationList.es.js +33 -30
- package/dist/notifications/components/NotificationList.es.js.map +1 -1
- package/dist/notifications/components/NotificationsEmptyState.es.js.map +1 -1
- package/dist/recurringtransactions/RecurringTransactionsMicroWidget.es.js.map +1 -1
- package/dist/recurringtransactions/RecurringTransactionsMiniWidget.es.js.map +1 -1
- package/dist/recurringtransactions/RecurringTransactionsWidget.es.js.map +1 -1
- package/dist/recurringtransactions/ZeroStateMicroWidget.es.js.map +1 -1
- package/dist/recurringtransactions/components/MicroWidgetContent.es.js.map +1 -1
- package/dist/recurringtransactions/components/MiniWidgetContent.es.js.map +1 -1
- package/dist/recurringtransactions/components/PaymentSchedule.es.js.map +1 -1
- package/dist/recurringtransactions/components/RecurrenceBadges.es.js.map +1 -1
- package/dist/recurringtransactions/components/RecurrenceList.es.js.map +1 -1
- package/dist/recurringtransactions/components/RecurrenceRow.es.js.map +1 -1
- package/dist/recurringtransactions/components/RecurringSettingsDrawer.es.js.map +1 -1
- package/dist/recurringtransactions/components/RecurringStatus.es.js.map +1 -1
- package/dist/recurringtransactions/components/RecurringTransactionDetails.es.js.map +1 -1
- package/dist/recurringtransactions/components/RecurringTransactionDetailsDrawer.es.js.map +1 -1
- package/dist/recurringtransactions/components/RecurringTransactionList.es.js.map +1 -1
- package/dist/recurringtransactions/components/RecurringTransactions.es.js.map +1 -1
- package/dist/recurringtransactions/components/UpcomingRecurrenceCard.es.js.map +1 -1
- package/dist/recurringtransactions/components/actions/LinkTransactionDrawer.es.js.map +1 -1
- package/dist/recurringtransactions/components/actions/MarkAsPaidDialog.es.js.map +1 -1
- package/dist/recurringtransactions/components/actions/MarkAsUnpaidDialog.es.js.map +1 -1
- package/dist/recurringtransactions/components/actions/PaymentScheduleAction.es.js.map +1 -1
- package/dist/recurringtransactions/components/micro/MerchantLogosRow.es.js.map +1 -1
- package/dist/recurringtransactions/components/micro/OverlappingMerchantLogos.es.js.map +1 -1
- package/dist/recurringtransactions/components/micro/RecurrenceLegend.es.js.map +1 -1
- package/dist/recurringtransactions/components/recurrencecalendar/Legend.es.js.map +1 -1
- package/dist/recurringtransactions/components/recurrencecalendar/RecurrenceCalendar.es.js.map +1 -1
- package/dist/recurringtransactions/components/recurrencecalendar/RecurrenceDay.es.js.map +1 -1
- package/dist/recurringtransactions/components/shared/RecurringSettings.es.js.map +1 -1
- package/dist/recurringtransactions/components/shared/recurringsettings/AddRecurringTransaction.es.js.map +1 -1
- package/dist/recurringtransactions/components/shared/recurringsettings/AddRecurringTransactionDetails.es.js.map +1 -1
- package/dist/recurringtransactions/components/shared/recurringsettings/ManageExpenses.es.js.map +1 -1
- package/dist/recurringtransactions/components/shared/recurringsettings/ManageIncome.es.js.map +1 -1
- package/dist/recurringtransactions/components/shared/recurringsettings/RecurringRow.es.js.map +1 -1
- package/dist/recurringtransactions/components/shared/recurringsettings/RecurringSettingsZeroState.es.js.map +1 -1
- package/dist/recurringtransactions/components/shared/recurringsettings/SelectTransaction.es.js.map +1 -1
- package/dist/settings/NotificationSettingsWidget.es.js.map +1 -1
- package/dist/settings/SettingsWidget.es.js.map +1 -1
- package/dist/settings/TransactionRulesWidget.es.js.map +1 -1
- package/dist/settings/components/SettingsWidgetContents.es.js.map +1 -1
- package/dist/settings/components/devices/DeviceDialog.es.js.map +1 -1
- package/dist/settings/components/devices/DeviceList.es.js.map +1 -1
- package/dist/settings/components/devices/DeviceTab.es.js.map +1 -1
- package/dist/settings/components/devices/DeviceTable.es.js +82 -82
- package/dist/settings/components/devices/DeviceTable.es.js.map +1 -1
- package/dist/settings/components/notifications/AccountNotificationProfile.es.js.map +1 -1
- package/dist/settings/components/notifications/AccountNotificationProfiles.es.js.map +1 -1
- package/dist/settings/components/notifications/AccountProfileListItem.es.js.map +1 -1
- package/dist/settings/components/notifications/DeliveryMethods.es.js.map +1 -1
- package/dist/settings/components/notifications/NotificationProfile.es.js.map +1 -1
- package/dist/settings/components/notifications/NotificationSettings.es.js.map +1 -1
- package/dist/settings/components/notifications/PersonalDetails.es.js.map +1 -1
- package/dist/settings/components/profile/ProfileTab.es.js.map +1 -1
- package/dist/settings/components/profile/actions/VerifyEmailAction.es.js.map +1 -1
- package/dist/settings/components/profile/actions/VerifyPhoneAction.es.js.map +1 -1
- package/dist/settings/components/profile/actions/VerifyTokenAction.es.js.map +1 -1
- package/dist/settings/components/transactionrules/TransactionRulesTab.es.js.map +1 -1
- package/dist/settings/components/transactionrules/actions/DeleteRuleAction.es.js.map +1 -1
- package/dist/settings/components/transactionrules/actions/EditPayeeAction.es.js.map +1 -1
- package/dist/settings/components/transactionrules/components/EditRuleDetails.es.js.map +1 -1
- package/dist/settings/components/transactionrules/components/RuleListItem.es.js +24 -21
- package/dist/settings/components/transactionrules/components/RuleListItem.es.js.map +1 -1
- package/dist/spending/SpendingMiniWidget.es.js.map +1 -1
- package/dist/spending/SpendingWidget.es.js +48 -39
- package/dist/spending/SpendingWidget.es.js.map +1 -1
- package/dist/spending/components/MiniSpendingChart.es.js.map +1 -1
- package/dist/spending/components/Spending.es.js.map +1 -1
- package/dist/spending/components/SpendingChart.es.js.map +1 -1
- package/dist/spending/components/SpendingDonut.es.js.map +1 -1
- package/dist/spending/components/SpendingLegend.es.js.map +1 -1
- package/dist/spending/components/SpendingList.es.js.map +1 -1
- package/dist/spending/components/SpendingTabLabel.es.js.map +1 -1
- package/dist/transactions/TransactionWidget.es.js.map +1 -1
- package/dist/transactions/components/shared/TransactionDetails.es.js.map +1 -1
- package/dist/transactions/components/shared/TransactionList.es.js.map +1 -1
- package/dist/transactions/components/shared/TransactionTable.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/Description.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/FlagTransaction.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/ManualTransactionDetails.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/TransactionAmountHeader.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/TransactionDetailsView.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/actions/AddMerchantBudgetAction.es.js +7 -7
- package/dist/transactions/components/shared/transactiondetails/actions/AddMerchantBudgetAction.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/actions/CategoryAction.es.js +29 -29
- package/dist/transactions/components/shared/transactiondetails/actions/CategoryAction.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/actions/DateAction.es.js +36 -36
- package/dist/transactions/components/shared/transactiondetails/actions/DateAction.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/actions/DeleteAction.es.js +7 -7
- package/dist/transactions/components/shared/transactiondetails/actions/DeleteAction.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/actions/DeleteLogoAction.es.js +7 -7
- package/dist/transactions/components/shared/transactiondetails/actions/DeleteLogoAction.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/actions/ExcludeAction.es.js +7 -7
- package/dist/transactions/components/shared/transactiondetails/actions/ExcludeAction.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/actions/MemoAction.es.js +24 -24
- package/dist/transactions/components/shared/transactiondetails/actions/MemoAction.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/actions/SplitAction.es.js +40 -40
- package/dist/transactions/components/shared/transactiondetails/actions/SplitAction.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiondetails/actions/TagsAction.es.js +34 -34
- package/dist/transactions/components/shared/transactiondetails/actions/TagsAction.es.js.map +1 -1
- package/dist/transactions/components/shared/transactionlist/TransactionRow.es.js.map +1 -1
- package/dist/transactions/components/shared/transactionlist/ZeroState.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiontable/cells/AccountCell.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiontable/cells/AmountCell.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiontable/cells/CategoryCell.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiontable/cells/DateCell.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiontable/cells/FlagCell.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiontable/cells/HeaderCell.es.js.map +1 -1
- package/dist/transactions/components/shared/transactiontable/cells/PayeeCell.es.js.map +1 -1
- package/dist/transactions/components/splitmanager/SplitManager.es.js.map +1 -1
- package/dist/transactions/components/splitmanager/SplitRow.es.js.map +1 -1
- package/dist/transactions/components/tagmanager/Header.es.js.map +1 -1
- package/dist/transactions/components/tagmanager/SearchBox.es.js.map +1 -1
- package/dist/transactions/components/tagmanager/TagManager.es.js.map +1 -1
- package/dist/transactions/components/tagmanager/TagRow.es.js +4 -4
- package/dist/transactions/components/tagmanager/TagRow.es.js.map +1 -1
- package/dist/transactions/components/transactionwidget/AddAccountModal.es.js.map +1 -1
- package/dist/transactions/components/transactionwidget/actions/EditCategoryAction.es.js.map +1 -1
- package/dist/transactions/components/transactionwidget/actions/ExportCsvAction.es.js.map +1 -1
- package/dist/transactions/utils/Transactions.es.js +20 -12
- package/dist/transactions/utils/Transactions.es.js.map +1 -1
- package/dist/trends/TrendsFullWidget.es.js +47 -47
- package/dist/trends/TrendsFullWidget.es.js.map +1 -1
- package/dist/trends/TrendsMicroWidget.es.js.map +1 -1
- package/dist/trends/TrendsMiniWidget.es.js.map +1 -1
- package/dist/trends/TrendsWidget.es.js +88 -89
- package/dist/trends/TrendsWidget.es.js.map +1 -1
- package/dist/trends/ZeroStateMicroWidget.es.js.map +1 -1
- package/dist/trends/components/CategoriesList.es.js.map +1 -1
- package/dist/trends/components/CategoryDetailChart.es.js.map +1 -1
- package/dist/trends/components/CategoryDetails.es.js.map +1 -1
- package/dist/trends/components/DateRangeText.es.js.map +1 -1
- package/dist/trends/components/TrendsChart.es.js.map +1 -1
- package/dist/trends/components/TrendsDrawer.es.js.map +1 -1
- package/dist/trends/components/TrendsInsights.es.js +21 -21
- package/dist/trends/components/TrendsInsights.es.js.map +1 -1
- package/dist/trends/components/TrendsMicroSpendingIncomeBox.es.js.map +1 -1
- package/dist/trends/components/TrendsTableContainer.es.js.map +1 -1
- package/dist/trends/components/TrendsViewToggle.es.js.map +1 -1
- package/dist/trends/components/trendstable/AccessibleSortIcon.es.js.map +1 -1
- package/dist/trends/components/trendstable/AmountCell.es.js.map +1 -1
- package/dist/trends/components/trendstable/CategoryCell.es.js.map +1 -1
- package/dist/trends/components/trendstable/HeaderCell.es.js.map +1 -1
- package/package.json +36 -35
|
@@ -5,63 +5,63 @@ import { ANALYTICS_EVENTS as n } from "../common/constants/Analytics.es.js";
|
|
|
5
5
|
import { getStackedLineChartData as le } from "../core/utils/TrendsUtil.es.js";
|
|
6
6
|
import me from "../common/components/Loader.es.js";
|
|
7
7
|
import { WidgetContainer as fe } from "../common/components/WidgetContainer.es.js";
|
|
8
|
-
import { getTopLevelCategoryTotals as ge, isExpense as
|
|
8
|
+
import { getTopLevelCategoryTotals as ge, isExpense as ue, isIncome as Te } from "./utils/shared.es.js";
|
|
9
9
|
import { TRENDS_ANALYTICS_METADATA as pe } from "./constants/TrendsWidget.es.js";
|
|
10
10
|
import { StackedLineChart as De } from "../common/components/charts/StackedLineChart.es.js";
|
|
11
11
|
import Ce from "./components/TrendsViewToggle.es.js";
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
12
|
+
import Se from "./components/DateRangeText.es.js";
|
|
13
|
+
import _e from "./components/TrendsTableContainer.es.js";
|
|
14
|
+
import Ee from "./components/TrendsDrawer.es.js";
|
|
15
15
|
import s from "react";
|
|
16
|
-
import { observer as
|
|
16
|
+
import { observer as he } from "mobx-react-lite";
|
|
17
17
|
import D from "@mui/material/Stack";
|
|
18
18
|
import { Icon as Le } from "@mxenabled/mxui";
|
|
19
|
-
import
|
|
19
|
+
import h from "@mui/material/Button";
|
|
20
20
|
import { jsx as o, jsxs as c } from "react/jsx-runtime";
|
|
21
21
|
import L from "@mui/material/Box";
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
var
|
|
25
|
-
const { onEvent: a } = ae(), { isDesktop: k, isTablet: v, isMobile:
|
|
22
|
+
import { differenceInCalendarMonths as w } from "date-fns/differenceInCalendarMonths";
|
|
23
|
+
import { addSeconds as we } from "date-fns/addSeconds";
|
|
24
|
+
var Re = ({ onBackClick: R, onMenuClick: y, sx: I }) => {
|
|
25
|
+
const { onEvent: a } = ae(), { isDesktop: k, isTablet: v, isMobile: f } = ce(), { isAccountDataLoaded: l, loadAccountData: A } = te(), { categoriesLoaded: N, loadCategories: b, monthlyCategoryTotals: C, getCategoryName: S, reloadCategoryTotals: x } = oe(), { isTransactionDataLoaded: H, loadTransactionData: G, sortedTransactions: W } = se(), { selectedDateRange: t, setSelectedDateRange: O } = ie(), { isInitialized: g, selectedAccounts: V, selectedAccountGuids: z } = ne(), { trends: u } = re(), [T, M] = s.useState(!1), [F, _] = s.useState(!1), [m, j] = s.useState("Chart"), [r, p] = s.useState(""), [K, $] = s.useState(window.innerHeight), B = K - (f ? 315 : 345);
|
|
26
26
|
de({
|
|
27
27
|
widgetName: "TrendsFullWidget",
|
|
28
|
-
isLoaded:
|
|
28
|
+
isLoaded: T
|
|
29
29
|
}), s.useEffect(() => {
|
|
30
30
|
const e = () => $(window.innerHeight);
|
|
31
|
-
return window.addEventListener("resize", e),
|
|
31
|
+
return window.addEventListener("resize", e), l || A().finally(), N || b().finally(), H || G().finally(), () => window.removeEventListener("resize", e);
|
|
32
32
|
}, []), s.useEffect(() => {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}).finally(() => {
|
|
36
|
-
z(!0), a(n.TRENDS_LOAD_WIDGET, {
|
|
33
|
+
g && l && x(V, t.start, t.end).finally(() => {
|
|
34
|
+
M(!0), a(n.TRENDS_LOAD_WIDGET, {
|
|
37
35
|
...pe,
|
|
38
|
-
time_period: `${
|
|
36
|
+
time_period: `${w(t.end, t.start)}M`
|
|
39
37
|
});
|
|
40
38
|
});
|
|
41
39
|
}, [
|
|
42
|
-
f,
|
|
43
40
|
g,
|
|
44
|
-
|
|
41
|
+
l,
|
|
42
|
+
z.join(","),
|
|
43
|
+
t.start.getTime(),
|
|
44
|
+
t.end.getTime()
|
|
45
45
|
]);
|
|
46
|
-
const
|
|
47
|
-
if (!
|
|
46
|
+
const E = s.useMemo(() => {
|
|
47
|
+
if (!T) return {
|
|
48
48
|
stackedDatasets: [],
|
|
49
49
|
unstackedDatasets: []
|
|
50
50
|
};
|
|
51
51
|
const e = le(C, t.start, t.end), i = r.length ? e.filter((d) => d.top_level_category_guid === r || d.category_guid === r) : ge(e);
|
|
52
52
|
return {
|
|
53
|
-
stackedDatasets: i.filter(
|
|
54
|
-
unstackedDatasets: i.filter(
|
|
53
|
+
stackedDatasets: i.filter(ue),
|
|
54
|
+
unstackedDatasets: i.filter(Te)
|
|
55
55
|
};
|
|
56
56
|
}, [
|
|
57
57
|
C,
|
|
58
58
|
r,
|
|
59
59
|
t
|
|
60
60
|
]), P = (e, i) => {
|
|
61
|
-
|
|
61
|
+
j(i ?? m), a(n.TRENDS_CLICK_TOGGLE_VIEW);
|
|
62
62
|
}, Y = (e) => {
|
|
63
|
-
const i =
|
|
64
|
-
|
|
63
|
+
const i = we(e?.[0], 1), d = e?.[1], ee = w(d, i);
|
|
64
|
+
O({
|
|
65
65
|
start: i,
|
|
66
66
|
end: d
|
|
67
67
|
}), a(n.TRENDS_CLICK_TIME_WINDOW, { time_period: ee + "M" });
|
|
@@ -70,23 +70,23 @@ var we = ({ onBackClick: w, onMenuClick: y, sx: I }) => {
|
|
|
70
70
|
}, q = (e) => {
|
|
71
71
|
p(e);
|
|
72
72
|
}, J = (e) => {
|
|
73
|
-
p(e), a(n.TRENDS_CLICK_LEGEND, { category:
|
|
73
|
+
p(e), a(n.TRENDS_CLICK_LEGEND, { category: S(e) });
|
|
74
74
|
}, Q = (e) => {
|
|
75
|
-
a(n.TRENDS_HOVER_LEGEND, { category:
|
|
75
|
+
a(n.TRENDS_HOVER_LEGEND, { category: S(e) });
|
|
76
76
|
}, X = (e) => {
|
|
77
77
|
a(n.TRENDS_HOVER_AREA, { category: e });
|
|
78
78
|
}, Z = (e) => {
|
|
79
79
|
a(n.TRENDS_HOVER_POINT, { category: e });
|
|
80
80
|
};
|
|
81
|
-
return !
|
|
81
|
+
return !g || !l || !T ? /* @__PURE__ */ o(me, {}) : /* @__PURE__ */ c(fe, {
|
|
82
82
|
calendarActions: { onRangeChanged: Y },
|
|
83
83
|
dateRange: t,
|
|
84
84
|
dateRangeVariant: "timeframebuttons",
|
|
85
85
|
onAccountsFilterClick: U,
|
|
86
|
-
onBackClick:
|
|
86
|
+
onBackClick: R,
|
|
87
87
|
onMenuClick: y,
|
|
88
88
|
sx: I,
|
|
89
|
-
title:
|
|
89
|
+
title: u.title,
|
|
90
90
|
children: [/* @__PURE__ */ c(D, {
|
|
91
91
|
sx: { px: k ? 48 : v ? 24 : 12 },
|
|
92
92
|
children: [
|
|
@@ -94,15 +94,15 @@ var we = ({ onBackClick: w, onMenuClick: y, sx: I }) => {
|
|
|
94
94
|
flexDirection: "row",
|
|
95
95
|
justifyContent: "space-between",
|
|
96
96
|
sx: {
|
|
97
|
-
pb:
|
|
98
|
-
pt:
|
|
97
|
+
pb: f ? 12 : 24,
|
|
98
|
+
pt: f ? 24 : 48
|
|
99
99
|
},
|
|
100
|
-
children: [/* @__PURE__ */ o(
|
|
100
|
+
children: [/* @__PURE__ */ o(Se, {
|
|
101
101
|
selectedCategoryGuid: r,
|
|
102
102
|
selectedDateRange: t
|
|
103
103
|
}), /* @__PURE__ */ o(Ce, {
|
|
104
104
|
onTabChange: P,
|
|
105
|
-
selectedTab:
|
|
105
|
+
selectedTab: m
|
|
106
106
|
})]
|
|
107
107
|
}),
|
|
108
108
|
/* @__PURE__ */ c(D, {
|
|
@@ -111,42 +111,42 @@ var we = ({ onBackClick: w, onMenuClick: y, sx: I }) => {
|
|
|
111
111
|
width: "100%",
|
|
112
112
|
children: [/* @__PURE__ */ o(L, {
|
|
113
113
|
flexGrow: 1,
|
|
114
|
-
children: r && /* @__PURE__ */ c(
|
|
114
|
+
children: r && /* @__PURE__ */ c(h, {
|
|
115
115
|
onClick: () => p(""),
|
|
116
116
|
sx: {
|
|
117
117
|
p: 0,
|
|
118
118
|
pr: 5
|
|
119
119
|
},
|
|
120
|
-
children: [/* @__PURE__ */ o(Le, { name: "arrow_back" }),
|
|
120
|
+
children: [/* @__PURE__ */ o(Le, { name: "arrow_back" }), u.all_categories]
|
|
121
121
|
})
|
|
122
|
-
}), /* @__PURE__ */ o(
|
|
123
|
-
onClick: () =>
|
|
122
|
+
}), /* @__PURE__ */ o(h, {
|
|
123
|
+
onClick: () => _(!0),
|
|
124
124
|
sx: { px: 5 },
|
|
125
|
-
children: `${
|
|
125
|
+
children: `${u.view_transactions} (${W.length})`
|
|
126
126
|
})]
|
|
127
127
|
}),
|
|
128
|
-
/* @__PURE__ */ c(L, { children: [
|
|
128
|
+
/* @__PURE__ */ c(L, { children: [m === "Chart" && /* @__PURE__ */ o(De, {
|
|
129
129
|
availableHeight: B,
|
|
130
130
|
onClickLegend: J,
|
|
131
131
|
onHoverArea: X,
|
|
132
132
|
onHoverLegend: Q,
|
|
133
133
|
onHoverPoint: Z,
|
|
134
|
-
stackedDatasets:
|
|
135
|
-
unstackedDatasets:
|
|
136
|
-
}),
|
|
134
|
+
stackedDatasets: E.stackedDatasets,
|
|
135
|
+
unstackedDatasets: E.unstackedDatasets
|
|
136
|
+
}), m === "Table" && /* @__PURE__ */ o(_e, {
|
|
137
137
|
onClickRow: q,
|
|
138
138
|
selectedCategory: r,
|
|
139
139
|
selectedDateRange: t
|
|
140
140
|
})] })
|
|
141
141
|
]
|
|
142
|
-
}), /* @__PURE__ */ o(
|
|
142
|
+
}), /* @__PURE__ */ o(Ee, {
|
|
143
143
|
categoryGuid: r,
|
|
144
144
|
dateRange: t,
|
|
145
145
|
isOpen: F,
|
|
146
|
-
onClose: () =>
|
|
146
|
+
onClose: () => _(!1)
|
|
147
147
|
})]
|
|
148
148
|
});
|
|
149
|
-
}, qe =
|
|
149
|
+
}, qe = he(Re);
|
|
150
150
|
export {
|
|
151
151
|
qe as default
|
|
152
152
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrendsFullWidget.es.js","names":[],"sources":["../../src/trends/TrendsFullWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { DateRange } from '@mui/x-date-pickers-pro'\nimport { Icon } from '@mxenabled/mxui'\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport Button from '@mui/material/Button'\n\nimport { addSeconds } from 'date-fns/addSeconds'\nimport { differenceInCalendarMonths } from 'date-fns/differenceInCalendarMonths'\n\nimport {\n ANALYTICS_EVENTS,\n Loader,\n WidgetContainer,\n useAccountStore,\n useEvent,\n useCategoryStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n useScreenSize,\n useTransactionStore,\n useTrendsStore,\n useWidgetLoadTimer,\n} from '../common'\nimport { WidgetProps } from '../core'\nimport { StackedLineChart } from '../common/components/charts/StackedLineChart'\n\nimport { getStackedLineChartData, StackedLineChartData } from '../core/utils/TrendsUtil'\nimport { getTopLevelCategoryTotals, isExpense, isIncome } from './utils/shared'\n\nimport TrendsViewToggle, { type TrendsTabValue } from './components/TrendsViewToggle'\nimport DateRangeText from './components/DateRangeText'\nimport TrendsTableContainer from './components/TrendsTableContainer'\nimport TrendsDrawer from './components/TrendsDrawer'\nimport { TRENDS_ANALYTICS_METADATA } from './constants/TrendsWidget'\n\nconst TrendsFullWidget: React.FC<WidgetProps> = ({ onBackClick, onMenuClick, sx }) => {\n const { onEvent } = useEvent()\n const { isDesktop, isTablet, isMobile } = useScreenSize()\n const { isAccountDataLoaded, loadAccountData } = useAccountStore()\n const {\n categoriesLoaded,\n loadCategories,\n loadDateRangeCategoryTotals,\n loadMonthlyCategoryTotals,\n monthlyCategoryTotals,\n getCategoryName,\n } = useCategoryStore()\n const {\n isTransactionDataLoaded,\n loadTransactionData,\n sortedTransactions: transactions,\n } = useTransactionStore()\n const { selectedDateRange, setSelectedDateRange } = useTrendsStore()\n const { isInitialized, selectedAccounts } = useGlobalUiStore()\n const { trends: copy } = useGlobalCopyStore()\n\n const [isWidgetInitialized, setIsWidgetInitialized] = React.useState(false)\n const [showTransactions, setShowTransactions] = React.useState(false)\n const [selectedTab, setSelectedTab] = React.useState<TrendsTabValue>('Chart')\n const [selectedCategory, setSelectedCategory] = React.useState('')\n\n // Control responsive chart height based on available widget iframe viewport height\n const [viewportHeight, setViewportHeight] = React.useState(window.innerHeight)\n const unavailableChartHeight = isMobile ? 315 : 345\n const availableChartHeight = viewportHeight - unavailableChartHeight\n\n useWidgetLoadTimer({\n widgetName: 'TrendsFullWidget',\n isLoaded: isWidgetInitialized,\n })\n\n React.useEffect(() => {\n const handleResize = () => setViewportHeight(window.innerHeight)\n window.addEventListener('resize', handleResize)\n\n if (!isAccountDataLoaded) {\n loadAccountData().finally()\n }\n if (!categoriesLoaded) {\n loadCategories().finally()\n }\n if (!isTransactionDataLoaded) {\n loadTransactionData().finally()\n }\n\n return () => window.removeEventListener('resize', handleResize)\n }, [])\n\n // Initialize monthlyCategoryTotals, and reload on account or date range change\n React.useEffect(() => {\n if (isInitialized) {\n loadDateRangeCategoryTotals(selectedAccounts, selectedDateRange.start, selectedDateRange.end)\n .then(() => {\n loadMonthlyCategoryTotals(\n selectedAccounts,\n selectedDateRange.start,\n selectedDateRange.end,\n )\n })\n .finally(() => {\n setIsWidgetInitialized(true)\n onEvent(ANALYTICS_EVENTS.TRENDS_LOAD_WIDGET, {\n ...TRENDS_ANALYTICS_METADATA,\n time_period: `${differenceInCalendarMonths(selectedDateRange.end, selectedDateRange.start)}M`,\n })\n })\n }\n }, [isInitialized, selectedAccounts, selectedDateRange])\n\n // Cache a full year of StackedLineChart data\n const chartData = React.useMemo(() => {\n if (!isWidgetInitialized) return { stackedDatasets: [], unstackedDatasets: [] }\n\n const data = getStackedLineChartData(\n monthlyCategoryTotals,\n selectedDateRange.start,\n selectedDateRange.end,\n )\n\n const filteredData = selectedCategory.length\n ? data.filter(\n (d) =>\n d.top_level_category_guid === selectedCategory || d.category_guid === selectedCategory,\n )\n : getTopLevelCategoryTotals(data)\n\n return {\n stackedDatasets: filteredData.filter(isExpense) as StackedLineChartData[],\n unstackedDatasets: filteredData.filter(isIncome) as StackedLineChartData[],\n }\n }, [monthlyCategoryTotals, selectedCategory, selectedDateRange])\n\n const onTabChange = (_event: React.SyntheticEvent, newValue: TrendsTabValue) => {\n setSelectedTab(newValue ?? selectedTab)\n onEvent(ANALYTICS_EVENTS.TRENDS_CLICK_TOGGLE_VIEW)\n }\n\n const onRangeChanged = (dateRange: DateRange<Date>) => {\n const startDate = addSeconds(dateRange?.[0] as Date, 1)\n const endDate = dateRange?.[1] as Date\n const months = differenceInCalendarMonths(endDate, startDate)\n\n setSelectedDateRange({ start: startDate, end: endDate })\n onEvent(ANALYTICS_EVENTS.TRENDS_CLICK_TIME_WINDOW, {\n time_period: months + 'M',\n })\n }\n\n const onAccountsFilterClick = () => {\n onEvent(ANALYTICS_EVENTS.TRENDS_CLICK_FILTER)\n }\n const onClickRow = (guid: string) => {\n setSelectedCategory(guid)\n }\n const onClickLegend = (guid: string) => {\n setSelectedCategory(guid)\n onEvent(ANALYTICS_EVENTS.TRENDS_CLICK_LEGEND, { category: getCategoryName(guid) })\n }\n const onHoverLegend = (guid: string) => {\n onEvent(ANALYTICS_EVENTS.TRENDS_HOVER_LEGEND, { category: getCategoryName(guid) })\n }\n const onHoverArea = (category: string) => {\n onEvent(ANALYTICS_EVENTS.TRENDS_HOVER_AREA, { category })\n }\n const onHoverPoint = (category: string) => {\n onEvent(ANALYTICS_EVENTS.TRENDS_HOVER_POINT, { category })\n }\n\n if (!isInitialized || !isWidgetInitialized) return <Loader />\n\n return (\n <WidgetContainer\n calendarActions={{ onRangeChanged }}\n dateRange={selectedDateRange}\n dateRangeVariant=\"timeframebuttons\"\n onAccountsFilterClick={onAccountsFilterClick}\n onBackClick={onBackClick}\n onMenuClick={onMenuClick}\n sx={sx}\n title={copy.title}\n >\n <Stack\n sx={{\n // eslint-disable-next-line no-nested-ternary\n px: isDesktop ? 48 : isTablet ? 24 : 12,\n }}\n >\n <Stack\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n sx={{ pb: isMobile ? 12 : 24, pt: isMobile ? 24 : 48 }}\n >\n <DateRangeText\n selectedCategoryGuid={selectedCategory}\n selectedDateRange={selectedDateRange}\n />\n <TrendsViewToggle onTabChange={onTabChange} selectedTab={selectedTab} />\n </Stack>\n <Stack alignItems=\"center\" flexDirection=\"row\" width=\"100%\">\n <Box flexGrow={1}>\n {selectedCategory && (\n <Button onClick={() => setSelectedCategory('')} sx={{ p: 0, pr: 5 }}>\n <Icon name=\"arrow_back\" />\n {copy.all_categories}\n </Button>\n )}\n </Box>\n <Button onClick={() => setShowTransactions(true)} sx={{ px: 5 }}>\n {`${copy.view_transactions} (${transactions.length})`}\n </Button>\n </Stack>\n <Box>\n {selectedTab === 'Chart' && (\n <StackedLineChart\n availableHeight={availableChartHeight}\n onClickLegend={onClickLegend}\n onHoverArea={onHoverArea}\n onHoverLegend={onHoverLegend}\n onHoverPoint={onHoverPoint}\n stackedDatasets={chartData.stackedDatasets}\n unstackedDatasets={chartData.unstackedDatasets}\n />\n )}\n {selectedTab === 'Table' && (\n <TrendsTableContainer\n onClickRow={onClickRow}\n selectedCategory={selectedCategory}\n selectedDateRange={selectedDateRange}\n />\n )}\n </Box>\n </Stack>\n <TrendsDrawer\n categoryGuid={selectedCategory}\n dateRange={selectedDateRange}\n isOpen={showTransactions}\n onClose={() => setShowTransactions(false)}\n />\n </WidgetContainer>\n )\n}\n\nexport default observer(TrendsFullWidget)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TrendsFullWidget.es.js","names":[],"sources":["../../src/trends/TrendsFullWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { DateRange } from '@mui/x-date-pickers-pro'\nimport { Icon } from '@mxenabled/mxui'\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport Button from '@mui/material/Button'\n\nimport { addSeconds } from 'date-fns/addSeconds'\nimport { differenceInCalendarMonths } from 'date-fns/differenceInCalendarMonths'\n\nimport {\n ANALYTICS_EVENTS,\n Loader,\n WidgetContainer,\n useAccountStore,\n useEvent,\n useCategoryStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n useScreenSize,\n useTransactionStore,\n useTrendsStore,\n useWidgetLoadTimer,\n} from '../common'\nimport { WidgetProps } from '../core'\nimport { StackedLineChart } from '../common/components/charts/StackedLineChart'\n\nimport { getStackedLineChartData, StackedLineChartData } from '../core/utils/TrendsUtil'\nimport { getTopLevelCategoryTotals, isExpense, isIncome } from './utils/shared'\n\nimport TrendsViewToggle, { type TrendsTabValue } from './components/TrendsViewToggle'\nimport DateRangeText from './components/DateRangeText'\nimport TrendsTableContainer from './components/TrendsTableContainer'\nimport TrendsDrawer from './components/TrendsDrawer'\nimport { TRENDS_ANALYTICS_METADATA } from './constants/TrendsWidget'\n\nconst TrendsFullWidget: React.FC<WidgetProps> = ({ onBackClick, onMenuClick, sx }) => {\n const { onEvent } = useEvent()\n const { isDesktop, isTablet, isMobile } = useScreenSize()\n const { isAccountDataLoaded, loadAccountData } = useAccountStore()\n const {\n categoriesLoaded,\n loadCategories,\n monthlyCategoryTotals,\n getCategoryName,\n reloadCategoryTotals,\n } = useCategoryStore()\n const {\n isTransactionDataLoaded,\n loadTransactionData,\n sortedTransactions: transactions,\n } = useTransactionStore()\n const { selectedDateRange, setSelectedDateRange } = useTrendsStore()\n const { isInitialized, selectedAccounts, selectedAccountGuids } = useGlobalUiStore()\n const { trends: copy } = useGlobalCopyStore()\n\n const [isWidgetInitialized, setIsWidgetInitialized] = React.useState(false)\n const [showTransactions, setShowTransactions] = React.useState(false)\n const [selectedTab, setSelectedTab] = React.useState<TrendsTabValue>('Chart')\n const [selectedCategory, setSelectedCategory] = React.useState('')\n\n // Control responsive chart height based on available widget iframe viewport height\n const [viewportHeight, setViewportHeight] = React.useState(window.innerHeight)\n const unavailableChartHeight = isMobile ? 315 : 345\n const availableChartHeight = viewportHeight - unavailableChartHeight\n\n useWidgetLoadTimer({\n widgetName: 'TrendsFullWidget',\n isLoaded: isWidgetInitialized,\n })\n\n React.useEffect(() => {\n const handleResize = () => setViewportHeight(window.innerHeight)\n window.addEventListener('resize', handleResize)\n\n if (!isAccountDataLoaded) {\n loadAccountData().finally()\n }\n if (!categoriesLoaded) {\n loadCategories().finally()\n }\n if (!isTransactionDataLoaded) {\n loadTransactionData().finally()\n }\n\n return () => window.removeEventListener('resize', handleResize)\n }, [])\n\n // Initialize monthlyCategoryTotals, and reload on account or date range change.\n // Depends on primitives rather than `selectedAccounts` / `selectedDateRange`,\n // whose object identities change even when the values do not. (MEW-3910)\n //\n // Loads both totals in parallel; see TrendsWidget for why chaining the monthly\n // request behind the date-range one reintroduces the stale-write race.\n // Also waits for account data so the first request isn't fired with an empty\n // account list and immediately superseded. (MEW-3910)\n React.useEffect(() => {\n if (isInitialized && isAccountDataLoaded) {\n reloadCategoryTotals(\n selectedAccounts,\n selectedDateRange.start,\n selectedDateRange.end,\n ).finally(() => {\n setIsWidgetInitialized(true)\n onEvent(ANALYTICS_EVENTS.TRENDS_LOAD_WIDGET, {\n ...TRENDS_ANALYTICS_METADATA,\n time_period: `${differenceInCalendarMonths(selectedDateRange.end, selectedDateRange.start)}M`,\n })\n })\n }\n }, [\n isInitialized,\n isAccountDataLoaded,\n selectedAccountGuids.join(','),\n selectedDateRange.start.getTime(),\n selectedDateRange.end.getTime(),\n ])\n\n // Cache a full year of StackedLineChart data\n const chartData = React.useMemo(() => {\n if (!isWidgetInitialized) return { stackedDatasets: [], unstackedDatasets: [] }\n\n const data = getStackedLineChartData(\n monthlyCategoryTotals,\n selectedDateRange.start,\n selectedDateRange.end,\n )\n\n const filteredData = selectedCategory.length\n ? data.filter(\n (d) =>\n d.top_level_category_guid === selectedCategory || d.category_guid === selectedCategory,\n )\n : getTopLevelCategoryTotals(data)\n\n return {\n stackedDatasets: filteredData.filter(isExpense) as StackedLineChartData[],\n unstackedDatasets: filteredData.filter(isIncome) as StackedLineChartData[],\n }\n }, [monthlyCategoryTotals, selectedCategory, selectedDateRange])\n\n const onTabChange = (_event: React.SyntheticEvent, newValue: TrendsTabValue) => {\n setSelectedTab(newValue ?? selectedTab)\n onEvent(ANALYTICS_EVENTS.TRENDS_CLICK_TOGGLE_VIEW)\n }\n\n const onRangeChanged = (dateRange: DateRange<Date>) => {\n const startDate = addSeconds(dateRange?.[0] as Date, 1)\n const endDate = dateRange?.[1] as Date\n const months = differenceInCalendarMonths(endDate, startDate)\n\n setSelectedDateRange({ start: startDate, end: endDate })\n onEvent(ANALYTICS_EVENTS.TRENDS_CLICK_TIME_WINDOW, {\n time_period: months + 'M',\n })\n }\n\n const onAccountsFilterClick = () => {\n onEvent(ANALYTICS_EVENTS.TRENDS_CLICK_FILTER)\n }\n const onClickRow = (guid: string) => {\n setSelectedCategory(guid)\n }\n const onClickLegend = (guid: string) => {\n setSelectedCategory(guid)\n onEvent(ANALYTICS_EVENTS.TRENDS_CLICK_LEGEND, { category: getCategoryName(guid) })\n }\n const onHoverLegend = (guid: string) => {\n onEvent(ANALYTICS_EVENTS.TRENDS_HOVER_LEGEND, { category: getCategoryName(guid) })\n }\n const onHoverArea = (category: string) => {\n onEvent(ANALYTICS_EVENTS.TRENDS_HOVER_AREA, { category })\n }\n const onHoverPoint = (category: string) => {\n onEvent(ANALYTICS_EVENTS.TRENDS_HOVER_POINT, { category })\n }\n\n // Mirrors the effect's readiness condition. The effect now also waits for\n // account data, so the render gate must too — otherwise a state where the\n // effect never runs would leave a spinner with nothing to clear it. Matches\n // TrendsWidget's gate. (MEW-3910)\n if (!isInitialized || !isAccountDataLoaded || !isWidgetInitialized) return <Loader />\n\n return (\n <WidgetContainer\n calendarActions={{ onRangeChanged }}\n dateRange={selectedDateRange}\n dateRangeVariant=\"timeframebuttons\"\n onAccountsFilterClick={onAccountsFilterClick}\n onBackClick={onBackClick}\n onMenuClick={onMenuClick}\n sx={sx}\n title={copy.title}\n >\n <Stack\n sx={{\n // eslint-disable-next-line no-nested-ternary\n px: isDesktop ? 48 : isTablet ? 24 : 12,\n }}\n >\n <Stack\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n sx={{ pb: isMobile ? 12 : 24, pt: isMobile ? 24 : 48 }}\n >\n <DateRangeText\n selectedCategoryGuid={selectedCategory}\n selectedDateRange={selectedDateRange}\n />\n <TrendsViewToggle onTabChange={onTabChange} selectedTab={selectedTab} />\n </Stack>\n <Stack alignItems=\"center\" flexDirection=\"row\" width=\"100%\">\n <Box flexGrow={1}>\n {selectedCategory && (\n <Button onClick={() => setSelectedCategory('')} sx={{ p: 0, pr: 5 }}>\n <Icon name=\"arrow_back\" />\n {copy.all_categories}\n </Button>\n )}\n </Box>\n <Button onClick={() => setShowTransactions(true)} sx={{ px: 5 }}>\n {`${copy.view_transactions} (${transactions.length})`}\n </Button>\n </Stack>\n <Box>\n {selectedTab === 'Chart' && (\n <StackedLineChart\n availableHeight={availableChartHeight}\n onClickLegend={onClickLegend}\n onHoverArea={onHoverArea}\n onHoverLegend={onHoverLegend}\n onHoverPoint={onHoverPoint}\n stackedDatasets={chartData.stackedDatasets}\n unstackedDatasets={chartData.unstackedDatasets}\n />\n )}\n {selectedTab === 'Table' && (\n <TrendsTableContainer\n onClickRow={onClickRow}\n selectedCategory={selectedCategory}\n selectedDateRange={selectedDateRange}\n />\n )}\n </Box>\n </Stack>\n <TrendsDrawer\n categoryGuid={selectedCategory}\n dateRange={selectedDateRange}\n isOpen={showTransactions}\n onClose={() => setShowTransactions(false)}\n />\n </WidgetContainer>\n )\n}\n\nexport default observer(TrendsFullWidget)\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrendsMicroWidget.es.js","names":[],"sources":["../../src/trends/TrendsMicroWidget.tsx"],"sourcesContent":["import React from 'react'\n\nimport Stack from '@mui/material/Stack'\n\nimport { subMonths } from 'date-fns'\n\nimport { observer } from 'mobx-react-lite'\n\nimport {\n ANALYTICS_EVENTS,\n Loader,\n MicroWidgetContainer,\n useAccountStore,\n useCategoryStore,\n useEvent,\n useGlobalCopyStore,\n useGlobalUiStore,\n useWidgetLoadTimer,\n} from '../common'\n\nimport { TrendsMicroSpendingIncomeBox } from './components/TrendsMicroSpendingIncomeBox'\nimport { calculateRelativeChange } from './utils/shared'\nimport { getIncomeTotals, getSpendingTotals } from './utils/SpendingData'\nimport { ZeroStateMicroWidget } from './ZeroStateMicroWidget'\n\ninterface TrendsMicroWidgetProps {\n onCtaClick: () => void\n}\nexport const TrendsMicroWidget = observer(({ onCtaClick }: TrendsMicroWidgetProps) => {\n const { isAccountDataLoaded, loadAccountData, visibleAccounts: accounts } = useAccountStore()\n\n React.useEffect(() => {\n if (!isAccountDataLoaded) {\n loadAccountData().finally()\n }\n }, [])\n\n const { onEvent } = useEvent()\n const { monthlyCategoryTotals, loadMonthlyCategoryTotals, monthlyTotalsLoaded } =\n useCategoryStore()\n\n const dateRange = {\n start: subMonths(new Date(), 1),\n end: new Date(),\n }\n\n const { trends: trendsCopy } = useGlobalCopyStore()\n\n const { selectedAccounts, isInitialized } = useGlobalUiStore()\n\n useWidgetLoadTimer({\n widgetName: 'TrendsMicroWidget',\n isLoaded: monthlyTotalsLoaded,\n })\n\n React.useEffect(() => {\n if (isInitialized) {\n loadMonthlyCategoryTotals(selectedAccounts, dateRange.start).then(() => {\n onEvent(ANALYTICS_EVENTS.TRENDS_LOAD_WIDGET, {\n state: !accounts?.length ? 'zeroState' : 'default',\n })\n })\n }\n }, [isInitialized, selectedAccounts])\n\n const { spendingData, incomeData } = React.useMemo(\n () => ({\n spendingData: getSpendingTotals(monthlyCategoryTotals, dateRange),\n incomeData: getIncomeTotals(monthlyCategoryTotals, dateRange),\n }),\n [monthlyCategoryTotals, dateRange],\n )\n\n const [lastMonthSpending, thisMonthSpending] = spendingData\n const [lastMonthIncome, thisMonthIncome] = incomeData\n\n const spendingPercentage = calculateRelativeChange(thisMonthSpending.y, lastMonthSpending.y)\n const incomePercentage = calculateRelativeChange(thisMonthIncome.y, lastMonthIncome.y)\n\n const showZeroState = isInitialized && !accounts?.length\n\n const handleCtaClick = () => {\n onEvent(\n showZeroState\n ? ANALYTICS_EVENTS.TRENDS_CLICK_GET_STARTED\n : ANALYTICS_EVENTS.TRENDS_CLICK_VIEW_MORE,\n )\n onCtaClick()\n }\n\n if (!monthlyTotalsLoaded || !isInitialized) return <Loader />\n\n return (\n <MicroWidgetContainer\n className=\"mx-trends-microwidget\"\n ctaLabel={trendsCopy.micro_primary_cta_label}\n onCTAClick={handleCtaClick}\n subHeader={!showZeroState ? trendsCopy.micro_subheader : undefined}\n title={trendsCopy.title}\n >\n {!showZeroState ? (\n <Stack\n sx={{\n alignItems: 'stretch',\n flexDirection: 'row',\n gap: 12,\n }}\n >\n <TrendsMicroSpendingIncomeBox\n percentage={spendingPercentage}\n secondaryLabel={trendsCopy.micro_secondary_label}\n shouldDisplayPercentage={thisMonthSpending.y !== 0 && lastMonthSpending.y !== 0}\n title={trendsCopy.spending_label}\n totalAmount={thisMonthSpending.y}\n transactionType={'spending'}\n />\n <TrendsMicroSpendingIncomeBox\n percentage={incomePercentage}\n secondaryLabel={trendsCopy.micro_secondary_label}\n shouldDisplayPercentage={thisMonthIncome.y !== 0 && lastMonthIncome.y !== 0}\n title={trendsCopy.income_label}\n totalAmount={thisMonthIncome.y}\n transactionType={'income'}\n />\n </Stack>\n ) : (\n <ZeroStateMicroWidget />\n )}\n </MicroWidgetContainer>\n )\n})\n"],"mappings":";;;;;;;;;;;;;;AA4BA,IAAa,KAAoB,EAAA,CAAU,EAAE,YAAA,EAAA,MAAyC;AACpF,QAAM,EAAE,qBAAA,GAAqB,iBAAA,GAAiB,iBAAiB,EAAA,IAAa,EAAgB;AAE5F,EAAA,EAAM,UAAA,MAAgB;AACpB,IAAK,KACH,EAAgB,EAAE,QAAQ;AAAA,EAE9B,GAAG,CAAC,CAAC;AAEL,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,uBAAA,GAAuB,2BAAA,GAA2B,qBAAA,EAAA,IACxD,EAAiB,GAEb,IAAY;AAAA,IAChB,OAAO,EAAU,oBAAI,KAAK,GAAG,CAAC;AAAA,IAC9B,KAAK,oBAAI,KAAK;AAAA,EAChB,GAEM,EAAE,QAAQ,EAAA,IAAe,EAAmB,GAE5C,EAAE,kBAAA,GAAkB,eAAA,EAAA,IAAkB,EAAiB;AAE7D,EAAA,EAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ,CAAC,GAED,EAAM,UAAA,MAAgB;AACpB,IAAI,KACF,EAA0B,GAAkB,EAAU,KAAK,EAAE,KAAA,MAAW;AACtE,MAAA,EAAQ,EAAiB,oBAAoB,EAC3C,OAAQ,GAAU,SAAuB,YAAd,YAC7B,CAAC;AAAA,IACH,CAAC;AAAA,EAEL,GAAG,CAAC,GAAe,CAAgB,CAAC;AAEpC,QAAM,EAAE,cAAA,GAAc,YAAA,EAAA,IAAe,EAAM,QAAA,OAClC;AAAA,IACL,cAAc,EAAkB,GAAuB,CAAS;AAAA,IAChE,YAAY,EAAgB,GAAuB,CAAS;AAAA,EAC9D,IACA,CAAC,GAAuB,CAAS,CACnC,GAEM,CAAC,GAAmB,CAAA,IAAqB,GACzC,CAAC,GAAiB,CAAA,IAAmB,GAErC,IAAqB,EAAwB,EAAkB,GAAG,EAAkB,CAAC,GACrF,IAAmB,EAAwB,EAAgB,GAAG,EAAgB,CAAC,GAE/E,IAAgB,KAAiB,CAAC,GAAU,QAE5C,IAAA,MAAuB;AAC3B,IAAA,EACE,IACI,EAAiB,2BACjB,EAAiB,sBACvB,GACA,EAAW;AAAA,EACb;AAEA,SAAI,CAAC,KAAuB,CAAC,IAAsB,gBAAA,EAAC,GAAD,CAAS,CAAA,IAG1D,gBAAA,EAAC,GAAD;AAAA,IACE,WAAU;AAAA,IACV,UAAU,EAAW;AAAA,IACrB,YAAY;AAAA,IACZ,WAAY,IAA6C,SAA7B,EAAW;AAAA,IACvC,OAAO,EAAW;AAAA,
|
|
1
|
+
{"version":3,"file":"TrendsMicroWidget.es.js","names":[],"sources":["../../src/trends/TrendsMicroWidget.tsx"],"sourcesContent":["import React from 'react'\n\nimport Stack from '@mui/material/Stack'\n\nimport { subMonths } from 'date-fns'\n\nimport { observer } from 'mobx-react-lite'\n\nimport {\n ANALYTICS_EVENTS,\n Loader,\n MicroWidgetContainer,\n useAccountStore,\n useCategoryStore,\n useEvent,\n useGlobalCopyStore,\n useGlobalUiStore,\n useWidgetLoadTimer,\n} from '../common'\n\nimport { TrendsMicroSpendingIncomeBox } from './components/TrendsMicroSpendingIncomeBox'\nimport { calculateRelativeChange } from './utils/shared'\nimport { getIncomeTotals, getSpendingTotals } from './utils/SpendingData'\nimport { ZeroStateMicroWidget } from './ZeroStateMicroWidget'\n\ninterface TrendsMicroWidgetProps {\n onCtaClick: () => void\n}\nexport const TrendsMicroWidget = observer(({ onCtaClick }: TrendsMicroWidgetProps) => {\n const { isAccountDataLoaded, loadAccountData, visibleAccounts: accounts } = useAccountStore()\n\n React.useEffect(() => {\n if (!isAccountDataLoaded) {\n loadAccountData().finally()\n }\n }, [])\n\n const { onEvent } = useEvent()\n const { monthlyCategoryTotals, loadMonthlyCategoryTotals, monthlyTotalsLoaded } =\n useCategoryStore()\n\n const dateRange = {\n start: subMonths(new Date(), 1),\n end: new Date(),\n }\n\n const { trends: trendsCopy } = useGlobalCopyStore()\n\n const { selectedAccounts, isInitialized } = useGlobalUiStore()\n\n useWidgetLoadTimer({\n widgetName: 'TrendsMicroWidget',\n isLoaded: monthlyTotalsLoaded,\n })\n\n React.useEffect(() => {\n if (isInitialized) {\n loadMonthlyCategoryTotals(selectedAccounts, dateRange.start).then(() => {\n onEvent(ANALYTICS_EVENTS.TRENDS_LOAD_WIDGET, {\n state: !accounts?.length ? 'zeroState' : 'default',\n })\n })\n }\n }, [isInitialized, selectedAccounts])\n\n const { spendingData, incomeData } = React.useMemo(\n () => ({\n spendingData: getSpendingTotals(monthlyCategoryTotals, dateRange),\n incomeData: getIncomeTotals(monthlyCategoryTotals, dateRange),\n }),\n [monthlyCategoryTotals, dateRange],\n )\n\n const [lastMonthSpending, thisMonthSpending] = spendingData\n const [lastMonthIncome, thisMonthIncome] = incomeData\n\n const spendingPercentage = calculateRelativeChange(thisMonthSpending.y, lastMonthSpending.y)\n const incomePercentage = calculateRelativeChange(thisMonthIncome.y, lastMonthIncome.y)\n\n const showZeroState = isInitialized && !accounts?.length\n\n const handleCtaClick = () => {\n onEvent(\n showZeroState\n ? ANALYTICS_EVENTS.TRENDS_CLICK_GET_STARTED\n : ANALYTICS_EVENTS.TRENDS_CLICK_VIEW_MORE,\n )\n onCtaClick()\n }\n\n if (!monthlyTotalsLoaded || !isInitialized) return <Loader />\n\n return (\n <MicroWidgetContainer\n className=\"mx-trends-microwidget\"\n ctaLabel={trendsCopy.micro_primary_cta_label}\n onCTAClick={handleCtaClick}\n subHeader={!showZeroState ? trendsCopy.micro_subheader : undefined}\n title={trendsCopy.title}\n >\n {!showZeroState ? (\n <Stack\n sx={{\n alignItems: 'stretch',\n flexDirection: 'row',\n gap: 12,\n }}\n >\n <TrendsMicroSpendingIncomeBox\n percentage={spendingPercentage}\n secondaryLabel={trendsCopy.micro_secondary_label}\n shouldDisplayPercentage={thisMonthSpending.y !== 0 && lastMonthSpending.y !== 0}\n title={trendsCopy.spending_label}\n totalAmount={thisMonthSpending.y}\n transactionType={'spending'}\n />\n <TrendsMicroSpendingIncomeBox\n percentage={incomePercentage}\n secondaryLabel={trendsCopy.micro_secondary_label}\n shouldDisplayPercentage={thisMonthIncome.y !== 0 && lastMonthIncome.y !== 0}\n title={trendsCopy.income_label}\n totalAmount={thisMonthIncome.y}\n transactionType={'income'}\n />\n </Stack>\n ) : (\n <ZeroStateMicroWidget />\n )}\n </MicroWidgetContainer>\n )\n})\n"],"mappings":";;;;;;;;;;;;;;AA4BA,IAAa,KAAoB,EAAA,CAAU,EAAE,YAAA,EAAA,MAAyC;AACpF,QAAM,EAAE,qBAAA,GAAqB,iBAAA,GAAiB,iBAAiB,EAAA,IAAa,EAAgB;AAE5F,EAAA,EAAM,UAAA,MAAgB;AACpB,IAAK,KACH,EAAgB,EAAE,QAAQ;AAAA,EAE9B,GAAG,CAAC,CAAC;AAEL,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,uBAAA,GAAuB,2BAAA,GAA2B,qBAAA,EAAA,IACxD,EAAiB,GAEb,IAAY;AAAA,IAChB,OAAO,EAAU,oBAAI,KAAK,GAAG,CAAC;AAAA,IAC9B,KAAK,oBAAI,KAAK;AAAA,EAChB,GAEM,EAAE,QAAQ,EAAA,IAAe,EAAmB,GAE5C,EAAE,kBAAA,GAAkB,eAAA,EAAA,IAAkB,EAAiB;AAE7D,EAAA,EAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ,CAAC,GAED,EAAM,UAAA,MAAgB;AACpB,IAAI,KACF,EAA0B,GAAkB,EAAU,KAAK,EAAE,KAAA,MAAW;AACtE,MAAA,EAAQ,EAAiB,oBAAoB,EAC3C,OAAQ,GAAU,SAAuB,YAAd,YAC7B,CAAC;AAAA,IACH,CAAC;AAAA,EAEL,GAAG,CAAC,GAAe,CAAgB,CAAC;AAEpC,QAAM,EAAE,cAAA,GAAc,YAAA,EAAA,IAAe,EAAM,QAAA,OAClC;AAAA,IACL,cAAc,EAAkB,GAAuB,CAAS;AAAA,IAChE,YAAY,EAAgB,GAAuB,CAAS;AAAA,EAC9D,IACA,CAAC,GAAuB,CAAS,CACnC,GAEM,CAAC,GAAmB,CAAA,IAAqB,GACzC,CAAC,GAAiB,CAAA,IAAmB,GAErC,IAAqB,EAAwB,EAAkB,GAAG,EAAkB,CAAC,GACrF,IAAmB,EAAwB,EAAgB,GAAG,EAAgB,CAAC,GAE/E,IAAgB,KAAiB,CAAC,GAAU,QAE5C,IAAA,MAAuB;AAC3B,IAAA,EACE,IACI,EAAiB,2BACjB,EAAiB,sBACvB,GACA,EAAW;AAAA,EACb;AAEA,SAAI,CAAC,KAAuB,CAAC,IAAsB,gBAAA,EAAC,GAAD,CAAS,CAAA,IAG1D,gBAAA,EAAC,GAAD;AAAA,IACE,WAAU;AAAA,IACV,UAAU,EAAW;AAAA,IACrB,YAAY;AAAA,IACZ,WAAY,IAA6C,SAA7B,EAAW;AAAA,IACvC,OAAO,EAAW;AAAA,IAEjB,UAAC,IA0BA,gBAAA,EAAC,GAAD,CAAuB,CAAA,IAzBvB,gBAAA,EAAC,GAAD;AAAA,MACE,IAAI;AAAA,QACF,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,KAAK;AAAA,MACP;AAAA,MALF,UAAA,CAOE,gBAAA,EAAC,GAAD;AAAA,QACE,YAAY;AAAA,QACZ,gBAAgB,EAAW;AAAA,QAC3B,yBAAyB,EAAkB,MAAM,KAAK,EAAkB,MAAM;AAAA,QAC9E,OAAO,EAAW;AAAA,QAClB,aAAa,EAAkB;AAAA,QAC/B,iBAAiB;AAAA,MAClB,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,QACE,YAAY;AAAA,QACZ,gBAAgB,EAAW;AAAA,QAC3B,yBAAyB,EAAgB,MAAM,KAAK,EAAgB,MAAM;AAAA,QAC1E,OAAO,EAAW;AAAA,QAClB,aAAa,EAAgB;AAAA,QAC7B,iBAAiB;AAAA,MAClB,CAAA,CACI;AAAA,IAEP,CAAA;AAAA,EAEkB,CAAA;AAE1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrendsMiniWidget.es.js","names":[],"sources":["../../src/trends/TrendsMiniWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport {\n Loader,\n MiniWidgetContainer,\n useAccountStore,\n useCategoryStore,\n useGlobalCopyStore,\n useGlobalStore,\n useGlobalUiStore,\n useWidgetLoadTimer,\n} from '../common'\nimport { MiniWidgetProps } from '../core'\n\nimport SpendingChart from './components/SpendingChart'\n\nconst TrendsMiniWidget: React.FC<MiniWidgetProps> = ({ onPrimaryCtaClick, sx }) => {\n const { isAccountDataLoaded, loadAccountData } = useAccountStore()\n const { loadMonthlyCategoryTotals, monthlyTotalsLoaded } = useCategoryStore()\n const { isInitialized } = useGlobalStore()\n const { trends: trendsCopy } = useGlobalCopyStore()\n const { selectedAccounts } = useGlobalUiStore()\n\n React.useEffect(() => {\n if (!isAccountDataLoaded) {\n loadAccountData().finally()\n }\n }, [])\n\n useWidgetLoadTimer({\n widgetName: 'TrendsMiniWidget',\n isLoaded: monthlyTotalsLoaded,\n })\n\n React.useEffect(() => {\n if (isInitialized && isAccountDataLoaded) {\n loadMonthlyCategoryTotals(selectedAccounts).finally()\n }\n }, [isAccountDataLoaded, isInitialized, selectedAccounts])\n\n if (!isAccountDataLoaded || !isInitialized || !monthlyTotalsLoaded) {\n return <Loader />\n }\n\n return (\n <MiniWidgetContainer\n contentStyles={{ height: 'calc(100% - 72px)', minHeight: 300, ':last-child': { pb: 0 } }}\n onPrimaryCtaClick={onPrimaryCtaClick}\n primaryCtaLabel={trendsCopy.primary_cta}\n subTitle={trendsCopy.sub_title}\n sx={{ height: '100%', ...sx }}\n title={trendsCopy.mini_title}\n >\n <SpendingChart />\n </MiniWidgetContainer>\n )\n}\n\nexport default observer(TrendsMiniWidget)\n"],"mappings":";;;;;;;;AAiBA,IAAM,IAAA,CAA+C,EAAE,mBAAA,GAAmB,IAAA,EAAA,MAAS;AACjF,QAAM,EAAE,qBAAA,GAAqB,iBAAA,EAAA,IAAoB,EAAgB,GAC3D,EAAE,2BAAA,GAA2B,qBAAA,EAAA,IAAwB,EAAiB,GACtE,EAAE,eAAA,EAAA,IAAkB,EAAe,GACnC,EAAE,QAAQ,EAAA,IAAe,EAAmB,GAC5C,EAAE,kBAAA,EAAA,IAAqB,EAAiB;AAmB9C,SAjBA,EAAM,UAAA,MAAgB;AACpB,IAAK,KACH,EAAgB,EAAE,QAAQ;AAAA,EAE9B,GAAG,CAAC,CAAC,GAEL,EAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ,CAAC,GAED,EAAM,UAAA,MAAgB;AACpB,IAAI,KAAiB,KACnB,EAA0B,CAAgB,EAAE,QAAQ;AAAA,EAExD,GAAG;AAAA,IAAC;AAAA,IAAqB;AAAA,IAAe;AAAA,EAAgB,CAAC,GAErD,CAAC,KAAuB,CAAC,KAAiB,CAAC,IACtC,gBAAA,EAAC,GAAD,CAAS,CAAA,IAIhB,gBAAA,EAAC,GAAD;AAAA,IACE,eAAe;AAAA,MAAE,QAAQ;AAAA,MAAqB,WAAW;AAAA,MAAK,eAAe,EAAE,IAAI,EAAE;AAAA,IAAE;AAAA,IACpE,mBAAA;AAAA,IACnB,iBAAiB,EAAW;AAAA,IAC5B,UAAU,EAAW;AAAA,IACrB,IAAI;AAAA,MAAE,QAAQ;AAAA,MAAQ,GAAG;AAAA,IAAG;AAAA,IAC5B,OAAO,EAAW;AAAA,
|
|
1
|
+
{"version":3,"file":"TrendsMiniWidget.es.js","names":[],"sources":["../../src/trends/TrendsMiniWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport {\n Loader,\n MiniWidgetContainer,\n useAccountStore,\n useCategoryStore,\n useGlobalCopyStore,\n useGlobalStore,\n useGlobalUiStore,\n useWidgetLoadTimer,\n} from '../common'\nimport { MiniWidgetProps } from '../core'\n\nimport SpendingChart from './components/SpendingChart'\n\nconst TrendsMiniWidget: React.FC<MiniWidgetProps> = ({ onPrimaryCtaClick, sx }) => {\n const { isAccountDataLoaded, loadAccountData } = useAccountStore()\n const { loadMonthlyCategoryTotals, monthlyTotalsLoaded } = useCategoryStore()\n const { isInitialized } = useGlobalStore()\n const { trends: trendsCopy } = useGlobalCopyStore()\n const { selectedAccounts } = useGlobalUiStore()\n\n React.useEffect(() => {\n if (!isAccountDataLoaded) {\n loadAccountData().finally()\n }\n }, [])\n\n useWidgetLoadTimer({\n widgetName: 'TrendsMiniWidget',\n isLoaded: monthlyTotalsLoaded,\n })\n\n React.useEffect(() => {\n if (isInitialized && isAccountDataLoaded) {\n loadMonthlyCategoryTotals(selectedAccounts).finally()\n }\n }, [isAccountDataLoaded, isInitialized, selectedAccounts])\n\n if (!isAccountDataLoaded || !isInitialized || !monthlyTotalsLoaded) {\n return <Loader />\n }\n\n return (\n <MiniWidgetContainer\n contentStyles={{ height: 'calc(100% - 72px)', minHeight: 300, ':last-child': { pb: 0 } }}\n onPrimaryCtaClick={onPrimaryCtaClick}\n primaryCtaLabel={trendsCopy.primary_cta}\n subTitle={trendsCopy.sub_title}\n sx={{ height: '100%', ...sx }}\n title={trendsCopy.mini_title}\n >\n <SpendingChart />\n </MiniWidgetContainer>\n )\n}\n\nexport default observer(TrendsMiniWidget)\n"],"mappings":";;;;;;;;AAiBA,IAAM,IAAA,CAA+C,EAAE,mBAAA,GAAmB,IAAA,EAAA,MAAS;AACjF,QAAM,EAAE,qBAAA,GAAqB,iBAAA,EAAA,IAAoB,EAAgB,GAC3D,EAAE,2BAAA,GAA2B,qBAAA,EAAA,IAAwB,EAAiB,GACtE,EAAE,eAAA,EAAA,IAAkB,EAAe,GACnC,EAAE,QAAQ,EAAA,IAAe,EAAmB,GAC5C,EAAE,kBAAA,EAAA,IAAqB,EAAiB;AAmB9C,SAjBA,EAAM,UAAA,MAAgB;AACpB,IAAK,KACH,EAAgB,EAAE,QAAQ;AAAA,EAE9B,GAAG,CAAC,CAAC,GAEL,EAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU;AAAA,EACZ,CAAC,GAED,EAAM,UAAA,MAAgB;AACpB,IAAI,KAAiB,KACnB,EAA0B,CAAgB,EAAE,QAAQ;AAAA,EAExD,GAAG;AAAA,IAAC;AAAA,IAAqB;AAAA,IAAe;AAAA,EAAgB,CAAC,GAErD,CAAC,KAAuB,CAAC,KAAiB,CAAC,IACtC,gBAAA,EAAC,GAAD,CAAS,CAAA,IAIhB,gBAAA,EAAC,GAAD;AAAA,IACE,eAAe;AAAA,MAAE,QAAQ;AAAA,MAAqB,WAAW;AAAA,MAAK,eAAe,EAAE,IAAI,EAAE;AAAA,IAAE;AAAA,IACpE,mBAAA;AAAA,IACnB,iBAAiB,EAAW;AAAA,IAC5B,UAAU,EAAW;AAAA,IACrB,IAAI;AAAA,MAAE,QAAQ;AAAA,MAAQ,GAAG;AAAA,IAAG;AAAA,IAC5B,OAAO,EAAW;AAAA,IAElB,UAAA,gBAAA,EAAC,GAAD,CAAgB,CAAA;AAAA,EACG,CAAA;AAEzB,GAEA,IAAe,EAAS,CAAgB"}
|
|
@@ -1,128 +1,127 @@
|
|
|
1
|
-
import { useAccountStore as
|
|
2
|
-
import { useInsightsEnabled as
|
|
3
|
-
import { useScreenSize as
|
|
4
|
-
import { useWidgetLoadTimer as
|
|
5
|
-
import
|
|
6
|
-
import { ANALYTICS_EVENTS as
|
|
7
|
-
import
|
|
8
|
-
import { WidgetContainer as
|
|
9
|
-
import
|
|
10
|
-
import { EmptyState as
|
|
1
|
+
import { useAccountStore as Ce, useAppConfig as _e, useCategoryStore as Te, useEvent as Se, useGlobalCopyStore as ye, useGlobalStore as we, useGlobalUiStore as Ee, useTransactionStore as De, useTrendsStore as Le } from "../common/context/hooks.es.js";
|
|
2
|
+
import { useInsightsEnabled as Ae } from "../common/hooks/useInsightsEnabled.es.js";
|
|
3
|
+
import { useScreenSize as be } from "../common/hooks/useScreenSize.es.js";
|
|
4
|
+
import { useWidgetLoadTimer as Ie } from "../common/hooks/useWidgetLoadTimer.es.js";
|
|
5
|
+
import xe from "../common/components/drawer/Drawer.es.js";
|
|
6
|
+
import { ANALYTICS_EVENTS as s } from "../common/constants/Analytics.es.js";
|
|
7
|
+
import Re from "../common/components/Loader.es.js";
|
|
8
|
+
import { WidgetContainer as ve } from "../common/components/WidgetContainer.es.js";
|
|
9
|
+
import Ne from "../common/components/ConnectDrawer.es.js";
|
|
10
|
+
import { EmptyState as Be } from "../common/components/EmptyState.es.js";
|
|
11
11
|
import { TRENDS_ANALYTICS_METADATA as c } from "./constants/TrendsWidget.es.js";
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import { CategoryDetails as
|
|
18
|
-
import
|
|
19
|
-
import { TRENDS_BEAT_TEMPLATES as
|
|
20
|
-
import { buildEmptyStateProps as
|
|
12
|
+
import We from "./components/TrendsViewToggle.es.js";
|
|
13
|
+
import ke from "./components/DateRangeText.es.js";
|
|
14
|
+
import He from "./components/TrendsTableContainer.es.js";
|
|
15
|
+
import Ge from "./components/CategoriesList.es.js";
|
|
16
|
+
import Me from "./components/TrendsInsights.es.js";
|
|
17
|
+
import { CategoryDetails as Oe } from "./components/CategoryDetails.es.js";
|
|
18
|
+
import ze from "./components/TrendsChartTotals.es.js";
|
|
19
|
+
import { TRENDS_BEAT_TEMPLATES as Ke } from "./constants/TrendsInsights.es.js";
|
|
20
|
+
import { buildEmptyStateProps as Ve } from "./utils/TrendsWidget.es.js";
|
|
21
21
|
import i from "react";
|
|
22
|
-
import { observer as
|
|
22
|
+
import { observer as Fe } from "mobx-react-lite";
|
|
23
23
|
import f from "@mui/material/Stack";
|
|
24
24
|
import je from "@mui/material/Button";
|
|
25
|
-
import { ArrowBack as
|
|
26
|
-
import { Fragment as
|
|
27
|
-
import
|
|
28
|
-
import { addSeconds as $e } from "date-fns/addSeconds";
|
|
25
|
+
import { ArrowBack as Pe } from "@mxenabled/mx-icons";
|
|
26
|
+
import { Fragment as Ue, jsx as e, jsxs as a } from "react/jsx-runtime";
|
|
27
|
+
import w from "@mui/material/Box";
|
|
29
28
|
import { differenceInCalendarMonths as k } from "date-fns/differenceInCalendarMonths";
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
import { addSeconds as Ye } from "date-fns/addSeconds";
|
|
30
|
+
var $e = ({ onBackClick: H, onMenuClick: G, onInsightCardClick: M, sx: O }) => {
|
|
31
|
+
const { onEvent: r } = Se(), { config: E } = _e(), { isDesktop: z, isLargeDesktop: K, isMobile: C } = be(), { isAccountDataLoaded: p, loadAccountData: V, visibleAccounts: F } = Ce(), { categoriesLoaded: j, loadCategories: P, monthlyCategoryTotals: d, monthlyTotalsLoaded: U, reloadCategoryTotals: Y } = Te(), { isTransactionDataLoaded: $, loadTransactionData: q, setFilter: J } = De(), { selectedCategoryData: _, selectedDateRange: o, setSelectedCategoryData: D, setSelectedDateRange: Q } = Le(), { isInitialized: T, selectedAccounts: X, selectedAccountGuids: L } = Ee(), { trends: l, connect: Z } = ye(), { beatStore: A } = we(), b = Ae() && E.show_insights_widget_in_master, m = z || K, [I, ee] = i.useState(!1), [S, te] = i.useState(!1), [h, oe] = i.useState("Chart"), [y, x] = i.useState(""), [R, ie] = i.useState(window.innerHeight), ne = m ? 56 : 0, v = R - 208, re = R - (b ? 550 + ne : 266), [se, N] = i.useState(!1), ae = E.show_connections_widget_in_master;
|
|
32
|
+
Ie({
|
|
33
33
|
widgetName: "TrendsWidget",
|
|
34
34
|
isLoaded: I
|
|
35
35
|
});
|
|
36
|
-
const B = i.useMemo(() =>
|
|
36
|
+
const B = i.useMemo(() => S ? A.getFilteredBeats({ templates: Ke }) : [], [S]);
|
|
37
37
|
i.useEffect(() => {
|
|
38
|
-
const t = () =>
|
|
39
|
-
return window.addEventListener("resize", t),
|
|
38
|
+
const t = () => ie(window.innerHeight);
|
|
39
|
+
return window.addEventListener("resize", t), p || V().finally(), j || P().finally(), $ || q().finally(), () => window.removeEventListener("resize", t);
|
|
40
40
|
}, []), i.useEffect(() => {
|
|
41
|
-
T &&
|
|
42
|
-
|
|
43
|
-
}).finally(() => {
|
|
44
|
-
te(!0), a(r.TRENDS_LOAD_WIDGET, {
|
|
41
|
+
T && p && (A.loadBeats().finally(() => te(!0)), Y(X, o.start, o.end).finally(() => {
|
|
42
|
+
ee(!0), r(s.TRENDS_LOAD_WIDGET, {
|
|
45
43
|
...c,
|
|
46
44
|
time_period: `${k(o.end, o.start)}M`
|
|
47
45
|
});
|
|
48
46
|
}));
|
|
49
47
|
}, [
|
|
50
48
|
T,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
o
|
|
49
|
+
p,
|
|
50
|
+
L.join(","),
|
|
51
|
+
o.start.getTime(),
|
|
52
|
+
o.end.getTime()
|
|
54
53
|
]), i.useEffect(() => {
|
|
55
54
|
if (d.length !== 0) {
|
|
56
55
|
const t = {
|
|
57
|
-
accounts:
|
|
56
|
+
accounts: L,
|
|
58
57
|
dateRange: {
|
|
59
58
|
start: o.start,
|
|
60
59
|
end: o.end
|
|
61
60
|
}
|
|
62
61
|
};
|
|
63
|
-
|
|
62
|
+
J({
|
|
64
63
|
...t,
|
|
65
64
|
custom: (n) => !!d.find((g) => g.top_level_category_guid === n.top_level_category_guid || g.category_guid === n.category_guid)
|
|
66
65
|
});
|
|
67
66
|
}
|
|
68
67
|
}, [d]);
|
|
69
|
-
const
|
|
70
|
-
|
|
68
|
+
const le = (t) => {
|
|
69
|
+
D(t);
|
|
70
|
+
}, ce = () => {
|
|
71
|
+
D(null), r(s.TRENDS_CLICK_BACK, c);
|
|
71
72
|
}, de = () => {
|
|
72
|
-
|
|
73
|
-
}, me = () => {
|
|
74
|
-
|
|
75
|
-
}, ge = (t, n) => {
|
|
76
|
-
ie(n ?? p), a(r.TRENDS_CLICK_TOGGLE_VIEW, {
|
|
73
|
+
N(!0), r(s.TRENDS_CLICK_CONNECT_ACCOUNTS);
|
|
74
|
+
}, me = (t, n) => {
|
|
75
|
+
oe(n ?? h), r(s.TRENDS_CLICK_TOGGLE_VIEW, {
|
|
77
76
|
...c,
|
|
78
77
|
toggleView: n
|
|
79
78
|
});
|
|
80
|
-
},
|
|
81
|
-
const n =
|
|
82
|
-
|
|
79
|
+
}, ge = (t) => {
|
|
80
|
+
const n = Ye(t?.[0], 1), g = t?.[1], ue = k(g, n);
|
|
81
|
+
Q({
|
|
83
82
|
start: n,
|
|
84
83
|
end: g
|
|
85
|
-
}),
|
|
84
|
+
}), r(s.TRENDS_CLICK_TIME_WINDOW, {
|
|
86
85
|
...c,
|
|
87
|
-
time_period:
|
|
86
|
+
time_period: ue + "M"
|
|
88
87
|
});
|
|
89
|
-
},
|
|
90
|
-
|
|
88
|
+
}, fe = (t) => {
|
|
89
|
+
r(s.TRENDS_CLICK_FILTER, {
|
|
91
90
|
...c,
|
|
92
91
|
filterValue: t
|
|
93
92
|
});
|
|
94
93
|
}, pe = (t) => {
|
|
95
94
|
x(t);
|
|
96
|
-
},
|
|
97
|
-
x(""),
|
|
95
|
+
}, he = () => {
|
|
96
|
+
x(""), r(s.TRENDS_CLICK_ALL_CATEGORIES, c);
|
|
98
97
|
};
|
|
99
|
-
if (!T || !
|
|
100
|
-
const W = F.length === 0 || d.length === 0, u =
|
|
101
|
-
return /* @__PURE__ */
|
|
102
|
-
calendarActions: { onRangeChanged:
|
|
98
|
+
if (!T || !p || !I || !U) return /* @__PURE__ */ e(Re, {});
|
|
99
|
+
const W = F.length === 0 || d.length === 0, u = Ve(l, ae, de);
|
|
100
|
+
return /* @__PURE__ */ a(ve, {
|
|
101
|
+
calendarActions: { onRangeChanged: ge },
|
|
103
102
|
dateRange: o,
|
|
104
103
|
dateRangeVariant: C ? "timeframetabs" : "timeframebuttons",
|
|
105
|
-
onAccountsFilterClick:
|
|
104
|
+
onAccountsFilterClick: fe,
|
|
106
105
|
onBackClick: H,
|
|
107
106
|
onMenuClick: G,
|
|
108
107
|
sx: O,
|
|
109
108
|
title: l.title,
|
|
110
|
-
children: [/* @__PURE__ */
|
|
109
|
+
children: [/* @__PURE__ */ a(f, {
|
|
111
110
|
sx: { px: C ? 0 : 48 },
|
|
112
111
|
children: [
|
|
113
|
-
/* @__PURE__ */
|
|
112
|
+
/* @__PURE__ */ a(f, {
|
|
114
113
|
flexDirection: "row",
|
|
115
114
|
justifyContent: "space-between",
|
|
116
115
|
sx: {
|
|
117
116
|
px: C ? 16 : 0,
|
|
118
117
|
py: 16
|
|
119
118
|
},
|
|
120
|
-
children: [/* @__PURE__ */ e(
|
|
121
|
-
selectedCategoryGuid:
|
|
119
|
+
children: [/* @__PURE__ */ e(ke, {
|
|
120
|
+
selectedCategoryGuid: y,
|
|
122
121
|
selectedDateRange: o
|
|
123
|
-
}), /* @__PURE__ */ e(
|
|
124
|
-
onTabChange:
|
|
125
|
-
selectedTab:
|
|
122
|
+
}), /* @__PURE__ */ e(We, {
|
|
123
|
+
onTabChange: me,
|
|
124
|
+
selectedTab: h
|
|
126
125
|
})]
|
|
127
126
|
}),
|
|
128
127
|
/* @__PURE__ */ e(f, {
|
|
@@ -130,19 +129,19 @@ var qe = ({ onBackClick: H, onMenuClick: G, onInsightCardClick: M, sx: O }) => {
|
|
|
130
129
|
flexDirection: "row",
|
|
131
130
|
sx: { pb: 8 },
|
|
132
131
|
width: "100%",
|
|
133
|
-
children: /* @__PURE__ */ e(
|
|
132
|
+
children: /* @__PURE__ */ e(w, {
|
|
134
133
|
flexGrow: 1,
|
|
135
|
-
children:
|
|
136
|
-
onClick:
|
|
134
|
+
children: y && /* @__PURE__ */ a(je, {
|
|
135
|
+
onClick: he,
|
|
137
136
|
sx: {
|
|
138
137
|
p: 0,
|
|
139
138
|
pr: 5
|
|
140
139
|
},
|
|
141
|
-
children: [/* @__PURE__ */ e(
|
|
140
|
+
children: [/* @__PURE__ */ e(Pe, {}), l.all_categories]
|
|
142
141
|
})
|
|
143
142
|
})
|
|
144
143
|
}),
|
|
145
|
-
W && /* @__PURE__ */ e(
|
|
144
|
+
W && /* @__PURE__ */ e(Be, {
|
|
146
145
|
header: u.header,
|
|
147
146
|
icon: "multiline_chart",
|
|
148
147
|
onClick: u.onClickHandler,
|
|
@@ -153,55 +152,55 @@ var qe = ({ onBackClick: H, onMenuClick: G, onInsightCardClick: M, sx: O }) => {
|
|
|
153
152
|
maxWidth: 432
|
|
154
153
|
}
|
|
155
154
|
}),
|
|
156
|
-
!W && /* @__PURE__ */
|
|
155
|
+
!W && /* @__PURE__ */ a(f, {
|
|
157
156
|
flexDirection: m ? "row" : "column",
|
|
158
157
|
gap: m ? 48 : 16,
|
|
159
|
-
children: [
|
|
158
|
+
children: [h === "Chart" && /* @__PURE__ */ a(Ue, { children: [/* @__PURE__ */ e(w, {
|
|
160
159
|
sx: { width: m ? "68%" : "100%" },
|
|
161
|
-
children: /* @__PURE__ */ e(
|
|
160
|
+
children: /* @__PURE__ */ e(ze, {
|
|
162
161
|
availableHeight: v,
|
|
163
162
|
minHeight: 450,
|
|
164
163
|
selectedDateRange: o,
|
|
165
164
|
totals: d
|
|
166
165
|
})
|
|
167
|
-
}), /* @__PURE__ */
|
|
166
|
+
}), /* @__PURE__ */ a(f, {
|
|
168
167
|
gap: 16,
|
|
169
168
|
sx: { width: m ? "32%" : "100%" },
|
|
170
|
-
children: [b &&
|
|
169
|
+
children: [b && S && B.length > 0 && /* @__PURE__ */ e(Me, {
|
|
171
170
|
beats: B,
|
|
172
171
|
onInsightCardClick: M
|
|
173
|
-
}), /* @__PURE__ */ e(
|
|
172
|
+
}), /* @__PURE__ */ e(Ge, {
|
|
174
173
|
availableHeight: re,
|
|
175
|
-
onCategoryClick:
|
|
174
|
+
onCategoryClick: le
|
|
176
175
|
})]
|
|
177
|
-
})] }),
|
|
176
|
+
})] }), h === "Table" && /* @__PURE__ */ e(w, {
|
|
178
177
|
sx: { width: "100%" },
|
|
179
|
-
children: /* @__PURE__ */ e(
|
|
178
|
+
children: /* @__PURE__ */ e(He, {
|
|
180
179
|
height: "unset",
|
|
181
180
|
onClickRow: pe,
|
|
182
|
-
selectedCategory:
|
|
181
|
+
selectedCategory: y,
|
|
183
182
|
selectedDateRange: o
|
|
184
183
|
})
|
|
185
184
|
})]
|
|
186
185
|
}),
|
|
187
|
-
/* @__PURE__ */ e(
|
|
186
|
+
/* @__PURE__ */ e(xe, {
|
|
188
187
|
ariaLabelClose: l.close_category_details,
|
|
189
188
|
isOpen: !!_,
|
|
190
|
-
onClose:
|
|
189
|
+
onClose: ce,
|
|
191
190
|
shouldShowHeaderShadow: !0,
|
|
192
191
|
title: _?.is_income ? l.category_income : l.category_spending,
|
|
193
|
-
children: _ && /* @__PURE__ */ e(
|
|
192
|
+
children: _ && /* @__PURE__ */ e(Oe, {})
|
|
194
193
|
})
|
|
195
194
|
]
|
|
196
|
-
}), /* @__PURE__ */ e(
|
|
195
|
+
}), /* @__PURE__ */ e(Ne, {
|
|
197
196
|
onClose: () => N(!1),
|
|
198
197
|
showConnectWidget: se,
|
|
199
|
-
title:
|
|
198
|
+
title: Z.mini_title
|
|
200
199
|
})]
|
|
201
200
|
});
|
|
202
|
-
},
|
|
201
|
+
}, Dt = Fe($e);
|
|
203
202
|
export {
|
|
204
|
-
|
|
203
|
+
Dt as default
|
|
205
204
|
};
|
|
206
205
|
|
|
207
206
|
//# sourceMappingURL=TrendsWidget.es.js.map
|