@npm-zenwork/tax-remittance-ui 0.2.3 → 0.2.5

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.
Files changed (89) hide show
  1. package/dist/api/bankAccounts.d.ts +9 -7
  2. package/dist/api/entities.d.ts +10 -7
  3. package/dist/api/remittancePayments.d.ts +3 -1
  4. package/dist/components/dashboard/AddFirstPaymentModal.d.ts +12 -0
  5. package/dist/components/dashboard/SetupChecklist.d.ts +22 -0
  6. package/dist/components/dashboard/useSetupProgress.d.ts +25 -0
  7. package/dist/components/entities/EntityActionsMenu.d.ts +3 -1
  8. package/dist/components/entities/EntityCard.d.ts +8 -0
  9. package/dist/components/entities/EntityTypeFilter.d.ts +8 -0
  10. package/dist/components/entities/entityListUtils.d.ts +6 -0
  11. package/dist/components/forms/SegmentedControl.d.ts +5 -1
  12. package/dist/components/icons/BankIcon.d.ts +1 -0
  13. package/dist/components/icons/BusinessIcon.d.ts +1 -0
  14. package/dist/components/icons/CheckCircleIcon.d.ts +1 -0
  15. package/dist/components/icons/EmptyTaxAccountsIllustration.d.ts +5 -0
  16. package/dist/components/icons/EntitySuccessIllustration.d.ts +2 -0
  17. package/dist/components/icons/EyeIcon.d.ts +1 -0
  18. package/dist/components/icons/EyeOffIcon.d.ts +1 -0
  19. package/dist/components/icons/IndividualEntitySuccessIllustration.d.ts +2 -0
  20. package/dist/components/icons/PersonIcon.d.ts +1 -0
  21. package/dist/components/icons/XCircleIcon.d.ts +1 -0
  22. package/dist/components/onboarding/EntityAccountTypeRow.d.ts +14 -0
  23. package/dist/components/onboarding/EntityAddressFields.d.ts +17 -0
  24. package/dist/components/onboarding/EntityBusinessFields.d.ts +19 -0
  25. package/dist/components/onboarding/EntityCreatedModal.d.ts +14 -0
  26. package/dist/components/onboarding/EntityForm.d.ts +5 -0
  27. package/dist/components/onboarding/EntityFormHelpPanel.d.ts +8 -0
  28. package/dist/components/onboarding/EntityIdNumberInput.d.ts +14 -0
  29. package/dist/components/onboarding/EntityPhoneField.d.ts +10 -0
  30. package/dist/components/onboarding/EntityPrimaryTaxpayerFields.d.ts +17 -0
  31. package/dist/components/onboarding/EntitySuccessModal.d.ts +35 -0
  32. package/dist/components/onboarding/SecondaryTaxpayerSection.d.ts +21 -0
  33. package/dist/components/onboarding/entityHelpContent.d.ts +123 -0
  34. package/dist/components/onboarding/useEntityForm.d.ts +78 -0
  35. package/dist/components/payments/BankAccountCard.d.ts +16 -0
  36. package/dist/components/payments/BankAccountDrawer.d.ts +15 -0
  37. package/dist/components/payments/BankConnectionMethodModal.d.ts +11 -0
  38. package/dist/components/payments/BankConnectionMethodPicker.d.ts +10 -0
  39. package/dist/components/payments/InlineRowActions.d.ts +17 -0
  40. package/dist/components/payments/PaymentActionButton.d.ts +9 -0
  41. package/dist/components/payments/PaymentFormSection.d.ts +1 -1
  42. package/dist/components/payments/PaymentRowMenu.d.ts +14 -0
  43. package/dist/components/payments/PaymentStatusBadge.d.ts +7 -0
  44. package/dist/components/payments/PaymentStepper.d.ts +14 -0
  45. package/dist/components/payments/PaymentTableRow.d.ts +14 -0
  46. package/dist/components/payments/PaymentsNeedAttention.d.ts +14 -0
  47. package/dist/components/payments/RecurringPaymentToggle.d.ts +16 -0
  48. package/dist/components/payments/RecurringPeriodRows.d.ts +34 -0
  49. package/dist/components/payments/StateBankDetailsForm.d.ts +8 -0
  50. package/dist/components/payments/StatePaymentReviewPanel.d.ts +14 -0
  51. package/dist/components/payments/federalPaymentSteps.d.ts +6 -0
  52. package/dist/components/payments/federalPaymentUtils.d.ts +4 -0
  53. package/dist/components/payments/paymentsTableConfig.d.ts +20 -9
  54. package/dist/components/payments/remittancePaymentMappers.d.ts +5 -2
  55. package/dist/components/payments/statePaymentAuthorizationConfig.d.ts +1 -1
  56. package/dist/components/payments/useStatePaymentDraftSave.d.ts +11 -0
  57. package/dist/components/settings/BankAccountActionsMenu.d.ts +3 -1
  58. package/dist/components/settings/TaxAccountDrawer.d.ts +22 -0
  59. package/dist/components/settings/settingsNavConfig.d.ts +1 -1
  60. package/dist/components/settings/taxAccountDrawerConfig.d.ts +5 -0
  61. package/dist/components/tax-forms/TaxFormCard.d.ts +7 -0
  62. package/dist/components/tax-forms/TaxFormsGrid.d.ts +9 -0
  63. package/dist/components/ui/SideDrawer.d.ts +18 -0
  64. package/dist/components/ui/StatusPill.d.ts +10 -0
  65. package/dist/index.cjs +34 -34
  66. package/dist/index.cjs.map +1 -1
  67. package/dist/index.mjs +14683 -11897
  68. package/dist/index.mjs.map +1 -1
  69. package/dist/lib/bankAccountInputRules.d.ts +17 -0
  70. package/dist/lib/entityFormUtils.d.ts +44 -1
  71. package/dist/lib/paymentsNavigation.d.ts +4 -2
  72. package/dist/pages/StateBankDetailsPage.d.ts +2 -0
  73. package/dist/styles.css +1 -1
  74. package/dist/types/entity.d.ts +24 -0
  75. package/dist/types/federalPaymentFlow.d.ts +2 -0
  76. package/dist/types/statePayment.d.ts +22 -5
  77. package/dist/types/statePaymentFlow.d.ts +3 -0
  78. package/package.json +1 -1
  79. package/dist/api/paymentTransactions.d.ts +0 -7
  80. package/dist/components/dashboard/EmptyPaymentCard.d.ts +0 -9
  81. package/dist/components/payments/PaymentRowActions.d.ts +0 -13
  82. package/dist/components/settings/AddBankAccountManualForm.d.ts +0 -7
  83. package/dist/components/settings/AddBankAccountModal.d.ts +0 -8
  84. package/dist/components/settings/EditBankAccountModal.d.ts +0 -8
  85. package/dist/components/settings/PaymentHistorySection.d.ts +0 -5
  86. package/dist/components/settings/SettingsPlaceholderSection.d.ts +0 -6
  87. package/dist/components/tax-forms/TaxFormsTable.d.ts +0 -8
  88. package/dist/pages/StatePaymentEditorPage.d.ts +0 -5
  89. package/dist/types/paymentHistory.d.ts +0 -26
@@ -0,0 +1,15 @@
1
+ import { BankAccountResponse } from '../../types/bankAccount';
2
+ interface BankAccountDrawerProps {
3
+ open: boolean;
4
+ entityId: number | null;
5
+ /** Pass an account to edit it; omit to add a new one. */
6
+ account?: BankAccountResponse | null;
7
+ onClose: () => void;
8
+ onSaved?: (bankAccountDetailId: number) => void;
9
+ }
10
+ /**
11
+ * Slide-over for adding or editing a bank account without leaving the payment
12
+ * flow. Shares its validation with the settings form (createBankAccountSchema).
13
+ */
14
+ export declare function BankAccountDrawer({ open, entityId, account, onClose, onSaved, }: BankAccountDrawerProps): import("react").JSX.Element;
15
+ export {};
@@ -0,0 +1,11 @@
1
+ interface BankConnectionMethodModalProps {
2
+ open: boolean;
3
+ onClose: () => void;
4
+ onAddManually: () => void;
5
+ }
6
+ /**
7
+ * Asks how to connect a bank account before opening the add form. Plaid isn't
8
+ * implemented yet, so that option is shown but not selectable.
9
+ */
10
+ export declare function BankConnectionMethodModal({ open, onClose, onAddManually, }: BankConnectionMethodModalProps): import('react').ReactPortal | null;
11
+ export {};
@@ -0,0 +1,10 @@
1
+ interface BankConnectionMethodPickerProps {
2
+ onAddManually: () => void;
3
+ disabled?: boolean;
4
+ }
5
+ /**
6
+ * "Connect Your Bank Account" method choice. Plaid isn't implemented yet, so
7
+ * that option is present but not selectable.
8
+ */
9
+ export declare function BankConnectionMethodPicker({ onAddManually, disabled, }: BankConnectionMethodPickerProps): import("react").JSX.Element;
10
+ export {};
@@ -0,0 +1,17 @@
1
+ interface InlineRowActionsProps {
2
+ /** Eye icon — omitted when the layout has no view action. */
3
+ onView?: () => void;
4
+ /** Pencil icon — Draft rows only. */
5
+ onEdit?: () => void;
6
+ button?: {
7
+ label: string;
8
+ onClick: () => void;
9
+ disabled?: boolean;
10
+ };
11
+ }
12
+ /**
13
+ * Row actions rendered inline (rather than in the row menu): the view/edit
14
+ * icons plus the tab's primary button — Submit & Pay, View or Re-Submit.
15
+ */
16
+ export declare function InlineRowActions({ onView, onEdit, button }: InlineRowActionsProps): import("react").JSX.Element;
17
+ export {};
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ interface PaymentActionButtonProps {
3
+ onClick: () => void;
4
+ disabled?: boolean;
5
+ children: ReactNode;
6
+ }
7
+ /** Outlined pill used for the inline row actions (Submit & Pay, View). */
8
+ export declare function PaymentActionButton({ onClick, disabled, children, }: PaymentActionButtonProps): import("react").JSX.Element;
9
+ export {};
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  interface PaymentFormSectionProps {
3
- title: string;
3
+ title: ReactNode;
4
4
  children: ReactNode;
5
5
  isFirst?: boolean;
6
6
  headerAction?: ReactNode;
@@ -0,0 +1,14 @@
1
+ import { PaymentActionType } from './paymentsTableConfig';
2
+ interface PaymentRowMenuProps {
3
+ actionType: PaymentActionType;
4
+ onView?: () => void;
5
+ onViewPdf?: () => void;
6
+ onEdit?: () => void;
7
+ onSubmit?: () => void;
8
+ onResubmit?: () => void;
9
+ isSubmitting?: boolean;
10
+ isViewPdfLoading?: boolean;
11
+ }
12
+ /** Vertical-dots row menu — holds the actions available for the row's status. */
13
+ export declare function PaymentRowMenu(props: PaymentRowMenuProps): import("react").JSX.Element;
14
+ export {};
@@ -0,0 +1,7 @@
1
+ interface PaymentStatusBadgeProps {
2
+ status: string | null;
3
+ category: 'federal' | 'state';
4
+ }
5
+ /** Status pill for the Tax Payments table. */
6
+ export declare function PaymentStatusBadge({ status, category }: PaymentStatusBadgeProps): import("react").JSX.Element;
7
+ export {};
@@ -0,0 +1,14 @@
1
+ interface PaymentStepperProps {
2
+ steps: string[];
3
+ /** 1-based index of the step currently being filled in. Earlier steps render as done. */
4
+ current: number;
5
+ /**
6
+ * Highest step to render as done. Defaults to everything before `current` —
7
+ * pass `current` itself once the active step's requirement is satisfied.
8
+ */
9
+ completed?: number;
10
+ className?: string;
11
+ }
12
+ /** `01 Payment Details — 02 Bank Account — 03 Review & Authorize` progress header. */
13
+ export declare function PaymentStepper({ steps, current, completed, className }: PaymentStepperProps): import("react").JSX.Element;
14
+ export {};
@@ -0,0 +1,14 @@
1
+ import { PaymentTableLayout } from './paymentsTableConfig';
2
+ import { RemittancePaymentRow } from './remittancePaymentMappers';
3
+ interface PaymentTableRowProps {
4
+ row: RemittancePaymentRow;
5
+ layout: PaymentTableLayout;
6
+ isSubmitting: boolean;
7
+ isViewPdfLoading: boolean;
8
+ onView: () => void;
9
+ onEdit: () => void;
10
+ onViewPdf: () => void;
11
+ onSubmit: () => void;
12
+ }
13
+ export declare function PaymentTableRow({ row, layout, isSubmitting, isViewPdfLoading, onView, onEdit, onViewPdf, onSubmit, }: PaymentTableRowProps): import("react").JSX.Element;
14
+ export {};
@@ -0,0 +1,14 @@
1
+ import { RemittancePaymentRow } from './remittancePaymentMappers';
2
+ interface PaymentsNeedAttentionProps {
3
+ rows: RemittancePaymentRow[];
4
+ onViewAll: () => void;
5
+ onView: (row: RemittancePaymentRow) => void;
6
+ onResubmit: (row: RemittancePaymentRow) => void;
7
+ }
8
+ /**
9
+ * Rejected payments carousel above the payments table — one payment at a time,
10
+ * with the arrows and dots from the design. Renders nothing when nothing is
11
+ * rejected.
12
+ */
13
+ export declare function PaymentsNeedAttention({ rows, onViewAll, onView, onResubmit, }: PaymentsNeedAttentionProps): import("react").JSX.Element | null;
14
+ export {};
@@ -0,0 +1,16 @@
1
+ interface RecurringPaymentToggleProps {
2
+ enabled: boolean;
3
+ onChange: (enabled: boolean) => void;
4
+ frequency: string;
5
+ endDate: string;
6
+ onEndDateChange: (endDate: string) => void;
7
+ endDateError?: string;
8
+ disabled?: boolean;
9
+ }
10
+ /**
11
+ * "Make This a Recurring Payment" panel. When enabled, the backend generates
12
+ * one scheduled payment per occurrence of the chosen frequency, up to the end
13
+ * date entered here.
14
+ */
15
+ export declare function RecurringPaymentToggle({ enabled, onChange, frequency, endDate, onEndDateChange, endDateError, disabled, }: RecurringPaymentToggleProps): import("react").JSX.Element;
16
+ export {};
@@ -0,0 +1,34 @@
1
+ import { StatePaymentOption } from '../../types/statePayment';
2
+ export interface RecurringPeriodRow {
3
+ id: number;
4
+ taxPeriod: string;
5
+ taxAmount: string;
6
+ paymentDate: string;
7
+ }
8
+ export declare function createRecurringPeriodRow(id: number): RecurringPeriodRow;
9
+ interface RecurringPeriodRowsProps {
10
+ rows: RecurringPeriodRow[];
11
+ taxPeriodOptions: StatePaymentOption[];
12
+ onChange: (id: number, patch: Partial<Omit<RecurringPeriodRow, 'id'>>) => void;
13
+ onRemove: (id: number) => void;
14
+ onAdd: () => void;
15
+ disabled?: boolean;
16
+ }
17
+ /**
18
+ * Extra tax period / amount / date rows for a recurring schedule.
19
+ *
20
+ * UI-only for now: StatePaymentDraft and CreateStatePaymentRequest each hold a
21
+ * single period, so only the first row (owned by the form itself) is
22
+ * submitted. These rows capture the intended schedule until the API accepts
23
+ * one.
24
+ */
25
+ export declare function RecurringPeriodRows({ rows, taxPeriodOptions, onChange, onRemove, onAdd, disabled, }: RecurringPeriodRowsProps): import("react").JSX.Element;
26
+ interface PeriodRowDeleteButtonProps {
27
+ onClick?: () => void;
28
+ label: string;
29
+ disabled?: boolean;
30
+ title?: string;
31
+ }
32
+ /** Trash button aligned to the input row, clearing the field labels above it. */
33
+ export declare function PeriodRowDeleteButton({ onClick, label, disabled, title, }: PeriodRowDeleteButtonProps): import("react").JSX.Element;
34
+ export {};
@@ -0,0 +1,8 @@
1
+ import { EntityDetailsResponse } from '../../types/entity';
2
+ import { StatePaymentDraft } from '../../types/statePaymentFlow';
3
+ interface StateBankDetailsFormProps {
4
+ entity: EntityDetailsResponse | null;
5
+ paymentDraft: StatePaymentDraft;
6
+ }
7
+ export declare function StateBankDetailsForm({ entity, paymentDraft }: StateBankDetailsFormProps): import("react").JSX.Element;
8
+ export {};
@@ -0,0 +1,14 @@
1
+ import { EntityDetailsResponse } from '../../types/entity';
2
+ import { StatePaymentDraft } from '../../types/statePaymentFlow';
3
+ interface StatePaymentReviewPanelProps {
4
+ entity: EntityDetailsResponse | null;
5
+ paymentDraft: StatePaymentDraft;
6
+ }
7
+ /**
8
+ * Read-only summary beside the authorization agreement. Labels are resolved
9
+ * from the same cached reference queries the earlier steps use, falling back
10
+ * to the raw draft values when a lookup isn't available (e.g. a draft opened
11
+ * straight from the payments list).
12
+ */
13
+ export declare function StatePaymentReviewPanel({ entity, paymentDraft }: StatePaymentReviewPanelProps): import("react").JSX.Element;
14
+ export {};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Progress header shared by the federal payment flow — shown on the payment
3
+ * form (step 1) and on both step 2 screens: reporting agent authorization
4
+ * (businesses) and EFTPS individual enrollment (individuals).
5
+ */
6
+ export declare const FEDERAL_PAYMENT_STEPS: string[];
@@ -1,5 +1,9 @@
1
1
  export { getMinSettlementDate } from './settlementDateRules';
2
2
  export declare function maskAccountNumber(accountNumber: string): string;
3
+ /** `XXXX-1234` — the mask used by the bank account cards and pickers. */
4
+ export declare function maskAccountNumberDashed(accountNumber: string): string;
5
+ /** ISO `2026-08-18` → `08/18/2026`. Returns the input unchanged if unparseable. */
6
+ export declare function formatDisplayDate(isoDate: string): string;
3
7
  export declare function getTaxPeriodOptions(): Array<{
4
8
  value: string;
5
9
  label: string;
@@ -1,15 +1,26 @@
1
1
  import { ComponentType, SVGProps } from 'react';
2
+ /** Bucket a payment row falls into — derived from its status. */
2
3
  export type PaymentStatus = 'drafts' | 'scheduled' | 'submitted' | 'rejected' | 'paid';
4
+ /** Tabs on the Tax Payments table — every bucket, plus the unfiltered "All". */
5
+ export type PaymentTab = 'all' | PaymentStatus;
3
6
  export type PaymentActionType = 'draft-actions' | 'view-pdf' | 'view-link' | 'rejected-actions';
4
- export interface TabTableConfig {
5
- columns: string[];
6
- emptyMessage: string;
7
- actionType: PaymentActionType;
8
- }
9
7
  export declare const statusTabs: {
10
- key: PaymentStatus;
8
+ key: PaymentTab;
11
9
  label: string;
12
- Icon: ComponentType<SVGProps<SVGSVGElement>>;
13
- iconClassName: string;
10
+ /** Omitted for "All", which is text-only in the design. */
11
+ Icon?: ComponentType<SVGProps<SVGSVGElement>>;
12
+ iconClassName?: string;
14
13
  }[];
15
- export declare const tabTableConfig: Record<PaymentStatus, TabTableConfig>;
14
+ /**
15
+ * How a tab lays out its rows:
16
+ * - `default` status pill, actions in the row menu (unlabelled column)
17
+ * - `view-action` same columns, inline View button
18
+ * - `draft` reference ID, no status, view/edit icons + Submit & Pay
19
+ * - `rejected` reference ID, rejected date and reason, view icon + Re-Submit
20
+ */
21
+ export type PaymentTableLayout = 'default' | 'view-action' | 'draft' | 'rejected';
22
+ export declare const tabLayout: Record<PaymentTab, PaymentTableLayout>;
23
+ export declare const layoutColumns: Record<PaymentTableLayout, string[]>;
24
+ export declare const tabEmptyMessage: Record<PaymentTab, string>;
25
+ /** Actions offered for a row, keyed by the row's own bucket (not the open tab). */
26
+ export declare const rowActionType: Record<PaymentStatus, PaymentActionType>;
@@ -11,19 +11,22 @@ export interface RemittancePaymentRow {
11
11
  paymentDate: string;
12
12
  status: string | null;
13
13
  reason: string | null;
14
+ /** Federal tax form / state reason for payment. `—` when unknown. */
15
+ formType: string;
14
16
  tab: PaymentStatus;
15
17
  }
16
- export declare function formatTaxPeriod(taxPeriod: string): string;
18
+ export declare function formatTaxPeriod(taxPeriod: string | null | undefined): string;
17
19
  export declare function mapRemittancePaymentToRow(payment: {
18
20
  id: number;
19
21
  category: 'federal' | 'state';
20
22
  referenceNumber: string | null;
21
23
  jurisdiction: string;
22
- taxPeriod: string;
24
+ taxPeriod: string | null;
23
25
  amount: number;
24
26
  paymentDate: string;
25
27
  status: string | null;
26
28
  reason: string | null;
29
+ formType?: string | null;
27
30
  }): RemittancePaymentRow;
28
31
  export declare function mapFederalPaymentToRemittanceRow(payment: FederalPaymentResponse): RemittancePaymentRow;
29
32
  export declare function mapStatePaymentToRemittanceRow(payment: StatePaymentResponse): RemittancePaymentRow;
@@ -1,2 +1,2 @@
1
- export declare const statePaymentAuthorizationText = "By proceeding, you authorize the payment to the selected tax authority and acknowledge that you are responsible for the accuracy of the information provided.";
1
+ export declare const statePaymentAuthorizationText = "Before your payment is processed, please review the information carefully. By proceeding, you authorize to initiate this payment to the selected tax authority using your chosen bank account. You acknowledge that you are responsible for ensuring the accuracy of the payment information and for complying with all applicable tax filing and payment requirements.";
2
2
  export declare const statePaymentAuthorizationCheckboxLabel = "I have reviewed the details and authorize this payment.";
@@ -0,0 +1,11 @@
1
+ import { EntityDetailsResponse } from '../../types/entity';
2
+ import { StatePaymentDraft } from '../../types/statePaymentFlow';
3
+ /**
4
+ * Persist an in-progress state payment as a Draft. Shared by the Bank Account
5
+ * step and the Authorization step so "Save as Draft" behaves identically in
6
+ * both places.
7
+ */
8
+ export declare function useStatePaymentDraftSave(entity: EntityDetailsResponse | null): {
9
+ upsertPayment: (paymentDraft: StatePaymentDraft) => Promise<import('../../types/statePayment').StatePaymentResponse | null>;
10
+ saveAsDraft: (paymentDraft: StatePaymentDraft) => Promise<void>;
11
+ };
@@ -3,6 +3,8 @@ interface BankAccountActionsMenuProps {
3
3
  account: BankAccountResponse;
4
4
  entityId: number;
5
5
  onEdit: (account: BankAccountResponse) => void;
6
+ /** `kebab` is the icon-only trigger used on the bank account cards. */
7
+ variant?: 'button' | 'kebab';
6
8
  }
7
- export declare function BankAccountActionsMenu({ account, entityId, onEdit }: BankAccountActionsMenuProps): import("react").JSX.Element;
9
+ export declare function BankAccountActionsMenu({ account, entityId, onEdit, variant, }: BankAccountActionsMenuProps): import("react").JSX.Element;
8
10
  export {};
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { TaxAccountDetailResponse } from '../../types/taxAccountDetails';
3
+ declare const taxAccountSchema: z.ZodObject<{
4
+ state: z.ZodString;
5
+ reasonForPayment: z.ZodString;
6
+ accountId: z.ZodString;
7
+ stateTaxId: z.ZodString;
8
+ taxYear: z.ZodOptional<z.ZodString>;
9
+ frequency: z.ZodOptional<z.ZodString>;
10
+ status: z.ZodString;
11
+ notes: z.ZodOptional<z.ZodString>;
12
+ }, z.core.$strip>;
13
+ export type TaxAccountDrawerValues = z.infer<typeof taxAccountSchema>;
14
+ interface TaxAccountDrawerProps {
15
+ open: boolean;
16
+ entityId: number | null;
17
+ /** When set, the drawer edits this account instead of creating one. */
18
+ account?: TaxAccountDetailResponse | null;
19
+ onClose: () => void;
20
+ }
21
+ export declare function TaxAccountDrawer({ open, entityId, account, onClose }: TaxAccountDrawerProps): import("react").JSX.Element;
22
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { ComponentType, SVGProps } from 'react';
2
- export type SettingsSectionId = 'bank-accounts' | 'tax-accounts' | 'payment-history' | 'entity-details';
2
+ export type SettingsSectionId = 'bank-accounts' | 'tax-accounts' | 'entity-details';
3
3
  export interface SettingsNavItem {
4
4
  id: SettingsSectionId;
5
5
  title: string;
@@ -0,0 +1,5 @@
1
+ /** Filing cadences offered for a tax account. */
2
+ export declare const TAX_ACCOUNT_FREQUENCIES: readonly ["Monthly", "Quarterly", "Semi-Annually", "Annually"];
3
+ export declare const TAX_ACCOUNT_STATUSES: readonly ["Active", "Inactive"];
4
+ /** Current year and the four before it — the years an account can be filed for. */
5
+ export declare function getTaxAccountYearOptions(): string[];
@@ -0,0 +1,7 @@
1
+ import { TaxFormResponse } from '../../types/taxForm';
2
+ interface TaxFormCardProps {
3
+ form: TaxFormResponse;
4
+ onAction?: (form: TaxFormResponse) => void;
5
+ }
6
+ export declare function TaxFormCard({ form, onAction }: TaxFormCardProps): import("react").JSX.Element;
7
+ export {};
@@ -0,0 +1,9 @@
1
+ import { TaxFormResponse } from '../../types/taxForm';
2
+ interface TaxFormsGridProps {
3
+ forms?: TaxFormResponse[];
4
+ isLoading?: boolean;
5
+ isError?: boolean;
6
+ onFormAction?: (form: TaxFormResponse) => void;
7
+ }
8
+ export declare function TaxFormsGrid({ forms, isLoading, isError, onFormAction, }: TaxFormsGridProps): import("react").JSX.Element;
9
+ export {};
@@ -0,0 +1,18 @@
1
+ import { ReactNode } from 'react';
2
+ interface SideDrawerProps {
3
+ open: boolean;
4
+ title: string;
5
+ onClose: () => void;
6
+ children: ReactNode;
7
+ /** Pinned to the bottom of the panel — action buttons live here. */
8
+ footer?: ReactNode;
9
+ labelledById?: string;
10
+ /** Turn off while another drawer is stacked on top, so Escape closes that one only. */
11
+ closeOnEscape?: boolean;
12
+ }
13
+ /**
14
+ * Right-hand slide-over panel. Same overlay/escape/scroll-lock behaviour as
15
+ * the centred modals, but anchored to the edge and full height.
16
+ */
17
+ export declare function SideDrawer({ open, title, onClose, children, footer, labelledById, closeOnEscape, }: SideDrawerProps): import('react').ReactPortal | null;
18
+ export {};
@@ -0,0 +1,10 @@
1
+ interface StatusPillProps {
2
+ active: boolean;
3
+ /** `outline` matches the tax accounts table; `filled` the bank account cards. */
4
+ variant?: 'filled' | 'outline';
5
+ activeLabel?: string;
6
+ inactiveLabel?: string;
7
+ }
8
+ /** Small dot + label pill for Active / Inactive state. */
9
+ export declare function StatusPill({ active, variant, activeLabel, inactiveLabel, }: StatusPillProps): import("react").JSX.Element;
10
+ export {};