@mx-cartographer/experiences 8.0.0-alpha.bb2 → 8.0.0-alpha.bb4

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 (222) hide show
  1. package/CHANGELOG.md +128 -1
  2. package/dist/{Account-Bxw0_4FU.mjs → Account-B4CDD-zq.mjs} +1 -1
  3. package/dist/AccountDetailsContent-adZTkM52.mjs +683 -0
  4. package/dist/AccountDetailsHeader-DRjFuyJT.mjs +87 -0
  5. package/dist/{AccountFields-C9FlatNb.mjs → AccountFields-Cl4KHoSj.mjs} +14 -12
  6. package/dist/AccountListItem-wgmlex-_.mjs +90 -0
  7. package/dist/{AccountStore-BgNOyMdp.mjs → AccountStore-HbVblv86.mjs} +19 -8
  8. package/dist/{Accounts-BRf_YeTf.mjs → Accounts-CRUehOiy.mjs} +1 -1
  9. package/dist/{BeatApi-DhJpgCLz.mjs → BeatApi-De2IaqH2.mjs} +1 -1
  10. package/dist/{BeatStore-IBnXd4YK.mjs → BeatStore-D_NYuBSz.mjs} +1 -1
  11. package/dist/{BudgetUtil-B2ZXyw-g.mjs → BudgetUtil-Jv8h9H9l.mjs} +33 -33
  12. package/dist/{CashflowStore-D9Dpuz7X.mjs → CashflowStore-CA190BPF.mjs} +18 -25
  13. package/dist/{Category-CevNQ03n.mjs → Category-Ccoew_sA.mjs} +2 -2
  14. package/dist/{CategorySelectorDrawer-DUe4lH5-.mjs → CategorySelectorDrawer-Dl006GKy.mjs} +43 -41
  15. package/dist/{CategoryStore-yHI0hWmK.mjs → CategoryStore-MUwRWH9e.mjs} +13 -11
  16. package/dist/{CategoryUtil-pZRIYOgN.mjs → CategoryUtil-DfVKKkRf.mjs} +4 -4
  17. package/dist/{ConnectDrawer-BQNs-hjk.mjs → ConnectDrawer-DVp54lUH.mjs} +49 -48
  18. package/dist/{ConnectionsDrawer-ByGQE7D5.mjs → ConnectionsDrawer-Dsc04-4Z.mjs} +3 -3
  19. package/dist/CurrencyInput-D1cjbdCI.mjs +85 -0
  20. package/dist/{CurrencyText-kyC1aseI.mjs → CurrencyText-Dr0EZ7bp.mjs} +1 -1
  21. package/dist/{DateUtil-BcuH7ErC.mjs → DateUtil-CDPZw_-m.mjs} +3 -3
  22. package/dist/{DebtsStore-C9bblOgW.mjs → DebtsStore-pL63fmdT.mjs} +3 -3
  23. package/dist/{Dialog-CWW597AF.mjs → Dialog-CDV0kKxj.mjs} +24 -24
  24. package/dist/{Donut-oaQFlbit.mjs → Donut-Dmy3JTWd.mjs} +12 -12
  25. package/dist/Drawer-BF40nbsH.mjs +163 -0
  26. package/dist/{EmptyState-DA_lfRBv.mjs → EmptyState-DoxNUae-.mjs} +24 -22
  27. package/dist/{ExportCsvAction-sX8Rg4Ov.mjs → ExportCsvAction-QhQK4_FU.mjs} +4 -4
  28. package/dist/{Fetch-87LIQbEA.mjs → Fetch-DecPFeGU.mjs} +24 -22
  29. package/dist/FinstrongStore-BGf36b0z.mjs +451 -0
  30. package/dist/{GoalStore-D-aB35SY.mjs → GoalStore-C1-w3Y1E.mjs} +7 -7
  31. package/dist/HeaderCell-P8w6CmfO.mjs +6 -0
  32. package/dist/{Help-B6dIcujh.mjs → Help-DBfsTkAi.mjs} +125 -146
  33. package/dist/{Help-DhcC-C05.mjs → Help-c-zHlDbv.mjs} +8 -8
  34. package/dist/{IconBacking-B9oC6uL2.mjs → IconBacking-DgT8DCeh.mjs} +11 -11
  35. package/dist/LineChart-C1PxNf7P.mjs +581 -0
  36. package/dist/{ListItemAction-DHa3KJPs.mjs → ListItemAction-BNCWQAN_.mjs} +10 -10
  37. package/dist/Loader-Ckqi9Rx6.mjs +21 -0
  38. package/dist/{ManageIncome-1s_q5W4X.mjs → ManageIncome-8EsStyIQ.mjs} +195 -192
  39. package/dist/{MerchantStore-DrFvsUyy.mjs → MerchantStore-WvZ4gnQe.mjs} +1 -1
  40. package/dist/MicroWidgetContainer-BGpNl5ZS.mjs +45 -0
  41. package/dist/MiniWidgetContainer-CKzf_Ira.mjs +56 -0
  42. package/dist/{NetWorthStore-DCsTZpuS.mjs → NetWorthStore-Bti6u-d9.mjs} +4 -4
  43. package/dist/{NotificationSettings-DqrkNMod.mjs → NotificationSettings-B74rQVYC.mjs} +276 -273
  44. package/dist/{NotificationStore-BxP_P2dA.mjs → NotificationStore-Ck2KdNmT.mjs} +10 -10
  45. package/dist/{NumberFormatting-Buh7u8Oi.mjs → NumberFormatting-DjTD0t3W.mjs} +9 -9
  46. package/dist/{OriginalBalanceAction-CWuVvRq9.mjs → OriginalBalanceAction-2Y_3U_mg.mjs} +10 -10
  47. package/dist/{RecurringSettings-A_rAGCTP.mjs → RecurringSettings-DAncu--R.mjs} +17 -17
  48. package/dist/{RecurringTransactions-DK8dWldr.mjs → RecurringTransactions-CxcSL1dY.mjs} +106 -105
  49. package/dist/{RecurringTransactionsStore-C4YOD7_D.mjs → RecurringTransactionsStore-CNFxyGB6.mjs} +80 -73
  50. package/dist/{ResponsiveButton-DZFp78fJ.mjs → ResponsiveButton-Cn6-R7ue.mjs} +10 -10
  51. package/dist/SearchBox-B7km148n.mjs +39 -0
  52. package/dist/{SettingsStore-BcgS_Ohv.mjs → SettingsStore-BASMQSIp.mjs} +3 -3
  53. package/dist/{SingleSegmentDonut-BgbLgwHi.mjs → SingleSegmentDonut-7Uy6VEld.mjs} +6 -6
  54. package/dist/SkeletonLoader-BaNboJjD.mjs +38 -0
  55. package/dist/{SpendingData-D5vsfYKo.mjs → SpendingData-DPQ96k3x.mjs} +19 -19
  56. package/dist/SpendingLegend-6FqtMcBV.mjs +193 -0
  57. package/dist/{StatusBar-BK_uYHAB.mjs → StatusBar-CPfSXe80.mjs} +6 -6
  58. package/dist/{TabContentContainer-j01JYR_7.mjs → TabContentContainer-CnMXkVqr.mjs} +8 -8
  59. package/dist/{ToggleListItem-r0Kx56wF.mjs → ToggleListItem-ciFTiqRS.mjs} +19 -14
  60. package/dist/TransactionApi-CjBoLleL.mjs +86 -0
  61. package/dist/TransactionDetails-Bn0qY5Hw.mjs +1336 -0
  62. package/dist/{TransactionStore-ai3uII_r.mjs → TransactionStore-DbwAutwC.mjs} +146 -165
  63. package/dist/TrendsStore-_mRaFUdf.mjs +182 -0
  64. package/dist/{User-BQUxBeZV.mjs → User-BklmOUSd.mjs} +107 -107
  65. package/dist/{ViewMoreMicroCard-SCn2wt4i.mjs → ViewMoreMicroCard-DAkyNRlD.mjs} +706 -729
  66. package/dist/{WidgetContainer-BHWANqT4.mjs → WidgetContainer-CDh9fjpR.mjs} +36 -36
  67. package/dist/accounts/components/AccountsListCompact.d.ts +10 -0
  68. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsChart.d.ts +4 -1
  69. package/dist/accounts/components/detailsdrawer/Accounts/AccountDetailsHeader.d.ts +2 -1
  70. package/dist/accounts/index.es.js +228 -199
  71. package/dist/accounts/stores/AccountStore.d.ts +2 -0
  72. package/dist/analytics/index.es.js +27 -27
  73. package/dist/budgets/index.es.js +459 -462
  74. package/dist/cashflow/index.es.js +419 -428
  75. package/dist/categories/index.es.js +2 -2
  76. package/dist/categories/stores/CategoryStore.d.ts +1 -1
  77. package/dist/common/components/ErrorBoundary.d.ts +1 -1
  78. package/dist/common/components/Loader.d.ts +1 -2
  79. package/dist/common/components/Select.d.ts +4 -2
  80. package/dist/common/components/SkeletonLoader.d.ts +7 -0
  81. package/dist/common/components/accountfilter/AccountFilterOptions.d.ts +1 -1
  82. package/dist/common/components/charts/LineChart.d.ts +12 -2
  83. package/dist/common/components/charts/index.d.ts +0 -3
  84. package/dist/common/components/charts/linechart/CustomLegend.d.ts +3 -1
  85. package/dist/common/components/charts/linechart/CustomMark.d.ts +5 -1
  86. package/dist/common/components/drawer/Drawer.d.ts +3 -0
  87. package/dist/common/components/drawer/Footer.d.ts +17 -0
  88. package/dist/common/components/index.d.ts +0 -1
  89. package/dist/common/hooks/index.d.ts +0 -1
  90. package/dist/common/hooks/useAriaLive.d.ts +1 -1
  91. package/dist/common/index.es.js +413 -674
  92. package/dist/common/stores/GlobalStore.d.ts +7 -1
  93. package/dist/common/stores/GlobalUiStore.d.ts +3 -2
  94. package/dist/common/types/Finstrong.d.ts +54 -0
  95. package/dist/common/types/Global.d.ts +1 -0
  96. package/dist/common/types/Widgets.d.ts +1 -0
  97. package/dist/common/types/index.d.ts +1 -1
  98. package/dist/common/types/localization/FinstrongCopy.d.ts +105 -2
  99. package/dist/common/types/localization/GoalsCopy.d.ts +1 -0
  100. package/dist/common/utils/Theme.d.ts +1 -3
  101. package/dist/dashboard/index.es.js +21 -21
  102. package/dist/debts/components/DebtsChart.d.ts +1 -2
  103. package/dist/debts/index.es.js +673 -665
  104. package/dist/exportTransactionsToCSV-BgV_wTLT.mjs +48 -0
  105. package/dist/finstrong/FinstrongWidget.d.ts +1 -1
  106. package/dist/finstrong/api/FinstrongApi.d.ts +5 -0
  107. package/dist/finstrong/components/ConnectMoreAccountsCard.d.ts +3 -1
  108. package/dist/finstrong/components/CreditScore/CreditScoreContent.d.ts +4 -0
  109. package/dist/finstrong/components/CreditScore/CreditScoreHeader.d.ts +4 -0
  110. package/dist/finstrong/components/FinancialStrengthGraph.d.ts +7 -1
  111. package/dist/finstrong/components/HaveManageableDebt/DebtPaymentTabContent.d.ts +3 -0
  112. package/dist/finstrong/components/HaveManageableDebt/HaveManageableDebtComponent.d.ts +3 -0
  113. package/dist/finstrong/components/HaveManageableDebt/HaveManageableDebtProgressBar.d.ts +4 -0
  114. package/dist/finstrong/components/HaveManageableDebt/IncomeTabContent.d.ts +3 -0
  115. package/dist/finstrong/components/KeyIndicatorsBorrowTab.d.ts +2 -2
  116. package/dist/finstrong/components/KeyIndicatorsDrawer.d.ts +4 -1
  117. package/dist/finstrong/components/KeyIndicatorsSaveTab.d.ts +2 -2
  118. package/dist/finstrong/components/KeyIndicatorsSpendTab.d.ts +2 -2
  119. package/dist/finstrong/components/KeyIndicatorsTabItem.d.ts +4 -3
  120. package/dist/finstrong/components/KeyIndicatorsTabItemDrawer.d.ts +10 -0
  121. package/dist/finstrong/components/KeyIndicatorsTabsWidget.d.ts +2 -2
  122. package/dist/finstrong/components/MaintainingEmergencySavings/EstimatedContributionCalculator.d.ts +6 -0
  123. package/dist/finstrong/components/MaintainingEmergencySavings/MaintainingEmergencySavingsContent.d.ts +4 -0
  124. package/dist/finstrong/components/MaintainingEmergencySavings/MaintainingEmergencySavingsSticky.d.ts +4 -0
  125. package/dist/finstrong/components/ProgressBar.d.ts +15 -0
  126. package/dist/finstrong/components/SaveEnoughToLiveOn/AvailableTabContent.d.ts +3 -0
  127. package/dist/finstrong/components/SaveEnoughToLiveOn/SaveEnoughToLiveOnDrawerContent.d.ts +3 -0
  128. package/dist/finstrong/components/SaveEnoughToLiveOn/SaveEnoughToLiveOnProgressBar.d.ts +4 -0
  129. package/dist/finstrong/components/SaveEnoughToLiveOn/SpendingTabContent.d.ts +3 -0
  130. package/dist/finstrong/components/SpendLessThanYouMake/SpendLessThanYouMakeComponent.d.ts +3 -0
  131. package/dist/finstrong/components/SpendLessThanYouMake/SpendLessThanYouMakeProgressBar.d.ts +4 -0
  132. package/dist/finstrong/components/StatusChip.d.ts +5 -0
  133. package/dist/finstrong/components/onboarding/Onboarding.d.ts +2 -0
  134. package/dist/finstrong/components/onboarding/OnboardingAddMonthlyIncome.d.ts +17 -0
  135. package/dist/finstrong/components/onboarding/OnboardingBirthday.d.ts +8 -0
  136. package/dist/finstrong/components/onboarding/OnboardingCreditScore.d.ts +8 -0
  137. package/dist/finstrong/components/onboarding/OnboardingStepsDrawer.d.ts +14 -0
  138. package/dist/finstrong/components/onboarding/OnboardingStepsHeader.d.ts +8 -0
  139. package/dist/finstrong/components/paybillsontime/PayBillsOnTimeDrawerComponent.d.ts +4 -0
  140. package/dist/finstrong/components/paybillsontime/PayBillsOnTimeStickyComponent.d.ts +4 -0
  141. package/dist/finstrong/components/shared/Accounts.d.ts +8 -0
  142. package/dist/finstrong/components/shared/CustomDoubleBarPlot.d.ts +25 -0
  143. package/dist/finstrong/components/shared/DialScoreCard.d.ts +7 -1
  144. package/dist/finstrong/components/shared/DoubleBarChart.d.ts +28 -0
  145. package/dist/finstrong/components/shared/LineGraph.d.ts +7 -0
  146. package/dist/finstrong/components/shared/TotalCard.d.ts +8 -0
  147. package/dist/finstrong/components/shared/Transactions.d.ts +11 -0
  148. package/dist/finstrong/constants/index.d.ts +9 -0
  149. package/dist/finstrong/index.es.js +3175 -1067
  150. package/dist/finstrong/stores/FinstrongStore.d.ts +25 -2
  151. package/dist/finstrong/util/finstrongUtils.d.ts +58 -1
  152. package/dist/goals/index.es.js +580 -570
  153. package/dist/help/components/content/BottomImageContent.d.ts +1 -1
  154. package/dist/help/components/content/LeftImageContent.d.ts +1 -1
  155. package/dist/help/components/content/RightImageContent.d.ts +1 -1
  156. package/dist/help/components/content/TopImageContent.d.ts +1 -1
  157. package/dist/help/index.es.js +6 -6
  158. package/dist/{hooks-D6XlXHf4.mjs → hooks-C41HAxM5.mjs} +3 -3
  159. package/dist/insights/index.es.js +1 -1
  160. package/dist/investments/index.es.js +537 -536
  161. package/dist/merchants/index.es.js +9 -9
  162. package/dist/microinsights/beaticons/BeatIcon.d.ts +2 -9
  163. package/dist/microinsights/beaticons/BeatMerchantLogo.d.ts +3 -2
  164. package/dist/microinsights/beaticons/MonthlySpendComparisonIcon.d.ts +2 -1
  165. package/dist/microinsights/cards/{MicroInsightCard.d.ts → BaseCard.d.ts} +1 -8
  166. package/dist/microinsights/cards/{BeatCard.d.ts → InsightCard.d.ts} +2 -2
  167. package/dist/microinsights/cards/NoRelevantInsightsCard.d.ts +2 -5
  168. package/dist/microinsights/cards/ZeroStateCard.d.ts +2 -5
  169. package/dist/microinsights/carousel/BeatList.d.ts +10 -0
  170. package/dist/microinsights/carousel/CarouselControls.d.ts +1 -3
  171. package/dist/microinsights/carousel/CarouselHeader.d.ts +1 -2
  172. package/dist/microinsights/constants/App.d.ts +0 -1
  173. package/dist/microinsights/index.d.ts +3 -3
  174. package/dist/microinsights/index.es.js +7 -7
  175. package/dist/microinsights/interfaces.d.ts +0 -6
  176. package/dist/networth/components/NetWorthChange.d.ts +3 -1
  177. package/dist/networth/index.es.js +262 -254
  178. package/dist/notifications/index.es.js +90 -91
  179. package/dist/recurringtransactions/components/MicroWidgetContent.d.ts +3 -0
  180. package/dist/recurringtransactions/index.es.js +586 -562
  181. package/dist/recurringtransactions/stores/RecurringTransactionsStore.d.ts +1 -0
  182. package/dist/settings/index.es.js +371 -365
  183. package/dist/spending/index.es.js +267 -419
  184. package/dist/spending/utils/SpendingData.d.ts +2 -1
  185. package/dist/transactions/components/shared/TransactionDetails.d.ts +1 -0
  186. package/dist/transactions/components/shared/TransactionList.d.ts +1 -0
  187. package/dist/transactions/index.es.js +231 -226
  188. package/dist/transactions/stores/TransactionStore.d.ts +1 -1
  189. package/dist/transactions/stores/UiStore.d.ts +0 -2
  190. package/dist/trends/index.es.js +988 -612
  191. package/dist/{useAccountDisplayName-BUAApBIb.mjs → useAccountDisplayName-CcIp09Xc.mjs} +2 -2
  192. package/dist/{useCombineEvents-BUDIR1ba.mjs → useCombineEvents-kNzLTWCp.mjs} +3 -3
  193. package/dist/{useInsightsEnabled-DBpwEq10.mjs → useInsightsEnabled-CNjP5cfR.mjs} +1 -1
  194. package/dist/{useScreenSize-B6JyS_Lj.mjs → useScreenSize-B5afALev.mjs} +1 -1
  195. package/package.json +51 -56
  196. package/dist/AccountDetailsContent-CAM9y39M.mjs +0 -679
  197. package/dist/AccountDetailsHeader-JtSX6Uf9.mjs +0 -120
  198. package/dist/AccountListItem-JFMZROh7.mjs +0 -90
  199. package/dist/CurrencyInput-DUsQbkXb.mjs +0 -85
  200. package/dist/Drawer-kEE73B87.mjs +0 -113
  201. package/dist/FinstrongStore-F2c607dj.mjs +0 -101
  202. package/dist/HeaderCell-DjuifqHJ.mjs +0 -6
  203. package/dist/LineChart-D4GI7nVh.mjs +0 -541
  204. package/dist/Loader-DUaFpDGv.mjs +0 -24
  205. package/dist/MicroWidgetContainer-DpeqN9n3.mjs +0 -45
  206. package/dist/MiniWidgetContainer-D0gfmbaF.mjs +0 -56
  207. package/dist/SearchBox-B2_zLv8-.mjs +0 -42
  208. package/dist/TransactionApi-B3Tksf7L.mjs +0 -86
  209. package/dist/TransactionDetails-oP1eSuiS.mjs +0 -1334
  210. package/dist/TrendsStore-DCYbpXPO.mjs +0 -559
  211. package/dist/accounts/components/AccountsWidgetContent.d.ts +0 -3
  212. package/dist/common/components/barchart/Bar.d.ts +0 -25
  213. package/dist/common/components/barchart/BarChart.d.ts +0 -34
  214. package/dist/common/components/barchart/BarColumn.d.ts +0 -37
  215. package/dist/common/components/barchart/Legend.d.ts +0 -8
  216. package/dist/common/components/barchart/Util.d.ts +0 -42
  217. package/dist/common/components/barchart/index.d.ts +0 -1
  218. package/dist/common/hooks/usePrevious.d.ts +0 -2
  219. package/dist/exportTransactionsToCSV-7bVS7KXf.mjs +0 -47
  220. package/dist/finstrong/utils/Finstrong.d.ts +0 -6
  221. package/dist/transactions/components/shared/transactionlist/DateRow.d.ts +0 -7
  222. package/dist/useAriaLive-B3_pRUio.mjs +0 -35
@@ -1,81 +1,77 @@
1
- import { G as L } from "../useCombineEvents-BUDIR1ba.mjs";
2
- import { A as ss, a as rs, u as os, b as as } from "../useCombineEvents-BUDIR1ba.mjs";
3
- import { F as y, A as h } from "../Fetch-87LIQbEA.mjs";
4
- import { B as is } from "../BeatApi-DhJpgCLz.mjs";
5
- import { C as et } from "../CategoryStore-yHI0hWmK.mjs";
6
- import { a as ds } from "../CategoryStore-yHI0hWmK.mjs";
7
- import { N as st } from "../NotificationStore-BxP_P2dA.mjs";
8
- import { a as us } from "../NotificationStore-BxP_P2dA.mjs";
9
- import { T as rt } from "../User-BQUxBeZV.mjs";
10
- import { C as gs, b as ps, L as ms, a as _s } from "../User-BQUxBeZV.mjs";
11
- import { H as ot } from "../Help-DhcC-C05.mjs";
12
- import { E as ys } from "../Help-DhcC-C05.mjs";
13
- import { M as bs } from "../MicroWidgetContainer-DpeqN9n3.mjs";
14
- import { M as xs } from "../MiniWidgetContainer-D0gfmbaF.mjs";
15
- import { A as Ds, D as vs, W as As } from "../WidgetContainer-BHWANqT4.mjs";
16
- import { k as Ts, a as Bs, h as Is, j as Ns, A as Ms, i as ks, l as $s, C as Rs, n as Ls, E as Os, M as Ps, N as Us, c as Hs, P as Gs, o as Fs, S as Ws } from "../ConnectDrawer-BQNs-hjk.mjs";
17
- import { C as Ys } from "../CurrencyInput-DUsQbkXb.mjs";
18
- import { L as Xs } from "../Loader-DUaFpDGv.mjs";
19
- import { R as js } from "../ResponsiveButton-DZFp78fJ.mjs";
20
- import { S as Vs } from "../SearchBox-B2_zLv8-.mjs";
21
- import { T as at } from "../TransactionStore-ai3uII_r.mjs";
22
- import { S as Js } from "../TransactionStore-ai3uII_r.mjs";
23
- import { T as er } from "../TabContentContainer-j01JYR_7.mjs";
24
- import { I as rr } from "../IconBacking-B9oC6uL2.mjs";
25
- import { D as ar, F as nr, c as ir, d as cr, R as dr, S as lr } from "../RecurringTransactions-DK8dWldr.mjs";
26
- import { C as nt } from "../CashflowStore-D9Dpuz7X.mjs";
27
- import { I as hr } from "../CashflowStore-D9Dpuz7X.mjs";
28
- import { d as it } from "../GoalStore-D-aB35SY.mjs";
29
- import { C as pr, G as mr, M as _r, T as fr } from "../GoalStore-D-aB35SY.mjs";
30
- import { C as Sr } from "../CurrencyText-kyC1aseI.mjs";
31
- import { E as wr } from "../EmptyState-DA_lfRBv.mjs";
32
- import { L as Cr } from "../ListItemAction-DHa3KJPs.mjs";
33
- import { T as ct } from "../TrendsStore-DCYbpXPO.mjs";
34
- import { L as vr, S as Ar } from "../TrendsStore-DCYbpXPO.mjs";
35
- import { A as Tr, B as Br, I as Ir, N as Nr, T as Mr, a as kr } from "../ToggleListItem-r0Kx56wF.mjs";
36
- import { jsxs as f, jsx as n } from "react/jsx-runtime";
37
- import dt, { useRef as lt, useEffect as ut } from "react";
38
- import { css as x, keyframes as ht } from "@mxenabled/cssinjs";
39
- import { useTokens as C, Text as B } from "@mxenabled/mxui";
40
- import { D as Rr } from "../Donut-oaQFlbit.mjs";
41
- import { L as Or } from "../LineChart-D4GI7nVh.mjs";
42
- import { S as Ur } from "../StatusBar-BK_uYHAB.mjs";
43
- import { D as Gr, a as Fr, O as Wr, b as qr, f as Yr } from "../Dialog-CWW597AF.mjs";
44
- import { D as gt, a as pt } from "../SingleSegmentDonut-BgbLgwHi.mjs";
45
- import { S as Xr } from "../SingleSegmentDonut-BgbLgwHi.mjs";
46
- import { D as jr } from "../Drawer-kEE73B87.mjs";
47
- import { I as Vr, P as Zr, S as Jr } from "../Account-Bxw0_4FU.mjs";
48
- import { b as E } from "../Category-CevNQ03n.mjs";
49
- import { C as eo, c as so, a as ro, P as oo } from "../Category-CevNQ03n.mjs";
50
- import { C as no, f as io, b as co, a as lo, g as uo, i as ho } from "../NumberFormatting-Buh7u8Oi.mjs";
51
- import { R as mt } from "../RecurringTransactionsStore-C4YOD7_D.mjs";
52
- import { S as po, T as mo } from "../RecurringTransactionsStore-C4YOD7_D.mjs";
53
- import { G as fo, C as yo, D as So, W as bo, d as wo, a as xo, i as Co, v as Do, m as vo, y as Ao, z as Eo, g as To, x as Bo, u as Io, f as No, b as Mo, l as ko, A as $o, t as Ro, n as Lo, c as Oo, r as Po, o as Uo, B as Ho, j as Go, s as Fo, h as Wo, w as qo, p as Yo, q as Qo } from "../hooks-D6XlXHf4.mjs";
54
- import { u as zo } from "../useAccountDisplayName-BUAApBIb.mjs";
55
- import { u as Ko } from "../useInsightsEnabled-DBpwEq10.mjs";
56
- import { u as Zo } from "../useScreenSize-B6JyS_Lj.mjs";
57
- import { makeAutoObservable as _, runInAction as S, reaction as _t } from "mobx";
58
- import { a as ft } from "../AccountStore-BgNOyMdp.mjs";
59
- import yt from "posthog-js";
60
- import { B as St } from "../BeatStore-IBnXd4YK.mjs";
61
- import { endOfMonth as Z } from "date-fns/endOfMonth";
62
- import { startOfMonth as J } from "date-fns/startOfMonth";
63
- import { startOfToday as O } from "date-fns/startOfToday";
64
- import { f as bt, a as wt, b as P } from "../BudgetUtil-B2ZXyw-g.mjs";
65
- import { g as ta, e as ea, c as sa, d as ra, i as oa } from "../BudgetUtil-B2ZXyw-g.mjs";
66
- import { a as xt } from "../DebtsStore-C9bblOgW.mjs";
67
- import { a as Ct } from "../FinstrongStore-F2c607dj.mjs";
68
- import { A as Dt, m as vt, a as At, b as Et } from "../InvestmentUtil-jOyOgzIB.mjs";
69
- import { M as Tt } from "../MerchantStore-DrFvsUyy.mjs";
70
- import { N as Bt } from "../NetWorthStore-DCsTZpuS.mjs";
71
- import { a as It } from "../SettingsStore-BcgS_Ohv.mjs";
72
- import { addMonths as Nt } from "date-fns/addMonths";
73
- import { getMonth as T } from "date-fns/getMonth";
74
- import { i as na } from "../DateUtil-BcuH7ErC.mjs";
75
- import { b as ca, a as da, g as la } from "../Localization-2MODESHW.mjs";
76
- import { alpha as Mt, lighten as U, darken as H } from "@mui/material";
77
- var kt = /* @__PURE__ */ ((s) => (s[s.Unknown = 0] = "Unknown", s[s.EveryWeek = 1] = "EveryWeek", s[s.EveryOtherWeek = 2] = "EveryOtherWeek", s[s.EveryMonth = 3] = "EveryMonth", s[s.EveryOtherMonth = 4] = "EveryOtherMonth", s[s.EveryQuarter = 5] = "EveryQuarter", s[s.EveryOtherQuarter = 6] = "EveryOtherQuarter", s[s.EveryYear = 7] = "EveryYear", s))(kt || {});
78
- const Ye = [
1
+ import { H as R } from "../Help-c-zHlDbv.mjs";
2
+ import { E as Ce } from "../Help-c-zHlDbv.mjs";
3
+ import { M as Ae } from "../MicroWidgetContainer-BGpNl5ZS.mjs";
4
+ import { M as xe } from "../MiniWidgetContainer-CKzf_Ira.mjs";
5
+ import { C as Ie } from "../CurrencyInput-D1cjbdCI.mjs";
6
+ import { L as Be } from "../Loader-Ckqi9Rx6.mjs";
7
+ import { R as Ne } from "../ResponsiveButton-Cn6-R7ue.mjs";
8
+ import { T as $ } from "../TransactionStore-DbwAutwC.mjs";
9
+ import { S as Le } from "../TransactionStore-DbwAutwC.mjs";
10
+ import { T as Pe } from "../TabContentContainer-CnMXkVqr.mjs";
11
+ import { I as Re } from "../IconBacking-DgT8DCeh.mjs";
12
+ import { D as Ge, F as Fe, c as He, d as We, R as qe, S as Ye } from "../RecurringTransactions-CxcSL1dY.mjs";
13
+ import { C as G } from "../CashflowStore-CA190BPF.mjs";
14
+ import { I as Ke } from "../CashflowStore-CA190BPF.mjs";
15
+ import { k as je, a as Ve, i as Ze, j as Xe, A as Je, h as ts, l as es, C as ss, n as rs, E as os, M as as, N as is, c as ns, P as cs, o as ds, S as us } from "../ConnectDrawer-DVp54lUH.mjs";
16
+ import { T as F } from "../User-BklmOUSd.mjs";
17
+ import { C as hs, b as gs, L as ps, a as _s } from "../User-BklmOUSd.mjs";
18
+ import { S as ms } from "../StatusBar-CPfSXe80.mjs";
19
+ import { A as Ss, D as bs, W as ws } from "../WidgetContainer-CDh9fjpR.mjs";
20
+ import { a as Ds, D as As, O as Es, b as xs, f as Ts } from "../Dialog-CDV0kKxj.mjs";
21
+ import { jsxs as w, jsx as b } from "react/jsx-runtime";
22
+ import { css as H } from "@mxenabled/cssinjs";
23
+ import { D as W, a as q } from "../SingleSegmentDonut-7Uy6VEld.mjs";
24
+ import { S as vs } from "../SingleSegmentDonut-7Uy6VEld.mjs";
25
+ import { D as ks } from "../Drawer-BF40nbsH.mjs";
26
+ import { G as C } from "../useCombineEvents-kNzLTWCp.mjs";
27
+ import { A as Us, b as Ls, u as Os, a as Ps } from "../useCombineEvents-kNzLTWCp.mjs";
28
+ import { F as h, A as i } from "../Fetch-DecPFeGU.mjs";
29
+ import { B as Rs } from "../BeatApi-De2IaqH2.mjs";
30
+ import { C as Y } from "../CategoryStore-MUwRWH9e.mjs";
31
+ import { a as Gs } from "../CategoryStore-MUwRWH9e.mjs";
32
+ import { N as Q } from "../NotificationStore-Ck2KdNmT.mjs";
33
+ import { a as Hs } from "../NotificationStore-Ck2KdNmT.mjs";
34
+ import { S as qs } from "../SearchBox-B7km148n.mjs";
35
+ import { d as K } from "../GoalStore-C1-w3Y1E.mjs";
36
+ import { C as Qs, G as Ks, M as zs, T as js } from "../GoalStore-C1-w3Y1E.mjs";
37
+ import { C as Zs } from "../CurrencyText-Dr0EZ7bp.mjs";
38
+ import { E as Js } from "../EmptyState-DoxNUae-.mjs";
39
+ import { L as er } from "../ListItemAction-BNCWQAN_.mjs";
40
+ import { T as z } from "../TrendsStore-_mRaFUdf.mjs";
41
+ import { L as rr } from "../TrendsStore-_mRaFUdf.mjs";
42
+ import { A as ar, B as ir, I as nr, N as cr, T as dr, a as ur } from "../ToggleListItem-ciFTiqRS.mjs";
43
+ import { I as hr, P as gr, S as pr } from "../Account-B4CDD-zq.mjs";
44
+ import { b as f } from "../Category-Ccoew_sA.mjs";
45
+ import { a as fr, c as mr, C as yr, P as Sr } from "../Category-Ccoew_sA.mjs";
46
+ import { C as wr, f as Cr, b as Dr, a as Ar, g as Er, i as xr } from "../NumberFormatting-DjTD0t3W.mjs";
47
+ import { R as j } from "../RecurringTransactionsStore-CNFxyGB6.mjs";
48
+ import { S as Ir, T as vr } from "../RecurringTransactionsStore-CNFxyGB6.mjs";
49
+ import { G as kr, C as Nr, D as Ur, W as Lr, d as Or, a as Pr, i as Mr, v as Rr, m as $r, x as Gr, y as Fr, g as Hr, z as Wr, u as qr, f as Yr, b as Qr, l as Kr, A as zr, t as jr, n as Vr, c as Zr, r as Xr, o as Jr, B as to, j as eo, s as so, h as ro, w as oo, p as ao, q as io } from "../hooks-C41HAxM5.mjs";
50
+ import { u as co } from "../useAccountDisplayName-CcIp09Xc.mjs";
51
+ import { u as lo } from "../useInsightsEnabled-CNjP5cfR.mjs";
52
+ import { u as go } from "../useScreenSize-B5afALev.mjs";
53
+ import { makeAutoObservable as l, runInAction as p, reaction as V, autorun as Z } from "mobx";
54
+ import { a as X } from "../AccountStore-HbVblv86.mjs";
55
+ import J from "posthog-js";
56
+ import { B as tt } from "../BeatStore-D_NYuBSz.mjs";
57
+ import { endOfMonth as O } from "date-fns/endOfMonth";
58
+ import { startOfMonth as P } from "date-fns/startOfMonth";
59
+ import { startOfToday as D } from "date-fns/startOfToday";
60
+ import { f as et, a as st, b as A } from "../BudgetUtil-Jv8h9H9l.mjs";
61
+ import { g as _o, e as fo, c as mo, d as yo, i as So } from "../BudgetUtil-Jv8h9H9l.mjs";
62
+ import { D as rt } from "../DebtsStore-pL63fmdT.mjs";
63
+ import { F as ot } from "../FinstrongStore-BGf36b0z.mjs";
64
+ import { A as at, m as it, a as nt, b as ct } from "../InvestmentUtil-jOyOgzIB.mjs";
65
+ import { M as dt } from "../MerchantStore-WvZ4gnQe.mjs";
66
+ import { N as ut } from "../NetWorthStore-Bti6u-d9.mjs";
67
+ import { a as lt } from "../SettingsStore-BASMQSIp.mjs";
68
+ import { addMonths as ht } from "date-fns/addMonths";
69
+ import { getMonth as m } from "date-fns/getMonth";
70
+ import { i as wo } from "../DateUtil-CDPZw_-m.mjs";
71
+ import { b as Do, a as Ao, g as Eo } from "../Localization-2MODESHW.mjs";
72
+ import { lighten as E, darken as x, alpha as gt } from "@mui/material";
73
+ var pt = /* @__PURE__ */ ((s) => (s[s.Unknown = 0] = "Unknown", s[s.EveryWeek = 1] = "EveryWeek", s[s.EveryOtherWeek = 2] = "EveryOtherWeek", s[s.EveryMonth = 3] = "EveryMonth", s[s.EveryOtherMonth = 4] = "EveryOtherMonth", s[s.EveryQuarter = 5] = "EveryQuarter", s[s.EveryOtherQuarter = 6] = "EveryOtherQuarter", s[s.EveryYear = 7] = "EveryYear", s))(pt || {});
74
+ const ge = [
79
75
  { id: 0, copy: "frequency_unknown" },
80
76
  { id: 1, copy: "frequency_every_week" },
81
77
  { id: 2, copy: "frequency_every_other_week" },
@@ -84,77 +80,65 @@ const Ye = [
84
80
  { id: 5, copy: "frequency_every_quarter" },
85
81
  { id: 6, copy: "frequency_every_other_quarter" },
86
82
  { id: 7, copy: "frequency_every_year" }
87
- ], Qe = {
83
+ ], pe = {
88
84
  ERROR: "ERROR",
89
85
  LOADING: "LOADING",
90
86
  SUCCESS: "SUCCESS"
91
87
  };
92
- var $t = /* @__PURE__ */ ((s) => (s[s.SpendingPlan = 0] = "SpendingPlan", s[s.Budgets = 1] = "Budgets", s))($t || {}), Rt = /* @__PURE__ */ ((s) => (s[s.RecurringExpense = 0] = "RecurringExpense", s[s.PlannedExpense = 1] = "PlannedExpense", s[s.Other = 2] = "Other", s[s.Income = 3] = "Income", s))(Rt || {});
93
- const Lt = [
88
+ var _t = /* @__PURE__ */ ((s) => (s[s.SpendingPlan = 0] = "SpendingPlan", s[s.Budgets = 1] = "Budgets", s))(_t || {}), ft = /* @__PURE__ */ ((s) => (s[s.RecurringExpense = 0] = "RecurringExpense", s[s.PlannedExpense = 1] = "PlannedExpense", s[s.Other = 2] = "Other", s[s.Income = 3] = "Income", s))(ft || {});
89
+ const mt = [
94
90
  "fontFamily",
95
- "H1",
96
91
  "h1",
97
- "H2",
98
92
  "h2",
99
- "H3",
100
93
  "h3",
101
- "Body",
102
94
  "body1",
103
- "Small",
104
95
  "body2",
105
- "Button",
106
96
  "button",
107
- "XSmall",
108
97
  "caption",
109
- "Paragraph",
110
98
  "subtitle1",
111
- "ParagraphSmall",
112
99
  "subtitle2",
113
- "Tiny",
114
100
  "tiny"
115
- ], Ot = [
101
+ ], yt = [
116
102
  { key: "primary", light: "primary_color", dark: "primary_color_dark" },
117
103
  { key: "secondary", light: "neutral_color", dark: "neutral_color_dark" },
118
104
  { key: "error", light: "error_color", dark: "error_color_dark" },
119
105
  { key: "warning", light: "warning_color", dark: "warning_color_dark" },
120
106
  { key: "info", light: "info_color", dark: "info_color_dark" },
121
107
  { key: "success", light: "success_color", dark: "success_color_dark" }
122
- ], Xe = (s, t, e) => {
123
- const r = s.palette.mode === "dark", o = (e?.master?.style?.font_name || t?.system_font) ?? s.typography.fontFamily, a = (i, m) => i ? {
124
- lighter: U(i, 0.5),
125
- light: U(i, 0.25),
126
- main: i,
127
- dark: H(i, 0.25),
128
- darker: H(i, 0.5)
129
- } : m, c = Object.fromEntries(
130
- Ot.map(({ key: i, light: m, dark: b }) => [
131
- i,
132
- a(
133
- t?.[r ? b : m],
134
- s.palette[i]
108
+ ], _e = (s, t, e) => {
109
+ const r = s.palette.mode === "dark", o = (e?.master?.style?.font_name || t?.system_font) ?? s.typography.fontFamily, n = (d, S) => d ? {
110
+ light: r ? x(d, 0.3) : E(d, 0.55),
111
+ main: d,
112
+ dark: r ? E(d, 0.7) : x(d, 0.5)
113
+ } : S, a = Object.fromEntries(
114
+ yt.map(({ key: d, light: S, dark: M }) => [
115
+ d,
116
+ n(
117
+ t?.[r ? M : S],
118
+ s.palette[d]
135
119
  )
136
120
  ])
137
- ), d = Object.fromEntries(
138
- Lt.map((i) => [
139
- i,
140
- i === "fontFamily" ? o : { fontFamily: o }
121
+ ), c = Object.fromEntries(
122
+ mt.map((d) => [
123
+ d,
124
+ d === "fontFamily" ? o : { fontFamily: o }
141
125
  ])
142
- ), l = {
126
+ ), g = {
143
127
  MuiTabs: {
144
128
  styleOverrides: {
145
- indicator: { backgroundColor: c.primary.light }
129
+ indicator: { backgroundColor: a.primary.light }
146
130
  }
147
131
  },
148
132
  MuiPickersCalendarHeader: {
149
133
  styleOverrides: {
150
134
  switchViewButton: {
151
- color: c.primary.lighter,
152
- "&:hover": { backgroundColor: Mt(c.primary.light, 0.1) }
135
+ color: a.primary.light,
136
+ "&:hover": { backgroundColor: gt(a.primary.light, 0.1) }
153
137
  }
154
138
  }
155
139
  }
156
- }, u = t?.button_corner_radius, g = t?.card_corner_radius, p = {
157
- ...l,
140
+ }, u = t?.button_corner_radius, _ = t?.card_corner_radius, y = {
141
+ ...g,
158
142
  ...u && {
159
143
  MuiButton: {
160
144
  styleOverrides: {
@@ -176,21 +160,21 @@ const Lt = [
176
160
  }
177
161
  }
178
162
  },
179
- ...g && {
163
+ ..._ && {
180
164
  MuiCard: {
181
- styleOverrides: { root: { borderRadius: `${g}px` } }
165
+ styleOverrides: { root: { borderRadius: `${_}px` } }
182
166
  },
183
167
  MuiPaper: {
184
- styleOverrides: { root: { borderRadius: `${g}px` } }
168
+ styleOverrides: { root: { borderRadius: `${_}px` } }
185
169
  }
186
170
  }
187
171
  };
188
- return { typography: d, palette: c, components: p };
172
+ return { typography: c, palette: a, components: y };
189
173
  };
190
- class G {
174
+ class T {
191
175
  fetchInstance;
192
176
  constructor(t) {
193
- this.fetchInstance = new y(t, "", {
177
+ this.fetchInstance = new h(t, "", {
194
178
  Accept: "application/json",
195
179
  "Content-Type": "application/json"
196
180
  });
@@ -204,345 +188,90 @@ class G {
204
188
  }
205
189
  };
206
190
  }
207
- class ze {
191
+ class fe {
208
192
  fetchInstance;
209
193
  constructor(t, e, r) {
210
- this.fetchInstance = new y(t, e, void 0, r);
194
+ this.fetchInstance = new h(t, e, void 0, r);
211
195
  }
212
- getLocalizedCopy = async (t) => this.fetchInstance.post(h.LOCALIZED_COPY, t).then((e) => e);
213
- getLocalizedContent = async (t) => this.fetchInstance.post(`${h.LOCALIZED_CONTENT}/${t}`).then((e) => e);
196
+ getLocalizedCopy = async (t) => this.fetchInstance.post(i.LOCALIZED_COPY, t).then((e) => e);
197
+ getLocalizedContent = async (t) => this.fetchInstance.post(`${i.LOCALIZED_CONTENT}/${t}`).then((e) => e);
214
198
  }
215
- class je {
199
+ class me {
216
200
  fetchInstance;
217
201
  constructor(t, e, r) {
218
- this.fetchInstance = new y(t, e, void 0, r);
202
+ this.fetchInstance = new h(t, e, void 0, r);
219
203
  }
220
- addScheduledPayment = async (t) => this.fetchInstance.post(h.SCHEDULED_PAYMENTS, {
204
+ addScheduledPayment = async (t) => this.fetchInstance.post(i.SCHEDULED_PAYMENTS, {
221
205
  ...t,
222
206
  is_recurring: "true",
223
- transaction_type: rt.DEBIT
207
+ transaction_type: F.DEBIT
224
208
  }).then((e) => e.scheduled_payment);
225
- getScheduledPayments = async () => this.fetchInstance.get(h.SCHEDULED_PAYMENTS).then((t) => t.scheduled_payments);
226
- updateScheduledPayment = async (t) => this.fetchInstance.put(`${h.SCHEDULED_PAYMENTS}/${t.guid}`, t).then((e) => e.scheduled_payment);
227
- deleteScheduledPayment = async (t) => this.fetchInstance.delete(`${h.SCHEDULED_PAYMENTS}/${t}`).then((e) => e);
209
+ getScheduledPayments = async () => this.fetchInstance.get(i.SCHEDULED_PAYMENTS).then((t) => t.scheduled_payments);
210
+ updateScheduledPayment = async (t) => this.fetchInstance.put(`${i.SCHEDULED_PAYMENTS}/${t.guid}`, t).then((e) => e.scheduled_payment);
211
+ deleteScheduledPayment = async (t) => this.fetchInstance.delete(`${i.SCHEDULED_PAYMENTS}/${t}`).then((e) => e);
228
212
  }
229
- class F {
213
+ class I {
230
214
  fetchInstance;
231
215
  constructor(t, e, r) {
232
- this.fetchInstance = new y(t, e, void 0, r);
216
+ this.fetchInstance = new h(t, e, void 0, r);
233
217
  }
234
- getUserFeatures = async () => this.fetchInstance.get(h.USER_FEATURES).then((t) => t.user_features).catch((t) => t);
235
- updateUser = async (t) => this.fetchInstance.put(h.USER, t).then((e) => e.user);
236
- updateUserProfile = async (t) => this.fetchInstance.put(`${h.USER_PROFILES}/${t.guid}`, t).then((e) => e.user_profile);
218
+ getUserFeatures = async () => this.fetchInstance.get(i.USER_FEATURES).then((t) => t.user_features).catch((t) => t);
219
+ updateUser = async (t) => this.fetchInstance.put(i.USER, t).then((e) => e.user);
220
+ updateUserProfile = async (t) => this.fetchInstance.put(`${i.USER_PROFILES}/${t.guid}`, t).then((e) => e.user_profile);
237
221
  }
238
- class W {
222
+ class v {
239
223
  fetchInstance;
240
224
  constructor(t, e) {
241
- this.fetchInstance = new y(t, e);
225
+ this.fetchInstance = new h(t, e);
242
226
  }
243
- requestWidgetUrl = async (t) => this.fetchInstance.post(h.WIDGET_URLS, t).then((e) => e.widget_url);
227
+ requestWidgetUrl = async (t) => this.fetchInstance.post(i.WIDGET_URLS, t).then((e) => e.widget_url);
244
228
  }
245
- var Pt = /* @__PURE__ */ ((s) => (s[s.UNKNOWN = 0] = "UNKNOWN", s[s.CORRECT = 1] = "CORRECT", s[s.INCORRECT = 2] = "INCORRECT", s))(Pt || {}), Ut = /* @__PURE__ */ ((s) => (s.Missed = "Missed", s.Paid = "Paid", s.Upcoming = "Upcoming expense", s.Income = "Income", s))(Ut || {}), Ht = /* @__PURE__ */ ((s) => (s[s.Unknown = 0] = "Unknown", s[s.Subscription = 1] = "Subscription", s[s.Bill = 2] = "Bill", s))(Ht || {}), Gt = /* @__PURE__ */ ((s) => (s.Desktop = "Desktop", s.Mobile = "Mobile", s))(Gt || {});
246
- const Ke = (s) => {
247
- const t = lt();
248
- return ut(() => {
249
- t.current = s;
250
- }, [s]), t.current;
251
- }, Ft = ({ color: s, labelAverage: t, labelMain: e }) => {
252
- const r = C(), o = Wt(r, s);
253
- return /* @__PURE__ */ f("div", { className: `mx-cmn-bar-chart-legend ${o}`, children: [
254
- /* @__PURE__ */ n("div", { "aria-label": e, className: "mx-cmn-color-square", role: "img" }),
255
- /* @__PURE__ */ n(B, { variant: "XSmall", children: e }),
256
- /* @__PURE__ */ f("div", { "aria-label": t, className: "mx-cmn-triple-dot", role: "img", children: [
257
- /* @__PURE__ */ n("div", { className: "mx-cmn-dot" }),
258
- /* @__PURE__ */ n("div", { className: "mx-cmn-dot" }),
259
- /* @__PURE__ */ n("div", { className: "mx-cmn-dot" })
260
- ] }),
261
- /* @__PURE__ */ n(B, { variant: "XSmall", children: t })
262
- ] });
263
- }, Wt = (s, t) => x({
264
- alignItems: "center",
265
- display: "flex",
266
- gap: s.Spacing.XSmall,
267
- justifyContent: "flex-end",
268
- marginRight: s.Spacing.XLarge,
269
- paddingBottom: s.Spacing.XSmall,
270
- width: "100%",
271
- "& .mx-cmn-color-square": {
272
- backgroundColor: t,
273
- height: 6,
274
- width: 6
275
- },
276
- "& .mx-cmn-triple-dot": {
277
- display: "flex",
278
- gap: 1
279
- },
280
- "& .mx-cmn-dot": {
281
- backgroundColor: s.Color.Neutral500,
282
- height: 3,
283
- width: 3,
284
- borderRadius: 1.5
285
- },
286
- "& > .kyper-text": {
287
- marginRight: s.Spacing.XSmall
288
- }
289
- }), q = ({
290
- ariaLabel: s,
291
- color: t,
292
- height: e,
293
- index: r,
294
- label: o,
295
- onClick: a,
296
- selectedIndex: c,
297
- value: d
298
- }) => {
299
- const l = C(), u = qt(l, t, e), g = (m) => {
300
- a && (m.key === " " || m.key === "Enter") && a(r);
301
- }, p = c === void 0 || c === r ? "primary" : "secondary", i = () => /* @__PURE__ */ n(
302
- B,
303
- {
304
- "aria-hidden": !0,
305
- bold: c === r,
306
- className: "mx-cmn-bar-text",
307
- color: p,
308
- component: "div",
309
- variant: "Small",
310
- children: o
311
- }
312
- );
313
- return /* @__PURE__ */ f("div", { className: `mx-cmn-bar-container ${u} ${d < 0 ? "mx-cmn-negative" : ""}`, children: [
314
- d >= 0 && /* @__PURE__ */ n(i, {}),
315
- /* @__PURE__ */ n(
316
- "div",
317
- {
318
- "aria-label": s,
319
- className: `mx-cmn-bar ${a ? "mx-cmn-clickable" : ""} ${d < 0 ? "mx-cmn-bar-negative" : ""}`,
320
- onClick: a ? () => a?.(r) : void 0,
321
- onKeyDown: g,
322
- role: s ? "button" : void 0,
323
- tabIndex: s ? 0 : void 0
324
- }
325
- ),
326
- d < 0 && /* @__PURE__ */ n(i, {})
327
- ] });
328
- }, qt = (s, t, e) => {
329
- const r = `expandBar-${Math.round(e)}`, o = ht(r, { from: { height: 0 }, to: { height: e } });
330
- return x({
331
- display: "flex",
332
- flexDirection: "column",
333
- justifyContent: "flex-end",
334
- height: "100%",
335
- "&.mx-cmn-negative": {
336
- justifyContent: "flex-start"
337
- },
338
- "& .mx-cmn-bar": {
339
- animationDelay: ".5s",
340
- animationDuration: "1s",
341
- animationFillMode: "forwards",
342
- animationName: o,
343
- animationTimingFunction: s.Easing.Default,
344
- backgroundColor: t,
345
- borderRadius: `${s.BorderRadius.Medium}px ${s.BorderRadius.Medium}px 0 0`,
346
- maxHeight: e
347
- },
348
- "& .mx-cmn-bar-negative": {
349
- borderRadius: `0 0 ${s.BorderRadius.Medium}px ${s.BorderRadius.Medium}px`,
350
- marginTop: -s.Spacing.XTiny
351
- },
352
- "& .mx-cmn-bar-text": {
353
- display: "flex",
354
- justifyContent: "center",
355
- marginBottom: s.Spacing.Tiny,
356
- marginTop: s.Spacing.Tiny,
357
- whiteSpace: "nowrap",
358
- width: "100%"
359
- }
360
- });
361
- }, Y = ({
362
- ariaLabel: s,
363
- averageLineHeight: t,
364
- bottomHeight: e,
365
- color: r,
366
- index: o = -1,
367
- onClick: a,
368
- range: c,
369
- selectedIndex: d,
370
- topHeight: l,
371
- value: u,
372
- valueLabel: g = "",
373
- width: p,
374
- xAxisLabel: i = ""
375
- }) => {
376
- const m = C(), b = Yt(m, p), D = u / c * l, v = Math.abs(u) / c * e, A = d === void 0 || d === o ? "primary" : "secondary";
377
- return /* @__PURE__ */ f("div", { className: `mx-cmn-barchart-bar-column ${b}`, children: [
378
- /* @__PURE__ */ n("div", { style: { height: l }, children: u >= 0 && /* @__PURE__ */ n(
379
- q,
380
- {
381
- ariaLabel: s,
382
- color: r,
383
- height: D,
384
- index: o,
385
- label: g,
386
- onClick: a,
387
- selectedIndex: d,
388
- value: u
389
- }
390
- ) }),
391
- /* @__PURE__ */ n("div", { className: "mx-cmn-zero-line" }),
392
- t !== 0 && /* @__PURE__ */ n("div", { className: "mx-cmn-chart-average", style: { bottom: t } }),
393
- /* @__PURE__ */ n("div", { style: { height: e }, children: u < 0 && /* @__PURE__ */ n(
394
- q,
395
- {
396
- ariaLabel: s,
397
- color: r,
398
- height: v,
399
- index: o,
400
- label: g,
401
- onClick: a,
402
- value: u
403
- }
404
- ) }),
405
- /* @__PURE__ */ n(
406
- "div",
407
- {
408
- className: `mx-cmn-bar-label ${a ? "mx-cmn-clickable" : ""}`,
409
- onClick: a ? () => a(o) : void 0,
410
- children: /* @__PURE__ */ n(B, { bold: d === o, color: A, variant: "Small", children: i })
411
- }
412
- )
413
- ] });
414
- }, Yt = (s, t) => x({
415
- display: "flex",
416
- flexDirection: "column",
417
- flexGrow: t === void 0 ? 1 : 0,
418
- width: t,
419
- "& .mx-cmn-chart-average": {
420
- borderTop: `${s.Spacing.XTiny}px dotted ${s.Color.Neutral500}`,
421
- position: "relative",
422
- marginRight: s.Spacing.XTiny
423
- },
424
- "& .mx-cmn-zero-line": {
425
- borderBottom: "1px solid text.primary",
426
- width: "100%"
427
- },
428
- "& .mx-cmn-bar-label": {
429
- minHeight: s.Spacing.Medium,
430
- maxHeight: s.Spacing.Medium,
431
- marginBottom: s.Spacing.XSmall,
432
- marginTop: s.Spacing.XSmall,
433
- textAlign: "center",
434
- width: "100%"
435
- },
436
- "& .mx-cmn-clickable": {
437
- cursor: "pointer"
438
- }
439
- }), Qt = (s, t) => s + t, Xt = (s, t) => Math.abs(t) > s ? Math.abs(t) : s, zt = (s, t) => [...s, t.value], Q = (s, t, e) => {
440
- const r = s && t ? e / 2 : e;
441
- return s ? r : 0;
442
- }, jt = (s, t, e, r) => s / (t < 0 ? -e : t) * r || 0, Kt = ({
443
- average: s,
444
- barWidth: t = "8%",
445
- color: e,
446
- data: r,
447
- height: o,
448
- legendLabelAverage: a,
449
- legendLabelMain: c,
450
- onBarClick: d,
451
- selectedIndex: l,
452
- valueFormatter: u = (g) => `${g}`
453
- }) => {
454
- const g = C(), p = Vt(g), i = r.reduce(zt, []), m = s !== void 0 ? s : i.reduce(Qt, 0) / i.length, b = Math.max(...i), D = Math.min(...i), v = i.reduce(Xt, 0), A = b >= 0, k = D < 0, I = Q(A, k, o), N = Q(k, A, o), $ = jt(m, b, D, I || N), tt = (w) => l === void 0 || w === l ? e : `${e}80`, R = () => /* @__PURE__ */ n(
455
- Y,
456
- {
457
- averageLineHeight: $,
458
- bottomHeight: N,
459
- color: "",
460
- range: v,
461
- topHeight: I,
462
- value: 0,
463
- width: void 0
464
- }
465
- );
466
- return /* @__PURE__ */ f("div", { className: `mx-cmn-bar-chart ${p}`, children: [
467
- /* @__PURE__ */ f("div", { className: "mx-cmn-chart-container", children: [
468
- /* @__PURE__ */ n(R, {}),
469
- r.map((w, M) => /* @__PURE__ */ f(dt.Fragment, { children: [
470
- /* @__PURE__ */ n(
471
- Y,
472
- {
473
- ariaLabel: w.ariaLabel,
474
- averageLineHeight: $,
475
- bottomHeight: N,
476
- color: tt(M),
477
- index: M,
478
- onClick: d,
479
- range: v,
480
- selectedIndex: l,
481
- topHeight: I,
482
- value: w.value,
483
- valueLabel: u(w.value),
484
- width: t,
485
- xAxisLabel: w.label
486
- }
487
- ),
488
- /* @__PURE__ */ n(R, {})
489
- ] }, `column-${M}`))
490
- ] }),
491
- /* @__PURE__ */ n(Ft, { color: e, labelAverage: a, labelMain: c })
492
- ] });
493
- }, Vt = (s) => x({
494
- "& .mx-cmn-chart-container": {
495
- alignItems: "flex-end",
496
- display: "flex",
497
- justifyContent: "space-evenly",
498
- marginTop: s.Spacing.Large,
499
- marginBottom: s.Spacing.Medium
500
- }
501
- }), Ve = Kt, Zt = ({
229
+ var St = /* @__PURE__ */ ((s) => (s[s.UNKNOWN = 0] = "UNKNOWN", s[s.CORRECT = 1] = "CORRECT", s[s.INCORRECT = 2] = "INCORRECT", s))(St || {}), bt = /* @__PURE__ */ ((s) => (s.Missed = "Missed", s.Paid = "Paid", s.Upcoming = "Upcoming expense", s.Income = "Income", s))(bt || {}), wt = /* @__PURE__ */ ((s) => (s[s.Unknown = 0] = "Unknown", s[s.Subscription = 1] = "Subscription", s[s.Bill = 2] = "Bill", s))(wt || {}), Ct = /* @__PURE__ */ ((s) => (s.Desktop = "Desktop", s.Mobile = "Mobile", s))(Ct || {});
230
+ const ye = ({
502
231
  hasGap: s = !1,
503
232
  segments: t,
504
- size: e = gt,
505
- strokeWidth: r = pt,
233
+ size: e = W,
234
+ strokeWidth: r = q,
506
235
  children: o
507
236
  }) => {
508
- const a = C(), c = Jt(a, e), d = (e - r) / 2, l = e / 2;
509
- let u = -90 - (s ? 1 : 0), g = 0;
510
- return /* @__PURE__ */ f("div", { className: `mx-cmn-multi-segment-donut ${c}`, children: [
511
- /* @__PURE__ */ f("svg", { height: e, width: e, children: [
512
- /* @__PURE__ */ n(
237
+ const n = Dt(e), a = (e - r) / 2, c = e / 2;
238
+ let g = -90 - (s ? 1 : 0), u = 0;
239
+ return /* @__PURE__ */ w("div", { className: `mx-cmn-multi-segment-donut ${n}`, children: [
240
+ /* @__PURE__ */ w("svg", { height: e, width: e, children: [
241
+ /* @__PURE__ */ b(
513
242
  "circle",
514
243
  {
515
- cx: l,
516
- cy: l,
244
+ cx: c,
245
+ cy: c,
517
246
  fill: "none",
518
- r: d,
519
- stroke: a.Color.Neutral300,
247
+ r: a,
248
+ stroke: "#E4E8EE",
520
249
  strokeWidth: r
521
250
  }
522
251
  ),
523
- t.map((p, i) => (u += 360 * g + (s ? 1 : 0), g = (p.percent - (s ? 0.3 : 0)) / 100, /* @__PURE__ */ n(
252
+ t.map((_, y) => (g += 360 * u + (s ? 1 : 0), u = (_.percent - (s ? 0.3 : 0)) / 100, /* @__PURE__ */ b(
524
253
  "circle",
525
254
  {
526
- cx: l,
527
- cy: l,
255
+ cx: c,
256
+ cy: c,
528
257
  fill: "none",
529
- r: d,
530
- stroke: p.color,
531
- strokeDasharray: 2 * Math.PI * d,
532
- strokeDashoffset: 2 * Math.PI * d * (1 - g),
258
+ r: a,
259
+ stroke: _.color,
260
+ strokeDasharray: 2 * Math.PI * a,
261
+ strokeDashoffset: 2 * Math.PI * a * (1 - u),
533
262
  strokeWidth: r,
534
- transform: `rotate(${u}, ${l}, ${l})`
263
+ transform: `rotate(${g}, ${c}, ${c})`
535
264
  },
536
- i
265
+ y
537
266
  )))
538
267
  ] }),
539
- /* @__PURE__ */ n("div", { className: "mx-cmn-multi-segment-donut-children", children: o })
268
+ /* @__PURE__ */ b("div", { className: "mx-cmn-multi-segment-donut-children", children: o })
540
269
  ] });
541
- }, Jt = (s, t) => x({
542
- height: t,
543
- marginTop: `-${s.Spacing.XSmall}px`,
270
+ }, Dt = (s) => H({
271
+ height: s,
272
+ marginTop: "-8px",
544
273
  position: "relative",
545
- width: t,
274
+ width: s,
546
275
  "& .mx-cmn-multi-segment-donut-children": {
547
276
  left: "50%",
548
277
  position: "absolute",
@@ -550,29 +279,29 @@ const Ke = (s) => {
550
279
  top: "50%",
551
280
  transform: "translate(-50%, -50%)"
552
281
  }
553
- }), Ze = Zt;
554
- class te {
282
+ });
283
+ class At {
555
284
  globalStore;
556
- api = new L("/", "");
285
+ api = new C("/", "");
557
286
  copy = {};
558
287
  featureNamespace = "experiences";
559
288
  isInitialized = !1;
560
289
  constructor(t) {
561
- this.globalStore = t, this.api = new L(
290
+ this.globalStore = t, this.api = new C(
562
291
  t.endpoint,
563
292
  t.sessionToken,
564
293
  t.onError
565
- ), _(this);
294
+ ), l(this);
566
295
  }
567
296
  loadCopy = async () => {
568
- await this.getCopy(this.featureNamespace), S(() => {
297
+ await this.getCopy(this.featureNamespace), p(() => {
569
298
  this.isInitialized = !0;
570
299
  });
571
300
  };
572
301
  getCopy = async (t, e = "") => {
573
302
  try {
574
303
  const r = await this.api.getGlobalCopy(t, e);
575
- S(() => {
304
+ p(() => {
576
305
  this.copy = r[t];
577
306
  });
578
307
  } catch (r) {
@@ -580,7 +309,7 @@ class te {
580
309
  }
581
310
  };
582
311
  }
583
- class ee {
312
+ class Et {
584
313
  globalStore;
585
314
  survey = null;
586
315
  currentQuestionIndex = 0;
@@ -588,7 +317,7 @@ class ee {
588
317
  response = null;
589
318
  responses = {};
590
319
  constructor(t) {
591
- this.globalStore = t, _(this);
320
+ this.globalStore = t, l(this);
592
321
  }
593
322
  get isLastQuestion() {
594
323
  return this.currentQuestionIndex === this.surveyQuestions.length - 1;
@@ -610,8 +339,8 @@ class ee {
610
339
  return this.survey ? this.survey.questions : [];
611
340
  }
612
341
  loadSurvey = (t = !1) => {
613
- yt.getActiveMatchingSurveys((e) => {
614
- S(() => {
342
+ J.getActiveMatchingSurveys((e) => {
343
+ p(() => {
615
344
  if (e.length > 0) {
616
345
  const r = e.find((o) => o.id === this.surveyId);
617
346
  r && (this.survey = r, this.currentQuestionIndex = 0, this.question = r.questions[0], this.response = null, this.responses = {});
@@ -629,12 +358,12 @@ class ee {
629
358
  this.response = t, this.question && (this.responses[`$survey_response_${this.question.id}`] = t);
630
359
  };
631
360
  }
632
- class X {
361
+ class B {
633
362
  fetchInstance;
634
363
  constructor(t, e, r) {
635
- this.fetchInstance = new y(t, e, void 0, r);
364
+ this.fetchInstance = new h(t, e, void 0, r);
636
365
  }
637
- addBudget = async (t, e, r = null) => this.fetchInstance.post(h.BUDGETS, {
366
+ addBudget = async (t, e, r = null) => this.fetchInstance.post(i.BUDGETS, {
638
367
  amount: e,
639
368
  category_guid: t.guid,
640
369
  category_name: t.name,
@@ -642,36 +371,36 @@ class X {
642
371
  }).then((o) => o.budget).catch((o) => {
643
372
  throw o;
644
373
  });
645
- deleteBudget = async (t) => this.fetchInstance.delete(`${h.BUDGETS}/${t}`).then((e) => e).catch((e) => {
374
+ deleteBudget = async (t) => this.fetchInstance.delete(`${i.BUDGETS}/${t}`).then((e) => e).catch((e) => {
646
375
  throw e;
647
376
  });
648
- getBudgets = async () => this.fetchInstance.get(h.BUDGETS).then((t) => t.budgets).catch((t) => t);
649
- updateBudget = async (t) => this.fetchInstance.put(`${h.BUDGETS}/${t.guid}`, t).then((e) => e.budget).catch((e) => {
377
+ getBudgets = async () => this.fetchInstance.get(i.BUDGETS).then((t) => t.budgets).catch((t) => t);
378
+ updateBudget = async (t) => this.fetchInstance.put(`${i.BUDGETS}/${t.guid}`, t).then((e) => e.budget).catch((e) => {
650
379
  throw e;
651
380
  });
652
381
  }
653
- class se {
654
- api = new X("/", "");
382
+ class xt {
383
+ api = new B("/", "");
655
384
  globalStore;
656
385
  alert = "";
657
- dateRange = { start: J(O()), end: Z(O()) };
386
+ dateRange = { start: P(D()), end: O(D()) };
658
387
  budgets = [];
659
388
  selectedBudget;
660
389
  selectedSubBudget;
661
390
  isDataLoaded = !1;
662
391
  theme = {};
663
392
  constructor(t) {
664
- this.globalStore = t, this.api = new X(t.endpoint, t.sessionToken, t.onError), _(this);
393
+ this.globalStore = t, this.api = new B(t.endpoint, t.sessionToken, t.onError), l(this);
665
394
  }
666
395
  loadBudgetData = async () => {
667
- await this.loadBudgets(), _t(
396
+ this.globalStore.recurringTransactionsStore.isDataLoaded || await this.globalStore.recurringTransactionsStore.loadRepeatingTransactionData(), await this.loadBudgets(), V(
668
397
  () => this.detailedBudgets,
669
398
  (t) => {
670
399
  if (t) {
671
400
  const e = this.selectedBudget;
672
- e && (this.selectedBudget = bt(t, e.guid));
401
+ e && (this.selectedBudget = et(t, e.guid));
673
402
  const r = this.selectedSubBudget;
674
- r && r.parent_guid && (this.selectedSubBudget = wt(
403
+ r && r.parent_guid && (this.selectedSubBudget = st(
675
404
  t,
676
405
  r.guid,
677
406
  r.parent_guid
@@ -681,9 +410,9 @@ class se {
681
410
  );
682
411
  };
683
412
  get detailedBudgets() {
684
- return P(
413
+ return A(
685
414
  this.budgets.filter(
686
- (t) => t.category_guid !== E.INCOME && t.category_guid !== E.TRANSFER && t.category_guid !== E.INVESTMENTS
415
+ (t) => t.category_guid !== f.INCOME && t.category_guid !== f.TRANSFER && t.category_guid !== f.INVESTMENTS
687
416
  ),
688
417
  this.globalStore.categoryStore.detailedCategories,
689
418
  this.globalStore.copyStore.copy.budgets,
@@ -692,13 +421,13 @@ class se {
692
421
  }
693
422
  // TODO: Replace this with income from recurring transactions. Income budgets are deprecated.
694
423
  get incomeBudget() {
695
- return P(
424
+ return A(
696
425
  this.budgets.filter((r) => !r.parent_guid),
697
426
  this.globalStore.categoryStore.detailedCategories,
698
427
  this.globalStore.copyStore.copy.budgets,
699
428
  this.theme
700
429
  ).reduce(
701
- (r, o) => o.category_guid !== E.INCOME ? r : !r || o.percentage > r.percentage ? o : r,
430
+ (r, o) => o.category_guid !== f.INCOME ? r : !r || o.percentage > r.percentage ? o : r,
702
431
  void 0
703
432
  )?.amount;
704
433
  }
@@ -713,7 +442,7 @@ class se {
713
442
  addBudget = async (t, e, r = null) => {
714
443
  try {
715
444
  const o = await this.api.addBudget(t, e, r);
716
- S(() => {
445
+ p(() => {
717
446
  this.budgets.push(o);
718
447
  });
719
448
  } catch (o) {
@@ -722,7 +451,7 @@ class se {
722
451
  };
723
452
  deleteBudget = async (t) => {
724
453
  try {
725
- await this.api.deleteBudget(t), S(() => {
454
+ await this.api.deleteBudget(t), p(() => {
726
455
  const e = this.budgets.findIndex((r) => r.guid === t);
727
456
  e >= 0 && this.budgets.splice(e, 1);
728
457
  });
@@ -753,7 +482,7 @@ class se {
753
482
  recalculateBudgets = async (t) => {
754
483
  try {
755
484
  for (const r of t) {
756
- const o = this.budgets.find((a) => a.category_guid === r.guid);
485
+ const o = this.budgets.find((n) => n.category_guid === r.guid);
757
486
  o ? await this.api.updateBudget({
758
487
  ...o,
759
488
  amount: r.totalAverageAmount
@@ -772,7 +501,7 @@ class se {
772
501
  updateBudget = async (t) => {
773
502
  try {
774
503
  const e = await this.api.updateBudget(t);
775
- S(() => {
504
+ p(() => {
776
505
  const r = this.budgets.findIndex((o) => o.guid === t.guid);
777
506
  r >= 0 && (this.budgets[r] = e);
778
507
  });
@@ -781,38 +510,38 @@ class se {
781
510
  }
782
511
  };
783
512
  }
784
- class z {
513
+ class k {
785
514
  fetchInstance;
786
515
  constructor(t, e, r) {
787
- this.fetchInstance = new y(t, e, void 0, r);
516
+ this.fetchInstance = new h(t, e, void 0, r);
788
517
  }
789
- createSupportTicket = async (t) => this.fetchInstance.post(h.SUPPORT_TICKETS, t).then((e) => e);
518
+ createSupportTicket = async (t) => this.fetchInstance.post(i.SUPPORT_TICKETS, t).then((e) => e);
790
519
  }
791
- const re = (s, t) => s.guid === "general" || s.guid === "insights" ? !0 : s.flags ? s.flags.every((e) => t[e]) : !1, oe = (s, t) => {
520
+ const Tt = (s, t) => s.guid === "general" || s.guid === "insights" ? !0 : s.flags ? s.flags.every((e) => t[e]) : !1, It = (s, t) => {
792
521
  const e = [];
793
- for (const r of ot) {
522
+ for (const r of R) {
794
523
  const o = t[r.guid];
795
524
  if (!o) continue;
796
- const a = {
525
+ const n = {
797
526
  ...r,
798
527
  title: o.label,
799
- topics: r.topics.map(({ topicKey: c }, d) => ({
800
- topicKey: c,
801
- label: o.topics[d]
528
+ topics: r.topics.map(({ topicKey: a }, c) => ({
529
+ topicKey: a,
530
+ label: o.topics[c]
802
531
  }))
803
532
  };
804
- re(a, s) && e.push(a);
533
+ Tt(n, s) && e.push(n);
805
534
  }
806
535
  return e;
807
536
  };
808
- class ae {
537
+ class vt {
809
538
  alert = { message: "", severity: void 0 };
810
- api = new z("/", "");
539
+ api = new k("/", "");
811
540
  appConfig;
812
541
  globalStore;
813
542
  isLoading = !1;
814
543
  constructor(t) {
815
- this.globalStore = t, this.api = new z(t.endpoint, t.sessionToken, t.onError), _(this);
544
+ this.globalStore = t, this.api = new k(t.endpoint, t.sessionToken, t.onError), l(this);
816
545
  }
817
546
  createSupportTicket = async (t) => {
818
547
  try {
@@ -831,7 +560,7 @@ class ae {
831
560
  const { client_communication_profile: t, client_profile: e } = this.globalStore.appDataStore.appData, {
832
561
  help: { category_list: r }
833
562
  } = this.globalStore.copyStore.copy;
834
- return oe(
563
+ return It(
835
564
  {
836
565
  ...t,
837
566
  ...e,
@@ -841,29 +570,29 @@ class ae {
841
570
  );
842
571
  }
843
572
  }
844
- class j {
573
+ class N {
845
574
  fetchInstance;
846
575
  constructor(t, e, r) {
847
- this.fetchInstance = new y(t, e, void 0, r);
576
+ this.fetchInstance = new h(t, e, void 0, r);
848
577
  }
849
- getHoldings = async () => this.fetchInstance.get(h.HOLDINGS).then((t) => t.holdings);
850
- updateHoldings = async (t) => this.fetchInstance.put(`${h.HOLDINGS}/${t.guid}`, t).then((e) => e.holding);
578
+ getHoldings = async () => this.fetchInstance.get(i.HOLDINGS).then((t) => t.holdings);
579
+ updateHoldings = async (t) => this.fetchInstance.put(`${i.HOLDINGS}/${t.guid}`, t).then((e) => e.holding);
851
580
  }
852
- class ne {
853
- analysisType = Dt.Stocks;
854
- api = new j("/", "");
581
+ class Bt {
582
+ analysisType = at.Stocks;
583
+ api = new N("/", "");
855
584
  holdings = [];
856
585
  holdingsLoaded = !1;
857
586
  globalStore;
858
587
  showConnectionsWidget = !1;
859
588
  constructor(t) {
860
- this.globalStore = t, this.api = new j(t.endpoint, t.sessionToken, t.onError), _(this);
589
+ this.globalStore = t, this.api = new N(t.endpoint, t.sessionToken, t.onError), l(this);
861
590
  }
862
591
  get analysisChartData() {
863
- return vt(At(this.visibleHoldings), this.analysisType);
592
+ return it(nt(this.visibleHoldings), this.analysisType);
864
593
  }
865
594
  get analysisDetails() {
866
- return Et(this.visibleHoldings)[this.analysisType] || {};
595
+ return ct(this.visibleHoldings)[this.analysisType] || {};
867
596
  }
868
597
  get visibleHoldings() {
869
598
  return this.holdings.filter(
@@ -893,7 +622,7 @@ class ne {
893
622
  const e = await this.api.updateHoldings(t), r = this.holdings.findIndex(({ guid: o }) => o === t.guid);
894
623
  if (r >= 0) {
895
624
  const o = [...this.holdings];
896
- o[r] = e, S(() => {
625
+ o[r] = e, p(() => {
897
626
  this.holdings = o, this.holdingsLoaded = !0;
898
627
  });
899
628
  }
@@ -902,7 +631,7 @@ class ne {
902
631
  }
903
632
  };
904
633
  }
905
- const K = {
634
+ const U = {
906
635
  clientConfig: {},
907
636
  clientStyleProfile: {},
908
637
  config: {
@@ -1006,22 +735,22 @@ const K = {
1006
735
  postHogPublicKey: "phc_1fVYJICC69TpW4wagp9o2XqQ8E7X98cAmcR5psSpfkE",
1007
736
  userFeatures: []
1008
737
  };
1009
- class V {
738
+ class L {
1010
739
  fetchInstance;
1011
740
  constructor(t, e, r) {
1012
- this.fetchInstance = new y(t, e, void 0, r);
741
+ this.fetchInstance = new h(t, e, void 0, r);
1013
742
  }
1014
- getAppData = async () => this.fetchInstance.get(h.APP_DATA).then((t) => t);
743
+ getAppData = async () => this.fetchInstance.get(i.APP_DATA).then((t) => t);
1015
744
  }
1016
- class ie {
745
+ class kt {
1017
746
  globalStore;
1018
- api = new V("/", "");
1019
- bannerApi = new G("/");
747
+ api = new L("/", "");
748
+ bannerApi = new T("/");
1020
749
  appData = {};
1021
750
  isAppDataLoaded = !1;
1022
751
  banner = {};
1023
752
  constructor(t) {
1024
- this.globalStore = t, this.api = new V(t.endpoint, t.sessionToken, t.onError), _(this);
753
+ this.globalStore = t, this.api = new L(t.endpoint, t.sessionToken, t.onError), l(this);
1025
754
  }
1026
755
  get appConfig() {
1027
756
  return this.globalStore.appConfig;
@@ -1042,7 +771,7 @@ class ie {
1042
771
  return this.appData.user_profile;
1043
772
  }
1044
773
  setAppData = (t) => {
1045
- this.appData = t, this.bannerApi = new G(t.address?.bullseye || "/"), this.isAppDataLoaded = !0;
774
+ this.appData = t, this.bannerApi = new T(t.address?.bullseye || "/"), this.isAppDataLoaded = !0;
1046
775
  };
1047
776
  loadAppData = async () => {
1048
777
  try {
@@ -1055,7 +784,7 @@ class ie {
1055
784
  loadBanner = async () => {
1056
785
  try {
1057
786
  const t = this.user?.guid ?? null, e = t ? await this.bannerApi.getBanner(t) : {};
1058
- S(() => {
787
+ p(() => {
1059
788
  this.banner = e;
1060
789
  });
1061
790
  } catch (t) {
@@ -1066,35 +795,40 @@ class ie {
1066
795
  setUserCommunicationProfile = (t) => this.appData.user_communication_profile = t;
1067
796
  setUserProfile = (t) => this.appData.user_profile = t;
1068
797
  }
1069
- class ce {
798
+ class Nt {
1070
799
  globalStore;
1071
- widgetApi = new W("/", "");
800
+ widgetApi = new v("/", "");
1072
801
  constructor(t) {
1073
- this.globalStore = t, this.widgetApi = new W(t.endpoint, t.sessionToken), _(this);
802
+ this.globalStore = t, this.widgetApi = new v(t.endpoint, t.sessionToken), l(this);
1074
803
  }
1075
804
  loadWidget = async ({ widget: t = "connect_widget", mode: e = "light", ...r }) => await this.widgetApi.requestWidgetUrl({
1076
805
  widget_url: { widget_type: t, color_scheme: e, ...r }
1077
806
  });
1078
807
  }
1079
- class de {
808
+ class Ut {
1080
809
  globalStore;
1081
- isInitialized = !1;
1082
810
  selectedAccounts = [];
1083
811
  selectedAccountGuids = this.selectedAccounts.map((t) => t.guid);
1084
812
  displayedDate = /* @__PURE__ */ new Date();
1085
813
  displayedDateRange = {
1086
- start: J(this.displayedDate),
1087
- end: Z(this.displayedDate)
814
+ start: P(this.displayedDate),
815
+ end: O(this.displayedDate)
1088
816
  };
1089
817
  constructor(t) {
1090
- _(this), this.globalStore = t;
818
+ l(this), this.globalStore = t;
1091
819
  }
1092
820
  get isCopyLoaded() {
1093
821
  return this.globalStore.copyStore.isInitialized;
1094
822
  }
1095
- setInitialized = (t) => {
1096
- this.isInitialized = t;
1097
- };
823
+ get isConfigLoaded() {
824
+ return this.globalStore.appDataStore.isAppDataLoaded;
825
+ }
826
+ get areUserFeaturesLoaded() {
827
+ return this.globalStore.userStore.userFeaturesLoaded;
828
+ }
829
+ get isInitialized() {
830
+ return this.isCopyLoaded && this.isConfigLoaded && this.areUserFeaturesLoaded;
831
+ }
1098
832
  // for the global account filter
1099
833
  // if excluded from 1 widget, excluded from all
1100
834
  setSelectedAccounts = (t) => {
@@ -1104,8 +838,8 @@ class de {
1104
838
  };
1105
839
  // Sets an array of selected account guids for the AccountFilter component
1106
840
  setSelectedAccountGuids = async (t) => {
1107
- const e = new Set(this.selectedAccountGuids), r = new Set(t), o = [...r].filter((c) => !e.has(c)), a = [...e].filter((c) => !r.has(c));
1108
- o.length > 0 && this.globalStore.accountStore.updateAccountFiltering(o, !1), a.length > 0 && this.globalStore.accountStore.updateAccountFiltering(a, !0), this.selectedAccountGuids = t;
841
+ const e = new Set(this.selectedAccountGuids), r = new Set(t), o = [...r].filter((a) => !e.has(a)), n = [...e].filter((a) => !r.has(a));
842
+ o.length > 0 && this.globalStore.accountStore.updateAccountFiltering(o, !1), n.length > 0 && this.globalStore.accountStore.updateAccountFiltering(n, !0), this.selectedAccountGuids = t;
1109
843
  };
1110
844
  setDisplayedDate = (t, e) => {
1111
845
  this.displayedDate = e, this.displayedDateRange = {
@@ -1114,21 +848,21 @@ class de {
1114
848
  };
1115
849
  };
1116
850
  get shouldDisableNextDate() {
1117
- const t = T(this.displayedDate), e = T(Nt(/* @__PURE__ */ new Date(), 1));
851
+ const t = m(this.displayedDate), e = m(ht(/* @__PURE__ */ new Date(), 1));
1118
852
  return t === e;
1119
853
  }
1120
854
  get shouldDisablePrevDate() {
1121
- const t = T(this.displayedDate), e = T(/* @__PURE__ */ new Date());
855
+ const t = m(this.displayedDate), e = m(/* @__PURE__ */ new Date());
1122
856
  return t === e;
1123
857
  }
1124
858
  }
1125
- class le {
859
+ class Lt {
1126
860
  globalStore;
1127
- api = new F("/", "");
861
+ api = new I("/", "");
1128
862
  userFeatures = [];
1129
863
  userFeaturesLoaded = !1;
1130
864
  constructor(t) {
1131
- this.globalStore = t, this.api = new F(t.endpoint, t.sessionToken, t.onError), _(this);
865
+ this.globalStore = t, this.api = new I(t.endpoint, t.sessionToken, t.onError), l(this);
1132
866
  }
1133
867
  get userProfile() {
1134
868
  return this.globalStore.appDataStore.userProfile;
@@ -1164,12 +898,13 @@ class le {
1164
898
  }
1165
899
  };
1166
900
  }
1167
- class Je {
901
+ class Se {
1168
902
  // Global properties
1169
- appConfig = K;
903
+ appConfig = U;
1170
904
  endpoint = "/";
1171
905
  sessionToken = "";
1172
906
  onError;
907
+ onStoreUpdate;
1173
908
  // Data Stores
1174
909
  accountStore;
1175
910
  appDataStore;
@@ -1195,189 +930,193 @@ class Je {
1195
930
  userStore;
1196
931
  // UI Stores
1197
932
  globalUiStore;
1198
- constructor(t = K, e = "/", r) {
1199
- this.appConfig = t, this.endpoint = e, this.sessionToken = t.options.session_token ?? "", this.onError = r, this.accountStore = new ft(this), this.appDataStore = new ie(this), this.analyticsStore = new ee(this), this.beatStore = new St(this), this.budgetsStore = new se(this), this.cashflowStore = new nt(this), this.categoryStore = new et(this), this.connectStore = new ce(this), this.copyStore = new te(this), this.debtsStore = new xt(this), this.finstrongStore = new Ct(this), this.goalStore = new it(this), this.helpStore = new ae(this), this.holdingStore = new ne(this), this.merchantStore = new Tt(this), this.netWorthStore = new Bt(this), this.notificationStore = new st(this), this.recurringTransactionsStore = new mt(this), this.settingsStore = new It(this), this.transactionStore = new at(this), this.trendsStore = new ct(this), this.userStore = new le(this), this.globalUiStore = new de(this), _(this);
933
+ constructor(t = U, e = "/", r, o) {
934
+ this.appConfig = t, this.endpoint = e, this.sessionToken = t.options.session_token ?? "", this.onError = r, this.onStoreUpdate = o, this.accountStore = new X(this), this.appDataStore = new kt(this), this.analyticsStore = new Et(this), this.beatStore = new tt(this), this.budgetsStore = new xt(this), this.cashflowStore = new G(this), this.categoryStore = new Y(this), this.connectStore = new Nt(this), this.copyStore = new At(this), this.debtsStore = new rt(this), this.finstrongStore = new ot(this), this.goalStore = new K(this), this.helpStore = new vt(this), this.holdingStore = new Bt(this), this.merchantStore = new dt(this), this.netWorthStore = new ut(this), this.notificationStore = new Q(this), this.recurringTransactionsStore = new j(this), this.settingsStore = new lt(this), this.transactionStore = new $(this), this.trendsStore = new z(this), this.userStore = new Lt(this), this.globalUiStore = new Ut(this), l(this), Z(() => {
935
+ const { transactions: n } = this.transactionStore;
936
+ this.emitUpdate({
937
+ transactions: n
938
+ });
939
+ });
1200
940
  }
1201
941
  get isInitialized() {
1202
942
  return this.globalUiStore.isInitialized;
1203
943
  }
944
+ // emits change triggered in the autorun
945
+ emitUpdate = (t) => {
946
+ this.onStoreUpdate?.(t);
947
+ };
1204
948
  loadConfigData = async () => {
1205
949
  await Promise.all([
1206
- // Load copy, config and quser data
950
+ // Load copy, config and user data
1207
951
  this.copyStore.loadCopy(),
1208
952
  this.appDataStore.loadAppData(),
1209
953
  this.userStore.loadUserFeatures()
1210
- ]), this.globalUiStore.setInitialized(!0);
954
+ ]);
1211
955
  };
1212
956
  loadData = async ({
1213
957
  accounts: t,
1214
958
  appData: e,
1215
959
  associatedBeats: r,
1216
960
  categories: o,
1217
- institutions: a,
1218
- transactionRules: c,
1219
- transactions: d,
1220
- userFeatures: l
961
+ institutions: n,
962
+ transactionRules: a,
963
+ transactions: c,
964
+ userFeatures: g
1221
965
  } = {}) => {
1222
- await this.loadConfigData(), e && this.appDataStore.setAppData(e), l && this.userStore.setUserFeatures(l), t && a && (await this.accountStore.loadMembers(), this.accountStore.setInstitutions(a), this.accountStore.setAccounts(t)), r && this.transactionStore.setAssociatedBeats(r), o && this.categoryStore.setCategories(o), d && this.transactionStore.setTransactions(d), c && this.transactionStore.setTransactionRules(c);
966
+ (!e || !g) && await this.loadConfigData(), e && this.appDataStore.setAppData(e), g && this.userStore.setUserFeatures(g), t && (await this.accountStore.loadMembers(), n && this.accountStore.setInstitutions(n), this.accountStore.setAccounts(t)), r && this.transactionStore.setAssociatedBeats(r), o && this.categoryStore.setCategories(o), c && this.transactionStore.setTransactions(c), a && this.transactionStore.setTransactionRules(a);
1223
967
  };
1224
968
  }
1225
969
  export {
1226
- Ds as ANALYTICS_EVENTS,
1227
- Ts as AccountFilter,
1228
- Bs as AccountIcon,
1229
- Is as AccountIconVariants,
1230
- Tr as AccountNotificationTypes,
1231
- Ns as AccountSubType,
1232
- Ms as AccountType,
1233
- ks as AccountTypeName,
1234
- ss as AnalyticsApi,
1235
- h as ApiEndpoints,
1236
- G as BannerApi,
1237
- Ve as BarChart,
1238
- is as BeatApi,
1239
- Br as BudgetNotificationTypes,
1240
- gs as Calendar,
1241
- ps as CalendarSelectionTypes,
1242
- ds as CategoryApi,
1243
- eo as CategoryColors,
1244
- so as CategoryGuidToName,
1245
- E as CategoryGuids,
1246
- ro as CategoryIcon,
1247
- pr as ConnectCard,
1248
- $s as ConnectDrawer,
1249
- Rs as ConnectionStatus,
1250
- Ls as ConnectionStatusEnums,
1251
- no as CurrencyCodes,
1252
- Ys as CurrencyInput,
1253
- Sr as CurrencyText,
1254
- Gr as DATE_FORMATS_INTL,
1255
- gt as DEFAULT_DONUT_SIZE,
1256
- pt as DEFAULT_STROKE_WIDTH,
1257
- ar as DataRow,
1258
- vs as DateRangeSelector,
1259
- Fr as Dialog,
1260
- Rr as Donut,
1261
- jr as Drawer,
1262
- wr as EmptyState,
1263
- ys as ErrorBoundary,
1264
- Os as ErrorStatuses,
1265
- Ut as ExpenseStatus,
1266
- y as Fetch,
1267
- nr as Frequency,
1268
- L as GlobalCopyApi,
1269
- te as GlobalCopyStore,
1270
- fo as GlobalDataContext,
1271
- yo as GlobalDataProvider,
1272
- Je as GlobalStore,
1273
- mr as GoalType,
1274
- Vr as INCOME_ACCOUNT_TYPES,
1275
- rr as IconBacking,
1276
- hr as InformationTooltip,
1277
- Ir as InsightNotificationTypes,
1278
- Rt as IterationItemTypes,
1279
- Qe as LOADING_STATUS,
1280
- Or as LineChart,
1281
- Cr as ListItemAction,
1282
- vr as ListItemRow,
1283
- ms as ListItemWrapper,
1284
- Xs as Loader,
1285
- ze as LocalizedCopyApi,
1286
- _r as MetaType,
1287
- Ps as MfaStatuses,
1288
- bs as MicroWidgetContainer,
1289
- xs as MiniWidgetContainer,
1290
- Ze as MultiSegmentDonut,
1291
- Us as NonConnectedStatuses,
1292
- us as NotificationApi,
1293
- Nr as NotificationTypes,
1294
- Wr as ORDINAL_DATE_FORMAT,
1295
- qr as ORDINAL_MONTH_DAY_YEAR_FORMAT,
1296
- Zr as PAYMENT_ACCOUNT_TYPES,
1297
- oo as PaymentCategories,
1298
- $t as PlanTypes,
1299
- Hs as ProcessingStatuses,
1300
- Gs as PropertyType,
1301
- Fs as PropertyTypeName,
1302
- Ye as RECURRENCE_COPY,
1303
- ir as RecurrenceStatus,
1304
- cr as RecurrenceType,
1305
- kt as RecurrenceTypes,
1306
- dr as RepeatingType,
1307
- js as ResponsiveButton,
1308
- Jr as SPENDING_ACCOUNT_TYPES,
1309
- Ht as ScheduledPaymentTypes,
1310
- je as ScheduledPaymentsApi,
1311
- Gt as ScreenSize,
1312
- Vs as SearchBox,
1313
- lr as Select,
1314
- Js as SelectionBox,
1315
- Xr as SingleSegmentDonut,
1316
- po as Sizes,
1317
- Ar as StackedLineChart,
1318
- Ur as StatusBar,
1319
- Ws as StatusName,
1320
- mo as TOUCH_TARGET,
1321
- er as TabContentContainer,
1322
- Mr as ToggleButtonListItem,
1323
- kr as ToggleListItem,
1324
- fr as TrackType,
970
+ Ss as ANALYTICS_EVENTS,
971
+ je as AccountFilter,
972
+ Ve as AccountIcon,
973
+ Ze as AccountIconVariants,
974
+ ar as AccountNotificationTypes,
975
+ Xe as AccountSubType,
976
+ Je as AccountType,
977
+ ts as AccountTypeName,
978
+ Us as AnalyticsApi,
979
+ i as ApiEndpoints,
980
+ T as BannerApi,
981
+ Rs as BeatApi,
982
+ ir as BudgetNotificationTypes,
983
+ hs as Calendar,
984
+ gs as CalendarSelectionTypes,
985
+ Gs as CategoryApi,
986
+ fr as CategoryColors,
987
+ mr as CategoryGuidToName,
988
+ f as CategoryGuids,
989
+ yr as CategoryIcon,
990
+ Qs as ConnectCard,
991
+ es as ConnectDrawer,
992
+ ss as ConnectionStatus,
993
+ rs as ConnectionStatusEnums,
994
+ wr as CurrencyCodes,
995
+ Ie as CurrencyInput,
996
+ Zs as CurrencyText,
997
+ Ds as DATE_FORMATS_INTL,
998
+ W as DEFAULT_DONUT_SIZE,
999
+ q as DEFAULT_STROKE_WIDTH,
1000
+ Ge as DataRow,
1001
+ bs as DateRangeSelector,
1002
+ As as Dialog,
1003
+ ks as Drawer,
1004
+ Js as EmptyState,
1005
+ Ce as ErrorBoundary,
1006
+ os as ErrorStatuses,
1007
+ bt as ExpenseStatus,
1008
+ h as Fetch,
1009
+ Fe as Frequency,
1010
+ C as GlobalCopyApi,
1011
+ At as GlobalCopyStore,
1012
+ kr as GlobalDataContext,
1013
+ Nr as GlobalDataProvider,
1014
+ Se as GlobalStore,
1015
+ Ks as GoalType,
1016
+ hr as INCOME_ACCOUNT_TYPES,
1017
+ Re as IconBacking,
1018
+ Ke as InformationTooltip,
1019
+ nr as InsightNotificationTypes,
1020
+ ft as IterationItemTypes,
1021
+ pe as LOADING_STATUS,
1022
+ er as ListItemAction,
1023
+ rr as ListItemRow,
1024
+ ps as ListItemWrapper,
1025
+ Be as Loader,
1026
+ fe as LocalizedCopyApi,
1027
+ zs as MetaType,
1028
+ as as MfaStatuses,
1029
+ Ae as MicroWidgetContainer,
1030
+ xe as MiniWidgetContainer,
1031
+ ye as MultiSegmentDonut,
1032
+ is as NonConnectedStatuses,
1033
+ Hs as NotificationApi,
1034
+ cr as NotificationTypes,
1035
+ Es as ORDINAL_DATE_FORMAT,
1036
+ xs as ORDINAL_MONTH_DAY_YEAR_FORMAT,
1037
+ gr as PAYMENT_ACCOUNT_TYPES,
1038
+ Sr as PaymentCategories,
1039
+ _t as PlanTypes,
1040
+ ns as ProcessingStatuses,
1041
+ cs as PropertyType,
1042
+ ds as PropertyTypeName,
1043
+ ge as RECURRENCE_COPY,
1044
+ He as RecurrenceStatus,
1045
+ We as RecurrenceType,
1046
+ pt as RecurrenceTypes,
1047
+ qe as RepeatingType,
1048
+ Ne as ResponsiveButton,
1049
+ pr as SPENDING_ACCOUNT_TYPES,
1050
+ wt as ScheduledPaymentTypes,
1051
+ me as ScheduledPaymentsApi,
1052
+ Ct as ScreenSize,
1053
+ qs as SearchBox,
1054
+ Ye as Select,
1055
+ Le as SelectionBox,
1056
+ vs as SingleSegmentDonut,
1057
+ Ir as Sizes,
1058
+ ms as StatusBar,
1059
+ us as StatusName,
1060
+ vr as TOUCH_TARGET,
1061
+ Pe as TabContentContainer,
1062
+ dr as ToggleButtonListItem,
1063
+ ur as ToggleListItem,
1064
+ js as TrackType,
1325
1065
  _s as TransactionStatus,
1326
- rt as TransactionType,
1327
- F as UserApi,
1328
- le as UserStore,
1329
- Pt as UserVerification,
1330
- W as WidgetApi,
1331
- As as WidgetContainer,
1332
- So as WidgetContainerContext,
1333
- bo as WidgetContainerProvider,
1334
- rs as analyticsSession,
1335
- ca as buildDynamicCopy,
1336
- da as buildPluralCopy,
1337
- io as formatCurrency,
1338
- Yr as formatDate,
1339
- co as formatOrdinal,
1340
- lo as formatPercentage,
1341
- na as fromTimestampToMonthYear,
1342
- ta as getCategory,
1343
- ea as getCategoryTotalsByParent,
1344
- Xe as getClientTheme,
1345
- uo as getCurrencyCodes,
1346
- sa as getDetailedCategory,
1347
- ra as getDetailedSubCategory,
1348
- la as getLocale,
1349
- oa as isIncome,
1350
- ho as isValidNumber,
1351
- zo as useAccountDisplayName,
1352
- wo as useAccountStore,
1353
- xo as useAppConfig,
1354
- Co as useBudgetsStore,
1355
- Do as useCashflowStore,
1356
- vo as useCategoryStore,
1357
- os as useCombineEvents,
1358
- as as useCombinePageviews,
1359
- Ao as useDebtStore,
1360
- Eo as useError,
1361
- To as useEvent,
1362
- Bo as useFinstrongStore,
1363
- Io as useGlobalCopyStore,
1364
- No as useGlobalStore,
1365
- Mo as useGlobalUiStore,
1366
- ko as useGoalStore,
1367
- $o as useHelpStore,
1368
- Ro as useHoldingStore,
1369
- Ko as useInsightsEnabled,
1370
- Lo as useLoad,
1371
- Oo as useMerchantStore,
1372
- Po as useNetWorthStore,
1373
- Uo as useNotificationStore,
1374
- Ho as usePageView,
1375
- Ke as usePrevious,
1376
- Go as useRecurringTransactionsStore,
1377
- Zo as useScreenSize,
1378
- Fo as useSettingsStore,
1379
- Wo as useTransactionStore,
1380
- qo as useTrendsStore,
1381
- Yo as useUserStore,
1382
- Qo as useWidgetContainerProvider
1066
+ F as TransactionType,
1067
+ I as UserApi,
1068
+ Lt as UserStore,
1069
+ St as UserVerification,
1070
+ v as WidgetApi,
1071
+ ws as WidgetContainer,
1072
+ Ur as WidgetContainerContext,
1073
+ Lr as WidgetContainerProvider,
1074
+ Ls as analyticsSession,
1075
+ Do as buildDynamicCopy,
1076
+ Ao as buildPluralCopy,
1077
+ Cr as formatCurrency,
1078
+ Ts as formatDate,
1079
+ Dr as formatOrdinal,
1080
+ Ar as formatPercentage,
1081
+ wo as fromTimestampToMonthYear,
1082
+ _o as getCategory,
1083
+ fo as getCategoryTotalsByParent,
1084
+ _e as getClientTheme,
1085
+ Er as getCurrencyCodes,
1086
+ mo as getDetailedCategory,
1087
+ yo as getDetailedSubCategory,
1088
+ Eo as getLocale,
1089
+ So as isIncome,
1090
+ xr as isValidNumber,
1091
+ co as useAccountDisplayName,
1092
+ Or as useAccountStore,
1093
+ Pr as useAppConfig,
1094
+ Mr as useBudgetsStore,
1095
+ Rr as useCashflowStore,
1096
+ $r as useCategoryStore,
1097
+ Os as useCombineEvents,
1098
+ Ps as useCombinePageviews,
1099
+ Gr as useDebtStore,
1100
+ Fr as useError,
1101
+ Hr as useEvent,
1102
+ Wr as useFinstrongStore,
1103
+ qr as useGlobalCopyStore,
1104
+ Yr as useGlobalStore,
1105
+ Qr as useGlobalUiStore,
1106
+ Kr as useGoalStore,
1107
+ zr as useHelpStore,
1108
+ jr as useHoldingStore,
1109
+ lo as useInsightsEnabled,
1110
+ Vr as useLoad,
1111
+ Zr as useMerchantStore,
1112
+ Xr as useNetWorthStore,
1113
+ Jr as useNotificationStore,
1114
+ to as usePageView,
1115
+ eo as useRecurringTransactionsStore,
1116
+ go as useScreenSize,
1117
+ so as useSettingsStore,
1118
+ ro as useTransactionStore,
1119
+ oo as useTrendsStore,
1120
+ ao as useUserStore,
1121
+ io as useWidgetContainerProvider
1383
1122
  };