@layerfi/components 0.1.98 → 0.1.99-alpha-1

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.css CHANGED
@@ -361,10 +361,6 @@
361
361
  min-height: 21px;
362
362
  border-width: 0;
363
363
  }
364
- .Layer__badge.Layer__badge--clickable:hover {
365
- background-color: var(--badge-fg-color);
366
- color: var(--badge-bg-color);
367
- }
368
364
  .Layer__badge .Layer__badge__icon {
369
365
  margin-top: 2px;
370
366
  }
@@ -392,6 +388,10 @@
392
388
  background-color: var(--badge-color);
393
389
  color: var(--badge-bg-color);
394
390
  }
391
+ .Layer__badge.Layer__badge--with-hover:hover.Layer__badge--info {
392
+ background-color: var(--badge-color-info);
393
+ color: var(--badge-bg-color-info);
394
+ }
395
395
  .Layer__badge.Layer__badge--with-hover:hover.Layer__badge--success {
396
396
  background-color: var(--badge-color-success);
397
397
  color: var(--badge-bg-color-success);
@@ -4472,13 +4472,14 @@ tbody .Layer__table__empty-row:first-child {
4472
4472
  appearance: none;
4473
4473
  border-radius: var(--btn-border-radius);
4474
4474
  cursor: pointer;
4475
- display: inline-grid;
4475
+ display: inline-flex;
4476
4476
  min-inline-size: 0;
4477
4477
  justify-content: center;
4478
4478
  outline: none;
4479
4479
  user-select: none;
4480
4480
  white-space: nowrap;
4481
4481
  vertical-align: middle;
4482
+ gap: 0.5rem;
4482
4483
  }
4483
4484
  .Layer__UI__Button[data-icon] {
4484
4485
  padding-inline: 0;
@@ -4624,6 +4625,63 @@ tbody .Layer__table__empty-row:first-child {
4624
4625
  .Layer__Checkbox[data-labeled] {
4625
4626
  gap: var(--spacing-xs);
4626
4627
  }
4628
+ .Layer__dropdown-menu__popover {
4629
+ outline: none;
4630
+ }
4631
+ .Layer__dropdown-menu__popover[data-entering] {
4632
+ animation: popover-slide 120ms;
4633
+ }
4634
+ .Layer__dropdown-menu__popover:focus-visible {
4635
+ outline: none;
4636
+ }
4637
+ @keyframes popover-slide {
4638
+ from {
4639
+ transform: translateY(-20px);
4640
+ opacity: 0;
4641
+ }
4642
+ to {
4643
+ transform: translateY(0);
4644
+ opacity: 1;
4645
+ }
4646
+ }
4647
+ .Layer__dropdown-menu__menu {
4648
+ padding-top: var(--spacing-xs);
4649
+ padding-bottom: var(--spacing-xs);
4650
+ background: var(--color-base-0);
4651
+ border-radius: var(--border-radius-xs);
4652
+ box-shadow:
4653
+ 0px 0px 0px 1px rgba(25, 25, 25, 0.06),
4654
+ 0px 4px 12px 0px rgba(17, 17, 17, 0.01),
4655
+ 0px 2px 4px 0px rgba(25, 25, 25, 0.06);
4656
+ }
4657
+ .Layer__dropdown-menu__menu-item {
4658
+ display: flex;
4659
+ align-items: center;
4660
+ gap: var(--spacing-xs);
4661
+ padding: var(--spacing-xs);
4662
+ border-radius: var(--border-radius-3xs);
4663
+ box-shadow: 0px 0px 0px 1px var(--base-transparent-4);
4664
+ margin: var(--spacing-3xs) var(--spacing-xs);
4665
+ cursor: pointer;
4666
+ transition: background-color 0.1s ease-in-out;
4667
+ }
4668
+ .Layer__dropdown-menu__menu-item:hover,
4669
+ .Layer__dropdown-menu__menu-item:focus-visible {
4670
+ background-color: var(--color-base-50);
4671
+ }
4672
+ .Layer__dropdown-menu__menu-list {
4673
+ padding-bottom: var(--spacing-3xs);
4674
+ }
4675
+ .Layer__dropdown-menu__separator {
4676
+ height: 1px;
4677
+ width: 100%;
4678
+ margin: var(--spacing-xs) 0;
4679
+ background-color: var(--color-base-200);
4680
+ }
4681
+ .Layer__dropdown-menu__menu-item__heading {
4682
+ padding: var(--spacing-xs) var(--spacing-md);
4683
+ color: var(--text-color-secondary);
4684
+ }
4627
4685
  .Layer__LoadingSpinner {
4628
4686
  animation-name: Layer__rotate;
4629
4687
  animation-duration: 2s;
@@ -4940,6 +4998,9 @@ tbody .Layer__table__empty-row:first-child {
4940
4998
  .Layer__Stack[data-pis="5xl"] {
4941
4999
  padding-inline-start: var(--spacing-5xl);
4942
5000
  }
5001
+ .Layer__Spacer {
5002
+ flex: 1 1 0%;
5003
+ }
4943
5004
  .Layer__MinimalSearchField {
4944
5005
  display: grid;
4945
5006
  grid-template-areas: "input clear-button";
@@ -8812,16 +8873,14 @@ tbody .Layer__table__empty-row:first-child {
8812
8873
  .Layer__linked-accounts__header + .Layer__linked-accounts__list {
8813
8874
  padding-top: 0;
8814
8875
  }
8815
- @container (min-width: 1400px) {
8816
- .Layer__linked-accounts__loader-container {
8817
- min-height: 103px;
8818
- }
8819
- .Layer__linked-accounts__header {
8820
- padding: var(--spacing-lg);
8821
- }
8822
- .Layer__linked-accounts__list {
8823
- padding: var(--spacing-lg);
8824
- }
8876
+ .Layer__linked-accounts__loader-container {
8877
+ min-height: 120px;
8878
+ }
8879
+ .Layer__linked-accounts__header {
8880
+ padding: var(--spacing-lg);
8881
+ }
8882
+ .Layer__linked-accounts__list {
8883
+ padding: var(--spacing-lg);
8825
8884
  }
8826
8885
  .Layer__linked-accounts__new-account {
8827
8886
  cursor: pointer;
@@ -8905,6 +8964,13 @@ tbody .Layer__table__empty-row:first-child {
8905
8964
  height: 136px;
8906
8965
  justify-content: space-between;
8907
8966
  }
8967
+ .Layer__linked-account-thumb.Layer__integrations-quickbooks-item-thumb {
8968
+ box-shadow: none;
8969
+ }
8970
+ .Layer__linked-account-thumb.Layer__integrations-quickbooks-item-thumb .topbar {
8971
+ flex: 1;
8972
+ margin-bottom: var(--spacing-4xs);
8973
+ }
8908
8974
  .Layer__linked-account-thumb.--show-ledger-balance {
8909
8975
  height: 154px;
8910
8976
  }
@@ -9117,6 +9183,22 @@ tbody .Layer__table__empty-row:first-child {
9117
9183
  background-color: var(--color-base-100);
9118
9184
  border-radius: 50%;
9119
9185
  }
9186
+ .Layer__loader--as-badge.Layer__loader--info {
9187
+ background-color: var(--color-info-bg);
9188
+ color: var(--color-info-fg);
9189
+ }
9190
+ .Layer__loader--as-badge.Layer__loader--success {
9191
+ background-color: var(--color-info-success-bg);
9192
+ color: var(--color-info-success-fg);
9193
+ }
9194
+ .Layer__loader--as-badge.Layer__loader--error {
9195
+ background-color: var(--color-info-error-bg);
9196
+ color: var(--color-info-error-fg);
9197
+ }
9198
+ .Layer__loader--as-badge.Layer__loader--warning {
9199
+ background-color: var(--color-info-warning-bg);
9200
+ color: var(--color-info-warning-fg);
9201
+ }
9120
9202
  .Layer__loader--with-bg {
9121
9203
  background-color: var(--color-base-400);
9122
9204
  color: var(--text-color-primary);
package/dist/index.d.ts CHANGED
@@ -502,7 +502,7 @@ declare module '@layerfi/components/api/layer/profit_and_loss' {
502
502
 
503
503
  }
504
504
  declare module '@layerfi/components/api/layer/quickbooks' {
505
- import { StatusOfSyncFromQuickbooks } from '@layerfi/components/types/quickbooks';
505
+ import type { StatusOfQuickbooksConnection, StatusOfSyncFromQuickbooks } from '@layerfi/components/types/quickbooks';
506
506
  export const syncFromQuickbooks: (baseUrl: string, accessToken: string | undefined, options?: {
507
507
  params?: {
508
508
  businessId: string;
@@ -541,9 +541,7 @@ declare module '@layerfi/components/api/layer/quickbooks' {
541
541
  businessId: string;
542
542
  } | undefined;
543
543
  } | undefined) => () => Promise<{
544
- data: {
545
- is_connected: boolean;
546
- };
544
+ data: StatusOfQuickbooksConnection;
547
545
  }>;
548
546
 
549
547
  }
@@ -1016,9 +1014,7 @@ declare module '@layerfi/components/api/layer' {
1016
1014
  businessId: string;
1017
1015
  } | undefined;
1018
1016
  } | undefined) => () => Promise<{
1019
- data: {
1020
- is_connected: boolean;
1021
- };
1017
+ data: import("@layerfi/components/types/quickbooks").StatusOfQuickbooksConnection;
1022
1018
  }>;
1023
1019
  initQuickbooksOAuth: (baseUrl: string, accessToken: string | undefined, options?: {
1024
1020
  params?: {
@@ -1122,8 +1118,9 @@ declare module '@layerfi/components/components/BadgeLoader/BadgeLoader' {
1122
1118
  export interface BadgeLoaderProps {
1123
1119
  children?: ReactNode;
1124
1120
  size?: number;
1121
+ variant?: 'default' | 'info' | 'success' | 'error' | 'warning';
1125
1122
  }
1126
- export const BadgeLoader: ({ children }: BadgeLoaderProps) => import("react/jsx-runtime").JSX.Element;
1123
+ export const BadgeLoader: ({ children, variant }: BadgeLoaderProps) => import("react/jsx-runtime").JSX.Element;
1127
1124
 
1128
1125
  }
1129
1126
  declare module '@layerfi/components/components/BadgeLoader/index' {
@@ -2738,6 +2735,33 @@ declare module '@layerfi/components/components/Input/index' {
2738
2735
  export { InputWithBadge } from '@layerfi/components/components/Input/InputWithBadge';
2739
2736
  export { MultiSelect } from '@layerfi/components/components/Input/MultiSelect';
2740
2737
 
2738
+ }
2739
+ declare module '@layerfi/components/components/Integrations/Integrations' {
2740
+ export interface IntegrationsProps {
2741
+ elevated?: boolean;
2742
+ stringOverrides?: {
2743
+ title?: string;
2744
+ };
2745
+ }
2746
+ export const Integrations: (props: IntegrationsProps) => import("react/jsx-runtime").JSX.Element;
2747
+ export const IntegrationsComponent: ({ elevated, stringOverrides, }: IntegrationsProps) => import("react/jsx-runtime").JSX.Element;
2748
+
2749
+ }
2750
+ declare module '@layerfi/components/components/Integrations/IntegrationsConnectMenu/IntegrationsConnectMenu' {
2751
+ export const IntegrationsConnectMenu: () => import("react/jsx-runtime").JSX.Element;
2752
+
2753
+ }
2754
+ declare module '@layerfi/components/components/Integrations/IntegrationsContent' {
2755
+ export const IntegrationsContent: () => import("react/jsx-runtime").JSX.Element;
2756
+
2757
+ }
2758
+ declare module '@layerfi/components/components/Integrations/IntegrationsQuickbooksItemThumb/IntegrationsQuickbooksItemThumb' {
2759
+ export const IntegrationsQuickbooksItemThumb: () => import("react/jsx-runtime").JSX.Element;
2760
+
2761
+ }
2762
+ declare module '@layerfi/components/components/Integrations/IntegrationsQuickbooksItemThumb/IntegrationsQuickbooksItemThumbFooter' {
2763
+ export const IntegrationsQuickbooksItemThumbFooter: () => import("react/jsx-runtime").JSX.Element;
2764
+
2741
2765
  }
2742
2766
  declare module '@layerfi/components/components/Journal/Journal' {
2743
2767
  import { JournalTableStringOverrides } from '@layerfi/components/components/JournalTable/JournalTableWithPanel';
@@ -3077,7 +3101,7 @@ declare module '@layerfi/components/components/LinkedAccounts/ConfirmationModal/
3077
3101
  export type AccountConfirmExcludeFormState = Record<string, boolean>;
3078
3102
  export function useConfirmAndExcludeMultiple({ onSuccess }: {
3079
3103
  onSuccess?: () => Awaitable<unknown>;
3080
- }): import("swr/mutation").SWRMutationResponse<true, any, () => {
3104
+ }): import("swr/mutation").SWRMutationResponse<true | undefined, any, () => {
3081
3105
  accessToken: string;
3082
3106
  apiUrl: string;
3083
3107
  businessId: string;
@@ -3174,7 +3198,7 @@ declare module '@layerfi/components/components/LinkedAccounts/OpeningBalanceModa
3174
3198
  } | OpeningBalanceAPIResponseValidationError | OpeningBalanceAPIResponseError;
3175
3199
  export function useBulkSetOpeningBalanceAndDate(data: OpeningBalanceData[], { onSuccess }: {
3176
3200
  onSuccess: (results: OpeningBalanceAPIResponseResult[]) => Awaitable<void>;
3177
- }): import("swr/mutation").SWRMutationResponse<true, any, () => {
3201
+ }): import("swr/mutation").SWRMutationResponse<true | undefined, any, () => {
3178
3202
  readonly accessToken: string;
3179
3203
  readonly apiUrl: string;
3180
3204
  readonly businessId: string;
@@ -3473,17 +3497,15 @@ declare module '@layerfi/components/components/ProfitAndLossChart/ChartStateCard
3473
3497
 
3474
3498
  }
3475
3499
  declare module '@layerfi/components/components/ProfitAndLossChart/Indicator' {
3476
- import { Props as BaseProps } from 'recharts/types/component/Label';
3477
- type Props = BaseProps & {
3478
- animateFrom: number;
3479
- setAnimateFrom: (x: number) => void;
3500
+ import type { Props as LabelBaseProps } from 'recharts/types/component/Label';
3501
+ type IndicatorProps = Pick<LabelBaseProps, 'className' | 'viewBox'> & {
3480
3502
  customCursorSize: {
3481
3503
  width: number;
3482
3504
  height: number;
3483
3505
  };
3484
3506
  setCustomCursorSize: (width: number, height: number, x: number) => void;
3485
3507
  };
3486
- export const Indicator: ({ className, animateFrom, setAnimateFrom, customCursorSize, setCustomCursorSize, viewBox, }: Props) => import("react/jsx-runtime").JSX.Element | null;
3508
+ export const Indicator: ({ className, customCursorSize, setCustomCursorSize, viewBox, }: IndicatorProps) => import("react/jsx-runtime").JSX.Element | null;
3487
3509
  export {};
3488
3510
 
3489
3511
  }
@@ -4373,7 +4395,7 @@ declare module '@layerfi/components/components/Tooltip/useTooltip' {
4373
4395
  events: import("@floating-ui/react").FloatingEvents;
4374
4396
  dataRef: React.MutableRefObject<import("@floating-ui/react").ContextData>;
4375
4397
  nodeId: string | undefined;
4376
- floatingId: string | undefined;
4398
+ floatingId: string;
4377
4399
  refs: import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
4378
4400
  elements: import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
4379
4401
  };
@@ -4422,7 +4444,7 @@ declare module '@layerfi/components/components/Tooltip/useTooltip' {
4422
4444
  events: import("@floating-ui/react").FloatingEvents;
4423
4445
  dataRef: React.MutableRefObject<import("@floating-ui/react").ContextData>;
4424
4446
  nodeId: string | undefined;
4425
- floatingId: string | undefined;
4447
+ floatingId: string;
4426
4448
  refs: import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
4427
4449
  elements: import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
4428
4450
  };
@@ -4619,6 +4641,34 @@ declare module '@layerfi/components/components/ui/Checkbox/Checkbox' {
4619
4641
  export function CheckboxWithTooltip({ tooltip, ...props }: CheckboxWithTooltipProps): import("react/jsx-runtime").JSX.Element;
4620
4642
  export {};
4621
4643
 
4644
+ }
4645
+ declare module '@layerfi/components/components/ui/DropdownMenu/DropdownMenu' {
4646
+ import React, { PropsWithChildren } from 'react';
4647
+ type DropdownMenuProps = PropsWithChildren<{
4648
+ className?: string;
4649
+ ariaLabel?: string;
4650
+ slots: {
4651
+ Trigger: React.FC;
4652
+ };
4653
+ slotProps?: {
4654
+ Dialog?: {
4655
+ width?: number;
4656
+ };
4657
+ };
4658
+ }>;
4659
+ type MenuItemProps = PropsWithChildren<{
4660
+ isDisabled?: boolean;
4661
+ onClick?: () => void;
4662
+ }>;
4663
+ export const Heading: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
4664
+ export const Separator: () => import("react/jsx-runtime").JSX.Element;
4665
+ export const MenuItem: ({ children, onClick, isDisabled }: MenuItemProps) => import("react/jsx-runtime").JSX.Element;
4666
+ export const MenuList: ({ children }: {
4667
+ children: React.ReactNode | React.ReactNode[];
4668
+ }) => import("react/jsx-runtime").JSX.Element;
4669
+ export const DropdownMenu: ({ children, ariaLabel, slots, slotProps }: DropdownMenuProps) => import("react/jsx-runtime").JSX.Element;
4670
+ export {};
4671
+
4622
4672
  }
4623
4673
  declare module '@layerfi/components/components/ui/Loading/LoadingSpinner' {
4624
4674
  import { type LucideProps } from 'lucide-react';
@@ -4717,6 +4767,7 @@ declare module '@layerfi/components/components/ui/Stack/Stack' {
4717
4767
  }>;
4718
4768
  export function VStack(props: StackProps): import("react/jsx-runtime").JSX.Element;
4719
4769
  export function HStack(props: StackProps): import("react/jsx-runtime").JSX.Element;
4770
+ export const Spacer: () => import("react/jsx-runtime").JSX.Element;
4720
4771
 
4721
4772
  }
4722
4773
  declare module '@layerfi/components/components/ui/Typography/Heading' {
@@ -5158,6 +5209,19 @@ declare module '@layerfi/components/contexts/ProfitAndLossComparisonContext/Prof
5158
5209
  declare module '@layerfi/components/contexts/ProfitAndLossComparisonContext/index' {
5159
5210
  export { PNLComparisonContext } from '@layerfi/components/contexts/ProfitAndLossComparisonContext/ProfitAndLossComparisonContext';
5160
5211
 
5212
+ }
5213
+ declare module '@layerfi/components/contexts/QuickbooksContext/QuickbooksContext' {
5214
+ import { useQuickbooks } from '@layerfi/components/hooks/useQuickbooks/index';
5215
+ export type QuickbooksContextType = ReturnType<typeof useQuickbooks>;
5216
+ export const QuickbooksContext: import("react").Context<{
5217
+ linkQuickbooks: () => Promise<string>;
5218
+ unlinkQuickbooks: () => void;
5219
+ syncFromQuickbooks: () => void;
5220
+ isSyncingFromQuickbooks: boolean;
5221
+ quickbooksIsConnected: import("@layerfi/components/types/quickbooks").StatusOfQuickbooksConnection["is_connected"] | undefined;
5222
+ quickbooksLastSyncedAt: import("@layerfi/components/types/quickbooks").StatusOfQuickbooksConnection["last_synced_at"] | undefined;
5223
+ }>;
5224
+
5161
5225
  }
5162
5226
  declare module '@layerfi/components/contexts/ReceiptsContext/ReceiptsContext' {
5163
5227
  import { useReceipts } from '@layerfi/components/hooks/useReceipts/useReceipts';
@@ -5235,7 +5299,7 @@ declare module '@layerfi/components/hooks/bookkeeping/periods/tasks/useDeleteUpl
5235
5299
  };
5236
5300
  export function useDeleteUploadsOnTask(): import("swr/mutation").SWRMutationResponse<{
5237
5301
  data: import("@layerfi/components/types/tasks").RawTask;
5238
- }, any, () => {
5302
+ } | undefined, any, () => {
5239
5303
  readonly accessToken: string;
5240
5304
  readonly apiUrl: string;
5241
5305
  readonly businessId: string;
@@ -5251,7 +5315,7 @@ declare module '@layerfi/components/hooks/bookkeeping/periods/tasks/useSubmitRes
5251
5315
  };
5252
5316
  export function useSubmitUserResponseForTask(): import("swr/mutation").SWRMutationResponse<{
5253
5317
  data: import("@layerfi/components/types/tasks").RawTask;
5254
- }, any, () => {
5318
+ } | undefined, any, () => {
5255
5319
  readonly accessToken: string;
5256
5320
  readonly apiUrl: string;
5257
5321
  readonly businessId: string;
@@ -5267,7 +5331,7 @@ declare module '@layerfi/components/hooks/bookkeeping/periods/tasks/useUpdateTas
5267
5331
  };
5268
5332
  export function useUpdateTaskUploadDescription(): import("swr/mutation").SWRMutationResponse<{
5269
5333
  data: import("@layerfi/components/types/tasks").RawTask;
5270
- }, any, () => {
5334
+ } | undefined, any, () => {
5271
5335
  readonly accessToken: string;
5272
5336
  readonly apiUrl: string;
5273
5337
  readonly businessId: string;
@@ -5284,7 +5348,7 @@ declare module '@layerfi/components/hooks/bookkeeping/periods/tasks/useUploadDoc
5284
5348
  };
5285
5349
  export function useUploadDocumentsForTask(): import("swr/mutation").SWRMutationResponse<{
5286
5350
  data: import("@layerfi/components/types/file_upload").FileMetadata;
5287
- }, any, () => {
5351
+ } | undefined, any, () => {
5288
5352
  readonly accessToken: string;
5289
5353
  readonly apiUrl: string;
5290
5354
  readonly businessId: string;
@@ -5395,7 +5459,7 @@ declare module '@layerfi/components/hooks/bookkeeping/useBookkeepingStatus' {
5395
5459
  }
5396
5460
  declare module '@layerfi/components/hooks/business/useUpdateBusiness' {
5397
5461
  export const BUSINESS_TAG_KEY = "business";
5398
- export function useUpdateBusiness(): import("swr/mutation").SWRMutationResponse<import("../../types").Business, any, () => {
5462
+ export function useUpdateBusiness(): import("swr/mutation").SWRMutationResponse<import("../../types").Business | undefined, any, () => {
5399
5463
  readonly accessToken: string;
5400
5464
  readonly apiUrl: string;
5401
5465
  readonly businessId: string;
@@ -5488,7 +5552,7 @@ declare module '@layerfi/components/hooks/businessPersonnel/useCreateBusinessPer
5488
5552
  role: PersonnelRole;
5489
5553
  }>;
5490
5554
  };
5491
- export function useCreateBusinessPersonnel(): import("swr/mutation").SWRMutationResponse<BusinessPersonnel, any, () => {
5555
+ export function useCreateBusinessPersonnel(): import("swr/mutation").SWRMutationResponse<BusinessPersonnel | undefined, any, () => {
5492
5556
  readonly accessToken: string;
5493
5557
  readonly apiUrl: string;
5494
5558
  readonly businessId: string;
@@ -5501,7 +5565,7 @@ declare module '@layerfi/components/hooks/businessPersonnel/useUpdateBusinessPer
5501
5565
  import { type UpdateBusinessPersonnelBody } from '@layerfi/components/api/layer/businessPersonnel/updateBusinessPersonnel';
5502
5566
  export function useUpdateBusinessPersonnel({ businessPersonnelId }: {
5503
5567
  businessPersonnelId?: string;
5504
- }): import("swr/mutation").SWRMutationResponse<import("./types").BusinessPersonnel, any, () => {
5568
+ }): import("swr/mutation").SWRMutationResponse<import("./types").BusinessPersonnel | undefined, any, () => {
5505
5569
  readonly accessToken: string;
5506
5570
  readonly apiUrl: string;
5507
5571
  readonly businessId: string;
@@ -5613,7 +5677,7 @@ declare module '@layerfi/components/hooks/useBankTransactions/useBankTransaction
5613
5677
  }
5614
5678
  declare module '@layerfi/components/hooks/useBankTransactions/useBankTransactionsDownload' {
5615
5679
  import type { UseBankTransactionsOptions } from '@layerfi/components/hooks/useBankTransactions/useBankTransactions';
5616
- export function useBankTransactionsDownload(): import("swr/mutation").SWRMutationResponse<import("../../types/general").S3PresignedUrl, any, () => {
5680
+ export function useBankTransactionsDownload(): import("swr/mutation").SWRMutationResponse<import("../../types/general").S3PresignedUrl | undefined, any, () => {
5617
5681
  readonly accessToken: string;
5618
5682
  readonly apiUrl: string;
5619
5683
  readonly businessId: string;
@@ -5637,7 +5701,7 @@ declare module '@layerfi/components/hooks/useBankTransactions/useUpdateBankTrans
5637
5701
  export function useUpdateBankTransactionMetadata({ bankTransactionId, onSuccess }: {
5638
5702
  bankTransactionId: string;
5639
5703
  onSuccess?: () => Awaitable<unknown>;
5640
- }): import("swr/mutation").SWRMutationResponse<import("../../types/bank_transactions").BankTransactionMetadata, any, () => {
5704
+ }): import("swr/mutation").SWRMutationResponse<import("../../types/bank_transactions").BankTransactionMetadata | undefined, any, () => {
5641
5705
  accessToken: string;
5642
5706
  apiUrl: string;
5643
5707
  businessId: string;
@@ -5715,7 +5779,7 @@ declare module '@layerfi/components/hooks/useChartOfAccounts/useCreateChildAccou
5715
5779
  type NewChildAccountWithParentAccountId = NewChildAccount & {
5716
5780
  accountId: string;
5717
5781
  };
5718
- export function useCreateChildAccount(): import("swr/mutation").SWRMutationResponse<import("../../types/chart_of_accounts").Account, any, () => {
5782
+ export function useCreateChildAccount(): import("swr/mutation").SWRMutationResponse<import("../../types/chart_of_accounts").Account | undefined, any, () => {
5719
5783
  readonly accessToken: string;
5720
5784
  readonly apiUrl: string;
5721
5785
  readonly businessId: string;
@@ -6132,12 +6196,14 @@ declare module '@layerfi/components/hooks/useQuickbooks/index' {
6132
6196
 
6133
6197
  }
6134
6198
  declare module '@layerfi/components/hooks/useQuickbooks/useQuickbooks' {
6199
+ import type { StatusOfQuickbooksConnection } from '@layerfi/components/types/quickbooks';
6135
6200
  type UseQuickbooks = () => {
6136
6201
  linkQuickbooks: () => Promise<string>;
6137
6202
  unlinkQuickbooks: () => void;
6138
6203
  syncFromQuickbooks: () => void;
6139
6204
  isSyncingFromQuickbooks: boolean;
6140
- quickbooksIsLinked: boolean | null;
6205
+ quickbooksIsConnected: StatusOfQuickbooksConnection['is_connected'] | undefined;
6206
+ quickbooksLastSyncedAt: StatusOfQuickbooksConnection['last_synced_at'] | undefined;
6141
6207
  };
6142
6208
  export const useQuickbooks: UseQuickbooks;
6143
6209
  export {};
@@ -6327,6 +6393,12 @@ declare module '@layerfi/components/icons/Coffee' {
6327
6393
  const CoffeeIcon: ({ size, ...props }: IconSvgProps) => import("react/jsx-runtime").JSX.Element;
6328
6394
  export default CoffeeIcon;
6329
6395
 
6396
+ }
6397
+ declare module '@layerfi/components/icons/Cog' {
6398
+ import { IconSvgProps } from '@layerfi/components/icons/types';
6399
+ const Cog: ({ size, ...props }: IconSvgProps) => import("react/jsx-runtime").JSX.Element;
6400
+ export default Cog;
6401
+
6330
6402
  }
6331
6403
  declare module '@layerfi/components/icons/Collapse' {
6332
6404
  import { IconSvgProps } from '@layerfi/components/icons/types';
@@ -6488,6 +6560,12 @@ declare module '@layerfi/components/icons/ProgressIcon' {
6488
6560
  const ProgressIcon: ({ size, ...props }: IconSvgProps) => import("react/jsx-runtime").JSX.Element;
6489
6561
  export default ProgressIcon;
6490
6562
 
6563
+ }
6564
+ declare module '@layerfi/components/icons/QuickbooksIcon' {
6565
+ import { IconSvgProps } from '@layerfi/components/icons/types';
6566
+ const QuickbooksIcon: ({ size, ...props }: IconSvgProps) => import("react/jsx-runtime").JSX.Element;
6567
+ export default QuickbooksIcon;
6568
+
6491
6569
  }
6492
6570
  declare module '@layerfi/components/icons/RefreshCcw' {
6493
6571
  import { IconSvgProps } from '@layerfi/components/icons/types';
@@ -6579,6 +6657,7 @@ declare module '@layerfi/components/index' {
6579
6657
  export { Onboarding } from '@layerfi/components/components/Onboarding/index';
6580
6658
  export { LinkedAccounts } from '@layerfi/components/components/LinkedAccounts/index';
6581
6659
  export { BankTransactions } from '@layerfi/components/components/BankTransactions/index';
6660
+ export { Integrations } from '@layerfi/components/components/Integrations/Integrations';
6582
6661
  export { Quickbooks } from '@layerfi/components/components/Quickbooks/index';
6583
6662
  export { ProfitAndLoss } from '@layerfi/components/components/ProfitAndLoss/index';
6584
6663
  export { BalanceSheet } from '@layerfi/components/components/BalanceSheet/index';
@@ -6876,6 +6955,11 @@ declare module '@layerfi/components/providers/LinkedAccountsProvider/LinkedAccou
6876
6955
  declare module '@layerfi/components/providers/LinkedAccountsProvider/index' {
6877
6956
  export { LinkedAccountsProvider } from '@layerfi/components/providers/LinkedAccountsProvider/LinkedAccountsProvider';
6878
6957
 
6958
+ }
6959
+ declare module '@layerfi/components/providers/QuickbooksContextProvider/QuickbooksContextProvider' {
6960
+ import { type PropsWithChildren } from 'react';
6961
+ export function QuickbooksContextProvider({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
6962
+
6879
6963
  }
6880
6964
  declare module '@layerfi/components/providers/ReceiptsProvider/ReceiptsProvider' {
6881
6965
  import { ReactNode } from 'react';
@@ -8002,6 +8086,10 @@ declare module '@layerfi/components/types/profit_and_loss' {
8002
8086
 
8003
8087
  }
8004
8088
  declare module '@layerfi/components/types/quickbooks' {
8089
+ export type StatusOfQuickbooksConnection = {
8090
+ is_connected: boolean;
8091
+ last_synced_at: string | null;
8092
+ };
8005
8093
  export type StatusOfSyncFromQuickbooks = {
8006
8094
  is_syncing: boolean;
8007
8095
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layerfi/components",
3
- "version": "0.1.98",
3
+ "version": "0.1.99-alpha-1",
4
4
  "description": "Layer React Components",
5
5
  "main": "dist/cjs/index.cjs",
6
6
  "module": "dist/esm/index.mjs",