@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":"TagsAction.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiondetails/actions/TagsAction.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Avatar from '@mui/material/Avatar'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport ListItemText from '@mui/material/ListItemText'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Text } from '@mxenabled/mxui'\nimport { Icon } from '@mxenabled/mx-icons'\n\nimport { ANALYTICS_EVENTS, Drawer, useGlobalCopyStore } from '../../../../../common'\n\nimport type { Transaction } from '../../../../../core'\n\nimport { TagManager } from '../../../tagmanager'\nimport { useTransactionsUiStore } from '../../../../context/hooks'\nimport { useEvent, useTransactionStore } from '../../../../../common'\nimport { ON_CLICK_EVENTS } from '../../../../constants/OnClickEvents'\n\ninterface TagsActionProps {\n transaction: Transaction\n}\n\nconst TagsAction: React.FC<TagsActionProps> = ({ transaction }) => {\n const { onEvent } = useEvent()\n const { tags, updateTaggings, updateTransaction } = useTransactionStore()\n const { common: commonCopy, transactions: copy } = useGlobalCopyStore()\n const { updateManualTransaction } = useTransactionsUiStore()\n\n const theme = useTheme()\n\n const [open, setOpen] = React.useState(false)\n const [selectedTags, setSelectedTags] = React.useState<string[]>(transaction.tags)\n\n React.useEffect(() => {\n setSelectedTags(transaction.tags)\n }, [open, transaction])\n\n const handleTagChecked = (guid: string) => {\n const tags = [...selectedTags]\n\n const index = selectedTags.indexOf(guid)\n if (index >= 0) {\n tags.splice(index, 1)\n } else {\n tags.push(guid)\n }\n setSelectedTags(tags)\n }\n\n const handleSave = async () => {\n if (transaction.is_manual && !transaction.guid) {\n updateManualTransaction({ ...transaction, tags: selectedTags })\n setOpen(false)\n return\n }\n\n await updateTaggings(selectedTags, transaction.guid)\n await updateTransaction({ ...transaction, tags: selectedTags })\n onEvent(ANALYTICS_EVENTS.TRANSACTION_DETAILS_CLICK_TAGS, { transaction_guid: transaction.guid })\n setOpen(false)\n }\n\n const tagNames = React.useMemo(\n () =>\n transaction.tags.map(\n (tagGuid, index, selectedTags) =>\n `${tags.find((item) => item.guid === tagGuid)?.name}${\n index < selectedTags.length - 1 ? ' / ' : ''\n }`,\n ),\n [tags, transaction],\n )\n\n const bgColor = theme.palette.mode === 'dark' ? 'grey.800' : 'grey.100'\n\n return (\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton\n onClick={() => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_CLICK)\n setOpen(true)\n }}\n >\n <ListItemAvatar>\n <Avatar sx={{ bgcolor: bgColor }} variant=\"rounded\">\n <Icon name=\"local_offer\" sx={{ color: 'text.primary' }} />\n </Avatar>\n </ListItemAvatar>\n <ListItemText\n primary={copy.tags_title}\n secondary={\n <Text bold={true} sx={{ color: 'text.primary' }} variant=\"body1\">\n {transaction.tags?.length > 0 ? tagNames : copy.tags_desc}\n </Text>\n }\n slotProps={{ primary: { variant: 'caption', fontSize: 11, fontWeight: 'normal' } }}\n />\n <ListItemIcon>\n <Icon name=\"chevron_right\" sx={{ color: 'text.primary' }} />\n </ListItemIcon>\n </ListItemButton>\n\n <Drawer\n ariaLabelClose={commonCopy.close_aria}\n isOpen={open}\n onClose={() => setOpen(false)}\n onPrimaryAction={handleSave}\n primaryText={commonCopy.save_button}\n secondaryText={commonCopy.cancel_button}\n title={copy.tags_title}\n >\n <TagManager onTagChecked={handleTagChecked} selectedTags={selectedTags} />\n </Drawer>\n </ListItem>\n )\n}\n\nexport default observer(TagsAction)\n"],"mappings":";;;;;;;;;;;;;;;;;;AA2BA,IAAM,IAAA,CAAyC,EAAE,aAAA,EAAA,MAAkB;AACjE,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,MAAA,GAAM,gBAAA,GAAgB,mBAAA,EAAA,IAAsB,EAAoB,GAClE,EAAE,QAAQ,GAAY,cAAc,EAAA,IAAS,EAAmB,GAChE,EAAE,yBAAA,EAAA,IAA4B,EAAuB,GAErD,IAAQ,EAAS,GAEjB,CAAC,GAAM,CAAA,IAAW,EAAM,SAAS,EAAK,GACtC,CAAC,GAAc,CAAA,IAAmB,EAAM,SAAmB,EAAY,IAAI;AAEjF,EAAA,EAAM,UAAA,MAAgB;AACpB,IAAA,EAAgB,EAAY,IAAI;AAAA,EAClC,GAAG,CAAC,GAAM,CAAW,CAAC;AAEtB,QAAM,IAAA,CAAoB,MAAiB;AACzC,UAAM,IAAO,CAAC,GAAG,CAAY,GAEvB,IAAQ,EAAa,QAAQ,CAAI;AACvC,IAAI,KAAS,IACX,EAAK,OAAO,GAAO,CAAC,IAEpB,EAAK,KAAK,CAAI,GAEhB,EAAgB,CAAI;AAAA,EACtB,GAEM,IAAa,YAAY;AAC7B,QAAI,EAAY,aAAa,CAAC,EAAY,MAAM;AAC9C,MAAA,EAAwB;AAAA,QAAE,GAAG;AAAA,QAAa,MAAM;AAAA,MAAa,CAAC,GAC9D,EAAQ,EAAK;AACb;AAAA,IACF;AAEA,UAAM,EAAe,GAAc,EAAY,IAAI,GACnD,MAAM,EAAkB;AAAA,MAAE,GAAG;AAAA,MAAa,MAAM;AAAA,IAAa,CAAC,GAC9D,EAAQ,EAAiB,gCAAgC,EAAE,kBAAkB,EAAY,KAAK,CAAC,GAC/F,EAAQ,EAAK;AAAA,EACf,GAEM,IAAW,EAAM,QAAA,MAEnB,EAAY,KAAK,IAAA,CACd,GAAS,GAAO,MACf,GAAG,EAAK,KAAA,CAAM,MAAS,EAAK,SAAS,CAAO,GAAG,IAAA,GAC7C,IAAQ,EAAa,SAAS,IAAI,QAAQ,EAAA,EAEhD,GACF,CAAC,GAAM,CAAW,CACpB;
|
|
1
|
+
{"version":3,"file":"TagsAction.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiondetails/actions/TagsAction.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Avatar from '@mui/material/Avatar'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport ListItemText from '@mui/material/ListItemText'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Text } from '@mxenabled/mxui'\nimport { Icon } from '@mxenabled/mx-icons'\n\nimport { ANALYTICS_EVENTS, Drawer, useGlobalCopyStore } from '../../../../../common'\n\nimport type { Transaction } from '../../../../../core'\n\nimport { TagManager } from '../../../tagmanager'\nimport { useTransactionsUiStore } from '../../../../context/hooks'\nimport { useEvent, useTransactionStore } from '../../../../../common'\nimport { ON_CLICK_EVENTS } from '../../../../constants/OnClickEvents'\n\ninterface TagsActionProps {\n transaction: Transaction\n}\n\nconst TagsAction: React.FC<TagsActionProps> = ({ transaction }) => {\n const { onEvent } = useEvent()\n const { tags, updateTaggings, updateTransaction } = useTransactionStore()\n const { common: commonCopy, transactions: copy } = useGlobalCopyStore()\n const { updateManualTransaction } = useTransactionsUiStore()\n\n const theme = useTheme()\n\n const [open, setOpen] = React.useState(false)\n const [selectedTags, setSelectedTags] = React.useState<string[]>(transaction.tags)\n\n React.useEffect(() => {\n setSelectedTags(transaction.tags)\n }, [open, transaction])\n\n const handleTagChecked = (guid: string) => {\n const tags = [...selectedTags]\n\n const index = selectedTags.indexOf(guid)\n if (index >= 0) {\n tags.splice(index, 1)\n } else {\n tags.push(guid)\n }\n setSelectedTags(tags)\n }\n\n const handleSave = async () => {\n if (transaction.is_manual && !transaction.guid) {\n updateManualTransaction({ ...transaction, tags: selectedTags })\n setOpen(false)\n return\n }\n\n await updateTaggings(selectedTags, transaction.guid)\n await updateTransaction({ ...transaction, tags: selectedTags })\n onEvent(ANALYTICS_EVENTS.TRANSACTION_DETAILS_CLICK_TAGS, { transaction_guid: transaction.guid })\n setOpen(false)\n }\n\n const tagNames = React.useMemo(\n () =>\n transaction.tags.map(\n (tagGuid, index, selectedTags) =>\n `${tags.find((item) => item.guid === tagGuid)?.name}${\n index < selectedTags.length - 1 ? ' / ' : ''\n }`,\n ),\n [tags, transaction],\n )\n\n const bgColor = theme.palette.mode === 'dark' ? 'grey.800' : 'grey.100'\n\n return (\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton\n onClick={() => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_CLICK)\n setOpen(true)\n }}\n >\n <ListItemAvatar>\n <Avatar sx={{ bgcolor: bgColor }} variant=\"rounded\">\n <Icon name=\"local_offer\" sx={{ color: 'text.primary' }} />\n </Avatar>\n </ListItemAvatar>\n <ListItemText\n primary={copy.tags_title}\n secondary={\n <Text bold={true} sx={{ color: 'text.primary' }} variant=\"body1\">\n {transaction.tags?.length > 0 ? tagNames : copy.tags_desc}\n </Text>\n }\n slotProps={{ primary: { variant: 'caption', fontSize: 11, fontWeight: 'normal' } }}\n />\n <ListItemIcon>\n <Icon name=\"chevron_right\" sx={{ color: 'text.primary' }} />\n </ListItemIcon>\n </ListItemButton>\n\n <Drawer\n ariaLabelClose={commonCopy.close_aria}\n isOpen={open}\n onClose={() => setOpen(false)}\n onPrimaryAction={handleSave}\n primaryText={commonCopy.save_button}\n secondaryText={commonCopy.cancel_button}\n title={copy.tags_title}\n >\n <TagManager onTagChecked={handleTagChecked} selectedTags={selectedTags} />\n </Drawer>\n </ListItem>\n )\n}\n\nexport default observer(TagsAction)\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionRow.es.js","names":[],"sources":["../../../../../src/transactions/components/shared/transactionlist/TransactionRow.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemText from '@mui/material/ListItemText'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Icon, MerchantLogo, Text } from '@mxenabled/mxui'\n\nimport { ListItemWrapper, useGlobalCopyStore, useTransactionStore } from '../../../../common'\nimport { Transaction, TransactionType } from '../../../../core'\n\nimport { postInsightOnTransaction } from '../../../../common/utils/PostMessage'\n\nimport { ON_CLICK_EVENTS } from '../../../constants/OnClickEvents'\nimport { useTransactionsUiStore } from '../../../context/hooks'\nimport { formatCurrency } from '../../../../core/utils/NumberFormatting'\n\ninterface TransactionRowProps {\n component?: React.ElementType\n onClick?: (guid: string) => void\n transaction: Transaction\n}\n\nconst TransactionRow: React.FC<TransactionRowProps> = ({ transaction, onClick, component }) => {\n const theme = useTheme()\n const isDarkMode = theme.palette.mode === 'dark'\n\n const { associatedBeats } = useTransactionStore()\n const { expandedSplits } = useTransactionsUiStore()\n const { transactions: copy } = useGlobalCopyStore()\n const { showInsights } = useTransactionsUiStore()\n\n const isCredit = transaction.transaction_type === TransactionType.CREDIT\n\n const beat = React.useMemo(() => {\n return associatedBeats.find((beat) => beat.associated_transaction_guid === transaction.guid)\n }, [associatedBeats, transaction])\n\n const getTransactionStatusIcons = (\n transaction: Transaction,\n isDarkMode: boolean,\n ): React.ReactNode[] => {\n const icons: React.ReactNode[] = []\n\n if (transaction.is_flagged) {\n icons.push(\n <Icon\n fill={true}\n key=\"flag\"\n name=\"flag\"\n size={16}\n sx={{ color: isDarkMode ? 'primary.main' : 'warning.dark' }}\n />,\n )\n }\n\n if (transaction.is_hidden) {\n icons.push(<Icon key=\"hidden\" name=\"visibility_off\" size={16} />)\n }\n\n if (transaction.has_been_split) {\n icons.push(<Icon key=\"split\" name=\"call_split\" size={16} />)\n }\n\n return icons\n }\n\n const getTransactionCategoryText = (transaction: Transaction, copy: any): string => {\n if (transaction.is_hidden) {\n return copy.is_excluded\n }\n\n if (transaction.has_been_split) {\n return copy.split_transaction_category_label\n }\n\n return transaction.category || ''\n }\n\n return (\n //TODO: implement common/components/ListItemRow.tsx\n <ListItemWrapper\n clickEventName={ON_CLICK_EVENTS.ON_TRANSACTION_LIST_ITEM_CLICK}\n {...(component && { component })}\n onClick={onClick ? () => onClick(transaction.guid) : undefined}\n sx={\n transaction.is_hidden ? { backgroundColor: 'grey.50', color: 'text.secondary' } : undefined\n }\n >\n <ListItemAvatar>\n {transaction.parent_guid && expandedSplits.includes(transaction.parent_guid) ? (\n <React.Fragment />\n ) : (\n <MerchantLogo\n categoryGuid={transaction.top_level_category_guid || ''}\n merchantGuid={transaction.merchant_guid || ''}\n />\n )}\n </ListItemAvatar>\n <ListItemText\n disableTypography={true}\n secondary={\n <Stack direction=\"row\" justifyContent=\"space-between\">\n <Stack alignItems=\"center\" direction=\"row\" gap={4}>\n {getTransactionStatusIcons(transaction, isDarkMode)}\n <Text truncate={true} variant=\"caption\">\n {getTransactionCategoryText(transaction, copy)}\n </Text>\n </Stack>\n {beat && showInsights && (\n <Text\n bold={true}\n color=\"action.active\"\n onClick={(e) => {\n e.stopPropagation()\n e.preventDefault()\n\n postInsightOnTransaction(beat.guid)\n }}\n truncate={true}\n variant=\"caption\"\n >\n {beat.short_title}\n </Text>\n )}\n </Stack>\n }\n >\n <Stack direction=\"row\" justifyContent=\"space-between\" sx={{ gap: 8 }}>\n <Text bold={true} truncate={true} variant=\"body1\">\n {transaction.payee || transaction.description || transaction.feed_description}\n </Text>\n <Text\n bold={true}\n color={isCredit ? 'success.main' : 'text.primary'}\n sx={{ flexShrink: 0 }}\n variant=\"body1\"\n >\n {isCredit ? '+' : ''}\n {formatCurrency(transaction.amount, '0,0.00')}\n </Text>\n </Stack>\n </ListItemText>\n </ListItemWrapper>\n )\n}\n\nexport default observer(TransactionRow)\n"],"mappings":";;;;;;;;;;;;;;;AAyBA,IAAM,IAAA,CAAiD,EAAE,aAAA,GAAa,SAAA,GAAS,WAAA,EAAA,MAAgB;AAE7F,QAAM,IADQ,EACK,EAAM,QAAQ,SAAS,QAEpC,EAAE,iBAAA,EAAA,IAAoB,EAAoB,GAC1C,EAAE,gBAAA,EAAA,IAAmB,EAAuB,GAC5C,EAAE,cAAc,EAAA,IAAS,EAAmB,GAC5C,EAAE,cAAA,EAAA,IAAiB,EAAuB,GAE1C,IAAW,EAAY,qBAAqB,EAAgB,QAE5D,IAAO,EAAM,QAAA,MACV,EAAgB,KAAA,CAAM,MAAS,EAAK,gCAAgC,EAAY,IAAI,GAC1F,CAAC,GAAiB,CAAW,CAAC,GAE3B,IAAA,CACJ,GACA,MACsB;AACtB,UAAM,IAA2B,CAAC;AAElC,WAAI,EAAY,cACd,EAAM,KACJ,gBAAA,EAAC,GAAD;AAAA,MACE,MAAM;AAAA,MAEN,MAAK;AAAA,MACL,MAAM;AAAA,MACN,IAAI,EAAE,OAAO,IAAa,iBAAiB,eAAe;AAAA,IAC3D,GAJK,MAIL,CACH,GAGE,EAAY,aACd,EAAM,KAAK,gBAAA,EAAC,GAAD;AAAA,MAAmB,MAAK;AAAA,MAAiB,MAAM;AAAA,IAAK,GAA1C,QAA0C,CAAC,GAG9D,EAAY,kBACd,EAAM,KAAK,gBAAA,EAAC,GAAD;AAAA,MAAkB,MAAK;AAAA,MAAa,MAAM;AAAA,IAAK,GAArC,OAAqC,CAAC,GAGtD;AAAA,EACT,GAEM,IAAA,CAA8B,GAA0B,MACxD,EAAY,YACP,EAAK,cAGV,EAAY,iBACP,EAAK,mCAGP,EAAY,YAAY;AAGjC,SAEE,gBAAA,EAAC,GAAD;AAAA,IACE,gBAAgB,EAAgB;AAAA,IAChC,GAAK,KAAa,EAAE,WAAA,EAAU;AAAA,IAC9B,SAAS,IAAA,MAAgB,EAAQ,EAAY,IAAI,IAAI;AAAA,IACrD,IACE,EAAY,YAAY;AAAA,MAAE,iBAAiB;AAAA,MAAW,OAAO;AAAA,IAAiB,IAAI;AAAA,
|
|
1
|
+
{"version":3,"file":"TransactionRow.es.js","names":[],"sources":["../../../../../src/transactions/components/shared/transactionlist/TransactionRow.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemText from '@mui/material/ListItemText'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Icon, MerchantLogo, Text } from '@mxenabled/mxui'\n\nimport { ListItemWrapper, useGlobalCopyStore, useTransactionStore } from '../../../../common'\nimport { Transaction, TransactionType } from '../../../../core'\n\nimport { postInsightOnTransaction } from '../../../../common/utils/PostMessage'\n\nimport { ON_CLICK_EVENTS } from '../../../constants/OnClickEvents'\nimport { useTransactionsUiStore } from '../../../context/hooks'\nimport { formatCurrency } from '../../../../core/utils/NumberFormatting'\n\ninterface TransactionRowProps {\n component?: React.ElementType\n onClick?: (guid: string) => void\n transaction: Transaction\n}\n\nconst TransactionRow: React.FC<TransactionRowProps> = ({ transaction, onClick, component }) => {\n const theme = useTheme()\n const isDarkMode = theme.palette.mode === 'dark'\n\n const { associatedBeats } = useTransactionStore()\n const { expandedSplits } = useTransactionsUiStore()\n const { transactions: copy } = useGlobalCopyStore()\n const { showInsights } = useTransactionsUiStore()\n\n const isCredit = transaction.transaction_type === TransactionType.CREDIT\n\n const beat = React.useMemo(() => {\n return associatedBeats.find((beat) => beat.associated_transaction_guid === transaction.guid)\n }, [associatedBeats, transaction])\n\n const getTransactionStatusIcons = (\n transaction: Transaction,\n isDarkMode: boolean,\n ): React.ReactNode[] => {\n const icons: React.ReactNode[] = []\n\n if (transaction.is_flagged) {\n icons.push(\n <Icon\n fill={true}\n key=\"flag\"\n name=\"flag\"\n size={16}\n sx={{ color: isDarkMode ? 'primary.main' : 'warning.dark' }}\n />,\n )\n }\n\n if (transaction.is_hidden) {\n icons.push(<Icon key=\"hidden\" name=\"visibility_off\" size={16} />)\n }\n\n if (transaction.has_been_split) {\n icons.push(<Icon key=\"split\" name=\"call_split\" size={16} />)\n }\n\n return icons\n }\n\n const getTransactionCategoryText = (transaction: Transaction, copy: any): string => {\n if (transaction.is_hidden) {\n return copy.is_excluded\n }\n\n if (transaction.has_been_split) {\n return copy.split_transaction_category_label\n }\n\n return transaction.category || ''\n }\n\n return (\n //TODO: implement common/components/ListItemRow.tsx\n <ListItemWrapper\n clickEventName={ON_CLICK_EVENTS.ON_TRANSACTION_LIST_ITEM_CLICK}\n {...(component && { component })}\n onClick={onClick ? () => onClick(transaction.guid) : undefined}\n sx={\n transaction.is_hidden ? { backgroundColor: 'grey.50', color: 'text.secondary' } : undefined\n }\n >\n <ListItemAvatar>\n {transaction.parent_guid && expandedSplits.includes(transaction.parent_guid) ? (\n <React.Fragment />\n ) : (\n <MerchantLogo\n categoryGuid={transaction.top_level_category_guid || ''}\n merchantGuid={transaction.merchant_guid || ''}\n />\n )}\n </ListItemAvatar>\n <ListItemText\n disableTypography={true}\n secondary={\n <Stack direction=\"row\" justifyContent=\"space-between\">\n <Stack alignItems=\"center\" direction=\"row\" gap={4}>\n {getTransactionStatusIcons(transaction, isDarkMode)}\n <Text truncate={true} variant=\"caption\">\n {getTransactionCategoryText(transaction, copy)}\n </Text>\n </Stack>\n {beat && showInsights && (\n <Text\n bold={true}\n color=\"action.active\"\n onClick={(e) => {\n e.stopPropagation()\n e.preventDefault()\n\n postInsightOnTransaction(beat.guid)\n }}\n truncate={true}\n variant=\"caption\"\n >\n {beat.short_title}\n </Text>\n )}\n </Stack>\n }\n >\n <Stack direction=\"row\" justifyContent=\"space-between\" sx={{ gap: 8 }}>\n <Text bold={true} truncate={true} variant=\"body1\">\n {transaction.payee || transaction.description || transaction.feed_description}\n </Text>\n <Text\n bold={true}\n color={isCredit ? 'success.main' : 'text.primary'}\n sx={{ flexShrink: 0 }}\n variant=\"body1\"\n >\n {isCredit ? '+' : ''}\n {formatCurrency(transaction.amount, '0,0.00')}\n </Text>\n </Stack>\n </ListItemText>\n </ListItemWrapper>\n )\n}\n\nexport default observer(TransactionRow)\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZeroState.es.js","names":[],"sources":["../../../../../src/transactions/components/shared/transactionlist/ZeroState.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { Receipt as ReceiptOutlinedIcon } from '@mxenabled/mx-icons'\n\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../../../common'\n\ninterface ZeroStateProps {\n showIcon?: boolean\n showSubtitle?: boolean\n}\n\nconst ZeroState: React.FC<ZeroStateProps> = ({ showIcon = true, showSubtitle = true }) => {\n const { transactions: copy } = useGlobalCopyStore()\n\n return (\n <Stack alignItems=\"center\" gap={12} height=\"auto\" mb={24} mt={24}>\n {showIcon && <ReceiptOutlinedIcon color=\"action\" sx={{ fontSize: 32 }} />}\n <Text bold={true} color=\"text.secondary\" variant=\"body2\">\n {copy.zero_state_no_transactions}\n </Text>\n {showSubtitle && (\n <Text color=\"text.secondary\" variant=\"caption\">\n {copy.zero_state_there_are_no_transactions}\n </Text>\n )}\n </Stack>\n )\n}\n\nexport default observer(ZeroState)\n"],"mappings":";;;;;;;AAgBA,IAAM,IAAA,CAAuC,EAAE,UAAA,IAAW,IAAM,cAAA,IAAe,GAAA,MAAW;AACxF,QAAM,EAAE,cAAc,EAAA,IAAS,EAAmB;AAElD,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,YAAW;AAAA,IAAS,KAAK;AAAA,IAAI,QAAO;AAAA,IAAO,IAAI;AAAA,IAAI,IAAI;AAAA,
|
|
1
|
+
{"version":3,"file":"ZeroState.es.js","names":[],"sources":["../../../../../src/transactions/components/shared/transactionlist/ZeroState.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { Receipt as ReceiptOutlinedIcon } from '@mxenabled/mx-icons'\n\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../../../common'\n\ninterface ZeroStateProps {\n showIcon?: boolean\n showSubtitle?: boolean\n}\n\nconst ZeroState: React.FC<ZeroStateProps> = ({ showIcon = true, showSubtitle = true }) => {\n const { transactions: copy } = useGlobalCopyStore()\n\n return (\n <Stack alignItems=\"center\" gap={12} height=\"auto\" mb={24} mt={24}>\n {showIcon && <ReceiptOutlinedIcon color=\"action\" sx={{ fontSize: 32 }} />}\n <Text bold={true} color=\"text.secondary\" variant=\"body2\">\n {copy.zero_state_no_transactions}\n </Text>\n {showSubtitle && (\n <Text color=\"text.secondary\" variant=\"caption\">\n {copy.zero_state_there_are_no_transactions}\n </Text>\n )}\n </Stack>\n )\n}\n\nexport default observer(ZeroState)\n"],"mappings":";;;;;;;AAgBA,IAAM,IAAA,CAAuC,EAAE,UAAA,IAAW,IAAM,cAAA,IAAe,GAAA,MAAW;AACxF,QAAM,EAAE,cAAc,EAAA,IAAS,EAAmB;AAElD,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,YAAW;AAAA,IAAS,KAAK;AAAA,IAAI,QAAO;AAAA,IAAO,IAAI;AAAA,IAAI,IAAI;AAAA,IAA9D,UAAA;AAAA,MACG,KAAY,gBAAA,EAAC,GAAD;AAAA,QAAqB,OAAM;AAAA,QAAS,IAAI,EAAE,UAAU,GAAG;AAAA,MAAI,CAAA;AAAA,MACxE,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAM,OAAM;AAAA,QAAiB,SAAQ;AAAA,QAC9C,UAAA,EAAK;AAAA,MACF,CAAA;AAAA,MACL,KACC,gBAAA,EAAC,GAAD;AAAA,QAAM,OAAM;AAAA,QAAiB,SAAQ;AAAA,QAClC,UAAA,EAAK;AAAA,MACF,CAAA;AAAA,IAEH;AAAA;AAEX,GAEA,IAAe,EAAS,CAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/AccountCell.tsx"],"sourcesContent":["import { GridCellParams } from '@mui/x-data-grid'\n\nimport { Text } from '@mxenabled/mxui'\n\nconst AccountCell = (params: GridCellParams) => (\n <Text tabIndex={params.tabIndex} variant=\"body2\">\n {`${params.row.account}`}\n {params.row.number && ` | ${params.row.number}`}\n </Text>\n)\n\nexport default AccountCell\n"],"mappings":";;AAIA,IAAM,IAAA,CAAe,MACnB,gBAAA,EAAC,GAAD;AAAA,EAAM,UAAU,EAAO;AAAA,EAAU,SAAQ;AAAA,
|
|
1
|
+
{"version":3,"file":"AccountCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/AccountCell.tsx"],"sourcesContent":["import { GridCellParams } from '@mui/x-data-grid'\n\nimport { Text } from '@mxenabled/mxui'\n\nconst AccountCell = (params: GridCellParams) => (\n <Text tabIndex={params.tabIndex} variant=\"body2\">\n {`${params.row.account}`}\n {params.row.number && ` | ${params.row.number}`}\n </Text>\n)\n\nexport default AccountCell\n"],"mappings":";;AAIA,IAAM,IAAA,CAAe,MACnB,gBAAA,EAAC,GAAD;AAAA,EAAM,UAAU,EAAO;AAAA,EAAU,SAAQ;AAAA,EAAzC,UAAA,CACG,GAAG,EAAO,IAAI,OAAA,IACd,EAAO,IAAI,UAAU,MAAM,EAAO,IAAI,MAAA,EACnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmountCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/AmountCell.tsx"],"sourcesContent":["import Stack from '@mui/material/Stack'\n\nimport { GridCellParams } from '@mui/x-data-grid'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useTransactionStore } from '../../../../../common'\nimport { TransactionType } from '../../../../../core'\n\nimport { useTransactionsUiStore } from '../../../../context/hooks'\nimport { formatCurrency } from '../../../../../core/utils/NumberFormatting'\n\nconst AmountCell = (params: GridCellParams) => {\n const { associatedBeats } = useTransactionStore()\n const { showInsights } = useTransactionsUiStore()\n\n const { amount, transaction_type } = params.row\n const beat = associatedBeats.find((beat) => beat.associated_transaction_guid === params.row.guid)\n\n const isCredit = transaction_type === TransactionType.CREDIT\n\n return (\n <Stack alignItems=\"flex-end\" tabIndex={params.tabIndex}>\n <Text bold={isCredit} color={isCredit ? 'success.main' : 'text.primary'} variant=\"body2\">\n {isCredit ? '+' : ''}\n {formatCurrency(amount, '0,0.00')}\n </Text>\n {beat && showInsights && (\n <Text bold={true} color=\"primary.light\" variant=\"caption\">\n {beat.short_title}\n </Text>\n )}\n </Stack>\n )\n}\n\nexport default AmountCell\n"],"mappings":";;;;;;;AAYA,IAAM,IAAA,CAAc,MAA2B;AAC7C,QAAM,EAAE,iBAAA,EAAA,IAAoB,EAAoB,GAC1C,EAAE,cAAA,EAAA,IAAiB,EAAuB,GAE1C,EAAE,QAAA,GAAQ,kBAAA,EAAA,IAAqB,EAAO,KACtC,IAAO,EAAgB,KAAA,CAAM,MAAS,EAAK,gCAAgC,EAAO,IAAI,IAAI,GAE1F,IAAW,MAAqB,EAAgB;AAEtD,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,YAAW;AAAA,IAAW,UAAU,EAAO;AAAA,
|
|
1
|
+
{"version":3,"file":"AmountCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/AmountCell.tsx"],"sourcesContent":["import Stack from '@mui/material/Stack'\n\nimport { GridCellParams } from '@mui/x-data-grid'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { useTransactionStore } from '../../../../../common'\nimport { TransactionType } from '../../../../../core'\n\nimport { useTransactionsUiStore } from '../../../../context/hooks'\nimport { formatCurrency } from '../../../../../core/utils/NumberFormatting'\n\nconst AmountCell = (params: GridCellParams) => {\n const { associatedBeats } = useTransactionStore()\n const { showInsights } = useTransactionsUiStore()\n\n const { amount, transaction_type } = params.row\n const beat = associatedBeats.find((beat) => beat.associated_transaction_guid === params.row.guid)\n\n const isCredit = transaction_type === TransactionType.CREDIT\n\n return (\n <Stack alignItems=\"flex-end\" tabIndex={params.tabIndex}>\n <Text bold={isCredit} color={isCredit ? 'success.main' : 'text.primary'} variant=\"body2\">\n {isCredit ? '+' : ''}\n {formatCurrency(amount, '0,0.00')}\n </Text>\n {beat && showInsights && (\n <Text bold={true} color=\"primary.light\" variant=\"caption\">\n {beat.short_title}\n </Text>\n )}\n </Stack>\n )\n}\n\nexport default AmountCell\n"],"mappings":";;;;;;;AAYA,IAAM,IAAA,CAAc,MAA2B;AAC7C,QAAM,EAAE,iBAAA,EAAA,IAAoB,EAAoB,GAC1C,EAAE,cAAA,EAAA,IAAiB,EAAuB,GAE1C,EAAE,QAAA,GAAQ,kBAAA,EAAA,IAAqB,EAAO,KACtC,IAAO,EAAgB,KAAA,CAAM,MAAS,EAAK,gCAAgC,EAAO,IAAI,IAAI,GAE1F,IAAW,MAAqB,EAAgB;AAEtD,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,YAAW;AAAA,IAAW,UAAU,EAAO;AAAA,IAA9C,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MAAM,MAAM;AAAA,MAAU,OAAO,IAAW,iBAAiB;AAAA,MAAgB,SAAQ;AAAA,MAAjF,UAAA,CACG,IAAW,MAAM,IACjB,EAAe,GAAQ,QAAQ,CAC5B;AAAA,IACL,CAAA,GAAA,KAAQ,KACP,gBAAA,EAAC,GAAD;AAAA,MAAM,MAAM;AAAA,MAAM,OAAM;AAAA,MAAgB,SAAQ;AAAA,MAC7C,UAAA,EAAK;AAAA,IACF,CAAA,CAEH;AAAA;AAEX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CategoryCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/CategoryCell.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { GridCellParams } from '@mui/x-data-grid-pro'\n\nimport { Icon, Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../../../../common'\n\nconst CategoryCell = (params: GridCellParams) => {\n const { transactions: copy } = useGlobalCopyStore()\n const [isHover, setIsHover] = React.useState(false)\n\n return (\n <Stack\n alignItems=\"center\"\n direction=\"row\"\n gap={8}\n height=\"100%\"\n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}\n width=\"100%\"\n >\n {params.row.has_been_split && <Icon name=\"call_split\" size={16} />}\n <Text tabIndex={params.tabIndex} variant=\"body2\">\n {params.row.has_been_split ? copy.split_transaction_category_label : params.row.category}\n </Text>\n {!params.row.has_been_split && isHover && (\n <Icon name=\"edit\" sx={{ color: 'action.active' }} />\n )}\n </Stack>\n )\n}\n\nexport default observer(CategoryCell)\n"],"mappings":";;;;;;AAWA,IAAM,IAAA,CAAgB,MAA2B;AAC/C,QAAM,EAAE,cAAc,EAAA,IAAS,EAAmB,GAC5C,CAAC,GAAS,CAAA,IAAc,EAAM,SAAS,EAAK;AAElD,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,YAAW;AAAA,IACX,WAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAO;AAAA,IACP,cAAA,MAAoB,EAAW,EAAI;AAAA,IACnC,cAAA,MAAoB,EAAW,EAAK;AAAA,IACpC,OAAM;AAAA,
|
|
1
|
+
{"version":3,"file":"CategoryCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/CategoryCell.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { GridCellParams } from '@mui/x-data-grid-pro'\n\nimport { Icon, Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../../../../common'\n\nconst CategoryCell = (params: GridCellParams) => {\n const { transactions: copy } = useGlobalCopyStore()\n const [isHover, setIsHover] = React.useState(false)\n\n return (\n <Stack\n alignItems=\"center\"\n direction=\"row\"\n gap={8}\n height=\"100%\"\n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}\n width=\"100%\"\n >\n {params.row.has_been_split && <Icon name=\"call_split\" size={16} />}\n <Text tabIndex={params.tabIndex} variant=\"body2\">\n {params.row.has_been_split ? copy.split_transaction_category_label : params.row.category}\n </Text>\n {!params.row.has_been_split && isHover && (\n <Icon name=\"edit\" sx={{ color: 'action.active' }} />\n )}\n </Stack>\n )\n}\n\nexport default observer(CategoryCell)\n"],"mappings":";;;;;;AAWA,IAAM,IAAA,CAAgB,MAA2B;AAC/C,QAAM,EAAE,cAAc,EAAA,IAAS,EAAmB,GAC5C,CAAC,GAAS,CAAA,IAAc,EAAM,SAAS,EAAK;AAElD,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,YAAW;AAAA,IACX,WAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAO;AAAA,IACP,cAAA,MAAoB,EAAW,EAAI;AAAA,IACnC,cAAA,MAAoB,EAAW,EAAK;AAAA,IACpC,OAAM;AAAA,IAPR,UAAA;AAAA,MASG,EAAO,IAAI,kBAAkB,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAK;AAAA,QAAa,MAAM;AAAA,MAAK,CAAA;AAAA,MACjE,gBAAA,EAAC,GAAD;AAAA,QAAM,UAAU,EAAO;AAAA,QAAU,SAAQ;AAAA,QACtC,UAAA,EAAO,IAAI,iBAAiB,EAAK,mCAAmC,EAAO,IAAI;AAAA,MAC5E,CAAA;AAAA,MACL,CAAC,EAAO,IAAI,kBAAkB,KAC7B,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAK;AAAA,QAAO,IAAI,EAAE,OAAO,gBAAgB;AAAA,MAAI,CAAA;AAAA,IAEhD;AAAA;AAEX,GAEA,IAAe,EAAS,CAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/DateCell.tsx"],"sourcesContent":["import { GridCellParams } from '@mui/x-data-grid'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { DATE_FORMATS_INTL, formatDate } from '../../../../../core/constants'\nimport { fromUnixUTC } from '../../../../../core/utils/DateUtil'\n\nconst DateCell = (params: GridCellParams) => {\n return (\n <Text tabIndex={params.tabIndex} variant=\"body2\">\n {formatDate(fromUnixUTC(params.row.date), DATE_FORMATS_INTL.MONTH_DAY)}\n </Text>\n )\n}\n\nexport default DateCell\n"],"mappings":";;;;AAOA,IAAM,IAAA,CAAY,MAEd,gBAAA,EAAC,GAAD;AAAA,EAAM,UAAU,EAAO;AAAA,EAAU,SAAQ;AAAA,
|
|
1
|
+
{"version":3,"file":"DateCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/DateCell.tsx"],"sourcesContent":["import { GridCellParams } from '@mui/x-data-grid'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport { DATE_FORMATS_INTL, formatDate } from '../../../../../core/constants'\nimport { fromUnixUTC } from '../../../../../core/utils/DateUtil'\n\nconst DateCell = (params: GridCellParams) => {\n return (\n <Text tabIndex={params.tabIndex} variant=\"body2\">\n {formatDate(fromUnixUTC(params.row.date), DATE_FORMATS_INTL.MONTH_DAY)}\n </Text>\n )\n}\n\nexport default DateCell\n"],"mappings":";;;;AAOA,IAAM,IAAA,CAAY,MAEd,gBAAA,EAAC,GAAD;AAAA,EAAM,UAAU,EAAO;AAAA,EAAU,SAAQ;AAAA,EACtC,UAAA,EAAW,EAAY,EAAO,IAAI,IAAI,GAAG,EAAkB,SAAS;AACjE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlagCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/FlagCell.tsx"],"sourcesContent":["import Box from '@mui/material/Box'\nimport { observer } from 'mobx-react-lite'\n\nimport { useTheme } from '@mui/material/styles'\nimport { GridRenderCellParams } from '@mui/x-data-grid-pro'\nimport { Icon } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../../../../common'\n\nconst FlagCell = (params: GridRenderCellParams) => {\n const theme = useTheme()\n const isDarkMode = theme.palette.mode === 'dark'\n\n const { transactions: transactionsCopy } = useGlobalCopyStore()\n const { is_flagged, is_hidden, has_been_viewed, parent_guid } = params.row\n const isChildOfSplit = !!parent_guid\n const hasNotBeenViewed = !has_been_viewed && !isChildOfSplit\n\n return (\n <Box\n aria-label={is_hidden ? transactionsCopy.is_excluded : transactionsCopy.is_flagged}\n tabIndex={params.tabIndex}\n >\n {is_flagged && (\n <Icon\n fill={true}\n name=\"flag\"\n size={16}\n sx={{ color: isDarkMode ? 'primary.main' : 'warning.dark' }}\n />\n )}\n {!is_flagged && is_hidden && <Icon name=\"visibility_off\" size={16} />}\n {hasNotBeenViewed && (\n <svg\n data-testid=\"svg\"\n style={{\n display: 'inline-block',\n height: 16,\n fill: theme.palette.primary.light,\n verticalAlign: 'middle',\n width: 16,\n }}\n viewBox=\"0 0 512 512\"\n >\n <circle cx=\"256\" cy=\"256\" r=\"60\" />\n </svg>\n )}\n </Box>\n )\n}\n\nexport default observer(FlagCell)\n"],"mappings":";;;;;;AASA,IAAM,IAAA,CAAY,MAAiC;AACjD,QAAM,IAAQ,EAAS,GACjB,IAAa,EAAM,QAAQ,SAAS,QAEpC,EAAE,cAAc,EAAA,IAAqB,EAAmB,GACxD,EAAE,YAAA,GAAY,WAAA,GAAW,iBAAA,GAAiB,aAAA,EAAA,IAAgB,EAAO,KAEjE,IAAmB,CAAC,KAAmB,CADpB;AAGzB,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,cAAY,IAAY,EAAiB,cAAc,EAAiB;AAAA,IACxE,UAAU,EAAO;AAAA,
|
|
1
|
+
{"version":3,"file":"FlagCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/FlagCell.tsx"],"sourcesContent":["import Box from '@mui/material/Box'\nimport { observer } from 'mobx-react-lite'\n\nimport { useTheme } from '@mui/material/styles'\nimport { GridRenderCellParams } from '@mui/x-data-grid-pro'\nimport { Icon } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../../../../common'\n\nconst FlagCell = (params: GridRenderCellParams) => {\n const theme = useTheme()\n const isDarkMode = theme.palette.mode === 'dark'\n\n const { transactions: transactionsCopy } = useGlobalCopyStore()\n const { is_flagged, is_hidden, has_been_viewed, parent_guid } = params.row\n const isChildOfSplit = !!parent_guid\n const hasNotBeenViewed = !has_been_viewed && !isChildOfSplit\n\n return (\n <Box\n aria-label={is_hidden ? transactionsCopy.is_excluded : transactionsCopy.is_flagged}\n tabIndex={params.tabIndex}\n >\n {is_flagged && (\n <Icon\n fill={true}\n name=\"flag\"\n size={16}\n sx={{ color: isDarkMode ? 'primary.main' : 'warning.dark' }}\n />\n )}\n {!is_flagged && is_hidden && <Icon name=\"visibility_off\" size={16} />}\n {hasNotBeenViewed && (\n <svg\n data-testid=\"svg\"\n style={{\n display: 'inline-block',\n height: 16,\n fill: theme.palette.primary.light,\n verticalAlign: 'middle',\n width: 16,\n }}\n viewBox=\"0 0 512 512\"\n >\n <circle cx=\"256\" cy=\"256\" r=\"60\" />\n </svg>\n )}\n </Box>\n )\n}\n\nexport default observer(FlagCell)\n"],"mappings":";;;;;;AASA,IAAM,IAAA,CAAY,MAAiC;AACjD,QAAM,IAAQ,EAAS,GACjB,IAAa,EAAM,QAAQ,SAAS,QAEpC,EAAE,cAAc,EAAA,IAAqB,EAAmB,GACxD,EAAE,YAAA,GAAY,WAAA,GAAW,iBAAA,GAAiB,aAAA,EAAA,IAAgB,EAAO,KAEjE,IAAmB,CAAC,KAAmB,CADpB;AAGzB,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,cAAY,IAAY,EAAiB,cAAc,EAAiB;AAAA,IACxE,UAAU,EAAO;AAAA,IAFnB,UAAA;AAAA,MAIG,KACC,gBAAA,EAAC,GAAD;AAAA,QACE,MAAM;AAAA,QACN,MAAK;AAAA,QACL,MAAM;AAAA,QACN,IAAI,EAAE,OAAO,IAAa,iBAAiB,eAAe;AAAA,MAC3D,CAAA;AAAA,MAEF,CAAC,KAAc,KAAa,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAK;AAAA,QAAiB,MAAM;AAAA,MAAK,CAAA;AAAA,MACnE,KACC,gBAAA,EAAC,OAAD;AAAA,QACE,eAAY;AAAA,QACZ,OAAO;AAAA,UACL,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,MAAM,EAAM,QAAQ,QAAQ;AAAA,UAC5B,eAAe;AAAA,UACf,OAAO;AAAA,QACT;AAAA,QACA,SAAQ;AAAA,QAER,UAAA,gBAAA,EAAC,UAAD;AAAA,UAAQ,IAAG;AAAA,UAAM,IAAG;AAAA,UAAM,GAAE;AAAA,QAAM,CAAA;AAAA,MAC/B,CAAA;AAAA,IAEJ;AAAA;AAET,GAEA,IAAe,EAAS,CAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/HeaderCell.tsx"],"sourcesContent":["import { Text } from '@mxenabled/mxui'\n\nimport { GridColumnHeaderParams } from '@mui/x-data-grid'\n\nconst HeaderCell = (params: GridColumnHeaderParams) => (\n <Text fontWeight={600} variant=\"body2\">\n {params.colDef.headerName}\n </Text>\n)\n\nexport default HeaderCell\n"],"mappings":";;AAIA,IAAM,IAAA,CAAc,MAClB,gBAAA,EAAC,GAAD;AAAA,EAAM,YAAY;AAAA,EAAK,SAAQ;AAAA,
|
|
1
|
+
{"version":3,"file":"HeaderCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/HeaderCell.tsx"],"sourcesContent":["import { Text } from '@mxenabled/mxui'\n\nimport { GridColumnHeaderParams } from '@mui/x-data-grid'\n\nconst HeaderCell = (params: GridColumnHeaderParams) => (\n <Text fontWeight={600} variant=\"body2\">\n {params.colDef.headerName}\n </Text>\n)\n\nexport default HeaderCell\n"],"mappings":";;AAIA,IAAM,IAAA,CAAc,MAClB,gBAAA,EAAC,GAAD;AAAA,EAAM,YAAY;AAAA,EAAK,SAAQ;AAAA,EAC5B,UAAA,EAAO,OAAO;AACX,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayeeCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/PayeeCell.tsx"],"sourcesContent":["import Stack from '@mui/material/Stack'\n\nimport { GridCellParams } from '@mui/x-data-grid'\n\nimport { MerchantLogo, Text } from '@mxenabled/mxui'\n\ninterface PayeeCellProps extends GridCellParams {\n excludedText: string\n}\n\nconst PayeeCell = (params: PayeeCellProps) => {\n return (\n <Stack alignItems=\"center\" direction=\"row\" gap={8}>\n <MerchantLogo\n categoryGuid={params.row.top_level_category_guid || ''}\n merchantGuid={params.row.merchant_guid || ''}\n />\n <Stack alignItems=\"flex-start\" direction=\"column\">\n <Text tabIndex={params.tabIndex} variant=\"body2\">\n {params.row.payee}\n </Text>\n {params.row.is_hidden && <Text variant=\"caption\">{params.excludedText}</Text>}\n </Stack>\n </Stack>\n )\n}\n\nexport default PayeeCell\n"],"mappings":";;;AAUA,IAAM,IAAA,CAAa,MAEf,gBAAA,EAAC,GAAD;AAAA,EAAO,YAAW;AAAA,EAAS,WAAU;AAAA,EAAM,KAAK;AAAA,
|
|
1
|
+
{"version":3,"file":"PayeeCell.es.js","names":[],"sources":["../../../../../../src/transactions/components/shared/transactiontable/cells/PayeeCell.tsx"],"sourcesContent":["import Stack from '@mui/material/Stack'\n\nimport { GridCellParams } from '@mui/x-data-grid'\n\nimport { MerchantLogo, Text } from '@mxenabled/mxui'\n\ninterface PayeeCellProps extends GridCellParams {\n excludedText: string\n}\n\nconst PayeeCell = (params: PayeeCellProps) => {\n return (\n <Stack alignItems=\"center\" direction=\"row\" gap={8}>\n <MerchantLogo\n categoryGuid={params.row.top_level_category_guid || ''}\n merchantGuid={params.row.merchant_guid || ''}\n />\n <Stack alignItems=\"flex-start\" direction=\"column\">\n <Text tabIndex={params.tabIndex} variant=\"body2\">\n {params.row.payee}\n </Text>\n {params.row.is_hidden && <Text variant=\"caption\">{params.excludedText}</Text>}\n </Stack>\n </Stack>\n )\n}\n\nexport default PayeeCell\n"],"mappings":";;;AAUA,IAAM,IAAA,CAAa,MAEf,gBAAA,EAAC,GAAD;AAAA,EAAO,YAAW;AAAA,EAAS,WAAU;AAAA,EAAM,KAAK;AAAA,EAAhD,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IACE,cAAc,EAAO,IAAI,2BAA2B;AAAA,IACpD,cAAc,EAAO,IAAI,iBAAiB;AAAA,EAC3C,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,IAAO,YAAW;AAAA,IAAa,WAAU;AAAA,IAAzC,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MAAM,UAAU,EAAO;AAAA,MAAU,SAAQ;AAAA,MACtC,UAAA,EAAO,IAAI;AAAA,IACR,CAAA,GACL,EAAO,IAAI,aAAa,gBAAA,EAAC,GAAD;AAAA,MAAM,SAAQ;AAAA,MAAW,UAAA,EAAO;AAAA,IAAmB,CAAA,CACvE;AAAA,EACF,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitManager.es.js","names":[],"sources":["../../../../src/transactions/components/splitmanager/SplitManager.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 Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\nimport { Cancel as CancelIcon } from '@mxenabled/mx-icons'\n\nimport { useEvent, useGlobalCopyStore } from '../../../common'\nimport type { Transaction } from '../../../core'\nimport { useAriaLive } from '../../../common/hooks/useAriaLive'\n\nimport SplitRow from './SplitRow'\n\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface SplitManagerProps {\n onAddSplit: () => void\n onCategoryChanged: (index: number, categoryGuid: string) => void\n onDeleteSplit: (index: number) => void\n onUpdateAmount: (index: number, amount: number) => void\n splits: Transaction[]\n transaction: Transaction\n}\n\nconst SplitManager: React.FC<SplitManagerProps> = ({\n onAddSplit,\n onCategoryChanged,\n onDeleteSplit,\n onUpdateAmount,\n splits,\n transaction,\n}) => {\n const { transactions: copy } = useGlobalCopyStore()\n const { onEvent } = useEvent()\n\n const [error, setError] = React.useState('')\n const { announce, ariaLive } = useAriaLive()\n\n React.useEffect(() => {\n if (splits.length <= 1) {\n setError(copy.split_transaction_errors_min_splits)\n announce(copy.split_transaction_errors_min_splits)\n } else if (splits[0].amount < 0) {\n const errorCopy = buildDynamicCopy(\n copy.split_transaction_errors_totals_must_equal_amount,\n formatCurrency(transaction.amount, '0,0.00'),\n ) as string\n setError(errorCopy)\n announce(errorCopy)\n } else {\n setError('')\n announce('')\n }\n }, [splits])\n\n return (\n <Box className=\"mx-txn-split-manager\">\n {ariaLive}\n {splits.map((split, index) => (\n <SplitRow\n index={index}\n key={index}\n onCategoryChanged={onCategoryChanged}\n onDeleteRow={onDeleteSplit}\n onUpdateAmount={onUpdateAmount}\n split={split}\n />\n ))}\n {error && (\n <Stack bgcolor=\"background.paper\" color=\"error.main\" direction=\"row\" gap={8} p={16}>\n {/* TODO: Move span with aria-label and role into @mxenabled/mx-icons */}\n <span aria-label=\"error\" role=\"img\">\n <CancelIcon sx={{ fontSize: 15 }} />\n </span>\n <Text variant=\"body2\">{error}</Text>\n </Stack>\n )}\n <Box p={16}>\n <Button\n aria-label={copy.split_transaction_add_split_btn}\n onClick={() => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_SPLIT_ADD_CLICK)\n onAddSplit()\n }}\n >\n {copy.split_transaction_add_split_btn}\n </Button>\n </Box>\n </Box>\n )\n}\n\nexport default observer(SplitManager)\n"],"mappings":";;;;;;;;;;;;;;AA6BA,IAAM,IAAA,CAA6C,EACjD,YAAA,GACA,mBAAA,GACA,eAAA,GACA,gBAAA,GACA,QAAA,GACA,aAAA,EAAA,MACI;AACJ,QAAM,EAAE,cAAc,EAAA,IAAS,EAAmB,GAC5C,EAAE,SAAA,EAAA,IAAY,EAAS,GAEvB,CAAC,GAAO,CAAA,IAAY,EAAM,SAAS,EAAE,GACrC,EAAE,UAAA,GAAU,UAAA,EAAA,IAAa,EAAY;AAE3C,SAAA,EAAM,UAAA,MAAgB;AACpB,QAAI,EAAO,UAAU;AACnB,MAAA,EAAS,EAAK,mCAAmC,GACjD,EAAS,EAAK,mCAAmC;AAAA,aACxC,EAAO,CAAA,EAAG,SAAS,GAAG;AAC/B,YAAM,IAAY,EAChB,EAAK,mDACL,EAAe,EAAY,QAAQ,QAAQ,CAC7C;AACA,MAAA,EAAS,CAAS,GAClB,EAAS,CAAS;AAAA,IACpB;AACE,MAAA,EAAS,EAAE,GACX,EAAS,EAAE;AAAA,EAEf,GAAG,CAAC,CAAM,CAAC,GAGT,gBAAA,EAAC,GAAD;AAAA,IAAK,WAAU;AAAA,
|
|
1
|
+
{"version":3,"file":"SplitManager.es.js","names":[],"sources":["../../../../src/transactions/components/splitmanager/SplitManager.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 Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\nimport { Cancel as CancelIcon } from '@mxenabled/mx-icons'\n\nimport { useEvent, useGlobalCopyStore } from '../../../common'\nimport type { Transaction } from '../../../core'\nimport { useAriaLive } from '../../../common/hooks/useAriaLive'\n\nimport SplitRow from './SplitRow'\n\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface SplitManagerProps {\n onAddSplit: () => void\n onCategoryChanged: (index: number, categoryGuid: string) => void\n onDeleteSplit: (index: number) => void\n onUpdateAmount: (index: number, amount: number) => void\n splits: Transaction[]\n transaction: Transaction\n}\n\nconst SplitManager: React.FC<SplitManagerProps> = ({\n onAddSplit,\n onCategoryChanged,\n onDeleteSplit,\n onUpdateAmount,\n splits,\n transaction,\n}) => {\n const { transactions: copy } = useGlobalCopyStore()\n const { onEvent } = useEvent()\n\n const [error, setError] = React.useState('')\n const { announce, ariaLive } = useAriaLive()\n\n React.useEffect(() => {\n if (splits.length <= 1) {\n setError(copy.split_transaction_errors_min_splits)\n announce(copy.split_transaction_errors_min_splits)\n } else if (splits[0].amount < 0) {\n const errorCopy = buildDynamicCopy(\n copy.split_transaction_errors_totals_must_equal_amount,\n formatCurrency(transaction.amount, '0,0.00'),\n ) as string\n setError(errorCopy)\n announce(errorCopy)\n } else {\n setError('')\n announce('')\n }\n }, [splits])\n\n return (\n <Box className=\"mx-txn-split-manager\">\n {ariaLive}\n {splits.map((split, index) => (\n <SplitRow\n index={index}\n key={index}\n onCategoryChanged={onCategoryChanged}\n onDeleteRow={onDeleteSplit}\n onUpdateAmount={onUpdateAmount}\n split={split}\n />\n ))}\n {error && (\n <Stack bgcolor=\"background.paper\" color=\"error.main\" direction=\"row\" gap={8} p={16}>\n {/* TODO: Move span with aria-label and role into @mxenabled/mx-icons */}\n <span aria-label=\"error\" role=\"img\">\n <CancelIcon sx={{ fontSize: 15 }} />\n </span>\n <Text variant=\"body2\">{error}</Text>\n </Stack>\n )}\n <Box p={16}>\n <Button\n aria-label={copy.split_transaction_add_split_btn}\n onClick={() => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_SPLIT_ADD_CLICK)\n onAddSplit()\n }}\n >\n {copy.split_transaction_add_split_btn}\n </Button>\n </Box>\n </Box>\n )\n}\n\nexport default observer(SplitManager)\n"],"mappings":";;;;;;;;;;;;;;AA6BA,IAAM,IAAA,CAA6C,EACjD,YAAA,GACA,mBAAA,GACA,eAAA,GACA,gBAAA,GACA,QAAA,GACA,aAAA,EAAA,MACI;AACJ,QAAM,EAAE,cAAc,EAAA,IAAS,EAAmB,GAC5C,EAAE,SAAA,EAAA,IAAY,EAAS,GAEvB,CAAC,GAAO,CAAA,IAAY,EAAM,SAAS,EAAE,GACrC,EAAE,UAAA,GAAU,UAAA,EAAA,IAAa,EAAY;AAE3C,SAAA,EAAM,UAAA,MAAgB;AACpB,QAAI,EAAO,UAAU;AACnB,MAAA,EAAS,EAAK,mCAAmC,GACjD,EAAS,EAAK,mCAAmC;AAAA,aACxC,EAAO,CAAA,EAAG,SAAS,GAAG;AAC/B,YAAM,IAAY,EAChB,EAAK,mDACL,EAAe,EAAY,QAAQ,QAAQ,CAC7C;AACA,MAAA,EAAS,CAAS,GAClB,EAAS,CAAS;AAAA,IACpB;AACE,MAAA,EAAS,EAAE,GACX,EAAS,EAAE;AAAA,EAEf,GAAG,CAAC,CAAM,CAAC,GAGT,gBAAA,EAAC,GAAD;AAAA,IAAK,WAAU;AAAA,IAAf,UAAA;AAAA,MACG;AAAA,MACA,EAAO,IAAA,CAAK,GAAO,MAClB,gBAAA,EAAC,GAAD;AAAA,QACS,OAAA;AAAA,QAEY,mBAAA;AAAA,QACnB,aAAa;AAAA,QACG,gBAAA;AAAA,QACT,OAAA;AAAA,MACR,GALM,CAKN,CACF;AAAA,MACA,KACC,gBAAA,EAAC,GAAD;AAAA,QAAO,SAAQ;AAAA,QAAmB,OAAM;AAAA,QAAa,WAAU;AAAA,QAAM,KAAK;AAAA,QAAG,GAAG;AAAA,QAAhF,UAAA,CAEE,gBAAA,EAAC,QAAD;AAAA,UAAM,cAAW;AAAA,UAAQ,MAAK;AAAA,UAC5B,UAAA,gBAAA,EAAC,GAAD,EAAY,IAAI,EAAE,UAAU,GAAG,EAAI,CAAA;AAAA,QAC/B,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,UAAM,SAAQ;AAAA,UAAS,UAAA;AAAA,QAAY,CAAA,CAC9B;AAAA;MAET,gBAAA,EAAC,GAAD;AAAA,QAAK,GAAG;AAAA,QACN,UAAA,gBAAA,EAAC,GAAD;AAAA,UACE,cAAY,EAAK;AAAA,UACjB,SAAA,MAAe;AACb,YAAA,EAAQ,EAAgB,8BAA8B,GACtD,EAAW;AAAA,UACb;AAAA,UAEC,UAAA,EAAK;AAAA,QACA,CAAA;AAAA,MACL,CAAA;AAAA,IACF;AAAA;AAET,GAEA,IAAe,EAAS,CAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitRow.es.js","names":[],"sources":["../../../../src/transactions/components/splitmanager/SplitRow.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 Grid from '@mui/material/Grid'\nimport IconButton from '@mui/material/IconButton'\nimport Stack from '@mui/material/Stack'\n\nimport { CategoryIcon, Text } from '@mxenabled/mxui'\nimport {\n Cancel as CancelIcon,\n ChevronRight as ChevronRightIcon,\n Delete as DeleteOutlinedIcon,\n} from '@mxenabled/mx-icons'\n\nimport { CategorySelectorDrawer } from '../../../categories'\n\nimport { CurrencyInput, useGlobalCopyStore } from '../../../common'\nimport type { Transaction } from '../../../core'\n\nimport { useEvent } from '../../../common'\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\ninterface SplitRowProps {\n index: number\n onCategoryChanged: (index: number, categoryGuid: string) => void\n onDeleteRow: (index: number) => void\n onUpdateAmount: (index: number, amount: number) => void\n split: Transaction\n}\n\nconst SplitRow: React.FC<SplitRowProps> = ({\n index,\n onDeleteRow,\n onCategoryChanged,\n onUpdateAmount,\n split,\n}) => {\n const { onEvent } = useEvent()\n const { transactions: copy } = useGlobalCopyStore()\n\n const [amount, setAmount] = React.useState(`${split.amount}`)\n const [categorySelectorOpen, setCategorySelectorOpen] = React.useState(false)\n\n const isTopRow = index === 0\n\n const handleChangeAmount = (value: string) => {\n if (!isNaN(Number(value))) {\n setAmount(value)\n onUpdateAmount(index, Number(value))\n }\n }\n\n return (\n <Box bgcolor=\"background.paper\" className=\"mx-txn-split-manager-row\" pb={4} px={8}>\n <Grid alignItems={isTopRow ? 'center' : 'start'} container={true}>\n <Grid size={7}>\n <Stack alignItems=\"start\">\n <Button\n endIcon={<ChevronRightIcon />}\n onClick={() => setCategorySelectorOpen(true)}\n startIcon={<CategoryIcon categoryGuid={split.top_level_category_guid} />}\n sx={{ px: 12, py: 8 }}\n >\n {split.category}\n </Button>\n <Box>\n {!split.category_guid && (\n <Stack color=\"error.main\" direction=\"row\" gap={8} p={12}>\n <span aria-label=\"error\" role=\"img\">\n <CancelIcon sx={{ fontSize: 15 }} />\n </span>\n <Text variant=\"body2\">{copy.split_transaction_errors_select_category}</Text>\n </Stack>\n )}\n </Box>\n </Stack>\n </Grid>\n <Grid size={5}>\n {isTopRow ? (\n <div className=\"mx-txn-split-manager-row-top-container\">\n <Text>{formatCurrency(split.amount, '0,0.00')}</Text>\n </div>\n ) : (\n <Stack alignItems=\"start\">\n <Stack alignItems=\"start\" direction=\"row\" gap={8}>\n <CurrencyInput\n amount={amount}\n ariaLabel={copy.split_transaction_edit_split_amount}\n label={copy.split_transaction_edit_split_amount}\n minAmount={0.01}\n name=\"split-amount-input\"\n setAmount={handleChangeAmount}\n sx={{\n '.MuiOutlinedInput-input': { p: 12 },\n }}\n type=\"number\"\n />\n <IconButton\n aria-label={copy.split_transaction_delete_split_btn}\n color=\"secondary\"\n onClick={() => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_SPLIT_DELETE_CLICK)\n onDeleteRow(index)\n }}\n sx={{ w: 44, h: 44 }}\n >\n <DeleteOutlinedIcon />\n </IconButton>\n </Stack>\n {!amount && (\n <Stack color=\"error.main\" direction=\"row\" gap={8} py={12}>\n <span aria-label=\"error\" role=\"img\">\n <CancelIcon sx={{ fontSize: 15 }} />\n </span>\n <Text variant=\"body2\">{copy.split_transaction_errors_enter_an_amount}</Text>\n </Stack>\n )}\n </Stack>\n )}\n </Grid>\n </Grid>\n\n <CategorySelectorDrawer\n initialSelected={split.category_guid}\n onClose={() => setCategorySelectorOpen(false)}\n onSelect={(guid: string) => {\n onCategoryChanged(index, guid)\n setCategorySelectorOpen(false)\n }}\n showDrawer={categorySelectorOpen}\n title={copy.actions_select_a_category}\n />\n </Box>\n )\n}\n\nexport default observer(SplitRow)\n"],"mappings":";;;;;;;;;;;;;;;AAiCA,IAAM,IAAA,CAAqC,EACzC,OAAA,GACA,aAAA,GACA,mBAAA,GACA,gBAAA,GACA,OAAA,EAAA,MACI;AACJ,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,cAAc,EAAA,IAAS,EAAmB,GAE5C,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAS,GAAG,EAAM,MAAA,EAAQ,GACtD,CAAC,GAAsB,CAAA,IAA2B,EAAM,SAAS,EAAK,GAEtE,IAAW,MAAU,GAErB,IAAA,CAAsB,MAAkB;AAC5C,IAAK,MAAM,OAAO,CAAK,CAAC,MACtB,EAAU,CAAK,GACf,EAAe,GAAO,OAAO,CAAK,CAAC;AAAA,EAEvC;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAK,SAAQ;AAAA,IAAmB,WAAU;AAAA,IAA2B,IAAI;AAAA,IAAG,IAAI;AAAA,
|
|
1
|
+
{"version":3,"file":"SplitRow.es.js","names":[],"sources":["../../../../src/transactions/components/splitmanager/SplitRow.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 Grid from '@mui/material/Grid'\nimport IconButton from '@mui/material/IconButton'\nimport Stack from '@mui/material/Stack'\n\nimport { CategoryIcon, Text } from '@mxenabled/mxui'\nimport {\n Cancel as CancelIcon,\n ChevronRight as ChevronRightIcon,\n Delete as DeleteOutlinedIcon,\n} from '@mxenabled/mx-icons'\n\nimport { CategorySelectorDrawer } from '../../../categories'\n\nimport { CurrencyInput, useGlobalCopyStore } from '../../../common'\nimport type { Transaction } from '../../../core'\n\nimport { useEvent } from '../../../common'\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { formatCurrency } from '../../../core/utils/NumberFormatting'\n\ninterface SplitRowProps {\n index: number\n onCategoryChanged: (index: number, categoryGuid: string) => void\n onDeleteRow: (index: number) => void\n onUpdateAmount: (index: number, amount: number) => void\n split: Transaction\n}\n\nconst SplitRow: React.FC<SplitRowProps> = ({\n index,\n onDeleteRow,\n onCategoryChanged,\n onUpdateAmount,\n split,\n}) => {\n const { onEvent } = useEvent()\n const { transactions: copy } = useGlobalCopyStore()\n\n const [amount, setAmount] = React.useState(`${split.amount}`)\n const [categorySelectorOpen, setCategorySelectorOpen] = React.useState(false)\n\n const isTopRow = index === 0\n\n const handleChangeAmount = (value: string) => {\n if (!isNaN(Number(value))) {\n setAmount(value)\n onUpdateAmount(index, Number(value))\n }\n }\n\n return (\n <Box bgcolor=\"background.paper\" className=\"mx-txn-split-manager-row\" pb={4} px={8}>\n <Grid alignItems={isTopRow ? 'center' : 'start'} container={true}>\n <Grid size={7}>\n <Stack alignItems=\"start\">\n <Button\n endIcon={<ChevronRightIcon />}\n onClick={() => setCategorySelectorOpen(true)}\n startIcon={<CategoryIcon categoryGuid={split.top_level_category_guid} />}\n sx={{ px: 12, py: 8 }}\n >\n {split.category}\n </Button>\n <Box>\n {!split.category_guid && (\n <Stack color=\"error.main\" direction=\"row\" gap={8} p={12}>\n <span aria-label=\"error\" role=\"img\">\n <CancelIcon sx={{ fontSize: 15 }} />\n </span>\n <Text variant=\"body2\">{copy.split_transaction_errors_select_category}</Text>\n </Stack>\n )}\n </Box>\n </Stack>\n </Grid>\n <Grid size={5}>\n {isTopRow ? (\n <div className=\"mx-txn-split-manager-row-top-container\">\n <Text>{formatCurrency(split.amount, '0,0.00')}</Text>\n </div>\n ) : (\n <Stack alignItems=\"start\">\n <Stack alignItems=\"start\" direction=\"row\" gap={8}>\n <CurrencyInput\n amount={amount}\n ariaLabel={copy.split_transaction_edit_split_amount}\n label={copy.split_transaction_edit_split_amount}\n minAmount={0.01}\n name=\"split-amount-input\"\n setAmount={handleChangeAmount}\n sx={{\n '.MuiOutlinedInput-input': { p: 12 },\n }}\n type=\"number\"\n />\n <IconButton\n aria-label={copy.split_transaction_delete_split_btn}\n color=\"secondary\"\n onClick={() => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_SPLIT_DELETE_CLICK)\n onDeleteRow(index)\n }}\n sx={{ w: 44, h: 44 }}\n >\n <DeleteOutlinedIcon />\n </IconButton>\n </Stack>\n {!amount && (\n <Stack color=\"error.main\" direction=\"row\" gap={8} py={12}>\n <span aria-label=\"error\" role=\"img\">\n <CancelIcon sx={{ fontSize: 15 }} />\n </span>\n <Text variant=\"body2\">{copy.split_transaction_errors_enter_an_amount}</Text>\n </Stack>\n )}\n </Stack>\n )}\n </Grid>\n </Grid>\n\n <CategorySelectorDrawer\n initialSelected={split.category_guid}\n onClose={() => setCategorySelectorOpen(false)}\n onSelect={(guid: string) => {\n onCategoryChanged(index, guid)\n setCategorySelectorOpen(false)\n }}\n showDrawer={categorySelectorOpen}\n title={copy.actions_select_a_category}\n />\n </Box>\n )\n}\n\nexport default observer(SplitRow)\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.es.js","names":[],"sources":["../../../../src/transactions/components/tagmanager/Header.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 Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { P, Text, TextField } from '@mxenabled/mxui'\n\nimport { Dialog, useGlobalCopyStore } from '../../../common'\n\nimport { useEvent, useTransactionStore } from '../../../common'\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\n\nconst Header = () => {\n const theme = useTheme()\n\n const { onEvent } = useEvent()\n const { addTag } = useTransactionStore()\n const { transactions: copy } = useGlobalCopyStore()\n\n const [isAdding, setIsAdding] = React.useState(false)\n const [tagName, setTagName] = React.useState('')\n const [tagNameError, setTagNameError] = React.useState('')\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n React.useEffect(() => {\n if (isAdding) {\n inputRef?.current?.focus()\n }\n }, [isAdding])\n\n const handleAdding = () => {\n onEvent(\n isAdding\n ? ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_ADD_CANCEL_CLICK\n : ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_ADD_CLICK,\n )\n if (!isAdding) {\n setTagName('')\n }\n setIsAdding(!isAdding)\n }\n\n const handleAddTag = async () => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_ADDED)\n await addTag(tagName)\n setIsAdding(false)\n }\n\n React.useEffect(() => {\n setTagNameError(tagName.length > 40 ? copy.tags_error_name_must_be_40_chars : '')\n }, [tagName])\n\n return (\n <Box className=\"mx-txn-tag-manager-header\">\n <Stack\n alignItems=\"center\"\n bgcolor={theme.palette.background.default}\n direction=\"row\"\n justifyContent=\"space-between\"\n px={24}\n py={16}\n >\n <Text bold={true}>{copy.tags_your_tags}</Text>\n <Button\n aria-expanded={isAdding}\n aria-label={copy.tags_add_tag_btn_aria}\n onClick={handleAdding}\n >\n {copy.tags_add_tag_btn}\n </Button>\n </Stack>\n\n <Dialog\n copy={{ title: copy.tags_add_tag_btn }}\n isOpen={isAdding}\n onClose={() => setIsAdding(false)}\n onPrimaryAction={handleAddTag}\n onSecondaryAction={() => setIsAdding(false)}\n >\n <TextField\n aria-label={copy.tags_placeholder}\n name=\"add-tag\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setTagName(e.target.value)}\n placeholder={copy.tags_placeholder}\n sx={{ width: '100%' }}\n value={tagName}\n />\n <P id=\"add-tag-error\" sx={{ color: 'error.main' }} variant=\"subtitle2\">\n {tagNameError}\n </P>\n </Dialog>\n </Box>\n )\n}\n\nexport default observer(Header)\n"],"mappings":";;;;;;;;;;;AAeA,IAAM,IAAA,MAAe;AACnB,QAAM,IAAQ,EAAS,GAEjB,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,QAAA,EAAA,IAAW,EAAoB,GACjC,EAAE,cAAc,EAAA,IAAS,EAAmB,GAE5C,CAAC,GAAU,CAAA,IAAe,EAAM,SAAS,EAAK,GAC9C,CAAC,GAAS,CAAA,IAAc,EAAM,SAAS,EAAE,GACzC,CAAC,GAAc,CAAA,IAAmB,EAAM,SAAS,EAAE,GAEnD,IAAW,EAAM,OAAyB,IAAI;AAEpD,EAAA,EAAM,UAAA,MAAgB;AACpB,IAAI,KACF,GAAU,SAAS,MAAM;AAAA,EAE7B,GAAG,CAAC,CAAQ,CAAC;AAEb,QAAM,IAAA,MAAqB;AACzB,IAAA,EACE,IACI,EAAgB,2CAChB,EAAgB,iCACtB,GACK,KACH,EAAW,EAAE,GAEf,EAAY,CAAC,CAAQ;AAAA,EACvB,GAEM,IAAe,YAAY;AAC/B,IAAA,EAAQ,EAAgB,6BAA6B,GACrD,MAAM,EAAO,CAAO,GACpB,EAAY,EAAK;AAAA,EACnB;AAEA,SAAA,EAAM,UAAA,MAAgB;AACpB,IAAA,EAAgB,EAAQ,SAAS,KAAK,EAAK,mCAAmC,EAAE;AAAA,EAClF,GAAG,CAAC,CAAO,CAAC,GAGV,gBAAA,EAAC,GAAD;AAAA,IAAK,WAAU;AAAA,
|
|
1
|
+
{"version":3,"file":"Header.es.js","names":[],"sources":["../../../../src/transactions/components/tagmanager/Header.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 Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { P, Text, TextField } from '@mxenabled/mxui'\n\nimport { Dialog, useGlobalCopyStore } from '../../../common'\n\nimport { useEvent, useTransactionStore } from '../../../common'\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\n\nconst Header = () => {\n const theme = useTheme()\n\n const { onEvent } = useEvent()\n const { addTag } = useTransactionStore()\n const { transactions: copy } = useGlobalCopyStore()\n\n const [isAdding, setIsAdding] = React.useState(false)\n const [tagName, setTagName] = React.useState('')\n const [tagNameError, setTagNameError] = React.useState('')\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n React.useEffect(() => {\n if (isAdding) {\n inputRef?.current?.focus()\n }\n }, [isAdding])\n\n const handleAdding = () => {\n onEvent(\n isAdding\n ? ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_ADD_CANCEL_CLICK\n : ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_ADD_CLICK,\n )\n if (!isAdding) {\n setTagName('')\n }\n setIsAdding(!isAdding)\n }\n\n const handleAddTag = async () => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_ADDED)\n await addTag(tagName)\n setIsAdding(false)\n }\n\n React.useEffect(() => {\n setTagNameError(tagName.length > 40 ? copy.tags_error_name_must_be_40_chars : '')\n }, [tagName])\n\n return (\n <Box className=\"mx-txn-tag-manager-header\">\n <Stack\n alignItems=\"center\"\n bgcolor={theme.palette.background.default}\n direction=\"row\"\n justifyContent=\"space-between\"\n px={24}\n py={16}\n >\n <Text bold={true}>{copy.tags_your_tags}</Text>\n <Button\n aria-expanded={isAdding}\n aria-label={copy.tags_add_tag_btn_aria}\n onClick={handleAdding}\n >\n {copy.tags_add_tag_btn}\n </Button>\n </Stack>\n\n <Dialog\n copy={{ title: copy.tags_add_tag_btn }}\n isOpen={isAdding}\n onClose={() => setIsAdding(false)}\n onPrimaryAction={handleAddTag}\n onSecondaryAction={() => setIsAdding(false)}\n >\n <TextField\n aria-label={copy.tags_placeholder}\n name=\"add-tag\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setTagName(e.target.value)}\n placeholder={copy.tags_placeholder}\n sx={{ width: '100%' }}\n value={tagName}\n />\n <P id=\"add-tag-error\" sx={{ color: 'error.main' }} variant=\"subtitle2\">\n {tagNameError}\n </P>\n </Dialog>\n </Box>\n )\n}\n\nexport default observer(Header)\n"],"mappings":";;;;;;;;;;;AAeA,IAAM,IAAA,MAAe;AACnB,QAAM,IAAQ,EAAS,GAEjB,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,QAAA,EAAA,IAAW,EAAoB,GACjC,EAAE,cAAc,EAAA,IAAS,EAAmB,GAE5C,CAAC,GAAU,CAAA,IAAe,EAAM,SAAS,EAAK,GAC9C,CAAC,GAAS,CAAA,IAAc,EAAM,SAAS,EAAE,GACzC,CAAC,GAAc,CAAA,IAAmB,EAAM,SAAS,EAAE,GAEnD,IAAW,EAAM,OAAyB,IAAI;AAEpD,EAAA,EAAM,UAAA,MAAgB;AACpB,IAAI,KACF,GAAU,SAAS,MAAM;AAAA,EAE7B,GAAG,CAAC,CAAQ,CAAC;AAEb,QAAM,IAAA,MAAqB;AACzB,IAAA,EACE,IACI,EAAgB,2CAChB,EAAgB,iCACtB,GACK,KACH,EAAW,EAAE,GAEf,EAAY,CAAC,CAAQ;AAAA,EACvB,GAEM,IAAe,YAAY;AAC/B,IAAA,EAAQ,EAAgB,6BAA6B,GACrD,MAAM,EAAO,CAAO,GACpB,EAAY,EAAK;AAAA,EACnB;AAEA,SAAA,EAAM,UAAA,MAAgB;AACpB,IAAA,EAAgB,EAAQ,SAAS,KAAK,EAAK,mCAAmC,EAAE;AAAA,EAClF,GAAG,CAAC,CAAO,CAAC,GAGV,gBAAA,EAAC,GAAD;AAAA,IAAK,WAAU;AAAA,IAAf,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,YAAW;AAAA,MACX,SAAS,EAAM,QAAQ,WAAW;AAAA,MAClC,WAAU;AAAA,MACV,gBAAe;AAAA,MACf,IAAI;AAAA,MACJ,IAAI;AAAA,MANN,UAAA,CAQE,gBAAA,EAAC,GAAD;AAAA,QAAM,MAAM;AAAA,QAAO,UAAA,EAAK;AAAA,MAAqB,CAAA,GAC7C,gBAAA,EAAC,GAAD;AAAA,QACE,iBAAe;AAAA,QACf,cAAY,EAAK;AAAA,QACjB,SAAS;AAAA,QAER,UAAA,EAAK;AAAA,MACA,CAAA,CACH;AAAA,IAEP,CAAA,GAAA,gBAAA,EAAC,GAAD;AAAA,MACE,MAAM,EAAE,OAAO,EAAK,iBAAiB;AAAA,MACrC,QAAQ;AAAA,MACR,SAAA,MAAe,EAAY,EAAK;AAAA,MAChC,iBAAiB;AAAA,MACjB,mBAAA,MAAyB,EAAY,EAAK;AAAA,MAL5C,UAAA,CAOE,gBAAA,EAAC,GAAD;AAAA,QACE,cAAY,EAAK;AAAA,QACjB,MAAK;AAAA,QACL,UAAA,CAAW,MAA2C,EAAW,EAAE,OAAO,KAAK;AAAA,QAC/E,aAAa,EAAK;AAAA,QAClB,IAAI,EAAE,OAAO,OAAO;AAAA,QACpB,OAAO;AAAA,MACR,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,QAAG,IAAG;AAAA,QAAgB,IAAI,EAAE,OAAO,aAAa;AAAA,QAAG,SAAQ;AAAA,QACxD,UAAA;AAAA,MACA,CAAA,CACG;AAAA,IACL,CAAA,CAAA;AAAA;AAET,GAEA,IAAe,EAAS,CAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchBox.es.js","names":[],"sources":["../../../../src/transactions/components/tagmanager/SearchBox.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport IconButton from '@mui/material/IconButton'\nimport InputAdornment from '@mui/material/InputAdornment'\n\nimport { TextField } from '@mxenabled/mxui'\nimport { Cancel as HighlightOffIcon, Search as SearchIcon } from '@mxenabled/mx-icons'\n\nimport { useGlobalCopyStore } from '../../../common'\n\ninterface SearchBoxProps {\n onSearchValueChanged: (value: string) => void\n searchValue: string\n}\n\nconst SearchBox: React.FC<SearchBoxProps> = ({ onSearchValueChanged, searchValue }) => {\n const { common: commonCopy, transactions: copy } = useGlobalCopyStore()\n\n const cancelButton = (\n <IconButton\n aria-label={copy.tags_cancel_search || 'Search'}\n onClick={() => onSearchValueChanged('')}\n >\n <HighlightOffIcon />\n </IconButton>\n )\n\n return (\n <Box className=\"mx-txn-tag-manager-search\" px={24} py={16}>\n <TextField\n aria-label={commonCopy.search_aria}\n name=\"search\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => onSearchValueChanged(e.target.value)}\n placeholder={commonCopy.search_placeholder}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <SearchIcon color=\"disabled\" />\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\" sx={{ padding: 0 }}>\n {searchValue ? cancelButton : null}\n </InputAdornment>\n ),\n },\n }}\n // TODO: Theme needs to have the background color defaulted to paper for TextField\n sx={{ bgcolor: 'background.paper', width: '100%' }}\n value={searchValue}\n />\n </Box>\n )\n}\n\nexport default observer(SearchBox)\n"],"mappings":";;;;;;;;;AAiBA,IAAM,IAAA,CAAuC,EAAE,sBAAA,GAAsB,aAAA,EAAA,MAAkB;AACrF,QAAM,EAAE,QAAQ,GAAY,cAAc,EAAA,IAAS,EAAmB,GAEhE,IACJ,gBAAA,EAAC,GAAD;AAAA,IACE,cAAY,EAAK,sBAAsB;AAAA,IACvC,SAAA,MAAe,EAAqB,EAAE;AAAA,
|
|
1
|
+
{"version":3,"file":"SearchBox.es.js","names":[],"sources":["../../../../src/transactions/components/tagmanager/SearchBox.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport IconButton from '@mui/material/IconButton'\nimport InputAdornment from '@mui/material/InputAdornment'\n\nimport { TextField } from '@mxenabled/mxui'\nimport { Cancel as HighlightOffIcon, Search as SearchIcon } from '@mxenabled/mx-icons'\n\nimport { useGlobalCopyStore } from '../../../common'\n\ninterface SearchBoxProps {\n onSearchValueChanged: (value: string) => void\n searchValue: string\n}\n\nconst SearchBox: React.FC<SearchBoxProps> = ({ onSearchValueChanged, searchValue }) => {\n const { common: commonCopy, transactions: copy } = useGlobalCopyStore()\n\n const cancelButton = (\n <IconButton\n aria-label={copy.tags_cancel_search || 'Search'}\n onClick={() => onSearchValueChanged('')}\n >\n <HighlightOffIcon />\n </IconButton>\n )\n\n return (\n <Box className=\"mx-txn-tag-manager-search\" px={24} py={16}>\n <TextField\n aria-label={commonCopy.search_aria}\n name=\"search\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => onSearchValueChanged(e.target.value)}\n placeholder={commonCopy.search_placeholder}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <SearchIcon color=\"disabled\" />\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\" sx={{ padding: 0 }}>\n {searchValue ? cancelButton : null}\n </InputAdornment>\n ),\n },\n }}\n // TODO: Theme needs to have the background color defaulted to paper for TextField\n sx={{ bgcolor: 'background.paper', width: '100%' }}\n value={searchValue}\n />\n </Box>\n )\n}\n\nexport default observer(SearchBox)\n"],"mappings":";;;;;;;;;AAiBA,IAAM,IAAA,CAAuC,EAAE,sBAAA,GAAsB,aAAA,EAAA,MAAkB;AACrF,QAAM,EAAE,QAAQ,GAAY,cAAc,EAAA,IAAS,EAAmB,GAEhE,IACJ,gBAAA,EAAC,GAAD;AAAA,IACE,cAAY,EAAK,sBAAsB;AAAA,IACvC,SAAA,MAAe,EAAqB,EAAE;AAAA,IAEtC,UAAA,gBAAA,EAAC,GAAD,CAAmB,CAAA;AAAA,EACT,CAAA;AAGd,SACE,gBAAA,EAAC,GAAD;AAAA,IAAK,WAAU;AAAA,IAA4B,IAAI;AAAA,IAAI,IAAI;AAAA,IACrD,UAAA,gBAAA,EAAC,GAAD;AAAA,MACE,cAAY,EAAW;AAAA,MACvB,MAAK;AAAA,MACL,UAAA,CAAW,MAA2C,EAAqB,EAAE,OAAO,KAAK;AAAA,MACzF,aAAa,EAAW;AAAA,MACxB,WAAW,EACT,OAAO;AAAA,QACL,gBACE,gBAAA,EAAC,GAAD;AAAA,UAAgB,UAAS;AAAA,UACvB,UAAA,gBAAA,EAAC,GAAD,EAAY,OAAM,WAAY,CAAA;AAAA,QAChB,CAAA;AAAA,QAElB,cACE,gBAAA,EAAC,GAAD;AAAA,UAAgB,UAAS;AAAA,UAAM,IAAI,EAAE,SAAS,EAAE;AAAA,UAC7C,UAAA,IAAc,IAAe;AAAA,QAChB,CAAA;AAAA,MAEpB,EACF;AAAA,MAEA,IAAI;AAAA,QAAE,SAAS;AAAA,QAAoB,OAAO;AAAA,MAAO;AAAA,MACjD,OAAO;AAAA,IACR,CAAA;AAAA,EACE,CAAA;AAET,GAEA,IAAe,EAAS,CAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagManager.es.js","names":[],"sources":["../../../../src/transactions/components/tagmanager/TagManager.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport Paper from '@mui/material/Paper'\n\nimport { useTransactionStore } from '../../../common'\n\nimport Header from './Header'\nimport SearchBox from './SearchBox'\nimport TagRow from './TagRow'\n\ninterface TagManagerProps {\n selectedTags: string[]\n onTagChecked: (guid: string) => void\n}\n\nconst TagManager: React.FC<TagManagerProps> = ({ selectedTags, onTagChecked }) => {\n const { tags } = useTransactionStore()\n\n const [searchValue, setSearchValue] = React.useState('')\n\n const filteredTags = tags.filter((tag) =>\n tag.name.toLowerCase().includes(searchValue.toLowerCase()),\n )\n\n return (\n <div className=\"mx-txn-tag-manager\">\n <SearchBox\n onSearchValueChanged={(value) => setSearchValue(value)}\n searchValue={searchValue}\n />\n\n <Header />\n\n <Paper sx={{ boxShadow: 'none' }}>\n <List>\n {filteredTags.map((tag) => (\n <React.Fragment key={tag.guid}>\n <TagRow onTagChecked={onTagChecked} selectedTags={selectedTags} tag={tag} />\n <Divider sx={{ ml: 24 }} />\n </React.Fragment>\n ))}\n </List>\n </Paper>\n </div>\n )\n}\n\nexport default observer(TagManager)\n"],"mappings":";;;;;;;;;;AAkBA,IAAM,IAAA,CAAyC,EAAE,cAAA,GAAc,cAAA,EAAA,MAAmB;AAChF,QAAM,EAAE,MAAA,EAAA,IAAS,EAAoB,GAE/B,CAAC,GAAa,CAAA,IAAkB,EAAM,SAAS,EAAE,GAEjD,IAAe,EAAK,OAAA,CAAQ,MAChC,EAAI,KAAK,YAAY,EAAE,SAAS,EAAY,YAAY,CAAC,CAC3D;AAEA,SACE,gBAAA,EAAC,OAAD;AAAA,IAAK,WAAU;AAAA,
|
|
1
|
+
{"version":3,"file":"TagManager.es.js","names":[],"sources":["../../../../src/transactions/components/tagmanager/TagManager.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport Paper from '@mui/material/Paper'\n\nimport { useTransactionStore } from '../../../common'\n\nimport Header from './Header'\nimport SearchBox from './SearchBox'\nimport TagRow from './TagRow'\n\ninterface TagManagerProps {\n selectedTags: string[]\n onTagChecked: (guid: string) => void\n}\n\nconst TagManager: React.FC<TagManagerProps> = ({ selectedTags, onTagChecked }) => {\n const { tags } = useTransactionStore()\n\n const [searchValue, setSearchValue] = React.useState('')\n\n const filteredTags = tags.filter((tag) =>\n tag.name.toLowerCase().includes(searchValue.toLowerCase()),\n )\n\n return (\n <div className=\"mx-txn-tag-manager\">\n <SearchBox\n onSearchValueChanged={(value) => setSearchValue(value)}\n searchValue={searchValue}\n />\n\n <Header />\n\n <Paper sx={{ boxShadow: 'none' }}>\n <List>\n {filteredTags.map((tag) => (\n <React.Fragment key={tag.guid}>\n <TagRow onTagChecked={onTagChecked} selectedTags={selectedTags} tag={tag} />\n <Divider sx={{ ml: 24 }} />\n </React.Fragment>\n ))}\n </List>\n </Paper>\n </div>\n )\n}\n\nexport default observer(TagManager)\n"],"mappings":";;;;;;;;;;AAkBA,IAAM,IAAA,CAAyC,EAAE,cAAA,GAAc,cAAA,EAAA,MAAmB;AAChF,QAAM,EAAE,MAAA,EAAA,IAAS,EAAoB,GAE/B,CAAC,GAAa,CAAA,IAAkB,EAAM,SAAS,EAAE,GAEjD,IAAe,EAAK,OAAA,CAAQ,MAChC,EAAI,KAAK,YAAY,EAAE,SAAS,EAAY,YAAY,CAAC,CAC3D;AAEA,SACE,gBAAA,EAAC,OAAD;AAAA,IAAK,WAAU;AAAA,IAAf,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QACE,sBAAA,CAAuB,MAAU,EAAe,CAAK;AAAA,QACxC,aAAA;AAAA,MACd,CAAA;AAAA,MAED,gBAAA,EAAC,GAAD,CAAS,CAAA;AAAA,MAET,gBAAA,EAAC,GAAD;AAAA,QAAO,IAAI,EAAE,WAAW,OAAO;AAAA,QAC7B,UAAA,gBAAA,EAAC,GAAD,EAAA,UACG,EAAa,IAAA,CAAK,MACjB,gBAAA,EAAC,EAAM,UAAP,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UAAsB,cAAA;AAAA,UAA4B,cAAA;AAAA,UAAmB,KAAA;AAAA,QAAM,CAAA,GAC3E,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,IAAI,GAAG,EAAI,CAAA,CACZ,EAAA,GAHK,EAAI,IAGT,CACjB,EACG,CAAA;AAAA,MACD,CAAA;AAAA,IACJ;AAAA;AAET,GAEA,IAAe,EAAS,CAAU"}
|
|
@@ -11,8 +11,8 @@ import p from "@mui/material/IconButton";
|
|
|
11
11
|
import P from "@mui/material/Checkbox";
|
|
12
12
|
import B from "@mui/material/ListItem";
|
|
13
13
|
import j from "@mui/material/ListItemButton";
|
|
14
|
-
import V from "@mui/material/
|
|
15
|
-
import $ from "@mui/material/
|
|
14
|
+
import V from "@mui/material/ListItemText";
|
|
15
|
+
import $ from "@mui/material/ListItemIcon";
|
|
16
16
|
var F = ({ onTagChecked: f, selectedTags: d, tag: e }) => {
|
|
17
17
|
const { onEvent: a } = O(), { removeTag: h, updateTag: A } = D(), { common: m, transactions: n } = b(), [C, i] = r.useState(!1), [g, s] = r.useState(!1), [c, _] = r.useState(""), [T, E] = r.useState(""), N = async () => {
|
|
18
18
|
a(o.ON_TRANSACTION_TAGS_TAG_EDIT_SAVED), e && await A({
|
|
@@ -54,7 +54,7 @@ var F = ({ onTagChecked: f, selectedTags: d, tag: e }) => {
|
|
|
54
54
|
onClick: () => f(e.guid),
|
|
55
55
|
role: "checkbox",
|
|
56
56
|
tabIndex: 0,
|
|
57
|
-
children: [/* @__PURE__ */ t(
|
|
57
|
+
children: [/* @__PURE__ */ t($, {
|
|
58
58
|
sx: { ml: 0 },
|
|
59
59
|
children: /* @__PURE__ */ t(P, {
|
|
60
60
|
"aria-hidden": !0,
|
|
@@ -62,7 +62,7 @@ var F = ({ onTagChecked: f, selectedTags: d, tag: e }) => {
|
|
|
62
62
|
edge: "start",
|
|
63
63
|
tabIndex: -1
|
|
64
64
|
})
|
|
65
|
-
}), /* @__PURE__ */ t(
|
|
65
|
+
}), /* @__PURE__ */ t(V, { children: e.name })]
|
|
66
66
|
}),
|
|
67
67
|
/* @__PURE__ */ l(u, {
|
|
68
68
|
copy: { title: "Update tag name" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagRow.es.js","names":[],"sources":["../../../../src/transactions/components/tagmanager/TagRow.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Checkbox from '@mui/material/Checkbox'\nimport IconButton from '@mui/material/IconButton'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport ListItemText from '@mui/material/ListItemText'\nimport Stack from '@mui/material/Stack'\n\nimport { P, Text, TextField } from '@mxenabled/mxui'\nimport { Delete as DeleteOutlinedIcon, Edit as EditIcon } from '@mxenabled/mx-icons'\n\nimport { Dialog, useGlobalCopyStore } from '../../../common'\n\nimport type { Tag } from '../../../core'\n\nimport { useEvent, useTransactionStore } from '../../../common'\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\n\ninterface TagRowProps {\n tag: Tag\n selectedTags: string[]\n onTagChecked: (guid: string) => void\n}\n\nconst TagRow: React.FC<TagRowProps> = ({ onTagChecked, selectedTags, tag }) => {\n const { onEvent } = useEvent()\n const { removeTag, updateTag } = useTransactionStore()\n const { common: commonCopy, transactions: copy } = useGlobalCopyStore()\n\n const [editOpen, setEditOpen] = React.useState(false)\n const [deleteOpen, setDeleteOpen] = React.useState(false)\n\n const [tagName, setTagName] = React.useState('')\n const [tagNameError, setTagNameError] = React.useState('')\n\n const handleSaveTag = async () => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_EDIT_SAVED)\n if (tag) {\n await updateTag({ ...tag, name: tagName })\n }\n setEditOpen(false)\n }\n\n const handleDeleteTag = async () => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_DELETED)\n await removeTag(tag.guid)\n setDeleteOpen(false)\n }\n\n React.useEffect(() => {\n setTagNameError(tagName.length > 40 ? copy.tags_error_name_must_be_40_chars : '')\n }, [tagName])\n\n const handleEditClick = () => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_EDIT_CLICK)\n setTagName(tag.name)\n setEditOpen(true)\n }\n\n const handleDeleteClick = () => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_DELETE_CLICK)\n setDeleteOpen(true)\n }\n\n return (\n <ListItem\n className=\"mx-txn-transaction-manager-row\"\n disableGutters={true}\n disablePadding={true}\n secondaryAction={\n !tag.is_default_tag && (\n <Stack direction=\"row\">\n <IconButton\n aria-label={`Edit ${tag.name} tag`}\n color=\"secondary\"\n onClick={handleEditClick}\n >\n <EditIcon color=\"secondary\" />\n </IconButton>\n <IconButton\n aria-label={`Delete ${tag.name} tag`}\n color=\"secondary\"\n onClick={handleDeleteClick}\n >\n <DeleteOutlinedIcon color=\"secondary\" />\n </IconButton>\n </Stack>\n )\n }\n >\n <ListItemButton\n aria-checked={selectedTags.includes(tag.guid)}\n onClick={() => onTagChecked(tag.guid)}\n role=\"checkbox\"\n tabIndex={0}\n >\n <ListItemIcon sx={{ ml: 0 }}>\n <Checkbox\n aria-hidden={true}\n checked={selectedTags.includes(tag.guid)}\n edge=\"start\"\n tabIndex={-1}\n />\n </ListItemIcon>\n <ListItemText>{tag.name}</ListItemText>\n </ListItemButton>\n\n <Dialog\n copy={{ title: 'Update tag name' }} // TODO: Need copy\n isOpen={editOpen}\n onClose={() => setEditOpen(false)}\n onPrimaryAction={handleSaveTag}\n onSecondaryAction={() => setEditOpen(false)}\n >\n <TextField\n aria-describedby={tagNameError ? 'update-tag-error' : undefined}\n aria-label={copy.tags_update_the_tag_name}\n name=\"update-tag\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setTagName(e.target.value)}\n placeholder=\"Tag name\" // TODO: Need copy\n sx={{ width: '100%' }}\n value={tagName}\n />\n <P id=\"update-tag-error\" sx={{ color: 'error.main' }} variant=\"subtitle2\">\n {tagNameError}\n </P>\n </Dialog>\n\n <Dialog\n copy={{ title: copy.tags_delete_title }}\n isOpen={deleteOpen}\n onClose={() => setDeleteOpen(false)}\n onPrimaryAction={handleDeleteTag}\n onSecondaryAction={() =>\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_DELETE_CANCEL_CLICK)\n }\n primaryText={commonCopy.delete_button}\n secondaryText={commonCopy.cancel_button}\n >\n <Text truncate={false}>{copy.tags_deleting_this_tag_will_remove_it}</Text>\n </Dialog>\n </ListItem>\n )\n}\n\nexport default observer(TagRow)\n"],"mappings":";;;;;;;;;;;;;;;AA2BA,IAAM,IAAA,CAAiC,EAAE,cAAA,GAAc,cAAA,GAAc,KAAA,EAAA,MAAU;AAC7E,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,WAAA,GAAW,WAAA,EAAA,IAAc,EAAoB,GAC/C,EAAE,QAAQ,GAAY,cAAc,EAAA,IAAS,EAAmB,GAEhE,CAAC,GAAU,CAAA,IAAe,EAAM,SAAS,EAAK,GAC9C,CAAC,GAAY,CAAA,IAAiB,EAAM,SAAS,EAAK,GAElD,CAAC,GAAS,CAAA,IAAc,EAAM,SAAS,EAAE,GACzC,CAAC,GAAc,CAAA,IAAmB,EAAM,SAAS,EAAE,GAEnD,IAAgB,YAAY;AAChC,IAAA,EAAQ,EAAgB,kCAAkC,GACtD,KACF,MAAM,EAAU;AAAA,MAAE,GAAG;AAAA,MAAK,MAAM;AAAA,IAAQ,CAAC,GAE3C,EAAY,EAAK;AAAA,EACnB,GAEM,IAAkB,YAAY;AAClC,IAAA,EAAQ,EAAgB,+BAA+B,GACvD,MAAM,EAAU,EAAI,IAAI,GACxB,EAAc,EAAK;AAAA,EACrB;AAEA,EAAA,EAAM,UAAA,MAAgB;AACpB,IAAA,EAAgB,EAAQ,SAAS,KAAK,EAAK,mCAAmC,EAAE;AAAA,EAClF,GAAG,CAAC,CAAO,CAAC;AAEZ,QAAM,IAAA,MAAwB;AAC5B,IAAA,EAAQ,EAAgB,kCAAkC,GAC1D,EAAW,EAAI,IAAI,GACnB,EAAY,EAAI;AAAA,EAClB,GAEM,IAAA,MAA0B;AAC9B,IAAA,EAAQ,EAAgB,oCAAoC,GAC5D,EAAc,EAAI;AAAA,EACpB;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,WAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB,iBACE,CAAC,EAAI,kBACH,gBAAA,EAAC,GAAD;AAAA,MAAO,WAAU;AAAA,
|
|
1
|
+
{"version":3,"file":"TagRow.es.js","names":[],"sources":["../../../../src/transactions/components/tagmanager/TagRow.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Checkbox from '@mui/material/Checkbox'\nimport IconButton from '@mui/material/IconButton'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport ListItemText from '@mui/material/ListItemText'\nimport Stack from '@mui/material/Stack'\n\nimport { P, Text, TextField } from '@mxenabled/mxui'\nimport { Delete as DeleteOutlinedIcon, Edit as EditIcon } from '@mxenabled/mx-icons'\n\nimport { Dialog, useGlobalCopyStore } from '../../../common'\n\nimport type { Tag } from '../../../core'\n\nimport { useEvent, useTransactionStore } from '../../../common'\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\n\ninterface TagRowProps {\n tag: Tag\n selectedTags: string[]\n onTagChecked: (guid: string) => void\n}\n\nconst TagRow: React.FC<TagRowProps> = ({ onTagChecked, selectedTags, tag }) => {\n const { onEvent } = useEvent()\n const { removeTag, updateTag } = useTransactionStore()\n const { common: commonCopy, transactions: copy } = useGlobalCopyStore()\n\n const [editOpen, setEditOpen] = React.useState(false)\n const [deleteOpen, setDeleteOpen] = React.useState(false)\n\n const [tagName, setTagName] = React.useState('')\n const [tagNameError, setTagNameError] = React.useState('')\n\n const handleSaveTag = async () => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_EDIT_SAVED)\n if (tag) {\n await updateTag({ ...tag, name: tagName })\n }\n setEditOpen(false)\n }\n\n const handleDeleteTag = async () => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_DELETED)\n await removeTag(tag.guid)\n setDeleteOpen(false)\n }\n\n React.useEffect(() => {\n setTagNameError(tagName.length > 40 ? copy.tags_error_name_must_be_40_chars : '')\n }, [tagName])\n\n const handleEditClick = () => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_EDIT_CLICK)\n setTagName(tag.name)\n setEditOpen(true)\n }\n\n const handleDeleteClick = () => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_DELETE_CLICK)\n setDeleteOpen(true)\n }\n\n return (\n <ListItem\n className=\"mx-txn-transaction-manager-row\"\n disableGutters={true}\n disablePadding={true}\n secondaryAction={\n !tag.is_default_tag && (\n <Stack direction=\"row\">\n <IconButton\n aria-label={`Edit ${tag.name} tag`}\n color=\"secondary\"\n onClick={handleEditClick}\n >\n <EditIcon color=\"secondary\" />\n </IconButton>\n <IconButton\n aria-label={`Delete ${tag.name} tag`}\n color=\"secondary\"\n onClick={handleDeleteClick}\n >\n <DeleteOutlinedIcon color=\"secondary\" />\n </IconButton>\n </Stack>\n )\n }\n >\n <ListItemButton\n aria-checked={selectedTags.includes(tag.guid)}\n onClick={() => onTagChecked(tag.guid)}\n role=\"checkbox\"\n tabIndex={0}\n >\n <ListItemIcon sx={{ ml: 0 }}>\n <Checkbox\n aria-hidden={true}\n checked={selectedTags.includes(tag.guid)}\n edge=\"start\"\n tabIndex={-1}\n />\n </ListItemIcon>\n <ListItemText>{tag.name}</ListItemText>\n </ListItemButton>\n\n <Dialog\n copy={{ title: 'Update tag name' }} // TODO: Need copy\n isOpen={editOpen}\n onClose={() => setEditOpen(false)}\n onPrimaryAction={handleSaveTag}\n onSecondaryAction={() => setEditOpen(false)}\n >\n <TextField\n aria-describedby={tagNameError ? 'update-tag-error' : undefined}\n aria-label={copy.tags_update_the_tag_name}\n name=\"update-tag\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setTagName(e.target.value)}\n placeholder=\"Tag name\" // TODO: Need copy\n sx={{ width: '100%' }}\n value={tagName}\n />\n <P id=\"update-tag-error\" sx={{ color: 'error.main' }} variant=\"subtitle2\">\n {tagNameError}\n </P>\n </Dialog>\n\n <Dialog\n copy={{ title: copy.tags_delete_title }}\n isOpen={deleteOpen}\n onClose={() => setDeleteOpen(false)}\n onPrimaryAction={handleDeleteTag}\n onSecondaryAction={() =>\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_TAGS_TAG_DELETE_CANCEL_CLICK)\n }\n primaryText={commonCopy.delete_button}\n secondaryText={commonCopy.cancel_button}\n >\n <Text truncate={false}>{copy.tags_deleting_this_tag_will_remove_it}</Text>\n </Dialog>\n </ListItem>\n )\n}\n\nexport default observer(TagRow)\n"],"mappings":";;;;;;;;;;;;;;;AA2BA,IAAM,IAAA,CAAiC,EAAE,cAAA,GAAc,cAAA,GAAc,KAAA,EAAA,MAAU;AAC7E,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,WAAA,GAAW,WAAA,EAAA,IAAc,EAAoB,GAC/C,EAAE,QAAQ,GAAY,cAAc,EAAA,IAAS,EAAmB,GAEhE,CAAC,GAAU,CAAA,IAAe,EAAM,SAAS,EAAK,GAC9C,CAAC,GAAY,CAAA,IAAiB,EAAM,SAAS,EAAK,GAElD,CAAC,GAAS,CAAA,IAAc,EAAM,SAAS,EAAE,GACzC,CAAC,GAAc,CAAA,IAAmB,EAAM,SAAS,EAAE,GAEnD,IAAgB,YAAY;AAChC,IAAA,EAAQ,EAAgB,kCAAkC,GACtD,KACF,MAAM,EAAU;AAAA,MAAE,GAAG;AAAA,MAAK,MAAM;AAAA,IAAQ,CAAC,GAE3C,EAAY,EAAK;AAAA,EACnB,GAEM,IAAkB,YAAY;AAClC,IAAA,EAAQ,EAAgB,+BAA+B,GACvD,MAAM,EAAU,EAAI,IAAI,GACxB,EAAc,EAAK;AAAA,EACrB;AAEA,EAAA,EAAM,UAAA,MAAgB;AACpB,IAAA,EAAgB,EAAQ,SAAS,KAAK,EAAK,mCAAmC,EAAE;AAAA,EAClF,GAAG,CAAC,CAAO,CAAC;AAEZ,QAAM,IAAA,MAAwB;AAC5B,IAAA,EAAQ,EAAgB,kCAAkC,GAC1D,EAAW,EAAI,IAAI,GACnB,EAAY,EAAI;AAAA,EAClB,GAEM,IAAA,MAA0B;AAC9B,IAAA,EAAQ,EAAgB,oCAAoC,GAC5D,EAAc,EAAI;AAAA,EACpB;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,WAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB,iBACE,CAAC,EAAI,kBACH,gBAAA,EAAC,GAAD;AAAA,MAAO,WAAU;AAAA,MAAjB,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QACE,cAAY,QAAQ,EAAI,IAAA;AAAA,QACxB,OAAM;AAAA,QACN,SAAS;AAAA,QAET,UAAA,gBAAA,EAAC,GAAD,EAAU,OAAM,YAAa,CAAA;AAAA,MACnB,CAAA,GACZ,gBAAA,EAAC,GAAD;AAAA,QACE,cAAY,UAAU,EAAI,IAAA;AAAA,QAC1B,OAAM;AAAA,QACN,SAAS;AAAA,QAET,UAAA,gBAAA,EAAC,GAAD,EAAoB,OAAM,YAAa,CAAA;AAAA,MAC7B,CAAA,CACP;AAAA;IArBb,UAAA;AAAA,MAyBE,gBAAA,EAAC,GAAD;AAAA,QACE,gBAAc,EAAa,SAAS,EAAI,IAAI;AAAA,QAC5C,SAAA,MAAe,EAAa,EAAI,IAAI;AAAA,QACpC,MAAK;AAAA,QACL,UAAU;AAAA,QAJZ,UAAA,CAME,gBAAA,EAAC,GAAD;AAAA,UAAc,IAAI,EAAE,IAAI,EAAE;AAAA,UACxB,UAAA,gBAAA,EAAC,GAAD;AAAA,YACE,eAAa;AAAA,YACb,SAAS,EAAa,SAAS,EAAI,IAAI;AAAA,YACvC,MAAK;AAAA,YACL,UAAU;AAAA,UACX,CAAA;AAAA,QACW,CAAA,GACd,gBAAA,EAAC,GAAD,EAAA,UAAe,EAAI,KAAmB,CAAA,CACxB;AAAA;MAEhB,gBAAA,EAAC,GAAD;AAAA,QACE,MAAM,EAAE,OAAO,kBAAkB;AAAA,QACjC,QAAQ;AAAA,QACR,SAAA,MAAe,EAAY,EAAK;AAAA,QAChC,iBAAiB;AAAA,QACjB,mBAAA,MAAyB,EAAY,EAAK;AAAA,QAL5C,UAAA,CAOE,gBAAA,EAAC,GAAD;AAAA,UACE,oBAAkB,IAAe,qBAAqB;AAAA,UACtD,cAAY,EAAK;AAAA,UACjB,MAAK;AAAA,UACL,UAAA,CAAW,MAA2C,EAAW,EAAE,OAAO,KAAK;AAAA,UAC/E,aAAY;AAAA,UACZ,IAAI,EAAE,OAAO,OAAO;AAAA,UACpB,OAAO;AAAA,QACR,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,UAAG,IAAG;AAAA,UAAmB,IAAI,EAAE,OAAO,aAAa;AAAA,UAAG,SAAQ;AAAA,UAC3D,UAAA;AAAA,QACA,CAAA,CACG;AAAA;MAER,gBAAA,EAAC,GAAD;AAAA,QACE,MAAM,EAAE,OAAO,EAAK,kBAAkB;AAAA,QACtC,QAAQ;AAAA,QACR,SAAA,MAAe,EAAc,EAAK;AAAA,QAClC,iBAAiB;AAAA,QACjB,mBAAA,MACE,EAAQ,EAAgB,2CAA2C;AAAA,QAErE,aAAa,EAAW;AAAA,QACxB,eAAe,EAAW;AAAA,QAE1B,UAAA,gBAAA,EAAC,GAAD;AAAA,UAAM,UAAU;AAAA,UAAQ,UAAA,EAAK;AAAA,QAA4C,CAAA;AAAA,MACnE,CAAA;AAAA,IACA;AAAA;AAEd,GAEA,KAAe,EAAS,CAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddAccountModal.es.js","names":[],"sources":["../../../../src/transactions/components/transactionwidget/AddAccountModal.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { Text } from '@mxenabled/mxui'\nimport { Dialog, Loader, useGlobalCopyStore, useGlobalUiStore } from '../../../common'\nimport { DialogProps } from '../../../common/components/dialog/Dialog'\n\nconst AddAccountModal: React.FC<DialogProps> = ({ copy, isOpen, onClose, onPrimaryAction }) => {\n const { common: commonCopy, transactions: modalCopy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n return isCopyLoaded ? (\n <Dialog\n copy={{\n title: copy.title,\n }}\n isOpen={isOpen}\n onClose={onClose}\n onPrimaryAction={onPrimaryAction}\n primaryText={modalCopy.add_manual_account}\n secondaryText={commonCopy.cancel_button}\n >\n <Text component=\"p\" sx={{ marginBottom: '20px' }} truncate={false}>\n {modalCopy.add_account_modal_message}\n </Text>\n <Text component=\"p\" truncate={false}>\n {modalCopy.add_account_modal_cta}\n </Text>\n </Dialog>\n ) : (\n <Loader />\n )\n}\n\nexport default observer(AddAccountModal)\n"],"mappings":";;;;;;;AAMA,IAAM,IAAA,CAA0C,EAAE,MAAA,GAAM,QAAA,GAAQ,SAAA,GAAS,iBAAA,EAAA,MAAsB;AAC7F,QAAM,EAAE,QAAQ,GAAY,cAAc,EAAA,IAAc,EAAmB,GACrE,EAAE,cAAA,EAAA,IAAiB,EAAiB;AAE1C,SAAO,IACL,gBAAA,EAAC,GAAD;AAAA,IACE,MAAM,EACJ,OAAO,EAAK,MACd;AAAA,IACQ,QAAA;AAAA,IACC,SAAA;AAAA,IACQ,iBAAA;AAAA,IACjB,aAAa,EAAU;AAAA,IACvB,eAAe,EAAW;AAAA,
|
|
1
|
+
{"version":3,"file":"AddAccountModal.es.js","names":[],"sources":["../../../../src/transactions/components/transactionwidget/AddAccountModal.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { Text } from '@mxenabled/mxui'\nimport { Dialog, Loader, useGlobalCopyStore, useGlobalUiStore } from '../../../common'\nimport { DialogProps } from '../../../common/components/dialog/Dialog'\n\nconst AddAccountModal: React.FC<DialogProps> = ({ copy, isOpen, onClose, onPrimaryAction }) => {\n const { common: commonCopy, transactions: modalCopy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n return isCopyLoaded ? (\n <Dialog\n copy={{\n title: copy.title,\n }}\n isOpen={isOpen}\n onClose={onClose}\n onPrimaryAction={onPrimaryAction}\n primaryText={modalCopy.add_manual_account}\n secondaryText={commonCopy.cancel_button}\n >\n <Text component=\"p\" sx={{ marginBottom: '20px' }} truncate={false}>\n {modalCopy.add_account_modal_message}\n </Text>\n <Text component=\"p\" truncate={false}>\n {modalCopy.add_account_modal_cta}\n </Text>\n </Dialog>\n ) : (\n <Loader />\n )\n}\n\nexport default observer(AddAccountModal)\n"],"mappings":";;;;;;;AAMA,IAAM,IAAA,CAA0C,EAAE,MAAA,GAAM,QAAA,GAAQ,SAAA,GAAS,iBAAA,EAAA,MAAsB;AAC7F,QAAM,EAAE,QAAQ,GAAY,cAAc,EAAA,IAAc,EAAmB,GACrE,EAAE,cAAA,EAAA,IAAiB,EAAiB;AAE1C,SAAO,IACL,gBAAA,EAAC,GAAD;AAAA,IACE,MAAM,EACJ,OAAO,EAAK,MACd;AAAA,IACQ,QAAA;AAAA,IACC,SAAA;AAAA,IACQ,iBAAA;AAAA,IACjB,aAAa,EAAU;AAAA,IACvB,eAAe,EAAW;AAAA,IAR5B,UAAA,CAUE,gBAAA,EAAC,GAAD;AAAA,MAAM,WAAU;AAAA,MAAI,IAAI,EAAE,cAAc,OAAO;AAAA,MAAG,UAAU;AAAA,MACzD,UAAA,EAAU;AAAA,IACP,CAAA,GACN,gBAAA,EAAC,GAAD;AAAA,MAAM,WAAU;AAAA,MAAI,UAAU;AAAA,MAC3B,UAAA,EAAU;AAAA,IACP,CAAA,CACA;AAAA,EAER,CAAA,IAAA,gBAAA,EAAC,GAAD,CAAS,CAAA;AAEb,GAEA,IAAe,EAAS,CAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditCategoryAction.es.js","names":[],"sources":["../../../../../src/transactions/components/transactionwidget/actions/EditCategoryAction.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\n\nimport { P } from '@mxenabled/mxui'\n\nimport { CategorySelectorDrawer } from '../../../../categories'\n\nimport { Dialog, useCategoryStore, useGlobalCopyStore } from '../../../../common'\nimport type { Transaction } from '../../../../core'\n\nimport { useTransactionStore } from '../../../../common'\nimport { buildDynamicCopy } from '../../../../core/utils/Localization'\n\ninterface EditCategoryActionProps {\n onClose: () => void\n transaction: Transaction\n}\n\nconst EditCategoryAction: React.FC<EditCategoryActionProps> = ({ onClose, transaction }) => {\n const { addOrUpdateTransactionRule, updateTransaction } = useTransactionStore()\n const { transactions: copy } = useGlobalCopyStore()\n\n const { categories } = useCategoryStore()\n\n const [categoryGuid, setCategoryGuid] = React.useState('')\n\n const category = React.useMemo(\n () => categories.find((item) => item.guid === categoryGuid),\n [categoryGuid],\n )\n\n const handleCategoryChanged = async (applyToAll: boolean) => {\n await updateTransaction({ ...transaction, category_guid: categoryGuid })\n if (applyToAll) {\n await addOrUpdateTransactionRule(categoryGuid, transaction)\n }\n\n setCategoryGuid('')\n onClose()\n }\n\n return (\n <Box className=\"mx-txn-edit-category-action\">\n <CategorySelectorDrawer\n initialSelected={transaction.category_guid}\n onClose={onClose}\n onSelect={(guid: string) => setCategoryGuid(guid)}\n showDrawer={!!transaction}\n title={copy.actions_select_a_category}\n />\n <Dialog\n copy={{\n title: buildDynamicCopy(\n copy.actions_apply_to_all_transaction_types,\n transaction.description,\n ) as string,\n }}\n isOpen={!!categoryGuid}\n onClose={() => handleCategoryChanged(false)}\n onPrimaryAction={() => handleCategoryChanged(true)}\n onSecondaryAction={() => handleCategoryChanged(false)}\n primaryText={copy.actions_apply_to_all}\n secondaryText={copy.actions_this_time_only}\n >\n <P variant=\"subtitle1\">\n {\n buildDynamicCopy(\n copy.actions_all_past_and_future,\n transaction.description,\n category?.name,\n ) as string\n }\n </P>\n </Dialog>\n </Box>\n )\n}\n\nexport default observer(EditCategoryAction)\n"],"mappings":";;;;;;;;;AAoBA,IAAM,IAAA,CAAyD,EAAE,SAAA,GAAS,aAAA,EAAA,MAAkB;AAC1F,QAAM,EAAE,4BAAA,GAA4B,mBAAA,EAAA,IAAsB,EAAoB,GACxE,EAAE,cAAc,EAAA,IAAS,EAAmB,GAE5C,EAAE,YAAA,EAAA,IAAe,EAAiB,GAElC,CAAC,GAAc,CAAA,IAAmB,EAAM,SAAS,EAAE,GAEnD,IAAW,EAAM,QAAA,MACf,EAAW,KAAA,CAAM,MAAS,EAAK,SAAS,CAAY,GAC1D,CAAC,CAAY,CACf,GAEM,IAAwB,OAAO,MAAwB;AAC3D,UAAM,EAAkB;AAAA,MAAE,GAAG;AAAA,MAAa,eAAe;AAAA,IAAa,CAAC,GACnE,KACF,MAAM,EAA2B,GAAc,CAAW,GAG5D,EAAgB,EAAE,GAClB,EAAQ;AAAA,EACV;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAK,WAAU;AAAA,
|
|
1
|
+
{"version":3,"file":"EditCategoryAction.es.js","names":[],"sources":["../../../../../src/transactions/components/transactionwidget/actions/EditCategoryAction.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\n\nimport { P } from '@mxenabled/mxui'\n\nimport { CategorySelectorDrawer } from '../../../../categories'\n\nimport { Dialog, useCategoryStore, useGlobalCopyStore } from '../../../../common'\nimport type { Transaction } from '../../../../core'\n\nimport { useTransactionStore } from '../../../../common'\nimport { buildDynamicCopy } from '../../../../core/utils/Localization'\n\ninterface EditCategoryActionProps {\n onClose: () => void\n transaction: Transaction\n}\n\nconst EditCategoryAction: React.FC<EditCategoryActionProps> = ({ onClose, transaction }) => {\n const { addOrUpdateTransactionRule, updateTransaction } = useTransactionStore()\n const { transactions: copy } = useGlobalCopyStore()\n\n const { categories } = useCategoryStore()\n\n const [categoryGuid, setCategoryGuid] = React.useState('')\n\n const category = React.useMemo(\n () => categories.find((item) => item.guid === categoryGuid),\n [categoryGuid],\n )\n\n const handleCategoryChanged = async (applyToAll: boolean) => {\n await updateTransaction({ ...transaction, category_guid: categoryGuid })\n if (applyToAll) {\n await addOrUpdateTransactionRule(categoryGuid, transaction)\n }\n\n setCategoryGuid('')\n onClose()\n }\n\n return (\n <Box className=\"mx-txn-edit-category-action\">\n <CategorySelectorDrawer\n initialSelected={transaction.category_guid}\n onClose={onClose}\n onSelect={(guid: string) => setCategoryGuid(guid)}\n showDrawer={!!transaction}\n title={copy.actions_select_a_category}\n />\n <Dialog\n copy={{\n title: buildDynamicCopy(\n copy.actions_apply_to_all_transaction_types,\n transaction.description,\n ) as string,\n }}\n isOpen={!!categoryGuid}\n onClose={() => handleCategoryChanged(false)}\n onPrimaryAction={() => handleCategoryChanged(true)}\n onSecondaryAction={() => handleCategoryChanged(false)}\n primaryText={copy.actions_apply_to_all}\n secondaryText={copy.actions_this_time_only}\n >\n <P variant=\"subtitle1\">\n {\n buildDynamicCopy(\n copy.actions_all_past_and_future,\n transaction.description,\n category?.name,\n ) as string\n }\n </P>\n </Dialog>\n </Box>\n )\n}\n\nexport default observer(EditCategoryAction)\n"],"mappings":";;;;;;;;;AAoBA,IAAM,IAAA,CAAyD,EAAE,SAAA,GAAS,aAAA,EAAA,MAAkB;AAC1F,QAAM,EAAE,4BAAA,GAA4B,mBAAA,EAAA,IAAsB,EAAoB,GACxE,EAAE,cAAc,EAAA,IAAS,EAAmB,GAE5C,EAAE,YAAA,EAAA,IAAe,EAAiB,GAElC,CAAC,GAAc,CAAA,IAAmB,EAAM,SAAS,EAAE,GAEnD,IAAW,EAAM,QAAA,MACf,EAAW,KAAA,CAAM,MAAS,EAAK,SAAS,CAAY,GAC1D,CAAC,CAAY,CACf,GAEM,IAAwB,OAAO,MAAwB;AAC3D,UAAM,EAAkB;AAAA,MAAE,GAAG;AAAA,MAAa,eAAe;AAAA,IAAa,CAAC,GACnE,KACF,MAAM,EAA2B,GAAc,CAAW,GAG5D,EAAgB,EAAE,GAClB,EAAQ;AAAA,EACV;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAK,WAAU;AAAA,IAAf,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,iBAAiB,EAAY;AAAA,MACpB,SAAA;AAAA,MACT,UAAA,CAAW,MAAiB,EAAgB,CAAI;AAAA,MAChD,YAAY,CAAC,CAAC;AAAA,MACd,OAAO,EAAK;AAAA,IACb,CAAA,GACD,gBAAA,EAAC,GAAD;AAAA,MACE,MAAM,EACJ,OAAO,EACL,EAAK,wCACL,EAAY,WACd,EACF;AAAA,MACA,QAAQ,CAAC,CAAC;AAAA,MACV,SAAA,MAAe,EAAsB,EAAK;AAAA,MAC1C,iBAAA,MAAuB,EAAsB,EAAI;AAAA,MACjD,mBAAA,MAAyB,EAAsB,EAAK;AAAA,MACpD,aAAa,EAAK;AAAA,MAClB,eAAe,EAAK;AAAA,MAEpB,UAAA,gBAAA,EAAC,GAAD;AAAA,QAAG,SAAQ;AAAA,QAEP,UAAA,EACE,EAAK,6BACL,EAAY,aACZ,GAAU,IACZ;AAAA,MAED,CAAA;AAAA,IACG,CAAA,CACL;AAAA;AAET,GAEA,IAAe,EAAS,CAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExportCsvAction.es.js","names":[],"sources":["../../../../../src/transactions/components/transactionwidget/actions/ExportCsvAction.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport { Icon } from '@mxenabled/mxui'\n\nimport { ResponsiveButton, useGlobalCopyStore } from '../../../../common'\nimport { useEvent, useTransactionStore } from '../../../../common'\n\nimport { type Transaction } from '../../../../core'\nimport { exportTransactionsToCSV } from '../../../../core/utils/TransactionUtils'\n\nimport { ON_CLICK_EVENTS } from '../../../constants/OnClickEvents'\n\ninterface ExportCsvActionProps {\n filter?: (t: Transaction) => boolean\n}\n\nconst ExportCsvAction = ({ filter }: ExportCsvActionProps) => {\n const { onEvent } = useEvent()\n const { tags, sortedTransactions } = useTransactionStore()\n const { transactions: copy } = useGlobalCopyStore()\n\n const handleExport = () => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_EXPORT_CSV_CLICK)\n exportTransactionsToCSV(filter ? sortedTransactions.filter(filter) : sortedTransactions, tags)\n }\n\n return (\n <div className=\"mx-txn-export-csv-action\">\n <ResponsiveButton\n icon={<Icon name=\"open_in_new\" />}\n label={copy.export_csv_btn}\n onClick={handleExport}\n tooltipText={copy.export_csv_title}\n />\n </div>\n )\n}\n\nexport default observer(ExportCsvAction)\n"],"mappings":";;;;;;;AAgBA,IAAM,IAAA,CAAmB,EAAE,QAAA,EAAA,MAAmC;AAC5D,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,MAAA,GAAM,oBAAA,EAAA,IAAuB,EAAoB,GACnD,EAAE,cAAc,EAAA,IAAS,EAAmB,GAE5C,IAAA,MAAqB;AACzB,IAAA,EAAQ,EAAgB,+BAA+B,GACvD,EAAwB,IAAS,EAAmB,OAAO,CAAM,IAAI,GAAoB,CAAI;AAAA,EAC/F;AAEA,SACE,gBAAA,EAAC,OAAD;AAAA,IAAK,WAAU;AAAA,
|
|
1
|
+
{"version":3,"file":"ExportCsvAction.es.js","names":[],"sources":["../../../../../src/transactions/components/transactionwidget/actions/ExportCsvAction.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport { Icon } from '@mxenabled/mxui'\n\nimport { ResponsiveButton, useGlobalCopyStore } from '../../../../common'\nimport { useEvent, useTransactionStore } from '../../../../common'\n\nimport { type Transaction } from '../../../../core'\nimport { exportTransactionsToCSV } from '../../../../core/utils/TransactionUtils'\n\nimport { ON_CLICK_EVENTS } from '../../../constants/OnClickEvents'\n\ninterface ExportCsvActionProps {\n filter?: (t: Transaction) => boolean\n}\n\nconst ExportCsvAction = ({ filter }: ExportCsvActionProps) => {\n const { onEvent } = useEvent()\n const { tags, sortedTransactions } = useTransactionStore()\n const { transactions: copy } = useGlobalCopyStore()\n\n const handleExport = () => {\n onEvent(ON_CLICK_EVENTS.ON_TRANSACTION_EXPORT_CSV_CLICK)\n exportTransactionsToCSV(filter ? sortedTransactions.filter(filter) : sortedTransactions, tags)\n }\n\n return (\n <div className=\"mx-txn-export-csv-action\">\n <ResponsiveButton\n icon={<Icon name=\"open_in_new\" />}\n label={copy.export_csv_btn}\n onClick={handleExport}\n tooltipText={copy.export_csv_title}\n />\n </div>\n )\n}\n\nexport default observer(ExportCsvAction)\n"],"mappings":";;;;;;;AAgBA,IAAM,IAAA,CAAmB,EAAE,QAAA,EAAA,MAAmC;AAC5D,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,MAAA,GAAM,oBAAA,EAAA,IAAuB,EAAoB,GACnD,EAAE,cAAc,EAAA,IAAS,EAAmB,GAE5C,IAAA,MAAqB;AACzB,IAAA,EAAQ,EAAgB,+BAA+B,GACvD,EAAwB,IAAS,EAAmB,OAAO,CAAM,IAAI,GAAoB,CAAI;AAAA,EAC/F;AAEA,SACE,gBAAA,EAAC,OAAD;AAAA,IAAK,WAAU;AAAA,IACb,UAAA,gBAAA,EAAC,GAAD;AAAA,MACE,MAAM,gBAAA,EAAC,GAAD,EAAM,MAAK,cAAe,CAAA;AAAA,MAChC,OAAO,EAAK;AAAA,MACZ,SAAS;AAAA,MACT,aAAa,EAAK;AAAA,IACnB,CAAA;AAAA,EACE,CAAA;AAET,GAEA,IAAe,EAAS,CAAe"}
|
|
@@ -1,24 +1,32 @@
|
|
|
1
|
-
import { DATE_FORMATS_INTL as
|
|
1
|
+
import { DATE_FORMATS_INTL as n, formatDate as f } from "../../core/constants/DateFormats.es.js";
|
|
2
2
|
import { formatCurrency as u } from "../../core/utils/NumberFormatting.es.js";
|
|
3
3
|
import { fromUnixUTC as m } from "../../core/utils/DateUtil.es.js";
|
|
4
4
|
import { isSameDay as o } from "date-fns/isSameDay";
|
|
5
|
-
var
|
|
6
|
-
|
|
5
|
+
var c = (r, e) => {
|
|
6
|
+
if (r === 0) return !0;
|
|
7
|
+
const t = m(e[r].date), a = m(e[r - 1].date);
|
|
8
|
+
return !o(t, a);
|
|
9
|
+
}, d = (r, e) => {
|
|
10
|
+
if (r === e.length - 1) return !1;
|
|
11
|
+
const t = m(e[r].date), a = m(e[r + 1].date);
|
|
12
|
+
return o(t, a);
|
|
13
|
+
}, l = (r) => r?.data ? r.data.map((e) => Object.fromEntries((r.names || []).map((t, a) => [t, e[a]]))) : [], v = (r, e = "") => r.map((t) => {
|
|
14
|
+
const a = f(t.date, n.MONTH_SHORT);
|
|
7
15
|
return {
|
|
8
16
|
ariaLabel: `
|
|
9
|
-
${
|
|
10
|
-
${u(
|
|
17
|
+
${a},
|
|
18
|
+
${u(t.amount, "0.00")},
|
|
11
19
|
${e}`,
|
|
12
|
-
label:
|
|
13
|
-
value:
|
|
14
|
-
formattedAmount: u(
|
|
20
|
+
label: a,
|
|
21
|
+
value: t.amount,
|
|
22
|
+
formattedAmount: u(t.amount, "0,0")
|
|
15
23
|
};
|
|
16
24
|
});
|
|
17
25
|
export {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
26
|
+
v as buildChartData,
|
|
27
|
+
l as buildDataSeries,
|
|
28
|
+
d as hasInsetBorder,
|
|
29
|
+
c as shouldShowDate
|
|
22
30
|
};
|
|
23
31
|
|
|
24
32
|
//# sourceMappingURL=Transactions.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transactions.es.js","names":[],"sources":["../../../src/transactions/utils/Transactions.ts"],"sourcesContent":["import { isSameDay } from 'date-fns/isSameDay'\n\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { fromUnixUTC } from '../../core/utils/DateUtil'\nimport { type DataSeries, type Transaction } from '../../core'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\n\nexport interface ChartDataProps {\n guid?: string\n label?: string\n localized_label?: string\n amount: number\n date: string\n}\n\nexport const sortByDate = (a: Transaction, b: Transaction) => {\n return b.date - a.date\n}\n\nexport const shouldShowDate = (index: number, transactions: Transaction[]) => {\n if (index === 0) return true\n\n const currentDate = fromUnixUTC(transactions[index].date)\n const previousDate = fromUnixUTC(transactions[index - 1].date)\n\n return !isSameDay(currentDate, previousDate)\n}\n\nexport const hasInsetBorder = (index: number, transactions: Transaction[]) => {\n if (index === transactions.length - 1) return false\n\n const currentDate = fromUnixUTC(transactions[index].date)\n const nextDate = fromUnixUTC(transactions[index + 1].date)\n\n return isSameDay(currentDate, nextDate)\n}\n\nexport const buildDataSeries = (data?: DataSeries) => {\n if (!data?.data) return []\n\n return data.data.map((row) => {\n return Object.fromEntries((data.names || []).map((name, index) => [name, row[index]]))\n })\n}\n\nexport const buildChartData = (dataSeries: ChartDataProps[], merchantName = '') => {\n const data = dataSeries.map((total) => {\n const label = formatDate(total.date, DATE_FORMATS_INTL.MONTH_SHORT)\n\n return {\n ariaLabel: `\n ${label},\n ${formatCurrency(total.amount, '0.00')},\n ${merchantName}`,\n label,\n value: total.amount,\n formattedAmount: formatCurrency(total.amount, '0,0'),\n }\n })\n\n return data\n}\n"],"mappings":";;;;AAmBA,IAAa,IAAA,CAAkB,GAAe,
|
|
1
|
+
{"version":3,"file":"Transactions.es.js","names":[],"sources":["../../../src/transactions/utils/Transactions.ts"],"sourcesContent":["import { isSameDay } from 'date-fns/isSameDay'\n\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { fromUnixUTC } from '../../core/utils/DateUtil'\nimport { type DataSeries, type Transaction } from '../../core'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\n\nexport interface ChartDataProps {\n guid?: string\n label?: string\n localized_label?: string\n amount: number\n date: string\n}\n\nexport const sortByDate = (a: Transaction, b: Transaction) => {\n return b.date - a.date\n}\n\nexport const shouldShowDate = (index: number, transactions: Transaction[]) => {\n if (index === 0) return true\n\n const currentDate = fromUnixUTC(transactions[index].date)\n const previousDate = fromUnixUTC(transactions[index - 1].date)\n\n return !isSameDay(currentDate, previousDate)\n}\n\nexport const hasInsetBorder = (index: number, transactions: Transaction[]) => {\n if (index === transactions.length - 1) return false\n\n const currentDate = fromUnixUTC(transactions[index].date)\n const nextDate = fromUnixUTC(transactions[index + 1].date)\n\n return isSameDay(currentDate, nextDate)\n}\n\nexport const buildDataSeries = (data?: DataSeries) => {\n if (!data?.data) return []\n\n return data.data.map((row) => {\n return Object.fromEntries((data.names || []).map((name, index) => [name, row[index]]))\n })\n}\n\nexport const buildChartData = (dataSeries: ChartDataProps[], merchantName = '') => {\n const data = dataSeries.map((total) => {\n const label = formatDate(total.date, DATE_FORMATS_INTL.MONTH_SHORT)\n\n return {\n ariaLabel: `\n ${label},\n ${formatCurrency(total.amount, '0.00')},\n ${merchantName}`,\n label,\n value: total.amount,\n formattedAmount: formatCurrency(total.amount, '0,0'),\n }\n })\n\n return data\n}\n"],"mappings":";;;;AAmBA,IAAa,IAAA,CAAkB,GAAe,MAAgC;AAC5E,MAAI,MAAU,EAAG,QAAO;AAExB,QAAM,IAAc,EAAY,EAAa,CAAA,EAAO,IAAI,GAClD,IAAe,EAAY,EAAa,IAAQ,CAAA,EAAG,IAAI;AAE7D,SAAO,CAAC,EAAU,GAAa,CAAY;AAC7C,GAEa,IAAA,CAAkB,GAAe,MAAgC;AAC5E,MAAI,MAAU,EAAa,SAAS,EAAG,QAAO;AAE9C,QAAM,IAAc,EAAY,EAAa,CAAA,EAAO,IAAI,GAClD,IAAW,EAAY,EAAa,IAAQ,CAAA,EAAG,IAAI;AAEzD,SAAO,EAAU,GAAa,CAAQ;AACxC,GAEa,IAAA,CAAmB,MACzB,GAAM,OAEJ,EAAK,KAAK,IAAA,CAAK,MACb,OAAO,aAAa,EAAK,SAAS,CAAC,GAAG,IAAA,CAAK,GAAM,MAAU,CAAC,GAAM,EAAI,CAAA,CAAM,CAAC,CAAC,CACtF,IAJuB,CAAC,GAOd,IAAA,CAAkB,GAA8B,IAAe,OAC7D,EAAW,IAAA,CAAK,MAAU;AACrC,QAAM,IAAQ,EAAW,EAAM,MAAM,EAAkB,WAAW;AAElE,SAAO;AAAA,IACL,WAAW;AAAA,UACP,CAAA;AAAA,UACA,EAAe,EAAM,QAAQ,MAAM,CAAA;AAAA,UACnC,CAAA;AAAA,IACJ,OAAA;AAAA,IACA,OAAO,EAAM;AAAA,IACb,iBAAiB,EAAe,EAAM,QAAQ,KAAK;AAAA,EACrD;AACF,CAEO"}
|