@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":"SettingsWidget.es.js","names":[],"sources":["../../src/settings/SettingsWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\nimport Tab from '@mui/material/Tab'\nimport Tabs from '@mui/material/Tabs'\n\nimport {\n Loader,\n useAppConfig,\n useCategoryStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n useScreenSize,\n useWidgetLoadTimer,\n WidgetContainer,\n} from '../common'\nimport { WidgetProps } from '../core'\n\nimport { SettingsWidgetContents } from './components/SettingsWidgetContents'\n\nexport enum SettingsTabs {\n Profile = 0,\n Devices = 1,\n Notifications = 2,\n TransactionRules = 3,\n Help = 4,\n}\n\nexport const SettingsWidget = observer(({ onBackClick, onMenuClick, sx }: WidgetProps) => {\n const { settings: copy } = useGlobalCopyStore()\n const { isCopyLoaded, isInitialized } = useGlobalUiStore()\n const { config } = useAppConfig()\n const { isMobile } = useScreenSize()\n const { categoriesLoaded, loadCategories } = useCategoryStore()\n\n useWidgetLoadTimer({\n widgetName: 'SettingsWidget',\n isLoaded: isInitialized && isCopyLoaded,\n })\n\n React.useEffect(() => {\n if (!categoriesLoaded) {\n loadCategories().finally()\n }\n }, [])\n\n const {\n display_user_profile_in_settings: userProfileEnabled,\n display_mobile_devices_in_settings: mobileDevicesEnabled,\n display_notification_settings_in_settings: notificationsEnabled,\n display_user_transaction_rules_in_settings: transactionRulesEnabled,\n show_help_widget_in_master: helpEnabled,\n } = config\n\n const tabs = [\n { enabled: userProfileEnabled, index: 0, label: copy?.profile_label },\n { enabled: mobileDevicesEnabled, index: 1, label: copy?.mobile_devices_label },\n { enabled: notificationsEnabled, index: 2, label: copy?.notifications_label },\n { enabled: transactionRulesEnabled, index: 3, label: copy?.transaction_rules_label },\n { enabled: helpEnabled, index: 4, label: copy?.help_label },\n ]\n\n const firstEnabledTab = tabs.find((tab) => tab.enabled)\n const [selectedTab, setSelectedTab] = React.useState(firstEnabledTab ? firstEnabledTab.index : -1)\n\n if (!isCopyLoaded || !isInitialized) {\n return <Loader />\n }\n\n return (\n <WidgetContainer\n onBackClick={onBackClick}\n onMenuClick={onMenuClick}\n showAccountFilter={false}\n sx={{ height: 'calc(100dvh - 24px)', overflow: 'auto', ...sx }}\n title={copy.title}\n >\n <Stack mx={isMobile ? 0 : 48} my={24}>\n <Tabs\n onChange={(_, newValue) => setSelectedTab(newValue)}\n sx={{ bgcolor: 'background.paper' }}\n textColor=\"primary\"\n value={selectedTab}\n variant=\"scrollable\"\n >\n {tabs.map(\n (tab) => tab.enabled && <Tab key={tab.index} label={tab.label} value={tab.index} />,\n )}\n </Tabs>\n\n <SettingsWidgetContents selectedTab={selectedTab} />\n </Stack>\n </WidgetContainer>\n )\n})\n"],"mappings":";;;;;;;;;;;;AAqBA,IAAY,IAAL,0BAAA,GAAA;AACL,SAAA,EAAA,EAAA,UAAA,CAAA,IAAA,WACA,EAAA,EAAA,UAAA,CAAA,IAAA,WACA,EAAA,EAAA,gBAAA,CAAA,IAAA,iBACA,EAAA,EAAA,mBAAA,CAAA,IAAA,oBACA,EAAA,EAAA,OAAA,CAAA,IAAA;AACF,GAAA,CAAA,CAAA,GAEa,IAAiB,EAAA,CAAU,EAAE,aAAA,GAAa,aAAA,GAAa,IAAA,EAAA,MAAsB;AACxF,QAAM,EAAE,UAAU,EAAA,IAAS,EAAmB,GACxC,EAAE,cAAA,GAAc,eAAA,EAAA,IAAkB,EAAiB,GACnD,EAAE,QAAA,EAAA,IAAW,EAAa,GAC1B,EAAE,UAAA,EAAA,IAAa,EAAc,GAC7B,EAAE,kBAAA,GAAkB,gBAAA,EAAA,IAAmB,EAAiB;AAE9D,EAAA,EAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU,KAAiB;AAAA,EAC7B,CAAC,GAED,EAAM,UAAA,MAAgB;AACpB,IAAK,KACH,EAAe,EAAE,QAAQ;AAAA,EAE7B,GAAG,CAAC,CAAC;AAEL,QAAM,EACJ,kCAAkC,GAClC,oCAAoC,GACpC,2CAA2C,GAC3C,4CAA4C,GAC5C,4BAA4B,EAAA,IAC1B,GAEE,IAAO;AAAA,IACX;AAAA,MAAE,SAAS;AAAA,MAAoB,OAAO;AAAA,MAAG,OAAO,GAAM;AAAA,IAAc;AAAA,IACpE;AAAA,MAAE,SAAS;AAAA,MAAsB,OAAO;AAAA,MAAG,OAAO,GAAM;AAAA,IAAqB;AAAA,IAC7E;AAAA,MAAE,SAAS;AAAA,MAAsB,OAAO;AAAA,MAAG,OAAO,GAAM;AAAA,IAAoB;AAAA,IAC5E;AAAA,MAAE,SAAS;AAAA,MAAyB,OAAO;AAAA,MAAG,OAAO,GAAM;AAAA,IAAwB;AAAA,IACnF;AAAA,MAAE,SAAS;AAAA,MAAa,OAAO;AAAA,MAAG,OAAO,GAAM;AAAA,IAAW;AAAA,EAC5D,GAEM,IAAkB,EAAK,KAAA,CAAM,MAAQ,EAAI,OAAO,GAChD,CAAC,GAAa,CAAA,IAAkB,EAAM,SAAS,IAAkB,EAAgB,QAAQ,EAAE;AAEjG,SAAI,CAAC,KAAgB,CAAC,IACb,gBAAA,EAAC,GAAD,CAAS,CAAA,IAIhB,gBAAA,EAAC,GAAD;AAAA,IACe,aAAA;AAAA,IACA,aAAA;AAAA,IACb,mBAAmB;AAAA,IACnB,IAAI;AAAA,MAAE,QAAQ;AAAA,MAAuB,UAAU;AAAA,MAAQ,GAAG;AAAA,IAAG;AAAA,IAC7D,OAAO,EAAK;AAAA,
|
|
1
|
+
{"version":3,"file":"SettingsWidget.es.js","names":[],"sources":["../../src/settings/SettingsWidget.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\nimport Tab from '@mui/material/Tab'\nimport Tabs from '@mui/material/Tabs'\n\nimport {\n Loader,\n useAppConfig,\n useCategoryStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n useScreenSize,\n useWidgetLoadTimer,\n WidgetContainer,\n} from '../common'\nimport { WidgetProps } from '../core'\n\nimport { SettingsWidgetContents } from './components/SettingsWidgetContents'\n\nexport enum SettingsTabs {\n Profile = 0,\n Devices = 1,\n Notifications = 2,\n TransactionRules = 3,\n Help = 4,\n}\n\nexport const SettingsWidget = observer(({ onBackClick, onMenuClick, sx }: WidgetProps) => {\n const { settings: copy } = useGlobalCopyStore()\n const { isCopyLoaded, isInitialized } = useGlobalUiStore()\n const { config } = useAppConfig()\n const { isMobile } = useScreenSize()\n const { categoriesLoaded, loadCategories } = useCategoryStore()\n\n useWidgetLoadTimer({\n widgetName: 'SettingsWidget',\n isLoaded: isInitialized && isCopyLoaded,\n })\n\n React.useEffect(() => {\n if (!categoriesLoaded) {\n loadCategories().finally()\n }\n }, [])\n\n const {\n display_user_profile_in_settings: userProfileEnabled,\n display_mobile_devices_in_settings: mobileDevicesEnabled,\n display_notification_settings_in_settings: notificationsEnabled,\n display_user_transaction_rules_in_settings: transactionRulesEnabled,\n show_help_widget_in_master: helpEnabled,\n } = config\n\n const tabs = [\n { enabled: userProfileEnabled, index: 0, label: copy?.profile_label },\n { enabled: mobileDevicesEnabled, index: 1, label: copy?.mobile_devices_label },\n { enabled: notificationsEnabled, index: 2, label: copy?.notifications_label },\n { enabled: transactionRulesEnabled, index: 3, label: copy?.transaction_rules_label },\n { enabled: helpEnabled, index: 4, label: copy?.help_label },\n ]\n\n const firstEnabledTab = tabs.find((tab) => tab.enabled)\n const [selectedTab, setSelectedTab] = React.useState(firstEnabledTab ? firstEnabledTab.index : -1)\n\n if (!isCopyLoaded || !isInitialized) {\n return <Loader />\n }\n\n return (\n <WidgetContainer\n onBackClick={onBackClick}\n onMenuClick={onMenuClick}\n showAccountFilter={false}\n sx={{ height: 'calc(100dvh - 24px)', overflow: 'auto', ...sx }}\n title={copy.title}\n >\n <Stack mx={isMobile ? 0 : 48} my={24}>\n <Tabs\n onChange={(_, newValue) => setSelectedTab(newValue)}\n sx={{ bgcolor: 'background.paper' }}\n textColor=\"primary\"\n value={selectedTab}\n variant=\"scrollable\"\n >\n {tabs.map(\n (tab) => tab.enabled && <Tab key={tab.index} label={tab.label} value={tab.index} />,\n )}\n </Tabs>\n\n <SettingsWidgetContents selectedTab={selectedTab} />\n </Stack>\n </WidgetContainer>\n )\n})\n"],"mappings":";;;;;;;;;;;;AAqBA,IAAY,IAAL,0BAAA,GAAA;AACL,SAAA,EAAA,EAAA,UAAA,CAAA,IAAA,WACA,EAAA,EAAA,UAAA,CAAA,IAAA,WACA,EAAA,EAAA,gBAAA,CAAA,IAAA,iBACA,EAAA,EAAA,mBAAA,CAAA,IAAA,oBACA,EAAA,EAAA,OAAA,CAAA,IAAA;AACF,GAAA,CAAA,CAAA,GAEa,IAAiB,EAAA,CAAU,EAAE,aAAA,GAAa,aAAA,GAAa,IAAA,EAAA,MAAsB;AACxF,QAAM,EAAE,UAAU,EAAA,IAAS,EAAmB,GACxC,EAAE,cAAA,GAAc,eAAA,EAAA,IAAkB,EAAiB,GACnD,EAAE,QAAA,EAAA,IAAW,EAAa,GAC1B,EAAE,UAAA,EAAA,IAAa,EAAc,GAC7B,EAAE,kBAAA,GAAkB,gBAAA,EAAA,IAAmB,EAAiB;AAE9D,EAAA,EAAmB;AAAA,IACjB,YAAY;AAAA,IACZ,UAAU,KAAiB;AAAA,EAC7B,CAAC,GAED,EAAM,UAAA,MAAgB;AACpB,IAAK,KACH,EAAe,EAAE,QAAQ;AAAA,EAE7B,GAAG,CAAC,CAAC;AAEL,QAAM,EACJ,kCAAkC,GAClC,oCAAoC,GACpC,2CAA2C,GAC3C,4CAA4C,GAC5C,4BAA4B,EAAA,IAC1B,GAEE,IAAO;AAAA,IACX;AAAA,MAAE,SAAS;AAAA,MAAoB,OAAO;AAAA,MAAG,OAAO,GAAM;AAAA,IAAc;AAAA,IACpE;AAAA,MAAE,SAAS;AAAA,MAAsB,OAAO;AAAA,MAAG,OAAO,GAAM;AAAA,IAAqB;AAAA,IAC7E;AAAA,MAAE,SAAS;AAAA,MAAsB,OAAO;AAAA,MAAG,OAAO,GAAM;AAAA,IAAoB;AAAA,IAC5E;AAAA,MAAE,SAAS;AAAA,MAAyB,OAAO;AAAA,MAAG,OAAO,GAAM;AAAA,IAAwB;AAAA,IACnF;AAAA,MAAE,SAAS;AAAA,MAAa,OAAO;AAAA,MAAG,OAAO,GAAM;AAAA,IAAW;AAAA,EAC5D,GAEM,IAAkB,EAAK,KAAA,CAAM,MAAQ,EAAI,OAAO,GAChD,CAAC,GAAa,CAAA,IAAkB,EAAM,SAAS,IAAkB,EAAgB,QAAQ,EAAE;AAEjG,SAAI,CAAC,KAAgB,CAAC,IACb,gBAAA,EAAC,GAAD,CAAS,CAAA,IAIhB,gBAAA,EAAC,GAAD;AAAA,IACe,aAAA;AAAA,IACA,aAAA;AAAA,IACb,mBAAmB;AAAA,IACnB,IAAI;AAAA,MAAE,QAAQ;AAAA,MAAuB,UAAU;AAAA,MAAQ,GAAG;AAAA,IAAG;AAAA,IAC7D,OAAO,EAAK;AAAA,IAEZ,UAAA,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI,IAAW,IAAI;AAAA,MAAI,IAAI;AAAA,MAAlC,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,QACE,UAAA,CAAW,GAAG,MAAa,EAAe,CAAQ;AAAA,QAClD,IAAI,EAAE,SAAS,mBAAmB;AAAA,QAClC,WAAU;AAAA,QACV,OAAO;AAAA,QACP,SAAQ;AAAA,QAEP,UAAA,EAAK,IAAA,CACH,MAAQ,EAAI,WAAW,gBAAA,EAAC,GAAD;AAAA,UAAqB,OAAO,EAAI;AAAA,UAAO,OAAO,EAAI;AAAA,QAAQ,GAAhD,EAAI,KAA4C,CACpF;AAAA,MACI,CAAA,GAEN,gBAAA,EAAC,GAAD,EAAqC,aAAA,EAAc,CAAA,CAC9C;AAAA;EACQ,CAAA;AAErB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionRulesWidget.es.js","names":[],"sources":["../../src/settings/TransactionRulesWidget.tsx"],"sourcesContent":["import React from 'react'\nimport Stack from '@mui/material/Stack'\n\nimport { useCategoryStore, useScreenSize, WidgetContainer } from '../common'\nimport { WidgetProps } from '../core'\n\nimport TransactionRulesTab from './components/transactionrules/TransactionRulesTab'\n\nexport const TransactionRulesWidget = (props: WidgetProps) => {\n const { isMobile } = useScreenSize()\n const { categoriesLoaded, loadCategories } = useCategoryStore()\n\n React.useEffect(() => {\n if (!categoriesLoaded) {\n loadCategories().finally()\n }\n })\n\n return (\n <WidgetContainer {...props} showAccountFilter={false}>\n <Stack sx={{ mx: isMobile ? 0 : 48, my: 24 }}>\n <TransactionRulesTab />\n </Stack>\n </WidgetContainer>\n )\n}\n"],"mappings":";;;;;;;AAQA,IAAa,IAAA,CAA0B,MAAuB;AAC5D,QAAM,EAAE,UAAA,EAAA,IAAa,EAAc,GAC7B,EAAE,kBAAA,GAAkB,gBAAA,EAAA,IAAmB,EAAiB;AAE9D,SAAA,EAAM,UAAA,MAAgB;AACpB,IAAK,KACH,EAAe,EAAE,QAAQ;AAAA,EAE7B,CAAC,GAGC,gBAAA,EAAC,GAAD;AAAA,IAAiB,GAAI;AAAA,IAAO,mBAAmB;AAAA,
|
|
1
|
+
{"version":3,"file":"TransactionRulesWidget.es.js","names":[],"sources":["../../src/settings/TransactionRulesWidget.tsx"],"sourcesContent":["import React from 'react'\nimport Stack from '@mui/material/Stack'\n\nimport { useCategoryStore, useScreenSize, WidgetContainer } from '../common'\nimport { WidgetProps } from '../core'\n\nimport TransactionRulesTab from './components/transactionrules/TransactionRulesTab'\n\nexport const TransactionRulesWidget = (props: WidgetProps) => {\n const { isMobile } = useScreenSize()\n const { categoriesLoaded, loadCategories } = useCategoryStore()\n\n React.useEffect(() => {\n if (!categoriesLoaded) {\n loadCategories().finally()\n }\n })\n\n return (\n <WidgetContainer {...props} showAccountFilter={false}>\n <Stack sx={{ mx: isMobile ? 0 : 48, my: 24 }}>\n <TransactionRulesTab />\n </Stack>\n </WidgetContainer>\n )\n}\n"],"mappings":";;;;;;;AAQA,IAAa,IAAA,CAA0B,MAAuB;AAC5D,QAAM,EAAE,UAAA,EAAA,IAAa,EAAc,GAC7B,EAAE,kBAAA,GAAkB,gBAAA,EAAA,IAAmB,EAAiB;AAE9D,SAAA,EAAM,UAAA,MAAgB;AACpB,IAAK,KACH,EAAe,EAAE,QAAQ;AAAA,EAE7B,CAAC,GAGC,gBAAA,EAAC,GAAD;AAAA,IAAiB,GAAI;AAAA,IAAO,mBAAmB;AAAA,IAC7C,UAAA,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI;AAAA,QAAE,IAAI,IAAW,IAAI;AAAA,QAAI,IAAI;AAAA,MAAG;AAAA,MACzC,UAAA,gBAAA,EAAC,GAAD,CAAsB,CAAA;AAAA,IACjB,CAAA;AAAA,EACQ,CAAA;AAErB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsWidgetContents.es.js","names":[],"sources":["../../../src/settings/components/SettingsWidgetContents.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Alert from '@mui/material/Alert'\nimport Snackbar from '@mui/material/Snackbar'\n\nimport { useAppConfig, useSettingsStore } from '../../common'\n\nimport ProfileTab from './profile/ProfileTab'\nimport DeviceTab from './devices/DeviceTab'\nimport TransactionRulesTab from './transactionrules/TransactionRulesTab'\nimport { NotificationSettings } from './notifications/NotificationSettings'\nimport { SettingsTabs } from '../SettingsWidget'\nimport { Help } from '../../help'\nimport Stack from '@mui/material/Stack'\n\ninterface SettingsWidgetContentsProps {\n selectedTab: SettingsTabs\n}\n\nexport const SettingsWidgetContents = observer(({ selectedTab }: SettingsWidgetContentsProps) => {\n const { alert, setAlert } = useSettingsStore()\n const {\n config: { display_user_profile_in_settings },\n } = useAppConfig()\n\n return (\n <>\n {selectedTab === SettingsTabs.Profile && <ProfileTab />}\n {selectedTab === SettingsTabs.Devices && <DeviceTab />}\n {selectedTab === SettingsTabs.Notifications && (\n <NotificationSettings showPersonalDetails={!display_user_profile_in_settings} />\n )}\n {selectedTab === SettingsTabs.TransactionRules && <TransactionRulesTab />}\n {selectedTab === SettingsTabs.Help && (\n <Stack sx={{ px: 24 }}>\n <Help />\n </Stack>\n )}\n\n <Snackbar\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n autoHideDuration={3500}\n onClose={() => setAlert('')}\n open={Boolean(alert.message)}\n >\n <Alert\n onClose={() => {\n setAlert('')\n }}\n severity={alert.severity}\n variant=\"filled\"\n >\n {alert.message}\n </Alert>\n </Snackbar>\n </>\n )\n})\n"],"mappings":";;;;;;;;;;;;AAmBA,IAAa,IAAyB,EAAA,CAAU,EAAE,aAAA,EAAA,MAA+C;AAC/F,QAAM,EAAE,OAAA,GAAO,UAAA,EAAA,IAAa,EAAiB,GACvC,EACJ,QAAQ,EAAE,kCAAA,EAAA,EAAA,IACR,EAAa;AAEjB,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA;AAAA,IACG,MAAgB,EAAa,WAAW,gBAAA,EAAC,GAAD,CAAa,CAAA;AAAA,IACrD,MAAgB,EAAa,WAAW,gBAAA,EAAC,GAAD,CAAY,CAAA;AAAA,IACpD,MAAgB,EAAa,iBAC5B,gBAAA,EAAC,GAAD,EAAsB,qBAAqB,CAAC,EAAmC,CAAA;AAAA,IAEhF,MAAgB,EAAa,oBAAoB,gBAAA,EAAC,GAAD,CAAsB,CAAA;AAAA,IACvE,MAAgB,EAAa,QAC5B,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI,EAAE,IAAI,GAAG;AAAA,
|
|
1
|
+
{"version":3,"file":"SettingsWidgetContents.es.js","names":[],"sources":["../../../src/settings/components/SettingsWidgetContents.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Alert from '@mui/material/Alert'\nimport Snackbar from '@mui/material/Snackbar'\n\nimport { useAppConfig, useSettingsStore } from '../../common'\n\nimport ProfileTab from './profile/ProfileTab'\nimport DeviceTab from './devices/DeviceTab'\nimport TransactionRulesTab from './transactionrules/TransactionRulesTab'\nimport { NotificationSettings } from './notifications/NotificationSettings'\nimport { SettingsTabs } from '../SettingsWidget'\nimport { Help } from '../../help'\nimport Stack from '@mui/material/Stack'\n\ninterface SettingsWidgetContentsProps {\n selectedTab: SettingsTabs\n}\n\nexport const SettingsWidgetContents = observer(({ selectedTab }: SettingsWidgetContentsProps) => {\n const { alert, setAlert } = useSettingsStore()\n const {\n config: { display_user_profile_in_settings },\n } = useAppConfig()\n\n return (\n <>\n {selectedTab === SettingsTabs.Profile && <ProfileTab />}\n {selectedTab === SettingsTabs.Devices && <DeviceTab />}\n {selectedTab === SettingsTabs.Notifications && (\n <NotificationSettings showPersonalDetails={!display_user_profile_in_settings} />\n )}\n {selectedTab === SettingsTabs.TransactionRules && <TransactionRulesTab />}\n {selectedTab === SettingsTabs.Help && (\n <Stack sx={{ px: 24 }}>\n <Help />\n </Stack>\n )}\n\n <Snackbar\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n autoHideDuration={3500}\n onClose={() => setAlert('')}\n open={Boolean(alert.message)}\n >\n <Alert\n onClose={() => {\n setAlert('')\n }}\n severity={alert.severity}\n variant=\"filled\"\n >\n {alert.message}\n </Alert>\n </Snackbar>\n </>\n )\n})\n"],"mappings":";;;;;;;;;;;;AAmBA,IAAa,IAAyB,EAAA,CAAU,EAAE,aAAA,EAAA,MAA+C;AAC/F,QAAM,EAAE,OAAA,GAAO,UAAA,EAAA,IAAa,EAAiB,GACvC,EACJ,QAAQ,EAAE,kCAAA,EAAA,EAAA,IACR,EAAa;AAEjB,SACE,gBAAA,EAAA,GAAA,EAAA,UAAA;AAAA,IACG,MAAgB,EAAa,WAAW,gBAAA,EAAC,GAAD,CAAa,CAAA;AAAA,IACrD,MAAgB,EAAa,WAAW,gBAAA,EAAC,GAAD,CAAY,CAAA;AAAA,IACpD,MAAgB,EAAa,iBAC5B,gBAAA,EAAC,GAAD,EAAsB,qBAAqB,CAAC,EAAmC,CAAA;AAAA,IAEhF,MAAgB,EAAa,oBAAoB,gBAAA,EAAC,GAAD,CAAsB,CAAA;AAAA,IACvE,MAAgB,EAAa,QAC5B,gBAAA,EAAC,GAAD;AAAA,MAAO,IAAI,EAAE,IAAI,GAAG;AAAA,MAClB,UAAA,gBAAA,EAAC,GAAD,CAAO,CAAA;AAAA,IACF,CAAA;AAAA,IAGT,gBAAA,EAAC,GAAD;AAAA,MACE,cAAc;AAAA,QAAE,UAAU;AAAA,QAAU,YAAY;AAAA,MAAQ;AAAA,MACxD,kBAAkB;AAAA,MAClB,SAAA,MAAe,EAAS,EAAE;AAAA,MAC1B,MAAM,EAAQ,EAAM;AAAA,MAEpB,UAAA,gBAAA,EAAC,GAAD;AAAA,QACE,SAAA,MAAe;AACb,UAAA,EAAS,EAAE;AAAA,QACb;AAAA,QACA,UAAU,EAAM;AAAA,QAChB,SAAQ;AAAA,QAEP,UAAA,EAAM;AAAA,MACF,CAAA;AAAA,IACC,CAAA;AAAA,EACV,EAAA,CAAA;AAEN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceDialog.es.js","names":[],"sources":["../../../../src/settings/components/devices/DeviceDialog.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { useTheme } from '@mui/material/styles'\nimport Stack from '@mui/material/Stack'\nimport TextField from '@mui/material/TextField'\nimport { P, Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore, useSettingsStore } from '../../../common'\nimport { Device } from '../../../core'\nimport { Dialog } from '../../../common/components'\nimport { DialogType } from '../../constants/Settings'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface DeviceDialogProps {\n dialogType: string\n isOpen: boolean\n onClose: () => void\n device?: Device\n deviceToken?: string\n}\n\nconst DeviceDialog: React.FC<DeviceDialogProps> = ({\n dialogType,\n isOpen,\n onClose,\n device,\n deviceToken = '',\n}) => {\n const theme = useTheme()\n const { common: commonCopy, settings: settingsCopy } = useGlobalCopyStore()\n const { updateDevice, deleteDevice, setAlert, loadDevices } = useSettingsStore()\n\n const [deviceName, setDeviceName] = React.useState('')\n\n React.useEffect(() => {\n if (device) setDeviceName(device.name)\n }, [device, dialogType])\n\n const getDialogTitle = () => {\n switch (dialogType) {\n case DialogType.Edit:\n return settingsCopy.mobile_devices_edit_label\n case DialogType.Delete:\n return settingsCopy.mobile_devices_delete_label\n default:\n return ''\n }\n }\n\n const getDialogPrimaryText = () => {\n switch (dialogType) {\n case DialogType.Token:\n return commonCopy.done_button\n case DialogType.Edit:\n return commonCopy.save_button\n case DialogType.Delete:\n return commonCopy.delete_button\n default:\n return ''\n }\n }\n\n const getDialogStyles = () => {\n const baseStyles = {\n '& .MuiDialogContent-root': {\n width: 400,\n pt: 0,\n },\n }\n\n if (dialogType === DialogType.Token) {\n return {\n ...baseStyles,\n '& .MuiToolbar-root:last-child': {\n padding: '32px 60px 48px',\n justifyContent: 'center',\n },\n '& .MuiButton-root:first-of-type': {\n display: 'none',\n },\n '& .MuiButton-root:last-child': {\n flex: 1,\n },\n }\n }\n\n return {\n ...baseStyles,\n '& .MuiToolbar-root:last-child': {\n gap: 8,\n padding: 24,\n justifyContent: 'flex-end',\n },\n ...(dialogType === DialogType.Delete && {\n '& .MuiTypography-body1': {\n padding: 0,\n },\n }),\n }\n }\n\n const handlePrimaryAction = async () => {\n if (dialogType === DialogType.Token) {\n onClose()\n }\n\n if (dialogType === DialogType.Edit && device) {\n const updatedDevice = { ...device, name: deviceName }\n const res = await updateDevice(updatedDevice)\n\n if (res.success) {\n setAlert(settingsCopy.mobile_devices_edit_success, 'success')\n loadDevices()\n } else {\n setAlert(\n buildDynamicCopy(settingsCopy.mobile_devices_edit_error, device.name) as string,\n 'error',\n )\n }\n onClose()\n }\n\n if (dialogType === DialogType.Delete && device) {\n const res = await deleteDevice(device.guid)\n\n if (res.success) {\n setAlert(\n buildDynamicCopy(settingsCopy.mobile_devices_delete_success, device.name) as string,\n 'success',\n )\n loadDevices()\n } else {\n setAlert(\n buildDynamicCopy(settingsCopy.mobile_devices_delete_error, device.name) as string,\n 'error',\n )\n }\n onClose()\n }\n }\n\n return (\n <Dialog\n copy={{ title: getDialogTitle() }}\n isOpen={isOpen}\n onClose={onClose}\n onPrimaryAction={handlePrimaryAction}\n onSecondaryAction={onClose}\n primaryColor={dialogType === DialogType.Delete ? 'error' : undefined}\n primaryText={getDialogPrimaryText()}\n secondaryText={dialogType === DialogType.Token ? commonCopy.back : commonCopy.cancel_button}\n sx={getDialogStyles()}\n >\n {dialogType === DialogType.Token && (\n <Stack spacing={16} sx={{ px: 40, textAlign: 'center', width: '100%' }}>\n <Text bold={true} truncate={false} variant=\"body1\">\n {settingsCopy.mobile_devices_access_label}\n </Text>\n <Text truncate={false} variant=\"body2\">\n {settingsCopy.mobile_devices_access_info_1}\n </Text>\n <P\n sx={{\n border: `1px solid ${theme.palette.neutral.light}`,\n borderRadius: '4px',\n p: '16px 32px',\n }}\n variant=\"h1\"\n >\n {deviceToken}\n </P>\n <Text truncate={false} variant=\"body2\">\n {settingsCopy.mobile_devices_access_info_2}\n </Text>\n </Stack>\n )}\n {dialogType === DialogType.Edit && (\n <Stack>\n <TextField onChange={(e) => setDeviceName(e.target.value)} value={deviceName} />\n </Stack>\n )}\n {dialogType === DialogType.Delete && <P>{settingsCopy.mobile_devices_delete_info}</P>}\n </Dialog>\n )\n}\n\nexport default observer(DeviceDialog)\n"],"mappings":";;;;;;;;;;;AAsBA,IAAM,IAAA,CAA6C,EACjD,YAAA,GACA,QAAA,GACA,SAAA,GACA,QAAA,GACA,aAAA,IAAc,GAAA,MACV;AACJ,QAAM,IAAQ,EAAS,GACjB,EAAE,QAAQ,GAAY,UAAU,EAAA,IAAiB,EAAmB,GACpE,EAAE,cAAA,GAAc,cAAA,GAAc,UAAA,GAAU,aAAA,EAAA,IAAgB,EAAiB,GAEzE,CAAC,GAAY,CAAA,IAAiB,EAAM,SAAS,EAAE;AAErD,EAAA,EAAM,UAAA,MAAgB;AACpB,IAAI,KAAQ,EAAc,EAAO,IAAI;AAAA,EACvC,GAAG,CAAC,GAAQ,CAAU,CAAC;AAEvB,QAAM,IAAA,MAAuB;AAC3B,YAAQ,GAAR;AAAA,MACE,KAAK,EAAW;AACd,eAAO,EAAa;AAAA,MACtB,KAAK,EAAW;AACd,eAAO,EAAa;AAAA,MACtB;AACE,eAAO;AAAA,IACX;AAAA,EACF,GAEM,IAAA,MAA6B;AACjC,YAAQ,GAAR;AAAA,MACE,KAAK,EAAW;AACd,eAAO,EAAW;AAAA,MACpB,KAAK,EAAW;AACd,eAAO,EAAW;AAAA,MACpB,KAAK,EAAW;AACd,eAAO,EAAW;AAAA,MACpB;AACE,eAAO;AAAA,IACX;AAAA,EACF,GAEM,IAAA,MAAwB;AAC5B,UAAM,IAAa,EACjB,4BAA4B;AAAA,MAC1B,OAAO;AAAA,MACP,IAAI;AAAA,IACN,EACF;AAEA,WAAI,MAAe,EAAW,QACrB;AAAA,MACL,GAAG;AAAA,MACH,iCAAiC;AAAA,QAC/B,SAAS;AAAA,QACT,gBAAgB;AAAA,MAClB;AAAA,MACA,mCAAmC,EACjC,SAAS,OACX;AAAA,MACA,gCAAgC,EAC9B,MAAM,EACR;AAAA,IACF,IAGK;AAAA,MACL,GAAG;AAAA,MACH,iCAAiC;AAAA,QAC/B,KAAK;AAAA,QACL,SAAS;AAAA,QACT,gBAAgB;AAAA,MAClB;AAAA,MACA,GAAI,MAAe,EAAW,UAAU,EACtC,0BAA0B,EACxB,SAAS,EACX,EACF;AAAA,IACF;AAAA,EACF,GAEM,IAAsB,YAAY;AAKtC,QAJI,MAAe,EAAW,SAC5B,EAAQ,GAGN,MAAe,EAAW,QAAQ,GAAQ;AAC5C,YAAM,IAAgB;AAAA,QAAE,GAAG;AAAA,QAAQ,MAAM;AAAA,MAAW;AAGpD,OAAI,MAFc,EAAa,CAAa,GAEpC,WACN,EAAS,EAAa,6BAA6B,SAAS,GAC5D,EAAY,KAEZ,EACE,EAAiB,EAAa,2BAA2B,EAAO,IAAI,GACpE,OACF,GAEF,EAAQ;AAAA,IACV;AAEA,IAAI,MAAe,EAAW,UAAU,OAGlC,MAFc,EAAa,EAAO,IAAI,GAElC,WACN,EACE,EAAiB,EAAa,+BAA+B,EAAO,IAAI,GACxE,SACF,GACA,EAAY,KAEZ,EACE,EAAiB,EAAa,6BAA6B,EAAO,IAAI,GACtE,OACF,GAEF,EAAQ;AAAA,EAEZ;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,MAAM,EAAE,OAAO,EAAe,EAAE;AAAA,IACxB,QAAA;AAAA,IACC,SAAA;AAAA,IACT,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,cAAc,MAAe,EAAW,SAAS,UAAU;AAAA,IAC3D,aAAa,EAAqB;AAAA,IAClC,eAAe,MAAe,EAAW,QAAQ,EAAW,OAAO,EAAW;AAAA,IAC9E,IAAI,EAAgB;AAAA,
|
|
1
|
+
{"version":3,"file":"DeviceDialog.es.js","names":[],"sources":["../../../../src/settings/components/devices/DeviceDialog.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { useTheme } from '@mui/material/styles'\nimport Stack from '@mui/material/Stack'\nimport TextField from '@mui/material/TextField'\nimport { P, Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore, useSettingsStore } from '../../../common'\nimport { Device } from '../../../core'\nimport { Dialog } from '../../../common/components'\nimport { DialogType } from '../../constants/Settings'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface DeviceDialogProps {\n dialogType: string\n isOpen: boolean\n onClose: () => void\n device?: Device\n deviceToken?: string\n}\n\nconst DeviceDialog: React.FC<DeviceDialogProps> = ({\n dialogType,\n isOpen,\n onClose,\n device,\n deviceToken = '',\n}) => {\n const theme = useTheme()\n const { common: commonCopy, settings: settingsCopy } = useGlobalCopyStore()\n const { updateDevice, deleteDevice, setAlert, loadDevices } = useSettingsStore()\n\n const [deviceName, setDeviceName] = React.useState('')\n\n React.useEffect(() => {\n if (device) setDeviceName(device.name)\n }, [device, dialogType])\n\n const getDialogTitle = () => {\n switch (dialogType) {\n case DialogType.Edit:\n return settingsCopy.mobile_devices_edit_label\n case DialogType.Delete:\n return settingsCopy.mobile_devices_delete_label\n default:\n return ''\n }\n }\n\n const getDialogPrimaryText = () => {\n switch (dialogType) {\n case DialogType.Token:\n return commonCopy.done_button\n case DialogType.Edit:\n return commonCopy.save_button\n case DialogType.Delete:\n return commonCopy.delete_button\n default:\n return ''\n }\n }\n\n const getDialogStyles = () => {\n const baseStyles = {\n '& .MuiDialogContent-root': {\n width: 400,\n pt: 0,\n },\n }\n\n if (dialogType === DialogType.Token) {\n return {\n ...baseStyles,\n '& .MuiToolbar-root:last-child': {\n padding: '32px 60px 48px',\n justifyContent: 'center',\n },\n '& .MuiButton-root:first-of-type': {\n display: 'none',\n },\n '& .MuiButton-root:last-child': {\n flex: 1,\n },\n }\n }\n\n return {\n ...baseStyles,\n '& .MuiToolbar-root:last-child': {\n gap: 8,\n padding: 24,\n justifyContent: 'flex-end',\n },\n ...(dialogType === DialogType.Delete && {\n '& .MuiTypography-body1': {\n padding: 0,\n },\n }),\n }\n }\n\n const handlePrimaryAction = async () => {\n if (dialogType === DialogType.Token) {\n onClose()\n }\n\n if (dialogType === DialogType.Edit && device) {\n const updatedDevice = { ...device, name: deviceName }\n const res = await updateDevice(updatedDevice)\n\n if (res.success) {\n setAlert(settingsCopy.mobile_devices_edit_success, 'success')\n loadDevices()\n } else {\n setAlert(\n buildDynamicCopy(settingsCopy.mobile_devices_edit_error, device.name) as string,\n 'error',\n )\n }\n onClose()\n }\n\n if (dialogType === DialogType.Delete && device) {\n const res = await deleteDevice(device.guid)\n\n if (res.success) {\n setAlert(\n buildDynamicCopy(settingsCopy.mobile_devices_delete_success, device.name) as string,\n 'success',\n )\n loadDevices()\n } else {\n setAlert(\n buildDynamicCopy(settingsCopy.mobile_devices_delete_error, device.name) as string,\n 'error',\n )\n }\n onClose()\n }\n }\n\n return (\n <Dialog\n copy={{ title: getDialogTitle() }}\n isOpen={isOpen}\n onClose={onClose}\n onPrimaryAction={handlePrimaryAction}\n onSecondaryAction={onClose}\n primaryColor={dialogType === DialogType.Delete ? 'error' : undefined}\n primaryText={getDialogPrimaryText()}\n secondaryText={dialogType === DialogType.Token ? commonCopy.back : commonCopy.cancel_button}\n sx={getDialogStyles()}\n >\n {dialogType === DialogType.Token && (\n <Stack spacing={16} sx={{ px: 40, textAlign: 'center', width: '100%' }}>\n <Text bold={true} truncate={false} variant=\"body1\">\n {settingsCopy.mobile_devices_access_label}\n </Text>\n <Text truncate={false} variant=\"body2\">\n {settingsCopy.mobile_devices_access_info_1}\n </Text>\n <P\n sx={{\n border: `1px solid ${theme.palette.neutral.light}`,\n borderRadius: '4px',\n p: '16px 32px',\n }}\n variant=\"h1\"\n >\n {deviceToken}\n </P>\n <Text truncate={false} variant=\"body2\">\n {settingsCopy.mobile_devices_access_info_2}\n </Text>\n </Stack>\n )}\n {dialogType === DialogType.Edit && (\n <Stack>\n <TextField onChange={(e) => setDeviceName(e.target.value)} value={deviceName} />\n </Stack>\n )}\n {dialogType === DialogType.Delete && <P>{settingsCopy.mobile_devices_delete_info}</P>}\n </Dialog>\n )\n}\n\nexport default observer(DeviceDialog)\n"],"mappings":";;;;;;;;;;;AAsBA,IAAM,IAAA,CAA6C,EACjD,YAAA,GACA,QAAA,GACA,SAAA,GACA,QAAA,GACA,aAAA,IAAc,GAAA,MACV;AACJ,QAAM,IAAQ,EAAS,GACjB,EAAE,QAAQ,GAAY,UAAU,EAAA,IAAiB,EAAmB,GACpE,EAAE,cAAA,GAAc,cAAA,GAAc,UAAA,GAAU,aAAA,EAAA,IAAgB,EAAiB,GAEzE,CAAC,GAAY,CAAA,IAAiB,EAAM,SAAS,EAAE;AAErD,EAAA,EAAM,UAAA,MAAgB;AACpB,IAAI,KAAQ,EAAc,EAAO,IAAI;AAAA,EACvC,GAAG,CAAC,GAAQ,CAAU,CAAC;AAEvB,QAAM,IAAA,MAAuB;AAC3B,YAAQ,GAAR;AAAA,MACE,KAAK,EAAW;AACd,eAAO,EAAa;AAAA,MACtB,KAAK,EAAW;AACd,eAAO,EAAa;AAAA,MACtB;AACE,eAAO;AAAA,IACX;AAAA,EACF,GAEM,IAAA,MAA6B;AACjC,YAAQ,GAAR;AAAA,MACE,KAAK,EAAW;AACd,eAAO,EAAW;AAAA,MACpB,KAAK,EAAW;AACd,eAAO,EAAW;AAAA,MACpB,KAAK,EAAW;AACd,eAAO,EAAW;AAAA,MACpB;AACE,eAAO;AAAA,IACX;AAAA,EACF,GAEM,IAAA,MAAwB;AAC5B,UAAM,IAAa,EACjB,4BAA4B;AAAA,MAC1B,OAAO;AAAA,MACP,IAAI;AAAA,IACN,EACF;AAEA,WAAI,MAAe,EAAW,QACrB;AAAA,MACL,GAAG;AAAA,MACH,iCAAiC;AAAA,QAC/B,SAAS;AAAA,QACT,gBAAgB;AAAA,MAClB;AAAA,MACA,mCAAmC,EACjC,SAAS,OACX;AAAA,MACA,gCAAgC,EAC9B,MAAM,EACR;AAAA,IACF,IAGK;AAAA,MACL,GAAG;AAAA,MACH,iCAAiC;AAAA,QAC/B,KAAK;AAAA,QACL,SAAS;AAAA,QACT,gBAAgB;AAAA,MAClB;AAAA,MACA,GAAI,MAAe,EAAW,UAAU,EACtC,0BAA0B,EACxB,SAAS,EACX,EACF;AAAA,IACF;AAAA,EACF,GAEM,IAAsB,YAAY;AAKtC,QAJI,MAAe,EAAW,SAC5B,EAAQ,GAGN,MAAe,EAAW,QAAQ,GAAQ;AAC5C,YAAM,IAAgB;AAAA,QAAE,GAAG;AAAA,QAAQ,MAAM;AAAA,MAAW;AAGpD,OAAI,MAFc,EAAa,CAAa,GAEpC,WACN,EAAS,EAAa,6BAA6B,SAAS,GAC5D,EAAY,KAEZ,EACE,EAAiB,EAAa,2BAA2B,EAAO,IAAI,GACpE,OACF,GAEF,EAAQ;AAAA,IACV;AAEA,IAAI,MAAe,EAAW,UAAU,OAGlC,MAFc,EAAa,EAAO,IAAI,GAElC,WACN,EACE,EAAiB,EAAa,+BAA+B,EAAO,IAAI,GACxE,SACF,GACA,EAAY,KAEZ,EACE,EAAiB,EAAa,6BAA6B,EAAO,IAAI,GACtE,OACF,GAEF,EAAQ;AAAA,EAEZ;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,MAAM,EAAE,OAAO,EAAe,EAAE;AAAA,IACxB,QAAA;AAAA,IACC,SAAA;AAAA,IACT,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,cAAc,MAAe,EAAW,SAAS,UAAU;AAAA,IAC3D,aAAa,EAAqB;AAAA,IAClC,eAAe,MAAe,EAAW,QAAQ,EAAW,OAAO,EAAW;AAAA,IAC9E,IAAI,EAAgB;AAAA,IATtB,UAAA;AAAA,MAWG,MAAe,EAAW,SACzB,gBAAA,EAAC,GAAD;AAAA,QAAO,SAAS;AAAA,QAAI,IAAI;AAAA,UAAE,IAAI;AAAA,UAAI,WAAW;AAAA,UAAU,OAAO;AAAA,QAAO;AAAA,QAArE,UAAA;AAAA,UACE,gBAAA,EAAC,GAAD;AAAA,YAAM,MAAM;AAAA,YAAM,UAAU;AAAA,YAAO,SAAQ;AAAA,YACxC,UAAA,EAAa;AAAA,UACV,CAAA;AAAA,UACN,gBAAA,EAAC,GAAD;AAAA,YAAM,UAAU;AAAA,YAAO,SAAQ;AAAA,YAC5B,UAAA,EAAa;AAAA,UACV,CAAA;AAAA,UACN,gBAAA,EAAC,GAAD;AAAA,YACE,IAAI;AAAA,cACF,QAAQ,aAAa,EAAM,QAAQ,QAAQ,KAAA;AAAA,cAC3C,cAAc;AAAA,cACd,GAAG;AAAA,YACL;AAAA,YACA,SAAQ;AAAA,YAEP,UAAA;AAAA,UACA,CAAA;AAAA,UACH,gBAAA,EAAC,GAAD;AAAA,YAAM,UAAU;AAAA,YAAO,SAAQ;AAAA,YAC5B,UAAA,EAAa;AAAA,UACV,CAAA;AAAA,QACD;AAAA;MAER,MAAe,EAAW,QACzB,gBAAA,EAAC,GAAD,EAAA,UACE,gBAAA,EAAC,GAAD;AAAA,QAAW,UAAA,CAAW,MAAM,EAAc,EAAE,OAAO,KAAK;AAAA,QAAG,OAAO;AAAA,MAAa,CAAA,EAC1E,CAAA;AAAA,MAER,MAAe,EAAW,UAAU,gBAAA,EAAC,GAAD,EAAA,UAAI,EAAa,2BAA8B,CAAA;AAAA,IAC9E;AAAA;AAEZ,GAEA,IAAe,EAAS,CAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceList.es.js","names":[],"sources":["../../../../src/settings/components/devices/DeviceList.tsx"],"sourcesContent":["import React from 'react'\nimport { formatDistanceToNow } from 'date-fns/formatDistanceToNow'\nimport { fromUnixTime } from 'date-fns/fromUnixTime'\n\nimport { useTheme } from '@mui/material/styles'\nimport Accordion from '@mui/material/Accordion'\nimport AccordionDetails from '@mui/material/AccordionDetails'\nimport AccordionSummary from '@mui/material/AccordionSummary'\nimport Box from '@mui/material/Box'\nimport IconButton from '@mui/material/IconButton'\nimport Stack from '@mui/material/Stack'\nimport { Icon, Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../../common'\nimport { Device } from '../../../core'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface DeviceListProps {\n devices: Device[]\n onClickDeviceEdit: (device: Device) => void\n onClickDeviceDelete: (device: Device) => void\n}\n\nexport const DeviceList: React.FC<DeviceListProps> = ({\n devices,\n onClickDeviceEdit,\n onClickDeviceDelete,\n}) => {\n const theme = useTheme()\n const { settings: settingsCopy } = useGlobalCopyStore()\n const [expanded, setExpanded] = React.useState<string | false>(false)\n\n const handleChange = (guid: string) => (_: React.SyntheticEvent, isExpanded: boolean) => {\n setExpanded(isExpanded ? guid : false)\n }\n\n return (\n <Stack mx={-28} sx={{ '& .MuiAccordion-root': { mb: 0, mt: 0 } }}>\n {devices.map((device) => (\n <Accordion\n expanded={expanded === device.guid}\n key={device.guid}\n onChange={handleChange(device.guid)}\n sx={{ boxShadow: 'none' }}\n >\n <AccordionSummary\n expandIcon={<Icon color={'secondary'} name=\"keyboard_arrow_down\" size={24} />}\n sx={{\n padding: '14px 24px',\n borderBottom: '1px solid',\n borderColor: theme.palette.divider,\n }}\n >\n <Stack gap={4}>\n <Text bold={true} variant=\"body1\">\n {device.name}\n </Text>\n <Text color={theme.palette.text.secondary} variant=\"body2\">\n {`${device.make} ${device.model}`}\n </Text>\n <Text color={theme.palette.text.secondary} variant=\"body2\">\n {formatDistanceToNow(fromUnixTime(device.created_at), { addSuffix: true })}\n </Text>\n </Stack>\n </AccordionSummary>\n <AccordionDetails\n sx={{ backgroundColor: theme.palette.background.default, p: '0 0 0 24px' }}\n >\n <Stack\n onClick={() => onClickDeviceEdit(device)}\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n width: '100%',\n gap: 12,\n py: 16,\n cursor: 'pointer',\n borderBottom: '1px solid',\n borderColor: theme.palette.divider,\n }}\n >\n <IconButton aria-label={settingsCopy.mobile_devices_edit_label} color=\"secondary\">\n <Icon name=\"edit\" />\n </IconButton>\n <Text variant=\"body1\">{settingsCopy.mobile_devices_edit_label}</Text>\n </Stack>\n <Stack\n onClick={() => onClickDeviceDelete(device)}\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n width: '100%',\n gap: 12,\n py: 16,\n cursor: 'pointer',\n }}\n >\n <IconButton aria-label={settingsCopy.mobile_devices_delete_label} color=\"secondary\">\n <Icon name=\"delete\" />\n </IconButton>\n <Text variant=\"body1\">{settingsCopy.mobile_devices_delete_label}</Text>\n </Stack>\n </AccordionDetails>\n </Accordion>\n ))}\n <Box\n sx={{\n backgroundColor: theme.palette.background.default,\n borderTop: '1px solid',\n borderColor: theme.palette.divider,\n p: '12px 16px',\n }}\n >\n <Text color={theme.palette.text.secondary} variant=\"body2\">\n {\n buildDynamicCopy(\n settingsCopy.mobile_devices_count,\n <b>{devices.length}</b>,\n <b>{devices.length}</b>,\n ) as string\n }\n </Text>\n </Box>\n </Stack>\n )\n}\n\nexport default DeviceList\n"],"mappings":";;;;;;;;;;;;;;AAuBA,IAAa,IAAA,CAAyC,EACpD,SAAA,GACA,mBAAA,GACA,qBAAA,EAAA,MACI;AACJ,QAAM,IAAQ,EAAS,GACjB,EAAE,UAAU,EAAA,IAAiB,EAAmB,GAChD,CAAC,GAAU,CAAA,IAAe,EAAM,SAAyB,EAAK,GAE9D,IAAA,CAAgB,MAAA,CAAkB,GAAyB,MAAwB;AACvF,IAAA,EAAY,IAAa,IAAO,EAAK;AAAA,EACvC;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,IAAK,IAAI,EAAE,wBAAwB;AAAA,MAAE,IAAI;AAAA,MAAG,IAAI;AAAA,IAAE,EAAE;AAAA,
|
|
1
|
+
{"version":3,"file":"DeviceList.es.js","names":[],"sources":["../../../../src/settings/components/devices/DeviceList.tsx"],"sourcesContent":["import React from 'react'\nimport { formatDistanceToNow } from 'date-fns/formatDistanceToNow'\nimport { fromUnixTime } from 'date-fns/fromUnixTime'\n\nimport { useTheme } from '@mui/material/styles'\nimport Accordion from '@mui/material/Accordion'\nimport AccordionDetails from '@mui/material/AccordionDetails'\nimport AccordionSummary from '@mui/material/AccordionSummary'\nimport Box from '@mui/material/Box'\nimport IconButton from '@mui/material/IconButton'\nimport Stack from '@mui/material/Stack'\nimport { Icon, Text } from '@mxenabled/mxui'\n\nimport { useGlobalCopyStore } from '../../../common'\nimport { Device } from '../../../core'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface DeviceListProps {\n devices: Device[]\n onClickDeviceEdit: (device: Device) => void\n onClickDeviceDelete: (device: Device) => void\n}\n\nexport const DeviceList: React.FC<DeviceListProps> = ({\n devices,\n onClickDeviceEdit,\n onClickDeviceDelete,\n}) => {\n const theme = useTheme()\n const { settings: settingsCopy } = useGlobalCopyStore()\n const [expanded, setExpanded] = React.useState<string | false>(false)\n\n const handleChange = (guid: string) => (_: React.SyntheticEvent, isExpanded: boolean) => {\n setExpanded(isExpanded ? guid : false)\n }\n\n return (\n <Stack mx={-28} sx={{ '& .MuiAccordion-root': { mb: 0, mt: 0 } }}>\n {devices.map((device) => (\n <Accordion\n expanded={expanded === device.guid}\n key={device.guid}\n onChange={handleChange(device.guid)}\n sx={{ boxShadow: 'none' }}\n >\n <AccordionSummary\n expandIcon={<Icon color={'secondary'} name=\"keyboard_arrow_down\" size={24} />}\n sx={{\n padding: '14px 24px',\n borderBottom: '1px solid',\n borderColor: theme.palette.divider,\n }}\n >\n <Stack gap={4}>\n <Text bold={true} variant=\"body1\">\n {device.name}\n </Text>\n <Text color={theme.palette.text.secondary} variant=\"body2\">\n {`${device.make} ${device.model}`}\n </Text>\n <Text color={theme.palette.text.secondary} variant=\"body2\">\n {formatDistanceToNow(fromUnixTime(device.created_at), { addSuffix: true })}\n </Text>\n </Stack>\n </AccordionSummary>\n <AccordionDetails\n sx={{ backgroundColor: theme.palette.background.default, p: '0 0 0 24px' }}\n >\n <Stack\n onClick={() => onClickDeviceEdit(device)}\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n width: '100%',\n gap: 12,\n py: 16,\n cursor: 'pointer',\n borderBottom: '1px solid',\n borderColor: theme.palette.divider,\n }}\n >\n <IconButton aria-label={settingsCopy.mobile_devices_edit_label} color=\"secondary\">\n <Icon name=\"edit\" />\n </IconButton>\n <Text variant=\"body1\">{settingsCopy.mobile_devices_edit_label}</Text>\n </Stack>\n <Stack\n onClick={() => onClickDeviceDelete(device)}\n sx={{\n alignItems: 'center',\n flexDirection: 'row',\n width: '100%',\n gap: 12,\n py: 16,\n cursor: 'pointer',\n }}\n >\n <IconButton aria-label={settingsCopy.mobile_devices_delete_label} color=\"secondary\">\n <Icon name=\"delete\" />\n </IconButton>\n <Text variant=\"body1\">{settingsCopy.mobile_devices_delete_label}</Text>\n </Stack>\n </AccordionDetails>\n </Accordion>\n ))}\n <Box\n sx={{\n backgroundColor: theme.palette.background.default,\n borderTop: '1px solid',\n borderColor: theme.palette.divider,\n p: '12px 16px',\n }}\n >\n <Text color={theme.palette.text.secondary} variant=\"body2\">\n {\n buildDynamicCopy(\n settingsCopy.mobile_devices_count,\n <b>{devices.length}</b>,\n <b>{devices.length}</b>,\n ) as string\n }\n </Text>\n </Box>\n </Stack>\n )\n}\n\nexport default DeviceList\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceTab.es.js","names":[],"sources":["../../../../src/settings/components/devices/DeviceTab.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { H3, P, Text } from '@mxenabled/mxui'\n\nimport {\n Loader,\n useGlobalCopyStore,\n useGlobalUiStore,\n useScreenSize,\n useSettingsStore,\n} from '../../../common'\n\nimport type { Device } from '../../../core'\n\nimport { DialogType } from '../../constants/Settings'\nimport DeviceTable from './DeviceTable'\nimport DeviceList from './DeviceList'\nimport DeviceDialog from './DeviceDialog'\n\nexport const DeviceTab = observer(() => {\n const { isMobile } = useScreenSize()\n const { settings: settingsCopy } = useGlobalCopyStore()\n const { isCopyLoaded, isInitialized } = useGlobalUiStore()\n const { setAlert, devices, loadDevices, generateDeviceToken } = useSettingsStore()\n\n const [dialog, setDialog] = React.useState({ open: false, type: '' })\n const [selectedDevice, setSelectedDevice] = React.useState<Device | undefined>()\n const [deviceToken, setDeviceToken] = React.useState('')\n\n React.useEffect(() => {\n if (isInitialized) {\n loadDevices()\n }\n }, [isInitialized])\n\n const handleGenerateDeviceToken = async () => {\n const token = await generateDeviceToken()\n if (token) {\n setDeviceToken(token)\n setDialog({ open: true, type: DialogType.Token })\n } else {\n setAlert(settingsCopy.mobile_devices_access_error, 'error')\n }\n }\n\n const handleClickDeviceEdit = (device: Device) => {\n setSelectedDevice(device)\n setDialog({ open: true, type: DialogType.Edit })\n }\n\n const handleClickDeviceDelete = (device: Device) => {\n setSelectedDevice(device)\n setDialog({ open: true, type: DialogType.Delete })\n }\n\n const handleCloseDialog = () => {\n setDialog({ open: false, type: '' })\n setSelectedDevice(undefined)\n }\n\n if (!isCopyLoaded || !isInitialized) {\n return <Loader />\n }\n\n return (\n <Stack\n sx={{\n backgroundColor: 'background.paper',\n p: 24,\n gap: 24,\n }}\n >\n <Stack gap={4}>\n <H3>{settingsCopy.mobile_devices_title}</H3>\n <P variant=\"body1\">{settingsCopy.mobile_devices_info}</P>\n </Stack>\n\n {/* Device Table/List */}\n {isMobile ? (\n <DeviceList\n devices={devices}\n onClickDeviceDelete={handleClickDeviceDelete}\n onClickDeviceEdit={handleClickDeviceEdit}\n />\n ) : (\n <DeviceTable\n devices={devices}\n onClickDeviceDelete={handleClickDeviceDelete}\n onClickDeviceEdit={handleClickDeviceEdit}\n />\n )}\n\n {/* Token CTA */}\n <Stack sx={{ alignItems: 'center', px: 24, py: 12, gap: 4 }}>\n <Text bold={true} variant=\"body1\">\n {settingsCopy.mobile_devices_access_title}\n </Text>\n <P align=\"center\" variant=\"body2\">\n {settingsCopy.mobile_devices_access_description}\n </P>\n <Button onClick={handleGenerateDeviceToken} variant=\"text\">\n {settingsCopy.mobile_devices_access_cta}\n </Button>\n </Stack>\n\n {/* Dialogs (Token, Edit, or Delete) */}\n <DeviceDialog\n device={selectedDevice}\n deviceToken={deviceToken}\n dialogType={dialog.type}\n isOpen={dialog.open}\n onClose={handleCloseDialog}\n />\n </Stack>\n )\n})\n\nexport default DeviceTab\n"],"mappings":";;;;;;;;;;;;;AAsBA,IAAa,IAAY,EAAA,MAAe;AACtC,QAAM,EAAE,UAAA,EAAA,IAAa,EAAc,GAC7B,EAAE,UAAU,EAAA,IAAiB,EAAmB,GAChD,EAAE,cAAA,GAAc,eAAA,EAAA,IAAkB,EAAiB,GACnD,EAAE,UAAA,GAAU,SAAA,GAAS,aAAA,GAAa,qBAAA,EAAA,IAAwB,EAAiB,GAE3E,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAS;AAAA,IAAE,MAAM;AAAA,IAAO,MAAM;AAAA,EAAG,CAAC,GAC9D,CAAC,GAAgB,CAAA,IAAqB,EAAM,SAA6B,GACzE,CAAC,GAAa,CAAA,IAAkB,EAAM,SAAS,EAAE;AAEvD,EAAA,EAAM,UAAA,MAAgB;AACpB,IAAI,KACF,EAAY;AAAA,EAEhB,GAAG,CAAC,CAAa,CAAC;AAElB,QAAM,IAA4B,YAAY;AAC5C,UAAM,IAAQ,MAAM,EAAoB;AACxC,IAAI,KACF,EAAe,CAAK,GACpB,EAAU;AAAA,MAAE,MAAM;AAAA,MAAM,MAAM,EAAW;AAAA,IAAM,CAAC,KAEhD,EAAS,EAAa,6BAA6B,OAAO;AAAA,EAE9D,GAEM,IAAA,CAAyB,MAAmB;AAChD,IAAA,EAAkB,CAAM,GACxB,EAAU;AAAA,MAAE,MAAM;AAAA,MAAM,MAAM,EAAW;AAAA,IAAK,CAAC;AAAA,EACjD,GAEM,IAAA,CAA2B,MAAmB;AAClD,IAAA,EAAkB,CAAM,GACxB,EAAU;AAAA,MAAE,MAAM;AAAA,MAAM,MAAM,EAAW;AAAA,IAAO,CAAC;AAAA,EACnD,GAEM,IAAA,MAA0B;AAC9B,IAAA,EAAU;AAAA,MAAE,MAAM;AAAA,MAAO,MAAM;AAAA,IAAG,CAAC,GACnC,EAAkB,MAAS;AAAA,EAC7B;AAEA,SAAI,CAAC,KAAgB,CAAC,IACb,gBAAA,EAAC,GAAD,CAAS,CAAA,IAIhB,gBAAA,EAAC,GAAD;AAAA,IACE,IAAI;AAAA,MACF,iBAAiB;AAAA,MACjB,GAAG;AAAA,MACH,KAAK;AAAA,IACP;AAAA,
|
|
1
|
+
{"version":3,"file":"DeviceTab.es.js","names":[],"sources":["../../../../src/settings/components/devices/DeviceTab.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport { H3, P, Text } from '@mxenabled/mxui'\n\nimport {\n Loader,\n useGlobalCopyStore,\n useGlobalUiStore,\n useScreenSize,\n useSettingsStore,\n} from '../../../common'\n\nimport type { Device } from '../../../core'\n\nimport { DialogType } from '../../constants/Settings'\nimport DeviceTable from './DeviceTable'\nimport DeviceList from './DeviceList'\nimport DeviceDialog from './DeviceDialog'\n\nexport const DeviceTab = observer(() => {\n const { isMobile } = useScreenSize()\n const { settings: settingsCopy } = useGlobalCopyStore()\n const { isCopyLoaded, isInitialized } = useGlobalUiStore()\n const { setAlert, devices, loadDevices, generateDeviceToken } = useSettingsStore()\n\n const [dialog, setDialog] = React.useState({ open: false, type: '' })\n const [selectedDevice, setSelectedDevice] = React.useState<Device | undefined>()\n const [deviceToken, setDeviceToken] = React.useState('')\n\n React.useEffect(() => {\n if (isInitialized) {\n loadDevices()\n }\n }, [isInitialized])\n\n const handleGenerateDeviceToken = async () => {\n const token = await generateDeviceToken()\n if (token) {\n setDeviceToken(token)\n setDialog({ open: true, type: DialogType.Token })\n } else {\n setAlert(settingsCopy.mobile_devices_access_error, 'error')\n }\n }\n\n const handleClickDeviceEdit = (device: Device) => {\n setSelectedDevice(device)\n setDialog({ open: true, type: DialogType.Edit })\n }\n\n const handleClickDeviceDelete = (device: Device) => {\n setSelectedDevice(device)\n setDialog({ open: true, type: DialogType.Delete })\n }\n\n const handleCloseDialog = () => {\n setDialog({ open: false, type: '' })\n setSelectedDevice(undefined)\n }\n\n if (!isCopyLoaded || !isInitialized) {\n return <Loader />\n }\n\n return (\n <Stack\n sx={{\n backgroundColor: 'background.paper',\n p: 24,\n gap: 24,\n }}\n >\n <Stack gap={4}>\n <H3>{settingsCopy.mobile_devices_title}</H3>\n <P variant=\"body1\">{settingsCopy.mobile_devices_info}</P>\n </Stack>\n\n {/* Device Table/List */}\n {isMobile ? (\n <DeviceList\n devices={devices}\n onClickDeviceDelete={handleClickDeviceDelete}\n onClickDeviceEdit={handleClickDeviceEdit}\n />\n ) : (\n <DeviceTable\n devices={devices}\n onClickDeviceDelete={handleClickDeviceDelete}\n onClickDeviceEdit={handleClickDeviceEdit}\n />\n )}\n\n {/* Token CTA */}\n <Stack sx={{ alignItems: 'center', px: 24, py: 12, gap: 4 }}>\n <Text bold={true} variant=\"body1\">\n {settingsCopy.mobile_devices_access_title}\n </Text>\n <P align=\"center\" variant=\"body2\">\n {settingsCopy.mobile_devices_access_description}\n </P>\n <Button onClick={handleGenerateDeviceToken} variant=\"text\">\n {settingsCopy.mobile_devices_access_cta}\n </Button>\n </Stack>\n\n {/* Dialogs (Token, Edit, or Delete) */}\n <DeviceDialog\n device={selectedDevice}\n deviceToken={deviceToken}\n dialogType={dialog.type}\n isOpen={dialog.open}\n onClose={handleCloseDialog}\n />\n </Stack>\n )\n})\n\nexport default DeviceTab\n"],"mappings":"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"}
|
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
import { buildDynamicCopy as
|
|
2
|
-
import { useGlobalCopyStore as
|
|
1
|
+
import { buildDynamicCopy as b } from "../../../core/utils/Localization.es.js";
|
|
2
|
+
import { useGlobalCopyStore as h } from "../../../common/context/hooks.es.js";
|
|
3
3
|
import { HeaderCell as i } from "../../../trends/components/trendstable/HeaderCell.es.js";
|
|
4
|
-
import
|
|
4
|
+
import x from "react";
|
|
5
5
|
import a from "@mui/material/Stack";
|
|
6
|
-
import { Icon as
|
|
7
|
-
import { jsx as e, jsxs as
|
|
8
|
-
import { alpha as
|
|
6
|
+
import { Icon as n, Text as d } from "@mxenabled/mxui";
|
|
7
|
+
import { jsx as e, jsxs as _ } from "react/jsx-runtime";
|
|
8
|
+
import { alpha as y, useTheme as C } from "@mui/material/styles";
|
|
9
9
|
import m from "@mui/material/Box";
|
|
10
10
|
import c from "@mui/material/IconButton";
|
|
11
|
-
import { fromUnixTime as
|
|
12
|
-
import { DataGridPro as
|
|
13
|
-
import { formatDistanceToNow as
|
|
14
|
-
var
|
|
15
|
-
const o =
|
|
11
|
+
import { fromUnixTime as g } from "date-fns/fromUnixTime";
|
|
12
|
+
import { DataGridPro as v } from "@mui/x-data-grid-pro";
|
|
13
|
+
import { formatDistanceToNow as I } from "date-fns/formatDistanceToNow";
|
|
14
|
+
var F = ({ devices: l, onClickDeviceEdit: s, onClickDeviceDelete: u }) => {
|
|
15
|
+
const o = C(), { settings: t } = h(), p = [
|
|
16
|
+
{
|
|
17
|
+
field: "name",
|
|
18
|
+
headerName: t.mobile_devices_column_name,
|
|
19
|
+
renderHeader: i,
|
|
20
|
+
renderCell: (r) => /* @__PURE__ */ _(a, {
|
|
21
|
+
alignItems: "center",
|
|
22
|
+
direction: "row",
|
|
23
|
+
gap: 4,
|
|
24
|
+
children: [/* @__PURE__ */ e(d, {
|
|
25
|
+
variant: "body2",
|
|
26
|
+
children: r.value
|
|
27
|
+
}), /* @__PURE__ */ e(c, {
|
|
28
|
+
"aria-label": t.mobile_devices_edit_label,
|
|
29
|
+
color: "secondary",
|
|
30
|
+
onClick: () => s(r.row),
|
|
31
|
+
children: /* @__PURE__ */ e(n, { name: "edit" })
|
|
32
|
+
})]
|
|
33
|
+
}),
|
|
34
|
+
sortable: !0,
|
|
35
|
+
flex: 1,
|
|
36
|
+
minWidth: 200
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
field: "device_type",
|
|
40
|
+
headerName: t.mobile_devices_column_type,
|
|
41
|
+
renderHeader: i,
|
|
42
|
+
sortable: !0,
|
|
43
|
+
hideSortIcons: !1,
|
|
44
|
+
flex: 1,
|
|
45
|
+
minWidth: 150
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
field: "created_at",
|
|
49
|
+
headerName: t.mobile_devices_column_added,
|
|
50
|
+
renderHeader: i,
|
|
51
|
+
valueFormatter: (r) => I(g(r), { addSuffix: !0 }),
|
|
52
|
+
sortable: !0,
|
|
53
|
+
hideSortIcons: !1,
|
|
54
|
+
flex: 1,
|
|
55
|
+
minWidth: 150
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
field: "delete",
|
|
59
|
+
headerName: "",
|
|
60
|
+
renderHeader: i,
|
|
61
|
+
renderCell: (r) => /* @__PURE__ */ e(a, {
|
|
62
|
+
mr: 4,
|
|
63
|
+
children: /* @__PURE__ */ e(c, {
|
|
64
|
+
"aria-label": t.mobile_devices_delete_label,
|
|
65
|
+
color: "secondary",
|
|
66
|
+
onClick: () => u(r.row),
|
|
67
|
+
children: /* @__PURE__ */ e(n, { name: "delete" })
|
|
68
|
+
})
|
|
69
|
+
}),
|
|
70
|
+
sortable: !1,
|
|
71
|
+
hideSortIcons: !1,
|
|
72
|
+
width: 58
|
|
73
|
+
}
|
|
74
|
+
], f = x.useMemo(() => l.map((r) => ({
|
|
75
|
+
id: r.guid,
|
|
76
|
+
...r,
|
|
77
|
+
device_type: `${r.make} ${r.model}`
|
|
78
|
+
})), [l]);
|
|
16
79
|
return /* @__PURE__ */ e(m, {
|
|
17
80
|
sx: { width: "100%" },
|
|
18
|
-
children: /* @__PURE__ */ e(
|
|
19
|
-
columns:
|
|
20
|
-
{
|
|
21
|
-
field: "name",
|
|
22
|
-
headerName: t.mobile_devices_column_name,
|
|
23
|
-
renderHeader: i,
|
|
24
|
-
renderCell: (r) => /* @__PURE__ */ h(a, {
|
|
25
|
-
alignItems: "center",
|
|
26
|
-
direction: "row",
|
|
27
|
-
gap: 4,
|
|
28
|
-
children: [/* @__PURE__ */ e(n, {
|
|
29
|
-
variant: "body2",
|
|
30
|
-
children: r.value
|
|
31
|
-
}), /* @__PURE__ */ e(c, {
|
|
32
|
-
"aria-label": t.mobile_devices_edit_label,
|
|
33
|
-
color: "secondary",
|
|
34
|
-
onClick: () => s(r.row),
|
|
35
|
-
children: /* @__PURE__ */ e(d, { name: "edit" })
|
|
36
|
-
})]
|
|
37
|
-
}),
|
|
38
|
-
sortable: !0,
|
|
39
|
-
flex: 1,
|
|
40
|
-
minWidth: 200
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
field: "device_type",
|
|
44
|
-
headerName: t.mobile_devices_column_type,
|
|
45
|
-
renderHeader: i,
|
|
46
|
-
sortable: !0,
|
|
47
|
-
hideSortIcons: !1,
|
|
48
|
-
flex: 1,
|
|
49
|
-
minWidth: 150
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
field: "created_at",
|
|
53
|
-
headerName: t.mobile_devices_column_added,
|
|
54
|
-
renderHeader: i,
|
|
55
|
-
valueFormatter: (r) => g(y(r), { addSuffix: !0 }),
|
|
56
|
-
sortable: !0,
|
|
57
|
-
hideSortIcons: !1,
|
|
58
|
-
flex: 1,
|
|
59
|
-
minWidth: 150
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
field: "delete",
|
|
63
|
-
headerName: "",
|
|
64
|
-
renderHeader: i,
|
|
65
|
-
renderCell: (r) => /* @__PURE__ */ e(a, {
|
|
66
|
-
mr: 4,
|
|
67
|
-
children: /* @__PURE__ */ e(c, {
|
|
68
|
-
"aria-label": t.mobile_devices_delete_label,
|
|
69
|
-
color: "secondary",
|
|
70
|
-
onClick: () => u(r.row),
|
|
71
|
-
children: /* @__PURE__ */ e(d, { name: "delete" })
|
|
72
|
-
})
|
|
73
|
-
}),
|
|
74
|
-
sortable: !1,
|
|
75
|
-
hideSortIcons: !1,
|
|
76
|
-
width: 58
|
|
77
|
-
}
|
|
78
|
-
],
|
|
81
|
+
children: /* @__PURE__ */ e(v, {
|
|
82
|
+
columns: p,
|
|
79
83
|
disableColumnFilter: !0,
|
|
80
84
|
disableColumnMenu: !0,
|
|
81
85
|
disableRowSelectionOnClick: !0,
|
|
82
|
-
rows:
|
|
83
|
-
id: r.guid,
|
|
84
|
-
...r,
|
|
85
|
-
device_type: `${r.make} ${r.model}`
|
|
86
|
-
})), [l]),
|
|
86
|
+
rows: f,
|
|
87
87
|
slotProps: { footer: { sx: { justifyContent: "flex-end" } } },
|
|
88
88
|
slots: { footer: () => /* @__PURE__ */ e(m, {
|
|
89
89
|
sx: {
|
|
@@ -93,10 +93,10 @@ var R = ({ devices: l, onClickDeviceEdit: s, onClickDeviceDelete: u }) => {
|
|
|
93
93
|
alignItems: "center",
|
|
94
94
|
p: "12px 16px"
|
|
95
95
|
},
|
|
96
|
-
children: /* @__PURE__ */ e(
|
|
96
|
+
children: /* @__PURE__ */ e(d, {
|
|
97
97
|
color: o.palette.text.secondary,
|
|
98
98
|
variant: "body2",
|
|
99
|
-
children:
|
|
99
|
+
children: b(t.mobile_devices_count, /* @__PURE__ */ e("b", { children: l.length }), /* @__PURE__ */ e("b", { children: l.length }))
|
|
100
100
|
})
|
|
101
101
|
}) },
|
|
102
102
|
sx: {
|
|
@@ -105,7 +105,7 @@ var R = ({ devices: l, onClickDeviceEdit: s, onClickDeviceDelete: u }) => {
|
|
|
105
105
|
borderRadius: "8px",
|
|
106
106
|
"& .MuiDataGrid-columnHeader .MuiIconButton-root": {
|
|
107
107
|
color: o.palette.primary.main,
|
|
108
|
-
"&:hover": { backgroundColor:
|
|
108
|
+
"&:hover": { backgroundColor: y(o.palette.primary.main, 0.1) }
|
|
109
109
|
},
|
|
110
110
|
"& .MuiDataGrid-sortIcon": { color: o.palette.primary.main }
|
|
111
111
|
}
|
|
@@ -113,8 +113,8 @@ var R = ({ devices: l, onClickDeviceEdit: s, onClickDeviceDelete: u }) => {
|
|
|
113
113
|
});
|
|
114
114
|
};
|
|
115
115
|
export {
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
F as DeviceTable,
|
|
117
|
+
F as default
|
|
118
118
|
};
|
|
119
119
|
|
|
120
120
|
//# sourceMappingURL=DeviceTable.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceTable.es.js","names":[],"sources":["../../../../src/settings/components/devices/DeviceTable.tsx"],"sourcesContent":["import React from 'react'\nimport { formatDistanceToNow } from 'date-fns/formatDistanceToNow'\nimport { fromUnixTime } from 'date-fns/fromUnixTime'\n\nimport { useTheme } from '@mui/material/styles'\nimport { alpha } from '@mui/material/styles'\n\nimport IconButton from '@mui/material/IconButton'\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport { Icon, Text } from '@mxenabled/mxui'\nimport { DataGridPro, GridColDef } from '@mui/x-data-grid-pro'\n\nimport { useGlobalCopyStore } from '../../../common'\nimport { Device } from '../../../core'\nimport { HeaderCell } from '../../../trends/components/trendstable/HeaderCell'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface DeviceTableProps {\n devices: Device[]\n onClickDeviceEdit: (device: Device) => void\n onClickDeviceDelete: (device: Device) => void\n}\n\nexport const DeviceTable: React.FC<DeviceTableProps> = ({\n devices,\n onClickDeviceEdit,\n onClickDeviceDelete,\n}) => {\n const theme = useTheme()\n const { settings: settingsCopy } = useGlobalCopyStore()\n\n const columns: GridColDef[] = [\n {\n field: 'name',\n headerName: settingsCopy.mobile_devices_column_name,\n renderHeader: HeaderCell,\n renderCell: (params) => (\n <Stack alignItems=\"center\" direction=\"row\" gap={4}>\n <Text variant=\"body2\">{params.value}</Text>\n <IconButton\n aria-label={settingsCopy.mobile_devices_edit_label}\n color=\"secondary\"\n onClick={() => onClickDeviceEdit(params.row as Device)}\n >\n <Icon name=\"edit\" />\n </IconButton>\n </Stack>\n ),\n sortable: true,\n flex: 1,\n minWidth: 200,\n },\n {\n field: 'device_type',\n headerName: settingsCopy.mobile_devices_column_type,\n renderHeader: HeaderCell,\n sortable: true,\n hideSortIcons: false,\n flex: 1,\n minWidth: 150,\n },\n {\n field: 'created_at',\n headerName: settingsCopy.mobile_devices_column_added,\n renderHeader: HeaderCell,\n valueFormatter: (value: number) =>\n formatDistanceToNow(fromUnixTime(value), { addSuffix: true }),\n sortable: true,\n hideSortIcons: false,\n flex: 1,\n minWidth: 150,\n },\n {\n field: 'delete',\n headerName: '',\n renderHeader: HeaderCell,\n renderCell: (params) => (\n <Stack mr={4}>\n <IconButton\n aria-label={settingsCopy.mobile_devices_delete_label}\n color=\"secondary\"\n onClick={() => onClickDeviceDelete(params.row as Device)}\n >\n <Icon name=\"delete\" />\n </IconButton>\n </Stack>\n ),\n sortable: false,\n hideSortIcons: false,\n width: 58,\n },\n ]\n\n const rows = React.useMemo(() => {\n return devices.map((device) => ({\n id: device.guid,\n ...device,\n device_type: `${device.make} ${device.model}`,\n }))\n }, [devices])\n\n return (\n <Box sx={{ width: '100%' }}>\n <DataGridPro\n columns={columns}\n disableColumnFilter={true}\n disableColumnMenu={true}\n disableRowSelectionOnClick={true}\n rows={rows}\n slotProps={{\n footer: {\n sx: { justifyContent: 'flex-end' },\n },\n }}\n slots={{\n footer: () => (\n <Box\n sx={{\n backgroundColor: theme.palette.background.default,\n display: 'flex',\n justifyContent: 'flex-end',\n alignItems: 'center',\n p: '12px 16px',\n }}\n >\n <Text color={theme.palette.text.secondary} variant=\"body2\">\n {\n buildDynamicCopy(\n settingsCopy.mobile_devices_count,\n <b>{devices.length}</b>,\n <b>{devices.length}</b>,\n ) as string\n }\n </Text>\n </Box>\n ),\n }}\n sx={{\n border: '1px solid',\n borderColor: theme.palette.neutral.light,\n borderRadius: '8px',\n '& .MuiDataGrid-columnHeader .MuiIconButton-root': {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, 0.1),\n },\n },\n '& .MuiDataGrid-sortIcon': {\n color: theme.palette.primary.main,\n },\n }}\n />\n </Box>\n )\n}\n\nexport default DeviceTable\n"],"mappings":";;;;;;;;;;;;;AAwBA,IAAa,IAAA,CAA2C,EACtD,SAAA,GACA,mBAAA,GACA,qBAAA,EAAA,MACI;AACJ,QAAM,IAAQ,EAAS,GACjB,EAAE,UAAU,EAAA,IAAiB,EAAmB
|
|
1
|
+
{"version":3,"file":"DeviceTable.es.js","names":[],"sources":["../../../../src/settings/components/devices/DeviceTable.tsx"],"sourcesContent":["import React from 'react'\nimport { formatDistanceToNow } from 'date-fns/formatDistanceToNow'\nimport { fromUnixTime } from 'date-fns/fromUnixTime'\n\nimport { useTheme } from '@mui/material/styles'\nimport { alpha } from '@mui/material/styles'\n\nimport IconButton from '@mui/material/IconButton'\nimport Box from '@mui/material/Box'\nimport Stack from '@mui/material/Stack'\nimport { Icon, Text } from '@mxenabled/mxui'\nimport { DataGridPro, GridColDef } from '@mui/x-data-grid-pro'\n\nimport { useGlobalCopyStore } from '../../../common'\nimport { Device } from '../../../core'\nimport { HeaderCell } from '../../../trends/components/trendstable/HeaderCell'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface DeviceTableProps {\n devices: Device[]\n onClickDeviceEdit: (device: Device) => void\n onClickDeviceDelete: (device: Device) => void\n}\n\nexport const DeviceTable: React.FC<DeviceTableProps> = ({\n devices,\n onClickDeviceEdit,\n onClickDeviceDelete,\n}) => {\n const theme = useTheme()\n const { settings: settingsCopy } = useGlobalCopyStore()\n\n const columns: GridColDef[] = [\n {\n field: 'name',\n headerName: settingsCopy.mobile_devices_column_name,\n renderHeader: HeaderCell,\n renderCell: (params) => (\n <Stack alignItems=\"center\" direction=\"row\" gap={4}>\n <Text variant=\"body2\">{params.value}</Text>\n <IconButton\n aria-label={settingsCopy.mobile_devices_edit_label}\n color=\"secondary\"\n onClick={() => onClickDeviceEdit(params.row as Device)}\n >\n <Icon name=\"edit\" />\n </IconButton>\n </Stack>\n ),\n sortable: true,\n flex: 1,\n minWidth: 200,\n },\n {\n field: 'device_type',\n headerName: settingsCopy.mobile_devices_column_type,\n renderHeader: HeaderCell,\n sortable: true,\n hideSortIcons: false,\n flex: 1,\n minWidth: 150,\n },\n {\n field: 'created_at',\n headerName: settingsCopy.mobile_devices_column_added,\n renderHeader: HeaderCell,\n valueFormatter: (value: number) =>\n formatDistanceToNow(fromUnixTime(value), { addSuffix: true }),\n sortable: true,\n hideSortIcons: false,\n flex: 1,\n minWidth: 150,\n },\n {\n field: 'delete',\n headerName: '',\n renderHeader: HeaderCell,\n renderCell: (params) => (\n <Stack mr={4}>\n <IconButton\n aria-label={settingsCopy.mobile_devices_delete_label}\n color=\"secondary\"\n onClick={() => onClickDeviceDelete(params.row as Device)}\n >\n <Icon name=\"delete\" />\n </IconButton>\n </Stack>\n ),\n sortable: false,\n hideSortIcons: false,\n width: 58,\n },\n ]\n\n const rows = React.useMemo(() => {\n return devices.map((device) => ({\n id: device.guid,\n ...device,\n device_type: `${device.make} ${device.model}`,\n }))\n }, [devices])\n\n return (\n <Box sx={{ width: '100%' }}>\n <DataGridPro\n columns={columns}\n disableColumnFilter={true}\n disableColumnMenu={true}\n disableRowSelectionOnClick={true}\n rows={rows}\n slotProps={{\n footer: {\n sx: { justifyContent: 'flex-end' },\n },\n }}\n slots={{\n footer: () => (\n <Box\n sx={{\n backgroundColor: theme.palette.background.default,\n display: 'flex',\n justifyContent: 'flex-end',\n alignItems: 'center',\n p: '12px 16px',\n }}\n >\n <Text color={theme.palette.text.secondary} variant=\"body2\">\n {\n buildDynamicCopy(\n settingsCopy.mobile_devices_count,\n <b>{devices.length}</b>,\n <b>{devices.length}</b>,\n ) as string\n }\n </Text>\n </Box>\n ),\n }}\n sx={{\n border: '1px solid',\n borderColor: theme.palette.neutral.light,\n borderRadius: '8px',\n '& .MuiDataGrid-columnHeader .MuiIconButton-root': {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, 0.1),\n },\n },\n '& .MuiDataGrid-sortIcon': {\n color: theme.palette.primary.main,\n },\n }}\n />\n </Box>\n )\n}\n\nexport default DeviceTable\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountNotificationProfile.es.js","names":[],"sources":["../../../../src/settings/components/notifications/AccountNotificationProfile.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport {\n ToggleListItem,\n useGlobalCopyStore,\n useScreenSize,\n useSettingsStore,\n useUserStore,\n} from '../../../common'\nimport { DetailedNotificationProfile } from '../../../core'\n\nimport { AccountProfileListItem } from './AccountProfileListItem'\n\ninterface AccountNotificationProfileProps {\n onUpdateProfile: (profile: DetailedNotificationProfile) => void\n profile: DetailedNotificationProfile\n}\n\nexport const AccountNotificationProfile = observer(\n ({ onUpdateProfile, profile }: AccountNotificationProfileProps) => {\n const { settings: copy } = useGlobalCopyStore()\n const { user } = useUserStore()\n const { clientCommunicationProfile, userCommunicationsProfile } = useSettingsStore()\n const { isMobile } = useScreenSize()\n\n const isAccountProfile = profile.notification_type > 2\n const {\n opted_out_of_email_notifications: emailDisabled,\n opted_out_of_push_notifications: pushDisabled,\n opted_out_of_sms_notifications: smsDisabled,\n } = userCommunicationsProfile\n\n const {\n email_notifications_enabled: showEmail,\n push_notifications_enabled: showPush,\n sms_notifications_enabled: showSms,\n } = clientCommunicationProfile\n\n return (\n <Stack>\n {(showEmail || showSms || showPush) && (\n <>\n <Text bold={true} sx={{ mb: 4, ml: 24, mt: 12 }} variant=\"caption\">\n {copy.delivery_method_title}\n </Text>\n <List sx={{ bgcolor: 'background.paper' }}>\n {showEmail && (\n <Stack sx={{ pl: 24 }}>\n <ToggleListItem\n isChecked={!emailDisabled && profile.email_channel && !!user.email}\n isDisabled={emailDisabled || !user.email}\n onToggle={() =>\n onUpdateProfile({ ...profile, email_channel: !profile.email_channel })\n }\n primaryText={copy.delivery_method_email_label}\n secondaryText={\n emailDisabled || !profile.email_channel || !user.email\n ? copy.notification_disabled\n : copy.notification_enabled\n }\n useExtraPadding={false}\n />\n </Stack>\n )}\n\n {showEmail && (showSms || showPush) && <Divider sx={{ ml: isMobile ? 0 : 24 }} />}\n\n {showSms && (\n <Stack sx={{ pl: 24 }}>\n <ToggleListItem\n isChecked={!smsDisabled && profile.sms_channel && !!user.phone}\n isDisabled={smsDisabled || !user.phone}\n onToggle={() =>\n onUpdateProfile({ ...profile, sms_channel: !profile.sms_channel })\n }\n primaryText={`${copy.delivery_method_sms_label}`}\n secondaryText={\n smsDisabled || !profile.sms_channel || !user.phone\n ? copy.notification_disabled\n : copy.notification_enabled\n }\n useExtraPadding={false}\n />\n </Stack>\n )}\n\n {showSms && showPush && <Divider sx={{ ml: isMobile ? 0 : 24 }} />}\n\n {showPush && (\n <Stack sx={{ pl: 24 }}>\n <ToggleListItem\n isChecked={!pushDisabled && profile.push_channel}\n isDisabled={pushDisabled}\n onToggle={() =>\n onUpdateProfile({ ...profile, push_channel: !profile.push_channel })\n }\n primaryText={copy.delivery_method_push_label}\n secondaryText={copy.delivery_method_push_subtitle}\n useExtraPadding={false}\n />\n </Stack>\n )}\n <Divider />\n </List>\n </>\n )}\n\n {isAccountProfile && Boolean(profile.children?.length) && (\n <Stack>\n <Text bold={true} sx={{ mb: 4, ml: 24, mt: 12 }} variant=\"caption\">\n {copy.accounts_threshold_title}\n </Text>\n\n <List sx={{ bgcolor: 'background.paper' }}>\n {profile.children?.map((child) => (\n <AccountProfileListItem\n key={child.guid}\n onProfileUpdated={onUpdateProfile}\n profile={child}\n />\n ))}\n </List>\n </Stack>\n )}\n </Stack>\n )\n },\n)\n"],"mappings":";;;;;;;;;;AAwBA,IAAa,IAA6B,EAAA,CACvC,EAAE,iBAAA,GAAiB,SAAA,EAAA,MAA+C;AACjE,QAAM,EAAE,UAAU,EAAA,IAAS,EAAmB,GACxC,EAAE,MAAA,EAAA,IAAS,EAAa,GACxB,EAAE,4BAAA,GAA4B,2BAAA,EAAA,IAA8B,EAAiB,GAC7E,EAAE,UAAA,EAAA,IAAa,EAAc,GAE7B,IAAmB,EAAQ,oBAAoB,GAC/C,EACJ,kCAAkC,GAClC,iCAAiC,GACjC,gCAAgC,EAAA,IAC9B,GAEE,EACJ,6BAA6B,GAC7B,4BAA4B,GAC5B,2BAA2B,EAAA,IACzB;AAEJ,SACE,gBAAA,EAAC,GAAD,EAAA,UAAA,EACI,KAAa,KAAW,MACxB,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IAAM,MAAM;AAAA,IAAM,IAAI;AAAA,MAAE,IAAI;AAAA,MAAG,IAAI;AAAA,MAAI,IAAI;AAAA,IAAG;AAAA,IAAG,SAAQ;AAAA,
|
|
1
|
+
{"version":3,"file":"AccountNotificationProfile.es.js","names":[],"sources":["../../../../src/settings/components/notifications/AccountNotificationProfile.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\nimport Stack from '@mui/material/Stack'\n\nimport { Text } from '@mxenabled/mxui'\n\nimport {\n ToggleListItem,\n useGlobalCopyStore,\n useScreenSize,\n useSettingsStore,\n useUserStore,\n} from '../../../common'\nimport { DetailedNotificationProfile } from '../../../core'\n\nimport { AccountProfileListItem } from './AccountProfileListItem'\n\ninterface AccountNotificationProfileProps {\n onUpdateProfile: (profile: DetailedNotificationProfile) => void\n profile: DetailedNotificationProfile\n}\n\nexport const AccountNotificationProfile = observer(\n ({ onUpdateProfile, profile }: AccountNotificationProfileProps) => {\n const { settings: copy } = useGlobalCopyStore()\n const { user } = useUserStore()\n const { clientCommunicationProfile, userCommunicationsProfile } = useSettingsStore()\n const { isMobile } = useScreenSize()\n\n const isAccountProfile = profile.notification_type > 2\n const {\n opted_out_of_email_notifications: emailDisabled,\n opted_out_of_push_notifications: pushDisabled,\n opted_out_of_sms_notifications: smsDisabled,\n } = userCommunicationsProfile\n\n const {\n email_notifications_enabled: showEmail,\n push_notifications_enabled: showPush,\n sms_notifications_enabled: showSms,\n } = clientCommunicationProfile\n\n return (\n <Stack>\n {(showEmail || showSms || showPush) && (\n <>\n <Text bold={true} sx={{ mb: 4, ml: 24, mt: 12 }} variant=\"caption\">\n {copy.delivery_method_title}\n </Text>\n <List sx={{ bgcolor: 'background.paper' }}>\n {showEmail && (\n <Stack sx={{ pl: 24 }}>\n <ToggleListItem\n isChecked={!emailDisabled && profile.email_channel && !!user.email}\n isDisabled={emailDisabled || !user.email}\n onToggle={() =>\n onUpdateProfile({ ...profile, email_channel: !profile.email_channel })\n }\n primaryText={copy.delivery_method_email_label}\n secondaryText={\n emailDisabled || !profile.email_channel || !user.email\n ? copy.notification_disabled\n : copy.notification_enabled\n }\n useExtraPadding={false}\n />\n </Stack>\n )}\n\n {showEmail && (showSms || showPush) && <Divider sx={{ ml: isMobile ? 0 : 24 }} />}\n\n {showSms && (\n <Stack sx={{ pl: 24 }}>\n <ToggleListItem\n isChecked={!smsDisabled && profile.sms_channel && !!user.phone}\n isDisabled={smsDisabled || !user.phone}\n onToggle={() =>\n onUpdateProfile({ ...profile, sms_channel: !profile.sms_channel })\n }\n primaryText={`${copy.delivery_method_sms_label}`}\n secondaryText={\n smsDisabled || !profile.sms_channel || !user.phone\n ? copy.notification_disabled\n : copy.notification_enabled\n }\n useExtraPadding={false}\n />\n </Stack>\n )}\n\n {showSms && showPush && <Divider sx={{ ml: isMobile ? 0 : 24 }} />}\n\n {showPush && (\n <Stack sx={{ pl: 24 }}>\n <ToggleListItem\n isChecked={!pushDisabled && profile.push_channel}\n isDisabled={pushDisabled}\n onToggle={() =>\n onUpdateProfile({ ...profile, push_channel: !profile.push_channel })\n }\n primaryText={copy.delivery_method_push_label}\n secondaryText={copy.delivery_method_push_subtitle}\n useExtraPadding={false}\n />\n </Stack>\n )}\n <Divider />\n </List>\n </>\n )}\n\n {isAccountProfile && Boolean(profile.children?.length) && (\n <Stack>\n <Text bold={true} sx={{ mb: 4, ml: 24, mt: 12 }} variant=\"caption\">\n {copy.accounts_threshold_title}\n </Text>\n\n <List sx={{ bgcolor: 'background.paper' }}>\n {profile.children?.map((child) => (\n <AccountProfileListItem\n key={child.guid}\n onProfileUpdated={onUpdateProfile}\n profile={child}\n />\n ))}\n </List>\n </Stack>\n )}\n </Stack>\n )\n },\n)\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountNotificationProfiles.es.js","names":[],"sources":["../../../../src/settings/components/notifications/AccountNotificationProfiles.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport { Drawer, ToggleButtonListItem, useSettingsStore } from '../../../common'\nimport { DetailedNotificationProfile } from '../../../core'\n\nimport { AccountNotificationProfile } from './AccountNotificationProfile'\n\nexport const AccountNotificationProfiles = observer(() => {\n const { accountProfiles, updateNotificationProfile } = useSettingsStore()\n\n const [selectedProfileGuid, setSelectedProfileGuid] = React.useState('')\n\n const selectedProfile = React.useMemo(\n () => accountProfiles.find((profile) => profile.guid === selectedProfileGuid),\n [accountProfiles, selectedProfileGuid],\n )\n\n const handleProfileToggle = async (profile: DetailedNotificationProfile) => {\n await updateNotificationProfile({\n ...profile,\n is_enabled: !profile.is_enabled,\n })\n }\n\n const handleProfileUpdate = async (profile: DetailedNotificationProfile) => {\n await updateNotificationProfile(profile)\n }\n\n return (\n <Stack sx={{ backgroundColor: 'background.paper' }}>\n {accountProfiles\n // Don't show notification profiles that have no associated accounts (children)\n .filter((profile) => profile.children && profile.children.length > 0)\n .map((profile) => (\n <ToggleButtonListItem\n endIcon={<ChevronRight />}\n isChecked={profile.is_enabled}\n isDisabled={!profile.is_enabled}\n key={profile.guid}\n onClick={() => setSelectedProfileGuid(profile.guid)}\n onToggle={() => handleProfileToggle(profile)}\n primaryText={profile.label}\n secondaryText={profile.is_enabled ? profile.deliveryMethodsLabel : undefined}\n />\n ))}\n <Drawer\n isOpen={Boolean(selectedProfile)}\n onClose={() => setSelectedProfileGuid('')}\n title={selectedProfile ? selectedProfile.label : ''}\n >\n {selectedProfile && (\n <AccountNotificationProfile\n onUpdateProfile={handleProfileUpdate}\n profile={selectedProfile}\n />\n )}\n </Drawer>\n </Stack>\n )\n})\n"],"mappings":";;;;;;;;;AAYA,IAAa,IAA8B,EAAA,MAAe;AACxD,QAAM,EAAE,iBAAA,GAAiB,2BAAA,EAAA,IAA8B,EAAiB,GAElE,CAAC,GAAqB,CAAA,IAA0B,EAAM,SAAS,EAAE,GAEjE,IAAkB,EAAM,QAAA,MACtB,EAAgB,KAAA,CAAM,MAAY,EAAQ,SAAS,CAAmB,GAC5E,CAAC,GAAiB,CAAmB,CACvC,GAEM,IAAsB,OAAO,MAAyC;AAC1E,UAAM,EAA0B;AAAA,MAC9B,GAAG;AAAA,MACH,YAAY,CAAC,EAAQ;AAAA,IACvB,CAAC;AAAA,EACH,GAEM,IAAsB,OAAO,MAAyC;AAC1E,UAAM,EAA0B,CAAO;AAAA,EACzC;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI,EAAE,iBAAiB,mBAAmB;AAAA,
|
|
1
|
+
{"version":3,"file":"AccountNotificationProfiles.es.js","names":[],"sources":["../../../../src/settings/components/notifications/AccountNotificationProfiles.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport { Drawer, ToggleButtonListItem, useSettingsStore } from '../../../common'\nimport { DetailedNotificationProfile } from '../../../core'\n\nimport { AccountNotificationProfile } from './AccountNotificationProfile'\n\nexport const AccountNotificationProfiles = observer(() => {\n const { accountProfiles, updateNotificationProfile } = useSettingsStore()\n\n const [selectedProfileGuid, setSelectedProfileGuid] = React.useState('')\n\n const selectedProfile = React.useMemo(\n () => accountProfiles.find((profile) => profile.guid === selectedProfileGuid),\n [accountProfiles, selectedProfileGuid],\n )\n\n const handleProfileToggle = async (profile: DetailedNotificationProfile) => {\n await updateNotificationProfile({\n ...profile,\n is_enabled: !profile.is_enabled,\n })\n }\n\n const handleProfileUpdate = async (profile: DetailedNotificationProfile) => {\n await updateNotificationProfile(profile)\n }\n\n return (\n <Stack sx={{ backgroundColor: 'background.paper' }}>\n {accountProfiles\n // Don't show notification profiles that have no associated accounts (children)\n .filter((profile) => profile.children && profile.children.length > 0)\n .map((profile) => (\n <ToggleButtonListItem\n endIcon={<ChevronRight />}\n isChecked={profile.is_enabled}\n isDisabled={!profile.is_enabled}\n key={profile.guid}\n onClick={() => setSelectedProfileGuid(profile.guid)}\n onToggle={() => handleProfileToggle(profile)}\n primaryText={profile.label}\n secondaryText={profile.is_enabled ? profile.deliveryMethodsLabel : undefined}\n />\n ))}\n <Drawer\n isOpen={Boolean(selectedProfile)}\n onClose={() => setSelectedProfileGuid('')}\n title={selectedProfile ? selectedProfile.label : ''}\n >\n {selectedProfile && (\n <AccountNotificationProfile\n onUpdateProfile={handleProfileUpdate}\n profile={selectedProfile}\n />\n )}\n </Drawer>\n </Stack>\n )\n})\n"],"mappings":";;;;;;;;;AAYA,IAAa,IAA8B,EAAA,MAAe;AACxD,QAAM,EAAE,iBAAA,GAAiB,2BAAA,EAAA,IAA8B,EAAiB,GAElE,CAAC,GAAqB,CAAA,IAA0B,EAAM,SAAS,EAAE,GAEjE,IAAkB,EAAM,QAAA,MACtB,EAAgB,KAAA,CAAM,MAAY,EAAQ,SAAS,CAAmB,GAC5E,CAAC,GAAiB,CAAmB,CACvC,GAEM,IAAsB,OAAO,MAAyC;AAC1E,UAAM,EAA0B;AAAA,MAC9B,GAAG;AAAA,MACH,YAAY,CAAC,EAAQ;AAAA,IACvB,CAAC;AAAA,EACH,GAEM,IAAsB,OAAO,MAAyC;AAC1E,UAAM,EAA0B,CAAO;AAAA,EACzC;AAEA,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI,EAAE,iBAAiB,mBAAmB;AAAA,IAAjD,UAAA,CACG,EAEE,OAAA,CAAQ,MAAY,EAAQ,YAAY,EAAQ,SAAS,SAAS,CAAC,EACnE,IAAA,CAAK,MACJ,gBAAA,EAAC,GAAD;AAAA,MACE,SAAS,gBAAA,EAAC,GAAD,CAAe,CAAA;AAAA,MACxB,WAAW,EAAQ;AAAA,MACnB,YAAY,CAAC,EAAQ;AAAA,MAErB,SAAA,MAAe,EAAuB,EAAQ,IAAI;AAAA,MAClD,UAAA,MAAgB,EAAoB,CAAO;AAAA,MAC3C,aAAa,EAAQ;AAAA,MACrB,eAAe,EAAQ,aAAa,EAAQ,uBAAuB;AAAA,IACpE,GALM,EAAQ,IAKd,CACF,GACH,gBAAA,EAAC,GAAD;AAAA,MACE,QAAQ,EAAQ;AAAA,MAChB,SAAA,MAAe,EAAuB,EAAE;AAAA,MACxC,OAAO,IAAkB,EAAgB,QAAQ;AAAA,MAEhD,UAAA,KACC,gBAAA,EAAC,GAAD;AAAA,QACE,iBAAiB;AAAA,QACjB,SAAS;AAAA,MACV,CAAA;AAAA,IAEG,CAAA,CACH;AAAA;AAEX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountProfileListItem.es.js","names":[],"sources":["../../../../src/settings/components/notifications/AccountProfileListItem.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { endOfMonth } from 'date-fns/endOfMonth'\nimport { startOfMonth } from 'date-fns/startOfMonth'\n\nimport Stack from '@mui/material/Stack'\nimport { DateCalendar } from '@mui/x-date-pickers/DateCalendar'\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV3'\n\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport { InstitutionLogo } from '@mxenabled/mxui'\n\nimport {\n CurrencyInput,\n Dialog,\n ToggleButtonListItem,\n useAccountStore,\n useGlobalCopyStore,\n} from '../../../common'\nimport { AccountNotificationTypes, DetailedNotificationProfile } from '../../../core'\nimport { formatCurrency, formatOrdinal } from '../../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface AccountProfileListItemProps {\n onProfileUpdated: (profile: DetailedNotificationProfile) => void\n profile: DetailedNotificationProfile\n}\n\nexport const AccountProfileListItem = observer(\n ({ onProfileUpdated, profile }: AccountProfileListItemProps) => {\n const { common: commonCopy, recurring: recurringCopy, settings: copy } = useGlobalCopyStore()\n const { updateAccount } = useAccountStore()\n\n const isPaymentReminder =\n profile.notification_type === AccountNotificationTypes.DebtPaymentReminder\n\n const [isOpen, setIsOpen] = React.useState(false)\n const [amount, setAmount] = React.useState<number>(profile.threshold || 0)\n const [paymentDay, setPaymentDay] = React.useState<number>(\n profile.account?.day_payment_is_due || 0,\n )\n\n const accountName = profile.account?.name || profile.account?.feed_name || ''\n const accountPaymentDate = profile.account?.day_payment_is_due\n ? (buildDynamicCopy(\n copy.notification_debt_payment_date,\n formatOrdinal(profile.account?.day_payment_is_due),\n ) as string)\n : copy.notification_debt_payment_zero_state\n\n const secondaryText = isPaymentReminder\n ? accountPaymentDate\n : formatCurrency(profile.threshold ?? 0, '0,0')\n\n const handleUpdateProfile = async () => {\n if (isPaymentReminder && profile.account) {\n await updateAccount({ ...profile.account, day_payment_is_due: paymentDay })\n } else {\n onProfileUpdated({ ...profile, threshold: amount })\n }\n }\n\n return (\n <Stack>\n <ToggleButtonListItem\n avatar={\n profile.account?.institution_guid ? (\n <InstitutionLogo\n alt={profile.label}\n institutionGuid={profile.account?.institution_guid}\n />\n ) : undefined\n }\n endIcon={<ChevronRight />}\n isChecked={profile.is_enabled}\n isDisabled={!profile.is_enabled}\n isPrimaryTextBold={true}\n onClick={() => setIsOpen(true)}\n onToggle={() =>\n onProfileUpdated({\n ...profile,\n is_enabled: !profile.is_enabled,\n })\n }\n primaryText={accountName}\n secondaryText={!profile.is_enabled ? copy.notification_disabled : secondaryText}\n />\n\n <Dialog\n copy={{\n title: isPaymentReminder\n ? recurringCopy.day_of_the_month\n : copy.notification_threshold_label,\n close_aria: commonCopy.close_aria,\n }}\n disablePrimaryButton={isPaymentReminder && paymentDay === 0}\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n onPrimaryAction={handleUpdateProfile}\n primaryText={commonCopy.save_button}\n >\n {isPaymentReminder ? (\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <DateCalendar\n maxDate={endOfMonth(new Date())}\n minDate={startOfMonth(new Date())}\n onChange={(date: Date) => {\n setPaymentDay(date.getDate())\n }}\n slots={{\n // Hides the arrows\n leftArrowIcon: () => null,\n rightArrowIcon: () => null,\n }}\n sx={{\n // TODO: Needs to be updated in MXUI\n '& .MuiPickersDay-today': {\n color: 'primary.main',\n },\n }}\n views={['day']}\n />\n </LocalizationProvider>\n ) : (\n <CurrencyInput\n amount={amount}\n autoFocus={true}\n fullWidth={true}\n minAmount={0}\n setAmount={(value) => setAmount(Number(value) || 0)}\n sx={{ '.MuiTypography-body1': { p: 0 } }}\n />\n )}\n </Dialog>\n </Stack>\n )\n },\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;AA8BA,IAAa,KAAyB,EAAA,CACnC,EAAE,kBAAA,GAAkB,SAAA,EAAA,MAA2C;AAC9D,QAAM,EAAE,QAAQ,GAAY,WAAW,GAAe,UAAU,EAAA,IAAS,EAAmB,GACtF,EAAE,eAAA,EAAA,IAAkB,EAAgB,GAEpC,IACJ,EAAQ,sBAAsB,EAAyB,qBAEnD,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAS,EAAK,GAC1C,CAAC,GAAQ,CAAA,IAAa,EAAM,SAAiB,EAAQ,aAAa,CAAC,GACnE,CAAC,GAAY,CAAA,IAAiB,EAAM,SACxC,EAAQ,SAAS,sBAAsB,CACzC,GAEM,IAAc,EAAQ,SAAS,QAAQ,EAAQ,SAAS,aAAa,IACrE,IAAqB,EAAQ,SAAS,qBACvC,EACC,EAAK,gCACL,EAAc,EAAQ,SAAS,kBAAkB,CACnD,IACA,EAAK,sCAEH,IAAgB,IAClB,IACA,EAAe,EAAQ,aAAa,GAAG,KAAK,GAE1C,IAAsB,YAAY;AACtC,IAAI,KAAqB,EAAQ,UAC/B,MAAM,EAAc;AAAA,MAAE,GAAG,EAAQ;AAAA,MAAS,oBAAoB;AAAA,IAAW,CAAC,IAE1E,EAAiB;AAAA,MAAE,GAAG;AAAA,MAAS,WAAW;AAAA,IAAO,CAAC;AAAA,EAEtD;AAEA,SACE,gBAAA,EAAC,GAAD,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,IACE,QACE,EAAQ,SAAS,mBACf,gBAAA,EAAC,GAAD;AAAA,MACE,KAAK,EAAQ;AAAA,MACb,iBAAiB,EAAQ,SAAS;AAAA,IACnC,CAAA,IACC;AAAA,IAEN,SAAS,gBAAA,EAAC,GAAD,CAAe,CAAA;AAAA,IACxB,WAAW,EAAQ;AAAA,IACnB,YAAY,CAAC,EAAQ;AAAA,IACrB,mBAAmB;AAAA,IACnB,SAAA,MAAe,EAAU,EAAI;AAAA,IAC7B,UAAA,MACE,EAAiB;AAAA,MACf,GAAG;AAAA,MACH,YAAY,CAAC,EAAQ;AAAA,IACvB,CAAC;AAAA,IAEH,aAAa;AAAA,IACb,eAAgB,EAAQ,aAA0C,IAA7B,EAAK;AAAA,EAC3C,CAAA,GAED,gBAAA,EAAC,GAAD;AAAA,IACE,MAAM;AAAA,MACJ,OAAO,IACH,EAAc,mBACd,EAAK;AAAA,MACT,YAAY,EAAW;AAAA,IACzB;AAAA,IACA,sBAAsB,KAAqB,MAAe;AAAA,IAClD,QAAA;AAAA,IACR,SAAA,MAAe,EAAU,EAAK;AAAA,IAC9B,iBAAiB;AAAA,IACjB,aAAa,EAAW;AAAA,
|
|
1
|
+
{"version":3,"file":"AccountProfileListItem.es.js","names":[],"sources":["../../../../src/settings/components/notifications/AccountProfileListItem.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { endOfMonth } from 'date-fns/endOfMonth'\nimport { startOfMonth } from 'date-fns/startOfMonth'\n\nimport Stack from '@mui/material/Stack'\nimport { DateCalendar } from '@mui/x-date-pickers/DateCalendar'\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV3'\n\nimport { ChevronRight } from '@mxenabled/mx-icons'\n\nimport { InstitutionLogo } from '@mxenabled/mxui'\n\nimport {\n CurrencyInput,\n Dialog,\n ToggleButtonListItem,\n useAccountStore,\n useGlobalCopyStore,\n} from '../../../common'\nimport { AccountNotificationTypes, DetailedNotificationProfile } from '../../../core'\nimport { formatCurrency, formatOrdinal } from '../../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface AccountProfileListItemProps {\n onProfileUpdated: (profile: DetailedNotificationProfile) => void\n profile: DetailedNotificationProfile\n}\n\nexport const AccountProfileListItem = observer(\n ({ onProfileUpdated, profile }: AccountProfileListItemProps) => {\n const { common: commonCopy, recurring: recurringCopy, settings: copy } = useGlobalCopyStore()\n const { updateAccount } = useAccountStore()\n\n const isPaymentReminder =\n profile.notification_type === AccountNotificationTypes.DebtPaymentReminder\n\n const [isOpen, setIsOpen] = React.useState(false)\n const [amount, setAmount] = React.useState<number>(profile.threshold || 0)\n const [paymentDay, setPaymentDay] = React.useState<number>(\n profile.account?.day_payment_is_due || 0,\n )\n\n const accountName = profile.account?.name || profile.account?.feed_name || ''\n const accountPaymentDate = profile.account?.day_payment_is_due\n ? (buildDynamicCopy(\n copy.notification_debt_payment_date,\n formatOrdinal(profile.account?.day_payment_is_due),\n ) as string)\n : copy.notification_debt_payment_zero_state\n\n const secondaryText = isPaymentReminder\n ? accountPaymentDate\n : formatCurrency(profile.threshold ?? 0, '0,0')\n\n const handleUpdateProfile = async () => {\n if (isPaymentReminder && profile.account) {\n await updateAccount({ ...profile.account, day_payment_is_due: paymentDay })\n } else {\n onProfileUpdated({ ...profile, threshold: amount })\n }\n }\n\n return (\n <Stack>\n <ToggleButtonListItem\n avatar={\n profile.account?.institution_guid ? (\n <InstitutionLogo\n alt={profile.label}\n institutionGuid={profile.account?.institution_guid}\n />\n ) : undefined\n }\n endIcon={<ChevronRight />}\n isChecked={profile.is_enabled}\n isDisabled={!profile.is_enabled}\n isPrimaryTextBold={true}\n onClick={() => setIsOpen(true)}\n onToggle={() =>\n onProfileUpdated({\n ...profile,\n is_enabled: !profile.is_enabled,\n })\n }\n primaryText={accountName}\n secondaryText={!profile.is_enabled ? copy.notification_disabled : secondaryText}\n />\n\n <Dialog\n copy={{\n title: isPaymentReminder\n ? recurringCopy.day_of_the_month\n : copy.notification_threshold_label,\n close_aria: commonCopy.close_aria,\n }}\n disablePrimaryButton={isPaymentReminder && paymentDay === 0}\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n onPrimaryAction={handleUpdateProfile}\n primaryText={commonCopy.save_button}\n >\n {isPaymentReminder ? (\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <DateCalendar\n maxDate={endOfMonth(new Date())}\n minDate={startOfMonth(new Date())}\n onChange={(date: Date) => {\n setPaymentDay(date.getDate())\n }}\n slots={{\n // Hides the arrows\n leftArrowIcon: () => null,\n rightArrowIcon: () => null,\n }}\n sx={{\n // TODO: Needs to be updated in MXUI\n '& .MuiPickersDay-today': {\n color: 'primary.main',\n },\n }}\n views={['day']}\n />\n </LocalizationProvider>\n ) : (\n <CurrencyInput\n amount={amount}\n autoFocus={true}\n fullWidth={true}\n minAmount={0}\n setAmount={(value) => setAmount(Number(value) || 0)}\n sx={{ '.MuiTypography-body1': { p: 0 } }}\n />\n )}\n </Dialog>\n </Stack>\n )\n },\n)\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeliveryMethods.es.js","names":[],"sources":["../../../../src/settings/components/notifications/DeliveryMethods.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Card from '@mui/material/Card'\nimport CardContent from '@mui/material/CardContent'\nimport Divider from '@mui/material/Divider'\nimport Stack from '@mui/material/Stack'\n\nimport { Star } from '@mxenabled/mx-icons'\n\nimport { H3, Text } from '@mxenabled/mxui'\n\nimport {\n ToggleListItem,\n useEvent,\n useGlobalCopyStore,\n useSettingsStore,\n useUserStore,\n} from '../../../common'\nimport { type UserCommunicationProfile } from '../../../core'\n\nexport const DeliveryMethods = observer(() => {\n const { onEvent } = useEvent()\n const { settings: copy } = useGlobalCopyStore()\n const {\n clientCommunicationProfile: ccp,\n updateUserCommunicationProfile,\n userCommunicationsProfile: ucp,\n } = useSettingsStore()\n const { user } = useUserStore()\n\n const onProfileChange = async <K extends keyof UserCommunicationProfile>(\n key: K,\n value: UserCommunicationProfile[K],\n ) => {\n const updatedProfile = { ...ucp, [key]: value }\n\n if (onEvent) {\n const keyParts = key.split('_')\n const notificationType = keyParts[3] // e.g., 'email', 'sms', 'push' 'all'\n if (value === false) {\n onEvent('opt_in_notification_method', { notificationType })\n } else {\n onEvent('opt_out_notification_method', { notificationType })\n }\n }\n\n await updateUserCommunicationProfile(updatedProfile)\n }\n\n return (\n <Stack>\n <H3 sx={{ mt: 24 }}>{copy.delivery_method_title}</H3>\n\n {ccp.email_notifications_enabled && (\n <>\n <ToggleListItem\n isChecked={!!user.email && !ucp.opted_out_of_email_notifications}\n isDisabled={!user.email}\n onToggle={() =>\n onProfileChange(\n 'opted_out_of_email_notifications',\n !ucp.opted_out_of_email_notifications,\n )\n }\n primaryText={copy.delivery_method_email_title}\n secondaryText={\n !!user.email && !ucp.opted_out_of_email_notifications\n ? copy.notification_enabled\n : copy.notification_disabled\n }\n useExtraPadding={false}\n />\n\n {(ccp.sms_notifications_enabled || ccp.push_notifications_enabled) && <Divider />}\n </>\n )}\n\n {ccp.sms_notifications_enabled && (\n <>\n <ToggleListItem\n isChecked={!!user.phone && !ucp.opted_out_of_sms_notifications}\n isDisabled={!user.phone}\n onToggle={() =>\n onProfileChange('opted_out_of_sms_notifications', !ucp.opted_out_of_sms_notifications)\n }\n primaryText={copy.delivery_method_sms_title}\n secondaryText={\n !!user.phone && !ucp.opted_out_of_sms_notifications\n ? copy.notification_enabled\n : copy.notification_disabled\n }\n useExtraPadding={false}\n />\n\n {ccp.push_notifications_enabled && <Divider />}\n </>\n )}\n\n {ccp.push_notifications_enabled && (\n <ToggleListItem\n isChecked={!ucp.opted_out_of_push_notifications}\n isDisabled={true}\n onToggle={() => {}}\n primaryText={copy.delivery_method_push_title}\n secondaryText={copy.delivery_method_push_subtitle}\n useExtraPadding={false}\n />\n )}\n\n {ccp.sms_notifications_enabled && (\n <Card sx={{ backgroundColor: 'background.default', mt: 12 }} variant=\"outlined\">\n <CardContent>\n <Stack alignItems=\"flex-start\" direction=\"row\" gap={6}>\n <Star color=\"primary\" filled={true} />\n <Text variant=\"caption\">{copy.delivery_method_sms_note_1}</Text>\n </Stack>\n </CardContent>\n </Card>\n )}\n </Stack>\n )\n})\n"],"mappings":";;;;;;;;;;AAoBA,IAAa,IAAkB,EAAA,MAAe;AAC5C,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,UAAU,EAAA,IAAS,EAAmB,GACxC,EACJ,4BAA4B,GAC5B,gCAAA,GACA,2BAA2B,EAAA,IACzB,EAAiB,GACf,EAAE,MAAA,EAAA,IAAS,EAAa,GAExB,IAAkB,OACtB,GACA,MACG;AACH,UAAM,IAAiB;AAAA,MAAE,GAAG;AAAA,
|
|
1
|
+
{"version":3,"file":"DeliveryMethods.es.js","names":[],"sources":["../../../../src/settings/components/notifications/DeliveryMethods.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Card from '@mui/material/Card'\nimport CardContent from '@mui/material/CardContent'\nimport Divider from '@mui/material/Divider'\nimport Stack from '@mui/material/Stack'\n\nimport { Star } from '@mxenabled/mx-icons'\n\nimport { H3, Text } from '@mxenabled/mxui'\n\nimport {\n ToggleListItem,\n useEvent,\n useGlobalCopyStore,\n useSettingsStore,\n useUserStore,\n} from '../../../common'\nimport { type UserCommunicationProfile } from '../../../core'\n\nexport const DeliveryMethods = observer(() => {\n const { onEvent } = useEvent()\n const { settings: copy } = useGlobalCopyStore()\n const {\n clientCommunicationProfile: ccp,\n updateUserCommunicationProfile,\n userCommunicationsProfile: ucp,\n } = useSettingsStore()\n const { user } = useUserStore()\n\n const onProfileChange = async <K extends keyof UserCommunicationProfile>(\n key: K,\n value: UserCommunicationProfile[K],\n ) => {\n const updatedProfile = { ...ucp, [key]: value }\n\n if (onEvent) {\n const keyParts = key.split('_')\n const notificationType = keyParts[3] // e.g., 'email', 'sms', 'push' 'all'\n if (value === false) {\n onEvent('opt_in_notification_method', { notificationType })\n } else {\n onEvent('opt_out_notification_method', { notificationType })\n }\n }\n\n await updateUserCommunicationProfile(updatedProfile)\n }\n\n return (\n <Stack>\n <H3 sx={{ mt: 24 }}>{copy.delivery_method_title}</H3>\n\n {ccp.email_notifications_enabled && (\n <>\n <ToggleListItem\n isChecked={!!user.email && !ucp.opted_out_of_email_notifications}\n isDisabled={!user.email}\n onToggle={() =>\n onProfileChange(\n 'opted_out_of_email_notifications',\n !ucp.opted_out_of_email_notifications,\n )\n }\n primaryText={copy.delivery_method_email_title}\n secondaryText={\n !!user.email && !ucp.opted_out_of_email_notifications\n ? copy.notification_enabled\n : copy.notification_disabled\n }\n useExtraPadding={false}\n />\n\n {(ccp.sms_notifications_enabled || ccp.push_notifications_enabled) && <Divider />}\n </>\n )}\n\n {ccp.sms_notifications_enabled && (\n <>\n <ToggleListItem\n isChecked={!!user.phone && !ucp.opted_out_of_sms_notifications}\n isDisabled={!user.phone}\n onToggle={() =>\n onProfileChange('opted_out_of_sms_notifications', !ucp.opted_out_of_sms_notifications)\n }\n primaryText={copy.delivery_method_sms_title}\n secondaryText={\n !!user.phone && !ucp.opted_out_of_sms_notifications\n ? copy.notification_enabled\n : copy.notification_disabled\n }\n useExtraPadding={false}\n />\n\n {ccp.push_notifications_enabled && <Divider />}\n </>\n )}\n\n {ccp.push_notifications_enabled && (\n <ToggleListItem\n isChecked={!ucp.opted_out_of_push_notifications}\n isDisabled={true}\n onToggle={() => {}}\n primaryText={copy.delivery_method_push_title}\n secondaryText={copy.delivery_method_push_subtitle}\n useExtraPadding={false}\n />\n )}\n\n {ccp.sms_notifications_enabled && (\n <Card sx={{ backgroundColor: 'background.default', mt: 12 }} variant=\"outlined\">\n <CardContent>\n <Stack alignItems=\"flex-start\" direction=\"row\" gap={6}>\n <Star color=\"primary\" filled={true} />\n <Text variant=\"caption\">{copy.delivery_method_sms_note_1}</Text>\n </Stack>\n </CardContent>\n </Card>\n )}\n </Stack>\n )\n})\n"],"mappings":";;;;;;;;;;AAoBA,IAAa,IAAkB,EAAA,MAAe;AAC5C,QAAM,EAAE,SAAA,EAAA,IAAY,EAAS,GACvB,EAAE,UAAU,EAAA,IAAS,EAAmB,GACxC,EACJ,4BAA4B,GAC5B,gCAAA,GACA,2BAA2B,EAAA,IACzB,EAAiB,GACf,EAAE,MAAA,EAAA,IAAS,EAAa,GAExB,IAAkB,OACtB,GACA,MACG;AACH,UAAM,IAAiB;AAAA,MAAE,GAAG;AAAA,MAAM,CAAA,CAAA,GAAM;AAAA,IAAM;AAE9C,QAAI,GAAS;AAEX,YAAM,IADW,EAAI,MAAM,GACF,EAAS,CAAA;AAClC,MAAI,MAAU,KACZ,EAAQ,8BAA8B,EAAE,kBAAA,EAAiB,CAAC,IAE1D,EAAQ,+BAA+B,EAAE,kBAAA,EAAiB,CAAC;AAAA,IAE/D;AAEA,UAAM,EAA+B,CAAc;AAAA,EACrD;AAEA,SACE,gBAAA,EAAC,GAAD,EAAA,UAAA;AAAA,IACE,gBAAA,EAAC,GAAD;AAAA,MAAI,IAAI,EAAE,IAAI,GAAG;AAAA,MAAI,UAAA,EAAK;AAAA,IAA0B,CAAA;AAAA,IAEnD,EAAI,+BACH,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,CAAC,CAAC,EAAK,SAAS,CAAC,EAAI;AAAA,MAChC,YAAY,CAAC,EAAK;AAAA,MAClB,UAAA,MACE,EACE,oCACA,CAAC,EAAI,gCACP;AAAA,MAEF,aAAa,EAAK;AAAA,MAClB,eACI,EAAK,SAAS,CAAC,EAAI,mCACjB,EAAK,uBACL,EAAK;AAAA,MAEX,iBAAiB;AAAA,IAClB,CAAA,IAEC,EAAI,6BAA6B,EAAI,+BAA+B,gBAAA,EAAC,GAAD,CAAU,CAAA,CAChF,EAAA,CAAA;AAAA,IAGH,EAAI,6BACH,gBAAA,EAAA,GAAA,EAAA,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,CAAC,CAAC,EAAK,SAAS,CAAC,EAAI;AAAA,MAChC,YAAY,CAAC,EAAK;AAAA,MAClB,UAAA,MACE,EAAgB,kCAAkC,CAAC,EAAI,8BAA8B;AAAA,MAEvF,aAAa,EAAK;AAAA,MAClB,eACI,EAAK,SAAS,CAAC,EAAI,iCACjB,EAAK,uBACL,EAAK;AAAA,MAEX,iBAAiB;AAAA,IAClB,CAAA,GAEA,EAAI,8BAA8B,gBAAA,EAAC,GAAD,CAAU,CAAA,CAC7C,EAAA,CAAA;AAAA,IAGH,EAAI,8BACH,gBAAA,EAAC,GAAD;AAAA,MACE,WAAW,CAAC,EAAI;AAAA,MAChB,YAAY;AAAA,MACZ,UAAA,MAAgB;AAAA,MAAC;AAAA,MACjB,aAAa,EAAK;AAAA,MAClB,eAAe,EAAK;AAAA,MACpB,iBAAiB;AAAA,IAClB,CAAA;AAAA,IAGF,EAAI,6BACH,gBAAA,EAAC,GAAD;AAAA,MAAM,IAAI;AAAA,QAAE,iBAAiB;AAAA,QAAsB,IAAI;AAAA,MAAG;AAAA,MAAG,SAAQ;AAAA,MACnE,UAAA,gBAAA,EAAC,GAAD,EAAA,UACE,gBAAA,EAAC,GAAD;AAAA,QAAO,YAAW;AAAA,QAAa,WAAU;AAAA,QAAM,KAAK;AAAA,QAApD,UAAA,CACE,gBAAA,EAAC,GAAD;AAAA,UAAM,OAAM;AAAA,UAAU,QAAQ;AAAA,QAAO,CAAA,GACrC,gBAAA,EAAC,GAAD;AAAA,UAAM,SAAQ;AAAA,UAAW,UAAA,EAAK;AAAA,QAAiC,CAAA,CAC1D;AAAA,MACI,CAAA,EAAA,CAAA;AAAA,IACT,CAAA;AAAA,EAEH,EAAA,CAAA;AAEX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationProfile.es.js","names":[],"sources":["../../../../src/settings/components/notifications/NotificationProfile.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Collapse from '@mui/material/Collapse'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\n\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\nimport {\n ToggleButtonListItem,\n ToggleListItem,\n useGlobalCopyStore,\n useSettingsStore,\n useUserStore,\n} from '../../../common'\nimport { type DetailedNotificationProfile } from '../../../core'\n\ninterface BudgetNotificationProfileProps {\n profile: DetailedNotificationProfile\n}\n\nexport const NotificationProfile = observer(({ profile }: BudgetNotificationProfileProps) => {\n const { settings: copy } = useGlobalCopyStore()\n const {\n clientCommunicationProfile: {\n email_notifications_enabled: showEmail,\n push_notifications_enabled: showPush,\n sms_notifications_enabled: showSms,\n },\n updateNotificationProfile,\n userCommunicationsProfile: {\n opted_out_of_email_notifications: emailDisabled,\n opted_out_of_push_notifications: pushDisabled,\n opted_out_of_sms_notifications: smsDisabled,\n },\n } = useSettingsStore()\n\n const { user: userDetails } = useUserStore()\n\n const [isExpanded, setIsExpanded] = React.useState(false)\n\n const handleProfileToggle = async () => {\n await handleUpdateProfile({ ...profile, is_enabled: !profile.is_enabled })\n\n if (profile.is_enabled) {\n setIsExpanded(false)\n }\n }\n\n const handleUpdateProfile = async (updatedProfile: DetailedNotificationProfile) => {\n await updateNotificationProfile(updatedProfile)\n }\n\n const hasDeliveryMethods = showEmail || showSms || showPush\n\n return (\n <List key={profile.guid} sx={{ bgcolor: 'background.paper' }}>\n <ToggleButtonListItem\n endIcon={\n hasDeliveryMethods ? (\n <ExpandMore\n sx={{\n transition: 'transform 0.3s ease-in-out',\n transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)',\n }}\n />\n ) : undefined\n }\n isChecked={profile.is_enabled}\n isDisabled={!profile.is_enabled}\n key={profile.guid}\n onClick={() => setIsExpanded(!isExpanded)}\n onToggle={() => handleProfileToggle()}\n primaryText={profile.label}\n secondaryText={profile.is_enabled ? profile.deliveryMethodsLabel : undefined}\n />\n {hasDeliveryMethods && (\n <Collapse in={isExpanded}>\n <List sx={{ bgcolor: 'background.paper' }}>\n {showEmail && (\n <ToggleListItem\n isChecked={!emailDisabled && profile.email_channel && !!userDetails.email}\n isDisabled={emailDisabled || !userDetails.email}\n onToggle={() =>\n handleUpdateProfile({\n ...profile,\n email_channel: !profile.email_channel,\n })\n }\n primaryText={copy.delivery_method_email_label}\n />\n )}\n\n {showEmail && (showSms || showPush) && <Divider sx={{ ml: 48 }} />}\n\n {showSms && (\n <ToggleListItem\n isChecked={!smsDisabled && profile.sms_channel && !!userDetails.phone}\n isDisabled={smsDisabled || !userDetails.phone}\n onToggle={() =>\n handleUpdateProfile({\n ...profile,\n sms_channel: !profile.sms_channel,\n })\n }\n primaryText={copy.delivery_method_sms_label}\n />\n )}\n\n {showSms && showPush && <Divider sx={{ ml: 48 }} />}\n\n {showPush && (\n <ToggleListItem\n isChecked={!pushDisabled && profile.push_channel}\n isDisabled={pushDisabled}\n onToggle={() =>\n handleUpdateProfile({\n ...profile,\n push_channel: !profile.push_channel,\n })\n }\n primaryText={copy.delivery_method_push_label}\n />\n )}\n </List>\n </Collapse>\n )}\n <Divider />\n </List>\n )\n})\n"],"mappings":";;;;;;;;;;AAsBA,IAAa,IAAsB,EAAA,CAAU,EAAE,SAAA,EAAA,MAA8C;AAC3F,QAAM,EAAE,UAAU,EAAA,IAAS,EAAmB,GACxC,EACJ,4BAA4B,EAC1B,6BAA6B,GAC7B,4BAA4B,GAC5B,2BAA2B,EAAA,GAE7B,2BAAA,GACA,2BAA2B,EACzB,kCAAkC,GAClC,iCAAiC,GACjC,gCAAgC,EAAA,EAAA,IAEhC,EAAiB,GAEf,EAAE,MAAM,EAAA,IAAgB,EAAa,GAErC,CAAC,GAAY,CAAA,IAAiB,EAAM,SAAS,EAAK,GAElD,IAAsB,YAAY;AACtC,UAAM,EAAoB;AAAA,MAAE,GAAG;AAAA,MAAS,YAAY,CAAC,EAAQ;AAAA,IAAW,CAAC,GAErE,EAAQ,cACV,EAAc,EAAK;AAAA,EAEvB,GAEM,IAAsB,OAAO,MAAgD;AACjF,UAAM,EAA0B,CAAc;AAAA,EAChD,GAEM,IAAqB,KAAa,KAAW;AAEnD,SACE,gBAAA,EAAC,GAAD;AAAA,IAAyB,IAAI,EAAE,SAAS,mBAAmB;AAAA,
|
|
1
|
+
{"version":3,"file":"NotificationProfile.es.js","names":[],"sources":["../../../../src/settings/components/notifications/NotificationProfile.tsx"],"sourcesContent":["import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Collapse from '@mui/material/Collapse'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\n\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\nimport {\n ToggleButtonListItem,\n ToggleListItem,\n useGlobalCopyStore,\n useSettingsStore,\n useUserStore,\n} from '../../../common'\nimport { type DetailedNotificationProfile } from '../../../core'\n\ninterface BudgetNotificationProfileProps {\n profile: DetailedNotificationProfile\n}\n\nexport const NotificationProfile = observer(({ profile }: BudgetNotificationProfileProps) => {\n const { settings: copy } = useGlobalCopyStore()\n const {\n clientCommunicationProfile: {\n email_notifications_enabled: showEmail,\n push_notifications_enabled: showPush,\n sms_notifications_enabled: showSms,\n },\n updateNotificationProfile,\n userCommunicationsProfile: {\n opted_out_of_email_notifications: emailDisabled,\n opted_out_of_push_notifications: pushDisabled,\n opted_out_of_sms_notifications: smsDisabled,\n },\n } = useSettingsStore()\n\n const { user: userDetails } = useUserStore()\n\n const [isExpanded, setIsExpanded] = React.useState(false)\n\n const handleProfileToggle = async () => {\n await handleUpdateProfile({ ...profile, is_enabled: !profile.is_enabled })\n\n if (profile.is_enabled) {\n setIsExpanded(false)\n }\n }\n\n const handleUpdateProfile = async (updatedProfile: DetailedNotificationProfile) => {\n await updateNotificationProfile(updatedProfile)\n }\n\n const hasDeliveryMethods = showEmail || showSms || showPush\n\n return (\n <List key={profile.guid} sx={{ bgcolor: 'background.paper' }}>\n <ToggleButtonListItem\n endIcon={\n hasDeliveryMethods ? (\n <ExpandMore\n sx={{\n transition: 'transform 0.3s ease-in-out',\n transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)',\n }}\n />\n ) : undefined\n }\n isChecked={profile.is_enabled}\n isDisabled={!profile.is_enabled}\n key={profile.guid}\n onClick={() => setIsExpanded(!isExpanded)}\n onToggle={() => handleProfileToggle()}\n primaryText={profile.label}\n secondaryText={profile.is_enabled ? profile.deliveryMethodsLabel : undefined}\n />\n {hasDeliveryMethods && (\n <Collapse in={isExpanded}>\n <List sx={{ bgcolor: 'background.paper' }}>\n {showEmail && (\n <ToggleListItem\n isChecked={!emailDisabled && profile.email_channel && !!userDetails.email}\n isDisabled={emailDisabled || !userDetails.email}\n onToggle={() =>\n handleUpdateProfile({\n ...profile,\n email_channel: !profile.email_channel,\n })\n }\n primaryText={copy.delivery_method_email_label}\n />\n )}\n\n {showEmail && (showSms || showPush) && <Divider sx={{ ml: 48 }} />}\n\n {showSms && (\n <ToggleListItem\n isChecked={!smsDisabled && profile.sms_channel && !!userDetails.phone}\n isDisabled={smsDisabled || !userDetails.phone}\n onToggle={() =>\n handleUpdateProfile({\n ...profile,\n sms_channel: !profile.sms_channel,\n })\n }\n primaryText={copy.delivery_method_sms_label}\n />\n )}\n\n {showSms && showPush && <Divider sx={{ ml: 48 }} />}\n\n {showPush && (\n <ToggleListItem\n isChecked={!pushDisabled && profile.push_channel}\n isDisabled={pushDisabled}\n onToggle={() =>\n handleUpdateProfile({\n ...profile,\n push_channel: !profile.push_channel,\n })\n }\n primaryText={copy.delivery_method_push_label}\n />\n )}\n </List>\n </Collapse>\n )}\n <Divider />\n </List>\n )\n})\n"],"mappings":";;;;;;;;;;AAsBA,IAAa,IAAsB,EAAA,CAAU,EAAE,SAAA,EAAA,MAA8C;AAC3F,QAAM,EAAE,UAAU,EAAA,IAAS,EAAmB,GACxC,EACJ,4BAA4B,EAC1B,6BAA6B,GAC7B,4BAA4B,GAC5B,2BAA2B,EAAA,GAE7B,2BAAA,GACA,2BAA2B,EACzB,kCAAkC,GAClC,iCAAiC,GACjC,gCAAgC,EAAA,EAAA,IAEhC,EAAiB,GAEf,EAAE,MAAM,EAAA,IAAgB,EAAa,GAErC,CAAC,GAAY,CAAA,IAAiB,EAAM,SAAS,EAAK,GAElD,IAAsB,YAAY;AACtC,UAAM,EAAoB;AAAA,MAAE,GAAG;AAAA,MAAS,YAAY,CAAC,EAAQ;AAAA,IAAW,CAAC,GAErE,EAAQ,cACV,EAAc,EAAK;AAAA,EAEvB,GAEM,IAAsB,OAAO,MAAgD;AACjF,UAAM,EAA0B,CAAc;AAAA,EAChD,GAEM,IAAqB,KAAa,KAAW;AAEnD,SACE,gBAAA,EAAC,GAAD;AAAA,IAAyB,IAAI,EAAE,SAAS,mBAAmB;AAAA,IAA3D,UAAA;AAAA,MACE,gBAAA,EAAC,GAAD;AAAA,QACE,SACE,IACE,gBAAA,EAAC,GAAD,EACE,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,WAAW,IAAa,mBAAmB;AAAA,QAC7C,EACD,CAAA,IACC;AAAA,QAEN,WAAW,EAAQ;AAAA,QACnB,YAAY,CAAC,EAAQ;AAAA,QAErB,SAAA,MAAe,EAAc,CAAC,CAAU;AAAA,QACxC,UAAA,MAAgB,EAAoB;AAAA,QACpC,aAAa,EAAQ;AAAA,QACrB,eAAe,EAAQ,aAAa,EAAQ,uBAAuB;AAAA,MACpE,GALM,EAAQ,IAKd;AAAA,MACA,KACC,gBAAA,EAAC,GAAD;AAAA,QAAU,IAAI;AAAA,QACZ,UAAA,gBAAA,EAAC,GAAD;AAAA,UAAM,IAAI,EAAE,SAAS,mBAAmB;AAAA,UAAxC,UAAA;AAAA,YACG,KACC,gBAAA,EAAC,GAAD;AAAA,cACE,WAAW,CAAC,KAAiB,EAAQ,iBAAiB,CAAC,CAAC,EAAY;AAAA,cACpE,YAAY,KAAiB,CAAC,EAAY;AAAA,cAC1C,UAAA,MACE,EAAoB;AAAA,gBAClB,GAAG;AAAA,gBACH,eAAe,CAAC,EAAQ;AAAA,cAC1B,CAAC;AAAA,cAEH,aAAa,EAAK;AAAA,YACnB,CAAA;AAAA,YAGF,MAAc,KAAW,MAAa,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,IAAI,GAAG,EAAI,CAAA;AAAA,YAEhE,KACC,gBAAA,EAAC,GAAD;AAAA,cACE,WAAW,CAAC,KAAe,EAAQ,eAAe,CAAC,CAAC,EAAY;AAAA,cAChE,YAAY,KAAe,CAAC,EAAY;AAAA,cACxC,UAAA,MACE,EAAoB;AAAA,gBAClB,GAAG;AAAA,gBACH,aAAa,CAAC,EAAQ;AAAA,cACxB,CAAC;AAAA,cAEH,aAAa,EAAK;AAAA,YACnB,CAAA;AAAA,YAGF,KAAW,KAAY,gBAAA,EAAC,GAAD,EAAS,IAAI,EAAE,IAAI,GAAG,EAAI,CAAA;AAAA,YAEjD,KACC,gBAAA,EAAC,GAAD;AAAA,cACE,WAAW,CAAC,KAAgB,EAAQ;AAAA,cACpC,YAAY;AAAA,cACZ,UAAA,MACE,EAAoB;AAAA,gBAClB,GAAG;AAAA,gBACH,cAAc,CAAC,EAAQ;AAAA,cACzB,CAAC;AAAA,cAEH,aAAa,EAAK;AAAA,YACnB,CAAA;AAAA,UAEC;AAAA;MACE,CAAA;AAAA,MAEZ,gBAAA,EAAC,GAAD,CAAU,CAAA;AAAA,IACN;AAAA,EAxEK,GAAA,EAAQ,IAwEb;AAEV,CAAC"}
|