@layerfi/components 0.1.33 → 0.1.35

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
@@ -323,6 +323,52 @@ declare module '@layerfi/components/api/layer/profit_and_loss' {
323
323
  error?: unknown;
324
324
  }>;
325
325
 
326
+ }
327
+ declare module '@layerfi/components/api/layer/quickbooks' {
328
+ import { StatusOfSyncFromQuickbooks } from "@layerfi/components/types/quickbooks";
329
+ export const syncFromQuickbooks: (baseUrl: string, accessToken: string | undefined, options?: {
330
+ params?: {
331
+ businessId: string;
332
+ } | undefined;
333
+ body?: Record<string, unknown> | undefined;
334
+ } | undefined) => Promise<Record<string, unknown>>;
335
+ export const statusOfSyncFromQuickbooks: (baseUrl: string, accessToken: string | undefined, options?: {
336
+ params?: {
337
+ businessId: string;
338
+ } | undefined;
339
+ } | undefined) => () => Promise<{
340
+ data: StatusOfSyncFromQuickbooks;
341
+ }>;
342
+ export const initQuickbooksOAuth: (baseUrl: string, accessToken: string | undefined, options?: {
343
+ params?: {
344
+ businessId: string;
345
+ } | undefined;
346
+ body?: Record<string, unknown> | undefined;
347
+ } | undefined) => Promise<{
348
+ data: {
349
+ type: "Quickbooks_Authorization_Params";
350
+ redirect_url: string;
351
+ };
352
+ }>;
353
+ export const unlinkQuickbooksConnection: (baseUrl: string, accessToken: string | undefined, options?: {
354
+ params?: {
355
+ businessId: string;
356
+ } | undefined;
357
+ body?: Record<string, unknown> | undefined;
358
+ } | undefined) => Promise<Record<string, unknown>>;
359
+ /**
360
+ * Lets user know if there exists an active Quickbooks connection or not
361
+ */
362
+ export const statusOfQuickbooksConnection: (baseUrl: string, accessToken: string | undefined, options?: {
363
+ params?: {
364
+ businessId: string;
365
+ } | undefined;
366
+ } | undefined) => () => Promise<{
367
+ data: {
368
+ is_connected: boolean;
369
+ };
370
+ }>;
371
+
326
372
  }
327
373
  declare module '@layerfi/components/api/layer/statement-of-cash-flow' {
328
374
  import { StatementOfCashFlow } from '@layerfi/components/types';
@@ -598,6 +644,45 @@ declare module '@layerfi/components/api/layer' {
598
644
  getStatementOfCashFlow: (baseUrl: string, accessToken: string | undefined, options?: {
599
645
  params?: import("@layerfi/components/api/layer/statement-of-cash-flow").GetStatementOfCashFlowParams | undefined;
600
646
  } | undefined) => () => Promise<import("@layerfi/components/api/layer/statement-of-cash-flow").GetStatementOfCashFlowReturn>;
647
+ syncFromQuickbooks: (baseUrl: string, accessToken: string | undefined, options?: {
648
+ params?: {
649
+ businessId: string;
650
+ } | undefined;
651
+ body?: Record<string, unknown> | undefined;
652
+ } | undefined) => Promise<Record<string, unknown>>;
653
+ statusOfSyncFromQuickbooks: (baseUrl: string, accessToken: string | undefined, options?: {
654
+ params?: {
655
+ businessId: string;
656
+ } | undefined;
657
+ } | undefined) => () => Promise<{
658
+ data: import("@layerfi/components/types/quickbooks").StatusOfSyncFromQuickbooks;
659
+ }>;
660
+ statusOfQuickbooksConnection: (baseUrl: string, accessToken: string | undefined, options?: {
661
+ params?: {
662
+ businessId: string;
663
+ } | undefined;
664
+ } | undefined) => () => Promise<{
665
+ data: {
666
+ is_connected: boolean;
667
+ };
668
+ }>;
669
+ initQuickbooksOAuth: (baseUrl: string, accessToken: string | undefined, options?: {
670
+ params?: {
671
+ businessId: string;
672
+ } | undefined;
673
+ body?: Record<string, unknown> | undefined;
674
+ } | undefined) => Promise<{
675
+ data: {
676
+ type: "Quickbooks_Authorization_Params";
677
+ redirect_url: string;
678
+ };
679
+ }>;
680
+ unlinkQuickbooksConnection: (baseUrl: string, accessToken: string | undefined, options?: {
681
+ params?: {
682
+ businessId: string;
683
+ } | undefined;
684
+ body?: Record<string, unknown> | undefined;
685
+ } | undefined) => Promise<Record<string, unknown>>;
601
686
  };
602
687
 
603
688
  }
@@ -692,9 +777,11 @@ declare module '@layerfi/components/components/BalanceSheet/BalanceSheet' {
692
777
  import React, { PropsWithChildren } from 'react';
693
778
  export type BalanceSheetViewProps = PropsWithChildren & {
694
779
  withExpandAllButton?: boolean;
780
+ asWidget?: boolean;
695
781
  };
696
782
  export type BalanceSheetProps = PropsWithChildren & {
697
783
  effectiveDate?: Date;
784
+ asWidget?: boolean;
698
785
  };
699
786
  export const BalanceSheet: (props: BalanceSheetProps) => React.JSX.Element;
700
787
 
@@ -732,25 +819,6 @@ declare module '@layerfi/components/components/BalanceSheetExpandAllButton/Balan
732
819
  declare module '@layerfi/components/components/BalanceSheetExpandAllButton/index' {
733
820
  export { BalanceSheetExpandAllButton } from '@layerfi/components/components/BalanceSheetExpandAllButton/BalanceSheetExpandAllButton';
734
821
 
735
- }
736
- declare module '@layerfi/components/components/BalanceSheetRow/BalanceSheetRow' {
737
- import React from 'react';
738
- import { LineItem } from '@layerfi/components/types';
739
- type Props = {
740
- depth?: number;
741
- maxDepth?: number;
742
- lineItem?: LineItem | null;
743
- variant?: string;
744
- summarize?: boolean;
745
- defaultExpanded?: boolean;
746
- };
747
- export const BalanceSheetRow: ({ lineItem, depth, maxDepth, variant, summarize, defaultExpanded, }: Props) => React.JSX.Element | null;
748
- export {};
749
-
750
- }
751
- declare module '@layerfi/components/components/BalanceSheetRow/index' {
752
- export { BalanceSheetRow } from '@layerfi/components/components/BalanceSheetRow/BalanceSheetRow';
753
-
754
822
  }
755
823
  declare module '@layerfi/components/components/BalanceSheetTable/BalanceSheetTable' {
756
824
  import React from 'react';
@@ -1019,7 +1087,10 @@ declare module '@layerfi/components/components/BankTransactions/BankTransactions
1019
1087
  filters?: BankTransactionFilters;
1020
1088
  hideHeader?: boolean;
1021
1089
  }
1022
- export const BankTransactions: ({ asWidget, pageSize, categorizedOnly, categorizeView, showDescriptions, showReceiptUploads, monthlyView, mobileComponent, filters: inputFilters, hideHeader, }: BankTransactionsProps) => React.JSX.Element;
1090
+ export interface BankTransactionsWithErrorProps extends BankTransactionsProps {
1091
+ onError?: (error: Error) => void;
1092
+ }
1093
+ export const BankTransactions: ({ onError, ...props }: BankTransactionsWithErrorProps) => React.JSX.Element;
1023
1094
 
1024
1095
  }
1025
1096
  declare module '@layerfi/components/components/BankTransactions/BankTransactionsHeader' {
@@ -1131,6 +1202,14 @@ declare module '@layerfi/components/components/Button/CloseButton' {
1131
1202
  }
1132
1203
  export const CloseButton: ({ className, children, textOnly, ...props }: CloseButtonProps) => React.JSX.Element;
1133
1204
 
1205
+ }
1206
+ declare module '@layerfi/components/components/Button/ExpandButton' {
1207
+ import React, { ButtonHTMLAttributes } from 'react';
1208
+ export interface ExpandButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
1209
+ collapsed?: boolean;
1210
+ }
1211
+ export const ExpandButton: ({ className, children, collapsed, ...props }: ExpandButtonProps) => React.JSX.Element;
1212
+
1134
1213
  }
1135
1214
  declare module '@layerfi/components/components/Button/IconButton' {
1136
1215
  import React, { ButtonHTMLAttributes, ReactNode } from 'react';
@@ -1141,6 +1220,22 @@ declare module '@layerfi/components/components/Button/IconButton' {
1141
1220
  }
1142
1221
  export const IconButton: ({ className, children, icon, active, withBorder, ...props }: IconButtonProps) => React.JSX.Element;
1143
1222
 
1223
+ }
1224
+ declare module '@layerfi/components/components/Button/Link' {
1225
+ import React, { HTMLAttributeAnchorTarget, LinkHTMLAttributes, ReactNode } from 'react';
1226
+ import { ButtonVariant, ButtonJustify } from '@layerfi/components/components/Button/Button';
1227
+ export interface LinkProps extends LinkHTMLAttributes<HTMLAnchorElement> {
1228
+ variant?: ButtonVariant;
1229
+ leftIcon?: ReactNode;
1230
+ rightIcon?: ReactNode;
1231
+ iconOnly?: ReactNode;
1232
+ iconAsPrimary?: boolean;
1233
+ justify?: ButtonJustify;
1234
+ fullWidth?: boolean;
1235
+ target: HTMLAttributeAnchorTarget;
1236
+ }
1237
+ export const Link: ({ className, children, variant, leftIcon, rightIcon, iconOnly, iconAsPrimary, justify, fullWidth, ...props }: LinkProps) => React.JSX.Element;
1238
+
1144
1239
  }
1145
1240
  declare module '@layerfi/components/components/Button/RetryButton' {
1146
1241
  import React, { ButtonHTMLAttributes } from 'react';
@@ -1185,6 +1280,8 @@ declare module '@layerfi/components/components/Button/index' {
1185
1280
  export { TextButton } from '@layerfi/components/components/Button/TextButton';
1186
1281
  export { BackButton } from '@layerfi/components/components/Button/BackButton';
1187
1282
  export { CloseButton } from '@layerfi/components/components/Button/CloseButton';
1283
+ export { ExpandButton } from '@layerfi/components/components/Button/ExpandButton';
1284
+ export { Link } from '@layerfi/components/components/Button/Link';
1188
1285
 
1189
1286
  }
1190
1287
  declare module '@layerfi/components/components/Card/Card' {
@@ -1420,40 +1517,38 @@ declare module '@layerfi/components/components/DataState/index' {
1420
1517
  export { DataState, DataStateStatus } from '@layerfi/components/components/DataState/DataState';
1421
1518
 
1422
1519
  }
1423
- declare module '@layerfi/components/components/DateDayPicker/DateDayPicker' {
1520
+ declare module '@layerfi/components/components/DatePicker/DatePicker' {
1424
1521
  import React from 'react';
1425
- interface DateDayPickerProps {
1426
- dateDay: Date;
1427
- changeDateDay: (dateDay: Date) => void;
1428
- enableFutureDates?: boolean;
1522
+ import 'react-datepicker/dist/react-datepicker.css';
1523
+ interface DatePickerProps {
1524
+ mode: 'dayPicker' | 'dayRangePicker' | 'monthPicker' | 'monthRangePicker' | 'timePicker';
1525
+ selected: Date | [Date | null, Date | null];
1526
+ onChange: (date: Date | [Date, Date | null]) => void;
1527
+ dateFormat?: string;
1528
+ timeIntervals?: number;
1529
+ timeCaption?: string;
1530
+ placeholderText?: string;
1531
+ options?: string[];
1532
+ wrapperClassName?: string;
1533
+ calendarClassName?: string;
1534
+ popperClassName?: string;
1429
1535
  currentDateOption?: boolean;
1430
1536
  minDate?: Date;
1431
1537
  }
1432
- export const DateDayPicker: ({ dateDay, changeDateDay, minDate, enableFutureDates, currentDateOption, }: DateDayPickerProps) => React.JSX.Element;
1538
+ export const DatePicker: ({ selected, onChange, mode, dateFormat, timeIntervals, timeCaption, placeholderText, options, wrapperClassName, calendarClassName, popperClassName, minDate, currentDateOption, ...props }: DatePickerProps) => React.JSX.Element;
1433
1539
  export {};
1434
1540
 
1435
1541
  }
1436
- declare module '@layerfi/components/components/DateDayPicker/index' {
1437
- export { DateDayPicker } from '@layerfi/components/components/DateDayPicker/DateDayPicker';
1438
-
1439
- }
1440
- declare module '@layerfi/components/components/DateMonthPicker/DateMonthPicker' {
1542
+ declare module '@layerfi/components/components/DatePicker/DatePickerOptions' {
1441
1543
  import React from 'react';
1442
- import { DateRange } from '@layerfi/components/types';
1443
- interface DateMonthPickerProps {
1444
- dateRange: DateRange;
1445
- changeDateRange: (dateRange: DateRange) => void;
1446
- enableFutureDates?: boolean;
1447
- minDate?: Date;
1448
- currentDateOption?: boolean;
1449
- responsive?: boolean;
1450
- }
1451
- export const DateMonthPicker: ({ dateRange, changeDateRange, enableFutureDates, minDate, currentDateOption, responsive, }: DateMonthPickerProps) => React.JSX.Element;
1452
- export {};
1544
+ export const DatePickerOptions: ({ options, setSelectedDate, }: {
1545
+ options: string[];
1546
+ setSelectedDate: (dates: [Date | null, Date | null]) => void;
1547
+ }) => React.JSX.Element;
1453
1548
 
1454
1549
  }
1455
- declare module '@layerfi/components/components/DateMonthPicker/index' {
1456
- export { DateMonthPicker } from '@layerfi/components/components/DateMonthPicker/DateMonthPicker';
1550
+ declare module '@layerfi/components/components/DatePicker/index' {
1551
+ export { DatePicker } from '@layerfi/components/components/DatePicker/DatePicker';
1457
1552
 
1458
1553
  }
1459
1554
  declare module '@layerfi/components/components/DateTime/DateTime' {
@@ -1512,6 +1607,36 @@ declare module '@layerfi/components/components/Drawer/Drawer' {
1512
1607
  declare module '@layerfi/components/components/Drawer/index' {
1513
1608
  export { Drawer } from '@layerfi/components/components/Drawer/Drawer';
1514
1609
 
1610
+ }
1611
+ declare module '@layerfi/components/components/ErrorBoundary/ErrorBoundary' {
1612
+ import React, { ErrorInfo, Component } from 'react';
1613
+ import { LayerError } from '@layerfi/components/models/ErrorHandler';
1614
+ interface ErrorBoundaryProps {
1615
+ onError?: (error: Error) => void;
1616
+ }
1617
+ interface ErrorBoundaryState {
1618
+ hasError?: boolean;
1619
+ }
1620
+ export class ErrorBoundary extends Component<React.PropsWithChildren<ErrorBoundaryProps>, ErrorBoundaryState> {
1621
+ onError: (err: LayerError) => void;
1622
+ constructor(props: any);
1623
+ static getDerivedStateFromError(_error: Error): {
1624
+ hasError: boolean;
1625
+ };
1626
+ componentDidCatch(error: Error, _info: ErrorInfo): void;
1627
+ render(): any;
1628
+ }
1629
+ export {};
1630
+
1631
+ }
1632
+ declare module '@layerfi/components/components/ErrorBoundary/ErrorBoundaryMessage' {
1633
+ import React from 'react';
1634
+ export const ErrorBoundaryMessage: () => React.JSX.Element;
1635
+
1636
+ }
1637
+ declare module '@layerfi/components/components/ErrorBoundary/index' {
1638
+ export { ErrorBoundary } from '@layerfi/components/components/ErrorBoundary/ErrorBoundary';
1639
+
1515
1640
  }
1516
1641
  declare module '@layerfi/components/components/ExpandedBankTransactionRow/APIErrorNotifications' {
1517
1642
  import React from 'react';
@@ -1574,30 +1699,17 @@ declare module '@layerfi/components/components/HoverMenu/index' {
1574
1699
  export { HoverMenu, HoverMenuProps } from '@layerfi/components/components/HoverMenu/HoverMenu';
1575
1700
 
1576
1701
  }
1577
- declare module '@layerfi/components/components/Input/DateInput' {
1578
- import React from 'react';
1579
- export const DateInput: ({ selected, onChange, ...props }: {
1580
- selected?: string | undefined;
1581
- onChange?: ((date: string) => void) | undefined;
1582
- dateFormat?: string | undefined;
1583
- timeIntervals?: number | undefined;
1584
- timeCaption?: string | undefined;
1585
- placeholderText?: string | undefined;
1586
- showTimeSelect?: boolean | undefined;
1587
- showTimeSelectOnly?: boolean | undefined;
1588
- }) => React.JSX.Element;
1702
+ declare module '@layerfi/components/components/IconBox/IconBox' {
1703
+ import React, { ReactNode } from 'react';
1704
+ interface IconBoxProps {
1705
+ children: ReactNode;
1706
+ }
1707
+ export const IconBox: ({ children }: IconBoxProps) => React.JSX.Element;
1708
+ export {};
1589
1709
 
1590
1710
  }
1591
- declare module '@layerfi/components/components/Input/DateRangeInput' {
1592
- import React from 'react';
1593
- export const DateRangeInput: ({ selected, onChange, ...props }: {
1594
- selected?: Date[] | undefined;
1595
- onChange?: ((dates: [Date | null, Date | null]) => void) | undefined;
1596
- dateFormat?: string | undefined;
1597
- timeIntervals?: number | undefined;
1598
- timeCaption?: string | undefined;
1599
- placeholderText?: string | undefined;
1600
- }) => React.JSX.Element;
1711
+ declare module '@layerfi/components/components/IconBox/index' {
1712
+ export { IconBox } from '@layerfi/components/components/IconBox/IconBox';
1601
1713
 
1602
1714
  }
1603
1715
  declare module '@layerfi/components/components/Input/FileInput' {
@@ -1668,8 +1780,6 @@ declare module '@layerfi/components/components/Input/index' {
1668
1780
  export { FileInput } from '@layerfi/components/components/Input/FileInput';
1669
1781
  export { Select } from '@layerfi/components/components/Input/Select';
1670
1782
  export { InputWithBadge } from '@layerfi/components/components/Input/InputWithBadge';
1671
- export { DateInput } from '@layerfi/components/components/Input/DateInput';
1672
- export { DateRangeInput } from '@layerfi/components/components/Input/DateRangeInput';
1673
1783
 
1674
1784
  }
1675
1785
  declare module '@layerfi/components/components/Journal/Journal' {
@@ -2004,36 +2114,14 @@ declare module '@layerfi/components/components/Panel/Panel' {
2004
2114
  sidebarIsOpen?: boolean;
2005
2115
  header?: ReactNode;
2006
2116
  parentRef?: RefObject<HTMLDivElement>;
2117
+ defaultSidebarHeight?: boolean;
2007
2118
  }
2008
- export const Panel: ({ children, className, sidebar, header, sidebarIsOpen, parentRef, }: PanelProps) => React.JSX.Element;
2119
+ export const Panel: ({ children, className, sidebar, header, sidebarIsOpen, parentRef, defaultSidebarHeight, }: PanelProps) => React.JSX.Element;
2009
2120
 
2010
2121
  }
2011
2122
  declare module '@layerfi/components/components/Panel/index' {
2012
2123
  export { Panel } from '@layerfi/components/components/Panel/Panel';
2013
2124
 
2014
- }
2015
- declare module '@layerfi/components/components/PanelView/PanelView' {
2016
- import React, { ReactNode } from 'react';
2017
- export interface PanelViewProps {
2018
- children: ReactNode;
2019
- title?: string;
2020
- headerControls?: ReactNode;
2021
- }
2022
- export const PanelView: ({ title, children, headerControls, }: PanelViewProps) => React.JSX.Element;
2023
-
2024
- }
2025
- declare module '@layerfi/components/components/PanelView/index' {
2026
- export { PanelView } from '@layerfi/components/components/PanelView/PanelView';
2027
-
2028
- }
2029
- declare module '@layerfi/components/components/PanelViewHeader/PanelViewHeader' {
2030
- import React, { ReactNode } from 'react';
2031
- export interface PanelViewHeaderProps {
2032
- title?: string;
2033
- controls?: ReactNode;
2034
- }
2035
- export const PanelViewHeader: ({ title, controls }: PanelViewHeaderProps) => React.JSX.Element;
2036
-
2037
2125
  }
2038
2126
  declare module '@layerfi/components/components/Pill/Pill' {
2039
2127
  import React, { PropsWithChildren } from 'react';
@@ -2166,6 +2254,10 @@ declare module '@layerfi/components/components/ProfitAndLossDetailedCharts/Detai
2166
2254
  filters: ProfitAndLossFilters;
2167
2255
  sortBy: (scope: Scope, field: string, direction?: SortDirection) => void;
2168
2256
  }
2257
+ export const mapColorsToTypes: (data: any[]) => {
2258
+ color: any;
2259
+ opacity: any;
2260
+ }[];
2169
2261
  export const DetailedTable: ({ filteredData, sidebarScope, filters, sortBy, hoveredItem, setHoveredItem, }: DetailedTableProps) => React.JSX.Element;
2170
2262
 
2171
2263
  }
@@ -2278,6 +2370,16 @@ declare module '@layerfi/components/components/ProfitAndLossView/ProfitAndLossVi
2278
2370
  declare module '@layerfi/components/components/ProfitAndLossView/index' {
2279
2371
  export { ProfitAndLossView } from '@layerfi/components/components/ProfitAndLossView/ProfitAndLossView';
2280
2372
 
2373
+ }
2374
+ declare module '@layerfi/components/components/Quickbooks/Quickbooks' {
2375
+ import React from "react";
2376
+ const Quickbooks: () => React.JSX.Element;
2377
+ export { Quickbooks };
2378
+
2379
+ }
2380
+ declare module '@layerfi/components/components/Quickbooks/index' {
2381
+ export { Quickbooks } from '@layerfi/components/components/Quickbooks/Quickbooks';
2382
+
2281
2383
  }
2282
2384
  declare module '@layerfi/components/components/SkeletonLoader/SkeletonLoader' {
2283
2385
  import React from 'react';
@@ -2312,25 +2414,6 @@ declare module '@layerfi/components/components/StatementOfCashFlow/constants' {
2312
2414
  declare module '@layerfi/components/components/StatementOfCashFlow/index' {
2313
2415
  export { StatementOfCashFlow } from '@layerfi/components/components/StatementOfCashFlow/StatementOfCashFlow';
2314
2416
 
2315
- }
2316
- declare module '@layerfi/components/components/StatementOfCashFlowRow/StatementOfCashFlowRow' {
2317
- import React from 'react';
2318
- import { LineItem } from '@layerfi/components/types';
2319
- type Props = {
2320
- depth?: number;
2321
- maxDepth?: number;
2322
- lineItem?: LineItem | null;
2323
- variant?: string;
2324
- summarize?: boolean;
2325
- defaultExpanded?: boolean;
2326
- };
2327
- export const StatementOfCashFlowRow: ({ lineItem, depth, maxDepth, variant, summarize, defaultExpanded, }: Props) => React.JSX.Element | null;
2328
- export {};
2329
-
2330
- }
2331
- declare module '@layerfi/components/components/StatementOfCashFlowRow/index' {
2332
- export { StatementOfCashFlowRow } from '@layerfi/components/components/StatementOfCashFlowRow/StatementOfCashFlowRow';
2333
-
2334
2417
  }
2335
2418
  declare module '@layerfi/components/components/StatementOfCashFlowTable/StatementOfCashFlowTable' {
2336
2419
  import React from 'react';
@@ -2352,6 +2435,61 @@ declare module '@layerfi/components/components/StatementOfCashFlowTable/Statemen
2352
2435
  declare module '@layerfi/components/components/StatementOfCashFlowTable/index' {
2353
2436
  export { StatementOfCashFlowTable } from '@layerfi/components/components/StatementOfCashFlowTable/StatementOfCashFlowTable';
2354
2437
 
2438
+ }
2439
+ declare module '@layerfi/components/components/Table/Table' {
2440
+ import React from 'react';
2441
+ import { TableProps } from '@layerfi/components/types/table';
2442
+ export const Table: ({ componentName, children, borderCollapse, bottomSpacing, }: TableProps) => React.JSX.Element;
2443
+
2444
+ }
2445
+ declare module '@layerfi/components/components/Table/index' {
2446
+ import { TableBody } from '@layerfi/components/components/TableBody/index';
2447
+ import { TableCell } from '@layerfi/components/components/TableCell/index';
2448
+ import { TableHead } from '@layerfi/components/components/TableHead/index';
2449
+ import { TableRow } from '@layerfi/components/components/TableRow/index';
2450
+ import { Table } from '@layerfi/components/components/Table/Table';
2451
+ export { Table, TableBody, TableHead, TableRow, TableCell };
2452
+
2453
+ }
2454
+ declare module '@layerfi/components/components/TableBody/TableBody' {
2455
+ import React from 'react';
2456
+ import { TableBodyProps } from '@layerfi/components/types/table';
2457
+ export const TableBody: ({ children }: TableBodyProps) => React.JSX.Element;
2458
+
2459
+ }
2460
+ declare module '@layerfi/components/components/TableBody/index' {
2461
+ export { TableBody } from '@layerfi/components/components/TableBody/TableBody';
2462
+
2463
+ }
2464
+ declare module '@layerfi/components/components/TableCell/TableCell' {
2465
+ import React from 'react';
2466
+ import { TableCellProps } from '@layerfi/components/types/table';
2467
+ export const TableCell: ({ children, isHeaderCell, isCurrency, primary, withExpandIcon, }: TableCellProps) => React.JSX.Element;
2468
+
2469
+ }
2470
+ declare module '@layerfi/components/components/TableCell/index' {
2471
+ export { TableCell } from '@layerfi/components/components/TableCell/TableCell';
2472
+
2473
+ }
2474
+ declare module '@layerfi/components/components/TableHead/TableHead' {
2475
+ import React from 'react';
2476
+ import { TableHeadProps } from '@layerfi/components/types/table';
2477
+ export const TableHead: ({ children }: TableHeadProps) => React.JSX.Element;
2478
+
2479
+ }
2480
+ declare module '@layerfi/components/components/TableHead/index' {
2481
+ export { TableHead } from '@layerfi/components/components/TableHead/TableHead';
2482
+
2483
+ }
2484
+ declare module '@layerfi/components/components/TableRow/TableRow' {
2485
+ import React from 'react';
2486
+ import { TableRowProps } from '@layerfi/components/types/table';
2487
+ export const TableRow: React.FC<TableRowProps>;
2488
+
2489
+ }
2490
+ declare module '@layerfi/components/components/TableRow/index' {
2491
+ export { TableRow } from '@layerfi/components/components/TableRow/TableRow';
2492
+
2355
2493
  }
2356
2494
  declare module '@layerfi/components/components/Tabs/Tab' {
2357
2495
  import React, { ChangeEvent, ReactNode } from 'react';
@@ -2394,18 +2532,56 @@ declare module '@layerfi/components/components/Tabs/index' {
2394
2532
 
2395
2533
  }
2396
2534
  declare module '@layerfi/components/components/Tasks/Tasks' {
2397
- import React from 'react';
2398
- export const Tasks: () => React.JSX.Element;
2399
- export const TasksComponent: () => React.JSX.Element;
2535
+ import React, { ReactNode } from 'react';
2536
+ import { useTasks } from '@layerfi/components/hooks/useTasks/index';
2537
+ export type UseTasksContextType = ReturnType<typeof useTasks>;
2538
+ export const UseTasksContext: React.Context<{
2539
+ data?: import("@layerfi/components/types/tasks").TaskTypes[] | undefined;
2540
+ isLoading?: boolean | undefined;
2541
+ loadedStatus?: import("@layerfi/components/types/general").LoadedStatus | undefined;
2542
+ isValidating?: boolean | undefined;
2543
+ error?: unknown;
2544
+ refetch: () => void;
2545
+ submitResponseToTask: (taskId: string, userResponse: string) => void;
2546
+ }>;
2547
+ export const useTasksContext: () => {
2548
+ data?: import("@layerfi/components/types/tasks").TaskTypes[] | undefined;
2549
+ isLoading?: boolean | undefined;
2550
+ loadedStatus?: import("@layerfi/components/types/general").LoadedStatus | undefined;
2551
+ isValidating?: boolean | undefined;
2552
+ error?: unknown;
2553
+ refetch: () => void;
2554
+ submitResponseToTask: (taskId: string, userResponse: string) => void;
2555
+ };
2556
+ export const Tasks: ({ tasksHeader, collapsable, defaultCollapsed, collapsedWhenComplete, }: {
2557
+ tasksHeader?: string | undefined;
2558
+ collapsable?: boolean | undefined;
2559
+ defaultCollapsed?: boolean | undefined;
2560
+ collapsedWhenComplete?: boolean | undefined;
2561
+ }) => React.JSX.Element;
2562
+ export const TasksProvider: ({ children }: {
2563
+ children: ReactNode;
2564
+ }) => React.JSX.Element;
2565
+ export const TasksComponent: ({ tasksHeader, collapsable, defaultCollapsed, collapsedWhenComplete, }: {
2566
+ tasksHeader?: string | undefined;
2567
+ collapsable?: boolean | undefined;
2568
+ defaultCollapsed?: boolean | undefined;
2569
+ collapsedWhenComplete?: boolean | undefined;
2570
+ }) => React.JSX.Element;
2400
2571
 
2401
2572
  }
2402
2573
  declare module '@layerfi/components/components/Tasks/index' {
2403
- export { Tasks } from '@layerfi/components/components/Tasks/Tasks';
2574
+ export { Tasks, TasksProvider, TasksComponent } from '@layerfi/components/components/Tasks/Tasks';
2404
2575
 
2405
2576
  }
2406
2577
  declare module '@layerfi/components/components/TasksHeader/TasksHeader' {
2407
2578
  import React from 'react';
2408
- export const TasksHeader: () => React.JSX.Element;
2579
+ export const TasksHeader: ({ tasksHeader, collapsable, open, toggleContent, }: {
2580
+ tasksHeader?: string | undefined;
2581
+ collapsable?: boolean | undefined;
2582
+ open?: boolean | undefined;
2583
+ toggleContent: () => void;
2584
+ }) => React.JSX.Element;
2409
2585
 
2410
2586
  }
2411
2587
  declare module '@layerfi/components/components/TasksHeader/index' {
@@ -2707,6 +2883,20 @@ declare module '@layerfi/components/components/Typography/index' {
2707
2883
  export { Heading, HeadingSize } from '@layerfi/components/components/Typography/Heading';
2708
2884
  export { ErrorText } from '@layerfi/components/components/Typography/ErrorText';
2709
2885
 
2886
+ }
2887
+ declare module '@layerfi/components/components/UpsellBanner/BookkeepingUpsellBar' {
2888
+ import React from 'react';
2889
+ interface BookkeepingUpsellBarProps {
2890
+ onClick?: () => void;
2891
+ href?: string;
2892
+ }
2893
+ export const BookkeepingUpsellBar: ({ onClick, href, }: BookkeepingUpsellBarProps) => React.JSX.Element;
2894
+ export {};
2895
+
2896
+ }
2897
+ declare module '@layerfi/components/components/UpsellBanner/index' {
2898
+ export { BookkeepingUpsellBar } from '@layerfi/components/components/UpsellBanner/BookkeepingUpsellBar';
2899
+
2710
2900
  }
2711
2901
  declare module '@layerfi/components/components/View/View' {
2712
2902
  import React, { ReactNode } from 'react';
@@ -2714,8 +2904,12 @@ declare module '@layerfi/components/components/View/View' {
2714
2904
  children: ReactNode;
2715
2905
  title?: string;
2716
2906
  headerControls?: ReactNode;
2907
+ type?: 'default' | 'panel';
2908
+ withSidebar?: boolean;
2909
+ sidebar?: ReactNode;
2910
+ viewClassName?: string;
2717
2911
  }
2718
- export const View: ({ title, children, headerControls }: ViewProps) => React.JSX.Element;
2912
+ export const View: ({ title, children, headerControls, type, withSidebar, sidebar, viewClassName, }: ViewProps) => React.JSX.Element;
2719
2913
 
2720
2914
  }
2721
2915
  declare module '@layerfi/components/components/View/index' {
@@ -2737,6 +2931,8 @@ declare module '@layerfi/components/components/ViewHeader/index' {
2737
2931
  }
2738
2932
  declare module '@layerfi/components/config/charts' {
2739
2933
  export const INACTIVE_OPACITY_LEVELS: number[];
2934
+ export const DEFAULT_CHART_OPACITY: number[];
2935
+ export const DEFAULT_CHART_COLOR_TYPE: string[];
2740
2936
  export const DEFAULT_CHART_COLORS: {
2741
2937
  color: string;
2742
2938
  opacity: number;
@@ -3040,22 +3236,19 @@ declare module '@layerfi/components/contexts/StatementOfCashContext/index' {
3040
3236
  export { StatementOfCashFlowContext } from '@layerfi/components/contexts/StatementOfCashContext/StatementOfCashFlowContext';
3041
3237
 
3042
3238
  }
3043
- declare module '@layerfi/components/contexts/TableExpandContext/TableExpandContext' {
3239
+ declare module '@layerfi/components/contexts/TableContext/TableContext' {
3044
3240
  import React, { ReactNode } from 'react';
3045
- interface TableExpandContextType {
3046
- tableExpandState: boolean;
3047
- toggleTableExpandState: () => void;
3048
- }
3049
- export const TableExpandContext: React.Context<TableExpandContextType>;
3050
- interface TableExpandProviderProps {
3241
+ import { TableContextProps } from '@layerfi/components/types/table';
3242
+ export const TableContext: React.Context<TableContextProps>;
3243
+ interface TableProviderProps {
3051
3244
  children: ReactNode;
3052
3245
  }
3053
- export const TableExpandProvider: React.FC<TableExpandProviderProps>;
3246
+ export const TableProvider: React.FC<TableProviderProps>;
3054
3247
  export {};
3055
3248
 
3056
3249
  }
3057
- declare module '@layerfi/components/contexts/TableExpandContext/index' {
3058
- export { TableExpandContext, TableExpandProvider } from '@layerfi/components/contexts/TableExpandContext/TableExpandContext';
3250
+ declare module '@layerfi/components/contexts/TableContext/index' {
3251
+ export { TableContext, TableProvider } from '@layerfi/components/contexts/TableContext/TableContext';
3059
3252
 
3060
3253
  }
3061
3254
  declare module '@layerfi/components/contexts/TasksContext/TasksContext' {
@@ -3065,6 +3258,7 @@ declare module '@layerfi/components/contexts/TasksContext/TasksContext' {
3065
3258
  export const TasksContext: import("react").Context<{
3066
3259
  data?: import("@layerfi/components/types/tasks").TaskTypes[] | undefined;
3067
3260
  isLoading?: boolean | undefined;
3261
+ loadedStatus?: import("@layerfi/components/types/general").LoadedStatus | undefined;
3068
3262
  isValidating?: boolean | undefined;
3069
3263
  error?: unknown;
3070
3264
  refetch: () => void;
@@ -3205,6 +3399,23 @@ declare module '@layerfi/components/hooks/useChartOfAccounts/useChartOfAccounts'
3205
3399
  };
3206
3400
  export {};
3207
3401
 
3402
+ }
3403
+ declare module '@layerfi/components/hooks/useDataSync/index' {
3404
+ export { useDataSync } from '@layerfi/components/hooks/useDataSync/useDataSync';
3405
+
3406
+ }
3407
+ declare module '@layerfi/components/hooks/useDataSync/useDataSync' {
3408
+ import { DataModel } from '@layerfi/components/types/general';
3409
+ type UseDataSync = () => {
3410
+ touch: (model: DataModel) => void;
3411
+ read: (model: DataModel) => void;
3412
+ syncTimestamps: Partial<Record<DataModel, number>>;
3413
+ readTimestamps: Partial<Record<DataModel, number>>;
3414
+ hasBeenTouched: (model: DataModel) => boolean;
3415
+ };
3416
+ export const useDataSync: UseDataSync;
3417
+ export {};
3418
+
3208
3419
  }
3209
3420
  declare module '@layerfi/components/hooks/useDrawer/index' {
3210
3421
  export { useDrawer } from '@layerfi/components/hooks/useDrawer/useDrawer';
@@ -3456,6 +3667,22 @@ declare module '@layerfi/components/hooks/useProfitAndLoss/useProfitAndLossQuery
3456
3667
  export const useProfitAndLossQuery: UseProfitAndLossQueryReturn;
3457
3668
  export {};
3458
3669
 
3670
+ }
3671
+ declare module '@layerfi/components/hooks/useQuickbooks/index' {
3672
+ export { useQuickbooks } from '@layerfi/components/hooks/useQuickbooks/useQuickbooks';
3673
+
3674
+ }
3675
+ declare module '@layerfi/components/hooks/useQuickbooks/useQuickbooks' {
3676
+ type UseQuickbooks = () => {
3677
+ linkQuickbooks: () => Promise<string>;
3678
+ unlinkQuickbooks: () => void;
3679
+ syncFromQuickbooks: () => void;
3680
+ isSyncingFromQuickbooks: boolean;
3681
+ quickbooksIsLinked: boolean | null;
3682
+ };
3683
+ export const useQuickbooks: UseQuickbooks;
3684
+ export {};
3685
+
3459
3686
  }
3460
3687
  declare module '@layerfi/components/hooks/useStatementOfCashFlow/index' {
3461
3688
  export { useStatementOfCashFlow } from '@layerfi/components/hooks/useStatementOfCashFlow/useStatementOfCashFlow';
@@ -3478,12 +3705,11 @@ declare module '@layerfi/components/hooks/useTableExpandRow/index' {
3478
3705
 
3479
3706
  }
3480
3707
  declare module '@layerfi/components/hooks/useTableExpandRow/useTableExpandRow' {
3481
- /// <reference types="react" />
3482
- export const useTableExpandRow: (index: number, defaultOpen?: boolean) => {
3483
- isOpen: boolean;
3484
- setIsOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
3485
- showComponent: boolean;
3486
- INDENTATION: number;
3708
+ export const useTableExpandRow: () => {
3709
+ isOpen: (rowKey: string) => boolean;
3710
+ setIsOpen: (rowKey: string | string[], withoutAllRowsUpdate?: boolean) => void;
3711
+ expandedAllRows: boolean;
3712
+ toggleAllRows: () => void;
3487
3713
  };
3488
3714
 
3489
3715
  }
@@ -3492,10 +3718,12 @@ declare module '@layerfi/components/hooks/useTasks/index' {
3492
3718
 
3493
3719
  }
3494
3720
  declare module '@layerfi/components/hooks/useTasks/useTasks' {
3721
+ import { LoadedStatus } from '@layerfi/components/types/general';
3495
3722
  import { TaskTypes } from '@layerfi/components/types/tasks';
3496
3723
  type UseTasks = () => {
3497
3724
  data?: TaskTypes[];
3498
3725
  isLoading?: boolean;
3726
+ loadedStatus?: LoadedStatus;
3499
3727
  isValidating?: boolean;
3500
3728
  error?: unknown;
3501
3729
  refetch: () => void;
@@ -3598,6 +3826,13 @@ declare module '@layerfi/components/icons/CloseIcon' {
3598
3826
  const CloseIcon: ({ size, ...props }: IconSvgProps) => React.JSX.Element;
3599
3827
  export default CloseIcon;
3600
3828
 
3829
+ }
3830
+ declare module '@layerfi/components/icons/Coffee' {
3831
+ import * as React from 'react';
3832
+ import { IconSvgProps } from '@layerfi/components/icons/types';
3833
+ const CoffeeIcon: ({ size, ...props }: IconSvgProps) => React.JSX.Element;
3834
+ export default CoffeeIcon;
3835
+
3601
3836
  }
3602
3837
  declare module '@layerfi/components/icons/CreditCard' {
3603
3838
  import * as React from 'react';
@@ -3778,12 +4013,15 @@ declare module '@layerfi/components/index' {
3778
4013
  export { Onboarding } from '@layerfi/components/components/Onboarding/index';
3779
4014
  export { LinkedAccounts } from '@layerfi/components/components/LinkedAccounts/index';
3780
4015
  export { BankTransactions } from '@layerfi/components/components/BankTransactions/index';
4016
+ export { Quickbooks } from '@layerfi/components/components/Quickbooks/index';
3781
4017
  export { ProfitAndLoss } from '@layerfi/components/components/ProfitAndLoss/index';
3782
4018
  export { BalanceSheet } from '@layerfi/components/components/BalanceSheet/index';
3783
4019
  export { StatementOfCashFlow } from '@layerfi/components/components/StatementOfCashFlow/index';
3784
4020
  export { ChartOfAccounts } from '@layerfi/components/components/ChartOfAccounts/index';
3785
4021
  export { Journal } from '@layerfi/components/components/Journal/index';
3786
4022
  export { Tasks } from '@layerfi/components/components/Tasks/index';
4023
+ export { BookkeepingUpsellBar } from '@layerfi/components/components/UpsellBanner/index';
4024
+ export { BookkeepingOverview } from '@layerfi/components/views/BookkeepingOverview/index';
3787
4025
  export { AccountingOverview } from '@layerfi/components/views/AccountingOverview/index';
3788
4026
  export { BankTransactionsWithLinkedAccounts } from '@layerfi/components/views/BankTransactionsWithLinkedAccounts/index';
3789
4027
  export { GeneralLedgerView } from '@layerfi/components/views/GeneralLedger/index';
@@ -3807,6 +4045,26 @@ declare module '@layerfi/components/models/APIError' {
3807
4045
  getAllMessages(): (string | undefined)[] | undefined;
3808
4046
  }
3809
4047
 
4048
+ }
4049
+ declare module '@layerfi/components/models/ErrorHandler' {
4050
+ import { APIError } from '@layerfi/components/models/APIError';
4051
+ type LayerErrorType = 'unauthenticated' | 'api' | 'render';
4052
+ type LayerErrorScope = 'BankTransaction' | 'ChartOfAccounts';
4053
+ export interface LayerError {
4054
+ type?: LayerErrorType;
4055
+ scope?: LayerErrorScope;
4056
+ payload: Error | APIError;
4057
+ }
4058
+ class ErrorHandlerClass {
4059
+ onErrorCallback?: (err: LayerError) => void | undefined;
4060
+ constructor();
4061
+ setOnError(errorFnc: ((err: LayerError) => void) | undefined): void;
4062
+ onError(err: LayerError): void;
4063
+ }
4064
+ export const errorHandler: ErrorHandlerClass;
4065
+ export const reportError: (payload: LayerError) => void;
4066
+ export {};
4067
+
3810
4068
  }
3811
4069
  declare module '@layerfi/components/models/Money' {
3812
4070
  export const centsToDollars: (cents?: number) => string;
@@ -3833,6 +4091,7 @@ declare module '@layerfi/components/providers/BankTransactionsProvider/index' {
3833
4091
  }
3834
4092
  declare module '@layerfi/components/providers/LayerProvider/LayerProvider' {
3835
4093
  import React, { PropsWithChildren } from 'react';
4094
+ import { LayerError } from '@layerfi/components/models/ErrorHandler';
3836
4095
  import { LayerThemeConfig } from '@layerfi/components/types/layer_context';
3837
4096
  type LayerEnvironmentConfig = {
3838
4097
  url: string;
@@ -3848,8 +4107,9 @@ declare module '@layerfi/components/providers/LayerProvider/LayerProvider' {
3848
4107
  environment?: keyof typeof LayerEnvironment;
3849
4108
  theme?: LayerThemeConfig;
3850
4109
  usePlaidSandbox?: boolean;
4110
+ onError?: (error: LayerError) => void;
3851
4111
  };
3852
- export const LayerProvider: ({ appId, appSecret, businessId, children, businessAccessToken, environment, theme, usePlaidSandbox, }: PropsWithChildren<Props>) => React.JSX.Element;
4112
+ export const LayerProvider: ({ appId, appSecret, businessId, children, businessAccessToken, environment, theme, usePlaidSandbox, onError, }: PropsWithChildren<Props>) => React.JSX.Element;
3853
4113
  export {};
3854
4114
 
3855
4115
  }
@@ -3898,6 +4158,7 @@ declare module '@layerfi/components/types/balance_sheet' {
3898
4158
  export interface BalanceSheet {
3899
4159
  business_id: string;
3900
4160
  type: 'Balance_Sheet';
4161
+ effective_date: string;
3901
4162
  start_date: string;
3902
4163
  end_date: string;
3903
4164
  assets: LineItem;
@@ -4047,6 +4308,9 @@ declare module '@layerfi/components/types/categories' {
4047
4308
  } | {
4048
4309
  type: 'AccountId';
4049
4310
  id: string;
4311
+ } | {
4312
+ type: 'Exclusion';
4313
+ exclusion_type: string;
4050
4314
  };
4051
4315
  export type SingleCategoryUpdate = {
4052
4316
  type: 'Category';
@@ -4150,6 +4414,18 @@ declare module '@layerfi/components/types/general' {
4150
4414
  fileType: string;
4151
4415
  }
4152
4416
  export type LoadedStatus = 'initial' | 'loading' | 'complete';
4417
+ export enum DataModel {
4418
+ BUSINESS = "BUSINESS",
4419
+ BALANCE_SHEET = "BALANCE_SHEET",
4420
+ BANK_TRANSACTIONS = "BANK_TRANSACTIONS",
4421
+ CHART_OF_ACCOUNTS = "CHART_OF_ACCOUNTS",
4422
+ JOURNAL = "JOURNAL",
4423
+ LEDGER_ACCOUNTS = "LEDGER_ACCOUNTS",
4424
+ LINKED_ACCOUNTS = "LINKED_ACCOUNTS",
4425
+ PROFIT_AND_LOSS = "PROFIT_AND_LOSS",
4426
+ STATEMENT_OF_CASH_FLOWS = "STATEMENT_OF_CASH_FLOWS",
4427
+ TASKS = "TASKS"
4428
+ }
4153
4429
 
4154
4430
  }
4155
4431
  declare module '@layerfi/components/types/journal' {
@@ -4214,8 +4490,10 @@ declare module '@layerfi/components/types/journal' {
4214
4490
  }
4215
4491
  declare module '@layerfi/components/types/layer_context' {
4216
4492
  import { ToastProps } from '@layerfi/components/components/Toast/Toast';
4493
+ import { LayerError } from '@layerfi/components/models/ErrorHandler';
4217
4494
  import { Business, Category } from '@layerfi/components/types';
4218
4495
  import { ExpiringOAuthResponse } from '@layerfi/components/types/authentication';
4496
+ import { DataModel } from '@layerfi/components/types/general';
4219
4497
  export type LayerContextValues = {
4220
4498
  auth: ExpiringOAuthResponse;
4221
4499
  businessId: string;
@@ -4240,6 +4518,12 @@ declare module '@layerfi/components/types/layer_context' {
4240
4518
  setOnboardingStep: (value: OnboardingStep) => void;
4241
4519
  addToast: (toast: ToastProps) => void;
4242
4520
  removeToast: (toast: ToastProps) => void;
4521
+ onError?: (error: LayerError) => void;
4522
+ touch: (model: DataModel) => void;
4523
+ read: (model: DataModel) => void;
4524
+ syncTimestamps: Partial<Record<DataModel, number>>;
4525
+ readTimestamps: Partial<Record<DataModel, number>>;
4526
+ hasBeenTouched: (model: DataModel) => boolean;
4243
4527
  };
4244
4528
  export interface ColorHSLConfig {
4245
4529
  h: string;
@@ -4520,6 +4804,12 @@ declare module '@layerfi/components/types/profit_and_loss' {
4520
4804
  months: ProfitAndLossSummary[];
4521
4805
  }
4522
4806
 
4807
+ }
4808
+ declare module '@layerfi/components/types/quickbooks' {
4809
+ export type StatusOfSyncFromQuickbooks = {
4810
+ is_syncing: boolean;
4811
+ };
4812
+
4523
4813
  }
4524
4814
  declare module '@layerfi/components/types/statement_of_cash_flow' {
4525
4815
  import { LineItem } from '@layerfi/components/types/line_item';
@@ -4535,6 +4825,48 @@ declare module '@layerfi/components/types/statement_of_cash_flow' {
4535
4825
  cash_at_end_of_period: number;
4536
4826
  }
4537
4827
 
4828
+ }
4829
+ declare module '@layerfi/components/types/table' {
4830
+ import { ReactNode } from 'react';
4831
+ export interface TableContextProps {
4832
+ expandedRows: string[];
4833
+ setExpandedRows: (rowKey: string) => void;
4834
+ expandAllRows: (rowKeys: string[]) => void;
4835
+ expandedAllRows: boolean;
4836
+ setExpandedAllRows: (expanded: boolean) => void;
4837
+ }
4838
+ export interface TableProps {
4839
+ children: ReactNode | ReactNode[];
4840
+ componentName?: string;
4841
+ borderCollapse?: 'collapse' | 'separate';
4842
+ bottomSpacing?: boolean;
4843
+ }
4844
+ export interface TableHeadProps {
4845
+ children: React.ReactNode;
4846
+ }
4847
+ export interface TableBodyProps {
4848
+ children: ReactNode | ReactNode[];
4849
+ }
4850
+ export interface TableRowProps {
4851
+ rowKey: string;
4852
+ children: ReactNode;
4853
+ depth?: number;
4854
+ expandable?: boolean;
4855
+ variant?: 'expandable' | 'default' | 'summation';
4856
+ withDivider?: boolean;
4857
+ withDividerPosition?: 'top' | 'bottom';
4858
+ isExpanded?: boolean;
4859
+ handleExpand?: () => void;
4860
+ isHeadRow?: boolean;
4861
+ }
4862
+ export interface TableCellProps {
4863
+ children?: number | string | ReactNode;
4864
+ isCurrency?: boolean;
4865
+ isHeaderCell?: boolean;
4866
+ primary?: boolean;
4867
+ withExpandIcon?: boolean;
4868
+ }
4869
+
4538
4870
  }
4539
4871
  declare module '@layerfi/components/types/tasks' {
4540
4872
  export interface TaskTypes {
@@ -4552,8 +4884,9 @@ declare module '@layerfi/components/types/tasks' {
4552
4884
  created_at: string;
4553
4885
  updated_at: string;
4554
4886
  }
4555
- export type TasksStatusType = 'COMPLETED' | 'TODO';
4887
+ export type TasksStatusType = 'COMPLETED' | 'TODO' | 'USER_MARKED_COMPLETED';
4556
4888
  export type TasksResponseType = 'FREE_RESPONSE';
4889
+ export function isComplete(taskType: TasksStatusType): boolean;
4557
4890
 
4558
4891
  }
4559
4892
  declare module '@layerfi/components/types' {
@@ -4596,12 +4929,19 @@ declare module '@layerfi/components/utils/bankTransactions' {
4596
4929
  dateRange?: DateRange | undefined;
4597
4930
  }) => number;
4598
4931
  export const getCategorizePayload: (category: CategoryOption) => {
4932
+ type: "Exclusion";
4933
+ exclusion_type: string;
4934
+ id?: undefined;
4935
+ stable_name?: undefined;
4936
+ } | {
4599
4937
  type: "AccountId";
4600
4938
  id: string;
4939
+ exclusion_type?: undefined;
4601
4940
  stable_name?: undefined;
4602
4941
  } | {
4603
4942
  type: "StableName";
4604
4943
  stable_name: string;
4944
+ exclusion_type?: undefined;
4605
4945
  id?: undefined;
4606
4946
  };
4607
4947
 
@@ -4677,13 +5017,14 @@ declare module '@layerfi/components/utils/profitAndLossUtils' {
4677
5017
 
4678
5018
  }
4679
5019
  declare module '@layerfi/components/views/AccountingOverview/AccountingOverview' {
4680
- import React from 'react';
5020
+ import React, { ReactNode } from 'react';
4681
5021
  export interface AccountingOverviewProps {
4682
5022
  title?: string;
4683
5023
  enableOnboarding?: boolean;
4684
5024
  onTransactionsToReviewClick?: () => void;
5025
+ middleBanner?: ReactNode;
4685
5026
  }
4686
- export const AccountingOverview: ({ title, enableOnboarding, onTransactionsToReviewClick, }: AccountingOverviewProps) => React.JSX.Element;
5027
+ export const AccountingOverview: ({ title, enableOnboarding, onTransactionsToReviewClick, middleBanner, }: AccountingOverviewProps) => React.JSX.Element;
4687
5028
 
4688
5029
  }
4689
5030
  declare module '@layerfi/components/views/AccountingOverview/index' {
@@ -4709,6 +5050,18 @@ declare module '@layerfi/components/views/BankTransactionsWithLinkedAccounts/Ban
4709
5050
  declare module '@layerfi/components/views/BankTransactionsWithLinkedAccounts/index' {
4710
5051
  export { BankTransactionsWithLinkedAccounts } from '@layerfi/components/views/BankTransactionsWithLinkedAccounts/BankTransactionsWithLinkedAccounts';
4711
5052
 
5053
+ }
5054
+ declare module '@layerfi/components/views/BookkeepingOverview/BookkeepingOverview' {
5055
+ import React from 'react';
5056
+ export interface BookkeepingOverviewProps {
5057
+ title?: string;
5058
+ }
5059
+ export const BookkeepingOverview: ({ title, }: BookkeepingOverviewProps) => React.JSX.Element;
5060
+
5061
+ }
5062
+ declare module '@layerfi/components/views/BookkeepingOverview/index' {
5063
+ export { BookkeepingOverview } from '@layerfi/components/views/BookkeepingOverview/BookkeepingOverview';
5064
+
4712
5065
  }
4713
5066
  declare module '@layerfi/components/views/GeneralLedger/GeneralLedger' {
4714
5067
  import React from 'react';