@mx-cartographer/experiences 9.5.0 → 9.5.2

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.
Files changed (93) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/dist/accounts/components/AccountListItem.es.js +1 -1
  3. package/dist/accounts/components/AccountsList.es.js +1 -1
  4. package/dist/accounts/components/detailsdrawer/Accounts/AccountConnection.es.js +3 -3
  5. package/dist/accounts/components/detailsdrawer/Accounts/ConnectionErrorMessage.es.js +3 -3
  6. package/dist/accounts/utils/AccountFields.es.js +11 -11
  7. package/dist/budgets/BubbleBudgetsMiniWidget.es.js +1 -1
  8. package/dist/budgets/components/Overview.es.js +1 -1
  9. package/dist/budgets/components/addbudget/UnbudgetedRow.es.js +4 -4
  10. package/dist/budgets/components/shared/BudgetDetailsTopSection.es.js +1 -1
  11. package/dist/cashflow/CashflowOnboarding.es.js +57 -55
  12. package/dist/cashflow/CashflowOnboarding.es.js.map +1 -1
  13. package/dist/cashflow/CashflowWidget.es.js +1 -1
  14. package/dist/cashflow/components/SummaryTab.es.js +1 -1
  15. package/dist/common/hooks/index.d.ts +1 -0
  16. package/dist/common/hooks/useRepeatingTransactionEligibility.d.ts +6 -0
  17. package/dist/common/hooks/useRepeatingTransactionEligibility.es.js +12 -0
  18. package/dist/common/hooks/useRepeatingTransactionEligibility.es.js.map +1 -0
  19. package/dist/common/index.es.js +114 -112
  20. package/dist/core/constants/repeatingTransactions.d.ts +5 -2
  21. package/dist/core/constants/repeatingTransactions.es.js +24 -9
  22. package/dist/core/constants/repeatingTransactions.es.js.map +1 -1
  23. package/dist/core/index.es.js +79 -79
  24. package/dist/core/stores/AccountStore.es.js +1 -1
  25. package/dist/core/stores/CashflowStore.es.js +1 -1
  26. package/dist/core/stores/CategoryStore.es.js +1 -1
  27. package/dist/core/stores/FinstrongStore.es.js +4 -4
  28. package/dist/core/stores/GoalStore.es.js +1 -1
  29. package/dist/core/stores/RecurringTransactionsStore.es.js +9 -9
  30. package/dist/core/stores/SettingsStore.es.js +7 -7
  31. package/dist/core/stores/TransactionStore.es.js +13 -13
  32. package/dist/core/utils/BudgetUtil.es.js +1 -1
  33. package/dist/core/utils/DateUtil.es.js +5 -5
  34. package/dist/core/utils/DebtUtils.es.js +6 -6
  35. package/dist/core/utils/RecurringTransactionsUtil.d.ts +13 -1
  36. package/dist/core/utils/RecurringTransactionsUtil.es.js +111 -106
  37. package/dist/core/utils/RecurringTransactionsUtil.es.js.map +1 -1
  38. package/dist/core/utils/TransactionUtils.es.js +6 -6
  39. package/dist/debts/DebtsWidget.es.js +1 -1
  40. package/dist/debts/components/DebtsChart.es.js +4 -4
  41. package/dist/debts/components/DebtsTable.es.js +6 -6
  42. package/dist/debts/components/actions/ExtraPaymentAction.es.js +4 -4
  43. package/dist/debts/components/actions/InterestRateAction.es.js +4 -4
  44. package/dist/debts/components/actions/MonthlyPaymentAction.es.js +4 -4
  45. package/dist/debts/components/actions/OriginalBalanceAction.es.js +4 -4
  46. package/dist/debts/components/debtsdrawer/DebtScheduleTab.es.js +1 -1
  47. package/dist/finstrong/components/MaintainingEmergencySavings/MaintainingEmergencySavingsContent.es.js +4 -4
  48. package/dist/finstrong/components/ProfileDrawer.es.js +1 -1
  49. package/dist/finstrong/components/SaveEnoughToLiveOn/AvailableTabContent.es.js +1 -1
  50. package/dist/finstrong/components/onboarding/OnboardingStepsDrawer.es.js +106 -104
  51. package/dist/finstrong/components/onboarding/OnboardingStepsDrawer.es.js.map +1 -1
  52. package/dist/finstrong/components/shared/Accounts.es.js +4 -4
  53. package/dist/finstrong/components/shared/Transactions.es.js +4 -4
  54. package/dist/goals/GoalsWidget.es.js +7 -7
  55. package/dist/goals/components/AccountSelectionDrawer.es.js +4 -4
  56. package/dist/goals/components/AddGoal.es.js +1 -1
  57. package/dist/goals/components/GoalDetailsDrawer.es.js +1 -1
  58. package/dist/goals/components/ManageGoals.es.js +1 -1
  59. package/dist/goals/components/actions/ChangeAccountAction.es.js +1 -1
  60. package/dist/goals/components/managegoals/OngoingListItem.es.js +4 -4
  61. package/dist/insights/components/shared/DrillDownCalculation/DrillDownCalculation.es.js +1 -1
  62. package/dist/insights-v2/actionBlocks/TransactionHistoryBlock/TransactionHistoryBlock.es.js +4 -4
  63. package/dist/insights-v2/blocks/ChartBlocks/BarchartBlock/utils.es.js +1 -1
  64. package/dist/insights-v2/blocks/ComponentBlocks/BudgetBlock/BudgetBlock.es.js +1 -1
  65. package/dist/investments/InvestmentsWidget.es.js +7 -7
  66. package/dist/recurringtransactions/components/RecurringTransactionDetails.es.js +10 -10
  67. package/dist/recurringtransactions/components/RecurringTransactionDetailsDrawer.es.js +4 -4
  68. package/dist/recurringtransactions/components/RecurringTransactionList.es.js +10 -10
  69. package/dist/recurringtransactions/components/actions/LinkTransactionDrawer.es.js +4 -4
  70. package/dist/recurringtransactions/components/actions/PaymentScheduleAction.es.js +6 -6
  71. package/dist/recurringtransactions/components/shared/recurringsettings/AddRecurringTransaction.es.js +45 -43
  72. package/dist/recurringtransactions/components/shared/recurringsettings/AddRecurringTransaction.es.js.map +1 -1
  73. package/dist/recurringtransactions/components/shared/recurringsettings/ManageExpenses.es.js +1 -1
  74. package/dist/recurringtransactions/components/shared/recurringsettings/ManageIncome.es.js +1 -1
  75. package/dist/recurringtransactions/components/shared/recurringsettings/RecurringRow.es.js +6 -6
  76. package/dist/recurringtransactions/components/shared/recurringsettings/SelectTransaction.d.ts +7 -1
  77. package/dist/recurringtransactions/components/shared/recurringsettings/SelectTransaction.es.js +15 -16
  78. package/dist/recurringtransactions/components/shared/recurringsettings/SelectTransaction.es.js.map +1 -1
  79. package/dist/settings/components/devices/DeviceList.es.js +1 -1
  80. package/dist/settings/components/devices/DeviceTable.es.js +1 -1
  81. package/dist/settings/components/notifications/AccountProfileListItem.es.js +5 -5
  82. package/dist/settings/components/notifications/NotificationSettings.es.js +1 -1
  83. package/dist/spending/components/SpendingDonut.es.js +1 -1
  84. package/dist/transactions/components/shared/TransactionDetails.es.js +8 -8
  85. package/dist/transactions/components/shared/TransactionList.es.js +4 -4
  86. package/dist/transactions/components/shared/transactiondetails/actions/AddMerchantBudgetAction.es.js +1 -1
  87. package/dist/transactions/components/shared/transactiondetails/actions/DateAction.es.js +6 -6
  88. package/dist/transactions/components/splitmanager/SplitManager.es.js +4 -4
  89. package/dist/transactions/utils/Transactions.es.js +1 -1
  90. package/dist/trends/components/CategoriesListItem.es.js +4 -4
  91. package/dist/trends/components/CategoryDetails.es.js +6 -6
  92. package/dist/trends/components/TrendsChart.es.js +1 -1
  93. package/package.json +2 -2
@@ -1,15 +1,14 @@
1
- import { useGlobalCopyStore as l } from "../../../../common/context/hooks.es.js";
2
- import { isEligibleRepeatingTransaction as m } from "../../../../core/utils/RecurringTransactionsUtil.es.js";
3
- import p from "../../../../common/components/SearchBox.es.js";
4
- import { useTransactionsUiStore as f } from "../../../../transactions/context/hooks.es.js";
5
- import h from "../../../../transactions/components/shared/TransactionList.es.js";
1
+ import { useGlobalCopyStore as m } from "../../../../common/context/hooks.es.js";
2
+ import h from "../../../../common/components/SearchBox.es.js";
3
+ import { useTransactionsUiStore as p } from "../../../../transactions/context/hooks.es.js";
4
+ import f from "../../../../transactions/components/shared/TransactionList.es.js";
6
5
  import { observer as _ } from "mobx-react-lite";
7
6
  import u from "@mui/material/Stack";
8
7
  import { P as d } from "@mxenabled/mxui";
9
- import { jsx as a, jsxs as g } from "react/jsx-runtime";
10
- var V = _(({ bgcolor: e = "background.default", description: o, onSearch: i, onSelected: c }) => {
11
- const { recurring: r } = l(), { searchValue: s, setSearchValue: n } = f();
12
- return /* @__PURE__ */ g(u, {
8
+ import { jsx as a, jsxs as x } from "react/jsx-runtime";
9
+ var y = _(({ bgcolor: e = "background.default", description: o, eligibilityFilter: c, onSearch: s, onSelected: i }) => {
10
+ const { recurring: r } = m(), { searchValue: n, setSearchValue: l } = p();
11
+ return /* @__PURE__ */ x(u, {
13
12
  sx: {
14
13
  bgcolor: e,
15
14
  gap: 16,
@@ -20,27 +19,27 @@ var V = _(({ bgcolor: e = "background.default", description: o, onSearch: i, onS
20
19
  sx: { mx: 24 },
21
20
  children: o
22
21
  }),
23
- /* @__PURE__ */ a(p, {
22
+ /* @__PURE__ */ a(h, {
24
23
  ariaLabel: r.select_transaction_search_aria,
25
24
  cancelAriaLabel: r.select_transaction_search_cancel_aria,
26
25
  onChange: (t) => {
27
- n(t), i(t);
26
+ l(t), s(t);
28
27
  },
29
28
  placeholder: r.select_transaction_search_placeholder,
30
- searchValue: s
29
+ searchValue: n
31
30
  }),
32
- /* @__PURE__ */ a(h, {
31
+ /* @__PURE__ */ a(f, {
33
32
  bgcolor: e,
34
- filter: m,
33
+ filter: c,
35
34
  height: "auto",
36
- onClick: c,
35
+ onClick: i,
37
36
  showLoader: !1
38
37
  })
39
38
  ]
40
39
  });
41
40
  });
42
41
  export {
43
- V as SelectTransaction
42
+ y as SelectTransaction
44
43
  };
45
44
 
46
45
  //# sourceMappingURL=SelectTransaction.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectTransaction.es.js","names":[],"sources":["../../../../../src/recurringtransactions/components/shared/recurringsettings/SelectTransaction.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { P } from '@mxenabled/mxui'\n\nimport { SearchBox, useGlobalCopyStore } from '../../../../common'\nimport { isEligibleRepeatingTransaction } from '../../../../core/utils/RecurringTransactionsUtil'\nimport { TransactionList, useTransactionsUiStore } from '../../../../transactions'\n\ninterface SelectTransactionProps {\n bgcolor?: string\n description?: string\n onSearch: (value: string) => void\n onSelected: (guid: string) => void\n}\n\nexport const SelectTransaction = observer(\n ({\n bgcolor = 'background.default',\n description,\n onSearch,\n onSelected,\n }: SelectTransactionProps) => {\n const { recurring: recurringCopy } = useGlobalCopyStore()\n const { searchValue, setSearchValue } = useTransactionsUiStore()\n\n return (\n <Stack sx={{ bgcolor, gap: 16, pt: 8 }}>\n {description && <P sx={{ mx: 24 }}>{description}</P>}\n <SearchBox\n ariaLabel={recurringCopy.select_transaction_search_aria}\n cancelAriaLabel={recurringCopy.select_transaction_search_cancel_aria}\n onChange={(value) => {\n setSearchValue(value)\n onSearch(value)\n }}\n placeholder={recurringCopy.select_transaction_search_placeholder}\n searchValue={searchValue}\n />\n <TransactionList\n bgcolor={bgcolor}\n filter={isEligibleRepeatingTransaction}\n height=\"auto\"\n onClick={onSelected}\n showLoader={false}\n />\n </Stack>\n )\n },\n)\n"],"mappings":";;;;;;;;;AAiBA,IAAa,IAAoB,EAAA,CAC9B,EACC,SAAA,IAAU,sBACV,aAAA,GACA,UAAA,GACA,YAAA,EAAA,MAC4B;AAC5B,QAAM,EAAE,WAAW,EAAA,IAAkB,EAAmB,GAClD,EAAE,aAAA,GAAa,gBAAA,EAAA,IAAmB,EAAuB;AAE/D,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,SAAA;AAAA,MAAS,KAAK;AAAA,MAAI,IAAI;AAAA,IAAE;AAAA,IAArC,UAAA;AAAA,MACG,KAAe,gBAAA,EAAC,GAAD;AAAA,QAAG,IAAI,EAAE,IAAI,GAAG;AAAA,QAAI,UAAA;AAAA,MAAe,CAAA;AAAA,MACnD,gBAAA,EAAC,GAAD;AAAA,QACE,WAAW,EAAc;AAAA,QACzB,iBAAiB,EAAc;AAAA,QAC/B,UAAA,CAAW,MAAU;AACnB,UAAA,EAAe,CAAK,GACpB,EAAS,CAAK;AAAA,QAChB;AAAA,QACA,aAAa,EAAc;AAAA,QACd,aAAA;AAAA,MACd,CAAA;AAAA,MACD,gBAAA,EAAC,GAAD;AAAA,QACW,SAAA;AAAA,QACT,QAAQ;AAAA,QACR,QAAO;AAAA,QACP,SAAS;AAAA,QACT,YAAY;AAAA,MACb,CAAA;AAAA,IACI;AAAA;AAEX,CACF"}
1
+ {"version":3,"file":"SelectTransaction.es.js","names":[],"sources":["../../../../../src/recurringtransactions/components/shared/recurringsettings/SelectTransaction.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { P } from '@mxenabled/mxui'\n\nimport { SearchBox, useGlobalCopyStore } from '../../../../common'\nimport { type Transaction } from '../../../../core'\nimport { TransactionList, useTransactionsUiStore } from '../../../../transactions'\n\ninterface SelectTransactionProps {\n bgcolor?: string\n description?: string\n /**\n * Restricts the selectable transactions. Create flows pass the Sherlock-aligned eligibility\n * filter; flows that may select any transaction (Mark as Paid) omit it.\n */\n eligibilityFilter?: (transaction: Transaction) => boolean\n onSearch: (value: string) => void\n onSelected: (guid: string) => void\n}\n\nexport const SelectTransaction = observer(\n ({\n bgcolor = 'background.default',\n description,\n eligibilityFilter,\n onSearch,\n onSelected,\n }: SelectTransactionProps) => {\n const { recurring: recurringCopy } = useGlobalCopyStore()\n const { searchValue, setSearchValue } = useTransactionsUiStore()\n\n return (\n <Stack sx={{ bgcolor, gap: 16, pt: 8 }}>\n {description && <P sx={{ mx: 24 }}>{description}</P>}\n <SearchBox\n ariaLabel={recurringCopy.select_transaction_search_aria}\n cancelAriaLabel={recurringCopy.select_transaction_search_cancel_aria}\n onChange={(value) => {\n setSearchValue(value)\n onSearch(value)\n }}\n placeholder={recurringCopy.select_transaction_search_placeholder}\n searchValue={searchValue}\n />\n <TransactionList\n bgcolor={bgcolor}\n filter={eligibilityFilter}\n height=\"auto\"\n onClick={onSelected}\n showLoader={false}\n />\n </Stack>\n )\n },\n)\n"],"mappings":";;;;;;;;AAsBA,IAAa,IAAoB,EAAA,CAC9B,EACC,SAAA,IAAU,sBACV,aAAA,GACA,mBAAA,GACA,UAAA,GACA,YAAA,EAAA,MAC4B;AAC5B,QAAM,EAAE,WAAW,EAAA,IAAkB,EAAmB,GAClD,EAAE,aAAA,GAAa,gBAAA,EAAA,IAAmB,EAAuB;AAE/D,SACE,gBAAA,EAAC,GAAD;AAAA,IAAO,IAAI;AAAA,MAAE,SAAA;AAAA,MAAS,KAAK;AAAA,MAAI,IAAI;AAAA,IAAE;AAAA,IAArC,UAAA;AAAA,MACG,KAAe,gBAAA,EAAC,GAAD;AAAA,QAAG,IAAI,EAAE,IAAI,GAAG;AAAA,QAAI,UAAA;AAAA,MAAe,CAAA;AAAA,MACnD,gBAAA,EAAC,GAAD;AAAA,QACE,WAAW,EAAc;AAAA,QACzB,iBAAiB,EAAc;AAAA,QAC/B,UAAA,CAAW,MAAU;AACnB,UAAA,EAAe,CAAK,GACpB,EAAS,CAAK;AAAA,QAChB;AAAA,QACA,aAAa,EAAc;AAAA,QACd,aAAA;AAAA,MACd,CAAA;AAAA,MACD,gBAAA,EAAC,GAAD;AAAA,QACW,SAAA;AAAA,QACT,QAAQ;AAAA,QACR,QAAO;AAAA,QACP,SAAS;AAAA,QACT,YAAY;AAAA,MACb,CAAA;AAAA,IACI;AAAA;AAEX,CACF"}
@@ -6,8 +6,8 @@ import { Icon as l, Text as t } from "@mxenabled/mxui";
6
6
  import { jsx as o, jsxs as i } from "react/jsx-runtime";
7
7
  import { useTheme as g } from "@mui/material/styles";
8
8
  import _ from "@mui/material/Box";
9
- import c from "@mui/material/IconButton";
10
9
  import { fromUnixTime as C } from "date-fns/fromUnixTime";
10
+ import c from "@mui/material/IconButton";
11
11
  import k from "@mui/material/Accordion";
12
12
  import w from "@mui/material/AccordionDetails";
13
13
  import v from "@mui/material/AccordionSummary";
@@ -7,8 +7,8 @@ import { Icon as n, Text as d } from "@mxenabled/mxui";
7
7
  import { jsx as e, jsxs as _ } from "react/jsx-runtime";
8
8
  import { alpha as y, useTheme as C } from "@mui/material/styles";
9
9
  import m from "@mui/material/Box";
10
- import c from "@mui/material/IconButton";
11
10
  import { fromUnixTime as g } from "date-fns/fromUnixTime";
11
+ import c from "@mui/material/IconButton";
12
12
  import { DataGridPro as v } from "@mui/x-data-grid-pro";
13
13
  import { formatDistanceToNow as I } from "date-fns/formatDistanceToNow";
14
14
  var F = ({ devices: l, onClickDeviceEdit: s, onClickDeviceDelete: u }) => {
@@ -1,8 +1,8 @@
1
1
  import { buildDynamicCopy as D } from "../../../core/utils/Localization.es.js";
2
2
  import { useAccountStore as A, useGlobalCopyStore as C } from "../../../common/context/hooks.es.js";
3
- import x from "../../../common/components/dialog/Dialog.es.js";
4
- import { AccountNotificationTypes as P } from "../../../core/types/Notification.es.js";
5
- import { formatCurrency as T, formatOrdinal as v } from "../../../core/utils/NumberFormatting.es.js";
3
+ import { AccountNotificationTypes as x } from "../../../core/types/Notification.es.js";
4
+ import { formatCurrency as P, formatOrdinal as T } from "../../../core/utils/NumberFormatting.es.js";
5
+ import v from "../../../common/components/dialog/Dialog.es.js";
6
6
  import I from "../../../common/components/CurrencyInput.es.js";
7
7
  import { ToggleButtonListItem as w } from "../../../common/components/listitems/ToggleButtonListItem.es.js";
8
8
  import i from "react";
@@ -17,7 +17,7 @@ import { AdapterDateFns as N } from "@mui/x-date-pickers/AdapterDateFns";
17
17
  import { DateCalendar as j } from "@mui/x-date-pickers/DateCalendar";
18
18
  import { LocalizationProvider as z } from "@mui/x-date-pickers/LocalizationProvider";
19
19
  var et = S(({ onProfileUpdated: r, profile: t }) => {
20
- const { common: m, recurring: d, settings: e } = C(), { updateAccount: y } = A(), n = t.notification_type === P.DebtPaymentReminder, [_, c] = i.useState(!1), [s, l] = i.useState(t.threshold || 0), [u, p] = i.useState(t.account?.day_payment_is_due || 0), h = t.account?.name || t.account?.feed_name || "", b = t.account?.day_payment_is_due ? D(e.notification_debt_payment_date, v(t.account?.day_payment_is_due)) : e.notification_debt_payment_zero_state, f = n ? b : T(t.threshold ?? 0, "0,0"), g = async () => {
20
+ const { common: m, recurring: d, settings: e } = C(), { updateAccount: y } = A(), n = t.notification_type === x.DebtPaymentReminder, [_, c] = i.useState(!1), [s, l] = i.useState(t.threshold || 0), [u, p] = i.useState(t.account?.day_payment_is_due || 0), h = t.account?.name || t.account?.feed_name || "", b = t.account?.day_payment_is_due ? D(e.notification_debt_payment_date, T(t.account?.day_payment_is_due)) : e.notification_debt_payment_zero_state, f = n ? b : P(t.threshold ?? 0, "0,0"), g = async () => {
21
21
  n && t.account ? await y({
22
22
  ...t.account,
23
23
  day_payment_is_due: u
@@ -42,7 +42,7 @@ var et = S(({ onProfileUpdated: r, profile: t }) => {
42
42
  }),
43
43
  primaryText: h,
44
44
  secondaryText: t.is_enabled ? f : e.notification_disabled
45
- }), /* @__PURE__ */ o(x, {
45
+ }), /* @__PURE__ */ o(v, {
46
46
  copy: {
47
47
  title: n ? d.day_of_the_month : e.notification_threshold_label,
48
48
  close_aria: m.close_aria
@@ -1,8 +1,8 @@
1
1
  import { useAccountStore as O, useAppConfig as j, useGlobalCopyStore as w, useGlobalUiStore as G, useSettingsStore as M } from "../../../common/context/hooks.es.js";
2
2
  import { useInsightsEnabled as R } from "../../../common/hooks/useInsightsEnabled.es.js";
3
+ import { NotificationTypes as i } from "../../../core/types/Notification.es.js";
3
4
  import { useWidgetLoadTimer as T } from "../../../common/hooks/useWidgetLoadTimer.es.js";
4
5
  import W from "../../../common/components/drawer/Drawer.es.js";
5
- import { NotificationTypes as i } from "../../../core/types/Notification.es.js";
6
6
  import $ from "../../../common/components/Loader.es.js";
7
7
  import { AccountNotificationProfiles as y } from "./AccountNotificationProfiles.es.js";
8
8
  import { BudgetNotificationProfiles as I } from "./BudgetNotificationProfiles.es.js";
@@ -2,8 +2,8 @@ import { CategoryGuids as j } from "../../core/constants/Category.es.js";
2
2
  import k from "../../common/components/charts/Donut.es.js";
3
3
  import { useGlobalCopyStore as G } from "../../common/context/hooks.es.js";
4
4
  import { useScreenSize as I } from "../../common/hooks/useScreenSize.es.js";
5
- import { useAriaLive as V } from "../../common/hooks/useAriaLive.es.js";
6
5
  import { formatCurrency as c } from "../../core/utils/NumberFormatting.es.js";
6
+ import { useAriaLive as V } from "../../common/hooks/useAriaLive.es.js";
7
7
  import h from "react";
8
8
  import { observer as W } from "mobx-react-lite";
9
9
  import s from "@mui/material/Stack";
@@ -1,11 +1,11 @@
1
1
  import { buildDynamicCopy as U } from "../../../core/utils/Localization.es.js";
2
2
  import { DATE_FORMATS_INTL as de, formatDate as me } from "../../../core/constants/DateFormats.es.js";
3
3
  import { useAppConfig as ce, useCategoryStore as ue, useEvent as pe, useGlobalCopyStore as ge, useGlobalUiStore as fe, useTransactionStore as he, useUserStore as _e } from "../../../common/context/hooks.es.js";
4
- import { ANALYTICS_EVENTS as Te } from "../../../common/constants/Analytics.es.js";
5
- import { TransactionType as ye } from "../../../core/types/Transaction.es.js";
6
- import { isFeatureEnabled as Ce } from "../../../core/utils/UserUtils.es.js";
4
+ import { TransactionType as Te } from "../../../core/types/Transaction.es.js";
5
+ import { fromUnixUTC as ye } from "../../../core/utils/DateUtil.es.js";
7
6
  import { formatCurrency as V } from "../../../core/utils/NumberFormatting.es.js";
8
- import { fromUnixUTC as Se } from "../../../core/utils/DateUtil.es.js";
7
+ import { ANALYTICS_EVENTS as Ce } from "../../../common/constants/Analytics.es.js";
8
+ import { isFeatureEnabled as Se } from "../../../core/utils/UserUtils.es.js";
9
9
  import { isTransferTransaction as be } from "../../../core/utils/TransactionUtils.es.js";
10
10
  import De from "../../../common/components/Loader.es.js";
11
11
  import { BottomActions as m, DEFAULT_BOTTOM_ACTIONS as Ae, DEFAULT_TOP_ACTIONS as ve, TopActions as f } from "../../constants/Actions.es.js";
@@ -45,10 +45,10 @@ import q from "@mui/material/List";
45
45
  import Qe from "@mui/material/Alert";
46
46
  import Ze from "@mui/material/Snackbar";
47
47
  var et = ({ bottomActions: _ = Ae, canFlagTransaction: K = !0, topActions: v = ve, transaction: e, shouldShowEmbeddedCard: I = !0, onContactSupport: x }) => {
48
- const { onEvent: X } = pe(), { config: Y } = ce(), { isCopyLoaded: $ } = fe(), { userFeatures: J } = _e(), { accounts: Q, common: Z, insights_feed: l } = ge(), { detailedCategories: L } = ue(), { alert: w, associatedBeats: E, detailedTransactions: M, cachedStartDate: O, loadEmbeddedInstanceTransactions: ee, setAlert: B } = he(), [te, N] = n.useState(!1), [k, F] = n.useState(!1), [oe, re] = n.useState(!1), ie = $e(), ae = e?.number && e.number.length > 4, P = e?.transaction_type === ye.CREDIT, R = be(e) && !!e.institutionName, a = n.useMemo(() => E.find((o) => o.associated_transaction_guid === e.guid), [E, e]), T = I ? Ie(a) : "legacy", y = T === "v2" ? a?.insights_payload : void 0, r = I && T === "legacy" ? ze(Z, a) : null, ne = (o) => {
48
+ const { onEvent: X } = pe(), { config: Y } = ce(), { isCopyLoaded: $ } = fe(), { userFeatures: J } = _e(), { accounts: Q, common: Z, insights_feed: l } = ge(), { detailedCategories: L } = ue(), { alert: w, associatedBeats: E, detailedTransactions: M, cachedStartDate: O, loadEmbeddedInstanceTransactions: ee, setAlert: B } = he(), [te, N] = n.useState(!1), [k, F] = n.useState(!1), [oe, re] = n.useState(!1), ie = $e(), ae = e?.number && e.number.length > 4, P = e?.transaction_type === Te.CREDIT, R = be(e) && !!e.institutionName, a = n.useMemo(() => E.find((o) => o.associated_transaction_guid === e.guid), [E, e]), T = I ? Ie(a) : "legacy", y = T === "v2" ? a?.insights_payload : void 0, r = I && T === "legacy" ? ze(Z, a) : null, ne = (o) => {
49
49
  o.block === Ee.CONTACT_SUPPORT_ACTION_BLOCK && x?.();
50
50
  }, [d, C] = n.useState(r ? r.dataSeries.length - 1 : 0);
51
- n.useEffect(() => X(Te.TRANSACTION_DETAILS_VIEW, { transaction_guid: e.guid }), []), n.useEffect(() => {
51
+ n.useEffect(() => X(Ce.TRANSACTION_DETAILS_VIEW, { transaction_guid: e.guid }), []), n.useEffect(() => {
52
52
  if (!r || r.dataSeries.length === 0) return;
53
53
  const { date: o } = r.dataSeries[d], i = j(o);
54
54
  Ye(i, O) && (F(!0), ee(i).finally(() => {
@@ -74,7 +74,7 @@ var et = ({ bottomActions: _ = Ae, canFlagTransaction: K = !0, topActions: v = v
74
74
  if (!r?.dataSeries?.length) return [];
75
75
  const { guid: o, date: i } = r.dataSeries[d], u = j(i), p = Xe(i);
76
76
  return M.filter((g) => {
77
- const G = Se(g.date);
77
+ const G = ye(g.date);
78
78
  return G >= u && G <= p && g.guid === o;
79
79
  });
80
80
  }, [
@@ -84,7 +84,7 @@ var et = ({ bottomActions: _ = Ae, canFlagTransaction: K = !0, topActions: v = v
84
84
  k
85
85
  ]);
86
86
  if (!$) return /* @__PURE__ */ t(De, {});
87
- const c = Ce(J, "MX_TXN_DETAILS_VIEW_ONLY"), le = ie.palette.mode === "dark" ? "grey.800" : "grey.100";
87
+ const c = Se(J, "MX_TXN_DETAILS_VIEW_ONLY"), le = ie.palette.mode === "dark" ? "grey.800" : "grey.100";
88
88
  return /* @__PURE__ */ s(Je, {
89
89
  className: "mx-txn-transaction-details",
90
90
  width: "100%",
@@ -1,6 +1,6 @@
1
1
  import { useEvent as z, useTransactionStore as N } from "../../../common/context/hooks.es.js";
2
- import { ANALYTICS_EVENTS as O } from "../../../common/constants/Analytics.es.js";
3
- import { fromUnixUTCToDayOfWeekAndDate as H } from "../../../core/utils/DateUtil.es.js";
2
+ import { fromUnixUTCToDayOfWeekAndDate as O } from "../../../core/utils/DateUtil.es.js";
3
+ import { ANALYTICS_EVENTS as H } from "../../../common/constants/Analytics.es.js";
4
4
  import U from "../../../common/components/Loader.es.js";
5
5
  import k from "../../../common/components/ZeroState.es.js";
6
6
  import { useTransactionsUiStore as W } from "../../context/hooks.es.js";
@@ -31,7 +31,7 @@ var _ = 65, v = 32, M = ({ bgcolor: x, filter: s, height: E = "calc(100dvh - 36p
31
31
  b(r.guid);
32
32
  return;
33
33
  }
34
- D(O.ACCOUNT_DETAILS_CLICK_TRANSACTION, {
34
+ D(H.ACCOUNT_DETAILS_CLICK_TRANSACTION, {
35
35
  account_guid: r?.account_guid,
36
36
  transaction_guid: t
37
37
  }), f?.(t);
@@ -73,7 +73,7 @@ var _ = 65, v = 32, M = ({ bgcolor: x, filter: s, height: E = "calc(100dvh - 36p
73
73
  children: [
74
74
  a && /* @__PURE__ */ o(w, {
75
75
  bgcolor: x,
76
- children: H(r.date)
76
+ children: O(r.date)
77
77
  }),
78
78
  /* @__PURE__ */ o(j, {
79
79
  component: "div",
@@ -1,7 +1,7 @@
1
1
  import { buildDynamicCopy as n } from "../../../../../core/utils/Localization.es.js";
2
2
  import { useAccountStore as N, useBudgetsStore as z, useGlobalCopyStore as H, useTransactionStore as V } from "../../../../../common/context/hooks.es.js";
3
- import { useAriaLive as W } from "../../../../../common/hooks/useAriaLive.es.js";
4
3
  import { formatCurrency as B } from "../../../../../core/utils/NumberFormatting.es.js";
4
+ import { useAriaLive as W } from "../../../../../common/hooks/useAriaLive.es.js";
5
5
  import q from "../../../../../common/components/CurrencyDialog.es.js";
6
6
  import J from "../../../../../budgets/components/MerchantBudgetDetailsDrawer.es.js";
7
7
  import s from "react";
@@ -1,8 +1,8 @@
1
1
  import { DATE_FORMATS_INTL as A, formatDate as C } from "../../../../../core/constants/DateFormats.es.js";
2
2
  import { useEvent as S, useGlobalCopyStore as I, useTransactionStore as v } from "../../../../../common/context/hooks.es.js";
3
- import L from "../../../../../common/components/drawer/Drawer.es.js";
4
- import { ANALYTICS_EVENTS as g } from "../../../../../common/constants/Analytics.es.js";
5
- import { fromUnixUTC as s, toUnixUTC as N } from "../../../../../core/utils/DateUtil.es.js";
3
+ import { fromUnixUTC as s, toUnixUTC as L } from "../../../../../core/utils/DateUtil.es.js";
4
+ import g from "../../../../../common/components/drawer/Drawer.es.js";
5
+ import { ANALYTICS_EVENTS as N } from "../../../../../common/constants/Analytics.es.js";
6
6
  import { useTransactionsUiStore as b } from "../../../../context/hooks.es.js";
7
7
  import { ON_CLICK_EVENTS as D } from "../../../../constants/OnClickEvents.es.js";
8
8
  import c from "react";
@@ -22,7 +22,7 @@ import { LocalizationProvider as K } from "@mui/x-date-pickers/LocalizationProvi
22
22
  import { StaticDatePicker as Y } from "@mui/x-date-pickers/StaticDatePicker";
23
23
  var dt = ({ transaction: e }) => {
24
24
  const { onEvent: n } = S(), { updateTransaction: p } = v(), { updateManualTransaction: f } = b(), { common: o, transactions: r } = I(), _ = k(), [u, a] = c.useState(!1), [i, T] = c.useState(e.date), x = (m) => {
25
- m && T(N(m));
25
+ m && T(L(m));
26
26
  }, y = async () => {
27
27
  if (e.is_manual && !e.guid) {
28
28
  f({
@@ -34,7 +34,7 @@ var dt = ({ transaction: e }) => {
34
34
  await p({
35
35
  ...e,
36
36
  date: i
37
- }), n(g.TRANSACTION_DETAILS_CLICK_DATE, { transaction_guid: e.guid }), a(!1);
37
+ }), n(N.TRANSACTION_DETAILS_CLICK_DATE, { transaction_guid: e.guid }), a(!1);
38
38
  }, h = _.palette.mode === "dark" ? "grey.800" : "grey.100";
39
39
  return /* @__PURE__ */ l(P, {
40
40
  className: "mx-txn-date-action",
@@ -72,7 +72,7 @@ var dt = ({ transaction: e }) => {
72
72
  sx: { color: "text.primary" }
73
73
  }) })
74
74
  ]
75
- }), /* @__PURE__ */ t(L, {
75
+ }), /* @__PURE__ */ t(g, {
76
76
  ariaLabelClose: o.close_aria,
77
77
  isOpen: u,
78
78
  onClose: () => a(!1),
@@ -1,7 +1,7 @@
1
1
  import { buildDynamicCopy as S } from "../../../core/utils/Localization.es.js";
2
2
  import { useEvent as g, useGlobalCopyStore as v } from "../../../common/context/hooks.es.js";
3
- import { useAriaLive as h } from "../../../common/hooks/useAriaLive.es.js";
4
- import { formatCurrency as x } from "../../../core/utils/NumberFormatting.es.js";
3
+ import { formatCurrency as h } from "../../../core/utils/NumberFormatting.es.js";
4
+ import { useAriaLive as x } from "../../../common/hooks/useAriaLive.es.js";
5
5
  import { ON_CLICK_EVENTS as y } from "../../constants/OnClickEvents.es.js";
6
6
  import E from "./SplitRow.es.js";
7
7
  import s from "react";
@@ -13,12 +13,12 @@ import { Cancel as D } from "@mxenabled/mx-icons";
13
13
  import { jsx as r, jsxs as l } from "react/jsx-runtime";
14
14
  import p from "@mui/material/Box";
15
15
  var I = ({ onAddSplit: c, onCategoryChanged: _, onDeleteSplit: f, onUpdateAmount: u, splits: t, transaction: d }) => {
16
- const { transactions: o } = v(), { onEvent: C } = g(), [n, e] = s.useState(""), { announce: i, ariaLive: b } = h();
16
+ const { transactions: o } = v(), { onEvent: C } = g(), [n, e] = s.useState(""), { announce: i, ariaLive: b } = x();
17
17
  return s.useEffect(() => {
18
18
  if (t.length <= 1)
19
19
  e(o.split_transaction_errors_min_splits), i(o.split_transaction_errors_min_splits);
20
20
  else if (t[0].amount < 0) {
21
- const a = S(o.split_transaction_errors_totals_must_equal_amount, x(d.amount, "0,0.00"));
21
+ const a = S(o.split_transaction_errors_totals_must_equal_amount, h(d.amount, "0,0.00"));
22
22
  e(a), i(a);
23
23
  } else
24
24
  e(""), i("");
@@ -1,6 +1,6 @@
1
1
  import { DATE_FORMATS_INTL as n, formatDate as f } from "../../core/constants/DateFormats.es.js";
2
- import { formatCurrency as u } from "../../core/utils/NumberFormatting.es.js";
3
2
  import { fromUnixUTC as m } from "../../core/utils/DateUtil.es.js";
3
+ import { formatCurrency as u } from "../../core/utils/NumberFormatting.es.js";
4
4
  import { isSameDay as o } from "date-fns/isSameDay";
5
5
  var c = (r, e) => {
6
6
  if (r === 0) return !0;
@@ -1,7 +1,7 @@
1
1
  import { useEvent as C, useGlobalCopyStore as T, useTrendsStore as I } from "../../common/context/hooks.es.js";
2
- import { ANALYTICS_EVENTS as v } from "../../common/constants/Analytics.es.js";
2
+ import { formatCurrency as v } from "../../core/utils/NumberFormatting.es.js";
3
+ import { ANALYTICS_EVENTS as S } from "../../common/constants/Analytics.es.js";
3
4
  import { getCategoryColor as a } from "../../core/utils/CategoryUtil.es.js";
4
- import { formatCurrency as S } from "../../core/utils/NumberFormatting.es.js";
5
5
  import { ListItemRow as g } from "../../common/components/ListItemRow.es.js";
6
6
  import { TRENDS_ANALYTICS_METADATA as x } from "../constants/TrendsWidget.es.js";
7
7
  import u from "react";
@@ -14,7 +14,7 @@ import _ from "@mui/material/Divider";
14
14
  import N from "@mui/material/Skeleton";
15
15
  var H = E(({ totalAmount: c, guid: t, name: m, transactions: i, onClick: r, isLastItem: l = !1, showDivider: p = !0 }) => {
16
16
  const { trends: n } = T(), { onEvent: f } = C(), s = R(), { isSelectedRangeLoaded: e } = I(), d = `${i.length} ${i.length === 1 ? n.transaction : n.transactions}`, h = () => {
17
- r?.(), f(v.TRENDS_CLICK_LIST_ITEM, {
17
+ r?.(), f(S.TRENDS_CLICK_LIST_ITEM, {
18
18
  ...x,
19
19
  listItem: m
20
20
  });
@@ -29,7 +29,7 @@ var H = E(({ totalAmount: c, guid: t, name: m, transactions: i, onClick: r, isLa
29
29
  }
30
30
  }) : void 0,
31
31
  onClick: e && r ? h : void 0,
32
- rightContent: S(Math.abs(c), "0,0.00"),
32
+ rightContent: v(Math.abs(c), "0,0.00"),
33
33
  rightIcon: e && r ? /* @__PURE__ */ o(A, {}) : void 0,
34
34
  subtitle: e ? d : /* @__PURE__ */ o(N, {
35
35
  "data-testid": "transaction-count-skeleton",
@@ -1,8 +1,8 @@
1
1
  import { useAppConfig as I, useGlobalCopyStore as A, useTransactionStore as G, useTrendsStore as R } from "../../common/context/hooks.es.js";
2
2
  import { useScreenSize as j } from "../../common/hooks/useScreenSize.es.js";
3
- import k from "../../common/components/drawer/Drawer.es.js";
4
- import { getCategoryColor as z } from "../../core/utils/CategoryUtil.es.js";
5
- import { formatCurrency as M } from "../../core/utils/NumberFormatting.es.js";
3
+ import { formatCurrency as k } from "../../core/utils/NumberFormatting.es.js";
4
+ import z from "../../common/components/drawer/Drawer.es.js";
5
+ import { getCategoryColor as M } from "../../core/utils/CategoryUtil.es.js";
6
6
  import $ from "../../transactions/components/transactionwidget/actions/ExportCsvAction.es.js";
7
7
  import B from "../../transactions/components/shared/TransactionList.es.js";
8
8
  import E from "../../transactions/components/shared/TransactionDetails.es.js";
@@ -20,7 +20,7 @@ import K from "@mui/material/ListItemText";
20
20
  var dt = O(() => {
21
21
  const h = W(), { is_mobile_webview: u } = I(), { isDesktop: g, isSmallTablet: y, isTablet: b } = j(), { common: C, trends: o } = A(), { selectedCategoryData: e, selectedDateRangeMonthRange: x } = R(), { sortedTransactions: a } = G(), [m, l] = d.useState(null);
22
22
  if (!e) return null;
23
- const { guid: r, name: v, is_income: _, totalAmount: S } = e, T = z(r, h), L = _ ? o.income_label : o.spending_label, w = ` ${e.transactions.length === 1 ? o.transaction : o.transactions} (${e.transactions.length})`, s = d.useMemo(() => a.find((n) => n.guid === m), [m, a]), D = a.length > 0 && !u && (g || b && !y), p = (n) => n.category_guid === r || n.top_level_category_guid === r;
23
+ const { guid: r, name: v, is_income: _, totalAmount: S } = e, T = M(r, h), L = _ ? o.income_label : o.spending_label, w = ` ${e.transactions.length === 1 ? o.transaction : o.transactions} (${e.transactions.length})`, s = d.useMemo(() => a.find((n) => n.guid === m), [m, a]), D = a.length > 0 && !u && (g || b && !y), p = (n) => n.category_guid === r || n.top_level_category_guid === r;
24
24
  return /* @__PURE__ */ i(c, {
25
25
  sx: {
26
26
  alignItems: "center",
@@ -60,7 +60,7 @@ var dt = O(() => {
60
60
  /* @__PURE__ */ t(f, {
61
61
  component: "div",
62
62
  variant: "h3",
63
- children: M(Math.abs(S), "0,0.00")
63
+ children: k(Math.abs(S), "0,0.00")
64
64
  })
65
65
  ] })
66
66
  }),
@@ -87,7 +87,7 @@ var dt = O(() => {
87
87
  height: "calc(100vh - 475px)",
88
88
  onClick: l
89
89
  }),
90
- /* @__PURE__ */ t(k, {
90
+ /* @__PURE__ */ t(z, {
91
91
  ariaLabelClose: C.close_aria,
92
92
  isOpen: !!s,
93
93
  onClose: () => l(""),
@@ -1,5 +1,5 @@
1
- import { useCategoryStore as g, useGlobalCopyStore as p } from "../../common/context/hooks.es.js";
2
1
  import { AccountType as c } from "../../core/types/Account.es.js";
2
+ import { useCategoryStore as g, useGlobalCopyStore as p } from "../../common/context/hooks.es.js";
3
3
  import { INCOME_ACCOUNT_TYPES as u, PAYMENT_ACCOUNT_TYPES as m, SPENDING_ACCOUNT_TYPES as d } from "../../common/constants/Account.es.js";
4
4
  import { useAccountUiStore as A } from "../../accounts/hooks/useUiStore.es.js";
5
5
  import { LineChart as T } from "../../common/components/charts/LineChart.es.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mx-cartographer/experiences",
3
- "version": "9.5.0",
3
+ "version": "9.5.2",
4
4
  "description": "Library containing experience widgets",
5
5
  "author": "MX",
6
6
  "license": "MIT",
@@ -217,7 +217,7 @@
217
217
  "@mui/x-charts": "^8.29.2",
218
218
  "@mxenabled/cssinjs": "^0.6.0",
219
219
  "@mxenabled/mx-icons": "^2.3.0",
220
- "@mxenabled/mxui": "^2.12.1",
220
+ "@mxenabled/mxui": "^2.12.2",
221
221
  "@mxenabled/web-widget-sdk": "^0.0.15",
222
222
  "@tanstack/react-virtual": "^3.14.9",
223
223
  "bowser": "^2.14.1",