@mx-cartographer/experiences 7.7.3 → 7.8.0-alpha-ram-goal-bug

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 (92) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/Account-BiB1F8lL.mjs +118 -0
  3. package/dist/{Account-BfkKlfsW.mjs → Account-DuOz1a27.mjs} +1 -1
  4. package/dist/AccountApi-DgZ8ILj1.mjs +19 -0
  5. package/dist/{AccountDetailsHeader-DqYIuhOs.mjs → AccountDetailsHeader-Cf2TUJnM.mjs} +4 -4
  6. package/dist/AccountDisplayName-CO7z3v99.mjs +11 -0
  7. package/dist/{AccountFields-yP8QdgPd.mjs → AccountFields-UdOvbQ5H.mjs} +7 -6
  8. package/dist/{AccountListItem-DMbu9ehd.mjs → AccountListItem-BPVxmNT_.mjs} +7 -7
  9. package/dist/AccountStore-BbPWe2C9.mjs +244 -0
  10. package/dist/Accounts-M-LTzStv.mjs +27 -0
  11. package/dist/{CategoryStore-Cnw9yUys.mjs → CategoryStore-BYICdb9m.mjs} +73 -73
  12. package/dist/CategoryUtil-meuejJqP.mjs +80 -0
  13. package/dist/{ConnectionsDrawer-BqR6FWJO.mjs → ConnectionsDrawer-BDpVTTSe.mjs} +1 -1
  14. package/dist/{DebtsStore-DuSdXM1k.mjs → DebtsStore-BIbOVCPe.mjs} +12 -12
  15. package/dist/{ExportCsvAction-HK5CeZWR.mjs → ExportCsvAction-CDuzTva1.mjs} +2 -2
  16. package/dist/GlobalAccountFilter-DQCPNc95.mjs +316 -0
  17. package/dist/GoalStore-B4LVt_kH.mjs +422 -0
  18. package/dist/{ManageIncome-BrTrlplL.mjs → ManageIncome-CL3hv8i9.mjs} +44 -44
  19. package/dist/NetWorthStore-yV43kJro.mjs +168 -0
  20. package/dist/{NotificationSettings-D4Vh3z8I.mjs → NotificationSettings-SPg3pwbX.mjs} +171 -169
  21. package/dist/{NotificationStore-CDX_kqHa.mjs → NotificationStore-Ck2KdNmT.mjs} +22 -14
  22. package/dist/{RecurringSettings-D2V6l77l.mjs → RecurringSettings-Bmnnpb48.mjs} +16 -16
  23. package/dist/{RecurringTransactionsStore-Caf1cq4v.mjs → RecurringTransactionsStore-BQBEJOPP.mjs} +91 -81
  24. package/dist/{RecurringTransactions-Bf4lX0Cn.mjs → RepeatingTransaction-miZVnk_A.mjs} +4 -4
  25. package/dist/{SettingsStore-krIRNwHK.mjs → SettingsStore-BHpuyujx.mjs} +1 -1
  26. package/dist/SkeletonLoader-BaNboJjD.mjs +38 -0
  27. package/dist/{SpendingLegend-gTCJLLkV.mjs → SpendingLegend-CD60HCYS.mjs} +33 -33
  28. package/dist/{TransactionDetails-7MHOshKQ.mjs → TransactionDetails-BDhz3DLT.mjs} +2 -2
  29. package/dist/TransactionStore-BSp5bOKg.mjs +705 -0
  30. package/dist/{User-LJpEwPtn.mjs → User-B0LnmiKO.mjs} +21 -20
  31. package/dist/WidgetContainer-BbPS3Yxz.mjs +555 -0
  32. package/dist/accounts/index.es.js +421 -391
  33. package/dist/accounts/stores/AccountStore.d.ts +30 -23
  34. package/dist/accounts/utils/Accounts.d.ts +2 -1
  35. package/dist/budgets/index.es.js +546 -540
  36. package/dist/budgets/store/BudgetsStore.d.ts +1 -0
  37. package/dist/cashflow/index.es.js +444 -457
  38. package/dist/categories/index.es.js +1 -1
  39. package/dist/categories/stores/CategoryStore.d.ts +10 -5
  40. package/dist/categories/util/CategoryUtil.d.ts +3 -2
  41. package/dist/common/components/GlobalAccountFilter.d.ts +11 -0
  42. package/dist/common/components/SkeletonLoader.d.ts +7 -0
  43. package/dist/common/components/WidgetContainer.d.ts +7 -6
  44. package/dist/common/components/globalaccountfilter/GlobalAccountFilterList.d.ts +7 -0
  45. package/dist/common/components/index.d.ts +2 -2
  46. package/dist/common/hooks/useAriaLive.d.ts +1 -1
  47. package/dist/common/index.es.js +459 -445
  48. package/dist/common/stores/AppDataStore.d.ts +3 -1
  49. package/dist/common/stores/GlobalCopyStore.d.ts +0 -1
  50. package/dist/common/stores/GlobalStore.d.ts +3 -3
  51. package/dist/common/stores/GlobalUiStore.d.ts +10 -6
  52. package/dist/common/stores/UserStore.d.ts +3 -2
  53. package/dist/common/types/Account.d.ts +9 -6
  54. package/dist/dashboard/index.es.js +84 -116
  55. package/dist/debts/index.es.js +417 -413
  56. package/dist/{exportTransactionsToCSV-BrTYdSgJ.mjs → exportTransactionsToCSV-DtQ7ovAR.mjs} +1 -1
  57. package/dist/finstrong/index.es.js +982 -979
  58. package/dist/goals/index.es.js +618 -598
  59. package/dist/goals/stores/GoalStore.d.ts +19 -4
  60. package/dist/help/index.es.js +13 -13
  61. package/dist/investments/index.es.js +330 -325
  62. package/dist/investments/stores/HoldingStore.d.ts +1 -0
  63. package/dist/networth/components/NetWorthChart.d.ts +3 -2
  64. package/dist/networth/components/NetWorthList.d.ts +3 -3
  65. package/dist/networth/index.es.js +423 -433
  66. package/dist/networth/stores/NetWorthStore.d.ts +20 -9
  67. package/dist/networth/utils/NetWorthUtils.d.ts +2 -2
  68. package/dist/notifications/index.es.js +90 -91
  69. package/dist/notifications/stores/NotificationStore.d.ts +3 -1
  70. package/dist/recurringtransactions/components/MicroWidgetContent.d.ts +3 -0
  71. package/dist/recurringtransactions/index.es.js +543 -562
  72. package/dist/recurringtransactions/stores/RecurringTransactionsStore.d.ts +4 -2
  73. package/dist/settings/index.es.js +253 -248
  74. package/dist/spending/index.es.js +282 -301
  75. package/dist/transactions/index.es.js +269 -263
  76. package/dist/transactions/stores/TransactionStore.d.ts +26 -77
  77. package/dist/transactions/stores/UiStore.d.ts +0 -2
  78. package/dist/trends/index.es.js +708 -699
  79. package/dist/{useAccountDisplayName-BTvP_pw6.mjs → useAccountDisplayName-Bot2tb4n.mjs} +1 -1
  80. package/package.json +3 -3
  81. package/dist/AccountStore-CWFzg8-E.mjs +0 -260
  82. package/dist/Accounts-CWt-NRq8.mjs +0 -9
  83. package/dist/CategoryUtil-DZflYFam.mjs +0 -78
  84. package/dist/ConnectDrawer-BOjfI6rz.mjs +0 -563
  85. package/dist/GoalStore-C7ahxxLi.mjs +0 -364
  86. package/dist/NetWorthStore-xWIo9CYU.mjs +0 -150
  87. package/dist/TransactionStore-DJwPaZuM.mjs +0 -677
  88. package/dist/WidgetContainer-CrK6tyHr.mjs +0 -572
  89. package/dist/common/components/accountfilter/AccountFilter.d.ts +0 -20
  90. package/dist/common/components/accountfilter/AccountFilterOptions.d.ts +0 -31
  91. package/dist/common/components/accountfilter/index.d.ts +0 -1
  92. package/dist/{ToggleListItem-ciFTiqRS.mjs → Notification-Bs1fdbzI.mjs} +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [7.8.1] - 01-29-2026
2
+
3
+ - **FIXED** - Retirement Goals | Amount To Save Not Updating | Bug Fixed
4
+
5
+ ## [7.8.0] - 01-21-2026
6
+
7
+ - **ADDED** - New Global Account Filter component
8
+ - **UPDATED** - Loading pattern to be consistent across all widgets
9
+ - **UPDATED** - All widgets to use new Global Account Filter component
10
+ - **UPDATED** - `isInitialized` in `GlobalStore` to be set after all copy & config are loaded
11
+ - **UPDATED** - Storybook `preview.tsx` to wrap all stories in `GlobalDataProvider` and load config data
12
+ - **UPDATED** - All stories to use new loading patterns
13
+ - **UPDATED** - Unit test to use new loading patterns
14
+
1
15
  ## [7.7.3] - 01-28-2026
2
16
 
3
17
  - **FIXED** - `Finstrong` | Score history drawer styling fix
@@ -0,0 +1,118 @@
1
+ var I = /* @__PURE__ */ ((E) => (E[E.ANY = 0] = "ANY", E[E.CHECKING = 1] = "CHECKING", E[E.SAVINGS = 2] = "SAVINGS", E[E.LOAN = 3] = "LOAN", E[E.CREDIT_CARD = 4] = "CREDIT_CARD", E[E.INVESTMENT = 5] = "INVESTMENT", E[E.LINE_OF_CREDIT = 6] = "LINE_OF_CREDIT", E[E.MORTGAGE = 7] = "MORTGAGE", E[E.PROPERTY = 8] = "PROPERTY", E[E.CASH = 9] = "CASH", E[E.INSURANCE = 10] = "INSURANCE", E[E.PREPAID = 11] = "PREPAID", E[E.CHECKING_LINE_OF_CREDIT = 12] = "CHECKING_LINE_OF_CREDIT", E[E.DIGITAL_WALLET = 13] = "DIGITAL_WALLET", E))(I || {}), N = /* @__PURE__ */ ((E) => (E[E.NONE = 0] = "NONE", E[E.MONEY_MARKET = 1] = "MONEY_MARKET", E[E.CERTIFICATE_OF_DEPOSIT = 2] = "CERTIFICATE_OF_DEPOSIT", E[E.AUTO = 3] = "AUTO", E[E.STUDENT = 4] = "STUDENT", E[E.SMALL_BUSINESS = 5] = "SMALL_BUSINESS", E[E.PERSONAL = 6] = "PERSONAL", E[E.PERSONAL_WITH_COLLATERAL = 7] = "PERSONAL_WITH_COLLATERAL", E[E.HOME_EQUITY = 8] = "HOME_EQUITY", E[E.PLAN_401_K = 9] = "PLAN_401_K", E[E.PLAN_403_B = 10] = "PLAN_403_B", E[E.PLAN_529 = 11] = "PLAN_529", E[E.IRA = 12] = "IRA", E[E.ROLLOVER_IRA = 13] = "ROLLOVER_IRA", E[E.ROTH_IRA = 14] = "ROTH_IRA", E[E.TAXABLE = 15] = "TAXABLE", E[E.NON_TAXABLE = 16] = "NON_TAXABLE", E[E.BROKERAGE = 17] = "BROKERAGE", E[E.TRUST = 18] = "TRUST", E[E.UNIFORM_GIFTS_TO_MINORS_ACT = 19] = "UNIFORM_GIFTS_TO_MINORS_ACT", E[E.PLAN_457 = 20] = "PLAN_457", E[E.PENSION = 21] = "PENSION", E[E.EMPLOYEE_STOCK_OWNERSHIP_PLAN = 22] = "EMPLOYEE_STOCK_OWNERSHIP_PLAN", E[E.SIMPLIFIED_EMPLOYEE_PENSION = 23] = "SIMPLIFIED_EMPLOYEE_PENSION", E[E.SIMPLE_IRA = 24] = "SIMPLE_IRA", E[E.BOAT = 25] = "BOAT", E[E.POWERSPORTS = 26] = "POWERSPORTS", E[E.RV = 27] = "RV", E[E.HELOC = 28] = "HELOC", E[E.PLAN_ROTH_401_K = 29] = "PLAN_ROTH_401_K", E[E.FIXED_ANNUITY = 30] = "FIXED_ANNUITY", E[E.VARIABLE_ANNUITY = 31] = "VARIABLE_ANNUITY", E[E.VEHICLE_INSURANCE = 32] = "VEHICLE_INSURANCE", E[E.DISABILITY = 33] = "DISABILITY", E[E.HEALTH = 34] = "HEALTH", E[E.LONG_TERM_CARE = 35] = "LONG_TERM_CARE", E[E.PROPERTY_AND_CASUALTY = 36] = "PROPERTY_AND_CASUALTY", E[E.UNIVERSAL_LIFE = 37] = "UNIVERSAL_LIFE", E[E.TERM_LIFE = 38] = "TERM_LIFE", E[E.WHOLE_LIFE = 39] = "WHOLE_LIFE", E[E.ACCIDENTAL_DEATH_AND_DISMEMBERMENT = 40] = "ACCIDENTAL_DEATH_AND_DISMEMBERMENT", E[E.VARIABLE_UNIVERSAL_LIFE = 41] = "VARIABLE_UNIVERSAL_LIFE", E[E.HSA = 42] = "HSA", E[E.TAX_FREE_SAVINGS_ACCOUNT = 43] = "TAX_FREE_SAVINGS_ACCOUNT", E[E.INDIVIDUAL = 44] = "INDIVIDUAL", E[E.REGISTERED_RETIREMENT_INCOME_FUND = 45] = "REGISTERED_RETIREMENT_INCOME_FUND", E[E.CASH_MANAGEMENT_ACCOUNT = 46] = "CASH_MANAGEMENT_ACCOUNT", E[E.EMPLOYEE_STOCK_PURCHASE_PLAN = 47] = "EMPLOYEE_STOCK_PURCHASE_PLAN", E[E.REGISTERED_EDUCATION_SAVINGS_PLAN = 48] = "REGISTERED_EDUCATION_SAVINGS_PLAN", E[E.PROFIT_SHARING_PLAN = 49] = "PROFIT_SHARING_PLAN", E[E.UNIFORM_TRANSFER_TO_MINORS_ACT = 50] = "UNIFORM_TRANSFER_TO_MINORS_ACT", E[E.PLAN_401_A = 51] = "PLAN_401_A", E[E.SARSEP_IRA = 52] = "SARSEP_IRA", E[E.FIXED_ANNUITY_TRADITIONAL_IRA = 53] = "FIXED_ANNUITY_TRADITIONAL_IRA", E[E.VARIABLE_ANNUITY_TRADITIONAL_IRA = 54] = "VARIABLE_ANNUITY_TRADITIONAL_IRA", E[E.SEPP_IRA = 55] = "SEPP_IRA", E[E.INHERITED_TRADITIONAL_IRA = 56] = "INHERITED_TRADITIONAL_IRA", E[E.FIXED_ANNUITY_ROTH_IRA = 57] = "FIXED_ANNUITY_ROTH_IRA", E[E.VARIABLE_ANNUITY_ROTH_IRA = 58] = "VARIABLE_ANNUITY_ROTH_IRA", E[E.INHERITED_ROTH_IRA = 59] = "INHERITED_ROTH_IRA", E[E.COVERDELL = 60] = "COVERDELL", E[E.ADVISORY_ACCOUNT = 61] = "ADVISORY_ACCOUNT", E[E.BROKERAGE_MARGIN = 62] = "BROKERAGE_MARGIN", E[E.CHARITABLE_GIFT_ACCOUNT = 63] = "CHARITABLE_GIFT_ACCOUNT", E[E.CHURCH_ACCOUNT = 64] = "CHURCH_ACCOUNT", E[E.CONSERVATORSHIP = 65] = "CONSERVATORSHIP", E[E.CUSTODIAL = 66] = "CUSTODIAL", E[E.DEFINED_BENEFIT_PLAN = 67] = "DEFINED_BENEFIT_PLAN", E[E.DEFINED_CONTRIBUTION_PLAN = 68] = "DEFINED_CONTRIBUTION_PLAN", E[E.EDUCATIONAL = 69] = "EDUCATIONAL", E[E.ESTATE = 70] = "ESTATE", E[E.EXECUTOR = 71] = "EXECUTOR", E[E.GROUP_RETIREMENT_SAVINGS_PLAN = 72] = "GROUP_RETIREMENT_SAVINGS_PLAN", E[E.GUARANTEED_INVESTMENT_CERTIFICATE = 73] = "GUARANTEED_INVESTMENT_CERTIFICATE", E[E.HRA = 74] = "HRA", E[E.INDEXED_ANNUITY = 75] = "INDEXED_ANNUITY", E[E.INVESTMENT_CLUB = 76] = "INVESTMENT_CLUB", E[E.IRREVOCABLE_TRUST = 77] = "IRREVOCABLE_TRUST", E[E.JOINT_TENANTS_BY_ENTIRITY = 78] = "JOINT_TENANTS_BY_ENTIRITY", E[E.JOINT_TENANTS_COMMUNITY_PROPERTY = 79] = "JOINT_TENANTS_COMMUNITY_PROPERTY", E[E.JOINT_TENANTS_IN_COMMON = 80] = "JOINT_TENANTS_IN_COMMON", E[E.JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP = 81] = "JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP", E[E.KEOUGH_PLAN = 82] = "KEOUGH_PLAN", E[E.LIFE_INCOME_FUND = 83] = "LIFE_INCOME_FUND", E[E.LIVING_TRUST = 84] = "LIVING_TRUST", E[E.LOCKED_IN_RETIREMENT_ACCOUNT = 85] = "LOCKED_IN_RETIREMENT_ACCOUNT", E[E.LOCKED_IN_RETIREMENT_INVESTMENT_FUND = 86] = "LOCKED_IN_RETIREMENT_INVESTMENT_FUND", E[E.LOCKED_IN_RETIREMENT_SAVINGS_ACCOUNT = 87] = "LOCKED_IN_RETIREMENT_SAVINGS_ACCOUNT", E[E.MONEY_PURCHASE_PLAN = 88] = "MONEY_PURCHASE_PLAN", E[E.PARTNERSHIP = 89] = "PARTNERSHIP", E[E.PLAN_409_A = 90] = "PLAN_409_A", E[E.PLAN_ROTH_403_B = 91] = "PLAN_ROTH_403_B", E[E.REGISTERED_DISABILITY_SAVINGS_PLAN = 92] = "REGISTERED_DISABILITY_SAVINGS_PLAN", E[E.REGISTERED_LOCKED_IN_SAVINGS_PLAN = 93] = "REGISTERED_LOCKED_IN_SAVINGS_PLAN", E[E.REGISTERED_PENSION_PLAN = 94] = "REGISTERED_PENSION_PLAN", E[E.REGISTERED_RETIREMENT_SAVINGS_PLAN = 95] = "REGISTERED_RETIREMENT_SAVINGS_PLAN", E[E.REVOCABLE_TRUST = 96] = "REVOCABLE_TRUST", E[E.ROTH_CONVERSION = 97] = "ROTH_CONVERSION", E[E.SOLE_PROPRIETORSHIP = 98] = "SOLE_PROPRIETORSHIP", E[E.SPOUSAL_IRA = 99] = "SPOUSAL_IRA", E[E.SPOUSAL_ROTH_IRA = 100] = "SPOUSAL_ROTH_IRA", E[E.TESTAMENTARY_TRUST = 101] = "TESTAMENTARY_TRUST", E[E.THRIFT_SAVINGS_PLAN = 102] = "THRIFT_SAVINGS_PLAN", E[E.INHERITED_ANNUITY = 103] = "INHERITED_ANNUITY", E[E.CORPORATE_ACCOUNT = 104] = "CORPORATE_ACCOUNT", E[E.LIMITED_LIABILITY_ACCOUNT = 105] = "LIMITED_LIABILITY_ACCOUNT", E[E.HSA_SAVINGS = 106] = "HSA_SAVINGS", E[E.HSA_CHECKING = 107] = "HSA_CHECKING", E))(N || {}), _ = /* @__PURE__ */ ((E) => (E[E.REAL_ESTATE = 0] = "REAL_ESTATE", E[E.VEHICLE = 1] = "VEHICLE", E[E.ART = 2] = "ART", E[E.JEWELRY = 3] = "JEWELRY", E[E.FURNITURE = 4] = "FURNITURE", E[E.APPLIANCES = 5] = "APPLIANCES", E[E.COMPUTER = 6] = "COMPUTER", E[E.ELECTRONICS = 7] = "ELECTRONICS", E[E.SPORTS_EQUIPMENT = 8] = "SPORTS_EQUIPMENT", E[E.MISCELLANEOUS = 9] = "MISCELLANEOUS", E))(_ || {}), R = /* @__PURE__ */ ((E) => (E[E.CREATED = 0] = "CREATED", E[E.PREVENTED = 1] = "PREVENTED", E[E.DENIED = 2] = "DENIED", E[E.CHALLENGED = 3] = "CHALLENGED", E[E.REJECTED = 4] = "REJECTED", E[E.LOCKED = 5] = "LOCKED", E[E.CONNECTED = 6] = "CONNECTED", E[E.IMPEDED = 7] = "IMPEDED", E[E.RECONNECTED = 8] = "RECONNECTED", E[E.DEGRADED = 9] = "DEGRADED", E[E.DISCONNECTED = 10] = "DISCONNECTED", E[E.DISCONTINUED = 11] = "DISCONTINUED", E[E.CLOSED = 12] = "CLOSED", E[E.DELAYED = 13] = "DELAYED", E[E.FAILED = 14] = "FAILED", E[E.UPDATED = 15] = "UPDATED", E[E.DISABLED = 16] = "DISABLED", E[E.IMPORTED = 17] = "IMPORTED", E[E.RESUMED = 18] = "RESUMED", E[E.EXPIRED = 19] = "EXPIRED", E[E.IMPAIRED = 20] = "IMPAIRED", E[E.PENDING = 21] = "PENDING", E))(R || {});
2
+ const C = [
3
+ 0,
4
+ 15,
5
+ 18
6
+ /* RESUMED */
7
+ ], O = [
8
+ 3,
9
+ 4
10
+ /* REJECTED */
11
+ ], L = [
12
+ 1,
13
+ 2,
14
+ 5,
15
+ 7,
16
+ 9,
17
+ 10,
18
+ 11,
19
+ 12,
20
+ 13,
21
+ 14,
22
+ 16,
23
+ 17,
24
+ 19,
25
+ 20
26
+ /* IMPAIRED */
27
+ ], P = [...L, ...O];
28
+ var D = /* @__PURE__ */ ((E) => (E.Connected = "Connected", E.Error = "Error", E.Processing = "Processing", E.RequiresMfa = "RequiresMfa", E))(D || {});
29
+ const U = {
30
+ 3: "Challenged",
31
+ 12: "Closed",
32
+ 9: "Degraded",
33
+ 13: "Delayed",
34
+ 2: "Denied",
35
+ 16: "Disabled",
36
+ 10: "Disconnected",
37
+ 11: "Discontinued",
38
+ 19: "Expired",
39
+ 14: "Failed",
40
+ 20: "Impaired",
41
+ 7: "Impeded",
42
+ 17: "Imported",
43
+ 5: "Locked",
44
+ 1: "Prevented",
45
+ 4: "Rejected"
46
+ }, A = {
47
+ 0: "Any",
48
+ 9: "Cash",
49
+ 1: "Checking",
50
+ 12: "Checking Line of Credit",
51
+ 4: "Credit Card",
52
+ 13: "Digital Wallet",
53
+ 10: "Insurance",
54
+ 5: "Investment",
55
+ 6: "Line of Credit",
56
+ 3: "Loan",
57
+ 7: "Mortgage",
58
+ 11: "Prepaid",
59
+ 8: "Property",
60
+ 2: "Savings"
61
+ }, M = {
62
+ 0: "account_balance",
63
+ 9: "monetization_on",
64
+ 1: "checkbook",
65
+ 12: "checkbook",
66
+ // Checking line of credit has the same icon as checking
67
+ 4: "credit_card",
68
+ 13: "wallet",
69
+ 10: "monitor_heart",
70
+ 5: "trending_up",
71
+ 6: "add_credit",
72
+ 3: "loans",
73
+ 7: "house",
74
+ 11: "credit_card",
75
+ 8: "key",
76
+ 2: "savings"
77
+ }, H = {
78
+ 5: "bid_landscape"
79
+ }, T = {
80
+ 0: "Real Estate",
81
+ 1: "Vehicle",
82
+ 2: "Art",
83
+ 3: "Jewelry",
84
+ 4: "Furniture",
85
+ 5: "Appliances",
86
+ 6: "Computer",
87
+ 7: "Electronics",
88
+ 8: "Sports Equipment",
89
+ 9: "Miscellaneous"
90
+ }, G = {
91
+ 0: "home_work",
92
+ 1: "directions_car",
93
+ 2: "insert_photo",
94
+ 3: "diamond",
95
+ 4: "chair",
96
+ 5: "kitchen",
97
+ 6: "computer",
98
+ 7: "camera_alt",
99
+ 8: "sports_baseball",
100
+ 9: "monetization_on"
101
+ };
102
+ export {
103
+ I as A,
104
+ D as C,
105
+ L as E,
106
+ O as M,
107
+ P as N,
108
+ _ as P,
109
+ U as S,
110
+ M as a,
111
+ G as b,
112
+ C as c,
113
+ N as d,
114
+ H as e,
115
+ A as f,
116
+ R as g,
117
+ T as h
118
+ };
@@ -1,4 +1,4 @@
1
- import { A as C } from "./ConnectDrawer-BOjfI6rz.mjs";
1
+ import { A as C } from "./Account-BiB1F8lL.mjs";
2
2
  const I = [
3
3
  C.ANY,
4
4
  C.CASH,
@@ -0,0 +1,19 @@
1
+ import { F as s, A as e } from "./Fetch-DecPFeGU.mjs";
2
+ class r {
3
+ fetchInstance;
4
+ constructor(t, c, n) {
5
+ this.fetchInstance = new s(t, c, void 0, n);
6
+ }
7
+ createAccount = async (t) => this.fetchInstance.post(e.ACCOUNTS, t).then((c) => c.account).catch((c) => c);
8
+ deleteAccount = async (t) => this.fetchInstance.delete(`${e.ACCOUNTS}/${t}`).catch((c) => c);
9
+ getAccounts = async () => this.fetchInstance.get(e.ACCOUNTS).then((t) => t.accounts).catch((t) => t);
10
+ getInstitutions = async () => this.fetchInstance.get(e.INSTITUTIONS).then((t) => t).catch((t) => t);
11
+ getMembers = async () => this.fetchInstance.get(e.MEMBERS).then((t) => t.members).catch((t) => t);
12
+ getMonthlyAccountBalances = async (t) => this.fetchInstance.get(`${e.ACCOUNTS}/${t}/monthly_account_balances`).then((c) => c.monthly_account_balances).catch((c) => c);
13
+ mergeAccounts = async (t) => this.fetchInstance.put(`${e.ACCOUNTS}/merge`, { accounts: t }).then((c) => c).catch((c) => c);
14
+ refreshAllMembers = async () => this.fetchInstance.get(`${e.MEMBERS}/refresh_all`).then((t) => t).catch((t) => t);
15
+ updateAccount = async (t) => this.fetchInstance.put(`${e.ACCOUNTS}/${t.guid}`, t).then((c) => c.account).catch((c) => c);
16
+ }
17
+ export {
18
+ r as A
19
+ };
@@ -4,14 +4,14 @@ import s from "@mui/material/Stack";
4
4
  import { H3 as T, InstitutionLogo as x, Text as l, H2 as D } from "@mxenabled/mxui";
5
5
  import p from "react";
6
6
  import { G as N, d as C, m as P, f as G, u as O } from "./hooks-ZMp65DFz.mjs";
7
- import { g as R } from "./AccountFields-yP8QdgPd.mjs";
8
- import { A as r } from "./ConnectDrawer-BOjfI6rz.mjs";
7
+ import { g as R } from "./AccountFields-UdOvbQ5H.mjs";
8
+ import { A as r } from "./Account-BiB1F8lL.mjs";
9
9
  import w from "@mui/material/Card";
10
10
  import v from "@mui/material/CardContent";
11
11
  import L from "@mui/material/CardHeader";
12
12
  import { L as H } from "./Loader-DUaFpDGv.mjs";
13
- import { I as M, P as U, S as Y } from "./Account-BfkKlfsW.mjs";
14
- import { u as j } from "./useAccountDisplayName-BTvP_pw6.mjs";
13
+ import { I as M, P as U, S as Y } from "./Account-DuOz1a27.mjs";
14
+ import { u as j } from "./useAccountDisplayName-Bot2tb4n.mjs";
15
15
  import { f as z } from "./NumberFormatting-DjTD0t3W.mjs";
16
16
  const _ = () => {
17
17
  if (!p.useContext(N))
@@ -0,0 +1,11 @@
1
+ function r(e, t) {
2
+ if (t?.allowNickname === !0) {
3
+ const m = e.nickname?.trim();
4
+ if (m) return m;
5
+ }
6
+ const n = e.name?.trim();
7
+ return n || e.feed_name?.trim() || "";
8
+ }
9
+ export {
10
+ r as g
11
+ };
@@ -1,11 +1,12 @@
1
1
  import { jsx as u } from "react/jsx-runtime";
2
2
  import { Icon as p, Text as y } from "@mxenabled/mxui";
3
- import { F as m, A as d, a as v, P as h, b as F } from "./ConnectDrawer-BOjfI6rz.mjs";
4
- import { i as T, u as D, a as A, b as g, c as O } from "./Accounts-CWt-NRq8.mjs";
3
+ import { A as d, a as v, P as h, b as F } from "./Account-BiB1F8lL.mjs";
4
+ import { i as T, u as D, a as A, b as g, c as O } from "./Accounts-M-LTzStv.mjs";
5
+ import { F as m } from "./GlobalAccountFilter-DQCPNc95.mjs";
5
6
  import { f as _, i as b, a as N, b as S } from "./NumberFormatting-DjTD0t3W.mjs";
6
7
  import { b as i } from "./Localization-2MODESHW.mjs";
7
8
  import { f as o, D as f } from "./Dialog-B4PI-_bL.mjs";
8
- const w = (l, e) => {
9
+ const x = (l, e) => {
9
10
  const r = [
10
11
  {
11
12
  event: "account_details_click_account_name",
@@ -128,12 +129,12 @@ const w = (l, e) => {
128
129
  secondValue: n,
129
130
  hasAvailableBalance: s
130
131
  };
131
- }, x = (l, e) => l.reduce((a, t) => {
132
+ }, B = (l, e) => l.reduce((a, t) => {
132
133
  const s = C(t, e).firstValue || 0;
133
134
  return a + s;
134
135
  }, 0);
135
136
  export {
136
- w as a,
137
- x as b,
137
+ x as a,
138
+ B as b,
138
139
  C as g
139
140
  };
@@ -4,16 +4,16 @@ import I from "@mui/material/Badge";
4
4
  import m from "@mui/material/Box";
5
5
  import S from "@mui/material/ListItem";
6
6
  import v from "@mui/material/ListItemAvatar";
7
- import _ from "@mui/material/ListItemButton";
8
- import C from "@mui/material/ListItemText";
7
+ import C from "@mui/material/ListItemButton";
8
+ import _ from "@mui/material/ListItemText";
9
9
  import B from "@mui/material/styles/useTheme";
10
10
  import { InstitutionLogo as L, Text as o } from "@mxenabled/mxui";
11
11
  import { Error as A } from "@mxenabled/mx-icons";
12
12
  import { I as j } from "./IconBacking-B9oC6uL2.mjs";
13
- import { g as T } from "./AccountFields-yP8QdgPd.mjs";
14
- import { u as X } from "./useAccountDisplayName-BTvP_pw6.mjs";
15
- import { d } from "./ConnectDrawer-BOjfI6rz.mjs";
13
+ import { g as T } from "./AccountFields-UdOvbQ5H.mjs";
14
+ import { u as X } from "./useAccountDisplayName-Bot2tb4n.mjs";
16
15
  import { u as $ } from "./hooks-ZMp65DFz.mjs";
16
+ import { C as d } from "./Account-BiB1F8lL.mjs";
17
17
  import { f as k } from "./NumberFormatting-DjTD0t3W.mjs";
18
18
  const w = {
19
19
  gridRow: 1,
@@ -45,7 +45,7 @@ const w = {
45
45
  }
46
46
  ) }),
47
47
  /* @__PURE__ */ e(
48
- C,
48
+ _,
49
49
  {
50
50
  disableTypography: !0,
51
51
  primary: /* @__PURE__ */ r(
@@ -81,7 +81,7 @@ const w = {
81
81
  {
82
82
  sx: { backgroundColor: "background.paper", color: t.is_closed ? "grey.700" : "" },
83
83
  ...c,
84
- children: s ? /* @__PURE__ */ e(_, { alignItems: "flex-start", onClick: s, sx: { px: 24 }, children: a }) : a
84
+ children: s ? /* @__PURE__ */ e(C, { alignItems: "flex-start", onClick: s, sx: { px: 24 }, children: a }) : a
85
85
  }
86
86
  );
87
87
  }, Z = b(M);
@@ -0,0 +1,244 @@
1
+ import { makeAutoObservable as h, runInAction as a } from "mobx";
2
+ import { i as g } from "./User-B0LnmiKO.mjs";
3
+ import { A as d } from "./AccountApi-DgZ8ILj1.mjs";
4
+ import { d as m } from "./Accounts-M-LTzStv.mjs";
5
+ import { A as s, d as u } from "./Account-BiB1F8lL.mjs";
6
+ class p {
7
+ isLoading = !1;
8
+ selectedAccount = {};
9
+ selectedMember = {};
10
+ constructor() {
11
+ h(this);
12
+ }
13
+ setIsLoading = (t) => this.isLoading = t;
14
+ setSelectedAccount = (t) => this.selectedAccount = t;
15
+ setSelectedMember = (t) => this.selectedMember = t;
16
+ }
17
+ class E {
18
+ globalStore;
19
+ api = new d("/", "");
20
+ accounts = [];
21
+ accountsLoaded = !1;
22
+ accountsLoading = !1;
23
+ institutions = [];
24
+ institutionsLoaded = !1;
25
+ institutionsLoading = !1;
26
+ members = [];
27
+ membersLoaded = !1;
28
+ membersLoading = !1;
29
+ uiStore;
30
+ constructor(t) {
31
+ this.globalStore = t, this.uiStore = new p(), this.api = new d(t.endpoint, t.sessionToken, t.onError), h(this);
32
+ }
33
+ loadAccountData = async () => {
34
+ await Promise.all([this.loadAccounts(), this.loadMembers(), this.loadInstitutions()]);
35
+ };
36
+ get isAccountDataLoaded() {
37
+ return this.accountsLoaded && this.membersLoaded && this.institutionsLoaded;
38
+ }
39
+ get detailedAccounts() {
40
+ const t = this.globalStore.userStore.userFeatures, e = g(t, "MD_EXCLUDE_EXTERNAL_ACCOUNTS");
41
+ return m(this.accounts, this.institutions, this.members, e);
42
+ }
43
+ get accountsByTypeMap() {
44
+ return this.detailedAccounts.reduce((t, e) => {
45
+ const c = e.account_type;
46
+ let n = t.get(c);
47
+ return n || (n = []), n.push(e), t.set(c, n), t;
48
+ }, /* @__PURE__ */ new Map());
49
+ }
50
+ get cashAccounts() {
51
+ return this.detailedAccounts.filter(
52
+ (t) => t.account_type === s.CASH || t.account_type === s.CHECKING || t.account_type === s.PREPAID || t.account_type === s.SAVINGS || t.account_type === s.CHECKING_LINE_OF_CREDIT
53
+ );
54
+ }
55
+ get cashBalance() {
56
+ return this.cashAccounts.reduce((t, e) => t + (e?.balance || 0), 0);
57
+ }
58
+ get checkingAccounts() {
59
+ return this.detailedAccounts.filter((t) => t.account_type === s.CHECKING);
60
+ }
61
+ get debtAccounts() {
62
+ return this.detailedAccounts.filter(
63
+ (t) => t.account_type === s.CREDIT_CARD || t.account_type === s.LOAN || t.account_type === s.MORTGAGE || t.account_type === s.LINE_OF_CREDIT || t.account_type === s.CHECKING_LINE_OF_CREDIT
64
+ );
65
+ }
66
+ get finstrongAccounts() {
67
+ const t = /* @__PURE__ */ new Set([
68
+ s.CHECKING,
69
+ s.SAVINGS,
70
+ s.CREDIT_CARD,
71
+ s.INVESTMENT
72
+ ]);
73
+ return this.detailedAccounts.filter((e) => t.has(e.account_type));
74
+ }
75
+ get investmentAccounts() {
76
+ return this.detailedAccounts.filter(
77
+ (t) => t.account_type === s.INVESTMENT
78
+ );
79
+ }
80
+ get savingsAccounts() {
81
+ return this.detailedAccounts.filter((t) => t.account_type === s.SAVINGS);
82
+ }
83
+ get retirementAccounts() {
84
+ return this.detailedAccounts.filter(
85
+ (t) => t.account_type === s.INVESTMENT || t.account_type === s.SAVINGS || t.account_type === s.CHECKING || t.account_type === s.CASH || t.account_type === s.PROPERTY || t.account_type === s.INSURANCE && (t.account_subtype === u.WHOLE_LIFE || t.account_subtype === u.UNIVERSAL_LIFE || t.account_subtype === u.VARIABLE_UNIVERSAL_LIFE)
86
+ );
87
+ }
88
+ get visibleAccounts() {
89
+ return this.detailedAccounts.filter((t) => !t.is_hidden);
90
+ }
91
+ get visibleCashAccounts() {
92
+ return this.cashAccounts.filter((t) => !t.is_hidden);
93
+ }
94
+ get visibleCashBalance() {
95
+ return this.visibleCashAccounts.reduce((t, e) => t + (e?.balance || 0), 0);
96
+ }
97
+ get visibleCheckingAccounts() {
98
+ return this.checkingAccounts.filter((t) => !t.is_hidden);
99
+ }
100
+ get visibleDebtAccounts() {
101
+ return this.debtAccounts.filter((t) => !t.is_hidden);
102
+ }
103
+ get visibleFinstrongAccounts() {
104
+ return this.finstrongAccounts.filter(
105
+ (t) => !(t.is_closed || t.is_deleted || t.is_hidden)
106
+ );
107
+ }
108
+ get visibleRetirementAccounts() {
109
+ return this.retirementAccounts.filter((t) => !t.is_hidden);
110
+ }
111
+ get visibleInvestmentAccounts() {
112
+ return this.investmentAccounts.filter((t) => !t.is_hidden);
113
+ }
114
+ get visibleSavingsAccounts() {
115
+ return this.savingsAccounts.filter((t) => !t.is_hidden);
116
+ }
117
+ get savingsAndCheckingAccountsBalance() {
118
+ return this.savingsAndCheckingAccounts.reduce(
119
+ (e, c) => e + (c?.balance || 0),
120
+ 0
121
+ );
122
+ }
123
+ get savingsAndCheckingAccounts() {
124
+ return this.accounts.filter(
125
+ (e) => e.account_type === s.SAVINGS || e.account_type === s.CHECKING
126
+ );
127
+ }
128
+ setAccounts = (t) => {
129
+ this.accounts = t, this.accountsLoading = !1, this.accountsLoaded = !0;
130
+ };
131
+ setMembers = (t) => {
132
+ this.members = t, this.membersLoading = !1, this.membersLoaded = !0;
133
+ };
134
+ setInstitutions = (t) => {
135
+ this.institutions = t, this.institutionsLoading = !1, this.institutionsLoaded = !0;
136
+ };
137
+ addAccount = async (t) => {
138
+ try {
139
+ const e = await this.api.createAccount(t);
140
+ a(() => {
141
+ this.accounts = [...this.accounts, e];
142
+ });
143
+ } catch (e) {
144
+ console.error(`Error occurred while adding an account: ${e}`);
145
+ }
146
+ };
147
+ loadAccounts = async () => {
148
+ if (!this.accountsLoading) {
149
+ this.accountsLoading = !0;
150
+ try {
151
+ const t = await this.api.getAccounts();
152
+ this.setAccounts(t);
153
+ } catch (t) {
154
+ console.error(`Error occurred while loading accounts: ${t}`);
155
+ }
156
+ }
157
+ };
158
+ loadInstitutions = async () => {
159
+ if (!this.institutionsLoading) {
160
+ this.institutionsLoading = !0;
161
+ try {
162
+ const t = await this.api.getInstitutions();
163
+ this.setInstitutions(t);
164
+ } catch (t) {
165
+ console.error(`Error occurred while loading institutions: ${t}`);
166
+ }
167
+ }
168
+ };
169
+ loadMembers = async () => {
170
+ if (!this.membersLoading) {
171
+ this.membersLoading = !0;
172
+ try {
173
+ const t = await this.api.getMembers();
174
+ this.setMembers(t);
175
+ } catch (t) {
176
+ console.error(`Error occurred while loading members: ${t}`);
177
+ }
178
+ }
179
+ };
180
+ mergeAccounts = async (t) => {
181
+ try {
182
+ const e = await this.api.mergeAccounts(t), c = e[Object.keys(e)[0]];
183
+ a(() => {
184
+ const n = this.accounts.findIndex((i) => i.guid === t[1]);
185
+ this.accounts.splice(n, 1);
186
+ const o = this.accounts.findIndex((i) => i.guid === t[0]);
187
+ this.accounts.splice(o, 1, c);
188
+ });
189
+ } catch (e) {
190
+ console.error(`Error occurred while merging accounts: ${e}`);
191
+ }
192
+ };
193
+ refreshAccounts = async () => {
194
+ this.uiStore.setIsLoading(!0), await Promise.all([this.loadAccounts(), this.loadInstitutions(), this.loadMembers()]), this.uiStore.setIsLoading(!1);
195
+ };
196
+ refreshMembers = async () => {
197
+ try {
198
+ await this.api.refreshAllMembers(), await this.loadMembers();
199
+ } catch (t) {
200
+ console.error(`Error occurredwhile refreshing members: ${t}`);
201
+ }
202
+ };
203
+ removeAccount = async (t) => {
204
+ try {
205
+ await this.api.deleteAccount(t);
206
+ const e = this.accounts.findIndex((c) => c.guid === t);
207
+ this.accounts.splice(e, 1);
208
+ } catch (e) {
209
+ console.error(`Error occurred while removing an account: ${e}`);
210
+ }
211
+ };
212
+ updateAccount = async (t) => {
213
+ try {
214
+ const e = await this.api.updateAccount(t), c = this.accounts.findIndex(
215
+ (n) => n.guid === e.guid
216
+ );
217
+ this.accounts.splice(c, 1, e);
218
+ } catch (e) {
219
+ console.error(`Error occurred while updating account: ${e}`);
220
+ }
221
+ };
222
+ updateAccountBalance = (t, e) => {
223
+ const c = this.accounts.find((n) => n.guid === t);
224
+ c && a(() => {
225
+ c.balance = (c.balance || 0) + e;
226
+ });
227
+ };
228
+ updateAccountFilter = async (t) => {
229
+ const e = [];
230
+ for (const [o, i] of t.entries()) {
231
+ const r = this.accounts.find((A) => A.guid === o);
232
+ r && r.is_excluded_from_accounts === i && (r.is_excluded_from_accounts = !i, e.push(this.api.updateAccount(r)));
233
+ }
234
+ const c = await Promise.all(e), n = [...this.accounts];
235
+ for (const o of c) {
236
+ const i = n.findIndex((r) => r.guid === o.guid);
237
+ i !== -1 && n.splice(i, 1, o);
238
+ }
239
+ this.setAccounts(n);
240
+ };
241
+ }
242
+ export {
243
+ E as A
244
+ };
@@ -0,0 +1,27 @@
1
+ import { A as e, C as u, E as r, c as p, M as y } from "./Account-BiB1F8lL.mjs";
2
+ const l = (t) => t && (t.account_type === e.CREDIT_CARD || t.account_type === e.LOAN || t.account_type === e.MORTGAGE || t.account_type === e.LINE_OF_CREDIT || t.account_type === e.CHECKING_LINE_OF_CREDIT), I = (t) => t.is_manual || !t.guid, R = (t) => t.account_type === e.LINE_OF_CREDIT || t.account_type === e.CREDIT_CARD || t.account_type === e.CHECKING_LINE_OF_CREDIT, f = (t) => t.account_type === e.SAVINGS || t.account_type === e.CHECKING || t.account_type === e.LINE_OF_CREDIT || t.account_type === e.CREDIT_CARD || t.account_type === e.LOAN || t.account_type === e.MORTGAGE, m = (t) => t.account_type === e.LOAN || t.account_type === e.MORTGAGE, A = (t, n, s, _) => t.filter((i) => !(i.member_is_managed_by_user && _)).sort(d).map((i) => {
3
+ const c = n.find((a) => a.guid === i.institution_guid), o = s.find((a) => a.guid === i.member_guid);
4
+ return E(i, c, o);
5
+ }), E = (t, n, s) => {
6
+ let _ = u.Connected;
7
+ s && (r.includes(s.connection_status) ? _ = u.Error : p.includes(s.connection_status) ? _ = u.Processing : y.includes(s.connection_status) && (_ = u.RequiresMfa));
8
+ const i = [
9
+ t.user_name || t.feed_name || "",
10
+ t.account_number ? `*${t.account_number}` : ""
11
+ ].join(" ").trim();
12
+ return {
13
+ ...t,
14
+ connectionStatus: _,
15
+ displayName: i,
16
+ institution: n,
17
+ member: s
18
+ };
19
+ }, d = (t, n) => t.account_type > n.account_type ? 1 : t.account_type < n.account_type ? -1 : (t.name || "") > (n.name || "") ? 1 : (t.name || "") < (n.name || "") ? -1 : 0;
20
+ export {
21
+ l as a,
22
+ R as b,
23
+ m as c,
24
+ A as d,
25
+ I as i,
26
+ f as u
27
+ };