@mx-cartographer/experiences 4.0.1-alpha.al2 → 4.0.1-alpha.al3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es.js +559 -544
- package/dist/index.es.js.map +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -6,12 +6,12 @@ import k from "@mui/material/Divider";
|
|
|
6
6
|
import nA from "@mui/material/List";
|
|
7
7
|
import le from "@mui/material/ListSubheader";
|
|
8
8
|
import Ea from "@mui/system/Stack";
|
|
9
|
-
import { AccountsIcon as so, P as zA, Icon as M, useTokens as _A, Text as p, H2 as Dt, CategoryIcon as ne, DialogHeader as co, DialogFooter as lo, Drawer as uo, Footer as ho, DateRangePicker as ya, H3 as Jt, H1 as pe, TextField as ze, IconWeight as XA, MerchantLogo as Ke, CategoryIconVariants as _r, InstitutionLogo as Qe, THEMES as
|
|
9
|
+
import { AccountsIcon as so, P as zA, Icon as M, useTokens as _A, Text as p, H2 as Dt, CategoryIcon as ne, DialogHeader as co, DialogFooter as lo, Drawer as uo, Footer as ho, DateRangePicker as ya, H3 as Jt, H1 as pe, TextField as ze, IconWeight as XA, MerchantLogo as Ke, CategoryIconVariants as _r, InstitutionLogo as Qe, THEMES as ba, createMXTheme as go } from "@kyper/mui";
|
|
10
10
|
import Co from "bowser";
|
|
11
11
|
import { getUnixTime as mA } from "date-fns/getUnixTime";
|
|
12
12
|
import { intlFormat as fo } from "date-fns/intlFormat";
|
|
13
13
|
import { Honeybadger as Pt } from "@honeybadger-io/react";
|
|
14
|
-
import
|
|
14
|
+
import wa from "numeral";
|
|
15
15
|
import sA from "@mui/material/Button";
|
|
16
16
|
import at from "@mui/material/Tooltip";
|
|
17
17
|
import KA from "@mui/material/IconButton";
|
|
@@ -25,9 +25,9 @@ import zt from "@mui/material/Checkbox";
|
|
|
25
25
|
import { addMonths as ee } from "date-fns/addMonths";
|
|
26
26
|
import { addQuarters as Xe } from "date-fns/addQuarters";
|
|
27
27
|
import { addWeeks as $e } from "date-fns/addWeeks";
|
|
28
|
-
import { addYears as
|
|
29
|
-
import { getDay as
|
|
30
|
-
import { isBefore as
|
|
28
|
+
import { addYears as bt } from "date-fns/addYears";
|
|
29
|
+
import { getDay as wt } from "date-fns/getDay";
|
|
30
|
+
import { isBefore as bA } from "date-fns/isBefore";
|
|
31
31
|
import { nextDay as Dn } from "date-fns/nextDay";
|
|
32
32
|
import { setDate as On } from "date-fns/setDate";
|
|
33
33
|
import { startOfToday as AA } from "date-fns/startOfToday";
|
|
@@ -44,8 +44,8 @@ import { isSameMonth as yo } from "date-fns/isSameMonth";
|
|
|
44
44
|
import { startOfMonth as yA } from "date-fns/startOfMonth";
|
|
45
45
|
import { subMonths as ce } from "date-fns/subMonths";
|
|
46
46
|
import fe from "@mui/material/Paper";
|
|
47
|
-
import
|
|
48
|
-
import
|
|
47
|
+
import bo from "@mui/icons-material/KeyboardArrowLeftRounded";
|
|
48
|
+
import wo from "@mui/icons-material/KeyboardArrowRightRounded";
|
|
49
49
|
import { isSameDay as YA } from "date-fns/isSameDay";
|
|
50
50
|
import { isWithinInterval as et } from "date-fns/isWithinInterval";
|
|
51
51
|
import * as VA from "d3";
|
|
@@ -87,7 +87,7 @@ import { getDate as $o, fromUnixTime as Kt, startOfMonth as As, format as es, di
|
|
|
87
87
|
import { getMonth as At } from "date-fns/getMonth";
|
|
88
88
|
import { useVirtualizer as qr } from "@tanstack/react-virtual";
|
|
89
89
|
import { parseISO as kr } from "date-fns/parseISO";
|
|
90
|
-
import
|
|
90
|
+
import we from "@mui/material/Skeleton";
|
|
91
91
|
import { isAfter as tt } from "date-fns/isAfter";
|
|
92
92
|
import { subWeeks as Ia } from "date-fns/subWeeks";
|
|
93
93
|
import { formatISO as Kn } from "date-fns/formatISO";
|
|
@@ -123,8 +123,8 @@ import Es from "@mui/icons-material/EditOutlined";
|
|
|
123
123
|
import jn from "@mui/icons-material/Error";
|
|
124
124
|
import { isToday as Un } from "date-fns/isToday";
|
|
125
125
|
import ys from "@mui/icons-material/CheckCircleRounded";
|
|
126
|
-
import
|
|
127
|
-
import { isYesterday as
|
|
126
|
+
import bs from "@mui/icons-material/LanguageRounded";
|
|
127
|
+
import { isYesterday as ws } from "date-fns/isYesterday";
|
|
128
128
|
import Ss from "@mui/material/FormControl";
|
|
129
129
|
import Ts from "@mui/material/InputLabel";
|
|
130
130
|
import { LocalizationProvider as Ls } from "@mui/x-date-pickers-pro";
|
|
@@ -450,7 +450,7 @@ const L7 = {
|
|
|
450
450
|
W.LINE_OF_CREDIT,
|
|
451
451
|
W.PREPAID,
|
|
452
452
|
W.SAVINGS
|
|
453
|
-
],
|
|
453
|
+
], b = {
|
|
454
454
|
// Top-level categories
|
|
455
455
|
AUTO_AND_TRANSPORT: "CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874",
|
|
456
456
|
BILLS_AND_UTILITIES: "CAT-79b02f2f-2adc-88f0-ac2b-4e71ead9cfc8",
|
|
@@ -573,178 +573,178 @@ const L7 = {
|
|
|
573
573
|
BONUS: "CAT-f52f2a88-2cb6-04e4-e36a-58f7b7c6a798",
|
|
574
574
|
PET_FOOD_SUPPLIES: "CAT-fbcdb437-2533-2857-1d1a-0624c9d9e1dc"
|
|
575
575
|
}, xa = [
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
576
|
+
b.CREDIT_CARD_PAYMENT,
|
|
577
|
+
b.MORTGAGE_PAYMENT,
|
|
578
|
+
b.AUTO_PAYMENT
|
|
579
579
|
], Me = {
|
|
580
580
|
// Top-level categories
|
|
581
|
-
[
|
|
582
|
-
[
|
|
583
|
-
[
|
|
584
|
-
[
|
|
585
|
-
[
|
|
586
|
-
[
|
|
587
|
-
[
|
|
588
|
-
[
|
|
589
|
-
[
|
|
590
|
-
[
|
|
591
|
-
[
|
|
592
|
-
[
|
|
593
|
-
[
|
|
594
|
-
[
|
|
595
|
-
[
|
|
596
|
-
[
|
|
597
|
-
[
|
|
598
|
-
[
|
|
599
|
-
[
|
|
600
|
-
[
|
|
601
|
-
[
|
|
581
|
+
[b.AUTO_AND_TRANSPORT]: "Auto & Transport",
|
|
582
|
+
[b.BILLS_AND_UTILITIES]: "Bills & Utilities",
|
|
583
|
+
[b.BUSINESS_SERVICES]: "Business Services",
|
|
584
|
+
[b.EDUCATION]: "Education",
|
|
585
|
+
[b.ENTERTAINMENT]: "Entertainment",
|
|
586
|
+
[b.FEES_AND_CHARGES]: "Fees & Charges",
|
|
587
|
+
[b.FINANCIAL]: "Financial",
|
|
588
|
+
[b.FOOD_AND_DINING]: "Food & Dining",
|
|
589
|
+
[b.GIFTS_AND_DONATIONS]: "Gifts & Donations",
|
|
590
|
+
[b.HEALTH_AND_FITNESS]: "Health & Fitness",
|
|
591
|
+
[b.HOME]: "Home",
|
|
592
|
+
[b.INCOME]: "Income",
|
|
593
|
+
[b.INVESTMENTS]: "Investments",
|
|
594
|
+
[b.KIDS]: "Kids",
|
|
595
|
+
[b.PERSONAL_CARE]: "Personal Care",
|
|
596
|
+
[b.PETS]: "Pets",
|
|
597
|
+
[b.SHOPPING]: "Shopping",
|
|
598
|
+
[b.TAXES]: "Taxes",
|
|
599
|
+
[b.TRANSFER]: "Transfer",
|
|
600
|
+
[b.TRAVEL]: "Travel",
|
|
601
|
+
[b.UNCATEGORIZED]: "Uncategorized",
|
|
602
602
|
// Subcategories
|
|
603
|
-
[
|
|
604
|
-
[
|
|
605
|
-
[
|
|
606
|
-
[
|
|
607
|
-
[
|
|
608
|
-
[
|
|
609
|
-
[
|
|
610
|
-
[
|
|
611
|
-
[
|
|
612
|
-
[
|
|
613
|
-
[
|
|
614
|
-
[
|
|
615
|
-
[
|
|
616
|
-
[
|
|
617
|
-
[
|
|
618
|
-
[
|
|
619
|
-
[
|
|
620
|
-
[
|
|
621
|
-
[
|
|
622
|
-
[
|
|
623
|
-
[
|
|
624
|
-
[
|
|
625
|
-
[
|
|
626
|
-
[
|
|
627
|
-
[
|
|
628
|
-
[
|
|
629
|
-
[
|
|
630
|
-
[
|
|
631
|
-
[
|
|
632
|
-
[
|
|
633
|
-
[
|
|
634
|
-
[
|
|
635
|
-
[
|
|
636
|
-
[
|
|
637
|
-
[
|
|
638
|
-
[
|
|
639
|
-
[
|
|
640
|
-
[
|
|
641
|
-
[
|
|
642
|
-
[
|
|
643
|
-
[
|
|
644
|
-
[
|
|
645
|
-
[
|
|
646
|
-
[
|
|
647
|
-
[
|
|
648
|
-
[
|
|
649
|
-
[
|
|
650
|
-
[
|
|
651
|
-
[
|
|
652
|
-
[
|
|
653
|
-
[
|
|
654
|
-
[
|
|
655
|
-
[
|
|
656
|
-
[
|
|
657
|
-
[
|
|
658
|
-
[
|
|
659
|
-
[
|
|
660
|
-
[
|
|
661
|
-
[
|
|
662
|
-
[
|
|
663
|
-
[
|
|
664
|
-
[
|
|
665
|
-
[
|
|
666
|
-
[
|
|
667
|
-
[
|
|
668
|
-
[
|
|
669
|
-
[
|
|
670
|
-
[
|
|
671
|
-
[
|
|
672
|
-
[
|
|
673
|
-
[
|
|
674
|
-
[
|
|
675
|
-
[
|
|
676
|
-
[
|
|
677
|
-
[
|
|
678
|
-
[
|
|
679
|
-
[
|
|
680
|
-
[
|
|
681
|
-
[
|
|
682
|
-
[
|
|
683
|
-
[
|
|
684
|
-
[
|
|
685
|
-
[
|
|
686
|
-
[
|
|
687
|
-
[
|
|
688
|
-
[
|
|
689
|
-
[
|
|
690
|
-
[
|
|
691
|
-
[
|
|
692
|
-
[
|
|
693
|
-
[
|
|
694
|
-
[
|
|
695
|
-
[
|
|
696
|
-
[
|
|
697
|
-
[
|
|
698
|
-
[
|
|
699
|
-
[
|
|
700
|
-
[
|
|
603
|
+
[b.LOCAL_TAX]: "Local Tax",
|
|
604
|
+
[b.WITHDRAWAL]: "Withdrawal",
|
|
605
|
+
[b.TRADE_COMMISSIONS]: "Trade Commissions",
|
|
606
|
+
[b.BABYSITTER_DAYCARE]: "Babysitter & Daycare",
|
|
607
|
+
[b.CHILD_SUPPORT]: "Child Support",
|
|
608
|
+
[b.CREDIT_CARD_PAYMENT]: "Credit Card Payment",
|
|
609
|
+
[b.STUDENT_LOAN]: "Student Loan",
|
|
610
|
+
[b.LIFE_INSURANCE]: "Life Insurance",
|
|
611
|
+
[b.PRINTING]: "Printing",
|
|
612
|
+
[b.FINANCIAL_ADVISOR]: "Financial Advisor",
|
|
613
|
+
[b.INTEREST_INCOME]: "Interest Income",
|
|
614
|
+
[b.LATE_FEE]: "Late Fee",
|
|
615
|
+
[b.LAWN_GARDEN]: "Lawn & Garden",
|
|
616
|
+
[b.FINANCE_CHARGE]: "Finance Charge",
|
|
617
|
+
[b.FRAUD_PROTECTION]: "Fraud Protection",
|
|
618
|
+
[b.MOVIES_DVDS]: "Movies & DVDs",
|
|
619
|
+
[b.HOME_INSURANCE]: "Home Insurance",
|
|
620
|
+
[b.CASH]: "Cash",
|
|
621
|
+
[b.TUITION]: "Tuition",
|
|
622
|
+
[b.HEALTH_INSURANCE]: "Health Insurance",
|
|
623
|
+
[b.DIVIDEND_CAP_GAINS]: "Dividend & Cap Gains",
|
|
624
|
+
[b.ALCOHOL_BARS]: "Alcohol & Bars",
|
|
625
|
+
[b.LEGAL]: "Legal",
|
|
626
|
+
[b.PUBLIC_TRANSPORTATION]: "Public Transportation",
|
|
627
|
+
[b.MORTGAGE_RENT]: "Mortgage & Rent",
|
|
628
|
+
[b.HOTEL]: "Hotel",
|
|
629
|
+
[b.TRANSFER_FOR_CASH_SPENDING]: "Transfer for Cash Spending",
|
|
630
|
+
[b.UTILITIES]: "Utilities",
|
|
631
|
+
[b.DEPOSIT]: "Deposit",
|
|
632
|
+
[b.HOME_PHONE]: "Home Phone",
|
|
633
|
+
[b.SERVICE_PARTS]: "Service Parts",
|
|
634
|
+
[b.INTERNET]: "Internet",
|
|
635
|
+
[b.BOOKS]: "Books",
|
|
636
|
+
[b.NEWSPAPERS_MAGAZINES]: "Newspapers & Magazines",
|
|
637
|
+
[b.FAST_FOOD]: "Fast Food",
|
|
638
|
+
[b.COFFEE_SHOPS]: "Coffee Shops",
|
|
639
|
+
[b.SELL]: "Sell",
|
|
640
|
+
[b.OFFICE_SUPPLIES]: "Office Supplies",
|
|
641
|
+
[b.PET_GROOMING]: "Pet Grooming",
|
|
642
|
+
[b.AMUSEMENT]: "Amusement",
|
|
643
|
+
[b.BOOKS_SUPPLIES]: "Books & Supplies",
|
|
644
|
+
[b.VACATION]: "Vacation",
|
|
645
|
+
[b.SERVICE_FEE]: "Service Fee",
|
|
646
|
+
[b.GIFT]: "Gift",
|
|
647
|
+
[b.CHARITY]: "Charity",
|
|
648
|
+
[b.PARKING]: "Parking",
|
|
649
|
+
[b.SHIPPING]: "Shipping",
|
|
650
|
+
[b.ARTS]: "Arts",
|
|
651
|
+
[b.PAYCHECK]: "Paycheck",
|
|
652
|
+
[b.FURNISHINGS]: "Furnishings",
|
|
653
|
+
[b.RESTAURANTS]: "Restaurants",
|
|
654
|
+
[b.SPA_MASSAGE]: "Spa & Massage",
|
|
655
|
+
[b.RENTAL_CAR_TAXI]: "Rental Car & Taxi",
|
|
656
|
+
[b.ALLOWANCE]: "Allowance",
|
|
657
|
+
[b.BANKING_FEE]: "Banking Fee",
|
|
658
|
+
[b.BUY]: "Buy",
|
|
659
|
+
[b.STATE_TAX]: "State Tax",
|
|
660
|
+
[b.TOYS]: "Toys",
|
|
661
|
+
[b.KIDS_ACTIVITIES]: "Kids Activities",
|
|
662
|
+
[b.RENTAL_INCOME]: "Rental Income",
|
|
663
|
+
[b.VETERINARY]: "Veterinary",
|
|
664
|
+
[b.SPORTING_GOODS]: "Sporting Goods",
|
|
665
|
+
[b.LAUNDRY]: "Laundry",
|
|
666
|
+
[b.CLOTHING]: "Clothing",
|
|
667
|
+
[b.PHARMACY]: "Pharmacy",
|
|
668
|
+
[b.HOME_SERVICES]: "Home Services",
|
|
669
|
+
[b.ATM_FEE]: "ATM Fee",
|
|
670
|
+
[b.HAIR]: "Hair",
|
|
671
|
+
[b.GROCERIES]: "Groceries",
|
|
672
|
+
[b.GAS]: "Gas",
|
|
673
|
+
[b.FEDERAL_TAX]: "Federal Tax",
|
|
674
|
+
[b.HOSTING]: "Hosting",
|
|
675
|
+
[b.TELEVISION]: "Television",
|
|
676
|
+
[b.MOBILE_PHONE]: "Mobile Phone",
|
|
677
|
+
[b.BABY_SUPPLIES]: "Baby Supplies",
|
|
678
|
+
[b.MUSIC]: "Music",
|
|
679
|
+
[b.MORTGAGE_PAYMENT]: "Mortgage Payment",
|
|
680
|
+
[b.SPORTS]: "Sports",
|
|
681
|
+
[b.AUTO_PAYMENT]: "Auto Payment",
|
|
682
|
+
[b.GYM]: "Gym",
|
|
683
|
+
[b.REIMBURSEMENT]: "Reimbursement",
|
|
684
|
+
[b.AIR_TRAVEL]: "Air Travel",
|
|
685
|
+
[b.EYECARE]: "Eyecare",
|
|
686
|
+
[b.HOBBIES]: "Hobbies",
|
|
687
|
+
[b.SALES_TAX]: "Sales Tax",
|
|
688
|
+
[b.ELECTRONICS_SOFTWARE]: "Electronics & Software",
|
|
689
|
+
[b.DOCTOR]: "Doctor",
|
|
690
|
+
[b.RETURNED_PURCHASE]: "Returned Purchase",
|
|
691
|
+
[b.HOME_IMPROVEMENT]: "Home Improvement",
|
|
692
|
+
[b.AUTO_INSURANCE]: "Auto Insurance",
|
|
693
|
+
[b.PROPERTY_TAX]: "Property Tax",
|
|
694
|
+
[b.DOMAIN_NAMES]: "Domain Names",
|
|
695
|
+
[b.HOME_SUPPLIES]: "Home Supplies",
|
|
696
|
+
[b.ADVERTISING]: "Advertising",
|
|
697
|
+
[b.CHECK]: "Check",
|
|
698
|
+
[b.DENTIST]: "Dentist",
|
|
699
|
+
[b.BONUS]: "Bonus",
|
|
700
|
+
[b.PET_FOOD_SUPPLIES]: "Pet Food & Supplies"
|
|
701
701
|
}, _e = {
|
|
702
|
-
[
|
|
703
|
-
[
|
|
704
|
-
[
|
|
705
|
-
[
|
|
706
|
-
[
|
|
707
|
-
[
|
|
708
|
-
[
|
|
709
|
-
[
|
|
710
|
-
[
|
|
711
|
-
[
|
|
712
|
-
[
|
|
713
|
-
[
|
|
714
|
-
[
|
|
715
|
-
[
|
|
716
|
-
[
|
|
717
|
-
[
|
|
718
|
-
[
|
|
719
|
-
[
|
|
720
|
-
[
|
|
721
|
-
[
|
|
722
|
-
[
|
|
702
|
+
[b.AUTO_AND_TRANSPORT]: "#4B9DBC",
|
|
703
|
+
[b.BILLS_AND_UTILITIES]: "#EF9B2C",
|
|
704
|
+
[b.BUSINESS_SERVICES]: "#B3DE8C",
|
|
705
|
+
[b.EDUCATION]: "#F8AB3A",
|
|
706
|
+
[b.ENTERTAINMENT]: "#AB5B89",
|
|
707
|
+
[b.FEES_AND_CHARGES]: "#FF9696",
|
|
708
|
+
[b.FINANCIAL]: "#6BCDDB",
|
|
709
|
+
[b.FOOD_AND_DINING]: "#58AC7B",
|
|
710
|
+
[b.GIFTS_AND_DONATIONS]: "#347AA5",
|
|
711
|
+
[b.HEALTH_AND_FITNESS]: "#5C446E",
|
|
712
|
+
[b.HOME]: "#FFD84D",
|
|
713
|
+
[b.INCOME]: "#133F49",
|
|
714
|
+
[b.INVESTMENTS]: "#FF7070",
|
|
715
|
+
[b.KIDS]: "#82D196",
|
|
716
|
+
[b.PERSONAL_CARE]: "#338B7A",
|
|
717
|
+
[b.PETS]: "#615BAB",
|
|
718
|
+
[b.SHOPPING]: "#CF5F84",
|
|
719
|
+
[b.TAXES]: "#32588D",
|
|
720
|
+
[b.TRANSFER]: "#959CA6",
|
|
721
|
+
[b.TRAVEL]: "#E37434",
|
|
722
|
+
[b.UNCATEGORIZED]: "#FA5555"
|
|
723
723
|
}, Qs = {
|
|
724
|
-
[
|
|
725
|
-
[
|
|
726
|
-
[
|
|
727
|
-
[
|
|
728
|
-
[
|
|
729
|
-
[
|
|
730
|
-
[
|
|
731
|
-
[
|
|
732
|
-
[
|
|
733
|
-
[
|
|
734
|
-
[
|
|
735
|
-
[
|
|
736
|
-
[
|
|
737
|
-
[
|
|
738
|
-
[
|
|
739
|
-
[
|
|
740
|
-
[
|
|
741
|
-
[
|
|
742
|
-
[
|
|
743
|
-
[
|
|
744
|
-
[
|
|
724
|
+
[b.AUTO_AND_TRANSPORT]: "directions_car",
|
|
725
|
+
[b.BILLS_AND_UTILITIES]: "electrical_services",
|
|
726
|
+
[b.BUSINESS_SERVICES]: "business_center",
|
|
727
|
+
[b.EDUCATION]: "school",
|
|
728
|
+
[b.ENTERTAINMENT]: "stadium",
|
|
729
|
+
[b.FEES_AND_CHARGES]: "problem",
|
|
730
|
+
[b.FINANCIAL]: "price_check",
|
|
731
|
+
[b.FOOD_AND_DINING]: "grocery",
|
|
732
|
+
[b.GIFTS_AND_DONATIONS]: "featured_seasonal_and_gifts",
|
|
733
|
+
[b.HEALTH_AND_FITNESS]: "ecg_heart",
|
|
734
|
+
[b.HOME]: "cottage",
|
|
735
|
+
[b.INCOME]: "monetization_on",
|
|
736
|
+
[b.INVESTMENTS]: "bid_landscape",
|
|
737
|
+
[b.KIDS]: "face",
|
|
738
|
+
[b.PERSONAL_CARE]: "volunteer_activism",
|
|
739
|
+
[b.PETS]: "pet_supplies",
|
|
740
|
+
[b.SHOPPING]: "shopping_cart",
|
|
741
|
+
[b.TAXES]: "heap_snapshot_large",
|
|
742
|
+
[b.TRANSFER]: "compare_arrows",
|
|
743
|
+
[b.TRAVEL]: "airplane_ticket",
|
|
744
|
+
[b.UNCATEGORIZED]: "category",
|
|
745
745
|
UNKNOWN: "help"
|
|
746
746
|
}, Pa = 9999999999e-2;
|
|
747
|
-
var kt = /* @__PURE__ */ ((A) => (A.CAD = "CAD", A.USD = "USD", A))(kt || {}),
|
|
747
|
+
var kt = /* @__PURE__ */ ((A) => (A.CAD = "CAD", A.USD = "USD", A))(kt || {}), X = /* @__PURE__ */ ((A) => (A[A.Unknown = 0] = "Unknown", A[A.EveryWeek = 1] = "EveryWeek", A[A.EveryOtherWeek = 2] = "EveryOtherWeek", A[A.EveryMonth = 3] = "EveryMonth", A[A.EveryOtherMonth = 4] = "EveryOtherMonth", A[A.EveryQuarter = 5] = "EveryQuarter", A[A.EveryOtherQuarter = 6] = "EveryOtherQuarter", A[A.EveryYear = 7] = "EveryYear", A))(X || {});
|
|
748
748
|
const D7 = [
|
|
749
749
|
{ id: 0, copy: "frequency_unknown" },
|
|
750
750
|
{ id: 1, copy: "frequency_every_week" },
|
|
@@ -789,7 +789,7 @@ const dt = 44, Na = (A, e) => A.find((n) => n.guid === e), Ys = (A, e) => A.find
|
|
|
789
789
|
return n;
|
|
790
790
|
}, Js = (A, e) => {
|
|
791
791
|
const n = A.find((a) => a.guid === e);
|
|
792
|
-
return n ? n.guid ===
|
|
792
|
+
return n ? n.guid === b.INCOME || n.parent_guid === b.INCOME : !1;
|
|
793
793
|
}, Zs = /(?<static>.*?)(?<dynamic>(?:_\d+{(?:.*?)}))|(?<staticEnd>.+)/g, R = (A, ...e) => {
|
|
794
794
|
if (!A) return "";
|
|
795
795
|
const n = e.some((i) => typeof i != "string"), r = [...A.matchAll(Zs)].reduce(
|
|
@@ -876,9 +876,9 @@ class UA {
|
|
|
876
876
|
const z = (A, e, n) => {
|
|
877
877
|
switch (Be()) {
|
|
878
878
|
case "fr-ca":
|
|
879
|
-
return
|
|
879
|
+
return wa(A).format(`${e} $`, n);
|
|
880
880
|
default:
|
|
881
|
-
return
|
|
881
|
+
return wa(A).format(`$${e}`, n);
|
|
882
882
|
}
|
|
883
883
|
}, $s = () => {
|
|
884
884
|
switch (Be()) {
|
|
@@ -900,9 +900,9 @@ const z = (A, e, n) => {
|
|
|
900
900
|
const a = ec(e).select(A);
|
|
901
901
|
return `${A}${n[a]}`;
|
|
902
902
|
}, Zn = (A) => {
|
|
903
|
-
const e =
|
|
903
|
+
const e = wt(A);
|
|
904
904
|
let n = Dn(A, e);
|
|
905
|
-
for (;
|
|
905
|
+
for (; bA(n, AA()); )
|
|
906
906
|
n = $e(n, 1);
|
|
907
907
|
return n;
|
|
908
908
|
}, nc = (A) => {
|
|
@@ -910,7 +910,7 @@ const z = (A, e, n) => {
|
|
|
910
910
|
return $e(e, 1);
|
|
911
911
|
}, Ma = (A) => {
|
|
912
912
|
let e = On(AA(), A.getDate());
|
|
913
|
-
for (;
|
|
913
|
+
for (; bA(e, AA()); )
|
|
914
914
|
e = ee(e, 1);
|
|
915
915
|
return e;
|
|
916
916
|
}, ac = (A) => {
|
|
@@ -918,13 +918,13 @@ const z = (A, e, n) => {
|
|
|
918
918
|
return ee(e, 1);
|
|
919
919
|
}, ni = (A) => {
|
|
920
920
|
let e = Xe(A, 1);
|
|
921
|
-
for (;
|
|
921
|
+
for (; bA(e, AA()); )
|
|
922
922
|
e = Xe(e, 1);
|
|
923
923
|
return e;
|
|
924
924
|
}, rc = (A) => {
|
|
925
925
|
const e = ni(A);
|
|
926
926
|
return Xe(e, 1);
|
|
927
|
-
}, ic = (A) =>
|
|
927
|
+
}, ic = (A) => bt(A, 1), Et = (A) => {
|
|
928
928
|
const e = xA(A);
|
|
929
929
|
return new Date(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate());
|
|
930
930
|
}, tn = (A) => $(xA(A), Z.DAY_OF_WEEK_MONTH_DAY), ai = (A) => A ? $(xA(A), Z.MONTH_YEAR) : "";
|
|
@@ -1159,7 +1159,7 @@ const vn = (A, e) => A.reduce((n, a) => (n[a.guid] = e?.includes(a.guid), n), {}
|
|
|
1159
1159
|
) }),
|
|
1160
1160
|
Object.keys(C).map((E) => {
|
|
1161
1161
|
const S = C[E], L = S.every(
|
|
1162
|
-
(
|
|
1162
|
+
(w) => c[w.guid]
|
|
1163
1163
|
);
|
|
1164
1164
|
return /* @__PURE__ */ t(Y, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ t(
|
|
1165
1165
|
nA,
|
|
@@ -1193,8 +1193,8 @@ const vn = (A, e) => A.reduce((n, a) => (n[a.guid] = e?.includes(a.guid), n), {}
|
|
|
1193
1193
|
}
|
|
1194
1194
|
) }),
|
|
1195
1195
|
sx: { overflow: "auto", width: "100%" },
|
|
1196
|
-
children: S.map((
|
|
1197
|
-
const D = c[
|
|
1196
|
+
children: S.map((w) => {
|
|
1197
|
+
const D = c[w.guid], P = `${w.name}${u && w.accountNumber ? ` *${w.accountNumber.slice(-4)}` : ""}`;
|
|
1198
1198
|
return /* @__PURE__ */ t(
|
|
1199
1199
|
Y,
|
|
1200
1200
|
{
|
|
@@ -1210,9 +1210,9 @@ const vn = (A, e) => A.reduce((n, a) => (n[a.guid] = e?.includes(a.guid), n), {}
|
|
|
1210
1210
|
checked: D,
|
|
1211
1211
|
"data-ui-test": `checked-${D}`,
|
|
1212
1212
|
disableRipple: !0,
|
|
1213
|
-
id:
|
|
1213
|
+
id: w.guid,
|
|
1214
1214
|
onChange: () => {
|
|
1215
|
-
a(
|
|
1215
|
+
a(w);
|
|
1216
1216
|
},
|
|
1217
1217
|
size: "small",
|
|
1218
1218
|
sx: {
|
|
@@ -1227,7 +1227,7 @@ const vn = (A, e) => A.reduce((n, a) => (n[a.guid] = e?.includes(a.guid), n), {}
|
|
|
1227
1227
|
}
|
|
1228
1228
|
)
|
|
1229
1229
|
},
|
|
1230
|
-
|
|
1230
|
+
w.guid
|
|
1231
1231
|
);
|
|
1232
1232
|
})
|
|
1233
1233
|
}
|
|
@@ -1339,8 +1339,8 @@ const cc = (A, e) => {
|
|
|
1339
1339
|
},
|
|
1340
1340
|
onAccountGroupClick: (v, E, S) => {
|
|
1341
1341
|
const L = { ...u };
|
|
1342
|
-
E[v].forEach((
|
|
1343
|
-
L[
|
|
1342
|
+
E[v].forEach((w) => {
|
|
1343
|
+
L[w.guid] = !S;
|
|
1344
1344
|
}), C(L);
|
|
1345
1345
|
},
|
|
1346
1346
|
onCancelClick: () => {
|
|
@@ -1559,14 +1559,14 @@ const cc = (A, e) => {
|
|
|
1559
1559
|
selectedIndex: c,
|
|
1560
1560
|
valueFormatter: h = (d) => `${d}`
|
|
1561
1561
|
}) => {
|
|
1562
|
-
const d = _A(), u = vc(d), C = a.reduce(mc, []), f = A !== void 0 ? A : C.reduce(Cc, 0) / C.length, m = Math.max(...C), v = Math.min(...C), E = C.reduce(fc, 0), S = m >= 0, L = v < 0,
|
|
1562
|
+
const d = _A(), u = vc(d), C = a.reduce(mc, []), f = A !== void 0 ? A : C.reduce(Cc, 0) / C.length, m = Math.max(...C), v = Math.min(...C), E = C.reduce(fc, 0), S = m >= 0, L = v < 0, w = qa(S, L, r), D = qa(L, S, r), P = pc(f, m, v, w || D), _ = (N) => c === void 0 || N === c ? n : `${n}80`, x = () => /* @__PURE__ */ t(
|
|
1563
1563
|
Ka,
|
|
1564
1564
|
{
|
|
1565
1565
|
averageLineHeight: P,
|
|
1566
1566
|
bottomHeight: D,
|
|
1567
1567
|
color: "",
|
|
1568
1568
|
range: E,
|
|
1569
|
-
topHeight:
|
|
1569
|
+
topHeight: w,
|
|
1570
1570
|
value: 0,
|
|
1571
1571
|
width: void 0
|
|
1572
1572
|
}
|
|
@@ -1574,19 +1574,19 @@ const cc = (A, e) => {
|
|
|
1574
1574
|
return /* @__PURE__ */ l("div", { className: `mx-cmn-bar-chart ${u}`, children: [
|
|
1575
1575
|
/* @__PURE__ */ l("div", { className: "mx-cmn-chart-container", children: [
|
|
1576
1576
|
/* @__PURE__ */ t(x, {}),
|
|
1577
|
-
a.map((N,
|
|
1577
|
+
a.map((N, G) => /* @__PURE__ */ l(g.Fragment, { children: [
|
|
1578
1578
|
/* @__PURE__ */ t(
|
|
1579
1579
|
Ka,
|
|
1580
1580
|
{
|
|
1581
1581
|
ariaLabel: N.ariaLabel,
|
|
1582
1582
|
averageLineHeight: P,
|
|
1583
1583
|
bottomHeight: D,
|
|
1584
|
-
color: _(
|
|
1585
|
-
index:
|
|
1584
|
+
color: _(G),
|
|
1585
|
+
index: G,
|
|
1586
1586
|
onClick: s,
|
|
1587
1587
|
range: E,
|
|
1588
1588
|
selectedIndex: c,
|
|
1589
|
-
topHeight:
|
|
1589
|
+
topHeight: w,
|
|
1590
1590
|
value: N.value,
|
|
1591
1591
|
valueLabel: h(N.value),
|
|
1592
1592
|
width: e,
|
|
@@ -1594,7 +1594,7 @@ const cc = (A, e) => {
|
|
|
1594
1594
|
}
|
|
1595
1595
|
),
|
|
1596
1596
|
/* @__PURE__ */ t(x, {})
|
|
1597
|
-
] }, `column-${
|
|
1597
|
+
] }, `column-${G}`))
|
|
1598
1598
|
] }),
|
|
1599
1599
|
/* @__PURE__ */ t(dc, { color: n, labelAverage: i, labelMain: o })
|
|
1600
1600
|
] });
|
|
@@ -1611,8 +1611,8 @@ const cc = (A, e) => {
|
|
|
1611
1611
|
return /* @__PURE__ */ l("div", { className: `mx-cmn-calendar-header ${i}`, children: [
|
|
1612
1612
|
/* @__PURE__ */ t(Dt, { className: "mx-cmn-calendar-header-title", variant: "H3", children: $(e, Z.MONTH_YEAR) }),
|
|
1613
1613
|
/* @__PURE__ */ l("div", { className: "mx-cmn-calendar-header-button-container", children: [
|
|
1614
|
-
/* @__PURE__ */ t(sA, { "aria-label": A.prevAria, onClick: a, children: /* @__PURE__ */ t(
|
|
1615
|
-
/* @__PURE__ */ t(sA, { "aria-label": A.nextAria, onClick: n, children: /* @__PURE__ */ t(
|
|
1614
|
+
/* @__PURE__ */ t(sA, { "aria-label": A.prevAria, onClick: a, children: /* @__PURE__ */ t(bo, {}) }),
|
|
1615
|
+
/* @__PURE__ */ t(sA, { "aria-label": A.nextAria, onClick: n, children: /* @__PURE__ */ t(wo, {}) })
|
|
1616
1616
|
] })
|
|
1617
1617
|
] });
|
|
1618
1618
|
}, yc = (A) => JA({
|
|
@@ -1628,8 +1628,8 @@ const cc = (A, e) => {
|
|
|
1628
1628
|
display: "flex",
|
|
1629
1629
|
gap: 4
|
|
1630
1630
|
}
|
|
1631
|
-
}),
|
|
1632
|
-
const i = CA(), o = _A(), s =
|
|
1631
|
+
}), bc = ({ beginDate: A, date: e, endDate: n, isInMonth: a, onClick: r }) => {
|
|
1632
|
+
const i = CA(), o = _A(), s = wc(o, i), c = A && n && et(e, { start: A, end: n }) && !YA(e, A) && !YA(e, n), h = A && n && YA(A, e) && !YA(A, n), d = n && A && YA(n, e) && !YA(A, n), u = A && YA(A, e) || n && YA(n, e), C = YA(e, AA());
|
|
1633
1633
|
return /* @__PURE__ */ t(
|
|
1634
1634
|
"div",
|
|
1635
1635
|
{
|
|
@@ -1665,7 +1665,7 @@ const cc = (A, e) => {
|
|
|
1665
1665
|
)
|
|
1666
1666
|
}
|
|
1667
1667
|
);
|
|
1668
|
-
},
|
|
1668
|
+
}, wc = (A, e) => JA({
|
|
1669
1669
|
height: yt,
|
|
1670
1670
|
width: yt,
|
|
1671
1671
|
display: "flex",
|
|
@@ -1726,25 +1726,25 @@ const Tc = ({
|
|
|
1726
1726
|
u(e), f(n), e && h(e);
|
|
1727
1727
|
}, [e, n]);
|
|
1728
1728
|
const m = g.useMemo(() => {
|
|
1729
|
-
const
|
|
1730
|
-
for (let P = 0; P <
|
|
1731
|
-
const _ =
|
|
1732
|
-
for (let
|
|
1733
|
-
N.push(x[
|
|
1729
|
+
const w = Eo({ start: yA(c), end: NA(c) }), D = [];
|
|
1730
|
+
for (let P = 0; P < w.length; P++) {
|
|
1731
|
+
const _ = w[P], x = vo({ start: _, end: ve(_, 6) }), N = [];
|
|
1732
|
+
for (let G = 0; G < x.length; G++)
|
|
1733
|
+
N.push(x[G]);
|
|
1734
1734
|
D.push(N);
|
|
1735
1735
|
}
|
|
1736
1736
|
return D;
|
|
1737
|
-
}, [c]), v = (
|
|
1737
|
+
}, [c]), v = (w) => {
|
|
1738
1738
|
if (i !== "None") {
|
|
1739
1739
|
if (i === "Single") {
|
|
1740
|
-
u(
|
|
1740
|
+
u(w), a?.(w);
|
|
1741
1741
|
return;
|
|
1742
1742
|
}
|
|
1743
|
-
!d || C ? (u(
|
|
1743
|
+
!d || C ? (u(w), f(void 0)) : bA(w, d) ? (f(d), u(w), r?.(w, d)) : (f(w), r?.(d, w));
|
|
1744
1744
|
}
|
|
1745
1745
|
}, E = () => {
|
|
1746
|
-
const
|
|
1747
|
-
h(
|
|
1746
|
+
const w = AA();
|
|
1747
|
+
h(w), i !== "None" && (u(w), i === "Single" ? a?.(w) : (f(w), r?.(w, w)));
|
|
1748
1748
|
}, S = () => {
|
|
1749
1749
|
h(ee(c, 1));
|
|
1750
1750
|
}, L = () => {
|
|
@@ -1760,9 +1760,9 @@ const Tc = ({
|
|
|
1760
1760
|
onPreviousClick: L
|
|
1761
1761
|
}
|
|
1762
1762
|
),
|
|
1763
|
-
/* @__PURE__ */ t("div", { className: "mx-cmn-calendar-header-row", children: m[0].map((
|
|
1764
|
-
m.map((
|
|
1765
|
-
|
|
1763
|
+
/* @__PURE__ */ t("div", { className: "mx-cmn-calendar-header-row", children: m[0].map((w, D) => /* @__PURE__ */ t("div", { className: "mx-cmn-calendar-header-cell", children: /* @__PURE__ */ t(p, { bold: !0, variant: "Small", children: FA(w, "EEEEE") }) }, D)) }),
|
|
1764
|
+
m.map((w, D) => /* @__PURE__ */ t("div", { className: "mx-cmn-calendar-week", children: w.map((P, _) => /* @__PURE__ */ t(
|
|
1765
|
+
bc,
|
|
1766
1766
|
{
|
|
1767
1767
|
beginDate: d,
|
|
1768
1768
|
date: P,
|
|
@@ -1963,16 +1963,31 @@ const Tc = ({
|
|
|
1963
1963
|
valueFormatterString: f = "0,0",
|
|
1964
1964
|
width: m
|
|
1965
1965
|
}) => {
|
|
1966
|
-
const v = ae(), E = n.flat().map((N) => N.x), S = n.flat().map((N) => N.y), L = Math.round(S.reduce((N,
|
|
1966
|
+
const v = ae(), E = n.flat().map((N) => N.x), S = n.flat().map((N) => N.y), L = Math.round(S.reduce((N, G) => G + N, 0) / S.length), w = Math.floor(Math.min(...S) / 100) * 100, D = Math.ceil(Math.max(...S) / 100) * 100, P = w >= 0 ? w * 0.95 : w * 1.05, _ = D >= 0 ? D * 2 : D * 0.95;
|
|
1967
|
+
console.table({
|
|
1968
|
+
yMin: w,
|
|
1969
|
+
yMax: D,
|
|
1970
|
+
yColorMin: P,
|
|
1971
|
+
yColorMax: _
|
|
1972
|
+
});
|
|
1973
|
+
const x = n.map((N, G) => ({
|
|
1967
1974
|
type: c ? "bar" : "line",
|
|
1968
1975
|
curve: "linear",
|
|
1969
|
-
color: c ? v.palette.chart?.chart6 : e[
|
|
1976
|
+
color: c ? v.palette.chart?.chart6 : e[G] ?? v.palette.primary.main,
|
|
1970
1977
|
data: N.map((q) => q.y),
|
|
1971
1978
|
area: h,
|
|
1972
1979
|
baseline: A,
|
|
1973
1980
|
showMark: !0,
|
|
1974
|
-
label: r[
|
|
1975
|
-
valueFormatter: (q) => z(q || 0, f)
|
|
1981
|
+
label: r[G],
|
|
1982
|
+
valueFormatter: (q) => z(q || 0, f),
|
|
1983
|
+
gradient: h ? {
|
|
1984
|
+
stops: [
|
|
1985
|
+
{ offset: "0%", color: `${e[G] ?? v.palette.primary.main}00` },
|
|
1986
|
+
// 0% opacity
|
|
1987
|
+
{ offset: "100%", color: `${e[G] ?? v.palette.primary.main}26` }
|
|
1988
|
+
// 15% opacity
|
|
1989
|
+
]
|
|
1990
|
+
} : void 0
|
|
1976
1991
|
}));
|
|
1977
1992
|
return /* @__PURE__ */ l("div", { style: { position: "relative" }, children: [
|
|
1978
1993
|
/* @__PURE__ */ l(
|
|
@@ -1992,7 +2007,7 @@ const Tc = ({
|
|
|
1992
2007
|
xAxis: [{ data: E, scaleType: c ? "band" : "point" }],
|
|
1993
2008
|
yAxis: [
|
|
1994
2009
|
{
|
|
1995
|
-
min:
|
|
2010
|
+
min: w,
|
|
1996
2011
|
max: D || 100,
|
|
1997
2012
|
colorMap: h ? {
|
|
1998
2013
|
type: "continuous",
|
|
@@ -2125,7 +2140,7 @@ const Tc = ({
|
|
|
2125
2140
|
),
|
|
2126
2141
|
/* @__PURE__ */ t(p, { variant: "Body", children: a })
|
|
2127
2142
|
] });
|
|
2128
|
-
},
|
|
2143
|
+
}, wA = ({
|
|
2129
2144
|
isIncome: A = !1,
|
|
2130
2145
|
amount: e = 0,
|
|
2131
2146
|
bold: n,
|
|
@@ -2170,7 +2185,7 @@ const Tc = ({
|
|
|
2170
2185
|
/* @__PURE__ */ l(O, { alignItems: "center", display: "flex", flexDirection: "column", children: [
|
|
2171
2186
|
/* @__PURE__ */ t(gi, { categoryGuid: A, topLevelCategoryGuid: e }),
|
|
2172
2187
|
/* @__PURE__ */ t(p, { variant: "Small", children: i.six_month_total }),
|
|
2173
|
-
/* @__PURE__ */ t(
|
|
2188
|
+
/* @__PURE__ */ t(wA, { amount: d, bold: !0, formatString: "0,0", variant: "body2" })
|
|
2174
2189
|
] }),
|
|
2175
2190
|
/* @__PURE__ */ t(k, { sx: { my: 16, width: "100%" } }),
|
|
2176
2191
|
/* @__PURE__ */ t(pt, { container: !0, children: n.map((u, C) => /* @__PURE__ */ l(g.Fragment, { children: [
|
|
@@ -2178,7 +2193,7 @@ const Tc = ({
|
|
|
2178
2193
|
/* @__PURE__ */ t(pt, { item: !0, xs: 4, children: /* @__PURE__ */ l(O, { alignItems: "center", display: "flex", flexDirection: "column", children: [
|
|
2179
2194
|
/* @__PURE__ */ t(p, { color: o.palette.text.secondary, variant: "XSmall", children: $(String(u.x), Z.MONTH_SHORT) }),
|
|
2180
2195
|
/* @__PURE__ */ t(
|
|
2181
|
-
|
|
2196
|
+
wA,
|
|
2182
2197
|
{
|
|
2183
2198
|
amount: u.y,
|
|
2184
2199
|
bold: !0,
|
|
@@ -2201,7 +2216,7 @@ const Tc = ({
|
|
|
2201
2216
|
return o === void 0 || !s ? null : /* @__PURE__ */ t(Hr, { sx: { pt: 4, px: 8 }, children: /* @__PURE__ */ t(Bo, { children: /* @__PURE__ */ l(mt, { alignItems: "center", display: "flex", flexDirection: "column", children: [
|
|
2202
2217
|
/* @__PURE__ */ t(gi, { categoryGuid: A, topLevelCategoryGuid: e }),
|
|
2203
2218
|
/* @__PURE__ */ t(p, { color: i.palette.text.secondary, variant: "Small", children: $(s, Z.MONTH_SHORT_YEAR) }),
|
|
2204
|
-
/* @__PURE__ */ t(
|
|
2219
|
+
/* @__PURE__ */ t(wA, { amount: String(o), bold: !0, formatString: "0,0", variant: "Body" })
|
|
2205
2220
|
] }) }) });
|
|
2206
2221
|
}, Gc = ({
|
|
2207
2222
|
sx: A,
|
|
@@ -2264,9 +2279,9 @@ const Tc = ({
|
|
|
2264
2279
|
hoveredAreaData: null,
|
|
2265
2280
|
isAreaHovered: !1,
|
|
2266
2281
|
cursorPos: { x: 0, y: 0 }
|
|
2267
|
-
}), { hoveredSeriesId: v, hoveredAreaData: E, isAreaHovered: S, cursorPos: L } = f,
|
|
2282
|
+
}), { hoveredSeriesId: v, hoveredAreaData: E, isAreaHovered: S, cursorPos: L } = f, w = S && v && E, D = !w, P = [...r, ...i], _ = P[0]?.dataset.length ?? 0, x = P.flatMap((K) => K.dataset.map((hA) => hA.x)), N = P.flatMap((K) => K.dataset.map((hA) => hA.y)), G = r[0]?.dataset?.map(
|
|
2268
2283
|
(K, hA) => r.reduce((EA, ye) => EA + ye.dataset[hA]?.y || 0, 0)
|
|
2269
|
-
) ?? [0], q = Math.max(...
|
|
2284
|
+
) ?? [0], q = Math.max(...G), Q = Math.max(
|
|
2270
2285
|
...i.flatMap((K) => K.dataset.map((hA) => hA.y))
|
|
2271
2286
|
), j = Math.floor(Math.min(...N) / 100) * 100, U = Math.ceil(Math.max(q, Q) / 100) * 100, aA = r.map((K, hA) => ({
|
|
2272
2287
|
id: `stacked-${hA}`,
|
|
@@ -2434,7 +2449,7 @@ const Tc = ({
|
|
|
2434
2449
|
sx: { px: h ? 0 : 24 }
|
|
2435
2450
|
}
|
|
2436
2451
|
),
|
|
2437
|
-
|
|
2452
|
+
w && /* @__PURE__ */ t(
|
|
2438
2453
|
qc,
|
|
2439
2454
|
{
|
|
2440
2455
|
categoryGuids: $A(v),
|
|
@@ -2642,7 +2657,7 @@ const Tc = ({
|
|
|
2642
2657
|
toolTipContent: i = "",
|
|
2643
2658
|
variant: o = "outlined"
|
|
2644
2659
|
}) => {
|
|
2645
|
-
const s = CA(), c = s.palette.mode === "dark", { isDesktop: h, isMobile: d } = RA(), [u, C] = g.useState(a), [f, m] = g.useState(n.dateRangePickerCopy.dateRangeThisMonth), [v, E] = g.useState(u), [S, L] = g.useState(!1), [
|
|
2660
|
+
const s = CA(), c = s.palette.mode === "dark", { isDesktop: h, isMobile: d } = RA(), [u, C] = g.useState(a), [f, m] = g.useState(n.dateRangePickerCopy.dateRangeThisMonth), [v, E] = g.useState(u), [S, L] = g.useState(!1), [w, D] = g.useState(!0), [P, _] = g.useState(6), x = {
|
|
2646
2661
|
buttons: [
|
|
2647
2662
|
{ label: "3M", value: 3 },
|
|
2648
2663
|
{ label: "6M", value: 6 },
|
|
@@ -2664,12 +2679,12 @@ const Tc = ({
|
|
|
2664
2679
|
const N = () => {
|
|
2665
2680
|
const j = NA(je());
|
|
2666
2681
|
return [NA(ce(j, P)), j];
|
|
2667
|
-
},
|
|
2682
|
+
}, G = (j) => {
|
|
2668
2683
|
const U = [...u], aA = u[0], gA = u[1], cA = j === "previous";
|
|
2669
2684
|
if (f === n.dateRangePickerCopy.dateRangeThisMonth)
|
|
2670
2685
|
U[0] = cA ? ce(aA, 1) : ee(aA, 1), U[1] = NA(cA ? ce(gA, 1) : ee(gA, 1));
|
|
2671
2686
|
else if (f === n.dateRangePickerCopy.dateRangeYTD || f === n.dateRangePickerCopy.dateRangeLastYear)
|
|
2672
|
-
U[0] = cA ? La(Ta(aA), 1) :
|
|
2687
|
+
U[0] = cA ? La(Ta(aA), 1) : bt(Ta(aA), 1), U[1] = cA ? La(Sa(aA), 1) : bt(Sa(aA), 1);
|
|
2673
2688
|
else {
|
|
2674
2689
|
const vA = Go(gA, aA);
|
|
2675
2690
|
U[0] = j === "previous" ? de(aA, vA) : ve(aA, vA), U[1] = j === "previous" ? de(gA, vA) : ve(gA, vA);
|
|
@@ -2736,7 +2751,7 @@ const Tc = ({
|
|
|
2736
2751
|
"aria-disabled": A.shouldDisablePrevious,
|
|
2737
2752
|
"aria-label": n.dateRangePreviousAria,
|
|
2738
2753
|
color: A.shouldDisablePrevious ? "secondary" : "primary",
|
|
2739
|
-
onClick: () => A.shouldDisablePrevious ? null :
|
|
2754
|
+
onClick: () => A.shouldDisablePrevious ? null : G("previous"),
|
|
2740
2755
|
children: /* @__PURE__ */ t(M, { name: "chevron_left", size: 28 })
|
|
2741
2756
|
}
|
|
2742
2757
|
),
|
|
@@ -2751,7 +2766,7 @@ const Tc = ({
|
|
|
2751
2766
|
p: d ? 0 : 8,
|
|
2752
2767
|
width: h ? 280 : 232
|
|
2753
2768
|
},
|
|
2754
|
-
children:
|
|
2769
|
+
children: w ? $(u[0], Z.MONTH_YEAR) : /* @__PURE__ */ l("span", { children: [
|
|
2755
2770
|
$(u[0], Z.MONTH_DAY_YEAR),
|
|
2756
2771
|
" -",
|
|
2757
2772
|
" ",
|
|
@@ -2765,7 +2780,7 @@ const Tc = ({
|
|
|
2765
2780
|
"aria-disabled": A.shouldDisableNext,
|
|
2766
2781
|
"aria-label": n.dateRangeNextAria,
|
|
2767
2782
|
color: A.shouldDisableNext ? "secondary" : "primary",
|
|
2768
|
-
onClick: () => A.shouldDisableNext ? null :
|
|
2783
|
+
onClick: () => A.shouldDisableNext ? null : G("next"),
|
|
2769
2784
|
children: /* @__PURE__ */ t(M, { name: "chevron_right", size: 28 })
|
|
2770
2785
|
}
|
|
2771
2786
|
)
|
|
@@ -3081,9 +3096,9 @@ const We = ({
|
|
|
3081
3096
|
sx: u = {},
|
|
3082
3097
|
title: C = ""
|
|
3083
3098
|
}) => {
|
|
3084
|
-
const [f, { height: m, width: v }] = fi(), { onEvent: E } = V(), { isDesktop: S, isMobile: L, isTablet:
|
|
3099
|
+
const [f, { height: m, width: v }] = fi(), { onEvent: E } = V(), { isDesktop: S, isMobile: L, isTablet: w } = RA(), { displayedDateRange: D, selectedAccountGuids: P, setSelectedAccountGuids: _ } = fA(), { common: x } = I(), N = () => {
|
|
3085
3100
|
c && (c(), E(F.WIDGET_BACK_CLICK));
|
|
3086
|
-
},
|
|
3101
|
+
}, G = {
|
|
3087
3102
|
accountFilterOptionsCopy: {
|
|
3088
3103
|
accountTypeAccounts: x.account_filter.account_type_accounts,
|
|
3089
3104
|
cancelButton: x.cancel_button,
|
|
@@ -3126,7 +3141,7 @@ const We = ({
|
|
|
3126
3141
|
px: 4
|
|
3127
3142
|
},
|
|
3128
3143
|
"& .mx-cmn-date-range-selector": {
|
|
3129
|
-
...(L ||
|
|
3144
|
+
...(L || w) && {
|
|
3130
3145
|
textAlign: "center"
|
|
3131
3146
|
}
|
|
3132
3147
|
},
|
|
@@ -3151,7 +3166,7 @@ const We = ({
|
|
|
3151
3166
|
oi,
|
|
3152
3167
|
{
|
|
3153
3168
|
accounts: A,
|
|
3154
|
-
copy:
|
|
3169
|
+
copy: G,
|
|
3155
3170
|
onFilterClick: (U) => {
|
|
3156
3171
|
const aA = A.filter((gA) => U.includes(gA.guid)).map((gA) => gA.guid);
|
|
3157
3172
|
_(aA), h?.();
|
|
@@ -3163,7 +3178,7 @@ const We = ({
|
|
|
3163
3178
|
}
|
|
3164
3179
|
),
|
|
3165
3180
|
e.map(
|
|
3166
|
-
(U) => S ||
|
|
3181
|
+
(U) => S || w ? /* @__PURE__ */ t(
|
|
3167
3182
|
sA,
|
|
3168
3183
|
{
|
|
3169
3184
|
onClick: U.onClick,
|
|
@@ -3186,7 +3201,7 @@ const We = ({
|
|
|
3186
3201
|
sx: {
|
|
3187
3202
|
"& .MuiCardHeader-action": {
|
|
3188
3203
|
...n && S && { flexGrow: 1 },
|
|
3189
|
-
...(L ||
|
|
3204
|
+
...(L || w) && {
|
|
3190
3205
|
alignSelf: "center"
|
|
3191
3206
|
}
|
|
3192
3207
|
},
|
|
@@ -3208,7 +3223,7 @@ const We = ({
|
|
|
3208
3223
|
}
|
|
3209
3224
|
),
|
|
3210
3225
|
s && /* @__PURE__ */ t(k, { sx: { mt: S ? 48 : 24 } }),
|
|
3211
|
-
n && (L ||
|
|
3226
|
+
n && (L || w) && /* @__PURE__ */ l(y, { gap: 24, justifyContent: "center", sx: { mt: 16 }, children: [
|
|
3212
3227
|
d && /* @__PURE__ */ t(k, {}),
|
|
3213
3228
|
/* @__PURE__ */ t(
|
|
3214
3229
|
ka,
|
|
@@ -3310,13 +3325,13 @@ const Ga = "connect_widget", Xa = "connections_widget", Yc = ({
|
|
|
3310
3325
|
setHasValidInput: d,
|
|
3311
3326
|
...u
|
|
3312
3327
|
}) => {
|
|
3313
|
-
const [C, f] = g.useState(""), { common: m } = I(), v = r || m.currency_input, E = _A(), S = Vc(E), L = /^[0-9]*$/,
|
|
3328
|
+
const [C, f] = g.useState(""), { common: m } = I(), v = r || m.currency_input, E = _A(), S = Vc(E), L = /^[0-9]*$/, w = /^(\d)*(\,)?([0-9]{1,2})?$/, D = /^(\d)*(\.)?([0-9]{1,2})?$/;
|
|
3314
3329
|
let P;
|
|
3315
3330
|
const _ = g.useRef(Wo());
|
|
3316
3331
|
if (A)
|
|
3317
3332
|
switch ($s()) {
|
|
3318
3333
|
case kt.CAD:
|
|
3319
|
-
P =
|
|
3334
|
+
P = w;
|
|
3320
3335
|
break;
|
|
3321
3336
|
default:
|
|
3322
3337
|
P = D;
|
|
@@ -3734,7 +3749,7 @@ class al {
|
|
|
3734
3749
|
get detailedBudgets() {
|
|
3735
3750
|
return tl(
|
|
3736
3751
|
this.budgets.filter(
|
|
3737
|
-
(e) => e.category_guid !==
|
|
3752
|
+
(e) => e.category_guid !== b.INCOME && e.category_guid !== b.TRANSFER && e.category_guid !== b.INVESTMENTS
|
|
3738
3753
|
),
|
|
3739
3754
|
this.globalStore.categoryStore.detailedCategories,
|
|
3740
3755
|
this.globalStore.copyStore.copy.budgets,
|
|
@@ -3831,7 +3846,7 @@ const ot = () => {
|
|
|
3831
3846
|
}
|
|
3832
3847
|
),
|
|
3833
3848
|
/* @__PURE__ */ t(p, { bold: !0, sx: { flexGrow: 1, fontSize: 12 }, children: e.remaining_cash }),
|
|
3834
|
-
/* @__PURE__ */ t(
|
|
3849
|
+
/* @__PURE__ */ t(wA, { amount: A, bold: !0, sx: { fontSize: 12 } })
|
|
3835
3850
|
] });
|
|
3836
3851
|
}, ta = T(rl), il = ({ onAddIncomeClick: A }) => {
|
|
3837
3852
|
const e = CA(), { availableWidth: n } = it(), { cashAccounts: a, cashBalance: r } = TA(), { selectedAccountGuids: i } = fA(), { cashflow: o } = I(), { userProfile: s } = nn(), {
|
|
@@ -3858,7 +3873,7 @@ const ot = () => {
|
|
|
3858
3873
|
), L = g.useMemo(
|
|
3859
3874
|
() => E - S,
|
|
3860
3875
|
[E, S]
|
|
3861
|
-
),
|
|
3876
|
+
), w = s?.has_completed_cash_flow_onboarding && !!A;
|
|
3862
3877
|
return /* @__PURE__ */ t(O, { className: "mx-cashflow", pl: 16, pr: 16, pt: 16, children: n > 610 ? /* @__PURE__ */ l(
|
|
3863
3878
|
y,
|
|
3864
3879
|
{
|
|
@@ -3869,7 +3884,7 @@ const ot = () => {
|
|
|
3869
3884
|
px: 24,
|
|
3870
3885
|
children: [
|
|
3871
3886
|
/* @__PURE__ */ l(y, { pb: 14, pt: 12, children: [
|
|
3872
|
-
/* @__PURE__ */ t(
|
|
3887
|
+
/* @__PURE__ */ t(wA, { amount: E, variant: "H2" }),
|
|
3873
3888
|
/* @__PURE__ */ t(zA, { variant: "XSmall", whiteSpace: "nowrap", children: R(
|
|
3874
3889
|
o.total_cash_accounts,
|
|
3875
3890
|
d.length
|
|
@@ -3877,18 +3892,18 @@ const ot = () => {
|
|
|
3877
3892
|
] }),
|
|
3878
3893
|
/* @__PURE__ */ t(y, { pt: 18, children: /* @__PURE__ */ t(M, { name: "remove" }) }),
|
|
3879
3894
|
/* @__PURE__ */ l(y, { pb: 14, pt: 12, children: [
|
|
3880
|
-
/* @__PURE__ */ t(
|
|
3895
|
+
/* @__PURE__ */ t(wA, { amount: S, variant: "H2" }),
|
|
3881
3896
|
/* @__PURE__ */ t(zA, { variant: "XSmall", whiteSpace: "nowrap", children: R(o.expenses_due, h.length) })
|
|
3882
3897
|
] }),
|
|
3883
3898
|
/* @__PURE__ */ t(y, { pt: 18, children: /* @__PURE__ */ t(M, { name: "equals" }) }),
|
|
3884
3899
|
/* @__PURE__ */ l(y, { pb: 14, pr: 24, pt: 12, children: [
|
|
3885
|
-
/* @__PURE__ */ t(
|
|
3900
|
+
/* @__PURE__ */ t(wA, { amount: L, variant: "H2" }),
|
|
3886
3901
|
/* @__PURE__ */ l(y, { alignItems: "center", direction: "row", gap: 8, children: [
|
|
3887
3902
|
/* @__PURE__ */ t(zA, { variant: "XSmall", whiteSpace: "nowrap", children: o.available_to_spend }),
|
|
3888
3903
|
/* @__PURE__ */ t(Ut, { body: o.tooltip_body, title: o.tooltip_title })
|
|
3889
3904
|
] })
|
|
3890
3905
|
] }),
|
|
3891
|
-
/* @__PURE__ */ t(y, { borderLeft: `1px solid ${e.palette.border.light}`, pb: 12, pl: 24, pt: 12, children:
|
|
3906
|
+
/* @__PURE__ */ t(y, { borderLeft: `1px solid ${e.palette.border.light}`, pb: 12, pl: 24, pt: 12, children: w ? /* @__PURE__ */ l(eA, { children: [
|
|
3892
3907
|
/* @__PURE__ */ t(p, { variant: "H2", children: R(o.days, c) }),
|
|
3893
3908
|
/* @__PURE__ */ t(zA, { variant: "XSmall", whiteSpace: "nowrap", children: o.next_paycheck })
|
|
3894
3909
|
] }) : /* @__PURE__ */ t(
|
|
@@ -3908,12 +3923,12 @@ const ot = () => {
|
|
|
3908
3923
|
o.total_cash_accounts,
|
|
3909
3924
|
d.length
|
|
3910
3925
|
) }),
|
|
3911
|
-
/* @__PURE__ */ t(
|
|
3926
|
+
/* @__PURE__ */ t(wA, { amount: r, bold: !0, variant: "XSmall" })
|
|
3912
3927
|
] }),
|
|
3913
3928
|
/* @__PURE__ */ t(k, {}),
|
|
3914
3929
|
/* @__PURE__ */ l(y, { direction: "row", justifyContent: "space-between", p: 16, children: [
|
|
3915
3930
|
/* @__PURE__ */ t(p, { variant: "Small", children: R(o.expenses_due, h.length) }),
|
|
3916
|
-
/* @__PURE__ */ t(
|
|
3931
|
+
/* @__PURE__ */ t(wA, { amount: S, bold: !0, symbol: "-", variant: "XSmall" })
|
|
3917
3932
|
] }),
|
|
3918
3933
|
/* @__PURE__ */ t(k, {}),
|
|
3919
3934
|
/* @__PURE__ */ t(
|
|
@@ -3931,7 +3946,7 @@ const ot = () => {
|
|
|
3931
3946
|
}
|
|
3932
3947
|
),
|
|
3933
3948
|
/* @__PURE__ */ t(k, {}),
|
|
3934
|
-
|
|
3949
|
+
w ? /* @__PURE__ */ l(y, { direction: "row", justifyContent: "space-between", p: 16, children: [
|
|
3935
3950
|
/* @__PURE__ */ t(p, { variant: "Small", children: o.next_paycheck }),
|
|
3936
3951
|
/* @__PURE__ */ t(p, { bold: !0, variant: "XSmall", children: R(o.days, c) })
|
|
3937
3952
|
] }) : /* @__PURE__ */ l(
|
|
@@ -4144,7 +4159,7 @@ const cl = [
|
|
|
4144
4159
|
accountIsClosed: c?.is_closed,
|
|
4145
4160
|
accountIsHidden: c?.is_hidden,
|
|
4146
4161
|
category: h?.name || "Uncategorized",
|
|
4147
|
-
isIncome: s.top_level_category_guid ===
|
|
4162
|
+
isIncome: s.top_level_category_guid === b.INCOME,
|
|
4148
4163
|
isPending: s.feed_status === na.PENDING,
|
|
4149
4164
|
number: c?.account_number || "",
|
|
4150
4165
|
payee: s.description,
|
|
@@ -4508,7 +4523,7 @@ let yl = class {
|
|
|
4508
4523
|
this.manualTransaction = e;
|
|
4509
4524
|
};
|
|
4510
4525
|
};
|
|
4511
|
-
class
|
|
4526
|
+
class bl {
|
|
4512
4527
|
api = new Wa("/", "");
|
|
4513
4528
|
beatApi = new nt("/", "");
|
|
4514
4529
|
globalStore;
|
|
@@ -4635,7 +4650,7 @@ class wl {
|
|
|
4635
4650
|
}
|
|
4636
4651
|
};
|
|
4637
4652
|
setFilter = (e) => {
|
|
4638
|
-
this.filter = e, e.dateRange &&
|
|
4653
|
+
this.filter = e, e.dateRange && bA(e.dateRange.start, this.cachedStartDate) && this.loadTransactions(e.dateRange.start, je()).then(() => {
|
|
4639
4654
|
e.dateRange && (this.cachedStartDate = e.dateRange.start);
|
|
4640
4655
|
});
|
|
4641
4656
|
};
|
|
@@ -4706,9 +4721,9 @@ const ZA = () => {
|
|
|
4706
4721
|
throw new Error("useTransactionsUiStore() must be used within the GlobalDataContext");
|
|
4707
4722
|
return uA().uiStore;
|
|
4708
4723
|
}, vi = (A, e) => {
|
|
4709
|
-
const n = Sl(
|
|
4724
|
+
const n = Sl(wl(A, e)), a = encodeURIComponent(n), r = document.createElement("a");
|
|
4710
4725
|
r.href = `data:attachment/csv;charset=utf-8,${a}`, r.download = "transactions.csv", document.body.appendChild(r), r.click(), document.body.removeChild(r);
|
|
4711
|
-
},
|
|
4726
|
+
}, wl = (A, e) => A.map((n) => ({
|
|
4712
4727
|
// TODO: Data format should be localized
|
|
4713
4728
|
Date: FA(xA(n.date), "MM/dd/yy"),
|
|
4714
4729
|
Description: Tl(n),
|
|
@@ -4825,7 +4840,7 @@ const ZA = () => {
|
|
|
4825
4840
|
(c || i) && n,
|
|
4826
4841
|
!c && !i && v.getVirtualItems().length === 0 && s,
|
|
4827
4842
|
!c && !i && v.getVirtualItems().length > 0 && v.getVirtualItems().map((E) => {
|
|
4828
|
-
const S = h[E.index], L = Va(E.index, h),
|
|
4843
|
+
const S = h[E.index], L = Va(E.index, h), w = xl(E.index, h), D = Ja + (L ? Za : 0);
|
|
4829
4844
|
return /* @__PURE__ */ l(
|
|
4830
4845
|
O,
|
|
4831
4846
|
{
|
|
@@ -4838,7 +4853,7 @@ const ZA = () => {
|
|
|
4838
4853
|
children: [
|
|
4839
4854
|
L && /* @__PURE__ */ t(ra, { bgcolor: A, children: tn(S.date) }),
|
|
4840
4855
|
/* @__PURE__ */ t(aa, { onClick: f, transaction: S }),
|
|
4841
|
-
/* @__PURE__ */ t(k, { sx: { ml:
|
|
4856
|
+
/* @__PURE__ */ t(k, { sx: { ml: w ? 24 : 0 } })
|
|
4842
4857
|
]
|
|
4843
4858
|
},
|
|
4844
4859
|
S.guid
|
|
@@ -5142,7 +5157,7 @@ const Gl = ({
|
|
|
5142
5157
|
showSelected: o,
|
|
5143
5158
|
unselectable: s,
|
|
5144
5159
|
unselectableText: c
|
|
5145
|
-
} = ke(), { categories: h } = I(), { onEvent: d } = V(), [u, C] = g.useState(!1), [f, m] = g.useState(!1), v = !!e.revision, E = e.guid === a, S = !s.some((
|
|
5160
|
+
} = ke(), { categories: h } = I(), { onEvent: d } = V(), [u, C] = g.useState(!1), [f, m] = g.useState(!1), v = !!e.revision, E = e.guid === a, S = !s.some((w) => w === e.guid);
|
|
5146
5161
|
return /* @__PURE__ */ l(
|
|
5147
5162
|
Y,
|
|
5148
5163
|
{
|
|
@@ -5384,7 +5399,7 @@ const Gl = ({
|
|
|
5384
5399
|
averageAmount: Ar(c),
|
|
5385
5400
|
color: _e[i],
|
|
5386
5401
|
icon: Qs[i],
|
|
5387
|
-
isTransfer: i ===
|
|
5402
|
+
isTransfer: i === b.TRANSFER,
|
|
5388
5403
|
monthlyAmounts: c,
|
|
5389
5404
|
subCategories: d,
|
|
5390
5405
|
totalAmount: o ? u : 0,
|
|
@@ -5462,7 +5477,7 @@ class cd {
|
|
|
5462
5477
|
}
|
|
5463
5478
|
get spendCategories() {
|
|
5464
5479
|
return this.detailedCategories.filter(
|
|
5465
|
-
(e) => !e.is_income && !e.isTransfer && e.guid !==
|
|
5480
|
+
(e) => !e.is_income && !e.isTransfer && e.guid !== b.INVESTMENTS
|
|
5466
5481
|
);
|
|
5467
5482
|
}
|
|
5468
5483
|
get transferCategories() {
|
|
@@ -5552,7 +5567,7 @@ class cd {
|
|
|
5552
5567
|
}
|
|
5553
5568
|
};
|
|
5554
5569
|
}
|
|
5555
|
-
const
|
|
5570
|
+
const bi = ({ transaction: A }) => {
|
|
5556
5571
|
const { addOrUpdateTransactionRule: e, updateTransaction: n } = uA(), { categories: a } = PA(), { onEvent: r } = V(), { setShouldDisableDrawerScroll: i, updateManualTransaction: o } = ZA(), { transactions: s } = I(), [c, h] = g.useState(!1), [d, u] = g.useState(""), C = async (E) => {
|
|
5557
5572
|
await n({ ...A, category_guid: d }), E && await e(d, A), u(""), r(F.TRANSACTION_DETAILS_CLICK_CATEGORY, {
|
|
5558
5573
|
transaction_guid: A.guid
|
|
@@ -5637,7 +5652,7 @@ const wi = ({ transaction: A }) => {
|
|
|
5637
5652
|
}
|
|
5638
5653
|
)
|
|
5639
5654
|
] });
|
|
5640
|
-
},
|
|
5655
|
+
}, wi = ({ transaction: A }) => {
|
|
5641
5656
|
const e = _A(), { onEvent: n } = V(), { updateTransaction: a } = uA(), { updateManualTransaction: r } = ZA(), { common: i, transactions: o } = I(), [s, c] = g.useState(!1), [h, d] = g.useState(A.date), u = (f) => {
|
|
5642
5657
|
d(mA(f));
|
|
5643
5658
|
}, C = async () => {
|
|
@@ -6094,23 +6109,23 @@ const wi = ({ transaction: A }) => {
|
|
|
6094
6109
|
parent_guid: A.guid,
|
|
6095
6110
|
top_level_category_guid: void 0
|
|
6096
6111
|
}, [d, u] = g.useState(!1), [C, f] = g.useState(!1), [m, v] = g.useState([]), E = () => {
|
|
6097
|
-
const
|
|
6098
|
-
|
|
6099
|
-
}, S = (
|
|
6100
|
-
if (
|
|
6101
|
-
const q = m[
|
|
6102
|
-
Q.splice(
|
|
6112
|
+
const G = [...m];
|
|
6113
|
+
G.push({ ...h }), G[0].amount -= 1, v(G);
|
|
6114
|
+
}, S = (G) => {
|
|
6115
|
+
if (G > 0) {
|
|
6116
|
+
const q = m[G], Q = [...m];
|
|
6117
|
+
Q.splice(G, 1), Q[0].amount += q.amount, v(Q);
|
|
6103
6118
|
}
|
|
6104
|
-
}, L = (
|
|
6119
|
+
}, L = (G, q) => {
|
|
6105
6120
|
const Q = [...m];
|
|
6106
|
-
Q[
|
|
6121
|
+
Q[G].amount = q, Q[0].amount = A.amount - Q.reduce(
|
|
6107
6122
|
(j, U, aA) => j + (aA !== 0 ? U.amount : 0),
|
|
6108
6123
|
0
|
|
6109
6124
|
), v(Q);
|
|
6110
|
-
},
|
|
6125
|
+
}, w = (G, q) => {
|
|
6111
6126
|
const Q = [...m], j = s.find((U) => U.guid === q);
|
|
6112
|
-
j && (Q[
|
|
6113
|
-
...Q[
|
|
6127
|
+
j && (Q[G] = {
|
|
6128
|
+
...Q[G],
|
|
6114
6129
|
category_guid: q,
|
|
6115
6130
|
category: j.name,
|
|
6116
6131
|
top_level_category_guid: j.parent_guid || q
|
|
@@ -6131,11 +6146,11 @@ const wi = ({ transaction: A }) => {
|
|
|
6131
6146
|
e(F.TRANSACTION_DETAILS_CLICK_UNSPLIT, {
|
|
6132
6147
|
transaction_guid: A.guid
|
|
6133
6148
|
});
|
|
6134
|
-
const
|
|
6135
|
-
await a(
|
|
6149
|
+
const G = A.parent_guid ?? A.guid;
|
|
6150
|
+
await a(G);
|
|
6136
6151
|
}, N = g.useMemo(() => {
|
|
6137
|
-
const
|
|
6138
|
-
return
|
|
6152
|
+
const G = m.some((Q) => !Q.category_guid), q = m.some((Q) => Q.amount <= 0);
|
|
6153
|
+
return G || q;
|
|
6139
6154
|
}, [m]);
|
|
6140
6155
|
return /* @__PURE__ */ l(g.Fragment, { children: [
|
|
6141
6156
|
A && /* @__PURE__ */ t(Y, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ l(dA, { onClick: D, children: [
|
|
@@ -6166,7 +6181,7 @@ const wi = ({ transaction: A }) => {
|
|
|
6166
6181
|
Ed,
|
|
6167
6182
|
{
|
|
6168
6183
|
onAddSplit: E,
|
|
6169
|
-
onCategoryChanged:
|
|
6184
|
+
onCategoryChanged: w,
|
|
6170
6185
|
onDeleteSplit: S,
|
|
6171
6186
|
onUpdateAmount: L,
|
|
6172
6187
|
splits: m,
|
|
@@ -6197,7 +6212,7 @@ const wi = ({ transaction: A }) => {
|
|
|
6197
6212
|
}
|
|
6198
6213
|
)
|
|
6199
6214
|
] });
|
|
6200
|
-
},
|
|
6215
|
+
}, bd = T(yd), wd = () => {
|
|
6201
6216
|
const A = CA(), { onEvent: e } = V(), { addTag: n } = uA(), { transactions: a } = I(), [r, i] = g.useState(!1), [o, s] = g.useState(""), [c, h] = g.useState(""), d = g.useRef(null);
|
|
6202
6217
|
g.useEffect(() => {
|
|
6203
6218
|
r && d?.current?.focus();
|
|
@@ -6260,7 +6275,7 @@ const wi = ({ transaction: A }) => {
|
|
|
6260
6275
|
}
|
|
6261
6276
|
)
|
|
6262
6277
|
] });
|
|
6263
|
-
}, Sd = T(
|
|
6278
|
+
}, Sd = T(wd), Td = ({ onSearchValueChanged: A, searchValue: e }) => {
|
|
6264
6279
|
const { common: n, transactions: a } = I(), r = _A(), i = /* @__PURE__ */ t(
|
|
6265
6280
|
KA,
|
|
6266
6281
|
{
|
|
@@ -6295,7 +6310,7 @@ const wi = ({ transaction: A }) => {
|
|
|
6295
6310
|
}, [C]);
|
|
6296
6311
|
const L = () => {
|
|
6297
6312
|
a(B.ON_TRANSACTION_TAGS_TAG_EDIT_CLICK), f(n.name), h(!0);
|
|
6298
|
-
},
|
|
6313
|
+
}, w = () => {
|
|
6299
6314
|
a(B.ON_TRANSACTION_TAGS_TAG_DELETE_CLICK), u(!0);
|
|
6300
6315
|
};
|
|
6301
6316
|
return /* @__PURE__ */ l(
|
|
@@ -6319,7 +6334,7 @@ const wi = ({ transaction: A }) => {
|
|
|
6319
6334
|
{
|
|
6320
6335
|
"aria-label": `Delete ${n.name} tag`,
|
|
6321
6336
|
color: "secondary",
|
|
6322
|
-
onClick:
|
|
6337
|
+
onClick: w,
|
|
6323
6338
|
children: /* @__PURE__ */ t(St, { color: "secondary" })
|
|
6324
6339
|
}
|
|
6325
6340
|
)
|
|
@@ -6577,8 +6592,8 @@ const wi = ({ transaction: A }) => {
|
|
|
6577
6592
|
)
|
|
6578
6593
|
] }),
|
|
6579
6594
|
/* @__PURE__ */ t(fe, { square: !0, sx: { boxShadow: "none" }, children: /* @__PURE__ */ t(nA, { children: e.map((o, s) => /* @__PURE__ */ l(g.Fragment, { children: [
|
|
6580
|
-
o === Ct.Category && /* @__PURE__ */ t(
|
|
6581
|
-
o === Ct.Date && /* @__PURE__ */ t(
|
|
6595
|
+
o === Ct.Category && /* @__PURE__ */ t(bi, { transaction: n }),
|
|
6596
|
+
o === Ct.Date && /* @__PURE__ */ t(wi, { transaction: n }),
|
|
6582
6597
|
o === Ct.Memo && /* @__PURE__ */ t(Ti, { transaction: n }),
|
|
6583
6598
|
o === Ct.Tags && /* @__PURE__ */ t(Li, { transaction: n }),
|
|
6584
6599
|
/* @__PURE__ */ t(k, { variant: s < e.length - 1 ? "inset" : "fullWidth" })
|
|
@@ -6586,7 +6601,7 @@ const wi = ({ transaction: A }) => {
|
|
|
6586
6601
|
/* @__PURE__ */ t(p, { bold: !0, mb: 8, ml: 26, mt: 16, variant: "Body", children: "Actions" }),
|
|
6587
6602
|
/* @__PURE__ */ t(fe, { square: !0, sx: { boxShadow: "none" }, children: /* @__PURE__ */ l(nA, { children: [
|
|
6588
6603
|
A.map((o, s) => /* @__PURE__ */ l(g.Fragment, { children: [
|
|
6589
|
-
o === Ht.SplitTransaction && /* @__PURE__ */ t(
|
|
6604
|
+
o === Ht.SplitTransaction && /* @__PURE__ */ t(bd, { transaction: n }),
|
|
6590
6605
|
o === Ht.HideTransaction && /* @__PURE__ */ t(Cd, { transaction: n }),
|
|
6591
6606
|
o === Ht.MerchantLogo && /* @__PURE__ */ t(hd, { transaction: n }),
|
|
6592
6607
|
/* @__PURE__ */ t(k, { variant: s < A.length - 1 ? "inset" : "fullWidth" })
|
|
@@ -6705,8 +6720,8 @@ const wi = ({ transaction: A }) => {
|
|
|
6705
6720
|
] }),
|
|
6706
6721
|
/* @__PURE__ */ t(k, { light: !0 }),
|
|
6707
6722
|
/* @__PURE__ */ l(O, { bgcolor: "background.paper", children: [
|
|
6708
|
-
/* @__PURE__ */ t(wi, { transaction: a }),
|
|
6709
6723
|
/* @__PURE__ */ t(bi, { transaction: a }),
|
|
6724
|
+
/* @__PURE__ */ t(wi, { transaction: a }),
|
|
6710
6725
|
/* @__PURE__ */ t(Ti, { transaction: a }),
|
|
6711
6726
|
/* @__PURE__ */ t(Li, { transaction: a })
|
|
6712
6727
|
] })
|
|
@@ -6772,10 +6787,10 @@ const wi = ({ transaction: A }) => {
|
|
|
6772
6787
|
setFilter: E,
|
|
6773
6788
|
tags: S,
|
|
6774
6789
|
transactions: L,
|
|
6775
|
-
updateTransaction:
|
|
6790
|
+
updateTransaction: w
|
|
6776
6791
|
} = uA(), { common: D, transactions: P } = I(), { userProfile: _ } = nn(), { onEvent: x } = V(), {
|
|
6777
6792
|
displayedDateRange: N,
|
|
6778
|
-
isInitialized:
|
|
6793
|
+
isInitialized: G,
|
|
6779
6794
|
selectedAccountGuids: q,
|
|
6780
6795
|
selectedAccounts: Q,
|
|
6781
6796
|
setDisplayedDate: j,
|
|
@@ -6826,7 +6841,7 @@ const wi = ({ transaction: A }) => {
|
|
|
6826
6841
|
}, pn = () => {
|
|
6827
6842
|
Ve(!1), i();
|
|
6828
6843
|
};
|
|
6829
|
-
return !
|
|
6844
|
+
return !G || !Je ? /* @__PURE__ */ t(jA, {}) : /* @__PURE__ */ l(
|
|
6830
6845
|
ue,
|
|
6831
6846
|
{
|
|
6832
6847
|
accountOptions: r,
|
|
@@ -6913,7 +6928,7 @@ const wi = ({ transaction: A }) => {
|
|
|
6913
6928
|
ariaLabelClose: D.close_aria,
|
|
6914
6929
|
isOpen: aA === "transaction",
|
|
6915
6930
|
onClose: () => {
|
|
6916
|
-
K && !K.has_been_viewed &&
|
|
6931
|
+
K && !K.has_been_viewed && w({ ...K, has_been_viewed: !0 }), gA("");
|
|
6917
6932
|
},
|
|
6918
6933
|
title: P.details_title,
|
|
6919
6934
|
children: K && /* @__PURE__ */ t(st, { transaction: K })
|
|
@@ -6970,21 +6985,21 @@ const wi = ({ transaction: A }) => {
|
|
|
6970
6985
|
repeat_month: null,
|
|
6971
6986
|
repeat_weekday: null,
|
|
6972
6987
|
start_date: mA(A.expectedDate)
|
|
6973
|
-
}, a = `${vt(A.expectedDate)}`, r = `${At(A.expectedDate)}`, i = `${
|
|
6988
|
+
}, a = `${vt(A.expectedDate)}`, r = `${At(A.expectedDate)}`, i = `${wt(A.expectedDate)}`;
|
|
6974
6989
|
switch (A.recurrenceType) {
|
|
6975
|
-
case
|
|
6990
|
+
case X.EveryWeek:
|
|
6976
6991
|
n.repeat_interval = "1", n.repeat_weekday = i;
|
|
6977
6992
|
break;
|
|
6978
|
-
case
|
|
6993
|
+
case X.EveryOtherWeek:
|
|
6979
6994
|
n.repeat_interval = "2", n.repeat_weekday = i;
|
|
6980
6995
|
break;
|
|
6981
|
-
case
|
|
6996
|
+
case X.EveryMonth:
|
|
6982
6997
|
n.repeat_day = a;
|
|
6983
6998
|
break;
|
|
6984
|
-
case
|
|
6999
|
+
case X.EveryQuarter:
|
|
6985
7000
|
n.repeat_day = a, n.repeat_interval = "3";
|
|
6986
7001
|
break;
|
|
6987
|
-
case
|
|
7002
|
+
case X.EveryYear:
|
|
6988
7003
|
n.repeat_day = a, n.repeat_month = r;
|
|
6989
7004
|
break;
|
|
6990
7005
|
}
|
|
@@ -6995,13 +7010,13 @@ const wi = ({ transaction: A }) => {
|
|
|
6995
7010
|
recurrence_type: A.recurrenceType
|
|
6996
7011
|
}), Fd = ({ activity: A }) => {
|
|
6997
7012
|
const { recurring: e } = I(), { cashflowSequences: n, scheduledPayments: a, updateCashflowSequence: r, updateScheduledPayment: i } = HA(), { onEvent: o } = V(), [s, c] = g.useState(!1), h = A.activityType === LA.Income, d = [
|
|
6998
|
-
{ id:
|
|
6999
|
-
{ id:
|
|
7000
|
-
{ id:
|
|
7001
|
-
{ id:
|
|
7002
|
-
{ id:
|
|
7003
|
-
{ id:
|
|
7004
|
-
{ id:
|
|
7013
|
+
{ id: X.EveryWeek, label: e.frequency_every_week },
|
|
7014
|
+
{ id: X.EveryOtherWeek, label: e.frequency_every_other_week },
|
|
7015
|
+
{ id: X.EveryMonth, label: e.frequency_every_month },
|
|
7016
|
+
{ id: X.EveryOtherMonth, label: e.frequency_every_other_month },
|
|
7017
|
+
{ id: X.EveryQuarter, label: e.frequency_every_quarter },
|
|
7018
|
+
{ id: X.EveryOtherQuarter, label: e.frequency_every_other_quarter },
|
|
7019
|
+
{ id: X.EveryYear, label: e.frequency_every_year }
|
|
7005
7020
|
], u = async (m) => {
|
|
7006
7021
|
const v = { ...A, recurrenceType: m };
|
|
7007
7022
|
if (A.activityType === LA.Expense) {
|
|
@@ -7041,7 +7056,7 @@ const wi = ({ transaction: A }) => {
|
|
|
7041
7056
|
(m) => (
|
|
7042
7057
|
// Filter out every other month and every other quarter when income since cashflow
|
|
7043
7058
|
// sequence doesn't support them
|
|
7044
|
-
A.activityType === LA.Expense || m.id !==
|
|
7059
|
+
A.activityType === LA.Expense || m.id !== X.EveryOtherMonth && m.id !== X.EveryOtherQuarter
|
|
7045
7060
|
)
|
|
7046
7061
|
).map((m) => /* @__PURE__ */ l(g.Fragment, { children: [
|
|
7047
7062
|
/* @__PURE__ */ t(Y, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ l(dA, { onClick: () => u(m.id), children: [
|
|
@@ -7129,7 +7144,7 @@ const wi = ({ transaction: A }) => {
|
|
|
7129
7144
|
custom: (P) => P.scheduled_payment_guid === A.scheduledPaymentGuid
|
|
7130
7145
|
});
|
|
7131
7146
|
}, [A]);
|
|
7132
|
-
const
|
|
7147
|
+
const w = async () => {
|
|
7133
7148
|
S && A.sequenceGuid ? await r(A.sequenceGuid) : A.scheduledPaymentGuid && await i(A.scheduledPaymentGuid), e();
|
|
7134
7149
|
}, D = () => {
|
|
7135
7150
|
f(!0), u(
|
|
@@ -7215,7 +7230,7 @@ const wi = ({ transaction: A }) => {
|
|
|
7215
7230
|
},
|
|
7216
7231
|
isOpen: C,
|
|
7217
7232
|
onClose: () => f(!1),
|
|
7218
|
-
onPrimaryAction:
|
|
7233
|
+
onPrimaryAction: w,
|
|
7219
7234
|
children: /* @__PURE__ */ t(p, { children: S ? n.delete_income_description : n.delete_expense_description })
|
|
7220
7235
|
}
|
|
7221
7236
|
)
|
|
@@ -7227,22 +7242,22 @@ const wi = ({ transaction: A }) => {
|
|
|
7227
7242
|
}, ln = (A) => A ? { margin: "0 0 -6px -4px" } : void 0, sa = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(He, { size: e, sx: { ...ln(A) }, children: /* @__PURE__ */ t(Cs, { color: "primary", sx: { fontSize: e, ...cn } }) }), ca = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(He, { size: e, sx: { ...ln(A) }, children: /* @__PURE__ */ t(fs, { sx: { color: "categories.income", fontSize: e, ...cn } }) }), la = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(He, { size: e, sx: { ...ln(A) }, children: /* @__PURE__ */ t(qt, { color: "error", sx: { fontSize: e, ...cn } }) }), da = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(He, { size: e, sx: { ...ln(A) }, children: /* @__PURE__ */ t(Xr, { color: "success", sx: { fontSize: e, ...cn } }) }), nr = ({ copy: A, date: e, type: n }) => {
|
|
7228
7243
|
let a = e && ms(e) ? R(A.monthly_ordinal, FA(e, "do")) : A.monthly;
|
|
7229
7244
|
switch (n) {
|
|
7230
|
-
case
|
|
7245
|
+
case X.EveryQuarter:
|
|
7231
7246
|
a = e ? R(A.quarterly_ordinal, FA(e, "do")) : A.quarterly;
|
|
7232
7247
|
break;
|
|
7233
|
-
case
|
|
7248
|
+
case X.EveryWeek:
|
|
7234
7249
|
a = e ? R(A.weekly_ordinal, FA(e, "do")) : A.weekly;
|
|
7235
7250
|
break;
|
|
7236
|
-
case
|
|
7251
|
+
case X.EveryYear:
|
|
7237
7252
|
a = e ? R(A.anually_ordinal, FA(e, "do")) : A.anually;
|
|
7238
7253
|
break;
|
|
7239
|
-
case
|
|
7254
|
+
case X.EveryOtherWeek:
|
|
7240
7255
|
a = e ? R(A.every_other_week_ordinal, FA(e, "do")) : A.every_other_week;
|
|
7241
7256
|
break;
|
|
7242
|
-
case
|
|
7257
|
+
case X.EveryOtherMonth:
|
|
7243
7258
|
a = e ? R(A.every_other_month_ordinal, FA(e, "do")) : A.every_other_month;
|
|
7244
7259
|
break;
|
|
7245
|
-
case
|
|
7260
|
+
case X.EveryOtherQuarter:
|
|
7246
7261
|
a = e ? R(A.every_other_quarter_ordinal, FA(e, "do")) : A.every_other_quarter;
|
|
7247
7262
|
break;
|
|
7248
7263
|
}
|
|
@@ -7371,19 +7386,19 @@ const wi = ({ transaction: A }) => {
|
|
|
7371
7386
|
transaction_type: A.transaction_type
|
|
7372
7387
|
};
|
|
7373
7388
|
switch (e) {
|
|
7374
|
-
case
|
|
7375
|
-
a.repeat_interval = "1", a.repeat_weekday = `${
|
|
7389
|
+
case X.EveryWeek:
|
|
7390
|
+
a.repeat_interval = "1", a.repeat_weekday = `${wt(n)}`;
|
|
7376
7391
|
break;
|
|
7377
|
-
case
|
|
7378
|
-
a.repeat_interval = "2", a.repeat_weekday = `${
|
|
7392
|
+
case X.EveryOtherWeek:
|
|
7393
|
+
a.repeat_interval = "2", a.repeat_weekday = `${wt(n)}`;
|
|
7379
7394
|
break;
|
|
7380
|
-
case
|
|
7395
|
+
case X.EveryMonth:
|
|
7381
7396
|
a.repeat_day = `${vt(n)}`;
|
|
7382
7397
|
break;
|
|
7383
|
-
case
|
|
7398
|
+
case X.EveryQuarter:
|
|
7384
7399
|
a.repeat_interval = "3", a.repeat_day = `${vt(n)}`;
|
|
7385
7400
|
break;
|
|
7386
|
-
case
|
|
7401
|
+
case X.EveryYear:
|
|
7387
7402
|
a.repeat_day = `${vt(n)}`, a.repeat_month = `${At(n)}`;
|
|
7388
7403
|
break;
|
|
7389
7404
|
}
|
|
@@ -7406,18 +7421,18 @@ const wi = ({ transaction: A }) => {
|
|
|
7406
7421
|
merchant_guid: A.merchant_guid,
|
|
7407
7422
|
occurs_on: Kn(n, { representation: "date" }),
|
|
7408
7423
|
recurrence_day: 0,
|
|
7409
|
-
recurrence_type:
|
|
7424
|
+
recurrence_type: X.EveryMonth
|
|
7410
7425
|
};
|
|
7411
7426
|
switch (e) {
|
|
7412
|
-
case
|
|
7413
|
-
case
|
|
7414
|
-
a.recurrence_day =
|
|
7427
|
+
case X.EveryWeek:
|
|
7428
|
+
case X.EveryOtherWeek:
|
|
7429
|
+
a.recurrence_day = wt(n);
|
|
7415
7430
|
break;
|
|
7416
|
-
case
|
|
7417
|
-
case
|
|
7418
|
-
case
|
|
7419
|
-
case
|
|
7420
|
-
case
|
|
7431
|
+
case X.EveryMonth:
|
|
7432
|
+
case X.EveryOtherMonth:
|
|
7433
|
+
case X.EveryQuarter:
|
|
7434
|
+
case X.EveryOtherQuarter:
|
|
7435
|
+
case X.EveryYear:
|
|
7421
7436
|
a.recurrence_day = vt(n);
|
|
7422
7437
|
break;
|
|
7423
7438
|
}
|
|
@@ -7455,40 +7470,40 @@ const wi = ({ transaction: A }) => {
|
|
|
7455
7470
|
transaction: o
|
|
7456
7471
|
}) => {
|
|
7457
7472
|
const { recurring: s } = I(), c = [
|
|
7458
|
-
{ id:
|
|
7459
|
-
{ id:
|
|
7460
|
-
{ id:
|
|
7461
|
-
{ id:
|
|
7462
|
-
{ id:
|
|
7463
|
-
{ id:
|
|
7464
|
-
{ id:
|
|
7473
|
+
{ id: X.EveryWeek, label: s.frequency_every_week },
|
|
7474
|
+
{ id: X.EveryOtherWeek, label: s.frequency_every_other_week },
|
|
7475
|
+
{ id: X.EveryMonth, label: s.frequency_every_month },
|
|
7476
|
+
{ id: X.EveryOtherMonth, label: s.frequency_every_other_month },
|
|
7477
|
+
{ id: X.EveryQuarter, label: s.frequency_every_quarter },
|
|
7478
|
+
{ id: X.EveryOtherQuarter, label: s.frequency_every_other_quarter },
|
|
7479
|
+
{ id: X.EveryYear, label: s.frequency_every_year }
|
|
7465
7480
|
];
|
|
7466
7481
|
g.useEffect(() => {
|
|
7467
7482
|
const d = xA(o.date);
|
|
7468
|
-
i(Ma(d)), r(
|
|
7483
|
+
i(Ma(d)), r(X.EveryMonth);
|
|
7469
7484
|
}, [o]);
|
|
7470
7485
|
const h = (d) => {
|
|
7471
7486
|
const u = xA(o.date);
|
|
7472
7487
|
switch (Number(d.target.value)) {
|
|
7473
|
-
case
|
|
7488
|
+
case X.EveryWeek:
|
|
7474
7489
|
i(Zn(u));
|
|
7475
7490
|
break;
|
|
7476
|
-
case
|
|
7491
|
+
case X.EveryOtherWeek:
|
|
7477
7492
|
i(nc(u));
|
|
7478
7493
|
break;
|
|
7479
|
-
case
|
|
7494
|
+
case X.EveryMonth:
|
|
7480
7495
|
i(Ma(u));
|
|
7481
7496
|
break;
|
|
7482
|
-
case
|
|
7497
|
+
case X.EveryOtherMonth:
|
|
7483
7498
|
i(ac(u));
|
|
7484
7499
|
break;
|
|
7485
|
-
case
|
|
7500
|
+
case X.EveryQuarter:
|
|
7486
7501
|
i(ni(u));
|
|
7487
7502
|
break;
|
|
7488
|
-
case
|
|
7503
|
+
case X.EveryOtherQuarter:
|
|
7489
7504
|
i(rc(u));
|
|
7490
7505
|
break;
|
|
7491
|
-
case
|
|
7506
|
+
case X.EveryYear:
|
|
7492
7507
|
i(ic(u));
|
|
7493
7508
|
break;
|
|
7494
7509
|
}
|
|
@@ -7528,15 +7543,15 @@ const wi = ({ transaction: A }) => {
|
|
|
7528
7543
|
}
|
|
7529
7544
|
) })
|
|
7530
7545
|
] });
|
|
7531
|
-
}, Ni = T(eu), Mn = (A) => A.top_level_category_guid !==
|
|
7546
|
+
}, Ni = T(eu), Mn = (A) => A.top_level_category_guid !== b.INCOME && A.transaction_type === QA.DEBIT, tu = (A, e) => Mn(A) ? A.payee?.toLowerCase().includes(e.toLowerCase()) || A.description.toLowerCase().includes(e.toLowerCase()) || A.feed_description.toLowerCase().includes(e.toLowerCase()) : !1, Lt = (A) => A.top_level_category_guid === b.INCOME || A.top_level_category_guid === b.TRANSFER && A.transaction_type === QA.CREDIT, Mi = (A, e) => Lt(A) ? A.payee?.toLowerCase().includes(e.toLowerCase()) || A.description?.toLowerCase().includes(e.toLowerCase()) || A.feed_description?.toLowerCase().includes(e.toLowerCase()) : !1, nu = ({
|
|
7532
7547
|
isIncome: A = !1,
|
|
7533
7548
|
label: e,
|
|
7534
7549
|
onAddActivity: n = () => null
|
|
7535
7550
|
}) => {
|
|
7536
|
-
const { recurring: a } = I(), { addCashflowEvent: r, addCashflowSequence: i, addScheduledPayment: o } = HA(), { filter: s, setFilter: c, transactions: h } = uA(), [d, u] = g.useState(!1), [C, f] = g.useState(""), [m, v] = g.useState(
|
|
7551
|
+
const { recurring: a } = I(), { addCashflowEvent: r, addCashflowSequence: i, addScheduledPayment: o } = HA(), { filter: s, setFilter: c, transactions: h } = uA(), [d, u] = g.useState(!1), [C, f] = g.useState(""), [m, v] = g.useState(X.EveryMonth), [E, S] = g.useState(null), L = g.useMemo(
|
|
7537
7552
|
() => h.find((_) => _.guid === C),
|
|
7538
7553
|
[C]
|
|
7539
|
-
),
|
|
7554
|
+
), w = () => {
|
|
7540
7555
|
u(!0), c(A ? { ...s, custom: Lt } : { ...s, custom: Mn });
|
|
7541
7556
|
}, D = async () => {
|
|
7542
7557
|
if (n(), !L || !E) {
|
|
@@ -7558,7 +7573,7 @@ const wi = ({ transaction: A }) => {
|
|
|
7558
7573
|
f(""), u(!1);
|
|
7559
7574
|
};
|
|
7560
7575
|
return /* @__PURE__ */ l(O, { children: [
|
|
7561
|
-
/* @__PURE__ */ t(Y, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ t(dA, { onClick:
|
|
7576
|
+
/* @__PURE__ */ t(Y, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ t(dA, { onClick: w, children: /* @__PURE__ */ t(tA, { children: /* @__PURE__ */ l(y, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
7562
7577
|
/* @__PURE__ */ l(y, { alignItems: "center", direction: "row", gap: 8, children: [
|
|
7563
7578
|
/* @__PURE__ */ t(M, { fill: !0, name: "add_box", size: 24, sx: { color: "action.active" } }),
|
|
7564
7579
|
/* @__PURE__ */ t(p, { bold: !0, sx: { color: "action.active" }, variant: "Body", children: e })
|
|
@@ -7644,7 +7659,7 @@ const wi = ({ transaction: A }) => {
|
|
|
7644
7659
|
}, iu = T(ru), _n = (A) => {
|
|
7645
7660
|
let e = A.user_name || A.feed_name || "";
|
|
7646
7661
|
return A.account_number && (e = `${e} *${A.account_number}`), e;
|
|
7647
|
-
}, Rn = (A) => A ? A.repeat_interval === "1" ?
|
|
7662
|
+
}, Rn = (A) => A ? A.repeat_interval === "1" ? X.EveryWeek : A.repeat_interval === "2" ? X.EveryOtherWeek : A.repeat_day && !A.repeat_month && !A.repeat_interval ? X.EveryMonth : A.repeat_day && A.repeat_interval === "3" ? X.EveryQuarter : A.repeat_day && A.repeat_month ? X.EveryYear : X.Unknown : X.Unknown, ou = (A, e, n, a, r, i) => {
|
|
7648
7663
|
const o = e.filter((d) => {
|
|
7649
7664
|
const u = r.find((f) => f.guid === d.cashflow_sequence_guid), C = i.find((f) => f.guid === d.transaction_guid);
|
|
7650
7665
|
return u?.end_date === null && C;
|
|
@@ -7722,16 +7737,16 @@ const wi = ({ transaction: A }) => {
|
|
|
7722
7737
|
}, c = e.recurrence_day, h = AA(), d = yA(AA()), u = ve(AA(), 30);
|
|
7723
7738
|
let C = d;
|
|
7724
7739
|
switch (e.recurrence_type) {
|
|
7725
|
-
case
|
|
7726
|
-
for (C = Dn(C, c);
|
|
7740
|
+
case X.EveryWeek:
|
|
7741
|
+
for (C = Dn(C, c); bA(C, u); )
|
|
7727
7742
|
a.push({
|
|
7728
7743
|
...s,
|
|
7729
7744
|
expectedDate: C
|
|
7730
7745
|
}), C = Dn(C, c);
|
|
7731
7746
|
break;
|
|
7732
|
-
case
|
|
7733
|
-
if (
|
|
7734
|
-
for (C = $e(o, 2);
|
|
7747
|
+
case X.EveryOtherWeek:
|
|
7748
|
+
if (bA(o, d))
|
|
7749
|
+
for (C = $e(o, 2); bA(C, u); )
|
|
7735
7750
|
tt(C, d) && a.push({
|
|
7736
7751
|
...s,
|
|
7737
7752
|
expectedDate: C
|
|
@@ -7745,14 +7760,14 @@ const wi = ({ transaction: A }) => {
|
|
|
7745
7760
|
...s,
|
|
7746
7761
|
expectedDate: C
|
|
7747
7762
|
}), C = Ia(C, 2);
|
|
7748
|
-
for (C = $e(o, 2);
|
|
7763
|
+
for (C = $e(o, 2); bA(C, u); )
|
|
7749
7764
|
a.push({
|
|
7750
7765
|
...s,
|
|
7751
7766
|
expectedDate: C
|
|
7752
7767
|
}), C = $e(C, 2);
|
|
7753
7768
|
}
|
|
7754
7769
|
break;
|
|
7755
|
-
case
|
|
7770
|
+
case X.EveryMonth:
|
|
7756
7771
|
a.push({
|
|
7757
7772
|
...s,
|
|
7758
7773
|
expectedDate: On(C, c)
|
|
@@ -7761,38 +7776,38 @@ const wi = ({ transaction: A }) => {
|
|
|
7761
7776
|
expectedDate: ee(On(C, c), 1)
|
|
7762
7777
|
});
|
|
7763
7778
|
break;
|
|
7764
|
-
case
|
|
7765
|
-
|
|
7779
|
+
case X.EveryOtherMonth:
|
|
7780
|
+
bA(o, d) ? bA(ee(o, 2), u) && a.push({
|
|
7766
7781
|
...s,
|
|
7767
7782
|
expectedDate: ee(o, 2)
|
|
7768
|
-
}) :
|
|
7783
|
+
}) : bA(o, u) && a.push({
|
|
7769
7784
|
...s,
|
|
7770
7785
|
expectedDate: o
|
|
7771
7786
|
});
|
|
7772
7787
|
break;
|
|
7773
|
-
case
|
|
7774
|
-
|
|
7788
|
+
case X.EveryQuarter:
|
|
7789
|
+
bA(o, d) ? bA(Xe(o, 1), u) && a.push({
|
|
7775
7790
|
...s,
|
|
7776
7791
|
expectedDate: Xe(o, 1)
|
|
7777
|
-
}) :
|
|
7792
|
+
}) : bA(o, u) && a.push({
|
|
7778
7793
|
...s,
|
|
7779
7794
|
expectedDate: o
|
|
7780
7795
|
});
|
|
7781
7796
|
break;
|
|
7782
|
-
case
|
|
7783
|
-
|
|
7797
|
+
case X.EveryOtherQuarter:
|
|
7798
|
+
bA(o, d) ? bA(Xe(o, 2), u) && a.push({
|
|
7784
7799
|
...s,
|
|
7785
7800
|
expectedDate: Xe(o, 2)
|
|
7786
|
-
}) :
|
|
7801
|
+
}) : bA(o, u) && a.push({
|
|
7787
7802
|
...s,
|
|
7788
7803
|
expectedDate: o
|
|
7789
7804
|
});
|
|
7790
7805
|
break;
|
|
7791
|
-
case
|
|
7792
|
-
|
|
7806
|
+
case X.EveryYear:
|
|
7807
|
+
bA(o, d) ? bA(bt(o, 1), u) && a.push({
|
|
7793
7808
|
...s,
|
|
7794
|
-
expectedDate:
|
|
7795
|
-
}) :
|
|
7809
|
+
expectedDate: bt(o, 1)
|
|
7810
|
+
}) : bA(o, u) && a.push({
|
|
7796
7811
|
...s,
|
|
7797
7812
|
expectedDate: o
|
|
7798
7813
|
});
|
|
@@ -7802,7 +7817,7 @@ const wi = ({ transaction: A }) => {
|
|
|
7802
7817
|
const m = n.find(
|
|
7803
7818
|
(v) => v.scheduled_payment_guid === f.scheduledPaymentGuid && v.date > mA(de(f.expectedDate, 3)) && v.date < mA(ve(f.expectedDate, 3))
|
|
7804
7819
|
);
|
|
7805
|
-
m ? (f.transactionGuid = m.guid, f.occurredOnDate = xA(m.date), f.activityStatus = OA.Paid) :
|
|
7820
|
+
m ? (f.transactionGuid = m.guid, f.occurredOnDate = xA(m.date), f.activityStatus = OA.Paid) : bA(f.expectedDate, de(h, 3)) && (f.activityStatus = OA.Missed);
|
|
7806
7821
|
}), a;
|
|
7807
7822
|
}, cu = (A, e, n, a, r) => a.map((i) => {
|
|
7808
7823
|
const o = e.find((u) => u.cashflow_sequence_guid === i.guid), s = n.find((u) => u.cashflow_sequence_guid === i.guid), c = r.find((u) => u.guid === o?.transaction_guid), h = A.find((u) => u.guid === c?.account_guid);
|
|
@@ -8110,15 +8125,15 @@ const wi = ({ transaction: A }) => {
|
|
|
8110
8125
|
selectedDayActivities: o,
|
|
8111
8126
|
setSelectedDay: s,
|
|
8112
8127
|
upcomingActivities: c
|
|
8113
|
-
} = HA(), [h, d] = g.useState(0), { onEvent: u } = V(), C = n.filter(yn), f = r.filter(yn), m = a.filter(yn), v = C.filter(Mt).reduce(ht, 0), E = f.filter(Mt).reduce(ht, 0), S = m.filter(Mt).reduce(ht, 0), L = C.filter(Mt).length,
|
|
8128
|
+
} = HA(), [h, d] = g.useState(0), { onEvent: u } = V(), C = n.filter(yn), f = r.filter(yn), m = a.filter(yn), v = C.filter(Mt).reduce(ht, 0), E = f.filter(Mt).reduce(ht, 0), S = m.filter(Mt).reduce(ht, 0), L = C.filter(Mt).length, w = C.filter(En).reduce(ht, 0), D = f.filter(En).reduce(ht, 0), P = C.filter(En).length, _ = (G, q) => {
|
|
8114
8129
|
d(q);
|
|
8115
|
-
}, x = (
|
|
8130
|
+
}, x = (G) => {
|
|
8116
8131
|
u(F.RECURRING_ACTIVITY_CLICK_UPCOMING, {
|
|
8117
|
-
transaction_guid:
|
|
8132
|
+
transaction_guid: G.transactionGuid
|
|
8118
8133
|
});
|
|
8119
|
-
}, N = (
|
|
8134
|
+
}, N = (G) => {
|
|
8120
8135
|
u(F.RECURRING_ACTIVITY_CLICK_PAID, {
|
|
8121
|
-
transaction_guid:
|
|
8136
|
+
transaction_guid: G.transactionGuid
|
|
8122
8137
|
});
|
|
8123
8138
|
};
|
|
8124
8139
|
return /* @__PURE__ */ l(Ie, { container: !0, pt: 16, px: 24, spacing: 24, children: [
|
|
@@ -8136,7 +8151,7 @@ const wi = ({ transaction: A }) => {
|
|
|
8136
8151
|
/* @__PURE__ */ t(
|
|
8137
8152
|
rr,
|
|
8138
8153
|
{
|
|
8139
|
-
expected:
|
|
8154
|
+
expected: w,
|
|
8140
8155
|
paid: D,
|
|
8141
8156
|
title: A.deposits,
|
|
8142
8157
|
total: P
|
|
@@ -8191,7 +8206,7 @@ const wi = ({ transaction: A }) => {
|
|
|
8191
8206
|
)
|
|
8192
8207
|
] }) })
|
|
8193
8208
|
] });
|
|
8194
|
-
}, yu = T(Eu),
|
|
8209
|
+
}, yu = T(Eu), bu = ({ onBackClick: A, sx: e = {} }) => {
|
|
8195
8210
|
const { accounts: n } = TA(), { recurring: a } = I(), { isInitialized: r, selectedAccountGuids: i, setSelectedAccounts: o } = fA(), { setFilter: s } = uA(), { isLoading: c } = HA(), { onEvent: h } = V();
|
|
8196
8211
|
g.useEffect(() => {
|
|
8197
8212
|
o(n);
|
|
@@ -8221,9 +8236,9 @@ const wi = ({ transaction: A }) => {
|
|
|
8221
8236
|
title: a.title,
|
|
8222
8237
|
children: [
|
|
8223
8238
|
r || !c ? /* @__PURE__ */ t(yu, {}) : /* @__PURE__ */ l(y, { direction: "column", p: 48, spacing: 24, children: [
|
|
8224
|
-
/* @__PURE__ */ t(
|
|
8225
|
-
/* @__PURE__ */ t(
|
|
8226
|
-
/* @__PURE__ */ t(
|
|
8239
|
+
/* @__PURE__ */ t(we, { height: 100, variant: "rounded", width: "100%" }),
|
|
8240
|
+
/* @__PURE__ */ t(we, { height: 100, variant: "rounded", width: "100%" }),
|
|
8241
|
+
/* @__PURE__ */ t(we, { height: 600, variant: "rounded", width: "100%" })
|
|
8227
8242
|
] }),
|
|
8228
8243
|
/* @__PURE__ */ t(
|
|
8229
8244
|
lA,
|
|
@@ -8239,7 +8254,7 @@ const wi = ({ transaction: A }) => {
|
|
|
8239
8254
|
]
|
|
8240
8255
|
}
|
|
8241
8256
|
);
|
|
8242
|
-
}, G7 = T(
|
|
8257
|
+
}, G7 = T(bu), wu = () => {
|
|
8243
8258
|
const { recurring: A } = I(), { selectedAccountGuids: e } = fA(), { selectedDay: n, selectedDayActivities: a, setSelectedDay: r, upcomingActivities: i } = HA(), o = g.useMemo(
|
|
8244
8259
|
() => i.filter(
|
|
8245
8260
|
(h) => e.includes(h.accountGuid || "")
|
|
@@ -8263,7 +8278,7 @@ const wi = ({ transaction: A }) => {
|
|
|
8263
8278
|
}
|
|
8264
8279
|
)
|
|
8265
8280
|
] });
|
|
8266
|
-
}, Su = T(
|
|
8281
|
+
}, Su = T(wu), Tu = ({ onPrimaryCtaClick: A, sx: e }) => {
|
|
8267
8282
|
const { recurring: n } = I(), { isInitialized: a, selectedAccountGuids: r } = fA(), { setFilter: i } = uA();
|
|
8268
8283
|
return g.useEffect(() => {
|
|
8269
8284
|
a && i({
|
|
@@ -8686,7 +8701,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
8686
8701
|
] }),
|
|
8687
8702
|
/* @__PURE__ */ t(p, { sx: { flexGrow: 1, fontSize: 13 }, children: A.name }),
|
|
8688
8703
|
/* @__PURE__ */ t(
|
|
8689
|
-
|
|
8704
|
+
wA,
|
|
8690
8705
|
{
|
|
8691
8706
|
amount: A.amount,
|
|
8692
8707
|
bold: !0,
|
|
@@ -8721,7 +8736,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
8721
8736
|
),
|
|
8722
8737
|
/* @__PURE__ */ t(k, {})
|
|
8723
8738
|
] });
|
|
8724
|
-
}, or = T(zu), sr = (A, e) => (n) => n.accountGuid === A.guid && (Un(n.expectedDate) || tt(n.expectedDate, e.start)) &&
|
|
8739
|
+
}, or = T(zu), sr = (A, e) => (n) => n.accountGuid === A.guid && (Un(n.expectedDate) || tt(n.expectedDate, e.start)) && bA(n.expectedDate, e.end), Bu = () => {
|
|
8725
8740
|
const { cashflow: A } = I(), { upcomingExpenses: e, upcomingIncome: n } = HA(), { dateRange: a, selectedCashAccounts: r } = ot();
|
|
8726
8741
|
return /* @__PURE__ */ l(y, { children: [
|
|
8727
8742
|
/* @__PURE__ */ l(y, { flexDirection: "row", justifyContent: "space-between", children: [
|
|
@@ -8938,7 +8953,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
8938
8953
|
),
|
|
8939
8954
|
/* @__PURE__ */ t(p, { variant: "Small", children: `${m} ${f ? `*${f}` : ""}` })
|
|
8940
8955
|
] }),
|
|
8941
|
-
/* @__PURE__ */ t(
|
|
8956
|
+
/* @__PURE__ */ t(wA, { amount: h.balance, bold: !0, variant: "Small" })
|
|
8942
8957
|
]
|
|
8943
8958
|
}
|
|
8944
8959
|
),
|
|
@@ -8953,7 +8968,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
8953
8968
|
py: 12,
|
|
8954
8969
|
children: [
|
|
8955
8970
|
/* @__PURE__ */ t(p, { variant: "Small", children: n.projected_income }),
|
|
8956
|
-
/* @__PURE__ */ t(
|
|
8971
|
+
/* @__PURE__ */ t(wA, { amount: h.income, bold: !0, symbol: "+", variant: "Small" })
|
|
8957
8972
|
]
|
|
8958
8973
|
}
|
|
8959
8974
|
),
|
|
@@ -8968,7 +8983,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
8968
8983
|
py: 12,
|
|
8969
8984
|
children: [
|
|
8970
8985
|
/* @__PURE__ */ t(p, { variant: "Small", children: n.projected_expenses }),
|
|
8971
|
-
/* @__PURE__ */ t(
|
|
8986
|
+
/* @__PURE__ */ t(wA, { amount: h.expenses, bold: !0, symbol: "-", variant: "Small" })
|
|
8972
8987
|
]
|
|
8973
8988
|
}
|
|
8974
8989
|
),
|
|
@@ -9052,15 +9067,15 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9052
9067
|
padding: e ? "14px 16px" : 0,
|
|
9053
9068
|
sx: { borderBottomLeftRadius: 4, borderBottomRightRadius: 4 },
|
|
9054
9069
|
children: [
|
|
9055
|
-
!e && /* @__PURE__ */ t(
|
|
9070
|
+
!e && /* @__PURE__ */ t(wA, { amount: A, component: "h2", variant: "H2" }),
|
|
9056
9071
|
/* @__PURE__ */ l(y, { alignItems: "center", component: "span", direction: "row", gap: 8, mt: 2, children: [
|
|
9057
9072
|
/* @__PURE__ */ t(p, { bold: n, variant: "Small", children: a }),
|
|
9058
9073
|
i
|
|
9059
9074
|
] }),
|
|
9060
|
-
e && /* @__PURE__ */ t(
|
|
9075
|
+
e && /* @__PURE__ */ t(wA, { amount: A, component: "h2", symbol: r, variant: "Small" })
|
|
9061
9076
|
]
|
|
9062
9077
|
}
|
|
9063
|
-
), cr = (A, e) => (n) => n.accountGuid && A.includes(n.accountGuid) && (Un(n.expectedDate) || tt(n.expectedDate, e.start)) &&
|
|
9078
|
+
), cr = (A, e) => (n) => n.accountGuid && A.includes(n.accountGuid) && (Un(n.expectedDate) || tt(n.expectedDate, e.start)) && bA(n.expectedDate, e.end), Fu = () => {
|
|
9064
9079
|
const [A, e] = g.useState(!1), { availableWidth: n } = it(), { cashflow: a } = I(), { upcomingExpenses: r, upcomingIncome: i } = HA(), { selectedAccountGuids: o } = fA(), { dateRange: s, selectedCashAccounts: c } = ot(), { userProfile: h } = nn(), d = g.useMemo(
|
|
9065
9080
|
() => r.filter(cr(o, s)),
|
|
9066
9081
|
[s, o, r]
|
|
@@ -9068,9 +9083,9 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9068
9083
|
() => i.filter(cr(o, s)),
|
|
9069
9084
|
[s, o, i]
|
|
9070
9085
|
), C = g.useMemo(
|
|
9071
|
-
() => c.reduce((L,
|
|
9086
|
+
() => c.reduce((L, w) => L + (w?.balance || 0), 0),
|
|
9072
9087
|
[c]
|
|
9073
|
-
), f = d.reduce((L,
|
|
9088
|
+
), f = d.reduce((L, w) => L + w.amount, 0), m = u.reduce((L, w) => L + w.amount, 0), v = C - f + m, E = i.length > 0 && h?.has_completed_cash_flow_onboarding, S = n < 725;
|
|
9074
9089
|
return /* @__PURE__ */ l(y, { flexDirection: "row", gap: 24, justifyContent: "center", my: S ? 24 : 42, children: [
|
|
9075
9090
|
S ? /* @__PURE__ */ l(y, { border: "1px solid", borderColor: "border.light", borderRadius: 1, mx: 16, width: "100%", children: [
|
|
9076
9091
|
/* @__PURE__ */ t(
|
|
@@ -9261,9 +9276,9 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9261
9276
|
transform: rotate(360deg);
|
|
9262
9277
|
}
|
|
9263
9278
|
`, $u = () => {
|
|
9264
|
-
const { addCashflowEvent: A, addCashflowSequence: e, cashflowSequences: n } = HA(), { cashflow: a, common: r } = I(), { completeOnboarding: i } = Aa(), { isDirty: o } = ot(), { isMobile: s } = RA(), { setDisplayedDate: c } = fA(), { filter: h, setFilter: d, transactions: u } = uA(), C = CA(), [f, m] = Ce(!0), [v, E] = g.useState(
|
|
9265
|
-
() => u.find((cA) => cA.guid ===
|
|
9266
|
-
[
|
|
9279
|
+
const { addCashflowEvent: A, addCashflowSequence: e, cashflowSequences: n } = HA(), { cashflow: a, common: r } = I(), { completeOnboarding: i } = Aa(), { isDirty: o } = ot(), { isMobile: s } = RA(), { setDisplayedDate: c } = fA(), { filter: h, setFilter: d, transactions: u } = uA(), C = CA(), [f, m] = Ce(!0), [v, E] = g.useState(X.EveryMonth), [S, L] = Ce(!1), [w, D] = g.useState(null), [P, _] = Ce(1), [x, N] = Ce([]), [G, q] = Ce(""), Q = g.useMemo(
|
|
9280
|
+
() => u.find((cA) => cA.guid === G),
|
|
9281
|
+
[G]
|
|
9267
9282
|
), j = !!n.length, U = async () => {
|
|
9268
9283
|
_(2), c(
|
|
9269
9284
|
// Beginning of the month, 90 days before today
|
|
@@ -9369,7 +9384,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9369
9384
|
bgcolor: "background.paper",
|
|
9370
9385
|
frequency: v,
|
|
9371
9386
|
isIncome: !0,
|
|
9372
|
-
nextDate:
|
|
9387
|
+
nextDate: w,
|
|
9373
9388
|
onFrequencyChange: E,
|
|
9374
9389
|
onNextDateChange: D,
|
|
9375
9390
|
transaction: Q
|
|
@@ -9379,10 +9394,10 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9379
9394
|
/* @__PURE__ */ t(
|
|
9380
9395
|
sA,
|
|
9381
9396
|
{
|
|
9382
|
-
"aria-disabled": !Q || !
|
|
9397
|
+
"aria-disabled": !Q || !w,
|
|
9383
9398
|
onClick: () => {
|
|
9384
9399
|
const cA = [...x];
|
|
9385
|
-
cA.push({ ...Q, nextDate:
|
|
9400
|
+
cA.push({ ...Q, nextDate: w, frequency: v }), N(cA), q("");
|
|
9386
9401
|
},
|
|
9387
9402
|
variant: "contained",
|
|
9388
9403
|
children: r.confirm_button
|
|
@@ -9531,7 +9546,7 @@ let th = class {
|
|
|
9531
9546
|
// if there is no income activity
|
|
9532
9547
|
get expensesTilNextIncome() {
|
|
9533
9548
|
return this.upcomingExpenses.filter(
|
|
9534
|
-
(e) =>
|
|
9549
|
+
(e) => bA(e.expectedDate, this.nextIncome?.expectedDate || NA(/* @__PURE__ */ new Date()))
|
|
9535
9550
|
);
|
|
9536
9551
|
}
|
|
9537
9552
|
setNextIncome = (e) => {
|
|
@@ -9778,7 +9793,7 @@ class hh {
|
|
|
9778
9793
|
return e === n;
|
|
9779
9794
|
}
|
|
9780
9795
|
}
|
|
9781
|
-
function
|
|
9796
|
+
function bn({ title: A, subtitle: e }) {
|
|
9782
9797
|
return /* @__PURE__ */ l(y, { children: [
|
|
9783
9798
|
/* @__PURE__ */ t(p, { bold: !0, variant: "Body", children: A }),
|
|
9784
9799
|
/* @__PURE__ */ t(p, { sx: { fontWeight: 400 }, variant: "Body", children: e })
|
|
@@ -9833,7 +9848,7 @@ const Ch = T(({ goal: A }) => {
|
|
|
9833
9848
|
] })
|
|
9834
9849
|
] }) })
|
|
9835
9850
|
] });
|
|
9836
|
-
}),
|
|
9851
|
+
}), wn = T(({ onManageClick: A, trackType: e }) => {
|
|
9837
9852
|
const { isMobile: n } = RA(), { goals: a } = I(), { goals: r } = ui(), i = r.filter((d) => d.track_type === e), o = i.filter((d) => !d.is_complete), s = i.filter((d) => d.is_complete);
|
|
9838
9853
|
let c = a.manage_saving_goals;
|
|
9839
9854
|
e === Ae.DEBT_TRACK ? c = a.manage_debt_goals : e === Ae.RETIREMENT_TRACK && (c = a.manage_retirement_goals);
|
|
@@ -9901,27 +9916,27 @@ const Ch = T(({ goal: A }) => {
|
|
|
9901
9916
|
/* @__PURE__ */ l(
|
|
9902
9917
|
Oe,
|
|
9903
9918
|
{
|
|
9904
|
-
onChange: (
|
|
9919
|
+
onChange: (w, D) => d(D),
|
|
9905
9920
|
sx: { bgcolor: "background.paper" },
|
|
9906
9921
|
value: h,
|
|
9907
9922
|
variant: "fullWidth",
|
|
9908
9923
|
children: [
|
|
9909
|
-
/* @__PURE__ */ t(BA, { label: /* @__PURE__ */ t(
|
|
9910
|
-
/* @__PURE__ */ t(BA, { label: /* @__PURE__ */ t(
|
|
9924
|
+
/* @__PURE__ */ t(BA, { label: /* @__PURE__ */ t(bn, { subtitle: m, title: s.tab_saving_title }) }),
|
|
9925
|
+
/* @__PURE__ */ t(BA, { label: /* @__PURE__ */ t(bn, { subtitle: v, title: s.tab_debt_title }) }),
|
|
9911
9926
|
/* @__PURE__ */ t(
|
|
9912
9927
|
BA,
|
|
9913
9928
|
{
|
|
9914
|
-
label: /* @__PURE__ */ t(
|
|
9929
|
+
label: /* @__PURE__ */ t(bn, { subtitle: E, title: s.tab_retirement_title })
|
|
9915
9930
|
}
|
|
9916
9931
|
)
|
|
9917
9932
|
]
|
|
9918
9933
|
}
|
|
9919
9934
|
),
|
|
9920
|
-
h === 0 && /* @__PURE__ */ t(
|
|
9935
|
+
h === 0 && /* @__PURE__ */ t(wn, { onManageClick: () => {
|
|
9921
9936
|
}, trackType: Ae.SAVINGS_TRACK }),
|
|
9922
|
-
h === 1 && /* @__PURE__ */ t(
|
|
9937
|
+
h === 1 && /* @__PURE__ */ t(wn, { onManageClick: () => {
|
|
9923
9938
|
}, trackType: Ae.DEBT_TRACK }),
|
|
9924
|
-
h === 2 && /* @__PURE__ */ t(
|
|
9939
|
+
h === 2 && /* @__PURE__ */ t(wn, { onManageClick: () => {
|
|
9925
9940
|
}, trackType: Ae.RETIREMENT_TRACK })
|
|
9926
9941
|
] })
|
|
9927
9942
|
]
|
|
@@ -10063,10 +10078,10 @@ class Eh {
|
|
|
10063
10078
|
const Bi = 13, yh = (A, e) => A.filter((n) => {
|
|
10064
10079
|
const { is_closed: a, is_deleted: r, is_hidden: i, is_manual: o } = n;
|
|
10065
10080
|
return a || r || i ? !1 : o || !n.guid ? !0 : e.some((s) => A.some((c) => s.guid === c.member_guid));
|
|
10066
|
-
}),
|
|
10081
|
+
}), bh = (A, e) => [...A, ...e], Cr = (A) => {
|
|
10067
10082
|
if (A && A.length > 0)
|
|
10068
10083
|
return A[A.length - 1];
|
|
10069
|
-
},
|
|
10084
|
+
}, wh = (A, e) => A.year_month - e.year_month, Sh = () => Array.from({ length: Bi }, (A, e) => Math.floor(yA(ce(/* @__PURE__ */ new Date(), e)).getTime() / 1e3)).sort(), Th = (A, e, n) => !A.length || !e.length ? [] : Sh().reduceRight((r, i) => {
|
|
10070
10085
|
const o = e.filter(
|
|
10071
10086
|
({ year_month: d }) => d === parseInt(FA(xA(i), "yyyyMM"))
|
|
10072
10087
|
), s = A.map((d) => {
|
|
@@ -10152,7 +10167,7 @@ class Dh {
|
|
|
10152
10167
|
try {
|
|
10153
10168
|
const n = this.globalStore.accountStore.members, a = yh(e, n), i = await (await Promise.all(
|
|
10154
10169
|
a.map((o) => this.globalStore.accountStore.api.getMonthlyAccountBalances(o.guid))
|
|
10155
|
-
)).reduce(
|
|
10170
|
+
)).reduce(bh, []).sort(wh);
|
|
10156
10171
|
J(() => {
|
|
10157
10172
|
this.netWorthData = {
|
|
10158
10173
|
accounts: a,
|
|
@@ -10265,7 +10280,7 @@ const Oh = ({
|
|
|
10265
10280
|
{
|
|
10266
10281
|
primary: /* @__PURE__ */ l(y, { direction: "row", justifyContent: "space-between", sx: { fontWeight: 400 }, children: [
|
|
10267
10282
|
/* @__PURE__ */ t(p, { variant: "Body", children: ai(A.x) }),
|
|
10268
|
-
/* @__PURE__ */ t(
|
|
10283
|
+
/* @__PURE__ */ t(wA, { amount: A.y, sx: { color: "inherit" }, variant: "Body" })
|
|
10269
10284
|
] })
|
|
10270
10285
|
}
|
|
10271
10286
|
)
|
|
@@ -10339,14 +10354,14 @@ const Oh = ({
|
|
|
10339
10354
|
}
|
|
10340
10355
|
}
|
|
10341
10356
|
),
|
|
10342
|
-
/* @__PURE__ */ t(
|
|
10357
|
+
/* @__PURE__ */ t(wA, { amount: a.change, color: o, variant: e }),
|
|
10343
10358
|
/* @__PURE__ */ t(p, { variant: "Small", children: A })
|
|
10344
10359
|
] });
|
|
10345
10360
|
}, ga = T(Rh), Hh = ({ hoveredData: A, selectedData: e }) => {
|
|
10346
10361
|
const { net_worth: n } = I(), a = ae(), r = A || e, i = es(Kt(r.x), "MMMM");
|
|
10347
10362
|
return /* @__PURE__ */ l(y, { alignItems: "center", direction: "column", m: 24, children: [
|
|
10348
10363
|
/* @__PURE__ */ t(p, { color: a.palette.secondary.main, variant: "Small", children: `${i} ${n.net_worth}` }),
|
|
10349
|
-
/* @__PURE__ */ t(
|
|
10364
|
+
/* @__PURE__ */ t(wA, { amount: r.y, variant: "H2" }),
|
|
10350
10365
|
/* @__PURE__ */ t(ga, { currencyLabel: n.this_month, netWorth: r, theme: a })
|
|
10351
10366
|
] });
|
|
10352
10367
|
}, zh = T(Hh), Bh = ({ accounts: A, name: e, icon: n }) => {
|
|
@@ -10369,7 +10384,7 @@ const Oh = ({
|
|
|
10369
10384
|
{
|
|
10370
10385
|
primary: /* @__PURE__ */ l(y, { direction: "row", justifyContent: "space-between", sx: { fontWeight: 400 }, children: [
|
|
10371
10386
|
/* @__PURE__ */ t(p, { variant: "Body", children: i.accountName }),
|
|
10372
|
-
/* @__PURE__ */ t(
|
|
10387
|
+
/* @__PURE__ */ t(wA, { amount: i.balance, variant: "Small" })
|
|
10373
10388
|
] }),
|
|
10374
10389
|
sx: { pl: 72, pr: 16 }
|
|
10375
10390
|
}
|
|
@@ -10399,7 +10414,7 @@ const Oh = ({
|
|
|
10399
10414
|
},
|
|
10400
10415
|
children: [
|
|
10401
10416
|
/* @__PURE__ */ t(p, { variant: "Body", children: i.current_net_worth }),
|
|
10402
|
-
/* @__PURE__ */ t(
|
|
10417
|
+
/* @__PURE__ */ t(wA, { amount: A?.y ?? 0, variant: "H1" }),
|
|
10403
10418
|
A && /* @__PURE__ */ t(
|
|
10404
10419
|
ga,
|
|
10405
10420
|
{
|
|
@@ -10418,7 +10433,7 @@ const Oh = ({
|
|
|
10418
10433
|
{
|
|
10419
10434
|
primary: /* @__PURE__ */ l(y, { direction: "row", justifyContent: "space-between", children: [
|
|
10420
10435
|
/* @__PURE__ */ t(p, { sx: { fontWeight: 700 }, variant: "XSmall", children: i.assets }),
|
|
10421
|
-
/* @__PURE__ */ t(
|
|
10436
|
+
/* @__PURE__ */ t(wA, { amount: a, sx: { fontWeight: 400 }, variant: "XSmall" })
|
|
10422
10437
|
] })
|
|
10423
10438
|
}
|
|
10424
10439
|
) }),
|
|
@@ -10428,7 +10443,7 @@ const Oh = ({
|
|
|
10428
10443
|
{
|
|
10429
10444
|
primary: /* @__PURE__ */ l(y, { direction: "row", justifyContent: "space-between", children: [
|
|
10430
10445
|
/* @__PURE__ */ t(p, { sx: { fontWeight: 700 }, variant: "XSmall", children: i.liabilities }),
|
|
10431
|
-
/* @__PURE__ */ t(
|
|
10446
|
+
/* @__PURE__ */ t(wA, { amount: r, sx: { fontWeight: 400 }, variant: "XSmall" })
|
|
10432
10447
|
] })
|
|
10433
10448
|
}
|
|
10434
10449
|
) }),
|
|
@@ -10455,7 +10470,7 @@ const Oh = ({
|
|
|
10455
10470
|
{
|
|
10456
10471
|
primary: /* @__PURE__ */ l(y, { direction: "row", justifyContent: "space-between", children: [
|
|
10457
10472
|
/* @__PURE__ */ t(p, { sx: { fontWeight: 700 }, variant: "XSmall", children: i.gains }),
|
|
10458
|
-
/* @__PURE__ */ t(
|
|
10473
|
+
/* @__PURE__ */ t(wA, { amount: a, sx: { fontWeight: 400 }, variant: "XSmall" })
|
|
10459
10474
|
] })
|
|
10460
10475
|
}
|
|
10461
10476
|
) }),
|
|
@@ -10466,7 +10481,7 @@ const Oh = ({
|
|
|
10466
10481
|
primary: /* @__PURE__ */ l(y, { direction: "row", justifyContent: "space-between", sx: { fontWeight: 400 }, children: [
|
|
10467
10482
|
/* @__PURE__ */ t(p, { variant: "Body", children: s.accountName }),
|
|
10468
10483
|
/* @__PURE__ */ t(
|
|
10469
|
-
|
|
10484
|
+
wA,
|
|
10470
10485
|
{
|
|
10471
10486
|
amount: s.gain,
|
|
10472
10487
|
sx: { color: o.palette.success.main, fontWeight: 700 },
|
|
@@ -10484,7 +10499,7 @@ const Oh = ({
|
|
|
10484
10499
|
{
|
|
10485
10500
|
primary: /* @__PURE__ */ l(y, { direction: "row", justifyContent: "space-between", children: [
|
|
10486
10501
|
/* @__PURE__ */ t(p, { sx: { fontWeight: 700 }, variant: "XSmall", children: i.losses }),
|
|
10487
|
-
/* @__PURE__ */ t(
|
|
10502
|
+
/* @__PURE__ */ t(wA, { amount: r, sx: { fontWeight: 400 }, variant: "XSmall" })
|
|
10488
10503
|
] })
|
|
10489
10504
|
}
|
|
10490
10505
|
) }),
|
|
@@ -10498,7 +10513,7 @@ const Oh = ({
|
|
|
10498
10513
|
{
|
|
10499
10514
|
primary: /* @__PURE__ */ l(y, { direction: "row", justifyContent: "space-between", sx: { fontWeight: 400 }, children: [
|
|
10500
10515
|
/* @__PURE__ */ t(p, { variant: "Body", children: s.accountName }),
|
|
10501
|
-
/* @__PURE__ */ t(
|
|
10516
|
+
/* @__PURE__ */ t(wA, { amount: s.loss, sx: { fontWeight: 700 }, variant: "Body" })
|
|
10502
10517
|
] }),
|
|
10503
10518
|
sx: { px: 16 }
|
|
10504
10519
|
}
|
|
@@ -10521,16 +10536,16 @@ const Oh = ({
|
|
|
10521
10536
|
selectedData: C,
|
|
10522
10537
|
setHoveredData: f,
|
|
10523
10538
|
setSelectedData: m
|
|
10524
|
-
} = zc(), { isMobile: v } = RA(), { onEvent: E } = V(), [S, L] = g.useState(!1), [
|
|
10525
|
-
await d(n), await h(
|
|
10539
|
+
} = zc(), { isMobile: v } = RA(), { onEvent: E } = V(), [S, L] = g.useState(!1), [w, D] = g.useState(6), [P, _] = g.useState(!1), [x, N] = g.useState(!1), G = async () => {
|
|
10540
|
+
await d(n), await h(w), L(!0);
|
|
10526
10541
|
};
|
|
10527
10542
|
g.useEffect(() => {
|
|
10528
10543
|
E(F.NET_WORTH_VIEW), a(i);
|
|
10529
10544
|
}, []), g.useEffect(() => {
|
|
10530
|
-
e &&
|
|
10545
|
+
e && G();
|
|
10531
10546
|
}, [e, n]), g.useEffect(() => {
|
|
10532
|
-
E(F.NET_WORTH_WIDGET_CLICK_TIMEFRAME, { time_period:
|
|
10533
|
-
}, [
|
|
10547
|
+
E(F.NET_WORTH_WIDGET_CLICK_TIMEFRAME, { time_period: w + "M" }), h(w);
|
|
10548
|
+
}, [w]);
|
|
10534
10549
|
const q = (cA, vA) => {
|
|
10535
10550
|
m(vA), cA.currentTarget instanceof HTMLDivElement && _(!0);
|
|
10536
10551
|
}, Q = (cA) => {
|
|
@@ -10788,7 +10803,7 @@ class Z7 {
|
|
|
10788
10803
|
globalUiStore;
|
|
10789
10804
|
isInitialized = !1;
|
|
10790
10805
|
constructor() {
|
|
10791
|
-
this.accountStore = new k1(this), this.beatStore = new Al(), this.budgetsStore = new al(this), this.cashflowStore = new nh(this), this.categoryStore = new cd(this), this.connectStore = new ah(this), this.goalStore = new fh(this), this.debtsStore = new uh(this), this.copyStore = new $c(), this.merchantStore = new Eh(), this.netWorthStore = new Dh(this), this.notificationStore = new Fh(), this.recurringActivityStore = new Lu(this), this.transactionStore = new
|
|
10806
|
+
this.accountStore = new k1(this), this.beatStore = new Al(), this.budgetsStore = new al(this), this.cashflowStore = new nh(this), this.categoryStore = new cd(this), this.connectStore = new ah(this), this.goalStore = new fh(this), this.debtsStore = new uh(this), this.copyStore = new $c(), this.merchantStore = new Eh(), this.netWorthStore = new Dh(this), this.notificationStore = new Fh(), this.recurringActivityStore = new Lu(this), this.transactionStore = new bl(this), this.userStore = new Jh(), this.globalUiStore = new hh(this), SA(this);
|
|
10792
10807
|
}
|
|
10793
10808
|
initialize = async (e, n) => {
|
|
10794
10809
|
await this.copyStore.initialize(e, n), Promise.all([
|
|
@@ -11082,7 +11097,7 @@ const Sn = ({
|
|
|
11082
11097
|
const a = () => {
|
|
11083
11098
|
const r = A.successfully_aggregated_at ? xA(A.successfully_aggregated_at) : void 0, i = r && $(r, Z.TIME_STAMP_HOUR_MINUTE);
|
|
11084
11099
|
if (i)
|
|
11085
|
-
return Un(r) ? R(e.last_updated_at, e.today, i) :
|
|
11100
|
+
return Un(r) ? R(e.last_updated_at, e.today, i) : ws(r) ? R(e.last_updated_at, e.yesterday, i) : R(
|
|
11086
11101
|
e.last_updated_at,
|
|
11087
11102
|
$(r, Z.MONTH_DAY_YEAR),
|
|
11088
11103
|
i
|
|
@@ -11143,16 +11158,16 @@ const Sn = ({
|
|
|
11143
11158
|
He,
|
|
11144
11159
|
{
|
|
11145
11160
|
backingSx: {
|
|
11146
|
-
backgroundColor: n ===
|
|
11161
|
+
backgroundColor: n === ba.LIGHT ? "grey.300" : "grey.700",
|
|
11147
11162
|
borderRadius: 1
|
|
11148
11163
|
},
|
|
11149
11164
|
size: 32,
|
|
11150
11165
|
children: /* @__PURE__ */ t(
|
|
11151
|
-
|
|
11166
|
+
bs,
|
|
11152
11167
|
{
|
|
11153
11168
|
sx: {
|
|
11154
11169
|
...Tn,
|
|
11155
|
-
color: n ===
|
|
11170
|
+
color: n === ba.LIGHT ? "grey.900" : "common.white"
|
|
11156
11171
|
}
|
|
11157
11172
|
}
|
|
11158
11173
|
)
|
|
@@ -11419,11 +11434,11 @@ const Sn = ({
|
|
|
11419
11434
|
/* @__PURE__ */ t(Qt, { index: 0, name: "transaction-details", value: A, children: /* @__PURE__ */ t(u1, {}) }),
|
|
11420
11435
|
/* @__PURE__ */ t(Qt, { index: 1, name: "account-details", value: A, children: /* @__PURE__ */ t(s1, {}) })
|
|
11421
11436
|
] });
|
|
11422
|
-
}, g1 = T(h1), un = (A) => A.top_level_category_guid ===
|
|
11437
|
+
}, g1 = T(h1), un = (A) => A.top_level_category_guid === b.INCOME || A.category_guid === b.INCOME, C1 = (A) => !un(A) && !ki(A), qi = (A) => xa.includes(A.top_level_category_guid) || xa.includes(A.category_guid), ki = (A) => A.top_level_category_guid === b.TRANSFER || A.category_guid === b.TRANSFER, f1 = (A) => !un(A) && !qi(A) && !ki(A), m1 = (A) => A.filter((e) => e.category_guid === e.top_level_category_guid), Ca = (A, e) => {
|
|
11423
11438
|
const n = [];
|
|
11424
11439
|
let a = yA(ce(/* @__PURE__ */ new Date(), 5));
|
|
11425
11440
|
const r = /* @__PURE__ */ new Date();
|
|
11426
|
-
for (;
|
|
11441
|
+
for (; bA(a, r); )
|
|
11427
11442
|
n.push({
|
|
11428
11443
|
x: $(a, Z.MONTH_SHORT),
|
|
11429
11444
|
y: A.filter((i) => i.year === a.getFullYear() && i.month === a.getMonth() + 1).reduce((i, o) => i + o.total, 0)
|
|
@@ -11441,7 +11456,7 @@ const Sn = ({
|
|
|
11441
11456
|
}, y1 = (A, e) => {
|
|
11442
11457
|
const n = Yn.includes(e) ? p1(A) : [], a = Vn.includes(e) ? v1(A) : [], r = Jn.includes(e) ? E1(A) : [];
|
|
11443
11458
|
return [n, a, r].filter((i) => i.length > 0);
|
|
11444
|
-
},
|
|
11459
|
+
}, b1 = (A, e, n) => {
|
|
11445
11460
|
const [a, r] = A, i = a, o = r ?? a, s = [];
|
|
11446
11461
|
if (i && o && Yn.includes(e)) {
|
|
11447
11462
|
const c = z(i[i.length - 1].y, "0,0");
|
|
@@ -11455,8 +11470,8 @@ const Sn = ({
|
|
|
11455
11470
|
s.push(`${n.spending_label} ${c}`);
|
|
11456
11471
|
}
|
|
11457
11472
|
return s;
|
|
11458
|
-
},
|
|
11459
|
-
const A = ae(), { selectedAccount: e } = he(), { monthlyCategoryTotals: n } = PA(), { trends: a } = I(), r = [A.palette.chart?.chart1, A.palette.chart?.chart2], i = y1(n, e.account_type), o =
|
|
11473
|
+
}, w1 = () => {
|
|
11474
|
+
const A = ae(), { selectedAccount: e } = he(), { monthlyCategoryTotals: n } = PA(), { trends: a } = I(), r = [A.palette.chart?.chart1, A.palette.chart?.chart2], i = y1(n, e.account_type), o = b1(i, e.account_type, a), s = [W.LOAN, W.MORTGAGE].includes(e.account_type);
|
|
11460
11475
|
return /* @__PURE__ */ t("div", { "data-testid": "TrendsChart", children: /* @__PURE__ */ t(
|
|
11461
11476
|
$n,
|
|
11462
11477
|
{
|
|
@@ -11468,7 +11483,7 @@ const Sn = ({
|
|
|
11468
11483
|
showBars: s
|
|
11469
11484
|
}
|
|
11470
11485
|
) });
|
|
11471
|
-
}, S1 = T(
|
|
11486
|
+
}, S1 = T(w1), T1 = ({ sx: A }) => {
|
|
11472
11487
|
const { loadMonthlyCategoryTotals: e } = PA(), { isInitialized: n } = ea(), { selectedAccount: a } = he(), [r, i] = g.useState(!1);
|
|
11473
11488
|
return g.useEffect(() => {
|
|
11474
11489
|
n && e([a]).finally(() => {
|
|
@@ -12631,8 +12646,8 @@ const $1 = ({
|
|
|
12631
12646
|
] });
|
|
12632
12647
|
}), rg = T(() => {
|
|
12633
12648
|
const A = CA(), { onEvent: e } = V(), { accounts: n } = TA(), { budgets: a, common: r, recurring: i } = I(), { incomeCategories: o, spendCategories: s } = PA(), { detailedBudgets: c, totalBudgeted: h } = kA(), { projectedIncome: d } = HA(), { setFilter: u } = uA(), [C, f] = g.useState(!1), [m, v] = g.useMemo(() => {
|
|
12634
|
-
const
|
|
12635
|
-
let D =
|
|
12649
|
+
const w = s.reduce((x, N) => x + N.totalAmount, 0);
|
|
12650
|
+
let D = w / h;
|
|
12636
12651
|
D > 1 && (D = 1);
|
|
12637
12652
|
let P = A.palette.success.main;
|
|
12638
12653
|
D > 0.8 && D < 1 ? P = A.palette.warning.main : D >= 1 && (P = A.palette.error.main);
|
|
@@ -12642,12 +12657,12 @@ const $1 = ({
|
|
|
12642
12657
|
percentage: `${D}`
|
|
12643
12658
|
}
|
|
12644
12659
|
];
|
|
12645
|
-
return [
|
|
12660
|
+
return [w, _];
|
|
12646
12661
|
}, [c, s]), [E, S] = g.useMemo(() => {
|
|
12647
|
-
const
|
|
12662
|
+
const w = Math.abs(
|
|
12648
12663
|
o.reduce((_, x) => _ + x.totalAmount, 0)
|
|
12649
12664
|
);
|
|
12650
|
-
let D =
|
|
12665
|
+
let D = w / d;
|
|
12651
12666
|
D > 1 && (D = 1);
|
|
12652
12667
|
const P = [
|
|
12653
12668
|
{
|
|
@@ -12655,10 +12670,10 @@ const $1 = ({
|
|
|
12655
12670
|
percentage: `${D}`
|
|
12656
12671
|
}
|
|
12657
12672
|
];
|
|
12658
|
-
return [
|
|
12673
|
+
return [w, P];
|
|
12659
12674
|
}, [o, d]), L = () => {
|
|
12660
12675
|
u({
|
|
12661
|
-
accounts: n.map((
|
|
12676
|
+
accounts: n.map((w) => w.guid),
|
|
12662
12677
|
dateRange: {
|
|
12663
12678
|
start: de(/* @__PURE__ */ new Date(), 90),
|
|
12664
12679
|
end: /* @__PURE__ */ new Date()
|
|
@@ -12892,7 +12907,7 @@ const $1 = ({
|
|
|
12892
12907
|
const { budgets: n, common: a } = I(), { setExpandedGuid: r, setOnSelect: i } = ke(), { addBudget: o } = kA(), [s, c] = g.useState(!1), [h, d] = g.useState(!1), [u, C] = g.useState(""), [f, m] = g.useState(void 0);
|
|
12893
12908
|
g.useEffect(() => {
|
|
12894
12909
|
i((S) => {
|
|
12895
|
-
const L = A.subCategories.find((
|
|
12910
|
+
const L = A.subCategories.find((w) => w.guid === S);
|
|
12896
12911
|
L && (m(L), C(`${L.currentAmount === 0 ? "" : L.currentAmount}`), d(!0));
|
|
12897
12912
|
});
|
|
12898
12913
|
}, []);
|
|
@@ -12954,8 +12969,8 @@ const $1 = ({
|
|
|
12954
12969
|
amount: Number(v)
|
|
12955
12970
|
});
|
|
12956
12971
|
}, L = async () => {
|
|
12957
|
-
o && await i(o.guid), m(!1),
|
|
12958
|
-
},
|
|
12972
|
+
o && await i(o.guid), m(!1), w();
|
|
12973
|
+
}, w = () => {
|
|
12959
12974
|
d({
|
|
12960
12975
|
...h,
|
|
12961
12976
|
custom: (D) => D.category_guid === A.category_guid || D.top_level_category_guid === A.category_guid
|
|
@@ -12974,7 +12989,7 @@ const $1 = ({
|
|
|
12974
12989
|
{
|
|
12975
12990
|
ariaLabelClose: r.close_aria,
|
|
12976
12991
|
isOpen: !!o,
|
|
12977
|
-
onClose:
|
|
12992
|
+
onClose: w,
|
|
12978
12993
|
onPrimaryAction: () => C(!0),
|
|
12979
12994
|
onSecondaryAction: () => m(!0),
|
|
12980
12995
|
primaryText: a.details_edit_button,
|
|
@@ -13088,7 +13103,7 @@ const $1 = ({
|
|
|
13088
13103
|
custom: (_) => _.category_guid === i.category_guid || _.top_level_category_guid === i.category_guid
|
|
13089
13104
|
}));
|
|
13090
13105
|
}, [i]);
|
|
13091
|
-
const
|
|
13106
|
+
const w = async () => {
|
|
13092
13107
|
i && (await h({
|
|
13093
13108
|
...i,
|
|
13094
13109
|
amount: Number(S),
|
|
@@ -13125,7 +13140,7 @@ const $1 = ({
|
|
|
13125
13140
|
disablePrimaryButton: Number(S) <= 0,
|
|
13126
13141
|
isOpen: f,
|
|
13127
13142
|
onClose: () => m(!1),
|
|
13128
|
-
onPrimaryAction:
|
|
13143
|
+
onPrimaryAction: w,
|
|
13129
13144
|
primaryText: e.edit_save_button,
|
|
13130
13145
|
children: /* @__PURE__ */ t(
|
|
13131
13146
|
hn,
|
|
@@ -13151,14 +13166,14 @@ const $1 = ({
|
|
|
13151
13166
|
}
|
|
13152
13167
|
)
|
|
13153
13168
|
] });
|
|
13154
|
-
}),
|
|
13155
|
-
const n = CA(), { onEvent: a } = V(), { accounts: r } = TA(), { budgets: i, common: o } = I(), { isInitialized: s, selectedAccounts: c, setDisplayedDate: h, setSelectedAccounts: d } = fA(), { alert: u, dateRange: C, loadBudgets: f, setDateRange: m, setAlert: v, setTheme: E } = kA(), { loadCashflowSequences: S } = HA(), { isDesktop: L, isTablet:
|
|
13169
|
+
}), br = 480, nf = T(({ onBackClick: A, sx: e }) => {
|
|
13170
|
+
const n = CA(), { onEvent: a } = V(), { accounts: r } = TA(), { budgets: i, common: o } = I(), { isInitialized: s, selectedAccounts: c, setDisplayedDate: h, setSelectedAccounts: d } = fA(), { alert: u, dateRange: C, loadBudgets: f, setDateRange: m, setAlert: v, setTheme: E } = kA(), { loadCashflowSequences: S } = HA(), { isDesktop: L, isTablet: w } = RA(), { reloadCategoryTotals: D } = PA(), [P, _] = g.useState(!1), [x, N] = g.useState(!1);
|
|
13156
13171
|
g.useEffect(() => {
|
|
13157
13172
|
E(n), d(r), h(C.start, C.end), a(F.BUDGETS_VIEW);
|
|
13158
13173
|
}, []), g.useEffect(() => {
|
|
13159
13174
|
s && (D(c, C.start, C.end).finally(), P || (S().finally(), f().finally(() => _(!0))));
|
|
13160
13175
|
}, [s, c, C]);
|
|
13161
|
-
const
|
|
13176
|
+
const G = (aA) => {
|
|
13162
13177
|
m({ start: aA[0] || /* @__PURE__ */ new Date(), end: aA[1] || /* @__PURE__ */ new Date() });
|
|
13163
13178
|
}, q = () => {
|
|
13164
13179
|
a(F.BUDGETS_CLICK_FILTER);
|
|
@@ -13178,21 +13193,21 @@ const $1 = ({
|
|
|
13178
13193
|
onClick: Q
|
|
13179
13194
|
}
|
|
13180
13195
|
],
|
|
13181
|
-
calendarActions: { onRangeChanged:
|
|
13196
|
+
calendarActions: { onRangeChanged: G, shouldDisableNext: U },
|
|
13182
13197
|
onAccountsFilterClick: q,
|
|
13183
13198
|
onBackClick: A,
|
|
13184
13199
|
sx: e,
|
|
13185
13200
|
title: i.budgets_title,
|
|
13186
13201
|
children: [
|
|
13187
13202
|
(!s || !P) && /* @__PURE__ */ t(jA, {}),
|
|
13188
|
-
s && P && /* @__PURE__ */ l(y, { direction: L ||
|
|
13189
|
-
/* @__PURE__ */ t(y, { height: L ||
|
|
13203
|
+
s && P && /* @__PURE__ */ l(y, { direction: L || w ? "row" : "column", height: "100%", width: "100%", children: [
|
|
13204
|
+
/* @__PURE__ */ t(y, { height: L || w ? "calc(100dvh - 150px)" : 450, children: /* @__PURE__ */ t(
|
|
13190
13205
|
Gi,
|
|
13191
13206
|
{
|
|
13192
|
-
height: L ||
|
|
13207
|
+
height: L || w ? 800 : 450,
|
|
13193
13208
|
isDraggable: !0,
|
|
13194
13209
|
shouldShowZeroState: !1,
|
|
13195
|
-
unavailableWidth: L ||
|
|
13210
|
+
unavailableWidth: L || w ? br : 0
|
|
13196
13211
|
}
|
|
13197
13212
|
) }),
|
|
13198
13213
|
/* @__PURE__ */ l(
|
|
@@ -13201,7 +13216,7 @@ const $1 = ({
|
|
|
13201
13216
|
gap: 24,
|
|
13202
13217
|
height: "100%",
|
|
13203
13218
|
sx: { mr: 24 },
|
|
13204
|
-
width: L ||
|
|
13219
|
+
width: L || w ? br : "100%",
|
|
13205
13220
|
children: [
|
|
13206
13221
|
/* @__PURE__ */ t(rg, {}),
|
|
13207
13222
|
/* @__PURE__ */ t(ag, {})
|
|
@@ -13293,16 +13308,16 @@ const mg = () => {
|
|
|
13293
13308
|
/* @__PURE__ */ t(Ie, { xs: 12, children: r.isInitialized && /* @__PURE__ */ t(pg, {}) }),
|
|
13294
13309
|
/* @__PURE__ */ l(Ie, { xl: 8, xs: 12, children: [
|
|
13295
13310
|
e && /* @__PURE__ */ l(y, { direction: "column", spacing: 24, children: [
|
|
13296
|
-
/* @__PURE__ */ t(
|
|
13297
|
-
/* @__PURE__ */ t(
|
|
13298
|
-
/* @__PURE__ */ t(
|
|
13311
|
+
/* @__PURE__ */ t(we, { height: 100, variant: "rounded", width: "100%" }),
|
|
13312
|
+
/* @__PURE__ */ t(we, { height: 300, variant: "rounded", width: "100%" }),
|
|
13313
|
+
/* @__PURE__ */ t(we, { height: 300, variant: "rounded", width: "100%" })
|
|
13299
13314
|
] }),
|
|
13300
13315
|
!e && /* @__PURE__ */ t(y, { direction: "column", spacing: 24, children: n ? c.map((d) => /* @__PURE__ */ t(g.Fragment, { children: d.component }, d.index)) : s.map((d) => /* @__PURE__ */ t(g.Fragment, { children: d.component }, d.index)) })
|
|
13301
13316
|
] }),
|
|
13302
13317
|
n && /* @__PURE__ */ t(Ie, { xl: 4, children: e ? /* @__PURE__ */ l(y, { direction: "column", spacing: 24, children: [
|
|
13303
|
-
/* @__PURE__ */ t(
|
|
13304
|
-
/* @__PURE__ */ t(
|
|
13305
|
-
/* @__PURE__ */ t(
|
|
13318
|
+
/* @__PURE__ */ t(we, { height: 200, variant: "rounded", width: "100%" }),
|
|
13319
|
+
/* @__PURE__ */ t(we, { height: 100, variant: "rounded", width: "100%" }),
|
|
13320
|
+
/* @__PURE__ */ t(we, { height: 300, variant: "rounded", width: "100%" })
|
|
13306
13321
|
] }) : /* @__PURE__ */ t(y, { direction: "column", spacing: 24, children: h.map((d) => /* @__PURE__ */ t(g.Fragment, { children: d.component }, d.index)) }) })
|
|
13307
13322
|
] });
|
|
13308
13323
|
}, af = T(vg), fa = ({
|
|
@@ -13493,7 +13508,7 @@ const mg = () => {
|
|
|
13493
13508
|
throw new Error("useToast must be used within a ToastProvider");
|
|
13494
13509
|
return A;
|
|
13495
13510
|
};
|
|
13496
|
-
function
|
|
13511
|
+
function bg(A) {
|
|
13497
13512
|
return /* @__PURE__ */ t(_s, { ...A });
|
|
13498
13513
|
}
|
|
13499
13514
|
const Ui = ({
|
|
@@ -13507,7 +13522,7 @@ const Ui = ({
|
|
|
13507
13522
|
}) => /* @__PURE__ */ t(
|
|
13508
13523
|
Qr,
|
|
13509
13524
|
{
|
|
13510
|
-
TransitionComponent:
|
|
13525
|
+
TransitionComponent: bg,
|
|
13511
13526
|
autoHideDuration: a,
|
|
13512
13527
|
onClose: e,
|
|
13513
13528
|
open: A,
|
|
@@ -13536,7 +13551,7 @@ const Ui = ({
|
|
|
13536
13551
|
}
|
|
13537
13552
|
)
|
|
13538
13553
|
}
|
|
13539
|
-
), bg = "data:image/png;base64,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", Sg = ({ content: A = {} }) => {
|
|
13554
|
+
), wg = "data:image/png;base64,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", Sg = ({ content: A = {} }) => {
|
|
13540
13555
|
const e = CA();
|
|
13541
13556
|
return /* @__PURE__ */ l(O, { px: 24, py: 32, children: [
|
|
13542
13557
|
/* @__PURE__ */ t(
|
|
@@ -13565,7 +13580,7 @@ const Ui = ({
|
|
|
13565
13580
|
O,
|
|
13566
13581
|
{
|
|
13567
13582
|
sx: {
|
|
13568
|
-
backgroundImage: `url(${
|
|
13583
|
+
backgroundImage: `url(${wg})`,
|
|
13569
13584
|
backgroundRepeat: "no-repeat",
|
|
13570
13585
|
backgroundSize: "100% 100%",
|
|
13571
13586
|
height: "105px",
|
|
@@ -13588,14 +13603,14 @@ const Ui = ({
|
|
|
13588
13603
|
translatedSubCatetgory: o = ""
|
|
13589
13604
|
}) => {
|
|
13590
13605
|
const s = CA(), c = g.useMemo(
|
|
13591
|
-
() => e.reduce((
|
|
13606
|
+
() => e.reduce((w, D) => ({ ...w, [D.name]: !1 }), {}),
|
|
13592
13607
|
[e]
|
|
13593
13608
|
), [h, d] = g.useState(c), { toastState: u, hideToast: C } = ji(), f = ii(r);
|
|
13594
13609
|
me(() => {
|
|
13595
13610
|
f && !r && d(c);
|
|
13596
13611
|
}, [f, r, c, d]);
|
|
13597
|
-
const m = (
|
|
13598
|
-
const { name: D, checked: P } =
|
|
13612
|
+
const m = (w) => {
|
|
13613
|
+
const { name: D, checked: P } = w.target;
|
|
13599
13614
|
d((_) => ({
|
|
13600
13615
|
..._,
|
|
13601
13616
|
[D]: P
|
|
@@ -13603,19 +13618,19 @@ const Ui = ({
|
|
|
13603
13618
|
}, v = Object.values(h).filter(Boolean).length, E = () => {
|
|
13604
13619
|
d(c), i();
|
|
13605
13620
|
}, S = () => {
|
|
13606
|
-
const
|
|
13621
|
+
const w = e.reduce(
|
|
13607
13622
|
(D, P) => ({
|
|
13608
13623
|
...D,
|
|
13609
13624
|
[P.name]: v !== e.length
|
|
13610
13625
|
}),
|
|
13611
13626
|
{}
|
|
13612
13627
|
);
|
|
13613
|
-
d(
|
|
13628
|
+
d(w);
|
|
13614
13629
|
}, L = () => {
|
|
13615
|
-
const
|
|
13630
|
+
const w = v === e.length;
|
|
13616
13631
|
n(
|
|
13617
13632
|
Object.keys(h).filter((D) => h[D]),
|
|
13618
|
-
|
|
13633
|
+
w
|
|
13619
13634
|
);
|
|
13620
13635
|
};
|
|
13621
13636
|
return /* @__PURE__ */ l(
|
|
@@ -13683,32 +13698,32 @@ const Ui = ({
|
|
|
13683
13698
|
}
|
|
13684
13699
|
) }),
|
|
13685
13700
|
sx: { height: "100%" },
|
|
13686
|
-
children: e.sort((
|
|
13701
|
+
children: e.sort((w, D) => w.name < D.name ? -1 : 1).map((w, D) => /* @__PURE__ */ l(O, { children: [
|
|
13687
13702
|
/* @__PURE__ */ t(Y, { disablePadding: !0, children: /* @__PURE__ */ l(
|
|
13688
13703
|
dA,
|
|
13689
13704
|
{
|
|
13690
13705
|
onClick: () => d((P) => ({
|
|
13691
13706
|
...P,
|
|
13692
|
-
[
|
|
13707
|
+
[w.name]: !P[w.name]
|
|
13693
13708
|
})),
|
|
13694
13709
|
children: [
|
|
13695
13710
|
/* @__PURE__ */ t(
|
|
13696
13711
|
tA,
|
|
13697
13712
|
{
|
|
13698
|
-
primary:
|
|
13699
|
-
secondary: /* @__PURE__ */ t(g.Fragment, { children:
|
|
13713
|
+
primary: w.title,
|
|
13714
|
+
secondary: /* @__PURE__ */ t(g.Fragment, { children: w.description })
|
|
13700
13715
|
}
|
|
13701
13716
|
),
|
|
13702
13717
|
/* @__PURE__ */ t(
|
|
13703
13718
|
zt,
|
|
13704
13719
|
{
|
|
13705
|
-
checked: h[
|
|
13720
|
+
checked: h[w.name] ? h[w.name] : !1,
|
|
13706
13721
|
edge: "end",
|
|
13707
13722
|
inputProps: {
|
|
13708
|
-
"aria-label": h[
|
|
13723
|
+
"aria-label": h[w.name] ? `${A.unselect_insight.split(" ")[0]} ${w.name} ${A.unselect_insight.split(" ")[1]}` : `${A.select_insight.split(" ")[0]} ${w.name} ${A.select_insight.split(" ")[1]}`,
|
|
13709
13724
|
role: "checkbox"
|
|
13710
13725
|
},
|
|
13711
|
-
name:
|
|
13726
|
+
name: w.name,
|
|
13712
13727
|
onChange: m,
|
|
13713
13728
|
size: "small"
|
|
13714
13729
|
}
|
|
@@ -13838,7 +13853,7 @@ const Ui = ({
|
|
|
13838
13853
|
update: a,
|
|
13839
13854
|
isUpdateError: r,
|
|
13840
13855
|
isUpdateLoading: i
|
|
13841
|
-
} = e, [o, s, c] = Dg(n), { toastState: h, showToast: d, hideToast: u, setMessage: C } = ji(), [f, m] = g.useState(!1), [v, E] = g.useState(!1), [S, L] = g.useState(""), [
|
|
13856
|
+
} = e, [o, s, c] = Dg(n), { toastState: h, showToast: d, hideToast: u, setMessage: C } = ji(), [f, m] = g.useState(!1), [v, E] = g.useState(!1), [S, L] = g.useState(""), [w, D] = g.useState(""), P = ii(i);
|
|
13842
13857
|
me(() => {
|
|
13843
13858
|
P && !i && (r ? d(A.something_went_wrong, "error") : d(void 0, "success"));
|
|
13844
13859
|
}, [P, r]);
|
|
@@ -13850,7 +13865,7 @@ const Ui = ({
|
|
|
13850
13865
|
E(!0), L(q), D(Q);
|
|
13851
13866
|
}, N = () => {
|
|
13852
13867
|
E(!1), D(""), L("");
|
|
13853
|
-
},
|
|
13868
|
+
}, G = (q, Q) => {
|
|
13854
13869
|
a(q), Q && E(!1), C(q.length > 1 ? A.insights_unhidden : A.insight_unhidden);
|
|
13855
13870
|
};
|
|
13856
13871
|
return /* @__PURE__ */ l(eA, { children: [
|
|
@@ -13953,12 +13968,12 @@ const Ui = ({
|
|
|
13953
13968
|
Tg,
|
|
13954
13969
|
{
|
|
13955
13970
|
content: A,
|
|
13956
|
-
disabledBeatTemplates:
|
|
13957
|
-
handleEnableBeatTemplates:
|
|
13971
|
+
disabledBeatTemplates: w !== "" ? o.filter((q) => q.key === S)[0].subcategories.filter((q) => q.key === w)[0].beats : [],
|
|
13972
|
+
handleEnableBeatTemplates: G,
|
|
13958
13973
|
isOpen: v,
|
|
13959
13974
|
isUpdateLoading: i,
|
|
13960
13975
|
onClose: N,
|
|
13961
|
-
translatedSubCatetgory: c[
|
|
13976
|
+
translatedSubCatetgory: c[w]
|
|
13962
13977
|
}
|
|
13963
13978
|
)
|
|
13964
13979
|
]
|
|
@@ -14038,7 +14053,7 @@ const ma = {
|
|
|
14038
14053
|
WeeklyNewMerchantsV2: "WeeklyNewMerchantsV2",
|
|
14039
14054
|
MonthlySpendComparison: "MonthlySpendComparison",
|
|
14040
14055
|
MonthlySpendToIncomeComparison: "MonthlySpendToIncomeComparison"
|
|
14041
|
-
}, ie = window?.app?.clientConfig?.microwidget_instance_id || "",
|
|
14056
|
+
}, ie = window?.app?.clientConfig?.microwidget_instance_id || "", wr = {
|
|
14042
14057
|
INSIGHTS_MICRO_WIDGET: "/micro-insights-carousel"
|
|
14043
14058
|
}, Wi = (A) => `on${A}Click`, Yi = (A) => `on${A}View`, Vi = (A) => `on${A}ViewFirstTime`, pa = (A) => A.replace(/([a-z])([A-Z])/g, "$1 $2"), Pg = () => Object.values(ma).reduce(
|
|
14044
14059
|
(A, e) => ({
|
|
@@ -14106,14 +14121,14 @@ const ma = {
|
|
|
14106
14121
|
[Ne.MICRO_WIDGET_CAROUSEL]: {
|
|
14107
14122
|
label: Se.MICRO_WIDGET,
|
|
14108
14123
|
name: Ne.MICRO_WIDGET_CAROUSEL,
|
|
14109
|
-
path:
|
|
14124
|
+
path: wr.INSIGHTS_MICRO_WIDGET,
|
|
14110
14125
|
value: ie
|
|
14111
14126
|
},
|
|
14112
14127
|
// zero state
|
|
14113
14128
|
[Ne.MICRO_WIDGET_CAROUSEL_ZERO_STATE]: {
|
|
14114
14129
|
label: Se.MICRO_WIDGET,
|
|
14115
14130
|
name: Ne.MICRO_WIDGET_CAROUSEL_ZERO_STATE,
|
|
14116
|
-
path:
|
|
14131
|
+
path: wr.INSIGHTS_MICRO_WIDGET,
|
|
14117
14132
|
value: ie
|
|
14118
14133
|
},
|
|
14119
14134
|
// no relevant cards
|
|
@@ -14214,7 +14229,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
14214
14229
|
store: n,
|
|
14215
14230
|
children: a
|
|
14216
14231
|
}) => /* @__PURE__ */ t(Ot.Provider, { value: { onEvent: A, onPageview: e, store: n, children: a }, children: a }), zg = ({ beat: A }) => {
|
|
14217
|
-
const [e, n] = Ce(
|
|
14232
|
+
const [e, n] = Ce(b.UNCATEGORIZED);
|
|
14218
14233
|
return me(() => {
|
|
14219
14234
|
A.primary_category_guid ? n(A.primary_category_guid) : A.category_guids?.length && n(A.category_guids[0]);
|
|
14220
14235
|
}, []), /* @__PURE__ */ t(ne, { categoryGuid: e, size: 16, sx: { minWidth: 16 } });
|
|
@@ -15122,7 +15137,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15122
15137
|
$groups: { client: f }
|
|
15123
15138
|
});
|
|
15124
15139
|
}, [n, f, h, o, v]);
|
|
15125
|
-
const
|
|
15140
|
+
const w = () => {
|
|
15126
15141
|
c && c(n), S(Wi(n.template)), h?.capture && f && h.capture("micro_widget_clicked_insight", {
|
|
15127
15142
|
beat_guid: n.guid,
|
|
15128
15143
|
insight_template: n.template,
|
|
@@ -15149,7 +15164,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15149
15164
|
}
|
|
15150
15165
|
),
|
|
15151
15166
|
isActiveCard: s,
|
|
15152
|
-
onCardClick:
|
|
15167
|
+
onCardClick: w,
|
|
15153
15168
|
ref: m,
|
|
15154
15169
|
showCTAColocatedWithText: r,
|
|
15155
15170
|
showIcon: d,
|
|
@@ -15242,7 +15257,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15242
15257
|
variant: h,
|
|
15243
15258
|
widthOverrides: d
|
|
15244
15259
|
}) => {
|
|
15245
|
-
const u = Zg(a, c, d), C = g.useRef(null), [f, m] = g.useState(0), [v, E] = g.useState(null), [S, L] = g.useState(null), { carouselCopy:
|
|
15260
|
+
const u = Zg(a, c, d), C = g.useRef(null), [f, m] = g.useState(0), [v, E] = g.useState(null), [S, L] = g.useState(null), { carouselCopy: w } = Ye(), { onEvent: D } = xt(), P = () => {
|
|
15246
15261
|
D(oe.ON_CAROUSEL_FORWARD_CLICK), C.current && C.current.scrollTo({
|
|
15247
15262
|
left: (
|
|
15248
15263
|
// Adds the flex gap to the carousel ulRef's width
|
|
@@ -15262,7 +15277,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15262
15277
|
}, N = () => {
|
|
15263
15278
|
if (!S || !v) return;
|
|
15264
15279
|
S - v > Qg ? D(oe.ON_CAROUSEL_FORWARD_SWIPE) : D(oe.ON_CAROUSEL_BACK_SWIPE);
|
|
15265
|
-
},
|
|
15280
|
+
}, G = (aA) => {
|
|
15266
15281
|
E(aA.targetTouches[0].clientX);
|
|
15267
15282
|
}, q = (aA) => {
|
|
15268
15283
|
E(null), L(aA.targetTouches[0].clientX);
|
|
@@ -15281,7 +15296,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15281
15296
|
className: "mx-insights-micro-carousel-container",
|
|
15282
15297
|
onScroll: x,
|
|
15283
15298
|
onTouchEnd: N,
|
|
15284
|
-
onTouchMove:
|
|
15299
|
+
onTouchMove: G,
|
|
15285
15300
|
onTouchStart: q,
|
|
15286
15301
|
ref: C,
|
|
15287
15302
|
children: [
|
|
@@ -15289,7 +15304,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15289
15304
|
Ug,
|
|
15290
15305
|
{
|
|
15291
15306
|
ariaLabel: R(
|
|
15292
|
-
|
|
15307
|
+
w.card_position_in_carousel_aria,
|
|
15293
15308
|
gA + 1,
|
|
15294
15309
|
A.length + 1
|
|
15295
15310
|
),
|
|
@@ -15374,7 +15389,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15374
15389
|
g.useEffect(() => {
|
|
15375
15390
|
v && v <= 325 && L(3), v && v > 325 && L(2);
|
|
15376
15391
|
}, [v]);
|
|
15377
|
-
const { cardStyle:
|
|
15392
|
+
const { cardStyle: w, linkTextStyle: D } = u, P = m ? w : { border: "none", boxShadow: "none", ...w }, _ = $g(
|
|
15378
15393
|
P,
|
|
15379
15394
|
r,
|
|
15380
15395
|
C,
|
|
@@ -15556,7 +15571,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15556
15571
|
},
|
|
15557
15572
|
children: /* @__PURE__ */ t(Bn, {})
|
|
15558
15573
|
}
|
|
15559
|
-
),
|
|
15574
|
+
), be = new Rg(), nC = ({
|
|
15560
15575
|
areBeatsLoading: A,
|
|
15561
15576
|
beats: e = [],
|
|
15562
15577
|
// This also determines the length of the carousel controls (beat.length + 1)
|
|
@@ -15581,18 +15596,18 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15581
15596
|
token: E = "",
|
|
15582
15597
|
useDarkMode: S,
|
|
15583
15598
|
userHasFullInsightFeedBeats: L,
|
|
15584
|
-
variant:
|
|
15599
|
+
variant: w,
|
|
15585
15600
|
widthOverrides: D
|
|
15586
15601
|
}) => {
|
|
15587
|
-
const [P, _] = Ce("STANDARD"), [x, N] = Ce(!1),
|
|
15602
|
+
const [P, _] = Ce("STANDARD"), [x, N] = Ce(!1), G = cc([c], be), q = lc([h], be);
|
|
15588
15603
|
g.useEffect(() => {
|
|
15589
|
-
|
|
15590
|
-
}, [r, E, o,
|
|
15604
|
+
be.isInitialized || be.initialize(r, E, o);
|
|
15605
|
+
}, [r, E, o, be.isInitialized]), g.useEffect(() => {
|
|
15591
15606
|
const U = window.innerHeight;
|
|
15592
15607
|
U < 180 ? _("STANDARD") : U >= 180 && U < 200 ? _("LARGE") : U >= 200 && U < 248 ? _("XLARGE") : U >= 248 && _("XXLARGE");
|
|
15593
15608
|
}, [window.innerHeight]), g.useEffect(() => {
|
|
15594
|
-
N(!A &&
|
|
15595
|
-
}, [A,
|
|
15609
|
+
N(!A && be.isInitialized);
|
|
15610
|
+
}, [A, be.isInitialized]);
|
|
15596
15611
|
const Q = {
|
|
15597
15612
|
showCTAColocatedWithText: a,
|
|
15598
15613
|
heightOverrides: i,
|
|
@@ -15604,14 +15619,14 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15604
15619
|
}, j = {
|
|
15605
15620
|
carouselSize: P,
|
|
15606
15621
|
posthog: d,
|
|
15607
|
-
variant:
|
|
15622
|
+
variant: w,
|
|
15608
15623
|
...Q
|
|
15609
15624
|
};
|
|
15610
15625
|
return (
|
|
15611
15626
|
// The Theme provider must wrap the component so that the styles don't break when imported into other applications.
|
|
15612
15627
|
/* @__PURE__ */ l(Do, { theme: go(S ? "dark" : "light"), children: [
|
|
15613
15628
|
/* @__PURE__ */ t(zs, {}),
|
|
15614
|
-
/* @__PURE__ */ t(Hg, { onEvent:
|
|
15629
|
+
/* @__PURE__ */ t(Hg, { onEvent: G, onPageview: q, store: be, children: /* @__PURE__ */ l(
|
|
15615
15630
|
O,
|
|
15616
15631
|
{
|
|
15617
15632
|
sx: {
|
|
@@ -15621,7 +15636,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15621
15636
|
width: D ? void 0 : "100%"
|
|
15622
15637
|
},
|
|
15623
15638
|
children: [
|
|
15624
|
-
(A || !
|
|
15639
|
+
(A || !be.isInitialized) && /* @__PURE__ */ t(tC, {}),
|
|
15625
15640
|
x && f && /* @__PURE__ */ t(
|
|
15626
15641
|
eC,
|
|
15627
15642
|
{
|
|
@@ -15637,7 +15652,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15637
15652
|
beats: e,
|
|
15638
15653
|
clientColorScheme: n,
|
|
15639
15654
|
showCarouselControls: C,
|
|
15640
|
-
variant: u ?
|
|
15655
|
+
variant: u ? w : void 0,
|
|
15641
15656
|
...Q
|
|
15642
15657
|
}
|
|
15643
15658
|
),
|
|
@@ -15813,7 +15828,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15813
15828
|
}
|
|
15814
15829
|
return n;
|
|
15815
15830
|
}, []), to = (A, e) => {
|
|
15816
|
-
const n = lC(A, e), a = n.filter((c) => c.guid !==
|
|
15831
|
+
const n = lC(A, e), a = n.filter((c) => c.guid !== b.INCOME && c.guid !== b.TRANSFER).sort((c, h) => h.amount - c.amount), r = a.reduce(
|
|
15817
15832
|
(c, h) => c + h.amount,
|
|
15818
15833
|
0
|
|
15819
15834
|
), i = a.length > Ln ? Ln : a.length, o = a.slice(0, i), s = o.map((c) => ({
|
|
@@ -15851,7 +15866,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15851
15866
|
};
|
|
15852
15867
|
}, no = (A, e, n) => {
|
|
15853
15868
|
const a = A.filter(
|
|
15854
|
-
(s) => s.parent_guid ===
|
|
15869
|
+
(s) => s.parent_guid === b.INCOME
|
|
15855
15870
|
), r = e.filter((s) => a.some((c) => c.guid === s.category_guid)).sort((s, c) => s.total - c.total).map((s, c) => ({
|
|
15856
15871
|
guid: s.category_guid,
|
|
15857
15872
|
name: A.find((h) => h.guid === s.category_guid)?.name,
|
|
@@ -15904,7 +15919,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
15904
15919
|
/* @__PURE__ */ t(
|
|
15905
15920
|
ne,
|
|
15906
15921
|
{
|
|
15907
|
-
categoryGuid: e ?
|
|
15922
|
+
categoryGuid: e ? b.INCOME : u.guid,
|
|
15908
15923
|
size: s === "mini" ? 24 : m,
|
|
15909
15924
|
variant: _r.Transparent
|
|
15910
15925
|
}
|
|
@@ -16196,18 +16211,18 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16196
16211
|
const L = g.useMemo(
|
|
16197
16212
|
() => to(e, n),
|
|
16198
16213
|
[e, n]
|
|
16199
|
-
),
|
|
16214
|
+
), w = g.useMemo(
|
|
16200
16215
|
() => no(e, n, pC(A)),
|
|
16201
16216
|
[e, n]
|
|
16202
16217
|
), D = g.useMemo(
|
|
16203
16218
|
() => h.find((N) => N.guid === m),
|
|
16204
16219
|
[m]
|
|
16205
|
-
), P = (N,
|
|
16206
|
-
f(
|
|
16220
|
+
), P = (N, G) => {
|
|
16221
|
+
f(G), u("");
|
|
16207
16222
|
}, _ = (N) => {
|
|
16208
16223
|
u(d === N || N === "0" ? "" : N);
|
|
16209
16224
|
}, x = (N) => {
|
|
16210
|
-
const
|
|
16225
|
+
const G = {
|
|
16211
16226
|
accounts: s,
|
|
16212
16227
|
dateRange: i
|
|
16213
16228
|
};
|
|
@@ -16215,18 +16230,18 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16215
16230
|
if (N === "other") {
|
|
16216
16231
|
const q = L.categoryData.find((Q) => Q.guid === "other");
|
|
16217
16232
|
c({
|
|
16218
|
-
...
|
|
16233
|
+
...G,
|
|
16219
16234
|
custom: (Q) => !!q?.categoryTotals?.find((j) => j.guid === Q.top_level_category_guid)
|
|
16220
16235
|
});
|
|
16221
16236
|
} else
|
|
16222
16237
|
c({
|
|
16223
|
-
...
|
|
16224
|
-
custom: (q) => N ? q.top_level_category_guid === N : q.top_level_category_guid !==
|
|
16238
|
+
...G,
|
|
16239
|
+
custom: (q) => N ? q.top_level_category_guid === N : q.top_level_category_guid !== b.INCOME
|
|
16225
16240
|
});
|
|
16226
16241
|
else
|
|
16227
16242
|
c({
|
|
16228
|
-
...
|
|
16229
|
-
custom: (q) => N ? q.category_guid === N : q.top_level_category_guid ===
|
|
16243
|
+
...G,
|
|
16244
|
+
custom: (q) => N ? q.category_guid === N : q.top_level_category_guid === b.INCOME
|
|
16230
16245
|
});
|
|
16231
16246
|
S(!0);
|
|
16232
16247
|
};
|
|
@@ -16250,7 +16265,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16250
16265
|
label: /* @__PURE__ */ t(
|
|
16251
16266
|
Yt,
|
|
16252
16267
|
{
|
|
16253
|
-
amount:
|
|
16268
|
+
amount: w.totalAmount,
|
|
16254
16269
|
label: r.income_tab_title
|
|
16255
16270
|
}
|
|
16256
16271
|
)
|
|
@@ -16270,7 +16285,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16270
16285
|
C === 1 && /* @__PURE__ */ t(
|
|
16271
16286
|
xr,
|
|
16272
16287
|
{
|
|
16273
|
-
data:
|
|
16288
|
+
data: w,
|
|
16274
16289
|
onSelected: _,
|
|
16275
16290
|
onViewTransactions: x,
|
|
16276
16291
|
selectedId: d,
|
|
@@ -16320,7 +16335,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16320
16335
|
children: /* @__PURE__ */ t(O, { height: "calc(100dvh - 150px)", width: "100%", children: /* @__PURE__ */ t(EC, {}) })
|
|
16321
16336
|
}
|
|
16322
16337
|
);
|
|
16323
|
-
}, df = T(yC),
|
|
16338
|
+
}, df = T(yC), bC = (A) => _e[A] ?? _e.default, wC = (A) => Me[A], SC = (A) => A.reduce((e, n) => {
|
|
16324
16339
|
const a = yA(new Date(n.year, n.month - 1)), r = {
|
|
16325
16340
|
top_level_category_guid: n.top_level_category_guid,
|
|
16326
16341
|
category_guid: n.category_guid,
|
|
@@ -16344,8 +16359,8 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16344
16359
|
return {
|
|
16345
16360
|
top_level_category_guid: c,
|
|
16346
16361
|
category_guid: o,
|
|
16347
|
-
category_name:
|
|
16348
|
-
category_color:
|
|
16362
|
+
category_name: wC(o),
|
|
16363
|
+
category_color: bC(c),
|
|
16349
16364
|
dataset: h
|
|
16350
16365
|
};
|
|
16351
16366
|
});
|
|
@@ -16357,7 +16372,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16357
16372
|
return (n || 0) - (a || 0);
|
|
16358
16373
|
}, IC = (A) => {
|
|
16359
16374
|
const e = A.row[A.field];
|
|
16360
|
-
return /* @__PURE__ */ t(y, { alignItems: "flex-end", tabIndex: A.tabIndex, children: /* @__PURE__ */ t(
|
|
16375
|
+
return /* @__PURE__ */ t(y, { alignItems: "flex-end", tabIndex: A.tabIndex, children: /* @__PURE__ */ t(wA, { amount: e, variant: "Small" }) });
|
|
16361
16376
|
}, DC = ({ categoryGuid: A, topLevelCategoryGuid: e }) => {
|
|
16362
16377
|
const { categories: n } = I(), a = Me[A];
|
|
16363
16378
|
return /* @__PURE__ */ l(y, { alignItems: "center", direction: "row", justifyContent: "center", children: [
|
|
@@ -16425,7 +16440,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16425
16440
|
(m) => m.category_guid === e || m.top_level_category_guid === e
|
|
16426
16441
|
) : A).reduce(
|
|
16427
16442
|
(m, v) => {
|
|
16428
|
-
const { category_guid: E, top_level_category_guid: S, month: L, total:
|
|
16443
|
+
const { category_guid: E, top_level_category_guid: S, month: L, total: w, year: D } = v, P = e ? E : S;
|
|
16429
16444
|
m[P] || (m[P] = {
|
|
16430
16445
|
id: P,
|
|
16431
16446
|
category: P,
|
|
@@ -16433,7 +16448,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16433
16448
|
top_level_category_guid: S
|
|
16434
16449
|
});
|
|
16435
16450
|
const _ = $(new Date(D, L, 1), Z.MONTH_SHORT);
|
|
16436
|
-
return m[P][_] =
|
|
16451
|
+
return m[P][_] = w, m;
|
|
16437
16452
|
},
|
|
16438
16453
|
{}
|
|
16439
16454
|
);
|
|
@@ -16494,7 +16509,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16494
16509
|
}, MC = T(NC), _C = {
|
|
16495
16510
|
view_transactions: "View Transactions"
|
|
16496
16511
|
}, RC = ({ onBackClick: A, sx: e }) => {
|
|
16497
|
-
const n = ae(), { onEvent: a } = V(), { isDesktop: r, isTablet: i, isMobile: o } = RA(), { accounts: s } = TA(), { loadMonthlyCategoryTotals: c, monthlyCategoryTotals: h } = PA(), { sortedTransactions: d } = uA(), { isInitialized: u, selectedAccounts: C, setSelectedAccounts: f } = fA(), { trends: m } = I(), v = n.palette.mode === "dark", [E, S] = g.useState(!1), [L,
|
|
16512
|
+
const n = ae(), { onEvent: a } = V(), { isDesktop: r, isTablet: i, isMobile: o } = RA(), { accounts: s } = TA(), { loadMonthlyCategoryTotals: c, monthlyCategoryTotals: h } = PA(), { sortedTransactions: d } = uA(), { isInitialized: u, selectedAccounts: C, setSelectedAccounts: f } = fA(), { trends: m } = I(), v = n.palette.mode === "dark", [E, S] = g.useState(!1), [L, w] = g.useState(!1), [D, P] = g.useState("Chart"), [_, x] = g.useState(""), [N, G] = g.useState({
|
|
16498
16513
|
start: yA(ce(/* @__PURE__ */ new Date(), 5)),
|
|
16499
16514
|
end: NA(/* @__PURE__ */ new Date())
|
|
16500
16515
|
}), [q, Q] = g.useState(6);
|
|
@@ -16545,7 +16560,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16545
16560
|
P(K ?? D), a(F.TRENDS_CLICK_TOGGLE);
|
|
16546
16561
|
}, vA = (pA) => {
|
|
16547
16562
|
const K = pA?.[0], hA = pA?.[1], EA = Bs(hA, K);
|
|
16548
|
-
|
|
16563
|
+
G({ start: K, end: hA }), a(F.TRENDS_CLICK_DATE, {
|
|
16549
16564
|
time_period: EA + "M"
|
|
16550
16565
|
}), Q(EA);
|
|
16551
16566
|
}, $A = () => {
|
|
@@ -16652,7 +16667,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16652
16667
|
/* @__PURE__ */ t(M, { name: "arrow_back" }),
|
|
16653
16668
|
m.all_categories
|
|
16654
16669
|
] }) }),
|
|
16655
|
-
/* @__PURE__ */ t(sA, { onClick: () =>
|
|
16670
|
+
/* @__PURE__ */ t(sA, { onClick: () => w(!0), sx: { px: 5 }, children: `${_C.view_transactions} (${d.length})` })
|
|
16656
16671
|
] }),
|
|
16657
16672
|
/* @__PURE__ */ l(O, { children: [
|
|
16658
16673
|
D === "Chart" && /* @__PURE__ */ t(
|
|
@@ -16684,7 +16699,7 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16684
16699
|
categoryGuid: _,
|
|
16685
16700
|
dateRange: N,
|
|
16686
16701
|
isOpen: L,
|
|
16687
|
-
onClose: () =>
|
|
16702
|
+
onClose: () => w(!1)
|
|
16688
16703
|
}
|
|
16689
16704
|
)
|
|
16690
16705
|
]
|
|
@@ -16692,11 +16707,11 @@ const Ot = g.createContext(null), Hg = ({
|
|
|
16692
16707
|
);
|
|
16693
16708
|
}, uf = T(RC), HC = (A) => {
|
|
16694
16709
|
const e = [], n = A.filter(
|
|
16695
|
-
(i) => i.top_level_category_guid !==
|
|
16710
|
+
(i) => i.top_level_category_guid !== b.INCOME && i.top_level_category_guid !== b.TRANSFER && i.total > 0
|
|
16696
16711
|
);
|
|
16697
16712
|
let a = yA(ce(/* @__PURE__ */ new Date(), 5));
|
|
16698
16713
|
const r = NA(/* @__PURE__ */ new Date());
|
|
16699
|
-
for (;
|
|
16714
|
+
for (; bA(a, r); )
|
|
16700
16715
|
e.push({
|
|
16701
16716
|
x: $(a, Z.MONTH_SHORT),
|
|
16702
16717
|
y: n.filter((i) => i.year === a.getFullYear() && i.month === a.getMonth() + 1).reduce((i, o) => i + o.total, 0)
|
|
@@ -16771,7 +16786,7 @@ export {
|
|
|
16771
16786
|
Gt as CategoryApi,
|
|
16772
16787
|
_e as CategoryColors,
|
|
16773
16788
|
Me as CategoryGuidToName,
|
|
16774
|
-
|
|
16789
|
+
b as CategoryGuids,
|
|
16775
16790
|
Qs as CategoryIcon,
|
|
16776
16791
|
Ei as CategoryRow,
|
|
16777
16792
|
ad as CategorySelector,
|
|
@@ -16784,7 +16799,7 @@ export {
|
|
|
16784
16799
|
GA as ConnectionStatusEnums,
|
|
16785
16800
|
kt as CurrencyCodes,
|
|
16786
16801
|
rn as CurrencyInput,
|
|
16787
|
-
|
|
16802
|
+
wA as CurrencyText,
|
|
16788
16803
|
Z as DATE_FORMATS_INTL,
|
|
16789
16804
|
Ai as DEFAULT_DONUT_SIZE,
|
|
16790
16805
|
ei as DEFAULT_STROKE_WIDTH,
|
|
@@ -16851,7 +16866,7 @@ export {
|
|
|
16851
16866
|
Wr as PropertyType,
|
|
16852
16867
|
I7 as PropertyTypeName,
|
|
16853
16868
|
D7 as RECURRENCE_COPY,
|
|
16854
|
-
|
|
16869
|
+
X as RecurrenceTypes,
|
|
16855
16870
|
X7 as RecurringActivityMiniWidget,
|
|
16856
16871
|
Lu as RecurringActivityStore,
|
|
16857
16872
|
G7 as RecurringActivityWidget,
|
|
@@ -16880,7 +16895,7 @@ export {
|
|
|
16880
16895
|
qe as TransactionList,
|
|
16881
16896
|
aa as TransactionRow,
|
|
16882
16897
|
na as TransactionStatus,
|
|
16883
|
-
|
|
16898
|
+
bl as TransactionStore,
|
|
16884
16899
|
kl as TransactionTable,
|
|
16885
16900
|
QA as TransactionType,
|
|
16886
16901
|
k7 as TransactionWidget,
|