@layerfi/components 0.1.106 → 0.1.107-alpha

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
@@ -1838,7 +1838,7 @@ declare module '@layerfi/components/components/Bills/useBillForm' {
1838
1838
  form: import("@tanstack/react-form").ReactFormExtendedApi<BillForm, FormValidateOrFn<BillForm>, FormValidateOrFn<BillForm>, FormAsyncValidateOrFn<BillForm>, FormValidateOrFn<BillForm>, FormAsyncValidateOrFn<BillForm>, FormValidateOrFn<BillForm>, FormAsyncValidateOrFn<BillForm>, FormAsyncValidateOrFn<BillForm>, FormAsyncValidateOrFn<BillForm>>;
1839
1839
  isDirty: boolean;
1840
1840
  submitError: string | undefined;
1841
- formErrorMap: import("@tanstack/react-form").FormValidationErrorMap<undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined>;
1841
+ formErrorMap: import("@tanstack/react-form").ValidationErrorMap<undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined>;
1842
1842
  };
1843
1843
 
1844
1844
  }
@@ -2542,14 +2542,14 @@ declare module '@layerfi/components/components/CsvUpload/DownloadCsvTemplateButt
2542
2542
  fileName?: string;
2543
2543
  className?: string;
2544
2544
  }
2545
- export const DownloadCsvTemplateButton: <T extends { [K in keyof T]: string | number; }>({ children, className, csvProps, fileName }: PropsWithChildren<DownloadCsvTemplateButtonProps<T>>) => import("react/jsx-runtime").JSX.Element;
2545
+ export const DownloadCsvTemplateButton: <T extends { [K in keyof T]: string | number | null | undefined; }>({ children, className, csvProps, fileName }: PropsWithChildren<DownloadCsvTemplateButtonProps<T>>) => import("react/jsx-runtime").JSX.Element;
2546
2546
  export {};
2547
2547
 
2548
2548
  }
2549
2549
  declare module '@layerfi/components/components/CsvUpload/ValidateCsvTable' {
2550
2550
  import { PreviewCsv } from '@layerfi/components/components/CsvUpload/types';
2551
2551
  interface ValidateCsvTableProps<T extends {
2552
- [K in keyof T]: string | number;
2552
+ [K in keyof T]: string | number | null | undefined;
2553
2553
  }> {
2554
2554
  data: PreviewCsv<T>;
2555
2555
  headers: {
@@ -2561,8 +2561,8 @@ declare module '@layerfi/components/components/CsvUpload/ValidateCsvTable' {
2561
2561
  className?: string;
2562
2562
  }
2563
2563
  export function ValidateCsvTable<T extends {
2564
- [K in keyof T]: string | number;
2565
- }>({ data, headers, formatters, className }: ValidateCsvTableProps<T>): import("react/jsx-runtime").JSX.Element;
2564
+ [K in keyof T]: string | number | null | undefined;
2565
+ }>({ data, headers, formatters, className, }: ValidateCsvTableProps<T>): import("react/jsx-runtime").JSX.Element;
2566
2566
  export {};
2567
2567
 
2568
2568
  }
@@ -2573,7 +2573,7 @@ declare module '@layerfi/components/components/CsvUpload/types' {
2573
2573
  is_valid: boolean;
2574
2574
  };
2575
2575
  export type PreviewRow<T extends {
2576
- [K in keyof T]: string | number;
2576
+ [K in keyof T]: string | number | null | undefined;
2577
2577
  }> = {
2578
2578
  [K in keyof T]: PreviewCell<T[K]>;
2579
2579
  } & {
@@ -2581,7 +2581,7 @@ declare module '@layerfi/components/components/CsvUpload/types' {
2581
2581
  is_valid: boolean;
2582
2582
  };
2583
2583
  export type PreviewCsv<T extends {
2584
- [K in keyof T]: string | number;
2584
+ [K in keyof T]: string | number | null | undefined;
2585
2585
  }> = PreviewRow<T>[];
2586
2586
 
2587
2587
  }
@@ -2625,6 +2625,7 @@ declare module '@layerfi/components/components/DataPoint/DataPoint' {
2625
2625
  }
2626
2626
  declare module '@layerfi/components/components/DataState/DataState' {
2627
2627
  import { ReactNode } from 'react';
2628
+ import { TextSize } from '@layerfi/components/components/Typography/index';
2628
2629
  export enum DataStateStatus {
2629
2630
  allDone = "allDone",
2630
2631
  success = "success",
@@ -2640,9 +2641,10 @@ declare module '@layerfi/components/components/DataState/DataState' {
2640
2641
  isLoading?: boolean;
2641
2642
  spacing?: boolean;
2642
2643
  inline?: boolean;
2644
+ titleSize?: TextSize;
2643
2645
  className?: string;
2644
2646
  }
2645
- export const DataState: ({ status, title, description, onRefresh, isLoading, icon, spacing, inline, className, }: DataStateProps) => import("react/jsx-runtime").JSX.Element;
2647
+ export const DataState: ({ status, title, description, onRefresh, isLoading, icon, spacing, inline, titleSize, className, }: DataStateProps) => import("react/jsx-runtime").JSX.Element;
2646
2648
 
2647
2649
  }
2648
2650
  declare module '@layerfi/components/components/DataState/index' {
@@ -3268,1358 +3270,140 @@ declare module '@layerfi/components/components/Integrations/IntegrationsQuickboo
3268
3270
 
3269
3271
  }
3270
3272
  declare module '@layerfi/components/components/Invoices/InvoiceDetail/InvoiceDetail' {
3271
- import { type InvoiceFormProps } from '@layerfi/components/components/Invoices/InvoiceForm/InvoiceForm';
3272
- export type InvoiceDetailProps = InvoiceFormProps & {
3273
- onGoBack: () => void;
3274
- };
3275
- export const InvoiceDetail: (props: InvoiceDetailProps) => import("react/jsx-runtime").JSX.Element;
3276
-
3277
- }
3278
- declare module '@layerfi/components/components/Invoices/InvoiceForm/InvoiceForm' {
3279
- import type { Invoice } from '@layerfi/components/features/invoices/invoiceSchemas';
3280
- import { UpsertInvoiceMode } from '@layerfi/components/features/invoices/api/useUpsertInvoice';
3281
- export type InvoiceFormMode = {
3282
- mode: UpsertInvoiceMode.Update;
3283
- invoice: Invoice;
3284
- } | {
3285
- mode: UpsertInvoiceMode.Create;
3286
- };
3287
- export type InvoiceFormProps = InvoiceFormMode & {
3288
- onSuccess?: (invoice: Invoice) => void;
3289
- };
3290
- export const InvoiceForm: (props: InvoiceFormProps) => import("react/jsx-runtime").JSX.Element;
3291
-
3292
- }
3293
- declare module '@layerfi/components/components/Invoices/InvoiceForm/useInvoiceForm' {
3294
- import { type Invoice } from '@layerfi/components/features/invoices/invoiceSchemas';
3295
- import { UpsertInvoiceMode } from '@layerfi/components/features/invoices/api/useUpsertInvoice';
3296
- import { BigDecimal as BD } from 'effect';
3297
- export const EMPTY_LINE_ITEM: {
3298
- product: string;
3299
- description: string;
3300
- unitPrice: number;
3301
- quantity: BD.BigDecimal;
3302
- amount: number;
3303
- isTaxable: boolean;
3304
- };
3305
- type UseInvoiceFormProps = {
3306
- onSuccess?: (invoice: Invoice) => void;
3307
- mode: UpsertInvoiceMode.Create;
3308
- } | {
3309
- onSuccess?: (invoice: Invoice) => void;
3310
- mode: UpsertInvoiceMode.Update;
3311
- invoice: Invoice;
3312
- };
3313
- export const useInvoiceForm: (props: UseInvoiceFormProps) => {
3314
- form: import("@tanstack/react-form").FormApi<{
3315
- invoiceNumber: string;
3316
- customer: null;
3317
- email: string;
3318
- address: string;
3319
- lineItems: {
3320
- product: string;
3321
- description: string;
3322
- unitPrice: number;
3323
- quantity: BD.BigDecimal;
3324
- amount: number;
3325
- isTaxable: boolean;
3326
- }[];
3327
- } | {
3328
- invoiceNumber: string | null;
3329
- customer: {
3330
- readonly id: string;
3331
- readonly externalId: string | null;
3332
- readonly individualName: string | null;
3333
- readonly companyName: string | null;
3334
- readonly email: string | null;
3335
- readonly mobilePhone: string | null;
3336
- readonly officePhone: string | null;
3337
- readonly addressString: string | null;
3338
- readonly status: "ACTIVE" | "ARCHIVED";
3339
- readonly memo: string | null;
3340
- readonly _local?: {
3341
- readonly isOptimistic: boolean;
3342
- } | undefined;
3343
- } | null;
3344
- email: string | null | undefined;
3345
- address: string | null | undefined;
3346
- lineItems: {
3347
- amount: number;
3348
- isTaxable: boolean;
3349
- id: string;
3350
- externalId: string | null;
3351
- memo: string | null;
3352
- description: string | null;
3353
- product: string | null;
3354
- subtotal: number;
3355
- quantity: BD.BigDecimal;
3356
- invoiceId: string;
3357
- unitPrice: number;
3358
- discountAmount: number;
3359
- salesTaxTotal: number;
3360
- totalAmount: number;
3361
- }[];
3362
- }, import("@tanstack/react-form").FormValidateOrFn<{
3363
- invoiceNumber: string;
3364
- customer: null;
3365
- email: string;
3366
- address: string;
3367
- lineItems: {
3368
- product: string;
3369
- description: string;
3370
- unitPrice: number;
3371
- quantity: BD.BigDecimal;
3372
- amount: number;
3373
- isTaxable: boolean;
3374
- }[];
3375
- } | {
3376
- invoiceNumber: string | null;
3377
- customer: {
3378
- readonly id: string;
3379
- readonly externalId: string | null;
3380
- readonly individualName: string | null;
3381
- readonly companyName: string | null;
3382
- readonly email: string | null;
3383
- readonly mobilePhone: string | null;
3384
- readonly officePhone: string | null;
3385
- readonly addressString: string | null;
3386
- readonly status: "ACTIVE" | "ARCHIVED";
3387
- readonly memo: string | null;
3388
- readonly _local?: {
3389
- readonly isOptimistic: boolean;
3390
- } | undefined;
3391
- } | null;
3392
- email: string | null | undefined;
3393
- address: string | null | undefined;
3394
- lineItems: {
3395
- amount: number;
3396
- isTaxable: boolean;
3397
- id: string;
3398
- externalId: string | null;
3399
- memo: string | null;
3400
- description: string | null;
3401
- product: string | null;
3402
- subtotal: number;
3403
- quantity: BD.BigDecimal;
3404
- invoiceId: string;
3405
- unitPrice: number;
3406
- discountAmount: number;
3407
- salesTaxTotal: number;
3408
- totalAmount: number;
3409
- }[];
3410
- }> | undefined, import("@tanstack/react-form").FormValidateOrFn<{
3411
- invoiceNumber: string;
3412
- customer: null;
3413
- email: string;
3414
- address: string;
3415
- lineItems: {
3416
- product: string;
3417
- description: string;
3418
- unitPrice: number;
3419
- quantity: BD.BigDecimal;
3420
- amount: number;
3421
- isTaxable: boolean;
3422
- }[];
3423
- } | {
3424
- invoiceNumber: string | null;
3425
- customer: {
3426
- readonly id: string;
3427
- readonly externalId: string | null;
3428
- readonly individualName: string | null;
3429
- readonly companyName: string | null;
3430
- readonly email: string | null;
3431
- readonly mobilePhone: string | null;
3432
- readonly officePhone: string | null;
3433
- readonly addressString: string | null;
3434
- readonly status: "ACTIVE" | "ARCHIVED";
3435
- readonly memo: string | null;
3436
- readonly _local?: {
3437
- readonly isOptimistic: boolean;
3438
- } | undefined;
3439
- } | null;
3440
- email: string | null | undefined;
3441
- address: string | null | undefined;
3442
- lineItems: {
3443
- amount: number;
3444
- isTaxable: boolean;
3445
- id: string;
3446
- externalId: string | null;
3447
- memo: string | null;
3448
- description: string | null;
3449
- product: string | null;
3450
- subtotal: number;
3451
- quantity: BD.BigDecimal;
3452
- invoiceId: string;
3453
- unitPrice: number;
3454
- discountAmount: number;
3455
- salesTaxTotal: number;
3456
- totalAmount: number;
3457
- }[];
3458
- }> | undefined, import("@tanstack/react-form").FormAsyncValidateOrFn<{
3459
- invoiceNumber: string;
3460
- customer: null;
3461
- email: string;
3462
- address: string;
3463
- lineItems: {
3464
- product: string;
3465
- description: string;
3466
- unitPrice: number;
3467
- quantity: BD.BigDecimal;
3468
- amount: number;
3469
- isTaxable: boolean;
3470
- }[];
3471
- } | {
3472
- invoiceNumber: string | null;
3473
- customer: {
3474
- readonly id: string;
3475
- readonly externalId: string | null;
3476
- readonly individualName: string | null;
3477
- readonly companyName: string | null;
3478
- readonly email: string | null;
3479
- readonly mobilePhone: string | null;
3480
- readonly officePhone: string | null;
3481
- readonly addressString: string | null;
3482
- readonly status: "ACTIVE" | "ARCHIVED";
3483
- readonly memo: string | null;
3484
- readonly _local?: {
3485
- readonly isOptimistic: boolean;
3486
- } | undefined;
3487
- } | null;
3488
- email: string | null | undefined;
3489
- address: string | null | undefined;
3490
- lineItems: {
3491
- amount: number;
3492
- isTaxable: boolean;
3493
- id: string;
3494
- externalId: string | null;
3495
- memo: string | null;
3496
- description: string | null;
3497
- product: string | null;
3498
- subtotal: number;
3499
- quantity: BD.BigDecimal;
3500
- invoiceId: string;
3501
- unitPrice: number;
3502
- discountAmount: number;
3503
- salesTaxTotal: number;
3504
- totalAmount: number;
3505
- }[];
3506
- }> | undefined, import("@tanstack/react-form").FormValidateOrFn<{
3507
- invoiceNumber: string;
3508
- customer: null;
3509
- email: string;
3510
- address: string;
3511
- lineItems: {
3512
- product: string;
3513
- description: string;
3514
- unitPrice: number;
3515
- quantity: BD.BigDecimal;
3516
- amount: number;
3517
- isTaxable: boolean;
3518
- }[];
3519
- } | {
3520
- invoiceNumber: string | null;
3521
- customer: {
3522
- readonly id: string;
3523
- readonly externalId: string | null;
3524
- readonly individualName: string | null;
3525
- readonly companyName: string | null;
3526
- readonly email: string | null;
3527
- readonly mobilePhone: string | null;
3528
- readonly officePhone: string | null;
3529
- readonly addressString: string | null;
3530
- readonly status: "ACTIVE" | "ARCHIVED";
3531
- readonly memo: string | null;
3532
- readonly _local?: {
3533
- readonly isOptimistic: boolean;
3534
- } | undefined;
3535
- } | null;
3536
- email: string | null | undefined;
3537
- address: string | null | undefined;
3538
- lineItems: {
3539
- amount: number;
3540
- isTaxable: boolean;
3541
- id: string;
3542
- externalId: string | null;
3543
- memo: string | null;
3544
- description: string | null;
3545
- product: string | null;
3546
- subtotal: number;
3547
- quantity: BD.BigDecimal;
3548
- invoiceId: string;
3549
- unitPrice: number;
3550
- discountAmount: number;
3551
- salesTaxTotal: number;
3552
- totalAmount: number;
3553
- }[];
3554
- }> | undefined, import("@tanstack/react-form").FormAsyncValidateOrFn<{
3555
- invoiceNumber: string;
3556
- customer: null;
3557
- email: string;
3558
- address: string;
3559
- lineItems: {
3560
- product: string;
3561
- description: string;
3562
- unitPrice: number;
3563
- quantity: BD.BigDecimal;
3564
- amount: number;
3565
- isTaxable: boolean;
3566
- }[];
3567
- } | {
3568
- invoiceNumber: string | null;
3569
- customer: {
3570
- readonly id: string;
3571
- readonly externalId: string | null;
3572
- readonly individualName: string | null;
3573
- readonly companyName: string | null;
3574
- readonly email: string | null;
3575
- readonly mobilePhone: string | null;
3576
- readonly officePhone: string | null;
3577
- readonly addressString: string | null;
3578
- readonly status: "ACTIVE" | "ARCHIVED";
3579
- readonly memo: string | null;
3580
- readonly _local?: {
3581
- readonly isOptimistic: boolean;
3582
- } | undefined;
3583
- } | null;
3584
- email: string | null | undefined;
3585
- address: string | null | undefined;
3586
- lineItems: {
3587
- amount: number;
3588
- isTaxable: boolean;
3589
- id: string;
3590
- externalId: string | null;
3591
- memo: string | null;
3592
- description: string | null;
3593
- product: string | null;
3594
- subtotal: number;
3595
- quantity: BD.BigDecimal;
3596
- invoiceId: string;
3597
- unitPrice: number;
3598
- discountAmount: number;
3599
- salesTaxTotal: number;
3600
- totalAmount: number;
3601
- }[];
3602
- }> | undefined, import("@tanstack/react-form").FormValidateOrFn<{
3603
- invoiceNumber: string;
3604
- customer: null;
3605
- email: string;
3606
- address: string;
3607
- lineItems: {
3608
- product: string;
3609
- description: string;
3610
- unitPrice: number;
3611
- quantity: BD.BigDecimal;
3612
- amount: number;
3613
- isTaxable: boolean;
3614
- }[];
3615
- } | {
3616
- invoiceNumber: string | null;
3617
- customer: {
3618
- readonly id: string;
3619
- readonly externalId: string | null;
3620
- readonly individualName: string | null;
3621
- readonly companyName: string | null;
3622
- readonly email: string | null;
3623
- readonly mobilePhone: string | null;
3624
- readonly officePhone: string | null;
3625
- readonly addressString: string | null;
3626
- readonly status: "ACTIVE" | "ARCHIVED";
3627
- readonly memo: string | null;
3628
- readonly _local?: {
3629
- readonly isOptimistic: boolean;
3630
- } | undefined;
3631
- } | null;
3632
- email: string | null | undefined;
3633
- address: string | null | undefined;
3634
- lineItems: {
3635
- amount: number;
3636
- isTaxable: boolean;
3637
- id: string;
3638
- externalId: string | null;
3639
- memo: string | null;
3640
- description: string | null;
3641
- product: string | null;
3642
- subtotal: number;
3643
- quantity: BD.BigDecimal;
3644
- invoiceId: string;
3645
- unitPrice: number;
3646
- discountAmount: number;
3647
- salesTaxTotal: number;
3648
- totalAmount: number;
3649
- }[];
3650
- }> | undefined, import("@tanstack/react-form").FormAsyncValidateOrFn<{
3651
- invoiceNumber: string;
3652
- customer: null;
3653
- email: string;
3654
- address: string;
3655
- lineItems: {
3656
- product: string;
3657
- description: string;
3658
- unitPrice: number;
3659
- quantity: BD.BigDecimal;
3660
- amount: number;
3661
- isTaxable: boolean;
3662
- }[];
3663
- } | {
3664
- invoiceNumber: string | null;
3665
- customer: {
3666
- readonly id: string;
3667
- readonly externalId: string | null;
3668
- readonly individualName: string | null;
3669
- readonly companyName: string | null;
3670
- readonly email: string | null;
3671
- readonly mobilePhone: string | null;
3672
- readonly officePhone: string | null;
3673
- readonly addressString: string | null;
3674
- readonly status: "ACTIVE" | "ARCHIVED";
3675
- readonly memo: string | null;
3676
- readonly _local?: {
3677
- readonly isOptimistic: boolean;
3678
- } | undefined;
3679
- } | null;
3680
- email: string | null | undefined;
3681
- address: string | null | undefined;
3682
- lineItems: {
3683
- amount: number;
3684
- isTaxable: boolean;
3685
- id: string;
3686
- externalId: string | null;
3687
- memo: string | null;
3688
- description: string | null;
3689
- product: string | null;
3690
- subtotal: number;
3691
- quantity: BD.BigDecimal;
3692
- invoiceId: string;
3693
- unitPrice: number;
3694
- discountAmount: number;
3695
- salesTaxTotal: number;
3696
- totalAmount: number;
3697
- }[];
3698
- }> | undefined, import("@tanstack/react-form").FormAsyncValidateOrFn<{
3699
- invoiceNumber: string;
3700
- customer: null;
3701
- email: string;
3702
- address: string;
3703
- lineItems: {
3704
- product: string;
3705
- description: string;
3706
- unitPrice: number;
3707
- quantity: BD.BigDecimal;
3708
- amount: number;
3709
- isTaxable: boolean;
3710
- }[];
3711
- } | {
3712
- invoiceNumber: string | null;
3713
- customer: {
3714
- readonly id: string;
3715
- readonly externalId: string | null;
3716
- readonly individualName: string | null;
3717
- readonly companyName: string | null;
3718
- readonly email: string | null;
3719
- readonly mobilePhone: string | null;
3720
- readonly officePhone: string | null;
3721
- readonly addressString: string | null;
3722
- readonly status: "ACTIVE" | "ARCHIVED";
3723
- readonly memo: string | null;
3724
- readonly _local?: {
3725
- readonly isOptimistic: boolean;
3726
- } | undefined;
3727
- } | null;
3728
- email: string | null | undefined;
3729
- address: string | null | undefined;
3730
- lineItems: {
3731
- amount: number;
3732
- isTaxable: boolean;
3733
- id: string;
3734
- externalId: string | null;
3735
- memo: string | null;
3736
- description: string | null;
3737
- product: string | null;
3738
- subtotal: number;
3739
- quantity: BD.BigDecimal;
3740
- invoiceId: string;
3741
- unitPrice: number;
3742
- discountAmount: number;
3743
- salesTaxTotal: number;
3744
- totalAmount: number;
3745
- }[];
3746
- }> | undefined, unknown> & import("@tanstack/react-form").ReactFormApi<{
3747
- invoiceNumber: string;
3748
- customer: null;
3749
- email: string;
3750
- address: string;
3751
- lineItems: {
3752
- product: string;
3753
- description: string;
3754
- unitPrice: number;
3755
- quantity: BD.BigDecimal;
3756
- amount: number;
3757
- isTaxable: boolean;
3758
- }[];
3759
- } | {
3760
- invoiceNumber: string | null;
3761
- customer: {
3762
- readonly id: string;
3763
- readonly externalId: string | null;
3764
- readonly individualName: string | null;
3765
- readonly companyName: string | null;
3766
- readonly email: string | null;
3767
- readonly mobilePhone: string | null;
3768
- readonly officePhone: string | null;
3769
- readonly addressString: string | null;
3770
- readonly status: "ACTIVE" | "ARCHIVED";
3771
- readonly memo: string | null;
3772
- readonly _local?: {
3773
- readonly isOptimistic: boolean;
3774
- } | undefined;
3775
- } | null;
3776
- email: string | null | undefined;
3777
- address: string | null | undefined;
3778
- lineItems: {
3779
- amount: number;
3780
- isTaxable: boolean;
3781
- id: string;
3782
- externalId: string | null;
3783
- memo: string | null;
3784
- description: string | null;
3785
- product: string | null;
3786
- subtotal: number;
3787
- quantity: BD.BigDecimal;
3788
- invoiceId: string;
3789
- unitPrice: number;
3790
- discountAmount: number;
3791
- salesTaxTotal: number;
3792
- totalAmount: number;
3793
- }[];
3794
- }, import("@tanstack/react-form").FormValidateOrFn<{
3795
- invoiceNumber: string;
3796
- customer: null;
3797
- email: string;
3798
- address: string;
3799
- lineItems: {
3800
- product: string;
3801
- description: string;
3802
- unitPrice: number;
3803
- quantity: BD.BigDecimal;
3804
- amount: number;
3805
- isTaxable: boolean;
3806
- }[];
3807
- } | {
3808
- invoiceNumber: string | null;
3809
- customer: {
3810
- readonly id: string;
3811
- readonly externalId: string | null;
3812
- readonly individualName: string | null;
3813
- readonly companyName: string | null;
3814
- readonly email: string | null;
3815
- readonly mobilePhone: string | null;
3816
- readonly officePhone: string | null;
3817
- readonly addressString: string | null;
3818
- readonly status: "ACTIVE" | "ARCHIVED";
3819
- readonly memo: string | null;
3820
- readonly _local?: {
3821
- readonly isOptimistic: boolean;
3822
- } | undefined;
3823
- } | null;
3824
- email: string | null | undefined;
3825
- address: string | null | undefined;
3826
- lineItems: {
3827
- amount: number;
3828
- isTaxable: boolean;
3829
- id: string;
3830
- externalId: string | null;
3831
- memo: string | null;
3832
- description: string | null;
3833
- product: string | null;
3834
- subtotal: number;
3835
- quantity: BD.BigDecimal;
3836
- invoiceId: string;
3837
- unitPrice: number;
3838
- discountAmount: number;
3839
- salesTaxTotal: number;
3840
- totalAmount: number;
3841
- }[];
3842
- }> | undefined, import("@tanstack/react-form").FormValidateOrFn<{
3843
- invoiceNumber: string;
3844
- customer: null;
3845
- email: string;
3846
- address: string;
3847
- lineItems: {
3848
- product: string;
3849
- description: string;
3850
- unitPrice: number;
3851
- quantity: BD.BigDecimal;
3852
- amount: number;
3853
- isTaxable: boolean;
3854
- }[];
3855
- } | {
3856
- invoiceNumber: string | null;
3857
- customer: {
3858
- readonly id: string;
3859
- readonly externalId: string | null;
3860
- readonly individualName: string | null;
3861
- readonly companyName: string | null;
3862
- readonly email: string | null;
3863
- readonly mobilePhone: string | null;
3864
- readonly officePhone: string | null;
3865
- readonly addressString: string | null;
3866
- readonly status: "ACTIVE" | "ARCHIVED";
3867
- readonly memo: string | null;
3868
- readonly _local?: {
3869
- readonly isOptimistic: boolean;
3870
- } | undefined;
3871
- } | null;
3872
- email: string | null | undefined;
3873
- address: string | null | undefined;
3874
- lineItems: {
3875
- amount: number;
3876
- isTaxable: boolean;
3877
- id: string;
3878
- externalId: string | null;
3879
- memo: string | null;
3880
- description: string | null;
3881
- product: string | null;
3882
- subtotal: number;
3883
- quantity: BD.BigDecimal;
3884
- invoiceId: string;
3885
- unitPrice: number;
3886
- discountAmount: number;
3887
- salesTaxTotal: number;
3888
- totalAmount: number;
3889
- }[];
3890
- }> | undefined, import("@tanstack/react-form").FormAsyncValidateOrFn<{
3891
- invoiceNumber: string;
3892
- customer: null;
3893
- email: string;
3894
- address: string;
3895
- lineItems: {
3896
- product: string;
3897
- description: string;
3898
- unitPrice: number;
3899
- quantity: BD.BigDecimal;
3900
- amount: number;
3901
- isTaxable: boolean;
3902
- }[];
3903
- } | {
3904
- invoiceNumber: string | null;
3905
- customer: {
3906
- readonly id: string;
3907
- readonly externalId: string | null;
3908
- readonly individualName: string | null;
3909
- readonly companyName: string | null;
3910
- readonly email: string | null;
3911
- readonly mobilePhone: string | null;
3912
- readonly officePhone: string | null;
3913
- readonly addressString: string | null;
3914
- readonly status: "ACTIVE" | "ARCHIVED";
3915
- readonly memo: string | null;
3916
- readonly _local?: {
3917
- readonly isOptimistic: boolean;
3918
- } | undefined;
3919
- } | null;
3920
- email: string | null | undefined;
3921
- address: string | null | undefined;
3922
- lineItems: {
3923
- amount: number;
3924
- isTaxable: boolean;
3925
- id: string;
3926
- externalId: string | null;
3927
- memo: string | null;
3928
- description: string | null;
3929
- product: string | null;
3930
- subtotal: number;
3931
- quantity: BD.BigDecimal;
3932
- invoiceId: string;
3933
- unitPrice: number;
3934
- discountAmount: number;
3935
- salesTaxTotal: number;
3936
- totalAmount: number;
3937
- }[];
3938
- }> | undefined, import("@tanstack/react-form").FormValidateOrFn<{
3939
- invoiceNumber: string;
3940
- customer: null;
3941
- email: string;
3942
- address: string;
3943
- lineItems: {
3944
- product: string;
3945
- description: string;
3946
- unitPrice: number;
3947
- quantity: BD.BigDecimal;
3948
- amount: number;
3949
- isTaxable: boolean;
3950
- }[];
3951
- } | {
3952
- invoiceNumber: string | null;
3953
- customer: {
3954
- readonly id: string;
3955
- readonly externalId: string | null;
3956
- readonly individualName: string | null;
3957
- readonly companyName: string | null;
3958
- readonly email: string | null;
3959
- readonly mobilePhone: string | null;
3960
- readonly officePhone: string | null;
3961
- readonly addressString: string | null;
3962
- readonly status: "ACTIVE" | "ARCHIVED";
3963
- readonly memo: string | null;
3964
- readonly _local?: {
3965
- readonly isOptimistic: boolean;
3966
- } | undefined;
3967
- } | null;
3968
- email: string | null | undefined;
3969
- address: string | null | undefined;
3970
- lineItems: {
3971
- amount: number;
3972
- isTaxable: boolean;
3973
- id: string;
3974
- externalId: string | null;
3975
- memo: string | null;
3976
- description: string | null;
3977
- product: string | null;
3978
- subtotal: number;
3979
- quantity: BD.BigDecimal;
3980
- invoiceId: string;
3981
- unitPrice: number;
3982
- discountAmount: number;
3983
- salesTaxTotal: number;
3984
- totalAmount: number;
3985
- }[];
3986
- }> | undefined, import("@tanstack/react-form").FormAsyncValidateOrFn<{
3987
- invoiceNumber: string;
3988
- customer: null;
3989
- email: string;
3990
- address: string;
3991
- lineItems: {
3992
- product: string;
3993
- description: string;
3994
- unitPrice: number;
3995
- quantity: BD.BigDecimal;
3996
- amount: number;
3997
- isTaxable: boolean;
3998
- }[];
3999
- } | {
4000
- invoiceNumber: string | null;
4001
- customer: {
4002
- readonly id: string;
4003
- readonly externalId: string | null;
4004
- readonly individualName: string | null;
4005
- readonly companyName: string | null;
4006
- readonly email: string | null;
4007
- readonly mobilePhone: string | null;
4008
- readonly officePhone: string | null;
4009
- readonly addressString: string | null;
4010
- readonly status: "ACTIVE" | "ARCHIVED";
4011
- readonly memo: string | null;
4012
- readonly _local?: {
4013
- readonly isOptimistic: boolean;
4014
- } | undefined;
4015
- } | null;
4016
- email: string | null | undefined;
4017
- address: string | null | undefined;
4018
- lineItems: {
4019
- amount: number;
4020
- isTaxable: boolean;
4021
- id: string;
4022
- externalId: string | null;
4023
- memo: string | null;
4024
- description: string | null;
4025
- product: string | null;
4026
- subtotal: number;
4027
- quantity: BD.BigDecimal;
4028
- invoiceId: string;
4029
- unitPrice: number;
4030
- discountAmount: number;
4031
- salesTaxTotal: number;
4032
- totalAmount: number;
4033
- }[];
4034
- }> | undefined, import("@tanstack/react-form").FormValidateOrFn<{
4035
- invoiceNumber: string;
4036
- customer: null;
4037
- email: string;
4038
- address: string;
4039
- lineItems: {
4040
- product: string;
4041
- description: string;
4042
- unitPrice: number;
4043
- quantity: BD.BigDecimal;
4044
- amount: number;
4045
- isTaxable: boolean;
4046
- }[];
4047
- } | {
4048
- invoiceNumber: string | null;
4049
- customer: {
4050
- readonly id: string;
4051
- readonly externalId: string | null;
4052
- readonly individualName: string | null;
4053
- readonly companyName: string | null;
4054
- readonly email: string | null;
4055
- readonly mobilePhone: string | null;
4056
- readonly officePhone: string | null;
4057
- readonly addressString: string | null;
4058
- readonly status: "ACTIVE" | "ARCHIVED";
4059
- readonly memo: string | null;
4060
- readonly _local?: {
4061
- readonly isOptimistic: boolean;
4062
- } | undefined;
4063
- } | null;
4064
- email: string | null | undefined;
4065
- address: string | null | undefined;
4066
- lineItems: {
4067
- amount: number;
4068
- isTaxable: boolean;
4069
- id: string;
4070
- externalId: string | null;
4071
- memo: string | null;
4072
- description: string | null;
4073
- product: string | null;
4074
- subtotal: number;
4075
- quantity: BD.BigDecimal;
4076
- invoiceId: string;
4077
- unitPrice: number;
4078
- discountAmount: number;
4079
- salesTaxTotal: number;
4080
- totalAmount: number;
4081
- }[];
4082
- }> | undefined, import("@tanstack/react-form").FormAsyncValidateOrFn<{
4083
- invoiceNumber: string;
4084
- customer: null;
4085
- email: string;
4086
- address: string;
4087
- lineItems: {
4088
- product: string;
4089
- description: string;
4090
- unitPrice: number;
4091
- quantity: BD.BigDecimal;
4092
- amount: number;
4093
- isTaxable: boolean;
4094
- }[];
4095
- } | {
4096
- invoiceNumber: string | null;
4097
- customer: {
4098
- readonly id: string;
4099
- readonly externalId: string | null;
4100
- readonly individualName: string | null;
4101
- readonly companyName: string | null;
4102
- readonly email: string | null;
4103
- readonly mobilePhone: string | null;
4104
- readonly officePhone: string | null;
4105
- readonly addressString: string | null;
4106
- readonly status: "ACTIVE" | "ARCHIVED";
4107
- readonly memo: string | null;
4108
- readonly _local?: {
4109
- readonly isOptimistic: boolean;
4110
- } | undefined;
4111
- } | null;
4112
- email: string | null | undefined;
4113
- address: string | null | undefined;
4114
- lineItems: {
4115
- amount: number;
4116
- isTaxable: boolean;
4117
- id: string;
4118
- externalId: string | null;
4119
- memo: string | null;
4120
- description: string | null;
4121
- product: string | null;
4122
- subtotal: number;
4123
- quantity: BD.BigDecimal;
4124
- invoiceId: string;
4125
- unitPrice: number;
4126
- discountAmount: number;
4127
- salesTaxTotal: number;
4128
- totalAmount: number;
4129
- }[];
4130
- }> | undefined, import("@tanstack/react-form").FormAsyncValidateOrFn<{
4131
- invoiceNumber: string;
4132
- customer: null;
4133
- email: string;
4134
- address: string;
4135
- lineItems: {
4136
- product: string;
4137
- description: string;
4138
- unitPrice: number;
4139
- quantity: BD.BigDecimal;
4140
- amount: number;
4141
- isTaxable: boolean;
4142
- }[];
4143
- } | {
4144
- invoiceNumber: string | null;
4145
- customer: {
4146
- readonly id: string;
4147
- readonly externalId: string | null;
4148
- readonly individualName: string | null;
4149
- readonly companyName: string | null;
4150
- readonly email: string | null;
4151
- readonly mobilePhone: string | null;
4152
- readonly officePhone: string | null;
4153
- readonly addressString: string | null;
4154
- readonly status: "ACTIVE" | "ARCHIVED";
4155
- readonly memo: string | null;
4156
- readonly _local?: {
4157
- readonly isOptimistic: boolean;
4158
- } | undefined;
4159
- } | null;
4160
- email: string | null | undefined;
4161
- address: string | null | undefined;
4162
- lineItems: {
4163
- amount: number;
4164
- isTaxable: boolean;
4165
- id: string;
4166
- externalId: string | null;
4167
- memo: string | null;
4168
- description: string | null;
4169
- product: string | null;
4170
- subtotal: number;
4171
- quantity: BD.BigDecimal;
4172
- invoiceId: string;
4173
- unitPrice: number;
4174
- discountAmount: number;
4175
- salesTaxTotal: number;
4176
- totalAmount: number;
4177
- }[];
4178
- }> | undefined, unknown> & {
4179
- AppField: import("@tanstack/react-form").FieldComponent<{
4180
- invoiceNumber: string;
4181
- customer: null;
4182
- email: string;
4183
- address: string;
4184
- lineItems: {
4185
- product: string;
4186
- description: string;
4187
- unitPrice: number;
4188
- quantity: BD.BigDecimal;
4189
- amount: number;
4190
- isTaxable: boolean;
4191
- }[];
4192
- } | {
4193
- invoiceNumber: string | null;
4194
- customer: {
4195
- readonly id: string;
4196
- readonly externalId: string | null;
4197
- readonly individualName: string | null;
4198
- readonly companyName: string | null;
4199
- readonly email: string | null;
4200
- readonly mobilePhone: string | null;
4201
- readonly officePhone: string | null;
4202
- readonly addressString: string | null;
4203
- readonly status: "ACTIVE" | "ARCHIVED";
4204
- readonly memo: string | null;
4205
- readonly _local?: {
4206
- readonly isOptimistic: boolean;
4207
- } | undefined;
4208
- } | null;
4209
- email: string | null | undefined;
4210
- address: string | null | undefined;
4211
- lineItems: {
4212
- amount: number;
4213
- isTaxable: boolean;
4214
- id: string;
4215
- externalId: string | null;
4216
- memo: string | null;
4217
- description: string | null;
4218
- product: string | null;
4219
- subtotal: number;
4220
- quantity: BD.BigDecimal;
4221
- invoiceId: string;
4222
- unitPrice: number;
4223
- discountAmount: number;
4224
- salesTaxTotal: number;
4225
- totalAmount: number;
4226
- }[];
4227
- }, import("@tanstack/react-form").FormValidateOrFn<{
4228
- invoiceNumber: string;
4229
- customer: null;
4230
- email: string;
4231
- address: string;
4232
- lineItems: {
4233
- product: string;
4234
- description: string;
4235
- unitPrice: number;
4236
- quantity: BD.BigDecimal;
4237
- amount: number;
4238
- isTaxable: boolean;
4239
- }[];
4240
- } | {
4241
- invoiceNumber: string | null;
4242
- customer: {
4243
- readonly id: string;
4244
- readonly externalId: string | null;
4245
- readonly individualName: string | null;
4246
- readonly companyName: string | null;
4247
- readonly email: string | null;
4248
- readonly mobilePhone: string | null;
4249
- readonly officePhone: string | null;
4250
- readonly addressString: string | null;
4251
- readonly status: "ACTIVE" | "ARCHIVED";
4252
- readonly memo: string | null;
4253
- readonly _local?: {
4254
- readonly isOptimistic: boolean;
4255
- } | undefined;
4256
- } | null;
4257
- email: string | null | undefined;
4258
- address: string | null | undefined;
4259
- lineItems: {
4260
- amount: number;
4261
- isTaxable: boolean;
4262
- id: string;
4263
- externalId: string | null;
4264
- memo: string | null;
4265
- description: string | null;
4266
- product: string | null;
4267
- subtotal: number;
4268
- quantity: BD.BigDecimal;
4269
- invoiceId: string;
4270
- unitPrice: number;
4271
- discountAmount: number;
4272
- salesTaxTotal: number;
4273
- totalAmount: number;
4274
- }[];
4275
- }> | undefined, import("@tanstack/react-form").FormValidateOrFn<{
4276
- invoiceNumber: string;
4277
- customer: null;
4278
- email: string;
4279
- address: string;
4280
- lineItems: {
4281
- product: string;
4282
- description: string;
4283
- unitPrice: number;
4284
- quantity: BD.BigDecimal;
4285
- amount: number;
4286
- isTaxable: boolean;
4287
- }[];
4288
- } | {
4289
- invoiceNumber: string | null;
4290
- customer: {
4291
- readonly id: string;
4292
- readonly externalId: string | null;
4293
- readonly individualName: string | null;
4294
- readonly companyName: string | null;
4295
- readonly email: string | null;
4296
- readonly mobilePhone: string | null;
4297
- readonly officePhone: string | null;
4298
- readonly addressString: string | null;
4299
- readonly status: "ACTIVE" | "ARCHIVED";
4300
- readonly memo: string | null;
4301
- readonly _local?: {
4302
- readonly isOptimistic: boolean;
4303
- } | undefined;
4304
- } | null;
4305
- email: string | null | undefined;
4306
- address: string | null | undefined;
4307
- lineItems: {
4308
- amount: number;
4309
- isTaxable: boolean;
4310
- id: string;
4311
- externalId: string | null;
4312
- memo: string | null;
4313
- description: string | null;
4314
- product: string | null;
4315
- subtotal: number;
4316
- quantity: BD.BigDecimal;
4317
- invoiceId: string;
4318
- unitPrice: number;
4319
- discountAmount: number;
4320
- salesTaxTotal: number;
4321
- totalAmount: number;
4322
- }[];
4323
- }> | undefined, import("@tanstack/react-form").FormAsyncValidateOrFn<{
4324
- invoiceNumber: string;
4325
- customer: null;
4326
- email: string;
4327
- address: string;
4328
- lineItems: {
4329
- product: string;
4330
- description: string;
4331
- unitPrice: number;
4332
- quantity: BD.BigDecimal;
4333
- amount: number;
4334
- isTaxable: boolean;
4335
- }[];
4336
- } | {
4337
- invoiceNumber: string | null;
4338
- customer: {
4339
- readonly id: string;
4340
- readonly externalId: string | null;
4341
- readonly individualName: string | null;
4342
- readonly companyName: string | null;
4343
- readonly email: string | null;
4344
- readonly mobilePhone: string | null;
4345
- readonly officePhone: string | null;
4346
- readonly addressString: string | null;
4347
- readonly status: "ACTIVE" | "ARCHIVED";
4348
- readonly memo: string | null;
4349
- readonly _local?: {
4350
- readonly isOptimistic: boolean;
4351
- } | undefined;
4352
- } | null;
4353
- email: string | null | undefined;
4354
- address: string | null | undefined;
4355
- lineItems: {
4356
- amount: number;
4357
- isTaxable: boolean;
4358
- id: string;
4359
- externalId: string | null;
4360
- memo: string | null;
4361
- description: string | null;
4362
- product: string | null;
4363
- subtotal: number;
4364
- quantity: BD.BigDecimal;
4365
- invoiceId: string;
4366
- unitPrice: number;
4367
- discountAmount: number;
4368
- salesTaxTotal: number;
4369
- totalAmount: number;
4370
- }[];
4371
- }> | undefined, import("@tanstack/react-form").FormValidateOrFn<{
4372
- invoiceNumber: string;
4373
- customer: null;
4374
- email: string;
4375
- address: string;
4376
- lineItems: {
4377
- product: string;
4378
- description: string;
4379
- unitPrice: number;
4380
- quantity: BD.BigDecimal;
4381
- amount: number;
4382
- isTaxable: boolean;
4383
- }[];
4384
- } | {
4385
- invoiceNumber: string | null;
4386
- customer: {
4387
- readonly id: string;
4388
- readonly externalId: string | null;
4389
- readonly individualName: string | null;
4390
- readonly companyName: string | null;
4391
- readonly email: string | null;
4392
- readonly mobilePhone: string | null;
4393
- readonly officePhone: string | null;
4394
- readonly addressString: string | null;
4395
- readonly status: "ACTIVE" | "ARCHIVED";
4396
- readonly memo: string | null;
4397
- readonly _local?: {
4398
- readonly isOptimistic: boolean;
4399
- } | undefined;
4400
- } | null;
4401
- email: string | null | undefined;
4402
- address: string | null | undefined;
4403
- lineItems: {
4404
- amount: number;
4405
- isTaxable: boolean;
4406
- id: string;
4407
- externalId: string | null;
4408
- memo: string | null;
4409
- description: string | null;
4410
- product: string | null;
4411
- subtotal: number;
4412
- quantity: BD.BigDecimal;
4413
- invoiceId: string;
4414
- unitPrice: number;
4415
- discountAmount: number;
4416
- salesTaxTotal: number;
4417
- totalAmount: number;
4418
- }[];
4419
- }> | undefined, import("@tanstack/react-form").FormAsyncValidateOrFn<{
4420
- invoiceNumber: string;
4421
- customer: null;
4422
- email: string;
4423
- address: string;
4424
- lineItems: {
4425
- product: string;
4426
- description: string;
4427
- unitPrice: number;
4428
- quantity: BD.BigDecimal;
4429
- amount: number;
4430
- isTaxable: boolean;
4431
- }[];
4432
- } | {
4433
- invoiceNumber: string | null;
4434
- customer: {
4435
- readonly id: string;
4436
- readonly externalId: string | null;
4437
- readonly individualName: string | null;
4438
- readonly companyName: string | null;
4439
- readonly email: string | null;
4440
- readonly mobilePhone: string | null;
4441
- readonly officePhone: string | null;
4442
- readonly addressString: string | null;
4443
- readonly status: "ACTIVE" | "ARCHIVED";
4444
- readonly memo: string | null;
4445
- readonly _local?: {
4446
- readonly isOptimistic: boolean;
4447
- } | undefined;
4448
- } | null;
4449
- email: string | null | undefined;
4450
- address: string | null | undefined;
4451
- lineItems: {
4452
- amount: number;
4453
- isTaxable: boolean;
4454
- id: string;
4455
- externalId: string | null;
4456
- memo: string | null;
4457
- description: string | null;
4458
- product: string | null;
4459
- subtotal: number;
4460
- quantity: BD.BigDecimal;
4461
- invoiceId: string;
4462
- unitPrice: number;
4463
- discountAmount: number;
4464
- salesTaxTotal: number;
4465
- totalAmount: number;
4466
- }[];
4467
- }> | undefined, import("@tanstack/react-form").FormValidateOrFn<{
4468
- invoiceNumber: string;
4469
- customer: null;
4470
- email: string;
4471
- address: string;
4472
- lineItems: {
4473
- product: string;
4474
- description: string;
4475
- unitPrice: number;
4476
- quantity: BD.BigDecimal;
4477
- amount: number;
4478
- isTaxable: boolean;
4479
- }[];
4480
- } | {
4481
- invoiceNumber: string | null;
4482
- customer: {
4483
- readonly id: string;
4484
- readonly externalId: string | null;
4485
- readonly individualName: string | null;
4486
- readonly companyName: string | null;
4487
- readonly email: string | null;
4488
- readonly mobilePhone: string | null;
4489
- readonly officePhone: string | null;
4490
- readonly addressString: string | null;
4491
- readonly status: "ACTIVE" | "ARCHIVED";
4492
- readonly memo: string | null;
4493
- readonly _local?: {
4494
- readonly isOptimistic: boolean;
4495
- } | undefined;
4496
- } | null;
4497
- email: string | null | undefined;
4498
- address: string | null | undefined;
4499
- lineItems: {
4500
- amount: number;
4501
- isTaxable: boolean;
4502
- id: string;
4503
- externalId: string | null;
4504
- memo: string | null;
4505
- description: string | null;
4506
- product: string | null;
4507
- subtotal: number;
4508
- quantity: BD.BigDecimal;
4509
- invoiceId: string;
4510
- unitPrice: number;
4511
- discountAmount: number;
4512
- salesTaxTotal: number;
4513
- totalAmount: number;
4514
- }[];
4515
- }> | undefined, import("@tanstack/react-form").FormAsyncValidateOrFn<{
4516
- invoiceNumber: string;
4517
- customer: null;
4518
- email: string;
4519
- address: string;
4520
- lineItems: {
4521
- product: string;
4522
- description: string;
4523
- unitPrice: number;
4524
- quantity: BD.BigDecimal;
4525
- amount: number;
4526
- isTaxable: boolean;
4527
- }[];
4528
- } | {
4529
- invoiceNumber: string | null;
4530
- customer: {
4531
- readonly id: string;
4532
- readonly externalId: string | null;
4533
- readonly individualName: string | null;
4534
- readonly companyName: string | null;
4535
- readonly email: string | null;
4536
- readonly mobilePhone: string | null;
4537
- readonly officePhone: string | null;
4538
- readonly addressString: string | null;
4539
- readonly status: "ACTIVE" | "ARCHIVED";
4540
- readonly memo: string | null;
4541
- readonly _local?: {
4542
- readonly isOptimistic: boolean;
4543
- } | undefined;
4544
- } | null;
4545
- email: string | null | undefined;
4546
- address: string | null | undefined;
4547
- lineItems: {
4548
- amount: number;
4549
- isTaxable: boolean;
4550
- id: string;
4551
- externalId: string | null;
4552
- memo: string | null;
4553
- description: string | null;
4554
- product: string | null;
4555
- subtotal: number;
4556
- quantity: BD.BigDecimal;
4557
- invoiceId: string;
4558
- unitPrice: number;
4559
- discountAmount: number;
4560
- salesTaxTotal: number;
4561
- totalAmount: number;
4562
- }[];
4563
- }> | undefined, import("@tanstack/react-form").FormAsyncValidateOrFn<{
4564
- invoiceNumber: string;
4565
- customer: null;
4566
- email: string;
4567
- address: string;
4568
- lineItems: {
4569
- product: string;
4570
- description: string;
4571
- unitPrice: number;
4572
- quantity: BD.BigDecimal;
4573
- amount: number;
4574
- isTaxable: boolean;
4575
- }[];
4576
- } | {
4577
- invoiceNumber: string | null;
4578
- customer: {
4579
- readonly id: string;
4580
- readonly externalId: string | null;
4581
- readonly individualName: string | null;
4582
- readonly companyName: string | null;
4583
- readonly email: string | null;
4584
- readonly mobilePhone: string | null;
4585
- readonly officePhone: string | null;
4586
- readonly addressString: string | null;
4587
- readonly status: "ACTIVE" | "ARCHIVED";
4588
- readonly memo: string | null;
4589
- readonly _local?: {
4590
- readonly isOptimistic: boolean;
4591
- } | undefined;
4592
- } | null;
4593
- email: string | null | undefined;
4594
- address: string | null | undefined;
4595
- lineItems: {
4596
- amount: number;
4597
- isTaxable: boolean;
4598
- id: string;
4599
- externalId: string | null;
4600
- memo: string | null;
4601
- description: string | null;
4602
- product: string | null;
4603
- subtotal: number;
4604
- quantity: BD.BigDecimal;
4605
- invoiceId: string;
4606
- unitPrice: number;
4607
- discountAmount: number;
4608
- salesTaxTotal: number;
4609
- totalAmount: number;
4610
- }[];
4611
- }> | undefined, unknown, NoInfer<{
4612
- readonly BaseFormTextField: typeof import("@layerfi/components/features/forms/components/BaseFormTextField").BaseFormTextField;
4613
- readonly FormBigDecimalField: typeof import("@layerfi/components/features/forms/components/FormBigDecimalField").FormBigDecimalField;
4614
- readonly FormCheckboxField: typeof import("@layerfi/components/features/forms/components/FormCheckboxField").FormCheckboxField;
4615
- readonly FormCurrencyField: typeof import("@layerfi/components/features/forms/components/FormCurrencyField").FormCurrencyField;
4616
- readonly FormTextAreaField: typeof import("@layerfi/components/features/forms/components/FormTextAreaField").FormTextAreaField;
4617
- readonly FormTextField: typeof import("@layerfi/components/features/forms/components/FormTextField").FormTextField;
4618
- }>>;
4619
- AppForm: import("react").ComponentType<import("react").PropsWithChildren>;
4620
- };
4621
- submitError: string | undefined;
3273
+ import { type InvoiceFormMode } from '@layerfi/components/components/Invoices/InvoiceForm/InvoiceForm';
3274
+ import type { Invoice } from '@layerfi/components/features/invoices/invoiceSchemas';
3275
+ export type InvoiceDetailProps = InvoiceFormMode & {
3276
+ onSuccess?: (invoice: Invoice) => void;
3277
+ onGoBack: () => void;
3278
+ };
3279
+ export const InvoiceDetail: (props: InvoiceDetailProps) => import("react/jsx-runtime").JSX.Element;
3280
+
3281
+ }
3282
+ declare module '@layerfi/components/components/Invoices/InvoiceForm/InvoiceForm' {
3283
+ import React from 'react';
3284
+ import type { Invoice } from '@layerfi/components/features/invoices/invoiceSchemas';
3285
+ import { UpsertInvoiceMode } from '@layerfi/components/features/invoices/api/useUpsertInvoice';
3286
+ import { type InvoiceFormState } from '@layerfi/components/components/Invoices/InvoiceForm/formUtils';
3287
+ export type InvoiceFormMode = {
3288
+ mode: UpsertInvoiceMode.Update;
3289
+ invoice: Invoice;
3290
+ } | {
3291
+ mode: UpsertInvoiceMode.Create;
3292
+ };
3293
+ export type InvoiceFormProps = InvoiceFormMode & {
3294
+ isReadOnly: boolean;
3295
+ onSuccess?: (invoice: Invoice) => void;
3296
+ onChangeFormState?: (formState: InvoiceFormState) => void;
3297
+ };
3298
+ export const InvoiceForm: React.ForwardRefExoticComponent<InvoiceFormProps & React.RefAttributes<unknown>>;
3299
+
3300
+ }
3301
+ declare module '@layerfi/components/components/Invoices/InvoiceForm/formUtils' {
3302
+ import { type Invoice, type InvoiceForm, type InvoiceFormLineItem } from '@layerfi/components/features/invoices/invoiceSchemas';
3303
+ import { ValidationErrorMap } from '@tanstack/react-form';
3304
+ export type InvoiceFormState = {
4622
3305
  isFormValid: boolean;
3306
+ isSubmitting: boolean;
3307
+ submitError: string | undefined;
3308
+ };
3309
+ export const getEmptyLineItem: () => InvoiceFormLineItem;
3310
+ export const getInvoiceFormDefaultValues: () => InvoiceForm;
3311
+ export const getInvoiceFormInitialValues: (invoice: Invoice) => InvoiceForm;
3312
+ export const validateOnSubmit: ({ value: invoice }: {
3313
+ value: InvoiceForm;
3314
+ }) => ({
3315
+ customer: string;
3316
+ invoiceNumber?: undefined;
3317
+ sentAt?: undefined;
3318
+ dueAt?: undefined;
3319
+ lineItems?: undefined;
3320
+ } | {
3321
+ invoiceNumber: string;
3322
+ customer?: undefined;
3323
+ sentAt?: undefined;
3324
+ dueAt?: undefined;
3325
+ lineItems?: undefined;
3326
+ } | {
3327
+ sentAt: string;
3328
+ customer?: undefined;
3329
+ invoiceNumber?: undefined;
3330
+ dueAt?: undefined;
3331
+ lineItems?: undefined;
3332
+ } | {
3333
+ dueAt: string;
3334
+ customer?: undefined;
3335
+ invoiceNumber?: undefined;
3336
+ sentAt?: undefined;
3337
+ lineItems?: undefined;
3338
+ } | {
3339
+ lineItems: string;
3340
+ customer?: undefined;
3341
+ invoiceNumber?: undefined;
3342
+ sentAt?: undefined;
3343
+ dueAt?: undefined;
3344
+ })[] | null;
3345
+ export function flattenValidationErrors(errors: ValidationErrorMap): string[];
3346
+ export const convertInvoiceFormToParams: (form: InvoiceForm) => unknown;
3347
+
3348
+ }
3349
+ declare module '@layerfi/components/components/Invoices/InvoiceForm/totalsUtils' {
3350
+ import { BigDecimal as BD } from 'effect';
3351
+ import type { InvoiceForm, InvoiceFormLineItem } from '@layerfi/components/features/invoices/invoiceSchemas';
3352
+ export function computeSubtotal(lineItems: InvoiceFormLineItem[]): BD.BigDecimal;
3353
+ export function computeSubtotal(lineItems: readonly InvoiceFormLineItem[]): BD.BigDecimal;
3354
+ export const computeRawTaxableSubtotal: (lineItems: InvoiceFormLineItem[]) => BD.BigDecimal;
3355
+ export function computeAdditionalDiscount({ subtotal, discountRate, }: {
3356
+ subtotal: BD.BigDecimal;
3357
+ discountRate: BD.BigDecimal;
3358
+ }): BD.BigDecimal;
3359
+ export function computeTaxableSubtotal({ rawTaxableSubtotal, discountRate, }: {
3360
+ rawTaxableSubtotal: BD.BigDecimal;
3361
+ discountRate: BD.BigDecimal;
3362
+ }): BD.BigDecimal;
3363
+ export function computeTaxes({ taxableSubtotal, taxRate, }: {
3364
+ taxableSubtotal: BD.BigDecimal;
3365
+ taxRate: BD.BigDecimal;
3366
+ }): BD.BigDecimal;
3367
+ export function computeGrandTotal({ subtotal, additionalDiscount, taxes, }: {
3368
+ subtotal: BD.BigDecimal;
3369
+ additionalDiscount: BD.BigDecimal;
3370
+ taxes: BD.BigDecimal;
3371
+ }): BD.BigDecimal;
3372
+ export const getGrandTotalFromInvoice: (invoice: InvoiceForm) => BD.BigDecimal;
3373
+
3374
+ }
3375
+ declare module '@layerfi/components/components/Invoices/InvoiceForm/useInvoiceForm' {
3376
+ import { type Invoice, type InvoiceForm } from '@layerfi/components/features/invoices/invoiceSchemas';
3377
+ import { UpsertInvoiceMode } from '@layerfi/components/features/invoices/api/useUpsertInvoice';
3378
+ type UseInvoiceFormProps = {
3379
+ onSuccess?: (invoice: Invoice) => void;
3380
+ mode: UpsertInvoiceMode.Create;
3381
+ } | {
3382
+ onSuccess?: (invoice: Invoice) => void;
3383
+ mode: UpsertInvoiceMode.Update;
3384
+ invoice: Invoice;
3385
+ };
3386
+ export const useInvoiceForm: (props: UseInvoiceFormProps) => {
3387
+ form: import("@tanstack/react-form/dist/esm/createFormHook").AppFieldExtendedReactFormApi<InvoiceForm, import("@tanstack/react-form").FormValidateOrFn<InvoiceForm>, import("@tanstack/react-form").FormValidateOrFn<InvoiceForm>, import("@tanstack/react-form").FormAsyncValidateOrFn<InvoiceForm>, import("@tanstack/react-form").FormValidateOrFn<InvoiceForm>, import("@tanstack/react-form").FormAsyncValidateOrFn<InvoiceForm>, import("@tanstack/react-form").FormValidateOrFn<InvoiceForm>, import("@tanstack/react-form").FormAsyncValidateOrFn<InvoiceForm>, import("@tanstack/react-form").FormAsyncValidateOrFn<InvoiceForm>, unknown, {
3388
+ readonly BaseFormTextField: typeof import("@layerfi/components/features/forms/components/BaseFormTextField").BaseFormTextField;
3389
+ readonly FormBigDecimalField: typeof import("@layerfi/components/features/forms/components/FormBigDecimalField").FormBigDecimalField;
3390
+ readonly FormCheckboxField: typeof import("@layerfi/components/features/forms/components/FormCheckboxField").FormCheckboxField;
3391
+ readonly FormDateField: typeof import("@layerfi/components/features/forms/components/FormDateField").FormDateField;
3392
+ readonly FormTextAreaField: typeof import("@layerfi/components/features/forms/components/FormTextAreaField").FormTextAreaField;
3393
+ readonly FormTextField: typeof import("@layerfi/components/features/forms/components/FormTextField").FormTextField;
3394
+ }, {}>;
3395
+ formState: {
3396
+ isFormValid: boolean;
3397
+ isSubmitting: boolean;
3398
+ submitError: string | undefined;
3399
+ };
3400
+ totals: {
3401
+ subtotal: import("effect/BigDecimal").BigDecimal;
3402
+ additionalDiscount: import("effect/BigDecimal").BigDecimal;
3403
+ taxableSubtotal: import("effect/BigDecimal").BigDecimal;
3404
+ taxes: import("effect/BigDecimal").BigDecimal;
3405
+ grandTotal: import("effect/BigDecimal").BigDecimal;
3406
+ };
4623
3407
  };
4624
3408
  export {};
4625
3409
 
@@ -4631,6 +3415,27 @@ declare module '@layerfi/components/components/Invoices/InvoiceStatusCell/Invoic
4631
3415
  inline?: boolean;
4632
3416
  }) => import("react/jsx-runtime").JSX.Element;
4633
3417
 
3418
+ }
3419
+ declare module '@layerfi/components/components/Invoices/InvoiceTermsComboBox/InvoiceTermsComboBox' {
3420
+ import { ZonedDateTime } from '@internationalized/date';
3421
+ export enum InvoiceTermsValues {
3422
+ Net10 = "Net10",
3423
+ Net15 = "Net15",
3424
+ Net30 = "Net30",
3425
+ Net60 = "Net60",
3426
+ Net90 = "Net90",
3427
+ Custom = "Custom"
3428
+ }
3429
+ export const getDurationInDaysFromTerms: (terms: InvoiceTermsValues) => 15 | 60 | 30 | 10 | 90 | undefined;
3430
+ export const getInvoiceTermsFromDates: (sentAt: ZonedDateTime | null, dueAt: ZonedDateTime | null) => InvoiceTermsValues;
3431
+ type InvoiceTermsComboBoxProps = {
3432
+ value: InvoiceTermsValues;
3433
+ onValueChange: (value: InvoiceTermsValues | null) => void;
3434
+ isReadOnly?: boolean;
3435
+ };
3436
+ export const InvoiceTermsComboBox: ({ value, onValueChange, isReadOnly }: InvoiceTermsComboBoxProps) => import("react/jsx-runtime").JSX.Element;
3437
+ export {};
3438
+
4634
3439
  }
4635
3440
  declare module '@layerfi/components/components/Invoices/Invoices' {
4636
3441
  interface InvoicesStringOverrides {
@@ -6611,11 +5416,26 @@ declare module '@layerfi/components/components/ui/ComboBox/ComboBox' {
6611
5416
  isMutating?: boolean;
6612
5417
  isSearchable?: boolean;
6613
5418
  isClearable?: boolean;
5419
+ isReadOnly?: boolean;
6614
5420
  displayDisabledAsSelected?: boolean;
6615
5421
  } & OptionsOrGroups<T> & AriaLabelProps;
6616
- export function ComboBox<T extends ComboBoxOption>({ className, selectedValue, onSelectedValueChange, options, groups, onInputValueChange, placeholder, slots, inputId, isDisabled, isError, isLoading, isMutating, isSearchable, isClearable, displayDisabledAsSelected, ...ariaProps }: ComboBoxProps<T>): import("react/jsx-runtime").JSX.Element;
5422
+ export function ComboBox<T extends ComboBoxOption>({ className, selectedValue, onSelectedValueChange, options, groups, onInputValueChange, placeholder, slots, inputId, isDisabled, isError, isLoading, isMutating, isSearchable, isClearable, isReadOnly, displayDisabledAsSelected, ...ariaProps }: ComboBoxProps<T>): import("react/jsx-runtime").JSX.Element;
6617
5423
  export {};
6618
5424
 
5425
+ }
5426
+ declare module '@layerfi/components/components/ui/Date/Date' {
5427
+ import type { ZonedDateTime } from '@internationalized/date';
5428
+ import { type DateFieldProps as ReactAriaDateFieldProps, type DateSegmentProps as ReactAriaDateSegmentProps, type DateInputProps as ReactAriaDateInputProps } from 'react-aria-components';
5429
+ export const DateField: import("react").ForwardRefExoticComponent<ReactAriaDateFieldProps<ZonedDateTime> & {
5430
+ inline?: boolean;
5431
+ } & import("react").RefAttributes<HTMLDivElement>>;
5432
+ export const DateInput: import("react").ForwardRefExoticComponent<Omit<ReactAriaDateInputProps, "className"> & {
5433
+ inset?: true;
5434
+ } & import("react").RefAttributes<HTMLInputElement>>;
5435
+ export const DateSegment: import("react").ForwardRefExoticComponent<Omit<ReactAriaDateSegmentProps, "className"> & {
5436
+ isReadOnly?: boolean;
5437
+ } & import("react").RefAttributes<HTMLDivElement>>;
5438
+
6619
5439
  }
6620
5440
  declare module '@layerfi/components/components/ui/DropdownMenu/DropdownMenu' {
6621
5441
  import React, { PropsWithChildren } from 'react';
@@ -6662,14 +5482,11 @@ declare module '@layerfi/components/components/ui/Form/Form' {
6662
5482
 
6663
5483
  }
6664
5484
  declare module '@layerfi/components/components/ui/Input/Input' {
6665
- import { type ComponentProps } from 'react';
6666
- import { Input as ReactAriaInput } from 'react-aria-components';
6667
- type InputProps = Omit<ComponentProps<typeof ReactAriaInput>, 'className'> & {
5485
+ import { InputProps as ReactAriaInputProps } from 'react-aria-components';
5486
+ export const Input: import("react").ForwardRefExoticComponent<Omit<ReactAriaInputProps, "className"> & {
6668
5487
  inset?: true;
6669
- placement?: 'first';
6670
- };
6671
- export const Input: import("react").ForwardRefExoticComponent<Omit<InputProps, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
6672
- export {};
5488
+ placement?: "first";
5489
+ } & import("react").RefAttributes<HTMLInputElement>>;
6673
5490
 
6674
5491
  }
6675
5492
  declare module '@layerfi/components/components/ui/Input/InputGroup' {
@@ -7863,7 +6680,7 @@ declare module '@layerfi/components/features/customers/components/CustomerSelect
7863
6680
  inline?: boolean;
7864
6681
  className?: string;
7865
6682
  };
7866
- export function CustomerSelector({ selectedCustomer, onSelectedCustomerChange, placeholder, isReadOnly, inline, className, }: CustomerSelectorProps): import("react/jsx-runtime").JSX.Element | null;
6683
+ export function CustomerSelector({ selectedCustomer, onSelectedCustomerChange, placeholder, isReadOnly, inline, className, }: CustomerSelectorProps): import("react/jsx-runtime").JSX.Element;
7867
6684
  export {};
7868
6685
 
7869
6686
  }
@@ -7919,101 +6736,97 @@ declare module '@layerfi/components/features/customers/customersSchemas' {
7919
6736
  declare module '@layerfi/components/features/forms/components/BaseFormTextField' {
7920
6737
  import type { PropsWithChildren } from 'react';
7921
6738
  import { type TextFieldProps } from '@layerfi/components/components/ui/Form/Form';
7922
- export type BaseFormTextFieldProps = Omit<InternalBaseFormTextFieldProps, 'isTextArea'>;
7923
- interface InternalBaseFormTextFieldProps {
7924
- label: string;
7925
- className?: string;
7926
- inline?: boolean;
7927
- showLabel?: boolean;
7928
- showFieldError?: boolean;
6739
+ import type { CommonFormFieldProps } from '@layerfi/components/features/forms/types';
6740
+ export type BaseFormTextFieldProps = CommonFormFieldProps & {
7929
6741
  inputMode?: TextFieldProps['inputMode'];
7930
6742
  isTextArea?: boolean;
7931
- }
7932
- export function BaseFormTextField<TData>({ label, className, inline, showLabel, showFieldError, isTextArea, children, }: PropsWithChildren<InternalBaseFormTextFieldProps>): import("react/jsx-runtime").JSX.Element;
7933
- export {};
6743
+ };
6744
+ export function BaseFormTextField({ label, inline, showLabel, showFieldError, isTextArea, isReadOnly, className, children, }: PropsWithChildren<BaseFormTextFieldProps>): import("react/jsx-runtime").JSX.Element;
7934
6745
 
7935
6746
  }
7936
6747
  declare module '@layerfi/components/features/forms/components/FormBigDecimalField' {
6748
+ import { BigDecimal as BD } from 'effect';
7937
6749
  import { type BaseFormTextFieldProps } from '@layerfi/components/features/forms/components/BaseFormTextField';
7938
- type FormBigDecimalFieldProps = Omit<BaseFormTextFieldProps, 'inputMode'> & {
7939
- maxInputLength?: number;
6750
+ type FormBigDecimalFieldProps = Omit<BaseFormTextFieldProps, 'inputMode' | 'isTextArea'> & {
6751
+ maxValue?: number;
6752
+ minDecimalPlaces?: number;
6753
+ maxDecimalPlaces?: number;
7940
6754
  allowNegative?: boolean;
6755
+ mode?: 'percent' | 'currency' | 'decimal';
7941
6756
  };
7942
- export function FormBigDecimalField({ maxInputLength, allowNegative, ...restProps }: FormBigDecimalFieldProps): import("react/jsx-runtime").JSX.Element;
6757
+ /**
6758
+ * This is some crazy nonsense to make BigDecimal play nicely with TanStack form. TanStack form checks deep equality for
6759
+ * object form fields all the way down to determine if they've changed. BigDecimal has a `normalized` param, which is a
6760
+ * BigDecimal that is the "normalized" form of itself (i.e., lowest absolute scale). Therefore, when determining if two
6761
+ * BigDecimals values are equal, we do an infinite recursion comparing their normalized forms.
6762
+ *
6763
+ * To remediate this, before updating a BigDecimal field, we check the new value is equal (per BigDecimal.equal) outside,
6764
+ * and if not, only then call the onChange handler with the value wrapped with withForceUpdate, which adds a unique symbol
6765
+ * to the BigDecimal and short-circuits any potential infinite recursion on comparing normalized values all the way down.
6766
+ *
6767
+ * Doing either the equality check or forced update to cause inequality is sufficient, but we do both to cover our bases.
6768
+ */
6769
+ export const withForceUpdate: (value: BD.BigDecimal) => BD.BigDecimal;
6770
+ export function FormBigDecimalField({ mode, allowNegative, maxValue, minDecimalPlaces, maxDecimalPlaces, ...restProps }: FormBigDecimalFieldProps): import("react/jsx-runtime").JSX.Element;
7943
6771
  export {};
7944
6772
 
7945
6773
  }
7946
6774
  declare module '@layerfi/components/features/forms/components/FormCheckboxField' {
7947
6775
  import { type PropsWithChildren } from 'react';
7948
- export interface FormCheckboxField {
7949
- label: string;
7950
- className?: string;
7951
- inline?: boolean;
7952
- showLabel?: boolean;
7953
- showErrorInTooltip?: boolean;
7954
- }
7955
- export function FormCheckboxField({ label, className, inline, showLabel, showErrorInTooltip, }: PropsWithChildren<FormCheckboxField>): import("react/jsx-runtime").JSX.Element;
6776
+ import type { CommonFormFieldProps } from '@layerfi/components/features/forms/types';
6777
+ export type FormCheckboxFieldProps = CommonFormFieldProps;
6778
+ export function FormCheckboxField({ label, className, inline, showLabel, showFieldError, isReadOnly, }: PropsWithChildren<FormCheckboxFieldProps>): import("react/jsx-runtime").JSX.Element;
7956
6779
 
7957
6780
  }
7958
- declare module '@layerfi/components/features/forms/components/FormCurrencyField' {
7959
- import { type BaseFormTextFieldProps } from '@layerfi/components/features/forms/components/BaseFormTextField';
7960
- type FormCurrencyFieldProps = Omit<BaseFormTextFieldProps, 'inputMode'>;
7961
- export function FormCurrencyField(props: FormCurrencyFieldProps): import("react/jsx-runtime").JSX.Element;
7962
- export {};
6781
+ declare module '@layerfi/components/features/forms/components/FormDateField' {
6782
+ import { type PropsWithChildren } from 'react';
6783
+ import type { CommonFormFieldProps } from '@layerfi/components/features/forms/types';
6784
+ export type FormDateFieldProps = CommonFormFieldProps;
6785
+ export function FormDateField({ label, className, inline, showLabel, showFieldError, isReadOnly, }: PropsWithChildren<FormDateFieldProps>): import("react/jsx-runtime").JSX.Element;
7963
6786
 
7964
6787
  }
7965
6788
  declare module '@layerfi/components/features/forms/components/FormTextAreaField' {
7966
6789
  import { type BaseFormTextFieldProps } from '@layerfi/components/features/forms/components/BaseFormTextField';
7967
- type FormTextAreaFieldProps = BaseFormTextFieldProps;
6790
+ type FormTextAreaFieldProps = Omit<BaseFormTextFieldProps, 'isTextArea'>;
7968
6791
  export function FormTextAreaField(props: FormTextAreaFieldProps): import("react/jsx-runtime").JSX.Element;
7969
6792
  export {};
7970
6793
 
7971
6794
  }
7972
6795
  declare module '@layerfi/components/features/forms/components/FormTextField' {
7973
6796
  import { type BaseFormTextFieldProps } from '@layerfi/components/features/forms/components/BaseFormTextField';
7974
- type FormTextFieldProps = BaseFormTextFieldProps;
6797
+ type FormTextFieldProps = Omit<BaseFormTextFieldProps, 'isTextArea'>;
7975
6798
  export function FormTextField(props: FormTextFieldProps): import("react/jsx-runtime").JSX.Element;
7976
6799
  export {};
7977
6800
 
7978
6801
  }
7979
6802
  declare module '@layerfi/components/features/forms/hooks/useForm' {
6803
+ import { type FormOptions, type FormValidateOrFn, type FormAsyncValidateOrFn } from '@tanstack/react-form';
7980
6804
  import { BaseFormTextField } from '@layerfi/components/features/forms/components/BaseFormTextField';
7981
6805
  import { FormBigDecimalField } from '@layerfi/components/features/forms/components/FormBigDecimalField';
7982
6806
  import { FormCheckboxField } from '@layerfi/components/features/forms/components/FormCheckboxField';
7983
- import { FormCurrencyField } from '@layerfi/components/features/forms/components/FormCurrencyField';
6807
+ import { FormDateField } from '@layerfi/components/features/forms/components/FormDateField';
7984
6808
  import { FormTextAreaField } from '@layerfi/components/features/forms/components/FormTextAreaField';
7985
6809
  import { FormTextField } from '@layerfi/components/features/forms/components/FormTextField';
7986
6810
  export const fieldContext: import("react").Context<import("@tanstack/react-form").AnyFieldApi>, useFieldContext: <TData>() => import("@tanstack/react-form").FieldApi<any, string, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, formContext: import("react").Context<import("@tanstack/react-form").AnyFormApi>, useFormContext: () => import("@tanstack/react-form").ReactFormExtendedApi<Record<string, never>, any, any, any, any, any, any, any, any, any>;
7987
- export const useAppForm: <TFormData, TOnMount extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnChange extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnChangeAsync extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TOnBlur extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnBlurAsync extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TOnSubmit extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnSubmitAsync extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TOnServer extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TSubmitMeta>(props: import("@tanstack/react-form").FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>) => import("@tanstack/react-form").FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta> & import("@tanstack/react-form").ReactFormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta> & {
7988
- AppField: import("@tanstack/react-form").FieldComponent<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta, NoInfer<{
7989
- readonly BaseFormTextField: typeof BaseFormTextField;
7990
- readonly FormBigDecimalField: typeof FormBigDecimalField;
7991
- readonly FormCheckboxField: typeof FormCheckboxField;
7992
- readonly FormCurrencyField: typeof FormCurrencyField;
7993
- readonly FormTextAreaField: typeof FormTextAreaField;
7994
- readonly FormTextField: typeof FormTextField;
7995
- }>>;
7996
- AppForm: import("react").ComponentType<import("react").PropsWithChildren>;
7997
- }, withForm: <TFormData, TOnMount extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnChange extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnChangeAsync extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TOnBlur extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnBlurAsync extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TOnSubmit extends import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined, TOnSubmitAsync extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TOnServer extends import("@tanstack/react-form").FormAsyncValidateOrFn<TFormData> | undefined, TSubmitMeta, TRenderProps extends Record<string, unknown> = {}>({ render, props, }: import("@tanstack/react-form").WithFormProps<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta, {
6811
+ export function useAppForm<T>(props: FormOptions<T, FormValidateOrFn<T>, FormValidateOrFn<T>, FormAsyncValidateOrFn<T>, FormValidateOrFn<T>, FormAsyncValidateOrFn<T>, FormValidateOrFn<T>, FormAsyncValidateOrFn<T>, FormAsyncValidateOrFn<T>, unknown>): import("@tanstack/react-form/dist/esm/createFormHook").AppFieldExtendedReactFormApi<T, FormValidateOrFn<T>, FormValidateOrFn<T>, FormAsyncValidateOrFn<T>, FormValidateOrFn<T>, FormAsyncValidateOrFn<T>, FormValidateOrFn<T>, FormAsyncValidateOrFn<T>, FormAsyncValidateOrFn<T>, unknown, {
7998
6812
  readonly BaseFormTextField: typeof BaseFormTextField;
7999
6813
  readonly FormBigDecimalField: typeof FormBigDecimalField;
8000
6814
  readonly FormCheckboxField: typeof FormCheckboxField;
8001
- readonly FormCurrencyField: typeof FormCurrencyField;
6815
+ readonly FormDateField: typeof FormDateField;
8002
6816
  readonly FormTextAreaField: typeof FormTextAreaField;
8003
6817
  readonly FormTextField: typeof FormTextField;
8004
- }, {}, TRenderProps>) => (props: import("react").PropsWithChildren<NoInfer<[unknown] extends [TRenderProps] ? any : TRenderProps> & {
8005
- form: import("@tanstack/react-form").FormApi<[unknown] extends [TFormData] ? any : TFormData, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnMount] ? [TOnMount] extends [TOnMount & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnMount : TOnMount, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnChange] ? [TOnChange] extends [TOnChange & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChange : TOnChange, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnChangeAsync] ? [TOnChangeAsync] extends [TOnChangeAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChangeAsync : TOnChangeAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnBlur] ? [TOnBlur] extends [TOnBlur & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlur : TOnBlur, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnBlurAsync] ? [TOnBlurAsync] extends [TOnBlurAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlurAsync : TOnBlurAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmit] ? [TOnSubmit] extends [TOnSubmit & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmit : TOnSubmit, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmitAsync] ? [TOnSubmitAsync] extends [TOnSubmitAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmitAsync : TOnSubmitAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnServer] ? [TOnServer] extends [TOnServer & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnServer : TOnServer, [unknown] extends [TSubmitMeta] ? any : TSubmitMeta> & import("@tanstack/react-form").ReactFormApi<[unknown] extends [TFormData] ? any : TFormData, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnMount] ? [TOnMount] extends [TOnMount & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnMount : TOnMount, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnChange] ? [TOnChange] extends [TOnChange & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChange : TOnChange, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnChangeAsync] ? [TOnChangeAsync] extends [TOnChangeAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChangeAsync : TOnChangeAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnBlur] ? [TOnBlur] extends [TOnBlur & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlur : TOnBlur, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnBlurAsync] ? [TOnBlurAsync] extends [TOnBlurAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlurAsync : TOnBlurAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmit] ? [TOnSubmit] extends [TOnSubmit & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmit : TOnSubmit, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmitAsync] ? [TOnSubmitAsync] extends [TOnSubmitAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmitAsync : TOnSubmitAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnServer] ? [TOnServer] extends [TOnServer & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnServer : TOnServer, [unknown] extends [TSubmitMeta] ? any : TSubmitMeta> & {
8006
- AppField: import("@tanstack/react-form").FieldComponent<[unknown] extends [TFormData] ? any : TFormData, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnMount] ? [TOnMount] extends [TOnMount & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnMount : TOnMount, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnChange] ? [TOnChange] extends [TOnChange & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChange : TOnChange, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnChangeAsync] ? [TOnChangeAsync] extends [TOnChangeAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChangeAsync : TOnChangeAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnBlur] ? [TOnBlur] extends [TOnBlur & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlur : TOnBlur, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnBlurAsync] ? [TOnBlurAsync] extends [TOnBlurAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlurAsync : TOnBlurAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmit] ? [TOnSubmit] extends [TOnSubmit & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmit : TOnSubmit, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmitAsync] ? [TOnSubmitAsync] extends [TOnSubmitAsync & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmitAsync : TOnSubmitAsync, [import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined] extends [TOnServer] ? [TOnServer] extends [TOnServer & (import("@tanstack/react-form").FormValidateOrFn<TFormData> | undefined)] ? any : TOnServer : TOnServer, [unknown] extends [TSubmitMeta] ? any : TSubmitMeta, NoInfer<{
8007
- readonly BaseFormTextField: typeof BaseFormTextField;
8008
- readonly FormBigDecimalField: typeof FormBigDecimalField;
8009
- readonly FormCheckboxField: typeof FormCheckboxField;
8010
- readonly FormCurrencyField: typeof FormCurrencyField;
8011
- readonly FormTextAreaField: typeof FormTextAreaField;
8012
- readonly FormTextField: typeof FormTextField;
8013
- }>>;
8014
- AppForm: import("react").ComponentType<import("react").PropsWithChildren>;
8015
- };
8016
- }>) => import("react").JSX.Element;
6818
+ }, {}>;
6819
+
6820
+ }
6821
+ declare module '@layerfi/components/features/forms/types' {
6822
+ export interface CommonFormFieldProps {
6823
+ label: string;
6824
+ className?: string;
6825
+ inline?: boolean;
6826
+ showLabel?: boolean;
6827
+ showFieldError?: boolean;
6828
+ isReadOnly?: boolean;
6829
+ }
8017
6830
 
8018
6831
  }
8019
6832
  declare module '@layerfi/components/features/invoices/api/useListInvoices' {
@@ -8363,12 +7176,13 @@ declare module '@layerfi/components/features/invoices/api/useListInvoices' {
8363
7176
  declare module '@layerfi/components/features/invoices/api/useUpsertInvoice' {
8364
7177
  import type { Key } from 'swr';
8365
7178
  import { type SWRMutationResponse } from 'swr/mutation';
8366
- import { type UpsertInvoice } from '@layerfi/components/features/invoices/invoiceSchemas';
7179
+ import { type UpsertInvoiceSchema } from '@layerfi/components/features/invoices/invoiceSchemas';
8367
7180
  import { Schema } from 'effect';
8368
7181
  export enum UpsertInvoiceMode {
8369
7182
  Create = "Create",
8370
7183
  Update = "Update"
8371
7184
  }
7185
+ type UpsertInvoiceBody = typeof UpsertInvoiceSchema.Encoded;
8372
7186
  const UpsertInvoiceReturnSchema: Schema.Struct<{
8373
7187
  data: Schema.Struct<{
8374
7188
  id: typeof Schema.UUID;
@@ -8434,7 +7248,7 @@ declare module '@layerfi/components/features/invoices/api/useUpsertInvoice' {
8434
7248
  }>;
8435
7249
  }>;
8436
7250
  type UpsertInvoiceReturn = typeof UpsertInvoiceReturnSchema.Type;
8437
- type UpsertInvoiceSWRMutationResponse = SWRMutationResponse<UpsertInvoiceReturn, unknown, Key, UpsertInvoice>;
7251
+ type UpsertInvoiceSWRMutationResponse = SWRMutationResponse<UpsertInvoiceReturn, unknown, Key, UpsertInvoiceBody>;
8438
7252
  class UpsertInvoiceSWRResponse {
8439
7253
  private swrResponse;
8440
7254
  constructor(swrResponse: UpsertInvoiceSWRMutationResponse);
@@ -8541,20 +7355,20 @@ declare module '@layerfi/components/features/invoices/api/useUpsertInvoice' {
8541
7355
  };
8542
7356
  }, unknown, Key, {
8543
7357
  readonly memo: string | null;
8544
- readonly sentAt: Date;
8545
- readonly dueAt: Date;
8546
- readonly invoiceNumber: string | undefined;
8547
- readonly lineItems: readonly {
7358
+ readonly sent_at: string;
7359
+ readonly due_at: string;
7360
+ readonly invoice_number: string | undefined;
7361
+ readonly line_items: readonly {
8548
7362
  readonly description: string;
8549
7363
  readonly product: string;
8550
- readonly quantity: import("effect/BigDecimal").BigDecimal;
8551
- readonly unitPrice: number;
7364
+ readonly quantity: string;
7365
+ readonly unit_price: number;
7366
+ readonly sales_taxes: readonly {
7367
+ readonly amount: number;
7368
+ }[] | undefined;
8552
7369
  }[];
8553
- readonly additionalDiscount: number | undefined;
8554
- readonly customerId: string;
8555
- readonly additionalSalesTaxes: readonly {
8556
- readonly amount: number;
8557
- }[] | undefined;
7370
+ readonly additional_discount: number | undefined;
7371
+ readonly customer_id: string;
8558
7372
  }>;
8559
7373
  get isMutating(): boolean;
8560
7374
  get isError(): boolean;
@@ -8581,6 +7395,7 @@ declare module '@layerfi/components/features/invoices/api/useUpsertInvoice' {
8581
7395
  }
8582
7396
  declare module '@layerfi/components/features/invoices/invoiceSchemas' {
8583
7397
  import { Schema } from 'effect';
7398
+ import { InvoiceTermsValues } from '@layerfi/components/components/Invoices/InvoiceTermsComboBox/InvoiceTermsComboBox';
8584
7399
  export enum InvoiceStatus {
8585
7400
  Voided = "VOIDED",
8586
7401
  Paid = "PAID",
@@ -8676,6 +7491,11 @@ declare module '@layerfi/components/features/invoices/invoiceSchemas' {
8676
7491
  product: typeof Schema.String;
8677
7492
  unitPrice: Schema.PropertySignature<":", number, "unit_price", ":", number, false, never>;
8678
7493
  quantity: typeof Schema.BigDecimal;
7494
+ salesTaxes: Schema.PropertySignature<":", readonly {
7495
+ readonly amount: number;
7496
+ }[] | undefined, "sales_taxes", ":", readonly {
7497
+ readonly amount: number;
7498
+ }[] | undefined, false, never>;
8679
7499
  }>;
8680
7500
  export type UpsertInvoiceLineItem = typeof UpsertInvoiceLineItemSchema.Type;
8681
7501
  export const UpsertInvoiceSchema: Schema.Struct<{
@@ -8689,20 +7509,67 @@ declare module '@layerfi/components/features/invoices/invoiceSchemas' {
8689
7509
  readonly product: string;
8690
7510
  readonly quantity: import("effect/BigDecimal").BigDecimal;
8691
7511
  readonly unitPrice: number;
7512
+ readonly salesTaxes: readonly {
7513
+ readonly amount: number;
7514
+ }[] | undefined;
8692
7515
  }[], "line_items", ":", readonly {
8693
7516
  readonly description: string;
8694
7517
  readonly product: string;
8695
7518
  readonly quantity: string;
8696
7519
  readonly unit_price: number;
7520
+ readonly sales_taxes: readonly {
7521
+ readonly amount: number;
7522
+ }[] | undefined;
8697
7523
  }[], false, never>;
8698
7524
  additionalDiscount: Schema.PropertySignature<":", number | undefined, "additional_discount", ":", number | undefined, false, never>;
8699
- additionalSalesTaxes: Schema.PropertySignature<":", readonly {
8700
- readonly amount: number;
8701
- }[] | undefined, "additional_sales_taxes", ":", readonly {
8702
- readonly amount: number;
8703
- }[] | undefined, false, never>;
8704
7525
  }>;
8705
7526
  export type UpsertInvoice = typeof UpsertInvoiceSchema.Type;
7527
+ export const InvoiceFormLineItemSchema: Schema.Struct<{
7528
+ description: typeof Schema.String;
7529
+ product: typeof Schema.String;
7530
+ unitPrice: typeof Schema.BigDecimal;
7531
+ quantity: typeof Schema.BigDecimal;
7532
+ amount: typeof Schema.BigDecimal;
7533
+ isTaxable: typeof Schema.Boolean;
7534
+ }>;
7535
+ export type InvoiceFormLineItem = typeof InvoiceFormLineItemSchema.Type;
7536
+ export const InvoiceFormSchema: Schema.Struct<{
7537
+ terms: Schema.Enums<typeof InvoiceTermsValues>;
7538
+ sentAt: Schema.NullOr<Schema.declare<import("@internationalized/date").ZonedDateTime, import("@internationalized/date").ZonedDateTime, readonly [], never>>;
7539
+ dueAt: Schema.NullOr<Schema.declare<import("@internationalized/date").ZonedDateTime, import("@internationalized/date").ZonedDateTime, readonly [], never>>;
7540
+ invoiceNumber: typeof Schema.String;
7541
+ customer: Schema.NullOr<Schema.Struct<{
7542
+ id: typeof Schema.UUID;
7543
+ externalId: Schema.PropertySignature<":", string | null, "external_id", ":", string | null, false, never>;
7544
+ individualName: Schema.PropertySignature<":", string | null, "individual_name", ":", string | null, false, never>;
7545
+ companyName: Schema.PropertySignature<":", string | null, "company_name", ":", string | null, false, never>;
7546
+ email: Schema.NullOr<typeof Schema.String>;
7547
+ mobilePhone: Schema.PropertySignature<":", string | null, "mobile_phone", ":", string | null, false, never>;
7548
+ officePhone: Schema.PropertySignature<":", string | null, "office_phone", ":", string | null, false, never>;
7549
+ addressString: Schema.PropertySignature<":", string | null, "address_string", ":", string | null, false, never>;
7550
+ status: Schema.transform<typeof Schema.NonEmptyTrimmedString, Schema.SchemaClass<"ACTIVE" | "ARCHIVED", "ACTIVE" | "ARCHIVED", never>>;
7551
+ memo: Schema.NullOr<typeof Schema.String>;
7552
+ _local: Schema.optional<Schema.Struct<{
7553
+ isOptimistic: typeof Schema.Boolean;
7554
+ }>>;
7555
+ }>>;
7556
+ email: typeof Schema.String;
7557
+ address: typeof Schema.String;
7558
+ lineItems: Schema.Array$<Schema.Struct<{
7559
+ description: typeof Schema.String;
7560
+ product: typeof Schema.String;
7561
+ unitPrice: typeof Schema.BigDecimal;
7562
+ quantity: typeof Schema.BigDecimal;
7563
+ amount: typeof Schema.BigDecimal;
7564
+ isTaxable: typeof Schema.Boolean;
7565
+ }>>;
7566
+ discountRate: typeof Schema.BigDecimal;
7567
+ taxRate: typeof Schema.BigDecimal;
7568
+ memo: typeof Schema.String;
7569
+ }>;
7570
+ export type InvoiceForm = Omit<typeof InvoiceFormSchema.Type, 'lineItems'> & {
7571
+ lineItems: InvoiceFormLineItem[];
7572
+ };
8706
7573
 
8707
7574
  }
8708
7575
  declare module '@layerfi/components/features/ledger/accounts/[ledgerAccountId]/api/useListLedgerAccountLines' {
@@ -9464,11 +8331,14 @@ declare module '@layerfi/components/hooks/customAccounts/types' {
9464
8331
  direction: Direction;
9465
8332
  date: string;
9466
8333
  description: string;
8334
+ reference_number?: string | null;
9467
8335
  };
9468
8336
  export interface CustomAccountTransactionRow {
9469
8337
  date: string;
9470
8338
  description: string;
9471
8339
  amount: number;
8340
+ external_id?: string | null;
8341
+ reference_number?: string | null;
9472
8342
  }
9473
8343
 
9474
8344
  }
@@ -11931,6 +10801,7 @@ declare module '@layerfi/components/types/linked_accounts' {
11931
10801
  connection_needs_repair_as_of: string | null;
11932
10802
  is_syncing: boolean;
11933
10803
  user_created: boolean;
10804
+ reconnect_with_new_credentials: boolean;
11934
10805
  };
11935
10806
  export type LinkedAccounts = {
11936
10807
  type: string;
@@ -12141,6 +11012,7 @@ declare module '@layerfi/components/types/profit_and_loss' {
12141
11012
  other_outflows?: LineItem | null;
12142
11013
  personal_expenses?: LineItem | null;
12143
11014
  fully_categorized: boolean;
11015
+ custom_line_items?: LineItem | null;
12144
11016
  }
12145
11017
  export interface TagComparisonOption {
12146
11018
  displayName: string;
@@ -12536,16 +11408,28 @@ declare module '@layerfi/components/utils/bigDecimalUtils' {
12536
11408
  import { BigDecimal as BD } from 'effect';
12537
11409
  export const BIG_DECIMAL_ZERO: BD.BigDecimal;
12538
11410
  export const BIG_DECIMAL_ONE: BD.BigDecimal;
11411
+ export const BIG_DECIMAL_NEG_ONE: BD.BigDecimal;
12539
11412
  export const BIG_DECIMAL_ONE_HUNDRED: BD.BigDecimal;
12540
- export const DECIMAL_CHARS_REGEX: RegExp;
12541
- export const NON_NEGATIVE_DECIMAL_CHARS_REGEX: RegExp;
11413
+ export const buildDecimalCharRegex: ({ allowNegative, allowPercent, allowDollar, }?: {
11414
+ allowNegative?: boolean | undefined;
11415
+ allowPercent?: boolean | undefined;
11416
+ allowDollar?: boolean | undefined;
11417
+ }) => RegExp;
12542
11418
  /**
12543
11419
  * Converts a BigDecimal dollar amount to its equivalent in cents as a number.
12544
11420
  * Example: 123.45 → 12345
12545
11421
  */
12546
11422
  export const convertBigDecimalToCents: (amount: BD.BigDecimal) => number;
12547
11423
  export const convertCentsToBigDecimal: (cents: number) => BD.BigDecimal;
12548
- export function formatBigDecimalToString(value: BD.BigDecimal, maxDecimalPlaces?: number): string;
11424
+ export const convertPercentToDecimal: (percent: BD.BigDecimal) => BD.BigDecimal;
11425
+ export const roundDecimalToCents: (decimal: BD.BigDecimal) => BD.BigDecimal;
11426
+ export const safeDivide: (dividend: BD.BigDecimal, divisor: BD.BigDecimal) => BD.BigDecimal;
11427
+ export const negate: (value: BD.BigDecimal) => BD.BigDecimal;
11428
+ export function formatBigDecimalToString(value: BD.BigDecimal, options?: {
11429
+ mode: 'percent' | 'currency' | 'decimal';
11430
+ minDecimalPlaces: number;
11431
+ maxDecimalPlaces: number;
11432
+ }): string;
12549
11433
 
12550
11434
  }
12551
11435
  declare module '@layerfi/components/utils/bills' {
@@ -12729,6 +11613,12 @@ declare module '@layerfi/components/utils/request/toDefinedSearchParameters' {
12729
11613
  export type ParameterValues = Date | string | ReadonlyArray<string> | number | boolean;
12730
11614
  export function toDefinedSearchParameters(input: Record<string, ParameterValues | null | undefined>): URLSearchParams;
12731
11615
 
11616
+ }
11617
+ declare module '@layerfi/components/utils/schema/utils' {
11618
+ import { Schema } from 'effect';
11619
+ import { ZonedDateTime } from '@internationalized/date';
11620
+ export const ZonedDateTimeFromSelf: Schema.declare<ZonedDateTime, ZonedDateTime, readonly [], never>;
11621
+
12732
11622
  }
12733
11623
  declare module '@layerfi/components/utils/styleUtils/sizeVariants' {
12734
11624
  const _SIZE_VARIANTS: readonly ["sm", "lg"];
@@ -12788,8 +11678,10 @@ declare module '@layerfi/components/utils/swr/withSWRKeyTags' {
12788
11678
 
12789
11679
  }
12790
11680
  declare module '@layerfi/components/utils/time/timeUtils' {
11681
+ import { ZonedDateTime } from '@internationalized/date';
12791
11682
  export const toLocalDateString: (date: Date) => string;
12792
11683
  export function getDueDifference(dueDate: Date): number;
11684
+ export function isZonedDateTime(val: unknown): val is ZonedDateTime;
12793
11685
 
12794
11686
  }
12795
11687
  declare module '@layerfi/components/utils/vendors' {