@mx-cartographer/experiences 9.0.16-alpha → 9.0.17-alpha.al0

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 (207) hide show
  1. package/dist/Account-DR7Plrqy.mjs +1 -0
  2. package/dist/Account-DR7Plrqy.mjs.map +1 -0
  3. package/dist/{AccountDetailsDrawer-CZPeLsCq.mjs → AccountDetailsDrawer-BJcyxgWe.mjs} +2 -1
  4. package/dist/AccountDetailsDrawer-BJcyxgWe.mjs.map +1 -0
  5. package/dist/{AccountDetailsHeader-BvbCUQSS.mjs → AccountDetailsHeader-ByGNPZpO.mjs} +1 -2
  6. package/dist/AccountDetailsHeader-ByGNPZpO.mjs.map +1 -0
  7. package/dist/AccountUtils-B8ZzWI-d.mjs +1 -0
  8. package/dist/AccountUtils-B8ZzWI-d.mjs.map +1 -0
  9. package/dist/Analytics-CkYXKvco.mjs +1 -0
  10. package/dist/Analytics-CkYXKvco.mjs.map +1 -0
  11. package/dist/Analytics-WeZYytR0.mjs +1 -0
  12. package/dist/Analytics-WeZYytR0.mjs.map +1 -0
  13. package/dist/ApiEndpoints-DXwIYNUV.mjs +1 -0
  14. package/dist/ApiEndpoints-DXwIYNUV.mjs.map +1 -0
  15. package/dist/BeatMaterialIcon-1KOfRZrA.mjs +1 -0
  16. package/dist/BeatMaterialIcon-1KOfRZrA.mjs.map +1 -0
  17. package/dist/BudgetUtil-Bg2AQJpQ.mjs +1 -0
  18. package/dist/BudgetUtil-Bg2AQJpQ.mjs.map +1 -0
  19. package/dist/Category-DEKZGLYe.mjs +1 -0
  20. package/dist/Category-DEKZGLYe.mjs.map +1 -0
  21. package/dist/CategorySelectorDrawer-NJsFsKP1.mjs +1 -0
  22. package/dist/CategorySelectorDrawer-NJsFsKP1.mjs.map +1 -0
  23. package/dist/Connect-BH0Pt6zc.mjs +1 -0
  24. package/dist/Connect-BH0Pt6zc.mjs.map +1 -0
  25. package/dist/ConnectCard-D7uxoH5Y.mjs +1 -0
  26. package/dist/ConnectCard-D7uxoH5Y.mjs.map +1 -0
  27. package/dist/ConnectDrawer-CW4LA3H3.mjs +1 -0
  28. package/dist/ConnectDrawer-CW4LA3H3.mjs.map +1 -0
  29. package/dist/ConnectionsDrawer-CZU9ku-k.mjs +1 -0
  30. package/dist/ConnectionsDrawer-CZU9ku-k.mjs.map +1 -0
  31. package/dist/CurrencyDialog-DumQCTPO.mjs +1 -0
  32. package/dist/CurrencyDialog-DumQCTPO.mjs.map +1 -0
  33. package/dist/CurrencyInput-DaGEQaLW.mjs +1 -0
  34. package/dist/CurrencyInput-DaGEQaLW.mjs.map +1 -0
  35. package/dist/CurrencyText-CCbE6MmF.mjs +1 -0
  36. package/dist/CurrencyText-CCbE6MmF.mjs.map +1 -0
  37. package/dist/DateFormats-HudZ3Bjs.mjs +1 -0
  38. package/dist/DateFormats-HudZ3Bjs.mjs.map +1 -0
  39. package/dist/DateUtil-CzBmbjmA.mjs +1 -0
  40. package/dist/DateUtil-CzBmbjmA.mjs.map +1 -0
  41. package/dist/DebtUtils-i4pI2Uoe.mjs +1 -0
  42. package/dist/DebtUtils-i4pI2Uoe.mjs.map +1 -0
  43. package/dist/Dialog-Bvd2n8hz.mjs +1 -0
  44. package/dist/Dialog-Bvd2n8hz.mjs.map +1 -0
  45. package/dist/Donut-SzzfZDHF.mjs +1 -0
  46. package/dist/Donut-SzzfZDHF.mjs.map +1 -0
  47. package/dist/Drawer-DsnW2o0v.mjs +1 -0
  48. package/dist/Drawer-DsnW2o0v.mjs.map +1 -0
  49. package/dist/EmbeddedCard-DH8vQ3qN.mjs +1 -0
  50. package/dist/EmbeddedCard-DH8vQ3qN.mjs.map +1 -0
  51. package/dist/EmptyState-CJUDc3kD.mjs +1 -0
  52. package/dist/EmptyState-CJUDc3kD.mjs.map +1 -0
  53. package/dist/Error-Dtw6yxkf.mjs +1 -0
  54. package/dist/Error-Dtw6yxkf.mjs.map +1 -0
  55. package/dist/ErrorBoundary-CsdOcnJ9.mjs +1 -0
  56. package/dist/ErrorBoundary-CsdOcnJ9.mjs.map +1 -0
  57. package/dist/ExportCsvAction-C9KWH3Az.mjs +1 -0
  58. package/dist/ExportCsvAction-C9KWH3Az.mjs.map +1 -0
  59. package/dist/GlobalAccountFilter-BhzR5Vb1.mjs +1 -0
  60. package/dist/GlobalAccountFilter-BhzR5Vb1.mjs.map +1 -0
  61. package/dist/GlobalCopyApi-wcnDUzMV.mjs +1 -0
  62. package/dist/GlobalCopyApi-wcnDUzMV.mjs.map +1 -0
  63. package/dist/GoalsUtil-C9EnLWvC.mjs +1 -0
  64. package/dist/GoalsUtil-C9EnLWvC.mjs.map +1 -0
  65. package/dist/HeaderCell-P8w6CmfO.mjs +1 -0
  66. package/dist/HeaderCell-P8w6CmfO.mjs.map +1 -0
  67. package/dist/Help-CkQTjORd.mjs +1 -0
  68. package/dist/Help-CkQTjORd.mjs.map +1 -0
  69. package/dist/Help-aERwhajy.mjs +1 -0
  70. package/dist/Help-aERwhajy.mjs.map +1 -0
  71. package/dist/IconBacking-DgT8DCeh.mjs +1 -0
  72. package/dist/IconBacking-DgT8DCeh.mjs.map +1 -0
  73. package/dist/InformationTooltip-4su8bn1e.mjs +1 -0
  74. package/dist/InformationTooltip-4su8bn1e.mjs.map +1 -0
  75. package/dist/InvestmentUtil-BItV7uEs.mjs +1 -0
  76. package/dist/InvestmentUtil-BItV7uEs.mjs.map +1 -0
  77. package/dist/LineChart-CUfiH86G.mjs +1 -0
  78. package/dist/LineChart-CUfiH86G.mjs.map +1 -0
  79. package/dist/ListItemAction-BqUCLj_w.mjs +1 -0
  80. package/dist/ListItemAction-BqUCLj_w.mjs.map +1 -0
  81. package/dist/ListItemRow-kH1rn8Xu.mjs +1 -0
  82. package/dist/ListItemRow-kH1rn8Xu.mjs.map +1 -0
  83. package/dist/ListItemWrapper-DRse79Iu.mjs +1 -0
  84. package/dist/ListItemWrapper-DRse79Iu.mjs.map +1 -0
  85. package/dist/Loader-CxeBwuPG.mjs +1 -0
  86. package/dist/Loader-CxeBwuPG.mjs.map +1 -0
  87. package/dist/Localization-DnoVyBNK.mjs +1 -0
  88. package/dist/Localization-DnoVyBNK.mjs.map +1 -0
  89. package/dist/{ManageIncome-Dcsnnz86.mjs → ManageIncome-gVlhkA1C.mjs} +3 -2
  90. package/dist/ManageIncome-gVlhkA1C.mjs.map +1 -0
  91. package/dist/MicroWidgetContainer-B2NnKBgW.mjs +1 -0
  92. package/dist/MicroWidgetContainer-B2NnKBgW.mjs.map +1 -0
  93. package/dist/MiniWidgetContainer-Bmv_WeUd.mjs +1 -0
  94. package/dist/MiniWidgetContainer-Bmv_WeUd.mjs.map +1 -0
  95. package/dist/NetWorthUtils-DfSH3z70.mjs +1 -0
  96. package/dist/NetWorthUtils-DfSH3z70.mjs.map +1 -0
  97. package/dist/Notification-DTNYSd8P.mjs +1 -0
  98. package/dist/Notification-DTNYSd8P.mjs.map +1 -0
  99. package/dist/NotificationSettings-CW7okUrk.mjs +1 -0
  100. package/dist/NotificationSettings-CW7okUrk.mjs.map +1 -0
  101. package/dist/NotificationUtils-BRGFTePr.mjs +1 -0
  102. package/dist/NotificationUtils-BRGFTePr.mjs.map +1 -0
  103. package/dist/NumberFormatting--XMeeBfr.mjs +1 -0
  104. package/dist/NumberFormatting--XMeeBfr.mjs.map +1 -0
  105. package/dist/OriginalBalanceAction-YrvxBYAl.mjs +1 -0
  106. package/dist/OriginalBalanceAction-YrvxBYAl.mjs.map +1 -0
  107. package/dist/{RecurringSettings-D8hBbXV_.mjs → RecurringSettings-BYVqHjhp.mjs} +2 -1
  108. package/dist/RecurringSettings-BYVqHjhp.mjs.map +1 -0
  109. package/dist/RecurringTransactionsUtil-CHWmqvW5.mjs +1 -0
  110. package/dist/RecurringTransactionsUtil-CHWmqvW5.mjs.map +1 -0
  111. package/dist/ResponsiveButton-CC9F_Ezk.mjs +1 -0
  112. package/dist/ResponsiveButton-CC9F_Ezk.mjs.map +1 -0
  113. package/dist/SearchBox-Cpgu_gdO.mjs +1 -0
  114. package/dist/SearchBox-Cpgu_gdO.mjs.map +1 -0
  115. package/dist/Select-CSpkK5cR.mjs +1 -0
  116. package/dist/Select-CSpkK5cR.mjs.map +1 -0
  117. package/dist/SelectionBox-B4xELRgp.mjs +1 -0
  118. package/dist/SelectionBox-B4xELRgp.mjs.map +1 -0
  119. package/dist/SingleSegmentDonut-7Uy6VEld.mjs +1 -0
  120. package/dist/SingleSegmentDonut-7Uy6VEld.mjs.map +1 -0
  121. package/dist/Sizes-DISGrlUg.mjs +1 -0
  122. package/dist/Sizes-DISGrlUg.mjs.map +1 -0
  123. package/dist/SkeletonLoader-BaNboJjD.mjs +1 -0
  124. package/dist/SkeletonLoader-BaNboJjD.mjs.map +1 -0
  125. package/dist/SpendingData-Fii_xATx.mjs +1 -0
  126. package/dist/SpendingData-Fii_xATx.mjs.map +1 -0
  127. package/dist/SpendingLegend-CxvNOg3c.mjs +1 -0
  128. package/dist/SpendingLegend-CxvNOg3c.mjs.map +1 -0
  129. package/dist/StatusBar-CPfSXe80.mjs +1 -0
  130. package/dist/StatusBar-CPfSXe80.mjs.map +1 -0
  131. package/dist/TabContentContainer-B0eYJP5p.mjs +1 -0
  132. package/dist/TabContentContainer-B0eYJP5p.mjs.map +1 -0
  133. package/dist/ToggleListItem-Dl1lXNwj.mjs +1 -0
  134. package/dist/ToggleListItem-Dl1lXNwj.mjs.map +1 -0
  135. package/dist/TransactionDetails-roZ5xLq8.mjs +1 -0
  136. package/dist/TransactionDetails-roZ5xLq8.mjs.map +1 -0
  137. package/dist/TransactionUtils-BphBJBbU.mjs +1 -0
  138. package/dist/TransactionUtils-BphBJBbU.mjs.map +1 -0
  139. package/dist/TrendsUtil-D9z3kIj_.mjs +1 -0
  140. package/dist/TrendsUtil-D9z3kIj_.mjs.map +1 -0
  141. package/dist/UserStore-C1fdL3Iu.mjs +1 -0
  142. package/dist/UserStore-C1fdL3Iu.mjs.map +1 -0
  143. package/dist/ViewMoreMicroCard-Dxghxphh.mjs +1 -0
  144. package/dist/ViewMoreMicroCard-Dxghxphh.mjs.map +1 -0
  145. package/dist/WidgetContainer-DJnp6t6c.mjs +1 -0
  146. package/dist/WidgetContainer-DJnp6t6c.mjs.map +1 -0
  147. package/dist/accounts/index.es.js +5 -4
  148. package/dist/accounts/index.es.js.map +1 -0
  149. package/dist/analytics/index.es.js +1 -0
  150. package/dist/analytics/index.es.js.map +1 -0
  151. package/dist/budgets/index.es.js +2 -1
  152. package/dist/budgets/index.es.js.map +1 -0
  153. package/dist/cashflow/index.es.js +4 -3
  154. package/dist/cashflow/index.es.js.map +1 -0
  155. package/dist/categories/index.es.js +1 -0
  156. package/dist/categories/index.es.js.map +1 -0
  157. package/dist/common/index.es.js +1 -0
  158. package/dist/common/index.es.js.map +1 -0
  159. package/dist/core/index.es.js +1 -0
  160. package/dist/core/index.es.js.map +1 -0
  161. package/dist/dashboard/index.es.js +1 -0
  162. package/dist/dashboard/index.es.js.map +1 -0
  163. package/dist/debts/index.es.js +2 -1
  164. package/dist/debts/index.es.js.map +1 -0
  165. package/dist/finstrong/index.es.js +4 -3
  166. package/dist/finstrong/index.es.js.map +1 -0
  167. package/dist/goals/index.es.js +1 -0
  168. package/dist/goals/index.es.js.map +1 -0
  169. package/dist/help/index.es.js +1 -0
  170. package/dist/help/index.es.js.map +1 -0
  171. package/dist/hooks-97sNJ_lf.mjs +1 -0
  172. package/dist/hooks-97sNJ_lf.mjs.map +1 -0
  173. package/dist/insights/index.es.js +1 -0
  174. package/dist/insights/index.es.js.map +1 -0
  175. package/dist/investments/index.es.js +1 -0
  176. package/dist/investments/index.es.js.map +1 -0
  177. package/dist/merchants/index.es.js +1 -0
  178. package/dist/merchants/index.es.js.map +1 -0
  179. package/dist/microinsights/index.es.js +1 -0
  180. package/dist/microinsights/index.es.js.map +1 -0
  181. package/dist/networth/index.es.js +1 -0
  182. package/dist/networth/index.es.js.map +1 -0
  183. package/dist/notifications/index.es.js +1 -0
  184. package/dist/notifications/index.es.js.map +1 -0
  185. package/dist/recurringtransactions/index.es.js +5 -4
  186. package/dist/recurringtransactions/index.es.js.map +1 -0
  187. package/dist/settings/index.es.js +1 -0
  188. package/dist/settings/index.es.js.map +1 -0
  189. package/dist/spending/index.es.js +1 -0
  190. package/dist/spending/index.es.js.map +1 -0
  191. package/dist/transactions/index.es.js +1 -0
  192. package/dist/transactions/index.es.js.map +1 -0
  193. package/dist/trends/index.es.js +1 -0
  194. package/dist/trends/index.es.js.map +1 -0
  195. package/dist/useAccountDisplayName-BsiXA0qf.mjs +1 -0
  196. package/dist/useAccountDisplayName-BsiXA0qf.mjs.map +1 -0
  197. package/dist/useAriaLive-MkYebyUR.mjs +1 -0
  198. package/dist/useAriaLive-MkYebyUR.mjs.map +1 -0
  199. package/dist/useDimensions-CeDR9V8N.mjs +1 -0
  200. package/dist/useDimensions-CeDR9V8N.mjs.map +1 -0
  201. package/dist/useInsightsEnabled-D5Sdm0TJ.mjs +1 -0
  202. package/dist/useInsightsEnabled-D5Sdm0TJ.mjs.map +1 -0
  203. package/dist/useScreenSize-mWpmnh5w.mjs +1 -0
  204. package/dist/useScreenSize-mWpmnh5w.mjs.map +1 -0
  205. package/dist/useWidgetLoadTimer-B0tB-yzL.mjs +1 -0
  206. package/dist/useWidgetLoadTimer-B0tB-yzL.mjs.map +1 -0
  207. package/package.json +1 -1
@@ -116,3 +116,4 @@ export {
116
116
  T as g,
117
117
  G as h
118
118
  };
119
+ //# sourceMappingURL=Account-DR7Plrqy.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Account-DR7Plrqy.mjs","sources":["../src/core/types/Account.ts"],"sourcesContent":["import { type Institution } from './Institution'\n\nexport interface Account {\n account_number?: string\n account_subtype?: AccountSubType\n account_type: AccountType\n apr?: number\n apy?: number\n available_balance?: number\n balance?: number\n balance_updated_at?: number\n cash_balance?: number\n credit_limit?: number\n current_balance?: number\n currency_code?: string\n day_payment_is_due?: number\n display_order?: number\n external_guid?: string\n feed_account_type?: number\n feed_apr?: number\n feed_apy?: number\n feed_credit_limit?: number\n feed_day_payment_is_due?: number\n feed_interest_rate?: number\n feed_is_closed?: boolean\n feed_localized_name?: string\n feed_name?: string\n feed_nickname?: string\n feed_original_balance?: number\n flags?: number\n guid: string\n institution_guid?: string\n interest_rate?: number\n interest_rate_set_by?: number\n interestRate?: number\n is_closed: boolean\n is_deleted: boolean\n is_excluded_from_accounts: boolean\n is_excluded_from_budgets: boolean\n is_excluded_from_cash_flow: boolean\n is_excluded_from_debts: boolean\n is_excluded_from_goals: boolean\n is_excluded_from_investments: boolean\n is_excluded_from_net_worth: boolean\n is_excluded_from_spending: boolean\n is_excluded_from_transactions: boolean\n is_excluded_from_trends: boolean\n is_hidden: boolean\n is_manual: boolean\n is_personal: boolean\n localized_name?: string\n member_guid?: string\n member_is_managed_by_user: boolean\n metadata?: string\n minimum_payment?: number\n name?: string\n nickname?: string\n original_balance?: number\n payment_due_at?: number\n pending_balance?: number\n property_type?: PropertyType\n revision?: number\n updated_at?: number\n user_guid?: string\n user_name?: string\n\n // TODO: STORE_REFACTOR Remove fields after switch to Detailed Accounts\n memberName?: string\n connectionStatus?: ConnectionStatus\n displayName?: string\n trucatedDisplayName?: string\n institutionName?: string\n}\n\nexport interface DetailedAccount extends Account {\n connectionStatus?: ConnectionStatus\n displayName?: string\n institutionName?: string // TODO: STORE_REFACTOR - Remove after all move to displayName\n member?: Member\n monthlyBalances?: MonthlyAccountBalance[]\n institution?: Institution\n}\n\nexport interface Member {\n aggregation_status: number\n connection_status: ConnectionStatusEnums\n guid: string\n institution_guid: string\n institution_name?: string\n institution_url?: string\n is_being_aggregated: boolean\n is_manual: boolean\n is_managed_by_user: boolean\n is_oauth: boolean\n last_job_guid?: string\n last_job_status?: string\n last_update_time?: number\n metadata?: string\n mfa: any\n most_recent_job_guid?: string\n needs_updated_credentials: boolean\n name: string\n process_status?: number\n revision: number\n user_guid: string\n oauth_window_uri?: string\n verification_is_enabled: boolean\n tax_statement_is_enabled: boolean\n successfully_aggregated_at?: number\n}\n\nexport interface MonthlyAccountBalance {\n account_guid: string\n balance: number\n credit_transaction_total: number\n debit_transaction_total: number\n id: string\n month: number\n transaction_total: number\n user_guid: string\n year: number\n year_month: number\n}\n\nexport enum AccountType {\n ANY = 0,\n CHECKING = 1,\n SAVINGS = 2,\n LOAN = 3,\n CREDIT_CARD = 4,\n INVESTMENT = 5,\n LINE_OF_CREDIT = 6,\n MORTGAGE = 7,\n PROPERTY = 8,\n CASH = 9,\n INSURANCE = 10,\n PREPAID = 11,\n CHECKING_LINE_OF_CREDIT = 12,\n DIGITAL_WALLET = 13,\n}\n\nexport enum AccountSubType {\n NONE = 0,\n MONEY_MARKET = 1,\n CERTIFICATE_OF_DEPOSIT = 2,\n AUTO = 3,\n STUDENT = 4,\n SMALL_BUSINESS = 5,\n PERSONAL = 6,\n PERSONAL_WITH_COLLATERAL = 7,\n HOME_EQUITY = 8,\n PLAN_401_K = 9,\n PLAN_403_B = 10,\n PLAN_529 = 11,\n IRA = 12,\n ROLLOVER_IRA = 13,\n ROTH_IRA = 14,\n TAXABLE = 15,\n NON_TAXABLE = 16,\n BROKERAGE = 17,\n TRUST = 18,\n UNIFORM_GIFTS_TO_MINORS_ACT = 19,\n PLAN_457 = 20,\n PENSION = 21,\n EMPLOYEE_STOCK_OWNERSHIP_PLAN = 22,\n SIMPLIFIED_EMPLOYEE_PENSION = 23,\n SIMPLE_IRA = 24,\n BOAT = 25,\n POWERSPORTS = 26,\n RV = 27,\n HELOC = 28,\n PLAN_ROTH_401_K = 29,\n FIXED_ANNUITY = 30,\n VARIABLE_ANNUITY = 31,\n VEHICLE_INSURANCE = 32,\n DISABILITY = 33,\n HEALTH = 34,\n LONG_TERM_CARE = 35,\n PROPERTY_AND_CASUALTY = 36,\n UNIVERSAL_LIFE = 37,\n TERM_LIFE = 38,\n WHOLE_LIFE = 39,\n ACCIDENTAL_DEATH_AND_DISMEMBERMENT = 40,\n VARIABLE_UNIVERSAL_LIFE = 41,\n HSA = 42,\n TAX_FREE_SAVINGS_ACCOUNT = 43,\n INDIVIDUAL = 44,\n REGISTERED_RETIREMENT_INCOME_FUND = 45,\n CASH_MANAGEMENT_ACCOUNT = 46,\n EMPLOYEE_STOCK_PURCHASE_PLAN = 47,\n REGISTERED_EDUCATION_SAVINGS_PLAN = 48,\n PROFIT_SHARING_PLAN = 49,\n UNIFORM_TRANSFER_TO_MINORS_ACT = 50,\n PLAN_401_A = 51,\n SARSEP_IRA = 52,\n FIXED_ANNUITY_TRADITIONAL_IRA = 53,\n VARIABLE_ANNUITY_TRADITIONAL_IRA = 54,\n SEPP_IRA = 55,\n INHERITED_TRADITIONAL_IRA = 56,\n FIXED_ANNUITY_ROTH_IRA = 57,\n VARIABLE_ANNUITY_ROTH_IRA = 58,\n INHERITED_ROTH_IRA = 59,\n COVERDELL = 60,\n ADVISORY_ACCOUNT = 61,\n BROKERAGE_MARGIN = 62,\n CHARITABLE_GIFT_ACCOUNT = 63,\n CHURCH_ACCOUNT = 64,\n CONSERVATORSHIP = 65,\n CUSTODIAL = 66,\n DEFINED_BENEFIT_PLAN = 67,\n DEFINED_CONTRIBUTION_PLAN = 68,\n EDUCATIONAL = 69,\n ESTATE = 70,\n EXECUTOR = 71,\n GROUP_RETIREMENT_SAVINGS_PLAN = 72,\n GUARANTEED_INVESTMENT_CERTIFICATE = 73,\n HRA = 74,\n INDEXED_ANNUITY = 75,\n INVESTMENT_CLUB = 76,\n IRREVOCABLE_TRUST = 77,\n JOINT_TENANTS_BY_ENTIRITY = 78,\n JOINT_TENANTS_COMMUNITY_PROPERTY = 79,\n JOINT_TENANTS_IN_COMMON = 80,\n JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP = 81,\n KEOUGH_PLAN = 82,\n LIFE_INCOME_FUND = 83,\n LIVING_TRUST = 84,\n LOCKED_IN_RETIREMENT_ACCOUNT = 85,\n LOCKED_IN_RETIREMENT_INVESTMENT_FUND = 86,\n LOCKED_IN_RETIREMENT_SAVINGS_ACCOUNT = 87,\n MONEY_PURCHASE_PLAN = 88,\n PARTNERSHIP = 89,\n PLAN_409_A = 90,\n PLAN_ROTH_403_B = 91,\n REGISTERED_DISABILITY_SAVINGS_PLAN = 92,\n REGISTERED_LOCKED_IN_SAVINGS_PLAN = 93,\n REGISTERED_PENSION_PLAN = 94,\n REGISTERED_RETIREMENT_SAVINGS_PLAN = 95,\n REVOCABLE_TRUST = 96,\n ROTH_CONVERSION = 97,\n SOLE_PROPRIETORSHIP = 98,\n SPOUSAL_IRA = 99,\n SPOUSAL_ROTH_IRA = 100,\n TESTAMENTARY_TRUST = 101,\n THRIFT_SAVINGS_PLAN = 102,\n INHERITED_ANNUITY = 103,\n CORPORATE_ACCOUNT = 104,\n LIMITED_LIABILITY_ACCOUNT = 105,\n HSA_SAVINGS = 106,\n HSA_CHECKING = 107,\n}\n\nexport enum PropertyType {\n REAL_ESTATE = 0,\n VEHICLE = 1,\n ART = 2,\n JEWELRY = 3,\n FURNITURE = 4,\n APPLIANCES = 5,\n COMPUTER = 6,\n ELECTRONICS = 7,\n SPORTS_EQUIPMENT = 8,\n MISCELLANEOUS = 9,\n}\n\nexport enum ConnectionStatusEnums {\n CREATED = 0, // The member is new and has not aggregated yet\n PREVENTED = 1, // MX preventing aggregation until credentials are updated\n DENIED = 2, // Invalid credentials\n CHALLENGED = 3, // MFA presented\n REJECTED = 4, // MFA answered incorrectly\n LOCKED = 5, // Institution is preventing authentication, user must contact FI\n CONNECTED = 6, // Successfully authenticated and aggregating data\n IMPEDED = 7, // User attention is needed in online banking (marketing message, terms and conditions etc.)\n RECONNECTED = 8, // The connection has been migrated, we will not aggregate until user interacts with UI\n DEGRADED = 9, // Aggregation has failed for a short period with a minimum number of attempts\n DISCONNECTED = 10, // Aggregation has failed for an extended period of time with a minimum number of attempts\n DISCONTINUED = 11, // The connection to this institution is no longer available\n CLOSED = 12, // The user, MX, the client or partner have marked the account as closed\n DELAYED = 13, // Aggregation has taken longer than expected without being CONNECTED\n FAILED = 14, // Aggregation failed without being CONNECTED\n UPDATED = 15, // Credenitals have been updated, but the member has not yet been CONNECTED\n DISABLED = 16, // Aggregation has been momentarily paused, but the member is still CONNECTED\n IMPORTED = 17, // Member was imported from another provider using the MDX Migration API\n RESUMED = 18, // MFA has been answered and has not yet been CONNECTED\n EXPIRED = 19, // MFA has not been answered before job timed out\n IMPAIRED = 20, // Memeber is missing some or all credentials needed to connect\n PENDING = 21, // OAuth member created but waiting for authentication redirect // Not visible to user\n}\n\nexport const ProcessingStatuses = [\n ConnectionStatusEnums.CREATED,\n ConnectionStatusEnums.UPDATED,\n ConnectionStatusEnums.RESUMED,\n]\n\nexport const MfaStatuses = [ConnectionStatusEnums.CHALLENGED, ConnectionStatusEnums.REJECTED]\n\nexport const ErrorStatuses = [\n ConnectionStatusEnums.PREVENTED,\n ConnectionStatusEnums.DENIED,\n ConnectionStatusEnums.LOCKED,\n ConnectionStatusEnums.IMPEDED,\n ConnectionStatusEnums.DEGRADED,\n ConnectionStatusEnums.DISCONNECTED,\n ConnectionStatusEnums.DISCONTINUED,\n ConnectionStatusEnums.CLOSED,\n ConnectionStatusEnums.DELAYED,\n ConnectionStatusEnums.FAILED,\n ConnectionStatusEnums.DISABLED,\n ConnectionStatusEnums.IMPORTED,\n ConnectionStatusEnums.EXPIRED,\n ConnectionStatusEnums.IMPAIRED,\n]\n\nexport const NonConnectedStatuses = [...ErrorStatuses, ...MfaStatuses]\n\nexport enum ConnectionStatus {\n Connected = 'Connected',\n Error = 'Error',\n Processing = 'Processing',\n RequiresMfa = 'RequiresMfa',\n}\n\nexport const StatusName: any = {\n [ConnectionStatusEnums.CHALLENGED]: 'Challenged',\n [ConnectionStatusEnums.CLOSED]: 'Closed',\n [ConnectionStatusEnums.DEGRADED]: 'Degraded',\n [ConnectionStatusEnums.DELAYED]: 'Delayed',\n [ConnectionStatusEnums.DENIED]: 'Denied',\n [ConnectionStatusEnums.DISABLED]: 'Disabled',\n [ConnectionStatusEnums.DISCONNECTED]: 'Disconnected',\n [ConnectionStatusEnums.DISCONTINUED]: 'Discontinued',\n [ConnectionStatusEnums.EXPIRED]: 'Expired',\n [ConnectionStatusEnums.FAILED]: 'Failed',\n [ConnectionStatusEnums.IMPAIRED]: 'Impaired',\n [ConnectionStatusEnums.IMPEDED]: 'Impeded',\n [ConnectionStatusEnums.IMPORTED]: 'Imported',\n [ConnectionStatusEnums.LOCKED]: 'Locked',\n [ConnectionStatusEnums.PREVENTED]: 'Prevented',\n [ConnectionStatusEnums.REJECTED]: 'Rejected',\n}\n\nexport const AccountTypeName: any = {\n [AccountType.ANY]: 'Any',\n [AccountType.CASH]: 'Cash',\n [AccountType.CHECKING]: 'Checking',\n [AccountType.CHECKING_LINE_OF_CREDIT]: 'Checking Line of Credit',\n [AccountType.CREDIT_CARD]: 'Credit Card',\n [AccountType.DIGITAL_WALLET]: 'Digital Wallet',\n [AccountType.INSURANCE]: 'Insurance',\n [AccountType.INVESTMENT]: 'Investment',\n [AccountType.LINE_OF_CREDIT]: 'Line of Credit',\n [AccountType.LOAN]: 'Loan',\n [AccountType.MORTGAGE]: 'Mortgage',\n [AccountType.PREPAID]: 'Prepaid',\n [AccountType.PROPERTY]: 'Property',\n [AccountType.SAVINGS]: 'Savings',\n}\n\nexport const AccountIcon: any = {\n [AccountType.ANY]: 'account_balance',\n [AccountType.CASH]: 'monetization_on',\n [AccountType.CHECKING]: 'checkbook',\n [AccountType.CHECKING_LINE_OF_CREDIT]: 'checkbook', // Checking line of credit has the same icon as checking\n [AccountType.CREDIT_CARD]: 'credit_card',\n [AccountType.DIGITAL_WALLET]: 'wallet',\n [AccountType.INSURANCE]: 'monitor_heart',\n [AccountType.INVESTMENT]: 'trending_up',\n [AccountType.LINE_OF_CREDIT]: 'add_credit',\n [AccountType.LOAN]: 'loans',\n [AccountType.MORTGAGE]: 'house',\n [AccountType.PREPAID]: 'credit_card',\n [AccountType.PROPERTY]: 'key',\n [AccountType.SAVINGS]: 'savings',\n}\n\nexport const AccountIconVariants: any = {\n [AccountType.INVESTMENT]: 'bid_landscape',\n}\n\nexport const PropertyTypeName: any = {\n [PropertyType.REAL_ESTATE]: 'Real Estate',\n [PropertyType.VEHICLE]: 'Vehicle',\n [PropertyType.ART]: 'Art',\n [PropertyType.JEWELRY]: 'Jewelry',\n [PropertyType.FURNITURE]: 'Furniture',\n [PropertyType.APPLIANCES]: 'Appliances',\n [PropertyType.COMPUTER]: 'Computer',\n [PropertyType.ELECTRONICS]: 'Electronics',\n [PropertyType.SPORTS_EQUIPMENT]: 'Sports Equipment',\n [PropertyType.MISCELLANEOUS]: 'Miscellaneous',\n}\n\nexport const PropertyIcon: any = {\n [PropertyType.REAL_ESTATE]: 'home_work',\n [PropertyType.VEHICLE]: 'directions_car',\n [PropertyType.ART]: 'insert_photo',\n [PropertyType.JEWELRY]: 'diamond',\n [PropertyType.FURNITURE]: 'chair',\n [PropertyType.APPLIANCES]: 'kitchen',\n [PropertyType.COMPUTER]: 'computer',\n [PropertyType.ELECTRONICS]: 'camera_alt',\n [PropertyType.SPORTS_EQUIPMENT]: 'sports_baseball',\n [PropertyType.MISCELLANEOUS]: 'monetization_on',\n}\n"],"names":["AccountType","AccountSubType","PropertyType","ConnectionStatusEnums","ProcessingStatuses","MfaStatuses","ErrorStatuses","NonConnectedStatuses","ConnectionStatus","StatusName","AccountTypeName","AccountIcon","AccountIconVariants","PropertyTypeName","PropertyIcon"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as e, jsxs as u, Fragment as T } from "react/jsx-runtime";
2
2
  import { observer as x } from "mobx-react-lite";
3
3
  import { useTheme as $, alpha as rt } from "@mui/material/styles";
4
- import { u as S, a as lt, b as dt, A as ut } from "./AccountDetailsHeader-BvbCUQSS.mjs";
4
+ import { u as S, a as lt, b as dt, A as ut } from "./AccountDetailsHeader-ByGNPZpO.mjs";
5
5
  import { L as _t } from "./LineChart-CUfiH86G.mjs";
6
6
  import { g as mt, a as pt, b as ht } from "./SpendingData-Fii_xATx.mjs";
7
7
  import { l as gt, u as D, c as V, i as Ct, f as P, g as Q } from "./hooks-97sNJ_lf.mjs";
@@ -919,3 +919,4 @@ export {
919
919
  fe as b,
920
920
  Qt as u
921
921
  };
922
+ //# sourceMappingURL=AccountDetailsDrawer-BJcyxgWe.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountDetailsDrawer-BJcyxgWe.mjs","sources":["../src/trends/components/TrendsChart.tsx","../src/accounts/components/detailsdrawer/Accounts/AccountActionsRow.tsx","../src/accounts/hooks/useGetMergeableAccounts.tsx","../src/accounts/components/ConnectionStatusIcons.tsx","../src/accounts/components/AccountListItem.tsx","../src/accounts/components/detailsdrawer/Accounts/AccountActions.tsx","../src/accounts/utils/getConnectionMessages.tsx","../src/accounts/components/detailsdrawer/Accounts/AccountConnection.tsx","../src/accounts/components/detailsdrawer/Accounts/AccountDetailEdit.tsx","../src/accounts/components/detailsdrawer/Accounts/AccountDetails.tsx","../src/accounts/components/detailsdrawer/Accounts/AccountDetailsTab.tsx","../src/accounts/components/detailsdrawer/Accounts/ConnectionErrorMessage.tsx","../src/accounts/components/detailsdrawer/Transactions/TransactionsTab.tsx","../src/accounts/components/detailsdrawer/Accounts/AccountDetailsContent.tsx","../src/accounts/components/detailsdrawer/Accounts/AccountDetailsDrawer.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite'\nimport { useTheme } from '@mui/material/styles'\n\nimport {\n useCategoryStore,\n useGlobalCopyStore,\n INCOME_ACCOUNT_TYPES,\n PAYMENT_ACCOUNT_TYPES,\n SPENDING_ACCOUNT_TYPES,\n} from '../../common'\nimport { AccountType, MonthlyCategoryTotals, TrendsCopy } from '../../core'\n\nimport { useAccountUiStore } from '../../accounts/hooks/useUiStore'\nimport { LineChart } from '../../common/components/charts/LineChart'\nimport type { LineChartDataset, LineChartLabel } from '../../common/components/charts/LineChart'\n\nimport { getIncomeTotals, getPaymentTotals, getSpendingTotals } from '../utils/SpendingData'\n\nconst getDatasets = (\n totals: MonthlyCategoryTotals[],\n accountType: AccountType,\n): LineChartDataset[] => {\n const incomeData = INCOME_ACCOUNT_TYPES.includes(accountType) ? getIncomeTotals(totals) : []\n const paymentData = PAYMENT_ACCOUNT_TYPES.includes(accountType) ? getPaymentTotals(totals) : []\n const spendingData = SPENDING_ACCOUNT_TYPES.includes(accountType) ? getSpendingTotals(totals) : []\n\n // There should always be 1-2 datasets returned. No account type will have all three categories.\n return [incomeData, paymentData, spendingData].filter((data) => data.length > 0)\n}\n\nconst getLabels = (datasets: LineChartDataset[], accountType: AccountType, copy: TrendsCopy) => {\n const [dataA, dataB] = datasets\n const credits = dataA\n const debits = dataB ?? dataA\n const labels: LineChartLabel[] = []\n\n if (credits && debits && INCOME_ACCOUNT_TYPES.includes(accountType)) {\n const lastIncome = credits[credits.length - 1].y\n labels.push({ label: copy.income_label, amount: lastIncome })\n } else if (PAYMENT_ACCOUNT_TYPES.includes(accountType)) {\n const lastPayment = credits[credits.length - 1].y\n labels.push({ label: copy.payments_label, amount: lastPayment })\n }\n\n if (debits && SPENDING_ACCOUNT_TYPES.includes(accountType)) {\n const lastSpending = debits[debits.length - 1].y\n labels.push({ label: copy.spending_label, amount: lastSpending })\n }\n\n return labels\n}\n\nconst TrendsChart = () => {\n const theme = useTheme()\n const { selectedAccount } = useAccountUiStore()\n const { monthlyCategoryTotals } = useCategoryStore()\n const { trends: trendsCopy } = useGlobalCopyStore()\n\n const colors = [theme.palette.chart?.chart1, theme.palette.chart?.chart2]\n const datasets = getDatasets(monthlyCategoryTotals, selectedAccount.account_type)\n const labels = getLabels(datasets, selectedAccount.account_type, trendsCopy)\n const isLoan = [AccountType.LOAN, AccountType.MORTGAGE].includes(selectedAccount.account_type)\n\n return (\n <div data-testid=\"TrendsChart\">\n <LineChart\n colors={colors}\n datasets={datasets}\n height={185}\n labels={labels}\n showAverage={isLoan}\n showAxisHighlight={true}\n showBars={isLoan}\n showLegend={true}\n showTooltip={true}\n showXAxis={true}\n showXAxisTicks={true}\n showYAxis={true}\n showYAxisTicks={true}\n valueFormatterString=\"0,0\"\n />\n </div>\n )\n}\n\nexport default observer(TrendsChart)\n","import ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\n\ninterface AccountActionsRowProps {\n ariaPressed?: boolean\n onClick: () => void\n isLast?: boolean\n primaryText: string\n secondaryText: string\n}\n\nconst AccountActionsRow: React.FC<React.PropsWithChildren<AccountActionsRowProps>> = ({\n ariaPressed,\n children,\n isLast = false,\n onClick,\n primaryText,\n secondaryText,\n}) => {\n return (\n <ListItem\n sx={{\n backgroundColor: 'background.paper',\n position: 'relative',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n bottom: 0,\n right: 0,\n left: isLast ? 0 : 24,\n borderBottom: '1px solid',\n borderColor: 'divider',\n },\n }}\n >\n <ListItemButton aria-pressed={ariaPressed} onClick={onClick}>\n <ListItemText primary={primaryText} secondary={secondaryText} />\n {children}\n </ListItemButton>\n </ListItem>\n )\n}\n\nexport default AccountActionsRow\n","import { useAccountStore } from '../../common'\nimport { useAccountUiStore } from './useUiStore'\n\nexport const useGetMergeableAccounts = () => {\n const { accounts } = useAccountStore()\n const { selectedAccount, selectedMember } = useAccountUiStore()\n return accounts.filter(\n (account) =>\n account.member_guid === selectedMember.guid &&\n selectedMember.successfully_aggregated_at &&\n account.guid !== selectedAccount.guid,\n )\n}\n","import { CheckCircle as CheckCircleIcon, Error as ErrorIcon } from '@mxenabled/mx-icons'\n\nimport { IconBacking } from '../../common'\n\ntype IconProp = {\n size?: number\n}\n\nconst iconStyle = {\n gridRow: 1,\n gridColumn: 1,\n zIndex: 2,\n}\n\nexport const ConnectedStatus = ({ size = 20 }: IconProp) => (\n <IconBacking size={size}>\n <CheckCircleIcon color=\"success\" filled={true} sx={{ fontSize: size, ...iconStyle }} />\n </IconBacking>\n)\n\nexport const ErrorStatus = ({ size = 20 }: IconProp) => (\n <IconBacking size={size}>\n <ErrorIcon color=\"error\" filled={true} sx={{ fontSize: size, ...iconStyle }} />\n </IconBacking>\n)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Badge from '@mui/material/Badge'\nimport Box from '@mui/material/Box'\nimport ListItem, { ListItemOwnProps } from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\nimport { useTheme } from '@mui/material/styles'\n\nimport { InstitutionLogo, Text } from '@mxenabled/mxui'\n\nimport { ErrorStatus } from './ConnectionStatusIcons'\n\nimport { useAccountDisplayName, useAppConfig, useGlobalCopyStore } from '../../common'\nimport { Account, ConnectionStatus } from '../../core'\nimport { getAccountBalanceDetails } from '../utils/AccountFields'\nimport { formatCurrency } from '../../core/utils/NumberFormatting'\n\ninterface AccountListItemProps {\n account: Account\n onRowClick?: () => void\n listItemProps?: ListItemOwnProps\n shouldShowConnectionStatus?: boolean\n}\n\nconst AccountListItem: React.FC<AccountListItemProps> = ({\n account,\n onRowClick,\n listItemProps,\n shouldShowConnectionStatus = false,\n}) => {\n const theme = useTheme()\n const displayName = useAccountDisplayName(account)\n const { config } = useAppConfig()\n const { accounts: accountsCopy } = useGlobalCopyStore()\n const { firstSubtitle, firstValue, secondSubtitle, secondValue } = getAccountBalanceDetails(\n account,\n accountsCopy,\n config.display_available_balance_in_accounts,\n )\n\n let statusIcon = undefined\n if (\n account.connectionStatus === ConnectionStatus.Error ||\n account.connectionStatus === ConnectionStatus.RequiresMfa\n ) {\n statusIcon = <ErrorStatus size={16} />\n }\n\n const content = (\n <>\n <ListItemAvatar>\n <Badge\n badgeContent={shouldShowConnectionStatus ? statusIcon : undefined}\n sx={{\n '& .MuiBadge-badge': {\n right: -1,\n },\n }}\n >\n <InstitutionLogo alt=\"MX\" institutionGuid={account.institution_guid || ''} />\n </Badge>\n </ListItemAvatar>\n\n <ListItemText\n disableTypography={true}\n primary={\n <Text\n bold={true}\n color={account.is_hidden ? theme.palette.text.secondary : undefined}\n variant=\"body1\"\n >\n {`${displayName} ${account.account_number ? `*${account.account_number}` : ''}`}{' '}\n {account.is_hidden && !account.is_closed && accountsCopy.is_hidden}\n {account.is_closed && accountsCopy.is_closed}\n </Text>\n }\n secondary={\n <>\n <Box sx={{ alignItems: 'center', display: 'flex', justifyContent: 'space-between' }}>\n <Text variant=\"caption\">{firstSubtitle}</Text>\n <Text bold={true} variant=\"body2\">\n {formatCurrency(firstValue, '0,0.00')}\n </Text>\n </Box>\n <Box sx={{ alignItems: 'center', display: 'flex', justifyContent: 'space-between' }}>\n <Text variant=\"caption\">{secondSubtitle}</Text>\n <Text ml=\"auto\" variant=\"caption\">\n {secondValue}\n </Text>\n </Box>\n </>\n }\n />\n </>\n )\n\n return (\n <ListItem\n {...listItemProps}\n sx={{\n backgroundColor: 'background.paper',\n color: account.is_closed ? 'grey.700' : '',\n ...listItemProps?.sx,\n }}\n >\n {onRowClick ? (\n <ListItemButton alignItems=\"flex-start\" onClick={onRowClick} sx={{ px: 24 }}>\n {content}\n </ListItemButton>\n ) : (\n content\n )}\n </ListItem>\n )\n}\n\nexport default observer(AccountListItem)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport List from '@mui/material/List'\nimport ListSubheader from '@mui/material/ListSubheader'\nimport Switch from '@mui/material/Switch'\n\nimport { Icon, Text } from '@mxenabled/mxui'\n\nimport AccountActionsRow from './AccountActionsRow'\n\nimport {\n ANALYTICS_EVENTS,\n Dialog,\n Drawer,\n useAccountStore,\n useEvent,\n useGlobalCopyStore,\n useTransactionStore,\n} from '../../../../common'\nimport { type Account } from '../../../../core'\nimport { useAccountUiStore } from '../../../hooks/useUiStore'\nimport { useGetMergeableAccounts } from '../../../hooks/useGetMergeableAccounts'\nimport AccountListItem from '../../AccountListItem'\nimport { buildDynamicCopy } from '../../../../core/utils/Localization'\n\ntype UpdatedValue = Pick<Account, 'is_closed'> | Pick<Account, 'is_hidden'>\n\nconst AccountActions = () => {\n const [shouldShowCloseAccountModal, setShouldShowCloseAccountModal] = React.useState(false)\n const [shouldShowAccountMergeDrawer, setShouldShowAccountMergeDrawer] = React.useState(false)\n const [shouldShowMergeConfirmModal, setShouldShowMergeConfirmModal] = React.useState(false)\n const [accountToMerge, setAccountToMerge] = React.useState({} as Account)\n\n const { selectedAccount: account } = useAccountUiStore()\n const { mergeAccounts, updateAccount } = useAccountStore()\n const { accounts: accountsCopy } = useGlobalCopyStore()\n const mergeableAccounts = useGetMergeableAccounts()\n const { onEvent } = useEvent()\n const { modifyTransactionByAccountGuid } = useTransactionStore()\n\n const handleUpdateAccount = async (updatedValue: UpdatedValue) => {\n await updateAccount({\n ...account,\n ...updatedValue,\n })\n if ('is_closed' in updatedValue && updatedValue.is_closed !== account.is_closed)\n modifyTransactionByAccountGuid(account.guid, { accountIsClosed: updatedValue.is_closed })\n }\n\n const handleMergeAccounts = () => {\n mergeAccounts([account.guid, accountToMerge.guid]).finally(() =>\n setShouldShowAccountMergeDrawer(false),\n )\n }\n\n return (\n <>\n <ListSubheader sx={{ backgroundColor: 'transparent', mb: 4, mt: 12, mx: 8 }}>\n <Text bold={true} component=\"h2\" variant=\"caption\">\n {accountsCopy.actions}\n </Text>\n </ListSubheader>\n\n <AccountActionsRow\n ariaPressed={account.is_hidden}\n onClick={() => {\n handleUpdateAccount({ is_hidden: !account.is_hidden })\n onEvent(ANALYTICS_EVENTS.ACCOUNT_DETAILS_CLICK_HIDE, { account_guid: account.guid })\n }}\n primaryText={account.is_hidden ? accountsCopy.unhide_account : accountsCopy.hide_Account}\n secondaryText={\n account.is_hidden ? accountsCopy.include_this_account : accountsCopy.exclude_this_account\n }\n >\n <Switch aria-hidden={true} checked={account.is_hidden} tabIndex={-1} />\n </AccountActionsRow>\n\n <AccountActionsRow\n onClick={() => {\n setShouldShowCloseAccountModal(true)\n onEvent(ANALYTICS_EVENTS.ACCOUNT_DETAILS_CLICK_MARK_CLOSED, {\n account_guid: account.guid,\n })\n }}\n primaryText={account.is_closed ? accountsCopy.mark_as_open : accountsCopy.mark_as_closed}\n secondaryText={\n account.is_closed\n ? accountsCopy.this_will_set_the_closed_account\n : accountsCopy.this_will_set_the_account_balance_to_0\n }\n >\n <Icon name=\"chevron_right\" />\n <div onClick={(e) => e.stopPropagation()}>\n <Dialog\n copy={{\n close_aria: accountsCopy.close_modal,\n title: account.is_closed\n ? accountsCopy.confirm_mark_as_open\n : accountsCopy.confirm_mark_closed,\n }}\n isOpen={shouldShowCloseAccountModal}\n onClose={() => {\n setShouldShowCloseAccountModal(false)\n }}\n onPrimaryAction={() => handleUpdateAccount({ is_closed: !account.is_closed })}\n >\n <Text truncate={false}>\n {\n buildDynamicCopy(\n account.is_closed\n ? accountsCopy.this_will_resume_updating_the_balance\n : accountsCopy.this_will_set_the_balance_of_your_account,\n account.name,\n ) as string\n }\n </Text>\n </Dialog>\n </div>\n </AccountActionsRow>\n\n {mergeableAccounts.length > 0 && (\n <AccountActionsRow\n isLast={true}\n onClick={() => {\n setShouldShowAccountMergeDrawer(true)\n onEvent(ANALYTICS_EVENTS.ACCOUNT_DETAILS_CLICK_MARK_DUPLICATE, {\n account_guid: account.guid,\n })\n }}\n primaryText={accountsCopy.mark_as_duplicate}\n secondaryText={accountsCopy.if_a_connected_account_is_showing_up_twice}\n >\n <Icon name=\"chevron_right\" />\n </AccountActionsRow>\n )}\n\n <Drawer\n ariaLabelClose={accountsCopy.close_drawer}\n isOpen={shouldShowAccountMergeDrawer}\n onClose={() => setShouldShowAccountMergeDrawer(false)}\n title={accountsCopy.mark_as_duplicate}\n >\n <List>\n {mergeableAccounts.map((account: Account) => {\n const isLast = mergeableAccounts.indexOf(account) === mergeableAccounts.length - 1\n return (\n <AccountListItem\n account={account}\n key={account.guid}\n listItemProps={{\n sx: {\n position: 'relative',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n bottom: 0,\n right: 0,\n left: isLast ? 0 : 24,\n borderBottom: '1px solid',\n borderColor: 'divider',\n },\n },\n }}\n onRowClick={() => {\n setShouldShowMergeConfirmModal(true)\n setAccountToMerge(account)\n }}\n />\n )\n })}\n </List>\n {shouldShowMergeConfirmModal && (\n <Dialog\n copy={{\n close_aria: accountsCopy.close_modal,\n title: accountsCopy.confirm_merge,\n }}\n isOpen={shouldShowMergeConfirmModal}\n onClose={() => setShouldShowMergeConfirmModal(false)}\n onPrimaryAction={handleMergeAccounts}\n >\n <Text truncate={false}>\n {\n buildDynamicCopy(\n accountsCopy.this_means_accounts_will_be_merged,\n account.name,\n accountToMerge.name,\n ) as string\n }\n </Text>\n <Text color=\"error\" sx={{ mt: 24 }}>\n {accountsCopy.this_action_cannot_be_undone}\n </Text>\n </Dialog>\n )}\n </Drawer>\n </>\n )\n}\n\nexport default observer(AccountActions)\n","import { fromUnixTime } from 'date-fns/fromUnixTime'\nimport { isToday } from 'date-fns/isToday'\nimport { isYesterday } from 'date-fns/isYesterday'\n\nimport { ConnectCopy, ConnectionStatusEnums, type Member } from '../../core'\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\nexport interface ConnectionMessageObject {\n cta?: string\n main: string\n statusName: string\n title: string\n}\n\nexport const getConnectionMessages: any = (member: Member, copy: ConnectCopy) => {\n const { connection_messages } = copy\n\n switch (member.connection_status) {\n case ConnectionStatusEnums.CHALLENGED: {\n return {\n cta: connection_messages.challenged_cta,\n main: buildDynamicCopy(\n connection_messages.challenged_connection_description,\n member.name,\n ) as string,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.challenged_connection_title,\n }\n }\n case ConnectionStatusEnums.CLOSED: {\n return {\n main: connection_messages.closed_connection_description,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.closed_connection_title,\n }\n }\n case ConnectionStatusEnums.DEGRADED: {\n return {\n main: connection_messages.degraded_connection_description,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.degraded_connection_title,\n }\n }\n case ConnectionStatusEnums.DELAYED: {\n return {\n main: buildDynamicCopy(\n connection_messages.delayed_connection_description,\n member.name,\n ) as string,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.delayed_connection_title,\n }\n }\n case ConnectionStatusEnums.DENIED: {\n return {\n cta: connection_messages.denied_cta,\n main: buildDynamicCopy(\n connection_messages.denied_connection_description,\n member.name,\n ) as string,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.denied_connection_title,\n }\n }\n case ConnectionStatusEnums.DISABLED: {\n return {\n main: connection_messages.disabled_connection_description,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.disabled_connection_title,\n }\n }\n case ConnectionStatusEnums.DISCONNECTED: {\n return {\n main: buildDynamicCopy(\n connection_messages.disconnected_connection_description,\n member.name,\n ) as string,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.disconnected_connection_title,\n }\n }\n case ConnectionStatusEnums.DISCONTINUED: {\n return {\n main: connection_messages.discontinued_connection_description,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.discontinued_connection_title,\n }\n }\n case ConnectionStatusEnums.EXPIRED: {\n return {\n cta: connection_messages.expired_cta,\n main: connection_messages.expired_connection_description,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.expired_connection_title,\n }\n }\n case ConnectionStatusEnums.FAILED: {\n return {\n main: buildDynamicCopy(\n connection_messages.failed_connection_description,\n member.name,\n ) as string,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.failed_connection_title,\n }\n }\n case ConnectionStatusEnums.IMPAIRED: {\n return {\n cta: connection_messages.impaired_cta,\n main: buildDynamicCopy(\n connection_messages.impaired_connection_description,\n member.name,\n ) as string,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.impaired_connection_title,\n }\n }\n case ConnectionStatusEnums.IMPEDED: {\n return {\n main: buildDynamicCopy(\n connection_messages.impeded_connection_description,\n member.name,\n member.name,\n ) as string,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.impeded_connection_title,\n }\n }\n case ConnectionStatusEnums.IMPORTED: {\n return {\n cta: connection_messages.imported_cta,\n main: buildDynamicCopy(\n connection_messages.imported_connection_description,\n member.name,\n ) as string,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.imported_connection_title,\n }\n }\n case ConnectionStatusEnums.LOCKED: {\n return {\n cta: connection_messages.locked_cta,\n main: buildDynamicCopy(\n connection_messages.locked_connection_description,\n member.name,\n ) as string,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.locked_connection_title,\n }\n }\n case ConnectionStatusEnums.PREVENTED: {\n return {\n cta: connection_messages.prevented_cta,\n main: connection_messages.prevented_connection_description,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.prevented_connection_title,\n }\n }\n case ConnectionStatusEnums.REJECTED: {\n return {\n cta: connection_messages.rejected_cta,\n main: connection_messages.rejected_connection_description,\n statusName: copy.connection_statuses[member.connection_status],\n title: connection_messages.rejected_connection_title,\n }\n }\n default: {\n const lastUpdatedCopy = () => {\n const lastUpdated = member.successfully_aggregated_at\n ? fromUnixTime(member.successfully_aggregated_at)\n : undefined\n const lastUpdatedFormattedTime =\n lastUpdated && formatDate(lastUpdated, DATE_FORMATS_INTL.TIME_STAMP_HOUR_MINUTE)\n\n if (!lastUpdatedFormattedTime) return undefined\n if (isToday(lastUpdated))\n return buildDynamicCopy(copy.last_updated_at, copy.today, lastUpdatedFormattedTime)\n if (isYesterday(lastUpdated))\n return buildDynamicCopy(copy.last_updated_at, copy.yesterday, lastUpdatedFormattedTime)\n return buildDynamicCopy(\n copy.last_updated_at,\n formatDate(lastUpdated, DATE_FORMATS_INTL.MONTH_DAY_YEAR),\n lastUpdatedFormattedTime,\n )\n }\n return {\n statusName: copy.connection_statuses[6], // Connected\n title: lastUpdatedCopy(),\n }\n }\n }\n}\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\nimport ListSubheader from '@mui/material/ListSubheader'\nimport Stack from '@mui/material/Stack'\nimport { useTheme } from '@mui/material/styles'\n\nimport { Icon, Text } from '@mxenabled/mxui'\nimport {\n CheckCircle as CheckCircleRoundedIcon,\n Error as ErrorIcon,\n Language as LanguageRoundedIcon,\n} from '@mxenabled/mx-icons'\n\nimport ConnectDrawer from '../../../../common/components/ConnectDrawer'\nimport { IconBacking, useGlobalCopyStore } from '../../../../common'\nimport { NonConnectedStatuses } from '../../../../core'\nimport { getConnectionMessages } from '../../../utils/getConnectionMessages'\nimport { useAccountUiStore } from '../../../hooks/useUiStore'\n\nconst iconStyle = {\n color: 'background.default',\n fontSize: 20,\n gridRow: 1,\n gridColumn: 1,\n zIndex: 2,\n}\n\nconst AccountConnection = () => {\n const [shouldShowConnectDrawer, setShouldShowConnectDrawer] = React.useState(false)\n const {\n palette: { mode },\n } = useTheme()\n const { selectedMember: member } = useAccountUiStore()\n const { accounts: accountsCopy, connect: connectCopy } = useGlobalCopyStore()\n\n const statusMessages = getConnectionMessages(member, connectCopy)\n\n const status = NonConnectedStatuses.includes(member.connection_status)\n ? {\n color: 'error.main',\n ctaCopy: statusMessages.cta ?? '',\n icon: <ErrorIcon filled={true} sx={{ ...iconStyle }} />,\n mainMessage: statusMessages.statusName,\n secondaryMessage: `${statusMessages.title}.`,\n }\n : {\n color: 'success.main',\n icon: <CheckCircleRoundedIcon filled={true} sx={{ ...iconStyle }} />,\n mainMessage: statusMessages.statusName,\n secondaryMessage: statusMessages.title,\n }\n\n return (\n <>\n <ListSubheader sx={{ mb: 4, mt: 12, mx: 8 }}>\n <Text bold={true} component=\"h2\" variant=\"caption\">\n {accountsCopy.connection_status}\n </Text>\n </ListSubheader>\n <ListItem\n sx={{\n backgroundColor: 'background.paper',\n position: 'relative',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n bottom: 0,\n right: 0,\n left: member.is_manual || !member.institution_url ? 0 : 24,\n borderBottom: '1px solid',\n borderColor: 'divider',\n },\n }}\n >\n {member.is_manual || !status.ctaCopy ? (\n <Stack alignItems=\"center\" direction=\"row\" px={24} py={12}>\n <ListItemAvatar>\n <IconBacking backingSx={{ backgroundColor: status.color, borderRadius: 1 }} size={32}>\n {status.icon}\n </IconBacking>\n </ListItemAvatar>\n <ListItemText primary={status.mainMessage} secondary={status.secondaryMessage} />\n </Stack>\n ) : (\n <ListItemButton onClick={() => setShouldShowConnectDrawer(true)}>\n <ListItemAvatar>\n <IconBacking backingSx={{ backgroundColor: status.color, borderRadius: 1 }} size={32}>\n {status.icon}\n </IconBacking>\n </ListItemAvatar>\n <ListItemText\n primary={status.mainMessage}\n secondary={\n status.secondaryMessage && (\n <>\n {status.secondaryMessage}{' '}\n <Text bold={true} sx={{ color: 'action.active' }} variant=\"caption\">\n {status.ctaCopy}\n </Text>\n </>\n )\n }\n />\n <Icon name=\"chevron_right\" />\n </ListItemButton>\n )}\n </ListItem>\n\n {!member.is_manual && member.institution_url && (\n <>\n <ListItem\n sx={{\n backgroundColor: 'background.paper',\n borderBottom: '1px solid',\n borderColor: 'divider',\n }}\n >\n <ListItemButton component=\"a\" href={member.institution_url} target=\"_blank\">\n <ListItemAvatar>\n <IconBacking\n backingSx={{\n backgroundColor: mode === 'light' ? 'grey.300' : 'grey.700',\n borderRadius: 1,\n }}\n size={32}\n >\n <LanguageRoundedIcon\n sx={{\n ...iconStyle,\n color: mode === 'light' ? 'grey.900' : 'common.white',\n }}\n />\n </IconBacking>\n </ListItemAvatar>\n <ListItemText primary={member.name} secondary={member.institution_url} />\n <Icon name=\"launch\" />\n </ListItemButton>\n </ListItem>\n </>\n )}\n\n {shouldShowConnectDrawer && (\n <ConnectDrawer\n loadWidgetProps={{ current_member_guid: member.guid }}\n onClose={() => setShouldShowConnectDrawer(false)}\n showConnectWidget={shouldShowConnectDrawer}\n title={accountsCopy.manage_connection}\n />\n )}\n </>\n )\n}\n\nexport default observer(AccountConnection)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { addMonths } from 'date-fns/addMonths'\nimport { alpha } from '@mui/material/styles'\n\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV3'\nimport { DateCalendar } from '@mui/x-date-pickers/DateCalendar'\nimport FormControl from '@mui/material/FormControl'\nimport InputLabel from '@mui/material/InputLabel'\nimport { LocalizationProvider } from '@mui/x-date-pickers-pro'\nimport MenuItem from '@mui/material/MenuItem'\nimport Select from '@mui/material/Select'\nimport TextField from '@mui/material/TextField'\n\nimport { CurrencyInput, Dialog, useAccountStore, useGlobalCopyStore } from '../../../../common'\nimport { type AccountField } from '../../../utils/AccountFields'\nimport { useAccountUiStore } from '../../../hooks/useUiStore'\nimport { FieldType } from '../../../constants/Accounts'\nimport { buildDynamicCopy } from '../../../../core/utils/Localization'\n\ninterface AccountDetailEditProps {\n field: AccountField\n isOpen: boolean\n onClose: () => void\n}\n\nconst AccountDetailEdit: React.FC<AccountDetailEditProps> = ({ field, isOpen, onClose }) => {\n const { updateAccount } = useAccountStore()\n const { selectedAccount: account } = useAccountUiStore()\n const { accounts: accountsCopy } = useGlobalCopyStore()\n\n const [editedValue, setEditedValue] = React.useState<any>(account[field.name])\n const [errorMessage, setErrorMessage] = React.useState('')\n const [hasValidCurrencyInput, setHasValidCurrencyInput] = React.useState(true)\n\n const handleClose = () => {\n setEditedValue('')\n setErrorMessage('')\n onClose()\n }\n\n const getEditableField = () => {\n switch (field.type) {\n case FieldType.Select: {\n return (\n <FormControl fullWidth={true}>\n <InputLabel id={`${field.label}-select-label`}>{field.label}</InputLabel>\n <Select\n displayEmpty={true}\n id={`${field.label}-select`}\n label={field.label}\n labelId={`${field.label}-select-label`}\n onChange={(e) => setEditedValue(e.target.value)}\n slotProps={{\n input: {\n sx: {\n backgroundColor: 'background.paper',\n },\n },\n }}\n value={editedValue}\n >\n {!editedValue && (\n <MenuItem disabled={true} value=\"\">\n {field.placeholder}\n </MenuItem>\n )}\n {field.options?.map((option) => (\n <MenuItem key={option.value} value={option.value}>\n {option.label}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n )\n }\n\n case FieldType.Currency: {\n return (\n <CurrencyInput\n amount={(editedValue as string | number) || ''}\n ariaLabel={field.placeholder}\n fullWidth={true}\n label={field.label}\n placeholder={field.placeholder}\n setAmount={setEditedValue}\n setHasValidInput={setHasValidCurrencyInput}\n />\n )\n }\n\n case FieldType.Date: {\n return (\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <DateCalendar\n maxDate={addMonths(new Date(), 1)}\n minDate={new Date()}\n onChange={(date: Date) => {\n if (account[field.name] && Number(account[field.name]) <= 31) {\n // gets and sets the day of the month to editedValue\n setEditedValue(date.getDate())\n } else {\n // the day of the month was already passed, so we set it directly to state\n setEditedValue(date)\n }\n }}\n sx={{\n '& .MuiPickersDay-today': {\n color: 'primary.lighter',\n },\n '& .MuiPickersArrowSwitcher-button': {\n color: 'primary.lighter',\n '&:hover': {\n backgroundColor: (theme) => alpha(theme.palette.primary.light, 0.1),\n },\n },\n }}\n views={['day']}\n />\n </LocalizationProvider>\n )\n }\n\n default: {\n return (\n <TextField\n defaultValue={account[field.name]}\n error={!!errorMessage}\n fullWidth={true}\n helperText={errorMessage}\n onChange={updateField}\n placeholder={field.placeholder}\n slotProps={{\n htmlInput: {\n 'aria-label': field.placeholder,\n },\n }}\n />\n )\n }\n }\n }\n\n const saveField = () => {\n // prevents any unnecessary api calls\n if (account[field.name] !== editedValue) {\n updateAccount({\n ...account,\n [field.name]: editedValue,\n })\n }\n handleClose()\n }\n\n const updateField = (e: React.ChangeEvent<HTMLInputElement>) => {\n setEditedValue(e.target.value)\n\n if (field.validation) {\n setErrorMessage(field.validation(e.target.value))\n }\n }\n\n return (\n <Dialog\n copy={{\n close_aria: accountsCopy.close_aria,\n title: buildDynamicCopy(accountsCopy.edit_field, field.label) as string,\n }}\n disablePrimaryButton={!!errorMessage || !hasValidCurrencyInput}\n isOpen={isOpen}\n onClose={handleClose}\n onPrimaryAction={saveField}\n primaryText={accountsCopy.save}\n sx={{\n '& .MuiButton-root:focus-visible, & .MuiButton-root:focus': {\n outline: '2px solid',\n outlineColor: 'primary.main',\n outlineOffset: '2px',\n },\n }}\n >\n {getEditableField()}\n </Dialog>\n )\n}\n\nexport default observer(AccountDetailEdit)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { Icon, Text } from '@mxenabled/mxui'\n\nimport AccountDetailEdit from './AccountDetailEdit'\n\nimport { getAccountDetailFields, type AccountField } from '../../../utils/AccountFields'\nimport { useAccountUiStore } from '../../../hooks/useUiStore'\nimport { useEvent, useGlobalCopyStore } from '../../../../common'\n\nconst AccountDetails = () => {\n const widgetProfile = window.app?.config\n\n const { onEvent } = useEvent()\n const { selectedAccount: account } = useAccountUiStore()\n const { accounts: accountsCopy } = useGlobalCopyStore()\n\n const fields = getAccountDetailFields(account, accountsCopy)\n const canEdit =\n account.member_is_managed_by_user ||\n (!account.member_is_managed_by_user && widgetProfile.enable_renaming_home_accounts)\n\n const [showEditDialog, setShowEditDialog] = React.useState(false)\n const [fieldToEdit, setFieldToEdit] = React.useState<AccountField>(fields[0])\n\n const displayableFields = fields.filter(\n (field) => canEdit || account[field.name] || account[field.name] === 0,\n )\n\n return (\n <>\n {displayableFields.map((field) => {\n const hasValue = account[field.name] || account[field.name] === 0\n const isLast = displayableFields.indexOf(field) === displayableFields.length - 1\n\n const content = (\n <ListItemText\n disableTypography={true}\n primary={<Text sx={{ fontSize: 11 }}>{field.label}</Text>}\n secondary={\n <Text bold={true} sx={{ fontSize: 15 }}>\n {hasValue\n ? (field.valueFormatter(account[field.name]) as string)\n : field.placeholder}\n </Text>\n }\n />\n )\n\n return (\n <React.Fragment key={field.name}>\n {canEdit ? (\n <ListItem\n sx={{\n backgroundColor: 'background.paper',\n px: 0,\n position: 'relative',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n bottom: 0,\n right: 0,\n left: isLast ? 0 : 24,\n borderBottom: '1px solid',\n borderColor: 'divider',\n },\n }}\n >\n <ListItemButton\n onClick={() => {\n setFieldToEdit(field)\n setShowEditDialog(true)\n if (field?.event) onEvent(field.event, { account_guid: account.guid })\n }}\n >\n {content}\n <Icon name=\"chevron_right\" />\n </ListItemButton>\n </ListItem>\n ) : (\n hasValue && (\n <ListItem\n sx={{\n backgroundColor: 'background.paper',\n px: 24,\n position: 'relative',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n bottom: 0,\n right: 0,\n left: isLast ? 0 : 24,\n borderBottom: '1px solid',\n borderColor: 'divider',\n },\n }}\n >\n {content}\n </ListItem>\n )\n )}\n </React.Fragment>\n )\n })}\n {showEditDialog && fieldToEdit && (\n <AccountDetailEdit\n field={fieldToEdit}\n isOpen={showEditDialog}\n onClose={() => setShowEditDialog(false)}\n />\n )}\n </>\n )\n}\n\nexport default observer(AccountDetails)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport List from '@mui/material/List'\n\nimport AccountActions from './AccountActions'\nimport AccountConnection from './AccountConnection'\nimport AccountDetails from './AccountDetails'\n\nimport { ANALYTICS_EVENTS, useEvent } from '../../../../common'\n\nconst AccountDetailsTab = () => {\n const { onEvent } = useEvent()\n React.useEffect(() => onEvent(ANALYTICS_EVENTS.ACCOUNT_DETAILS_VIEW), [])\n\n return (\n <List>\n <AccountDetails />\n <AccountConnection />\n <AccountActions />\n </List>\n )\n}\n\nexport default observer(AccountDetailsTab)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Alert from '@mui/material/Alert'\nimport AlertTitle from '@mui/material/AlertTitle'\nimport Link from '@mui/material/Link'\nimport Paper from '@mui/material/Paper'\n\nimport { Text } from '@mxenabled/mxui'\nimport { Error as ErrorIcon } from '@mxenabled/mx-icons'\n\nimport ConnectDrawer from '../../../../common/components/ConnectDrawer'\n\nimport {\n getConnectionMessages,\n ConnectionMessageObject,\n} from '../../../utils/getConnectionMessages'\nimport { useGlobalCopyStore } from '../../../../common'\nimport { NonConnectedStatuses } from '../../../../core'\nimport { useAccountUiStore } from '../../../hooks/useUiStore'\n\ninterface ConnectionErrorMessageProps {\n setTabValue: (val: number) => void\n}\n\nconst ConnectionErrorMessage: React.FC<ConnectionErrorMessageProps> = ({ setTabValue }) => {\n const [shouldShowConnectDrawer, setShouldShowConnectDrawer] = React.useState(false)\n\n const { selectedMember: member } = useAccountUiStore()\n const { accounts: accountsCopy, connect: connectCopy } = useGlobalCopyStore()\n\n const hasError =\n member.connection_status && NonConnectedStatuses.includes(member.connection_status)\n\n React.useEffect(() => {\n if (hasError) {\n setTabValue(1)\n }\n }, [hasError])\n\n if (!hasError) return\n\n const statusMessages: ConnectionMessageObject = getConnectionMessages(member, connectCopy)\n\n // eslint-disable-next-line consistent-return\n return (\n <>\n <Paper\n sx={{\n mb: 16,\n mt: 24,\n mx: 24,\n }}\n >\n <Alert\n icon={<ErrorIcon filled={true} />}\n role=\"none\"\n severity=\"error\"\n sx={{\n borderLeft: 5,\n borderTopLeftRadius: 6,\n borderBottomLeftRadius: 6,\n borderColor: 'error.main',\n color: 'text.primary',\n '&.MuiPaper-root': {\n backgroundColor: 'background.paper',\n },\n }}\n >\n {statusMessages.title && (\n <AlertTitle sx={{ fontWeight: 600, marginTop: 2 }} variant=\"body1\">\n {statusMessages.title}\n </AlertTitle>\n )}\n <Text component=\"p\" variant=\"subtitle2\">\n {statusMessages.main}\n </Text>\n {statusMessages.cta && (\n <Link\n onClick={() => setShouldShowConnectDrawer(true)}\n sx={{ fontSize: 15, fontWeight: 600, ml: 0 }}\n >\n {statusMessages.cta}\n </Link>\n )}\n </Alert>\n </Paper>\n\n {shouldShowConnectDrawer && (\n <ConnectDrawer\n loadWidgetProps={{ current_member_guid: member.guid }}\n onClose={() => setShouldShowConnectDrawer(false)}\n showConnectWidget={shouldShowConnectDrawer}\n title={accountsCopy.manage_connection}\n />\n )}\n </>\n )\n}\n\nexport default observer(ConnectionErrorMessage)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { subDays, startOfToday, endOfToday } from 'date-fns'\n\nimport {\n ANALYTICS_EVENTS,\n Drawer,\n useEvent,\n useGlobalCopyStore,\n useTransactionStore,\n} from '../../../../common'\nimport { TransactionDetails, TransactionList } from '../../../../transactions'\nimport { useAccountUiStore } from '../../../hooks/useUiStore'\n\nconst TransactionsTab = () => {\n const [guid, setGuid] = React.useState('')\n\n const { onEvent } = useEvent()\n const { selectedAccount } = useAccountUiStore()\n const { accounts: accountsCopy } = useGlobalCopyStore()\n const { isTransactionDataLoaded, loadTransactionData, setFilter, sortedTransactions } =\n useTransactionStore()\n\n React.useEffect(() => {\n if (!isTransactionDataLoaded) {\n loadTransactionData().finally()\n }\n }, [])\n\n const transaction = React.useMemo(\n () => sortedTransactions.find((t) => t.guid === guid),\n [guid, sortedTransactions],\n )\n\n React.useEffect(() => {\n setFilter({\n dateRange: { start: subDays(startOfToday(), 90), end: endOfToday() },\n accounts: [selectedAccount.guid],\n })\n }, [selectedAccount])\n\n React.useEffect(() => onEvent(ANALYTICS_EVENTS.ACCOUNT_DETAILS_VIEW_TRANSACTIONS), [])\n\n return (\n <>\n <TransactionList onClick={setGuid} />\n {transaction && (\n <Drawer\n ariaLabelClose={accountsCopy.close_drawer}\n isOpen={!!guid}\n onClose={() => setGuid('')}\n title={accountsCopy.transaction_drawer_title}\n >\n <TransactionDetails transaction={transaction} />\n </Drawer>\n )}\n </>\n )\n}\n\nexport default observer(TransactionsTab)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Tab from '@mui/material/Tab'\nimport Tabs from '@mui/material/Tabs'\n\nimport { TabContentContainer, useGlobalCopyStore } from '../../../../common'\n\nimport AccountDetailsTab from './AccountDetailsTab'\nimport ConnectionErrorMessage from './ConnectionErrorMessage'\nimport TransactionsTab from '../Transactions/TransactionsTab'\n\nconst AccountDetailsContent = () => {\n const [tabValue, setTabValue] = React.useState(0)\n\n const { accounts: accountsCopy } = useGlobalCopyStore()\n\n return (\n <>\n <ConnectionErrorMessage setTabValue={setTabValue} />\n\n <Tabs\n aria-label={accountsCopy.transactions_and_details_aria}\n centered={true}\n onChange={(_, val) => setTabValue(val)}\n textColor=\"primary\"\n value={tabValue}\n variant=\"fullWidth\"\n >\n <Tab\n aria-controls=\"transaction-details-tabpanel-0\"\n id=\"transaction-details-tab-0\"\n label={accountsCopy.transactions}\n />\n <Tab\n aria-controls=\"account-details-tabpanel-1\"\n id=\"account-details-tab-1\"\n label={accountsCopy.account_details}\n />\n </Tabs>\n\n <TabContentContainer index={0} name=\"transaction-details\" value={tabValue}>\n <TransactionsTab />\n </TabContentContainer>\n\n <TabContentContainer index={1} name=\"account-details\" value={tabValue}>\n <AccountDetailsTab />\n </TabContentContainer>\n </>\n )\n}\n\nexport default observer(AccountDetailsContent)\n","import { Drawer, useGlobalCopyStore } from '../../../../common'\nimport TrendsChart from '../../../../trends/components/TrendsChart'\n\nimport AccountDetailsContent from './AccountDetailsContent'\nimport AccountDetailsHeader from './AccountDetailsHeader'\n\ninterface AccountDetailsDrawerProps {\n isOpen: boolean\n onClose: () => void\n}\n\nconst AccountDetailsDrawer = ({ isOpen, onClose }: AccountDetailsDrawerProps) => {\n const { accounts: accountsCopy } = useGlobalCopyStore()\n\n return (\n <Drawer\n ariaLabelClose={accountsCopy.close_account_details_aria}\n isOpen={isOpen}\n onClose={onClose}\n title={accountsCopy.account_details}\n >\n <AccountDetailsHeader ChartComponent={TrendsChart} />\n\n <AccountDetailsContent />\n </Drawer>\n )\n}\n\nexport default AccountDetailsDrawer\n"],"names":["getDatasets","totals","accountType","incomeData","INCOME_ACCOUNT_TYPES","getIncomeTotals","paymentData","PAYMENT_ACCOUNT_TYPES","getPaymentTotals","spendingData","SPENDING_ACCOUNT_TYPES","getSpendingTotals","data","getLabels","datasets","copy","dataA","dataB","credits","debits","labels","lastIncome","lastPayment","lastSpending","TrendsChart","theme","useTheme","selectedAccount","useAccountUiStore","monthlyCategoryTotals","useCategoryStore","trendsCopy","useGlobalCopyStore","colors","isLoan","AccountType","jsx","LineChart","TrendsChart$1","observer","AccountActionsRow","ariaPressed","children","isLast","onClick","primaryText","secondaryText","ListItem","jsxs","ListItemButton","ListItemText","useGetMergeableAccounts","accounts","useAccountStore","selectedMember","account","iconStyle","ErrorStatus","size","IconBacking","ErrorIcon","AccountListItem","onRowClick","listItemProps","shouldShowConnectionStatus","displayName","useAccountDisplayName","config","useAppConfig","accountsCopy","firstSubtitle","firstValue","secondSubtitle","secondValue","getAccountBalanceDetails","statusIcon","ConnectionStatus","content","Fragment","ListItemAvatar","Badge","InstitutionLogo","Text","Box","formatCurrency","AccountListItem$1","AccountActions","shouldShowCloseAccountModal","setShouldShowCloseAccountModal","React","shouldShowAccountMergeDrawer","setShouldShowAccountMergeDrawer","shouldShowMergeConfirmModal","setShouldShowMergeConfirmModal","accountToMerge","setAccountToMerge","mergeAccounts","updateAccount","mergeableAccounts","onEvent","useEvent","modifyTransactionByAccountGuid","useTransactionStore","handleUpdateAccount","updatedValue","handleMergeAccounts","ListSubheader","ANALYTICS_EVENTS","Switch","Icon","e","Dialog","buildDynamicCopy","Drawer","List","AccountActions$1","getConnectionMessages","member","connection_messages","ConnectionStatusEnums","lastUpdatedCopy","lastUpdated","fromUnixTime","lastUpdatedFormattedTime","formatDate","DATE_FORMATS_INTL","isToday","isYesterday","AccountConnection","shouldShowConnectDrawer","setShouldShowConnectDrawer","mode","connectCopy","statusMessages","status","NonConnectedStatuses","CheckCircleRoundedIcon","Stack","LanguageRoundedIcon","ConnectDrawer","AccountConnection$1","AccountDetailEdit","field","isOpen","onClose","editedValue","setEditedValue","errorMessage","setErrorMessage","hasValidCurrencyInput","setHasValidCurrencyInput","handleClose","getEditableField","FieldType","FormControl","InputLabel","Select","MenuItem","option","CurrencyInput","LocalizationProvider","AdapterDateFns","DateCalendar","addMonths","date","alpha","TextField","updateField","saveField","AccountDetailEdit$1","AccountDetails","widgetProfile","fields","getAccountDetailFields","canEdit","showEditDialog","setShowEditDialog","fieldToEdit","setFieldToEdit","displayableFields","hasValue","AccountDetails$1","AccountDetailsTab","AccountDetailsTab$1","ConnectionErrorMessage","setTabValue","hasError","Paper","Alert","AlertTitle","Link","ConnectionErrorMessage$1","TransactionsTab","guid","setGuid","isTransactionDataLoaded","loadTransactionData","setFilter","sortedTransactions","transaction","t","subDays","startOfToday","endOfToday","TransactionList","TransactionDetails","TransactionsTab$1","AccountDetailsContent","tabValue","Tabs","_","val","Tab","TabContentContainer","AccountDetailsContent$1","AccountDetailsDrawer","AccountDetailsHeader"],"mappings":"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"}
@@ -122,13 +122,11 @@ const S = () => {
122
122
  }, I = (a, e, r) => {
123
123
  let t = "", n = null, i = null, m = null, c = !1;
124
124
  switch (a.account_type) {
125
- // checking or savings
126
125
  case 1:
127
126
  case 2: {
128
127
  a.available_balance && r ? (t = e.available_balance, n = a.available_balance, i = a.available_balance ? e.current_balance : null, m = _(a.balance, "0,0.00"), c = !0) : (t = e.current_balance, n = a.balance);
129
128
  break;
130
129
  }
131
- // credit cards, loans, investments, etc
132
130
  default:
133
131
  if (t = e.current_balance, n = a.balance, a.minimum_payment && a.payment_due_at) {
134
132
  const f = g(a.payment_due_at);
@@ -228,3 +226,4 @@ export {
228
226
  Pe as g,
229
227
  S as u
230
228
  };
229
+ //# sourceMappingURL=AccountDetailsHeader-ByGNPZpO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountDetailsHeader-ByGNPZpO.mjs","sources":["../src/accounts/hooks/useUiStore.ts","../src/accounts/utils/AccountFields.tsx","../src/accounts/utils/AccountDetails.ts","../src/accounts/components/detailsdrawer/Accounts/AccountDetailsChart.tsx","../src/accounts/components/detailsdrawer/Accounts/AccountDetailsHeader.tsx"],"sourcesContent":["import React from 'react'\nimport { GlobalDataContext, useAccountStore } from '../../common'\n\nexport const useAccountUiStore = () => {\n const context = React.useContext(GlobalDataContext)\n\n if (!context) {\n throw new Error('useCategoryUiStore() must be used within the GlobalDataContext')\n }\n\n return useAccountStore().uiStore\n}\n","import { Icon, Text } from '@mxenabled/mxui'\n\nimport { DATE_FORMATS_INTL, formatDate } from '../../core/constants'\nimport { AccountIcon, AccountType, PropertyType } from '../../core'\nimport type { Account, AccountsCopy } from '../../core'\n\nimport { PropertyIcon } from '../../core/types/Account'\nimport {\n isAccountLiability,\n isManual,\n usesCreditLimitField,\n usesInterestRateField,\n usesOriginalBalanceField,\n} from '../../core/utils/AccountUtils'\nimport { FieldType } from '../constants/Accounts'\nimport { fromUnixUTC } from '../../core/utils/DateUtil'\nimport {\n formatCurrency,\n formatOrdinal,\n formatPercentage,\n isValidNumber,\n} from '../../core/utils/NumberFormatting'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ntype SelectOption = {\n label: string\n value: number\n icon: React.ReactElement\n}\n\nexport type AccountField = {\n event?: string\n label: string\n minAmount?: number\n options?: SelectOption[]\n name: keyof Account\n placeholder?: string\n type?: string\n validation?: (val: any) => string\n valueFormatter: (val: any) => any\n}\n\nexport const getAccountDetailFields = (account: Account, copy: AccountsCopy) => {\n const fields: AccountField[] = [\n {\n event: 'account_details_click_account_name',\n label: copy.account_name,\n name: 'user_name',\n placeholder: buildDynamicCopy(copy.enter_value, copy.account_name) as string,\n type: FieldType.Input,\n validation: (val: string) =>\n val ? '' : (buildDynamicCopy(copy.field_is_required, copy.account_name) as string),\n valueFormatter: (val) => val,\n },\n ]\n\n if (isManual(account)) {\n fields.unshift({\n label: copy.account_balance,\n name: 'balance',\n placeholder: buildDynamicCopy(copy.enter_value, copy.account_balance) as string,\n type: FieldType.Currency,\n valueFormatter: (val) => formatCurrency(val, '0,0.00'),\n })\n\n const accountTypeOptions = Object.keys(AccountType)\n .filter((key) => Number(key))\n .map((value) => ({\n label: copy.account_types[value],\n value: Number(value),\n icon: <Icon name={AccountIcon[value]} />,\n }))\n\n fields.push({\n label: copy.account_type,\n name: 'account_type',\n options: accountTypeOptions,\n placeholder: buildDynamicCopy(copy.select_value, copy.account_type) as string,\n type: FieldType.Select,\n valueFormatter: (val) => accountTypeOptions.find((option) => option.value === val)?.label,\n })\n }\n\n if (account.account_type === AccountType.PROPERTY) {\n const propertyTypeOptions = Object.keys(PropertyType)\n .filter((key) => Number(key))\n .map((value) => ({\n label: copy.property_types[value],\n value: Number(value),\n icon: <Icon name={PropertyIcon[value]} />,\n }))\n\n fields.push({\n label: copy.property_type,\n name: 'property_type',\n options: propertyTypeOptions,\n placeholder: buildDynamicCopy(copy.select_value, copy.property_type) as string,\n type: FieldType.Select,\n valueFormatter: (val) => propertyTypeOptions.find((option) => option.value === val)?.label,\n })\n }\n\n if (usesInterestRateField(account)) {\n let label = copy.interest_rate\n let fieldName = 'interest_rate' as keyof Account\n\n if (!account.is_manual) {\n if (typeof account.apr === 'number') {\n label = copy.apr\n fieldName = 'apr'\n }\n if (typeof account.apy === 'number') {\n label = copy.apy\n fieldName = 'apy'\n }\n }\n\n fields.push({\n event: 'account_details_click_interest_rate',\n label,\n name: fieldName,\n placeholder: buildDynamicCopy(copy.enter_value, label) as string,\n type: FieldType.Input,\n validation: (val) => (!isValidNumber(val) ? copy.error_amount_is_invalid : ''),\n valueFormatter: (val) => (isValidNumber(val) ? formatPercentage(val / 100) : val),\n })\n }\n\n if (isAccountLiability(account)) {\n fields.push({\n label: copy.minimum_payment,\n name: 'minimum_payment',\n placeholder: buildDynamicCopy(copy.enter_value, copy.minimum_payment) as string,\n type: FieldType.Currency,\n valueFormatter: (val) => formatCurrency(val, '0,0.00'),\n })\n\n if (account.payment_due_at) {\n fields.push({\n label: copy.next_payment,\n name: 'payment_due_at',\n type: FieldType.Date,\n valueFormatter: (val) => {\n // accounts for Unix and DateTime values\n const dateTimeStamp = typeof val === 'number' ? fromUnixUTC(val) : val\n return formatDate(dateTimeStamp, DATE_FORMATS_INTL.MED_MONTH_SHORT_DAY_FULL_YEAR)\n },\n })\n } else {\n fields.push({\n label: copy.day_payment_due,\n name: 'day_payment_is_due',\n placeholder: buildDynamicCopy(copy.enter_value, copy.day_payment_due) as string,\n type: FieldType.Date,\n valueFormatter: (val) =>\n buildDynamicCopy(\n copy.day_of_every_month,\n formatOrdinal(val <= 31 ? val : new Date(val).getDate()),\n ) as string,\n })\n }\n }\n\n if (usesCreditLimitField(account)) {\n fields.push({\n label: copy.credit_limit,\n name: 'credit_limit',\n placeholder: buildDynamicCopy(copy.enter_value, copy.credit_limit) as string,\n type: FieldType.Currency,\n valueFormatter: (val) => formatCurrency(val, '0,0.00'),\n })\n }\n\n if (usesOriginalBalanceField(account)) {\n fields.push({\n label: copy.original_balance,\n minAmount: 1,\n name: 'original_balance',\n placeholder: buildDynamicCopy(copy.enter_value, copy.original_balance) as string,\n type: FieldType.Currency,\n valueFormatter: (val) => formatCurrency(val, '0,0.00'),\n })\n }\n\n return fields\n}\n\nexport const getAccountBalanceDetails = (\n account: Account,\n copy: AccountsCopy,\n showAvailableBalance: boolean,\n) => {\n let firstSubtitle = ''\n let firstValue = null\n let secondSubtitle = null\n let secondValue = null\n let hasAvailableBalance = false\n\n switch (account.account_type) {\n // checking or savings\n case 1:\n case 2: {\n // some savings accounts only have balance, and not available_balance\n if (account.available_balance && showAvailableBalance) {\n firstSubtitle = copy.available_balance\n firstValue = account.available_balance\n secondSubtitle = account.available_balance ? copy.current_balance : null\n secondValue = formatCurrency(account.balance, '0,0.00')\n hasAvailableBalance = true\n } else {\n firstSubtitle = copy.current_balance\n firstValue = account.balance\n }\n break\n }\n // credit cards, loans, investments, etc\n default: {\n firstSubtitle = copy.current_balance\n firstValue = account.balance\n if (account.minimum_payment && account.payment_due_at) {\n const dateTimeStamp = fromUnixUTC(account.payment_due_at)\n secondSubtitle = (\n <Text component=\"strong\" variant=\"caption\">\n {\n buildDynamicCopy(\n copy.payment_due_on,\n formatCurrency(account.minimum_payment, '0,0.00'),\n formatDate(dateTimeStamp, DATE_FORMATS_INTL.FULL_MONTH_DAY),\n ) as string\n }\n </Text>\n )\n } else if (account.credit_limit) {\n secondSubtitle = copy.available_credit\n secondValue = formatCurrency(account.credit_limit - (account?.balance ?? 0), '0,0.00')\n }\n }\n }\n\n return {\n firstSubtitle,\n firstValue,\n secondSubtitle,\n secondValue,\n hasAvailableBalance,\n }\n}\n\nexport const getClosedAccountBalanceTotal = (\n accounts: Account[],\n copy: AccountsCopy,\n showAvailableBalance: boolean,\n) => {\n const total = accounts.reduce((sum, account) => {\n const details = getAccountBalanceDetails(account, copy, showAvailableBalance)\n const firstValue = details.firstValue || 0\n return sum + firstValue\n }, 0)\n\n return total\n}\n","import { AccountType, type AccountsCopy } from '../../core'\n\nexport const getChartLabels = (\n accountType: AccountType,\n copy: AccountsCopy,\n): { title: string; description: string } => {\n const hasPayments = [AccountType.LOAN, AccountType.MORTGAGE, AccountType.PROPERTY].includes(\n accountType,\n )\n\n const hasPaymentsAndSpend = [\n AccountType.CREDIT_CARD,\n AccountType.LINE_OF_CREDIT,\n AccountType.PREPAID,\n AccountType.CHECKING_LINE_OF_CREDIT,\n ].includes(accountType)\n\n if (hasPayments) return { title: copy.label_payments, description: copy.chart_title_payments }\n if (hasPaymentsAndSpend)\n return { title: copy.label_payments_spend, description: copy.chart_title_payments_spend }\n return { title: copy.label_income_spend, description: copy.chart_title_income_spend }\n}\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Card from '@mui/material/Card'\nimport CardContent from '@mui/material/CardContent'\nimport CardHeader from '@mui/material/CardHeader'\n\nimport { H3 } from '@mxenabled/mxui'\n\nimport { Loader, useCategoryStore, useGlobalStore } from '../../../../common'\nimport { MiniWidgetProps } from '../../../../core'\n\nimport { useAccountUiStore } from '../../../hooks/useUiStore'\n\ninterface AccountDetailsChartProps extends MiniWidgetProps {\n ChartComponent?: React.ComponentType\n header?: string\n}\n\nconst AccountDetailsChart: React.FC<AccountDetailsChartProps> = ({\n sx,\n ChartComponent,\n header,\n}) => {\n const { loadMonthlyCategoryTotals } = useCategoryStore()\n const { isInitialized } = useGlobalStore()\n const { selectedAccount } = useAccountUiStore()\n\n const [isWidgetInitialized, setIsWidgetInitialized] = React.useState(false)\n\n React.useEffect(() => {\n if (isInitialized) {\n loadMonthlyCategoryTotals([selectedAccount]).finally(() => {\n setIsWidgetInitialized(true)\n })\n }\n }, [isInitialized, selectedAccount])\n\n if (!isInitialized || !isWidgetInitialized) {\n return <Loader />\n }\n\n return (\n <Card\n sx={{\n '& .MuiCardContent-root:last-child': {\n pb: 0,\n },\n ...sx,\n }}\n >\n <CardHeader sx={{ pb: 0 }} title={<H3 sx={{ pb: 4 }}>{header}</H3>} />\n\n <CardContent sx={{ p: 0 }}>{ChartComponent ? <ChartComponent /> : null}</CardContent>\n </Card>\n )\n}\n\nexport default observer(AccountDetailsChart)\n","import { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport { H2, InstitutionLogo, Text } from '@mxenabled/mxui'\n\nimport {\n useAccountStore,\n INCOME_ACCOUNT_TYPES,\n PAYMENT_ACCOUNT_TYPES,\n SPENDING_ACCOUNT_TYPES,\n useAccountDisplayName,\n useGlobalCopyStore,\n useAppConfig,\n} from '../../../../common'\nimport { useAccountUiStore } from '../../../hooks/useUiStore'\nimport { getAccountBalanceDetails } from '../../../utils/AccountFields'\nimport { getChartLabels } from '../../../utils/AccountDetails'\n\nimport AccountDetailsChart from './AccountDetailsChart'\nimport { formatCurrency } from '../../../../core/utils/NumberFormatting'\n\ninterface AccountDetailsHeaderProps {\n ChartComponent?: React.ComponentType\n customDetailsChart?: React.ReactElement\n}\n\nconst AccountDetailsHeader = ({\n customDetailsChart,\n ChartComponent,\n}: AccountDetailsHeaderProps) => {\n const { institutions } = useAccountStore()\n const { selectedAccount: account } = useAccountUiStore()\n const { config } = useAppConfig()\n const { accounts: accountsCopy } = useGlobalCopyStore()\n const { firstSubtitle, firstValue, hasAvailableBalance, secondSubtitle, secondValue } =\n getAccountBalanceDetails(account, accountsCopy, config.display_available_balance_in_accounts)\n\n const institution = institutions.find(\n (institution) => institution.guid === account?.institution_guid,\n )\n\n const showChart = [\n ...INCOME_ACCOUNT_TYPES,\n ...PAYMENT_ACCOUNT_TYPES,\n ...SPENDING_ACCOUNT_TYPES,\n ].includes(account.account_type)\n\n const displayName = useAccountDisplayName(account)\n\n const { title, description } = getChartLabels(account.account_type, accountsCopy)\n\n return (\n <Stack bgcolor=\"background.default\" p={24}>\n <Stack gap={12}>\n <InstitutionLogo\n alt={accountsCopy.institution_logo_alt}\n institutionGuid={account.institution_guid || ''}\n size={64}\n />\n <Text variant=\"body2\">{institution?.name}</Text>\n </Stack>\n <Stack gap={8} mb={24} mt={4}>\n <H2>{displayName}</H2>\n <Stack direction=\"row\" justifyContent=\"space-between\">\n <Text bold={hasAvailableBalance} variant=\"body1\">\n {firstSubtitle}\n </Text>\n <Text bold={true} variant=\"body1\">\n {formatCurrency(firstValue, '0,0.00')}\n </Text>\n </Stack>\n <Stack direction=\"row\" justifyContent=\"space-between\">\n <Text variant=\"body2\">{secondSubtitle}</Text>\n <Text variant=\"body2\">{secondValue}</Text>\n </Stack>\n </Stack>\n {showChart && (\n <Stack aria-label={description} role=\"img\">\n {customDetailsChart ? (\n customDetailsChart\n ) : (\n <AccountDetailsChart ChartComponent={ChartComponent} header={title} />\n )}\n </Stack>\n )}\n </Stack>\n )\n}\n\nexport default observer(AccountDetailsHeader)\n"],"names":["useAccountUiStore","React","GlobalDataContext","useAccountStore","getAccountDetailFields","account","copy","fields","buildDynamicCopy","FieldType","val","isManual","formatCurrency","accountTypeOptions","AccountType","key","value","jsx","Icon","AccountIcon","option","propertyTypeOptions","PropertyType","PropertyIcon","usesInterestRateField","label","fieldName","isValidNumber","formatPercentage","isAccountLiability","dateTimeStamp","fromUnixUTC","formatDate","DATE_FORMATS_INTL","formatOrdinal","usesCreditLimitField","usesOriginalBalanceField","getAccountBalanceDetails","showAvailableBalance","firstSubtitle","firstValue","secondSubtitle","secondValue","hasAvailableBalance","Text","getClosedAccountBalanceTotal","accounts","sum","getChartLabels","accountType","hasPayments","hasPaymentsAndSpend","AccountDetailsChart","sx","ChartComponent","header","loadMonthlyCategoryTotals","useCategoryStore","isInitialized","useGlobalStore","selectedAccount","isWidgetInitialized","setIsWidgetInitialized","Loader","jsxs","Card","CardHeader","H3","CardContent","AccountDetailsChart$1","observer","AccountDetailsHeader","customDetailsChart","institutions","config","useAppConfig","accountsCopy","useGlobalCopyStore","institution","showChart","INCOME_ACCOUNT_TYPES","PAYMENT_ACCOUNT_TYPES","SPENDING_ACCOUNT_TYPES","displayName","useAccountDisplayName","title","description","Stack","InstitutionLogo","H2","AccountDetailsHeader$1"],"mappings":"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"}
@@ -25,3 +25,4 @@ export {
25
25
  m as i,
26
26
  R as u
27
27
  };
28
+ //# sourceMappingURL=AccountUtils-B8ZzWI-d.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountUtils-B8ZzWI-d.mjs","sources":["../src/core/utils/AccountUtils.ts"],"sourcesContent":["import {\n type Account,\n type DetailedAccount,\n type Institution,\n type Member,\n AccountType,\n ConnectionStatus,\n ErrorStatuses,\n MfaStatuses,\n ProcessingStatuses,\n} from '../'\n\nexport const isAccountLiability = (account: Account) =>\n account &&\n (account.account_type === AccountType.CREDIT_CARD ||\n account.account_type === AccountType.LOAN ||\n account.account_type === AccountType.MORTGAGE ||\n account.account_type === AccountType.LINE_OF_CREDIT ||\n account.account_type === AccountType.CHECKING_LINE_OF_CREDIT)\n\nexport const isManual = (account: Account) => account.is_manual || !account.guid\n\nexport const usesCreditLimitField = (account: Account) =>\n account.account_type === AccountType.LINE_OF_CREDIT ||\n account.account_type === AccountType.CREDIT_CARD ||\n account.account_type === AccountType.CHECKING_LINE_OF_CREDIT\n\nexport const usesInterestRateField = (account: Account) =>\n account.account_type === AccountType.SAVINGS ||\n account.account_type === AccountType.CHECKING ||\n account.account_type === AccountType.LINE_OF_CREDIT ||\n account.account_type === AccountType.CREDIT_CARD ||\n account.account_type === AccountType.LOAN ||\n account.account_type === AccountType.MORTGAGE\n\nexport const usesOriginalBalanceField = (account: Account) =>\n account.account_type === AccountType.LOAN || account.account_type === AccountType.MORTGAGE\n\nexport const augmentAccounts = (\n accounts: Account[],\n institutions: Institution[],\n members: Member[],\n shouldExcludeExternalAccounts: boolean,\n shouldExcludeHeldAccounts: boolean,\n): DetailedAccount[] => {\n return accounts\n .filter((account) => !(account.member_is_managed_by_user && shouldExcludeExternalAccounts))\n .filter((account) => !(!account.member_is_managed_by_user && shouldExcludeHeldAccounts))\n .sort(accountSorter)\n .map((account) => {\n const institution = institutions.find((inst) => inst.guid === account.institution_guid)\n const member = members.find((member) => member.guid === account.member_guid)\n\n return buildDetailedAccount(account, institution, member)\n })\n}\n\nconst buildDetailedAccount = (account: Account, institution?: Institution, member?: Member) => {\n // TODO: Needs to be localized here\n let connectionStatus = ConnectionStatus.Connected\n if (member) {\n if (ErrorStatuses.includes(member.connection_status)) {\n connectionStatus = ConnectionStatus.Error\n } else if (ProcessingStatuses.includes(member.connection_status)) {\n connectionStatus = ConnectionStatus.Processing\n } else if (MfaStatuses.includes(member.connection_status)) {\n connectionStatus = ConnectionStatus.RequiresMfa\n }\n }\n\n const displayName = [\n account.user_name || account.feed_name || '',\n account.account_number ? `*${account.account_number}` : '',\n ]\n .join(' ')\n .trim()\n\n return {\n ...account,\n connectionStatus,\n displayName,\n institution,\n member,\n }\n}\n\nconst accountSorter = (a: Account, b: Account) => {\n // orders by account type descending (Checking -> Savings -> Credit card)\n if (a.account_type > b.account_type) return 1\n if (a.account_type < b.account_type) return -1\n // orders by name (Emergency Savings -> Health Savings -> Rainy Day Savings)\n if ((a.name || '') > (b.name || '')) return 1\n if ((a.name || '') < (b.name || '')) return -1\n return 0\n}\n"],"names":["isAccountLiability","account","AccountType","isManual","usesCreditLimitField","usesInterestRateField","usesOriginalBalanceField","augmentAccounts","accounts","institutions","members","shouldExcludeExternalAccounts","shouldExcludeHeldAccounts","accountSorter","institution","inst","member","buildDetailedAccount","connectionStatus","ConnectionStatus","ErrorStatuses","ProcessingStatuses","MfaStatuses","displayName","a","b"],"mappings":";AAYO,MAAMA,IAAqB,CAACC,MACjCA,MACCA,EAAQ,iBAAiBC,EAAY,eACpCD,EAAQ,iBAAiBC,EAAY,QACrCD,EAAQ,iBAAiBC,EAAY,YACrCD,EAAQ,iBAAiBC,EAAY,kBACrCD,EAAQ,iBAAiBC,EAAY,0BAE5BC,IAAW,CAACF,MAAqBA,EAAQ,aAAa,CAACA,EAAQ,MAE/DG,IAAuB,CAACH,MACnCA,EAAQ,iBAAiBC,EAAY,kBACrCD,EAAQ,iBAAiBC,EAAY,eACrCD,EAAQ,iBAAiBC,EAAY,yBAE1BG,IAAwB,CAACJ,MACpCA,EAAQ,iBAAiBC,EAAY,WACrCD,EAAQ,iBAAiBC,EAAY,YACrCD,EAAQ,iBAAiBC,EAAY,kBACrCD,EAAQ,iBAAiBC,EAAY,eACrCD,EAAQ,iBAAiBC,EAAY,QACrCD,EAAQ,iBAAiBC,EAAY,UAE1BI,IAA2B,CAACL,MACvCA,EAAQ,iBAAiBC,EAAY,QAAQD,EAAQ,iBAAiBC,EAAY,UAEvEK,IAAkB,CAC7BC,GACAC,GACAC,GACAC,GACAC,MAEOJ,EACJ,OAAO,CAACP,MAAY,EAAEA,EAAQ,6BAA6BU,EAA8B,EACzF,OAAO,CAACV,MAAY,EAAE,CAACA,EAAQ,6BAA6BW,EAA0B,EACtF,KAAKC,CAAa,EAClB,IAAI,CAACZ,MAAY;AAChB,QAAMa,IAAcL,EAAa,KAAK,CAACM,MAASA,EAAK,SAASd,EAAQ,gBAAgB,GAChFe,IAASN,EAAQ,KAAK,CAACM,MAAWA,EAAO,SAASf,EAAQ,WAAW;AAE3E,SAAOgB,EAAqBhB,GAASa,GAAaE,CAAM;AAC1D,CAAC,GAGCC,IAAuB,CAAChB,GAAkBa,GAA2BE,MAAoB;AAE7F,MAAIE,IAAmBC,EAAiB;AACxC,EAAIH,MACEI,EAAc,SAASJ,EAAO,iBAAiB,IACjDE,IAAmBC,EAAiB,QAC3BE,EAAmB,SAASL,EAAO,iBAAiB,IAC7DE,IAAmBC,EAAiB,aAC3BG,EAAY,SAASN,EAAO,iBAAiB,MACtDE,IAAmBC,EAAiB;AAIxC,QAAMI,IAAc;AAAA,IAClBtB,EAAQ,aAAaA,EAAQ,aAAa;AAAA,IAC1CA,EAAQ,iBAAiB,IAAIA,EAAQ,cAAc,KAAK;AAAA,EAAA,EAEvD,KAAK,GAAG,EACR,KAAA;AAEH,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,kBAAAiB;AAAA,IACA,aAAAK;AAAA,IACA,aAAAT;AAAA,IACA,QAAAE;AAAA,EAAA;AAEJ,GAEMH,IAAgB,CAACW,GAAYC,MAE7BD,EAAE,eAAeC,EAAE,eAAqB,IACxCD,EAAE,eAAeC,EAAE,eAAqB,MAEvCD,EAAE,QAAQ,OAAOC,EAAE,QAAQ,MAAY,KACvCD,EAAE,QAAQ,OAAOC,EAAE,QAAQ,MAAY,KACrC;"}
@@ -51,3 +51,4 @@ export {
51
51
  d as b,
52
52
  A as u
53
53
  };
54
+ //# sourceMappingURL=Analytics-CkYXKvco.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Analytics-CkYXKvco.mjs","sources":["../src/common/hooks/useCombineEvents.tsx","../src/common/utils/Analytics.ts"],"sourcesContent":["import React from 'react'\n\nimport { AnalyticEventFunction, AnalyticPageviewFunction } from '../../core'\n\nexport const useCombineEvents = (events: AnalyticEventFunction[], store: any) => {\n const { session } = store\n\n const storeEvents = Object.values(store).reduce((acc: AnalyticEventFunction[], curr: any) => {\n if (session && curr?.onAnalyticEvent && typeof curr?.onAnalyticEvent === 'function') {\n return [...acc, curr.onAnalyticEvent]\n }\n\n return acc\n }, [])\n const eventFunctions = [...events, ...storeEvents]\n\n return React.useMemo(() => {\n return (event: string) => {\n eventFunctions.forEach((e) => {\n if (!session) {\n e(event)\n } else {\n e(event, session)\n }\n })\n }\n }, [events, session])\n}\n\nexport const useCombinePageviews = (pages: AnalyticPageviewFunction[], store: any) => {\n const { session } = store\n\n const storeEvents = Object.values(store).reduce((acc: AnalyticPageviewFunction[], curr: any) => {\n if (session && curr?.onAnalyticPageView && typeof curr?.onAnalyticPageView === 'function') {\n return [...acc, curr.onAnalyticPageView]\n }\n\n return acc\n }, [])\n const eventFunctions = [...pages, ...storeEvents]\n\n return React.useMemo(() => {\n return (event: string) => {\n eventFunctions.forEach((e) => {\n if (!session) {\n e(event)\n } else {\n e(event, session)\n }\n })\n }\n }, [pages, session])\n}\n","import { getUnixTime } from 'date-fns/getUnixTime'\n\nimport { AnalyticsApi } from '../../core/api'\nimport { BasicAnalyticsEvent, AnalyticsSession, BasicAnalyticsPageview } from '../../core'\n\nexport const analyticsSession = async (\n endpoint: string,\n token: string,\n version = '1.0.0',\n featureName = 'Experiences',\n) => {\n const analyticsApi = new AnalyticsApi(endpoint, token)\n const { analytics_session } = (await analyticsApi.initializeAnalyticsSession(\n version,\n featureName,\n )) as {\n analytics_session: AnalyticsSession\n }\n\n const host = window.location.hostname\n\n return {\n sendAnalyticEvent: async (event: BasicAnalyticsEvent) => {\n return await analyticsApi.sendAnalyticEvent({\n analytics_event: {\n ...event,\n app_version: 'widgets-v2',\n created_at: getUnixTime(new Date()).toString(),\n host,\n name: event?.label || '',\n session_id: analytics_session.guid,\n user_agent: navigator.userAgent || '',\n version: 2,\n },\n })\n },\n sendAnalyticsPageview: async (pageview: BasicAnalyticsPageview) => {\n return await analyticsApi.sendAnalyticsPageview({\n analytics_pageview: {\n ...pageview,\n app_version: 'widgets-v2',\n created_at: getUnixTime(new Date()).toString(),\n host,\n name: pageview.name,\n session_id: analytics_session.guid,\n user_agent: navigator.userAgent || '',\n },\n })\n },\n }\n}\n"],"names":["useCombineEvents","events","store","session","storeEvents","acc","curr","eventFunctions","React","event","e","useCombinePageviews","pages","analyticsSession","endpoint","token","version","featureName","analyticsApi","AnalyticsApi","analytics_session","host","getUnixTime","pageview"],"mappings":";;;AAIO,MAAMA,IAAmB,CAACC,GAAiCC,MAAe;AAC/E,QAAM,EAAE,SAAAC,MAAYD,GAEdE,IAAc,OAAO,OAAOF,CAAK,EAAE,OAAO,CAACG,GAA8BC,MACzEH,KAAWG,GAAM,mBAAmB,OAAOA,GAAM,mBAAoB,aAChE,CAAC,GAAGD,GAAKC,EAAK,eAAe,IAG/BD,GACN,CAAA,CAAE,GACCE,IAAiB,CAAC,GAAGN,GAAQ,GAAGG,CAAW;AAEjD,SAAOI,EAAM,QAAQ,MACZ,CAACC,MAAkB;AACxB,IAAAF,EAAe,QAAQ,CAACG,MAAM;AAC5B,MAAKP,IAGHO,EAAED,GAAON,CAAO,IAFhBO,EAAED,CAAK;AAAA,IAIX,CAAC;AAAA,EACH,GACC,CAACR,GAAQE,CAAO,CAAC;AACtB,GAEaQ,IAAsB,CAACC,GAAmCV,MAAe;AACpF,QAAM,EAAE,SAAAC,MAAYD,GAEdE,IAAc,OAAO,OAAOF,CAAK,EAAE,OAAO,CAACG,GAAiCC,MAC5EH,KAAWG,GAAM,sBAAsB,OAAOA,GAAM,sBAAuB,aACtE,CAAC,GAAGD,GAAKC,EAAK,kBAAkB,IAGlCD,GACN,CAAA,CAAE,GACCE,IAAiB,CAAC,GAAGK,GAAO,GAAGR,CAAW;AAEhD,SAAOI,EAAM,QAAQ,MACZ,CAACC,MAAkB;AACxB,IAAAF,EAAe,QAAQ,CAACG,MAAM;AAC5B,MAAKP,IAGHO,EAAED,GAAON,CAAO,IAFhBO,EAAED,CAAK;AAAA,IAIX,CAAC;AAAA,EACH,GACC,CAACG,GAAOT,CAAO,CAAC;AACrB,GC/CaU,IAAmB,OAC9BC,GACAC,GACAC,IAAU,SACVC,IAAc,kBACX;AACH,QAAMC,IAAe,IAAIC,EAAaL,GAAUC,CAAK,GAC/C,EAAE,mBAAAK,EAAA,IAAuB,MAAMF,EAAa;AAAA,IAChDF;AAAA,IACAC;AAAA,EAAA,GAKII,IAAO,OAAO,SAAS;AAE7B,SAAO;AAAA,IACL,mBAAmB,OAAOZ,MACjB,MAAMS,EAAa,kBAAkB;AAAA,MAC1C,iBAAiB;AAAA,QACf,GAAGT;AAAA,QACH,aAAa;AAAA,QACb,YAAYa,EAAY,oBAAI,KAAA,CAAM,EAAE,SAAA;AAAA,QACpC,MAAAD;AAAA,QACA,MAAMZ,GAAO,SAAS;AAAA,QACtB,YAAYW,EAAkB;AAAA,QAC9B,YAAY,UAAU,aAAa;AAAA,QACnC,SAAS;AAAA,MAAA;AAAA,IACX,CACD;AAAA,IAEH,uBAAuB,OAAOG,MACrB,MAAML,EAAa,sBAAsB;AAAA,MAC9C,oBAAoB;AAAA,QAClB,GAAGK;AAAA,QACH,aAAa;AAAA,QACb,YAAYD,EAAY,oBAAI,KAAA,CAAM,EAAE,SAAA;AAAA,QACpC,MAAAD;AAAA,QACA,MAAME,EAAS;AAAA,QACf,YAAYH,EAAkB;AAAA,QAC9B,YAAY,UAAU,aAAa;AAAA,MAAA;AAAA,IACrC,CACD;AAAA,EACH;AAEJ;"}
@@ -137,3 +137,4 @@ const _ = {
137
137
  export {
138
138
  _ as A
139
139
  };
140
+ //# sourceMappingURL=Analytics-WeZYytR0.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Analytics-WeZYytR0.mjs","sources":["../src/common/constants/Analytics.ts"],"sourcesContent":["export const ANALYTICS_EVENTS = {\n ACCOUNTS_CLICK_ACCOUNT: 'accounts_widget_click_account',\n ACCOUNTS_CLICK_CONNECT: 'accounts_widget_click_connect_accounts',\n ACCOUNTS_CLICK_FILTER: 'accounts_widget_click_filter_accounts',\n ACCOUNTS_CLICK_SYNC: 'accounts_widget_click_sync',\n ACCOUNT_DETAILS_CLICK_HIDE: 'account_details_click_hide_account',\n ACCOUNT_DETAILS_CLICK_MARK_CLOSED: 'account_details_click_mark_as_closed',\n ACCOUNT_DETAILS_CLICK_MARK_DUPLICATE: 'account_details_click_mark_as_duplicate',\n ACCOUNT_DETAILS_CLICK_TRANSACTION: 'account_details_click_transaction',\n ACCOUNT_DETAILS_VIEW: 'account_details',\n ACCOUNT_DETAILS_VIEW_TRANSACTIONS: 'account_details_transactions',\n BUDGETS_CLICK_ADD: 'budgets_widget_click_add_budget',\n BUDGETS_CLICK_BUDGET_CATEGORY: 'budgets_widget_click_budget_category',\n BUDGETS_CLICK_EDIT_INCOME: 'budgets_widget_click_edit_income',\n BUDGETS_CLICK_FILTER: 'budgets_widget_click_filter_accounts',\n BUDGETS_VIEW: 'budgets',\n CASH_FLOW_CLICK_FILTER: 'cash_flow_widget_click_filter_accounts',\n CASH_FLOW_CLICK_SETTINGS: 'cash_flow_widget_click_settings',\n DEBTS_CLICK_CHART_AREA: 'debts_widget_click_chart_area',\n DEBTS_CLICK_FILTER: 'debts_widget_click_filter_accounts',\n DEBTS_CLICK_PAYDOWN: 'debts_widget_click_paydown',\n DEBTS_CLICK_PRIORITY: 'debts_widget_click_priority',\n DEBTS_CLICK_PRIORITIZE: 'debts_widget_click_prioritize',\n DEBTS_CLICK_SNOWBALL_CTA: 'debts_widget_click_snowball_cta',\n DEBTS_CLICK_TABLE_ROW: 'debts_widget_click_table_row',\n DEBTS_CLICK_TABLE_SORT: 'debts_widget_click_table_sort',\n DEBTS_SAVE_BALANCE_ACTION: 'debts_widget_click_balance_action',\n DEBTS_SAVE_PAYDOWN_ACTION: 'debts_widget_click_paydown_action',\n DEBTS_SAVE_PAYMENT_ACTION: 'debts_widget_click_payment_action',\n DEBTS_SAVE_RATE_ACTION: 'debts_widget_click_rate_action',\n DEBTS_VIEW: 'debts',\n DEBT_DETAILS_VIEW: 'debt_details',\n DEBT_SCHEDULE_VIEW: 'debt_schedule',\n GOALS_CLICK_ADD: 'goals_widget_click_add',\n GOALS_CLICK_FILTER: 'goals_widget_click_filter_accounts',\n GOALS_VIEW: 'goals',\n GOALS_MICRO_WIDGET_CTA: 'goals_micro_widget_click_see_details_cta',\n HELP_CLICK_CATEGORY: 'help_click_category',\n HELP_CLICK_REQUEST_SUPPORT: 'help_click_requestSupport',\n HELP_CLICK_SUPPORT_FOR_INSTITUTION: 'help_click_supportForInstitution',\n HELP_CLICK_SUPPORT_FOR_MISSING_INSTITUTION: 'help_click_supportForMissingInstitution',\n HELP_CLICK_SUPPORT_TOPIC: 'help_click_supportTopic',\n HELP_CLICK_TOPIC: 'help_click_topic',\n HELP_EXPAND_CATEGORY: 'help_expand_category',\n HELP_EXPAND_TOPIC: 'help_expand_topic',\n HELP_OPEN_SUPPORT_REQUEST: 'help_open_supportRequest',\n HELP_SUBMIT_SUPPORT_REQUEST: 'help_submit_supportRequest',\n INVESTMENTS: 'Investments',\n INVESTMENT_WIDGET_ACCOUNT_FILTER_CLICK: 'investment_widget_account_filter_click',\n INVESTMENT_WIDGET_ALLOCATION_CLICK: 'investment_widget_allocation_click',\n INVESTMENT_WIDGET_ANALYSIS_CLICK: 'investment_widget_analysis_click',\n INVESTMENT_WIDGET_DETAILS_CLICK: 'investment_widget_details_click',\n NET_WORTH_VIEW: 'net_worth',\n NETWORTH_MICRO_WIDGET_CTA: 'net_worth_micro_widget_click_see_details_cta',\n NET_WORTH_WIDGET_CLICK_ASSETS_LIABILITIES: 'net_worth_widget_click_view_assets_liabilities',\n NET_WORTH_WIDGET_CLICK_FILTER: 'net_worth_widget_click_filter_accounts',\n NET_WORTH_WIDGET_CLICK_TIMEFRAME: 'net_worth_widget_click_time_period',\n RECURRING_ACTIVITY_CLICK_ADD_EXPENSE:\n 'recurring_transactions_widget_manage_expenses_click_add_expense',\n RECURRING_ACTIVITY_CLICK_ADD_INCOME:\n 'recurring_transactions_widget_income_details_click_add_income',\n RECURRING_ACTIVITY_CLICK_CALENDAR_RIGHT: 'recurring_transactions_widget_click_calendar_right',\n RECURRING_ACTIVITY_CLICK_EXPENSE: 'recurring_transactions_widget_manage_expenses_click_expense',\n RECURRING_ACTIVITY_CLICK_FILTER: 'recurring_transactions_widget_click_filter_accounts',\n RECURRING_ACTIVITY_CLICK_INCOME: 'recurring_transactions_widget_click_income',\n RECURRING_ACTIVITY_CLICK_PAID: 'recurring_transactions_widget_click_paid_expense',\n RECURRING_ACTIVITY_CLICK_SETTINGS: 'recurring_transactions_widget_click_settings',\n RECURRING_ACTIVITY_CLICK_UPCOMING: 'recurring_transactions_widget_click_upcoming_transaction',\n RECURRING_TRANSACTIONS_CLICK_ADD_EXPENSE:\n 'recurring_transactions_widget_manage_expenses_click_add_expense',\n RECURRING_TRANSACTIONS_CLICK_ADD_INCOME:\n 'recurring_transactions_widget_income_details_click_add_income',\n RECURRING_TRANSACTIONS_CLICK_CALENDAR_RIGHT: 'recurring_transactions_widget_click_calendar_right',\n RECURRING_TRANSACTIONS_CLICK_EXPENSE:\n 'recurring_transactions_widget_manage_expenses_click_expense',\n RECURRING_TRANSACTIONS_CLICK_FILTER: 'recurring_transactions_widget_click_filter_accounts',\n RECURRING_TRANSACTIONS_CLICK_INCOME: 'recurring_transactions_widget_click_income',\n RECURRING_TRANSACTIONS_CLICK_PAID: 'recurring_transactions_widget_click_paid_expense',\n RECURRING_TRANSACTIONS_CLICK_SETTINGS: 'recurring_transactions_widget_click_settings',\n RECURRING_TRANSACTIONS_CLICK_UPCOMING: 'recurring_transactions_widget_click_upcoming_transaction',\n RECURRING_TRANSACTIONS_DETAILS_CLICK_DELETE: 'recurring_transactions_widget_details_click_delete',\n RECURRING_TRANSACTIONS_DETAILS_CLICK_PAYMENT_SCHEDULE:\n 'recurring_transactions_widget_details_click_payment_schedule',\n RECURRING_TRANSACTIONS_LIST_CLICK_MARK_AS_PAID:\n 'recurring_transactions_widget_list_click_mark_as_paid',\n RECURRING_TRANSACTIONS_LIST_CLICK_MARK_AS_UNPAID:\n 'recurring_transactions_widget_list_click_mark_as_unpaid',\n RECURRING_TRANSACTIONS_LIST_CLICK_MORE_MENU: 'recurring_transactions_widget_list_click_more_menu',\n RECURRING_TRANSACTIONS_MICRO_WIDGET_CTA: 'recurring_transactions_micro_widget_click_view_all_cta',\n SPENDING_CLICK_FILTER: 'spending_widget_click_filter_accounts',\n SPENDING_VIEW: 'spending',\n TRANSACTIONS_ADD_MANUAL_ACCOUNT_MODAL: 'transactions_add_manual_account_modal',\n TRANSACTIONS_CLICK_ADD: 'transactions_click_add_transaction',\n TRANSACTIONS_CLICK_DETAILS: 'transactions_click_transaction_details',\n TRANSACTIONS_CLICK_EXPORT: 'transactions_click_export_csv',\n TRANSACTIONS_CLICK_FILTER: 'transactions_click_filter_accounts',\n TRANSACTIONS_CLICK_SEARCH: 'transactions_click_search',\n TRANSACTIONS_VIEW: 'transactions',\n TRANSACTION_DETAILS_CLICK_AMOUNT: 'transaction_details_click_transaction_amount',\n TRANSACTION_DETAILS_CLICK_CATEGORY: 'transaction_details_click_category',\n TRANSACTION_DETAILS_CLICK_DATE: 'transaction_details_click_date',\n TRANSACTION_DETAILS_CLICK_DELETE_LOGO: 'transaction_details_click_delete_merchant_logo',\n TRANSACTION_DETAILS_CLICK_DESCRIPTION: 'transaction_details_click_edit_description',\n TRANSACTION_DETAILS_CLICK_FLAG: 'transaction_details_click_flag_transaction',\n TRANSACTION_DETAILS_CLICK_MEMO: 'transaction_details_click_memo',\n TRANSACTION_DETAILS_CLICK_SPLIT: 'transaction_details_click_split_transaction',\n TRANSACTION_DETAILS_CLICK_TAGS: 'transaction_details_click_tags',\n TRANSACTION_DETAILS_CLICK_UNSPLIT: 'transaction_details_click_unsplit_transaction',\n TRANSACTION_DETAILS_VIEW: 'transaction_details',\n TRANSACTIONS_TABLE_CLICK_CATEGORY: 'transactions_table_click_category',\n WIDGET_BACK_CLICK: 'widget_back_button_click',\n\n // NEW ANAYTICS EVENT FORMAT\n // widget_action_subject\n GOALS_CLICK_GET_STARTED: 'goals_click_getStarted',\n GOALS_CLICK_VIEW_DETAILS: 'goals_click_viewDetails',\n GOALS_LOAD_WIDGET: 'goals_load_widget',\n NET_WORTH_CLICK_GET_STARTED: 'netWorth_click_getStarted',\n NET_WORTH_CLICK_VIEW_DETAILS: 'netWorth_click_viewDetails',\n NET_WORTH_LOAD_WIDGET: 'netWorth_load_widget',\n RECURRING_TRANSACTIONS_CLICK_GET_STARTED: 'recurringTransactions_click_getStarted',\n RECURRING_TRANSACTIONS_CLICK_VIEW_ALL: 'recurringTransactions_click_viewAll',\n RECURRING_TRANSACTIONS_LOAD_WIDGET: 'recurringTransactions_load_widget',\n TRENDS_CLICK_ALL_CATEGORIES: 'trends_click_allCategories',\n TRENDS_CLICK_BACK: 'trends_click_back',\n TRENDS_CLICK_CHART: 'trends_click_chart',\n TRENDS_CLICK_CONNECT_ACCOUNTS: 'trends_click_connectAccounts',\n TRENDS_CLICK_EXPORT_CSV: 'trends_click_exportCSV',\n TRENDS_CLICK_FILTER: 'trends_click_filter',\n TRENDS_CLICK_GET_STARTED: 'trends_click_getStarted',\n TRENDS_CLICK_INSIGHT: 'trends_click_insight',\n TRENDS_CLICK_LEGEND: 'trends_click_legend',\n TRENDS_CLICK_LIST_ITEM: 'trends_click_listItem',\n TRENDS_CLICK_TABLE_SORT: 'trends_click_tableSort',\n TRENDS_CLICK_TIME_WINDOW: 'trends_click_timeWindow',\n TRENDS_CLICK_TOGGLE_VIEW: 'trends_click_toggleView',\n TRENDS_CLICK_VIEW_MORE: 'trends_click_viewMore',\n TRENDS_CLICK_VIEW_TRANSACTIONS: 'trends_click_viewTransactions',\n TRENDS_HOVER_AREA: 'trends_hover_chartArea',\n TRENDS_HOVER_POINT: 'trends_hover_chartPoint',\n TRENDS_HOVER_LEGEND: 'trends_hover_ChartLegend',\n TRENDS_LOAD_WIDGET: 'trends_load_widget',\n TRENDS_VIEW_TRANSACTIONS: 'trends_view_transactions',\n WIDGET_SIZE_CHANGED: 'widget_size_changed',\n}\n"],"names":["ANALYTICS_EVENTS"],"mappings":"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"}
@@ -47,3 +47,4 @@ const _ = {
47
47
  export {
48
48
  _ as A
49
49
  };
50
+ //# sourceMappingURL=ApiEndpoints-DXwIYNUV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiEndpoints-DXwIYNUV.mjs","sources":["../src/core/constants/ApiEndpoints.ts"],"sourcesContent":["export const ApiEndpoints = {\n ACCOUNTS: 'accounts',\n ANALYTICS_EVENTS: 'analytics_events',\n ANALYTICS_FEATURE_VISITS: 'feature_visits',\n ANALYTICS_PAGEVIEWS: 'analytics_pageviews',\n ANALYTICS_SESSION: 'analytics_sessions',\n APP_DATA: 'raja/data?type=master',\n BEATS: 'beats',\n BUDGETS: 'budgets',\n CATEGORIES: 'categories',\n DATE_RANGE_CATEGORY_TOTALS: 'date_range_category_totals',\n DEVICES: 'devices',\n EMAIL_VERIFICATIONS: 'email_verifications',\n GOALS: 'goals',\n HEALTH_SCORES: 'health_scores',\n HOLDINGS: 'holdings',\n INSTITUTIONS: 'institutions',\n INSIGHTS_NOTIFICATION_PROFILES: 'insight_notification_profiles',\n LOCALIZED_COPY: 'localized_copies',\n LOCALIZED_CONTENT: 'localized_content',\n MEMBERS: 'members',\n MERCHANTS: 'merchants',\n MERCHANT_BUDGETS: 'merchant_budgets',\n MONTHLY_CASH_FLOW_PROFILE: 'monthly_cash_flow_profile',\n MONTHLY_CATEGORY_TOTALS: 'monthly_category_totals',\n OFFERS: 'offers',\n NOTIFICATION_PROFILES: 'notification_profiles',\n NOTIFICATIONS: 'notifications',\n PHONE_VERIFICATIONS: 'sms_verification',\n PULSE_COMMUNICATIONS: 'pulse_communications',\n REPEATING_TRANSACTIONS: 'repeating_transactions',\n RETIREMENT_GOALS: 'retirement_goals',\n RETIREMENT_GOAL_ACCOUNTS: 'retirement_goal_accounts',\n SCHEDULED_PAYMENTS: 'scheduled_payments',\n SPENDING_PLANS: 'spending_plans',\n SUPPORT_TICKETS: 'support_tickets',\n TAGGINGS: 'taggings',\n TAGS: 'tags',\n TRANSACTION_RULES: 'transaction_rules',\n TRANSACTIONS: 'transactions',\n USER: 'user',\n USER_COMMUNICATION_PROFILE: 'user_communication_profile',\n USER_FEATURES: 'user_features',\n USER_PROFILES: 'user_profiles',\n WIDGET_URLS: 'widget_urls',\n}\n"],"names":["ApiEndpoints"],"mappings":"AAAO,MAAMA,IAAe;AAAA,EAC1B,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,0BAA0B;AAAA,EAC1B,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,4BAA4B;AAAA,EAC5B,SAAS;AAAA,EACT,qBAAqB;AAAA,EACrB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,UAAU;AAAA,EACV,cAAc;AAAA,EACd,gCAAgC;AAAA,EAChC,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,2BAA2B;AAAA,EAC3B,yBAAyB;AAAA,EACzB,QAAQ;AAAA,EACR,uBAAuB;AAAA,EACvB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,kBAAkB;AAAA,EAClB,0BAA0B;AAAA,EAC1B,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,mBAAmB;AAAA,EACnB,cAAc;AAAA,EACd,MAAM;AAAA,EACN,4BAA4B;AAAA,EAC5B,eAAe;AAAA,EACf,eAAe;AAAA,EACf,aAAa;AACf;"}
@@ -24,3 +24,4 @@ const h = ({
24
24
  export {
25
25
  h as B
26
26
  };
27
+ //# sourceMappingURL=BeatMaterialIcon-1KOfRZrA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BeatMaterialIcon-1KOfRZrA.mjs","sources":["../src/microinsights/beaticons/BeatMaterialIcon.tsx"],"sourcesContent":["import React from 'react'\nimport Avatar from '@mui/material/Avatar'\nimport { Icon } from '@mxenabled/mx-icons'\n\nconst BeatMaterialIcon = ({\n avatarSx,\n bgColor,\n name,\n iconColor = 'primary',\n fill = true,\n sx,\n}: {\n avatarSx?: React.ComponentProps<typeof Avatar>['sx']\n bgColor?: string\n name: string\n iconColor?: React.ComponentProps<typeof Icon>['color']\n fill?: boolean\n sx?: React.ComponentProps<typeof Icon>['sx']\n}) => {\n return (\n <Avatar\n sx={{\n bgcolor: bgColor,\n width: 32,\n height: 32,\n ...avatarSx,\n }}\n variant=\"rounded\"\n >\n <Icon color={iconColor} fill={fill} name={name} size={20} sx={sx} />\n </Avatar>\n )\n}\n\nexport default BeatMaterialIcon\n"],"names":["BeatMaterialIcon","avatarSx","bgColor","name","iconColor","fill","sx","jsx","Avatar","Icon"],"mappings":";;;AAIA,MAAMA,IAAmB,CAAC;AAAA,EACxB,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,MAAAC,IAAO;AAAA,EACP,IAAAC;AACF,MASI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,IAAI;AAAA,MACF,SAASN;AAAA,MACT,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,GAAGD;AAAA,IAAA;AAAA,IAEL,SAAQ;AAAA,IAER,UAAA,gBAAAM,EAACE,KAAK,OAAOL,GAAW,MAAAC,GAAY,MAAAF,GAAY,MAAM,IAAI,IAAAG,EAAA,CAAQ;AAAA,EAAA;AAAA;"}
@@ -72,3 +72,4 @@ export {
72
72
  D as g,
73
73
  w as i
74
74
  };
75
+ //# sourceMappingURL=BudgetUtil-Bg2AQJpQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BudgetUtil-Bg2AQJpQ.mjs","sources":["../src/core/utils/UserUtils.ts","../src/core/utils/BudgetUtil.ts"],"sourcesContent":["import type { UserFeature } from '../types'\n\nexport const isFeatureEnabled = (userFeatures: UserFeature[], featureName: string): boolean =>\n !!userFeatures.find((f) => f.feature_name === featureName)?.is_enabled\n","import type { Theme } from '@mui/system'\n\nimport type { Budget, BudgetColors, BudgetsCopy, DetailedCategory, DetailedBudget } from '../types'\n\nimport { findDetailedCategory, findDetailedSubCategory } from './CategoryUtil'\nimport { formatCurrency } from './NumberFormatting'\nimport { buildDynamicCopy } from './Localization'\n\nexport const getBudgetPercentage = (budgetAmount: number, totalAmount: number) => {\n // No budget amount and nothing spent results in zero percent and green bubble\n if (!budgetAmount && !totalAmount) {\n return 0\n }\n\n // No budget amount and money spent results in 101 percent and red bubble\n if (!budgetAmount && totalAmount) {\n return 101\n }\n\n // Budget amount and money spent results in calculating percentage for color\n return (totalAmount / budgetAmount) * 100\n}\n\nexport const getBudgetColors = (percentage: number, theme: Theme) => {\n const budgetColors: BudgetColors = {\n background: theme.palette.success.main,\n description: percentage <= 100 ? theme.palette.text.secondary : theme.palette.error.main,\n text: theme.palette.common.white,\n mercury: theme.palette.success.lighter,\n }\n\n if (percentage > 100) {\n budgetColors.background = theme.palette.error.main\n budgetColors.mercury = theme.palette.error.lighter\n } else if (percentage > 80) {\n budgetColors.background = theme.palette.warning.main\n budgetColors.text = theme.palette.grey['900']\n budgetColors.mercury = theme.palette.warning.lighter\n }\n\n return budgetColors\n}\n\nexport const getBudgetDifference = (budgets: DetailedBudget[]) => {\n const differences = budgets.map((budget) => {\n const currentAmount = budget.transaction_total\n const totalAmount = budget.amount\n return totalAmount - currentAmount\n })\n\n return differences.reduce((total, difference) => total + difference, 0)\n}\n\nexport const augmentBudgets = (\n budgets: Budget[],\n categories: DetailedCategory[],\n copy: BudgetsCopy,\n theme: Theme,\n): DetailedBudget[] => {\n const detailedBudgets = [] as DetailedBudget[]\n\n // Top-level Categories\n for (const budget of budgets) {\n const category = findDetailedCategory(categories, budget.category_guid)\n if (!category) continue\n\n const spent = category.totalAmount\n\n const percentage = getBudgetPercentage(budget.amount, spent)\n const difference = budget.amount - spent\n\n detailedBudgets.push({\n ...budget,\n budgetColors: getBudgetColors(percentage, theme),\n category,\n description: buildDynamicCopy(\n difference < 0 ? copy.budget_remaining_over : copy.budget_remaining_left,\n formatCurrency(Math.abs(difference), '0,0'),\n ) as string,\n percentage,\n subBudgets: [],\n transaction_total: spent,\n })\n }\n\n // Sub categories\n for (const budget of budgets) {\n const category = findDetailedSubCategory(categories, budget.category_guid)\n if (!category) continue\n\n const spent = category.currentAmount\n\n const parentBudget = detailedBudgets.find((b) => b.category_guid === category.parent_guid)\n if (!parentBudget) continue\n\n const difference = budget.amount - spent\n const percentage = getBudgetPercentage(budget.amount, spent)\n\n if (parentBudget) {\n parentBudget.subBudgets.push({\n ...budget,\n budgetColors: getBudgetColors(percentage, theme),\n category,\n description: buildDynamicCopy(\n difference < 0 ? copy.budget_remaining_over : copy.budget_remaining_left,\n formatCurrency(Math.abs(difference), '0,0'),\n ) as string,\n percentage,\n subBudgets: [],\n transaction_total: spent,\n })\n }\n }\n\n return detailedBudgets\n}\n\nexport const findBudget = (budgets: DetailedBudget[], guid: string): DetailedBudget | undefined => {\n return budgets.find((budget) => budget.guid === guid)\n}\n\nexport const findSubBudget = (\n budgets: DetailedBudget[],\n guid: string,\n parentGuid: string,\n): DetailedBudget | undefined => {\n const parent = findBudget(budgets, parentGuid)\n if (!parent) return undefined\n\n return findBudget(parent.subBudgets, guid)\n}\n\nexport const getRemainingAmountSpentPercentage = (totalTransaction: number, amount: number) => {\n const remainingAmount = Math.max(0, amount - totalTransaction)\n const spentPercentage = amount > 0 ? Math.min(100, (totalTransaction / amount) * 100) : 0\n\n let iconColor = 'success'\n if (spentPercentage >= 100) iconColor = 'error'\n else if (spentPercentage >= 50) iconColor = 'warning'\n\n return {\n remainingAmount,\n spentPercentage,\n iconColor,\n }\n}\n"],"names":["isFeatureEnabled","userFeatures","featureName","f","getBudgetPercentage","budgetAmount","totalAmount","getBudgetColors","percentage","theme","budgetColors","getBudgetDifference","budgets","budget","currentAmount","total","difference","augmentBudgets","categories","copy","detailedBudgets","category","findDetailedCategory","spent","buildDynamicCopy","formatCurrency","findDetailedSubCategory","parentBudget","findBudget","guid","findSubBudget","parentGuid","parent","getRemainingAmountSpentPercentage","totalTransaction","amount","remainingAmount","spentPercentage","iconColor"],"mappings":";;;AAEO,MAAMA,IAAmB,CAACC,GAA6BC,MAC5D,CAAC,CAACD,EAAa,KAAK,CAACE,MAAMA,EAAE,iBAAiBD,CAAW,GAAG,YCKjDE,IAAsB,CAACC,GAAsBC,MAEpD,CAACD,KAAgB,CAACC,IACb,IAIL,CAACD,KAAgBC,IACZ,MAIDA,IAAcD,IAAgB,KAG3BE,IAAkB,CAACC,GAAoBC,MAAiB;AACnE,QAAMC,IAA6B;AAAA,IACjC,YAAYD,EAAM,QAAQ,QAAQ;AAAA,IAClC,aAAaD,KAAc,MAAMC,EAAM,QAAQ,KAAK,YAAYA,EAAM,QAAQ,MAAM;AAAA,IACpF,MAAMA,EAAM,QAAQ,OAAO;AAAA,IAC3B,SAASA,EAAM,QAAQ,QAAQ;AAAA,EAAA;AAGjC,SAAID,IAAa,OACfE,EAAa,aAAaD,EAAM,QAAQ,MAAM,MAC9CC,EAAa,UAAUD,EAAM,QAAQ,MAAM,WAClCD,IAAa,OACtBE,EAAa,aAAaD,EAAM,QAAQ,QAAQ,MAChDC,EAAa,OAAOD,EAAM,QAAQ,KAAK,GAAK,GAC5CC,EAAa,UAAUD,EAAM,QAAQ,QAAQ,UAGxCC;AACT,GAEaC,IAAsB,CAACC,MACdA,EAAQ,IAAI,CAACC,MAAW;AAC1C,QAAMC,IAAgBD,EAAO;AAE7B,SADoBA,EAAO,SACNC;AACvB,CAAC,EAEkB,OAAO,CAACC,GAAOC,MAAeD,IAAQC,GAAY,CAAC,GAG3DC,IAAiB,CAC5BL,GACAM,GACAC,GACAV,MACqB;AACrB,QAAMW,IAAkB,CAAA;AAGxB,aAAWP,KAAUD,GAAS;AAC5B,UAAMS,IAAWC,EAAqBJ,GAAYL,EAAO,aAAa;AACtE,QAAI,CAACQ,EAAU;AAEf,UAAME,IAAQF,EAAS,aAEjBb,IAAaJ,EAAoBS,EAAO,QAAQU,CAAK,GACrDP,IAAaH,EAAO,SAASU;AAEnC,IAAAH,EAAgB,KAAK;AAAA,MACnB,GAAGP;AAAA,MACH,cAAcN,EAAgBC,GAAYC,CAAK;AAAA,MAC/C,UAAAY;AAAA,MACA,aAAaG;AAAA,QACXR,IAAa,IAAIG,EAAK,wBAAwBA,EAAK;AAAA,QACnDM,EAAe,KAAK,IAAIT,CAAU,GAAG,KAAK;AAAA,MAAA;AAAA,MAE5C,YAAAR;AAAA,MACA,YAAY,CAAA;AAAA,MACZ,mBAAmBe;AAAA,IAAA,CACpB;AAAA,EACH;AAGA,aAAWV,KAAUD,GAAS;AAC5B,UAAMS,IAAWK,EAAwBR,GAAYL,EAAO,aAAa;AACzE,QAAI,CAACQ,EAAU;AAEf,UAAME,IAAQF,EAAS,eAEjBM,IAAeP,EAAgB,KAAK,CAAC,MAAM,EAAE,kBAAkBC,EAAS,WAAW;AACzF,QAAI,CAACM,EAAc;AAEnB,UAAMX,IAAaH,EAAO,SAASU,GAC7Bf,IAAaJ,EAAoBS,EAAO,QAAQU,CAAK;AAE3D,IAAII,KACFA,EAAa,WAAW,KAAK;AAAA,MAC3B,GAAGd;AAAA,MACH,cAAcN,EAAgBC,GAAYC,CAAK;AAAA,MAC/C,UAAAY;AAAA,MACA,aAAaG;AAAA,QACXR,IAAa,IAAIG,EAAK,wBAAwBA,EAAK;AAAA,QACnDM,EAAe,KAAK,IAAIT,CAAU,GAAG,KAAK;AAAA,MAAA;AAAA,MAE5C,YAAAR;AAAA,MACA,YAAY,CAAA;AAAA,MACZ,mBAAmBe;AAAA,IAAA,CACpB;AAAA,EAEL;AAEA,SAAOH;AACT,GAEaQ,IAAa,CAAChB,GAA2BiB,MAC7CjB,EAAQ,KAAK,CAACC,MAAWA,EAAO,SAASgB,CAAI,GAGzCC,IAAgB,CAC3BlB,GACAiB,GACAE,MAC+B;AAC/B,QAAMC,IAASJ,EAAWhB,GAASmB,CAAU;AAC7C,MAAKC;AAEL,WAAOJ,EAAWI,EAAO,YAAYH,CAAI;AAC3C,GAEaI,IAAoC,CAACC,GAA0BC,MAAmB;AAC7F,QAAMC,IAAkB,KAAK,IAAI,GAAGD,IAASD,CAAgB,GACvDG,IAAkBF,IAAS,IAAI,KAAK,IAAI,KAAMD,IAAmBC,IAAU,GAAG,IAAI;AAExF,MAAIG,IAAY;AAChB,SAAID,KAAmB,MAAKC,IAAY,UAC/BD,KAAmB,OAAIC,IAAY,YAErC;AAAA,IACL,iBAAAF;AAAA,IACA,iBAAAC;AAAA,IACA,WAAAC;AAAA,EAAA;AAEJ;"}
@@ -299,3 +299,4 @@ export {
299
299
  a as b,
300
300
  E as c
301
301
  };
302
+ //# sourceMappingURL=Category-DEKZGLYe.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Category-DEKZGLYe.mjs","sources":["../src/core/constants/Category.ts"],"sourcesContent":["export const CategoryGuids = {\n // Top-level categories\n AUTO_AND_TRANSPORT: 'CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874',\n BILLS_AND_UTILITIES: 'CAT-79b02f2f-2adc-88f0-ac2b-4e71ead9cfc8',\n BUSINESS_SERVICES: 'CAT-94b11142-e97b-941a-f67f-6e18d246a23f',\n EDUCATION: 'CAT-bf5c9cca-c96b-b50d-440d-38d9adfda5b0',\n ENTERTAINMENT: 'CAT-e04e9d1e-e041-c315-2e50-094143ab3f73',\n FEES_AND_CHARGES: 'CAT-d73ee74b-13a4-ac3e-4015-fc4ba9a62b2a',\n FINANCIAL: 'CAT-6c7de3f8-de6c-7061-1dd2-b093044014bf',\n FOOD_AND_DINING: 'CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a',\n GIFTS_AND_DONATIONS: 'CAT-8edf9663-623e-4735-490e-31288f0a70b0',\n HEALTH_AND_FITNESS: 'CAT-52fa4693-c088-afb2-2a99-7bc39bb23a0f',\n HOME: 'CAT-b709172b-4eb7-318e-3b5d-e0f0500b32ac',\n INCOME: 'CAT-bf9f3294-4c40-1677-d269-54fbc189faf3',\n INVESTMENTS: 'CAT-ccd42390-9e8c-3fb6-a5d9-6c31182d9c5c',\n KIDS: 'CAT-0cb1d99d-f558-99e3-2282-b31f359b411a',\n PERSONAL_CARE: 'CAT-e5154228-fe45-790d-a280-f6bf5ae5ac9f',\n PETS: 'CAT-7cccbafa-87d7-c9a6-661b-8b3402fe9e78',\n SHOPPING: 'CAT-aad51b46-d6f7-3da5-fd6e-492328b3023f',\n TAXES: 'CAT-d00fc539-aa14-009b-4ffb-7e8c7b839954',\n TRANSFER: 'CAT-bce48142-fea4-ff45-20d9-0a642d44de83',\n TRAVEL: 'CAT-ea23d844-cbd1-eb10-f6ac-0df9610e59ae',\n UNCATEGORIZED: 'CAT-d7851c65-3353-e490-1953-fb9235e681e4',\n // Subcategories\n LOCAL_TAX: 'CAT-0bbdacce-ba14-3e73-e1aa-cc64e671575c',\n WITHDRAWAL: 'CAT-00c762a2-be42-c735-2d3f-b14a1e58453f',\n TRADE_COMMISSIONS: 'CAT-1a01ddd4-9a37-b96b-33dc-6c68457e7806',\n BABYSITTER_DAYCARE: 'CAT-2ba97a5c-a371-3b4f-d018-cba64bb9767a',\n CHILD_SUPPORT: 'CAT-2cb0a3a8-3f05-9325-1203-27ed2d619dce',\n CREDIT_CARD_PAYMENT: 'CAT-2cc9b500-e09d-88be-e3e0-0a8a82a54586',\n STUDENT_LOAN: 'CAT-2ce4972e-5620-57be-8475-d084edf88888',\n LIFE_INSURANCE: 'CAT-2cf64b94-e966-0949-0d07-b211080ddaa6',\n PRINTING: 'CAT-3b09fb0b-3296-c76c-2bbd-a2bce0012d83',\n FINANCIAL_ADVISOR: 'CAT-3db5697d-5dce-6bd9-c08f-5065b25e96c8',\n INTEREST_INCOME: 'CAT-5aa555dc-a071-c727-8d04-cb337832d342',\n LATE_FEE: 'CAT-5bfddc95-a506-b1d2-0f73-63b1afeddb91',\n LAWN_GARDEN: 'CAT-5cc7f5e2-3f2e-61ce-52e7-4acf366c2ee3',\n FINANCE_CHARGE: 'CAT-5dab8347-e0b4-daf9-0a65-f2be80feb8ad',\n FRAUD_PROTECTION: 'CAT-5f7f2084-6f8a-d927-6fa7-8e699912432a',\n MOVIES_DVDS: 'CAT-6ab65efd-36e4-69ca-969a-a7304d05240a',\n HOME_INSURANCE: 'CAT-6cb40bc6-0c0d-6fae-db3b-62a6bc4bb1a2',\n CASH: 'CAT-08a5d861-2890-686e-ebaf-d7632ec88540',\n TUITION: 'CAT-8b01fafd-9bf5-7999-49c9-cb67da50b14d',\n HEALTH_INSURANCE: 'CAT-8faa2a11-f393-9c13-2885-e7d11fa6a51a',\n DIVIDEND_CAP_GAINS: 'CAT-9b21122f-bd17-97ce-ef5c-3f034e75fd6c',\n ALCOHOL_BARS: 'CAT-9d58b17b-0982-18b5-5a6e-8a76337c4f88',\n LEGAL: 'CAT-13c1e57c-3749-41b4-3bc4-b1b334adab85',\n PUBLIC_TRANSPORTATION: 'CAT-19e6ec13-83ed-5511-7f75-3688d3f97a8e',\n MORTGAGE_RENT: 'CAT-23b4b4c6-5fbb-9299-b887-4b56196e6fb4',\n HOTEL: 'CAT-28be9904-9f4c-c4af-d2b7-bb24763ae0ae',\n TRANSFER_FOR_CASH_SPENDING: 'CAT-28d5fc92-cb41-8daa-3ab7-6f7bbde118fb',\n UTILITIES: 'CAT-56a2979d-d6df-25da-f357-06282f08208e',\n DEPOSIT: 'CAT-58aced66-6d70-4024-7667-77e98b6e5805',\n HOME_PHONE: 'CAT-60d81dd3-8ac1-a6fb-b181-b736dbb42be3',\n SERVICE_PARTS: 'CAT-67a20fb1-1a61-dc27-3fff-f28fa904025f',\n INTERNET: 'CAT-78d29c63-54db-197d-9851-feeb94cf6e10',\n BOOKS: 'CAT-80a40aa1-9f7e-2393-0dfe-b222dc8099a2',\n NEWSPAPERS_MAGAZINES: 'CAT-84f5a582-f620-bea1-fb2c-a746094e9955',\n FAST_FOOD: 'CAT-88cbb033-0fc1-ff06-6532-0f357c0f5081',\n COFFEE_SHOPS: 'CAT-93ebd80b-4801-cf52-e844-91594ed4c217',\n SELL: 'CAT-095e8e70-f5fa-9e68-8187-6cac76d14f85',\n OFFICE_SUPPLIES: 'CAT-97a2b899-5a32-4196-b87c-a8e65d8a9849',\n PET_GROOMING: 'CAT-99b03e0f-c678-268b-a97c-81092e68efab',\n AMUSEMENT: 'CAT-163c92ab-5ac1-3125-6a0b-c3aff5cdbb59',\n BOOKS_SUPPLIES: 'CAT-167d816f-c68e-9988-e064-173dc6417a90',\n VACATION: 'CAT-206fbc35-a569-c89a-30be-a3b65d0fbea7',\n SERVICE_FEE: 'CAT-386e01dd-8cc0-a433-f4a9-b3a2d153abbf',\n GIFT: 'CAT-465a2e70-099b-dc43-4422-913c21311002',\n CHARITY: 'CAT-583f1ede-3608-3ec6-b39b-0874198626ed',\n PARKING: 'CAT-726da718-d572-1e4d-7c3f-0b8b5370fe71',\n SHIPPING: 'CAT-748efd05-e27a-5c79-1217-681a0ec5cc67',\n ARTS: 'CAT-967a9441-5694-9419-6b40-67f15cd55fe4',\n PAYCHECK: 'CAT-982ea9e6-3f0e-0c5b-611b-6657a10ba819',\n FURNISHINGS: 'CAT-2910e436-7fed-f922-184c-60bc1b6c5417',\n RESTAURANTS: 'CAT-006862be-64a0-e778-f035-0936445b9c16',\n SPA_MASSAGE: 'CAT-8008cdab-ba5c-26e9-310d-a3ff4afeeb62',\n RENTAL_CAR_TAXI: 'CAT-9588eaad-90a4-bb5c-66c8-1812503d0db8',\n ALLOWANCE: 'CAT-9961e379-d9e9-490c-1c4b-bfa233899167',\n BANKING_FEE: 'CAT-30283e5b-f0fb-d8ab-a9fd-de992b508eac',\n BUY: 'CAT-70215a5e-bd15-e0ac-3842-058b5e8e99b7',\n STATE_TAX: 'CAT-7248227b-303e-ee19-e30c-c4f389da169b',\n TOYS: 'CAT-7524310a-da68-ac09-2312-71ca60a40ec0',\n KIDS_ACTIVITIES: 'CAT-32012156-b11d-a1db-9697-b15432e18215',\n RENTAL_INCOME: 'CAT-67070667-8b54-b450-4e84-5f8da2d70d85',\n VETERINARY: 'CAT-71380790-762a-6e2a-d79e-d7f47689af25',\n SPORTING_GOODS: 'CAT-a9abd9b1-2e2c-4236-040d-fb414d334419',\n LAUNDRY: 'CAT-a9fb2085-ce57-a196-4cbd-338c85bae0b0',\n CLOTHING: 'CAT-a96c2e17-f69a-9805-34aa-633276a42cec',\n PHARMACY: 'CAT-a5600b35-c9b1-347d-f678-781597851104',\n HOME_SERVICES: 'CAT-a64154ee-d5e9-09c7-d5f1-59b3273c6e3c',\n ATM_FEE: 'CAT-ac2eba3a-100a-30ac-09c3-d7d88415ca1a',\n HAIR: 'CAT-af671119-50a2-636c-ddfe-c794c38e8181',\n GROCERIES: 'CAT-b1de2a04-db08-b6ed-f6fe-ca2f5b11c2d0',\n GAS: 'CAT-b6d63a19-30a7-e852-2703-bdfb4072289e',\n FEDERAL_TAX: 'CAT-b8cc4011-cdc9-10b0-b79d-bf1d534296dc',\n HOSTING: 'CAT-b74fdd98-4391-8015-eafa-e9ca0fad3bee',\n TELEVISION: 'CAT-b316e683-c898-6497-a476-6bc48d12e51d',\n MOBILE_PHONE: 'CAT-b4789667-6acc-a112-975e-15746003ed61',\n BABY_SUPPLIES: 'CAT-c9c99041-e009-4a45-4b1d-fa92daeb5dd4',\n MUSIC: 'CAT-c874ccff-d069-40df-d7c5-ddba6fbdd225',\n MORTGAGE_PAYMENT: 'CAT-c94442a5-a762-8830-4c80-2a2f6a79e627',\n SPORTS: 'CAT-cb3de962-ea82-27a9-d096-c232caeb96bd',\n AUTO_PAYMENT: 'CAT-cb93691a-684d-b326-4c32-f8abaecfde90',\n GYM: 'CAT-cd9f9f60-622d-0488-d203-044c8726a7eb',\n REIMBURSEMENT: 'CAT-ce7b7bc8-71b7-9f41-af10-b8c2d5bafc37',\n AIR_TRAVEL: 'CAT-cf82d772-fbe2-4658-303a-f4cd13d9c3c2',\n EYECARE: 'CAT-cf183729-fb60-d16a-32d0-2e1d21ff21cd',\n HOBBIES: 'CAT-d1e54c52-80cc-01ba-3907-5bbdaa0ff521',\n SALES_TAX: 'CAT-d1244982-f8d0-09b8-77bb-6495c6e0c12a',\n ELECTRONICS_SOFTWARE: 'CAT-db5d480c-5130-b42e-def4-f6dabf9c1d10',\n DOCTOR: 'CAT-db6391b3-c218-fbe5-e496-139dca993645',\n RETURNED_PURCHASE: 'CAT-dc201021-6aa2-636b-f041-8577e6f1bc73',\n HOME_IMPROVEMENT: 'CAT-ddc9b8e0-a9a1-e31e-a467-2c33e553afd9',\n AUTO_INSURANCE: 'CAT-de7c2dc7-90e6-85a2-6509-5ec10942e887',\n PROPERTY_TAX: 'CAT-dfdf9324-3c48-589d-8886-bb21bb73b5d6',\n DOMAIN_NAMES: 'CAT-e7c5ebc7-f73d-955a-db06-3724bbcf6faa',\n HOME_SUPPLIES: 'CAT-e671e3a1-b7cb-f0a9-ac6e-bc4632245c31',\n ADVERTISING: 'CAT-e6682ebe-f239-c654-8233-0970b94cc162',\n CHECK: 'CAT-ea6db36f-3985-719d-1304-ccb7eeef5ecc',\n DENTIST: 'CAT-ee48b740-c981-778b-3c02-04540dec0262',\n BONUS: 'CAT-f52f2a88-2cb6-04e4-e36a-58f7b7c6a798',\n PET_FOOD_SUPPLIES: 'CAT-fbcdb437-2533-2857-1d1a-0624c9d9e1dc',\n}\n\nexport const PaymentCategories = [\n CategoryGuids.CREDIT_CARD_PAYMENT,\n CategoryGuids.MORTGAGE_PAYMENT,\n CategoryGuids.AUTO_PAYMENT,\n]\n\nexport const CategoryGuidToName = {\n // Top-level categories\n [CategoryGuids.AUTO_AND_TRANSPORT]: 'Auto & Transport',\n [CategoryGuids.BILLS_AND_UTILITIES]: 'Bills & Utilities',\n [CategoryGuids.BUSINESS_SERVICES]: 'Business Services',\n [CategoryGuids.EDUCATION]: 'Education',\n [CategoryGuids.ENTERTAINMENT]: 'Entertainment',\n [CategoryGuids.FEES_AND_CHARGES]: 'Fees & Charges',\n [CategoryGuids.FINANCIAL]: 'Financial',\n [CategoryGuids.FOOD_AND_DINING]: 'Food & Dining',\n [CategoryGuids.GIFTS_AND_DONATIONS]: 'Gifts & Donations',\n [CategoryGuids.HEALTH_AND_FITNESS]: 'Health & Fitness',\n [CategoryGuids.HOME]: 'Home',\n [CategoryGuids.INCOME]: 'Income',\n [CategoryGuids.INVESTMENTS]: 'Investments',\n [CategoryGuids.KIDS]: 'Kids',\n [CategoryGuids.PERSONAL_CARE]: 'Personal Care',\n [CategoryGuids.PETS]: 'Pets',\n [CategoryGuids.SHOPPING]: 'Shopping',\n [CategoryGuids.TAXES]: 'Taxes',\n [CategoryGuids.TRANSFER]: 'Transfer',\n [CategoryGuids.TRAVEL]: 'Travel',\n [CategoryGuids.UNCATEGORIZED]: 'Uncategorized',\n // Subcategories\n [CategoryGuids.LOCAL_TAX]: 'Local Tax',\n [CategoryGuids.WITHDRAWAL]: 'Withdrawal',\n [CategoryGuids.TRADE_COMMISSIONS]: 'Trade Commissions',\n [CategoryGuids.BABYSITTER_DAYCARE]: 'Babysitter & Daycare',\n [CategoryGuids.CHILD_SUPPORT]: 'Child Support',\n [CategoryGuids.CREDIT_CARD_PAYMENT]: 'Credit Card Payment',\n [CategoryGuids.STUDENT_LOAN]: 'Student Loan',\n [CategoryGuids.LIFE_INSURANCE]: 'Life Insurance',\n [CategoryGuids.PRINTING]: 'Printing',\n [CategoryGuids.FINANCIAL_ADVISOR]: 'Financial Advisor',\n [CategoryGuids.INTEREST_INCOME]: 'Interest Income',\n [CategoryGuids.LATE_FEE]: 'Late Fee',\n [CategoryGuids.LAWN_GARDEN]: 'Lawn & Garden',\n [CategoryGuids.FINANCE_CHARGE]: 'Finance Charge',\n [CategoryGuids.FRAUD_PROTECTION]: 'Fraud Protection',\n [CategoryGuids.MOVIES_DVDS]: 'Movies & DVDs',\n [CategoryGuids.HOME_INSURANCE]: 'Home Insurance',\n [CategoryGuids.CASH]: 'Cash',\n [CategoryGuids.TUITION]: 'Tuition',\n [CategoryGuids.HEALTH_INSURANCE]: 'Health Insurance',\n [CategoryGuids.DIVIDEND_CAP_GAINS]: 'Dividend & Cap Gains',\n [CategoryGuids.ALCOHOL_BARS]: 'Alcohol & Bars',\n [CategoryGuids.LEGAL]: 'Legal',\n [CategoryGuids.PUBLIC_TRANSPORTATION]: 'Public Transportation',\n [CategoryGuids.MORTGAGE_RENT]: 'Mortgage & Rent',\n [CategoryGuids.HOTEL]: 'Hotel',\n [CategoryGuids.TRANSFER_FOR_CASH_SPENDING]: 'Transfer for Cash Spending',\n [CategoryGuids.UTILITIES]: 'Utilities',\n [CategoryGuids.DEPOSIT]: 'Deposit',\n [CategoryGuids.HOME_PHONE]: 'Home Phone',\n [CategoryGuids.SERVICE_PARTS]: 'Service Parts',\n [CategoryGuids.INTERNET]: 'Internet',\n [CategoryGuids.BOOKS]: 'Books',\n [CategoryGuids.NEWSPAPERS_MAGAZINES]: 'Newspapers & Magazines',\n [CategoryGuids.FAST_FOOD]: 'Fast Food',\n [CategoryGuids.COFFEE_SHOPS]: 'Coffee Shops',\n [CategoryGuids.SELL]: 'Sell',\n [CategoryGuids.OFFICE_SUPPLIES]: 'Office Supplies',\n [CategoryGuids.PET_GROOMING]: 'Pet Grooming',\n [CategoryGuids.AMUSEMENT]: 'Amusement',\n [CategoryGuids.BOOKS_SUPPLIES]: 'Books & Supplies',\n [CategoryGuids.VACATION]: 'Vacation',\n [CategoryGuids.SERVICE_FEE]: 'Service Fee',\n [CategoryGuids.GIFT]: 'Gift',\n [CategoryGuids.CHARITY]: 'Charity',\n [CategoryGuids.PARKING]: 'Parking',\n [CategoryGuids.SHIPPING]: 'Shipping',\n [CategoryGuids.ARTS]: 'Arts',\n [CategoryGuids.PAYCHECK]: 'Paycheck',\n [CategoryGuids.FURNISHINGS]: 'Furnishings',\n [CategoryGuids.RESTAURANTS]: 'Restaurants',\n [CategoryGuids.SPA_MASSAGE]: 'Spa & Massage',\n [CategoryGuids.RENTAL_CAR_TAXI]: 'Rental Car & Taxi',\n [CategoryGuids.ALLOWANCE]: 'Allowance',\n [CategoryGuids.BANKING_FEE]: 'Banking Fee',\n [CategoryGuids.BUY]: 'Buy',\n [CategoryGuids.STATE_TAX]: 'State Tax',\n [CategoryGuids.TOYS]: 'Toys',\n [CategoryGuids.KIDS_ACTIVITIES]: 'Kids Activities',\n [CategoryGuids.RENTAL_INCOME]: 'Rental Income',\n [CategoryGuids.VETERINARY]: 'Veterinary',\n [CategoryGuids.SPORTING_GOODS]: 'Sporting Goods',\n [CategoryGuids.LAUNDRY]: 'Laundry',\n [CategoryGuids.CLOTHING]: 'Clothing',\n [CategoryGuids.PHARMACY]: 'Pharmacy',\n [CategoryGuids.HOME_SERVICES]: 'Home Services',\n [CategoryGuids.ATM_FEE]: 'ATM Fee',\n [CategoryGuids.HAIR]: 'Hair',\n [CategoryGuids.GROCERIES]: 'Groceries',\n [CategoryGuids.GAS]: 'Gas',\n [CategoryGuids.FEDERAL_TAX]: 'Federal Tax',\n [CategoryGuids.HOSTING]: 'Hosting',\n [CategoryGuids.TELEVISION]: 'Television',\n [CategoryGuids.MOBILE_PHONE]: 'Mobile Phone',\n [CategoryGuids.BABY_SUPPLIES]: 'Baby Supplies',\n [CategoryGuids.MUSIC]: 'Music',\n [CategoryGuids.MORTGAGE_PAYMENT]: 'Mortgage Payment',\n [CategoryGuids.SPORTS]: 'Sports',\n [CategoryGuids.AUTO_PAYMENT]: 'Auto Payment',\n [CategoryGuids.GYM]: 'Gym',\n [CategoryGuids.REIMBURSEMENT]: 'Reimbursement',\n [CategoryGuids.AIR_TRAVEL]: 'Air Travel',\n [CategoryGuids.EYECARE]: 'Eyecare',\n [CategoryGuids.HOBBIES]: 'Hobbies',\n [CategoryGuids.SALES_TAX]: 'Sales Tax',\n [CategoryGuids.ELECTRONICS_SOFTWARE]: 'Electronics & Software',\n [CategoryGuids.DOCTOR]: 'Doctor',\n [CategoryGuids.RETURNED_PURCHASE]: 'Returned Purchase',\n [CategoryGuids.HOME_IMPROVEMENT]: 'Home Improvement',\n [CategoryGuids.AUTO_INSURANCE]: 'Auto Insurance',\n [CategoryGuids.PROPERTY_TAX]: 'Property Tax',\n [CategoryGuids.DOMAIN_NAMES]: 'Domain Names',\n [CategoryGuids.HOME_SUPPLIES]: 'Home Supplies',\n [CategoryGuids.ADVERTISING]: 'Advertising',\n [CategoryGuids.CHECK]: 'Check',\n [CategoryGuids.DENTIST]: 'Dentist',\n [CategoryGuids.BONUS]: 'Bonus',\n [CategoryGuids.PET_FOOD_SUPPLIES]: 'Pet Food & Supplies',\n}\n\nexport const CategoryColors = {\n [CategoryGuids.AUTO_AND_TRANSPORT]: '#4B9DBC',\n [CategoryGuids.BILLS_AND_UTILITIES]: '#EF9B2C',\n [CategoryGuids.BUSINESS_SERVICES]: '#B3DE8C',\n [CategoryGuids.EDUCATION]: '#F8AB3A',\n [CategoryGuids.ENTERTAINMENT]: '#AB5B89',\n [CategoryGuids.FEES_AND_CHARGES]: '#FF9696',\n [CategoryGuids.FINANCIAL]: '#6BCDDB',\n [CategoryGuids.FOOD_AND_DINING]: '#58AC7B',\n [CategoryGuids.GIFTS_AND_DONATIONS]: '#347AA5',\n [CategoryGuids.HEALTH_AND_FITNESS]: '#5C446E',\n [CategoryGuids.HOME]: '#FFD84D',\n [CategoryGuids.INCOME]: '#133F49',\n [CategoryGuids.INVESTMENTS]: '#FF7070',\n [CategoryGuids.KIDS]: '#82D196',\n [CategoryGuids.PERSONAL_CARE]: '#338B7A',\n [CategoryGuids.PETS]: '#615BAB',\n [CategoryGuids.SHOPPING]: '#CF5F84',\n [CategoryGuids.TAXES]: '#32588D',\n [CategoryGuids.TRANSFER]: '#959CA6',\n [CategoryGuids.TRAVEL]: '#E37434',\n [CategoryGuids.UNCATEGORIZED]: '#FA5555',\n}\n\nexport const CategoryIcon = {\n [CategoryGuids.AUTO_AND_TRANSPORT]: 'directions_car',\n [CategoryGuids.BILLS_AND_UTILITIES]: 'electrical_services',\n [CategoryGuids.BUSINESS_SERVICES]: 'business_center',\n [CategoryGuids.EDUCATION]: 'school',\n [CategoryGuids.ENTERTAINMENT]: 'stadium',\n [CategoryGuids.FEES_AND_CHARGES]: 'problem',\n [CategoryGuids.FINANCIAL]: 'price_check',\n [CategoryGuids.FOOD_AND_DINING]: 'grocery',\n [CategoryGuids.GIFTS_AND_DONATIONS]: 'featured_seasonal_and_gifts',\n [CategoryGuids.HEALTH_AND_FITNESS]: 'ecg_heart',\n [CategoryGuids.HOME]: 'cottage',\n [CategoryGuids.INCOME]: 'monetization_on',\n [CategoryGuids.INVESTMENTS]: 'bid_landscape',\n [CategoryGuids.KIDS]: 'face',\n [CategoryGuids.PERSONAL_CARE]: 'volunteer_activism',\n [CategoryGuids.PETS]: 'pet_supplies',\n [CategoryGuids.SHOPPING]: 'shopping_cart',\n [CategoryGuids.TAXES]: 'heap_snapshot_large',\n [CategoryGuids.TRANSFER]: 'compare_arrows',\n [CategoryGuids.TRAVEL]: 'airplane_ticket',\n [CategoryGuids.UNCATEGORIZED]: 'category',\n UNKNOWN: 'help',\n}\n"],"names":["CategoryGuids","PaymentCategories","CategoryGuidToName","CategoryColors","CategoryIcon"],"mappings":"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"}
@@ -428,3 +428,4 @@ export {
428
428
  Je as b,
429
429
  y as u
430
430
  };
431
+ //# sourceMappingURL=CategorySelectorDrawer-NJsFsKP1.mjs.map