@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingAddMonthlyIncome.es.js","names":[],"sources":["../../../../src/finstrong/components/onboarding/OnboardingAddMonthlyIncome.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport Stack from '@mui/material/Stack'\n\nimport { Add } from '@mxenabled/mx-icons'\n\nimport { useGlobalCopyStore } from '../../../common'\nimport { Frequency, type Transaction } from '../../../core'\nimport SubheaderRow from '../../../common/components/SubheaderRow'\nimport { OnboardingSteps } from '../../../core/types/Finstrong'\nimport { fromUnixToDayOfWeekAndDate } from '../../../core/utils/DateUtil'\nimport { AddRecurringTransactionDetails } from '../../../recurringtransactions'\nimport { TransactionRow } from '../../../transactions'\nimport { hasInsetBorder, shouldShowDate } from '../../../transactions/utils/Transactions'\n\nimport type { StepState } from './OnboardingStepsDrawer'\n\ninterface OnboardingAddMonthlyIncomeProps {\n firstDay: number\n frequency: Frequency\n secondDay: number\n incomeTransactions: Transaction[]\n setCurrentStep: (step: StepState) => void\n setFirstDay: (day: number) => void\n setFrequency: (frequency: Frequency) => void\n setSecondDay: (day: number) => void\n transaction: Transaction\n}\n\nconst OnboardingAddMonthlyIncome = ({\n firstDay,\n frequency,\n secondDay,\n incomeTransactions,\n setCurrentStep,\n setFirstDay,\n setFrequency,\n setSecondDay,\n transaction,\n}: OnboardingAddMonthlyIncomeProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n return (\n <React.Fragment>\n <Stack>\n {!!incomeTransactions.length && (\n <Box sx={{ pb: 24 }}>\n {incomeTransactions.reduce<React.JSX.Element[]>((elements, txn, i) => {\n if (txn.guid === transaction.guid) return elements\n\n const showDate = shouldShowDate(i, incomeTransactions)\n const isInset = hasInsetBorder(i, incomeTransactions)\n\n elements.push(\n <React.Fragment key={txn.guid}>\n {showDate && <SubheaderRow>{fromUnixToDayOfWeekAndDate(txn.date)}</SubheaderRow>}\n <TransactionRow component=\"div\" transaction={txn} />\n <Divider sx={{ ml: isInset ? 44 : 0 }} />\n </React.Fragment>,\n )\n\n return elements\n }, [])}\n </Box>\n )}\n <AddRecurringTransactionDetails\n firstDay={firstDay}\n frequency={frequency}\n onFirstDayChange={setFirstDay}\n onFrequencyChange={setFrequency}\n onSecondDayChange={setSecondDay}\n secondDay={secondDay}\n transaction={transaction}\n />\n </Stack>\n\n <Box sx={{ px: 24 }}>\n <Button\n fullWidth={true}\n onClick={() => setCurrentStep({ step: OnboardingSteps.MonthlyIncome, type: 'main' })}\n startIcon={<Add />}\n >\n {copy.onboarding_add_more_income}\n </Button>\n </Box>\n </React.Fragment>\n )\n}\n\nexport default observer(OnboardingAddMonthlyIncome)\n"],"mappings":";;;;;;;;;;;;;;;AAiCA,IAAM,IAAA,CAA8B,EAClC,UAAA,GACA,WAAA,GACA,WAAA,GACA,oBAAA,GACA,gBAAA,GACA,aAAA,GACA,cAAA,GACA,cAAA,GACA,aAAA,EAAA,MACqC;AACrC,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB;AAE/C,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UAAA,CACG,CAAC,CAAC,EAAmB,UACpB,gBAAA,EAAC,GAAD;AAAA,IAAK,IAAI,EAAE,IAAI,GAAG;AAAA,
|
|
1
|
+
{"version":3,"file":"OnboardingAddMonthlyIncome.es.js","names":[],"sources":["../../../../src/finstrong/components/onboarding/OnboardingAddMonthlyIncome.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport Stack from '@mui/material/Stack'\n\nimport { Add } from '@mxenabled/mx-icons'\n\nimport { useGlobalCopyStore } from '../../../common'\nimport { Frequency, type Transaction } from '../../../core'\nimport SubheaderRow from '../../../common/components/SubheaderRow'\nimport { OnboardingSteps } from '../../../core/types/Finstrong'\nimport { fromUnixToDayOfWeekAndDate } from '../../../core/utils/DateUtil'\nimport { AddRecurringTransactionDetails } from '../../../recurringtransactions'\nimport { TransactionRow } from '../../../transactions'\nimport { hasInsetBorder, shouldShowDate } from '../../../transactions/utils/Transactions'\n\nimport type { StepState } from './OnboardingStepsDrawer'\n\ninterface OnboardingAddMonthlyIncomeProps {\n firstDay: number\n frequency: Frequency\n secondDay: number\n incomeTransactions: Transaction[]\n setCurrentStep: (step: StepState) => void\n setFirstDay: (day: number) => void\n setFrequency: (frequency: Frequency) => void\n setSecondDay: (day: number) => void\n transaction: Transaction\n}\n\nconst OnboardingAddMonthlyIncome = ({\n firstDay,\n frequency,\n secondDay,\n incomeTransactions,\n setCurrentStep,\n setFirstDay,\n setFrequency,\n setSecondDay,\n transaction,\n}: OnboardingAddMonthlyIncomeProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n return (\n <React.Fragment>\n <Stack>\n {!!incomeTransactions.length && (\n <Box sx={{ pb: 24 }}>\n {incomeTransactions.reduce<React.JSX.Element[]>((elements, txn, i) => {\n if (txn.guid === transaction.guid) return elements\n\n const showDate = shouldShowDate(i, incomeTransactions)\n const isInset = hasInsetBorder(i, incomeTransactions)\n\n elements.push(\n <React.Fragment key={txn.guid}>\n {showDate && <SubheaderRow>{fromUnixToDayOfWeekAndDate(txn.date)}</SubheaderRow>}\n <TransactionRow component=\"div\" transaction={txn} />\n <Divider sx={{ ml: isInset ? 44 : 0 }} />\n </React.Fragment>,\n )\n\n return elements\n }, [])}\n </Box>\n )}\n <AddRecurringTransactionDetails\n firstDay={firstDay}\n frequency={frequency}\n onFirstDayChange={setFirstDay}\n onFrequencyChange={setFrequency}\n onSecondDayChange={setSecondDay}\n secondDay={secondDay}\n transaction={transaction}\n />\n </Stack>\n\n <Box sx={{ px: 24 }}>\n <Button\n fullWidth={true}\n onClick={() => setCurrentStep({ step: OnboardingSteps.MonthlyIncome, type: 'main' })}\n startIcon={<Add />}\n >\n {copy.onboarding_add_more_income}\n </Button>\n </Box>\n </React.Fragment>\n )\n}\n\nexport default observer(OnboardingAddMonthlyIncome)\n"],"mappings":";;;;;;;;;;;;;;;AAiCA,IAAM,IAAA,CAA8B,EAClC,UAAA,GACA,WAAA,GACA,WAAA,GACA,oBAAA,GACA,gBAAA,GACA,aAAA,GACA,cAAA,GACA,cAAA,GACA,aAAA,EAAA,MACqC;AACrC,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB;AAE/C,SACE,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UAAA,CACG,CAAC,CAAC,EAAmB,UACpB,gBAAA,EAAC,GAAD;AAAA,IAAK,IAAI,EAAE,IAAI,GAAG;AAAA,IACf,UAAA,EAAmB,OAAA,CAA6B,GAAU,GAAK,MAAM;AACpE,UAAI,EAAI,SAAS,EAAY,KAAM,QAAO;AAE1C,YAAM,IAAW,EAAe,GAAG,CAAkB,GAC/C,IAAU,EAAe,GAAG,CAAkB;AAEpD,aAAA,EAAS,KACP,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA;AAAA,QACG,KAAY,gBAAA,EAAC,GAAD,EAAA,UAAe,EAA2B,EAAI,IAAI,EAAgB,CAAA;AAAA,QAC/E,gBAAA,EAAC,GAAD;AAAA,UAAgB,WAAU;AAAA,UAAM,aAAa;AAAA,QAAM,CAAA;AAAA,QACnD,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,IAAI,IAAU,KAAK,EAAE,EAAI,CAAA;AAAA,MAC1B,EAAA,GAJK,EAAI,IAIT,CAClB,GAEO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,EACF,CAAA,GAEP,gBAAA,EAAC,GAAD;AAAA,IACY,UAAA;AAAA,IACC,WAAA;AAAA,IACX,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACR,WAAA;AAAA,IACE,aAAA;AAAA,EACd,CAAA,CACI,EAAA,CAAA,GAEP,gBAAA,EAAC,GAAD;AAAA,IAAK,IAAI,EAAE,IAAI,GAAG;AAAA,IAChB,UAAA,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW;AAAA,MACX,SAAA,MAAe,EAAe;AAAA,QAAE,MAAM,EAAgB;AAAA,QAAe,MAAM;AAAA,MAAO,CAAC;AAAA,MACnF,WAAW,gBAAA,EAAC,GAAD,CAAM,CAAA;AAAA,MAEhB,UAAA,EAAK;AAAA,IACA,CAAA;AAAA,EACL,CAAA,CACS,EAAA,CAAA;AAEpB,GAEA,IAAe,EAAS,CAA0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingBirthday.es.js","names":[],"sources":["../../../../src/finstrong/components/onboarding/OnboardingBirthday.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport { alpha, useTheme } from '@mui/material/styles'\nimport { DatePicker, LocalizationProvider } from '@mui/x-date-pickers'\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV3'\n\nimport { useGlobalCopyStore } from '../../../common'\n\ninterface OnboardingBirthdayProps {\n selectedDate: number | null | undefined\n setSelectedDate: (value: number | null | undefined) => void\n}\n\nconst OnboardingBirthday = ({ selectedDate, setSelectedDate }: OnboardingBirthdayProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n const theme = useTheme()\n\n const handleChange = (date: Date | null) => {\n setSelectedDate(Math.floor(new Date(date!).getTime() / 1000))\n }\n\n return (\n <Box sx={{ p: 24 }}>\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <DatePicker\n disableFuture={true}\n label={copy.onboarding_select_date}\n onChange={handleChange}\n slotProps={{\n nextIconButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n previousIconButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n }}\n sx={{\n width: '100%',\n '& .MuiIconButton-edgeEnd': {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n }}\n value={selectedDate ? new Date(selectedDate * 1000) : null}\n />\n </LocalizationProvider>\n </Box>\n )\n}\n\nexport default observer(OnboardingBirthday)\n"],"mappings":";;;;;;;AAcA,IAAM,IAAA,CAAsB,EAAE,cAAA,GAAc,iBAAA,EAAA,MAA+C;AACzF,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,IAAQ,EAAS,GAEjB,IAAA,CAAgB,MAAsB;AAC1C,IAAA,EAAgB,KAAK,MAAM,IAAI,KAAK,CAAK,EAAE,QAAQ,IAAI,GAAI,CAAC;AAAA,EAC9D;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAK,IAAI,EAAE,GAAG,GAAG;AAAA,
|
|
1
|
+
{"version":3,"file":"OnboardingBirthday.es.js","names":[],"sources":["../../../../src/finstrong/components/onboarding/OnboardingBirthday.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport { alpha, useTheme } from '@mui/material/styles'\nimport { DatePicker, LocalizationProvider } from '@mui/x-date-pickers'\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV3'\n\nimport { useGlobalCopyStore } from '../../../common'\n\ninterface OnboardingBirthdayProps {\n selectedDate: number | null | undefined\n setSelectedDate: (value: number | null | undefined) => void\n}\n\nconst OnboardingBirthday = ({ selectedDate, setSelectedDate }: OnboardingBirthdayProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n const theme = useTheme()\n\n const handleChange = (date: Date | null) => {\n setSelectedDate(Math.floor(new Date(date!).getTime() / 1000))\n }\n\n return (\n <Box sx={{ p: 24 }}>\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <DatePicker\n disableFuture={true}\n label={copy.onboarding_select_date}\n onChange={handleChange}\n slotProps={{\n nextIconButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n previousIconButton: {\n sx: {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n },\n }}\n sx={{\n width: '100%',\n '& .MuiIconButton-edgeEnd': {\n color: 'primary.main',\n '&:hover': { bgcolor: alpha(theme.palette.primary.light, 0.1) },\n },\n }}\n value={selectedDate ? new Date(selectedDate * 1000) : null}\n />\n </LocalizationProvider>\n </Box>\n )\n}\n\nexport default observer(OnboardingBirthday)\n"],"mappings":";;;;;;;AAcA,IAAM,IAAA,CAAsB,EAAE,cAAA,GAAc,iBAAA,EAAA,MAA+C;AACzF,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GACzC,IAAQ,EAAS,GAEjB,IAAA,CAAgB,MAAsB;AAC1C,IAAA,EAAgB,KAAK,MAAM,IAAI,KAAK,CAAK,EAAE,QAAQ,IAAI,GAAI,CAAC;AAAA,EAC9D;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAK,IAAI,EAAE,GAAG,GAAG;AAAA,IACf,UAAA,gBAAA,EAAC,GAAD;AAAA,MAAsB,aAAa;AAAA,MACjC,UAAA,gBAAA,EAAC,GAAD;AAAA,QACE,eAAe;AAAA,QACf,OAAO,EAAK;AAAA,QACZ,UAAU;AAAA,QACV,WAAW;AAAA,UACT,gBAAgB,EACd,IAAI;AAAA,YACF,OAAO;AAAA,YACP,WAAW,EAAE,SAAS,EAAM,EAAM,QAAQ,QAAQ,OAAO,GAAG,EAAE;AAAA,UAChE,EACF;AAAA,UACA,oBAAoB,EAClB,IAAI;AAAA,YACF,OAAO;AAAA,YACP,WAAW,EAAE,SAAS,EAAM,EAAM,QAAQ,QAAQ,OAAO,GAAG,EAAE;AAAA,UAChE,EACF;AAAA,QACF;AAAA,QACA,IAAI;AAAA,UACF,OAAO;AAAA,UACP,4BAA4B;AAAA,YAC1B,OAAO;AAAA,YACP,WAAW,EAAE,SAAS,EAAM,EAAM,QAAQ,QAAQ,OAAO,GAAG,EAAE;AAAA,UAChE;AAAA,QACF;AAAA,QACA,OAAO,IAAe,oBAAI,KAAK,IAAe,GAAI,IAAI;AAAA,MACvD,CAAA;AAAA,IACmB,CAAA;AAAA,EACnB,CAAA;AAET,GAEA,IAAe,EAAS,CAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingCreditScore.es.js","names":[],"sources":["../../../../src/finstrong/components/onboarding/OnboardingCreditScore.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport TextField from '@mui/material/TextField'\n\nimport { useGlobalCopyStore } from '../../../common'\n\ninterface OnboardingCreditScoreProps {\n creditScore: number\n setCreditScore: (value: number) => void\n}\n\nconst OnboardingCreditScore = ({ creditScore, setCreditScore }: OnboardingCreditScoreProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const isValid = !isNaN(creditScore)\n\n return (\n <Box sx={{ p: 24 }}>\n <TextField\n error={!isValid}\n fullWidth={true}\n inputMode=\"numeric\"\n label={copy.credit_score}\n onChange={(e) => setCreditScore(Number(e.target.value))}\n slotProps={{\n htmlInput: {\n noValidate: true,\n pattern: '[0-9]*',\n },\n }}\n value={isValid ? creditScore : ''}\n />\n </Box>\n )\n}\n\nexport default observer(OnboardingCreditScore)\n"],"mappings":";;;;;AAYA,IAAM,IAAA,CAAyB,EAAE,aAAA,GAAa,gBAAA,EAAA,MAAiD;AAC7F,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,IAAU,CAAC,MAAM,CAAW;AAElC,SACE,gBAAA,EAAC,GAAD;AAAA,IAAK,IAAI,EAAE,GAAG,GAAG;AAAA,
|
|
1
|
+
{"version":3,"file":"OnboardingCreditScore.es.js","names":[],"sources":["../../../../src/finstrong/components/onboarding/OnboardingCreditScore.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport TextField from '@mui/material/TextField'\n\nimport { useGlobalCopyStore } from '../../../common'\n\ninterface OnboardingCreditScoreProps {\n creditScore: number\n setCreditScore: (value: number) => void\n}\n\nconst OnboardingCreditScore = ({ creditScore, setCreditScore }: OnboardingCreditScoreProps) => {\n const { finstrong: copy } = useGlobalCopyStore()\n\n const isValid = !isNaN(creditScore)\n\n return (\n <Box sx={{ p: 24 }}>\n <TextField\n error={!isValid}\n fullWidth={true}\n inputMode=\"numeric\"\n label={copy.credit_score}\n onChange={(e) => setCreditScore(Number(e.target.value))}\n slotProps={{\n htmlInput: {\n noValidate: true,\n pattern: '[0-9]*',\n },\n }}\n value={isValid ? creditScore : ''}\n />\n </Box>\n )\n}\n\nexport default observer(OnboardingCreditScore)\n"],"mappings":";;;;;AAYA,IAAM,IAAA,CAAyB,EAAE,aAAA,GAAa,gBAAA,EAAA,MAAiD;AAC7F,QAAM,EAAE,WAAW,EAAA,IAAS,EAAmB,GAEzC,IAAU,CAAC,MAAM,CAAW;AAElC,SACE,gBAAA,EAAC,GAAD;AAAA,IAAK,IAAI,EAAE,GAAG,GAAG;AAAA,IACf,UAAA,gBAAA,EAAC,GAAD;AAAA,MACE,OAAO,CAAC;AAAA,MACR,WAAW;AAAA,MACX,WAAU;AAAA,MACV,OAAO,EAAK;AAAA,MACZ,UAAA,CAAW,MAAM,EAAe,OAAO,EAAE,OAAO,KAAK,CAAC;AAAA,MACtD,WAAW,EACT,WAAW;AAAA,QACT,YAAY;AAAA,QACZ,SAAS;AAAA,MACX,EACF;AAAA,MACA,OAAO,IAAU,IAAc;AAAA,IAChC,CAAA;AAAA,EACE,CAAA;AAET,GAEA,IAAe,EAAS,CAAqB"}
|
|
@@ -4,11 +4,11 @@ import { Frequency as It, RepeatingType as wt } from "../../../core/types/Repeat
|
|
|
4
4
|
import { getNextPaymentDate as Mt } from "../../../core/utils/RecurringTransactionsUtil.es.js";
|
|
5
5
|
import Ot from "../../../common/components/ConnectDrawer.es.js";
|
|
6
6
|
import { incomeFilter as L, incomeFilterSearch as Bt } from "../../../transactions/utils/Filters.es.js";
|
|
7
|
-
import { SelectTransaction as
|
|
7
|
+
import { SelectTransaction as Pt } from "../../../recurringtransactions/components/shared/recurringsettings/SelectTransaction.es.js";
|
|
8
8
|
import "../../constants/index.es.js";
|
|
9
|
-
import
|
|
9
|
+
import Ft from "../../../accounts/components/AccountsListCompact.es.js";
|
|
10
10
|
import { OnboardingSteps as e } from "../../../core/types/Finstrong.es.js";
|
|
11
|
-
import
|
|
11
|
+
import kt from "./OnboardingAddMonthlyIncome.es.js";
|
|
12
12
|
import vt from "./OnboardingBirthday.es.js";
|
|
13
13
|
import Rt from "./OnboardingCreditScore.es.js";
|
|
14
14
|
import Lt from "./OnboardingStepsHeader.es.js";
|
|
@@ -30,7 +30,7 @@ var U = {
|
|
|
30
30
|
step: e.ConnectAccounts,
|
|
31
31
|
type: "main"
|
|
32
32
|
}, Kt = ({ isOpen: N, onClose: q }) => {
|
|
33
|
-
const { visibleAccounts: b } = bt(), { calculateHealthScore: G } = St(), { finstrong: n } = Ct(), { addRepeatingTransaction: H, setDateRange: W } = xt(), { filter: j, setFilter: I, transactions: S } = Tt(), { user: a, userProfile: $, updateUser: w, updateUserProfile: z } = At(), [l, J] = r.useState(a.credit_score || 0), [c, d] = r.useState(U), [C, K] = r.useState(1), [x, Q] = r.useState(It.EveryMonth), [y, M] = r.useState([]), [T, O] = r.useState(!1), [V, B] = r.useState(!1), [f, X] = r.useState(a.birthday), [A, Y] = r.useState(15), [s,
|
|
33
|
+
const { visibleAccounts: b } = bt(), { calculateHealthScore: G } = St(), { finstrong: n } = Ct(), { addRepeatingTransaction: H, setDateRange: W } = xt(), { filter: j, setFilter: I, transactions: S } = Tt(), { user: a, userProfile: $, updateUser: w, updateUserProfile: z } = At(), [l, J] = r.useState(a.credit_score || 0), [c, d] = r.useState(U), [C, K] = r.useState(1), [x, Q] = r.useState(It.EveryMonth), [y, M] = r.useState([]), [T, O] = r.useState(!1), [V, B] = r.useState(!1), [f, X] = r.useState(a.birthday), [A, Y] = r.useState(15), [s, P] = r.useState("");
|
|
34
34
|
r.useEffect(() => {
|
|
35
35
|
W({
|
|
36
36
|
start: Gt(E()),
|
|
@@ -46,7 +46,7 @@ var U = {
|
|
|
46
46
|
custom: L
|
|
47
47
|
});
|
|
48
48
|
}, [b]);
|
|
49
|
-
const
|
|
49
|
+
const F = r.useMemo(() => S.find((t) => t.guid === s), [s, S]), Z = r.useMemo(() => ({
|
|
50
50
|
[e.ConnectAccounts]: !0,
|
|
51
51
|
[e.MonthlyIncome]: !!s,
|
|
52
52
|
[e.Birthday]: !!a.birthday || !!f,
|
|
@@ -74,13 +74,13 @@ var U = {
|
|
|
74
74
|
});
|
|
75
75
|
}, nt = {
|
|
76
76
|
[e.ConnectAccounts]: {
|
|
77
|
-
main: u ? /* @__PURE__ */ i(
|
|
77
|
+
main: u ? /* @__PURE__ */ i(Ft, { shouldShowBalance: !1 }) : null,
|
|
78
78
|
mainActionContent: u ? n.onboarding_next : n.onboarding_add_accounts,
|
|
79
79
|
primaryText: n.connect_your_accounts,
|
|
80
80
|
secondaryText: n.onboarding_connect_your_accounts_secondary
|
|
81
81
|
},
|
|
82
82
|
[e.MonthlyIncome]: {
|
|
83
|
-
detail: /* @__PURE__ */ i(
|
|
83
|
+
detail: /* @__PURE__ */ i(kt, {
|
|
84
84
|
firstDay: C,
|
|
85
85
|
frequency: x,
|
|
86
86
|
incomeTransactions: y,
|
|
@@ -100,16 +100,16 @@ var U = {
|
|
|
100
100
|
setFirstDay: K,
|
|
101
101
|
setFrequency: Q,
|
|
102
102
|
setSecondDay: Y,
|
|
103
|
-
transaction:
|
|
103
|
+
transaction: F
|
|
104
104
|
}),
|
|
105
105
|
detailActionContent: n.onboarding_confirm_income,
|
|
106
|
-
main: /* @__PURE__ */ i(
|
|
106
|
+
main: /* @__PURE__ */ i(Pt, {
|
|
107
107
|
onSearch: et,
|
|
108
108
|
onSelected: (t) => {
|
|
109
109
|
d({
|
|
110
110
|
step: e.MonthlyIncome,
|
|
111
111
|
type: "detail"
|
|
112
|
-
}),
|
|
112
|
+
}), P(t);
|
|
113
113
|
}
|
|
114
114
|
}),
|
|
115
115
|
mainActionContent: n.onboarding_confirm_income,
|
|
@@ -134,13 +134,13 @@ var U = {
|
|
|
134
134
|
primaryText: n.onboarding_credit_score_primary,
|
|
135
135
|
secondaryText: n.onboarding_credit_score_secondary
|
|
136
136
|
}
|
|
137
|
-
},
|
|
138
|
-
d(U), O(!1),
|
|
137
|
+
}, k = () => {
|
|
138
|
+
d(U), O(!1), P(""), q();
|
|
139
139
|
}, v = async () => {
|
|
140
140
|
O(!0), await it(y), await G(), await z({
|
|
141
141
|
...$,
|
|
142
142
|
has_completed_finstrong_onboarding: !0
|
|
143
|
-
}),
|
|
143
|
+
}), k();
|
|
144
144
|
}, ot = () => {
|
|
145
145
|
if (c.step === e.CreditScore) {
|
|
146
146
|
v();
|
|
@@ -167,7 +167,7 @@ var U = {
|
|
|
167
167
|
return;
|
|
168
168
|
case e.MonthlyIncome:
|
|
169
169
|
s && y.findIndex(({ guid: m }) => m === s) === -1 && M((m) => [...m, {
|
|
170
|
-
...
|
|
170
|
+
...F,
|
|
171
171
|
firstDay: C,
|
|
172
172
|
frequency: x,
|
|
173
173
|
secondDay: A
|
|
@@ -178,9 +178,6 @@ var U = {
|
|
|
178
178
|
B(!0);
|
|
179
179
|
return;
|
|
180
180
|
}
|
|
181
|
-
break;
|
|
182
|
-
default:
|
|
183
|
-
break;
|
|
184
181
|
}
|
|
185
182
|
o in e && d({
|
|
186
183
|
step: o,
|
|
@@ -238,7 +235,7 @@ var U = {
|
|
|
238
235
|
hasSecondaryAction: !h,
|
|
239
236
|
isOpen: N,
|
|
240
237
|
isPrimaryDisabled: !Z,
|
|
241
|
-
onClose:
|
|
238
|
+
onClose: k,
|
|
242
239
|
onSecondaryAction: at,
|
|
243
240
|
primaryButtonProps: ct,
|
|
244
241
|
primaryText: _?.mainActionContent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingStepsDrawer.es.js","names":[],"sources":["../../../../src/finstrong/components/onboarding/OnboardingStepsDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { endOfMonth } from 'date-fns/endOfMonth'\nimport { formatISO } from 'date-fns/formatISO'\nimport { fromUnixTime } from 'date-fns/fromUnixTime'\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subDays } from 'date-fns/subDays'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\nimport { H2, P } from '@mxenabled/mxui'\nimport { Add } from '@mxenabled/mx-icons'\n\nimport AccountsListCompact from '../../../accounts/components/AccountsListCompact'\nimport {\n ConnectDrawer,\n Drawer,\n useAccountStore,\n useFinstrongStore,\n useGlobalCopyStore,\n useRecurringTransactionsStore,\n useTransactionStore,\n useUserStore,\n} from '../../../common'\nimport {\n Frequency,\n type RepeatingTransaction,\n RepeatingType,\n type Transaction,\n} from '../../../core'\nimport { OnboardingSteps } from '../../../core/types/Finstrong'\nimport { SelectTransaction } from '../../../recurringtransactions'\nimport { getNextPaymentDate } from '../../../core/utils/RecurringTransactionsUtil'\nimport { incomeFilter, incomeFilterSearch } from '../../../transactions/utils/Filters'\n\nimport { CALCULATING_ANIMATION_URL } from '../../constants'\n\nimport OnboardingAddMonthlyIncome from './OnboardingAddMonthlyIncome'\nimport OnboardingBirthday from './OnboardingBirthday'\nimport OnboardingCreditScore from './OnboardingCreditScore'\nimport OnboardingStepsHeader from './OnboardingStepsHeader'\n\ninterface IncomeTransaction extends Transaction {\n firstDay: number\n frequency: Frequency\n secondDay: number\n}\n\ninterface OnboardingStepsDrawerProps {\n isOpen: boolean\n onClose: () => void\n}\n\ninterface Steps {\n detail?: React.ReactNode\n detailActionContent?: string\n main: React.ReactNode\n mainActionContent: string\n primaryText: string\n secondaryText: string\n}\n\ntype StepType = 'main' | 'detail'\nexport interface StepState {\n step: OnboardingSteps\n type: StepType\n}\n\nconst INITIAL_STEP_STATE: StepState = {\n step: OnboardingSteps.ConnectAccounts,\n type: 'main',\n}\n\nconst OnboardingStepsDrawer = ({ isOpen, onClose }: OnboardingStepsDrawerProps) => {\n const { visibleAccounts: accounts } = useAccountStore()\n const { calculateHealthScore } = useFinstrongStore()\n const { finstrong: copy } = useGlobalCopyStore()\n const { addRepeatingTransaction, setDateRange } = useRecurringTransactionsStore()\n const { filter, setFilter, transactions } = useTransactionStore()\n const { user, userProfile, updateUser, updateUserProfile } = useUserStore()\n\n const [creditScore, setCreditScore] = React.useState<number>(user.credit_score || 0)\n const [currentStep, setCurrentStep] = React.useState<{ step: OnboardingSteps; type: StepType }>(\n INITIAL_STEP_STATE,\n )\n const [firstDay, setFirstDay] = React.useState(1)\n const [frequency, setFrequency] = React.useState(Frequency.EveryMonth)\n const [incomeTransactions, setIncomeTransactions] = React.useState<IncomeTransaction[]>([])\n const [isComplete, setIsComplete] = React.useState(false)\n const [isConnectDrawerOpen, setIsConnectDrawerOpen] = React.useState(false)\n const [selectedDate, setSelectedDate] = React.useState<number | null | undefined>(user.birthday)\n const [secondDay, setSecondDay] = React.useState(15)\n const [transactionGuid, setTransactionGuid] = React.useState('')\n\n React.useEffect(() => {\n setDateRange({ start: startOfMonth(startOfToday()), end: endOfMonth(startOfToday()) })\n }, [])\n\n React.useEffect(() => {\n setFilter({\n accounts: accounts.map((account) => account.guid),\n dateRange: {\n start: subDays(new Date(), 90),\n end: new Date(),\n },\n custom: incomeFilter,\n })\n }, [accounts])\n\n const transaction = React.useMemo(\n () => transactions.find((t) => t.guid === transactionGuid),\n [transactionGuid, transactions],\n )\n\n const isPrimaryActionEnabled = React.useMemo(() => {\n const isValid: Partial<Record<OnboardingSteps, boolean>> = {\n [OnboardingSteps.ConnectAccounts]: true,\n [OnboardingSteps.MonthlyIncome]: !!transactionGuid,\n [OnboardingSteps.Birthday]: !!user.birthday || !!selectedDate,\n [OnboardingSteps.CreditScore]: !!user.credit_score || !!creditScore,\n }\n\n return isValid[currentStep.step]\n }, [creditScore, currentStep, selectedDate, transactionGuid, user])\n\n const hasAccounts = accounts.length > 0\n const progressValue = React.useMemo(() => {\n const { step } = currentStep\n\n let value = 0\n\n if (step >= OnboardingSteps.MonthlyIncome && hasAccounts) value++\n if (step >= OnboardingSteps.Birthday && !!incomeTransactions.length) value++\n if (step >= OnboardingSteps.CreditScore && (user.birthday || user.credit_score)) value++\n\n return value\n }, [currentStep.step, hasAccounts, incomeTransactions.length, user.birthday, user.credit_score])\n\n const handleSelectTransaction = (searchValue: string) => {\n setFilter({\n ...filter,\n custom: (transaction: Transaction) => {\n if (searchValue) return incomeFilterSearch(transaction, searchValue)\n\n return incomeFilter(transaction)\n },\n })\n }\n\n const steps: Partial<Record<OnboardingSteps, Steps>> = {\n [OnboardingSteps.ConnectAccounts]: {\n main: hasAccounts ? <AccountsListCompact shouldShowBalance={false} /> : null,\n mainActionContent: hasAccounts ? copy.onboarding_next : copy.onboarding_add_accounts,\n primaryText: copy.connect_your_accounts,\n secondaryText: copy.onboarding_connect_your_accounts_secondary,\n },\n [OnboardingSteps.MonthlyIncome]: {\n detail: (\n <OnboardingAddMonthlyIncome\n firstDay={firstDay}\n frequency={frequency}\n incomeTransactions={incomeTransactions}\n secondDay={secondDay}\n setCurrentStep={(step) => {\n setCurrentStep(step)\n setIncomeTransactions((prev) => {\n const exists = prev.some((t) => t.guid === transactionGuid)\n if (exists) return prev.filter((t) => t.guid !== transactionGuid)\n\n const newTransaction = transactions.find((t) => t.guid === transactionGuid)\n return newTransaction\n ? [...prev, { ...newTransaction, firstDay, frequency, secondDay }]\n : prev\n })\n }}\n setFirstDay={setFirstDay}\n setFrequency={setFrequency}\n setSecondDay={setSecondDay}\n transaction={transaction!}\n />\n ),\n detailActionContent: copy.onboarding_confirm_income,\n main: (\n <SelectTransaction\n onSearch={handleSelectTransaction}\n onSelected={(guid) => {\n setCurrentStep({ step: OnboardingSteps.MonthlyIncome, type: 'detail' })\n setTransactionGuid(guid)\n }}\n />\n ),\n mainActionContent: copy.onboarding_confirm_income,\n primaryText: copy.onboarding_add_income_primary,\n secondaryText: copy.onboarding_add_income_secondary,\n },\n [OnboardingSteps.Birthday]: {\n main: <OnboardingBirthday selectedDate={selectedDate} setSelectedDate={setSelectedDate} />,\n mainActionContent: copy.onboarding_next,\n primaryText: copy.onboarding_birthday_primary,\n secondaryText: copy.onboarding_birthday_secondary,\n },\n [OnboardingSteps.CreditScore]: {\n main: <OnboardingCreditScore creditScore={creditScore} setCreditScore={setCreditScore} />,\n mainActionContent: copy.onboarding_next,\n primaryText: copy.onboarding_credit_score_primary,\n secondaryText: copy.onboarding_credit_score_secondary,\n },\n }\n\n const handleClose = () => {\n setCurrentStep(INITIAL_STEP_STATE)\n setIsComplete(false)\n setTransactionGuid('')\n\n onClose()\n }\n\n const handleComplete = async () => {\n setIsComplete(true)\n\n await addRecurringIncome(incomeTransactions)\n await calculateHealthScore()\n await updateUserProfile({ ...userProfile, has_completed_finstrong_onboarding: true })\n\n handleClose()\n }\n\n const handleDoItLater = () => {\n if (currentStep.step === OnboardingSteps.CreditScore) {\n handleComplete()\n return\n }\n\n setCurrentStep({ step: currentStep.step + 1, type: 'main' })\n }\n\n const handlePrimaryAction = () => {\n const { step } = currentStep\n const nextStep = step + 1\n\n switch (step) {\n case OnboardingSteps.Birthday:\n if (selectedDate && selectedDate !== user.birthday) {\n updateUser({ ...user, birthday: selectedDate })\n }\n break\n\n case OnboardingSteps.CreditScore:\n if (creditScore && creditScore !== user.credit_score) {\n updateUser({ ...user, credit_score: creditScore })\n }\n handleComplete()\n return\n\n case OnboardingSteps.MonthlyIncome:\n if (\n transactionGuid &&\n incomeTransactions.findIndex(({ guid }) => guid === transactionGuid) === -1\n ) {\n setIncomeTransactions((prev) => [\n ...prev,\n { ...transaction!, firstDay, frequency, secondDay },\n ])\n }\n break\n\n case OnboardingSteps.ConnectAccounts:\n if (!hasAccounts) {\n setIsConnectDrawerOpen(true)\n return\n }\n break\n\n default:\n break\n }\n\n if (nextStep in OnboardingSteps) setCurrentStep({ step: nextStep, type: 'main' })\n }\n\n const handleSecondaryAction = () => {\n const { step, type } = currentStep\n\n if (type === 'detail') {\n setCurrentStep({ step, type: 'main' })\n return\n }\n\n if (step === OnboardingSteps.Birthday && incomeTransactions.length) {\n setCurrentStep({ step: step - 1, type: 'detail' })\n return\n }\n\n if (step > OnboardingSteps.ConnectAccounts) setCurrentStep({ step: step - 1, type: 'main' })\n }\n\n const addRecurringIncome = async (transactions: IncomeTransaction[]) => {\n for (const t of transactions) {\n const {\n account_guid,\n amount,\n date,\n description,\n feed_description,\n firstDay,\n frequency,\n secondDay,\n merchant_guid,\n payee,\n transaction_type,\n } = t\n\n const nextDate = getNextPaymentDate(frequency, fromUnixTime(date))\n\n const repeatingTransaction = {\n account_guid,\n amount,\n created_by: 0,\n description: payee || description || feed_description,\n merchant_guid,\n predicted_occurs_on: formatISO(nextDate, { representation: 'date' }),\n recurrence_day: firstDay,\n recurrence_type: frequency,\n repeating_transaction_type: RepeatingType.Income,\n second_recurrence_day: secondDay,\n transaction_type,\n user_guid: user.guid,\n } as RepeatingTransaction\n\n await addRepeatingTransaction(repeatingTransaction, t)\n }\n }\n\n const currentStepData = steps[currentStep.step]\n const isConnectAccountsStep = currentStep.step === OnboardingSteps.ConnectAccounts\n const primaryButtonProps = {\n fullWidth: true,\n ...(isConnectAccountsStep && !hasAccounts && { startIcon: <Add /> }),\n }\n const showDoItLaterButton = !isConnectAccountsStep || (isConnectAccountsStep && !hasAccounts)\n\n return (\n <React.Fragment>\n <Drawer\n footerStyles={{ borderTop: 1, borderColor: 'divider', px: 24, py: 16 }}\n hasSecondaryAction={!isConnectAccountsStep}\n isOpen={isOpen}\n isPrimaryDisabled={!isPrimaryActionEnabled}\n onClose={handleClose}\n onSecondaryAction={handleSecondaryAction}\n primaryButtonProps={primaryButtonProps}\n primaryText={currentStepData?.mainActionContent}\n secondaryColor=\"primary\"\n secondaryText={copy.onboarding_back}\n title={copy.title}\n {...(!isComplete && { onPrimaryAction: handlePrimaryAction })}\n >\n <Stack sx={{ bgcolor: 'background.default', height: '100%' }}>\n {isComplete && (\n <Stack sx={{ alignItems: 'center', gap: 24, position: 'relative', px: 16, top: 126 }}>\n <img alt=\"\" src={CALCULATING_ANIMATION_URL} style={{ minHeight: 100, width: 211 }} />\n <H2>{copy.onboarding_calculate_primary}</H2>\n <P sx={{ textAlign: 'center' }} variant=\"subtitle1\">\n {copy.onboarding_calculate_secondary}\n </P>\n </Stack>\n )}\n {currentStepData && !isComplete && (\n <React.Fragment>\n <OnboardingStepsHeader\n completeCopy={copy.complete}\n primaryText={currentStepData.primaryText}\n secondaryText={currentStepData.secondaryText}\n value={progressValue}\n />\n {currentStep.type === 'main' && (\n <Box sx={{ bgcolor: 'background.default' }}>\n {currentStepData.main}\n {showDoItLaterButton && (\n <Stack sx={{ alignItems: 'center', px: 24, py: 12 }}>\n <Button fullWidth={true} onClick={handleDoItLater}>\n {copy.onboarding_do_it_later}\n </Button>\n </Stack>\n )}\n </Box>\n )}\n {currentStep.type === 'detail' && currentStepData.detail}\n </React.Fragment>\n )}\n </Stack>\n </Drawer>\n\n <ConnectDrawer\n onClose={() => setIsConnectDrawerOpen(false)}\n showConnectWidget={isConnectDrawerOpen}\n title={copy.connect_more_accounts_button}\n />\n </React.Fragment>\n )\n}\n\nexport default observer(OnboardingStepsDrawer)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OnboardingStepsDrawer.es.js","names":[],"sources":["../../../../src/finstrong/components/onboarding/OnboardingStepsDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { endOfMonth } from 'date-fns/endOfMonth'\nimport { formatISO } from 'date-fns/formatISO'\nimport { fromUnixTime } from 'date-fns/fromUnixTime'\nimport { startOfMonth } from 'date-fns/startOfMonth'\nimport { startOfToday } from 'date-fns/startOfToday'\nimport { subDays } from 'date-fns/subDays'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\n\nimport { H2, P } from '@mxenabled/mxui'\nimport { Add } from '@mxenabled/mx-icons'\n\nimport AccountsListCompact from '../../../accounts/components/AccountsListCompact'\nimport {\n ConnectDrawer,\n Drawer,\n useAccountStore,\n useFinstrongStore,\n useGlobalCopyStore,\n useRecurringTransactionsStore,\n useTransactionStore,\n useUserStore,\n} from '../../../common'\nimport {\n Frequency,\n type RepeatingTransaction,\n RepeatingType,\n type Transaction,\n} from '../../../core'\nimport { OnboardingSteps } from '../../../core/types/Finstrong'\nimport { SelectTransaction } from '../../../recurringtransactions'\nimport { getNextPaymentDate } from '../../../core/utils/RecurringTransactionsUtil'\nimport { incomeFilter, incomeFilterSearch } from '../../../transactions/utils/Filters'\n\nimport { CALCULATING_ANIMATION_URL } from '../../constants'\n\nimport OnboardingAddMonthlyIncome from './OnboardingAddMonthlyIncome'\nimport OnboardingBirthday from './OnboardingBirthday'\nimport OnboardingCreditScore from './OnboardingCreditScore'\nimport OnboardingStepsHeader from './OnboardingStepsHeader'\n\ninterface IncomeTransaction extends Transaction {\n firstDay: number\n frequency: Frequency\n secondDay: number\n}\n\ninterface OnboardingStepsDrawerProps {\n isOpen: boolean\n onClose: () => void\n}\n\ninterface Steps {\n detail?: React.ReactNode\n detailActionContent?: string\n main: React.ReactNode\n mainActionContent: string\n primaryText: string\n secondaryText: string\n}\n\ntype StepType = 'main' | 'detail'\nexport interface StepState {\n step: OnboardingSteps\n type: StepType\n}\n\nconst INITIAL_STEP_STATE: StepState = {\n step: OnboardingSteps.ConnectAccounts,\n type: 'main',\n}\n\nconst OnboardingStepsDrawer = ({ isOpen, onClose }: OnboardingStepsDrawerProps) => {\n const { visibleAccounts: accounts } = useAccountStore()\n const { calculateHealthScore } = useFinstrongStore()\n const { finstrong: copy } = useGlobalCopyStore()\n const { addRepeatingTransaction, setDateRange } = useRecurringTransactionsStore()\n const { filter, setFilter, transactions } = useTransactionStore()\n const { user, userProfile, updateUser, updateUserProfile } = useUserStore()\n\n const [creditScore, setCreditScore] = React.useState<number>(user.credit_score || 0)\n const [currentStep, setCurrentStep] = React.useState<{ step: OnboardingSteps; type: StepType }>(\n INITIAL_STEP_STATE,\n )\n const [firstDay, setFirstDay] = React.useState(1)\n const [frequency, setFrequency] = React.useState(Frequency.EveryMonth)\n const [incomeTransactions, setIncomeTransactions] = React.useState<IncomeTransaction[]>([])\n const [isComplete, setIsComplete] = React.useState(false)\n const [isConnectDrawerOpen, setIsConnectDrawerOpen] = React.useState(false)\n const [selectedDate, setSelectedDate] = React.useState<number | null | undefined>(user.birthday)\n const [secondDay, setSecondDay] = React.useState(15)\n const [transactionGuid, setTransactionGuid] = React.useState('')\n\n React.useEffect(() => {\n setDateRange({ start: startOfMonth(startOfToday()), end: endOfMonth(startOfToday()) })\n }, [])\n\n React.useEffect(() => {\n setFilter({\n accounts: accounts.map((account) => account.guid),\n dateRange: {\n start: subDays(new Date(), 90),\n end: new Date(),\n },\n custom: incomeFilter,\n })\n }, [accounts])\n\n const transaction = React.useMemo(\n () => transactions.find((t) => t.guid === transactionGuid),\n [transactionGuid, transactions],\n )\n\n const isPrimaryActionEnabled = React.useMemo(() => {\n const isValid: Partial<Record<OnboardingSteps, boolean>> = {\n [OnboardingSteps.ConnectAccounts]: true,\n [OnboardingSteps.MonthlyIncome]: !!transactionGuid,\n [OnboardingSteps.Birthday]: !!user.birthday || !!selectedDate,\n [OnboardingSteps.CreditScore]: !!user.credit_score || !!creditScore,\n }\n\n return isValid[currentStep.step]\n }, [creditScore, currentStep, selectedDate, transactionGuid, user])\n\n const hasAccounts = accounts.length > 0\n const progressValue = React.useMemo(() => {\n const { step } = currentStep\n\n let value = 0\n\n if (step >= OnboardingSteps.MonthlyIncome && hasAccounts) value++\n if (step >= OnboardingSteps.Birthday && !!incomeTransactions.length) value++\n if (step >= OnboardingSteps.CreditScore && (user.birthday || user.credit_score)) value++\n\n return value\n }, [currentStep.step, hasAccounts, incomeTransactions.length, user.birthday, user.credit_score])\n\n const handleSelectTransaction = (searchValue: string) => {\n setFilter({\n ...filter,\n custom: (transaction: Transaction) => {\n if (searchValue) return incomeFilterSearch(transaction, searchValue)\n\n return incomeFilter(transaction)\n },\n })\n }\n\n const steps: Partial<Record<OnboardingSteps, Steps>> = {\n [OnboardingSteps.ConnectAccounts]: {\n main: hasAccounts ? <AccountsListCompact shouldShowBalance={false} /> : null,\n mainActionContent: hasAccounts ? copy.onboarding_next : copy.onboarding_add_accounts,\n primaryText: copy.connect_your_accounts,\n secondaryText: copy.onboarding_connect_your_accounts_secondary,\n },\n [OnboardingSteps.MonthlyIncome]: {\n detail: (\n <OnboardingAddMonthlyIncome\n firstDay={firstDay}\n frequency={frequency}\n incomeTransactions={incomeTransactions}\n secondDay={secondDay}\n setCurrentStep={(step) => {\n setCurrentStep(step)\n setIncomeTransactions((prev) => {\n const exists = prev.some((t) => t.guid === transactionGuid)\n if (exists) return prev.filter((t) => t.guid !== transactionGuid)\n\n const newTransaction = transactions.find((t) => t.guid === transactionGuid)\n return newTransaction\n ? [...prev, { ...newTransaction, firstDay, frequency, secondDay }]\n : prev\n })\n }}\n setFirstDay={setFirstDay}\n setFrequency={setFrequency}\n setSecondDay={setSecondDay}\n transaction={transaction!}\n />\n ),\n detailActionContent: copy.onboarding_confirm_income,\n main: (\n <SelectTransaction\n onSearch={handleSelectTransaction}\n onSelected={(guid) => {\n setCurrentStep({ step: OnboardingSteps.MonthlyIncome, type: 'detail' })\n setTransactionGuid(guid)\n }}\n />\n ),\n mainActionContent: copy.onboarding_confirm_income,\n primaryText: copy.onboarding_add_income_primary,\n secondaryText: copy.onboarding_add_income_secondary,\n },\n [OnboardingSteps.Birthday]: {\n main: <OnboardingBirthday selectedDate={selectedDate} setSelectedDate={setSelectedDate} />,\n mainActionContent: copy.onboarding_next,\n primaryText: copy.onboarding_birthday_primary,\n secondaryText: copy.onboarding_birthday_secondary,\n },\n [OnboardingSteps.CreditScore]: {\n main: <OnboardingCreditScore creditScore={creditScore} setCreditScore={setCreditScore} />,\n mainActionContent: copy.onboarding_next,\n primaryText: copy.onboarding_credit_score_primary,\n secondaryText: copy.onboarding_credit_score_secondary,\n },\n }\n\n const handleClose = () => {\n setCurrentStep(INITIAL_STEP_STATE)\n setIsComplete(false)\n setTransactionGuid('')\n\n onClose()\n }\n\n const handleComplete = async () => {\n setIsComplete(true)\n\n await addRecurringIncome(incomeTransactions)\n await calculateHealthScore()\n await updateUserProfile({ ...userProfile, has_completed_finstrong_onboarding: true })\n\n handleClose()\n }\n\n const handleDoItLater = () => {\n if (currentStep.step === OnboardingSteps.CreditScore) {\n handleComplete()\n return\n }\n\n setCurrentStep({ step: currentStep.step + 1, type: 'main' })\n }\n\n const handlePrimaryAction = () => {\n const { step } = currentStep\n const nextStep = step + 1\n\n switch (step) {\n case OnboardingSteps.Birthday:\n if (selectedDate && selectedDate !== user.birthday) {\n updateUser({ ...user, birthday: selectedDate })\n }\n break\n\n case OnboardingSteps.CreditScore:\n if (creditScore && creditScore !== user.credit_score) {\n updateUser({ ...user, credit_score: creditScore })\n }\n handleComplete()\n return\n\n case OnboardingSteps.MonthlyIncome:\n if (\n transactionGuid &&\n incomeTransactions.findIndex(({ guid }) => guid === transactionGuid) === -1\n ) {\n setIncomeTransactions((prev) => [\n ...prev,\n { ...transaction!, firstDay, frequency, secondDay },\n ])\n }\n break\n\n case OnboardingSteps.ConnectAccounts:\n if (!hasAccounts) {\n setIsConnectDrawerOpen(true)\n return\n }\n break\n\n default:\n break\n }\n\n if (nextStep in OnboardingSteps) setCurrentStep({ step: nextStep, type: 'main' })\n }\n\n const handleSecondaryAction = () => {\n const { step, type } = currentStep\n\n if (type === 'detail') {\n setCurrentStep({ step, type: 'main' })\n return\n }\n\n if (step === OnboardingSteps.Birthday && incomeTransactions.length) {\n setCurrentStep({ step: step - 1, type: 'detail' })\n return\n }\n\n if (step > OnboardingSteps.ConnectAccounts) setCurrentStep({ step: step - 1, type: 'main' })\n }\n\n const addRecurringIncome = async (transactions: IncomeTransaction[]) => {\n for (const t of transactions) {\n const {\n account_guid,\n amount,\n date,\n description,\n feed_description,\n firstDay,\n frequency,\n secondDay,\n merchant_guid,\n payee,\n transaction_type,\n } = t\n\n const nextDate = getNextPaymentDate(frequency, fromUnixTime(date))\n\n const repeatingTransaction = {\n account_guid,\n amount,\n created_by: 0,\n description: payee || description || feed_description,\n merchant_guid,\n predicted_occurs_on: formatISO(nextDate, { representation: 'date' }),\n recurrence_day: firstDay,\n recurrence_type: frequency,\n repeating_transaction_type: RepeatingType.Income,\n second_recurrence_day: secondDay,\n transaction_type,\n user_guid: user.guid,\n } as RepeatingTransaction\n\n await addRepeatingTransaction(repeatingTransaction, t)\n }\n }\n\n const currentStepData = steps[currentStep.step]\n const isConnectAccountsStep = currentStep.step === OnboardingSteps.ConnectAccounts\n const primaryButtonProps = {\n fullWidth: true,\n ...(isConnectAccountsStep && !hasAccounts && { startIcon: <Add /> }),\n }\n const showDoItLaterButton = !isConnectAccountsStep || (isConnectAccountsStep && !hasAccounts)\n\n return (\n <React.Fragment>\n <Drawer\n footerStyles={{ borderTop: 1, borderColor: 'divider', px: 24, py: 16 }}\n hasSecondaryAction={!isConnectAccountsStep}\n isOpen={isOpen}\n isPrimaryDisabled={!isPrimaryActionEnabled}\n onClose={handleClose}\n onSecondaryAction={handleSecondaryAction}\n primaryButtonProps={primaryButtonProps}\n primaryText={currentStepData?.mainActionContent}\n secondaryColor=\"primary\"\n secondaryText={copy.onboarding_back}\n title={copy.title}\n {...(!isComplete && { onPrimaryAction: handlePrimaryAction })}\n >\n <Stack sx={{ bgcolor: 'background.default', height: '100%' }}>\n {isComplete && (\n <Stack sx={{ alignItems: 'center', gap: 24, position: 'relative', px: 16, top: 126 }}>\n <img alt=\"\" src={CALCULATING_ANIMATION_URL} style={{ minHeight: 100, width: 211 }} />\n <H2>{copy.onboarding_calculate_primary}</H2>\n <P sx={{ textAlign: 'center' }} variant=\"subtitle1\">\n {copy.onboarding_calculate_secondary}\n </P>\n </Stack>\n )}\n {currentStepData && !isComplete && (\n <React.Fragment>\n <OnboardingStepsHeader\n completeCopy={copy.complete}\n primaryText={currentStepData.primaryText}\n secondaryText={currentStepData.secondaryText}\n value={progressValue}\n />\n {currentStep.type === 'main' && (\n <Box sx={{ bgcolor: 'background.default' }}>\n {currentStepData.main}\n {showDoItLaterButton && (\n <Stack sx={{ alignItems: 'center', px: 24, py: 12 }}>\n <Button fullWidth={true} onClick={handleDoItLater}>\n {copy.onboarding_do_it_later}\n </Button>\n </Stack>\n )}\n </Box>\n )}\n {currentStep.type === 'detail' && currentStepData.detail}\n </React.Fragment>\n )}\n </Stack>\n </Drawer>\n\n <ConnectDrawer\n onClose={() => setIsConnectDrawerOpen(false)}\n showConnectWidget={isConnectDrawerOpen}\n title={copy.connect_more_accounts_button}\n />\n </React.Fragment>\n )\n}\n\nexport default observer(OnboardingStepsDrawer)\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingStepsHeader.es.js","names":[],"sources":["../../../../src/finstrong/components/onboarding/OnboardingStepsHeader.tsx"],"sourcesContent":["import Stack from '@mui/material/Stack'\n\nimport { H3, P } from '@mxenabled/mxui'\n\nimport ProfileProgressBar from '../ProfileProgressBar'\n\ninterface OnboardingStepsHeaderProps {\n completeCopy: string\n primaryText: string\n secondaryText: string\n value: number\n}\n\nconst OnboardingStepsHeader = ({\n completeCopy,\n primaryText,\n secondaryText,\n value,\n}: OnboardingStepsHeaderProps) => {\n return (\n <Stack sx={{ gap: 20, p: 24 }}>\n <Stack sx={{ gap: 8 }}>\n <H3>{primaryText}</H3>\n <P variant=\"subtitle1\">{secondaryText}</P>\n </Stack>\n <ProfileProgressBar completeCopy={completeCopy} value={value} />\n </Stack>\n )\n}\n\nexport default OnboardingStepsHeader\n"],"mappings":";;;;AAaA,IAAM,IAAA,CAAyB,EAC7B,cAAA,GACA,aAAA,GACA,eAAA,GACA,OAAA,EAAA,MAGE,gBAAA,EAAC,GAAD;AAAA,EAAO,IAAI;AAAA,IAAE,KAAK;AAAA,IAAI,GAAG;AAAA,EAAG;AAAA,
|
|
1
|
+
{"version":3,"file":"OnboardingStepsHeader.es.js","names":[],"sources":["../../../../src/finstrong/components/onboarding/OnboardingStepsHeader.tsx"],"sourcesContent":["import Stack from '@mui/material/Stack'\n\nimport { H3, P } from '@mxenabled/mxui'\n\nimport ProfileProgressBar from '../ProfileProgressBar'\n\ninterface OnboardingStepsHeaderProps {\n completeCopy: string\n primaryText: string\n secondaryText: string\n value: number\n}\n\nconst OnboardingStepsHeader = ({\n completeCopy,\n primaryText,\n secondaryText,\n value,\n}: OnboardingStepsHeaderProps) => {\n return (\n <Stack sx={{ gap: 20, p: 24 }}>\n <Stack sx={{ gap: 8 }}>\n <H3>{primaryText}</H3>\n <P variant=\"subtitle1\">{secondaryText}</P>\n </Stack>\n <ProfileProgressBar completeCopy={completeCopy} value={value} />\n </Stack>\n )\n}\n\nexport default OnboardingStepsHeader\n"],"mappings":";;;;AAaA,IAAM,IAAA,CAAyB,EAC7B,cAAA,GACA,aAAA,GACA,eAAA,GACA,OAAA,EAAA,MAGE,gBAAA,EAAC,GAAD;AAAA,EAAO,IAAI;AAAA,IAAE,KAAK;AAAA,IAAI,GAAG;AAAA,EAAG;AAAA,EAA5B,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI,EAAE,KAAK,EAAE;AAAA,IAApB,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAgB,CAAA,GACrB,gBAAA,EAAC,GAAD;AAAA,MAAG,SAAQ;AAAA,MAAa,UAAA;AAAA,IAAiB,CAAA,CACpC;AAAA,EACP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,IAAkC,cAAA;AAAA,IAAqB,OAAA;AAAA,EAAQ,CAAA,CAC1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayBillsOnTimeDrawerComponent.es.js","names":[],"sources":["../../../../src/finstrong/components/paybillsontime/PayBillsOnTimeDrawerComponent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Card from '@mui/material/Card'\nimport Stack from '@mui/material/Stack'\n\nimport { Cancel, CheckCircle } from '@mxenabled/mx-icons'\nimport { H3, P } from '@mxenabled/mxui'\n\nimport { Loader, useFinstrongStore, useGlobalCopyStore } from '../../../common'\nimport { DATE_FORMATS_INTL, formatDate } from '../../../core/constants'\n\nimport Transactions from '../shared/Transactions'\n\nconst PayBillsOnTimeDrawerComponent = () => {\n const [isLoading, setIsLoading] = React.useState(true)\n\n const {\n finstrong: {\n key_indicators_spend: { pay_bills_on_time_drawer: copy },\n },\n } = useGlobalCopyStore()\n\n const { getSpendingFeeTransactions, allTransactions } = useFinstrongStore()\n\n React.useEffect(() => {\n getSpendingFeeTransactions().finally(() => setIsLoading(false))\n }, [])\n\n if (isLoading) {\n return <Loader />\n }\n\n return (\n <>\n {allTransactions.spendingFee.length === 0 ? (\n <Card\n sx={{\n backgroundColor: 'background.paper',\n pb: 48,\n pt: 32,\n px: 24,\n textAlign: 'center',\n width: '100%',\n }}\n >\n <CheckCircle filled={true} size={48} sx={{ color: 'success.main' }} />\n\n <Stack sx={{ alignItems: 'center', gap: 4, pt: 24 }}>\n <H3>{copy.pay_bills_on_time_zero_fees_title}</H3>\n <P variant=\"subtitle1\">{copy.pay_bills_on_time_zero_fees_description}</P>\n </Stack>\n </Card>\n ) : (\n <Card\n sx={{\n p: 16,\n width: '100%',\n backgroundColor: 'background.paper',\n }}\n >\n <H3 sx={{ textAlign: 'left', pb: 16 }}>{copy.pay_bills_on_time_sticky_fee_count}</H3>\n <Transactions\n amountColor=\"text.primary\"\n amountPosition=\"flex-start\"\n formatDate={(txnDate) =>\n formatDate(new Date(txnDate * 1000), DATE_FORMATS_INTL.MONTH_DAY)\n }\n secondaryIcon={<Cancel color=\"error\" filled={true} size={12} />}\n transactions={allTransactions.spendingFee}\n />\n </Card>\n )}\n </>\n )\n}\nexport default observer(PayBillsOnTimeDrawerComponent)\n"],"mappings":";;;;;;;;;;;AAcA,IAAM,IAAA,MAAsC;AAC1C,QAAM,CAAC,GAAW,CAAA,IAAgB,EAAM,SAAS,EAAI,GAE/C,EACJ,WAAW,EACT,sBAAsB,EAAE,0BAA0B,EAAA,EAAA,EAAA,IAElD,EAAmB,GAEjB,EAAE,4BAAA,GAA4B,iBAAA,EAAA,IAAoB,EAAkB;AAM1E,SAJA,EAAM,UAAA,MAAgB;AACpB,IAAA,EAA2B,EAAE,QAAA,MAAc,EAAa,EAAK,CAAC;AAAA,EAChE,GAAG,CAAC,CAAC,GAED,IACK,gBAAA,EAAC,GAAD,CAAS,CAAA,IAIhB,gBAAA,EAAA,GAAA,EAAA,UACG,EAAgB,YAAY,WAAW,IACtC,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,iBAAiB;AAAA,MACjB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,OAAO;AAAA,IACT;AAAA,
|
|
1
|
+
{"version":3,"file":"PayBillsOnTimeDrawerComponent.es.js","names":[],"sources":["../../../../src/finstrong/components/paybillsontime/PayBillsOnTimeDrawerComponent.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Card from '@mui/material/Card'\nimport Stack from '@mui/material/Stack'\n\nimport { Cancel, CheckCircle } from '@mxenabled/mx-icons'\nimport { H3, P } from '@mxenabled/mxui'\n\nimport { Loader, useFinstrongStore, useGlobalCopyStore } from '../../../common'\nimport { DATE_FORMATS_INTL, formatDate } from '../../../core/constants'\n\nimport Transactions from '../shared/Transactions'\n\nconst PayBillsOnTimeDrawerComponent = () => {\n const [isLoading, setIsLoading] = React.useState(true)\n\n const {\n finstrong: {\n key_indicators_spend: { pay_bills_on_time_drawer: copy },\n },\n } = useGlobalCopyStore()\n\n const { getSpendingFeeTransactions, allTransactions } = useFinstrongStore()\n\n React.useEffect(() => {\n getSpendingFeeTransactions().finally(() => setIsLoading(false))\n }, [])\n\n if (isLoading) {\n return <Loader />\n }\n\n return (\n <>\n {allTransactions.spendingFee.length === 0 ? (\n <Card\n sx={{\n backgroundColor: 'background.paper',\n pb: 48,\n pt: 32,\n px: 24,\n textAlign: 'center',\n width: '100%',\n }}\n >\n <CheckCircle filled={true} size={48} sx={{ color: 'success.main' }} />\n\n <Stack sx={{ alignItems: 'center', gap: 4, pt: 24 }}>\n <H3>{copy.pay_bills_on_time_zero_fees_title}</H3>\n <P variant=\"subtitle1\">{copy.pay_bills_on_time_zero_fees_description}</P>\n </Stack>\n </Card>\n ) : (\n <Card\n sx={{\n p: 16,\n width: '100%',\n backgroundColor: 'background.paper',\n }}\n >\n <H3 sx={{ textAlign: 'left', pb: 16 }}>{copy.pay_bills_on_time_sticky_fee_count}</H3>\n <Transactions\n amountColor=\"text.primary\"\n amountPosition=\"flex-start\"\n formatDate={(txnDate) =>\n formatDate(new Date(txnDate * 1000), DATE_FORMATS_INTL.MONTH_DAY)\n }\n secondaryIcon={<Cancel color=\"error\" filled={true} size={12} />}\n transactions={allTransactions.spendingFee}\n />\n </Card>\n )}\n </>\n )\n}\nexport default observer(PayBillsOnTimeDrawerComponent)\n"],"mappings":";;;;;;;;;;;AAcA,IAAM,IAAA,MAAsC;AAC1C,QAAM,CAAC,GAAW,CAAA,IAAgB,EAAM,SAAS,EAAI,GAE/C,EACJ,WAAW,EACT,sBAAsB,EAAE,0BAA0B,EAAA,EAAA,EAAA,IAElD,EAAmB,GAEjB,EAAE,4BAAA,GAA4B,iBAAA,EAAA,IAAoB,EAAkB;AAM1E,SAJA,EAAM,UAAA,MAAgB;AACpB,IAAA,EAA2B,EAAE,QAAA,MAAc,EAAa,EAAK,CAAC;AAAA,EAChE,GAAG,CAAC,CAAC,GAED,IACK,gBAAA,EAAC,GAAD,CAAS,CAAA,IAIhB,gBAAA,EAAA,GAAA,EAAA,UACG,EAAgB,YAAY,WAAW,IACtC,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,iBAAiB;AAAA,MACjB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,OAAO;AAAA,IACT;AAAA,IARF,UAAA,CAUE,gBAAA,EAAC,GAAD;AAAA,MAAa,QAAQ;AAAA,MAAM,MAAM;AAAA,MAAI,IAAI,EAAE,OAAO,eAAe;AAAA,IAAI,CAAA,GAErE,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,YAAY;AAAA,QAAU,KAAK;AAAA,QAAG,IAAI;AAAA,MAAG;AAAA,MAAlD,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UAAK,EAAK,kCAAsC,CAAA,GAChD,gBAAA,EAAC,GAAD;AAAA,QAAG,SAAQ;AAAA,QAAa,UAAA,EAAK;AAAA,MAA2C,CAAA,CACnE;AAAA,IACH,CAAA,CAAA;AAAA,EAEN,CAAA,IAAA,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,GAAG;AAAA,MACH,OAAO;AAAA,MACP,iBAAiB;AAAA,IACnB;AAAA,IALF,UAAA,CAOE,gBAAA,EAAC,GAAD;AAAA,MAAI,IAAI;AAAA,QAAE,WAAW;AAAA,QAAQ,IAAI;AAAA,MAAG;AAAA,MAAI,UAAA,EAAK;AAAA,IAAuC,CAAA,GACpF,gBAAA,EAAC,GAAD;AAAA,MACE,aAAY;AAAA,MACZ,gBAAe;AAAA,MACf,YAAA,CAAa,MACX,EAAW,oBAAI,KAAK,IAAU,GAAI,GAAG,EAAkB,SAAS;AAAA,MAElE,eAAe,gBAAA,EAAC,GAAD;AAAA,QAAQ,OAAM;AAAA,QAAQ,QAAQ;AAAA,QAAM,MAAM;AAAA,MAAK,CAAA;AAAA,MAC9D,cAAc,EAAgB;AAAA,IAC/B,CAAA,CACG;AAAA,EAER,CAAA,EAAA,CAAA;AAEN,GACA,IAAe,EAAS,CAA6B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayBillsOnTimeStickyComponent.es.js","names":[],"sources":["../../../../src/finstrong/components/paybillsontime/PayBillsOnTimeStickyComponent.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { H2, P } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore, useFinstrongStore } from '../../../common'\n\nimport { getSpendingFeeCountState } from '../../util/finstrongUtils'\n\nimport StatusChip from '../StatusChip'\n\nconst PayBillsOnTimeStickyComponent = () => {\n const { healthScore } = useFinstrongStore()\n const { finstrong: copyContent } = useGlobalCopyStore()\n\n const { key_indicators_spend: spendCopy } = copyContent\n const { pay_bills_on_time_drawer: copy } = spendCopy\n\n const state = getSpendingFeeCountState(healthScore.spending_fee_transaction_count)\n\n return (\n <Stack\n sx={{\n p: 24,\n backgroundColor: 'background.paper',\n borderBottom: '1px solid',\n borderColor: 'divider',\n }}\n >\n <P variant=\"body2\">{copy.pay_bills_on_time_sticky_description}</P>\n <Stack direction=\"row\" sx={{ alignItems: 'center', justifyContent: 'space-between' }}>\n <H2>\n {healthScore.spending_fee_transaction_count} {copy.pay_bills_on_time_sticky_fee_count}\n </H2>\n <StatusChip status={state} />\n </Stack>\n </Stack>\n )\n}\nexport default observer(PayBillsOnTimeStickyComponent)\n"],"mappings":";;;;;;;AAYA,IAAM,IAAA,MAAsC;AAC1C,QAAM,EAAE,aAAA,EAAA,IAAgB,EAAkB,GACpC,EAAE,WAAW,EAAA,IAAgB,EAAmB,GAEhD,EAAE,sBAAsB,EAAA,IAAc,GACtC,EAAE,0BAA0B,EAAA,IAAS,GAErC,IAAQ,EAAyB,EAAY,8BAA8B;AAEjF,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,GAAG;AAAA,MACH,iBAAiB;AAAA,MACjB,cAAc;AAAA,MACd,aAAa;AAAA,IACf;AAAA,
|
|
1
|
+
{"version":3,"file":"PayBillsOnTimeStickyComponent.es.js","names":[],"sources":["../../../../src/finstrong/components/paybillsontime/PayBillsOnTimeStickyComponent.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { H2, P } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore, useFinstrongStore } from '../../../common'\n\nimport { getSpendingFeeCountState } from '../../util/finstrongUtils'\n\nimport StatusChip from '../StatusChip'\n\nconst PayBillsOnTimeStickyComponent = () => {\n const { healthScore } = useFinstrongStore()\n const { finstrong: copyContent } = useGlobalCopyStore()\n\n const { key_indicators_spend: spendCopy } = copyContent\n const { pay_bills_on_time_drawer: copy } = spendCopy\n\n const state = getSpendingFeeCountState(healthScore.spending_fee_transaction_count)\n\n return (\n <Stack\n sx={{\n p: 24,\n backgroundColor: 'background.paper',\n borderBottom: '1px solid',\n borderColor: 'divider',\n }}\n >\n <P variant=\"body2\">{copy.pay_bills_on_time_sticky_description}</P>\n <Stack direction=\"row\" sx={{ alignItems: 'center', justifyContent: 'space-between' }}>\n <H2>\n {healthScore.spending_fee_transaction_count} {copy.pay_bills_on_time_sticky_fee_count}\n </H2>\n <StatusChip status={state} />\n </Stack>\n </Stack>\n )\n}\nexport default observer(PayBillsOnTimeStickyComponent)\n"],"mappings":";;;;;;;AAYA,IAAM,IAAA,MAAsC;AAC1C,QAAM,EAAE,aAAA,EAAA,IAAgB,EAAkB,GACpC,EAAE,WAAW,EAAA,IAAgB,EAAmB,GAEhD,EAAE,sBAAsB,EAAA,IAAc,GACtC,EAAE,0BAA0B,EAAA,IAAS,GAErC,IAAQ,EAAyB,EAAY,8BAA8B;AAEjF,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,GAAG;AAAA,MACH,iBAAiB;AAAA,MACjB,cAAc;AAAA,MACd,aAAa;AAAA,IACf;AAAA,IANF,UAAA,CAQE,gBAAA,EAAC,GAAD;AAAA,MAAG,SAAQ;AAAA,MAAS,UAAA,EAAK;AAAA,IAAwC,CAAA,GACjE,gBAAA,EAAC,GAAD;AAAA,MAAO,WAAU;AAAA,MAAM,IAAI;AAAA,QAAE,YAAY;AAAA,QAAU,gBAAgB;AAAA,MAAgB;AAAA,MAAnF,UAAA,CACE,gBAAA,EAAC,GAAD,EAAA,UAAA;AAAA,QACG,EAAY;AAAA,QAA+B;AAAA,QAAE,EAAK;AAAA,MACjD,EAAA,CAAA,GACJ,gBAAA,EAAC,GAAD,EAAY,QAAQ,EAAQ,CAAA,CACvB;AAAA,IACF,CAAA,CAAA;AAAA;AAEX,GACA,IAAe,EAAS,CAA6B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accounts.es.js","names":[],"sources":["../../../../src/finstrong/components/shared/Accounts.tsx"],"sourcesContent":["import React from 'react'\n\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { InstitutionLogo, P, Text } from '@mxenabled/mxui'\n\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport { useTheme } from '@mui/material/styles'\n\nimport {\n ConnectDrawer,\n Drawer,\n useAppConfig,\n useGlobalCopyStore,\n useGlobalUiStore,\n} from '../../../common'\nimport { type Account, type AccountType } from '../../../core'\n\nimport { getAccountDisplayName } from '../../../common/utils/AccountDisplayName'\nimport { getAccountBalanceDetails } from '../../../accounts'\nimport AccountsListCompact from '../../../accounts/components/AccountsListCompact'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\ninterface AccountsProps {\n loadAccounts: AccountType[]\n loadMoreLabel: string\n}\n\nconst Accounts: React.FC<AccountsProps> = ({ loadAccounts, loadMoreLabel }) => {\n const theme = useTheme()\n const { config } = useAppConfig()\n const { connect: connectCopy, finstrong: copy } = useGlobalCopyStore()\n const { accounts: accountsData } = useGlobalCopyStore()\n const { selectedAccounts } = useGlobalUiStore()\n const [isOpen, setIsOpen] = React.useState(false)\n const [isConnectAccountsOpen, setIsConnectAccountsOpen] = React.useState(false)\n\n const accounts = React.useMemo(\n () =>\n selectedAccounts.filter((account) =>\n loadAccounts ? loadAccounts.includes(account.account_type) : true,\n ),\n [selectedAccounts, loadAccounts],\n )\n\n const displayedAccounts = React.useMemo(() => accounts.slice(0, 3), [accounts])\n\n const getAccountBalance = (account: Account) => {\n const { firstValue: accountBalance } = getAccountBalanceDetails(\n account,\n accountsData,\n config.display_available_balance_in_accounts,\n )\n return accountBalance\n }\n\n return accounts.length >= 1 ? (\n <>\n <Box sx={{ border: `1px solid ${theme.palette.divider}`, borderRadius: 2 }}>\n {displayedAccounts.map((account, index) => (\n <React.Fragment key={account.guid}>\n <ListItem sx={{ px: 24 }}>\n <ListItemAvatar>\n <InstitutionLogo alt=\"MX\" institutionGuid={account.institution_guid ?? ''} />\n </ListItemAvatar>\n <ListItemText\n primary={`${getAccountDisplayName(account, {\n allowNickname: config?.show_account_nicknames_in_master,\n })}\n ${account.account_number ? ` *${account.account_number}` : ''}`}\n slotProps={{ primary: { noWrap: true, pr: 4, variant: 'body1' } }}\n />\n <P bold={true} variant=\"body2\">\n {formatCurrency(getAccountBalance(account), '0,0.00')}\n </P>\n </ListItem>\n {index < displayedAccounts.length - 1 && <Divider variant=\"inset\" />}\n </React.Fragment>\n ))}\n </Box>\n {accounts.length > 3 && (\n <>\n <Box>\n <Button\n endIcon={<ChevronRight />}\n onClick={() => setIsOpen(true)}\n size=\"small\"\n sx={{ my: 0, px: 16, py: 12, width: '100%' }}\n >\n <Text bold={true} variant=\"body1\">\n {accounts.length - 3} {loadMoreLabel}\n </Text>\n </Button>\n </Box>\n <Drawer isOpen={isOpen} onClose={() => setIsOpen(false)} title={copy.accounts}>\n <AccountsListCompact loadAccounts={loadAccounts} />\n </Drawer>\n </>\n )}\n </>\n ) : (\n <>\n <Box>\n <Button\n onClick={() => setIsConnectAccountsOpen(true)}\n size=\"small\"\n sx={{ my: 0, px: 16, py: 12, width: '100%' }}\n variant=\"contained\"\n >\n <Text bold={true} variant=\"body1\">\n {copy.connect_more_accounts_button}\n </Text>\n </Button>\n </Box>\n <ConnectDrawer\n onClose={() => setIsConnectAccountsOpen(false)}\n showConnectWidget={isConnectAccountsOpen}\n title={connectCopy.mini_title}\n />\n </>\n )\n}\n\nexport default observer(Accounts)\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAoCA,IAAM,IAAA,CAAqC,EAAE,cAAA,GAAc,eAAA,EAAA,MAAoB;AAC7E,QAAM,IAAQ,EAAS,GACjB,EAAE,QAAA,EAAA,IAAW,EAAa,GAC1B,EAAE,SAAS,GAAa,WAAW,EAAA,IAAS,EAAmB,GAC/D,EAAE,UAAU,EAAA,IAAiB,EAAmB,GAChD,EAAE,kBAAA,EAAA,IAAqB,EAAiB,GACxC,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAS,EAAK,GAC1C,CAAC,GAAuB,CAAA,IAA4B,EAAM,SAAS,EAAK,GAExE,IAAW,EAAM,QAAA,MAEnB,EAAiB,OAAA,CAAQ,MACvB,IAAe,EAAa,SAAS,EAAQ,YAAY,IAAI,EAC/D,GACF,CAAC,GAAkB,CAAY,CACjC,GAEM,IAAoB,EAAM,QAAA,MAAc,EAAS,MAAM,GAAG,CAAC,GAAG,CAAC,CAAQ,CAAC,GAExE,IAAA,CAAqB,MAAqB;AAC9C,UAAM,EAAE,YAAY,EAAA,IAAmB,EACrC,GACA,GACA,EAAO,qCACT;AACA,WAAO;AAAA,EACT;AAEA,SAAO,EAAS,UAAU,IACxB,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IAAK,IAAI;AAAA,MAAE,QAAQ,aAAa,EAAM,QAAQ,OAAA;AAAA,MAAW,cAAc;AAAA,IAAE;AAAA,
|
|
1
|
+
{"version":3,"file":"Accounts.es.js","names":[],"sources":["../../../../src/finstrong/components/shared/Accounts.tsx"],"sourcesContent":["import React from 'react'\n\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Divider from '@mui/material/Divider'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { InstitutionLogo, P, Text } from '@mxenabled/mxui'\n\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport { useTheme } from '@mui/material/styles'\n\nimport {\n ConnectDrawer,\n Drawer,\n useAppConfig,\n useGlobalCopyStore,\n useGlobalUiStore,\n} from '../../../common'\nimport { type Account, type AccountType } from '../../../core'\n\nimport { getAccountDisplayName } from '../../../common/utils/AccountDisplayName'\nimport { getAccountBalanceDetails } from '../../../accounts'\nimport AccountsListCompact from '../../../accounts/components/AccountsListCompact'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\ninterface AccountsProps {\n loadAccounts: AccountType[]\n loadMoreLabel: string\n}\n\nconst Accounts: React.FC<AccountsProps> = ({ loadAccounts, loadMoreLabel }) => {\n const theme = useTheme()\n const { config } = useAppConfig()\n const { connect: connectCopy, finstrong: copy } = useGlobalCopyStore()\n const { accounts: accountsData } = useGlobalCopyStore()\n const { selectedAccounts } = useGlobalUiStore()\n const [isOpen, setIsOpen] = React.useState(false)\n const [isConnectAccountsOpen, setIsConnectAccountsOpen] = React.useState(false)\n\n const accounts = React.useMemo(\n () =>\n selectedAccounts.filter((account) =>\n loadAccounts ? loadAccounts.includes(account.account_type) : true,\n ),\n [selectedAccounts, loadAccounts],\n )\n\n const displayedAccounts = React.useMemo(() => accounts.slice(0, 3), [accounts])\n\n const getAccountBalance = (account: Account) => {\n const { firstValue: accountBalance } = getAccountBalanceDetails(\n account,\n accountsData,\n config.display_available_balance_in_accounts,\n )\n return accountBalance\n }\n\n return accounts.length >= 1 ? (\n <>\n <Box sx={{ border: `1px solid ${theme.palette.divider}`, borderRadius: 2 }}>\n {displayedAccounts.map((account, index) => (\n <React.Fragment key={account.guid}>\n <ListItem sx={{ px: 24 }}>\n <ListItemAvatar>\n <InstitutionLogo alt=\"MX\" institutionGuid={account.institution_guid ?? ''} />\n </ListItemAvatar>\n <ListItemText\n primary={`${getAccountDisplayName(account, {\n allowNickname: config?.show_account_nicknames_in_master,\n })}\n ${account.account_number ? ` *${account.account_number}` : ''}`}\n slotProps={{ primary: { noWrap: true, pr: 4, variant: 'body1' } }}\n />\n <P bold={true} variant=\"body2\">\n {formatCurrency(getAccountBalance(account), '0,0.00')}\n </P>\n </ListItem>\n {index < displayedAccounts.length - 1 && <Divider variant=\"inset\" />}\n </React.Fragment>\n ))}\n </Box>\n {accounts.length > 3 && (\n <>\n <Box>\n <Button\n endIcon={<ChevronRight />}\n onClick={() => setIsOpen(true)}\n size=\"small\"\n sx={{ my: 0, px: 16, py: 12, width: '100%' }}\n >\n <Text bold={true} variant=\"body1\">\n {accounts.length - 3} {loadMoreLabel}\n </Text>\n </Button>\n </Box>\n <Drawer isOpen={isOpen} onClose={() => setIsOpen(false)} title={copy.accounts}>\n <AccountsListCompact loadAccounts={loadAccounts} />\n </Drawer>\n </>\n )}\n </>\n ) : (\n <>\n <Box>\n <Button\n onClick={() => setIsConnectAccountsOpen(true)}\n size=\"small\"\n sx={{ my: 0, px: 16, py: 12, width: '100%' }}\n variant=\"contained\"\n >\n <Text bold={true} variant=\"body1\">\n {copy.connect_more_accounts_button}\n </Text>\n </Button>\n </Box>\n <ConnectDrawer\n onClose={() => setIsConnectAccountsOpen(false)}\n showConnectWidget={isConnectAccountsOpen}\n title={connectCopy.mini_title}\n />\n </>\n )\n}\n\nexport default observer(Accounts)\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomDoubleBarPlot.es.js","names":[],"sources":["../../../../src/finstrong/components/shared/CustomDoubleBarPlot.tsx"],"sourcesContent":["import React from 'react'\nimport { useTheme } from '@mui/material/styles'\n\nimport { stripChartSlotProps } from '../../../common/components/charts/chartSlotProps'\n\ninterface BarStyleProps extends React.CSSProperties {\n x?: number\n y?: number\n}\n\ninterface CustomDoubleBarPlotProps {\n color: string\n data: DataSet[]\n series: Series\n style: BarStyleProps\n}\n\ninterface Series {\n index: number\n type: number\n}\n\nexport interface DataSet {\n comparison: number\n formattedComparison: string\n formattedMain: string\n label: string\n main: number\n}\n\nexport const CustomDoubleBarPlot = ({\n color,\n data,\n series,\n style,\n ...restProps\n}: CustomDoubleBarPlotProps) => {\n const theme = useTheme()\n const rectRef = React.useRef<SVGRectElement>(null)\n const textRef = React.useRef<SVGTextElement>(null)\n const [barWidth, setBarWidth] = React.useState((style.width as number) || 0)\n\n React.useLayoutEffect(() => {\n setBarWidth((style.width as number) || 0)\n }, [style.width])\n\n React.useLayoutEffect(() => {\n const resizeObserver = new ResizeObserver(() => {\n window.requestAnimationFrame(() => {\n if (rectRef.current) {\n const { width } = rectRef.current.getBoundingClientRect()\n\n const xValue = width / 2\n const textElement = rectRef.current.querySelector('text')\n if (textElement) {\n textElement.setAttribute('transform', `translate(${xValue}, -8)`)\n }\n }\n })\n })\n\n if (rectRef.current) resizeObserver.observe(rectRef.current)\n return () => {\n if (rectRef.current) resizeObserver.unobserve(rectRef.current)\n }\n }, [])\n\n const { formattedComparison, formattedMain } = data[series.index]\n\n const formattedAmount = series.type === 0 ? formattedMain : formattedComparison\n\n const rectStyle = {\n ...style,\n transition: 'all 0.3s ease-in-out',\n }\n\n const textTransform = `translate(${barWidth / 2}, -5)`\n\n return (\n <g>\n <rect
|
|
1
|
+
{"version":3,"file":"CustomDoubleBarPlot.es.js","names":[],"sources":["../../../../src/finstrong/components/shared/CustomDoubleBarPlot.tsx"],"sourcesContent":["import React from 'react'\nimport { useTheme } from '@mui/material/styles'\n\nimport { stripChartSlotProps } from '../../../common/components/charts/chartSlotProps'\n\ninterface BarStyleProps extends React.CSSProperties {\n x?: number\n y?: number\n}\n\ninterface CustomDoubleBarPlotProps {\n color: string\n data: DataSet[]\n series: Series\n style: BarStyleProps\n}\n\ninterface Series {\n index: number\n type: number\n}\n\nexport interface DataSet {\n comparison: number\n formattedComparison: string\n formattedMain: string\n label: string\n main: number\n}\n\nexport const CustomDoubleBarPlot = ({\n color,\n data,\n series,\n style,\n ...restProps\n}: CustomDoubleBarPlotProps) => {\n const theme = useTheme()\n const rectRef = React.useRef<SVGRectElement>(null)\n const textRef = React.useRef<SVGTextElement>(null)\n const [barWidth, setBarWidth] = React.useState((style.width as number) || 0)\n\n React.useLayoutEffect(() => {\n setBarWidth((style.width as number) || 0)\n }, [style.width])\n\n React.useLayoutEffect(() => {\n const resizeObserver = new ResizeObserver(() => {\n window.requestAnimationFrame(() => {\n if (rectRef.current) {\n const { width } = rectRef.current.getBoundingClientRect()\n\n const xValue = width / 2\n const textElement = rectRef.current.querySelector('text')\n if (textElement) {\n textElement.setAttribute('transform', `translate(${xValue}, -8)`)\n }\n }\n })\n })\n\n if (rectRef.current) resizeObserver.observe(rectRef.current)\n return () => {\n if (rectRef.current) resizeObserver.unobserve(rectRef.current)\n }\n }, [])\n\n const { formattedComparison, formattedMain } = data[series.index]\n\n const formattedAmount = series.type === 0 ? formattedMain : formattedComparison\n\n const rectStyle = {\n ...style,\n transition: 'all 0.3s ease-in-out',\n }\n\n const textTransform = `translate(${barWidth / 2}, -5)`\n\n return (\n <g>\n <rect\n {...stripChartSlotProps(restProps)}\n fill={color}\n ref={rectRef}\n rx={2}\n style={rectStyle}\n />\n <text\n fill={theme.palette.text.secondary}\n fontSize={9}\n fontWeight={400}\n ref={textRef}\n style={{ transition: 'transform 0.3s ease-in-out' }}\n textAnchor=\"middle\"\n transform={textTransform}\n x={style.x}\n y={style.y}\n >\n {formattedAmount}\n </text>\n </g>\n )\n}\n"],"mappings":";;;;AA8BA,IAAa,IAAA,CAAuB,EAClC,OAAA,GACA,MAAA,GACA,QAAA,GACA,OAAA,GACA,GAAG,EAAA,MAC2B;AAC9B,QAAM,IAAQ,EAAS,GACjB,IAAU,EAAM,OAAuB,IAAI,GAC3C,IAAU,EAAM,OAAuB,IAAI,GAC3C,CAAC,GAAU,CAAA,IAAe,EAAM,SAAU,EAAM,SAAoB,CAAC;AAE3E,EAAA,EAAM,gBAAA,MAAsB;AAC1B,IAAA,EAAa,EAAM,SAAoB,CAAC;AAAA,EAC1C,GAAG,CAAC,EAAM,KAAK,CAAC,GAEhB,EAAM,gBAAA,MAAsB;AAC1B,UAAM,IAAiB,IAAI,eAAA,MAAqB;AAC9C,aAAO,sBAAA,MAA4B;AACjC,YAAI,EAAQ,SAAS;AACnB,gBAAM,EAAE,OAAA,EAAA,IAAU,EAAQ,QAAQ,sBAAsB,GAElD,IAAS,IAAQ,GACjB,IAAc,EAAQ,QAAQ,cAAc,MAAM;AACxD,UAAI,KACF,EAAY,aAAa,aAAa,aAAa,CAAA,OAAa;AAAA,QAEpE;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,WAAI,EAAQ,WAAS,EAAe,QAAQ,EAAQ,OAAO,GAC3D,MAAa;AACX,MAAI,EAAQ,WAAS,EAAe,UAAU,EAAQ,OAAO;AAAA,IAC/D;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,EAAE,qBAAA,GAAqB,eAAA,EAAA,IAAkB,EAAK,EAAO,KAAA,GAErD,IAAkB,EAAO,SAAS,IAAI,IAAgB,GAEtD,IAAY;AAAA,IAChB,GAAG;AAAA,IACH,YAAY;AAAA,EACd,GAEM,IAAgB,aAAa,IAAW,CAAA;AAE9C,SACE,gBAAA,EAAC,KAAD,EAAA,UAAA,CACE,gBAAA,EAAC,QAAD;AAAA,IACE,GAAI,EAAoB,CAAS;AAAA,IACjC,MAAM;AAAA,IACN,KAAK;AAAA,IACL,IAAI;AAAA,IACJ,OAAO;AAAA,EACR,CAAA,GACD,gBAAA,EAAC,QAAD;AAAA,IACE,MAAM,EAAM,QAAQ,KAAK;AAAA,IACzB,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,OAAO,EAAE,YAAY,6BAA6B;AAAA,IAClD,YAAW;AAAA,IACX,WAAW;AAAA,IACX,GAAG,EAAM;AAAA,IACT,GAAG,EAAM;AAAA,IAER,UAAA;AAAA,EACG,CAAA,CACL,EAAA,CAAA;AAEP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomPieArc.es.js","names":[],"sources":["../../../../src/finstrong/components/shared/CustomPieArc.tsx"],"sourcesContent":["import * as d3 from 'd3'\n\nimport { useTheme } from '@mui/material/styles'\n\nimport type { PieValueType } from '@mui/x-charts'\n\nimport { getFilledArcStartEndAngle, getOutterArcStartEndAngle } from '../../util/finstrongUtils'\n\ninterface CustomPieArcProps {\n dialScoreData: PieValueType[]\n dataIndex: number\n arcStartAngle: number\n totalAngularSpan: number\n centerX: number\n centerY: number\n arcRadius: number\n arcColor?: string\n innerArcRadius: number\n outterArcRadius: number\n unitsPerSegment: number\n progressEndAngle: number\n isFinacialStrengthGraph?: boolean\n}\nexport const CustomPieArc = ({\n dialScoreData,\n dataIndex,\n arcColor,\n arcStartAngle,\n totalAngularSpan,\n centerX,\n centerY,\n arcRadius,\n innerArcRadius,\n outterArcRadius,\n progressEndAngle,\n unitsPerSegment,\n isFinacialStrengthGraph,\n}: CustomPieArcProps) => {\n const theme = useTheme()\n const gradientSteps = [\n { offset: '13.62%', color: theme.palette.chartMono.chartMono2 },\n { offset: '36.67%', color: theme.palette.chartMono.chartMono3 },\n { offset: '59.72%', color: theme.palette.chartMono.chartMono4 },\n { offset: '83.46%', color: theme.palette.chartMono.chartMono5 },\n ]\n\n const [outterArcStartAngle, outterArcEndAngle] = getOutterArcStartEndAngle(\n dialScoreData,\n totalAngularSpan,\n arcStartAngle,\n dataIndex,\n )\n\n const [filledArcStartAngle, filledArcEndAngle] = getFilledArcStartEndAngle(\n outterArcStartAngle,\n outterArcEndAngle,\n dataIndex,\n unitsPerSegment,\n progressEndAngle,\n )\n\n const outerArcGenerator = d3\n .arc()\n .innerRadius(innerArcRadius)\n .outerRadius(outterArcRadius)\n .startAngle(outterArcStartAngle)\n .endAngle(outterArcEndAngle)\n .padAngle(0.02)\n .cornerRadius(8)\n\n const fillArcGenerator = d3\n .arc()\n .innerRadius(innerArcRadius)\n .outerRadius(outterArcRadius)\n .startAngle(filledArcStartAngle)\n .endAngle(filledArcEndAngle)\n .padAngle(0.02)\n .cornerRadius(8)\n\n return (\n <>\n {/* Background segment */}\n <path\n d={outerArcGenerator({} as d3.DefaultArcObject)!}\n fill={isFinacialStrengthGraph ? theme.palette.divider : arcColor}\n />\n\n {/* Progress segment */}\n {isFinacialStrengthGraph && (\n <path d={fillArcGenerator({} as d3.DefaultArcObject)!} fill=\"url(#arcGradient)\" />\n )}\n\n <defs>\n <linearGradient\n gradientTransform={`rotate(5, ${centerX}, ${centerY})`}\n gradientUnits=\"userSpaceOnUse\"\n id=\"arcGradient\"\n x1={centerX + arcRadius * 0.8 * Math.cos(Math.PI / 1.35)}\n x2={centerX - arcRadius * 0.8 * Math.cos(Math.PI / 1.35)}\n y1={centerY + arcRadius * 0.8 * Math.sin(Math.PI / 1.35)}\n y2={centerY - arcRadius * 0.8 * Math.sin(Math.PI / 1.35)}\n >\n {gradientSteps.map((eachStep, index) => (\n <stop key={index} offset={eachStep.offset} stopColor={eachStep.color} />\n ))}\n </linearGradient>\n </defs>\n </>\n )\n}\n"],"mappings":";;;;AAuBA,IAAa,IAAA,CAAgB,EAC3B,eAAA,GACA,WAAA,GACA,UAAA,GACA,eAAA,GACA,kBAAA,GACA,SAAA,GACA,SAAA,GACA,WAAA,GACA,gBAAA,GACA,iBAAA,GACA,kBAAA,GACA,iBAAA,GACA,yBAAA,EAAA,MACuB;AACvB,QAAM,IAAQ,EAAS,GACjB,IAAgB;AAAA,IACpB;AAAA,MAAE,QAAQ;AAAA,MAAU,OAAO,EAAM,QAAQ,UAAU;AAAA,IAAW;AAAA,IAC9D;AAAA,MAAE,QAAQ;AAAA,MAAU,OAAO,EAAM,QAAQ,UAAU;AAAA,IAAW;AAAA,IAC9D;AAAA,MAAE,QAAQ;AAAA,MAAU,OAAO,EAAM,QAAQ,UAAU;AAAA,IAAW;AAAA,IAC9D;AAAA,MAAE,QAAQ;AAAA,MAAU,OAAO,EAAM,QAAQ,UAAU;AAAA,IAAW;AAAA,EAChE,GAEM,CAAC,GAAqB,CAAA,IAAqB,EAC/C,GACA,GACA,GACA,CACF,GAEM,CAAC,GAAqB,CAAA,IAAqB,EAC/C,GACA,GACA,GACA,GACA,CACF,GAEM,IAAoB,EACvB,IAAI,EACJ,YAAY,CAAc,EAC1B,YAAY,CAAe,EAC3B,WAAW,CAAmB,EAC9B,SAAS,CAAiB,EAC1B,SAAS,IAAI,EACb,aAAa,CAAC,GAEX,IAAmB,EACtB,IAAI,EACJ,YAAY,CAAc,EAC1B,YAAY,CAAe,EAC3B,WAAW,CAAmB,EAC9B,SAAS,CAAiB,EAC1B,SAAS,IAAI,EACb,aAAa,CAAC;AAEjB,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA;AAAA,IAEE,gBAAA,EAAC,QAAD;AAAA,MACE,GAAG,EAAkB,CAAC,CAAwB;AAAA,MAC9C,MAAM,IAA0B,EAAM,QAAQ,UAAU;AAAA,IACzD,CAAA;AAAA,IAGA,KACC,gBAAA,EAAC,QAAD;AAAA,MAAM,GAAG,EAAiB,CAAC,CAAwB;AAAA,MAAI,MAAK;AAAA,IAAqB,CAAA;AAAA,IAGnF,gBAAA,EAAC,QAAD,EAAA,UACE,gBAAA,EAAC,kBAAD;AAAA,MACE,mBAAmB,aAAa,CAAA,KAAY,CAAA;AAAA,MAC5C,eAAc;AAAA,MACd,IAAG;AAAA,MACH,IAAI,IAAU,IAAY,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI;AAAA,MACvD,IAAI,IAAU,IAAY,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI;AAAA,MACvD,IAAI,IAAU,IAAY,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI;AAAA,MACvD,IAAI,IAAU,IAAY,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI;AAAA,
|
|
1
|
+
{"version":3,"file":"CustomPieArc.es.js","names":[],"sources":["../../../../src/finstrong/components/shared/CustomPieArc.tsx"],"sourcesContent":["import * as d3 from 'd3'\n\nimport { useTheme } from '@mui/material/styles'\n\nimport type { PieValueType } from '@mui/x-charts'\n\nimport { getFilledArcStartEndAngle, getOutterArcStartEndAngle } from '../../util/finstrongUtils'\n\ninterface CustomPieArcProps {\n dialScoreData: PieValueType[]\n dataIndex: number\n arcStartAngle: number\n totalAngularSpan: number\n centerX: number\n centerY: number\n arcRadius: number\n arcColor?: string\n innerArcRadius: number\n outterArcRadius: number\n unitsPerSegment: number\n progressEndAngle: number\n isFinacialStrengthGraph?: boolean\n}\nexport const CustomPieArc = ({\n dialScoreData,\n dataIndex,\n arcColor,\n arcStartAngle,\n totalAngularSpan,\n centerX,\n centerY,\n arcRadius,\n innerArcRadius,\n outterArcRadius,\n progressEndAngle,\n unitsPerSegment,\n isFinacialStrengthGraph,\n}: CustomPieArcProps) => {\n const theme = useTheme()\n const gradientSteps = [\n { offset: '13.62%', color: theme.palette.chartMono.chartMono2 },\n { offset: '36.67%', color: theme.palette.chartMono.chartMono3 },\n { offset: '59.72%', color: theme.palette.chartMono.chartMono4 },\n { offset: '83.46%', color: theme.palette.chartMono.chartMono5 },\n ]\n\n const [outterArcStartAngle, outterArcEndAngle] = getOutterArcStartEndAngle(\n dialScoreData,\n totalAngularSpan,\n arcStartAngle,\n dataIndex,\n )\n\n const [filledArcStartAngle, filledArcEndAngle] = getFilledArcStartEndAngle(\n outterArcStartAngle,\n outterArcEndAngle,\n dataIndex,\n unitsPerSegment,\n progressEndAngle,\n )\n\n const outerArcGenerator = d3\n .arc()\n .innerRadius(innerArcRadius)\n .outerRadius(outterArcRadius)\n .startAngle(outterArcStartAngle)\n .endAngle(outterArcEndAngle)\n .padAngle(0.02)\n .cornerRadius(8)\n\n const fillArcGenerator = d3\n .arc()\n .innerRadius(innerArcRadius)\n .outerRadius(outterArcRadius)\n .startAngle(filledArcStartAngle)\n .endAngle(filledArcEndAngle)\n .padAngle(0.02)\n .cornerRadius(8)\n\n return (\n <>\n {/* Background segment */}\n <path\n d={outerArcGenerator({} as d3.DefaultArcObject)!}\n fill={isFinacialStrengthGraph ? theme.palette.divider : arcColor}\n />\n\n {/* Progress segment */}\n {isFinacialStrengthGraph && (\n <path d={fillArcGenerator({} as d3.DefaultArcObject)!} fill=\"url(#arcGradient)\" />\n )}\n\n <defs>\n <linearGradient\n gradientTransform={`rotate(5, ${centerX}, ${centerY})`}\n gradientUnits=\"userSpaceOnUse\"\n id=\"arcGradient\"\n x1={centerX + arcRadius * 0.8 * Math.cos(Math.PI / 1.35)}\n x2={centerX - arcRadius * 0.8 * Math.cos(Math.PI / 1.35)}\n y1={centerY + arcRadius * 0.8 * Math.sin(Math.PI / 1.35)}\n y2={centerY - arcRadius * 0.8 * Math.sin(Math.PI / 1.35)}\n >\n {gradientSteps.map((eachStep, index) => (\n <stop key={index} offset={eachStep.offset} stopColor={eachStep.color} />\n ))}\n </linearGradient>\n </defs>\n </>\n )\n}\n"],"mappings":";;;;AAuBA,IAAa,IAAA,CAAgB,EAC3B,eAAA,GACA,WAAA,GACA,UAAA,GACA,eAAA,GACA,kBAAA,GACA,SAAA,GACA,SAAA,GACA,WAAA,GACA,gBAAA,GACA,iBAAA,GACA,kBAAA,GACA,iBAAA,GACA,yBAAA,EAAA,MACuB;AACvB,QAAM,IAAQ,EAAS,GACjB,IAAgB;AAAA,IACpB;AAAA,MAAE,QAAQ;AAAA,MAAU,OAAO,EAAM,QAAQ,UAAU;AAAA,IAAW;AAAA,IAC9D;AAAA,MAAE,QAAQ;AAAA,MAAU,OAAO,EAAM,QAAQ,UAAU;AAAA,IAAW;AAAA,IAC9D;AAAA,MAAE,QAAQ;AAAA,MAAU,OAAO,EAAM,QAAQ,UAAU;AAAA,IAAW;AAAA,IAC9D;AAAA,MAAE,QAAQ;AAAA,MAAU,OAAO,EAAM,QAAQ,UAAU;AAAA,IAAW;AAAA,EAChE,GAEM,CAAC,GAAqB,CAAA,IAAqB,EAC/C,GACA,GACA,GACA,CACF,GAEM,CAAC,GAAqB,CAAA,IAAqB,EAC/C,GACA,GACA,GACA,GACA,CACF,GAEM,IAAoB,EACvB,IAAI,EACJ,YAAY,CAAc,EAC1B,YAAY,CAAe,EAC3B,WAAW,CAAmB,EAC9B,SAAS,CAAiB,EAC1B,SAAS,IAAI,EACb,aAAa,CAAC,GAEX,IAAmB,EACtB,IAAI,EACJ,YAAY,CAAc,EAC1B,YAAY,CAAe,EAC3B,WAAW,CAAmB,EAC9B,SAAS,CAAiB,EAC1B,SAAS,IAAI,EACb,aAAa,CAAC;AAEjB,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA;AAAA,IAEE,gBAAA,EAAC,QAAD;AAAA,MACE,GAAG,EAAkB,CAAC,CAAwB;AAAA,MAC9C,MAAM,IAA0B,EAAM,QAAQ,UAAU;AAAA,IACzD,CAAA;AAAA,IAGA,KACC,gBAAA,EAAC,QAAD;AAAA,MAAM,GAAG,EAAiB,CAAC,CAAwB;AAAA,MAAI,MAAK;AAAA,IAAqB,CAAA;AAAA,IAGnF,gBAAA,EAAC,QAAD,EAAA,UACE,gBAAA,EAAC,kBAAD;AAAA,MACE,mBAAmB,aAAa,CAAA,KAAY,CAAA;AAAA,MAC5C,eAAc;AAAA,MACd,IAAG;AAAA,MACH,IAAI,IAAU,IAAY,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI;AAAA,MACvD,IAAI,IAAU,IAAY,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI;AAAA,MACvD,IAAI,IAAU,IAAY,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI;AAAA,MACvD,IAAI,IAAU,IAAY,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI;AAAA,MAEtD,UAAA,EAAc,IAAA,CAAK,GAAU,MAC5B,gBAAA,EAAC,QAAD;AAAA,QAAkB,QAAQ,EAAS;AAAA,QAAQ,WAAW,EAAS;AAAA,MAAQ,GAA5D,CAA4D,CACxE;AAAA,IACa,CAAA,EACZ,CAAA;AAAA,EACN,EAAA,CAAA;AAEN"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { getMarkerXYCoordinates as
|
|
2
|
-
import { CustomPieArc as
|
|
3
|
-
import
|
|
1
|
+
import { getMarkerXYCoordinates as H, radiansToDegrees as D } from "../../util/finstrongUtils.es.js";
|
|
2
|
+
import { CustomPieArc as q } from "./CustomPieArc.es.js";
|
|
3
|
+
import S from "@mui/material/Stack";
|
|
4
4
|
import { P as c } from "@mxenabled/mxui";
|
|
5
|
-
import { ArrowRightAlt as
|
|
5
|
+
import { ArrowRightAlt as G, TrendingDown as J, TrendingUp as K } from "@mxenabled/mx-icons";
|
|
6
6
|
import { jsx as t, jsxs as k } from "react/jsx-runtime";
|
|
7
|
-
import { useTheme as
|
|
7
|
+
import { useTheme as N } from "@mui/material/styles";
|
|
8
8
|
import p from "@mui/material/Box";
|
|
9
|
-
import { PieChart as
|
|
10
|
-
var
|
|
11
|
-
const
|
|
9
|
+
import { PieChart as O } from "@mui/x-charts/PieChart";
|
|
10
|
+
var it = ({ arcRadius: x = 100, healthScore: n, size: r = "L", dialScoreData: v, minValue: g = 0, maxValue: A = 100, margin: R, markerColor: T, healthScoreStatus: j, footerCenterContent: s, footerLeftContent: M, footerRightContent: b, isFinacialStrengthGraph: y = !1 }) => {
|
|
11
|
+
const F = N(), l = -Math.PI / 1.35, $ = Math.PI / 1.35, w = $ - l, L = w / (A - g), P = l + (n - g) * L + 0.02, W = r !== "SM" ? 0.1 : 0.12, d = x, h = x * (1 - W), i = d * 2, e = i / 2, o = i / 2, X = (h + d) / 2, [f, u] = H(X, P, n !== 25 && n !== 50 && n !== 75 && n !== 100 ? 0 : 0.12), Y = n / 25, a = {
|
|
12
12
|
L: {
|
|
13
13
|
markerSize: 12,
|
|
14
14
|
healthScoreFontSize: 64
|
|
@@ -21,14 +21,14 @@ var nt = ({ arcRadius: x = 100, healthScore: n, size: r = "L", dialScoreData: v,
|
|
|
21
21
|
markerSize: 3,
|
|
22
22
|
healthScoreFontSize: 14
|
|
23
23
|
}
|
|
24
|
-
},
|
|
24
|
+
}, B = {
|
|
25
25
|
top: 0,
|
|
26
26
|
right: 0,
|
|
27
27
|
bottom: 0,
|
|
28
28
|
left: 0,
|
|
29
|
-
...
|
|
30
|
-
},
|
|
31
|
-
return /* @__PURE__ */ k(
|
|
29
|
+
...R
|
|
30
|
+
}, E = s === 0 ? G : J, I = r !== "SM" ? 3 : 1, U = I * 4, m = a[r].markerSize * 2 + U;
|
|
31
|
+
return /* @__PURE__ */ k(S, {
|
|
32
32
|
sx: {
|
|
33
33
|
width: i,
|
|
34
34
|
height: r === "SM" ? i - 7 : i,
|
|
@@ -37,10 +37,10 @@ var nt = ({ arcRadius: x = 100, healthScore: n, size: r = "L", dialScoreData: v,
|
|
|
37
37
|
overflow: "visible"
|
|
38
38
|
},
|
|
39
39
|
children: [
|
|
40
|
-
/* @__PURE__ */ t(
|
|
40
|
+
/* @__PURE__ */ t(O, {
|
|
41
41
|
height: r === "SM" ? i - 7 : i,
|
|
42
42
|
hideLegend: !0,
|
|
43
|
-
margin:
|
|
43
|
+
margin: B,
|
|
44
44
|
series: [{
|
|
45
45
|
data: v,
|
|
46
46
|
innerRadius: h,
|
|
@@ -49,7 +49,7 @@ var nt = ({ arcRadius: x = 100, healthScore: n, size: r = "L", dialScoreData: v,
|
|
|
49
49
|
endAngle: Math.round(D($))
|
|
50
50
|
}],
|
|
51
51
|
skipAnimation: !0,
|
|
52
|
-
slots: { pieArc: (z) => /* @__PURE__ */ t(
|
|
52
|
+
slots: { pieArc: (z) => /* @__PURE__ */ t(q, {
|
|
53
53
|
arcColor: z.color,
|
|
54
54
|
arcRadius: x,
|
|
55
55
|
arcStartAngle: l,
|
|
@@ -62,7 +62,7 @@ var nt = ({ arcRadius: x = 100, healthScore: n, size: r = "L", dialScoreData: v,
|
|
|
62
62
|
outterArcRadius: d,
|
|
63
63
|
progressEndAngle: P,
|
|
64
64
|
totalAngularSpan: w,
|
|
65
|
-
unitsPerSegment:
|
|
65
|
+
unitsPerSegment: Y
|
|
66
66
|
}) },
|
|
67
67
|
sx: { "& path": { stroke: "none" } },
|
|
68
68
|
width: i
|
|
@@ -72,17 +72,17 @@ var nt = ({ arcRadius: x = 100, healthScore: n, size: r = "L", dialScoreData: v,
|
|
|
72
72
|
style: {
|
|
73
73
|
position: "absolute",
|
|
74
74
|
left: e + f - a[r].markerSize - 5,
|
|
75
|
-
top: o +
|
|
75
|
+
top: o + u - a[r].markerSize - 5,
|
|
76
76
|
overflow: "visible"
|
|
77
77
|
},
|
|
78
|
-
viewBox: `${e + f - a[r].markerSize - 5} ${o +
|
|
78
|
+
viewBox: `${e + f - a[r].markerSize - 5} ${o + u - a[r].markerSize - 5} ${m} ${m}`,
|
|
79
79
|
width: m,
|
|
80
80
|
children: /* @__PURE__ */ t("circle", {
|
|
81
81
|
cx: e + f,
|
|
82
|
-
cy: o +
|
|
83
|
-
fill:
|
|
82
|
+
cy: o + u,
|
|
83
|
+
fill: F.palette.common.white,
|
|
84
84
|
r: a[r].markerSize,
|
|
85
|
-
stroke: y ? "url(#arcGradient)" :
|
|
85
|
+
stroke: y ? "url(#arcGradient)" : T,
|
|
86
86
|
strokeWidth: I
|
|
87
87
|
})
|
|
88
88
|
}),
|
|
@@ -94,7 +94,7 @@ var nt = ({ arcRadius: x = 100, healthScore: n, size: r = "L", dialScoreData: v,
|
|
|
94
94
|
transform: "translate(-50%, -50%)",
|
|
95
95
|
textAlign: "center"
|
|
96
96
|
},
|
|
97
|
-
children: /* @__PURE__ */ k(
|
|
97
|
+
children: /* @__PURE__ */ k(S, {
|
|
98
98
|
spacing: 1,
|
|
99
99
|
sx: {
|
|
100
100
|
alignItems: "center",
|
|
@@ -111,7 +111,7 @@ var nt = ({ arcRadius: x = 100, healthScore: n, size: r = "L", dialScoreData: v,
|
|
|
111
111
|
}), r !== "SM" && /* @__PURE__ */ t(c, {
|
|
112
112
|
sx: { fontWeight: 600 },
|
|
113
113
|
variant: r === "L" ? "body1" : "body2",
|
|
114
|
-
children:
|
|
114
|
+
children: j
|
|
115
115
|
})]
|
|
116
116
|
})
|
|
117
117
|
}),
|
|
@@ -123,17 +123,17 @@ var nt = ({ arcRadius: x = 100, healthScore: n, size: r = "L", dialScoreData: v,
|
|
|
123
123
|
transform: "translate(-50%, -50%)",
|
|
124
124
|
textAlign: "center"
|
|
125
125
|
},
|
|
126
|
-
children: typeof s == "number" ? /* @__PURE__ */ k(
|
|
126
|
+
children: typeof s == "number" ? /* @__PURE__ */ k(S, {
|
|
127
127
|
sx: {
|
|
128
128
|
flexDirection: "row",
|
|
129
129
|
alignItems: "center",
|
|
130
130
|
gap: 4,
|
|
131
131
|
mt: 24
|
|
132
132
|
},
|
|
133
|
-
children: [s > 0 ? /* @__PURE__ */ t(
|
|
133
|
+
children: [s > 0 ? /* @__PURE__ */ t(K, {
|
|
134
134
|
size: 16,
|
|
135
135
|
sx: { color: "success.main" }
|
|
136
|
-
}) : /* @__PURE__ */ t(
|
|
136
|
+
}) : /* @__PURE__ */ t(E, {
|
|
137
137
|
size: 16,
|
|
138
138
|
sx: { color: "text.secondary" }
|
|
139
139
|
}), /* @__PURE__ */ t(c, {
|
|
@@ -180,7 +180,7 @@ var nt = ({ arcRadius: x = 100, healthScore: n, size: r = "L", dialScoreData: v,
|
|
|
180
180
|
});
|
|
181
181
|
};
|
|
182
182
|
export {
|
|
183
|
-
|
|
183
|
+
it as DialScoreCard
|
|
184
184
|
};
|
|
185
185
|
|
|
186
186
|
//# sourceMappingURL=DialScoreCard.es.js.map
|