@gusto/embedded-react-sdk 0.57.0 → 0.57.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/dist/components/Base/Base.js +3 -2
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Common/DataView/DataCards/DataCards.js +44 -42
- package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
- package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js +17 -15
- package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js.map +1 -1
- package/dist/components/Common/UI/Input/Input.js +35 -32
- package/dist/components/Common/UI/Input/Input.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +8 -6
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +10 -8
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +8 -6
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/TitleSelect.js +11 -10
- package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +9 -8
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -3
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js +12 -10
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +13 -11
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +7 -5
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -3
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Actions.js +9 -7
- package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +7 -5
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Actions.js +7 -5
- package/dist/components/Company/Industry/Actions.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +8 -6
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Edit.js +12 -10
- package/dist/components/Company/Industry/Edit.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Actions.js +10 -8
- package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -3
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/Actions.js +8 -6
- package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.js +13 -11
- package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -3
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +5 -3
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js +13 -11
- package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +7 -5
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +96 -69
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +8 -6
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +5 -3
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/shared/requirementSetError.js +27 -10
- package/dist/components/Company/StateTaxes/shared/requirementSetError.js.map +1 -1
- package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.js +77 -0
- package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.js +94 -0
- package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.js +26 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.js +25 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.js +33 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.js +55 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.js +153 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.module.scss.js +14 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.module.scss.js.map +1 -0
- package/dist/components/Company/TaxPayments/shared/payrollLookupWindow.js +16 -0
- package/dist/components/Company/TaxPayments/shared/payrollLookupWindow.js.map +1 -0
- package/dist/components/Company/TaxPayments/shared/taxPaymentStatus.js +34 -0
- package/dist/components/Company/TaxPayments/shared/taxPaymentStatus.js.map +1 -0
- package/dist/components/Company/TaxPayments/shared/useAllTaxPayments.js +30 -0
- package/dist/components/Company/TaxPayments/shared/useAllTaxPayments.js.map +1 -0
- package/dist/components/Company/exports/companyManagement.js +10 -4
- package/dist/components/Company/exports/companyManagement.js.map +1 -1
- package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js +17 -16
- package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
- package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js +9 -8
- package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js +8 -6
- package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js.map +1 -1
- package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js +27 -26
- package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Contractor/Profile/management/ProfileEditForm.js +11 -11
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js +13 -12
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js +13 -12
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js +8 -6
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -3
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +24 -23
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +4 -3
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +4 -3
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js +24 -22
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js +9 -8
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js +15 -14
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileEditForm.js +1 -1
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +8 -7
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +8 -7
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +42 -34
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +3 -2
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +16 -14
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +8 -6
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +11 -9
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +60 -52
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +23 -18
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +204 -179
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.module.scss.js +8 -0
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.module.scss.js.map +1 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +4 -4
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +50 -41
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +164 -154
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js +9 -5
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +1 -1
- package/dist/components/Payroll/helpers.js +91 -84
- package/dist/components/Payroll/helpers.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +15 -13
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +4 -2
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +8 -6
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +30 -28
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
- package/dist/contexts/ApiProvider/ApiProvider.js +19 -18
- package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js +36 -0
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js.map +1 -0
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +4 -2
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
- package/dist/i18n/I18n.js +2 -0
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.Management.TaxPaymentDetail.json.js +26 -0
- package/dist/i18n/en/Company.Management.TaxPaymentDetail.json.js.map +1 -0
- package/dist/i18n/en/Company.Management.TaxPaymentsList.json.js +48 -0
- package/dist/i18n/en/Company.Management.TaxPaymentsList.json.js.map +1 -0
- package/dist/i18n/en/Company.StateTaxes.json.js +1 -1
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +42 -36
- package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
- package/dist/package.json.js +1 -1
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +10 -8
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +14 -12
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +15 -13
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.js +12 -10
- package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js +16 -14
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js +10 -8
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
- package/dist/shared/constants.js +62 -56
- package/dist/shared/constants.js.map +1 -1
- package/dist/src/components/Company/StateTaxes/shared/requirementSetError.d.ts +18 -5
- package/dist/src/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.d.ts +31 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.d.ts +19 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.d.ts +42 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.d.ts +20 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.d.ts +10 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.d.ts +28 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.d.ts +33 -0
- package/dist/src/components/Company/TaxPayments/index.d.ts +6 -0
- package/dist/src/components/Company/TaxPayments/shared/payrollLookupWindow.d.ts +29 -0
- package/dist/src/components/Company/TaxPayments/shared/payrollLookupWindow.test.d.ts +1 -0
- package/dist/src/components/Company/TaxPayments/shared/taxPaymentStatus.d.ts +62 -0
- package/dist/src/components/Company/TaxPayments/shared/taxPaymentStatus.test.d.ts +1 -0
- package/dist/src/components/Company/TaxPayments/shared/useAllTaxPayments.d.ts +30 -0
- package/dist/src/components/Company/exports/companyManagement.d.ts +2 -0
- package/dist/src/components/Payroll/PayrollConfiguration/__fixtures__/payrollConfigurationMocks.d.ts +6 -1
- package/dist/src/components/Payroll/PayrollFlow/PayrollFlow.d.ts +1 -0
- package/dist/src/components/Payroll/PayrollLanding/PayrollLanding.d.ts +1 -0
- package/dist/src/components/Payroll/PayrollOverview/PayrollOverview.d.ts +9 -3
- package/dist/src/components/Payroll/helpers.d.ts +14 -18
- package/dist/src/contexts/ApiProvider/payrollOffCycleReasonEnumHook.d.ts +14 -0
- package/dist/src/contexts/ApiProvider/payrollOffCycleReasonEnumHook.test.d.ts +1 -0
- package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +2 -0
- package/dist/src/i18n/types.d.ts +154 -2
- package/dist/src/models/external.d.ts +2 -0
- package/dist/src/shared/constants.d.ts +18 -0
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +33 -0
- package/package.json +25 -22
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { TaxPaymentsFlowProps } from './TaxPaymentsFlowComponents';
|
|
2
|
+
/**
|
|
3
|
+
* Hub for reviewing a company's tax payments and the payroll tax liabilities behind each one.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Requires the `taxPayments` flag in {@link UnstableFeatures}. Starts on the tax payments list,
|
|
7
|
+
* where the user can search, filter by jurisdiction or status, and jump to overdue payments.
|
|
8
|
+
* Selecting a payment opens its detail view; the back button returns to the list.
|
|
9
|
+
*
|
|
10
|
+
* Events emitted by the blocks bubble up through the single `onEvent` handler.
|
|
11
|
+
*
|
|
12
|
+
* @events
|
|
13
|
+
* | Event | Description | Data |
|
|
14
|
+
* | ----- | ----------- | ---- |
|
|
15
|
+
* | `company/taxPayments/view` | Fired when the user selects a tax payment to view | `{ taxPaymentId: string }` |
|
|
16
|
+
* | `company/taxPayments/back` | Fired when the user returns from a tax payment to the list | — |
|
|
17
|
+
*
|
|
18
|
+
* @components
|
|
19
|
+
* - {@link TaxPaymentsList}
|
|
20
|
+
* - {@link TaxPaymentDetail}
|
|
21
|
+
*
|
|
22
|
+
* @param props - See {@link TaxPaymentsFlowProps}.
|
|
23
|
+
* @returns The tax payments hub.
|
|
24
|
+
* @alpha
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx title="App.tsx"
|
|
28
|
+
* import { CompanyManagement, GustoProvider } from '@gusto/embedded-react-sdk'
|
|
29
|
+
*
|
|
30
|
+
* function MyApp() {
|
|
31
|
+
* return (
|
|
32
|
+
* <GustoProvider config={{ baseUrl: '/api/gusto/' }} unstableFeatures={{ taxPayments: true }}>
|
|
33
|
+
* <CompanyManagement.TaxPaymentsFlow
|
|
34
|
+
* companyId="a007e1ab-3595-43c2-ab4b-af7a5af2e365"
|
|
35
|
+
* onEvent={() => {}}
|
|
36
|
+
* />
|
|
37
|
+
* </GustoProvider>
|
|
38
|
+
* )
|
|
39
|
+
* }
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare const TaxPaymentsFlow: ({ companyId, onEvent }: TaxPaymentsFlowProps) => import('react').JSX.Element;
|
package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FlowContextInterface } from '../../../Flow/useFlow';
|
|
2
|
+
import { BaseComponentInterface } from '../../../Base';
|
|
3
|
+
/**
|
|
4
|
+
* Props for {@link TaxPaymentsFlow}.
|
|
5
|
+
*
|
|
6
|
+
* @alpha
|
|
7
|
+
*/
|
|
8
|
+
export interface TaxPaymentsFlowProps extends BaseComponentInterface<never> {
|
|
9
|
+
/** Identifier of the company whose tax payments are shown. */
|
|
10
|
+
companyId: string;
|
|
11
|
+
}
|
|
12
|
+
/** @internal */
|
|
13
|
+
export interface TaxPaymentsFlowContextInterface extends FlowContextInterface {
|
|
14
|
+
companyId: string;
|
|
15
|
+
currentTaxPaymentId?: string;
|
|
16
|
+
}
|
|
17
|
+
/** @internal */
|
|
18
|
+
export declare function TaxPaymentsListContextual(): import('react').JSX.Element;
|
|
19
|
+
/** @internal */
|
|
20
|
+
export declare function TaxPaymentDetailContextual(): import('react').JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hub machine for {@link TaxPaymentsFlow}: the list is the hub and each tax payment detail is a
|
|
3
|
+
* spoke. There is no final state, since the user can move between them freely.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare const taxPaymentsMachine: {
|
|
8
|
+
list: import('robot3').MachineState<any>;
|
|
9
|
+
detail: import('robot3').MachineState<any>;
|
|
10
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BaseComponentInterface } from '../../../Base';
|
|
2
|
+
/**
|
|
3
|
+
* Props for {@link TaxPaymentsList}.
|
|
4
|
+
*
|
|
5
|
+
* @alpha
|
|
6
|
+
*/
|
|
7
|
+
export interface TaxPaymentsListProps extends BaseComponentInterface<'Company.Management.TaxPaymentsList'> {
|
|
8
|
+
/** Identifier of the company whose tax payments are listed. */
|
|
9
|
+
companyId: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Lists a company's tax payments with search, jurisdiction and status filters, and an alert for
|
|
13
|
+
* overdue payments.
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
* Requires the `taxPayments` flag in {@link UnstableFeatures}. Status is derived from each
|
|
17
|
+
* payment's amounts and dates: `Paid`, `Scheduled`, `Overdue`, or `Refund / Credit`.
|
|
18
|
+
*
|
|
19
|
+
* @events
|
|
20
|
+
* | Event | Description | Data |
|
|
21
|
+
* | ----- | ----------- | ---- |
|
|
22
|
+
* | `company/taxPayments/view` | Fired when the user selects a tax payment to view | `{ taxPaymentId: string }` |
|
|
23
|
+
*
|
|
24
|
+
* @param props - See {@link TaxPaymentsListProps}.
|
|
25
|
+
* @returns The rendered tax payments list.
|
|
26
|
+
* @alpha
|
|
27
|
+
*/
|
|
28
|
+
export declare function TaxPaymentsList(props: TaxPaymentsListProps): import('react').JSX.Element;
|
package/dist/src/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { TaxPayment } from '@gusto/embedded-api/models/components/taxpayment';
|
|
2
|
+
import { TaxPaymentStatus } from '../shared/taxPaymentStatus';
|
|
3
|
+
import { PaginationControlProps } from '../../../Common/PaginationControl/PaginationControlTypes';
|
|
4
|
+
/** @internal */
|
|
5
|
+
export interface TaxPaymentRow {
|
|
6
|
+
payment: TaxPayment;
|
|
7
|
+
status: TaxPaymentStatus;
|
|
8
|
+
}
|
|
9
|
+
/** @internal */
|
|
10
|
+
export interface TaxPaymentsListPresentationProps {
|
|
11
|
+
/** CSS class name applied to the root element. */
|
|
12
|
+
className?: string;
|
|
13
|
+
/** Rows for the current page, already filtered and searched. */
|
|
14
|
+
rows: TaxPaymentRow[];
|
|
15
|
+
/** Number of overdue payments, regardless of the active filters. */
|
|
16
|
+
overdueCount: number;
|
|
17
|
+
/** Distinct jurisdictions across all payments, used to build the jurisdiction filter. */
|
|
18
|
+
jurisdictions: string[];
|
|
19
|
+
/** Whether the company has any tax payments at all, before filtering. */
|
|
20
|
+
hasPayments: boolean;
|
|
21
|
+
/** Whether the fetched list hit the page cap and omits older payments. */
|
|
22
|
+
isTruncated: boolean;
|
|
23
|
+
searchValue: string;
|
|
24
|
+
onSearchChange: (value: string) => void;
|
|
25
|
+
jurisdictionFilter: string;
|
|
26
|
+
onJurisdictionFilterChange: (value: string) => void;
|
|
27
|
+
statusFilter: string;
|
|
28
|
+
onStatusFilterChange: (value: string) => void;
|
|
29
|
+
pagination: PaginationControlProps;
|
|
30
|
+
onViewPayment: (taxPaymentId: string) => void;
|
|
31
|
+
}
|
|
32
|
+
/** @internal */
|
|
33
|
+
export declare function TaxPaymentsListPresentation({ className, rows, overdueCount, jurisdictions, hasPayments, isTruncated, searchValue, onSearchChange, jurisdictionFilter, onJurisdictionFilterChange, statusFilter, onStatusFilterChange, pagination, onViewPayment, }: TaxPaymentsListPresentationProps): import('react').JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { TaxPaymentsFlow } from './TaxPaymentsFlow/TaxPaymentsFlow';
|
|
2
|
+
export type { TaxPaymentsFlowProps } from './TaxPaymentsFlow/TaxPaymentsFlowComponents';
|
|
3
|
+
export { TaxPaymentsList } from './TaxPaymentsList/TaxPaymentsList';
|
|
4
|
+
export type { TaxPaymentsListProps } from './TaxPaymentsList/TaxPaymentsList';
|
|
5
|
+
export { TaxPaymentDetail } from './TaxPaymentDetail/TaxPaymentDetail';
|
|
6
|
+
export type { TaxPaymentDetailProps } from './TaxPaymentDetail/TaxPaymentDetail';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A `start_date`/`end_date` pair for the payrolls list endpoint.
|
|
3
|
+
*
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export interface PayrollLookupWindow {
|
|
7
|
+
/** Inclusive lower bound, as `YYYY-MM-DD`. */
|
|
8
|
+
startDate: string;
|
|
9
|
+
/** Inclusive upper bound, as `YYYY-MM-DD`. */
|
|
10
|
+
endDate: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Builds the payroll-lookup window used to resolve a tax payment's liability pay periods.
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
* Pads the tax period on both ends, then clamps to the payrolls endpoint's two documented limits —
|
|
17
|
+
* a maximum 367-day span and an `end_date` no more than 93 days ahead of today. Annual tax periods
|
|
18
|
+
* (FUTA, for example) exceed both once padded, so clamping is what keeps the request valid.
|
|
19
|
+
*
|
|
20
|
+
* Clamping can leave liabilities outside the window; the caller resolves those individually, so a
|
|
21
|
+
* narrowed window costs extra requests rather than correctness.
|
|
22
|
+
*
|
|
23
|
+
* @param periodStart - Tax period start as `YYYY-MM-DD`. Falls back to `periodEnd` when absent.
|
|
24
|
+
* @param periodEnd - Tax period end as `YYYY-MM-DD`.
|
|
25
|
+
* @param today - Today's date as `YYYY-MM-DD`, used for the future-end-date clamp.
|
|
26
|
+
* @returns The window, or `undefined` when the dates cannot be parsed.
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export declare function buildPayrollLookupWindow(periodStart: string | undefined, periodEnd: string | undefined, today: string): PayrollLookupWindow | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { TaxPayment } from '@gusto/embedded-api/models/components/taxpayment';
|
|
2
|
+
/** @internal */
|
|
3
|
+
export type TaxPaymentStatus = 'paid' | 'scheduled' | 'overdue' | 'refund';
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare const TAX_PAYMENT_STATUSES: readonly TaxPaymentStatus[];
|
|
6
|
+
/**
|
|
7
|
+
* Value of the "show everything" entry in the jurisdiction and status filters.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* A non-empty sentinel rather than `''` so the filter has a real selected key — an empty key reads
|
|
11
|
+
* as "no selection" to the underlying select, which renders the placeholder instead of the option
|
|
12
|
+
* and cannot be distinguished from being cleared.
|
|
13
|
+
*
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export declare const ALL_FILTER_VALUE = "all";
|
|
17
|
+
/** @internal */
|
|
18
|
+
export declare const FEDERAL_JURISDICTION = "US";
|
|
19
|
+
/** @internal */
|
|
20
|
+
export declare const TAX_PAYMENT_STATUS_BADGES: Record<TaxPaymentStatus, 'info' | 'success' | 'warning' | 'error'>;
|
|
21
|
+
/** @internal */
|
|
22
|
+
export declare function isFederalTaxPayment(payment: Pick<TaxPayment, 'jurisdiction'>): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Resolves the translation key and interpolation values for a tax payment's jurisdiction label.
|
|
25
|
+
*
|
|
26
|
+
* @remarks
|
|
27
|
+
* Returns a key rather than a string because `Company.Management.TaxPaymentsList` and
|
|
28
|
+
* `Company.Management.TaxPaymentDetail` each own their own i18n namespace and must translate from it. This
|
|
29
|
+
* keeps the federal/state branching in one place while leaving the lookup to the caller.
|
|
30
|
+
*
|
|
31
|
+
* @param payment - The tax payment to label.
|
|
32
|
+
* @returns The translation key and its interpolation values.
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export declare function getJurisdictionLabel(payment: Pick<TaxPayment, 'jurisdiction'>): {
|
|
36
|
+
key: 'federal' | 'state';
|
|
37
|
+
values: {
|
|
38
|
+
jurisdiction: string;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Derives a display status for a tax payment.
|
|
43
|
+
*
|
|
44
|
+
* @remarks
|
|
45
|
+
* The API has no status field, so status is derived from the amounts and dates. The API sends
|
|
46
|
+
* `payment_sent_on: null` for both never-sent and returned/cancelled payments, so a
|
|
47
|
+
* returned/cancelled state cannot be distinguished here.
|
|
48
|
+
*
|
|
49
|
+
* Settlement is checked before the amount's sign, so a refund that has already been sent or
|
|
50
|
+
* reimbursed reads as `paid` rather than staying `refund` forever.
|
|
51
|
+
*
|
|
52
|
+
* A zero-amount payment owes nothing and will never be sent, so it reads as `paid` rather than
|
|
53
|
+
* sitting in `scheduled` indefinitely. The list endpoint does return zero-amount payments — it
|
|
54
|
+
* applies `.for_taxes.non_penalty` but not `.with_amounts` — so this is a real case, not a
|
|
55
|
+
* theoretical one.
|
|
56
|
+
*
|
|
57
|
+
* @param payment - The tax payment to classify.
|
|
58
|
+
* @param today - Today's date as a `YYYY-MM-DD` string in the user's local timezone.
|
|
59
|
+
* @returns The derived status.
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
export declare function deriveTaxPaymentStatus(payment: Pick<TaxPayment, 'amount' | 'amountPaid' | 'dueDate' | 'paymentSentOn'>, today: string): TaxPaymentStatus;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { TaxPayment } from '@gusto/embedded-api/models/components/taxpayment';
|
|
2
|
+
/**
|
|
3
|
+
* Result of {@link useAllTaxPayments}.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export interface AllTaxPaymentsResult {
|
|
8
|
+
/** Every tax payment fetched, newest due date first. */
|
|
9
|
+
taxPayments: TaxPayment[];
|
|
10
|
+
/** Whether the server reported more pages than {@link MAX_PAGES} and the list was truncated. */
|
|
11
|
+
isTruncated: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Fetches a company's tax payments so filtering, search, and pagination can be applied client-side.
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
* Suspends until every fetched page resolves. Filtering and search stay client-side deliberately:
|
|
18
|
+
* the derived `Overdue` and `Scheduled` statuses depend on "not yet sent", which the API exposes no
|
|
19
|
+
* filter for, the `jurisdiction` filter would silently drop local/city agencies that still report a
|
|
20
|
+
* state code, and there is no text-search parameter at all.
|
|
21
|
+
*
|
|
22
|
+
* Fetching is capped at {@link MAX_PAGES} pages because the endpoint paginates an in-memory array —
|
|
23
|
+
* each page request reloads the company's full payment history server-side, so an uncapped fan-out
|
|
24
|
+
* multiplies that cost rather than amortizing it.
|
|
25
|
+
*
|
|
26
|
+
* @param companyId - The company whose tax payments are fetched.
|
|
27
|
+
* @returns The fetched tax payments and whether the list was truncated.
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
export declare function useAllTaxPayments(companyId: string): AllTaxPaymentsResult;
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export { PaySchedule, type PayScheduleProps, type PayScheduleDictionary, } from '../PaySchedule/management';
|
|
2
2
|
export { PayScheduleAssignment, type PayScheduleAssignmentProps, } from '../PaySchedule/management/PayScheduleAssignment';
|
|
3
|
+
export { TaxPaymentsFlow, TaxPaymentsList, TaxPaymentDetail } from '../TaxPayments';
|
|
4
|
+
export type { TaxPaymentsFlowProps, TaxPaymentsListProps, TaxPaymentDetailProps, } from '../TaxPayments';
|
package/dist/src/components/Payroll/PayrollConfiguration/__fixtures__/payrollConfigurationMocks.d.ts
CHANGED
|
@@ -261,6 +261,11 @@ interface PayrollHandlersOptions {
|
|
|
261
261
|
getPayrollData: () => ReturnType<typeof buildPayrollData>;
|
|
262
262
|
/** Employees returned by the paginated list endpoint. Defaults to all 27. */
|
|
263
263
|
employees?: Array<ReturnType<typeof createEmployee>>;
|
|
264
|
+
/**
|
|
265
|
+
* Employees per page returned by the list endpoint, overriding the requested `per`.
|
|
266
|
+
* Lets pagination tests page through a few rows instead of rendering 25 per page.
|
|
267
|
+
*/
|
|
268
|
+
pageSize?: number;
|
|
264
269
|
/** Pay schedule returned by the pay-schedule endpoint. */
|
|
265
270
|
paySchedule?: typeof mockPaySchedule;
|
|
266
271
|
/** Blockers returned by the blockers endpoint. Defaults to none. */
|
|
@@ -272,5 +277,5 @@ interface PayrollHandlersOptions {
|
|
|
272
277
|
* and pay schedule. Tests spread these into `server.use(...)` and add/override
|
|
273
278
|
* endpoint handlers (e.g. `calculate`) as needed.
|
|
274
279
|
*/
|
|
275
|
-
export declare const buildPayrollConfigurationHandlers: ({ getPayrollData, employees, paySchedule, blockers, }: PayrollHandlersOptions) => HttpHandler[];
|
|
280
|
+
export declare const buildPayrollConfigurationHandlers: ({ getPayrollData, employees, paySchedule, blockers, pageSize, }: PayrollHandlersOptions) => HttpHandler[];
|
|
276
281
|
export {};
|
|
@@ -19,6 +19,7 @@ import { PayrollFlowProps } from './PayrollFlowComponents';
|
|
|
19
19
|
* | `runPayroll/processed` | Payroll processing completes | — |
|
|
20
20
|
* | `runPayroll/processingFailed` | Payroll processing fails | Error details |
|
|
21
21
|
* | `runPayroll/cancelled` | A submitted payroll is cancelled | `{ payrollId: string, result: object }` |
|
|
22
|
+
* | `runPayroll/notCalculated/backToList` | User returns to the payroll list from a payroll that is no longer calculated | — |
|
|
22
23
|
* | `runPayroll/summary/viewed` | The summary screen is opened | `{ payrollId: string }` |
|
|
23
24
|
* | `runPayroll/receipt/viewed` | The receipt screen is opened | `{ payrollId: string }` |
|
|
24
25
|
* | `runPayroll/offCycle/start` | The user starts an off-cycle payroll | — |
|
|
@@ -35,6 +35,7 @@ export interface PayrollLandingProps extends BaseComponentInterface<'Payroll.Pay
|
|
|
35
35
|
* | `runPayroll/receipt/viewed` | User opened a payroll's receipt view | `{ payrollId: string }` |
|
|
36
36
|
* | `runPayroll/blockers/viewAll` | User opened the full list of payroll blockers | — |
|
|
37
37
|
* | `runPayroll/cancelled` | A payroll was cancelled | `{ payrollId: string, result: object }` |
|
|
38
|
+
* | `runPayroll/notCalculated/backToList` | User returns to the payroll list from a payroll that is no longer calculated | — |
|
|
38
39
|
* | `runPayroll/cancelled/alertDismissed` | User dismissed the payroll-cancelled success alert | — |
|
|
39
40
|
*
|
|
40
41
|
* When unprocessed transition pay periods exist, the landing surface renders a Transition
|
|
@@ -9,7 +9,10 @@ import { BaseComponentInterface } from '../../Base';
|
|
|
9
9
|
export interface PayrollOverviewProps extends BaseComponentInterface<'Payroll.PayrollOverview'> {
|
|
10
10
|
/** Identifier of the company that owns the payroll. */
|
|
11
11
|
companyId: string;
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Identifier of the payroll being reviewed. An unprocessed payroll must already be calculated;
|
|
14
|
+
* a processed payroll renders as a summary whether or not it has a calculation.
|
|
15
|
+
*/
|
|
13
16
|
payrollId: string;
|
|
14
17
|
/** Alert banners to display above the payroll summary. */
|
|
15
18
|
alerts?: PayrollFlowAlert[];
|
|
@@ -30,8 +33,10 @@ export interface PayrollOverviewProps extends BaseComponentInterface<'Payroll.Pa
|
|
|
30
33
|
* and per-employee paystub downloads once complete.
|
|
31
34
|
*
|
|
32
35
|
* @remarks
|
|
33
|
-
*
|
|
34
|
-
* uncalculated payroll throws.
|
|
36
|
+
* An unprocessed payroll referenced by `payrollId` must already be calculated; rendering an
|
|
37
|
+
* unprocessed, uncalculated payroll throws. Processed payrolls render as a summary even without a
|
|
38
|
+
* calculation (for example tax reconciliation, reversal, wage correction, or external payrolls).
|
|
39
|
+
* Unresolved submission blockers (e.g. fast-ACH threshold,
|
|
35
40
|
* wire-in funding) are surfaced inline and the submit action stays disabled until each
|
|
36
41
|
* blocker has a selected unblock option. While the payroll is processing, the component
|
|
37
42
|
* polls until success or failure and emits the corresponding event. Pass `readOnly` to hide
|
|
@@ -46,6 +51,7 @@ export interface PayrollOverviewProps extends BaseComponentInterface<'Payroll.Pa
|
|
|
46
51
|
* | `runPayroll/processed` | Payroll finished processing successfully | `{ payPeriod, payrollUuid }` |
|
|
47
52
|
* | `runPayroll/processingFailed` | Payroll processing failed | — |
|
|
48
53
|
* | `runPayroll/cancelled` | Payroll was cancelled | Cancel payroll response |
|
|
54
|
+
* | `runPayroll/notCalculated/backToList` | User chose to return to the payroll list after the payroll was found to be no longer calculated (e.g. cancelled in another session) | — |
|
|
49
55
|
* | `runPayroll/receipt/get` | User requested the payroll receipt | `{ payrollId }` |
|
|
50
56
|
* | `runPayroll/pdfPaystub/viewed` | User opened an employee's paystub PDF | `{ employeeId }` |
|
|
51
57
|
* | `payroll/wire/form/done` | Wire-in details were confirmed via the embedded wire form | Submit wire-in response |
|
|
@@ -169,19 +169,6 @@ export declare const getPayrollType: (payroll: {
|
|
|
169
169
|
* @internal
|
|
170
170
|
*/
|
|
171
171
|
export declare const isDismissalPayroll: (offCycleReason?: string | null) => boolean;
|
|
172
|
-
/**
|
|
173
|
-
* Returns whether an off-cycle reason indicates a tax reconciliation payroll.
|
|
174
|
-
*
|
|
175
|
-
* @remarks
|
|
176
|
-
* Tax reconciliation payrolls are created by Gusto rather than run by the partner. They come
|
|
177
|
-
* back processed with no pay period and no `calculatedAt`, so callers use this to grant them a
|
|
178
|
-
* targeted exception from checks that otherwise assume every payroll has both.
|
|
179
|
-
*
|
|
180
|
-
* @param offCycleReason - The payroll's off-cycle reason string.
|
|
181
|
-
* @returns `true` when the reason matches the tax reconciliation reason.
|
|
182
|
-
* @internal
|
|
183
|
-
*/
|
|
184
|
-
export declare const isTaxReconciliationPayroll: (offCycleReason?: string | null) => boolean;
|
|
185
172
|
/**
|
|
186
173
|
* Returns a formatted pay-period range, falling back to the formatted check date when the
|
|
187
174
|
* payroll has no pay period.
|
|
@@ -243,14 +230,23 @@ export declare const getAdditionalEarningsCompensations: ({ flsaStatus, existing
|
|
|
243
230
|
*/
|
|
244
231
|
export declare const calculateTotalPayroll: (payrollData: Payroll) => number;
|
|
245
232
|
/**
|
|
246
|
-
*
|
|
233
|
+
* Returns whether to show the cancel action for a payroll.
|
|
247
234
|
*
|
|
248
235
|
* @remarks
|
|
249
|
-
*
|
|
250
|
-
*
|
|
236
|
+
* Shows cancel only when the API will accept it:
|
|
237
|
+
*
|
|
238
|
+
* - `payrollStatusMeta.cancellable` is `true`. A missing flag hides cancel, so fetch the payroll
|
|
239
|
+
* with `payroll_status_meta`.
|
|
240
|
+
* - The payroll is processed and not external.
|
|
241
|
+
* - It is a regular payroll, or an off-cycle payroll with one of the reasons listed above. The
|
|
242
|
+
* `cancellable` flag does not check the payroll type yet, so this helper does.
|
|
243
|
+
* - It is before 4:00 PM PT on the `payrollDeadline` date, so a page left open past the cutoff
|
|
244
|
+
* stops offering cancel.
|
|
245
|
+
*
|
|
246
|
+
* The API can still refuse if a tax filing was already sent. The payroll data doesn't show that.
|
|
251
247
|
*
|
|
252
|
-
* @param payroll - The payroll to
|
|
253
|
-
* @returns `true` if
|
|
248
|
+
* @param payroll - The payroll to check, fetched with `payroll_status_meta`.
|
|
249
|
+
* @returns `true` if cancel should be shown.
|
|
254
250
|
* @internal
|
|
255
251
|
*/
|
|
256
252
|
export declare const canCancelPayroll: (payroll: Payroll) => boolean;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AfterSuccessHook } from '../../types/hooks';
|
|
2
|
+
/**
|
|
3
|
+
* Temporary workaround for a Gusto-Partner-API spec gap: `off_cycle_reason` on payroll responses
|
|
4
|
+
* is generated as a closed enum (`z.nativeEnum(OffCycleReasonType)`) in `@gusto/embedded-api`, but
|
|
5
|
+
* the API also emits reasons the published OAS doesn't list (e.g. `Max out 401k`, `Other`). A
|
|
6
|
+
* single such payroll makes the whole `GetV1CompaniesCompanyIdPayrolls` response throw an
|
|
7
|
+
* `SDKValidationError`, taking down Payroll History and every other payroll list for the company.
|
|
8
|
+
* This afterSuccess hook nulls out any reason outside the closed enum before the SDK's zod parse,
|
|
9
|
+
* so the response still validates and the payroll renders as a generic off-cycle payroll. Remove
|
|
10
|
+
* once the client supports lax/open enum parsing for this field.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare const payrollOffCycleReasonEnumHook: AfterSuccessHook;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -21,6 +21,8 @@ export interface UnstableFeatures {
|
|
|
21
21
|
payrollRegularRateOfPay?: boolean;
|
|
22
22
|
/** Enables the in-development `CompanyManagement.PaySchedule` flow for managing pay schedules and their assignments after onboarding. */
|
|
23
23
|
managePaySchedules?: boolean;
|
|
24
|
+
/** Enables the in-development `CompanyManagement.TaxPaymentsFlow` for reviewing a company's tax payments and their liabilities. */
|
|
25
|
+
taxPayments?: boolean;
|
|
24
26
|
}
|
|
25
27
|
/**
|
|
26
28
|
* React context backing {@link useUnstableFeature}.
|
package/dist/src/i18n/types.d.ts
CHANGED
|
@@ -35,6 +35,10 @@ export interface Resources {
|
|
|
35
35
|
/** */
|
|
36
36
|
'Company.Management.PayScheduleAssignment': Translations.CompanyManagementPayScheduleAssignment
|
|
37
37
|
/** */
|
|
38
|
+
'Company.Management.TaxPaymentDetail': Translations.CompanyManagementTaxPaymentDetail
|
|
39
|
+
/** */
|
|
40
|
+
'Company.Management.TaxPaymentsList': Translations.CompanyManagementTaxPaymentsList
|
|
41
|
+
/** */
|
|
38
42
|
'Company.OnboardingOverview': Translations.CompanyOnboardingOverview
|
|
39
43
|
/** */
|
|
40
44
|
'Company.PaySchedule': Translations.CompanyPaySchedule
|
|
@@ -1145,6 +1149,148 @@ export namespace Translations {
|
|
|
1145
1149
|
/** @defaultValue `"Submit"` */
|
|
1146
1150
|
submitCta: string
|
|
1147
1151
|
}
|
|
1152
|
+
/** Translation keys for the `Company.Management.TaxPaymentDetail` i18n namespace. */
|
|
1153
|
+
export interface CompanyManagementTaxPaymentDetail {
|
|
1154
|
+
/** @defaultValue `"Back to tax payments"` */
|
|
1155
|
+
backCta: string
|
|
1156
|
+
/** @defaultValue `"Unknown agency"` */
|
|
1157
|
+
unknownAgency: string
|
|
1158
|
+
/** @defaultValue `"Federal"` */
|
|
1159
|
+
federal: string
|
|
1160
|
+
/** @defaultValue `"State · {{jurisdiction}}"` */
|
|
1161
|
+
state: string
|
|
1162
|
+
/** @defaultValue `"—"` */
|
|
1163
|
+
notAvailable: string
|
|
1164
|
+
status: {
|
|
1165
|
+
/** @defaultValue `"Paid"` */
|
|
1166
|
+
paid: string
|
|
1167
|
+
/** @defaultValue `"Scheduled"` */
|
|
1168
|
+
scheduled: string
|
|
1169
|
+
/** @defaultValue `"Overdue"` */
|
|
1170
|
+
overdue: string
|
|
1171
|
+
/** @defaultValue `"Refund / Credit"` */
|
|
1172
|
+
refund: string
|
|
1173
|
+
}
|
|
1174
|
+
overdueAlert: {
|
|
1175
|
+
/** @defaultValue `"Payment overdue"` */
|
|
1176
|
+
label: string
|
|
1177
|
+
/** @defaultValue `"This payment was due on {{dueDate}} and has not been sent. Take action to avoid penalties."` */
|
|
1178
|
+
description: string
|
|
1179
|
+
}
|
|
1180
|
+
details: {
|
|
1181
|
+
/** @defaultValue `"Payment details"` */
|
|
1182
|
+
title: string
|
|
1183
|
+
/** @defaultValue `"Jurisdiction"` */
|
|
1184
|
+
jurisdiction: string
|
|
1185
|
+
/** @defaultValue `"Period"` */
|
|
1186
|
+
period: string
|
|
1187
|
+
/** @defaultValue `"Due date"` */
|
|
1188
|
+
dueDate: string
|
|
1189
|
+
/** @defaultValue `"Payment sent on"` */
|
|
1190
|
+
paymentSentOn: string
|
|
1191
|
+
/** @defaultValue `"Amount"` */
|
|
1192
|
+
amount: string
|
|
1193
|
+
/** @defaultValue `"Amount paid"` */
|
|
1194
|
+
amountPaid: string
|
|
1195
|
+
}
|
|
1196
|
+
liabilities: {
|
|
1197
|
+
/** @defaultValue `"Tax liabilities"` */
|
|
1198
|
+
title: string
|
|
1199
|
+
/** @defaultValue `"Tax liabilities"` */
|
|
1200
|
+
tableLabel: string
|
|
1201
|
+
/** @defaultValue `"Tax ID"` */
|
|
1202
|
+
taxIdColumn: string
|
|
1203
|
+
/** @defaultValue `"Payroll"` */
|
|
1204
|
+
payrollColumn: string
|
|
1205
|
+
/** @defaultValue `"Amount"` */
|
|
1206
|
+
amountColumn: string
|
|
1207
|
+
/** @defaultValue `"No tax liabilities."` */
|
|
1208
|
+
emptyState: string
|
|
1209
|
+
}
|
|
1210
|
+
errors: {
|
|
1211
|
+
/** @defaultValue `"Tax payment not found"` */
|
|
1212
|
+
taxPaymentNotFound: string
|
|
1213
|
+
}
|
|
1214
|
+
}
|
|
1215
|
+
/** Translation keys for the `Company.Management.TaxPaymentsList` i18n namespace. */
|
|
1216
|
+
export interface CompanyManagementTaxPaymentsList {
|
|
1217
|
+
/** @defaultValue `"Tax payments"` */
|
|
1218
|
+
title: string
|
|
1219
|
+
/** @defaultValue `"Tax payments"` */
|
|
1220
|
+
tableLabel: string
|
|
1221
|
+
/** @defaultValue `"Search tax payments"` */
|
|
1222
|
+
searchLabel: string
|
|
1223
|
+
/** @defaultValue `"Search by agency..."` */
|
|
1224
|
+
searchPlaceholder: string
|
|
1225
|
+
/** @defaultValue `"Jurisdiction"` */
|
|
1226
|
+
jurisdictionFilterLabel: string
|
|
1227
|
+
/** @defaultValue `"All jurisdictions"` */
|
|
1228
|
+
allJurisdictions: string
|
|
1229
|
+
/** @defaultValue `"Federal (US)"` */
|
|
1230
|
+
federalJurisdictionOption: string
|
|
1231
|
+
/** @defaultValue `"Status"` */
|
|
1232
|
+
statusFilterLabel: string
|
|
1233
|
+
/** @defaultValue `"All statuses"` */
|
|
1234
|
+
allStatuses: string
|
|
1235
|
+
columns: {
|
|
1236
|
+
/** @defaultValue `"Agency"` */
|
|
1237
|
+
agency: string
|
|
1238
|
+
/** @defaultValue `"Jurisdiction"` */
|
|
1239
|
+
jurisdiction: string
|
|
1240
|
+
/** @defaultValue `"Period"` */
|
|
1241
|
+
period: string
|
|
1242
|
+
/** @defaultValue `"Due date"` */
|
|
1243
|
+
dueDate: string
|
|
1244
|
+
/** @defaultValue `"Amount"` */
|
|
1245
|
+
amount: string
|
|
1246
|
+
/** @defaultValue `"Status"` */
|
|
1247
|
+
status: string
|
|
1248
|
+
}
|
|
1249
|
+
/** @defaultValue `"Federal"` */
|
|
1250
|
+
federal: string
|
|
1251
|
+
/** @defaultValue `"State · {{jurisdiction}}"` */
|
|
1252
|
+
state: string
|
|
1253
|
+
/** @defaultValue `"Unknown agency"` */
|
|
1254
|
+
unknownAgency: string
|
|
1255
|
+
/** @defaultValue `"—"` */
|
|
1256
|
+
notAvailable: string
|
|
1257
|
+
/** @defaultValue `"View"` */
|
|
1258
|
+
viewCta: string
|
|
1259
|
+
/** @defaultValue `"View {{agency}} tax payment"` */
|
|
1260
|
+
viewPaymentLabel: string
|
|
1261
|
+
status: {
|
|
1262
|
+
/** @defaultValue `"Paid"` */
|
|
1263
|
+
paid: string
|
|
1264
|
+
/** @defaultValue `"Scheduled"` */
|
|
1265
|
+
scheduled: string
|
|
1266
|
+
/** @defaultValue `"Overdue"` */
|
|
1267
|
+
overdue: string
|
|
1268
|
+
/** @defaultValue `"Refund / Credit"` */
|
|
1269
|
+
refund: string
|
|
1270
|
+
}
|
|
1271
|
+
overdueAlert: {
|
|
1272
|
+
/** @defaultValue `"{{count}} tax payment is overdue and may require immediate attention."` */
|
|
1273
|
+
label_one: string
|
|
1274
|
+
/** @defaultValue `"{{count}} tax payments are overdue and may require immediate attention."` */
|
|
1275
|
+
label_other: string
|
|
1276
|
+
}
|
|
1277
|
+
emptyState: {
|
|
1278
|
+
/** @defaultValue `"No tax payments yet"` */
|
|
1279
|
+
title: string
|
|
1280
|
+
/** @defaultValue `"Tax payments appear here after payroll is processed."` */
|
|
1281
|
+
description: string
|
|
1282
|
+
}
|
|
1283
|
+
noResults: {
|
|
1284
|
+
/** @defaultValue `"No matching tax payments"` */
|
|
1285
|
+
title: string
|
|
1286
|
+
/** @defaultValue `"Try a different search or adjust the filters."` */
|
|
1287
|
+
description: string
|
|
1288
|
+
}
|
|
1289
|
+
truncatedAlert: {
|
|
1290
|
+
/** @defaultValue `"Showing the most recent tax payments. Older payments are not included."` */
|
|
1291
|
+
label: string
|
|
1292
|
+
}
|
|
1293
|
+
}
|
|
1148
1294
|
/** Translation keys for the `Company.OnboardingOverview` i18n namespace. */
|
|
1149
1295
|
export interface CompanyOnboardingOverview {
|
|
1150
1296
|
/** @defaultValue `"Nice! We’ll take it from here."` */
|
|
@@ -1444,6 +1590,8 @@ export namespace Translations {
|
|
|
1444
1590
|
errors: {
|
|
1445
1591
|
/** @defaultValue `"{{section}} for {{state}} is incomplete. Complete all required fields and try again."` */
|
|
1446
1592
|
incompleteRequirementSet: string
|
|
1593
|
+
/** @defaultValue `"Some values in {{section}} for {{state}} are invalid. Correct the highlighted fields and try again."` */
|
|
1594
|
+
invalidRequirementSet: string
|
|
1447
1595
|
}
|
|
1448
1596
|
validations: {
|
|
1449
1597
|
/** @defaultValue `"Minimum value is {{min}}%"` */
|
|
@@ -8165,11 +8313,15 @@ export namespace Translations {
|
|
|
8165
8313
|
cancellingTitle: string
|
|
8166
8314
|
/** @defaultValue `"This payroll has been cancelled."` */
|
|
8167
8315
|
cancelledEmptyState: string
|
|
8316
|
+
/** @defaultValue `"This payroll has changed"` */
|
|
8317
|
+
notCalculatedErrorTitle: string
|
|
8318
|
+
/** @defaultValue `"Refresh or return to your payrolls to continue."` */
|
|
8319
|
+
notCalculatedErrorDescription: string
|
|
8320
|
+
/** @defaultValue `"Back to payrolls"` */
|
|
8321
|
+
notCalculatedErrorCta: string
|
|
8168
8322
|
/** @defaultValue `"Skipped"` */
|
|
8169
8323
|
skippedBadge: string
|
|
8170
8324
|
alerts: {
|
|
8171
|
-
/** @defaultValue `"Payroll is not calculated"` */
|
|
8172
|
-
payrollNotCalculated: string
|
|
8173
8325
|
/** @defaultValue `"There was an issue loading this payroll. Please try again."` */
|
|
8174
8326
|
payrollLoadFailed: string
|
|
8175
8327
|
/** @defaultValue `"To pay your employees with direct deposit by {{payDate}}, you'll need to run payroll by {{time}} on {{date}}."` */
|
|
@@ -335,6 +335,8 @@ export { IdentityVerificationStatus } from '@gusto/embedded-api/models/component
|
|
|
335
335
|
/** `SignatoryHomeAddress` entity from the Gusto Embedded API. */
|
|
336
336
|
export type { SignatoryHomeAddress } from '@gusto/embedded-api/models/components/signatory';
|
|
337
337
|
export type { Signatory } from '@gusto/embedded-api/models/components/signatory';
|
|
338
|
+
export type { TaxPayment } from '@gusto/embedded-api/models/components/taxpayment';
|
|
339
|
+
export type { TaxPaymentLineItem } from '@gusto/embedded-api/models/components/taxpaymentlineitem';
|
|
338
340
|
/** `ApplicableIf` entity from the Gusto Embedded API. */
|
|
339
341
|
export type { ApplicableIf } from '@gusto/embedded-api/models/components/taxrequirement';
|
|
340
342
|
/** `TaxRequirement` entity from the Gusto Embedded API. */
|