@layerfi/components 0.1.15 → 0.1.16

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.d.ts CHANGED
@@ -128,16 +128,67 @@ declare module '@layerfi/components/api/layer/chart_of_accounts' {
128
128
  data: LedgerAccountsEntry;
129
129
  }>;
130
130
 
131
+ }
132
+ declare module '@layerfi/components/api/layer/journal' {
133
+ import { Account, NewAccount } from '@layerfi/components/types';
134
+ import { JournalEntry } from '@layerfi/components/types/journal';
135
+ export const getJournal: (baseUrl: string, accessToken: string | undefined, options?: {
136
+ params?: Record<string, string | undefined> | undefined;
137
+ } | undefined) => () => Promise<{
138
+ data: JournalEntry[];
139
+ }>;
140
+ export const addEntry: (baseUrl: string, accessToken: string | undefined, options?: {
141
+ params?: Record<string, string | undefined> | undefined;
142
+ body?: NewAccount | undefined;
143
+ } | undefined) => Promise<{
144
+ data: Account;
145
+ }>;
146
+
131
147
  }
132
148
  declare module '@layerfi/components/api/layer/linked_accounts' {
133
149
  import { LinkedAccounts, PublicToken } from '@layerfi/components/types/linked_accounts';
134
150
  export const getLinkedAccounts: (baseUrl: string, accessToken: string | undefined, options?: {
135
- params?: Record<string, string | undefined> | undefined;
151
+ params?: {
152
+ businessId: string;
153
+ } | undefined;
136
154
  } | undefined) => () => Promise<{
137
155
  data: LinkedAccounts;
138
156
  }>;
157
+ export const confirmConnection: (baseUrl: string, accessToken: string | undefined, options?: {
158
+ params?: {
159
+ businessId: string;
160
+ accountId: string;
161
+ } | undefined;
162
+ body?: Record<string, unknown> | undefined;
163
+ } | undefined) => Promise<Record<string, unknown>>;
164
+ export const denyConnection: (baseUrl: string, accessToken: string | undefined, options?: {
165
+ params?: {
166
+ businessId: string;
167
+ accountId: string;
168
+ } | undefined;
169
+ body?: Record<string, unknown> | undefined;
170
+ } | undefined) => Promise<Record<string, unknown>>;
171
+ export const unlinkConnection: (baseUrl: string, accessToken: string | undefined, options?: {
172
+ params?: {
173
+ businessId: string;
174
+ connectionId: string;
175
+ } | undefined;
176
+ body?: Record<string, unknown> | undefined;
177
+ } | undefined) => Promise<Record<string, unknown>>;
178
+ export const unlinkAccount: (baseUrl: string, accessToken: string | undefined, options?: {
179
+ params?: {
180
+ businessId: string;
181
+ accountId: string;
182
+ } | undefined;
183
+ body?: Record<string, unknown> | undefined;
184
+ } | undefined) => Promise<Record<string, unknown>>;
185
+ /**********************
186
+ * Plaid Specific API *
187
+ **********************/
139
188
  export const getPlaidLinkToken: (baseUrl: string, accessToken: string | undefined, options?: {
140
- params?: Record<string, string | undefined> | undefined;
189
+ params?: {
190
+ businessId: string;
191
+ } | undefined;
141
192
  body?: Record<string, unknown> | undefined;
142
193
  } | undefined) => Promise<{
143
194
  data: {
@@ -145,24 +196,27 @@ declare module '@layerfi/components/api/layer/linked_accounts' {
145
196
  link_token: string;
146
197
  };
147
198
  }>;
148
- export const exchangePlaidPublicToken: (baseUrl: string, accessToken: string | undefined, options?: {
149
- params?: Record<string, string | undefined> | undefined;
150
- body?: PublicToken | undefined;
151
- } | undefined) => Promise<Record<string, unknown>>;
152
- /**
153
- * This is named per plaid terminology. It means unlinking an institution
154
- */
155
- export const unlinkPlaidItem: (baseUrl: string, accessToken: string | undefined, options?: {
199
+ export const getPlaidUpdateModeLinkToken: (baseUrl: string, accessToken: string | undefined, options?: {
156
200
  params?: {
157
201
  businessId: string;
158
- plaidItemId: string;
159
202
  } | undefined;
160
203
  body?: Record<string, unknown> | undefined;
204
+ } | undefined) => Promise<{
205
+ data: {
206
+ type: 'Link_Token';
207
+ link_token: string;
208
+ };
209
+ }>;
210
+ export const exchangePlaidPublicToken: (baseUrl: string, accessToken: string | undefined, options?: {
211
+ params?: {
212
+ businessId: string;
213
+ } | undefined;
214
+ body?: PublicToken | undefined;
161
215
  } | undefined) => Promise<Record<string, unknown>>;
162
- export const unlinkPlaidAccount: (baseUrl: string, accessToken: string | undefined, options?: {
216
+ export const unlinkPlaidItem: (baseUrl: string, accessToken: string | undefined, options?: {
163
217
  params?: {
164
218
  businessId: string;
165
- accountId: string;
219
+ plaidItemId: string;
166
220
  } | undefined;
167
221
  body?: Record<string, unknown> | undefined;
168
222
  } | undefined) => Promise<Record<string, unknown>>;
@@ -256,12 +310,38 @@ declare module '@layerfi/components/api/layer' {
256
310
  error?: unknown;
257
311
  }>;
258
312
  getLinkedAccounts: (baseUrl: string, accessToken: string | undefined, options?: {
259
- params?: Record<string, string | undefined> | undefined;
313
+ params?: {
314
+ businessId: string;
315
+ } | undefined;
260
316
  } | undefined) => () => Promise<{
261
317
  data: import("@layerfi/components/types/linked_accounts").LinkedAccounts;
262
318
  }>;
263
- getPlaidLinkToken: (baseUrl: string, accessToken: string | undefined, options?: {
319
+ getJournal: (baseUrl: string, accessToken: string | undefined, options?: {
264
320
  params?: Record<string, string | undefined> | undefined;
321
+ } | undefined) => () => Promise<{
322
+ data: import("@layerfi/components/types").JournalEntry[];
323
+ }>;
324
+ addEntry: (baseUrl: string, accessToken: string | undefined, options?: {
325
+ params?: Record<string, string | undefined> | undefined;
326
+ body?: import("@layerfi/components/types").NewAccount | undefined;
327
+ } | undefined) => Promise<{
328
+ data: import("@layerfi/components/types").Account;
329
+ }>;
330
+ getPlaidLinkToken: (baseUrl: string, accessToken: string | undefined, options?: {
331
+ params?: {
332
+ businessId: string;
333
+ } | undefined;
334
+ body?: Record<string, unknown> | undefined;
335
+ } | undefined) => Promise<{
336
+ data: {
337
+ type: "Link_Token";
338
+ link_token: string;
339
+ };
340
+ }>;
341
+ getPlaidUpdateModeLinkToken: (baseUrl: string, accessToken: string | undefined, options?: {
342
+ params?: {
343
+ businessId: string;
344
+ } | undefined;
265
345
  body?: Record<string, unknown> | undefined;
266
346
  } | undefined) => Promise<{
267
347
  data: {
@@ -270,10 +350,12 @@ declare module '@layerfi/components/api/layer' {
270
350
  };
271
351
  }>;
272
352
  exchangePlaidPublicToken: (baseUrl: string, accessToken: string | undefined, options?: {
273
- params?: Record<string, string | undefined> | undefined;
353
+ params?: {
354
+ businessId: string;
355
+ } | undefined;
274
356
  body?: import("@layerfi/components/types/linked_accounts").PublicToken | undefined;
275
357
  } | undefined) => Promise<Record<string, unknown>>;
276
- unlinkPlaidAccount: (baseUrl: string, accessToken: string | undefined, options?: {
358
+ unlinkAccount: (baseUrl: string, accessToken: string | undefined, options?: {
277
359
  params?: {
278
360
  businessId: string;
279
361
  accountId: string;
@@ -287,12 +369,44 @@ declare module '@layerfi/components/api/layer' {
287
369
  } | undefined;
288
370
  body?: Record<string, unknown> | undefined;
289
371
  } | undefined) => Promise<Record<string, unknown>>;
372
+ confirmConnection: (baseUrl: string, accessToken: string | undefined, options?: {
373
+ params?: {
374
+ businessId: string;
375
+ accountId: string;
376
+ } | undefined;
377
+ body?: Record<string, unknown> | undefined;
378
+ } | undefined) => Promise<Record<string, unknown>>;
379
+ denyConnection: (baseUrl: string, accessToken: string | undefined, options?: {
380
+ params?: {
381
+ businessId: string;
382
+ accountId: string;
383
+ } | undefined;
384
+ body?: Record<string, unknown> | undefined;
385
+ } | undefined) => Promise<Record<string, unknown>>;
290
386
  };
291
387
 
292
388
  }
293
389
  declare module '@layerfi/components/api/util' {
294
390
  export const formStringFromObject: (object: Record<string, string | number | boolean>) => string;
295
391
 
392
+ }
393
+ declare module '@layerfi/components/components/ActionableRow/ActionableRow' {
394
+ import React, { ReactNode } from 'react';
395
+ interface ActionableRowProps {
396
+ icon?: ReactNode;
397
+ iconBox?: ReactNode;
398
+ title?: string | ReactNode;
399
+ description?: string | ReactNode;
400
+ button?: ReactNode;
401
+ onClick?: () => void;
402
+ }
403
+ export const ActionableRow: ({ icon, iconBox, title, description, button, onClick, }: ActionableRowProps) => React.JSX.Element;
404
+ export {};
405
+
406
+ }
407
+ declare module '@layerfi/components/components/ActionableRow/index' {
408
+ export { ActionableRow } from '@layerfi/components/components/ActionableRow/ActionableRow';
409
+
296
410
  }
297
411
  declare module '@layerfi/components/components/Badge/Badge' {
298
412
  import React, { ReactNode } from 'react';
@@ -323,6 +437,19 @@ declare module '@layerfi/components/components/Badge/index' {
323
437
  export { Badge } from '@layerfi/components/components/Badge/Badge';
324
438
  export { BadgeVariant } from '@layerfi/components/components/Badge/Badge';
325
439
 
440
+ }
441
+ declare module '@layerfi/components/components/BadgeLoader/BadgeLoader' {
442
+ import React, { ReactNode } from 'react';
443
+ export interface BadgeLoaderProps {
444
+ children?: ReactNode;
445
+ size?: number;
446
+ }
447
+ export const BadgeLoader: ({ children }: BadgeLoaderProps) => React.JSX.Element;
448
+
449
+ }
450
+ declare module '@layerfi/components/components/BadgeLoader/index' {
451
+ export { BadgeLoader } from '@layerfi/components/components/BadgeLoader/BadgeLoader';
452
+
326
453
  }
327
454
  declare module '@layerfi/components/components/BalanceSheet/BalanceSheet' {
328
455
  import React from 'react';
@@ -439,11 +566,17 @@ declare module '@layerfi/components/components/BankTransactionRow/index' {
439
566
  }
440
567
  declare module '@layerfi/components/components/BankTransactions/BankTransactions' {
441
568
  import React from 'react';
569
+ import { BankTransaction } from '@layerfi/components/types';
570
+ export enum DisplayState {
571
+ review = "review",
572
+ categorized = "categorized"
573
+ }
442
574
  export interface BankTransactionsProps {
443
575
  asWidget?: boolean;
444
576
  pageSize?: number;
445
577
  categorizedOnly?: boolean;
446
578
  }
579
+ export const filterVisibility: (display: DisplayState, bankTransaction: BankTransaction) => boolean;
447
580
  export const BankTransactions: ({ asWidget, pageSize, categorizedOnly, }: BankTransactionsProps) => React.JSX.Element;
448
581
 
449
582
  }
@@ -482,8 +615,9 @@ declare module '@layerfi/components/components/Button/IconButton' {
482
615
  export interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
483
616
  icon: ReactNode;
484
617
  active?: boolean;
618
+ withBorder?: boolean;
485
619
  }
486
- export const IconButton: ({ className, children, icon, active, ...props }: IconButtonProps) => React.JSX.Element;
620
+ export const IconButton: ({ className, children, icon, active, withBorder, ...props }: IconButtonProps) => React.JSX.Element;
487
621
 
488
622
  }
489
623
  declare module '@layerfi/components/components/Button/RetryButton' {
@@ -588,51 +722,26 @@ declare module '@layerfi/components/components/CategorySelect/index' {
588
722
  }
589
723
  declare module '@layerfi/components/components/ChartOfAccounts/ChartOfAccounts' {
590
724
  import React from 'react';
591
- import { useChartOfAccounts } from '@layerfi/components/hooks/useChartOfAccounts/index';
592
- import { useLedgerAccounts } from '@layerfi/components/hooks/useLedgerAccounts/index';
593
725
  export type View = 'mobile' | 'tablet' | 'desktop';
594
726
  export interface ChartOfAccountsProps {
595
727
  asWidget?: boolean;
728
+ withDateControl?: boolean;
729
+ withExpandAllButton?: boolean;
596
730
  }
597
- export type ChartOfAccountsContextType = ReturnType<typeof useChartOfAccounts>;
598
- export const ChartOfAccountsContext: React.Context<{
599
- data: import("@layerfi/components/types/chart_of_accounts").ChartWithBalances | undefined;
600
- isLoading?: boolean | undefined;
601
- isValidating?: boolean | undefined;
602
- error?: unknown;
603
- refetch: () => void;
604
- create: (newAccount: import("@layerfi/components/types").NewAccount) => void;
605
- form?: import("@layerfi/components/hooks/useChartOfAccounts/useChartOfAccounts").ChartOfAccountsForm | undefined;
606
- sendingForm?: boolean | undefined;
607
- apiError?: string | undefined;
608
- addAccount: () => void;
609
- editAccount: (id: string) => void;
610
- cancelForm: () => void;
611
- changeFormData: (name: string, value: string | import("@layerfi/components/types/general").BaseSelectOption | undefined) => void;
612
- submitForm: () => void;
613
- }>;
614
- export type LedgerAccountsContextType = ReturnType<typeof useLedgerAccounts>;
615
- export const LedgerAccountsContext: React.Context<{
616
- data?: import("@layerfi/components/types").LedgerAccounts | undefined;
617
- entryData?: import("@layerfi/components/types").LedgerAccountsEntry | undefined;
618
- isLoading?: boolean | undefined;
619
- isLoadingEntry?: boolean | undefined;
620
- isValidating?: boolean | undefined;
621
- isValidatingEntry?: boolean | undefined;
622
- error?: unknown;
623
- errorEntry?: unknown;
624
- refetch: () => void;
625
- accountId?: string | undefined;
626
- setAccountId: (id?: string | undefined) => void;
627
- selectedEntryId?: string | undefined;
628
- setSelectedEntryId: (id?: string | undefined) => void;
629
- closeSelectedEntry: () => void;
630
- }>;
631
731
  export const ChartOfAccounts: (props: ChartOfAccountsProps) => React.JSX.Element;
632
732
 
633
733
  }
634
734
  declare module '@layerfi/components/components/ChartOfAccounts/index' {
635
- export { ChartOfAccounts, ChartOfAccountsContext, LedgerAccountsContext, View, } from '@layerfi/components/components/ChartOfAccounts/ChartOfAccounts';
735
+ export { ChartOfAccounts, View } from '@layerfi/components/components/ChartOfAccounts/ChartOfAccounts';
736
+
737
+ }
738
+ declare module '@layerfi/components/components/ChartOfAccountsDatePicker/ChartOfAccountsDatePicker' {
739
+ import React from 'react';
740
+ export const ChartOfAccountsDatePicker: () => React.JSX.Element;
741
+
742
+ }
743
+ declare module '@layerfi/components/components/ChartOfAccountsDatePicker/index' {
744
+ export { ChartOfAccountsDatePicker } from '@layerfi/components/components/ChartOfAccountsDatePicker/ChartOfAccountsDatePicker';
636
745
 
637
746
  }
638
747
  declare module '@layerfi/components/components/ChartOfAccountsForm/ChartOfAccountsForm' {
@@ -669,6 +778,7 @@ declare module '@layerfi/components/components/ChartOfAccountsRow/ChartOfAccount
669
778
  import React from 'react';
670
779
  import { LedgerAccountBalance } from '@layerfi/components/types/chart_of_accounts';
671
780
  import { View } from '@layerfi/components/components/ChartOfAccounts/ChartOfAccounts';
781
+ import { ExpandActionState } from '@layerfi/components/components/ChartOfAccountsTable/ChartOfAccountsTable';
672
782
  type ChartOfAccountsRowProps = {
673
783
  account: LedgerAccountBalance;
674
784
  depth?: number;
@@ -678,8 +788,9 @@ declare module '@layerfi/components/components/ChartOfAccountsRow/ChartOfAccount
678
788
  acountsLength: number;
679
789
  defaultOpen?: boolean;
680
790
  view?: View;
791
+ expandAll?: ExpandActionState;
681
792
  };
682
- export const ChartOfAccountsRow: ({ account, depth, index, cumulativeIndex, expanded, defaultOpen, acountsLength, view, }: ChartOfAccountsRowProps) => React.JSX.Element;
793
+ export const ChartOfAccountsRow: ({ account, depth, index, cumulativeIndex, expanded, defaultOpen, acountsLength, view, expandAll, }: ChartOfAccountsRowProps) => React.JSX.Element;
683
794
  export {};
684
795
 
685
796
  }
@@ -700,10 +811,14 @@ declare module '@layerfi/components/components/ChartOfAccountsSidebar/index' {
700
811
  }
701
812
  declare module '@layerfi/components/components/ChartOfAccountsTable/ChartOfAccountsTable' {
702
813
  import React, { RefObject } from 'react';
703
- import { View } from '@layerfi/components/components/ChartOfAccounts/index';
704
- export const ChartOfAccountsTable: ({ view, containerRef, }: {
814
+ import { View } from '@layerfi/components/components/ChartOfAccounts/ChartOfAccounts';
815
+ export type ExpandActionState = undefined | 'expanded' | 'collapsed';
816
+ export const ChartOfAccountsTable: ({ view, containerRef, asWidget, withDateControl, withExpandAllButton, }: {
705
817
  view: View;
706
818
  containerRef: RefObject<HTMLDivElement>;
819
+ asWidget?: boolean | undefined;
820
+ withDateControl?: boolean | undefined;
821
+ withExpandAllButton?: boolean | undefined;
707
822
  }) => React.JSX.Element;
708
823
 
709
824
  }
@@ -712,23 +827,29 @@ declare module '@layerfi/components/components/ChartOfAccountsTable/index' {
712
827
 
713
828
  }
714
829
  declare module '@layerfi/components/components/Container/Container' {
715
- import React, { ReactNode } from 'react';
830
+ import React, { CSSProperties, ReactNode } from 'react';
716
831
  export interface ContainerProps {
717
832
  name: string;
718
833
  className?: string;
719
834
  asWidget?: boolean;
720
835
  elevated?: boolean;
721
836
  children: ReactNode;
837
+ style?: CSSProperties;
722
838
  }
723
839
  export const Container: React.ForwardRefExoticComponent<ContainerProps & React.RefAttributes<HTMLDivElement>>;
724
840
 
725
841
  }
726
842
  declare module '@layerfi/components/components/Container/Header' {
727
843
  import React, { CSSProperties, ReactNode } from 'react';
844
+ export enum HeaderLayout {
845
+ DEFAULT = "default",
846
+ NEXT_LINE_ACTIONS = "next-line-actions"
847
+ }
728
848
  export interface HeaderProps {
729
849
  className?: string;
730
850
  style?: CSSProperties;
731
851
  children: ReactNode;
852
+ layout?: HeaderLayout;
732
853
  }
733
854
  export const Header: React.ForwardRefExoticComponent<HeaderProps & React.RefAttributes<HTMLElement>>;
734
855
 
@@ -739,25 +860,42 @@ declare module '@layerfi/components/components/Container/index' {
739
860
 
740
861
  }
741
862
  declare module '@layerfi/components/components/DataState/DataState' {
742
- import React from 'react';
863
+ import React, { ReactNode } from 'react';
743
864
  export enum DataStateStatus {
744
865
  allDone = "allDone",
866
+ success = "success",
745
867
  failed = "failed",
746
868
  info = "info"
747
869
  }
748
870
  export interface DataStateProps {
749
871
  status: DataStateStatus;
750
872
  title?: string;
873
+ icon?: ReactNode;
751
874
  description?: string;
752
875
  onRefresh?: () => void;
753
876
  isLoading?: boolean;
754
877
  }
755
- export const DataState: ({ status, title, description, onRefresh, isLoading, }: DataStateProps) => React.JSX.Element;
878
+ export const DataState: ({ status, title, description, onRefresh, isLoading, icon, }: DataStateProps) => React.JSX.Element;
756
879
 
757
880
  }
758
881
  declare module '@layerfi/components/components/DataState/index' {
759
882
  export { DataState, DataStateStatus } from '@layerfi/components/components/DataState/DataState';
760
883
 
884
+ }
885
+ declare module '@layerfi/components/components/DateMonthPicker/DateMonthPicker' {
886
+ import React from 'react';
887
+ import { DateRange } from '@layerfi/components/types';
888
+ interface DateMonthPickerProps {
889
+ dateRange: DateRange;
890
+ changeDateRange: (dateRange: Partial<DateRange>) => void;
891
+ }
892
+ export const DateMonthPicker: ({ dateRange, changeDateRange, }: DateMonthPickerProps) => React.JSX.Element;
893
+ export {};
894
+
895
+ }
896
+ declare module '@layerfi/components/components/DateMonthPicker/index' {
897
+ export { DateMonthPicker } from '@layerfi/components/components/DateMonthPicker/DateMonthPicker';
898
+
761
899
  }
762
900
  declare module '@layerfi/components/components/DateTime/DateTime' {
763
901
  import React from 'react';
@@ -852,16 +990,18 @@ declare module '@layerfi/components/components/Hello/index' {
852
990
  }
853
991
  declare module '@layerfi/components/components/HoverMenu/HoverMenu' {
854
992
  import React, { ReactNode } from 'react';
993
+ import { Source } from '@layerfi/components/types/linked_accounts';
855
994
  export interface HoverMenuProps {
856
995
  children: ReactNode;
857
996
  config: {
858
997
  name: string;
859
- action: (plaidItemId: string, accountId: string) => void;
998
+ action: (source: Source, sourceId: string, accountId: string) => void;
860
999
  }[];
861
- plaidItemId: string;
1000
+ connectionId: string;
862
1001
  accountId: string;
1002
+ source: Source;
863
1003
  }
864
- export const HoverMenu: ({ children, config, plaidItemId, accountId, }: HoverMenuProps) => React.JSX.Element;
1004
+ export const HoverMenu: ({ children, config, connectionId, accountId, source, }: HoverMenuProps) => React.JSX.Element;
865
1005
 
866
1006
  }
867
1007
  declare module '@layerfi/components/components/HoverMenu/index' {
@@ -923,6 +1063,83 @@ declare module '@layerfi/components/components/Input/index' {
923
1063
  export { FileInput } from '@layerfi/components/components/Input/FileInput';
924
1064
  export { Select } from '@layerfi/components/components/Input/Select';
925
1065
 
1066
+ }
1067
+ declare module '@layerfi/components/components/Journal/Journal' {
1068
+ import React from 'react';
1069
+ import { useJournal } from '@layerfi/components/hooks/useJournal/index';
1070
+ export type View = 'mobile' | 'tablet' | 'desktop';
1071
+ export interface JournalProps {
1072
+ asWidget?: boolean;
1073
+ }
1074
+ export type JournalContextType = ReturnType<typeof useJournal>;
1075
+ export const JournalContext: React.Context<{
1076
+ data?: import("@layerfi/components/types").JournalEntry[] | undefined;
1077
+ entryData?: import("@layerfi/components/types").JournalEntryLine | undefined;
1078
+ isLoading?: boolean | undefined;
1079
+ isLoadingEntry?: boolean | undefined;
1080
+ isValidating?: boolean | undefined;
1081
+ isValidatingEntry?: boolean | undefined;
1082
+ error?: unknown;
1083
+ errorEntry?: unknown;
1084
+ refetch: () => void;
1085
+ selectedEntryId?: string | undefined;
1086
+ setSelectedEntryId: (id?: string | undefined) => void;
1087
+ closeSelectedEntry: () => void;
1088
+ }>;
1089
+ export const Journal: (props: JournalProps) => React.JSX.Element;
1090
+
1091
+ }
1092
+ declare module '@layerfi/components/components/Journal/index' {
1093
+ export { Journal, JournalContext, View } from '@layerfi/components/components/Journal/Journal';
1094
+
1095
+ }
1096
+ declare module '@layerfi/components/components/JournalRow/JournalRow' {
1097
+ import React from 'react';
1098
+ import { JournalEntry, JournalEntryLine } from '@layerfi/components/types';
1099
+ import { View } from '@layerfi/components/components/Journal/index';
1100
+ export interface JournalRowProps {
1101
+ row: JournalEntry | JournalEntryLine;
1102
+ index: number;
1103
+ initialLoad?: boolean;
1104
+ view: View;
1105
+ lineItemsLength?: number;
1106
+ defaultOpen?: boolean;
1107
+ expanded?: boolean;
1108
+ depth?: number;
1109
+ cumulativeIndex?: number;
1110
+ selectedEntries?: boolean;
1111
+ }
1112
+ export const JournalRow: ({ row, index, initialLoad, view, lineItemsLength, defaultOpen, expanded, depth, cumulativeIndex, selectedEntries, }: JournalRowProps) => React.JSX.Element;
1113
+
1114
+ }
1115
+ declare module '@layerfi/components/components/JournalRow/index' {
1116
+ export { JournalRow } from '@layerfi/components/components/JournalRow/JournalRow';
1117
+
1118
+ }
1119
+ declare module '@layerfi/components/components/JournalSidebar/JournalSidebar' {
1120
+ import React, { RefObject } from 'react';
1121
+ export const JournalSidebar: ({ parentRef: _parentRef, }: {
1122
+ parentRef?: RefObject<HTMLDivElement>;
1123
+ }) => React.JSX.Element;
1124
+
1125
+ }
1126
+ declare module '@layerfi/components/components/JournalSidebar/index' {
1127
+ export { JournalSidebar } from '@layerfi/components/components/JournalSidebar/JournalSidebar';
1128
+
1129
+ }
1130
+ declare module '@layerfi/components/components/JournalTable/JournalTable' {
1131
+ import React, { RefObject } from 'react';
1132
+ import { View } from '@layerfi/components/components/Journal/index';
1133
+ export const JournalTable: ({ view, containerRef, pageSize, }: {
1134
+ view: View;
1135
+ containerRef: RefObject<HTMLDivElement>;
1136
+ pageSize?: number | undefined;
1137
+ }) => React.JSX.Element;
1138
+
1139
+ }
1140
+ declare module '@layerfi/components/components/JournalTable/index' {
1141
+ export { JournalTable } from '@layerfi/components/components/JournalTable/JournalTable';
1142
+
926
1143
  }
927
1144
  declare module '@layerfi/components/components/LedgerAccount/LedgerAccountIndex' {
928
1145
  import React, { RefObject } from 'react';
@@ -965,8 +1182,9 @@ declare module '@layerfi/components/components/LinkedAccountOptions/LinkedAccoun
965
1182
  import React from 'react';
966
1183
  import { HoverMenuProps } from '@layerfi/components/components/HoverMenu/index';
967
1184
  interface LinkedAccountOptionsProps extends HoverMenuProps {
1185
+ showLedgerBalance?: boolean;
968
1186
  }
969
- export const LinkedAccountOptions: ({ children, config, accountId, plaidItemId, }: LinkedAccountOptionsProps) => React.JSX.Element;
1187
+ export const LinkedAccountOptions: ({ children, config, accountId, connectionId, source, showLedgerBalance, }: LinkedAccountOptionsProps) => React.JSX.Element;
970
1188
  export {};
971
1189
 
972
1190
  }
@@ -980,8 +1198,9 @@ declare module '@layerfi/components/components/LinkedAccountThumb/LinkedAccountT
980
1198
  export interface LinkedAccountThumbProps {
981
1199
  account: LinkedAccount;
982
1200
  asWidget?: boolean;
1201
+ showLedgerBalance?: boolean;
983
1202
  }
984
- export const LinkedAccountThumb: ({ account, asWidget, }: LinkedAccountThumbProps) => React.JSX.Element;
1203
+ export const LinkedAccountThumb: ({ account, asWidget, showLedgerBalance, }: LinkedAccountThumbProps) => React.JSX.Element;
985
1204
 
986
1205
  }
987
1206
  declare module '@layerfi/components/components/LinkedAccountThumb/index' {
@@ -993,8 +1212,20 @@ declare module '@layerfi/components/components/LinkedAccounts/LinkedAccounts' {
993
1212
  export interface LinkedAccountsProps {
994
1213
  asWidget?: boolean;
995
1214
  elevated?: boolean;
1215
+ showLedgerBalance?: boolean;
1216
+ }
1217
+ export const LinkedAccounts: (props: LinkedAccountsProps) => React.JSX.Element;
1218
+ export const LinkedAccountsComponent: ({ asWidget, elevated, showLedgerBalance, }: LinkedAccountsProps) => React.JSX.Element;
1219
+
1220
+ }
1221
+ declare module '@layerfi/components/components/LinkedAccounts/LinkedAccountsContent' {
1222
+ import React from 'react';
1223
+ interface LinkedAccountsDataProps {
1224
+ asWidget?: boolean;
1225
+ showLedgerBalance?: boolean;
996
1226
  }
997
- export const LinkedAccounts: ({ asWidget, elevated }: LinkedAccountsProps) => React.JSX.Element;
1227
+ export const LinkedAccountsContent: ({ asWidget, showLedgerBalance, }: LinkedAccountsDataProps) => React.JSX.Element;
1228
+ export {};
998
1229
 
999
1230
  }
1000
1231
  declare module '@layerfi/components/components/LinkedAccounts/index' {
@@ -1005,8 +1236,9 @@ declare module '@layerfi/components/components/Loader/Loader' {
1005
1236
  import React, { ReactNode } from 'react';
1006
1237
  export interface LoaderProps {
1007
1238
  children?: ReactNode;
1239
+ size?: number;
1008
1240
  }
1009
- export const Loader: ({ children }: LoaderProps) => React.JSX.Element;
1241
+ export const Loader: ({ children, size }: LoaderProps) => React.JSX.Element;
1010
1242
 
1011
1243
  }
1012
1244
  declare module '@layerfi/components/components/Loader/index' {
@@ -1029,6 +1261,43 @@ declare module '@layerfi/components/components/MatchForm/MatchForm' {
1029
1261
  declare module '@layerfi/components/components/MatchForm/index' {
1030
1262
  export { MatchForm } from '@layerfi/components/components/MatchForm/MatchForm';
1031
1263
 
1264
+ }
1265
+ declare module '@layerfi/components/components/NotificationCard/NotificationCard' {
1266
+ import React, { ReactNode } from 'react';
1267
+ export interface NotificationCardProps {
1268
+ onClick: () => void;
1269
+ children: ReactNode;
1270
+ className?: string;
1271
+ }
1272
+ export const NotificationCard: ({ onClick, children, className, }: NotificationCardProps) => React.JSX.Element;
1273
+
1274
+ }
1275
+ declare module '@layerfi/components/components/NotificationCard/index' {
1276
+ export { NotificationCard } from '@layerfi/components/components/NotificationCard/NotificationCard';
1277
+
1278
+ }
1279
+ declare module '@layerfi/components/components/Onboarding/ConnectAccount' {
1280
+ import React from 'react';
1281
+ import { OnboardingStep } from '@layerfi/components/types/layer_context';
1282
+ export interface ConnectAccountProps {
1283
+ onboardingStep: OnboardingStep;
1284
+ onTransactionsToReviewClick?: () => void;
1285
+ }
1286
+ export const ConnectAccount: ({ onboardingStep, onTransactionsToReviewClick, }: ConnectAccountProps) => React.JSX.Element;
1287
+
1288
+ }
1289
+ declare module '@layerfi/components/components/Onboarding/Onboarding' {
1290
+ import React from 'react';
1291
+ export interface OnboardingProps {
1292
+ onTransactionsToReviewClick?: () => void;
1293
+ }
1294
+ export const Onboarding: (props: OnboardingProps) => React.JSX.Element;
1295
+ export const OnboardingContent: ({ onTransactionsToReviewClick, }: OnboardingProps) => React.JSX.Element | null;
1296
+
1297
+ }
1298
+ declare module '@layerfi/components/components/Onboarding/index' {
1299
+ export { Onboarding } from '@layerfi/components/components/Onboarding/Onboarding';
1300
+
1032
1301
  }
1033
1302
  declare module '@layerfi/components/components/Pagination/Pagination' {
1034
1303
  import React from 'react';
@@ -1124,8 +1393,13 @@ declare module '@layerfi/components/components/ProfitAndLossChart/Indicator' {
1124
1393
  type Props = BaseProps & {
1125
1394
  animateFrom: number;
1126
1395
  setAnimateFrom: (x: number) => void;
1396
+ customCursorSize: {
1397
+ width: number;
1398
+ height: number;
1399
+ };
1400
+ setCustomCursorSize: (width: number, height: number, x: number) => void;
1127
1401
  };
1128
- export const Indicator: ({ viewBox, className, animateFrom, setAnimateFrom, }: Props) => React.JSX.Element | null;
1402
+ export const Indicator: ({ className, animateFrom, setAnimateFrom, customCursorSize, setCustomCursorSize, viewBox, }: Props) => React.JSX.Element | null;
1129
1403
  export {};
1130
1404
 
1131
1405
  }
@@ -1483,6 +1757,18 @@ declare module '@layerfi/components/components/Tooltip/useTooltip' {
1483
1757
  disabled: boolean | undefined;
1484
1758
  };
1485
1759
 
1760
+ }
1761
+ declare module '@layerfi/components/components/TransactionToReviewCard/TransactionToReviewCard' {
1762
+ import React from 'react';
1763
+ export interface TransactionToReviewCardProps {
1764
+ onClick?: () => void;
1765
+ }
1766
+ export const TransactionToReviewCard: ({ onClick, }: TransactionToReviewCardProps) => React.JSX.Element;
1767
+
1768
+ }
1769
+ declare module '@layerfi/components/components/TransactionToReviewCard/index' {
1770
+ export { TransactionToReviewCard } from '@layerfi/components/components/TransactionToReviewCard/TransactionToReviewCard';
1771
+
1486
1772
  }
1487
1773
  declare module '@layerfi/components/components/Typography/ErrorText' {
1488
1774
  import React from 'react';
@@ -1644,6 +1930,39 @@ declare module '@layerfi/components/config/theme' {
1644
1930
  };
1645
1931
  };
1646
1932
 
1933
+ }
1934
+ declare module '@layerfi/components/contexts/ChartOfAccountsContext/ChartOfAccountsContext' {
1935
+ /// <reference types="react" />
1936
+ import { useChartOfAccounts } from '@layerfi/components/hooks/useChartOfAccounts/index';
1937
+ export type ChartOfAccountsContextType = ReturnType<typeof useChartOfAccounts>;
1938
+ export const ChartOfAccountsContext: import("react").Context<{
1939
+ data: import("@layerfi/components/types/chart_of_accounts").ChartWithBalances | undefined;
1940
+ isLoading: boolean;
1941
+ isValidating: boolean;
1942
+ error: any;
1943
+ refetch: () => Promise<{
1944
+ data: import("@layerfi/components/types/chart_of_accounts").ChartWithBalances;
1945
+ } | undefined>;
1946
+ create: (newAccount: import("@layerfi/components/types").NewAccount) => Promise<void>;
1947
+ form: import("@layerfi/components/hooks/useChartOfAccounts/useChartOfAccounts").ChartOfAccountsForm | undefined;
1948
+ sendingForm: boolean;
1949
+ apiError: string | undefined;
1950
+ addAccount: () => void;
1951
+ editAccount: (id: string) => void;
1952
+ cancelForm: () => void;
1953
+ changeFormData: (fieldName: string, value: string | import("@layerfi/components/types/general").BaseSelectOption | undefined) => void;
1954
+ submitForm: () => void;
1955
+ dateRange: {
1956
+ startDate: Date;
1957
+ endDate: Date;
1958
+ };
1959
+ changeDateRange: ({ startDate: newStartDate, endDate: newEndDate, }: Partial<import("@layerfi/components/types").DateRange>) => void;
1960
+ }>;
1961
+
1962
+ }
1963
+ declare module '@layerfi/components/contexts/ChartOfAccountsContext/index' {
1964
+ export { ChartOfAccountsContext } from '@layerfi/components/contexts/ChartOfAccountsContext/ChartOfAccountsContext';
1965
+
1647
1966
  }
1648
1967
  declare module '@layerfi/components/contexts/LayerContext/LayerContext' {
1649
1968
  /// <reference types="react" />
@@ -1657,6 +1976,54 @@ declare module '@layerfi/components/contexts/LayerContext/LayerContext' {
1657
1976
  declare module '@layerfi/components/contexts/LayerContext/index' {
1658
1977
  export { LayerContext } from '@layerfi/components/contexts/LayerContext/LayerContext';
1659
1978
 
1979
+ }
1980
+ declare module '@layerfi/components/contexts/LedgerAccountsContext/LedgerAccountsContext' {
1981
+ /// <reference types="react" />
1982
+ import { useLedgerAccounts } from '@layerfi/components/hooks/useLedgerAccounts/index';
1983
+ export type LedgerAccountsContextType = ReturnType<typeof useLedgerAccounts>;
1984
+ export const LedgerAccountsContext: import("react").Context<{
1985
+ data?: import("@layerfi/components/types").LedgerAccounts | undefined;
1986
+ entryData?: import("@layerfi/components/types").LedgerAccountsEntry | undefined;
1987
+ isLoading?: boolean | undefined;
1988
+ isLoadingEntry?: boolean | undefined;
1989
+ isValidating?: boolean | undefined;
1990
+ isValidatingEntry?: boolean | undefined;
1991
+ error?: unknown;
1992
+ errorEntry?: unknown;
1993
+ refetch: () => void;
1994
+ accountId?: string | undefined;
1995
+ setAccountId: (id?: string | undefined) => void;
1996
+ selectedEntryId?: string | undefined;
1997
+ setSelectedEntryId: (id?: string | undefined) => void;
1998
+ closeSelectedEntry: () => void;
1999
+ }>;
2000
+
2001
+ }
2002
+ declare module '@layerfi/components/contexts/LedgerAccountsContext/index' {
2003
+ export { LedgerAccountsContext } from '@layerfi/components/contexts/LedgerAccountsContext/LedgerAccountsContext';
2004
+
2005
+ }
2006
+ declare module '@layerfi/components/contexts/LinkedAccountsContext/LinkedAccountsContext' {
2007
+ /// <reference types="react" />
2008
+ import { useLinkedAccounts } from '@layerfi/components/hooks/useLinkedAccounts/index';
2009
+ export type LinkedAccountsContextType = ReturnType<typeof useLinkedAccounts>;
2010
+ export const LinkedAccountsContext: import("react").Context<{
2011
+ data?: import("@layerfi/components/types/linked_accounts").LinkedAccount[] | undefined;
2012
+ isLoading: boolean;
2013
+ loadingStatus: import("@layerfi/components/types/general").LoadedStatus;
2014
+ isValidating: boolean;
2015
+ error: unknown;
2016
+ addConnection: (source: import("@layerfi/components/types/linked_accounts").Source) => void;
2017
+ removeConnection: (source: import("@layerfi/components/types/linked_accounts").Source, sourceId: string) => void;
2018
+ repairConnection: (source: import("@layerfi/components/types/linked_accounts").Source, sourceId: string) => void;
2019
+ refetchAccounts: () => void;
2020
+ unlinkAccount: (source: import("@layerfi/components/types/linked_accounts").Source, accountId: string) => void;
2021
+ }>;
2022
+
2023
+ }
2024
+ declare module '@layerfi/components/contexts/LinkedAccountsContext/index' {
2025
+ export { LinkedAccountsContext } from '@layerfi/components/contexts/LinkedAccountsContext/LinkedAccountsContext';
2026
+
1660
2027
  }
1661
2028
  declare module '@layerfi/components/hooks/useBalanceSheet/index' {
1662
2029
  export { useBalanceSheet } from '@layerfi/components/hooks/useBalanceSheet/useBalanceSheet';
@@ -1699,7 +2066,7 @@ declare module '@layerfi/components/hooks/useChartOfAccounts/index' {
1699
2066
 
1700
2067
  }
1701
2068
  declare module '@layerfi/components/hooks/useChartOfAccounts/useChartOfAccounts' {
1702
- import { NewAccount } from '@layerfi/components/types';
2069
+ import { DateRange, NewAccount } from '@layerfi/components/types';
1703
2070
  import { ChartWithBalances, LedgerAccountBalance } from '@layerfi/components/types/chart_of_accounts';
1704
2071
  import { BaseSelectOption } from '@layerfi/components/types/general';
1705
2072
  interface FormError {
@@ -1719,24 +2086,35 @@ declare module '@layerfi/components/hooks/useChartOfAccounts/useChartOfAccounts'
1719
2086
  };
1720
2087
  errors?: FormError[];
1721
2088
  }
1722
- type UseChartOfAccounts = () => {
2089
+ type Props = {
2090
+ startDate?: Date;
2091
+ endDate?: Date;
2092
+ withDates?: boolean;
2093
+ };
2094
+ export const flattenAccounts: (accounts: LedgerAccountBalance[]) => LedgerAccountBalance[];
2095
+ export const useChartOfAccounts: ({ withDates, startDate: initialStartDate, endDate: initialEndDate }?: Props) => {
1723
2096
  data: ChartWithBalances | undefined;
1724
- isLoading?: boolean;
1725
- isValidating?: boolean;
1726
- error?: unknown;
1727
- refetch: () => void;
1728
- create: (newAccount: NewAccount) => void;
1729
- form?: ChartOfAccountsForm;
1730
- sendingForm?: boolean;
1731
- apiError?: string;
2097
+ isLoading: boolean;
2098
+ isValidating: boolean;
2099
+ error: any;
2100
+ refetch: () => Promise<{
2101
+ data: ChartWithBalances;
2102
+ } | undefined>;
2103
+ create: (newAccount: NewAccount) => Promise<void>;
2104
+ form: ChartOfAccountsForm | undefined;
2105
+ sendingForm: boolean;
2106
+ apiError: string | undefined;
1732
2107
  addAccount: () => void;
1733
2108
  editAccount: (id: string) => void;
1734
2109
  cancelForm: () => void;
1735
- changeFormData: (name: string, value: string | BaseSelectOption | undefined) => void;
2110
+ changeFormData: (fieldName: string, value: string | BaseSelectOption | undefined) => void;
1736
2111
  submitForm: () => void;
2112
+ dateRange: {
2113
+ startDate: Date;
2114
+ endDate: Date;
2115
+ };
2116
+ changeDateRange: ({ startDate: newStartDate, endDate: newEndDate, }: Partial<DateRange>) => void;
1737
2117
  };
1738
- export const flattenAccounts: (accounts: LedgerAccountBalance[]) => LedgerAccountBalance[];
1739
- export const useChartOfAccounts: UseChartOfAccounts;
1740
2118
  export {};
1741
2119
 
1742
2120
  }
@@ -1753,6 +2131,31 @@ declare module '@layerfi/components/hooks/useElementSize/useElementSize' {
1753
2131
  clientHeight: number;
1754
2132
  }) => void) => import("react").RefObject<T>;
1755
2133
 
2134
+ }
2135
+ declare module '@layerfi/components/hooks/useJournal/index' {
2136
+ export { useJournal } from '@layerfi/components/hooks/useJournal/useJournal';
2137
+
2138
+ }
2139
+ declare module '@layerfi/components/hooks/useJournal/useJournal' {
2140
+ import { JournalEntry, JournalEntryLine } from '@layerfi/components/types/journal';
2141
+ type UseJournal = () => {
2142
+ data?: JournalEntry[];
2143
+ entryData?: JournalEntryLine;
2144
+ isLoading?: boolean;
2145
+ isLoadingEntry?: boolean;
2146
+ isValidating?: boolean;
2147
+ isValidatingEntry?: boolean;
2148
+ error?: unknown;
2149
+ errorEntry?: unknown;
2150
+ refetch: () => void;
2151
+ selectedEntryId?: string;
2152
+ setSelectedEntryId: (id?: string) => void;
2153
+ closeSelectedEntry: () => void;
2154
+ };
2155
+ export const useJournal: UseJournal;
2156
+ export const flattenEntries: (entries: JournalEntry[]) => JournalEntry[];
2157
+ export {};
2158
+
1756
2159
  }
1757
2160
  declare module '@layerfi/components/hooks/useLayerContext/index' {
1758
2161
  export { useLayerContext } from '@layerfi/components/hooks/useLayerContext/useLayerContext';
@@ -1800,18 +2203,19 @@ declare module '@layerfi/components/hooks/useLinkedAccounts/mockData' {
1800
2203
 
1801
2204
  }
1802
2205
  declare module '@layerfi/components/hooks/useLinkedAccounts/useLinkedAccounts' {
1803
- import { LinkedAccount } from '@layerfi/components/types/linked_accounts';
1804
- type Source = 'PLAID' | 'STRIPE';
2206
+ import { LoadedStatus } from '@layerfi/components/types/general';
2207
+ import { LinkedAccount, Source } from '@layerfi/components/types/linked_accounts';
1805
2208
  type UseLinkedAccounts = () => {
1806
2209
  data?: LinkedAccount[];
1807
2210
  isLoading: boolean;
2211
+ loadingStatus: LoadedStatus;
1808
2212
  isValidating: boolean;
1809
2213
  error: unknown;
1810
2214
  addConnection: (source: Source) => void;
1811
2215
  removeConnection: (source: Source, sourceId: string) => void;
2216
+ repairConnection: (source: Source, sourceId: string) => void;
1812
2217
  refetchAccounts: () => void;
1813
- unlinkAccount: (plaidAccountId: string) => void;
1814
- renewLinkAccount: () => void;
2218
+ unlinkAccount: (source: Source, accountId: string) => void;
1815
2219
  };
1816
2220
  export const useLinkedAccounts: UseLinkedAccounts;
1817
2221
  export {};
@@ -1878,6 +2282,61 @@ declare module '@layerfi/components/hooks/useProfitAndLoss/useProfitAndLoss' {
1878
2282
  export const useProfitAndLoss: UseProfitAndLoss;
1879
2283
  export {};
1880
2284
 
2285
+ }
2286
+ declare module '@layerfi/components/hooks/useProfitAndLoss/useProfitAndLossLTM' {
2287
+ import { ProfitAndLoss, ReportingBasis } from '@layerfi/components/types';
2288
+ import { LoadedStatus } from '@layerfi/components/types/general';
2289
+ type UseProfitAndLossLTMProps = {
2290
+ currentDate: Date;
2291
+ tagFilter?: {
2292
+ key: string;
2293
+ values: string[];
2294
+ };
2295
+ reportingBasis?: ReportingBasis;
2296
+ };
2297
+ type UseProfitAndLossLTMReturn = (props?: UseProfitAndLossLTMProps) => {
2298
+ data: {
2299
+ data: ProfitAndLoss | undefined;
2300
+ isLoading: boolean;
2301
+ error: any;
2302
+ startDate: Date;
2303
+ endDate: Date;
2304
+ }[];
2305
+ isLoading?: boolean;
2306
+ loaded?: LoadedStatus;
2307
+ error?: any;
2308
+ };
2309
+ /**
2310
+ * Hooks fetch Last Twelve Months sending 12 requests (one for each month).
2311
+ * Implementation is not perfect, but we cannot use loops and arrays with hooks.
2312
+ */
2313
+ export const useProfitAndLossLTM: UseProfitAndLossLTMReturn;
2314
+ export {};
2315
+
2316
+ }
2317
+ declare module '@layerfi/components/hooks/useProfitAndLoss/useProfitAndLossQuery' {
2318
+ import { ProfitAndLoss, ReportingBasis } from '@layerfi/components/types';
2319
+ type UseProfitAndLossQueryProps = {
2320
+ startDate: Date;
2321
+ endDate: Date;
2322
+ tagFilter?: {
2323
+ key: string;
2324
+ values: string[];
2325
+ };
2326
+ reportingBasis?: ReportingBasis;
2327
+ };
2328
+ type UseProfitAndLossQueryReturn = (props?: UseProfitAndLossQueryProps) => {
2329
+ data?: ProfitAndLoss;
2330
+ isLoading: boolean;
2331
+ isValidating: boolean;
2332
+ error: any;
2333
+ refetch: () => void;
2334
+ startDate: Date;
2335
+ endDate: Date;
2336
+ };
2337
+ export const useProfitAndLossQuery: UseProfitAndLossQueryReturn;
2338
+ export {};
2339
+
1881
2340
  }
1882
2341
  declare module '@layerfi/components/icons/AlertCircle' {
1883
2342
  import * as React from 'react';
@@ -1899,6 +2358,13 @@ declare module '@layerfi/components/icons/BackArrow' {
1899
2358
  const BackArrow: ({ size, ...props }: IconSvgProps) => React.JSX.Element;
1900
2359
  export default BackArrow;
1901
2360
 
2361
+ }
2362
+ declare module '@layerfi/components/icons/Bell' {
2363
+ import * as React from 'react';
2364
+ import { IconSvgProps } from '@layerfi/components/icons/types';
2365
+ const Bell: ({ size, ...props }: IconSvgProps) => React.JSX.Element;
2366
+ export default Bell;
2367
+
1902
2368
  }
1903
2369
  declare module '@layerfi/components/icons/Calendar' {
1904
2370
  import * as React from 'react';
@@ -1948,6 +2414,13 @@ declare module '@layerfi/components/icons/ChevronRight' {
1948
2414
  const ChavronRight: ({ size, ...props }: IconSvgProps) => React.JSX.Element;
1949
2415
  export default ChavronRight;
1950
2416
 
2417
+ }
2418
+ declare module '@layerfi/components/icons/CreditCard' {
2419
+ import * as React from 'react';
2420
+ import { IconSvgProps } from '@layerfi/components/icons/types';
2421
+ const CreditCard: ({ size, ...props }: IconSvgProps) => React.JSX.Element;
2422
+ export default CreditCard;
2423
+
1951
2424
  }
1952
2425
  declare module '@layerfi/components/icons/DownloadCloud' {
1953
2426
  import * as React from 'react';
@@ -1962,6 +2435,13 @@ declare module '@layerfi/components/icons/Edit2' {
1962
2435
  const Edit2: ({ size, ...props }: IconSvgProps) => React.JSX.Element;
1963
2436
  export default Edit2;
1964
2437
 
2438
+ }
2439
+ declare module '@layerfi/components/icons/Folder' {
2440
+ import * as React from 'react';
2441
+ import { IconSvgProps } from '@layerfi/components/icons/types';
2442
+ const Folder: ({ size, ...props }: IconSvgProps) => React.JSX.Element;
2443
+ export default Folder;
2444
+
1965
2445
  }
1966
2446
  declare module '@layerfi/components/icons/InstitutionIcon' {
1967
2447
  import * as React from 'react';
@@ -1969,6 +2449,13 @@ declare module '@layerfi/components/icons/InstitutionIcon' {
1969
2449
  const InstitutionIcon: ({ size, ...props }: IconSvgProps) => React.JSX.Element;
1970
2450
  export default InstitutionIcon;
1971
2451
 
2452
+ }
2453
+ declare module '@layerfi/components/icons/Link' {
2454
+ import * as React from 'react';
2455
+ import { IconSvgProps } from '@layerfi/components/icons/types';
2456
+ const Link: ({ size, ...props }: IconSvgProps) => React.JSX.Element;
2457
+ export default Link;
2458
+
1972
2459
  }
1973
2460
  declare module '@layerfi/components/icons/Loader' {
1974
2461
  import * as React from 'react';
@@ -1997,6 +2484,12 @@ declare module '@layerfi/components/icons/PieChart' {
1997
2484
  const PieChart: ({ size, ...props }: IconSvgProps) => React.JSX.Element;
1998
2485
  export default PieChart;
1999
2486
 
2487
+ }
2488
+ declare module '@layerfi/components/icons/PlaidIcon' {
2489
+ import React from 'react';
2490
+ const PlaidIcon: () => React.JSX.Element;
2491
+ export default PlaidIcon;
2492
+
2000
2493
  }
2001
2494
  declare module '@layerfi/components/icons/PlusIcon' {
2002
2495
  import * as React from 'react';
@@ -2039,6 +2532,13 @@ declare module '@layerfi/components/icons/SortArrows' {
2039
2532
  const SortArrows: ({ size, ...props }: IconSvgProps) => React.JSX.Element;
2040
2533
  export default SortArrows;
2041
2534
 
2535
+ }
2536
+ declare module '@layerfi/components/icons/Sunrise' {
2537
+ import * as React from 'react';
2538
+ import { IconSvgProps } from '@layerfi/components/icons/types';
2539
+ const Sunrise: ({ size, ...props }: IconSvgProps) => React.JSX.Element;
2540
+ export default Sunrise;
2541
+
2042
2542
  }
2043
2543
  declare module '@layerfi/components/icons/Trash' {
2044
2544
  import * as React from 'react';
@@ -2078,9 +2578,12 @@ declare module '@layerfi/components/index' {
2078
2578
  export { ChartOfAccounts } from '@layerfi/components/components/ChartOfAccounts/index';
2079
2579
  export { LayerProvider } from '@layerfi/components/providers/LayerProvider/index';
2080
2580
  export { useLayerContext } from '@layerfi/components/hooks/useLayerContext/index';
2581
+ export { Journal } from '@layerfi/components/components/Journal/index';
2582
+ export { Onboarding } from '@layerfi/components/components/Onboarding/index';
2081
2583
  export { AccountingOverview } from '@layerfi/components/views/AccountingOverview/index';
2082
2584
  export { BankTransactionsWithLinkedAccounts } from '@layerfi/components/views/BankTransactionsWithLinkedAccounts/index';
2083
2585
  export { Reports } from '@layerfi/components/views/Reports/index';
2586
+ export { GeneralLedgerView } from '@layerfi/components/views/GeneralLedger/index';
2084
2587
 
2085
2588
  }
2086
2589
  declare module '@layerfi/components/models/APIError' {
@@ -2132,6 +2635,19 @@ declare module '@layerfi/components/providers/LayerProvider/LayerProvider' {
2132
2635
  declare module '@layerfi/components/providers/LayerProvider/index' {
2133
2636
  export { LayerProvider } from '@layerfi/components/providers/LayerProvider/LayerProvider';
2134
2637
 
2638
+ }
2639
+ declare module '@layerfi/components/providers/LinkedAccountsProvider/LinkedAccountsProvider' {
2640
+ import React, { ReactNode } from 'react';
2641
+ interface LinkedAccountsProviderProps {
2642
+ children: ReactNode;
2643
+ }
2644
+ export const LinkedAccountsProvider: ({ children, }: LinkedAccountsProviderProps) => React.JSX.Element;
2645
+ export {};
2646
+
2647
+ }
2648
+ declare module '@layerfi/components/providers/LinkedAccountsProvider/index' {
2649
+ export { LinkedAccountsProvider } from '@layerfi/components/providers/LinkedAccountsProvider/LinkedAccountsProvider';
2650
+
2135
2651
  }
2136
2652
  declare module '@layerfi/components/types/api' {
2137
2653
  export interface PaginationMetadata {
@@ -2364,6 +2880,33 @@ declare module '@layerfi/components/types/general' {
2364
2880
  label: string;
2365
2881
  value: string | number;
2366
2882
  }
2883
+ export type LoadedStatus = 'initial' | 'loading' | 'complete';
2884
+
2885
+ }
2886
+ declare module '@layerfi/components/types/journal' {
2887
+ import { Account } from '@layerfi/components/types';
2888
+ import { Direction } from '@layerfi/components/types/bank_transactions';
2889
+ export interface JournalEntry {
2890
+ id: string;
2891
+ business_id: string;
2892
+ ledger_id: string;
2893
+ agent: string;
2894
+ entry_type: string;
2895
+ date: string;
2896
+ entry_at: string;
2897
+ reversal_of_id: string | null;
2898
+ reversal_id: string | null;
2899
+ line_items: any[];
2900
+ }
2901
+ export interface JournalEntryLine {
2902
+ id: string;
2903
+ entry_id: string;
2904
+ account: Account;
2905
+ amount: number;
2906
+ direction: Direction;
2907
+ entry_at: string;
2908
+ createdAt: string;
2909
+ }
2367
2910
 
2368
2911
  }
2369
2912
  declare module '@layerfi/components/types/layer_context' {
@@ -2376,12 +2919,14 @@ declare module '@layerfi/components/types/layer_context' {
2376
2919
  apiUrl: string;
2377
2920
  theme?: LayerThemeConfig;
2378
2921
  colors: ColorsPalette;
2922
+ onboardingStep?: OnboardingStep;
2379
2923
  };
2380
2924
  export type LayerContextHelpers = {
2381
2925
  getColor: (shade: number) => ColorsPaletteOption | undefined;
2382
2926
  setLightColor: (color?: ColorConfig) => void;
2383
2927
  setDarkColor: (color?: ColorConfig) => void;
2384
2928
  setColors: (colors?: LayerThemeConfigColors) => void;
2929
+ setOnboardingStep: (value: OnboardingStep) => void;
2385
2930
  };
2386
2931
  export interface ColorHSLConfig {
2387
2932
  h: string;
@@ -2420,10 +2965,12 @@ declare module '@layerfi/components/types/layer_context' {
2420
2965
  export interface LayerThemeConfig {
2421
2966
  colors?: LayerThemeConfigColors;
2422
2967
  }
2968
+ export type OnboardingStep = undefined | 'connectAccount' | 'complete';
2423
2969
  export enum LayerContextActionName {
2424
2970
  setAuth = "LayerContext.setAuth",
2425
2971
  setCategories = "LayerContext.setCategories",
2426
- setTheme = "LayerContext.setTheme"
2972
+ setTheme = "LayerContext.setTheme",
2973
+ setOnboardingStep = "LayerContext.setOnboardingStep"
2427
2974
  }
2428
2975
  export type LayerContextAction = {
2429
2976
  type: LayerContextActionName.setAuth;
@@ -2440,6 +2987,11 @@ declare module '@layerfi/components/types/layer_context' {
2440
2987
  payload: {
2441
2988
  theme: LayerContextValues['theme'];
2442
2989
  };
2990
+ } | {
2991
+ type: LayerContextActionName.setOnboardingStep;
2992
+ payload: {
2993
+ onboardingStep: LayerContextValues['onboardingStep'];
2994
+ };
2443
2995
  };
2444
2996
 
2445
2997
  }
@@ -2559,11 +3111,11 @@ declare module '@layerfi/components/types/linked_accounts' {
2559
3111
  export interface LinkedAccount {
2560
3112
  id: string;
2561
3113
  external_account_external_id: string;
2562
- external_account_source: string;
3114
+ external_account_source: Source;
2563
3115
  external_account_name: string;
2564
3116
  latest_balance_timestamp: {
2565
3117
  external_account_external_id: string;
2566
- external_account_source: string;
3118
+ external_account_source: Source;
2567
3119
  balance: number;
2568
3120
  at: string;
2569
3121
  created_at: string;
@@ -2571,15 +3123,18 @@ declare module '@layerfi/components/types/linked_accounts' {
2571
3123
  current_ledger_balance: number;
2572
3124
  institution: {
2573
3125
  name: string;
2574
- logo: string;
3126
+ logo: string | null;
2575
3127
  };
2576
3128
  mask?: string;
2577
- logo_base64?: string;
3129
+ connection_id: string;
3130
+ connection_needs_repair_as_of: string | null;
3131
+ requires_user_confirmation_as_of: string | null;
2578
3132
  }
2579
3133
  export type PublicToken = {
2580
3134
  public_token: string;
2581
3135
  institution: PlaidInstitution | null;
2582
3136
  };
3137
+ export type Source = 'PLAID' | 'STRIPE';
2583
3138
 
2584
3139
  }
2585
3140
  declare module '@layerfi/components/types/profit_and_loss' {
@@ -2614,6 +3169,7 @@ declare module '@layerfi/components/types' {
2614
3169
  export { ChartOfAccounts, Account, NewAccount, EditAccount, } from '@layerfi/components/types/chart_of_accounts';
2615
3170
  export { LedgerAccountLineItems as LedgerAccounts, LedgerAccountLineItem, LedgerAccountsAccount, LedgerAccountsEntry, } from '@layerfi/components/types/ledger_accounts';
2616
3171
  export { SortDirection } from '@layerfi/components/types/general';
3172
+ export { JournalEntry, JournalEntryLine, } from '@layerfi/components/types/journal';
2617
3173
  export type DateRange<T = Date> = {
2618
3174
  startDate: T;
2619
3175
  endDate: T;
@@ -2679,8 +3235,10 @@ declare module '@layerfi/components/views/AccountingOverview/AccountingOverview'
2679
3235
  import React from 'react';
2680
3236
  export interface AccountingOverviewProps {
2681
3237
  title?: string;
3238
+ enableOnboarding?: boolean;
3239
+ onTransactionsToReviewClick?: () => void;
2682
3240
  }
2683
- export const AccountingOverview: ({ title, }: AccountingOverviewProps) => React.JSX.Element;
3241
+ export const AccountingOverview: ({ title, enableOnboarding, onTransactionsToReviewClick, }: AccountingOverviewProps) => React.JSX.Element;
2684
3242
 
2685
3243
  }
2686
3244
  declare module '@layerfi/components/views/AccountingOverview/index' {
@@ -2691,13 +3249,27 @@ declare module '@layerfi/components/views/BankTransactionsWithLinkedAccounts/Ban
2691
3249
  import React from 'react';
2692
3250
  export interface BankTransactionsWithLinkedAccountsProps {
2693
3251
  title?: string;
3252
+ elevatedLinkedAccounts?: boolean;
3253
+ showLedgerBalance?: boolean;
2694
3254
  }
2695
- export const BankTransactionsWithLinkedAccounts: ({ title, }: BankTransactionsWithLinkedAccountsProps) => React.JSX.Element;
3255
+ export const BankTransactionsWithLinkedAccounts: ({ title, elevatedLinkedAccounts, showLedgerBalance, }: BankTransactionsWithLinkedAccountsProps) => React.JSX.Element;
2696
3256
 
2697
3257
  }
2698
3258
  declare module '@layerfi/components/views/BankTransactionsWithLinkedAccounts/index' {
2699
3259
  export { BankTransactionsWithLinkedAccounts } from '@layerfi/components/views/BankTransactionsWithLinkedAccounts/BankTransactionsWithLinkedAccounts';
2700
3260
 
3261
+ }
3262
+ declare module '@layerfi/components/views/GeneralLedger/GeneralLedger' {
3263
+ import React from 'react';
3264
+ export interface GeneralLedgerProps {
3265
+ title?: string;
3266
+ }
3267
+ export const GeneralLedgerView: ({ title, }: GeneralLedgerProps) => React.JSX.Element;
3268
+
3269
+ }
3270
+ declare module '@layerfi/components/views/GeneralLedger/index' {
3271
+ export { GeneralLedgerView } from '@layerfi/components/views/GeneralLedger/GeneralLedger';
3272
+
2701
3273
  }
2702
3274
  declare module '@layerfi/components/views/Reports/Reports' {
2703
3275
  import React, { RefObject } from 'react';