@gusto/embedded-react-sdk 0.48.2 → 0.48.3
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 +15 -0
- package/dist/components/Company/AssignSignatory/AssignSignatory.d.ts +33 -2
- package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.d.ts +23 -2
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.d.ts +2 -0
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/Schema.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/CreateSignatory/Schema.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/index.d.ts +2 -2
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.d.ts +10 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -5
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/Head.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/Head.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.d.ts +24 -2
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.d.ts +3 -0
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/index.d.ts +2 -2
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.d.ts +6 -0
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -5
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/SignatoryForm.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/SignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/TitleSelect.d.ts +1 -1
- package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
- package/dist/components/Company/AssignSignatory/index.d.ts +2 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.d.ts +9 -0
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -7
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccount.d.ts +26 -0
- package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountComponents.d.ts +8 -0
- package/dist/components/Company/BankAccount/BankAccountComponents.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.d.ts +1 -0
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.d.ts +1 -0
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Form.d.ts +3 -0
- package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Head.d.ts +1 -0
- package/dist/components/Company/BankAccount/BankAccountForm/Head.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -5
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/AccountView.d.ts +1 -0
- package/dist/components/Company/BankAccount/BankAccountList/AccountView.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/Actions.d.ts +1 -0
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.d.ts +1 -0
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/Head.d.ts +1 -0
- package/dist/components/Company/BankAccount/BankAccountList/Head.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.d.ts +1 -0
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.d.ts +1 -0
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Form.d.ts +3 -0
- package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Head.d.ts +1 -0
- package/dist/components/Company/BankAccount/BankAccountVerify/Head.js.map +1 -1
- package/dist/components/Company/BankAccount/stateMachine.d.ts +1 -0
- package/dist/components/Company/BankAccount/stateMachine.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.d.ts +1 -0
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.d.ts +21 -0
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/Head.d.ts +1 -0
- package/dist/components/Company/DocumentSigner/DocumentList/Head.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/List.d.ts +1 -0
- package/dist/components/Company/DocumentSigner/DocumentList/List.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/ManageSignatories.d.ts +1 -0
- package/dist/components/Company/DocumentSigner/DocumentList/ManageSignatories.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -5
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.d.ts +37 -0
- package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +31 -2
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/DocumentSigner/assignSignatoryState.d.ts +1 -0
- package/dist/components/Company/DocumentSigner/assignSignatoryState.js.map +1 -1
- package/dist/components/Company/DocumentSigner/documentSignerStateMachine.d.ts +4 -0
- package/dist/components/Company/DocumentSigner/documentSignerStateMachine.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.d.ts +41 -0
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.d.ts +40 -10
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.d.ts +111 -0
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js.map +1 -1
- package/dist/components/Company/DocumentSigner/stateMachine.d.ts +1 -0
- package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
- package/dist/components/Company/DocumentSigner/useDocumentSigner.d.ts +1 -0
- package/dist/components/Company/FederalTaxes/Actions.d.ts +1 -0
- package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.d.ts +13 -0
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Form.d.ts +1 -0
- package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Head.d.ts +1 -0
- package/dist/components/Company/FederalTaxes/Head.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +3 -0
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +9 -10
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Actions.d.ts +1 -0
- package/dist/components/Company/Industry/Actions.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +7 -8
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Edit.d.ts +3 -0
- package/dist/components/Company/Industry/Edit.js.map +1 -1
- package/dist/components/Company/Industry/Head.d.ts +1 -0
- package/dist/components/Company/Industry/Head.js.map +1 -1
- package/dist/components/Company/Industry/Industry.d.ts +21 -0
- package/dist/components/Company/Industry/Industry.js.map +1 -1
- package/dist/components/Company/Industry/IndustrySelect.d.ts +1 -0
- package/dist/components/Company/Industry/IndustrySelect.js.map +1 -1
- package/dist/components/Company/Industry/index.d.ts +1 -1
- package/dist/components/Company/Locations/LocationForm/Actions.d.ts +1 -0
- package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Form.d.ts +3 -0
- package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Head.d.ts +1 -0
- package/dist/components/Company/Locations/LocationForm/Head.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/LocationForm.d.ts +16 -0
- package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -5
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/Locations.d.ts +26 -0
- package/dist/components/Company/Locations/Locations.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/Actions.d.ts +1 -0
- package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/Head.d.ts +1 -0
- package/dist/components/Company/Locations/LocationsList/Head.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.d.ts +1 -1
- package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.d.ts +23 -2
- package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/index.d.ts +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -5
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/Locations/locationsStateMachine.d.ts +4 -0
- package/dist/components/Company/Locations/locationsStateMachine.js.map +1 -1
- package/dist/components/Company/Locations/stateMachine.d.ts +1 -1
- package/dist/components/Company/Locations/stateMachine.js +0 -1
- package/dist/components/Company/Locations/stateMachine.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.d.ts +25 -0
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +19 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/onboardingStateMachine.d.ts +1 -0
- package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/Completed.d.ts +1 -0
- package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/MissingRequirements.d.ts +1 -0
- package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.d.ts +18 -0
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +4 -5
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.d.ts +36 -3
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleComponents.d.ts +3 -0
- package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.d.ts +1 -0
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleList.d.ts +1 -0
- package/dist/components/Company/PaySchedule/PayScheduleList.js.map +1 -1
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.d.ts +1 -0
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +136 -0
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/index.d.ts +2 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +48 -26
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +134 -0
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxes.d.ts +25 -0
- package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesComponents.d.ts +6 -0
- package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.d.ts +1 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +16 -18
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Head.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/Head.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.d.ts +31 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -5
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.d.ts +2 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/Head.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesList/Head.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/List.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +16 -0
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -5
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.d.ts +1 -0
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
- package/dist/components/Company/exports/companyOnboarding.d.ts +7 -6
- package/dist/components/Company/exports/companyOnboarding.js +18 -16
- package/dist/components/Company/exports/companyOnboarding.js.map +1 -1
- package/dist/components/Company/index.d.ts +1 -17
- package/dist/components/Contractor/Address/Actions.d.ts +1 -0
- package/dist/components/Contractor/Address/Actions.js.map +1 -1
- package/dist/components/Contractor/Address/Address.d.ts +36 -1
- package/dist/components/Contractor/Address/Address.js.map +1 -1
- package/dist/components/Contractor/Address/Form.d.ts +1 -0
- package/dist/components/Contractor/Address/Form.js.map +1 -1
- package/dist/components/Contractor/Address/Head.d.ts +1 -0
- package/dist/components/Contractor/Address/Head.js.map +1 -1
- package/dist/components/Contractor/Address/index.d.ts +1 -1
- package/dist/components/Contractor/Address/useAddress.d.ts +8 -1
- package/dist/components/Contractor/Address/useAddress.js +6 -7
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/ContractorList/index.d.ts +22 -9
- package/dist/components/Contractor/ContractorList/index.js +1 -3
- package/dist/components/Contractor/ContractorList/index.js.map +1 -1
- package/dist/components/Contractor/ContractorList/useContractorList.d.ts +3 -5
- package/dist/components/Contractor/ContractorList/useContractorList.js.map +1 -1
- package/dist/components/Contractor/NewHireReport/NewHireReport.d.ts +33 -9
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/NewHireReport/types.d.ts +7 -0
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +58 -0
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +28 -2
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.d.ts +1 -0
- package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.d.ts +1 -0
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +33 -16
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.d.ts +1 -9
- package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +11 -15
- package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/types.d.ts +7 -0
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.d.ts +40 -3
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +1 -2
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +1 -0
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.d.ts +4 -18
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.js +0 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.d.ts +1 -0
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.d.ts +1 -0
- package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.d.ts +1 -0
- package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +1 -0
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/helpers.d.ts +1 -0
- package/dist/components/Contractor/Payments/CreatePayment/helpers.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.d.ts +40 -0
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +13 -0
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.d.ts +2 -0
- package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.d.ts +30 -3
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +1 -2
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +1 -0
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.d.ts +15 -3
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +1 -2
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.d.ts +1 -0
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +25 -2
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.d.ts +1 -0
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/index.d.ts +1 -2
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +28 -3
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +1 -2
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +1 -0
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/types.d.ts +8 -4
- package/dist/components/Contractor/Profile/ContractorProfile.d.ts +30 -6
- package/dist/components/Contractor/Profile/ContractorProfile.js +5 -9
- package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/ContractorProfileForm.d.ts +2 -0
- package/dist/components/Contractor/Profile/ContractorProfileForm.js.map +1 -1
- package/dist/components/Contractor/Profile/index.d.ts +1 -2
- package/dist/components/Contractor/Profile/useContractorProfile.d.ts +16 -2
- package/dist/components/Contractor/Profile/useContractorProfile.js +28 -26
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.d.ts +21 -1
- package/dist/components/Contractor/Submit/Submit.js +1 -2
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/Submit/SubmitDone.d.ts +1 -0
- package/dist/components/Contractor/Submit/SubmitDone.js.map +1 -1
- package/dist/components/Contractor/exports/contractorManagement.d.ts +6 -6
- package/dist/components/Contractor/exports/contractorOnboarding.d.ts +9 -4
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +29 -61
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +19 -23
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js +5 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/Deductions.d.ts +1 -3
- package/dist/components/Employee/Deductions/onboarding/Deductions.js +21 -26
- package/dist/components/Employee/Deductions/onboarding/Deductions.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js +55 -50
- package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.d.ts +0 -4
- package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.js +33 -43
- package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/stateMachine.d.ts +0 -1
- package/dist/components/Employee/Deductions/onboarding/stateMachine.js +36 -60
- package/dist/components/Employee/Deductions/onboarding/stateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js +63 -61
- package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +1 -18
- package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.d.ts +2 -25
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +4 -5
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.d.ts +1 -4
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +2 -48
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.d.ts +22 -14
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts +3 -20
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.d.ts +3 -15
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.d.ts +3 -12
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.d.ts +2 -11
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +3 -22
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +3 -17
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/workAddressSchema.d.ts +3 -10
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +3 -2
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +2 -18
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +144 -131
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +3 -3
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +167 -167
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +40 -35
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +3 -4
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +1 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +90 -82
- package/dist/index.js.map +1 -1
- package/dist/partner-hook-utils/form/buildFormSchema.d.ts +27 -4
- package/dist/partner-hook-utils/form/buildFormSchema.js.map +1 -1
- package/dist/shared/constants.d.ts +0 -4
- package/dist/shared/constants.js +0 -2
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/docs/reference/endpoint-inventory.json +11 -4
- package/package.json +6 -6
- package/dist/components/Contractor/index.d.ts +0 -14
- package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.d.ts +0 -8
- package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.js +0 -44
- package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.js.map +0 -1
- package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.module.scss.js +0 -12
- package/dist/components/Employee/Deductions/onboarding/IncludeDeductions/IncludeDeductions.module.scss.js.map +0 -1
package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.d.ts
CHANGED
|
@@ -1,18 +1,8 @@
|
|
|
1
|
+
import { JSX } from 'react';
|
|
1
2
|
import { Form } from '@gusto/embedded-api-v-2025-11-15/models/components/form';
|
|
2
3
|
import { SignEmployeeFormData } from './signEmployeeFormSchema';
|
|
3
|
-
import { SignatureField, ConfirmSignatureField, UsedPreparerField,
|
|
4
|
+
import { SignatureField, ConfirmSignatureField, UsedPreparerField, PreparerTextFieldProps, PreparerSelectFieldProps, PreparerCheckboxFieldProps } from './fields';
|
|
4
5
|
import { BaseFormHookReady, FieldsMetadata, HookLoadingResult, HookSubmitResult } from '../../../../../partner-hook-utils/types';
|
|
5
|
-
declare const preparer1Fields: {
|
|
6
|
-
FirstName: typeof Preparer1FirstName;
|
|
7
|
-
LastName: typeof Preparer1LastName;
|
|
8
|
-
Street1: typeof Preparer1Street1;
|
|
9
|
-
Street2: typeof Preparer1Street2;
|
|
10
|
-
City: typeof Preparer1City;
|
|
11
|
-
State: typeof Preparer1State;
|
|
12
|
-
Zip: typeof Preparer1Zip;
|
|
13
|
-
Signature: typeof Preparer1Signature;
|
|
14
|
-
ConfirmSignature: typeof Preparer1ConfirmSignature;
|
|
15
|
-
};
|
|
16
6
|
/**
|
|
17
7
|
* Field group exposed for each I-9 preparer/translator on {@link useSignEmployeeForm}.
|
|
18
8
|
*
|
|
@@ -23,7 +13,26 @@ declare const preparer1Fields: {
|
|
|
23
13
|
*
|
|
24
14
|
* @public
|
|
25
15
|
*/
|
|
26
|
-
export type PreparerFieldGroup =
|
|
16
|
+
export type PreparerFieldGroup = {
|
|
17
|
+
/** Preparer's first name. */
|
|
18
|
+
FirstName: (props: PreparerTextFieldProps) => JSX.Element;
|
|
19
|
+
/** Preparer's last name. */
|
|
20
|
+
LastName: (props: PreparerTextFieldProps) => JSX.Element;
|
|
21
|
+
/** Preparer's street address line 1. */
|
|
22
|
+
Street1: (props: PreparerTextFieldProps) => JSX.Element;
|
|
23
|
+
/** Preparer's street address line 2. */
|
|
24
|
+
Street2: (props: PreparerTextFieldProps) => JSX.Element;
|
|
25
|
+
/** Preparer's city. */
|
|
26
|
+
City: (props: PreparerTextFieldProps) => JSX.Element;
|
|
27
|
+
/** Preparer's state. */
|
|
28
|
+
State: (props: PreparerSelectFieldProps) => JSX.Element;
|
|
29
|
+
/** Preparer's ZIP code. */
|
|
30
|
+
Zip: (props: PreparerTextFieldProps) => JSX.Element;
|
|
31
|
+
/** Preparer's typed signature. */
|
|
32
|
+
Signature: (props: PreparerTextFieldProps) => JSX.Element;
|
|
33
|
+
/** Preparer's electronic-signature consent checkbox. */
|
|
34
|
+
ConfirmSignature: (props: PreparerCheckboxFieldProps) => JSX.Element;
|
|
35
|
+
};
|
|
27
36
|
/**
|
|
28
37
|
* Props for {@link useSignEmployeeForm}.
|
|
29
38
|
*
|
|
@@ -183,4 +192,3 @@ export type SignEmployeeFormFieldsMetadata = UseSignEmployeeFormReady['form']['f
|
|
|
183
192
|
* @public
|
|
184
193
|
*/
|
|
185
194
|
export type SignEmployeeFormFields = UseSignEmployeeFormReady['form']['Fields'];
|
|
186
|
-
export {};
|
package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSignEmployeeForm.js","sources":["../../../../../../src/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.tsx"],"sourcesContent":["import { useMemo, useCallback, useState, useEffect } from 'react'\nimport { useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { Form } from '@gusto/embedded-api-v-2025-11-15/models/components/form'\nimport { useEmployeeFormsGet } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeFormsGet'\nimport { useEmployeeFormsGetPdf } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeFormsGetPdf'\nimport { useEmployeeFormsSignMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeFormsSign'\nimport {\n createSignEmployeeFormSchema,\n MAX_PREPARERS,\n PREPARER_FIELDS_BY_INDEX,\n PREPARERS_BY_INDEX,\n type SignEmployeeFormData,\n type SignEmployeeFormOutputs,\n} from './signEmployeeFormSchema'\nimport {\n SignatureField,\n ConfirmSignatureField,\n UsedPreparerField,\n Preparer1FirstName,\n Preparer1LastName,\n Preparer1Street1,\n Preparer1Street2,\n Preparer1City,\n Preparer1State,\n Preparer1Zip,\n Preparer1Signature,\n Preparer1ConfirmSignature,\n Preparer2FirstName,\n Preparer2LastName,\n Preparer2Street1,\n Preparer2Street2,\n Preparer2City,\n Preparer2State,\n Preparer2Zip,\n Preparer2Signature,\n Preparer2ConfirmSignature,\n Preparer3FirstName,\n Preparer3LastName,\n Preparer3Street1,\n Preparer3Street2,\n Preparer3City,\n Preparer3State,\n Preparer3Zip,\n Preparer3Signature,\n Preparer3ConfirmSignature,\n Preparer4FirstName,\n Preparer4LastName,\n Preparer4Street1,\n Preparer4Street2,\n Preparer4City,\n Preparer4State,\n Preparer4Zip,\n Preparer4Signature,\n Preparer4ConfirmSignature,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { I9_FORM_NAME, STATES_ABBR } from '@/shared/constants'\n\nconst stateOptions = STATES_ABBR.map(abbr => ({ label: abbr, value: abbr }))\n\n// ── Preparer field groups ──────────────────────────────────────────────\n\nconst preparer1Fields = {\n FirstName: Preparer1FirstName,\n LastName: Preparer1LastName,\n Street1: Preparer1Street1,\n Street2: Preparer1Street2,\n City: Preparer1City,\n State: Preparer1State,\n Zip: Preparer1Zip,\n Signature: Preparer1Signature,\n ConfirmSignature: Preparer1ConfirmSignature,\n}\n\nconst preparer2Fields = {\n FirstName: Preparer2FirstName,\n LastName: Preparer2LastName,\n Street1: Preparer2Street1,\n Street2: Preparer2Street2,\n City: Preparer2City,\n State: Preparer2State,\n Zip: Preparer2Zip,\n Signature: Preparer2Signature,\n ConfirmSignature: Preparer2ConfirmSignature,\n}\n\nconst preparer3Fields = {\n FirstName: Preparer3FirstName,\n LastName: Preparer3LastName,\n Street1: Preparer3Street1,\n Street2: Preparer3Street2,\n City: Preparer3City,\n State: Preparer3State,\n Zip: Preparer3Zip,\n Signature: Preparer3Signature,\n ConfirmSignature: Preparer3ConfirmSignature,\n}\n\nconst preparer4Fields = {\n FirstName: Preparer4FirstName,\n LastName: Preparer4LastName,\n Street1: Preparer4Street1,\n Street2: Preparer4Street2,\n City: Preparer4City,\n State: Preparer4State,\n Zip: Preparer4Zip,\n Signature: Preparer4Signature,\n ConfirmSignature: Preparer4ConfirmSignature,\n}\n\n/**\n * Field group exposed for each I-9 preparer/translator on {@link useSignEmployeeForm}.\n *\n * @remarks\n * Each preparer (1–4) exposes the same nine sub-fields covering name,\n * address, signature, and consent. Render the sub-fields directly on the\n * group, e.g. `<Fields.Preparer1.FirstName />`.\n *\n * @public\n */\nexport type PreparerFieldGroup = typeof preparer1Fields\n\n// ── Types ──────────────────────────────────────────────────────────────\n\n/**\n * Props for {@link useSignEmployeeForm}.\n *\n * @public\n */\nexport interface UseSignEmployeeFormProps {\n /** The associated employee identifier. */\n employeeId: string\n /** The UUID of the employee form to sign. */\n formId: string\n}\n\n/**\n * Field components exposed by {@link useSignEmployeeForm} on `form.Fields`.\n *\n * @remarks\n * `Signature` and `ConfirmSignature` are always present. `UsedPreparer` and\n * the `Preparer1`–`Preparer4` field groups are only defined when the form\n * being signed is an I-9 and the preparer count has reached that index —\n * always null-check before rendering.\n *\n * @public\n */\nexport interface SignEmployeeFormFieldComponents {\n /** Text input for the employee's typed signature; always present. */\n Signature: typeof SignatureField\n /** Checkbox for the employee's electronic-signature consent; always present. */\n ConfirmSignature: typeof ConfirmSignatureField\n /** Radio group asking whether a preparer/translator assisted; defined only for I-9 forms. */\n UsedPreparer: typeof UsedPreparerField | undefined\n /** First preparer field group; defined only for I-9 forms when `preparers.count >= 1`. */\n Preparer1: PreparerFieldGroup | undefined\n /** Second preparer field group; defined only for I-9 forms when `preparers.count >= 2`. */\n Preparer2: PreparerFieldGroup | undefined\n /** Third preparer field group; defined only for I-9 forms when `preparers.count >= 3`. */\n Preparer3: PreparerFieldGroup | undefined\n /** Fourth preparer field group; defined only for I-9 forms when `preparers.count >= 4`. */\n Preparer4: PreparerFieldGroup | undefined\n}\n\n/**\n * Ready-state shape returned by {@link useSignEmployeeForm} once the form metadata and PDF have loaded.\n *\n * @public\n */\nexport interface UseSignEmployeeFormReady extends BaseFormHookReady<\n FieldsMetadata,\n SignEmployeeFormData,\n SignEmployeeFormFieldComponents\n> {\n /** Loaded data — the form entity and a preview PDF URL. */\n data: {\n /** The employee form entity fetched from the API (includes `uuid`, `name`, `title`). */\n form: Form\n /** URL to the form's signed PDF for preview, or `undefined` while it is still being generated. */\n pdfUrl: string | null | undefined\n }\n /** Submit-state flags. */\n status: {\n /** `true` while the sign mutation is in flight. */\n isPending: boolean\n /** Always `'create'`; the hook always submits as a signing operation. */\n mode: 'create'\n }\n /** Imperative actions exposed by the hook. */\n actions: {\n /** Validates the form and submits the signature. Resolves with the signed form on success. */\n onSubmit: () => Promise<HookSubmitResult<Form> | undefined>\n /** Adds an additional preparer/translator section (up to 4). Defined only for I-9 forms. */\n addPreparer?: () => void\n /** Removes the last preparer/translator section and unregisters its fields. Defined only for I-9 forms. */\n removePreparer?: () => void\n }\n /** Form bindings — `Fields`, `fieldsMetadata`, and I-9 preparer state. */\n form: BaseFormHookReady<\n FieldsMetadata,\n SignEmployeeFormData,\n SignEmployeeFormFieldComponents\n >['form'] & {\n /** Preparer-section state. Defined only for I-9 forms. */\n preparers?: {\n /** Current number of preparer sections, between 0 and 4. */\n count: number\n /** `true` when fewer than 4 preparers are active. */\n canAdd: boolean\n /** `true` when at least 1 preparer is active. */\n canRemove: boolean\n }\n }\n}\n\n// ── Hook ───────────────────────────────────────────────────────────────\n\n/**\n * Headless hook for signing an employee form — captures a typed signature, electronic consent, and (for I-9 forms) preparer/translator certification.\n *\n * @remarks\n * The hook fetches the form metadata and PDF, then exposes the\n * {@link BaseFormHookReady} contract with `Fields`, `fieldsMetadata`,\n * `onSubmit`, and error handling. The hook inspects the form's `name` to\n * detect I-9 forms; when the form is an I-9, `Fields.UsedPreparer` and the\n * `Fields.Preparer1`–`Preparer4` field groups become defined, along with\n * `actions.addPreparer` / `actions.removePreparer` and `form.preparers`\n * state. Selecting `usedPreparer: 'yes'` automatically reveals the first\n * preparer section; switching back to `'no'` removes all preparer sections\n * and unregisters their fields.\n *\n * Unlike the CRUD-oriented form hooks (`useEmployeeDetailsForm`,\n * `useCompensationForm`, `useWorkAddressForm`), this hook does not accept\n * `defaultValues`, `requiredFields`, or `validationMode` — the form shape is\n * fixed and all fields except preparer street-2 are required.\n *\n * @param props - See {@link UseSignEmployeeFormProps}.\n * @returns A {@link HookLoadingResult} while loading, or a {@link UseSignEmployeeFormReady} once the form is loaded.\n * @public\n *\n * @example\n * ```tsx\n * import { useSignEmployeeForm, SDKFormProvider } from '@gusto/embedded-react-sdk'\n *\n * function SignFormPage({ employeeId, formId }: { employeeId: string; formId: string }) {\n * const signForm = useSignEmployeeForm({ employeeId, formId })\n *\n * if (signForm.isLoading) return <div>Loading...</div>\n *\n * const { Fields } = signForm.form\n *\n * return (\n * <SDKFormProvider formHookResult={signForm}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void signForm.actions.onSubmit()\n * }}\n * >\n * <Fields.Signature\n * label=\"Signature\"\n * description=\"Type your full, legal name.\"\n * validationMessages={{ REQUIRED: 'Signature is required' }}\n * />\n * <Fields.ConfirmSignature\n * label=\"I agree to sign electronically\"\n * validationMessages={{ REQUIRED: 'You must agree to sign electronically' }}\n * />\n * <button type=\"submit\" disabled={signForm.status.isPending}>\n * Sign form\n * </button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useSignEmployeeForm({\n employeeId,\n formId,\n}: UseSignEmployeeFormProps): HookLoadingResult | UseSignEmployeeFormReady {\n const formQuery = useEmployeeFormsGet({ employeeId, formId })\n const pdfQuery = useEmployeeFormsGetPdf({ employeeId, formId })\n\n const form = formQuery.data?.form\n const pdfUrl = pdfQuery.data?.formPdf?.documentUrl\n const isI9 = form?.name === I9_FORM_NAME\n\n const [preparerCount, setPreparerCount] = useState(0)\n\n const [schema, metadataConfig] = useMemo(\n () => createSignEmployeeFormSchema({ isI9, preparerCount }),\n [isI9, preparerCount],\n )\n\n const formMethods = useForm<SignEmployeeFormData, unknown, SignEmployeeFormOutputs>({\n resolver: zodResolver(schema),\n defaultValues: {\n signature: '',\n confirmSignature: false,\n usedPreparer: 'no',\n },\n })\n\n const { mutateAsync: signForm, isPending } = useEmployeeFormsSignMutation()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('SignEmployeeForm')\n\n // The signed PDF is a preview convenience: `pdfUrl` is optional and both the\n // viewer and the download link already degrade gracefully when it's absent.\n // A failed — or not-yet-ready — PDF fetch must NOT surface as a page-level\n // signing error. In particular the global post-mutation invalidation forces a\n // `getPdf` refetch the instant a sign succeeds, which races backend generation\n // of the signed PDF; surfacing that transient failure as \"there was a problem\n // with your submission\" is misleading when the signature actually went through\n // (SDK-947). Only the form query feeds the error surface.\n const queries = [formQuery]\n const errorHandling = composeErrorHandler(queries, { submitError, setSubmitError })\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n\n const fieldsMetadata = useMemo(\n () => ({\n ...baseMetadata,\n ...(isI9\n ? {\n usedPreparer: withOptions(baseMetadata.usedPreparer, [\n { label: 'No, I completed this myself', value: 'no' },\n { label: 'Yes, I used a preparer/translator', value: 'yes' },\n ]),\n preparerState: withOptions(baseMetadata.preparerState, stateOptions, STATES_ABBR),\n preparer2State: withOptions(baseMetadata.preparer2State, stateOptions, STATES_ABBR),\n preparer3State: withOptions(baseMetadata.preparer3State, stateOptions, STATES_ABBR),\n preparer4State: withOptions(baseMetadata.preparer4State, stateOptions, STATES_ABBR),\n }\n : {}),\n }),\n [baseMetadata, isI9],\n )\n\n const addPreparer = useCallback(() => {\n setPreparerCount(prev => Math.min(prev + 1, MAX_PREPARERS))\n }, [])\n\n const removePreparer = useCallback(() => {\n setPreparerCount(prev => {\n if (prev <= 0) return prev\n const preparerFields = PREPARER_FIELDS_BY_INDEX[prev - 1]\n if (!preparerFields) return prev\n for (const name of preparerFields) {\n formMethods.unregister(name)\n }\n return prev - 1\n })\n }, [formMethods.unregister])\n\n const usedPreparer = isI9 ? formMethods.watch('usedPreparer') : undefined\n\n useEffect(() => {\n if (!isI9) return\n if (usedPreparer === 'yes' && preparerCount === 0) {\n addPreparer()\n }\n if (usedPreparer === 'no' && preparerCount > 0) {\n for (let i = preparerCount; i > 0; i--) {\n removePreparer()\n }\n }\n }, [usedPreparer, isI9, preparerCount, addPreparer, removePreparer])\n\n const onSubmit = async (): Promise<HookSubmitResult<Form> | undefined> => {\n let submitResult: HookSubmitResult<Form> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: SignEmployeeFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const requestBody: Record<string, unknown> = {\n signatureText: payload.signature,\n agree: payload.confirmSignature,\n }\n\n if (isI9) {\n Object.assign(requestBody, buildPreparerPayload(payload, preparerCount))\n }\n\n const result = await signForm({\n request: {\n employeeId,\n formId: form!.uuid,\n requestBody: requestBody as {\n signatureText: string\n agree: boolean\n signedByIpAddress: string\n },\n },\n })\n\n if (result.form) {\n submitResult = { mode: 'create', data: result.form }\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n const isDataLoading = formQuery.isLoading || pdfQuery.isLoading\n\n if (isDataLoading || !form) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: { form, pdfUrl },\n status: { isPending, mode: 'create' as const },\n actions: {\n onSubmit,\n ...(isI9 ? { addPreparer, removePreparer } : {}),\n },\n errorHandling,\n form: {\n Fields: {\n Signature: SignatureField,\n ConfirmSignature: ConfirmSignatureField,\n UsedPreparer: isI9 ? UsedPreparerField : undefined,\n Preparer1: isI9 && preparerCount >= 1 ? preparer1Fields : undefined,\n Preparer2: isI9 && preparerCount >= 2 ? preparer2Fields : undefined,\n Preparer3: isI9 && preparerCount >= 3 ? preparer3Fields : undefined,\n Preparer4: isI9 && preparerCount >= 4 ? preparer4Fields : undefined,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n ...(isI9\n ? {\n preparers: {\n count: preparerCount,\n canAdd: preparerCount < MAX_PREPARERS,\n canRemove: preparerCount > 0,\n },\n }\n : {}),\n },\n }\n}\n\n// ── Helpers ─────────────────────────────────────────────────────────────\n\nfunction buildPreparerPayload(payload: SignEmployeeFormOutputs, count: number) {\n if (payload.usedPreparer !== 'yes' || count === 0) {\n return { preparer: false }\n }\n\n const result: Record<string, unknown> = { preparer: true }\n\n for (let index = 0; index < count; index++) {\n if (index > 0) {\n result[`preparer${String(index + 1)}`] = true\n }\n\n const preparer = PREPARERS_BY_INDEX[index]\n if (!preparer) continue\n\n result[preparer.firstName] = payload[preparer.firstName]\n result[preparer.lastName] = payload[preparer.lastName]\n result[preparer.street1] = payload[preparer.street1]\n if (payload[preparer.street2]) {\n result[preparer.street2] = payload[preparer.street2]\n }\n result[preparer.city] = payload[preparer.city]\n result[preparer.state] = payload[preparer.state]\n result[preparer.zip] = payload[preparer.zip]\n result[preparer.signature] = payload[preparer.signature]\n result[preparer.agree] = 'true'\n }\n\n return result\n}\n\n/**\n * Result of {@link useSignEmployeeForm} — a discriminated union on `isLoading`.\n *\n * @public\n */\nexport type UseSignEmployeeFormResult = HookLoadingResult | UseSignEmployeeFormReady\n/**\n * Shape of the `form.fieldsMetadata` object returned by {@link useSignEmployeeForm}.\n *\n * @public\n */\nexport type SignEmployeeFormFieldsMetadata = UseSignEmployeeFormReady['form']['fieldsMetadata']\n/**\n * Shape of the `form.Fields` object returned by {@link useSignEmployeeForm}.\n *\n * @public\n */\nexport type SignEmployeeFormFields = UseSignEmployeeFormReady['form']['Fields']\n"],"names":["stateOptions","STATES_ABBR","abbr","preparer1Fields","Preparer1FirstName","Preparer1LastName","Preparer1Street1","Preparer1Street2","Preparer1City","Preparer1State","Preparer1Zip","Preparer1Signature","Preparer1ConfirmSignature","preparer2Fields","Preparer2FirstName","Preparer2LastName","Preparer2Street1","Preparer2Street2","Preparer2City","Preparer2State","Preparer2Zip","Preparer2Signature","Preparer2ConfirmSignature","preparer3Fields","Preparer3FirstName","Preparer3LastName","Preparer3Street1","Preparer3Street2","Preparer3City","Preparer3State","Preparer3Zip","Preparer3Signature","Preparer3ConfirmSignature","preparer4Fields","Preparer4FirstName","Preparer4LastName","Preparer4Street1","Preparer4Street2","Preparer4City","Preparer4State","Preparer4Zip","Preparer4Signature","Preparer4ConfirmSignature","useSignEmployeeForm","employeeId","formId","formQuery","useEmployeeFormsGet","pdfQuery","useEmployeeFormsGetPdf","form","pdfUrl","isI9","I9_FORM_NAME","preparerCount","setPreparerCount","useState","schema","metadataConfig","useMemo","createSignEmployeeFormSchema","formMethods","useForm","zodResolver","signForm","isPending","useEmployeeFormsSignMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","addPreparer","useCallback","prev","MAX_PREPARERS","removePreparer","preparerFields","PREPARER_FIELDS_BY_INDEX","name","usedPreparer","useEffect","i","onSubmit","submitResult","resolve","data","payload","requestBody","buildPreparerPayload","result","hookFormInternals","useHookFormInternals","SignatureField","ConfirmSignatureField","UsedPreparerField","createGetFormSubmissionValues","count","index","preparer","PREPARERS_BY_INDEX"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSignEmployeeForm.js","sources":["../../../../../../src/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.tsx"],"sourcesContent":["import type { JSX } from 'react'\nimport { useMemo, useCallback, useState, useEffect } from 'react'\nimport { useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { Form } from '@gusto/embedded-api-v-2025-11-15/models/components/form'\nimport { useEmployeeFormsGet } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeFormsGet'\nimport { useEmployeeFormsGetPdf } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeFormsGetPdf'\nimport { useEmployeeFormsSignMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/employeeFormsSign'\nimport {\n createSignEmployeeFormSchema,\n MAX_PREPARERS,\n PREPARER_FIELDS_BY_INDEX,\n PREPARERS_BY_INDEX,\n type SignEmployeeFormData,\n type SignEmployeeFormOutputs,\n} from './signEmployeeFormSchema'\nimport {\n SignatureField,\n ConfirmSignatureField,\n UsedPreparerField,\n type PreparerTextFieldProps,\n type PreparerSelectFieldProps,\n type PreparerCheckboxFieldProps,\n Preparer1FirstName,\n Preparer1LastName,\n Preparer1Street1,\n Preparer1Street2,\n Preparer1City,\n Preparer1State,\n Preparer1Zip,\n Preparer1Signature,\n Preparer1ConfirmSignature,\n Preparer2FirstName,\n Preparer2LastName,\n Preparer2Street1,\n Preparer2Street2,\n Preparer2City,\n Preparer2State,\n Preparer2Zip,\n Preparer2Signature,\n Preparer2ConfirmSignature,\n Preparer3FirstName,\n Preparer3LastName,\n Preparer3Street1,\n Preparer3Street2,\n Preparer3City,\n Preparer3State,\n Preparer3Zip,\n Preparer3Signature,\n Preparer3ConfirmSignature,\n Preparer4FirstName,\n Preparer4LastName,\n Preparer4Street1,\n Preparer4Street2,\n Preparer4City,\n Preparer4State,\n Preparer4Zip,\n Preparer4Signature,\n Preparer4ConfirmSignature,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { I9_FORM_NAME, STATES_ABBR } from '@/shared/constants'\n\nconst stateOptions = STATES_ABBR.map(abbr => ({ label: abbr, value: abbr }))\n\n// ── Preparer field groups ──────────────────────────────────────────────\n\nconst preparer1Fields = {\n FirstName: Preparer1FirstName,\n LastName: Preparer1LastName,\n Street1: Preparer1Street1,\n Street2: Preparer1Street2,\n City: Preparer1City,\n State: Preparer1State,\n Zip: Preparer1Zip,\n Signature: Preparer1Signature,\n ConfirmSignature: Preparer1ConfirmSignature,\n} satisfies PreparerFieldGroup\n\nconst preparer2Fields = {\n FirstName: Preparer2FirstName,\n LastName: Preparer2LastName,\n Street1: Preparer2Street1,\n Street2: Preparer2Street2,\n City: Preparer2City,\n State: Preparer2State,\n Zip: Preparer2Zip,\n Signature: Preparer2Signature,\n ConfirmSignature: Preparer2ConfirmSignature,\n} satisfies PreparerFieldGroup\n\nconst preparer3Fields = {\n FirstName: Preparer3FirstName,\n LastName: Preparer3LastName,\n Street1: Preparer3Street1,\n Street2: Preparer3Street2,\n City: Preparer3City,\n State: Preparer3State,\n Zip: Preparer3Zip,\n Signature: Preparer3Signature,\n ConfirmSignature: Preparer3ConfirmSignature,\n} satisfies PreparerFieldGroup\n\nconst preparer4Fields = {\n FirstName: Preparer4FirstName,\n LastName: Preparer4LastName,\n Street1: Preparer4Street1,\n Street2: Preparer4Street2,\n City: Preparer4City,\n State: Preparer4State,\n Zip: Preparer4Zip,\n Signature: Preparer4Signature,\n ConfirmSignature: Preparer4ConfirmSignature,\n} satisfies PreparerFieldGroup\n\n/**\n * Field group exposed for each I-9 preparer/translator on {@link useSignEmployeeForm}.\n *\n * @remarks\n * Each preparer (1–4) exposes the same nine sub-fields covering name,\n * address, signature, and consent. Render the sub-fields directly on the\n * group, e.g. `<Fields.Preparer1.FirstName />`.\n *\n * @public\n */\nexport type PreparerFieldGroup = {\n /** Preparer's first name. */\n FirstName: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's last name. */\n LastName: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's street address line 1. */\n Street1: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's street address line 2. */\n Street2: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's city. */\n City: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's state. */\n State: (props: PreparerSelectFieldProps) => JSX.Element\n /** Preparer's ZIP code. */\n Zip: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's typed signature. */\n Signature: (props: PreparerTextFieldProps) => JSX.Element\n /** Preparer's electronic-signature consent checkbox. */\n ConfirmSignature: (props: PreparerCheckboxFieldProps) => JSX.Element\n}\n\n// ── Types ──────────────────────────────────────────────────────────────\n\n/**\n * Props for {@link useSignEmployeeForm}.\n *\n * @public\n */\nexport interface UseSignEmployeeFormProps {\n /** The associated employee identifier. */\n employeeId: string\n /** The UUID of the employee form to sign. */\n formId: string\n}\n\n/**\n * Field components exposed by {@link useSignEmployeeForm} on `form.Fields`.\n *\n * @remarks\n * `Signature` and `ConfirmSignature` are always present. `UsedPreparer` and\n * the `Preparer1`–`Preparer4` field groups are only defined when the form\n * being signed is an I-9 and the preparer count has reached that index —\n * always null-check before rendering.\n *\n * @public\n */\nexport interface SignEmployeeFormFieldComponents {\n /** Text input for the employee's typed signature; always present. */\n Signature: typeof SignatureField\n /** Checkbox for the employee's electronic-signature consent; always present. */\n ConfirmSignature: typeof ConfirmSignatureField\n /** Radio group asking whether a preparer/translator assisted; defined only for I-9 forms. */\n UsedPreparer: typeof UsedPreparerField | undefined\n /** First preparer field group; defined only for I-9 forms when `preparers.count >= 1`. */\n Preparer1: PreparerFieldGroup | undefined\n /** Second preparer field group; defined only for I-9 forms when `preparers.count >= 2`. */\n Preparer2: PreparerFieldGroup | undefined\n /** Third preparer field group; defined only for I-9 forms when `preparers.count >= 3`. */\n Preparer3: PreparerFieldGroup | undefined\n /** Fourth preparer field group; defined only for I-9 forms when `preparers.count >= 4`. */\n Preparer4: PreparerFieldGroup | undefined\n}\n\n/**\n * Ready-state shape returned by {@link useSignEmployeeForm} once the form metadata and PDF have loaded.\n *\n * @public\n */\nexport interface UseSignEmployeeFormReady extends BaseFormHookReady<\n FieldsMetadata,\n SignEmployeeFormData,\n SignEmployeeFormFieldComponents\n> {\n /** Loaded data — the form entity and a preview PDF URL. */\n data: {\n /** The employee form entity fetched from the API (includes `uuid`, `name`, `title`). */\n form: Form\n /** URL to the form's signed PDF for preview, or `undefined` while it is still being generated. */\n pdfUrl: string | null | undefined\n }\n /** Submit-state flags. */\n status: {\n /** `true` while the sign mutation is in flight. */\n isPending: boolean\n /** Always `'create'`; the hook always submits as a signing operation. */\n mode: 'create'\n }\n /** Imperative actions exposed by the hook. */\n actions: {\n /** Validates the form and submits the signature. Resolves with the signed form on success. */\n onSubmit: () => Promise<HookSubmitResult<Form> | undefined>\n /** Adds an additional preparer/translator section (up to 4). Defined only for I-9 forms. */\n addPreparer?: () => void\n /** Removes the last preparer/translator section and unregisters its fields. Defined only for I-9 forms. */\n removePreparer?: () => void\n }\n /** Form bindings — `Fields`, `fieldsMetadata`, and I-9 preparer state. */\n form: BaseFormHookReady<\n FieldsMetadata,\n SignEmployeeFormData,\n SignEmployeeFormFieldComponents\n >['form'] & {\n /** Preparer-section state. Defined only for I-9 forms. */\n preparers?: {\n /** Current number of preparer sections, between 0 and 4. */\n count: number\n /** `true` when fewer than 4 preparers are active. */\n canAdd: boolean\n /** `true` when at least 1 preparer is active. */\n canRemove: boolean\n }\n }\n}\n\n// ── Hook ───────────────────────────────────────────────────────────────\n\n/**\n * Headless hook for signing an employee form — captures a typed signature, electronic consent, and (for I-9 forms) preparer/translator certification.\n *\n * @remarks\n * The hook fetches the form metadata and PDF, then exposes the\n * {@link BaseFormHookReady} contract with `Fields`, `fieldsMetadata`,\n * `onSubmit`, and error handling. The hook inspects the form's `name` to\n * detect I-9 forms; when the form is an I-9, `Fields.UsedPreparer` and the\n * `Fields.Preparer1`–`Preparer4` field groups become defined, along with\n * `actions.addPreparer` / `actions.removePreparer` and `form.preparers`\n * state. Selecting `usedPreparer: 'yes'` automatically reveals the first\n * preparer section; switching back to `'no'` removes all preparer sections\n * and unregisters their fields.\n *\n * Unlike the CRUD-oriented form hooks (`useEmployeeDetailsForm`,\n * `useCompensationForm`, `useWorkAddressForm`), this hook does not accept\n * `defaultValues`, `requiredFields`, or `validationMode` — the form shape is\n * fixed and all fields except preparer street-2 are required.\n *\n * @param props - See {@link UseSignEmployeeFormProps}.\n * @returns A {@link HookLoadingResult} while loading, or a {@link UseSignEmployeeFormReady} once the form is loaded.\n * @public\n *\n * @example\n * ```tsx\n * import { useSignEmployeeForm, SDKFormProvider } from '@gusto/embedded-react-sdk'\n *\n * function SignFormPage({ employeeId, formId }: { employeeId: string; formId: string }) {\n * const signForm = useSignEmployeeForm({ employeeId, formId })\n *\n * if (signForm.isLoading) return <div>Loading...</div>\n *\n * const { Fields } = signForm.form\n *\n * return (\n * <SDKFormProvider formHookResult={signForm}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void signForm.actions.onSubmit()\n * }}\n * >\n * <Fields.Signature\n * label=\"Signature\"\n * description=\"Type your full, legal name.\"\n * validationMessages={{ REQUIRED: 'Signature is required' }}\n * />\n * <Fields.ConfirmSignature\n * label=\"I agree to sign electronically\"\n * validationMessages={{ REQUIRED: 'You must agree to sign electronically' }}\n * />\n * <button type=\"submit\" disabled={signForm.status.isPending}>\n * Sign form\n * </button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useSignEmployeeForm({\n employeeId,\n formId,\n}: UseSignEmployeeFormProps): HookLoadingResult | UseSignEmployeeFormReady {\n const formQuery = useEmployeeFormsGet({ employeeId, formId })\n const pdfQuery = useEmployeeFormsGetPdf({ employeeId, formId })\n\n const form = formQuery.data?.form\n const pdfUrl = pdfQuery.data?.formPdf?.documentUrl\n const isI9 = form?.name === I9_FORM_NAME\n\n const [preparerCount, setPreparerCount] = useState(0)\n\n const [schema, metadataConfig] = useMemo(\n () => createSignEmployeeFormSchema({ isI9, preparerCount }),\n [isI9, preparerCount],\n )\n\n const formMethods = useForm<SignEmployeeFormData, unknown, SignEmployeeFormOutputs>({\n resolver: zodResolver(schema),\n defaultValues: {\n signature: '',\n confirmSignature: false,\n usedPreparer: 'no',\n },\n })\n\n const { mutateAsync: signForm, isPending } = useEmployeeFormsSignMutation()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('SignEmployeeForm')\n\n // The signed PDF is a preview convenience: `pdfUrl` is optional and both the\n // viewer and the download link already degrade gracefully when it's absent.\n // A failed — or not-yet-ready — PDF fetch must NOT surface as a page-level\n // signing error. In particular the global post-mutation invalidation forces a\n // `getPdf` refetch the instant a sign succeeds, which races backend generation\n // of the signed PDF; surfacing that transient failure as \"there was a problem\n // with your submission\" is misleading when the signature actually went through\n // (SDK-947). Only the form query feeds the error surface.\n const queries = [formQuery]\n const errorHandling = composeErrorHandler(queries, { submitError, setSubmitError })\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n\n const fieldsMetadata = useMemo(\n () => ({\n ...baseMetadata,\n ...(isI9\n ? {\n usedPreparer: withOptions(baseMetadata.usedPreparer, [\n { label: 'No, I completed this myself', value: 'no' },\n { label: 'Yes, I used a preparer/translator', value: 'yes' },\n ]),\n preparerState: withOptions(baseMetadata.preparerState, stateOptions, STATES_ABBR),\n preparer2State: withOptions(baseMetadata.preparer2State, stateOptions, STATES_ABBR),\n preparer3State: withOptions(baseMetadata.preparer3State, stateOptions, STATES_ABBR),\n preparer4State: withOptions(baseMetadata.preparer4State, stateOptions, STATES_ABBR),\n }\n : {}),\n }),\n [baseMetadata, isI9],\n )\n\n const addPreparer = useCallback(() => {\n setPreparerCount(prev => Math.min(prev + 1, MAX_PREPARERS))\n }, [])\n\n const removePreparer = useCallback(() => {\n setPreparerCount(prev => {\n if (prev <= 0) return prev\n const preparerFields = PREPARER_FIELDS_BY_INDEX[prev - 1]\n if (!preparerFields) return prev\n for (const name of preparerFields) {\n formMethods.unregister(name)\n }\n return prev - 1\n })\n }, [formMethods.unregister])\n\n const usedPreparer = isI9 ? formMethods.watch('usedPreparer') : undefined\n\n useEffect(() => {\n if (!isI9) return\n if (usedPreparer === 'yes' && preparerCount === 0) {\n addPreparer()\n }\n if (usedPreparer === 'no' && preparerCount > 0) {\n for (let i = preparerCount; i > 0; i--) {\n removePreparer()\n }\n }\n }, [usedPreparer, isI9, preparerCount, addPreparer, removePreparer])\n\n const onSubmit = async (): Promise<HookSubmitResult<Form> | undefined> => {\n let submitResult: HookSubmitResult<Form> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: SignEmployeeFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const requestBody: Record<string, unknown> = {\n signatureText: payload.signature,\n agree: payload.confirmSignature,\n }\n\n if (isI9) {\n Object.assign(requestBody, buildPreparerPayload(payload, preparerCount))\n }\n\n const result = await signForm({\n request: {\n employeeId,\n formId: form!.uuid,\n requestBody: requestBody as {\n signatureText: string\n agree: boolean\n signedByIpAddress: string\n },\n },\n })\n\n if (result.form) {\n submitResult = { mode: 'create', data: result.form }\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n const isDataLoading = formQuery.isLoading || pdfQuery.isLoading\n\n if (isDataLoading || !form) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: { form, pdfUrl },\n status: { isPending, mode: 'create' as const },\n actions: {\n onSubmit,\n ...(isI9 ? { addPreparer, removePreparer } : {}),\n },\n errorHandling,\n form: {\n Fields: {\n Signature: SignatureField,\n ConfirmSignature: ConfirmSignatureField,\n UsedPreparer: isI9 ? UsedPreparerField : undefined,\n Preparer1: isI9 && preparerCount >= 1 ? preparer1Fields : undefined,\n Preparer2: isI9 && preparerCount >= 2 ? preparer2Fields : undefined,\n Preparer3: isI9 && preparerCount >= 3 ? preparer3Fields : undefined,\n Preparer4: isI9 && preparerCount >= 4 ? preparer4Fields : undefined,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n ...(isI9\n ? {\n preparers: {\n count: preparerCount,\n canAdd: preparerCount < MAX_PREPARERS,\n canRemove: preparerCount > 0,\n },\n }\n : {}),\n },\n }\n}\n\n// ── Helpers ─────────────────────────────────────────────────────────────\n\nfunction buildPreparerPayload(payload: SignEmployeeFormOutputs, count: number) {\n if (payload.usedPreparer !== 'yes' || count === 0) {\n return { preparer: false }\n }\n\n const result: Record<string, unknown> = { preparer: true }\n\n for (let index = 0; index < count; index++) {\n if (index > 0) {\n result[`preparer${String(index + 1)}`] = true\n }\n\n const preparer = PREPARERS_BY_INDEX[index]\n if (!preparer) continue\n\n result[preparer.firstName] = payload[preparer.firstName]\n result[preparer.lastName] = payload[preparer.lastName]\n result[preparer.street1] = payload[preparer.street1]\n if (payload[preparer.street2]) {\n result[preparer.street2] = payload[preparer.street2]\n }\n result[preparer.city] = payload[preparer.city]\n result[preparer.state] = payload[preparer.state]\n result[preparer.zip] = payload[preparer.zip]\n result[preparer.signature] = payload[preparer.signature]\n result[preparer.agree] = 'true'\n }\n\n return result\n}\n\n/**\n * Result of {@link useSignEmployeeForm} — a discriminated union on `isLoading`.\n *\n * @public\n */\nexport type UseSignEmployeeFormResult = HookLoadingResult | UseSignEmployeeFormReady\n/**\n * Shape of the `form.fieldsMetadata` object returned by {@link useSignEmployeeForm}.\n *\n * @public\n */\nexport type SignEmployeeFormFieldsMetadata = UseSignEmployeeFormReady['form']['fieldsMetadata']\n/**\n * Shape of the `form.Fields` object returned by {@link useSignEmployeeForm}.\n *\n * @public\n */\nexport type SignEmployeeFormFields = UseSignEmployeeFormReady['form']['Fields']\n"],"names":["stateOptions","STATES_ABBR","abbr","preparer1Fields","Preparer1FirstName","Preparer1LastName","Preparer1Street1","Preparer1Street2","Preparer1City","Preparer1State","Preparer1Zip","Preparer1Signature","Preparer1ConfirmSignature","preparer2Fields","Preparer2FirstName","Preparer2LastName","Preparer2Street1","Preparer2Street2","Preparer2City","Preparer2State","Preparer2Zip","Preparer2Signature","Preparer2ConfirmSignature","preparer3Fields","Preparer3FirstName","Preparer3LastName","Preparer3Street1","Preparer3Street2","Preparer3City","Preparer3State","Preparer3Zip","Preparer3Signature","Preparer3ConfirmSignature","preparer4Fields","Preparer4FirstName","Preparer4LastName","Preparer4Street1","Preparer4Street2","Preparer4City","Preparer4State","Preparer4Zip","Preparer4Signature","Preparer4ConfirmSignature","useSignEmployeeForm","employeeId","formId","formQuery","useEmployeeFormsGet","pdfQuery","useEmployeeFormsGetPdf","form","pdfUrl","isI9","I9_FORM_NAME","preparerCount","setPreparerCount","useState","schema","metadataConfig","useMemo","createSignEmployeeFormSchema","formMethods","useForm","zodResolver","signForm","isPending","useEmployeeFormsSignMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","addPreparer","useCallback","prev","MAX_PREPARERS","removePreparer","preparerFields","PREPARER_FIELDS_BY_INDEX","name","usedPreparer","useEffect","i","onSubmit","submitResult","resolve","data","payload","requestBody","buildPreparerPayload","result","hookFormInternals","useHookFormInternals","SignatureField","ConfirmSignatureField","UsedPreparerField","createGetFormSubmissionValues","count","index","preparer","PREPARERS_BY_INDEX"],"mappings":";;;;;;;;;;;;;;;AA0EA,MAAMA,IAAeC,EAAY,IAAI,CAAAC,OAAS,EAAE,OAAOA,GAAM,OAAOA,EAAA,EAAO,GAIrEC,KAAkB;AAAA,EACtB,WAAWC;AAAA,EACX,UAAUC;AAAA,EACV,SAASC;AAAA,EACT,SAASC;AAAA,EACT,MAAMC;AAAA,EACN,OAAOC;AAAA,EACP,KAAKC;AAAA,EACL,WAAWC;AAAA,EACX,kBAAkBC;AACpB,GAEMC,KAAkB;AAAA,EACtB,WAAWC;AAAA,EACX,UAAUC;AAAA,EACV,SAASC;AAAA,EACT,SAASC;AAAA,EACT,MAAMC;AAAA,EACN,OAAOC;AAAA,EACP,KAAKC;AAAA,EACL,WAAWC;AAAA,EACX,kBAAkBC;AACpB,GAEMC,KAAkB;AAAA,EACtB,WAAWC;AAAA,EACX,UAAUC;AAAA,EACV,SAASC;AAAA,EACT,SAASC;AAAA,EACT,MAAMC;AAAA,EACN,OAAOC;AAAA,EACP,KAAKC;AAAA,EACL,WAAWC;AAAA,EACX,kBAAkBC;AACpB,GAEMC,KAAkB;AAAA,EACtB,WAAWC;AAAA,EACX,UAAUC;AAAA,EACV,SAASC;AAAA,EACT,SAASC;AAAA,EACT,MAAMC;AAAA,EACN,OAAOC;AAAA,EACP,KAAKC;AAAA,EACL,WAAWC;AAAA,EACX,kBAAkBC;AACpB;AA4LO,SAASC,GAAoB;AAAA,EAClC,YAAAC;AAAA,EACA,QAAAC;AACF,GAA2E;AACzE,QAAMC,IAAYC,EAAoB,EAAE,YAAAH,GAAY,QAAAC,GAAQ,GACtDG,IAAWC,EAAuB,EAAE,YAAAL,GAAY,QAAAC,GAAQ,GAExDK,IAAOJ,EAAU,MAAM,MACvBK,IAASH,EAAS,MAAM,SAAS,aACjCI,IAAOF,GAAM,SAASG,IAEtB,CAACC,GAAeC,CAAgB,IAAIC,EAAS,CAAC,GAE9C,CAACC,GAAQC,CAAc,IAAIC;AAAA,IAC/B,MAAMC,EAA6B,EAAE,MAAAR,GAAM,eAAAE,GAAe;AAAA,IAC1D,CAACF,GAAME,CAAa;AAAA,EAAA,GAGhBO,IAAcC,EAAgE;AAAA,IAClF,UAAUC,EAAYN,CAAM;AAAA,IAC5B,eAAe;AAAA,MACb,WAAW;AAAA,MACX,kBAAkB;AAAA,MAClB,cAAc;AAAA,IAAA;AAAA,EAChB,CACD,GAEK,EAAE,aAAaO,GAAU,WAAAC,EAAA,IAAcC,EAAA,GAEvC;AAAA,IACJ,mBAAAC;AAAA,IACA,OAAOC;AAAA,IACP,UAAUC;AAAA,EAAA,IACRC,GAAc,kBAAkB,GAW9BC,IAAgBC,GADN,CAAC1B,CAAS,GACyB,EAAE,aAAAsB,GAAa,gBAAAC,GAAgB,GAE5EI,IAAeC,GAAwBhB,GAAgBG,EAAY,OAAO,GAE1Ec,IAAiBhB;AAAA,IACrB,OAAO;AAAA,MACL,GAAGc;AAAA,MACH,GAAIrB,IACA;AAAA,QACE,cAAcwB,EAAYH,EAAa,cAAc;AAAA,UACnD,EAAE,OAAO,+BAA+B,OAAO,KAAA;AAAA,UAC/C,EAAE,OAAO,qCAAqC,OAAO,MAAA;AAAA,QAAM,CAC5D;AAAA,QACD,eAAeG,EAAYH,EAAa,eAAezE,GAAcC,CAAW;AAAA,QAChF,gBAAgB2E,EAAYH,EAAa,gBAAgBzE,GAAcC,CAAW;AAAA,QAClF,gBAAgB2E,EAAYH,EAAa,gBAAgBzE,GAAcC,CAAW;AAAA,QAClF,gBAAgB2E,EAAYH,EAAa,gBAAgBzE,GAAcC,CAAW;AAAA,MAAA,IAEpF,CAAA;AAAA,IAAC;AAAA,IAEP,CAACwE,GAAcrB,CAAI;AAAA,EAAA,GAGfyB,IAAcC,EAAY,MAAM;AACpC,IAAAvB,EAAiB,OAAQ,KAAK,IAAIwB,IAAO,GAAGC,CAAa,CAAC;AAAA,EAC5D,GAAG,CAAA,CAAE,GAECC,IAAiBH,EAAY,MAAM;AACvC,IAAAvB,EAAiB,CAAAwB,MAAQ;AACvB,UAAIA,KAAQ,EAAG,QAAOA;AACtB,YAAMG,IAAiBC,EAAyBJ,IAAO,CAAC;AACxD,UAAI,CAACG,EAAgB,QAAOH;AAC5B,iBAAWK,KAAQF;AACjB,QAAArB,EAAY,WAAWuB,CAAI;AAE7B,aAAOL,IAAO;AAAA,IAChB,CAAC;AAAA,EACH,GAAG,CAAClB,EAAY,UAAU,CAAC,GAErBwB,IAAejC,IAAOS,EAAY,MAAM,cAAc,IAAI;AAEhE,EAAAyB,EAAU,MAAM;AACd,QAAKlC,MACDiC,MAAiB,SAAS/B,MAAkB,KAC9CuB,EAAA,GAEEQ,MAAiB,QAAQ/B,IAAgB;AAC3C,eAASiC,IAAIjC,GAAeiC,IAAI,GAAGA;AACjC,QAAAN,EAAA;AAAA,EAGN,GAAG,CAACI,GAAcjC,GAAME,GAAeuB,GAAaI,CAAc,CAAC;AAEnE,QAAMO,IAAW,YAAyD;AACxE,QAAIC;AAEJ,iBAAM,IAAI,QAAc,CAAAC,MAAW;AACjC,MAAK7B,EAAY;AAAA,QACf,OAAO8B,MAAkC;AACvC,gBAAMxB,EAAkBwB,GAAM,OAAMC,MAAW;AAC7C,kBAAMC,IAAuC;AAAA,cAC3C,eAAeD,EAAQ;AAAA,cACvB,OAAOA,EAAQ;AAAA,YAAA;AAGjB,YAAIxC,KACF,OAAO,OAAOyC,GAAaC,GAAqBF,GAAStC,CAAa,CAAC;AAGzE,kBAAMyC,IAAS,MAAM/B,EAAS;AAAA,cAC5B,SAAS;AAAA,gBACP,YAAApB;AAAA,gBACA,QAAQM,EAAM;AAAA,gBACd,aAAA2C;AAAA,cAAA;AAAA,YAKF,CACD;AAED,YAAIE,EAAO,SACTN,IAAe,EAAE,MAAM,UAAU,MAAMM,EAAO,KAAA;AAAA,UAElD,CAAC,GACDL,EAAA;AAAA,QACF;AAAA,QACA,MAAM;AACJ,UAAAA,EAAA;AAAA,QACF;AAAA,MAAA,EACF;AAAA,IACF,CAAC,GAEMD;AAAA,EACT,GAEMO,IAAoBC,GAAqBpC,CAAW;AAI1D,SAFsBf,EAAU,aAAaE,EAAS,aAEjC,CAACE,IACb,EAAE,WAAW,IAAe,eAAAqB,EAAA,IAG9B;AAAA,IACL,WAAW;AAAA,IACX,MAAM,EAAE,MAAArB,GAAM,QAAAC,EAAA;AAAA,IACd,QAAQ,EAAE,WAAAc,GAAW,MAAM,SAAA;AAAA,IAC3B,SAAS;AAAA,MACP,UAAAuB;AAAA,MACA,GAAIpC,IAAO,EAAE,aAAAyB,GAAa,gBAAAI,MAAmB,CAAA;AAAA,IAAC;AAAA,IAEhD,eAAAV;AAAA,IACA,MAAM;AAAA,MACJ,QAAQ;AAAA,QACN,WAAW2B;AAAA,QACX,kBAAkBC;AAAA,QAClB,cAAc/C,IAAOgD,KAAoB;AAAA,QACzC,WAAWhD,KAAQE,KAAiB,IAAInD,KAAkB;AAAA,QAC1D,WAAWiD,KAAQE,KAAiB,IAAIzC,KAAkB;AAAA,QAC1D,WAAWuC,KAAQE,KAAiB,IAAI/B,KAAkB;AAAA,QAC1D,WAAW6B,KAAQE,KAAiB,IAAIrB,KAAkB;AAAA,MAAA;AAAA,MAE5D,gBAAA0C;AAAA,MACA,mBAAAqB;AAAA,MACA,yBAAyBK,GAA8BxC,GAAaJ,CAAM;AAAA,MAC1E,GAAIL,IACA;AAAA,QACE,WAAW;AAAA,UACT,OAAOE;AAAA,UACP,QAAQA,IAAgB0B;AAAA,UACxB,WAAW1B,IAAgB;AAAA,QAAA;AAAA,MAC7B,IAEF,CAAA;AAAA,IAAC;AAAA,EACP;AAEJ;AAIA,SAASwC,GAAqBF,GAAkCU,GAAe;AAC7E,MAAIV,EAAQ,iBAAiB,SAASU,MAAU;AAC9C,WAAO,EAAE,UAAU,GAAA;AAGrB,QAAMP,IAAkC,EAAE,UAAU,GAAA;AAEpD,WAASQ,IAAQ,GAAGA,IAAQD,GAAOC,KAAS;AAC1C,IAAIA,IAAQ,MACVR,EAAO,WAAW,OAAOQ,IAAQ,CAAC,CAAC,EAAE,IAAI;AAG3C,UAAMC,IAAWC,EAAmBF,CAAK;AACzC,IAAKC,MAELT,EAAOS,EAAS,SAAS,IAAIZ,EAAQY,EAAS,SAAS,GACvDT,EAAOS,EAAS,QAAQ,IAAIZ,EAAQY,EAAS,QAAQ,GACrDT,EAAOS,EAAS,OAAO,IAAIZ,EAAQY,EAAS,OAAO,GAC/CZ,EAAQY,EAAS,OAAO,MAC1BT,EAAOS,EAAS,OAAO,IAAIZ,EAAQY,EAAS,OAAO,IAErDT,EAAOS,EAAS,IAAI,IAAIZ,EAAQY,EAAS,IAAI,GAC7CT,EAAOS,EAAS,KAAK,IAAIZ,EAAQY,EAAS,KAAK,GAC/CT,EAAOS,EAAS,GAAG,IAAIZ,EAAQY,EAAS,GAAG,GAC3CT,EAAOS,EAAS,SAAS,IAAIZ,EAAQY,EAAS,SAAS,GACvDT,EAAOS,EAAS,KAAK,IAAI;AAAA,EAC3B;AAEA,SAAOT;AACT;"}
|
package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts
CHANGED
|
@@ -29,48 +29,31 @@ export declare const FILING_STATUS_VALUES: readonly ["Single", "Married", "Head
|
|
|
29
29
|
* @public
|
|
30
30
|
*/
|
|
31
31
|
export type FilingStatusValue = (typeof FILING_STATUS_VALUES)[number];
|
|
32
|
-
declare const fieldValidators: {
|
|
33
|
-
filingStatus: z.ZodString;
|
|
34
|
-
twoJobs: z.ZodPipe<z.ZodTransform<boolean | undefined, unknown>, z.ZodBoolean>;
|
|
35
|
-
dependentsAmount: z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>;
|
|
36
|
-
otherIncome: z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>;
|
|
37
|
-
deductions: z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>;
|
|
38
|
-
extraWithholding: z.ZodPipe<z.ZodTransform<number, unknown>, z.ZodNumber>;
|
|
39
|
-
};
|
|
40
32
|
/**
|
|
41
33
|
* Field names accepted by the federal taxes form.
|
|
42
34
|
*
|
|
43
35
|
* @public
|
|
44
36
|
*/
|
|
45
|
-
export type FederalTaxesField =
|
|
37
|
+
export type FederalTaxesField = "filingStatus" | "twoJobs" | "dependentsAmount" | "otherIncome" | "deductions" | "extraWithholding";
|
|
46
38
|
/**
|
|
47
39
|
* Shape of the values managed by the federal taxes form.
|
|
48
40
|
*
|
|
49
41
|
* @public
|
|
50
42
|
*/
|
|
51
|
-
export type FederalTaxesFormData = {
|
|
52
|
-
[K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
|
|
53
|
-
};
|
|
43
|
+
export type FederalTaxesFormData = { filingStatus: string; twoJobs: boolean; dependentsAmount: number; otherIncome: number; deductions: number; extraWithholding: number; };
|
|
54
44
|
/**
|
|
55
45
|
* Shape of the validated values produced by the federal taxes form on submit.
|
|
56
46
|
*
|
|
57
47
|
* @public
|
|
58
48
|
*/
|
|
59
49
|
export type FederalTaxesFormOutputs = FederalTaxesFormData;
|
|
60
|
-
declare const requiredFieldsConfig: {
|
|
61
|
-
twoJobs: "never";
|
|
62
|
-
dependentsAmount: "never";
|
|
63
|
-
otherIncome: "never";
|
|
64
|
-
deductions: "never";
|
|
65
|
-
extraWithholding: "never";
|
|
66
|
-
};
|
|
67
50
|
/**
|
|
68
51
|
* Keys of optional federal taxes fields that can be promoted to required via
|
|
69
52
|
* the hook's `optionalFieldsToRequire` option.
|
|
70
53
|
*
|
|
71
54
|
* @public
|
|
72
55
|
*/
|
|
73
|
-
export type FederalTaxesOptionalFieldsToRequire =
|
|
56
|
+
export type FederalTaxesOptionalFieldsToRequire = { create?: ("twoJobs" | "dependentsAmount" | "otherIncome" | "deductions" | "extraWithholding")[] | undefined; update?: ("twoJobs" | "dependentsAmount" | "otherIncome" | "deductions" | "extraWithholding")[] | undefined; };
|
|
74
57
|
/** @internal */
|
|
75
58
|
interface FederalTaxesSchemaOptions {
|
|
76
59
|
optionalFieldsToRequire?: FederalTaxesOptionalFieldsToRequire;
|
|
@@ -30,43 +30,31 @@ export declare const ACCOUNT_TYPES: readonly ["Checking", "Savings"];
|
|
|
30
30
|
* @public
|
|
31
31
|
*/
|
|
32
32
|
export type AccountType = (typeof ACCOUNT_TYPES)[number];
|
|
33
|
-
declare const fieldValidators: {
|
|
34
|
-
name: z.ZodString;
|
|
35
|
-
routingNumber: z.ZodString;
|
|
36
|
-
accountNumber: z.ZodString;
|
|
37
|
-
accountType: z.ZodEnum<{
|
|
38
|
-
Checking: "Checking";
|
|
39
|
-
Savings: "Savings";
|
|
40
|
-
}>;
|
|
41
|
-
};
|
|
42
33
|
/**
|
|
43
34
|
* Field names accepted by the bank account form.
|
|
44
35
|
*
|
|
45
36
|
* @public
|
|
46
37
|
*/
|
|
47
|
-
export type BankFormField =
|
|
38
|
+
export type BankFormField = "name" | "routingNumber" | "accountNumber" | "accountType";
|
|
48
39
|
/**
|
|
49
40
|
* Shape of the values managed by the bank account form.
|
|
50
41
|
*
|
|
51
42
|
* @public
|
|
52
43
|
*/
|
|
53
|
-
export type BankFormData = {
|
|
54
|
-
[K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
|
|
55
|
-
};
|
|
44
|
+
export type BankFormData = { name: string; routingNumber: string; accountNumber: string; accountType: "Checking" | "Savings"; };
|
|
56
45
|
/**
|
|
57
46
|
* Shape of the validated values produced by the bank account form on submit.
|
|
58
47
|
*
|
|
59
48
|
* @public
|
|
60
49
|
*/
|
|
61
50
|
export type BankFormOutputs = BankFormData;
|
|
62
|
-
declare const requiredFieldsConfig: {};
|
|
63
51
|
/**
|
|
64
52
|
* Keys of optional bank account fields that can be promoted to required via
|
|
65
53
|
* the hook's `optionalFieldsToRequire` option.
|
|
66
54
|
*
|
|
67
55
|
* @public
|
|
68
56
|
*/
|
|
69
|
-
export type BankFormOptionalFieldsToRequire =
|
|
57
|
+
export type BankFormOptionalFieldsToRequire = { create?: never[] | undefined; update?: never[] | undefined; };
|
|
70
58
|
/** @internal */
|
|
71
59
|
interface BankFormSchemaOptions {
|
|
72
60
|
optionalFieldsToRequire?: BankFormOptionalFieldsToRequire;
|
|
@@ -28,40 +28,31 @@ export declare const PAYMENT_METHOD_TYPES: readonly ["Direct Deposit", "Check"];
|
|
|
28
28
|
* @public
|
|
29
29
|
*/
|
|
30
30
|
export type PaymentMethodType = (typeof PAYMENT_METHOD_TYPES)[number];
|
|
31
|
-
declare const fieldValidators: {
|
|
32
|
-
type: z.ZodEnum<{
|
|
33
|
-
Check: "Check";
|
|
34
|
-
"Direct Deposit": "Direct Deposit";
|
|
35
|
-
}>;
|
|
36
|
-
};
|
|
37
31
|
/**
|
|
38
32
|
* Field names accepted by the payment method form.
|
|
39
33
|
*
|
|
40
34
|
* @public
|
|
41
35
|
*/
|
|
42
|
-
export type PaymentMethodFormField =
|
|
36
|
+
export type PaymentMethodFormField = "type";
|
|
43
37
|
/**
|
|
44
38
|
* Shape of the values managed by the payment method form.
|
|
45
39
|
*
|
|
46
40
|
* @public
|
|
47
41
|
*/
|
|
48
|
-
export type PaymentMethodFormData = {
|
|
49
|
-
[K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
|
|
50
|
-
};
|
|
42
|
+
export type PaymentMethodFormData = { type: "Check" | "Direct Deposit"; };
|
|
51
43
|
/**
|
|
52
44
|
* Shape of the validated values produced by the payment method form on submit.
|
|
53
45
|
*
|
|
54
46
|
* @public
|
|
55
47
|
*/
|
|
56
48
|
export type PaymentMethodFormOutputs = PaymentMethodFormData;
|
|
57
|
-
declare const requiredFieldsConfig: {};
|
|
58
49
|
/**
|
|
59
50
|
* Keys of optional payment method fields that can be promoted to required via
|
|
60
51
|
* the hook's `optionalFieldsToRequire` option.
|
|
61
52
|
*
|
|
62
53
|
* @public
|
|
63
54
|
*/
|
|
64
|
-
export type PaymentMethodFormOptionalFieldsToRequire =
|
|
55
|
+
export type PaymentMethodFormOptionalFieldsToRequire = { create?: never[] | undefined; update?: never[] | undefined; };
|
|
65
56
|
/** @internal */
|
|
66
57
|
interface PaymentMethodFormSchemaOptions {
|
|
67
58
|
optionalFieldsToRequire?: PaymentMethodFormOptionalFieldsToRequire;
|
|
@@ -41,20 +41,12 @@ export declare const SPLIT_BY_VALUES: readonly ["Percentage", "Amount"];
|
|
|
41
41
|
* @public
|
|
42
42
|
*/
|
|
43
43
|
export type SplitByValue = (typeof SPLIT_BY_VALUES)[number];
|
|
44
|
-
declare const fieldValidators: {
|
|
45
|
-
splitBy: z.ZodEnum<{
|
|
46
|
-
Percentage: "Percentage";
|
|
47
|
-
Amount: "Amount";
|
|
48
|
-
}>;
|
|
49
|
-
splitAmount: z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
|
|
50
|
-
priority: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
51
|
-
};
|
|
52
44
|
/**
|
|
53
45
|
* Field names accepted by the split payments form.
|
|
54
46
|
*
|
|
55
47
|
* @public
|
|
56
48
|
*/
|
|
57
|
-
export type SplitPaymentsFormField =
|
|
49
|
+
export type SplitPaymentsFormField = "splitBy" | "splitAmount" | "priority";
|
|
58
50
|
/**
|
|
59
51
|
* Shape of the values managed by the split payments form. `splitAmount` and
|
|
60
52
|
* `priority` are keyed by bank account uuid.
|
|
@@ -75,14 +67,13 @@ export type SplitPaymentsFormData = {
|
|
|
75
67
|
* @public
|
|
76
68
|
*/
|
|
77
69
|
export type SplitPaymentsFormOutputs = SplitPaymentsFormData;
|
|
78
|
-
declare const requiredFieldsConfig: {};
|
|
79
70
|
/**
|
|
80
71
|
* Keys of optional split payments fields that can be promoted to required via
|
|
81
72
|
* the hook's `optionalFieldsToRequire` option.
|
|
82
73
|
*
|
|
83
74
|
* @public
|
|
84
75
|
*/
|
|
85
|
-
export type SplitPaymentsFormOptionalFieldsToRequire =
|
|
76
|
+
export type SplitPaymentsFormOptionalFieldsToRequire = { create?: never[] | undefined; update?: never[] | undefined; };
|
|
86
77
|
/** @internal */
|
|
87
78
|
interface SplitPaymentsFormSchemaOptions {
|
|
88
79
|
optionalFieldsToRequire?: SplitPaymentsFormOptionalFieldsToRequire;
|
package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts
CHANGED
|
@@ -21,29 +21,18 @@ export declare const EmployeeDetailsErrorCodes: {
|
|
|
21
21
|
* @public
|
|
22
22
|
*/
|
|
23
23
|
export type EmployeeDetailsErrorCode = (typeof EmployeeDetailsErrorCodes)[keyof typeof EmployeeDetailsErrorCodes];
|
|
24
|
-
declare const fieldValidators: {
|
|
25
|
-
firstName: z.ZodString;
|
|
26
|
-
middleInitial: z.ZodString;
|
|
27
|
-
lastName: z.ZodString;
|
|
28
|
-
email: z.ZodEmail;
|
|
29
|
-
dateOfBirth: z.ZodISODate;
|
|
30
|
-
ssn: z.ZodString;
|
|
31
|
-
selfOnboarding: z.ZodBoolean;
|
|
32
|
-
};
|
|
33
24
|
/**
|
|
34
25
|
* Field names accepted by the employee details form.
|
|
35
26
|
*
|
|
36
27
|
* @public
|
|
37
28
|
*/
|
|
38
|
-
export type EmployeeDetailsField =
|
|
29
|
+
export type EmployeeDetailsField = "firstName" | "middleInitial" | "lastName" | "email" | "dateOfBirth" | "ssn";
|
|
39
30
|
/**
|
|
40
31
|
* Shape of the values managed by the employee details form.
|
|
41
32
|
*
|
|
42
33
|
* @public
|
|
43
34
|
*/
|
|
44
|
-
export type EmployeeDetailsFormData = {
|
|
45
|
-
[K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
|
|
46
|
-
};
|
|
35
|
+
export type EmployeeDetailsFormData = { firstName: string; middleInitial: string; lastName: string; email: string; dateOfBirth: string; ssn: string; selfOnboarding: boolean; };
|
|
47
36
|
/**
|
|
48
37
|
* Shape of the validated values produced by the employee details form on
|
|
49
38
|
* submit.
|
|
@@ -51,21 +40,13 @@ export type EmployeeDetailsFormData = {
|
|
|
51
40
|
* @public
|
|
52
41
|
*/
|
|
53
42
|
export type EmployeeDetailsFormOutputs = EmployeeDetailsFormData;
|
|
54
|
-
declare const requiredFieldsConfig: {
|
|
55
|
-
firstName: "create";
|
|
56
|
-
lastName: "create";
|
|
57
|
-
middleInitial: "never";
|
|
58
|
-
email: "never";
|
|
59
|
-
dateOfBirth: "never";
|
|
60
|
-
ssn: "never";
|
|
61
|
-
};
|
|
62
43
|
/**
|
|
63
44
|
* Keys of optional employee details fields that can be promoted to required
|
|
64
45
|
* via the hook's `optionalFieldsToRequire` option.
|
|
65
46
|
*
|
|
66
47
|
* @public
|
|
67
48
|
*/
|
|
68
|
-
export type EmployeeDetailsOptionalFieldsToRequire =
|
|
49
|
+
export type EmployeeDetailsOptionalFieldsToRequire = { create?: ("middleInitial" | "email" | "dateOfBirth" | "ssn")[] | undefined; update?: ("firstName" | "middleInitial" | "lastName" | "email" | "dateOfBirth" | "ssn")[] | undefined; };
|
|
69
50
|
/** @internal */
|
|
70
51
|
interface EmployeeDetailsSchemaOptions {
|
|
71
52
|
mode?: 'create' | 'update';
|
|
@@ -17,45 +17,31 @@ export declare const HomeAddressErrorCodes: {
|
|
|
17
17
|
* @public
|
|
18
18
|
*/
|
|
19
19
|
export type HomeAddressErrorCode = (typeof HomeAddressErrorCodes)[keyof typeof HomeAddressErrorCodes];
|
|
20
|
-
declare const fieldValidators: {
|
|
21
|
-
street1: z.ZodString;
|
|
22
|
-
street2: z.ZodString;
|
|
23
|
-
city: z.ZodString;
|
|
24
|
-
state: z.ZodString;
|
|
25
|
-
zip: z.ZodString;
|
|
26
|
-
courtesyWithholding: z.ZodBoolean;
|
|
27
|
-
effectiveDate: z.ZodISODate;
|
|
28
|
-
};
|
|
29
20
|
/**
|
|
30
21
|
* Field names accepted by the home address form.
|
|
31
22
|
*
|
|
32
23
|
* @public
|
|
33
24
|
*/
|
|
34
|
-
export type HomeAddressField =
|
|
25
|
+
export type HomeAddressField = "effectiveDate" | "state" | "street1" | "street2" | "city" | "zip" | "courtesyWithholding";
|
|
35
26
|
/**
|
|
36
27
|
* Shape of the values managed by the home address form.
|
|
37
28
|
*
|
|
38
29
|
* @public
|
|
39
30
|
*/
|
|
40
|
-
export type HomeAddressFormData = {
|
|
41
|
-
[K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
|
|
42
|
-
};
|
|
31
|
+
export type HomeAddressFormData = { street1: string; street2: string; city: string; state: string; zip: string; courtesyWithholding: boolean; effectiveDate: string; };
|
|
43
32
|
/**
|
|
44
33
|
* Shape of the validated values produced by the home address form on submit.
|
|
45
34
|
*
|
|
46
35
|
* @public
|
|
47
36
|
*/
|
|
48
37
|
export type HomeAddressFormOutputs = HomeAddressFormData;
|
|
49
|
-
declare const requiredFieldsConfig: {
|
|
50
|
-
street2: "never";
|
|
51
|
-
};
|
|
52
38
|
/**
|
|
53
39
|
* Keys of optional home address fields that can be promoted to required via
|
|
54
40
|
* the hook's `optionalFieldsToRequire` option.
|
|
55
41
|
*
|
|
56
42
|
* @public
|
|
57
43
|
*/
|
|
58
|
-
export type HomeAddressOptionalFieldsToRequire =
|
|
44
|
+
export type HomeAddressOptionalFieldsToRequire = { create?: "street2"[] | undefined; update?: "street2"[] | undefined; };
|
|
59
45
|
/** @internal */
|
|
60
46
|
interface HomeAddressSchemaOptions {
|
|
61
47
|
mode?: 'create' | 'update';
|
|
@@ -16,38 +16,31 @@ export declare const WorkAddressErrorCodes: {
|
|
|
16
16
|
* @public
|
|
17
17
|
*/
|
|
18
18
|
export type WorkAddressErrorCode = (typeof WorkAddressErrorCodes)[keyof typeof WorkAddressErrorCodes];
|
|
19
|
-
declare const fieldValidators: {
|
|
20
|
-
locationUuid: z.ZodString;
|
|
21
|
-
effectiveDate: z.ZodISODate;
|
|
22
|
-
};
|
|
23
19
|
/**
|
|
24
20
|
* Field names accepted by the work address form.
|
|
25
21
|
*
|
|
26
22
|
* @public
|
|
27
23
|
*/
|
|
28
|
-
export type WorkAddressField =
|
|
24
|
+
export type WorkAddressField = "effectiveDate" | "locationUuid";
|
|
29
25
|
/**
|
|
30
26
|
* Shape of the values managed by the work address form.
|
|
31
27
|
*
|
|
32
28
|
* @public
|
|
33
29
|
*/
|
|
34
|
-
export type WorkAddressFormData = {
|
|
35
|
-
[K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>;
|
|
36
|
-
};
|
|
30
|
+
export type WorkAddressFormData = { locationUuid: string; effectiveDate: string; };
|
|
37
31
|
/**
|
|
38
32
|
* Shape of the validated values produced by the work address form on submit.
|
|
39
33
|
*
|
|
40
34
|
* @public
|
|
41
35
|
*/
|
|
42
36
|
export type WorkAddressFormOutputs = WorkAddressFormData;
|
|
43
|
-
declare const requiredFieldsConfig: {};
|
|
44
37
|
/**
|
|
45
38
|
* Keys of optional work address fields that can be promoted to required via
|
|
46
39
|
* the hook's `optionalFieldsToRequire` option.
|
|
47
40
|
*
|
|
48
41
|
* @public
|
|
49
42
|
*/
|
|
50
|
-
export type WorkAddressOptionalFieldsToRequire =
|
|
43
|
+
export type WorkAddressOptionalFieldsToRequire = { create?: never[] | undefined; update?: never[] | undefined; };
|
|
51
44
|
/** @internal */
|
|
52
45
|
interface WorkAddressSchemaOptions {
|
|
53
46
|
mode?: 'create' | 'update';
|
|
@@ -18,12 +18,13 @@ import "@gusto/embedded-api-v-2025-11-15/models/errors/unprocessableentityerror"
|
|
|
18
18
|
import "@gusto/embedded-api-v-2025-11-15/models/errors/httpclienterrors";
|
|
19
19
|
import { formatNumberAsCurrency as V } from "../../../helpers/formattedStrings.js";
|
|
20
20
|
import "../../../shared/constants.js";
|
|
21
|
+
import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
21
22
|
import { useI18n as E } from "../../../i18n/I18n.js";
|
|
22
23
|
import { NumberInputField as T } from "../../Common/Fields/NumberInputField/NumberInputField.js";
|
|
23
24
|
const q = P.object({
|
|
24
25
|
netPay: P.number().positive()
|
|
25
26
|
});
|
|
26
|
-
function
|
|
27
|
+
function fe({ isOpen: n, onCalculateGrossUp: w, onApply: A, onCancel: d }) {
|
|
27
28
|
E("Payroll.GrossUpModal");
|
|
28
29
|
const { t: r } = k("Payroll.GrossUpModal"), { Modal: M, Heading: u, Text: p, Button: i, Alert: f } = H(), { baseSubmitHandler: y } = L(), N = R(null), [l, c] = o(null), [h, m] = o(null), [g, b] = o(!1), [x, v] = o(!1), s = U({
|
|
29
30
|
resolver: z(q),
|
|
@@ -110,6 +111,6 @@ function pe({ isOpen: n, onCalculateGrossUp: w, onApply: A, onCancel: d }) {
|
|
|
110
111
|
);
|
|
111
112
|
}
|
|
112
113
|
export {
|
|
113
|
-
|
|
114
|
+
fe as GrossUpModal
|
|
114
115
|
};
|
|
115
116
|
//# sourceMappingURL=GrossUpModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrossUpModal.js","sources":["../../../../src/components/Payroll/GrossUpModal/GrossUpModal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { GrossUpModalProps } from './GrossUpModalTypes'\nimport styles from './GrossUpModal.module.scss'\nimport { ActionsLayout, Flex, NumberInputField } from '@/components/Common'\nimport { useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\nconst GrossUpFormSchema = z.object({\n netPay: z.number().positive(),\n})\n\ntype GrossUpFormValues = z.infer<typeof GrossUpFormSchema>\n\n/** @internal */\nexport function GrossUpModal({ isOpen, onCalculateGrossUp, onApply, onCancel }: GrossUpModalProps) {\n useI18n('Payroll.GrossUpModal')\n const { t } = useTranslation('Payroll.GrossUpModal')\n const { Modal, Heading, Text, Button, Alert } = useComponentContext()\n const { baseSubmitHandler } = useBase()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const [calculatedGrossUp, setCalculatedGrossUp] = useState<string | null>(null)\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [isCalculating, setIsCalculating] = useState(false)\n const [isApplying, setIsApplying] = useState(false)\n\n const formHandlers = useForm<GrossUpFormValues>({\n resolver: zodResolver(GrossUpFormSchema),\n defaultValues: { netPay: 0 },\n })\n\n useEffect(() => {\n if (!isOpen) {\n formHandlers.reset({ netPay: 0 })\n setCalculatedGrossUp(null)\n setErrorMessage(null)\n }\n }, [isOpen, formHandlers.reset])\n\n const handleCalculate = async (data: GrossUpFormValues) => {\n setErrorMessage(null)\n setCalculatedGrossUp(null)\n setIsCalculating(true)\n\n await baseSubmitHandler(null, async () => {\n try {\n const result = await onCalculateGrossUp(data.netPay)\n\n if (result) {\n setCalculatedGrossUp(result)\n } else {\n setErrorMessage(t('errorMessage'))\n }\n } finally {\n setIsCalculating(false)\n }\n })\n }\n\n const handleApply = async () => {\n if (calculatedGrossUp) {\n setIsApplying(true)\n await baseSubmitHandler(null, async () => {\n try {\n await onApply(calculatedGrossUp)\n } finally {\n setIsApplying(false)\n }\n })\n }\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button\n variant=\"primary\"\n isDisabled={!calculatedGrossUp}\n onClick={handleApply}\n isLoading={isApplying}\n >\n {t('applyCta')}\n </Button>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('cancelCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.header}>\n <Heading as=\"h2\" styledAs=\"h3\">\n {t('title')}\n </Heading>\n <Text variant=\"supporting\" as=\"p\">\n {t('description')}\n </Text>\n </div>\n\n <div className={styles.content}>\n {errorMessage && (\n <div className={styles.alert}>\n <Alert label={errorMessage} status=\"error\" disableScrollIntoView />\n </div>\n )}\n\n <div className={styles.alert}>\n <Alert label={t('warning')} status=\"warning\" disableScrollIntoView />\n </div>\n\n <Flex flexDirection=\"row\" gap={8}>\n <NumberInputField\n name=\"netPay\"\n label={t('netPayLabel')}\n format=\"currency\"\n errorMessage={t('validations.netPay')}\n min={0}\n isRequired\n />\n <Button\n variant=\"secondary\"\n className={styles.calculateButton}\n isDisabled={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {isCalculating ? t('calculatingCta') : t('calculateCta')}\n </Button>\n </Flex>\n\n {calculatedGrossUp && (\n <>\n <div className={styles.result}>\n <Text size=\"sm\" variant=\"supporting\" weight=\"semibold\">\n {t('grossPayResult')}\n </Text>\n <Heading as=\"h3\">{formatNumberAsCurrency(parseFloat(calculatedGrossUp))}</Heading>\n </div>\n </>\n )}\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["GrossUpFormSchema","z","GrossUpModal","isOpen","onCalculateGrossUp","onApply","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","Alert","useComponentContext","baseSubmitHandler","useBase","modalContainerRef","useRef","calculatedGrossUp","setCalculatedGrossUp","useState","errorMessage","setErrorMessage","isCalculating","setIsCalculating","isApplying","setIsApplying","formHandlers","useForm","zodResolver","useEffect","handleCalculate","data","result","jsx","ActionsLayout","jsxs","FormProvider","styles","Flex","NumberInputField","Fragment"],"mappings":"
|
|
1
|
+
{"version":3,"file":"GrossUpModal.js","sources":["../../../../src/components/Payroll/GrossUpModal/GrossUpModal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { GrossUpModalProps } from './GrossUpModalTypes'\nimport styles from './GrossUpModal.module.scss'\nimport { ActionsLayout, Flex, NumberInputField } from '@/components/Common'\nimport { useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\nconst GrossUpFormSchema = z.object({\n netPay: z.number().positive(),\n})\n\ntype GrossUpFormValues = z.infer<typeof GrossUpFormSchema>\n\n/** @internal */\nexport function GrossUpModal({ isOpen, onCalculateGrossUp, onApply, onCancel }: GrossUpModalProps) {\n useI18n('Payroll.GrossUpModal')\n const { t } = useTranslation('Payroll.GrossUpModal')\n const { Modal, Heading, Text, Button, Alert } = useComponentContext()\n const { baseSubmitHandler } = useBase()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const [calculatedGrossUp, setCalculatedGrossUp] = useState<string | null>(null)\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [isCalculating, setIsCalculating] = useState(false)\n const [isApplying, setIsApplying] = useState(false)\n\n const formHandlers = useForm<GrossUpFormValues>({\n resolver: zodResolver(GrossUpFormSchema),\n defaultValues: { netPay: 0 },\n })\n\n useEffect(() => {\n if (!isOpen) {\n formHandlers.reset({ netPay: 0 })\n setCalculatedGrossUp(null)\n setErrorMessage(null)\n }\n }, [isOpen, formHandlers.reset])\n\n const handleCalculate = async (data: GrossUpFormValues) => {\n setErrorMessage(null)\n setCalculatedGrossUp(null)\n setIsCalculating(true)\n\n await baseSubmitHandler(null, async () => {\n try {\n const result = await onCalculateGrossUp(data.netPay)\n\n if (result) {\n setCalculatedGrossUp(result)\n } else {\n setErrorMessage(t('errorMessage'))\n }\n } finally {\n setIsCalculating(false)\n }\n })\n }\n\n const handleApply = async () => {\n if (calculatedGrossUp) {\n setIsApplying(true)\n await baseSubmitHandler(null, async () => {\n try {\n await onApply(calculatedGrossUp)\n } finally {\n setIsApplying(false)\n }\n })\n }\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button\n variant=\"primary\"\n isDisabled={!calculatedGrossUp}\n onClick={handleApply}\n isLoading={isApplying}\n >\n {t('applyCta')}\n </Button>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('cancelCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.header}>\n <Heading as=\"h2\" styledAs=\"h3\">\n {t('title')}\n </Heading>\n <Text variant=\"supporting\" as=\"p\">\n {t('description')}\n </Text>\n </div>\n\n <div className={styles.content}>\n {errorMessage && (\n <div className={styles.alert}>\n <Alert label={errorMessage} status=\"error\" disableScrollIntoView />\n </div>\n )}\n\n <div className={styles.alert}>\n <Alert label={t('warning')} status=\"warning\" disableScrollIntoView />\n </div>\n\n <Flex flexDirection=\"row\" gap={8}>\n <NumberInputField\n name=\"netPay\"\n label={t('netPayLabel')}\n format=\"currency\"\n errorMessage={t('validations.netPay')}\n min={0}\n isRequired\n />\n <Button\n variant=\"secondary\"\n className={styles.calculateButton}\n isDisabled={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {isCalculating ? t('calculatingCta') : t('calculateCta')}\n </Button>\n </Flex>\n\n {calculatedGrossUp && (\n <>\n <div className={styles.result}>\n <Text size=\"sm\" variant=\"supporting\" weight=\"semibold\">\n {t('grossPayResult')}\n </Text>\n <Heading as=\"h3\">{formatNumberAsCurrency(parseFloat(calculatedGrossUp))}</Heading>\n </div>\n </>\n )}\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["GrossUpFormSchema","z","GrossUpModal","isOpen","onCalculateGrossUp","onApply","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","Alert","useComponentContext","baseSubmitHandler","useBase","modalContainerRef","useRef","calculatedGrossUp","setCalculatedGrossUp","useState","errorMessage","setErrorMessage","isCalculating","setIsCalculating","isApplying","setIsApplying","formHandlers","useForm","zodResolver","useEffect","handleCalculate","data","result","jsx","ActionsLayout","jsxs","FormProvider","styles","Flex","NumberInputField","Fragment"],"mappings":"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"}
|
|
@@ -17,25 +17,9 @@ interface PayrollEditEmployeeProps {
|
|
|
17
17
|
withReimbursements?: boolean;
|
|
18
18
|
hasDirectDepositSetup?: boolean;
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
hourlyCompensations: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>;
|
|
22
|
-
timeOffCompensations: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>;
|
|
23
|
-
finalPayoutCompensations: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>;
|
|
24
|
-
fixedCompensations: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>;
|
|
25
|
-
reimbursements: z.ZodArray<z.ZodObject<{
|
|
26
|
-
uuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
27
|
-
description: z.ZodString;
|
|
28
|
-
amount: z.ZodString;
|
|
29
|
-
recurring: z.ZodOptional<z.ZodBoolean>;
|
|
30
|
-
}, z.core.$strip>>;
|
|
31
|
-
paymentMethod: z.ZodOptional<z.ZodEnum<{
|
|
32
|
-
readonly DirectDeposit: "Direct Deposit";
|
|
33
|
-
readonly Check: "Check";
|
|
34
|
-
readonly Historical: "Historical";
|
|
35
|
-
}>>;
|
|
36
|
-
}, z.core.$strip>;
|
|
20
|
+
|
|
37
21
|
/** @internal */
|
|
38
|
-
export type PayrollEditEmployeeFormValues =
|
|
22
|
+
export type PayrollEditEmployeeFormValues = { hourlyCompensations: Record<string, Record<string, string | undefined>>; timeOffCompensations: Record<string, string | undefined>; finalPayoutCompensations: Record<string, string | undefined>; fixedCompensations: Record<string, string | undefined>; reimbursements: { description: string; amount: string; uuid?: string | null | undefined; recurring?: boolean | undefined; }[]; paymentMethod?: "Check" | "Historical" | "Direct Deposit" | undefined; };
|
|
39
23
|
/** @internal */
|
|
40
24
|
export declare const PayrollEditEmployeePresentation: ({ onSave, onCancel, employee, employeeCompensation, isPending, fixedCompensationTypes, payPeriodStartDate, paySchedule, payrollCategory, withReimbursements, hasDirectDepositSetup, }: PayrollEditEmployeeProps) => import("react").JSX.Element;
|
|
41
25
|
export {};
|